agent-embassy 2.0.1 → 3.1.0

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.
Files changed (147) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/CONTRIBUTING.md +23 -36
  3. package/README.md +123 -222
  4. package/SECURITY.md +72 -93
  5. package/dist/src/errors.d.ts +10 -1
  6. package/dist/src/errors.js +3 -1
  7. package/dist/src/errors.js.map +1 -1
  8. package/dist/src/gateway/claude-helper-protocol.d.ts +8 -11
  9. package/dist/src/gateway/claude-helper-protocol.js +12 -11
  10. package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
  11. package/dist/src/gateway/claude-helper-supervisor.d.ts +1 -5
  12. package/dist/src/gateway/claude-helper-supervisor.js +45 -17
  13. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  14. package/dist/src/gateway/claude-helper.js +6 -6
  15. package/dist/src/gateway/claude-helper.js.map +1 -1
  16. package/dist/src/gateway/claude-peer.d.ts +0 -3
  17. package/dist/src/gateway/claude-peer.js +7 -19
  18. package/dist/src/gateway/claude-peer.js.map +1 -1
  19. package/dist/src/gateway/cli.d.ts +17 -7
  20. package/dist/src/gateway/cli.js +945 -265
  21. package/dist/src/gateway/cli.js.map +1 -1
  22. package/dist/src/gateway/codex-socket-holder.d.ts +26 -0
  23. package/dist/src/gateway/codex-socket-holder.js +76 -0
  24. package/dist/src/gateway/codex-socket-holder.js.map +1 -0
  25. package/dist/src/gateway/codex-stateless-transport.js +1 -1
  26. package/dist/src/gateway/codex-stateless-transport.js.map +1 -1
  27. package/dist/src/gateway/config.d.ts +1 -10
  28. package/dist/src/gateway/config.js +4 -10
  29. package/dist/src/gateway/config.js.map +1 -1
  30. package/dist/src/gateway/control.d.ts +66 -80
  31. package/dist/src/gateway/control.js +92 -147
  32. package/dist/src/gateway/control.js.map +1 -1
  33. package/dist/src/gateway/federation-nodes.d.ts +29 -2
  34. package/dist/src/gateway/federation-nodes.js +177 -7
  35. package/dist/src/gateway/federation-nodes.js.map +1 -1
  36. package/dist/src/gateway/peer-client.d.ts +4 -3
  37. package/dist/src/gateway/peer-client.js +22 -13
  38. package/dist/src/gateway/peer-client.js.map +1 -1
  39. package/dist/src/gateway/peer-protocol.d.ts +13 -11
  40. package/dist/src/gateway/peer-protocol.js +14 -12
  41. package/dist/src/gateway/peer-protocol.js.map +1 -1
  42. package/dist/src/gateway/provenance-envelope.d.ts +0 -1
  43. package/dist/src/gateway/provenance-envelope.js +4 -19
  44. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  45. package/dist/src/gateway/providers.d.ts +11 -7
  46. package/dist/src/gateway/providers.js +49 -50
  47. package/dist/src/gateway/providers.js.map +1 -1
  48. package/dist/src/gateway/server.d.ts +4 -14
  49. package/dist/src/gateway/server.js +32 -54
  50. package/dist/src/gateway/server.js.map +1 -1
  51. package/dist/src/gateway/service-agent.d.ts +187 -0
  52. package/dist/src/gateway/service-agent.js +758 -0
  53. package/dist/src/gateway/service-agent.js.map +1 -0
  54. package/dist/src/gateway/service.d.ts +119 -38
  55. package/dist/src/gateway/service.js +754 -798
  56. package/dist/src/gateway/service.js.map +1 -1
  57. package/dist/src/gateway/status-view.d.ts +119 -0
  58. package/dist/src/gateway/status-view.js +484 -0
  59. package/dist/src/gateway/status-view.js.map +1 -0
  60. package/dist/src/gateway/store.d.ts +106 -21
  61. package/dist/src/gateway/store.js +463 -537
  62. package/dist/src/gateway/store.js.map +1 -1
  63. package/dist/src/gateway/types.d.ts +64 -102
  64. package/dist/src/gateway/types.js +40 -86
  65. package/dist/src/gateway/types.js.map +1 -1
  66. package/docs/CONFIGURATION.md +174 -45
  67. package/docs/DELIVERY.md +11 -11
  68. package/docs/GATEWAY-ARCHITECTURE.md +292 -384
  69. package/package.json +4 -12
  70. package/skills/embassy-peer/SKILL.md +69 -92
  71. package/skills/embassy-peer/agents/openai.yaml +1 -1
  72. package/README.zh-CN.md +0 -275
  73. package/assets/live-dashboard/app.css +0 -1619
  74. package/assets/vendor/react/LICENSE +0 -21
  75. package/assets/vendor/react/react-dom.production.min.js +0 -267
  76. package/assets/vendor/react/react.production.min.js +0 -31
  77. package/dist/src/gateway/acp-client.d.ts +0 -110
  78. package/dist/src/gateway/acp-client.js +0 -407
  79. package/dist/src/gateway/acp-client.js.map +0 -1
  80. package/dist/src/gateway/acp-provider.d.ts +0 -66
  81. package/dist/src/gateway/acp-provider.js +0 -275
  82. package/dist/src/gateway/acp-provider.js.map +0 -1
  83. package/dist/src/gateway/claude-helper-client.d.ts +0 -2
  84. package/dist/src/gateway/claude-helper-client.js +0 -2
  85. package/dist/src/gateway/claude-helper-client.js.map +0 -1
  86. package/dist/src/gateway/cli-copy.d.ts +0 -8
  87. package/dist/src/gateway/cli-copy.en.d.ts +0 -22
  88. package/dist/src/gateway/cli-copy.en.js +0 -62
  89. package/dist/src/gateway/cli-copy.en.js.map +0 -1
  90. package/dist/src/gateway/cli-copy.js +0 -27
  91. package/dist/src/gateway/cli-copy.js.map +0 -1
  92. package/dist/src/gateway/cli-copy.zh-CN.d.ts +0 -22
  93. package/dist/src/gateway/cli-copy.zh-CN.js +0 -62
  94. package/dist/src/gateway/cli-copy.zh-CN.js.map +0 -1
  95. package/dist/src/gateway/codex-doctor.d.ts +0 -36
  96. package/dist/src/gateway/codex-doctor.js +0 -127
  97. package/dist/src/gateway/codex-doctor.js.map +0 -1
  98. package/dist/src/gateway/dashboard-copy.d.ts +0 -7
  99. package/dist/src/gateway/dashboard-copy.en.d.ts +0 -504
  100. package/dist/src/gateway/dashboard-copy.en.js +0 -505
  101. package/dist/src/gateway/dashboard-copy.en.js.map +0 -1
  102. package/dist/src/gateway/dashboard-copy.js +0 -514
  103. package/dist/src/gateway/dashboard-copy.js.map +0 -1
  104. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +0 -504
  105. package/dist/src/gateway/dashboard-copy.zh-CN.js +0 -505
  106. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +0 -1
  107. package/dist/src/gateway/dashboard-model.d.ts +0 -343
  108. package/dist/src/gateway/dashboard-model.js +0 -1061
  109. package/dist/src/gateway/dashboard-model.js.map +0 -1
  110. package/dist/src/gateway/dashboard.d.ts +0 -20
  111. package/dist/src/gateway/dashboard.js +0 -874
  112. package/dist/src/gateway/dashboard.js.map +0 -1
  113. package/dist/src/gateway/deepseek-detect.d.ts +0 -14
  114. package/dist/src/gateway/deepseek-detect.js +0 -41
  115. package/dist/src/gateway/deepseek-detect.js.map +0 -1
  116. package/dist/src/gateway/live-dashboard-app/app.js +0 -2385
  117. package/dist/src/gateway/live-dashboard-assets.d.ts +0 -10
  118. package/dist/src/gateway/live-dashboard-assets.js +0 -74
  119. package/dist/src/gateway/live-dashboard-assets.js.map +0 -1
  120. package/dist/src/gateway/live-dashboard-command.d.ts +0 -60
  121. package/dist/src/gateway/live-dashboard-command.js +0 -334
  122. package/dist/src/gateway/live-dashboard-command.js.map +0 -1
  123. package/dist/src/gateway/live-dashboard-http.d.ts +0 -39
  124. package/dist/src/gateway/live-dashboard-http.js +0 -383
  125. package/dist/src/gateway/live-dashboard-http.js.map +0 -1
  126. package/dist/src/gateway/live-dashboard-protocol.d.ts +0 -34
  127. package/dist/src/gateway/live-dashboard-protocol.js +0 -114
  128. package/dist/src/gateway/live-dashboard-protocol.js.map +0 -1
  129. package/dist/src/gateway/live-dashboard-server.d.ts +0 -33
  130. package/dist/src/gateway/live-dashboard-server.js +0 -144
  131. package/dist/src/gateway/live-dashboard-server.js.map +0 -1
  132. package/dist/src/gateway/live-dashboard-stream.d.ts +0 -46
  133. package/dist/src/gateway/live-dashboard-stream.js +0 -234
  134. package/dist/src/gateway/live-dashboard-stream.js.map +0 -1
  135. package/dist/src/gateway/live-dashboard.d.ts +0 -28
  136. package/dist/src/gateway/live-dashboard.js +0 -154
  137. package/dist/src/gateway/live-dashboard.js.map +0 -1
  138. package/dist/src/gateway/locale.d.ts +0 -4
  139. package/dist/src/gateway/locale.js +0 -10
  140. package/dist/src/gateway/locale.js.map +0 -1
  141. package/dist/src/gateway/progress-watch-machine.d.ts +0 -45
  142. package/dist/src/gateway/progress-watch-machine.js +0 -70
  143. package/dist/src/gateway/progress-watch-machine.js.map +0 -1
  144. package/docs/CONFIGURATION.zh-CN.md +0 -97
  145. package/docs/DASHBOARD.md +0 -98
  146. package/docs/DASHBOARD.zh-CN.md +0 -49
  147. package/docs/DELIVERY.zh-CN.md +0 -55
