agent-embassy 1.9.5 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +28 -21
- package/README.zh-CN.md +26 -20
- package/dist/src/gateway/claude-helper-protocol.d.ts +1 -1
- package/dist/src/gateway/claude-helper-protocol.js +3 -2
- package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
- package/dist/src/gateway/claude-helper-supervisor.d.ts +1 -1
- package/dist/src/gateway/claude-helper-supervisor.js +1 -1
- package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
- package/dist/src/gateway/claude-helper.js +12 -4
- package/dist/src/gateway/claude-helper.js.map +1 -1
- package/dist/src/gateway/cli-copy.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.d.ts +9 -4
- package/dist/src/gateway/cli-copy.en.js +10 -6
- package/dist/src/gateway/cli-copy.en.js.map +1 -1
- package/dist/src/gateway/cli-copy.js +5 -0
- package/dist/src/gateway/cli-copy.js.map +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +9 -4
- package/dist/src/gateway/cli-copy.zh-CN.js +10 -6
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/cli.d.ts +3 -9
- package/dist/src/gateway/cli.js +56 -63
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/codex-local-transport.d.ts +1 -1
- package/dist/src/gateway/codex-local-transport.js +2 -2
- package/dist/src/gateway/codex-local-transport.js.map +1 -1
- package/dist/src/gateway/config.d.ts +4 -3
- package/dist/src/gateway/config.js +5 -11
- package/dist/src/gateway/config.js.map +1 -1
- package/dist/src/gateway/control.d.ts +20 -41
- package/dist/src/gateway/control.js +54 -96
- package/dist/src/gateway/control.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.en.js +2 -2
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.js +2 -2
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/federation-nodes.d.ts +1 -2
- package/dist/src/gateway/federation-nodes.js +29 -14
- package/dist/src/gateway/federation-nodes.js.map +1 -1
- package/dist/src/gateway/live-dashboard-app/app.js +2 -2
- package/dist/src/gateway/live-dashboard-command.d.ts +3 -1
- package/dist/src/gateway/live-dashboard-command.js +1 -1
- package/dist/src/gateway/live-dashboard-command.js.map +1 -1
- package/dist/src/gateway/providers.d.ts +3 -3
- package/dist/src/gateway/providers.js +7 -10
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.d.ts +1 -2
- package/dist/src/gateway/server.js +6 -13
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +3 -1
- package/dist/src/gateway/service.js +89 -35
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/store.d.ts +1 -1
- package/dist/src/gateway/store.js +27 -26
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +4 -4
- package/docs/CONFIGURATION.md +27 -21
- package/docs/CONFIGURATION.zh-CN.md +19 -15
- package/docs/DASHBOARD.md +1 -1
- package/docs/DASHBOARD.zh-CN.md +1 -1
- package/docs/DELIVERY.md +2 -2
- package/docs/DELIVERY.zh-CN.md +2 -2
- package/docs/GATEWAY-ARCHITECTURE.md +48 -58
- package/package.json +1 -1
- package/skills/embassy-peer/SKILL.md +20 -15
- package/dist/src/gateway/state-v2-to-v3.d.ts +0 -24
- package/dist/src/gateway/state-v2-to-v3.js +0 -1034
- package/dist/src/gateway/state-v2-to-v3.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,37 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
6
|
|
|
7
|
+
## [2.0.1] - 2026-09-01
|
|
8
|
+
|
|
9
|
+
Identical product to the unpublished v2.0.0 (its pipeline was failed by a test-hermeticity defect — dashboard-command tests leaned on the developer's real state inventory, red on CI since the mandatory `nodes.json` cut; no product defect). The dashboard-command tests are now hermetic.
|
|
10
|
+
|
|
11
|
+
## [2.0.0] - 2026-09-01
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- The private control protocol is version 2; version-1 control frames are refused rather than interpreted through a compatibility arm.
|
|
16
|
+
- One provider-neutral `embassy send --from <alias> --to <alias>` replaces both provider-named send verbs; the broker derives direction from the resolved route providers.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- Background Claude Code sessions are first-class peers: discovery, selection, pairing, and message exchange work for `bg` sessions alongside interactive ones.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
|
|
24
|
+
- Two live Claude sessions sharing a display name no longer poison the public snapshot (previously `embassy status` failed entirely until restart): the colliding alias is fenced from listing, selection, and pairing while both sessions stay addressable by exact session UUID, and diagnostics count the collision.
|
|
25
|
+
- Connect-stage failures classify honestly: a permission-denied state directory or socket reports `CONTROL_CONNECT_DENIED` with the real remedy (grant this process access to the state directory; never start a second broker) in both locales; missing socket, nothing listening, and control-protocol version mismatch are distinct codes with distinct remedies. The real macOS-sandbox errno (EPERM) is regression-pinned.
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
|
|
29
|
+
- `pair` and `unpair` accept only explicit `--from` / `--to` endpoints; the legacy `--claude` / `--codex` arm is removed.
|
|
30
|
+
- State schema 4 no longer tolerates legacy 24-character delivery tokens or missing `busyPolicy`; older private state must use the reset-only upgrade path.
|
|
31
|
+
- `send-to-claude` and `send-to-codex` are removed with no compatibility aliases.
|
|
32
|
+
|
|
33
|
+
### Upgrade note
|
|
34
|
+
|
|
35
|
+
- Before starting version 2.0, complete the [private state reset](docs/CONFIGURATION.md#private-state-reset) after settling all work under 1.9.x, and create the mandatory private `nodes.json` described in [Configuration](docs/CONFIGURATION.md) (use `nodes:[]` for a local-only broker).
|
|
36
|
+
- Authority-model correction: the prior published claim that generic `pair` and `unpair` attested an inherited endpoint identity was never enforced by the surviving generic arm. Same-UID access to the private control socket authorizes pair, unpair, select, and unselect controls. These operations do not attest inherited provider identity. Delivery in paired mode still requires the exact consent edge, and agents remain instructed to mutate only user-chosen edges.
|
|
37
|
+
|
|
7
38
|
## [1.9.5] - 2026-08-17
|
|
8
39
|
|
|
9
40
|
### Fixed
|
package/CONTRIBUTING.md
CHANGED
|
@@ -124,7 +124,7 @@ native. Do not route around a hold or refusal or fabricate a successful receipt.
|
|
|
124
124
|
terminal failure, ambiguity, expiry, and restart abandonment.
|
|
125
125
|
- Never retry an ambiguous provider write. Requeue only a confirmed clean
|
|
126
126
|
deferral that has not crossed an ambiguous mutation boundary.
|
|
127
|
-
- The private mode-0600
|
|
127
|
+
- The private mode-0600 v4 ledger retains bounded queued and recent bodies,
|
|
128
128
|
opaque delivery tokens, and status. Queued or reserved work may resume once
|
|
129
129
|
within its deadline and attempt budget against the same exact route and edge.
|
|
130
130
|
Armed work settles `ambiguous`; accepted work settles `unconfirmed`; neither
|
package/README.md
CHANGED
|
@@ -41,16 +41,13 @@ Embassy is built for one person, one macOS account, and agents you already trust
|
|
|
41
41
|
|
|
42
42
|
## Quickstart
|
|
43
43
|
|
|
44
|
-
**Requirements:** macOS and Node.js 20+. Claude routes require peer protocol 1; Codex routes
|
|
44
|
+
**Requirements:** macOS and Node.js 20+. Claude routes require peer protocol 1; Codex routes use Codex CLI tasks with the managed standalone App Server. DeepSeek is optional and launches from `DSH_HOME` (default `~/.dsh`) through the checkout's `demo:acp` script; Grok Build is optional and launches the release-pinned ACP package. A shell peer needs only the local CLI and its one-time token. The release-owned [support matrix](support/provider-support-matrix.json) records the exact tested provider artifacts and capabilities; it is release evidence, never a runtime allowlist:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
|
|
48
|
-
/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT
|
|
47
|
+
codex app-server daemon start
|
|
49
48
|
```
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
Desktop attaches to the managed standalone App Server when it launches. If the daemon restarts while Desktop is already open, waiting alone does not reconnect that app process: fully quit Desktop, rerun `/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT`, and reopen the exact task.
|
|
50
|
+
Run the managed daemon from a normal terminal and use Codex CLI as the supported task host. Desktop's `CODEX_APP_SERVER_USE_LOCAL_DAEMON` attachment is broken in Desktop 26.820 and later ([openai/codex#41112](https://github.com/openai/codex/issues/41112)), so it is not a supported setup. If `CALLER_IDENTITY_CONFLICT` reports both identities, strip only the unwanted inherited identity at the call site: use `env -u CLAUDE_CODE_MESSAGING_SOCKET embassy …` for a Codex-side call, or `env -u CODEX_THREAD_ID embassy …` for a Claude-side call. The Claude destination needs [`crossSessionInbound`](docs/CONFIGURATION.md) enabled.
|
|
54
51
|
|
|
55
52
|
Runtime delivery is best effort. Version and build strings are unverified metadata and never grant or withhold routing authority. Consent plus exact logical route/session identity authorizes an attempt; the current per-operation transport and correlated evidence determine its honest result. Unsupported or changed interfaces therefore fail with provider-local safe codes instead of an online compatibility tier. Embassy still validates the trust boundary: exact owned or executed artifacts and state paths, generations of artifacts it actually uses, strict consumed protocol fields, Claude peer protocol 1, bounded queues, and no replay after an ambiguous write.
|
|
56
53
|
|
|
@@ -58,7 +55,7 @@ Runtime delivery is best effort. Version and build strings are unverified metada
|
|
|
58
55
|
|
|
59
56
|
### 1. Start Embassy
|
|
60
57
|
|
|
61
|
-
|
|
58
|
+
After creating the mandatory private `nodes.json` described in [Configuration](docs/CONFIGURATION.md), run the foreground broker under the same OS account as Claude Code and Codex:
|
|
62
59
|
|
|
63
60
|
```bash
|
|
64
61
|
embassy serve
|
|
@@ -92,6 +89,8 @@ Registration records the exact inherited task identity and performs no App Serve
|
|
|
92
89
|
|
|
93
90
|
A local shell harness can join as a `peer-*` route without a plugin, stable shell, daemon, PID binding, token file, or Keychain entry:
|
|
94
91
|
|
|
92
|
+
When native Codex inbound dispatch is unavailable, this shell-peer mailbox is the supported fallback channel: register once, keep its token only in agent memory, and receive with bounded `await` calls.
|
|
93
|
+
|
|
95
94
|
```bash
|
|
96
95
|
embassy register-peer --alias peer-reviewer@this-mac
|
|
97
96
|
```
|
|
@@ -114,18 +113,24 @@ Pick one name from `availablePeers`:
|
|
|
114
113
|
embassy select-claude --alias advisor@this-mac
|
|
115
114
|
```
|
|
116
115
|
|
|
117
|
-
Run this from
|
|
116
|
+
Run this from any same-UID process that can reach the private control socket. `embassy select-claude --session <uuid>` selects the same session by its native UUID.
|
|
118
117
|
|
|
119
|
-
You should see `"accepted":true`.
|
|
118
|
+
You should see `"accepted":true`. Selection creates no permission edge. Create the user-chosen edge explicitly:
|
|
120
119
|
|
|
121
|
-
|
|
120
|
+
```bash
|
|
121
|
+
embassy pair --from codex-reviewer@this-mac --to advisor@this-mac
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Conversely, `unselect-claude` removes the selected route, removes its incident consent edges, and settles their in-flight work from the durable attempt phase.
|
|
125
|
+
|
|
126
|
+
To connect any two routes from different providers, name both ends explicitly with `embassy pair --from <alias> --to <alias>`; many edges can coexist. Same-UID access to the private control socket authorizes the command, and agents must create only the edge the user chose. The live dashboard offers the same bounded, confirmed operation.
|
|
122
127
|
|
|
123
128
|
### 4. Send a message
|
|
124
129
|
|
|
125
130
|
From the registered Codex task, send via stdin:
|
|
126
131
|
|
|
127
132
|
```bash
|
|
128
|
-
embassy send
|
|
133
|
+
embassy send \
|
|
129
134
|
--from codex-reviewer@this-mac \
|
|
130
135
|
--to advisor@this-mac \
|
|
131
136
|
--expects-reply <<'MSG'
|
|
@@ -135,10 +140,10 @@ MSG
|
|
|
135
140
|
|
|
136
141
|
You should see a `conv_` conversation token and a `dlv_` delivery token. Because this send requested a reply, Claude's response is automatically routed back to the Codex task. In the other direction, a compatible Claude session uses its native `ListAgents` and `SendMessage` tools to contact `codex-reviewer` — no Embassy command needed.
|
|
137
142
|
|
|
138
|
-
|
|
143
|
+
The same command runs in the other direction from a Claude session and inherits that session's reply identity:
|
|
139
144
|
|
|
140
145
|
```bash
|
|
141
|
-
embassy send
|
|
146
|
+
embassy send \
|
|
142
147
|
--from advisor@this-mac \
|
|
143
148
|
--to codex-reviewer@this-mac \
|
|
144
149
|
--expects-reply <<'MSG'
|
|
@@ -205,7 +210,7 @@ The broker also publishes mode-0600 static snapshots as `gateway-dashboard.html`
|
|
|
205
210
|
|
|
206
211
|
Embassy publishes each registered Codex task into Claude Code's live-session registry as its own `codex-*` peer. Claude sessions discover those tasks through `ListAgents`; Codex uses its managed App Server. DeepSeek and Grok Build are boot-registered ACP routes whose owned subprocess and one route-local session start lazily on first dispatch. Universal shell peers use `peer-*` aliases and a pull mailbox authenticated by an alias plus one-time-minted token.
|
|
207
212
|
|
|
208
|
-
A pair is one explicit permission edge between two named routes from different providers, bounded at 128 edges by default. Every edge is created explicitly with generic `pair --from/--to`;
|
|
213
|
+
A pair is one explicit permission edge between two named routes from different providers, bounded at 128 edges by default. Every edge is created explicitly with generic `pair --from/--to`; the same-UID private control socket is the command's authority, while agents are instructed to create only user-chosen edges. Selection is separate and implies no consent. Without an edge, a sender settles terminally as `SENDER_NOT_PAIRED`. `embassy serve --inbound open` is the explicit opt-out for supported native inbound senders.
|
|
209
214
|
|
|
210
215
|
Delivery timing is directional. Once routing and pre-write checks pass, every Claude-bound body is written immediately to Claude's native mailbox regardless of its observed busy or idle state. `transport_written` records that mailbox write and is the Claude-bound terminal `delivered` boundary; it does not mean Claude read or consumed the body. Codex-bound ordinary bodies instead queue while the task is busy and start a turn when it goes idle. In the Claude-to-Codex direction only, a body with an exact leading `STEER:` prefix may enter the active turn at the App Server's next tool-call boundary; if that boundary is unavailable, the message returns to the normal queue.
|
|
211
216
|
|
|
@@ -224,7 +229,7 @@ Four embassy terms name real features:
|
|
|
224
229
|
- **Registration and pairing** are the permission model: a Codex task is explicitly registered, and each pair is one explicit Claude↔Codex edge — only paired ends exchange messages, and many edges can coexist. No edge means `SENDER_NOT_PAIRED`; nothing is ever implicit.
|
|
225
230
|
- **The ledger** is the delivery record: a receipt for every settled message, and a metadata-only dashboard.
|
|
226
231
|
- **The pouch** is transit and the archive: bounded bodies, retained under bounded limits, private to your OS account — sealed against other users, not against you.
|
|
227
|
-
- **Consulates** are
|
|
232
|
+
- **Consulates** are configured Embassy nodes: brokers federate over attach-only SSH and keep destination-owned delivery and consent authority.
|
|
228
233
|
|
|
229
234
|
## For agents
|
|
230
235
|
|
|
@@ -246,7 +251,6 @@ Codex tasks can then be prompted with `$embassy-peer`; Claude Code discovers it
|
|
|
246
251
|
| `serve` | operator | Start the foreground broker and dashboard |
|
|
247
252
|
| `health` / `status` | operator | Check liveness and inspect the sanitized snapshot |
|
|
248
253
|
| `refresh-dashboard` | operator | Refresh provider discovery and regenerate both static dashboard files |
|
|
249
|
-
| `convert-state-v2-to-v3` | operator, broker stopped | Back up and convert the configured private state to native v3 without starting providers or the broker |
|
|
250
254
|
| `dashboard --live [--lang en\|zh-CN] [--port <n>]` | operator | Start the live dashboard companion with bounded route-consent actions; requires a running `embassy serve` |
|
|
251
255
|
| `delivery-status` | either provider | Read one delivery tracker with `embassy delivery-status --token dlv_<token>` |
|
|
252
256
|
| `wait-delivery` | either provider | Wait for that tracker to settle, up to the delivery deadline |
|
|
@@ -254,12 +258,15 @@ Codex tasks can then be prompted with `$embassy-peer`; Claude Code discovers it
|
|
|
254
258
|
| `register-codex` / `unregister-codex` | Codex task | Advertise or retire that exact task; both take `--alias <codex-alias>`, and `embassy register-codex --alias codex-successor@this-mac --succeeds codex-reviewer@this-mac` hands the registration to a different task |
|
|
255
259
|
| `register-peer` / `unregister-peer` | shell harness | Register or retire a `peer-*` route; registration emits its raw token once, while authenticated calls use `--token-stdin` (or the optional stable-shell env form) |
|
|
256
260
|
| `await` | registered shell peer | Long-poll the peer mailbox in bounded 30-second iterations; one waiter per route, 16 globally, with acknowledgement only after stdout flush |
|
|
257
|
-
| `pair` / `unpair` |
|
|
258
|
-
| `select-claude` / `unselect-claude` |
|
|
259
|
-
| `send
|
|
260
|
-
| `send-to-codex` | Claude session | Same flags and stdin body, using the inherited native reply identity |
|
|
261
|
+
| `pair` / `unpair` | same-UID control client | Add or remove one user-chosen cross-provider edge by naming both ends: `embassy pair --from advisor@this-mac --to grok-main@this-mac` |
|
|
262
|
+
| `select-claude` / `unselect-claude` | same-UID control client | Select or remove one Claude route using `--alias <name@host>` or `--session <uuid>`; selection creates no permission edge |
|
|
263
|
+
| `send` | registered Codex task, Claude session, or shell peer | Send one bounded stdin message between paired routes: `--from <alias> --to <alias>`, optional `--expects-reply` and `--track [--idle-minutes <n>]`; the broker derives direction from the resolved providers |
|
|
261
264
|
| `reply` | conversation-token holder | Continue an active conversation with the full token returned to the initiator or delivered in the recipient's broker-owned reply hint: `--conversation conv_<token> --alias <your-alias>`, body on stdin, optional `--track [--idle-minutes <n>]` |
|
|
262
265
|
|
|
266
|
+
Version 2.0 accepts only fresh private state. Follow the
|
|
267
|
+
[reset-only state runbook](docs/CONFIGURATION.md#private-state-reset) before
|
|
268
|
+
starting it over an older installation.
|
|
269
|
+
|
|
263
270
|
`--track` opens a progress watch over the conversation; `--idle-minutes <n>`
|
|
264
271
|
sets the idle interval for bounded liveness nudges (1–1440, default 5, rejected
|
|
265
272
|
without `--track`). If the watch ultimately times out, Embassy records it only
|
|
@@ -273,7 +280,7 @@ or by replying with a leading `DONE:`. See [Delivery](docs/DELIVERY.md).
|
|
|
273
280
|
- **Compatibility is tested offline; runtime is best effort.** The release-owned support matrix records exact tested artifacts, protocols, capabilities, stop fidelity, limitations, and test dates. Runtime never imports that matrix and never turns a version fact into authority. It validates exact owned boundaries and protocol facts, attempts the current operation, and reports provider-local health and safe codes without replaying uncertainty.
|
|
274
281
|
- **Native permissions stay native.** Embassy sends no Codex approval or sandbox overrides and answers no approval request. `crossSessionInbound` remains Claude's own control; Embassy cannot override it.
|
|
275
282
|
- **Provenance is marked, not authenticated.** Routed bodies carry one broker-owned cross-session marker with the verified sender alias; it distinguishes the transport path for the receiving model but cannot make untrusted text safe or authenticate against code already running as your OS user.
|
|
276
|
-
- **Bodies and delivery status stored, bounded, and yours.** Message bodies and their opaque delivery token/status persist in the broker's private mode-0600
|
|
283
|
+
- **Bodies and delivery status stored, bounded, and yours.** Message bodies and their opaque delivery token/status persist in the broker's private mode-0600 v4 state under bounded retention; queued or reserved work may resume once after restart, while armed or provider-accepted work is never replayed. A delivery token never enters a public snapshot, normal log, provider receipt, or dashboard. Raw provider frames stay memory-only. The static dashboard files remain metadata-only; the live dashboard shows retained bodies.
|
|
277
284
|
|
|
278
285
|
See [SECURITY.md](SECURITY.md) for the full boundary and vulnerability-reporting process.
|
|
279
286
|
|
package/README.zh-CN.md
CHANGED
|
@@ -37,16 +37,13 @@ Embassy 专为单人、单一 macOS 账户以及你已信任以该用户身份
|
|
|
37
37
|
|
|
38
38
|
## 快速开始
|
|
39
39
|
|
|
40
|
-
**前置要求:** macOS 与 Node.js 20+。Claude 路由要求对等协议 1;Codex
|
|
40
|
+
**前置要求:** macOS 与 Node.js 20+。Claude 路由要求对等协议 1;Codex 路由使用由托管独立 App Server 支持的 Codex CLI 任务。DeepSeek 是可选提供方,通过 `DSH_HOME`(默认 `~/.dsh`)指向的本地 checkout 中 `demo:acp` 脚本启动;Grok Build 也是可选提供方,通过发布版固定的 ACP 包启动。Shell 对等方只需要本地 CLI 与其仅铸造一次的令牌。发布版自有的[支持矩阵](support/provider-support-matrix.json)记录精确已测的提供方构件与能力;它只是发布证据,绝不是运行时允许列表:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
|
|
44
|
-
/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT
|
|
43
|
+
codex app-server daemon start
|
|
45
44
|
```
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
Desktop 仅在启动时附着到托管独立 App Server。如果 Desktop 已打开时守护进程重启,单纯等待不会让该应用进程重新连接:请完全退出 Desktop,重新运行 `/usr/bin/open --env CODEX_APP_SERVER_USE_LOCAL_DAEMON=1 -a ChatGPT`,再打开该确切任务。
|
|
46
|
+
请从普通终端运行托管守护进程,并使用 Codex CLI 作为受支持的任务宿主。Desktop 26.820 及更高版本中的 `CODEX_APP_SERVER_USE_LOCAL_DAEMON` 附着已损坏([openai/codex#41112](https://github.com/openai/codex/issues/41112)),因此不属于受支持设置。若 `CALLER_IDENTITY_CONFLICT` 报告两种身份,请只在调用点移除不需要的继承身份:Codex 侧使用 `env -u CLAUDE_CODE_MESSAGING_SOCKET embassy …`,Claude 侧使用 `env -u CODEX_THREAD_ID embassy …`。Claude 目的地仍需启用 [`crossSessionInbound`](docs/CONFIGURATION.zh-CN.md)。
|
|
50
47
|
|
|
51
48
|
运行时投递采用尽力而为模式。版本与构建字符串只是未经验证的元数据,绝不授予或撤销路由权限。同意加上精确的逻辑路由/会话身份会授权一次尝试;当前逐操作传输与相关证据决定诚实结果。接口不受支持或发生变化时,Embassy 会返回提供方局部的安全代码,而不是在线兼容性等级。Embassy 仍会验证信任边界:精确自有或执行的构件与状态路径、实际使用构件的代际、被消费协议字段的严格结构、Claude 对等协议 1、有界队列,以及结果不确定的写入绝不重放。
|
|
52
49
|
|
|
@@ -54,7 +51,7 @@ Desktop 仅在启动时附着到托管独立 App Server。如果 Desktop 已打
|
|
|
54
51
|
|
|
55
52
|
### 1. 启动 Embassy
|
|
56
53
|
|
|
57
|
-
|
|
54
|
+
创建[配置文档](docs/CONFIGURATION.zh-CN.md)所述的必需私有 `nodes.json` 后,在与 Claude Code 和 Codex 相同的 OS 账户下运行前台代理:
|
|
58
55
|
|
|
59
56
|
```bash
|
|
60
57
|
embassy serve
|
|
@@ -85,6 +82,8 @@ embassy register-codex --alias codex-reviewer@this-mac
|
|
|
85
82
|
|
|
86
83
|
本地 shell harness 可以作为 `peer-*` 路由加入,无需插件、稳定 shell、守护进程、PID 绑定、令牌文件或 Keychain 条目:
|
|
87
84
|
|
|
85
|
+
当 Codex 原生入站投递不可用时,此 shell-peer 邮箱就是受支持的备用通道:注册一次,只在代理内存中保存令牌,并通过有界 `await` 调用接收消息。
|
|
86
|
+
|
|
88
87
|
```bash
|
|
89
88
|
embassy register-peer --alias peer-reviewer@this-mac
|
|
90
89
|
```
|
|
@@ -107,18 +106,24 @@ TOKEN
|
|
|
107
106
|
embassy select-claude --alias advisor@this-mac
|
|
108
107
|
```
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
任何能访问私有控制套接字的同 UID 进程都可以运行这条命令。`embassy select-claude --session <uuid>` 通过原生 UUID 选择同一个会话。
|
|
111
110
|
|
|
112
|
-
你应看到 `"accepted":true
|
|
111
|
+
你应看到 `"accepted":true`。选择不会创建权限边。请显式创建用户选择的边:
|
|
113
112
|
|
|
114
|
-
|
|
113
|
+
```bash
|
|
114
|
+
embassy pair --from codex-reviewer@this-mac --to advisor@this-mac
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
反之,`unselect-claude` 会移除已选择的路由及其关联的同意边,并根据持久化尝试阶段结算这些边的在途工作。
|
|
118
|
+
|
|
119
|
+
要连接来自不同提供方的任意两条路由,请用 `embassy pair --from <alias> --to <alias>` 显式指定两端;多条边可以并存。同 UID 对私有控制套接字的访问授权该命令,代理仍应只创建用户选择的边。实时仪表盘提供同样的有界确认操作。
|
|
115
120
|
|
|
116
121
|
### 4. 发送消息
|
|
117
122
|
|
|
118
123
|
从已注册的 Codex 任务中,通过标准输入发送:
|
|
119
124
|
|
|
120
125
|
```bash
|
|
121
|
-
embassy send
|
|
126
|
+
embassy send \
|
|
122
127
|
--from codex-reviewer@this-mac \
|
|
123
128
|
--to advisor@this-mac \
|
|
124
129
|
--expects-reply <<'MSG'
|
|
@@ -128,10 +133,10 @@ MSG
|
|
|
128
133
|
|
|
129
134
|
你应看到一个 `conv_` 对话令牌和一个 `dlv_` 投递令牌。因为此次发送请求了回复,Claude 的响应会被自动路由回 Codex 任务。反方向上,兼容的 Claude 会话使用其原生的 `ListAgents` 和 `SendMessage` 工具联系 `codex-reviewer`——无需 Embassy 命令。
|
|
130
135
|
|
|
131
|
-
|
|
136
|
+
同一命令也可从 Claude 会话向反方向发送,并继承该会话的回复标识:
|
|
132
137
|
|
|
133
138
|
```bash
|
|
134
|
-
embassy send
|
|
139
|
+
embassy send \
|
|
135
140
|
--from advisor@this-mac \
|
|
136
141
|
--to codex-reviewer@this-mac \
|
|
137
142
|
--expects-reply <<'MSG'
|
|
@@ -178,7 +183,7 @@ Embassy 会在实际写入提供方之前,为双向路由消息添加一个由
|
|
|
178
183
|
|
|
179
184
|
Embassy 将每个已注册的 Codex 任务以各自的 `codex-*` 对等方身份发布到 Claude Code 的实时会话注册表中。Claude 会话通过 `ListAgents` 发现这些任务;Codex 使用托管 App Server。DeepSeek 与 Grok Build 是启动时登记的 ACP 路由,其自有子进程与单个路由本地会话会在首次投递时惰性启动。通用 shell 对等方使用 `peer-*` 别名与一个由别名加仅铸造一次的令牌认证的拉取邮箱。
|
|
180
185
|
|
|
181
|
-
配对是来自不同提供方的两条具名路由之间的单一显式权限边,默认上限 128 条。每条边都通过通用的 `pair --from/--to`
|
|
186
|
+
配对是来自不同提供方的两条具名路由之间的单一显式权限边,默认上限 128 条。每条边都通过通用的 `pair --from/--to` 显式创建;同 UID 私有控制套接字是命令权限,代理仍应只创建用户选择的边。选择与同意相互独立。没有边时,发送方以 `SENDER_NOT_PAIRED` 终局结算。`embassy serve --inbound open` 是针对受支持原生入站发送方的显式退出选项。
|
|
182
187
|
|
|
183
188
|
投递时机因方向而异。通过路由与写前检查后,所有朝向 Claude 的正文都会立即写入 Claude 的原生邮箱,无论观测到 Claude 正繁忙还是空闲。`transport_written` 记录这次邮箱写入,并且就是朝向 Claude 的终局 `delivered` 边界;它不表示 Claude 已读取或消费正文。朝向 Codex 的普通正文则在任务忙碌时排队,并在任务空闲后启动轮次。仅在 Claude→Codex 方向,正文以精确 `STEER:` 开头的消息可以在 App Server 的下一个工具调用边界进入当前轮次;若该边界不可用,消息会回到普通队列。
|
|
184
189
|
|
|
@@ -217,7 +222,6 @@ cp -R "$(npm root -g)/agent-embassy/skills/embassy-peer" ~/.claude/skills/
|
|
|
217
222
|
| `serve` | 操作员 | 启动前台代理和仪表盘 |
|
|
218
223
|
| `health` / `status` | 操作员 | 检查存活状态并查看脱敏快照 |
|
|
219
224
|
| `refresh-dashboard` | 操作员 | 刷新提供方发现,并重新生成两个静态仪表盘文件 |
|
|
220
|
-
| `convert-state-v2-to-v3` | 操作员,代理已停止 | 备份已配置的私有状态并离线转换为原生 v3,不启动提供方或代理 |
|
|
221
225
|
| `dashboard --live [--lang en\|zh-CN] [--port <n>]` | 操作员 | 启动带有限路由同意操作的实时仪表盘组件;需要 `embassy serve` 正在运行 |
|
|
222
226
|
| `delivery-status` | 任一提供方 | 使用 `embassy delivery-status --token dlv_<token>` 读取单条投递跟踪器 |
|
|
223
227
|
| `wait-delivery` | 任一提供方 | 等待该跟踪器结算,直至投递截止时间 |
|
|
@@ -225,12 +229,14 @@ cp -R "$(npm root -g)/agent-embassy/skills/embassy-peer" ~/.claude/skills/
|
|
|
225
229
|
| `register-codex` / `unregister-codex` | Codex 任务 | 通告或注销该任务;两者都需要 `--alias <codex-alias>`,而 `embassy register-codex --alias codex-successor@this-mac --succeeds codex-reviewer@this-mac` 会将注册转交给另一个任务 |
|
|
226
230
|
| `register-peer` / `unregister-peer` | shell harness | 注册或注销一条 `peer-*` 路由;注册只输出一次原始令牌,已认证调用使用 `--token-stdin`(也可选用稳定 shell 环境形式) |
|
|
227
231
|
| `await` | 已注册 shell 对等方 | 以有界 30 秒迭代长轮询 peer 邮箱;每条路由一个等待者、全局 16 个,且只在 stdout 刷新后确认回执 |
|
|
228
|
-
| `pair` / `unpair` |
|
|
229
|
-
| `select-claude` / `unselect-claude` |
|
|
230
|
-
| `send
|
|
231
|
-
| `send-to-codex` | Claude 会话 | 标志与正文输入方式相同,使用继承的原生回复标识 |
|
|
232
|
+
| `pair` / `unpair` | 同 UID 控制客户端 | 显式指定两端来添加或移除一条用户选择的跨提供方边:`embassy pair --from advisor@this-mac --to grok-main@this-mac` |
|
|
233
|
+
| `select-claude` / `unselect-claude` | 同 UID 控制客户端 | 使用 `--alias <name@host>` 或 `--session <uuid>` 选择或移除一条 Claude 路由;选择不会创建权限边 |
|
|
234
|
+
| `send` | 已注册的 Codex 任务、Claude 会话或 shell 对等方 | 在已配对路由之间发送一条有界标准输入消息:`--from <alias> --to <alias>`,可选 `--expects-reply` 与 `--track [--idle-minutes <n>]`;broker 根据解析后的提供方推导方向 |
|
|
232
235
|
| `reply` | 对话令牌持有方 | 使用初始发送时返回或随入站来源提示收到的完整令牌继续一个活跃对话:`--conversation conv_<token> --alias <你的别名>`,正文从标准输入读取,可选 `--track [--idle-minutes <n>]`;调用方、对话参与关系和路由会重新检查 |
|
|
233
236
|
|
|
237
|
+
版本 2.0 只接受全新的私有状态。用旧安装启动前,请遵循
|
|
238
|
+
[仅重置状态操作手册](docs/CONFIGURATION.zh-CN.md#私有状态重置)。
|
|
239
|
+
|
|
234
240
|
`--track` 会为该对话开启一个进度监视;`--idle-minutes <n>` 设置有界活跃提醒的空闲间隔(1–1440,默认 5,未加 `--track` 时会被拒绝)。如果监视最终超时,Embassy 只在监视历史中记录该结算,不会发出运行时停滞告警。用 `untrack` 关闭监视,或在回复正文开头使用 `DONE:` 关闭。详见[投递](docs/DELIVERY.zh-CN.md)。
|
|
235
241
|
|
|
236
242
|
## 一分钟了解安全性
|
|
@@ -240,7 +246,7 @@ cp -R "$(npm root -g)/agent-embassy/skills/embassy-peer" ~/.claude/skills/
|
|
|
240
246
|
- **兼容性在离线阶段测试;运行时尽力而为。** 发布版自有支持矩阵记录精确已测构件、协议、能力、停止保真度、限制与测试日期。运行时从不导入该矩阵,也绝不会把版本事实变成权限。它验证精确自有边界与协议事实,尝试当前操作,并以提供方局部健康度和安全代码报告结果,且绝不重放不确定写入。
|
|
241
247
|
- **来源标记是提示,不是签名。** Embassy 在提供方写入边界生成跨会话来源封装,让接收模型能够区分代理路由消息及其已验证发送方别名;这不是密码学证明,也不会把不可信正文变成可信指令。
|
|
242
248
|
- **原生权限保持原生。** Embassy 不发送任何 Codex 审批或沙盒覆盖,也不应答任何审批请求。`crossSessionInbound` 仍是 Claude 自身的控制机制;Embassy 无法覆盖它。
|
|
243
|
-
- **消息体和投递状态有界保存,属于你。** 消息体及其不透明投递令牌/状态以有界保留策略持久化在 broker 的私有 mode-0600
|
|
249
|
+
- **消息体和投递状态有界保存,属于你。** 消息体及其不透明投递令牌/状态以有界保留策略持久化在 broker 的私有 mode-0600 v4 状态中;排队或已保留但尚未武装的邮件可在 broker 重启后恢复一次,已武装或已被提供方接受的工作绝不重放。投递令牌绝不会进入公开快照、普通日志、提供方回执或任何仪表盘。原始提供方帧仍仅存于内存。静态仪表盘文件保持仅元数据;实时仪表盘展示保留的正文。
|
|
244
250
|
|
|
245
251
|
完整的安全边界和漏洞报告流程请参见 [SECURITY.md](SECURITY.md)。
|
|
246
252
|
|
|
@@ -18,7 +18,7 @@ export type ClaudeNativeHelperInitialization = Readonly<{
|
|
|
18
18
|
type: "initialize";
|
|
19
19
|
requestId: string;
|
|
20
20
|
runtime: AttestedClaudePeerRuntime;
|
|
21
|
-
hostId:
|
|
21
|
+
hostId: string;
|
|
22
22
|
locale: DashboardLocale;
|
|
23
23
|
deliveryNotices: GatewayDeliveryNoticeMode;
|
|
24
24
|
maxPendingMessages: number;
|
|
@@ -7,6 +7,7 @@ const SAFE = /^[A-Z][A-Z0-9_]{0,95}$/;
|
|
|
7
7
|
const ID = /^[A-Za-z0-9_-]{16,64}$/;
|
|
8
8
|
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
9
9
|
const ALIAS = /^[a-z][a-z0-9_-]{0,31}@[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
|
|
10
|
+
const HOST = /^[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
|
|
10
11
|
const CONVERSATION = /^conv_[A-Za-z0-9_-]{16,64}$/;
|
|
11
12
|
const PREPARATION = /^prep_[A-Za-z0-9_-]{24}$/;
|
|
12
13
|
const SHA256 = /^[0-9a-f]{64}$/;
|
|
@@ -22,7 +23,7 @@ function exact(v, required, optional = []) {
|
|
|
22
23
|
}
|
|
23
24
|
function route(v) {
|
|
24
25
|
return rec(v) && exact(v, ["provider", "hostId", "routeHandle", "registrationId"]) &&
|
|
25
|
-
v.provider === "claude" && v.hostId === "
|
|
26
|
+
v.provider === "claude" && typeof v.hostId === "string" && HOST.test(v.hostId) &&
|
|
26
27
|
typeof v.routeHandle === "string" && UUID.test(v.routeHandle) && str(v.registrationId, 256);
|
|
27
28
|
}
|
|
28
29
|
function command(v) {
|
|
@@ -70,7 +71,7 @@ export function isClaudeNativeHelperParentMessage(v) {
|
|
|
70
71
|
"deliveryNotices", "maxPendingMessages", "registration"]) || !rec(v.runtime) || !rec(v.registration))
|
|
71
72
|
return false;
|
|
72
73
|
return exact(v.runtime, ["sessionsDir", "socketDir"]) && str(v.runtime.sessionsDir) && v.runtime.sessionsDir.startsWith("/") &&
|
|
73
|
-
str(v.runtime.socketDir) && v.runtime.socketDir.startsWith("/") && v.hostId === "
|
|
74
|
+
str(v.runtime.socketDir) && v.runtime.socketDir.startsWith("/") && typeof v.hostId === "string" && HOST.test(v.hostId) &&
|
|
74
75
|
(v.locale === "en" || v.locale === "zh-CN") && ["merged", "verbose", "quiet"].includes(String(v.deliveryNotices)) &&
|
|
75
76
|
Number.isSafeInteger(v.maxPendingMessages) && Number(v.maxPendingMessages) >= 1 && Number(v.maxPendingMessages) <= 4_096 &&
|
|
76
77
|
exact(v.registration, ["alias", "sourceProvider", "cwd"]) && source(v.registration.alias, v.registration.sourceProvider) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-helper-protocol.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-protocol.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,iBAAiB,EAAkD,MAAM,YAAY,CAAC;AAEnI,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAU,CAAC;AAChE,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,GAAG,IAAI,CAAC;AAC7D,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AACpD,MAAM,CAAC,MAAM,oCAAoC,GAAG,KAAK,CAAC;AA4C1D,MAAM,IAAI,GAAG,wBAAwB,CAAC;AACtC,MAAM,EAAE,GAAG,wBAAwB,CAAC;AACpC,MAAM,IAAI,GAAG,4EAA4E,CAAC;AAC1F,MAAM,KAAK,GAAG,+DAA+D,CAAC;AAC9E,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAC3F,MAAM,GAAG,GAAG,CAAC,CAAU,EAAgC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnH,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,GAAG,GAAG,KAAK,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpI,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,QAAiB,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3G,iBAAiB,CAAC,QAAQ,CAAC,IAAI,kCAAkC,CAAC,QAAQ,CAAC,KAAK,SAAS;IACzF,KAAK,CAAC,UAAU,CAAC,kCAAkC,CAAC,QAAQ,CAAE,CAAC,CAAC;AAClE,SAAS,KAAK,CAAC,CAA0B,EAAE,QAAkB,EAAE,WAAqB,EAAE;IACpF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC;AACD,SAAS,KAAK,CAAC,CAAU;IACvB,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAChF,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"claude-helper-protocol.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ export type ClaudeNativeHelperClientCallbacks = Readonly<{
|
|
|
15
15
|
export type ClaudeNativeHelperClientStartOptions = Readonly<{
|
|
16
16
|
entryPath?: string;
|
|
17
17
|
runtime: AttestedClaudePeerRuntime;
|
|
18
|
-
hostId:
|
|
18
|
+
hostId: string;
|
|
19
19
|
locale: DashboardLocale;
|
|
20
20
|
deliveryNotices: GatewayDeliveryNoticeMode;
|
|
21
21
|
maxPendingMessages: number;
|
|
@@ -177,7 +177,7 @@ export class ClaudeNativeHelperSupervisor {
|
|
|
177
177
|
throw fault("CLAUDE_NATIVE_HELPER_CAPACITY", true);
|
|
178
178
|
let helper, earlyExit = false;
|
|
179
179
|
const buffered = [];
|
|
180
|
-
const client = await this.#factory({ runtime: this.options.runtime, hostId:
|
|
180
|
+
const client = await this.#factory({ runtime: this.options.runtime, hostId: this.options.identity.hostId, locale: this.options.locale,
|
|
181
181
|
deliveryNotices: this.options.deliveryNotices, maxPendingMessages: this.options.maxPendingMessages, registration: input,
|
|
182
182
|
callbacks: { onEvent: (event) => helper ? this.#event(helper, event) : buffered.push(event),
|
|
183
183
|
onExit: () => helper ? this.#exit(helper) : earlyExit = true } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-helper-supervisor.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-supervisor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-helper-supervisor.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
20
20
|
return;
|
|
21
21
|
let adapter, listener;
|
|
22
22
|
let registration;
|
|
23
|
+
let hostId;
|
|
23
24
|
let maxPending = 0, preparation, admitted = 0, closing = false;
|
|
24
25
|
const routes = new Map();
|
|
25
26
|
let operations = Promise.resolve(), sends = Promise.resolve();
|
|
@@ -67,9 +68,9 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
67
68
|
let alias;
|
|
68
69
|
try {
|
|
69
70
|
const discovery = await active.discover();
|
|
70
|
-
const found = !discovery.truncated && discovery.peers.find((peer) => peer.targetId === source && peer.kind === "interactive" && peer.alias === message.sourceAlias);
|
|
71
|
-
if (found)
|
|
72
|
-
alias = `${found.alias}
|
|
71
|
+
const found = !discovery.truncated && discovery.peers.find((peer) => peer.targetId === source && (peer.kind === "interactive" || peer.kind === "bg") && peer.alias === message.sourceAlias);
|
|
72
|
+
if (found && hostId)
|
|
73
|
+
alias = `${found.alias}@${hostId}`;
|
|
73
74
|
}
|
|
74
75
|
catch { /* stale */ }
|
|
75
76
|
if (!alias) {
|
|
@@ -99,6 +100,7 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
99
100
|
adapter = created;
|
|
100
101
|
listener = opened;
|
|
101
102
|
registration = message.registration;
|
|
103
|
+
hostId = message.hostId;
|
|
102
104
|
maxPending = message.maxPendingMessages;
|
|
103
105
|
await opened.advertise(message.registration.alias.slice(0, -suffix.length), message.registration.cwd);
|
|
104
106
|
return { generation: opened.generation };
|
|
@@ -107,6 +109,7 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
107
109
|
adapter = undefined;
|
|
108
110
|
listener = undefined;
|
|
109
111
|
registration = undefined;
|
|
112
|
+
hostId = undefined;
|
|
110
113
|
await opened?.close().catch(() => undefined);
|
|
111
114
|
await created.close().catch(() => undefined);
|
|
112
115
|
throw error;
|
|
@@ -118,12 +121,15 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
118
121
|
const active = adapter, opened = listener, advertised = registration;
|
|
119
122
|
if (!active || !opened || !advertised || advertised.alias !== command.sourceAlias || advertised.sourceProvider !== command.sourceProvider)
|
|
120
123
|
throw new BridgeError("CLAUDE_NATIVE_HELPER_NOT_INITIALIZED", "The exact native source advertisement is unavailable.", true);
|
|
124
|
+
if (command.binding.hostId !== hostId)
|
|
125
|
+
throw new BridgeError("CLAUDE_ROUTE_MISMATCH", "The selected Claude route targets another host.");
|
|
121
126
|
const deadlineAt = Date.parse(command.deadlineAt);
|
|
122
127
|
if (!Number.isFinite(deadlineAt) || deadlineAt <= Date.now())
|
|
123
128
|
throw new BridgeError("CLAUDE_PEER_MESSAGE_EXPIRED", "The message expired before preparation.", true);
|
|
124
129
|
if (command.authorization === "selected_route") {
|
|
125
130
|
const discovery = await active.discover();
|
|
126
|
-
if (discovery.truncated || !discovery.peers.some((peer) => peer.targetId === command.binding.routeHandle &&
|
|
131
|
+
if (discovery.truncated || !discovery.peers.some((peer) => peer.targetId === command.binding.routeHandle &&
|
|
132
|
+
(peer.kind === "interactive" || peer.kind === "bg")))
|
|
127
133
|
throw new BridgeError("CLAUDE_ROUTE_MISMATCH", "The selected Claude UUID is no longer live.", true);
|
|
128
134
|
await active.assertTargetWorkspaceDisjoint(command.binding.routeHandle, command.stateRoot);
|
|
129
135
|
}
|
|
@@ -171,6 +177,7 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
171
177
|
if (command.alias === registration.alias) {
|
|
172
178
|
await listener.unadvertise(command.alias.slice(0, command.alias.lastIndexOf("@")));
|
|
173
179
|
registration = undefined;
|
|
180
|
+
hostId = undefined;
|
|
174
181
|
routes.clear();
|
|
175
182
|
}
|
|
176
183
|
return ok();
|
|
@@ -198,6 +205,7 @@ export async function runClaudeNativeHelperProcess() {
|
|
|
198
205
|
adapter = undefined;
|
|
199
206
|
listener = undefined;
|
|
200
207
|
registration = undefined;
|
|
208
|
+
hostId = undefined;
|
|
201
209
|
await active?.close().catch(() => undefined);
|
|
202
210
|
if (process.connected)
|
|
203
211
|
process.disconnect();
|