|
1025 | 1025 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nNES (Next Edit Suggestions) capabilities supported by the client.", |
1026 | 1026 | "x-deserialize-default-on-error": true |
1027 | 1027 | }, |
1028 | | - "planCapabilities": { |
| 1028 | + "plan": { |
1029 | 1029 | "anyOf": [ |
1030 | 1030 | { |
1031 | 1031 | "$ref": "#/$defs/PlanCapabilities" |
|
1312 | 1312 | "$ref": "#/$defs/DeleteSessionRequest" |
1313 | 1313 | } |
1314 | 1314 | ], |
1315 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nDeletes an existing session from `session/list`.\n\nThis method is only available if the agent advertises the `sessionCapabilities.delete` capability.", |
| 1315 | + "description": "Deletes an existing session from `session/list`.\n\nThis method is only available if the agent advertises the `sessionCapabilities.delete` capability.", |
1316 | 1316 | "title": "DeleteSessionRequest" |
1317 | 1317 | }, |
1318 | 1318 | { |
|
1846 | 1846 | "description": "A single item of content" |
1847 | 1847 | }, |
1848 | 1848 | "messageId": { |
1849 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nA unique identifier for the message this chunk belongs to.\n\nAll chunks belonging to the same message share the same `messageId`.\nA change in `messageId` indicates a new message has started.\nBoth clients and agents MUST use UUID format for message IDs.", |
1850 | | - "type": ["string", "null"] |
| 1849 | + "anyOf": [ |
| 1850 | + { |
| 1851 | + "$ref": "#/$defs/MessageId" |
| 1852 | + }, |
| 1853 | + { |
| 1854 | + "type": "null" |
| 1855 | + } |
| 1856 | + ], |
| 1857 | + "description": "A unique identifier for the message this chunk belongs to.\n\nAll chunks belonging to the same message share the same `messageId`.\nA change in `messageId` indicates a new message has started." |
1851 | 1858 | } |
1852 | 1859 | }, |
1853 | 1860 | "required": ["content"], |
1854 | 1861 | "type": "object" |
1855 | 1862 | }, |
1856 | 1863 | "Cost": { |
1857 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nCost information for a session.", |
| 1864 | + "description": "Cost information for a session.", |
1858 | 1865 | "properties": { |
1859 | 1866 | "amount": { |
1860 | 1867 | "description": "Total cumulative cost for session.", |
|
2069 | 2076 | "type": "object" |
2070 | 2077 | }, |
2071 | 2078 | "DeleteSessionRequest": { |
2072 | | - "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 deleting an existing session from `session/list`.\n\nOnly available if the Agent supports the `sessionCapabilities.delete` capability.", |
| 2079 | + "description": "Request parameters for deleting an existing session from `session/list`.\n\nOnly available if the Agent supports the `sessionCapabilities.delete` capability.", |
2073 | 2080 | "properties": { |
2074 | 2081 | "_meta": { |
2075 | 2082 | "additionalProperties": true, |
|
2091 | 2098 | "x-side": "agent" |
2092 | 2099 | }, |
2093 | 2100 | "DeleteSessionResponse": { |
2094 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nResponse from deleting a session.", |
| 2101 | + "description": "Response from deleting a session.", |
2095 | 2102 | "properties": { |
2096 | 2103 | "_meta": { |
2097 | 2104 | "additionalProperties": true, |
|
3726 | 3733 | "required": ["name", "command", "args", "env"], |
3727 | 3734 | "type": "object" |
3728 | 3735 | }, |
| 3736 | + "MessageId": { |
| 3737 | + "description": "Unique identifier for a message within a session.", |
| 3738 | + "type": "string" |
| 3739 | + }, |
3729 | 3740 | "MessageMcpNotification": { |
3730 | 3741 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nNotification parameters for `mcp/message`.\n\nThis is used when the wrapped MCP message is a notification and the outer JSON-RPC\nenvelope has no `id`.", |
3731 | 3742 | "properties": { |
|
5295 | 5306 | "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)", |
5296 | 5307 | "type": ["object", "null"] |
5297 | 5308 | }, |
5298 | | - "messageId": { |
5299 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nA client-generated unique identifier for this user message.\n\nIf provided, the Agent SHOULD echo this value as `userMessageId` in the\n[`PromptResponse`] to confirm it was recorded.\nBoth clients and agents MUST use UUID format for message IDs.", |
5300 | | - "type": ["string", "null"] |
5301 | | - }, |
5302 | 5309 | "prompt": { |
5303 | 5310 | "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.", |
5304 | 5311 | "items": { |
|
5347 | 5354 | ], |
5348 | 5355 | "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nToken usage for this turn (optional).", |
5349 | 5356 | "x-deserialize-default-on-error": true |
5350 | | - }, |
5351 | | - "userMessageId": { |
5352 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nThe acknowledged user message ID.\n\nIf the client provided a `messageId` in the [`PromptRequest`], the agent echoes it here\nto confirm it was recorded. If the client did not provide one, the agent MAY assign one\nand return it here. Absence of this field indicates the agent did not record a message ID.", |
5353 | | - "type": ["string", "null"] |
5354 | 5357 | } |
5355 | 5358 | }, |
5356 | 5359 | "required": ["stopReason"], |
|
5895 | 5898 | "type": "null" |
5896 | 5899 | } |
5897 | 5900 | ], |
5898 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nWhether the agent supports `session/delete`.\n\nOptional. Omitted or `null` both mean the agent does not advertise support.\nSupplying `{}` means the agent supports deleting sessions from `session/list`.", |
| 5901 | + "description": "Whether the agent supports `session/delete`.\n\nOptional. Omitted or `null` both mean the agent does not advertise support.\nSupplying `{}` means the agent supports deleting sessions from `session/list`.", |
5899 | 5902 | "x-deserialize-default-on-error": true |
5900 | 5903 | }, |
5901 | 5904 | "fork": { |
|
6177 | 6180 | "type": "string" |
6178 | 6181 | }, |
6179 | 6182 | "SessionDeleteCapabilities": { |
6180 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nCapabilities for the `session/delete` method.\n\nSupplying `{}` means the agent supports deleting sessions from `session/list`.", |
| 6183 | + "description": "Capabilities for the `session/delete` method.\n\nSupplying `{}` means the agent supports deleting sessions from `session/list`.", |
6181 | 6184 | "properties": { |
6182 | 6185 | "_meta": { |
6183 | 6186 | "additionalProperties": true, |
|
6572 | 6575 | "$ref": "#/$defs/UsageUpdate" |
6573 | 6576 | } |
6574 | 6577 | ], |
6575 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nContext window and cost update for the session.", |
| 6578 | + "description": "Context window and cost update for the session.", |
6576 | 6579 | "properties": { |
6577 | 6580 | "sessionUpdate": { |
6578 | 6581 | "const": "usage_update", |
|
7604 | 7607 | "type": "object" |
7605 | 7608 | }, |
7606 | 7609 | "UsageUpdate": { |
7607 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or changed at any point.\n\nContext window and cost update for a session.", |
| 7610 | + "description": "Context window and cost update for a session.", |
7608 | 7611 | "properties": { |
7609 | 7612 | "_meta": { |
7610 | 7613 | "additionalProperties": true, |
|
7826 | 7829 | "type": "object" |
7827 | 7830 | }, |
7828 | 7831 | { |
7829 | | - "anyOf": [ |
7830 | | - { |
7831 | | - "allOf": [ |
| 7832 | + "description": "A message (request, response, or notification) with `\"jsonrpc\": \"2.0\"` specified as\n[required by JSON-RPC 2.0 Specification][1].\n\n[1]: https://www.jsonrpc.org/specification#compatibility", |
| 7833 | + "properties": { |
| 7834 | + "jsonrpc": { |
| 7835 | + "enum": ["2.0"], |
| 7836 | + "type": "string" |
| 7837 | + }, |
| 7838 | + "method": { |
| 7839 | + "type": "string" |
| 7840 | + }, |
| 7841 | + "params": { |
| 7842 | + "anyOf": [ |
7832 | 7843 | { |
7833 | | - "$ref": "#/$defs/CancelRequestNotification" |
| 7844 | + "anyOf": [ |
| 7845 | + { |
| 7846 | + "allOf": [ |
| 7847 | + { |
| 7848 | + "$ref": "#/$defs/CancelRequestNotification" |
| 7849 | + } |
| 7850 | + ], |
| 7851 | + "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or\nchanged at any point.\n\nCancels an ongoing request.\n\nThis is a notification sent by the side that sent a request to cancel that request.\n\nUpon receiving this notification, the receiver:\n\n1. MUST cancel the corresponding request activity and all nested activities\n2. MAY send any pending notifications.\n3. MUST send one of these responses for the original request:\n - Valid response with appropriate data (partial results or cancellation marker)\n - Error response with code `-32800` (Cancelled)\n\nSee protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/cancellation)", |
| 7852 | + "title": "CancelRequestNotification" |
| 7853 | + } |
| 7854 | + ], |
| 7855 | + "description": "General protocol-level notifications that all sides are expected to\nimplement.\n\nNotifications whose methods start with '$/' are messages which\nare protocol implementation dependent and might not be implementable in all\nclients or agents. For example if the implementation uses a single threaded\nsynchronous programming language then there is little it can do to react to\na `$/cancel_request` notification. If an agent or client receives\nnotifications starting with '$/' it is free to ignore the notification.\n\nNotifications do not expect a response." |
| 7856 | + }, |
| 7857 | + { |
| 7858 | + "type": "null" |
7834 | 7859 | } |
7835 | | - ], |
7836 | | - "description": "**UNSTABLE**\n\nThis capability is not part of the spec yet, and may be removed or\nchanged at any point.\n\nCancels an ongoing request.\n\nThis is a notification sent by the side that sent a request to cancel that request.\n\nUpon receiving this notification, the receiver:\n\n1. MUST cancel the corresponding request activity and all nested activities\n2. MAY send any pending notifications.\n3. MUST send one of these responses for the original request:\n - Valid response with appropriate data (partial results or cancellation marker)\n - Error response with code `-32800` (Cancelled)\n\nSee protocol docs: [Cancellation](https://agentclientprotocol.com/protocol/cancellation)", |
7837 | | - "title": "CancelRequestNotification" |
| 7860 | + ] |
7838 | 7861 | } |
7839 | | - ], |
7840 | | - "description": "General protocol-level notifications that all sides are expected to\nimplement.\n\nNotifications whose methods start with '$/' are messages which\nare protocol implementation dependent and might not be implementable in all\nclients or agents. For example if the implementation uses a single threaded\nsynchronous programming language then there is little it can do to react to\na `$/cancel_request` notification. If an agent or client receives\nnotifications starting with '$/' it is free to ignore the notification.\n\nNotifications do not expect a response.", |
7841 | | - "title": "ProtocolLevel" |
| 7862 | + }, |
| 7863 | + "required": ["jsonrpc", "method"], |
| 7864 | + "title": "ProtocolLevel", |
| 7865 | + "type": "object", |
| 7866 | + "x-docs-ignore": true |
7842 | 7867 | } |
7843 | 7868 | ], |
7844 | 7869 | "title": "Agent Client Protocol" |
|
0 commit comments