package/SECURITY.md CHANGED
@@ -19,7 +19,10 @@ session or thread identifiers, or unredacted personal paths.
19
19
 
20
20
  Embassy is personal software for one macOS user. Each broker remains local to
21
21
  one machine; an explicit private `nodes.json` may connect the user's own
22
- SSH-reachable machines through the user's existing OpenSSH configuration. Run
22
+ SSH-reachable machines through the user's existing OpenSSH configuration.
23
+ Broker identity always comes from that owned mode-0600 `nodes.json`; when it
24
+ is absent, the broker creates it once from this machine's hostname, and that
25
+ recorded identity stays as written when the machine is later renamed. Run
23
26
  every node only under an OS account that is yours alone and where you trust
24
27
  every process already running as that user. Do not expose Embassy sockets or
25
28
  state on a network, host it as a service, or use it to share a provider
@@ -93,15 +96,10 @@ review, and audit work.
93
96
 
94
97
  - **Other local software already running as the same user.** Embassy provides
95
98
  no local-process authentication and no capability or local-user consent
96
- boundary against software already operating under that UID. Pair edges encode
97
- routing consent between agent endpoints; aliases, conversation tokens,
99
+ boundary against software already operating under that UID. Addressing is
100
+ routing, not authorization; aliases, conversation tokens,
98
101
  inherited environment values, private sockets, and same-user file modes do
