agent-embassy 1.9.5 → 3.0.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 (150) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/CONTRIBUTING.md +19 -34
  3. package/README.md +110 -221
  4. package/SECURITY.md +55 -89
  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 +9 -12
  9. package/dist/src/gateway/claude-helper-protocol.js +15 -13
  10. package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
  11. package/dist/src/gateway/claude-helper-supervisor.d.ts +2 -6
  12. package/dist/src/gateway/claude-helper-supervisor.js +10 -9
  13. package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
  14. package/dist/src/gateway/claude-helper.js +18 -10
  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 +6 -18
  18. package/dist/src/gateway/claude-peer.js.map +1 -1
  19. package/dist/src/gateway/cli.d.ts +18 -13
  20. package/dist/src/gateway/cli.js +942 -298
  21. package/dist/src/gateway/cli.js.map +1 -1
  22. package/dist/src/gateway/codex-local-transport.d.ts +1 -1
  23. package/dist/src/gateway/codex-local-transport.js +2 -2
  24. package/dist/src/gateway/codex-local-transport.js.map +1 -1
  25. package/dist/src/gateway/codex-socket-holder.d.ts +26 -0
  26. package/dist/src/gateway/codex-socket-holder.js +76 -0
  27. package/dist/src/gateway/codex-socket-holder.js.map +1 -0
  28. package/dist/src/gateway/codex-stateless-transport.js +1 -1
  29. package/dist/src/gateway/codex-stateless-transport.js.map +1 -1
  30. package/dist/src/gateway/config.d.ts +5 -13
  31. package/dist/src/gateway/config.js +7 -19
  32. package/dist/src/gateway/config.js.map +1 -1
  33. package/dist/src/gateway/control.d.ts +55 -108
  34. package/dist/src/gateway/control.js +95 -222
  35. package/dist/src/gateway/control.js.map +1 -1
  36. package/dist/src/gateway/federation-nodes.d.ts +29 -3
  37. package/dist/src/gateway/federation-nodes.js +200 -15
  38. package/dist/src/gateway/federation-nodes.js.map +1 -1
  39. package/dist/src/gateway/peer-client.d.ts +4 -3
  40. package/dist/src/gateway/peer-client.js +22 -13
  41. package/dist/src/gateway/peer-client.js.map +1 -1
  42. package/dist/src/gateway/peer-protocol.d.ts +8 -11
  43. package/dist/src/gateway/peer-protocol.js +5 -12
  44. package/dist/src/gateway/peer-protocol.js.map +1 -1
  45. package/dist/src/gateway/provenance-envelope.d.ts +0 -1
  46. package/dist/src/gateway/provenance-envelope.js +4 -19
  47. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  48. package/dist/src/gateway/providers.d.ts +10 -7
  49. package/dist/src/gateway/providers.js +21 -28
  50. package/dist/src/gateway/providers.js.map +1 -1
  51. package/dist/src/gateway/server.d.ts +4 -14
  52. package/dist/src/gateway/server.js +33 -59
  53. package/dist/src/gateway/server.js.map +1 -1
  54. package/dist/src/gateway/service-agent.d.ts +187 -0
  55. package/dist/src/gateway/service-agent.js +758 -0
  56. package/dist/src/gateway/service-agent.js.map +1 -0
  57. package/dist/src/gateway/service.d.ts +117 -32
  58. package/dist/src/gateway/service.js +525 -576
  59. package/dist/src/gateway/service.js.map +1 -1
  60. package/dist/src/gateway/status-view.d.ts +167 -0
  61. package/dist/src/gateway/status-view.js +488 -0
  62. package/dist/src/gateway/status-view.js.map +1 -0
  63. package/dist/src/gateway/store.d.ts +103 -21
  64. package/dist/src/gateway/store.js +473 -547
  65. package/dist/src/gateway/store.js.map +1 -1
  66. package/dist/src/gateway/types.d.ts +51 -102
  67. package/dist/src/gateway/types.js +15 -52
  68. package/dist/src/gateway/types.js.map +1 -1
  69. package/docs/CONFIGURATION.md +194 -59
  70. package/docs/DELIVERY.md +11 -11
  71. package/docs/GATEWAY-ARCHITECTURE.md +286 -394
  72. package/package.json +4 -12
  73. package/skills/embassy-peer/SKILL.md +72 -92
  74. package/skills/embassy-peer/agents/openai.yaml +1 -1
  75. package/README.zh-CN.md +0 -269
  76. package/assets/live-dashboard/app.css +0 -1619
  77. package/assets/vendor/react/LICENSE +0 -21
  78. package/assets/vendor/react/react-dom.production.min.js +0 -267
  79. package/assets/vendor/react/react.production.min.js +0 -31
  80. package/dist/src/gateway/acp-client.d.ts +0 -110
  81. package/dist/src/gateway/acp-client.js +0 -407
  82. package/dist/src/gateway/acp-client.js.map +0 -1
  83. package/dist/src/gateway/acp-provider.d.ts +0 -66
  84. package/dist/src/gateway/acp-provider.js +0 -275
  85. package/dist/src/gateway/acp-provider.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 -17
  88. package/dist/src/gateway/cli-copy.en.js +0 -58
  89. package/dist/src/gateway/cli-copy.en.js.map +0 -1
  90. package/dist/src/gateway/cli-copy.js +0 -22
  91. package/dist/src/gateway/cli-copy.js.map +0 -1
  92. package/dist/src/gateway/cli-copy.zh-CN.d.ts +0 -17
  93. package/dist/src/gateway/cli-copy.zh-CN.js +0 -58
  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 -58
  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/dist/src/gateway/state-v2-to-v3.d.ts +0 -24
  145. package/dist/src/gateway/state-v2-to-v3.js +0 -1034
  146. package/dist/src/gateway/state-v2-to-v3.js.map +0 -1
  147. package/docs/CONFIGURATION.zh-CN.md +0 -93
  148. package/docs/DASHBOARD.md +0 -98
  149. package/docs/DASHBOARD.zh-CN.md +0 -49
  150. package/docs/DELIVERY.zh-CN.md +0 -55
