Skip to content

Commit b6dc5df

Browse files
Nick Ficanoclaude
andcommitted
chore: align ARCP wire protocol version with v1.1
Bumps PROTOCOL_VERSION to "1.1" and refreshes the version.ts comments to describe the literal value carried by the envelope. Updates source- file headers, conformance docs, README badge/lede/wire-format table, example READMEs, and inline wire-format snippets in the guides and packages docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 1b82b9c commit b6dc5df

33 files changed

Lines changed: 56 additions & 57 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12-
- Initial reference SDK release aligned with ARCP protocol v1.0 (see README status).
12+
- Initial reference SDK release aligned with ARCP protocol v1.1 (see README status).

CONFORMANCE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ new v1.1 subsections appear after them.
2323

2424
| Requirement | Status | Location |
2525
| --------------------------------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------- |
26-
| §5.1 `arcp` field, REQUIRED, MUST be `"1"` (unchanged in v1.1) | Implemented | `packages/core/src/version.ts:PROTOCOL_VERSION = "1"`; `packages/core/src/envelope.ts` rejects other values |
26+
| §5.1 `arcp` field, REQUIRED, MUST be `"1.1"` | Implemented | `packages/core/src/version.ts:PROTOCOL_VERSION = "1.1"`; `packages/core/src/envelope.ts` rejects other values |
2727
| §5.1 `id` REQUIRED, ULID/UUIDv7 | Implemented | `packages/core/src/util/ulid.ts`; emitted by `buildEnvelope` |
2828
| §5.1 `type` REQUIRED | Implemented | `packages/core/src/envelope.ts` |
2929
| §5.1 `session_id` REQUIRED on post-welcome envelopes | Implemented | Per-message schemas in `packages/core/src/messages/{session,execution}.ts` |

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
44
[![Node](https://img.shields.io/badge/node-%E2%89%A522-brightgreen.svg)](#)
5-
[![ARCP](https://img.shields.io/badge/arcp-v1.0-orange.svg)](../spec/docs/draft-arcp-02.md)
5+
[![ARCP](https://img.shields.io/badge/arcp-v1.1-orange.svg)](../spec/docs/draft-arcp-02.md)
66

7-
Reference implementation of [ARCP v1.0](../spec/docs/draft-arcp-02.md), the
7+
Reference implementation of [ARCP v1.1](../spec/docs/draft-arcp-02.md), the
88
Agent Runtime Control Protocol — a small wire protocol for letting an
99
agent talk to the runtime that hosts it. ARCP is intentionally narrow:
1010
sessions, jobs, immutable per-job leases, a single event stream with
@@ -115,7 +115,7 @@ Every message on the wire is a JSON object with these required fields:
115115

116116
| Field | Meaning |
117117
| ------------ | ---------------------------------------------------------------------------------- |
118-
| `arcp` | Protocol version. v1.0 is the literal string `"1"`. |
118+
| `arcp` | Protocol version. v1.1 is the literal string `"1.1"`. |
119119
| `id` | Unique message id (ULID/UUIDv7). |
120120
| `type` | Message type discriminator (e.g., `"job.submit"`). |
121121
| `session_id` | REQUIRED on every envelope after `session.welcome`. |
@@ -327,7 +327,7 @@ await client.close();
327327

328328
## Conformance
329329

330-
The SDK is intended to be 100% conforming to ARCP v1.0. Section-by-section
330+
The SDK is intended to be 100% conforming to ARCP v1.1. Section-by-section
331331
status lives in [`CONFORMANCE.md`](./CONFORMANCE.md).
332332

333333
Spec sections implemented:
@@ -350,7 +350,7 @@ Twenty-three end-to-end examples, each a `server.ts` + `client.ts`
350350
pair that talks over a real `Transport`. See
351351
[`examples/README.md`](./examples/README.md):
352352

353-
v1.0 core:
353+
Core:
354354

355355
| Example | Spec |
356356
| -------------------- | ----------------- |
@@ -402,7 +402,7 @@ packages/
402402
hono/ # @arcp/hono
403403
bun/ # @arcp/bun
404404
otel/ # @arcp/middleware-otel
405-
examples/ # Twenty-three runnable two-process demos (v1.0 + v1.1 + host integrations)
405+
examples/ # Twenty-three runnable two-process demos (v1.1 + host integrations)
406406
diagrams/ # Graphviz .dot sources + rendered light/dark SVGs (see diagrams/README.md)
407407
```
408408

docs/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ Every message is one JSON object with a small fixed envelope:
139139

140140
| Field | Required | Notes |
141141
| ------------ | ---------------------------------------- | ---------------------------------------------------- |
142-
| `arcp` | always | `"1"` for v1.0/v1.1 |
142+
| `arcp` | always | `"1.1"` (the v1.1 wire-format version literal) |
143143
| `id` | always | ULID or UUIDv7, unique per message |
144144
| `type` | always | discriminator (`"session.hello"`, `"job.submit"`, …) |
145145
| `payload` | always | type-specific body |

docs/conformance.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# Conformance
22

3-
The TypeScript SDK is intended to be 100% conforming to ARCP v1.0
4-
and includes opt-in v1.1 features. Section-by-section status lives
5-
in [`../CONFORMANCE.md`](../CONFORMANCE.md); this page is the docs
6-
mirror.
3+
The TypeScript SDK is intended to be 100% conforming to ARCP v1.1.
4+
Section-by-section status lives in
5+
[`../CONFORMANCE.md`](../CONFORMANCE.md); this page is the docs mirror.
76

8-
## v1.0 coverage
7+
## v1.1 coverage
98

109
| Section | Status | Notes |
1110
| -------------------------- | ------ | ------------------------------------------------------------------ |
@@ -74,7 +73,7 @@ target.
7473
## Reporting a deviation
7574

7675
If you find behavior that disagrees with the
77-
[v1.0 spec](../../spec/docs/draft-arcp-02.md), open an issue with:
76+
[v1.1 spec](../../spec/docs/draft-arcp-1.1.md), open an issue with:
7877

7978
- Section number.
8079
- Observed vs. expected behavior.

docs/guides/auth.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Authentication (§6.1)
22

3-
ARCP v1.0 supports a single auth scheme: bearer tokens. The client
3+
ARCP v1.1 supports a single auth scheme: bearer tokens. The client
44
sends a token in `session.hello`; the runtime verifies it via a
55
`BearerVerifier` and binds the resulting identity to the session.
66

@@ -134,7 +134,7 @@ attachArcpUpgrade(httpServer, {
134134

135135
## Vendor auth extensions
136136

137-
ARCP v1.0 reserves `authScheme: "bearer"` as the only standard value.
137+
ARCP v1.1 reserves `authScheme: "bearer"` as the only standard value.
138138
Custom schemes go through the `x-vendor.*` namespace:
139139

140140
```ts

docs/guides/observability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ the runtime side starts a child span linked to the client's span.
1616
```ts
1717
// envelope on the wire:
1818
{
19-
arcp: "1",
19+
arcp: "1.1",
2020
id: "01J…",
2121
type: "job.submit",
2222
trace_id: "0123456789abcdef0123456789abcdef",

docs/guides/vendor-extensions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ type AcmeWarmup = {
7474

7575
// Client sends
7676
await client.send({
77-
arcp: "1",
77+
arcp: "1.1",
7878
id: newMessageId(),
7979
type: "x-vendor.acme.warmup",
8080
session_id: client.state.sessionId!,
@@ -111,7 +111,7 @@ Every envelope carries an optional `extensions` object:
111111

112112
```ts
113113
{
114-
arcp: "1",
114+
arcp: "1.1",
115115
id: "01J…",
116116
type: "job.submit",
117117
payload: { /**/ },

docs/packages/client.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ pressure their work if you need to.
157157

158158
```ts
159159
await client.send({
160-
arcp: "1",
160+
arcp: "1.1",
161161
id: newMessageId(),
162162
type: "x-vendor.acme.warmup",
163163
session_id: client.state.sessionId!,

docs/packages/core.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ rules these helpers enforce.
187187
```ts
188188
import {
189189
IMPL_VERSION,
190-
PROTOCOL_VERSION, // "1"
190+
PROTOCOL_VERSION, // "1.1"
191191
ProtocolVersion,
192192
intersectFeatures,
193193
isCompatibleVersion,

0 commit comments

Comments
 (0)