99
102
  not authenticate one same-user process from another.
100
- - **Local software through browser-origin checks.** Exact Host, Origin, the
101
- `X-Embassy-Request` sentinel, and same-origin response policy constrain what a
102
- browser can issue or read across origins. They do not authenticate a loopback
103
- caller, its process, or its UID; the live dashboard assumes a trusted
104
- single-user machine.
105
103
  - **Predictions based on version strings.** A version string is diagnostic
106
104
  metadata, never routing authority, security evidence, or attack detection.
107
105
  Current path, ownership, protocol, interface, used-artifact generation, and
@@ -120,8 +118,10 @@ a doctrine-change proposal, including the product and threat-model consequence,
120
118
  before adding the check. A test, review finding, or “hardening” patch must not
121
119
  silently expand Embassy's claimed boundary.
122
120
 
123
- ## Routing and consent
121
+ ## Routing and the permission model
124
122
 
123
+ - Retirement is a credential-free same-UID operator action on local routes;
124
+ federated mirrors are refused with `FEDERATED_ROUTE_READ_ONLY`.
125
125
  - A universal shell peer explicitly registers one `peer-*` alias. Its principal
126
126
  is that alias plus a `peer_` token minted and printed exactly once. The token
127
127
  is supplied on stdin (or inherited only by a harness with a stable shell),
@@ -130,19 +130,37 @@ silently expand Embassy's claimed boundary.
130
130
  there is deliberately no PID binding, token file, Keychain entry, or daemon.
131
131
  - A Codex task must explicitly self-register with a `codex-*` alias before it
132
132
  can participate.
133
- - Codex-to-Claude delivery requires an explicit operator-created pair with a
134
- compatible live Claude session. Discovery alone is never permission to send.
135
- - Every registered `codex-*` peer is visible to every compatible live Claude
136
- session running as the same OS user, but paired mode accepts only sessions
137
- holding an explicit pair edge with that exact task. Other senders settle
138
- terminally with `SENDER_NOT_PAIRED`. `embassy serve --inbound open` is the
139
- explicit opt-out from pairing.
140
- - Pairs are additive, bounded, and per-edge: adding an edge never retires
141
- another, and removing one invalidates its active conversation capabilities
142
- before the change is published. Explicitly requested endpoint replacement
133
+ - The permission to message is the OS boundary Embassy already sits inside:
134
+ the same UID, the same host or a host the operator configured in the
135
+ private `nodes.json` and an exact alias. Embassy holds no separate,
136
+ revocable grant between two endpoints, and never claimed one could defend
137
+ against software already running as that UID.
138
+ - A discovered Claude session's logical route is installed by the broker on
139
+ the session's first use — the first message sent to it, or its first native
140
+ message out. Installation records identity; it grants nothing that
141
+ addressing did not already imply.
142
+ - A name is not an identity. A route's identity is its (host, native session
143
+ UUID) pair: a session that re-anchors or renames itself keeps its
144
+ registration and its in-flight conversations, while a name that currently
145
+ belongs to more than one live session is refused with
146
+ `PEER_ALIAS_COLLISION` at send time and never resolved by picking first.
147
+ That fence is a fence on names: the session UUID stays addressable, and a
148
+ sender is never fenced by its own display name, because its identity was
149
+ attested rather than typed.
150
+ - Every routed body carries the broker-composed provenance envelope naming its
151
+ sender, and what "naming" is worth depends on the hop. On a local hop the
152
+ sender is verified: the broker read it from the inherited socket capability,
153
+ the inherited Codex thread id, or a shell peer's minted token, none of which
154
+ the sender chose. Across a federated hop the sender is named by the sending
155
+ node, and what the destination authorizes is that node's membership in its
156
+ own `nodes.json` — the destination trusts the peer broker to have verified
157
+ its own local sender, exactly as much as it trusts that operator. In both
158
+ cases the envelope is attribution, not authentication of the body's claims,
159
+ and the boundary that stops anyone else is the operating system's.
160
+ - Explicitly requested endpoint replacement
143
161
  (`register-codex --succeeds`) is one atomic logical-route transaction: it
144
- settles the outgoing route's work by recorded write phase, removes its edges
145
- and capabilities, and publishes only the replacement. There is no prepared,
162
+ settles the outgoing route's work by recorded write phase, removes its
163
+ capabilities, and publishes only the replacement. There is no prepared,
146
164
  activated, re-anchored, or recovery generation and no half-replaced state.
147
165
  - Embassy never mutates a Codex task's approval or sandbox policy and never
148
166
  answers an approval request. An inbound turn uses the task's existing native
@@ -159,11 +177,11 @@ silently expand Embassy's claimed boundary.
159
177
  - A CLI initiator receives the full conversation token in the accepted control
160
178
  result, and every routed recipient receives it in the broker-owned first
161
179
  `embassy-reply-hint`. The token is a transient participant-scoped locator,
162
- not sufficient authority: `reply` rechecks inherited caller identity,
180
+ not sufficient authority: `send --conversation` rechecks inherited caller identity,
163
181
  conversation membership, and current routing policy.
