agent-embassy 1.8.1 → 1.9.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 (76) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +23 -3
  3. package/README.zh-CN.md +23 -3
  4. package/SECURITY.md +30 -6
  5. package/dist/src/gateway/cli-copy.en.d.ts +1 -1
  6. package/dist/src/gateway/cli-copy.en.js +8 -0
  7. package/dist/src/gateway/cli-copy.en.js.map +1 -1
  8. package/dist/src/gateway/cli-copy.zh-CN.d.ts +1 -1
  9. package/dist/src/gateway/cli-copy.zh-CN.js +8 -0
  10. package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
  11. package/dist/src/gateway/cli.d.ts +8 -3
  12. package/dist/src/gateway/cli.js +191 -19
  13. package/dist/src/gateway/cli.js.map +1 -1
  14. package/dist/src/gateway/config.d.ts +2 -0
  15. package/dist/src/gateway/config.js +1 -1
  16. package/dist/src/gateway/config.js.map +1 -1
  17. package/dist/src/gateway/control.d.ts +79 -25
  18. package/dist/src/gateway/control.js +98 -18
  19. package/dist/src/gateway/control.js.map +1 -1
  20. package/dist/src/gateway/dashboard-copy.d.ts +1 -1
  21. package/dist/src/gateway/dashboard-copy.en.d.ts +2 -0
  22. package/dist/src/gateway/dashboard-copy.en.js +2 -0
  23. package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
  24. package/dist/src/gateway/dashboard-copy.js +2 -0
  25. package/dist/src/gateway/dashboard-copy.js.map +1 -1
  26. package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +2 -0
  27. package/dist/src/gateway/dashboard-copy.zh-CN.js +2 -0
  28. package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
  29. package/dist/src/gateway/dashboard-model.d.ts +3 -0
  30. package/dist/src/gateway/dashboard-model.js +3 -0
  31. package/dist/src/gateway/dashboard-model.js.map +1 -1
  32. package/dist/src/gateway/federation-nodes.d.ts +18 -0
  33. package/dist/src/gateway/federation-nodes.js +142 -0
  34. package/dist/src/gateway/federation-nodes.js.map +1 -0
  35. package/dist/src/gateway/live-dashboard-app/app.js +5 -4
  36. package/dist/src/gateway/peer-client.d.ts +55 -0
  37. package/dist/src/gateway/peer-client.js +203 -0
  38. package/dist/src/gateway/peer-client.js.map +1 -0
  39. package/dist/src/gateway/peer-mailbox.d.ts +78 -0
  40. package/dist/src/gateway/peer-mailbox.js +168 -0
  41. package/dist/src/gateway/peer-mailbox.js.map +1 -0
  42. package/dist/src/gateway/peer-protocol.d.ts +107 -0
  43. package/dist/src/gateway/peer-protocol.js +72 -0
  44. package/dist/src/gateway/peer-protocol.js.map +1 -0
  45. package/dist/src/gateway/peer-stdio.d.ts +23 -0
  46. package/dist/src/gateway/peer-stdio.js +100 -0
  47. package/dist/src/gateway/peer-stdio.js.map +1 -0
  48. package/dist/src/gateway/provenance-envelope.js +6 -1
  49. package/dist/src/gateway/provenance-envelope.js.map +1 -1
  50. package/dist/src/gateway/providers.d.ts +8 -2
  51. package/dist/src/gateway/providers.js +16 -8
  52. package/dist/src/gateway/providers.js.map +1 -1
  53. package/dist/src/gateway/server.d.ts +4 -1
  54. package/dist/src/gateway/server.js +22 -8
  55. package/dist/src/gateway/server.js.map +1 -1
  56. package/dist/src/gateway/service.d.ts +18 -0
  57. package/dist/src/gateway/service.js +423 -37
  58. package/dist/src/gateway/service.js.map +1 -1
  59. package/dist/src/gateway/state-v2-to-v3.js +1 -0
  60. package/dist/src/gateway/state-v2-to-v3.js.map +1 -1
  61. package/dist/src/gateway/store.d.ts +9 -1
  62. package/dist/src/gateway/store.js +183 -43
  63. package/dist/src/gateway/store.js.map +1 -1
  64. package/dist/src/gateway/types.d.ts +7 -6
  65. package/dist/src/gateway/types.js +5 -10
  66. package/dist/src/gateway/types.js.map +1 -1
  67. package/docs/CONFIGURATION.md +23 -8
  68. package/docs/CONFIGURATION.zh-CN.md +12 -4
  69. package/docs/DASHBOARD.md +2 -2
  70. package/docs/DASHBOARD.zh-CN.md +2 -2
  71. package/docs/DELIVERY.md +3 -1
  72. package/docs/DELIVERY.zh-CN.md +3 -1
  73. package/docs/GATEWAY-ARCHITECTURE.md +6 -4
  74. package/package.json +1 -1
  75. package/skills/embassy-peer/SKILL.md +32 -4
  76. package/skills/embassy-peer/agents/openai.yaml +2 -2
