# agent_client_protocol v0.1.0 - Table of Contents ## Modules - [ACP](ACP.md): Agent Client Protocol (ACP) for Elixir. - [ACP.Agent](ACP.Agent.md): Behaviour defining the interface that all ACP-compliant agents must implement. - [ACP.AgentCapabilities](ACP.AgentCapabilities.md) - [ACP.AgentNotification](ACP.AgentNotification.md): Enum of all possible notifications from the agent to the client. - [ACP.AgentRequest](ACP.AgentRequest.md): Enum of all possible requests from the agent to the client. - [ACP.AgentResponse](ACP.AgentResponse.md) - [ACP.AgentSide](ACP.AgentSide.md): Agent side of an ACP connection. - [ACP.AgentSideConnection](ACP.AgentSideConnection.md): An agent-side connection to a client. - [ACP.AgentTypes](ACP.AgentTypes.md): Agent-side types for the Agent Client Protocol. - [ACP.Annotations](ACP.Annotations.md): Optional annotations for the client. - [ACP.AudioContent](ACP.AudioContent.md): Audio provided to or from an LLM. - [ACP.AuthMethod](ACP.AuthMethod.md) - [ACP.AuthenticateRequest](ACP.AuthenticateRequest.md) - [ACP.AuthenticateResponse](ACP.AuthenticateResponse.md) - [ACP.AvailableCommand](ACP.AvailableCommand.md): A command available to the user. - [ACP.AvailableCommandInput](ACP.AvailableCommandInput.md): Input specification for an available command. - [ACP.AvailableCommandsUpdate](ACP.AvailableCommandsUpdate.md): Update indicating the set of available commands has changed. - [ACP.BlobResourceContents](ACP.BlobResourceContents.md): Binary resource contents. - [ACP.CancelNotification](ACP.CancelNotification.md) - [ACP.Client](ACP.Client.md): Behaviour defining the interface that ACP-compliant clients must implement. - [ACP.ClientCapabilities](ACP.ClientCapabilities.md): Capabilities declared by the client. - [ACP.ClientNotification](ACP.ClientNotification.md) - [ACP.ClientRequest](ACP.ClientRequest.md) - [ACP.ClientResponse](ACP.ClientResponse.md): Enum of all possible responses from the client to the agent. - [ACP.ClientSide](ACP.ClientSide.md): Client side of an ACP connection. - [ACP.ClientSideConnection](ACP.ClientSideConnection.md): A client-side connection to an agent. - [ACP.ConfigOptionUpdate](ACP.ConfigOptionUpdate.md): Session configuration options have been updated. (Unstable) - [ACP.Connection](ACP.Connection.md): GenServer managing a bidirectional JSON-RPC 2.0 connection over IO streams. - [ACP.ContentBlock](ACP.ContentBlock.md): Content blocks represent displayable information in ACP. - [ACP.ContentChunk](ACP.ContentChunk.md): A chunk of content in a session update. - [ACP.CreateTerminalRequest](ACP.CreateTerminalRequest.md): Request to create a terminal session. - [ACP.CreateTerminalResponse](ACP.CreateTerminalResponse.md): Response to a create terminal request. - [ACP.CurrentModeUpdate](ACP.CurrentModeUpdate.md): Update indicating the current mode has changed. - [ACP.Diff](ACP.Diff.md): A diff representing file modifications. - [ACP.EmbeddedResource](ACP.EmbeddedResource.md): The contents of a resource, embedded into a prompt or tool call result. - [ACP.EmbeddedResourceResource](ACP.EmbeddedResourceResource.md): Resource content that can be embedded in a message (untagged union). - [ACP.EnvVariable](ACP.EnvVariable.md) - [ACP.Error](ACP.Error.md): JSON-RPC error object. - [ACP.Ext](ACP.Ext.md): Extension types for protocol extensibility. - [ACP.ExtNotification](ACP.ExtNotification.md): Arbitrary notification not part of the ACP spec. - [ACP.ExtRequest](ACP.ExtRequest.md): Arbitrary request not part of the ACP spec. - [ACP.ExtResponse](ACP.ExtResponse.md): Response to an ExtRequest. - [ACP.FileSystemCapability](ACP.FileSystemCapability.md): File system capabilities supported by the client. - [ACP.ForkSessionRequest](ACP.ForkSessionRequest.md): Request to fork an existing session. (Unstable) - [ACP.ForkSessionResponse](ACP.ForkSessionResponse.md): Response from forking a session. (Unstable) - [ACP.HttpHeader](ACP.HttpHeader.md) - [ACP.ImageContent](ACP.ImageContent.md): An image provided to or from an LLM. - [ACP.Implementation](ACP.Implementation.md) - [ACP.InitializeRequest](ACP.InitializeRequest.md) - [ACP.InitializeResponse](ACP.InitializeResponse.md) - [ACP.JSONHelpers](ACP.JSONHelpers.md): JSON serialization helpers for ACP types. - [ACP.KillTerminalCommandRequest](ACP.KillTerminalCommandRequest.md): Request to kill a terminal command. - [ACP.KillTerminalCommandResponse](ACP.KillTerminalCommandResponse.md): Response to a kill terminal command request. - [ACP.ListSessionsRequest](ACP.ListSessionsRequest.md): Request to list existing sessions. (Unstable) - [ACP.ListSessionsResponse](ACP.ListSessionsResponse.md): Response from listing sessions. (Unstable) - [ACP.LoadSessionRequest](ACP.LoadSessionRequest.md) - [ACP.LoadSessionResponse](ACP.LoadSessionResponse.md) - [ACP.MaybeUndefined](ACP.MaybeUndefined.md): A three-state value type: `:undefined`, `nil` (null), or `{:value, term}`. - [ACP.McpCapabilities](ACP.McpCapabilities.md) - [ACP.McpServer](ACP.McpServer.md) - [ACP.McpServerHttp](ACP.McpServerHttp.md) - [ACP.McpServerSse](ACP.McpServerSse.md) - [ACP.McpServerStdio](ACP.McpServerStdio.md) - [ACP.MessageHandler](ACP.MessageHandler.md): Behaviour for handling incoming JSON-RPC requests and notifications. - [ACP.MethodNames](ACP.MethodNames.md): JSON-RPC method names for all ACP methods. - [ACP.ModelInfo](ACP.ModelInfo.md): Information about a selectable model. (Unstable) - [ACP.NewSessionRequest](ACP.NewSessionRequest.md) - [ACP.NewSessionResponse](ACP.NewSessionResponse.md) - [ACP.PermissionOption](ACP.PermissionOption.md): An option presented to the user for a permission request. - [ACP.PermissionOptionKind](ACP.PermissionOptionKind.md): The kind of permission option. - [ACP.Plan](ACP.Plan.md): Execution plan for complex tasks. - [ACP.PlanEntry](ACP.PlanEntry.md): A single entry in the execution plan. - [ACP.PromptCapabilities](ACP.PromptCapabilities.md) - [ACP.PromptRequest](ACP.PromptRequest.md) - [ACP.PromptResponse](ACP.PromptResponse.md) - [ACP.ProtocolVersion](ACP.ProtocolVersion.md): Protocol version identifier. Only bumped for breaking changes. - [ACP.RPC](ACP.RPC.md): JSON-RPC 2.0 primitives for the Agent Client Protocol. - [ACP.RPC.JsonRpcMessage](ACP.RPC.JsonRpcMessage.md): Wraps a JSON-RPC message with the required `jsonrpc: "2.0"` field. - [ACP.RPC.Notification](ACP.RPC.Notification.md): JSON-RPC 2.0 Notification object (no id, no response expected). - [ACP.RPC.Request](ACP.RPC.Request.md): JSON-RPC 2.0 Request object. - [ACP.RPC.Response](ACP.RPC.Response.md): JSON-RPC 2.0 Response object. Either {:ok, result} or {:error, error}. - [ACP.ReadTextFileRequest](ACP.ReadTextFileRequest.md): Request to read a text file. - [ACP.ReadTextFileResponse](ACP.ReadTextFileResponse.md): Response to a read text file request. - [ACP.ReleaseTerminalRequest](ACP.ReleaseTerminalRequest.md): Request to release a terminal. - [ACP.ReleaseTerminalResponse](ACP.ReleaseTerminalResponse.md): Response to a release terminal request. - [ACP.RequestId](ACP.RequestId.md): JSON-RPC Request ID. Can be null, integer, or string. - [ACP.RequestPermissionOutcome](ACP.RequestPermissionOutcome.md): The outcome of a permission request. - [ACP.RequestPermissionRequest](ACP.RequestPermissionRequest.md): Request from the agent asking the client for permission to perform a tool call. - [ACP.RequestPermissionResponse](ACP.RequestPermissionResponse.md): Response from the client to a permission request. - [ACP.ResourceLink](ACP.ResourceLink.md): A resource that the server is capable of reading. - [ACP.ResumeSessionRequest](ACP.ResumeSessionRequest.md): Request to resume an existing session without replaying history. (Unstable) - [ACP.ResumeSessionResponse](ACP.ResumeSessionResponse.md): Response from resuming a session. (Unstable) - [ACP.Role](ACP.Role.md): The sender or recipient of messages and data in a conversation. - [ACP.SelectedPermissionOutcome](ACP.SelectedPermissionOutcome.md): A selected permission outcome containing the chosen option. - [ACP.SessionCapabilities](ACP.SessionCapabilities.md) - [ACP.SessionConfigKind](ACP.SessionConfigKind.md): Type-specific session configuration option payload. (Unstable) - [ACP.SessionConfigOption](ACP.SessionConfigOption.md): A session configuration option selector and its current state. (Unstable) - [ACP.SessionConfigOptionCategory](ACP.SessionConfigOptionCategory.md): Semantic category for a session configuration option. (Unstable) - [ACP.SessionConfigSelect](ACP.SessionConfigSelect.md): A single-value selector (dropdown) session configuration option payload. (Unstable) - [ACP.SessionConfigSelectGroup](ACP.SessionConfigSelectGroup.md): A group of possible values for a session configuration option. (Unstable) - [ACP.SessionConfigSelectOption](ACP.SessionConfigSelectOption.md): A possible value for a session configuration option. (Unstable) - [ACP.SessionConfigSelectOptions](ACP.SessionConfigSelectOptions.md): Possible values for a session configuration option. (Unstable) - [ACP.SessionForkCapabilities](ACP.SessionForkCapabilities.md): Capabilities for session/fork. (Unstable) - [ACP.SessionInfo](ACP.SessionInfo.md): Information about a session returned by session/list. (Unstable) - [ACP.SessionInfoUpdate](ACP.SessionInfoUpdate.md): Update to session metadata. (Unstable) - [ACP.SessionListCapabilities](ACP.SessionListCapabilities.md): Capabilities for session/list. (Unstable) - [ACP.SessionMode](ACP.SessionMode.md) - [ACP.SessionModeState](ACP.SessionModeState.md) - [ACP.SessionModelState](ACP.SessionModelState.md): The set of models and the one currently active. (Unstable) - [ACP.SessionNotification](ACP.SessionNotification.md): Notification about a session update. - [ACP.SessionResumeCapabilities](ACP.SessionResumeCapabilities.md): Capabilities for session/resume. (Unstable) - [ACP.SessionUpdate](ACP.SessionUpdate.md): Tagged union representing different session update types. - [ACP.SetSessionConfigOptionRequest](ACP.SetSessionConfigOptionRequest.md): Request to set a session configuration option value. (Unstable) - [ACP.SetSessionConfigOptionResponse](ACP.SetSessionConfigOptionResponse.md): Response to session/set_config_option. (Unstable) - [ACP.SetSessionModeRequest](ACP.SetSessionModeRequest.md) - [ACP.SetSessionModeResponse](ACP.SetSessionModeResponse.md) - [ACP.SetSessionModelRequest](ACP.SetSessionModelRequest.md): Request to set the model for a session. (Unstable) - [ACP.SetSessionModelResponse](ACP.SetSessionModelResponse.md): Response to session/set_model. (Unstable) - [ACP.Side](ACP.Side.md): Side behaviour for decoding JSON-RPC messages into typed structs. - [ACP.StopReason](ACP.StopReason.md) - [ACP.StreamBroadcast](ACP.StreamBroadcast.md): A broadcast mechanism for observing RPC message streams. - [ACP.StreamMessage](ACP.StreamMessage.md): A message that flows through the RPC stream. - [ACP.TerminalExitStatus](ACP.TerminalExitStatus.md): Exit status of a terminal command. - [ACP.TerminalOutputRequest](ACP.TerminalOutputRequest.md): Request to get output from a terminal. - [ACP.TerminalOutputResponse](ACP.TerminalOutputResponse.md): Response containing terminal output. - [ACP.TextContent](ACP.TextContent.md): Text provided to or from an LLM. - [ACP.TextResourceContents](ACP.TextResourceContents.md): Text-based resource contents. - [ACP.ToolCall](ACP.ToolCall.md): Represents a tool call that the language model has requested. - [ACP.ToolCallContent](ACP.ToolCallContent.md): Content produced by a tool call. Tagged union with type discriminator. - [ACP.ToolCallContentWrapper](ACP.ToolCallContentWrapper.md): Standard content block wrapper for tool call content. - [ACP.ToolCallLocation](ACP.ToolCallLocation.md): A file location being accessed or modified by a tool. - [ACP.ToolCallStatus](ACP.ToolCallStatus.md): Execution status of a tool call. - [ACP.ToolCallTerminal](ACP.ToolCallTerminal.md): Embed a terminal created with terminal/create by its id. - [ACP.ToolCallUpdate](ACP.ToolCallUpdate.md): An update to an existing tool call. - [ACP.ToolCallUpdateFields](ACP.ToolCallUpdateFields.md): Optional fields that can be updated in a tool call. - [ACP.ToolKind](ACP.ToolKind.md): Categories of tools that can be invoked. - [ACP.Unstable](ACP.Unstable.md): Unstable types that are not yet part of the ACP specification. - [ACP.UnstructuredCommandInput](ACP.UnstructuredCommandInput.md): Unstructured input with a hint. - [ACP.WaitForTerminalExitRequest](ACP.WaitForTerminalExitRequest.md): Request to wait for a terminal command to exit. - [ACP.WaitForTerminalExitResponse](ACP.WaitForTerminalExitResponse.md): Response containing terminal exit status. - [ACP.WriteTextFileRequest](ACP.WriteTextFileRequest.md): Request to write a text file. - [ACP.WriteTextFileResponse](ACP.WriteTextFileResponse.md): Response to a write text file request.