164
182
 
165
183
  Every routed message is untrusted input capable of steering the receiving
166
- agent. Registration and routing control reachability; the provenance marker
184
+ agent. The OS boundary and routing control reachability; the provenance marker
167
185
  does not make the message content or asserted intent trustworthy.
168
186
 
169
187
  The literal leading `STEER:` prefix is a protocol instruction, not proof of a
@@ -186,32 +204,37 @@ broker.
186
204
  ownership.
187
205
  - The control plane is a private Unix-domain socket in a controller-owned
188
206
  mode-0700 state directory. `embassy serve` has no TCP or HTTP listener; its
189
- only listeners are private Unix-domain sockets. The opt-in
190
- `embassy dashboard --live` companion is a separate process with its own
191
- loopback HTTP listener — see "Live companion boundary" below.
207
+ only listeners are private Unix-domain sockets.
192
208
  - Provider startup validates exact OS ownership, path, symlink, lease, state,
193
209
  and generation evidence. Unsafe evidence for Embassy-owned or executed
194
210
  artifacts and Embassy callback, control, or state paths refuses broker
195
211
  startup; unsafe UID or mode evidence for Claude's external sessions registry
196
212
  root quarantines only Claude. A provider version is best-effort diagnostic
197
- metadata and carries no routing authority. Runtime authority comes from an
198
- explicit pair, exact owned route and session identity, current
213
+ metadata and carries no routing authority. Runtime authority comes from the
214
+ OS boundary, exact owned route and session identity, current
199
215
  per-operation transport facts, strict protocol handling, and correlated
200
216
  operation results.
201
217
  A Claude record whose peer protocol is not 1 is rejected in isolation and
202
218
  included in bounded rejection evidence. Every Codex endpoint used by a
203
219
  delivery must negotiate its current interface and resume the exact task
204
220
  before that operation receives final write authorization.
205
- - Embassy publishes at most one process-owned `codex-*` record in Claude's
206
- registry with the supported explicit versioned Embassy-advertisement marker.
221
+ - Advertisement tracks a helper per local non-Claude route (`codex-*` or `peer-*`):
222
+ one forked process, one callback socket, and one process-owned registry record
223
+ with the supported explicit versioned Embassy-advertisement marker.
224
+ The tracked-helper cap is `maxRoutes` (default and maximum 128).
225
+ Federated mirrors are excluded from local helper advertisement.
226
+ Pending creations reserve capacity before the factory runs; overlapping same-alias reconciliations share that creation, and shutdown joins pending creations before completing cleanup.
227
+ Default-helper initialization requests time out after 5 seconds; forced close
228
+ escalates to SIGKILL after 2 seconds, but completion still awaits the child's
229
+ exit. This is an escalation schedule, not a shutdown deadline; injected
230
+ factories may remain pending.
207
231
  The prefix is a visible alias convention, not the discriminator: an unmarked
208
- genuine Claude session named `codex-*` remains discoverable. Embassy creates
232
+ genuine Claude session named `codex-*` remains discoverable. Each helper creates
209
233
  one callback socket and removes only exact-owned artifacts whose generation
210
234
  still matches during graceful shutdown.
211
235
  - App Server methods are allowlisted. Connectors expose no archive, deletion,
212
236
  shell, configuration, authentication, plugin, history, approval-response, or
213
- generic RPC method. ACP permission requests are always denied or cancelled;
214
- Embassy never turns them into an approval surface.
237
+ generic RPC method.
215
238
  - `turn/steer` is reachable only for an exact leading `STEER:` body in the
216
239
  Claude-to-Codex direction, with an exact observed active-turn ID. App Server
217
240
  admits it at the next tool-call boundary; Embassy never interrupts or injects
@@ -219,7 +242,7 @@ broker.
219
242
  retains at most three steers per route. The environment kill switch defaults
220
243
  on and can disable this classification globally. Embassy never issues
221
244
  `turn/interrupt`.
222
- - The tested App Server 0.147.0 initialization enables `experimentalApi: true`
245
+ - The App Server 0.147.0 initialization this adapter targets enables `experimentalApi: true`
223
246
  solely for `thread/resume.excludeTurns: true`. It adds no general
224
247
  experimental method or authority. Missing, malformed, or nonempty returned
225
248
  turns fail closed and are never retained.
@@ -236,9 +259,8 @@ broker.
236
259
  opening or closing copies of its reserved framing tags before composing the
237
260
  real outer frame. Framing or size failure occurs before provider write and is
238
261
  never an ambiguous write.
239
- - The only network listener Embassy can create belongs to the opt-in
240
- `embassy dashboard --live` companion, described under "Live companion
241
- boundary". Everything enumerated above concerns `embassy serve`.
262
+ - Embassy creates no network listener at all. Everything enumerated above
263
+ concerns `embassy serve`.
242
264
 
243
265
  ## Filesystem boundary
244
266
 
@@ -264,7 +286,10 @@ Embassy's provider-facing access is intentionally enumerable:
264
286
  - read the live Claude session registry and validate only the registry record,
265
287
  peer socket, PID, workspace, state-root, and generation evidence used by the
266
288
  current operation;
267
- - create and later remove its one callback socket and one registry record;
289
+ - fork advertisement helper processes for local non-Claude routes, each owning one
290
+ callback socket and one registry record (`codex-*` or `peer-*`); the tracked-count
291
+ admission cap is `maxRoutes` (default and maximum 128),
292
+ including pending creations in that cap;
268
293
  - resolve the managed Codex installation and open one attested local App Server