@@ -7,8 +7,10 @@ import { createStatelessCodexOperationTransport } from "./codex-stateless-transp
7
7
  import { createSystemCodexDoctorInspector, diagnoseCodexAttachment, diagnoseMissingManagedCodexLayout } from "./codex-doctor.js";
8
8
  import { loadGatewayConfig } from "./config.js";
9
9
  import { DASHBOARD_FILE_NAME } from "./dashboard.js";
10
+ import { loadGatewayNodeInventory } from "./federation-nodes.js";
10
11
  import { resolveDeepSeekAcpLaunch } from "./deepseek-detect.js";
11
12
  import { acquireGatewayInstanceLease } from "./instance-lease.js";
13
+ import { LocalPeerMailboxProvider } from "./peer-mailbox.js";
12
14
  import { createLocalClaudeGatewayProvider, createLocalCodexGatewayProvider } from "./providers.js";
13
15
  import { GatewayService } from "./service.js";
14
16
  import { GatewayStore } from "./store.js";
@@ -68,6 +70,7 @@ export async function runGatewayServer(options, dependencies = {}) {
68
70
  const env = options.env ?? process.env;
69
71
  const d = {
70
72
  loadConfig: dependencies.loadConfig ?? loadGatewayConfig,
73
+ loadNodeInventory: dependencies.loadNodeInventory ?? loadGatewayNodeInventory,
71
74
  loginHome: dependencies.loginHome ?? (() => userInfo().homedir),
72
75
  attestClaudeRuntime: dependencies.attestClaudeRuntime ?? attestClaudePeerRuntime,
73
76
  createClaudeProvider: dependencies.createClaudeProvider ?? createLocalClaudeGatewayProvider,
@@ -80,6 +83,7 @@ export async function runGatewayServer(options, dependencies = {}) {
80
83
  createCodexProvider: dependencies.createCodexProvider ?? createLocalCodexGatewayProvider,
81
84
  resolveDeepSeek: dependencies.resolveDeepSeekAcpLaunch ?? resolveDeepSeekAcpLaunch,
82
85
  createAcpProvider: dependencies.createAcpProvider ?? createAcpGatewayProvider,
86
+ createPeerProvider: dependencies.createPeerProvider ?? ((hostId) => new LocalPeerMailboxProvider({ hostId })),
83
87
  createService: dependencies.createService ?? ((input) => new GatewayService(input)),
84
88
  add: dependencies.addSignalListener ?? ((signal, listener) => process.on(signal, listener)),
85
89
  remove: dependencies.removeSignalListener ?? ((signal, listener) => process.off(signal, listener)),
@@ -99,14 +103,20 @@ export async function runGatewayServer(options, dependencies = {}) {
99
103
  });
100
104
  try {
101
105
  const loaded = d.loadConfig(env);
106
+ const inventory = await d.loadNodeInventory(loaded.stateDir);
107
+ if (inventory.configured && env.EMBASSY_HOSTS !== undefined) {
108
+ throw serverError("INVALID_GATEWAY_CONFIGURATION", "nodes.json and EMBASSY_HOSTS cannot both define gateway hosts.");
109
+ }
102
110
  const inboundMode = options.inboundMode ?? loaded.inboundMode;
103
111
  if (!gatewayInboundModes.includes(inboundMode)) {
104
112
  throw serverError("INVALID_GATEWAY_CONFIGURATION", "The gateway inbound mode must be paired or open.");
105
113
  }
106
- const config = { ...loaded, inboundMode };
107
- if (config.allowedHosts.length !== 1 || config.allowedHosts[0] !== GATEWAY_LOCAL_HOST_ID) {
108
- throw serverError("GATEWAY_REMOTE_PROVIDER_DISABLED", "This launcher supports only the exact local gateway host.");
109
- }
114
+ const localHost = inventory.host;
115
+ const config = { ...loaded, inboundMode, hostId: localHost, peerNodes: inventory.nodes,
116
+ allowedHosts: Object.freeze([localHost, ...inventory.nodes]),
117
+ ...(loaded.acpProviders === undefined ? {} : { acpProviders: loaded.acpProviders.map((definition) => ({ ...definition,
118
+ alias: definition.alias.endsWith(`@${GATEWAY_LOCAL_HOST_ID}`)
119
+ ? `${definition.alias.slice(0, -GATEWAY_LOCAL_HOST_ID.length)}${localHost}` : definition.alias })) }) };
110
120
  const home = d.loginHome();
111
121
  const acquiring = d.acquireInstanceLease(home).then((value) => ({ kind: "lease", value }), (error) => ({ kind: "error", error }));
112
122
  const acquired = await Promise.race([acquiring, stop]);
@@ -144,17 +154,21 @@ export async function runGatewayServer(options, dependencies = {}) {
144
154
  const runtime = await guarded(Promise.resolve().then(() => d.attestClaudeRuntime()));
145
155
  providers.push(d.createClaudeProvider({
146
156
  runtime,
157
+ stateRoot: config.stateDir,
158
+ hostId: localHost,
159
+ nodeInventory: inventory,
147
160
  locale: options.locale ?? "en",
148
161
  nativeHelpers: { maxHelpers: config.limits.maxRoutes },
149
162
  ...(config.deliveryNotices === undefined ? {} : { deliveryNotices: config.deliveryNotices }),
150
163
  }));
151
164
  const localEnvironment = codexEnvironment(env);
152
- const factoryOptions = { environment: localEnvironment, hostId: GATEWAY_LOCAL_HOST_ID };
165
+ const factoryOptions = { environment: localEnvironment, hostId: localHost };
153
166
  providers.push(d.createCodexProvider({
154
- hostId: GATEWAY_LOCAL_HOST_ID,
167
+ hostId: localHost, nodeInventory: inventory,
155
168
  operation: d.createCodexOperation({ local: { environment: localEnvironment } }),
156
169
  createObservationFactory: () => d.createCodexObservationFactory(factoryOptions),
157
170
  }));
171
+ providers.push(d.createPeerProvider(localHost));
158
172
  for (const definition of config.acpProviders ?? []) {
159
173
  let resolved = definition.launch === undefined ? {} : { launch: definition.launch };
160
174
  if (definition.launch === undefined && definition.provider === "deepseek") {
@@ -166,7 +180,7 @@ export async function runGatewayServer(options, dependencies = {}) {
166
180
  resolved = { launch: GROK_ACP_LAUNCH };
167
181
  providers.push(d.createAcpProvider({
168
182
  ...definition,
169
- hostId: GATEWAY_LOCAL_HOST_ID,
183
+ hostId: localHost,
170
184
  ...(resolved.launch === undefined ? {} : { launch: resolved.launch }),
171
185
  ...(resolved.safeErrorCode === undefined ? {} : { unavailableCode: resolved.safeErrorCode }),
172
186
  }));
@@ -193,7 +207,7 @@ export async function runGatewayServer(options, dependencies = {}) {
193
207
  });
194
208
  await guarded(Promise.resolve().then(() => service.start(startupAbort?.signal)));
195
209
  assertLease();
196
- const ready = Promise.resolve().then(() => options.onReady({ status: "ready", hostId: GATEWAY_LOCAL_HOST_ID,
210
+ const ready = Promise.resolve().then(() => options.onReady({ status: "ready", hostId: localHost,
197
211
  codexMode: "native_messaging", dashboardFile: DASHBOARD_FILE_NAME })).then(() => ({ kind: "ready" }), (error) => ({ kind: "error", error }));
198
212
  const published = await Promise.race([ready, loss, stop]);
199
213
  if (published.kind === "error")
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { GatewayConfig } from "./config.js";
2
2
  import { type GatewayControlHandlers, type GatewaySnapshotObservation } from "./control.js";
3
3
  import { publishGatewayDashboard } from "./dashboard.js";
4
4
  import type { CodexDoctorResult } from "./codex-doctor.js";
5
+ import { spawnPeerClient } from "./peer-client.js";
5
6
  import { GatewayStore } from "./store.js";
6
7
  import { type GatewayPreparedWriteEvidence, type GatewayProvider, type GatewayPublicSnapshot, type LogicalRouteBinding } from "./types.js";
7
8
  export type GatewayAdapterRouteState = "idle" | "busy" | "awaiting_approval";
@@ -151,6 +152,7 @@ export type GatewayServiceOptions = Readonly<{
151
152
  nativePeerCwd?: string;
152
153
  timers?: GatewayServiceTimers;
153
154
  codexDoctor?: () => Promise<CodexDoctorResult>;
155
+ spawnPeer?: typeof spawnPeerClient;
154
156
  }>;
155
157
  export declare class GatewayService {
156
158
  readonly config: GatewayConfig;
@@ -161,6 +163,12 @@ export declare class GatewayService {
161
163
  private readonly timers;
162
164
  private readonly nativePeerCwd;
163
165
  private readonly codexDoctor;
166
+ private readonly spawnPeer;
167
+ private readonly peerClients;
168
+ private readonly peerCatalogs;
169
+ private readonly peerCleanupAliases;
170
+ /** View-only freshness; never consulted by routing or write authorization. */
171
+ private readonly peerRouteViews;
164
172
  private readonly connectors;
165
173
  private readonly routeObservations;
166
174
  private readonly candidates;
@@ -169,6 +177,7 @@ export declare class GatewayService {
169
177
  private readonly activeAttempts;
170
178
  private readonly reserveOperations;
171
179
  private readonly inboundOperations;
180
+ private readonly peerRefreshOperations;
172
181
  private readonly pendingClaudeReplies;
173
182
  private readonly nativeReceipts;
174
183
  private readonly progressWatches;
@@ -181,6 +190,7 @@ export declare class GatewayService {
181
190
  private wakeTimer;
182
191
  private nextDiscoveryAt;
183
192
  private nextDoctorAt;
193
+ private nextPeerRefreshAt;
184
194
  private codexDoctorResult;
185
195
  private revision;
186
196
  private snapshotRevision;
@@ -193,6 +203,8 @@ export declare class GatewayService {
193
203
  close(): Promise<void>;
194
204
  private closeOnce;
195
205
  handlers(): GatewayControlHandlers;
206
+ private buildPeerCatalog;
207
+ private receivePeerHandoff;
196
208
  snapshot(): Promise<GatewayPublicSnapshot>;
197
209
  observeSnapshot(): Promise<GatewaySnapshotObservation>;
198
210
  private health;
@@ -209,6 +221,11 @@ export declare class GatewayService {
209
221
  private removeOwnedRoute;
210
222
  private recordActivity;
211
223
  private registerCodex;
224
+ private registerPeer;
225
+ private assertPeer;
226
+ private unregisterPeer;
227
+ private awaitPeer;
228
+ private peerReceipt;
212
229
  private unregisterCodex;
213
230
  private removeCodexRegistration;
214
231
  private selectClaude;
@@ -257,6 +274,7 @@ export declare class GatewayService {
257
274
  private scheduleTargetRetry;
258
275
  private scheduleWake;
259
276
  private onWake;
277
+ private refreshPeers;
260
278
  private refreshClaudeDiscovery;
261
279
  private refreshCodexDoctor;
262
280
  private assertWritable;