You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit aa3cca0
Browse filesBrowse the repository at this point in the historyBrowse files
docs: reconcile stable and draft protocol pages (#2541)
* docs: reconcile stable and draft protocol pages and check them in CI
The stable and draft copies of each protocol page had drifted:
clarifications for stable features existed only in the draft, and some
stable text was missing from the draft.
Reconciled (v1 and v2):
- Backported to stable: the tool `name` description, the auth-flow and
notice bullets in the overviews, the notice and compaction fallback
sentences, the terminal-auth initialize example, the model_config
context_size example, v1 session-setup notes, and the v1 file-system
roots note.
- Forwarded to draft: the v1 Conventions section and Message IDs
heading, the v2 extension-capabilities sentence, and the current
cancellation wording.
- Fixed v2 links to initialization#prompt-capabilities, which is
#session-prompt-capabilities.
scripts/check_draft_docs.py compares each pair after normalizing link
prefixes, wrapping and table padding, and checks the remaining
differences against a committed baseline in scripts/draft-differences/.
It runs in npm run check and CI.
* docs: drop the draft docs CI check, keep the reconciliation
Copy file name to clipboardExpand all lines: docs/protocol/v1/draft/cancellation.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ The JSON-RPC specification doesn't define any standard mechanism for request can
11
11
12
12
In order to provide a consistent approach to cancellation, ACP defines a `$/cancel_request` notification that can be sent to cancel requests.
13
13
14
-
Cancellation will remain optional as it might not be implementable in all clients or servers. For example if the implementation uses a single threaded synchronous programming language then there is little it can do to react to a `$/cancel_request` notification.
14
+
Cancellation remains optional as it might not be implementable in all clients or servers. For example if the implementation uses a single threaded synchronous programming language then there is little it can do to react to a `$/cancel_request` notification.
15
15
16
16
When a `$/cancel_request` notification is received by a supporting implementation, the implementation:
17
17
@@ -23,7 +23,7 @@ When a `$/cancel_request` notification is received by a supporting implementatio
23
23
24
24
The calling side **MAY** implement graceful cancellation processing by waiting for the response from the remote side.
25
25
26
-
Cancellation **MAY** also be done explicitly on a per-feature basis within the protocol to cover specific scenarios (e.g., cancellation of a [prompt turn](/protocol/v1/draft/prompt-turn#cancellation))
26
+
Cancellation **MAY** also be done explicitly on a per-feature basis within the protocol to cover specific scenarios, such as cancellation of a [prompt turn](/protocol/v1/draft/prompt-turn#cancellation).
Copy file name to clipboardExpand all lines: docs/protocol/v1/draft/overview.mdx
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -240,6 +240,10 @@ All methods follow standard JSON-RPC 2.0 [error handling](https://www.jsonrpc.or
240
240
241
241
See [Errors](/protocol/v1/draft/error) for the error codes ACP uses and when to use them.
242
242
243
+
## Conventions
244
+
245
+
Unless explicitly defined otherwise in the schema, ACP-defined JSON object property keys use `camelCase`. String values carried by discriminator fields use `snake_case`. The JSON-RPC envelope fields (`jsonrpc`, `id`, `method`, `params`, `result`, and `error`) follow the JSON-RPC 2.0 specification.
246
+
243
247
## Extensibility
244
248
245
249
The protocol provides built-in mechanisms for adding custom functionality while maintaining compatibility:
Copy file name to clipboardExpand all lines: docs/protocol/v1/draft/prompt-turn.mdx
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -261,6 +261,8 @@ The Agent then reports text responses from the model:
261
261
}
262
262
```
263
263
264
+
#### Message IDs
265
+
264
266
The Agent **MAY** include an opaque, unique `messageId` on message chunks. Chunks with the same `messageId` belong to the same message; a changed `messageId` indicates a new message.
265
267
266
268
If the model requested tool calls, these are also reported immediately:
Copy file name to clipboardExpand all lines: docs/protocol/v1/session-config-options.mdx
+52-1Lines changed: 52 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Session Config Options"
3
3
description: "Flexible configuration selectors for agent sessions"
4
4
---
5
5
6
-
Agents can provide an arbitrary list of configuration options for a session, allowing Clients to offer users customizable selectors for things like models, modes, reasoning levels, and more.
6
+
Agents can provide an arbitrary list of configuration options for a session, allowing Clients to offer users customizable selectors for things like models, model parameters, modes, reasoning levels, and more.
7
7
8
8
<Info>
9
9
Session Config Options are the preferred way to expose session-level
@@ -61,6 +61,23 @@ During [Session Setup](/protocol/v1/session-setup) the Agent **MAY** return a li
61
61
"description": "The most powerful model"
62
62
}
63
63
]
64
+
},
65
+
{
66
+
"id": "context_size",
67
+
"name": "Context Size",
68
+
"category": "model_config",
69
+
"type": "select",
70
+
"currentValue": "200k",
71
+
"options": [
72
+
{
73
+
"value": "200k",
74
+
"name": "200K"
75
+
},
76
+
{
77
+
"value": "1m",
78
+
"name": "1M"
79
+
}
80
+
]
64
81
}
65
82
]
66
83
}
@@ -327,6 +344,23 @@ The Agent **MUST** respond with the complete list of all configuration options a
327
344
"description": "The most powerful model"
328
345
}
329
346
]
347
+
},
348
+
{
349
+
"id": "context_size",
350
+
"name": "Context Size",
351
+
"category": "model_config",
352
+
"type": "select",
353
+
"currentValue": "200k",
354
+
"options": [
355
+
{
356
+
"value": "200k",
357
+
"name": "200K"
358
+
},
359
+
{
360
+
"value": "1m",
361
+
"name": "1M"
362
+
}
363
+
]
330
364
}
331
365
]
332
366
}
@@ -391,6 +425,23 @@ The Agent can also change configuration options and notify the Client by sending
Copy file name to clipboardExpand all lines: docs/protocol/v1/session-setup.mdx
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@ Sessions represent a specific conversation or thread between the [Client](/proto
7
7
8
8
Before creating a session, Clients **MUST** first complete the [initialization](/protocol/v1/initialization) phase to establish protocol compatibility and capabilities.
9
9
10
+
If the Agent requires authentication, `session/new` may fail with an `auth_required` error until the Client completes the [authentication flow](/protocol/v1/authentication).
11
+
10
12
<br />
11
13
12
14
```mermaid
@@ -82,7 +84,7 @@ The Agent **MUST** respond with a unique [Session ID](#session-id) that identifi
82
84
83
85
## Loading Sessions
84
86
85
-
Agents that support the `loadSession` capability allow Clients to resume previous conversations. This feature enables persistence across restarts and sharing sessions between different Client instances.
87
+
Agents that support the `loadSession` capability allow Clients to resume previous conversations with history replay. This feature enables persistence across restarts and sharing sessions between different Client instances.
86
88
87
89
### Checking Support
88
90
@@ -196,6 +198,8 @@ When **all** the conversation entries have been streamed to the Client, the Agen
196
198
}
197
199
```
198
200
201
+
The response **MAY** also include initial mode, model, or session configuration state when those features are supported by the Agent.
202
+
199
203
The Client can then continue sending prompts as if the session was never interrupted.
0 commit comments