# `Raxol.AgentClientProtocol.Schema.AgentTypes.ClientRequest`
[🔗](https://github.com/DROOdotFOO/raxol-agent/blob/raxol_agent_client_protocol-v0.1.0/packages/raxol_agent_client_protocol/lib/raxol/agent_client_protocol/schema/agent_types.ex#L2323)

Tagged union of every request the client may send to the agent, used for
JSON-RPC method-name routing.

Ported from the MIT `f1729/agent_client_protocol` (c) 2025 f1729; see NOTICE.md.

# `t`

```elixir
@type t() ::
  {:initialize,
   Raxol.AgentClientProtocol.Schema.AgentTypes.InitializeRequest.t()}
  | {:authenticate,
     Raxol.AgentClientProtocol.Schema.AgentTypes.AuthenticateRequest.t()}
  | {:new_session,
     Raxol.AgentClientProtocol.Schema.AgentTypes.NewSessionRequest.t()}
  | {:load_session,
     Raxol.AgentClientProtocol.Schema.AgentTypes.LoadSessionRequest.t()}
  | {:list_sessions,
     Raxol.AgentClientProtocol.Schema.Unstable.ListSessionsRequest.t()}
  | {:fork_session,
     Raxol.AgentClientProtocol.Schema.Unstable.ForkSessionRequest.t()}
  | {:resume_session,
     Raxol.AgentClientProtocol.Schema.Unstable.ResumeSessionRequest.t()}
  | {:set_session_mode,
     Raxol.AgentClientProtocol.Schema.AgentTypes.SetSessionModeRequest.t()}
  | {:set_session_config_option,
     Raxol.AgentClientProtocol.Schema.Unstable.SetSessionConfigOptionRequest.t()}
  | {:prompt, Raxol.AgentClientProtocol.Schema.AgentTypes.PromptRequest.t()}
  | {:set_session_model,
     Raxol.AgentClientProtocol.Schema.Unstable.SetSessionModelRequest.t()}
  | {:ext_method, Raxol.AgentClientProtocol.Schema.Ext.ExtRequest.t()}
```

# `method`

```elixir
@spec method(t()) :: String.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