@@ -1,7 +1,7 @@
1
1
  import { spawn as nodeSpawn } from "node:child_process";
2
2
  import { Buffer } from "node:buffer";
3
3
  import { createHash } from "node:crypto";
4
- import { decodePeerParams, decodePeerResult, encodePeerFrame, peerEdgeRef, PEER_MAX_CATALOG_BYTES, PEER_MAX_REQUEST_BYTES, PEER_METHOD_NOT_FOUND, PEER_REQUEST_TIMEOUT_MS } from "./peer-protocol.js";
4
+ import { decodePeerParams, decodePeerResult, encodePeerFrame, PEER_MAX_CATALOG_BYTES, PEER_MAX_REQUEST_BYTES, PEER_METHOD_NOT_FOUND, PEER_PROTOCOL_VERSION, PEER_REQUEST_TIMEOUT_MS, PeerProtocolError } from "./peer-protocol.js";
5
5
  export class PeerRequestError extends Error {
6
6
  detail;
7
7
  constructor(detail) {
@@ -38,8 +38,8 @@ export class PeerClient {
38
38
  child.once("exit", () => this.fail(new PeerConnectionLostError()));
39
39
  }
40
40
  static async spawn(options) {
41
- decodePeerParams("initialize", { protocolVersion: 1, host: options.node });
42
- decodePeerParams("initialize", { protocolVersion: 1, host: options.localHost });
41
+ decodePeerParams("initialize", { protocolVersion: PEER_PROTOCOL_VERSION, host: options.node });
42
+ decodePeerParams("initialize", { protocolVersion: PEER_PROTOCOL_VERSION, host: options.localHost });
43
43
  let child;
44
44
  try {
45
45
  child = (options.spawn ?? nodeSpawn)("/usr/bin/ssh", ["-T", "-x", "-o", "BatchMode=yes", "-o", "ClearAllForwardings=yes", "-o", "ForwardAgent=no", "-o", "PermitLocalCommand=no", "-o", "SendEnv=-*", "-o", "Tunnel=no", options.node, "embassy", "peer-stdio"], { env: peerEnvironment(process.env), shell: false, stdio: ["pipe", "pipe", "pipe"] });
@@ -49,7 +49,7 @@ export class PeerClient {
49
49
  }
50
50
  const client = new PeerClient(child, options.localHost, options.timers ?? { setTimeout, clearTimeout });
51
51
  try {
52
- const result = await client.request("initialize", { protocolVersion: 1, host: options.localHost });
52
+ const result = await client.request("initialize", { protocolVersion: PEER_PROTOCOL_VERSION, host: options.localHost });
53
53
  if (result.host !== options.node)
54
54
  throw new Error(`Peer host mismatch: expected ${options.node}, received ${result.host}`);
55
55
  client.remoteHost = result.host;
@@ -57,22 +57,21 @@ export class PeerClient {
57
57
  }
58
58
  catch (error) {
59
59
  client.close();
60
+ // Our initialize params are validated above before they are sent, so a peer that
61
+ // rejects them as invalid params, or answers with another version, disagrees on the wire itself.
62
+ if ((error instanceof PeerProtocolError && error.code === "PROTOCOL_MISMATCH") || (error instanceof PeerRequestError && error.detail.code === -32602))
63
+ throw new PeerConnectionLostError("Peer protocol version mismatch", "protocol");
60
64
  throw new PeerConnectionLostError(error instanceof Error ? error.message : "Peer initialization failed", "initialize");
61
65
  }
62
66
  }
63
- get connectionInfo() { return { host: this.remoteHost, protocolVersion: 1 }; }
67
+ get connectionInfo() { return { host: this.remoteHost, protocolVersion: PEER_PROTOCOL_VERSION }; }
64
68
  async catalog() {
65
69
  const result = await this.request("catalog/get", {});
66
70
  const routeIds = result.routes.flatMap((row) => [row.alias, row.ref]), connectorIds = result.connectors.map((row) => row.provider);
67
71
  const invalid = (result.complete && result.truncated) || new Set(routeIds).size !== routeIds.length || new Set(connectorIds).size !== connectorIds.length ||
68
- [...result.routes, ...result.connectors].some((row) => row.host !== this.remoteHost) || result.consentEdges.some((edge) => {
69
- const hosts = edge.endpoints.map((endpoint) => endpoint.host).sort();
70
- return hosts[0] !== [this.localHost, this.remoteHost].sort()[0] || hosts[1] !== [this.localHost, this.remoteHost].sort()[1] ||
71
- edge.ownerHost !== hosts[0] || edge.ownerHost !== this.remoteHost || edge.ref !== peerEdgeRef(edge.endpoints);
72
- }) || new Set(result.consentEdges.map((edge) => edge.ref)).size !== result.consentEdges.length ||
72
+ [...result.routes, ...result.connectors].some((row) => row.host !== this.remoteHost) ||
73
73
  result.alerts.some((alert) => (alert.host !== undefined && alert.host !== this.remoteHost) ||
74
- (alert.alias !== undefined && !alert.alias.endsWith(`@${this.remoteHost}`))) || result.consentEdges.some((edge) => edge.endpoints
75
- .filter((endpoint) => endpoint.host === this.remoteHost).some((endpoint) => !result.routes.some((route) => route.alias === endpoint.alias && route.provider === endpoint.provider && route.ref === endpoint.routeRef)));
74
+ (alert.alias !== undefined && !alert.alias.endsWith(`@${this.remoteHost}`)));
76
75
  if (invalid) {
77
76
  const error = new Error("Peer catalog is not a local, canonical projection");
78
77
  this.fail(error);
@@ -178,10 +177,20 @@ export class PeerClient {
178
177
  }
179
178
  else
180
179
  try {
180
+ if (pending.method === "initialize" && object(message.result) && typeof message.result.protocolVersion === "number" && message.result.protocolVersion !== PEER_PROTOCOL_VERSION)
181
+ throw new PeerProtocolError("PROTOCOL_MISMATCH");
181
182
  pending.resolve(decodePeerResult(pending.method, message.result));
182
183
  }
183
184
  catch (fault) {
184
- const error = fault instanceof Error ? fault : new Error("Invalid peer result");
185
+ // A result this build cannot decode is a disagreement about the wire,
186
+ // not a broken tunnel: the shapes of `catalog/get` and `handoff`
187
+ // changed within this protocol version's own line, so a lagging node
188
+ // answers honestly and is still unreadable here. Naming it as a
189
+ // protocol mismatch sends the operator to upgrade the node instead of
190
+ // to debug SSH.
191
+ const error = fault instanceof PeerProtocolError && fault.code === "INVALID_RESULT"
192
+ ? new PeerConnectionLostError(`Peer ${pending.method} result is not readable by this build`, "protocol")
193
+ : fault instanceof Error ? fault : new Error("Invalid peer result");
185
194
  pending.reject(error);
186
195
  this.fail(error);
187
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"peer-client.js","sourceRoot":"","sources":["../../../src/gateway/peer-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAsE,MAAM,oBAAoB,CAAC;AAC5H,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,EACvH,qBAAqB,EAAE,uBAAuB,EACoD,MAAM,oBAAoB,CAAC;AAQ/H,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAAwB;IAArB,YAAqB,MAAoB;QAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAA9C,WAAM,GAAN,MAAM,CAAc;QAA2B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IAAC,CAAC;CAAE;AAErJ,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAA0D;IAAvD,YAAY,OAAO,GAAG,sBAAsB,EAAW,eAAiC,WAAW;QAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAA/D,iBAAY,GAAZ,YAAY,CAAgC;QAAoB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAAC,CAAC;CAAE;AAEtN,MAAM,OAAO,UAAU;IAGO;IAAsB;IAA2B;IAFrE,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAAS,MAAM,GAAG,CAAC,CAAC;IAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAAS,MAAM,GAAG,KAAK,CAAC;IAAS,UAAU,GAAG,EAAE,CAAC;IACnG,YAA4B,KAAY,EAAU,SAAiB,EAAU,MAAkB;QAAnE,UAAK,GAAL,KAAK,CAAO;QAAU,cAAS,GAAT,SAAS,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAY;QAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACrL,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAC;IAAC,CAAC;IAC5I,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAA8F;QAC/G,gBAAgB,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAAC,gBAAgB,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5J,IAAI,KAAY,CAAC;QAAC,IAAI,CAAC;YAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,cAAc,EACzE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,EAC1M,EAAE,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,uBAAuB,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAAC,CAAC;QACrL,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC;YAAC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YAChN,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,CAAC,IAAI,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3H,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YAAC,OAAO,MAAM,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,uBAAuB,CACjH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;IAC7F,CAAC;IACD,IAAI,cAAc,KAAqD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9H,KAAK,CAAC,OAAO;QAAiC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnI,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM;YACvJ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzH,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,KAAK,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClH,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,YAAY,CAAC,MAAM;YAC9F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC;gBACxF,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS;aAC9H,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACxG,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrH,IAAI,OAAO,EAAE,CAAC;YAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;QAAC,OAAO,MAAM,CAAC;IAAC,CAAC;IAChJ,cAAc,CAAC,MAAyB;QACtC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,uBAAuB,EAAE,CAAC;QAC1F,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACpI,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,GAAG,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;QAC7H,IAAI,KAAK,GAA2C,UAAU,CAAC;QAAC,MAAM,IAAI,GAAG,GAAU,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpJ,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACpN,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,KAAK,KAAK,UAAU;gBAAE,IAAI,EAAE,CAAC,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;gBAAG,IAAI,KAAK,KAAK,UAAU;oBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjJ,KAAK,GAAG,WAAW,CAAC;gBAAC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IACD,KAAK,KAAW,IAAI,CAAC,IAAI,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,CAAuB,MAAS,EAAE,MAA2B;QAAkC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrI,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAAC,CAAC;IAClH,YAAY,CAAuB,MAAS,EAAE,EAAa,EAAE,KAAa;QAChF,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;QAAC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAAG,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBAClK,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAAC,MAAM,KAAK,GAAG,IAAI,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3M,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAiC,CAAC;IAC3O,CAAC;IACO,KAAK,CAAC,KAAa;QAAmB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3H,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC;QACxK,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IAC7D,IAAI,CAAC,KAAa;QAAU,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7G,SAAS,CAAC;YAAC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,sBAAsB;oBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACxL,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAAC,IAAI,IAAI,CAAC,MAAM,GAAG,sBAAsB;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACvM,IAAI,OAAgB,CAAC;YAAC,IAAI,CAAC;gBAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAAC,CAAC;YAClL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAC1H,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;oBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;gBAC/H,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACnN,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,CAAC;YAAC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAe,CAAC,CAAC;YAC7J,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAe,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3K,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBAAC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;;oBAAM,OAAO,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAAC,CAAC;;gBAAM,IAAI,CAAC;oBAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAC3V,OAAO,KAAK,EAAE,CAAC;oBAAC,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;QAC7I,CAAC;IAAC,CAAC;IACG,IAAI,CAAC,KAAY,IAAU,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CAC5O;AACD,MAAM,eAAe,GAAG,CAAC,GAAsB,EAAqB,EAAE,CAAC,MAAM,CAAC,WAAW,CACvF,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnH,MAAM,MAAM,GAAG,CAAC,KAAc,EAAgB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtH,MAAM,EAAE,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AAC/F,MAAM,OAAO,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/J,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAChK,SAAS,KAAK,CAAC,KAAc;IAA8B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAClJ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1G,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAAC,CAAC;AACvH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA+C,EAAuB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"peer-client.js","sourceRoot":"","sources":["../../../src/gateway/peer-client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type ConnectorHealth, type GatewayProvider, type RouteState } from "./types.js";
2
- export declare const PEER_PROTOCOL_VERSION = 1, PEER_MAX_REQUEST_BYTES: number, PEER_MAX_CATALOG_BYTES: number, PEER_MAX_BODY_BYTES: number, PEER_REQUEST_TIMEOUT_MS = 30000, PEER_METHOD_NOT_FOUND = -32601;
2
+ export declare const PEER_PROTOCOL_VERSION = 2, PEER_MAX_REQUEST_BYTES: number, PEER_MAX_CATALOG_BYTES: number, PEER_MAX_BODY_BYTES: number, PEER_REQUEST_TIMEOUT_MS = 30000, PEER_METHOD_NOT_FOUND = -32601;
3
3
  export declare const peerCapabilities: readonly ["catalog", "handoff"];
4
4
  export type PeerRpcId = string | number;
5
5
  export type PeerRpcError = Readonly<{
@@ -15,11 +15,11 @@ export type PeerEndpoint = Readonly<{
15
15
  routeRef: string;
16
16
  }>;
17
17
  export type PeerInitializeParams = Readonly<{
18
- protocolVersion: 1;
18
+ protocolVersion: typeof PEER_PROTOCOL_VERSION;
19
19
  host: string;
20
20
  }>;
21
21
  export type PeerInitializeResult = Readonly<{
22
- protocolVersion: 1;
22
+ protocolVersion: typeof PEER_PROTOCOL_VERSION;
23
23
  host: string;
24
24
  capabilities: typeof peerCapabilities;
25
25
  limits: Readonly<{
@@ -28,13 +28,16 @@ export type PeerInitializeResult = Readonly<{
28
28
  bodyBytes: number;
29
29
  }>;
30
30
  }>;
31
+ /**
32
+ * A federated handoff is authorized by the sending host's membership in the
33
+ * destination's nodes.json plus exact alias addressing; the wire carries no
34
+ * permission record beyond the two endpoints.
35
+ */
31
36
  export type PeerHandoffParams = Readonly<{
32
37
  originAttemptId: string;
33
38
  originMessageId: string;
34
39
  source: PeerEndpoint;
35
40
  target: PeerEndpoint;
36
- edgeRef: string;
37
- edgeOwnerHost: string;
38
41
  deadlineAt: string;
39
42
  expectsReply: boolean;
40
43
  body: string;
@@ -71,11 +74,6 @@ export type PeerCatalogResult = Readonly<{
71
74
  lastSeenAt?: string;
72
75
  safeErrorCode?: string;
73
76
  }>[];
74
- consentEdges: readonly Readonly<{
75
- ref: string;
76
- ownerHost: string;
77
- endpoints: readonly [PeerEndpoint, PeerEndpoint];
78
- }>[];
79
77
  alerts: readonly Readonly<{
80
78
  code: string;
81
79
  severity: "info" | "warning" | "error";
@@ -101,7 +99,6 @@ export declare class PeerProtocolError extends Error {
101
99
  }
102
100
  export declare const isPeerMethod: (value: unknown) => value is PeerMethod;
103
101
  export declare function peerRouteRef(hostId: string, registrationId: string): string;
104
- export declare function peerEdgeRef(endpoints: readonly [PeerEndpoint, PeerEndpoint]): string;
105
102
  export declare function peerInitializeResult(localHost: string): PeerInitializeResult;
106
103
  export declare function decodePeerParams<M extends PeerMethod>(method: M, value: unknown): PeerMethodParams[M];
107
104
  export declare function decodePeerResult<M extends PeerMethod>(method: M, value: unknown): PeerMethodResult[M];
@@ -1,7 +1,7 @@
1
1
  import { Buffer } from "node:buffer";
2
2
  import { createHash } from "node:crypto";
3
3
  import { connectorHealthStates, gatewayProviders, routeStates } from "./types.js";
4
- export const PEER_PROTOCOL_VERSION = 1, PEER_MAX_REQUEST_BYTES = 32 * 1024, PEER_MAX_CATALOG_BYTES = 256 * 1024, PEER_MAX_BODY_BYTES = 16 * 1024, PEER_REQUEST_TIMEOUT_MS = 30_000, PEER_METHOD_NOT_FOUND = -32601;
4
+ export const PEER_PROTOCOL_VERSION = 2, PEER_MAX_REQUEST_BYTES = 32 * 1024, PEER_MAX_CATALOG_BYTES = 256 * 1024, PEER_MAX_BODY_BYTES = 16 * 1024, PEER_REQUEST_TIMEOUT_MS = 30_000, PEER_METHOD_NOT_FOUND = -32601;
5
5
  export const peerCapabilities = ["catalog", "handoff"];
6
6
  const providers = new Set(gatewayProviders), health = new Set(connectorHealthStates), states = new Set(routeStates);
7
7
  const host = (v) => typeof v === "string" && /^[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/.test(v);
@@ -35,20 +35,14 @@ export function peerRouteRef(hostId, registrationId) {
35
35
  throw new PeerProtocolError("INVALID_ROUTE_AUTHORITY");
36
36
  return `reg_${createHash("sha256").update(`${hostId}\0${registrationId}`).digest("base64url")}`;
37
37
  }
38
- export function peerEdgeRef(endpoints) {
39
- if (!endpoints.every(endpoint))
40
- throw new PeerProtocolError("INVALID_ENDPOINT");
41
- const canonical = endpoints.map(({ host, alias, routeRef }) => `${host}\0${alias}\0${routeRef}`).sort().join("\0");
42
- return `edge_${createHash("sha256").update(canonical).digest("base64url")}`;
43
- }
44
38
  export function peerInitializeResult(localHost) {
45
- return { protocolVersion: 1, host: localHost,
39
+ return { protocolVersion: PEER_PROTOCOL_VERSION, host: localHost,
46
40
  capabilities: peerCapabilities, limits: { requestBytes: PEER_MAX_REQUEST_BYTES, catalogBytes: PEER_MAX_CATALOG_BYTES, bodyBytes: PEER_MAX_BODY_BYTES } };
47
41
  }
48
42
  export function decodePeerParams(method, value) {
49
- const valid = method === "initialize" ? exact(value, { protocolVersion: (v) => v === 1, host }) : method === "catalog/get" ? exact(value, {}) :
43
+ const valid = method === "initialize" ? exact(value, { protocolVersion: (v) => v === PEER_PROTOCOL_VERSION, host }) : method === "catalog/get" ? exact(value, {}) :
50
44
  exact(value, { originAttemptId: token("attempt_"), originMessageId: token("msg_"), source: endpoint, target: endpoint,
51
- edgeRef: token("edge_"), edgeOwnerHost: host, deadlineAt: date, expectsReply: bool,
45
+ deadlineAt: date, expectsReply: bool,
52
46
  body: (v) => typeof v === "string" && Buffer.byteLength(v, "utf8") > 0 && Buffer.byteLength(v, "utf8") <= PEER_MAX_BODY_BYTES,
53
47
  steer: optional((v) => v === true), conversationCorrelation: optional((v) => typeof v === "string" && /^[A-Za-z0-9_-]{8}$/.test(v)) });
54
48
  if (!valid)
@@ -56,13 +50,12 @@ export function decodePeerParams(method, value) {
56
50
  return value;
57
51
  }
58
52
  export function decodePeerResult(method, value) {
59
- const valid = method === "initialize" ? exact(value, { protocolVersion: (v) => v === 1, host,
53
+ const valid = method === "initialize" ? exact(value, { protocolVersion: (v) => v === PEER_PROTOCOL_VERSION, host,
60
54
  capabilities: (v) => Array.isArray(v) && v.length === 2 && v[0] === "catalog" && v[1] === "handoff",
61
55
  limits: (v) => exact(v, { requestBytes: (x) => x === PEER_MAX_REQUEST_BYTES, catalogBytes: (x) => x === PEER_MAX_CATALOG_BYTES, bodyBytes: (x) => x === PEER_MAX_BODY_BYTES }) }) :
62
56
  method === "handoff" ? exact(value, { accepted: (v) => v === true }) : exact(value, { revision: natural, complete: bool, truncated: bool, generatedAt: date, health: member(health),
63
57
  connectors: list((v) => exact(v, { provider: member(providers), host, health: member(health), protocol: atom, protocolVersion: atom, lastSeenAt: optional(date), observationAgeMs: optional(natural), safeErrorCode: optional(code) }), 64),
64
58
  routes: list((v) => exact(v, { ref: token("reg_"), alias, provider: member(providers), host, enabled: bool, state: member(states), queueDepth: natural, lastSeenAt: optional(date), safeErrorCode: optional(code) }) && coordinate(v), 256),
65
- consentEdges: list((v) => exact(v, { ref: token("edge_"), ownerHost: host, endpoints: (x) => Array.isArray(x) && x.length === 2 && x.every(endpoint) }), 256),
66
59
  alerts: list((v) => exact(v, { code, severity: member(new Set(["info", "warning", "error"])), timestamp: date, provider: optional(member(providers)), host: optional(host), alias: optional(alias) }), 256) });
67
60
  if (!valid)
68
61
  throw new PeerProtocolError("INVALID_RESULT");
@@ -1 +1 @@
1
- {"version":3,"file":"peer-protocol.js","sourceRoot":"","sources":["../../../src/gateway/peer-protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-protocol.js","sourceRoot":"","sources":["../../../src/gateway/peer-protocol.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export type ComposeProvenanceEnvelopeInput = Readonly<{
8
8
  targetAlias: string;
9
9
  conversationId: string;
10
10
  body: string;
11
- progressWatchActive?: true;
12
11
  /** Older accepted rows on this exact route when a STEER is injected. */
13
12
  queuedAhead?: number;
14
13
  }>;
@@ -4,7 +4,7 @@ export const PROVENANCE_RAW_BODY_MAX_BYTES = 16 * 1024;
4
4
  export const PROVENANCE_ENVELOPE_MAX_BYTES = 64 * 1024;
5
5
  const ALIAS_PATTERN = /^[a-z][a-z0-9_-]{0,31}@[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
6
6
  const CONVERSATION_ID_PATTERN = /^conv_[A-Za-z0-9_-]{16,64}$/;
7
- const RESERVED_TAG_PATTERN = /<(?=\/?(?:cross-session-message|embassy-reply-hint|embassy-track-active|embassy-queued-ahead)(?:[>\s/]|$))/giu;
7
+ const RESERVED_TAG_PATTERN = /<(?=\/?(?:cross-session-message|embassy-reply-hint|embassy-queued-ahead)(?:[>\s/]|$))/giu;
8
8
  const CLAUDE_FROM_NAME_MAX_CODEPOINTS = 64;
9
9
  const LONG_ALIAS_HASH_HEX_LENGTH = 16;
10
10
  const PROVENANCE_RECIPIENT_PROFILE_VALUES = {
@@ -17,14 +17,6 @@ const PROVENANCE_RECIPIENT_PROFILE_VALUES = {
17
17
  emitConversationAttribute: true,
18
18
  allowQueuedAhead: true,
19
19
  }),
20
- deepseek: Object.freeze({
21
- emitConversationAttribute: true,
22
- allowQueuedAhead: false,
23
- }),
24
- grok: Object.freeze({
25
- emitConversationAttribute: true,
26
- allowQueuedAhead: false,
27
- }),
28
20
  peer: Object.freeze({
29
21
  emitConversationAttribute: true,
30
22
  allowQueuedAhead: false,
@@ -55,8 +47,6 @@ function validateInput(input) {
55
47
  typeof input.conversationId !== "string" ||
56
48
  !CONVERSATION_ID_PATTERN.test(input.conversationId) ||
57
49
  typeof input.body !== "string" ||
58
- (input.progressWatchActive !== undefined &&
59
- input.progressWatchActive !== true) ||
60
50
  (input.queuedAhead !== undefined &&
61
51
  (!PROVENANCE_RECIPIENT_PROFILES[input.recipientProvider]
62
52
  .allowQueuedAhead ||
@@ -106,18 +96,13 @@ export function composeProvenanceEnvelope(input) {
106
96
  const exactSourceAttribute = profile.fromNameMaxCodepoints !== undefined && display.shortened
107
97
  ? ` from-alias="${input.sourceAlias}"`
108
98
  : "";
109
- const replyCommand = `embassy reply --conversation ${input.conversationId}` +
110
- ` --alias ${input.targetAlias}`;
99
+ const replyCommand = `embassy send --conversation ${input.conversationId}` +
100
+ ` --from ${input.targetAlias}`;
111
101
  const hint = `<embassy-reply-hint conversation="${input.conversationId}"` +
112
102
  ` reply-as="${input.targetAlias}"${exactSourceAttribute}` +
113
103
  ` from-provider="${input.sourceProvider}">` +
114
104
  `Reply by running \`${replyCommand}\` with the reply body on stdin. ` +
115
105
  "Caller, conversation, and route policy are rechecked.</embassy-reply-hint>";
116
- const trackMarker = input.progressWatchActive === true
117
- ? "\n<embassy-track-active>Progress supervision is active for this " +
118
- "conversation. Reply with a leading `DONE:` when the assigned work " +
119
- "is complete; that completion closes the watch.</embassy-track-active>"
120
- : "";
121
106
  const queuedAheadMarker = input.queuedAhead === undefined
122
107
  ? ""
123
108
  : `\n<embassy-queued-ahead count="${input.queuedAhead}">` +
@@ -126,7 +111,7 @@ export function composeProvenanceEnvelope(input) {
126
111
  "boundaries.</embassy-queued-ahead>";
127
112
  const body = neutralizeReservedTags(input.body);
128
113
  const envelope = `<cross-session-message from-name="${fromName}"${conversationAttribute}>\n` +
129
- `${hint}${trackMarker}${queuedAheadMarker}\n${body}\n</cross-session-message>`;
114
+ `${hint}${queuedAheadMarker}\n${body}\n</cross-session-message>`;
130
115
  if (Buffer.byteLength(envelope, "utf8") > PROVENANCE_ENVELOPE_MAX_BYTES) {
131
116
  envelopeTooLarge();
132
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provenance-envelope.js","sourceRoot":"","sources":["../../../src/gateway/provenance-envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance-envelope.js","sourceRoot":"","sources":["../../../src/gateway/provenance-envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AACvD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvD,MAAM,aAAa,GACjB,+DAA+D,CAAC;AAClE,MAAM,uBAAuB,GAAG,6BAA6B,CAAC;AAC9D,MAAM,oBAAoB,GACxB,0FAA0F,CAAC;AAC7F,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAQtC,MAAM,mCAAmC,GAAG;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,qBAAqB,EAAE,+BAA+B;QACtD,yBAAyB,EAAE,KAAK;QAChC,gBAAgB,EAAE,KAAK;KACxB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,IAAI;KACvB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,yBAAyB,EAAE,IAAI;QAC/B,gBAAgB,EAAE,KAAK;KACxB,CAAC;CAC2D,CAAC;AAEhE,MAAM,6BAA6B,GAE/B,MAAM,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAavD,SAAS,eAAe;IACtB,MAAM,IAAI,WAAW,CACnB,6BAA6B,EAC7B,8CAA8C,CAC/C,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,IAAI,WAAW,CACnB,+BAA+B,EAC/B,iDAAiD,CAClD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,MAAM,CAAC,6BAA6B,EAAE,KAAK,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAqC;IAC1D,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC;QACxC,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC3C,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,iBAAiB;YAC/C,KAAK,CAAC,cAAc,KAAK,MAAM,CAAC;QAClC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACtC,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ;QACxC,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;YAC9B,CAAC,CAAC,6BAA6B,CAAC,KAAK,CAAC,iBAAiB,CAAC;iBACrD,gBAAgB;gBACjB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;gBACxC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAC3B,CAAC;QACD,eAAe,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,6BAA6B,EAAE,CAAC;QAC1E,gBAAgB,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,iBAAyB;IAInE,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC9B,IAAI,UAAU,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QAC3C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;SACrB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;IACxC,MAAM,gBAAgB,GACpB,iBAAiB,GAAG,0BAA0B,GAAG,CAAC,CAAC;IACrD,OAAO;QACL,YAAY,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,MAAM,EAAE;QAC3E,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAqC;IAErC,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,OAAO,GACX,OAAO,CAAC,qBAAqB,KAAK,SAAS;QACzC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;QACvD,CAAC,CAAC,mBAAmB,CACjB,KAAK,CAAC,WAAW,EACjB,OAAO,CAAC,qBAAqB,CAC9B,CAAC;IACR,MAAM,QAAQ,GACZ,OAAO,CAAC,qBAAqB,KAAK,SAAS;QACzC,CAAC,CAAC,KAAK,CAAC,WAAW;QACnB,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC3B,MAAM,qBAAqB,GACzB,OAAO,CAAC,yBAAyB;QAC/B,CAAC,CAAC,kBAAkB,KAAK,CAAC,cAAc,GAAG;QAC3C,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,oBAAoB,GACxB,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS;QAC9D,CAAC,CAAC,gBAAgB,KAAK,CAAC,WAAW,GAAG;QACtC,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,YAAY,GAChB,+BAA+B,KAAK,CAAC,cAAc,EAAE;QACrD,WAAW,KAAK,CAAC,WAAW,EAAE,CAAC;IACjC,MAAM,IAAI,GACR,qCAAqC,KAAK,CAAC,cAAc,GAAG;QAC5D,cAAc,KAAK,CAAC,WAAW,IAAI,oBAAoB,EAAE;QACzD,mBAAmB,KAAK,CAAC,cAAc,IAAI;QAC3C,sBAAsB,YAAY,mCAAmC;QACrE,4EAA4E,CAAC;IAC/E,MAAM,iBAAiB,GACrB,KAAK,CAAC,WAAW,KAAK,SAAS;QAC7B,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kCAAkC,KAAK,CAAC,WAAW,IAAI;YACvD,GAAG,KAAK,CAAC,WAAW,YAAY,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,GAAG;YAC1F,0DAA0D;YAC1D,oCAAoC,CAAC;IAC3C,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GACZ,qCAAqC,QAAQ,IAAI,qBAAqB,KAAK;QAC3E,GAAG,IAAI,GAAG,iBAAiB,KAAK,IAAI,4BAA4B,CAAC;IAEnE,IACE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,6BAA6B,EACnE,CAAC;QACD,gBAAgB,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -5,19 +5,16 @@ import type { LocalCodexTransportFactory } from "./codex-local-transport.js";
5
5
  import type { StatelessCodexOperationTransport } from "./codex-stateless-transport.js";
6
6
  import type { GatewayDeliveryNoticeMode } from "./config.js";
7
7
  import type { ClaudeNativeHelperFactory } from "./claude-helper-client.js";
8
- import { type DashboardLocale } from "./locale.js";
9
8
  import type { GatewayAdapterCallbacks, GatewayAdapterDiscoverySnapshot, GatewayAdapterDispatchResult, GatewayAdapterDispatchInput, GatewayAdapterRouteState, GatewayAdapterRegistryObservation, GatewayAdapterStart, GatewayProviderAdapter } from "./service.js";
10
9
  import type { GatewayProvider } from "./types.js";
11
- type ClaudePeerFactory = (runtime: AttestedClaudePeerRuntime, locale: DashboardLocale, deliveryNotices: GatewayDeliveryNoticeMode) => ClaudePeerAdapter;
10
+ type ClaudePeerFactory = (runtime: AttestedClaudePeerRuntime, deliveryNotices: GatewayDeliveryNoticeMode) => ClaudePeerAdapter;
12
11
  export type LocalClaudeGatewayProviderOptions = {
13
12
  /** Exact result of attestClaudePeerRuntime; paths are never rediscovered. */
14
13
  runtime: AttestedClaudePeerRuntime;
15
14
  /** Fixed controller-owned root re-attested by each selected-route dispatch. */
16
15
  stateRoot: string;
17
- hostId?: string;
18
- nodeInventory?: GatewayNodeInventory;
19
- /** Locale for bounded notices written into native Claude sessions. */
20
- locale?: DashboardLocale;
16
+ hostId: string;
17
+ nodeInventory: GatewayNodeInventory;
21
18
  /** Gateway-authored user-frame policy; native receipt status is unchanged. */
22
19
  deliveryNotices?: GatewayDeliveryNoticeMode;
23
20
  discoveryPollMs?: number;
@@ -71,6 +68,12 @@ export declare class LocalClaudeGatewayProvider implements GatewayProviderAdapte
71
68
  registrationId: string;
72
69
  }): void;
73
70
  forgetLogicalRoute(registrationId: string): void;
71
+ /**
72
+ * Converts an inherited messaging-socket capability into the owning
73
+ * session's UUID. The session need not hold a route yet: its route installs
74
+ * on its first send, and the service compares the claimed alias against
75
+ * discovery for that UUID.
76
+ */
74
77
  resolveReplyAddress(address: string): Promise<{
75
78
  routeHandle: string;
76
79
  }>;
@@ -97,7 +100,7 @@ export declare class LocalClaudeGatewayProvider implements GatewayProviderAdapte
97
100
  export declare function createLocalClaudeGatewayProvider(options: LocalClaudeGatewayProviderOptions): LocalClaudeGatewayProvider;
98
101
  export type LocalCodexGatewayProviderOptions = {
99
102
  hostId: string;
100
- nodeInventory?: GatewayNodeInventory;
103
+ nodeInventory: GatewayNodeInventory;
101
104
  operation: StatelessCodexOperationTransport;
102
105
  createObservationFactory?: () => Promise<LocalCodexTransportFactory>;
103
106
  observationPollMs?: number;
@@ -4,9 +4,7 @@ import { BridgeError } from "../errors.js";
4
4
  import { isAttestedGatewayNodeInventory } from "./federation-nodes.js";
5
5
  import { CLAUDE_PEER_COMPATIBILITY, ClaudePeerAdapter, } from "./claude-peer.js";
6
6
  import { ClaudeNativeHelperSupervisor, } from "./claude-helper-supervisor.js";
7
- import { isDashboardLocale } from "./locale.js";
8
7
  import { composeProvenanceEnvelope } from "./provenance-envelope.js";
9
- const LOCAL_HOST = "this-mac";
10
8
  const NATIVE_CLAUDE_NAME = /^[a-z][a-z0-9_-]{0,31}$/;
11
9
  const PUBLIC_ALIAS = /^[a-z][a-z0-9_-]{0,31}@[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
12
10
  const OPAQUE_ROUTE = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$/;
@@ -89,11 +87,10 @@ async function cancelPreparedClaude(prepared) {
89
87
  }
90
88
  }
91
89
  function exactLocalHost(hostId, inventory) {
92
- const resolved = hostId ?? LOCAL_HOST;
93
- if (resolved !== LOCAL_HOST && !isAttestedGatewayNodeInventory(inventory, resolved)) {
94
- throw new BridgeError("GATEWAY_REMOTE_PROVIDER_DISABLED", "A custom local host coordinate requires the attested nodes.json inventory.");
90
+ if (!isAttestedGatewayNodeInventory(inventory, hostId)) {
91
+ throw new BridgeError("GATEWAY_REMOTE_PROVIDER_DISABLED", "The local host coordinate requires an attested node inventory.");
95
92
  }
96
- return resolved;
93
+ return hostId;
97
94
  }
98
95
  function positiveBounded(value, fallback, maximum) {
99
96
  const resolved = value ?? fallback;
@@ -173,9 +170,6 @@ export class LocalClaudeGatewayProvider {
173
170
  if (!path.isAbsolute(options.stateRoot) || options.stateRoot.includes("\0")) {
174
171
  throw new BridgeError("INVALID_GATEWAY_PROVIDER_CONFIGURATION", "The Claude provider state root must be an absolute path.");
175
172
  }
176
- if (options.locale !== undefined && !isDashboardLocale(options.locale)) {
177
- throw new BridgeError("DASHBOARD_LOCALE_UNSUPPORTED", "The Claude provider notice locale is unsupported.");
178
- }
179
173
  const hostId = exactLocalHost(options.hostId, options.nodeInventory);
180
174
  this.identity = {
181
175
  provider: "claude",
@@ -187,19 +181,17 @@ export class LocalClaudeGatewayProvider {
187
181
  this.now = options.now ?? Date.now;
188
182
  const protocolRuntime = options.runtime;
189
183
  this.peer = (options.peerFactory ??
190
- ((runtime, locale, deliveryNotices) => new ClaudePeerAdapter({
184
+ ((runtime, deliveryNotices) => new ClaudePeerAdapter({
191
185
  sessionsDir: runtime.sessionsDir,
192
186
  socketDir: runtime.socketDir,
193
- locale,
194
187
  deliveryNotices,
195
- })))(protocolRuntime, options.locale ?? "en", options.deliveryNotices ?? "merged");
188
+ })))(protocolRuntime, options.deliveryNotices ?? "merged");
196
189
  this.nativeHelpers =
197
190
  options.nativeHelpers === undefined
198
191
  ? undefined
199
192
  : new ClaudeNativeHelperSupervisor({
200
193
  identity: this.identity,
201
194
  runtime: protocolRuntime,
202
- locale: options.locale ?? "en",
203
195
  deliveryNotices: options.deliveryNotices ?? "merged",
204
196
  maxPendingMessages: this.maxPending,
205
197
  maxHelpers: positiveBounded(options.nativeHelpers.maxHelpers, 256, 128),
@@ -247,7 +239,10 @@ export class LocalClaudeGatewayProvider {
247
239
  this.assertReady();
248
240
  const candidate = this.discovered.get(input.routeHandle);
249
241
  if (candidate === undefined || candidate.alias !== input.alias) {
250
- throw new BridgeError("CLAUDE_ROUTE_MISMATCH", "The selected Claude alias no longer matches that exact peer generation.");
242
+ // The TARGET moved between discovery and this pin — it renamed or left.
243
+ // A distinct code from the caller-side CLAUDE_ROUTE_MISMATCH, so the CLI
244
+ // cannot answer "fix your --from" to a problem at the other end.
245
+ throw new BridgeError("CLAUDE_TARGET_CHANGED", "The addressed Claude session no longer matches that exact peer generation.");
251
246
  }
252
247
  const route = this.selected.get(input.routeHandle);
253
248
  this.selected.set(input.routeHandle, {
@@ -286,14 +281,17 @@ export class LocalClaudeGatewayProvider {
286
281
  }
287
282
  }
288
283
  }
284
+ /**
285
+ * Converts an inherited messaging-socket capability into the owning
286
+ * session's UUID. The session need not hold a route yet: its route installs
287
+ * on its first send, and the service compares the claimed alias against
288
+ * discovery for that UUID.
289
+ */
289
290
  async resolveReplyAddress(address) {
290
291
  this.assertReady();
291
292
  const resolved = await this.peer.resolveReplyAddress(address);
292
- const selectedAlias = this.selected.get(resolved.targetId)?.alias;
293
- if (selectedAlias === undefined ||
294
- resolved.kind !== "interactive" ||
295
- selectedAlias !== `${resolved.alias}@${this.identity.hostId}`) {
296
- throw new BridgeError("CLAUDE_REPLY_ROUTE_MISMATCH", "The reply capability is not the exact selected Claude generation.");
293
+ if (resolved.kind !== "interactive" && resolved.kind !== "bg") {
294
+ throw new BridgeError("CLAUDE_REPLY_ROUTE_MISMATCH", "The reply capability does not belong to a Claude session.");
297
295
  }
298
296
  return { routeHandle: resolved.targetId };
299
297
  }
@@ -350,7 +348,6 @@ export class LocalClaudeGatewayProvider {
350
348
  ...(input.authorization !== "selected_route" || selected?.stateRoot === undefined
351
349
  ? {}
352
350
  : { stateRoot: selected.stateRoot }),
353
- ...(input.progressWatchActive === true ? { progressWatchActive: true } : {}),
354
351
  });
355
352
  }
356
353
  catch (error) {
@@ -387,7 +384,7 @@ export class LocalClaudeGatewayProvider {
387
384
  };
388
385
  }
389
386
  try {
390
- // Authorization is the consent linearization point. Invoke the exact
387
+ // Authorization is the write-authorization linearization point. Invoke the exact
391
388
  // prepared mailbox write in the same continuation with no intervening
392
389
  // await. Claude has no separate acceptance phase: confirmed mailbox
393
390
  // completion is terminal delivered.
@@ -477,7 +474,7 @@ export class LocalClaudeGatewayProvider {
477
474
  this.discovered.clear();
478
475
  const rows = [];
479
476
  for (const peer of discovery.peers) {
480
- if (peer.kind !== "interactive" ||
477
+ if ((peer.kind !== "interactive" && peer.kind !== "bg") ||
481
478
  !NATIVE_CLAUDE_NAME.test(peer.alias)) {
482
479
  continue;
483
480
  }
@@ -487,7 +484,7 @@ export class LocalClaudeGatewayProvider {
487
484
  const row = {
488
485
  alias,
489
486
  routeHandle: peer.targetId,
490
- kind: "interactive",
487
+ kind: peer.kind,
491
488
  state: claudeRouteState(peer),
492
489
  };
493
490
  this.discovered.set(peer.targetId, row);
@@ -649,8 +646,7 @@ export class LocalCodexGatewayProvider {
649
646
  closing = false;
650
647
  closed = false;
651
648
  constructor(options) {
652
- if ((options.hostId !== LOCAL_HOST &&
653
- !isAttestedGatewayNodeInventory(options.nodeInventory, options.hostId)) ||
649
+ if (!isAttestedGatewayNodeInventory(options.nodeInventory, options.hostId) ||
654
650
  options.operation === undefined ||
655
651
  typeof options.operation.execute !== "function") {
656
652
  throw new BridgeError("INVALID_GATEWAY_PROVIDER_CONFIGURATION", "The stateless Codex provider requires the exact attested local host.");
@@ -735,9 +731,6 @@ export class LocalCodexGatewayProvider {
735
731
  targetAlias: input.targetAlias,
736
732
  conversationId: input.conversationId,
737
733
  body: input.text,
738
- ...(input.progressWatchActive === true
739
- ? { progressWatchActive: true }
740
- : {}),
741
734
  ...(input.steer === true && input.queuedAhead !== undefined
742
735
  ? { queuedAhead: input.queuedAhead }
743
736
  : {}),