269
294
  connection per operation; and
270
295
  - inspect canonical filesystem metadata needed to validate provider-advertised
@@ -289,77 +314,32 @@ Raw provider frames, tool data, stderr, callback addresses, and socket paths
289
314
  remain memory-only and are discarded on restart. Message bodies are the
290
315
  exception: queued and recently delivered bodies are retained under bounded caps
291
316
  in the mode-0600 state file. A queued or reserved message may resume once after
292
- a broker restart against its still-exact logical route and consent edge. An
317
+ a broker restart against its still-exact logical route. An
293
318
  armed or accepted message at crash settles ambiguous or unconfirmed and is
294
319
  never replayed.
295
320
 
296
321
  For a shell peer, durable route ownership stores only
297
322
  `peer:<sha256(uid NUL alias NUL token)>`; the raw peer token and private mailbox
298
- receipts never enter state, logs, snapshots, dashboards, or routed frames.
323
+ receipts never enter state, logs, snapshots, or routed frames.
299
324
  Pending waiters, acknowledgements, and the bounded exact-duplicate receipt
300
325
  tombstone are memory-only. A restart therefore cannot falsely confirm a
301
326
  stdout write whose acknowledgement was not observed.
302
327
 
303
328
  The full `conv_` token exposed to a CLI initiator or routed recipient travels
304
329
  only inside the accepted CLI result or transient provider payload. It is never
305
- persisted, journaled, logged, placed in a receipt, projected through public
306
- events or snapshots, or rendered on either dashboard; public metadata may
307
- retain only an existing non-reconstructable suffix. Broker-owned marker fields
330
+ persisted, journaled, logged, placed in a receipt, or projected through public
331
+ events or snapshots; public metadata may retain only an existing
332
+ non-reconstructable suffix. Broker-owned marker fields
308
333
  introduce no socket paths, Codex thread IDs, Claude session UUIDs, endpoint
309
334
  generations, or private route handles. The untrusted body remains opaque text
310
335
  and may itself contain sender-provided strings.
311
336
 
312
337
  The closed private binding store may retain the exact Codex thread ID and Claude
313
338
  session UUID required for logical ownership. Native IDs are
314
- forbidden from public snapshots, normalized events, the dashboard, aliases,
339
+ forbidden from public snapshots, normalized events, aliases,
315
340
  logs, errors, and CLI output. A Claude UUID may enter only as a user-supplied
316
- explicit CLI selector; Embassy never discovers or prints it publicly.
317
-
318
- The static dashboard is two atomically rewritten mode-0600 files, not a web
319
- application: `gateway-dashboard.html` and `gateway-dashboard.zh-CN.html`, both
320
- written on every publish and cross-linked in the page. They contain allowlisted
321
- metadata only and have no JavaScript, external assets, storage, telemetry,
322
- mutation endpoint, or self-refresh. Any process already running as the same OS
323
- user can read them.
324
-
325
- ### Live companion boundary
326
-
327
- `embassy dashboard --live` binds exact `127.0.0.1` on one stable port: `41961`
328
- by default, or the integer from the per-invocation `--port <n>` option (1024
329
- through 65535). It is a separate foreground process from `embassy serve` and
330
- serves the direct root URL `http://127.0.0.1:<port>/`. Multiple windows and
331
- browsers may use that URL while the companion runs. If the port is occupied,
332
- startup fails with `LIVE_DASHBOARD_PORT_IN_USE`, points to `--port`, and never
333
- falls back to another port.
334
-
335
- The live companion has no login, capability token, URL fragment, cookie,
336
- browser session, random instance path, or bootstrap file. Its intended posture
337
- is one operator and software already trusted under that operator's macOS UID.
338
- The HTTP listener deliberately does not authenticate processes or OS users,
339
- so this is a trusted single-user-machine assumption, not a same-UID
340
- enforcement mechanism: any local software that can reach or spoof loopback can
341
- read retained message bodies from the live view and invoke its bounded actions.
342
-
343
- The exact Host header is checked on every request. Navigation GETs may omit
344
- Origin; every POST requires the exact Origin plus
345
- `X-Embassy-Request: 1`. `OPTIONS` is rejected and no CORS headers are sent.
346
- Those checks block ambient cross-origin browser requests but do not authenticate
347
- local software. There are no generic control or provider routes, telemetry, or
348
- external assets. The sole mutation route accepts only exact pair, unpair,
349
- refresh-discovery, and named Codex-registration-removal JSON bodies, capped at
350
- 1 KiB and six confirmed actions per minute. Registration removal requires an
351
- in-page consequence confirmation; it removes incident consent edges and
352
- settles active work by its durable write phase. The browser cannot create a
353
- registration, send, reply, approve,
354
- interrupt, change settings, or invoke arbitrary broker/provider methods.
355
-
356
- Reports involving the live companion are in scope if they demonstrate a
357
- non-loopback bind, a bypass of the documented Host/Origin/sentinel action
358
- guards from a browser origin, or authority beyond the four allowlisted
359
- actions. Access by local software or another local UID is within the documented
360
- trusted-machine model and is not itself treated as an authentication bypass,
361
- because this surface intentionally has no such authentication boundary.
362
-
341
+ explicit CLI selector (`embassy send --to <uuid>`); Embassy never discovers or
342
+ prints it publicly.
363
343
 
364
344
  ## Validation boundary
365
345
 
