agent-embassy 1.8.2 → 1.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +23 -3
- package/README.zh-CN.md +23 -3
- package/SECURITY.md +30 -6
- package/dist/src/gateway/cli-copy.en.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.js +8 -0
- package/dist/src/gateway/cli-copy.en.js.map +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.js +8 -0
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/cli.d.ts +8 -3
- package/dist/src/gateway/cli.js +191 -19
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/config.d.ts +2 -0
- package/dist/src/gateway/config.js +1 -1
- package/dist/src/gateway/config.js.map +1 -1
- package/dist/src/gateway/control.d.ts +79 -25
- package/dist/src/gateway/control.js +98 -18
- package/dist/src/gateway/control.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.d.ts +1 -1
- package/dist/src/gateway/dashboard-copy.en.d.ts +2 -0
- package/dist/src/gateway/dashboard-copy.en.js +2 -0
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +2 -0
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +2 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js +2 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +3 -0
- package/dist/src/gateway/dashboard-model.js +3 -0
- package/dist/src/gateway/dashboard-model.js.map +1 -1
- package/dist/src/gateway/federation-nodes.d.ts +18 -0
- package/dist/src/gateway/federation-nodes.js +142 -0
- package/dist/src/gateway/federation-nodes.js.map +1 -0
- package/dist/src/gateway/live-dashboard-app/app.js +5 -4
- package/dist/src/gateway/peer-client.d.ts +57 -0
- package/dist/src/gateway/peer-client.js +208 -0
- package/dist/src/gateway/peer-client.js.map +1 -0
- package/dist/src/gateway/peer-mailbox.d.ts +78 -0
- package/dist/src/gateway/peer-mailbox.js +168 -0
- package/dist/src/gateway/peer-mailbox.js.map +1 -0
- package/dist/src/gateway/peer-protocol.d.ts +107 -0
- package/dist/src/gateway/peer-protocol.js +72 -0
- package/dist/src/gateway/peer-protocol.js.map +1 -0
- package/dist/src/gateway/peer-stdio.d.ts +23 -0
- package/dist/src/gateway/peer-stdio.js +100 -0
- package/dist/src/gateway/peer-stdio.js.map +1 -0
- package/dist/src/gateway/provenance-envelope.js +6 -1
- package/dist/src/gateway/provenance-envelope.js.map +1 -1
- package/dist/src/gateway/providers.d.ts +5 -2
- package/dist/src/gateway/providers.js +10 -7
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.d.ts +4 -1
- package/dist/src/gateway/server.js +21 -8
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +19 -0
- package/dist/src/gateway/service.js +437 -37
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/state-v2-to-v3.js +1 -0
- package/dist/src/gateway/state-v2-to-v3.js.map +1 -1
- package/dist/src/gateway/store.d.ts +9 -1
- package/dist/src/gateway/store.js +183 -43
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +7 -6
- package/dist/src/gateway/types.js +5 -10
- package/dist/src/gateway/types.js.map +1 -1
- package/docs/CONFIGURATION.md +23 -8
- package/docs/CONFIGURATION.zh-CN.md +12 -4
- package/docs/DASHBOARD.md +2 -2
- package/docs/DASHBOARD.zh-CN.md +2 -2
- package/docs/DELIVERY.md +3 -1
- package/docs/DELIVERY.zh-CN.md +3 -1
- package/docs/GATEWAY-ARCHITECTURE.md +6 -4
- package/package.json +1 -1
- package/skills/embassy-peer/SKILL.md +32 -4
- package/skills/embassy-peer/agents/openai.yaml +2 -2
package/dist/src/gateway/cli.js
CHANGED
|
@@ -10,17 +10,20 @@ import { callerIdentityConflictHintEn } from "./cli-copy.en.js";
|
|
|
10
10
|
import { callerIdentityConflictHintZhCn } from "./cli-copy.zh-CN.js";
|
|
11
11
|
import { GATEWAY_CONTROL_DEFAULT_TIMEOUT_MS, GATEWAY_CONTROL_MAX_MESSAGE_BYTES, GATEWAY_CONTROL_MAX_RESPONSE_BYTES, GATEWAY_CONTROL_PROTOCOL_VERSION, GatewayControlTransportError, isClaudeSessionSelector, isGatewayAlias, isGatewayConversationId, isGatewayDeliveryToken, isGatewayHostId, isGatewayReplyAddress, sendGatewayControlRequest } from "./control.js";
|
|
12
12
|
import { loadGatewayConfig } from "./config.js";
|
|
13
|
+
import { loadGatewayNodeInventory } from "./federation-nodes.js";
|
|
13
14
|
import { isDashboardLocale } from "./locale.js";
|
|
14
15
|
import { DEFAULT_LIVE_DASHBOARD_PORT, runLiveDashboardCommand } from "./live-dashboard-command.js";
|
|
15
16
|
import { runGatewayServer } from "./server.js";
|
|
16
17
|
import { PROGRESS_WATCH_DEFAULT_IDLE_MS } from "./progress-watch-machine.js";
|
|
18
|
+
import { PeerHandlerError, runPeerStdio } from "./peer-stdio.js";
|
|
17
19
|
import { convertGatewayStateV2ToV3 } from "./state-v2-to-v3.js";
|
|
18
20
|
const THREAD_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
19
21
|
const DEFAULT_HOST_ID = "this-mac";
|
|
20
22
|
const CLI_MAX_OUTPUT_BYTES = GATEWAY_CONTROL_MAX_RESPONSE_BYTES;
|
|
21
23
|
const DELIVERY_POLL_INTERVAL_MS = 250;
|
|
22
24
|
const DELIVERY_POLL_MIN_REQUEST_TIMEOUT_MS = 50;
|
|
23
|
-
|
|
25
|
+
const PEER_AWAIT_REQUEST_TIMEOUT_MS = 35_000;
|
|
26
|
+
export const EMBASSY_VERSION = "1.9.2";
|
|
24
27
|
// RELEASE VERSION SWEEP — every place the version lives: package.json,
|
|
25
28
|
// npm-shrinkwrap.json (x2), this constant,
|
|
26
29
|
// test/gateway-cli.test.ts package-metadata assertion.
|
|
@@ -30,6 +33,8 @@ export const gatewayCliCommands = [
|
|
|
30
33
|
"wait-delivery", "untrack", "refresh-dashboard", "dashboard", "register-codex",
|
|
31
34
|
"unregister-codex", "select-claude", "unselect-claude", "pair", "unpair",
|
|
32
35
|
"send-to-claude", "send-to-codex", "reply",
|
|
36
|
+
"register-peer", "unregister-peer", "await",
|
|
37
|
+
"peer-stdio",
|
|
33
38
|
];
|
|
34
39
|
export const gatewayCliExitCodes = Object.freeze({
|
|
35
40
|
ok: 0,
|
|
@@ -139,7 +144,7 @@ const gatewayAliasHost = (alias) => alias.slice(alias.lastIndexOf("@") + 1);
|
|
|
139
144
|
function requirePairAliases(options) {
|
|
140
145
|
const from = requireAlias(options, "from");
|
|
141
146
|
const to = requireAlias(options, "to");
|
|
142
|
-
if (from === to
|
|
147
|
+
if (from === to)
|
|
143
148
|
fault();
|
|
144
149
|
return [from, to];
|
|
145
150
|
}
|
|
@@ -178,6 +183,24 @@ function requireCodexThreadId(env) {
|
|
|
178
183
|
return threadId.toLowerCase();
|
|
179
184
|
}
|
|
180
185
|
const hasIdentity = (value) => typeof value === "string" && value.length > 0;
|
|
186
|
+
const PEER_TOKEN_PATTERN = /^peer_[A-Za-z0-9_-]{32}$/;
|
|
187
|
+
function peerTokenSource(options, env) {
|
|
188
|
+
const inherited = env.EMBASSY_PEER_TOKEN;
|
|
189
|
+
if ((options["token-stdin"] === true || hasIdentity(inherited)) &&
|
|
190
|
+
(hasIdentity(env.CODEX_THREAD_ID) || hasIdentity(env.CLAUDE_CODE_MESSAGING_SOCKET)))
|
|
191
|
+
throw callerIdentityConflictFault(env);
|
|
192
|
+
if (options["token-stdin"] === true && hasIdentity(inherited))
|
|
193
|
+
throw callerIdentityConflictFault(env);
|
|
194
|
+
if (hasIdentity(inherited) && !PEER_TOKEN_PATTERN.test(inherited))
|
|
195
|
+
fault("CALLER_IDENTITY_REQUIRED");
|
|
196
|
+
return options["token-stdin"] === true ? "stdin" : hasIdentity(inherited) ? inherited : undefined;
|
|
197
|
+
}
|
|
198
|
+
function requirePeerAlias(options) {
|
|
199
|
+
const alias = requireAlias(options, "alias");
|
|
200
|
+
if (!alias.startsWith("peer-"))
|
|
201
|
+
fault();
|
|
202
|
+
return alias;
|
|
203
|
+
}
|
|
181
204
|
function callerIdentityConflictFault(env) {
|
|
182
205
|
const both = hasIdentity(env.CODEX_THREAD_ID) && hasIdentity(env.CLAUDE_CODE_MESSAGING_SOCKET);
|
|
183
206
|
return new CliFault("CALLER_IDENTITY_CONFLICT", false, both ? "callerIdentityConflict" : undefined);
|
|
@@ -240,6 +263,37 @@ async function readMessageBody(stdin) {
|
|
|
240
263
|
fault("MESSAGE_REQUIRED");
|
|
241
264
|
return text;
|
|
242
265
|
}
|
|
266
|
+
async function readPeerInput(stdin, source, body) {
|
|
267
|
+
if (source !== "stdin")
|
|
268
|
+
return { token: source, ...(body ? { text: await readMessageBody(stdin) } : {}) };
|
|
269
|
+
const chunks = [];
|
|
270
|
+
let length = 0;
|
|
271
|
+
for await (const chunk of stdin) {
|
|
272
|
+
if (typeof chunk !== "string" && !Buffer.isBuffer(chunk))
|
|
273
|
+
fault("INVALID_MESSAGE_INPUT");
|
|
274
|
+
const buffer = Buffer.from(chunk);
|
|
275
|
+
length += buffer.length;
|
|
276
|
+
if (length > GATEWAY_CONTROL_MAX_MESSAGE_BYTES + 38)
|
|
277
|
+
throw new CliFault("MESSAGE_TOO_LARGE", false, "hint.messageTooLarge");
|
|
278
|
+
chunks.push(buffer);
|
|
279
|
+
}
|
|
280
|
+
const value = Buffer.concat(chunks, length), newline = value.indexOf(0x0a);
|
|
281
|
+
if (newline !== 37 || !PEER_TOKEN_PATTERN.test(value.subarray(0, newline).toString("utf8")) || (!body && newline !== value.length - 1))
|
|
282
|
+
fault("INVALID_MESSAGE_INPUT");
|
|
283
|
+
const token = value.subarray(0, newline).toString("utf8");
|
|
284
|
+
if (!body)
|
|
285
|
+
return { token };
|
|
286
|
+
let text;
|
|
287
|
+
try {
|
|
288
|
+
text = new TextDecoder("utf-8", { fatal: true }).decode(value.subarray(newline + 1));
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
fault("INVALID_MESSAGE_INPUT");
|
|
292
|
+
}
|
|
293
|
+
if (text.trim().length === 0 || text.includes("\0"))
|
|
294
|
+
fault("MESSAGE_REQUIRED");
|
|
295
|
+
return { token, text };
|
|
296
|
+
}
|
|
243
297
|
const emptyParams = (args) => args.length === 0 ? {} : fault();
|
|
244
298
|
function parseServeInboundMode(args) {
|
|
245
299
|
const options = parseOptions(args, ["inbound"]);
|
|
@@ -282,6 +336,7 @@ async function buildRequest(command, args, env, stdin) {
|
|
|
282
336
|
case "serve":
|
|
283
337
|
case "dashboard":
|
|
284
338
|
case "convert-state-v2-to-v3":
|
|
339
|
+
case "peer-stdio":
|
|
285
340
|
return fault();
|
|
286
341
|
case "health":
|
|
287
342
|
case "status":
|
|
@@ -324,6 +379,26 @@ async function buildRequest(command, args, env, stdin) {
|
|
|
324
379
|
count(options, 1);
|
|
325
380
|
return envelope("unregister_codex", { alias: requireCodexAlias(options, "alias"), threadId: requireExclusiveCodexThreadId(env) });
|
|
326
381
|
}
|
|
382
|
+
case "register-peer":
|
|
383
|
+
case "unregister-peer":
|
|
384
|
+
case "await": {
|
|
385
|
+
const options = parseOptions(args, ["alias"], ["token-stdin", "emit-env"]);
|
|
386
|
+
count(options, 1, 3);
|
|
387
|
+
const alias = requirePeerAlias(options), source = peerTokenSource(options, env);
|
|
388
|
+
if (hasIdentity(env.CODEX_THREAD_ID) || hasIdentity(env.CLAUDE_CODE_MESSAGING_SOCKET))
|
|
389
|
+
throw callerIdentityConflictFault(env);
|
|
390
|
+
if (command !== "register-peer" && options["emit-env"] === true)
|
|
391
|
+
fault();
|
|
392
|
+
if (options["emit-env"] === true && source !== undefined)
|
|
393
|
+
fault();
|
|
394
|
+
if (source === undefined) {
|
|
395
|
+
if (command !== "register-peer")
|
|
396
|
+
fault("CALLER_IDENTITY_REQUIRED");
|
|
397
|
+
return envelope("register_peer", { alias });
|
|
398
|
+
}
|
|
399
|
+
const { token } = await readPeerInput(stdin, source, false);
|
|
400
|
+
return envelope(command === "register-peer" ? "register_peer" : command === "unregister-peer" ? "unregister_peer" : "await_peer", { alias, token });
|
|
401
|
+
}
|
|
327
402
|
case "select-claude":
|
|
328
403
|
case "unselect-claude": {
|
|
329
404
|
const options = parseOptions(args, ["alias", "session"]);
|
|
@@ -351,41 +426,48 @@ async function buildRequest(command, args, env, stdin) {
|
|
|
351
426
|
}
|
|
352
427
|
case "send-to-claude":
|
|
353
428
|
case "send-to-codex": {
|
|
354
|
-
const options = parseOptions(args, ["from", "to", "idle-minutes"], ["expects-reply", "track"]);
|
|
355
|
-
count(options, 2,
|
|
356
|
-
const
|
|
357
|
-
|
|
429
|
+
const options = parseOptions(args, ["from", "to", "idle-minutes"], ["expects-reply", "track", "token-stdin"]);
|
|
430
|
+
count(options, 2, 6);
|
|
431
|
+
const source = peerTokenSource(options, env);
|
|
432
|
+
const principals = Number(hasIdentity(env.CODEX_THREAD_ID)) + Number(hasIdentity(env.CLAUDE_CODE_MESSAGING_SOCKET)) + Number(source !== undefined);
|
|
433
|
+
if (principals > 1)
|
|
434
|
+
throw callerIdentityConflictFault(env);
|
|
435
|
+
const fromAlias = requireAlias(options, "from");
|
|
436
|
+
const toAlias = command === "send-to-claude" ? requireClaudeSelector(options, "to") : requireAlias(options, "to");
|
|
358
437
|
const idleMinutes = trackIdleMinutes(options);
|
|
438
|
+
const peer = source === undefined ? undefined : await readPeerInput(stdin, source, true);
|
|
439
|
+
const authority = peer === undefined ? command === "send-to-claude"
|
|
440
|
+
? requireExclusiveCodexThreadId(env) : requireExclusiveClaudeReplyAddress(env) : undefined;
|
|
359
441
|
const common = {
|
|
360
|
-
fromAlias:
|
|
361
|
-
toAlias: command === "send-to-claude" ? requireClaudeSelector(options, "to") : requireAlias(options, "to"),
|
|
362
|
-
text: await readMessageBody(stdin),
|
|
442
|
+
fromAlias, toAlias, text: peer?.text ?? await readMessageBody(stdin),
|
|
363
443
|
expectsReply: options["expects-reply"] === true,
|
|
364
444
|
...(idleMinutes === undefined ? {} : { trackIdleMinutes: idleMinutes }),
|
|
365
445
|
};
|
|
366
446
|
return command === "send-to-claude"
|
|
367
|
-
? envelope("send_to_claude", { ...common, threadId: authority })
|
|
368
|
-
: envelope("send_to_codex", { ...common, replyAddress: authority });
|
|
447
|
+
? envelope("send_to_claude", { ...common, ...(peer === undefined ? { threadId: authority } : { peerToken: peer.token }) })
|
|
448
|
+
: envelope("send_to_codex", { ...common, ...(peer === undefined ? { replyAddress: authority } : { peerToken: peer.token }) });
|
|
369
449
|
}
|
|
370
450
|
case "reply": {
|
|
371
|
-
const options = parseOptions(args, ["conversation", "alias", "idle-minutes"], ["track"]);
|
|
372
|
-
count(options, 2,
|
|
451
|
+
const options = parseOptions(args, ["conversation", "alias", "idle-minutes"], ["track", "token-stdin"]);
|
|
452
|
+
count(options, 2, 5);
|
|
373
453
|
const conversationId = requireString(options, "conversation");
|
|
374
454
|
if (!isGatewayConversationId(conversationId))
|
|
375
455
|
fault();
|
|
376
456
|
const alias = requireAlias(options, "alias");
|
|
377
457
|
const idleMinutes = trackIdleMinutes(options);
|
|
378
|
-
const threadId = env.CODEX_THREAD_ID;
|
|
379
|
-
|
|
458
|
+
const threadId = env.CODEX_THREAD_ID, source = peerTokenSource(options, env);
|
|
459
|
+
const principals = Number(hasIdentity(threadId)) + Number(hasIdentity(env.CLAUDE_CODE_MESSAGING_SOCKET)) + Number(source !== undefined);
|
|
460
|
+
if (principals > 1)
|
|
380
461
|
throw callerIdentityConflictFault(env);
|
|
381
462
|
const replyAddress = optionalClaudeReplyAddress(env);
|
|
382
463
|
const codex = hasIdentity(threadId);
|
|
383
|
-
if (!codex && replyAddress === undefined)
|
|
464
|
+
if (!codex && replyAddress === undefined && source === undefined)
|
|
384
465
|
fault("CALLER_IDENTITY_REQUIRED");
|
|
466
|
+
const peer = source === undefined ? undefined : await readPeerInput(stdin, source, true);
|
|
385
467
|
return envelope("reply", {
|
|
386
|
-
conversationId, text: await readMessageBody(stdin),
|
|
468
|
+
conversationId, text: peer?.text ?? await readMessageBody(stdin),
|
|
387
469
|
...(idleMinutes === undefined ? {} : { trackIdleMinutes: idleMinutes }),
|
|
388
|
-
caller: codex
|
|
470
|
+
caller: peer !== undefined ? { kind: "peer", alias, token: peer.token } : codex
|
|
389
471
|
? { kind: "codex", alias, threadId: requireCodexThreadId(env) }
|
|
390
472
|
: { kind: "claude", alias, replyAddress: requireClaudeReplyAddress(env) },
|
|
391
473
|
});
|
|
@@ -426,6 +508,20 @@ function serializedOutput(value) {
|
|
|
426
508
|
fault("OUTPUT_TOO_LARGE");
|
|
427
509
|
return line;
|
|
428
510
|
}
|
|
511
|
+
async function writeComplete(output, frame) {
|
|
512
|
+
await new Promise((resolve, reject) => {
|
|
513
|
+
let settled = false;
|
|
514
|
+
const done = (error) => { if (settled)
|
|
515
|
+
return; settled = true; error ? reject(error) : resolve(); };
|
|
516
|
+
try {
|
|
517
|
+
if (typeof output.write(frame, done) !== "boolean")
|
|
518
|
+
done();
|
|
519
|
+
}
|
|
520
|
+
catch (error) {
|
|
521
|
+
done(error instanceof Error ? error : new Error("stdout write failed"));
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
}
|
|
429
525
|
function writeFailure(stdout, stderr, locale, command, code, options) {
|
|
430
526
|
stdout.write(serializedOutput({ ok: false, command: command ?? "unknown", error: {
|
|
431
527
|
code, ambiguous: options.ambiguous ?? false, retryable: options.retryable ?? false,
|
|
@@ -528,6 +624,40 @@ export async function runGatewayCli(argv = process.argv.slice(2), dependencies =
|
|
|
528
624
|
}
|
|
529
625
|
if (command === undefined)
|
|
530
626
|
fault("UNKNOWN_COMMAND");
|
|
627
|
+
if (command === "peer-stdio") {
|
|
628
|
+
emptyParams(common.args);
|
|
629
|
+
try {
|
|
630
|
+
const config = loadConfig(env);
|
|
631
|
+
const inventory = await (dependencies.loadNodeInventory ?? loadGatewayNodeInventory)(config.stateDir);
|
|
632
|
+
await validateSocket(config.stateDir, config.controlSocketPath);
|
|
633
|
+
let peerHost;
|
|
634
|
+
const request = async (method, params) => {
|
|
635
|
+
const response = await sendRequest({ socketPath: config.controlSocketPath,
|
|
636
|
+
request: { protocolVersion: 1, method, params } });
|
|
637
|
+
if (!response.ok)
|
|
638
|
+
throw new PeerHandlerError({ code: -32000, message: "Local broker unavailable" });
|
|
639
|
+
return response.result;
|
|
640
|
+
};
|
|
641
|
+
const session = (dependencies.runPeerStdio ?? runPeerStdio)({
|
|
642
|
+
localHost: inventory.host, input: stdin, output: stdout,
|
|
643
|
+
handlers: {
|
|
644
|
+
initialize: ({ host }) => {
|
|
645
|
+
if (!inventory.nodes.includes(host))
|
|
646
|
+
throw new PeerHandlerError({ code: -32001, message: "Peer host not configured" });
|
|
647
|
+
peerHost = host;
|
|
648
|
+
},
|
|
649
|
+
catalog: async () => await request("peer_catalog", { peerHost: peerHost }),
|
|
650
|
+
handoff: async (handoff) => await request("peer_handoff", { peerHost: peerHost, handoff }),
|
|
651
|
+
},
|
|
652
|
+
});
|
|
653
|
+
await session.done;
|
|
654
|
+
return gatewayCliExitCodes.ok;
|
|
655
|
+
}
|
|
656
|
+
catch {
|
|
657
|
+
stderr.write("Embassy peer transport failed.\n");
|
|
658
|
+
return gatewayCliExitCodes.unavailable;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
531
661
|
if (command === "serve") {
|
|
532
662
|
await (dependencies.runServer ?? runGatewayServer)({
|
|
533
663
|
env, locale, inboundMode: parseServeInboundMode(common.args),
|
|
@@ -573,7 +703,45 @@ export async function runGatewayCli(argv = process.argv.slice(2), dependencies =
|
|
|
573
703
|
await validateSocket(config.stateDir, config.controlSocketPath);
|
|
574
704
|
let response;
|
|
575
705
|
let waited;
|
|
576
|
-
if (command === "
|
|
706
|
+
if (command === "await") {
|
|
707
|
+
if (request.method !== "await_peer")
|
|
708
|
+
fault();
|
|
709
|
+
while (true) {
|
|
710
|
+
const current = await sendRequest({ socketPath: config.controlSocketPath, request, timeoutMs: PEER_AWAIT_REQUEST_TIMEOUT_MS });
|
|
711
|
+
if (!current.ok) {
|
|
712
|
+
response = current;
|
|
713
|
+
break;
|
|
714
|
+
}
|
|
715
|
+
if (current.result.state === "timeout")
|
|
716
|
+
continue;
|
|
717
|
+
try {
|
|
718
|
+
await writeComplete(stdout, current.result.frame);
|
|
719
|
+
}
|
|
720
|
+
catch {
|
|
721
|
+
stderr.write(fixedStderr(locale, "failure"));
|
|
722
|
+
return gatewayCliExitCodes.failure;
|
|
723
|
+
}
|
|
724
|
+
try {
|
|
725
|
+
const receipt = await sendRequest({ socketPath: config.controlSocketPath,
|
|
726
|
+
request: envelope("peer_receipt", { alias: request.params.alias, token: request.params.token, receipt: current.result.receipt }) });
|
|
727
|
+
if (!receipt.ok) {
|
|
728
|
+
stderr.write(fixedStderr(locale, "failure"));
|
|
729
|
+
return gatewayCliExitCodes.failure;
|
|
730
|
+
}
|
|
731
|
+
if (isRejectedResult(receipt.result)) {
|
|
732
|
+
stderr.write(fixedStderr(locale, "decision"));
|
|
733
|
+
return gatewayCliExitCodes.rejected;
|
|
734
|
+
}
|
|
735
|
+
return gatewayCliExitCodes.ok;
|
|
736
|
+
}
|
|
737
|
+
catch (error) {
|
|
738
|
+
const transport = error instanceof GatewayControlTransportError;
|
|
739
|
+
stderr.write(fixedStderr(locale, transport ? error.ambiguous ? "ambiguous" : "unavailable" : "failure"));
|
|
740
|
+
return transport ? error.ambiguous ? gatewayCliExitCodes.ambiguous : gatewayCliExitCodes.unavailable : gatewayCliExitCodes.failure;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
else if (command === "wait-delivery") {
|
|
577
745
|
if (request.method !== "delivery_status")
|
|
578
746
|
fault();
|
|
579
747
|
const outcome = await waitForDelivery(config.controlSocketPath, request, sendRequest, dependencies.now ?? Date.now, dependencies.delay ?? defaultDelay);
|
|
@@ -595,6 +763,10 @@ export async function runGatewayCli(argv = process.argv.slice(2), dependencies =
|
|
|
595
763
|
writeFailure(stdout, stderr, locale, command, response.error.code, { kind: "failure" });
|
|
596
764
|
return gatewayCliExitCodes.failure;
|
|
597
765
|
}
|
|
766
|
+
if (command === "register-peer" && common.args.includes("--emit-env") && "token" in response.result) {
|
|
767
|
+
stdout.write(`export EMBASSY_PEER_TOKEN='${response.result.token}'\n`);
|
|
768
|
+
return gatewayCliExitCodes.ok;
|
|
769
|
+
}
|
|
598
770
|
success(command === "doctor" ? { conditions: codexDoctorConditions(response.result) } : response.result);
|
|
599
771
|
const exitCode = waited === undefined ? responseExitCode(response) : waitDeliveryExitCode(waited);
|
|
600
772
|
if (exitCode === gatewayCliExitCodes.rejected) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/gateway/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/gateway/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ export type GatewayConfig = {
|
|
|
11
11
|
stateDir: string;
|
|
12
12
|
controlSocketPath: string;
|
|
13
13
|
allowedHosts: readonly string[];
|
|
14
|
+
hostId?: string;
|
|
15
|
+
peerNodes?: readonly string[];
|
|
14
16
|
steeringEnabled: boolean;
|
|
15
17
|
trackingEnabled?: boolean;
|
|
16
18
|
inboundMode: GatewayInboundMode;
|
|
@@ -75,7 +75,7 @@ export function loadGatewayConfig(env = process.env) {
|
|
|
75
75
|
if (stateBudget > MAX_STATE_BUDGET)
|
|
76
76
|
invalid("The combined gateway route, event, dedupe, and queue capacities exceed the durable state byte budget.");
|
|
77
77
|
return {
|
|
78
|
-
stateDir, controlSocketPath, allowedHosts: hosts(env.EMBASSY_HOSTS),
|
|
78
|
+
stateDir, controlSocketPath, allowedHosts: hosts(env.EMBASSY_HOSTS), hostId: "this-mac", peerNodes: [],
|
|
79
79
|
steeringEnabled: toggle(env, "EMBASSY_STEERING_ENABLED"), trackingEnabled: toggle(env, "EMBASSY_TRACKING_ENABLED"), inboundMode: "paired",
|
|
80
80
|
stallNoticeMs: Math.min(Math.floor(messageDeadlineMs / 2), 120_000),
|
|
81
81
|
deliveryNotices: notices(env.EMBASSY_DELIVERY_NOTICES), limits,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/gateway/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAE,2BAA2B,EAAoD,MAAM,YAAY,CAAC;AAE3G,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/gateway/config.ts"],"names":[],"mappings":"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"}
|