agent-embassy 1.2.0 → 1.4.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.
- package/CHANGELOG.md +41 -0
- package/CONTRIBUTING.md +50 -16
- package/README.md +57 -25
- package/README.zh-CN.md +45 -23
- package/SECURITY.md +68 -48
- package/dist/src/gateway/claude-helper-protocol.d.ts +1 -0
- package/dist/src/gateway/claude-helper-protocol.js +4 -2
- package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
- package/dist/src/gateway/claude-helper-supervisor.d.ts +1 -0
- package/dist/src/gateway/claude-helper-supervisor.js +3 -1
- package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
- package/dist/src/gateway/claude-runtime.d.ts +0 -2
- package/dist/src/gateway/claude-runtime.js +6 -17
- package/dist/src/gateway/claude-runtime.js.map +1 -1
- package/dist/src/gateway/cli-copy.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.d.ts +4 -1
- package/dist/src/gateway/cli-copy.en.js +7 -3
- package/dist/src/gateway/cli-copy.en.js.map +1 -1
- package/dist/src/gateway/cli-copy.js +3 -0
- package/dist/src/gateway/cli-copy.js.map +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +4 -1
- package/dist/src/gateway/cli-copy.zh-CN.js +7 -3
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/cli.d.ts +2 -5
- package/dist/src/gateway/cli.js +41 -67
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/codex-app-server.d.ts +2 -8
- package/dist/src/gateway/codex-app-server.js +36 -62
- package/dist/src/gateway/codex-app-server.js.map +1 -1
- package/dist/src/gateway/codex-local-transport.d.ts +4 -10
- package/dist/src/gateway/codex-local-transport.js +13 -16
- package/dist/src/gateway/codex-local-transport.js.map +1 -1
- package/dist/src/gateway/compatibility.d.ts +0 -27
- package/dist/src/gateway/compatibility.js +1 -101
- package/dist/src/gateway/compatibility.js.map +1 -1
- package/dist/src/gateway/config.d.ts +1 -4
- package/dist/src/gateway/config.js +0 -10
- package/dist/src/gateway/config.js.map +1 -1
- package/dist/src/gateway/control.d.ts +2 -21
- package/dist/src/gateway/control.js +7 -36
- 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 +21 -8
- package/dist/src/gateway/dashboard-copy.en.js +40 -27
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +21 -8
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +21 -8
- package/dist/src/gateway/dashboard-copy.zh-CN.js +40 -27
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +4 -9
- package/dist/src/gateway/dashboard-model.js +159 -46
- package/dist/src/gateway/dashboard-model.js.map +1 -1
- package/dist/src/gateway/dashboard.js +27 -16
- package/dist/src/gateway/dashboard.js.map +1 -1
- package/dist/src/gateway/instance-lease.d.ts +2 -3
- package/dist/src/gateway/instance-lease.js +17 -140
- package/dist/src/gateway/instance-lease.js.map +1 -1
- package/dist/src/gateway/live-dashboard-app/app.js +62 -63
- package/dist/src/gateway/live-dashboard-command.d.ts +5 -1
- package/dist/src/gateway/live-dashboard-command.js +8 -6
- package/dist/src/gateway/live-dashboard-command.js.map +1 -1
- package/dist/src/gateway/live-dashboard-http.d.ts +0 -4
- package/dist/src/gateway/live-dashboard-http.js +20 -94
- package/dist/src/gateway/live-dashboard-http.js.map +1 -1
- package/dist/src/gateway/live-dashboard-protocol.d.ts +1 -5
- package/dist/src/gateway/live-dashboard-protocol.js +0 -42
- package/dist/src/gateway/live-dashboard-protocol.js.map +1 -1
- package/dist/src/gateway/live-dashboard-server.d.ts +2 -2
- package/dist/src/gateway/live-dashboard-server.js +18 -4
- package/dist/src/gateway/live-dashboard-server.js.map +1 -1
- package/dist/src/gateway/live-dashboard.d.ts +3 -6
- package/dist/src/gateway/live-dashboard.js +6 -42
- package/dist/src/gateway/live-dashboard.js.map +1 -1
- package/dist/src/gateway/progress-watch-machine.d.ts +6 -5
- package/dist/src/gateway/progress-watch-machine.js +6 -6
- package/dist/src/gateway/progress-watch-machine.js.map +1 -1
- package/dist/src/gateway/provenance-envelope.d.ts +1 -0
- package/dist/src/gateway/provenance-envelope.js +11 -4
- package/dist/src/gateway/provenance-envelope.js.map +1 -1
- package/dist/src/gateway/providers.d.ts +2 -21
- package/dist/src/gateway/providers.js +21 -261
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.js +0 -3
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +5 -15
- package/dist/src/gateway/service.js +101 -265
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/store.d.ts +9 -21
- package/dist/src/gateway/store.js +360 -140
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +1 -6
- package/dist/src/gateway/types.js.map +1 -1
- package/docs/CONFIGURATION.md +102 -0
- package/docs/CONFIGURATION.zh-CN.md +72 -0
- package/docs/DASHBOARD.md +103 -0
- package/docs/DASHBOARD.zh-CN.md +47 -0
- package/docs/DELIVERY.md +84 -0
- package/docs/DELIVERY.zh-CN.md +53 -0
- package/docs/GATEWAY-ARCHITECTURE.md +249 -153
- package/package.json +8 -4
- package/skills/embassy-peer/SKILL.md +25 -10
- package/dist/src/gateway/claude-compatibility-scratch.d.ts +0 -18
- package/dist/src/gateway/claude-compatibility-scratch.js +0 -158
- package/dist/src/gateway/claude-compatibility-scratch.js.map +0 -1
- package/dist/src/gateway/live-dashboard-bootstrap.d.ts +0 -36
- package/dist/src/gateway/live-dashboard-bootstrap.js +0 -176
- package/dist/src/gateway/live-dashboard-bootstrap.js.map +0 -1
- package/docs/DESIGN.md +0 -134
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { randomBytes } from "node:crypto";
|
|
2
1
|
import { getDashboardCopy, } from "./dashboard-copy.js";
|
|
3
2
|
import { renderLiveDashboardAssets } from "./live-dashboard-assets.js";
|
|
4
|
-
import { createLiveDashboardBootstrap, } from "./live-dashboard-bootstrap.js";
|
|
5
3
|
import { createLiveDashboardRequestHandler, } from "./live-dashboard-http.js";
|
|
6
4
|
import { liveDashboardSecurityHeaders } from "./live-dashboard-protocol.js";
|
|
7
5
|
import { bindLiveDashboardServer, defaultLiveDashboardHttpFactory, } from "./live-dashboard-server.js";
|
|
@@ -59,16 +57,6 @@ async function awaitStartupStep(operation, signal, onLateSuccess) {
|
|
|
59
57
|
});
|
|
60
58
|
});
|
|
61
59
|
}
|
|
62
|
-
function randomBase64Url(size, random) {
|
|
63
|
-
const value = Buffer.from(random(size)).toString("base64url");
|
|
64
|
-
const expectedLength = size === 16 ? 22 : size === 32 ? 43 : undefined;
|
|
65
|
-
if (expectedLength === undefined ||
|
|
66
|
-
value.length !== expectedLength ||
|
|
67
|
-
!/^[A-Za-z0-9_-]+$/u.test(value)) {
|
|
68
|
-
throw new Error("LIVE_DASHBOARD_RANDOM_SOURCE_INVALID");
|
|
69
|
-
}
|
|
70
|
-
return value;
|
|
71
|
-
}
|
|
72
60
|
function notReadyHandler(lang) {
|
|
73
61
|
const body = `${getDashboardCopy(lang)["live.http.starting"]}\n`;
|
|
74
62
|
return (_request, response) => {
|
|
@@ -87,11 +75,8 @@ function notReadyHandler(lang) {
|
|
|
87
75
|
export async function startLiveDashboard(options) {
|
|
88
76
|
throwIfStartupCancelled(options.signal);
|
|
89
77
|
const dependencies = options.dependencies ?? {};
|
|
90
|
-
const random = dependencies.random ?? randomBytes;
|
|
91
78
|
const http = dependencies.http ?? defaultLiveDashboardHttpFactory;
|
|
92
79
|
const locale = options.locale ?? "en";
|
|
93
|
-
const instancePath = `/${randomBase64Url(16, random)}`;
|
|
94
|
-
const sessionSecret = randomBase64Url(32, random);
|
|
95
80
|
const assets = renderLiveDashboardAssets(locale);
|
|
96
81
|
const hub = createLiveDashboardStreamHub({
|
|
97
82
|
observer: options.observer,
|
|
@@ -102,30 +87,16 @@ export async function startLiveDashboard(options) {
|
|
|
102
87
|
void activeHandler(request, response);
|
|
103
88
|
});
|
|
104
89
|
let bound;
|
|
105
|
-
let
|
|
90
|
+
let url;
|
|
106
91
|
try {
|
|
107
|
-
bound = await bindLiveDashboardServer(server, options.signal);
|
|
92
|
+
bound = await bindLiveDashboardServer(server, options.port, options.signal);
|
|
108
93
|
throwIfStartupCancelled(options.signal);
|
|
109
94
|
const expectedHost = `${bound.address.host}:${bound.address.port}`;
|
|
110
95
|
const expectedOrigin = `http://${expectedHost}`;
|
|
111
|
-
|
|
112
|
-
privateStateRoot: options.privateStateRoot,
|
|
113
|
-
bootstrapTargetWithoutFragment: `${expectedOrigin}${instancePath}/bootstrap`,
|
|
114
|
-
lang: locale,
|
|
115
|
-
random,
|
|
116
|
-
...(dependencies.fileSystem === undefined
|
|
117
|
-
? {}
|
|
118
|
-
: { fileSystem: dependencies.fileSystem }),
|
|
119
|
-
});
|
|
120
|
-
bootstrap = await awaitStartupStep(bootstrapOperation, options.signal, async (lateBootstrap) => await lateBootstrap.close());
|
|
121
|
-
throwIfStartupCancelled(options.signal);
|
|
96
|
+
url = `${expectedOrigin}/`;
|
|
122
97
|
activeHandler = createLiveDashboardRequestHandler({
|
|
123
|
-
instancePath,
|
|
124
98
|
expectedHost,
|
|
125
99
|
expectedOrigin,
|
|
126
|
-
capability: bootstrap.capability,
|
|
127
|
-
sessionSecret,
|
|
128
|
-
cookieName: "embassy_live",
|
|
129
100
|
lang: locale,
|
|
130
101
|
assets,
|
|
131
102
|
hub,
|
|
@@ -134,15 +105,14 @@ export async function startLiveDashboard(options) {
|
|
|
134
105
|
? {}
|
|
135
106
|
: { now: dependencies.clock.now }),
|
|
136
107
|
});
|
|
137
|
-
if (dependencies.
|
|
138
|
-
await awaitStartupStep(Promise.resolve(dependencies.
|
|
108
|
+
if (dependencies.openDashboard !== undefined) {
|
|
109
|
+
await awaitStartupStep(Promise.resolve(dependencies.openDashboard(url)), options.signal);
|
|
139
110
|
}
|
|
140
111
|
throwIfStartupCancelled(options.signal);
|
|
141
112
|
}
|
|
142
113
|
catch (error) {
|
|
143
114
|
hub.shutdown();
|
|
144
115
|
await bound?.close().catch(() => undefined);
|
|
145
|
-
await bootstrap?.close().catch(() => undefined);
|
|
146
116
|
if (options.signal?.aborted === true) {
|
|
147
117
|
throw new LiveDashboardStartupCancelledError();
|
|
148
118
|
}
|
|
@@ -162,12 +132,6 @@ export async function startLiveDashboard(options) {
|
|
|
162
132
|
catch (error) {
|
|
163
133
|
closeError = error;
|
|
164
134
|
}
|
|
165
|
-
try {
|
|
166
|
-
await bootstrap.close();
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
closeError ??= error;
|
|
170
|
-
}
|
|
171
135
|
if (closeError !== undefined)
|
|
172
136
|
throw closeError;
|
|
173
137
|
})();
|
|
@@ -183,7 +147,7 @@ export async function startLiveDashboard(options) {
|
|
|
183
147
|
}
|
|
184
148
|
return {
|
|
185
149
|
address: bound.address,
|
|
186
|
-
|
|
150
|
+
url,
|
|
187
151
|
close,
|
|
188
152
|
};
|
|
189
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-dashboard.js","sourceRoot":"","sources":["../../../src/gateway/live-dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"live-dashboard.js","sourceRoot":"","sources":["../../../src/gateway/live-dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export declare const progressWatchCapabilities: readonly ["conversation", "route
|
|
|
4
4
|
export type ProgressWatchCapability = (typeof progressWatchCapabilities)[number];
|
|
5
5
|
export declare const progressWatchOutcomes: readonly ["done", "unresponsive", "endpoint_retired", "disabled"];
|
|
6
6
|
export type ProgressWatchOutcome = (typeof progressWatchOutcomes)[number];
|
|
7
|
-
export declare const progressWatchJournalKinds: readonly ["opened", "activity", "nudge", "worker_reported_complete", "capability_degraded", "done", "unresponsive", "endpoint_retired", "disabled"];
|
|
7
|
+
export declare const progressWatchJournalKinds: readonly ["opened", "replaced", "activity", "nudge", "worker_reported_complete", "capability_degraded", "conversation_rebound", "done", "unresponsive", "pair_removed", "endpoint_retired", "disabled"];
|
|
8
8
|
export type ProgressWatchJournalKind = (typeof progressWatchJournalKinds)[number];
|
|
9
9
|
export declare const PROGRESS_WATCH_DEFAULT_IDLE_MS: number;
|
|
10
10
|
export declare const PROGRESS_WATCH_MIN_IDLE_MS = 60000;
|
|
@@ -30,7 +30,6 @@ export type ProgressWatchMachine = Readonly<{
|
|
|
30
30
|
nextActionAt: string;
|
|
31
31
|
capability: ProgressWatchCapability;
|
|
32
32
|
degradedNoticeSent: boolean;
|
|
33
|
-
workerReportedCompleteAt?: string;
|
|
34
33
|
}>;
|
|
35
34
|
export type ProgressWatchJournalEvent = Readonly<{
|
|
36
35
|
sequence: number;
|
|
@@ -44,7 +43,6 @@ export type ProgressWatchJournalEvent = Readonly<{
|
|
|
44
43
|
export type ProgressWatchEvent = Readonly<{
|
|
45
44
|
type: "activity";
|
|
46
45
|
at: number;
|
|
47
|
-
workerReportedComplete?: true;
|
|
48
46
|
}> | Readonly<{
|
|
49
47
|
type: "route_activity";
|
|
50
48
|
at: number;
|
|
@@ -64,6 +62,9 @@ export type ProgressWatchEvent = Readonly<{
|
|
|
64
62
|
}> | Readonly<{
|
|
65
63
|
type: "owner_done";
|
|
66
64
|
at: number;
|
|
65
|
+
}> | Readonly<{
|
|
66
|
+
type: "worker_done";
|
|
67
|
+
at: number;
|
|
67
68
|
}> | Readonly<{
|
|
68
69
|
type: "endpoint_retired";
|
|
69
70
|
at: number;
|
|
@@ -75,7 +76,7 @@ export type ProgressWatchEffect = Readonly<{
|
|
|
75
76
|
type: "send_nudge";
|
|
76
77
|
nudgeNumber: 1 | 2;
|
|
77
78
|
}> | Readonly<{
|
|
78
|
-
type: "
|
|
79
|
+
type: "record_capability_degraded";
|
|
79
80
|
}> | Readonly<{
|
|
80
81
|
type: "settled";
|
|
81
82
|
outcome: ProgressWatchOutcome;
|
|
@@ -93,5 +94,5 @@ export declare function createProgressWatchMachine(input: Readonly<{
|
|
|
93
94
|
idleMs: number;
|
|
94
95
|
at: number;
|
|
95
96
|
}>): ProgressWatchMachine;
|
|
96
|
-
/** Pure, deterministic
|
|
97
|
+
/** Pure, deterministic completion-ended progress-watch transition function. */
|
|
97
98
|
export declare function transitionProgressWatch(state: ProgressWatchMachine, event: ProgressWatchEvent): ProgressWatchTransition;
|
|
@@ -8,12 +8,15 @@ export const progressWatchOutcomes = [
|
|
|
8
8
|
];
|
|
9
9
|
export const progressWatchJournalKinds = [
|
|
10
10
|
"opened",
|
|
11
|
+
"replaced",
|
|
11
12
|
"activity",
|
|
12
13
|
"nudge",
|
|
13
14
|
"worker_reported_complete",
|
|
14
15
|
"capability_degraded",
|
|
16
|
+
"conversation_rebound",
|
|
15
17
|
"done",
|
|
16
18
|
"unresponsive",
|
|
19
|
+
"pair_removed",
|
|
17
20
|
"endpoint_retired",
|
|
18
21
|
"disabled",
|
|
19
22
|
];
|
|
@@ -57,12 +60,13 @@ export function createProgressWatchMachine(input) {
|
|
|
57
60
|
degradedNoticeSent: false,
|
|
58
61
|
};
|
|
59
62
|
}
|
|
60
|
-
/** Pure, deterministic
|
|
63
|
+
/** Pure, deterministic completion-ended progress-watch transition function. */
|
|
61
64
|
export function transitionProgressWatch(state, event) {
|
|
62
65
|
const at = event.at;
|
|
63
66
|
const timestamp = iso(at);
|
|
64
67
|
switch (event.type) {
|
|
65
68
|
case "owner_done":
|
|
69
|
+
case "worker_done":
|
|
66
70
|
return settle("done");
|
|
67
71
|
case "endpoint_retired":
|
|
68
72
|
return settle("endpoint_retired");
|
|
@@ -70,7 +74,6 @@ export function transitionProgressWatch(state, event) {
|
|
|
70
74
|
return settle("disabled");
|
|
71
75
|
case "activity":
|
|
72
76
|
case "route_activity": {
|
|
73
|
-
const workerReportedComplete = event.type === "activity" && event.workerReportedComplete === true;
|
|
74
77
|
return {
|
|
75
78
|
state: {
|
|
76
79
|
...state,
|
|
@@ -79,9 +82,6 @@ export function transitionProgressWatch(state, event) {
|
|
|
79
82
|
phase: "quiet",
|
|
80
83
|
nudgeCount: 0,
|
|
81
84
|
nextActionAt: plus(at, state.idleMs),
|
|
82
|
-
...(workerReportedComplete
|
|
83
|
-
? { workerReportedCompleteAt: timestamp }
|
|
84
|
-
: {}),
|
|
85
85
|
},
|
|
86
86
|
effects: [],
|
|
87
87
|
};
|
|
@@ -105,7 +105,7 @@ export function transitionProgressWatch(state, event) {
|
|
|
105
105
|
capability: "route",
|
|
106
106
|
degradedNoticeSent: true,
|
|
107
107
|
},
|
|
108
|
-
effects: notify ? [{ type: "
|
|
108
|
+
effects: notify ? [{ type: "record_capability_degraded" }] : [],
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
case "nudge_deferred": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-watch-machine.js","sourceRoot":"","sources":["../../../src/gateway/progress-watch-machine.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC;AAGjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,cAAc,EAAE,OAAO,CAAU,CAAC;AAI5E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,cAAc;IACd,kBAAkB;IAClB,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ;IACR,UAAU;IACV,OAAO;IACP,0BAA0B;IAC1B,qBAAqB;IACrB,MAAM;IACN,cAAc;IACd,kBAAkB;IAClB,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAC3D,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"progress-watch-machine.js","sourceRoot":"","sources":["../../../src/gateway/progress-watch-machine.ts"],"names":[],"mappings":"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"}
|
|
@@ -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)(?:[>\s/]|$))/giu;
|
|
7
|
+
const RESERVED_TAG_PATTERN = /<(?=\/?(?:cross-session-message|embassy-reply-hint|embassy-track-active)(?:[>\s/]|$))/giu;
|
|
8
8
|
const CLAUDE_FROM_NAME_MAX_CODEPOINTS = 64;
|
|
9
9
|
const LONG_ALIAS_PREFIX_CODEPOINTS = 47;
|
|
10
10
|
const LONG_ALIAS_HASH_HEX_LENGTH = 16;
|
|
@@ -24,7 +24,9 @@ function validateInput(input) {
|
|
|
24
24
|
!ALIAS_PATTERN.test(input.targetAlias) ||
|
|
25
25
|
typeof input.conversationId !== "string" ||
|
|
26
26
|
!CONVERSATION_ID_PATTERN.test(input.conversationId) ||
|
|
27
|
-
typeof input.body !== "string"
|
|
27
|
+
typeof input.body !== "string" ||
|
|
28
|
+
(input.progressWatchActive !== undefined &&
|
|
29
|
+
input.progressWatchActive !== true)) {
|
|
28
30
|
invalidEnvelope();
|
|
29
31
|
}
|
|
30
32
|
if (Buffer.byteLength(input.body, "utf8") > PROVENANCE_RAW_BODY_MAX_BYTES) {
|
|
@@ -68,10 +70,15 @@ export function composeProvenanceEnvelope(input) {
|
|
|
68
70
|
const hint = `<embassy-reply-hint conversation="${input.conversationId}"` +
|
|
69
71
|
` reply-as="${input.targetAlias}"${exactSourceAttribute}>` +
|
|
70
72
|
`Reply by running \`${replyCommand}\` with the reply body on stdin. ` +
|
|
71
|
-
"
|
|
73
|
+
"Caller, conversation, and route policy are rechecked.</embassy-reply-hint>";
|
|
74
|
+
const trackMarker = input.progressWatchActive === true
|
|
75
|
+
? "\n<embassy-track-active>Progress supervision is active for this " +
|
|
76
|
+
"conversation. Reply with a leading `DONE:` when the assigned work " +
|
|
77
|
+
"is complete; that completion closes the watch.</embassy-track-active>"
|
|
78
|
+
: "";
|
|
72
79
|
const body = neutralizeReservedTags(input.body);
|
|
73
80
|
const envelope = `<cross-session-message from-name="${fromName}"${conversationAttribute}>\n` +
|
|
74
|
-
`${hint}\n${body}\n</cross-session-message>`;
|
|
81
|
+
`${hint}${trackMarker}\n${body}\n</cross-session-message>`;
|
|
75
82
|
if (Buffer.byteLength(envelope, "utf8") > PROVENANCE_ENVELOPE_MAX_BYTES) {
|
|
76
83
|
envelopeTooLarge();
|
|
77
84
|
}
|
|
@@ -1 +1 @@
|
|
|
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;AAE3C,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,
|
|
1
|
+
{"version":3,"file":"provenance-envelope.js","sourceRoot":"","sources":["../../../src/gateway/provenance-envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ClaudePeerAdapter, type ClaudePeerInboundProgress, type ClaudePeerRegistryPublicationOutcome } from "./claude-peer.js";
|
|
2
2
|
import type { AttestedClaudePeerRuntime } from "./claude-runtime.js";
|
|
3
|
-
import { type
|
|
4
|
-
import { type CompatibilityAttestation, type CompatibilityCertification, type CompatibilityPolicy, type CompatibilityProbeResult, type CompatibilitySurfaceObservation } from "./compatibility.js";
|
|
3
|
+
import { type CompatibilityAttestation, type CompatibilityProbeResult, type CompatibilitySurfaceObservation } from "./compatibility.js";
|
|
5
4
|
import { type CodexConnectorObservation } from "./codex-app-server.js";
|
|
6
5
|
import type { LocalCodexTransportFactory } from "./codex-local-transport.js";
|
|
7
6
|
import type { GatewayDeliveryNoticeMode } from "./config.js";
|
|
@@ -28,8 +27,6 @@ export type LocalClaudeGatewayProviderOptions = {
|
|
|
28
27
|
}>;
|
|
29
28
|
/** Deterministic test seam. Production callers must omit this. */
|
|
30
29
|
peerFactory?: ClaudePeerFactory;
|
|
31
|
-
/** Deterministic test seam. Production starts one bounded local scratch. */
|
|
32
|
-
compatibilityScratchFactory?: ClaudeCompatibilityScratchFactory;
|
|
33
30
|
};
|
|
34
31
|
export type ClaudeNativeCodexSuccessionBarrier = Readonly<{
|
|
35
32
|
generation: string;
|
|
@@ -66,7 +63,6 @@ export declare class LocalClaudeGatewayProvider implements GatewayProviderAdapte
|
|
|
66
63
|
private readonly now;
|
|
67
64
|
private readonly selectedStateRoots;
|
|
68
65
|
private readonly nativeHelpers;
|
|
69
|
-
private readonly compatibilityScratchFactory;
|
|
70
66
|
private readonly discovered;
|
|
71
67
|
private readonly selected;
|
|
72
68
|
/** Exact live same-UID sessions observed through native inbound frames. */
|
|
@@ -99,17 +95,11 @@ export declare class LocalClaudeGatewayProvider implements GatewayProviderAdapte
|
|
|
99
95
|
private retiredNativeCodexListener;
|
|
100
96
|
/** Fences discovery callbacks and monitor restarts across listener rotation. */
|
|
101
97
|
private nativeCodexSuccessionFreeze;
|
|
102
|
-
private compatibilityCertificationInFlight;
|
|
103
98
|
private initialized;
|
|
104
99
|
private closed;
|
|
105
100
|
constructor(options: LocalClaudeGatewayProviderOptions);
|
|
106
101
|
compatibilitySurface(): CompatibilitySurfaceObservation;
|
|
107
102
|
runCompatibilityProbes(): Promise<readonly CompatibilityProbeResult[]>;
|
|
108
|
-
runCompatibilityCertification(input: Readonly<{
|
|
109
|
-
controllerStateRoot: string;
|
|
110
|
-
routeHandle?: string;
|
|
111
|
-
withTurn: boolean;
|
|
112
|
-
}>): Promise<CompatibilityCertification>;
|
|
113
103
|
initialize(callbacks: GatewayAdapterCallbacks): Promise<GatewayAdapterStart>;
|
|
114
104
|
discoverClaudePeers(): Promise<GatewayAdapterDiscoverySnapshot>;
|
|
115
105
|
assertWorkspaceDisjoint(routeHandle: string, stateRoot: string): Promise<void>;
|
|
@@ -170,6 +160,7 @@ export declare class LocalClaudeGatewayProvider implements GatewayProviderAdapte
|
|
|
170
160
|
text: string;
|
|
171
161
|
expectsReply: boolean;
|
|
172
162
|
deadlineAt: string;
|
|
163
|
+
progressWatchActive?: true;
|
|
173
164
|
}): Promise<GatewayAdapterDispatchResult>;
|
|
174
165
|
releaseRoute(routeHandle: string): Promise<void>;
|
|
175
166
|
close(): Promise<void>;
|
|
@@ -203,8 +194,6 @@ export type LocalCodexGatewayProviderOptions = {
|
|
|
203
194
|
factory: LocalCodexTransportFactory;
|
|
204
195
|
/** Re-resolves the exact pinned managed install after its generation moves. */
|
|
205
196
|
refreshFactory?: () => Promise<LocalCodexTransportFactory>;
|
|
206
|
-
/** Controller policy retained across every endpoint generation. */
|
|
207
|
-
compatibilityPolicy?: CompatibilityPolicy;
|
|
208
197
|
cleanupPollMs?: number;
|
|
209
198
|
cleanupTimeoutMs?: number;
|
|
210
199
|
recoveryInitialMs?: number;
|
|
@@ -217,7 +206,6 @@ export type LocalCodexGatewayProviderOptions = {
|
|
|
217
206
|
export declare class LocalCodexGatewayProvider implements GatewayProviderAdapter {
|
|
218
207
|
private factory;
|
|
219
208
|
private readonly refreshFactory;
|
|
220
|
-
private readonly compatibilityPolicy;
|
|
221
209
|
private readonly maxCallbacks;
|
|
222
210
|
private readonly maxRoutes;
|
|
223
211
|
private readonly maxReplyBytes;
|
|
@@ -238,8 +226,6 @@ export declare class LocalCodexGatewayProvider implements GatewayProviderAdapter
|
|
|
238
226
|
private readonly trackedRoutes;
|
|
239
227
|
private retiredEndpointGeneration;
|
|
240
228
|
private readonly expectsReply;
|
|
241
|
-
private readonly compatibilityCertifyingRoutes;
|
|
242
|
-
private readonly compatibilityTurns;
|
|
243
229
|
private readonly callbackQueue;
|
|
244
230
|
private callbackScheduled;
|
|
245
231
|
private callbacks;
|
|
@@ -263,11 +249,6 @@ export declare class LocalCodexGatewayProvider implements GatewayProviderAdapter
|
|
|
263
249
|
acceptCompatibilityAttestation(attestation: CompatibilityAttestation): void;
|
|
264
250
|
runCompatibilityProbes(): Promise<readonly CompatibilityProbeResult[]>;
|
|
265
251
|
private runCompatibilityProbesFor;
|
|
266
|
-
runCompatibilityCertification(input: Readonly<{
|
|
267
|
-
controllerStateRoot: string;
|
|
268
|
-
routeHandle?: string;
|
|
269
|
-
withTurn: boolean;
|
|
270
|
-
}>): Promise<CompatibilityCertification>;
|
|
271
252
|
initialize(callbacks: GatewayAdapterCallbacks): Promise<GatewayAdapterStart>;
|
|
272
253
|
selectRoute(input: {
|
|
273
254
|
alias: string;
|