@@ -370,8 +350,7 @@ Broker/provider startup owns bounded validation of configured installations and
370
350
  exact OS boundaries. Unsafe Embassy-owned or executed artifacts, callback,
371
351
  control, or state paths remain startup-fatal; unsafe UID or mode evidence on
372
352
  Claude's external sessions registry root quarantines only that provider.
373
- Runtime does not import the release-owned support matrix or derive authority
374
- from version metadata. It reports best-effort connector health, observation
353
+ Runtime derives no authority from version metadata. It reports best-effort connector health, observation
375
354
  freshness, and last safe codes while strict record, frame, response, identity,
376
355
  current used-artifact generation, correlation, and deadline checks decide each
377
356
  operation. Claude registry parsing remains strict for every required and
@@ -1,5 +1,14 @@
1
+ /**
2
+ * Bounded, non-private values a client may interpolate into an operator hint.
3
+ * Messages stay internal (the CLI prints codes and fixed lines, never a
4
+ * message), so anything an operator must actually read travels here and is
5
+ * rendered by a client-side hint. Every value is already pattern-bounded at
6
+ * the point it is recorded.
7
+ */
8
+ export type BridgeErrorDetail = Readonly<Record<string, string>>;
1
9
  export declare class BridgeError extends Error {
2
10
  readonly code: string;
3
11
  readonly recoverable: boolean;
4
- constructor(code: string, message: string, recoverable?: boolean);
12
+ readonly detail: BridgeErrorDetail | undefined;
13
+ constructor(code: string, message: string, recoverable?: boolean, detail?: BridgeErrorDetail);
5
14
  }
