diff --git a/docs/protocol/schema.mdx b/docs/protocol/schema.mdx index 3efe9adc..ea834474 100644 --- a/docs/protocol/schema.mdx +++ b/docs/protocol/schema.mdx @@ -32,12 +32,17 @@ Specifies which authentication method to use. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - The ID of the authentication method to use. Must be one of the methods - advertised in the initialize response. + The ID of the authentication method to use. +Must be one of the methods advertised in the initialize response. #### AuthenticateResponse @@ -48,8 +53,13 @@ Response to the `authenticate` method. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ### initialize @@ -78,8 +88,13 @@ See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/ini **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ClientCapabilities} > Capabilities supported by the client. @@ -109,8 +124,13 @@ See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/ini **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + AgentCapabilities} > Capabilities supported by the agent. @@ -164,14 +184,15 @@ See protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/promp **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The ID of the session to cancel operations for. @@ -202,31 +223,21 @@ See protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/s **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The working directory for this session. - - - McpServer - - [] - - } - required -> +McpServer[]} required> List of MCP servers to connect to for this session. -SessionId} - required -> +SessionId} required> The ID of the session to load. @@ -238,8 +249,13 @@ Response from loading an existing session. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + SessionModeState | null} > Initial mode state if supported by the Agent @@ -275,24 +291,18 @@ See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The working directory for this session. Must be an absolute path. - - - McpServer - - [] - - } - required -> +McpServer[]} required> List of MCP (Model Context Protocol) servers the agent should connect to. @@ -306,8 +316,13 @@ See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + SessionModeState | null} > Initial mode state if supported by the Agent @@ -350,8 +365,13 @@ See protocol docs: [User Message](https://agentclientprotocol.com/protocol/promp **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ContentBlock[]} required> The blocks of content that compose the user's message. @@ -383,14 +403,15 @@ See protocol docs: [Check for Completion](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -StopReason} - required -> +StopReason} required> Indicates why the agent stopped processing the turn. @@ -419,21 +440,18 @@ Request parameters for setting a session mode. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the mode to set. -SessionId} - required -> +SessionId} required> The ID of the session to set the mode for. @@ -445,7 +463,7 @@ Response to `session/set_mode` method. **Properties:** - + ## Client @@ -475,8 +493,13 @@ Only available if the client supports the `fs.readTextFile` capability. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Maximum number of lines to read. @@ -505,10 +528,16 @@ Response containing the contents of a text file. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + - ### fs/write_text_file @@ -530,8 +559,13 @@ Only available if the client supports the `fs.writeTextFile` capability. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The text content to write to the file. @@ -539,11 +573,7 @@ Only available if the client supports the `fs.writeTextFile` capability. Absolute path to the file to write. -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -555,8 +585,13 @@ Response to `fs/write_text_file` **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -585,35 +620,21 @@ See protocol docs: [Requesting Permission](https://agentclientprotocol.com/proto **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - PermissionOption - - [] - - } - required -> +PermissionOption[]} required> Available permission options for the user to choose from. -SessionId} - required -> +SessionId} required> The session ID for this request. -ToolCallUpdate} - required -> +ToolCallUpdate} required> Details about the tool call requiring permission. @@ -625,14 +646,15 @@ Response to a permission request. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -RequestPermissionOutcome} - required -> +RequestPermissionOutcome} required> The user's decision on the permission request. @@ -663,21 +685,18 @@ See protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The ID of the session this update pertains to. -SessionUpdate} - required -> +SessionUpdate} required> The actual update content. @@ -707,8 +726,13 @@ Request to create a new terminal and execute a command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + "string"[]} > Array of command arguments. @@ -747,8 +771,13 @@ Response containing the ID of the created terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The unique identifier for the created terminal. @@ -778,14 +807,15 @@ Request to kill a terminal command without releasing the terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -800,8 +830,13 @@ Response to terminal/kill command method **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -822,14 +857,15 @@ Request to get the current output and status of a terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -844,20 +880,15 @@ Response containing the terminal output and exit status. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - TerminalExitStatus - - | null - - } -> +TerminalExitStatus | null} > Exit status if the command has completed. @@ -891,14 +922,15 @@ Request to release a terminal and free its resources. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -913,8 +945,13 @@ Response to terminal/release method **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -932,14 +969,15 @@ Request to wait for a terminal command to exit. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -954,8 +992,13 @@ Response containing the exit status of a terminal command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The process exit code (may be null if terminated by signal). @@ -980,8 +1023,13 @@ See protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Whether the agent supports `session/load`. @@ -1015,12 +1063,20 @@ Optional annotations for the client. The client can use annotations to inform ho **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## AudioContent @@ -1030,22 +1086,20 @@ Audio provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + - - - Annotations - - | null - - } -> - - ## AuthMethod @@ -1055,10 +1109,15 @@ Describes an available authentication method. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Optional description providing more details about this authentication method. @@ -1076,23 +1135,18 @@ Information about a command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Human-readable description of what the command does. - - - AvailableCommandInput - - | null - - } -> +AvailableCommandInput | null} > Input for the command if required @@ -1110,8 +1164,13 @@ All text that was typed after the command name is provided as input. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + A hint to display when the input hasn't been provided yet @@ -1128,21 +1187,15 @@ Available commands are ready or have changed **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - AvailableCommand - - [] - - } - required -> +AvailableCommand[]} required> Commands the agent can execute @@ -1154,12 +1207,20 @@ Binary resource contents. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## ClientCapabilities @@ -1174,8 +1235,13 @@ See protocol docs: [Client Capabilities](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + FileSystemCapability} > File system capabilities supported by the client. @@ -1199,14 +1265,15 @@ Standard content block (text, images, resources). **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> The actual content block. @@ -1238,22 +1305,20 @@ Clients SHOULD render this text as Markdown. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + @@ -1265,24 +1330,24 @@ Requires the `image` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + @@ -1294,23 +1359,22 @@ Requires the `audio` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + @@ -1322,27 +1386,30 @@ All agents MUST support resource links in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - - - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + + + + + + + @@ -1356,26 +1423,20 @@ Requires the `embeddedContext` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> -EmbeddedResourceResource} - required -> - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + +EmbeddedResourceResource} required> + + + @@ -1388,14 +1449,15 @@ A streamed item of content **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content @@ -1409,14 +1471,15 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the current mode @@ -1432,13 +1495,18 @@ See protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The new content after modification. - + The original content (None for new files). @@ -1453,25 +1521,18 @@ The contents of a resource, embedded into a prompt or tool call result. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + +EmbeddedResourceResource} required> - - - Annotations - - | null - - } -> -EmbeddedResourceResource} - required -> ## EmbeddedResourceResource @@ -1484,12 +1545,20 @@ Resource content that can be embedded in a message. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - @@ -1499,12 +1568,20 @@ Resource content that can be embedded in a message. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - @@ -1517,8 +1594,13 @@ An environment variable to set when launching an MCP server. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The name of the environment variable. @@ -1589,8 +1671,13 @@ See protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initial **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Whether the Client supports `fs/read_text_file` requests. @@ -1613,8 +1700,13 @@ An HTTP header to set when making requests to the MCP server. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The name of the HTTP header. @@ -1631,23 +1723,22 @@ An image provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + - - - Annotations - - | null - - } -> - - - ## Implementation @@ -1659,8 +1750,13 @@ title for UI representation. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Intended for programmatic or logical use, but can be used as a display @@ -1686,8 +1782,13 @@ MCP capabilities supported by the agent **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Agent supports `McpServer::Http`. @@ -1720,27 +1821,22 @@ Only available when the Agent capabilities indicate `mcp_capabilities.http` is ` - - Extension point for implementations - - - - HttpHeader - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. Human-readable name identifying this MCP server. - + + URL to the MCP server. @@ -1755,27 +1851,22 @@ Only available when the Agent capabilities indicate `mcp_capabilities.sse` is `t - - Extension point for implementations - - - - HttpHeader - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. Human-readable name identifying this MCP server. - + + URL to the MCP server. @@ -1790,36 +1881,21 @@ All Agents MUST support this transport. - - Extension point for implementations - - - "string" - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +"string"[]} required> Command-line arguments to pass to the MCP server. Path to the MCP server executable. - - - EnvVariable - - [] - - } - required -> +EnvVariable[]} required> Environment variables to set when launching the MCP server. @@ -1837,21 +1913,15 @@ HTTP transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - HttpHeader - - [] - - } - required -> +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. @@ -1869,21 +1939,15 @@ SSE transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - HttpHeader - - [] - - } - required -> +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. @@ -1901,36 +1965,21 @@ Stdio transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - "string" - [] - - } - required -> +"string"[]} required> Command-line arguments to pass to the MCP server. Path to the MCP server executable. - - - EnvVariable - - [] - - } - required -> +EnvVariable[]} required> Environment variables to set when launching the MCP server. @@ -1945,24 +1994,21 @@ An option presented to the user when requesting permission. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionKind} - required -> +PermissionOptionKind} required> Hint about the nature of this permission option. Human-readable label to display to the user. -PermissionOptionId} - required -> +PermissionOptionId} required> Unique identifier for this permission option. @@ -2010,8 +2056,13 @@ See protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-p **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + PlanEntry[]} required> The list of tasks to be accomplished. @@ -2033,25 +2084,22 @@ See protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Human-readable description of what this task aims to accomplish. -PlanEntryPriority} - required -> - The relative importance of this task. Used to indicate which tasks are most - critical to the overall goal. - -PlanEntryStatus} - required -> +PlanEntryPriority} required> + The relative importance of this task. +Used to indicate which tasks are most critical to the overall goal. + +PlanEntryStatus} required> Current execution status of this task. @@ -2115,8 +2163,13 @@ See protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Agent supports `ContentBlock::Audio`. @@ -2201,17 +2254,19 @@ The user selected one of the provided options. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionId} - required -> +PermissionOptionId} required> The ID of the option the user selected. - + + @@ -2224,26 +2279,28 @@ A resource that the server is capable of reading, included in a prompt or tool c **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + + + + - - - Annotations - - | null - - } -> - - - - - - ## Role @@ -2264,14 +2321,15 @@ The user selected one of the provided options. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionId} - required -> +PermissionOptionId} required> The ID of the option the user selected. @@ -2291,8 +2349,13 @@ See protocol docs: [Session Capabilities](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ## SessionId @@ -2316,16 +2379,20 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + +SessionModeId} required> + + - -SessionModeId} - required -> - ## SessionModeId @@ -2341,28 +2408,18 @@ The set of modes and the one currently active. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - SessionMode - - [] - - } - required -> +SessionMode[]} required> The set of modes that the Agent can operate in -SessionModeId} - required -> +SessionModeId} required> The current mode the Agent is in. @@ -2381,17 +2438,19 @@ A chunk of the user's message being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2401,17 +2460,19 @@ A chunk of the agent's response being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2421,17 +2482,19 @@ A chunk of the agent's internal reasoning being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2441,61 +2504,40 @@ Notification that a new tool call has been initiated. - - Extension point for implementations - - - - ToolCallContent - - [] - - } -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +ToolCallContent[]} > Content produced by the tool call. -ToolKind}> - The category of tool being invoked. Helps clients choose appropriate icons and - UI treatment. - - - - ToolCallLocation - - [] - - } -> - File locations affected by this tool call. Enables "follow-along" features in - clients. - - +ToolKind} > + The category of tool being invoked. +Helps clients choose appropriate icons and UI treatment. + +ToolCallLocation[]} > + File locations affected by this tool call. +Enables "follow-along" features in clients. + + Raw input parameters sent to the tool. - + Raw output returned by the tool. - -ToolCallStatus} -> + + +ToolCallStatus} > Current execution status of the tool call. Human-readable title describing what the tool is doing. -ToolCallId} - required -> +ToolCallId} required> Unique identifier for this tool call within the session. @@ -2507,56 +2549,38 @@ Update on the status or results of a tool call. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Replace the content collection. - - - ToolKind - - | null - - } -> +ToolKind | null} > Update the tool kind. - + Replace the locations collection. - + Update the raw input. - + Update the raw output. - - - - ToolCallStatus - - | null - - } -> + + +ToolCallStatus | null} > Update the execution status. - + Update the human-readable title. -ToolCallId} - required -> +ToolCallId} required> The ID of the tool call being updated. @@ -2569,8 +2593,13 @@ See protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-p - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + PlanEntry[]} required> The list of tasks to be accomplished. @@ -2590,24 +2619,19 @@ Available commands are ready or have changed - - Extension point for implementations - - - - AvailableCommand - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +AvailableCommand[]} required> Commands the agent can execute - + + @@ -2619,17 +2643,19 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the current mode - + + @@ -2681,10 +2707,16 @@ See protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + - ## TerminalExitStatus @@ -2694,8 +2726,13 @@ Exit status of a terminal command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The process exit code (may be null if terminated by signal). @@ -2715,21 +2752,18 @@ Text provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + - - - Annotations - - | null - - } -> - ## TextResourceContents @@ -2739,12 +2773,20 @@ Text-based resource contents. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## ToolCall @@ -2759,60 +2801,38 @@ See protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-ca **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - ToolCallContent - - [] - - } -> +ToolCallContent[]} > Content produced by the tool call. -ToolKind}> - The category of tool being invoked. Helps clients choose appropriate icons and - UI treatment. - - - - ToolCallLocation - - [] - - } -> - File locations affected by this tool call. Enables "follow-along" features in - clients. - - +ToolKind} > + The category of tool being invoked. +Helps clients choose appropriate icons and UI treatment. + +ToolCallLocation[]} > + File locations affected by this tool call. +Enables "follow-along" features in clients. + + Raw input parameters sent to the tool. - + Raw output returned by the tool. -ToolCallStatus} -> +ToolCallStatus} > Current execution status of the tool call. Human-readable title describing what the tool is doing. -ToolCallId} - required -> +ToolCallId} required> Unique identifier for this tool call within the session. @@ -2832,17 +2852,19 @@ Standard content block (text, images, resources). - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> The actual content block. - + + @@ -2852,19 +2874,25 @@ File modification shown as a diff. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The new content after modification. - + The original content (None for new files). The file path being modified. - + + @@ -2878,11 +2906,18 @@ See protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + - - @@ -2906,8 +2941,13 @@ See protocol docs: [Following the Agent](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Optional line number within the file. @@ -2957,55 +2997,36 @@ See protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-call **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Replace the content collection. - - - ToolKind - - | null - - } -> +ToolKind | null} > Update the tool kind. - + Replace the locations collection. - + Update the raw input. - + Update the raw output. - - - ToolCallStatus - - | null - - } -> +ToolCallStatus | null} > Update the execution status. - + Update the human-readable title. -ToolCallId} - required -> +ToolCallId} required> The ID of the tool call being updated. @@ -3050,8 +3071,13 @@ All text that was typed after the command name is provided as input. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + A hint to display when the input hasn't been provided yet diff --git a/docs/protocol/schema.unstable.mdx b/docs/protocol/schema.unstable.mdx index 36afee9c..bfed2b4b 100644 --- a/docs/protocol/schema.unstable.mdx +++ b/docs/protocol/schema.unstable.mdx @@ -32,12 +32,17 @@ Specifies which authentication method to use. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - The ID of the authentication method to use. Must be one of the methods - advertised in the initialize response. + The ID of the authentication method to use. +Must be one of the methods advertised in the initialize response. #### AuthenticateResponse @@ -48,8 +53,13 @@ Response to the `authenticate` method. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ### initialize @@ -78,8 +88,13 @@ See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/ini **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ClientCapabilities} > Capabilities supported by the client. @@ -109,8 +124,13 @@ See protocol docs: [Initialization](https://agentclientprotocol.com/protocol/ini **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + AgentCapabilities} > Capabilities supported by the agent. @@ -164,14 +184,15 @@ See protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/promp **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The ID of the session to cancel operations for. @@ -202,14 +223,18 @@ Only available if the Agent supports the `listSessions` capability. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - Opaque cursor token from a previous response's nextCursor field for - cursor-based pagination + + Opaque cursor token from a previous response's nextCursor field for cursor-based pagination - + Filter sessions by working directory. Must be an absolute path. @@ -225,25 +250,19 @@ Response from listing sessions. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - Opaque cursor token. If present, pass this in the next request's cursor - parameter to fetch the next page. If absent, there are no more results. + + Opaque cursor token. If present, pass this in the next request's cursor parameter +to fetch the next page. If absent, there are no more results. - - - SessionInfo - - [] - - } - required -> +SessionInfo[]} required> Array of session information objects @@ -274,31 +293,21 @@ See protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/s **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The working directory for this session. - - - McpServer - - [] - - } - required -> +McpServer[]} required> List of MCP servers to connect to for this session. -SessionId} - required -> +SessionId} required> The ID of the session to load. @@ -310,8 +319,13 @@ Response from loading an existing session. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + SessionModelState | null} > **UNSTABLE** @@ -355,24 +369,18 @@ See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The working directory for this session. Must be an absolute path. - - - McpServer - - [] - - } - required -> +McpServer[]} required> List of MCP (Model Context Protocol) servers the agent should connect to. @@ -386,8 +394,13 @@ See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + SessionModelState | null} > **UNSTABLE** @@ -438,8 +451,13 @@ See protocol docs: [User Message](https://agentclientprotocol.com/protocol/promp **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ContentBlock[]} required> The blocks of content that compose the user's message. @@ -471,14 +489,15 @@ See protocol docs: [Check for Completion](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -StopReason} - required -> +StopReason} required> Indicates why the agent stopped processing the turn. @@ -507,21 +526,18 @@ Request parameters for setting a session mode. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the mode to set. -SessionId} - required -> +SessionId} required> The ID of the session to set the mode for. @@ -533,7 +549,7 @@ Response to `session/set_mode` method. **Properties:** - + ### session/set_model @@ -556,17 +572,18 @@ Request parameters for setting a session model. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ModelId} required> The ID of the model to set. -SessionId} - required -> +SessionId} required> The ID of the session to set the model for. @@ -582,8 +599,13 @@ Response to `session/set_model` method. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ## Client @@ -614,8 +636,13 @@ Only available if the client supports the `fs.readTextFile` capability. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Maximum number of lines to read. @@ -644,10 +671,16 @@ Response containing the contents of a text file. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + - ### fs/write_text_file @@ -669,8 +702,13 @@ Only available if the client supports the `fs.writeTextFile` capability. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The text content to write to the file. @@ -678,11 +716,7 @@ Only available if the client supports the `fs.writeTextFile` capability. Absolute path to the file to write. -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -694,8 +728,13 @@ Response to `fs/write_text_file` **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -724,35 +763,21 @@ See protocol docs: [Requesting Permission](https://agentclientprotocol.com/proto **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - PermissionOption - - [] - - } - required -> +PermissionOption[]} required> Available permission options for the user to choose from. -SessionId} - required -> +SessionId} required> The session ID for this request. -ToolCallUpdate} - required -> +ToolCallUpdate} required> Details about the tool call requiring permission. @@ -764,14 +789,15 @@ Response to a permission request. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -RequestPermissionOutcome} - required -> +RequestPermissionOutcome} required> The user's decision on the permission request. @@ -802,21 +828,18 @@ See protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The ID of the session this update pertains to. -SessionUpdate} - required -> +SessionUpdate} required> The actual update content. @@ -846,8 +869,13 @@ Request to create a new terminal and execute a command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + "string"[]} > Array of command arguments. @@ -886,8 +914,13 @@ Response containing the ID of the created terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The unique identifier for the created terminal. @@ -917,14 +950,15 @@ Request to kill a terminal command without releasing the terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -939,8 +973,13 @@ Response to terminal/kill command method **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -961,14 +1000,15 @@ Request to get the current output and status of a terminal. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -983,20 +1023,15 @@ Response containing the terminal output and exit status. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - TerminalExitStatus - - | null - - } -> +TerminalExitStatus | null} > Exit status if the command has completed. @@ -1030,14 +1065,15 @@ Request to release a terminal and free its resources. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -1052,8 +1088,13 @@ Response to terminal/release method **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + @@ -1071,14 +1112,15 @@ Request to wait for a terminal command to exit. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionId} - required -> +SessionId} required> The session ID for this request. @@ -1093,8 +1135,13 @@ Response containing the exit status of a terminal command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The process exit code (may be null if terminated by signal). @@ -1119,8 +1166,13 @@ See protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Whether the agent supports `session/load`. @@ -1154,12 +1206,20 @@ Optional annotations for the client. The client can use annotations to inform ho **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## AudioContent @@ -1169,22 +1229,20 @@ Audio provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + - - - Annotations - - | null - - } -> - - ## AuthMethod @@ -1194,10 +1252,15 @@ Describes an available authentication method. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Optional description providing more details about this authentication method. @@ -1215,23 +1278,18 @@ Information about a command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Human-readable description of what the command does. - - - AvailableCommandInput - - | null - - } -> +AvailableCommandInput | null} > Input for the command if required @@ -1249,8 +1307,13 @@ All text that was typed after the command name is provided as input. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + A hint to display when the input hasn't been provided yet @@ -1267,21 +1330,15 @@ Available commands are ready or have changed **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - AvailableCommand - - [] - - } - required -> +AvailableCommand[]} required> Commands the agent can execute @@ -1293,12 +1350,20 @@ Binary resource contents. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## ClientCapabilities @@ -1313,8 +1378,13 @@ See protocol docs: [Client Capabilities](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + FileSystemCapability} > File system capabilities supported by the client. @@ -1338,14 +1408,15 @@ Standard content block (text, images, resources). **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> The actual content block. @@ -1377,22 +1448,20 @@ Clients SHOULD render this text as Markdown. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + @@ -1404,24 +1473,24 @@ Requires the `image` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + @@ -1433,23 +1502,22 @@ Requires the `audio` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + @@ -1461,27 +1529,30 @@ All agents MUST support resource links in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> - - - - - - - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + + + + + + + @@ -1495,26 +1566,20 @@ Requires the `embeddedContext` prompt capability when included in prompts. - - Extension point for implementations - - - - Annotations - - | null - - } -> -EmbeddedResourceResource} - required -> - + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + +EmbeddedResourceResource} required> + + + @@ -1527,14 +1592,15 @@ A streamed item of content **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content @@ -1548,14 +1614,15 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the current mode @@ -1571,13 +1638,18 @@ See protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The new content after modification. - + The original content (None for new files). @@ -1592,25 +1664,18 @@ The contents of a resource, embedded into a prompt or tool call result. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + +EmbeddedResourceResource} required> - - - Annotations - - | null - - } -> -EmbeddedResourceResource} - required -> ## EmbeddedResourceResource @@ -1623,12 +1688,20 @@ Resource content that can be embedded in a message. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - @@ -1638,12 +1711,20 @@ Resource content that can be embedded in a message. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - @@ -1656,8 +1737,13 @@ An environment variable to set when launching an MCP server. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The name of the environment variable. @@ -1728,8 +1814,13 @@ See protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initial **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Whether the Client supports `fs/read_text_file` requests. @@ -1752,8 +1843,13 @@ An HTTP header to set when making requests to the MCP server. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The name of the HTTP header. @@ -1770,23 +1866,22 @@ An image provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + - - - Annotations - - | null - - } -> - - - ## Implementation @@ -1798,8 +1893,13 @@ title for UI representation. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Intended for programmatic or logical use, but can be used as a display @@ -1825,8 +1925,13 @@ MCP capabilities supported by the agent **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Agent supports `McpServer::Http`. @@ -1859,27 +1964,22 @@ Only available when the Agent capabilities indicate `mcp_capabilities.http` is ` - - Extension point for implementations - - - - HttpHeader - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. Human-readable name identifying this MCP server. - + + URL to the MCP server. @@ -1894,27 +1994,22 @@ Only available when the Agent capabilities indicate `mcp_capabilities.sse` is `t - - Extension point for implementations - - - - HttpHeader - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. Human-readable name identifying this MCP server. - + + URL to the MCP server. @@ -1929,36 +2024,21 @@ All Agents MUST support this transport. - - Extension point for implementations - - - "string" - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +"string"[]} required> Command-line arguments to pass to the MCP server. Path to the MCP server executable. - - - EnvVariable - - [] - - } - required -> +EnvVariable[]} required> Environment variables to set when launching the MCP server. @@ -1976,21 +2056,15 @@ HTTP transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - HttpHeader - - [] - - } - required -> +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. @@ -2008,21 +2082,15 @@ SSE transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - HttpHeader - - [] - - } - required -> +HttpHeader[]} required> HTTP headers to set when making requests to the MCP server. @@ -2040,36 +2108,21 @@ Stdio transport configuration for MCP. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - "string" - [] - - } - required -> +"string"[]} required> Command-line arguments to pass to the MCP server. Path to the MCP server executable. - - - EnvVariable - - [] - - } - required -> +EnvVariable[]} required> Environment variables to set when launching the MCP server. @@ -2098,10 +2151,15 @@ Information about a selectable model. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Optional description of the model. ModelId} required> @@ -2119,24 +2177,21 @@ An option presented to the user when requesting permission. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionKind} - required -> +PermissionOptionKind} required> Hint about the nature of this permission option. Human-readable label to display to the user. -PermissionOptionId} - required -> +PermissionOptionId} required> Unique identifier for this permission option. @@ -2184,8 +2239,13 @@ See protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-p **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + PlanEntry[]} required> The list of tasks to be accomplished. @@ -2207,25 +2267,22 @@ See protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Human-readable description of what this task aims to accomplish. -PlanEntryPriority} - required -> - The relative importance of this task. Used to indicate which tasks are most - critical to the overall goal. - -PlanEntryStatus} - required -> +PlanEntryPriority} required> + The relative importance of this task. +Used to indicate which tasks are most critical to the overall goal. + +PlanEntryStatus} required> Current execution status of this task. @@ -2289,8 +2346,13 @@ See protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Agent supports `ContentBlock::Audio`. @@ -2375,17 +2437,19 @@ The user selected one of the provided options. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionId} - required -> +PermissionOptionId} required> The ID of the option the user selected. - + + @@ -2398,26 +2462,28 @@ A resource that the server is capable of reading, included in a prompt or tool c **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + + + + + + + + + + + - - - Annotations - - | null - - } -> - - - - - - ## Role @@ -2438,14 +2504,15 @@ The user selected one of the provided options. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -PermissionOptionId} - required -> +PermissionOptionId} required> The ID of the option the user selected. @@ -2465,8 +2532,13 @@ See protocol docs: [Session Capabilities](https://agentclientprotocol.com/protoc **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + SessionListCapabilities | null} > **UNSTABLE** @@ -2500,23 +2572,24 @@ Information about a session returned by session/list **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The working directory for this session. Must be an absolute path. -SessionId} - required -> +SessionId} required> Unique identifier for the session - + Human-readable title for the session - + ISO 8601 timestamp of last activity @@ -2532,8 +2605,13 @@ Further capabilities can be added in the future for other means of filtering or **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + ## SessionMode @@ -2546,16 +2624,20 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + +SessionModeId} required> + + - -SessionModeId} - required -> - ## SessionModeId @@ -2571,28 +2653,18 @@ The set of modes and the one currently active. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - SessionMode - - [] - - } - required -> +SessionMode[]} required> The set of modes that the Agent can operate in -SessionModeId} - required -> +SessionModeId} required> The current mode the Agent is in. @@ -2608,28 +2680,18 @@ The set of models and the one currently active. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - ModelInfo - - [] - - } - required -> +ModelInfo[]} required> The set of models that the Agent can use -ModelId} - required -> +ModelId} required> The current model the Agent is in. @@ -2648,17 +2710,19 @@ A chunk of the user's message being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2668,17 +2732,19 @@ A chunk of the agent's response being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2688,17 +2754,19 @@ A chunk of the agent's internal reasoning being streamed. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> A single item of content - + + @@ -2708,61 +2776,40 @@ Notification that a new tool call has been initiated. - - Extension point for implementations - - - - ToolCallContent - - [] - - } -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +ToolCallContent[]} > Content produced by the tool call. -ToolKind}> - The category of tool being invoked. Helps clients choose appropriate icons and - UI treatment. - - - - ToolCallLocation - - [] - - } -> - File locations affected by this tool call. Enables "follow-along" features in - clients. - - +ToolKind} > + The category of tool being invoked. +Helps clients choose appropriate icons and UI treatment. + +ToolCallLocation[]} > + File locations affected by this tool call. +Enables "follow-along" features in clients. + + Raw input parameters sent to the tool. - + Raw output returned by the tool. - -ToolCallStatus} -> + + +ToolCallStatus} > Current execution status of the tool call. Human-readable title describing what the tool is doing. -ToolCallId} - required -> +ToolCallId} required> Unique identifier for this tool call within the session. @@ -2774,56 +2821,38 @@ Update on the status or results of a tool call. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Replace the content collection. - - - ToolKind - - | null - - } -> +ToolKind | null} > Update the tool kind. - + Replace the locations collection. - + Update the raw input. - + Update the raw output. - - - - ToolCallStatus - - | null - - } -> + + +ToolCallStatus | null} > Update the execution status. - + Update the human-readable title. -ToolCallId} - required -> +ToolCallId} required> The ID of the tool call being updated. @@ -2836,8 +2865,13 @@ See protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-p - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + PlanEntry[]} required> The list of tasks to be accomplished. @@ -2857,24 +2891,19 @@ Available commands are ready or have changed - - Extension point for implementations - - - - AvailableCommand - - [] - - } - required -> + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +AvailableCommand[]} required> Commands the agent can execute - + + @@ -2886,17 +2915,19 @@ See protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/sess - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -SessionModeId} - required -> +SessionModeId} required> The ID of the current mode - + + @@ -2948,10 +2979,16 @@ See protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + - ## TerminalExitStatus @@ -2961,8 +2998,13 @@ Exit status of a terminal command. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The process exit code (may be null if terminated by signal). @@ -2982,21 +3024,18 @@ Text provided to or from an LLM. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + +Annotations | null} > + + - - - Annotations - - | null - - } -> - ## TextResourceContents @@ -3006,12 +3045,20 @@ Text-based resource contents. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + + + - - - ## ToolCall @@ -3026,60 +3073,38 @@ See protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-ca **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - - - ToolCallContent - - [] - - } -> +ToolCallContent[]} > Content produced by the tool call. -ToolKind}> - The category of tool being invoked. Helps clients choose appropriate icons and - UI treatment. - - - - ToolCallLocation - - [] - - } -> - File locations affected by this tool call. Enables "follow-along" features in - clients. - - +ToolKind} > + The category of tool being invoked. +Helps clients choose appropriate icons and UI treatment. + +ToolCallLocation[]} > + File locations affected by this tool call. +Enables "follow-along" features in clients. + + Raw input parameters sent to the tool. - + Raw output returned by the tool. -ToolCallStatus} -> +ToolCallStatus} > Current execution status of the tool call. Human-readable title describing what the tool is doing. -ToolCallId} - required -> +ToolCallId} required> Unique identifier for this tool call within the session. @@ -3099,17 +3124,19 @@ Standard content block (text, images, resources). - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + -ContentBlock} - required -> +ContentBlock} required> The actual content block. - + + @@ -3119,19 +3146,25 @@ File modification shown as a diff. - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + The new content after modification. - + The original content (None for new files). The file path being modified. - + + @@ -3145,11 +3178,18 @@ See protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + + + + + - - @@ -3173,8 +3213,13 @@ See protocol docs: [Following the Agent](https://agentclientprotocol.com/protoco **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + Optional line number within the file. @@ -3224,55 +3269,36 @@ See protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-call **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + - + Replace the content collection. - - - ToolKind - - | null - - } -> +ToolKind | null} > Update the tool kind. - + Replace the locations collection. - + Update the raw input. - + Update the raw output. - - - ToolCallStatus - - | null - - } -> +ToolCallStatus | null} > Update the execution status. - + Update the human-readable title. -ToolCallId} - required -> +ToolCallId} required> The ID of the tool call being updated. @@ -3317,8 +3343,13 @@ All text that was typed after the command name is provided as input. **Properties:** - - Extension point for implementations + + The _meta property is reserved by ACP to allow clients and agents to attach additional +metadata to their interactions. Implementations MUST NOT make assumptions about values at +these keys. + +See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) + A hint to display when the input hasn't been provided yet diff --git a/package-lock.json b/package-lock.json index f7f6a686..2f44585d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,526 +9,13 @@ "version": "0.0.0", "license": "Apache-2.0", "devDependencies": { - "prettier": "^3.3.3", - "tsx": "^4.20.5" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "prettier": "^3.7.3" } }, "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.3.tgz", + "integrity": "sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==", "dev": true, "license": "MIT", "bin": { @@ -540,36 +27,6 @@ "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/tsx": { - "version": "4.20.6", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.6.tgz", - "integrity": "sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "~0.25.0", - "get-tsconfig": "^4.7.5" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } } } } diff --git a/package.json b/package.json index 7c804db7..74b535d1 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "docs": "cd docs && npx mint dev" }, "devDependencies": { - "prettier": "^3.3.3", - "tsx": "^4.20.5" + "prettier": "^3.7.3" } } diff --git a/rust/agent.rs b/rust/agent.rs index ba52802d..b5e836d5 100644 --- a/rust/agent.rs +++ b/rust/agent.rs @@ -9,9 +9,9 @@ use derive_more::{Display, From}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use crate::ext::ExtRequest; use crate::{ - ClientCapabilities, ContentBlock, ExtNotification, ExtResponse, ProtocolVersion, SessionId, + ClientCapabilities, ContentBlock, ExtNotification, ExtRequest, ExtResponse, Meta, + ProtocolVersion, SessionId, }; // Initialize @@ -36,9 +36,13 @@ pub struct InitializeRequest { /// Note: in future versions of the protocol, this will be required. #[serde(skip_serializing_if = "Option::is_none")] pub client_info: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl InitializeRequest { @@ -66,9 +70,13 @@ impl InitializeRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -100,9 +108,13 @@ pub struct InitializeResponse { /// Note: in future versions of the protocol, this will be required. #[serde(skip_serializing_if = "Option::is_none")] pub agent_info: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl InitializeResponse { @@ -138,9 +150,13 @@ impl InitializeResponse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -164,9 +180,13 @@ pub struct Implementation { /// Version of the implementation. Can be displayed to the user or used /// for debugging or metrics purposes. (e.g. "1.0.0"). pub version: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Implementation { @@ -189,9 +209,13 @@ impl Implementation { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -210,9 +234,13 @@ pub struct AuthenticateRequest { /// The ID of the authentication method to use. /// Must be one of the methods advertised in the initialize response. pub method_id: AuthMethodId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AuthenticateRequest { @@ -225,7 +253,7 @@ impl AuthenticateRequest { } #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -237,9 +265,13 @@ impl AuthenticateRequest { #[schemars(extend("x-side" = "agent", "x-method" = AUTHENTICATE_METHOD_NAME))] #[non_exhaustive] pub struct AuthenticateResponse { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AuthenticateResponse { @@ -249,7 +281,7 @@ impl AuthenticateResponse { } #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -278,9 +310,13 @@ pub struct AuthMethod { pub name: String, /// Optional description providing more details about this authentication method. pub description: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AuthMethod { @@ -300,9 +336,13 @@ impl AuthMethod { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -322,9 +362,13 @@ pub struct NewSessionRequest { pub cwd: PathBuf, /// List of MCP (Model Context Protocol) servers the agent should connect to. pub mcp_servers: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl NewSessionRequest { @@ -343,9 +387,13 @@ impl NewSessionRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -376,9 +424,13 @@ pub struct NewSessionResponse { #[cfg(feature = "unstable_session_model")] #[serde(skip_serializing_if = "Option::is_none")] pub models: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl NewSessionResponse { @@ -414,9 +466,13 @@ impl NewSessionResponse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -440,9 +496,13 @@ pub struct LoadSessionRequest { pub cwd: PathBuf, /// The ID of the session to load. pub session_id: SessionId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl LoadSessionRequest { @@ -462,9 +522,13 @@ impl LoadSessionRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -489,9 +553,13 @@ pub struct LoadSessionResponse { #[cfg(feature = "unstable_session_model")] #[serde(default, skip_serializing_if = "Option::is_none")] pub models: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl LoadSessionResponse { @@ -521,9 +589,13 @@ impl LoadSessionResponse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -550,9 +622,13 @@ pub struct ListSessionsRequest { /// Opaque cursor token from a previous response's nextCursor field for cursor-based pagination #[serde(skip_serializing_if = "Option::is_none")] pub cursor: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_list")] @@ -576,9 +652,13 @@ impl ListSessionsRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -601,9 +681,13 @@ pub struct ListSessionsResponse { /// to fetch the next page. If absent, there are no more results. #[serde(skip_serializing_if = "Option::is_none")] pub next_cursor: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_list")] @@ -623,9 +707,13 @@ impl ListSessionsResponse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -651,9 +739,13 @@ pub struct SessionInfo { /// ISO 8601 timestamp of last activity #[serde(skip_serializing_if = "Option::is_none")] pub updated_at: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_list")] @@ -682,9 +774,13 @@ impl SessionInfo { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -701,9 +797,13 @@ pub struct SessionModeState { pub current_mode_id: SessionModeId, /// The set of modes that the Agent can operate in pub available_modes: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SessionModeState { @@ -719,9 +819,13 @@ impl SessionModeState { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -738,9 +842,13 @@ pub struct SessionMode { pub name: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SessionMode { @@ -759,9 +867,13 @@ impl SessionMode { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -790,9 +902,13 @@ pub struct SetSessionModeRequest { pub session_id: SessionId, /// The ID of the mode to set. pub mode_id: SessionModeId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SetSessionModeRequest { @@ -806,7 +922,7 @@ impl SetSessionModeRequest { } #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -819,7 +935,7 @@ impl SetSessionModeRequest { #[non_exhaustive] pub struct SetSessionModeResponse { #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SetSessionModeResponse { @@ -829,7 +945,7 @@ impl SetSessionModeResponse { } #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -874,9 +990,13 @@ pub struct McpServerHttp { pub url: String, /// HTTP headers to set when making requests to the MCP server. pub headers: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl McpServerHttp { @@ -896,9 +1016,13 @@ impl McpServerHttp { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -915,9 +1039,13 @@ pub struct McpServerSse { pub url: String, /// HTTP headers to set when making requests to the MCP server. pub headers: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl McpServerSse { @@ -937,9 +1065,13 @@ impl McpServerSse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -958,9 +1090,13 @@ pub struct McpServerStdio { pub args: Vec, /// Environment variables to set when launching the MCP server. pub env: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl McpServerStdio { @@ -988,9 +1124,13 @@ impl McpServerStdio { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1005,9 +1145,13 @@ pub struct EnvVariable { pub name: String, /// The value to set for the environment variable. pub value: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl EnvVariable { @@ -1019,9 +1163,13 @@ impl EnvVariable { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1036,9 +1184,13 @@ pub struct HttpHeader { pub name: String, /// The value to set for the HTTP header. pub value: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl HttpHeader { @@ -1050,9 +1202,13 @@ impl HttpHeader { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1086,9 +1242,13 @@ pub struct PromptRequest { /// as it avoids extra round-trips and allows the message to include /// pieces of context from sources the agent may not have access to. pub prompt: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl PromptRequest { @@ -1101,9 +1261,13 @@ impl PromptRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1119,9 +1283,13 @@ impl PromptRequest { pub struct PromptResponse { /// Indicates why the agent stopped processing the turn. pub stop_reason: StopReason, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl PromptResponse { @@ -1133,9 +1301,13 @@ impl PromptResponse { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1184,9 +1356,13 @@ pub struct SessionModelState { pub current_model_id: ModelId, /// The set of models that the Agent can use pub available_models: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_model")] @@ -1200,9 +1376,13 @@ impl SessionModelState { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1244,9 +1424,13 @@ pub struct ModelInfo { /// Optional description of the model. #[serde(default, skip_serializing_if = "Option::is_none")] pub description: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_model")] @@ -1267,9 +1451,13 @@ impl ModelInfo { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1290,9 +1478,13 @@ pub struct SetSessionModelRequest { pub session_id: SessionId, /// The ID of the model to set. pub model_id: ModelId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_model")] @@ -1306,9 +1498,13 @@ impl SetSessionModelRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1325,9 +1521,13 @@ impl SetSessionModelRequest { #[serde(rename_all = "camelCase")] #[non_exhaustive] pub struct SetSessionModelResponse { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_model")] @@ -1337,9 +1537,13 @@ impl SetSessionModelResponse { Self::default() } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1368,9 +1572,13 @@ pub struct AgentCapabilities { pub mcp_capabilities: McpCapabilities, #[serde(default)] pub session_capabilities: SessionCapabilities, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AgentCapabilities { @@ -1400,9 +1608,13 @@ impl AgentCapabilities { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1428,9 +1640,13 @@ pub struct SessionCapabilities { #[cfg(feature = "unstable_session_list")] #[serde(skip_serializing_if = "Option::is_none")] pub list: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SessionCapabilities { @@ -1447,9 +1663,13 @@ impl SessionCapabilities { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1464,9 +1684,13 @@ impl SessionCapabilities { #[derive(Default, Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq, Eq)] #[non_exhaustive] pub struct SessionListCapabilities { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } #[cfg(feature = "unstable_session_list")] @@ -1475,9 +1699,13 @@ impl SessionListCapabilities { pub fn new() -> Self { Self::default() } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1511,9 +1739,13 @@ pub struct PromptCapabilities { /// in prompt requests for pieces of context that are referenced in the message. #[serde(default)] pub embedded_context: bool, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl PromptCapabilities { @@ -1546,9 +1778,13 @@ impl PromptCapabilities { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1565,9 +1801,13 @@ pub struct McpCapabilities { /// Agent supports [`McpServer::Sse`]. #[serde(default)] pub sse: bool, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl McpCapabilities { @@ -1590,9 +1830,13 @@ impl McpCapabilities { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1870,9 +2114,13 @@ impl ClientNotification { pub struct CancelNotification { /// The ID of the session to cancel operations for. pub session_id: SessionId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl CancelNotification { @@ -1884,9 +2132,13 @@ impl CancelNotification { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } diff --git a/rust/bin/generate.rs b/rust/bin/generate.rs index cb5dbffe..945a5bec 100644 --- a/rust/bin/generate.rs +++ b/rust/bin/generate.rs @@ -31,9 +31,11 @@ enum AcpTypes { fn main() { let mut settings = SchemaSettings::draft2020_12(); + let mut bool_schemas = ReplaceBoolSchemas::default(); + bool_schemas.skip_additional_properties = true; settings = settings .with_transform(RemoveRefSiblings::default()) - .with_transform(ReplaceBoolSchemas::default()); + .with_transform(bool_schemas); let generator = settings.into_generator(); let mut schema = generator.into_root_schema_for::(); diff --git a/rust/client.rs b/rust/client.rs index abd3f37b..f185ec85 100644 --- a/rust/client.rs +++ b/rust/client.rs @@ -10,8 +10,8 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use crate::{ - ContentBlock, ExtNotification, ExtResponse, Plan, SessionId, SessionModeId, ToolCall, - ToolCallUpdate, ext::ExtRequest, + ContentBlock, ExtNotification, ExtRequest, ExtResponse, Meta, Plan, SessionId, SessionModeId, + ToolCall, ToolCallUpdate, }; // Session updates @@ -30,9 +30,13 @@ pub struct SessionNotification { pub session_id: SessionId, /// The actual update content. pub update: SessionUpdate, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SessionNotification { @@ -45,9 +49,13 @@ impl SessionNotification { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -93,9 +101,13 @@ pub enum SessionUpdate { pub struct CurrentModeUpdate { /// The ID of the current mode pub current_mode_id: SessionModeId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl CurrentModeUpdate { @@ -107,9 +119,13 @@ impl CurrentModeUpdate { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -122,9 +138,13 @@ impl CurrentModeUpdate { pub struct ContentChunk { /// A single item of content pub content: ContentBlock, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ContentChunk { @@ -136,9 +156,13 @@ impl ContentChunk { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -151,9 +175,13 @@ impl ContentChunk { pub struct AvailableCommandsUpdate { /// Commands the agent can execute pub available_commands: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AvailableCommandsUpdate { @@ -165,9 +193,13 @@ impl AvailableCommandsUpdate { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -184,9 +216,13 @@ pub struct AvailableCommand { pub description: String, /// Input for the command if required pub input: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AvailableCommand { @@ -206,9 +242,13 @@ impl AvailableCommand { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -230,9 +270,13 @@ pub enum AvailableCommandInput { pub struct UnstructuredCommandInput { /// A hint to display when the input hasn't been provided yet pub hint: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl UnstructuredCommandInput { @@ -243,9 +287,13 @@ impl UnstructuredCommandInput { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -269,9 +317,13 @@ pub struct RequestPermissionRequest { pub tool_call: ToolCallUpdate, /// Available permission options for the user to choose from. pub options: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl RequestPermissionRequest { @@ -289,9 +341,13 @@ impl RequestPermissionRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -308,9 +364,13 @@ pub struct PermissionOption { pub name: String, /// Hint about the nature of this permission option. pub kind: PermissionOptionKind, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl PermissionOption { @@ -327,9 +387,13 @@ impl PermissionOption { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -374,9 +438,13 @@ pub struct RequestPermissionResponse { /// The user's decision on the permission request. // This extra-level is unfortunately needed because the output must be an object pub outcome: RequestPermissionOutcome, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl RequestPermissionResponse { @@ -388,9 +456,13 @@ impl RequestPermissionResponse { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -422,9 +494,13 @@ pub enum RequestPermissionOutcome { pub struct SelectedPermissionOutcome { /// The ID of the option the user selected. pub option_id: PermissionOptionId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl SelectedPermissionOutcome { @@ -436,9 +512,13 @@ impl SelectedPermissionOutcome { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -460,9 +540,13 @@ pub struct WriteTextFileRequest { pub path: PathBuf, /// The text content to write to the file. pub content: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl WriteTextFileRequest { @@ -479,9 +563,13 @@ impl WriteTextFileRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -493,9 +581,13 @@ impl WriteTextFileRequest { #[schemars(extend("x-side" = "client", "x-method" = FS_WRITE_TEXT_FILE_METHOD_NAME))] #[non_exhaustive] pub struct WriteTextFileResponse { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl WriteTextFileResponse { @@ -504,9 +596,13 @@ impl WriteTextFileResponse { Self::default() } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -532,9 +628,13 @@ pub struct ReadTextFileRequest { /// Maximum number of lines to read. #[serde(skip_serializing_if = "Option::is_none")] pub limit: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ReadTextFileRequest { @@ -562,9 +662,13 @@ impl ReadTextFileRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -577,9 +681,13 @@ impl ReadTextFileRequest { #[non_exhaustive] pub struct ReadTextFileResponse { pub content: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ReadTextFileResponse { @@ -590,9 +698,13 @@ impl ReadTextFileResponse { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -641,9 +753,13 @@ pub struct CreateTerminalRequest { /// specified limit. #[serde(skip_serializing_if = "Option::is_none")] pub output_byte_limit: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl CreateTerminalRequest { @@ -694,9 +810,13 @@ impl CreateTerminalRequest { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -710,9 +830,13 @@ impl CreateTerminalRequest { pub struct CreateTerminalResponse { /// The unique identifier for the created terminal. pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl CreateTerminalResponse { @@ -724,9 +848,13 @@ impl CreateTerminalResponse { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -742,9 +870,13 @@ pub struct TerminalOutputRequest { pub session_id: SessionId, /// The ID of the terminal to get output from. pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl TerminalOutputRequest { @@ -757,9 +889,13 @@ impl TerminalOutputRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -777,9 +913,13 @@ pub struct TerminalOutputResponse { pub truncated: bool, /// Exit status if the command has completed. pub exit_status: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl TerminalOutputResponse { @@ -799,9 +939,13 @@ impl TerminalOutputResponse { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -817,9 +961,13 @@ pub struct ReleaseTerminalRequest { pub session_id: SessionId, /// The ID of the terminal to release. pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ReleaseTerminalRequest { @@ -832,9 +980,13 @@ impl ReleaseTerminalRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -846,9 +998,13 @@ impl ReleaseTerminalRequest { #[schemars(extend("x-side" = "client", "x-method" = TERMINAL_RELEASE_METHOD_NAME))] #[non_exhaustive] pub struct ReleaseTerminalResponse { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ReleaseTerminalResponse { @@ -857,9 +1013,13 @@ impl ReleaseTerminalResponse { Self::default() } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -875,9 +1035,13 @@ pub struct KillTerminalCommandRequest { pub session_id: SessionId, /// The ID of the terminal to kill. pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl KillTerminalCommandRequest { @@ -890,9 +1054,13 @@ impl KillTerminalCommandRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -904,9 +1072,13 @@ impl KillTerminalCommandRequest { #[schemars(extend("x-side" = "client", "x-method" = TERMINAL_KILL_METHOD_NAME))] #[non_exhaustive] pub struct KillTerminalCommandResponse { - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl KillTerminalCommandResponse { @@ -915,9 +1087,13 @@ impl KillTerminalCommandResponse { Self::default() } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -933,9 +1109,13 @@ pub struct WaitForTerminalExitRequest { pub session_id: SessionId, /// The ID of the terminal to wait for. pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl WaitForTerminalExitRequest { @@ -948,9 +1128,13 @@ impl WaitForTerminalExitRequest { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -965,9 +1149,13 @@ pub struct WaitForTerminalExitResponse { /// The exit status of the terminal command. #[serde(flatten)] pub exit_status: TerminalExitStatus, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl WaitForTerminalExitResponse { @@ -979,9 +1167,13 @@ impl WaitForTerminalExitResponse { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -996,9 +1188,13 @@ pub struct TerminalExitStatus { pub exit_code: Option, /// The signal that terminated the process (may be null if exited normally). pub signal: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl TerminalExitStatus { @@ -1021,9 +1217,13 @@ impl TerminalExitStatus { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1048,9 +1248,13 @@ pub struct ClientCapabilities { /// Whether the Client support all `terminal/*` methods. #[serde(default)] pub terminal: bool, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ClientCapabilities { @@ -1074,9 +1278,13 @@ impl ClientCapabilities { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -1096,9 +1304,13 @@ pub struct FileSystemCapability { /// Whether the Client supports `fs/write_text_file` requests. #[serde(default)] pub write_text_file: bool, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl FileSystemCapability { @@ -1121,9 +1333,13 @@ impl FileSystemCapability { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } diff --git a/rust/content.rs b/rust/content.rs index 5ae33812..7a8d1166 100644 --- a/rust/content.rs +++ b/rust/content.rs @@ -12,6 +12,8 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use crate::Meta; + /// Content blocks represent displayable information in the Agent Client Protocol. /// /// They provide a structured way to handle various types of user-facing content—whether @@ -63,9 +65,13 @@ pub struct TextContent { #[serde(skip_serializing_if = "Option::is_none")] pub annotations: Option, pub text: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl TextContent { @@ -83,9 +89,13 @@ impl TextContent { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -108,9 +118,13 @@ pub struct ImageContent { pub mime_type: String, #[serde(skip_serializing_if = "Option::is_none")] pub uri: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ImageContent { @@ -136,9 +150,13 @@ impl ImageContent { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -153,9 +171,13 @@ pub struct AudioContent { pub annotations: Option, pub data: String, pub mime_type: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl AudioContent { @@ -174,9 +196,13 @@ impl AudioContent { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -189,9 +215,13 @@ pub struct EmbeddedResource { #[serde(skip_serializing_if = "Option::is_none")] pub annotations: Option, pub resource: EmbeddedResourceResource, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl EmbeddedResource { @@ -210,9 +240,13 @@ impl EmbeddedResource { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -236,9 +270,13 @@ pub struct TextResourceContents { pub mime_type: Option, pub text: String, pub uri: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl TextResourceContents { @@ -257,9 +295,13 @@ impl TextResourceContents { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -274,9 +316,13 @@ pub struct BlobResourceContents { #[serde(skip_serializing_if = "Option::is_none")] pub mime_type: Option, pub uri: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl BlobResourceContents { @@ -295,9 +341,13 @@ impl BlobResourceContents { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -320,9 +370,13 @@ pub struct ResourceLink { #[serde(skip_serializing_if = "Option::is_none")] pub title: Option, pub uri: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ResourceLink { @@ -369,9 +423,13 @@ impl ResourceLink { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -388,9 +446,13 @@ pub struct Annotations { pub last_modified: Option, #[serde(skip_serializing_if = "Option::is_none")] pub priority: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Annotations { @@ -417,9 +479,13 @@ impl Annotations { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } diff --git a/rust/ext.rs b/rust/ext.rs index b04ae891..ab8c22d0 100644 --- a/rust/ext.rs +++ b/rust/ext.rs @@ -5,6 +5,15 @@ use serde::{Deserialize, Serialize}; use serde_json::value::RawValue; use std::sync::Arc; +/// Value attached to a given ACP type on the `_meta` field. +/// +/// The _meta property is reserved by ACP to allow clients and agents to attach +/// additional metadata to their interactions. Implementations MUST NOT make assumptions about +/// values at these keys. +/// +/// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) +pub type Meta = serde_json::Map; + /// Allows for sending an arbitrary request that is not part of the ACP spec. /// Extension methods provide a way to add custom functionality while maintaining /// protocol compatibility. diff --git a/rust/plan.rs b/rust/plan.rs index 8d69d671..815e1e93 100644 --- a/rust/plan.rs +++ b/rust/plan.rs @@ -8,6 +8,8 @@ use schemars::JsonSchema; use serde::{Deserialize, Serialize}; +use crate::Meta; + /// An execution plan for accomplishing complex tasks. /// /// Plans consist of multiple entries representing individual tasks or goals. @@ -24,9 +26,13 @@ pub struct Plan { /// When updating a plan, the agent must send a complete list of all entries /// with their current status. The client replaces the entire plan with each update. pub entries: Vec, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Plan { @@ -38,9 +44,13 @@ impl Plan { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -62,9 +72,13 @@ pub struct PlanEntry { pub priority: PlanEntryPriority, /// Current execution status of this task. pub status: PlanEntryStatus, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl PlanEntry { @@ -81,9 +95,13 @@ impl PlanEntry { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } diff --git a/rust/tool_call.rs b/rust/tool_call.rs index 272160f9..38436aa6 100644 --- a/rust/tool_call.rs +++ b/rust/tool_call.rs @@ -10,7 +10,7 @@ use derive_more::{Display, From}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use crate::{ContentBlock, Error, TerminalId}; +use crate::{ContentBlock, Error, Meta, TerminalId}; /// Represents a tool call that the language model has requested. /// @@ -46,9 +46,13 @@ pub struct ToolCall { /// Raw output returned by the tool. #[serde(skip_serializing_if = "Option::is_none")] pub raw_output: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ToolCall { @@ -110,9 +114,13 @@ impl ToolCall { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -159,9 +167,13 @@ pub struct ToolCallUpdate { /// Fields being updated. #[serde(flatten)] pub fields: ToolCallUpdateFields, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ToolCallUpdate { @@ -174,9 +186,13 @@ impl ToolCallUpdate { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -461,9 +477,13 @@ impl From for ToolCallContent { pub struct Content { /// The actual content block. pub content: ContentBlock, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Content { @@ -474,9 +494,13 @@ impl Content { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -492,9 +516,13 @@ impl Content { #[non_exhaustive] pub struct Terminal { pub terminal_id: TerminalId, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Terminal { @@ -506,9 +534,13 @@ impl Terminal { } } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -529,9 +561,13 @@ pub struct Diff { pub old_text: Option, /// The new content after modification. pub new_text: String, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl Diff { @@ -551,9 +587,13 @@ impl Diff { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } @@ -574,9 +614,13 @@ pub struct ToolCallLocation { /// Optional line number within the file. #[serde(default, skip_serializing_if = "Option::is_none")] pub line: Option, - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[serde(skip_serializing_if = "Option::is_none", rename = "_meta")] - pub meta: Option, + pub meta: Option, } impl ToolCallLocation { @@ -595,9 +639,13 @@ impl ToolCallLocation { self } - /// Extension point for implementations + /// The _meta property is reserved by ACP to allow clients and agents to attach additional + /// metadata to their interactions. Implementations MUST NOT make assumptions about values at + /// these keys. + /// + /// See protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility) #[must_use] - pub fn meta(mut self, meta: serde_json::Value) -> Self { + pub fn meta(mut self, meta: Meta) -> Self { self.meta = Some(meta); self } diff --git a/schema/schema.json b/schema/schema.json index ec321b23..20e4234f 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -4,7 +4,9 @@ "description": "Capabilities supported by the agent.\n\nAdvertised during initialization to inform the client about\navailable features and content types.\n\nSee protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol/initialization#agent-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "loadSession": { "default": false, @@ -238,7 +240,9 @@ "description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audience": { "items": { @@ -260,7 +264,9 @@ "description": "Audio provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -286,7 +292,9 @@ "description": "Describes an available authentication method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Optional description providing more details about this authentication method.", @@ -308,7 +316,9 @@ "description": "Request parameters for the authenticate method.\n\nSpecifies which authentication method to use.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "methodId": { "description": "The ID of the authentication method to use.\nMust be one of the methods advertised in the initialize response.", @@ -324,7 +334,9 @@ "description": "Response to the `authenticate` method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -335,7 +347,9 @@ "description": "Information about a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Human-readable description of what the command does.", @@ -377,7 +391,9 @@ "description": "Available commands are ready or have changed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableCommands": { "description": "Commands the agent can execute", @@ -394,7 +410,9 @@ "description": "Binary resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "blob": { "type": "string" @@ -413,7 +431,9 @@ "description": "Notification to cancel ongoing operations for a session.\n\nSee protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/prompt-turn#cancellation)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -433,7 +453,9 @@ "description": "Capabilities supported by the client.\n\nAdvertised during initialization to inform the agent about\navailable features and methods.\n\nSee protocol docs: [Client Capabilities](https://agentclientprotocol.com/protocol/initialization#client-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "fs": { "allOf": [ @@ -636,7 +658,9 @@ "description": "Standard content block (text, images, resources).", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -742,7 +766,9 @@ "description": "A streamed item of content", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -760,7 +786,9 @@ "description": "Request to create a new terminal and execute a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Array of command arguments.", @@ -808,7 +836,9 @@ "description": "Response containing the ID of the created terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "description": "The unique identifier for the created terminal.", @@ -824,7 +854,9 @@ "description": "The current mode of the session has changed\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "currentModeId": { "allOf": [ @@ -842,7 +874,9 @@ "description": "A diff representing file modifications.\n\nShows changes to files in a format suitable for display in the client UI.\n\nSee protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls#content)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "newText": { "description": "The new content after modification.", @@ -864,7 +898,9 @@ "description": "The contents of a resource, embedded into a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -898,7 +934,9 @@ "description": "An environment variable to set when launching an MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the environment variable.", @@ -944,7 +982,9 @@ "description": "Filesystem capabilities supported by the client.\nFile system capabilities that a client may support.\n\nSee protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initialization#filesystem)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "readTextFile": { "default": false, @@ -963,7 +1003,9 @@ "description": "An HTTP header to set when making requests to the MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the HTTP header.", @@ -981,7 +1023,9 @@ "description": "An image provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -1010,7 +1054,9 @@ "description": "Metadata about the implementation of the client or agent.\nDescribes the name and version of an MCP implementation, with an optional\ntitle for UI representation.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "Intended for programmatic or logical use, but can be used as a display\nname fallback if title isn’t present.", @@ -1032,7 +1078,9 @@ "description": "Request parameters for the initialize method.\n\nSent by the client to establish connection and negotiate capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "clientCapabilities": { "allOf": [ @@ -1078,7 +1126,9 @@ "description": "Response to the `initialize` method.\n\nContains the negotiated protocol version and agent capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "agentCapabilities": { "allOf": [ @@ -1138,7 +1188,9 @@ "description": "Request to kill a terminal command without releasing the terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1162,7 +1214,9 @@ "description": "Response to terminal/kill command method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1173,7 +1227,9 @@ "description": "Request parameters for loading an existing session.\n\nOnly available if the Agent supports the `loadSession` capability.\n\nSee protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/session-setup#loading-sessions)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session.", @@ -1204,7 +1260,9 @@ "description": "Response from loading an existing session.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modes": { "anyOf": [ @@ -1226,7 +1284,9 @@ "description": "MCP capabilities supported by the agent", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "http": { "default": false, @@ -1293,7 +1353,9 @@ "description": "HTTP transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1318,7 +1380,9 @@ "description": "SSE transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1343,7 +1407,9 @@ "description": "Stdio transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Command-line arguments to pass to the MCP server.", @@ -1375,7 +1441,9 @@ "description": "Request parameters for creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session. Must be an absolute path.", @@ -1398,7 +1466,9 @@ "description": "Response from creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modes": { "anyOf": [ @@ -1429,7 +1499,9 @@ "description": "An option presented to the user when requesting permission.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "kind": { "allOf": [ @@ -1488,7 +1560,9 @@ "description": "An execution plan for accomplishing complex tasks.\n\nPlans consist of multiple entries representing individual tasks or goals.\nAgents report plans to clients to provide visibility into their execution strategy.\nPlans can evolve during execution as the agent discovers new requirements or completes tasks.\n\nSee protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-plan)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "entries": { "description": "The list of tasks to be accomplished.\n\nWhen updating a plan, the agent must send a complete list of all entries\nwith their current status. The client replaces the entire plan with each update.", @@ -1505,7 +1579,9 @@ "description": "A single entry in the execution plan.\n\nRepresents a task or goal that the assistant intends to accomplish\nas part of fulfilling the user's request.\nSee protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent-plan#plan-entries)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Human-readable description of what this task aims to accomplish.", @@ -1575,7 +1651,9 @@ "description": "Prompt capabilities supported by the agent in `session/prompt` requests.\n\nBaseline agent functionality requires support for [`ContentBlock::Text`]\nand [`ContentBlock::ResourceLink`] in prompt requests.\n\nOther variants must be explicitly opted in to.\nCapabilities for different types of content in prompt requests.\n\nIndicates which content types beyond the baseline (text and resource links)\nthe agent can process.\n\nSee protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protocol/initialization#prompt-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audio": { "default": false, @@ -1599,7 +1677,9 @@ "description": "Request parameters for sending a user prompt to the agent.\n\nContains the user's message and any additional context.\n\nSee protocol docs: [User Message](https://agentclientprotocol.com/protocol/prompt-turn#1-user-message)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "prompt": { "description": "The blocks of content that compose the user's message.\n\nAs a baseline, the Agent MUST support [`ContentBlock::Text`] and [`ContentBlock::ResourceLink`],\nwhile other variants are optionally enabled via [`PromptCapabilities`].\n\nThe Client MUST adapt its interface according to [`PromptCapabilities`].\n\nThe client MAY include referenced pieces of context as either\n[`ContentBlock::Resource`] or [`ContentBlock::ResourceLink`].\n\nWhen available, [`ContentBlock::Resource`] is preferred\nas it avoids extra round-trips and allows the message to include\npieces of context from sources the agent may not have access to.", @@ -1626,7 +1706,9 @@ "description": "Response from processing a user prompt.\n\nSee protocol docs: [Check for Completion](https://agentclientprotocol.com/protocol/prompt-turn#4-check-for-completion)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "stopReason": { "allOf": [ @@ -1653,7 +1735,9 @@ "description": "Request to read content from a text file.\n\nOnly available if the client supports the `fs.readTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "limit": { "description": "Maximum number of lines to read.", @@ -1689,7 +1773,9 @@ "description": "Response containing the contents of a text file.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "type": "string" @@ -1704,7 +1790,9 @@ "description": "Request to release a terminal and free its resources.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1728,7 +1816,9 @@ "description": "Response to terminal/release method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1789,7 +1879,9 @@ "description": "Request for user permission to execute a tool call.\n\nSent when the agent needs authorization before performing a sensitive operation.\n\nSee protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "options": { "description": "Available permission options for the user to choose from.", @@ -1824,7 +1916,9 @@ "description": "Response to a permission request.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "outcome": { "allOf": [ @@ -1844,7 +1938,9 @@ "description": "A resource that the server is capable of reading, included in a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -1888,7 +1984,9 @@ "description": "The user selected one of the provided options.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "optionId": { "allOf": [ @@ -1906,7 +2004,9 @@ "description": "Session capabilities supported by the agent.\n\nAs a baseline, all Agents **MUST** support `session/new`, `session/prompt`, `session/cancel`, and `session/update`.\n\nOptionally, they **MAY** support other session methods and notifications by specifying additional capabilities.\n\nNote: `session/load` is still handled by the top-level `load_session` capability. This will be unified in future versions of the protocol.\n\nSee protocol docs: [Session Capabilities](https://agentclientprotocol.com/protocol/initialization#session-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object" @@ -1919,7 +2019,9 @@ "description": "A mode the agent can operate in.\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "type": ["string", "null"] @@ -1942,7 +2044,9 @@ "description": "The set of modes and the one currently active.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableModes": { "description": "The set of modes that the Agent can operate in", @@ -1967,7 +2071,9 @@ "description": "Notification containing a session update from the agent.\n\nUsed to stream real-time progress and results during prompt processing.\n\nSee protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protocol/prompt-turn#3-agent-reports-output)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2131,7 +2237,9 @@ "description": "Request parameters for setting a session mode.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modeId": { "allOf": [ @@ -2158,7 +2266,10 @@ "SetSessionModeResponse": { "description": "Response to `session/set_mode` method.", "properties": { - "_meta": {} + "_meta": { + "additionalProperties": true, + "type": ["object", "null"] + } }, "type": "object", "x-method": "session/set_mode", @@ -2198,7 +2309,9 @@ "description": "Embed a terminal created with `terminal/create` by its id.\n\nThe terminal must be added before calling `terminal/release`.\n\nSee protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "type": "string" @@ -2211,7 +2324,9 @@ "description": "Exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2230,7 +2345,9 @@ "description": "Request to get the current output and status of a terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2254,7 +2371,9 @@ "description": "Response containing the terminal output and exit status.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitStatus": { "anyOf": [ @@ -2285,7 +2404,9 @@ "description": "Text provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -2308,7 +2429,9 @@ "description": "Text-based resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "mimeType": { "type": ["string", "null"] @@ -2327,7 +2450,9 @@ "description": "Represents a tool call that the language model has requested.\n\nTool calls are actions that the agent executes on behalf of the language model,\nsuch as reading files, executing code, or fetching data from external sources.\n\nSee protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-calls)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Content produced by the tool call.", @@ -2445,7 +2570,9 @@ "description": "A file location being accessed or modified by a tool.\n\nEnables clients to implement \"follow-along\" features that track\nwhich files the agent is working with in real-time.\n\nSee protocol docs: [Following the Agent](https://agentclientprotocol.com/protocol/tool-calls#following-the-agent)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "line": { "description": "Optional line number within the file.", @@ -2490,7 +2617,9 @@ "description": "An update to an existing tool call.\n\nUsed to report progress and results as tools execute. All fields except\nthe tool call ID are optional - only changed fields need to be included.\n\nSee protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-calls#updating)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Replace the content collection.", @@ -2609,7 +2738,9 @@ "description": "All text that was typed after the command name is provided as input.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "hint": { "description": "A hint to display when the input hasn't been provided yet", @@ -2623,7 +2754,9 @@ "description": "Request to wait for a terminal command to exit.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2647,7 +2780,9 @@ "description": "Response containing the exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2668,7 +2803,9 @@ "description": "Request to write content to a text file.\n\nOnly available if the client supports the `fs.writeTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "The text content to write to the file.", @@ -2696,7 +2833,9 @@ "description": "Response to `fs/write_text_file`", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", diff --git a/schema/schema.unstable.json b/schema/schema.unstable.json index e75bbb54..17857232 100644 --- a/schema/schema.unstable.json +++ b/schema/schema.unstable.json @@ -4,7 +4,9 @@ "description": "Capabilities supported by the agent.\n\nAdvertised during initialization to inform the client about\navailable features and content types.\n\nSee protocol docs: [Agent Capabilities](https://agentclientprotocol.com/protocol/initialization#agent-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "loadSession": { "default": false, @@ -244,7 +246,9 @@ "description": "Optional annotations for the client. The client can use annotations to inform how objects are used or displayed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audience": { "items": { @@ -266,7 +270,9 @@ "description": "Audio provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -292,7 +298,9 @@ "description": "Describes an available authentication method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Optional description providing more details about this authentication method.", @@ -314,7 +322,9 @@ "description": "Request parameters for the authenticate method.\n\nSpecifies which authentication method to use.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "methodId": { "description": "The ID of the authentication method to use.\nMust be one of the methods advertised in the initialize response.", @@ -330,7 +340,9 @@ "description": "Response to the `authenticate` method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -341,7 +353,9 @@ "description": "Information about a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Human-readable description of what the command does.", @@ -383,7 +397,9 @@ "description": "Available commands are ready or have changed", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableCommands": { "description": "Commands the agent can execute", @@ -400,7 +416,9 @@ "description": "Binary resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "blob": { "type": "string" @@ -419,7 +437,9 @@ "description": "Notification to cancel ongoing operations for a session.\n\nSee protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/prompt-turn#cancellation)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -439,7 +459,9 @@ "description": "Capabilities supported by the client.\n\nAdvertised during initialization to inform the agent about\navailable features and methods.\n\nSee protocol docs: [Client Capabilities](https://agentclientprotocol.com/protocol/initialization#client-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "fs": { "allOf": [ @@ -658,7 +680,9 @@ "description": "Standard content block (text, images, resources).", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -764,7 +788,9 @@ "description": "A streamed item of content", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "allOf": [ @@ -782,7 +808,9 @@ "description": "Request to create a new terminal and execute a command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Array of command arguments.", @@ -830,7 +858,9 @@ "description": "Response containing the ID of the created terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "description": "The unique identifier for the created terminal.", @@ -846,7 +876,9 @@ "description": "The current mode of the session has changed\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "currentModeId": { "allOf": [ @@ -864,7 +896,9 @@ "description": "A diff representing file modifications.\n\nShows changes to files in a format suitable for display in the client UI.\n\nSee protocol docs: [Content](https://agentclientprotocol.com/protocol/tool-calls#content)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "newText": { "description": "The new content after modification.", @@ -886,7 +920,9 @@ "description": "The contents of a resource, embedded into a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -920,7 +956,9 @@ "description": "An environment variable to set when launching an MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the environment variable.", @@ -966,7 +1004,9 @@ "description": "Filesystem capabilities supported by the client.\nFile system capabilities that a client may support.\n\nSee protocol docs: [FileSystem](https://agentclientprotocol.com/protocol/initialization#filesystem)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "readTextFile": { "default": false, @@ -985,7 +1025,9 @@ "description": "An HTTP header to set when making requests to the MCP server.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "The name of the HTTP header.", @@ -1003,7 +1045,9 @@ "description": "An image provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -1032,7 +1076,9 @@ "description": "Metadata about the implementation of the client or agent.\nDescribes the name and version of an MCP implementation, with an optional\ntitle for UI representation.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "name": { "description": "Intended for programmatic or logical use, but can be used as a display\nname fallback if title isn’t present.", @@ -1054,7 +1100,9 @@ "description": "Request parameters for the initialize method.\n\nSent by the client to establish connection and negotiate capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "clientCapabilities": { "allOf": [ @@ -1100,7 +1148,9 @@ "description": "Response to the `initialize` method.\n\nContains the negotiated protocol version and agent capabilities.\n\nSee protocol docs: [Initialization](https://agentclientprotocol.com/protocol/initialization)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "agentCapabilities": { "allOf": [ @@ -1160,7 +1210,9 @@ "description": "Request to kill a terminal command without releasing the terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1184,7 +1236,9 @@ "description": "Response to terminal/kill command method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1195,7 +1249,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nRequest parameters for listing existing sessions.\n\nOnly available if the Agent supports the `listSessions` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cursor": { "description": "Opaque cursor token from a previous response's nextCursor field for cursor-based pagination", @@ -1214,7 +1270,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nResponse from listing sessions.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "nextCursor": { "description": "Opaque cursor token. If present, pass this in the next request's cursor parameter\nto fetch the next page. If absent, there are no more results.", @@ -1237,7 +1295,9 @@ "description": "Request parameters for loading an existing session.\n\nOnly available if the Agent supports the `loadSession` capability.\n\nSee protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/session-setup#loading-sessions)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session.", @@ -1268,7 +1328,9 @@ "description": "Response from loading an existing session.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "models": { "anyOf": [ @@ -1301,7 +1363,9 @@ "description": "MCP capabilities supported by the agent", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "http": { "default": false, @@ -1368,7 +1432,9 @@ "description": "HTTP transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1393,7 +1459,9 @@ "description": "SSE transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "headers": { "description": "HTTP headers to set when making requests to the MCP server.", @@ -1418,7 +1486,9 @@ "description": "Stdio transport configuration for MCP.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "args": { "description": "Command-line arguments to pass to the MCP server.", @@ -1454,7 +1524,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nInformation about a selectable model.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "description": "Optional description of the model.", @@ -1480,7 +1552,9 @@ "description": "Request parameters for creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session. Must be an absolute path.", @@ -1503,7 +1577,9 @@ "description": "Response from creating a new session.\n\nSee protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "models": { "anyOf": [ @@ -1545,7 +1621,9 @@ "description": "An option presented to the user when requesting permission.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "kind": { "allOf": [ @@ -1604,7 +1682,9 @@ "description": "An execution plan for accomplishing complex tasks.\n\nPlans consist of multiple entries representing individual tasks or goals.\nAgents report plans to clients to provide visibility into their execution strategy.\nPlans can evolve during execution as the agent discovers new requirements or completes tasks.\n\nSee protocol docs: [Agent Plan](https://agentclientprotocol.com/protocol/agent-plan)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "entries": { "description": "The list of tasks to be accomplished.\n\nWhen updating a plan, the agent must send a complete list of all entries\nwith their current status. The client replaces the entire plan with each update.", @@ -1621,7 +1701,9 @@ "description": "A single entry in the execution plan.\n\nRepresents a task or goal that the assistant intends to accomplish\nas part of fulfilling the user's request.\nSee protocol docs: [Plan Entries](https://agentclientprotocol.com/protocol/agent-plan#plan-entries)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Human-readable description of what this task aims to accomplish.", @@ -1691,7 +1773,9 @@ "description": "Prompt capabilities supported by the agent in `session/prompt` requests.\n\nBaseline agent functionality requires support for [`ContentBlock::Text`]\nand [`ContentBlock::ResourceLink`] in prompt requests.\n\nOther variants must be explicitly opted in to.\nCapabilities for different types of content in prompt requests.\n\nIndicates which content types beyond the baseline (text and resource links)\nthe agent can process.\n\nSee protocol docs: [Prompt Capabilities](https://agentclientprotocol.com/protocol/initialization#prompt-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "audio": { "default": false, @@ -1715,7 +1799,9 @@ "description": "Request parameters for sending a user prompt to the agent.\n\nContains the user's message and any additional context.\n\nSee protocol docs: [User Message](https://agentclientprotocol.com/protocol/prompt-turn#1-user-message)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "prompt": { "description": "The blocks of content that compose the user's message.\n\nAs a baseline, the Agent MUST support [`ContentBlock::Text`] and [`ContentBlock::ResourceLink`],\nwhile other variants are optionally enabled via [`PromptCapabilities`].\n\nThe Client MUST adapt its interface according to [`PromptCapabilities`].\n\nThe client MAY include referenced pieces of context as either\n[`ContentBlock::Resource`] or [`ContentBlock::ResourceLink`].\n\nWhen available, [`ContentBlock::Resource`] is preferred\nas it avoids extra round-trips and allows the message to include\npieces of context from sources the agent may not have access to.", @@ -1742,7 +1828,9 @@ "description": "Response from processing a user prompt.\n\nSee protocol docs: [Check for Completion](https://agentclientprotocol.com/protocol/prompt-turn#4-check-for-completion)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "stopReason": { "allOf": [ @@ -1769,7 +1857,9 @@ "description": "Request to read content from a text file.\n\nOnly available if the client supports the `fs.readTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "limit": { "description": "Maximum number of lines to read.", @@ -1805,7 +1895,9 @@ "description": "Response containing the contents of a text file.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "type": "string" @@ -1820,7 +1912,9 @@ "description": "Request to release a terminal and free its resources.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -1844,7 +1938,9 @@ "description": "Response to terminal/release method", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -1905,7 +2001,9 @@ "description": "Request for user permission to execute a tool call.\n\nSent when the agent needs authorization before performing a sensitive operation.\n\nSee protocol docs: [Requesting Permission](https://agentclientprotocol.com/protocol/tool-calls#requesting-permission)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "options": { "description": "Available permission options for the user to choose from.", @@ -1940,7 +2038,9 @@ "description": "Response to a permission request.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "outcome": { "allOf": [ @@ -1960,7 +2060,9 @@ "description": "A resource that the server is capable of reading, included in a prompt or tool call result.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -2004,7 +2106,9 @@ "description": "The user selected one of the provided options.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "optionId": { "allOf": [ @@ -2022,7 +2126,9 @@ "description": "Session capabilities supported by the agent.\n\nAs a baseline, all Agents **MUST** support `session/new`, `session/prompt`, `session/cancel`, and `session/update`.\n\nOptionally, they **MAY** support other session methods and notifications by specifying additional capabilities.\n\nNote: `session/load` is still handled by the top-level `load_session` capability. This will be unified in future versions of the protocol.\n\nSee protocol docs: [Session Capabilities](https://agentclientprotocol.com/protocol/initialization#session-capabilities)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "list": { "anyOf": [ @@ -2046,7 +2152,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nInformation about a session returned by session/list", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "cwd": { "description": "The working directory for this session. Must be an absolute path.", @@ -2076,7 +2184,9 @@ "description": "Capabilities for the `session/list` method.\n\nBy supplying `{}` it means that the agent supports listing of sessions.\n\nFurther capabilities can be added in the future for other means of filtering or searching the list.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object" @@ -2085,7 +2195,9 @@ "description": "A mode the agent can operate in.\n\nSee protocol docs: [Session Modes](https://agentclientprotocol.com/protocol/session-modes)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "description": { "type": ["string", "null"] @@ -2108,7 +2220,9 @@ "description": "The set of modes and the one currently active.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableModes": { "description": "The set of modes that the Agent can operate in", @@ -2133,7 +2247,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe set of models and the one currently active.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "availableModels": { "description": "The set of models that the Agent can use", @@ -2158,7 +2274,9 @@ "description": "Notification containing a session update from the agent.\n\nUsed to stream real-time progress and results during prompt processing.\n\nSee protocol docs: [Agent Reports Output](https://agentclientprotocol.com/protocol/prompt-turn#3-agent-reports-output)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2322,7 +2440,9 @@ "description": "Request parameters for setting a session mode.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modeId": { "allOf": [ @@ -2349,7 +2469,10 @@ "SetSessionModeResponse": { "description": "Response to `session/set_mode` method.", "properties": { - "_meta": {} + "_meta": { + "additionalProperties": true, + "type": ["object", "null"] + } }, "type": "object", "x-method": "session/set_mode", @@ -2359,7 +2482,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nRequest parameters for setting a session model.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "modelId": { "allOf": [ @@ -2387,7 +2512,9 @@ "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nResponse to `session/set_model` method.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object", @@ -2428,7 +2555,9 @@ "description": "Embed a terminal created with `terminal/create` by its id.\n\nThe terminal must be added before calling `terminal/release`.\n\nSee protocol docs: [Terminal](https://agentclientprotocol.com/protocol/terminals)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "terminalId": { "type": "string" @@ -2441,7 +2570,9 @@ "description": "Exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2460,7 +2591,9 @@ "description": "Request to get the current output and status of a terminal.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2484,7 +2617,9 @@ "description": "Response containing the terminal output and exit status.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitStatus": { "anyOf": [ @@ -2515,7 +2650,9 @@ "description": "Text provided to or from an LLM.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "annotations": { "anyOf": [ @@ -2538,7 +2675,9 @@ "description": "Text-based resource contents.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "mimeType": { "type": ["string", "null"] @@ -2557,7 +2696,9 @@ "description": "Represents a tool call that the language model has requested.\n\nTool calls are actions that the agent executes on behalf of the language model,\nsuch as reading files, executing code, or fetching data from external sources.\n\nSee protocol docs: [Tool Calls](https://agentclientprotocol.com/protocol/tool-calls)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Content produced by the tool call.", @@ -2675,7 +2816,9 @@ "description": "A file location being accessed or modified by a tool.\n\nEnables clients to implement \"follow-along\" features that track\nwhich files the agent is working with in real-time.\n\nSee protocol docs: [Following the Agent](https://agentclientprotocol.com/protocol/tool-calls#following-the-agent)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "line": { "description": "Optional line number within the file.", @@ -2720,7 +2863,9 @@ "description": "An update to an existing tool call.\n\nUsed to report progress and results as tools execute. All fields except\nthe tool call ID are optional - only changed fields need to be included.\n\nSee protocol docs: [Updating](https://agentclientprotocol.com/protocol/tool-calls#updating)", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "Replace the content collection.", @@ -2839,7 +2984,9 @@ "description": "All text that was typed after the command name is provided as input.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "hint": { "description": "A hint to display when the input hasn't been provided yet", @@ -2853,7 +3000,9 @@ "description": "Request to wait for a terminal command to exit.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "sessionId": { "allOf": [ @@ -2877,7 +3026,9 @@ "description": "Response containing the exit status of a terminal command.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "exitCode": { "description": "The process exit code (may be null if terminated by signal).", @@ -2898,7 +3049,9 @@ "description": "Request to write content to a text file.\n\nOnly available if the client supports the `fs.writeTextFile` capability.", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] }, "content": { "description": "The text content to write to the file.", @@ -2926,7 +3079,9 @@ "description": "Response to `fs/write_text_file`", "properties": { "_meta": { - "description": "Extension point for implementations" + "additionalProperties": true, + "description": "The _meta property is reserved by ACP to allow clients and agents to attach additional\nmetadata to their interactions. Implementations MUST NOT make assumptions about values at\nthese keys.\n\nSee protocol docs: [Extensibility](https://agentclientprotocol.com/protocol/extensibility)", + "type": ["object", "null"] } }, "type": "object",