@@ -1,11 +1,13 @@
1
1
  export class BridgeError extends Error {
2
2
  code;
3
3
  recoverable;
4
- constructor(code, message, recoverable = false) {
4
+ detail;
5
+ constructor(code, message, recoverable = false, detail) {
5
6
  super(message);
6
7
  this.name = "BridgeError";
7
8
  this.code = code;
8
9
  this.recoverable = recoverable;
10
+ this.detail = detail;
9
11
  }
10
12
  }
11
13
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAS;IACb,WAAW,CAAU;IAE9B,YAAY,IAAY,EAAE,OAAe,EAAE,WAAW,GAAG,KAAK;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAC3B,IAAI,CAAS;IACb,WAAW,CAAU;IACrB,MAAM,CAAgC;IAE/C,YAAY,IAAY,EAAE,OAAe,EAAE,WAAW,GAAG,KAAK,EAAE,MAA0B;QACxF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
@@ -1,10 +1,9 @@
1
1
  import type { ClaudePeerInboundProgress } from "./claude-peer.js";
2
2
  import type { AttestedClaudePeerRuntime } from "./claude-runtime.js";
3
3
  import type { GatewayDeliveryNoticeMode } from "./config.js";
4
- import type { DashboardLocale } from "./locale.js";
5
4
  import type { GatewayAdapterDispatchResult } from "./service.js";
6
5
  import { type GatewayProvider, type LogicalRouteBinding } from "./types.js";
7
- export declare const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION: 1;
6
+ export declare const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION: 2;
8
7
  export declare const CLAUDE_NATIVE_HELPER_MAX_IPC_BYTES: number;
9
8
  export declare const CLAUDE_NATIVE_HELPER_MAX_REQUESTS = 64;
10
9
  export declare const CLAUDE_NATIVE_HELPER_PREPARED_TTL_MS = 5000;
@@ -14,12 +13,11 @@ export type ClaudeNativeHelperRegistration = Readonly<{
14
13
  cwd: string;
15
14
  }>;
16
15
  export type ClaudeNativeHelperInitialization = Readonly<{
17
- protocolVersion: 1;
16
+ protocolVersion: 2;
18
17
  type: "initialize";
19
18
  requestId: string;
20
19
  runtime: AttestedClaudePeerRuntime;
21
20
  hostId: string;
22
- locale: DashboardLocale;
23
21
  deliveryNotices: GatewayDeliveryNoticeMode;
24
22
  maxPendingMessages: number;
25
23
  registration: ClaudeNativeHelperRegistration;
@@ -27,8 +25,8 @@ export type ClaudeNativeHelperInitialization = Readonly<{
27
25
  export type ClaudeNativeHelperCommand = Readonly<{
28
26
  method: "prepare_dispatch";
29
27
  binding: LogicalRouteBinding;
30
- authorization: "selected_route" | "native_reply";
31
- stateRoot?: string;
28
+ authorization: "selected_route";
29
+ stateRoot: string;
32
30
  messageId: string;
33
31
  sourceAlias: string;
34
32
  sourceProvider: GatewayProvider;
@@ -37,7 +35,6 @@ export type ClaudeNativeHelperCommand = Readonly<{
37
35
  text: string;
38
36
  expectsReply: boolean;
39
37
  deadlineAt: string;
40
- progressWatchActive?: true;
41
38
  }> | Readonly<{
42
39
  method: "perform_dispatch" | "cancel_dispatch";
43
40
  preparationId: string;
@@ -64,7 +61,7 @@ export type ClaudeNativeHelperCommand = Readonly<{
64
61
  method: "close";
65
62
  }>;
66
63
  export type ClaudeNativeHelperParentMessage = ClaudeNativeHelperInitialization | Readonly<{
67
- protocolVersion: 1;
64
+ protocolVersion: 2;
68
65
  type: "request";
69
66
  requestId: string;
70
67
  command: ClaudeNativeHelperCommand;
@@ -96,13 +93,13 @@ export type ClaudeNativeHelperResult = Readonly<{
96
93
  ok: true;
97
94
  }>;
98
95
  export type ClaudeNativeHelperChildMessage = Readonly<{
99
- protocolVersion: 1;
96
+ protocolVersion: 2;
100
97
  type: "response";
101
98
  requestId: string;
102
99
  ok: true;
103
100
  result: ClaudeNativeHelperResult;
104
101
  }> | Readonly<{
105
- protocolVersion: 1;
102
+ protocolVersion: 2;
106
103
  type: "response";
107
104
  requestId: string;
108
105
  ok: false;
@@ -111,7 +108,7 @@ export type ClaudeNativeHelperChildMessage = Readonly<{
111
108
  recoverable: boolean;
112
109
  }>;
113
110
  }> | Readonly<{
114
- protocolVersion: 1;
111
+ protocolVersion: 2;
115
112
  type: "event";
116
113
  value: ClaudeNativeHelperEvent;
117
114
  }>;
@@ -1,5 +1,5 @@
1
1
  import { gatewayRegistrationIngressPrefixes, isGatewayProvider } from "./types.js";
2
- export const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION = 1;
2
+ export const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION = 2;
3
3
  export const CLAUDE_NATIVE_HELPER_MAX_IPC_BYTES = 128 * 1024;
4
4
  export const CLAUDE_NATIVE_HELPER_MAX_REQUESTS = 64;
5
5
  export const CLAUDE_NATIVE_HELPER_PREPARED_TTL_MS = 5_000;
@@ -34,17 +34,18 @@ function command(v) {
34
34
  if (v.method === "perform_dispatch" || v.method === "cancel_dispatch")
35
35
  return exact(v, ["method", "preparationId"]) && typeof v.preparationId === "string" && PREPARATION.test(v.preparationId);
36
36
  if (v.method === "prepare_dispatch") {
37
- const selected = v.authorization === "selected_route";
38
- return exact(v, ["method", "binding", "authorization", "messageId", "sourceAlias", "sourceProvider",
39
- "targetAlias", "conversationId", "text", "expectsReply", "deadlineAt"], ["stateRoot", "progressWatchActive"]) &&
40
- route(v.binding) && (selected || v.authorization === "native_reply") && str(v.messageId, 256) &&
37
+ // Protocol 2: `selected_route` is the only authorization, so `stateRoot` is
38
+ // always required. Protocol 1's second arm omitted it and therefore skipped
39
+ // the target-workspace assertion; that arm is gone.
40
+ return exact(v, ["method", "binding", "authorization", "stateRoot", "messageId", "sourceAlias",
41
+ "sourceProvider", "targetAlias", "conversationId", "text", "expectsReply", "deadlineAt"]) &&
42
+ route(v.binding) && v.authorization === "selected_route" && str(v.messageId, 256) &&
41
43
  source(v.sourceAlias, v.sourceProvider) &&
42
44
  typeof v.targetAlias === "string" && ALIAS.test(v.targetAlias) &&
43
45
  typeof v.conversationId === "string" && CONVERSATION.test(v.conversationId) &&
44
46
  typeof v.text === "string" && Buffer.byteLength(v.text) <= 16 * 1024 && typeof v.expectsReply === "boolean" &&
45
47
  typeof v.deadlineAt === "string" && Number.isFinite(Date.parse(v.deadlineAt)) &&
46
- (v.progressWatchActive === undefined || v.progressWatchActive === true) &&
47
- (selected ? str(v.stateRoot) && v.stateRoot.startsWith("/") : v.stateRoot === undefined);
48
+ str(v.stateRoot) && v.stateRoot.startsWith("/");
48
49
  }
49
50
  if (v.method === "update_inbound_status")
50
51
  return exact(v, ["method", "receiptHandle", "status"], ["diagnosticCode"]) &&
@@ -63,16 +64,16 @@ function command(v) {
63
64
  return v.method === "unadvertise" && exact(v, ["method", "alias"]) && typeof v.alias === "string" && ALIAS.test(v.alias);
64
65
  }
65
66
  export function isClaudeNativeHelperParentMessage(v) {
66
- if (!rec(v) || v.protocolVersion !== 1 || typeof v.requestId !== "string" || !ID.test(v.requestId))
67
+ if (!rec(v) || v.protocolVersion !== 2 || typeof v.requestId !== "string" || !ID.test(v.requestId))
67
68
  return false;
68
69
  if (v.type === "request")
69
70
  return exact(v, ["protocolVersion", "type", "requestId", "command"]) && command(v.command);
70
- if (v.type !== "initialize" || !exact(v, ["protocolVersion", "type", "requestId", "runtime", "hostId", "locale",
71
+ if (v.type !== "initialize" || !exact(v, ["protocolVersion", "type", "requestId", "runtime", "hostId",
71
72
  "deliveryNotices", "maxPendingMessages", "registration"]) || !rec(v.runtime) || !rec(v.registration))
72
73
  return false;
73
74
  return exact(v.runtime, ["sessionsDir", "socketDir"]) && str(v.runtime.sessionsDir) && v.runtime.sessionsDir.startsWith("/") &&
74
75
  str(v.runtime.socketDir) && v.runtime.socketDir.startsWith("/") && typeof v.hostId === "string" && HOST.test(v.hostId) &&
75
- (v.locale === "en" || v.locale === "zh-CN") && ["merged", "verbose", "quiet"].includes(String(v.deliveryNotices)) &&
76
+ ["merged", "verbose", "quiet"].includes(String(v.deliveryNotices)) &&
76
77
  Number.isSafeInteger(v.maxPendingMessages) && Number(v.maxPendingMessages) >= 1 && Number(v.maxPendingMessages) <= 4_096 &&
77
78
  exact(v.registration, ["alias", "sourceProvider", "cwd"]) && source(v.registration.alias, v.registration.sourceProvider) &&
78
79
  str(v.registration.cwd) && v.registration.cwd.startsWith("/");
@@ -95,7 +96,7 @@ function result(v) {
95
96
  (v.replyText === undefined || typeof v.replyText === "string" && Buffer.byteLength(v.replyText) <= 64 * 1024);
96
97
  }
97
98
  export function isClaudeNativeHelperChildMessage(v) {
98
- if (!rec(v) || v.protocolVersion !== 1)
99
+ if (!rec(v) || v.protocolVersion !== 2)
99
100
  return false;
100
101
  if (v.type === "response")
101
102
  return typeof v.requestId === "string" && ID.test(v.requestId) && typeof v.ok === "boolean" &&
@@ -1 +1 @@
1
- {"version":3,"file":"claude-helper-protocol.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-helper-protocol.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-protocol.ts"],"names":[],"mappings":"AAIA,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,IAAI,GAAG,yCAAyC,CAAC;AACvD,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,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9E,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;AAChG,CAAC;AACD,SAAS,OAAO,CAAC,CAAU;IACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC,CAAC,MAAM,KAAK,kBAAkB,IAAI,CAAC,CAAC,MAAM,KAAK,iBAAiB;QACnE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC3H,IAAI,CAAC,CAAC,MAAM,KAAK,kBAAkB,EAAE,CAAC;QACpC,4EAA4E;QAC5E,4EAA4E;QAC5E,oDAAoD;QACpD,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa;YAC5F,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;YACzF,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC;YACjF,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC;YACvC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9D,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;YAC3E,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,SAAS;YAC3G,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7E,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,uBAAuB;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;YAClH,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,CAAC,MAAM,KAAK,yBAAyB;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;YAClG,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACpG,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,YAAY,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtF,IAAI,CAAC,CAAC,MAAM,KAAK,yBAAyB;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACtH,IAAI,CAAC,CAAC,MAAM,KAAK,eAAe;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAC7G,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3H,CAAC;AACD,MAAM,UAAU,iCAAiC,CAAC,CAAU;IAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjH,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACrH,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ;QACnG,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACrH,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC;QAC1H,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QACtH,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAClE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,KAAK;QACxH,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC;QACxH,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AACD,SAAS,MAAM,CAAC,CAAU;IACxB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;IAC3C,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;IACnE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;YACjG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YACnG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACpG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AAClH,CAAC;AACD,MAAM,UAAU,gCAAgC,CAAC,CAAU;IACzD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS;YACpH,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9F,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjF,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IACxJ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,gBAAgB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACjI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QAC9G,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACvG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI;QAC5E,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;AACzE,CAAC;AACD,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,kCAAkC;QAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;AAChJ,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { type ChildProcess } from "node:child_process";
2
2
  import type { AttestedClaudePeerRuntime } from "./claude-runtime.js";
3
3
  import type { GatewayDeliveryNoticeMode } from "./config.js";
4
- import type { DashboardLocale } from "./locale.js";
5
4
  import type { GatewayAdapterCallbacks, GatewayAdapterDispatchResult } from "./service.js";
6
5
  import { type GatewayProvider, type LogicalRouteBinding } from "./types.js";
7
6
  import { type ClaudeNativeHelperCommand, type ClaudeNativeHelperEvent, type ClaudeNativeHelperRegistration, type ClaudeNativeHelperResult } from "./claude-helper-protocol.js";
@@ -16,7 +15,6 @@ export type ClaudeNativeHelperClientStartOptions = Readonly<{
16
15
  entryPath?: string;
17
16
  runtime: AttestedClaudePeerRuntime;
18
17
  hostId: string;
19
- locale: DashboardLocale;
20
18
  deliveryNotices: GatewayDeliveryNoticeMode;
21
19
  maxPendingMessages: number;
22
20
  registration: ClaudeNativeHelperRegistration;
@@ -54,7 +52,6 @@ export type ClaudeNativeHelperPreparedDispatch = Readonly<{
54
52
  export type ClaudeNativeHelperSupervisorOptions = Readonly<{
55
53
  identity: Pick<LogicalRouteBinding, "provider" | "hostId">;
56
54
  runtime: AttestedClaudePeerRuntime;
57
- locale: DashboardLocale;
58
55
  deliveryNotices: GatewayDeliveryNoticeMode;
59
56
  maxPendingMessages: number;
60
57
  maxHelpers: number;
@@ -77,12 +74,11 @@ export declare class ClaudeNativeHelperSupervisor {
77
74
  selectedAlias?: string;
78
75
  stateRoot?: string;
79
76
  binding: LogicalRouteBinding;
80
- authorization: "selected_route" | "native_reply";
77
+ authorization: "selected_route";
81
78
  messageId: string;
82
79
  text: string;
83
80
  expectsReply: boolean;
84
81
  deadlineAt: string;
85
- progressWatchActive?: true;
86
82
  }>): Promise<ClaudeNativeHelperPreparedDispatch>;
87
83
  updateInboundStatus(receiptHandle: string, status: "held" | "delivered" | "denied" | "expired", diagnosticCode?: string): Promise<void>;
88
84
  notifyInboundProgress(receiptHandle: string, progress: import("./claude-peer.js").ClaudePeerInboundProgress): Promise<void>;