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,5 +1,4 @@
|
|
|
1
1
|
import { BridgeError } from "../errors.js";
|
|
2
|
-
export const compatibilityPolicies = ["observed", "strict"];
|
|
3
2
|
export const compatibilitySurfaces = ["claude", "codex"];
|
|
4
3
|
/** Exact upstream builds exercised by this release's deterministic suite. */
|
|
5
4
|
export const certifiedCompatibilityVersions = Object.freeze({
|
|
@@ -26,11 +25,6 @@ export const compatibilityProbeNames = {
|
|
|
26
25
|
"thread_list",
|
|
27
26
|
],
|
|
28
27
|
};
|
|
29
|
-
export const compatibilityCertificationDepths = [
|
|
30
|
-
"wire",
|
|
31
|
-
"thread_ops",
|
|
32
|
-
"turn",
|
|
33
|
-
];
|
|
34
28
|
const VERSION_PATTERN = /^[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}$/;
|
|
35
29
|
const SAFE_CODE_PATTERN = /^[A-Z][A-Z0-9_]{0,63}$/;
|
|
36
30
|
function versionDriftCode(surface) {
|
|
@@ -72,7 +66,7 @@ export function evaluateCompatibilityAttestation(input) {
|
|
|
72
66
|
new Date(observedAt).toISOString() !== input.checkedAt) {
|
|
73
67
|
throw new BridgeError("COMPAT_TIMESTAMP_INVALID", "Compatibility evidence requires a valid timestamp.");
|
|
74
68
|
}
|
|
75
|
-
|
|
69
|
+
versionMajor(input.version);
|
|
76
70
|
const certified = new Set(input.certifiedVersions);
|
|
77
71
|
if (certified.size !== input.certifiedVersions.length ||
|
|
78
72
|
input.certifiedVersions.length === 0 ||
|
|
@@ -82,8 +76,6 @@ export function evaluateCompatibilityAttestation(input) {
|
|
|
82
76
|
const normalizedProbes = normalizeProbes(input.surface, input.probes);
|
|
83
77
|
const failed = normalizedProbes.find((probe) => probe.outcome === "fail");
|
|
84
78
|
const certifiedVersion = certified.has(input.version);
|
|
85
|
-
const certifiedMajors = new Set(input.certifiedVersions.map((version) => versionMajor(version)));
|
|
86
|
-
const majorCompatible = certifiedMajors.has(versionMajorNumber);
|
|
87
79
|
let tier;
|
|
88
80
|
let safeErrorCode;
|
|
89
81
|
if (failed !== undefined) {
|
|
@@ -93,9 +85,6 @@ export function evaluateCompatibilityAttestation(input) {
|
|
|
93
85
|
else if (certifiedVersion) {
|
|
94
86
|
tier = "certified";
|
|
95
87
|
}
|
|
96
|
-
else if (input.policy === "observed" && majorCompatible) {
|
|
97
|
-
tier = "schema_attested";
|
|
98
|
-
}
|
|
99
88
|
else {
|
|
100
89
|
tier = "incompatible";
|
|
101
90
|
safeErrorCode = versionDriftCode(input.surface);
|
|
@@ -123,7 +112,6 @@ export function isCompatibilityAttestation(value) {
|
|
|
123
112
|
"tier",
|
|
124
113
|
"checkedAt",
|
|
125
114
|
"probes",
|
|
126
|
-
...(candidate.certification === undefined ? [] : ["certification"]),
|
|
127
115
|
...(candidate.safeErrorCode === undefined ? [] : ["safeErrorCode"]),
|
|
128
116
|
]);
|
|
129
117
|
if (keys.length !== expected.size || keys.some((key) => !expected.has(key))) {
|
|
@@ -139,8 +127,6 @@ export function isCompatibilityAttestation(value) {
|
|
|
139
127
|
new Date(Date.parse(candidate.checkedAt)).toISOString() !==
|
|
140
128
|
candidate.checkedAt ||
|
|
141
129
|
!Array.isArray(candidate.probes) ||
|
|
142
|
-
(candidate.certification !== undefined &&
|
|
143
|
-
!isCompatibilityCertification(candidate.certification)) ||
|
|
144
130
|
(candidate.safeErrorCode !== undefined &&
|
|
145
131
|
(typeof candidate.safeErrorCode !== "string" ||
|
|
146
132
|
!SAFE_CODE_PATTERN.test(candidate.safeErrorCode)))) {
|
|
@@ -160,93 +146,7 @@ export function isCompatibilityAttestation(value) {
|
|
|
160
146
|
return false;
|
|
161
147
|
}
|
|
162
148
|
}
|
|
163
|
-
export function isCompatibilityCertification(value) {
|
|
164
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
165
|
-
return false;
|
|
166
|
-
}
|
|
167
|
-
const candidate = value;
|
|
168
|
-
const expected = new Set([
|
|
169
|
-
"depth",
|
|
170
|
-
"outcome",
|
|
171
|
-
"certifiedAt",
|
|
172
|
-
...(candidate.safeErrorCode === undefined ? [] : ["safeErrorCode"]),
|
|
173
|
-
]);
|
|
174
|
-
const parsedAt = typeof candidate.certifiedAt === "string"
|
|
175
|
-
? Date.parse(candidate.certifiedAt)
|
|
176
|
-
: Number.NaN;
|
|
177
|
-
return (Object.keys(candidate).length === expected.size &&
|
|
178
|
-
Object.keys(candidate).every((key) => expected.has(key)) &&
|
|
179
|
-
compatibilityCertificationDepths.includes(candidate.depth) &&
|
|
180
|
-
(candidate.outcome === "pass" || candidate.outcome === "fail") &&
|
|
181
|
-
Number.isFinite(parsedAt) &&
|
|
182
|
-
new Date(parsedAt).toISOString() === candidate.certifiedAt &&
|
|
183
|
-
(candidate.safeErrorCode === undefined ||
|
|
184
|
-
(typeof candidate.safeErrorCode === "string" &&
|
|
185
|
-
SAFE_CODE_PATTERN.test(candidate.safeErrorCode))) &&
|
|
186
|
-
(candidate.outcome === "pass") ===
|
|
187
|
-
(candidate.safeErrorCode === undefined));
|
|
188
|
-
}
|
|
189
|
-
export function attachCompatibilityCertification(attestation, certification) {
|
|
190
|
-
if (!isCompatibilityAttestation(attestation) ||
|
|
191
|
-
!isCompatibilityCertification(certification)) {
|
|
192
|
-
throw new BridgeError("COMPAT_CERTIFICATION_INVALID", "Compatibility certification must attach to one compatible attested surface.");
|
|
193
|
-
}
|
|
194
|
-
return Object.freeze({
|
|
195
|
-
...attestation,
|
|
196
|
-
certification: Object.freeze({ ...certification }),
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
149
|
export function compatibilityCacheKey(attestation) {
|
|
200
150
|
return `${attestation.surface}\0${attestation.version}`;
|
|
201
151
|
}
|
|
202
|
-
export function isCompatibilityCheckReport(value) {
|
|
203
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
|
-
const candidate = value;
|
|
207
|
-
if (Object.keys(candidate).length !== 3 ||
|
|
208
|
-
!Object.hasOwn(candidate, "policy") ||
|
|
209
|
-
!Object.hasOwn(candidate, "compatible") ||
|
|
210
|
-
!Object.hasOwn(candidate, "surfaces") ||
|
|
211
|
-
!compatibilityPolicies.includes(candidate.policy) ||
|
|
212
|
-
typeof candidate.compatible !== "boolean" ||
|
|
213
|
-
!Array.isArray(candidate.surfaces) ||
|
|
214
|
-
candidate.surfaces.length !== compatibilitySurfaces.length ||
|
|
215
|
-
!candidate.surfaces.every(isCompatibilityAttestation)) {
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
const surfaces = candidate.surfaces;
|
|
219
|
-
return (surfaces.every((attestation, index) => attestation.surface === compatibilitySurfaces[index]) &&
|
|
220
|
-
candidate.compatible ===
|
|
221
|
-
surfaces.every((attestation) => attestation.tier !== "incompatible"));
|
|
222
|
-
}
|
|
223
|
-
export function isCompatibilityCertificationReport(value) {
|
|
224
|
-
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
const candidate = value;
|
|
228
|
-
if (Object.keys(candidate).length !== 4 ||
|
|
229
|
-
!Object.hasOwn(candidate, "policy") ||
|
|
230
|
-
!Object.hasOwn(candidate, "certified") ||
|
|
231
|
-
!Object.hasOwn(candidate, "withTurn") ||
|
|
232
|
-
!Object.hasOwn(candidate, "surfaces") ||
|
|
233
|
-
!compatibilityPolicies.includes(candidate.policy) ||
|
|
234
|
-
typeof candidate.certified !== "boolean" ||
|
|
235
|
-
typeof candidate.withTurn !== "boolean" ||
|
|
236
|
-
!Array.isArray(candidate.surfaces) ||
|
|
237
|
-
candidate.surfaces.length !== compatibilitySurfaces.length ||
|
|
238
|
-
!candidate.surfaces.every(isCompatibilityAttestation)) {
|
|
239
|
-
return false;
|
|
240
|
-
}
|
|
241
|
-
const surfaces = candidate.surfaces;
|
|
242
|
-
return (surfaces.every((attestation, index) => attestation.surface === compatibilitySurfaces[index] &&
|
|
243
|
-
attestation.certification !== undefined &&
|
|
244
|
-
(attestation.surface === "claude"
|
|
245
|
-
? attestation.certification.depth === "wire"
|
|
246
|
-
: candidate.withTurn
|
|
247
|
-
? attestation.certification.depth === "turn"
|
|
248
|
-
: attestation.certification.depth === "thread_ops")) &&
|
|
249
|
-
candidate.certified ===
|
|
250
|
-
surfaces.every((attestation) => attestation.certification?.outcome === "pass"));
|
|
251
|
-
}
|
|
252
152
|
//# sourceMappingURL=compatibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/gateway/compatibility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../../src/gateway/compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type GatewayInboundMode, type GatewayStoreLimits } from "./types.js";
|
|
2
|
-
import { type CompatibilityPolicy } from "./compatibility.js";
|
|
3
2
|
export declare const gatewayDeliveryNoticeModes: readonly ["merged", "verbose", "quiet"];
|
|
4
3
|
export type GatewayDeliveryNoticeMode = (typeof gatewayDeliveryNoticeModes)[number];
|
|
5
4
|
export type GatewayConfig = {
|
|
@@ -8,7 +7,7 @@ export type GatewayConfig = {
|
|
|
8
7
|
allowedHosts: readonly string[];
|
|
9
8
|
/** Global fail-closed switch for Claude-to-Codex `STEER:` delivery. */
|
|
10
9
|
steeringEnabled: boolean;
|
|
11
|
-
/** Global fail-closed switch for opt-in,
|
|
10
|
+
/** Global fail-closed switch for opt-in, completion-ended progress watches. */
|
|
12
11
|
trackingEnabled?: boolean;
|
|
13
12
|
/** Claude-to-Codex sender consent. Only an explicit CLI opt-out is open. */
|
|
14
13
|
inboundMode: GatewayInboundMode;
|
|
@@ -16,8 +15,6 @@ export type GatewayConfig = {
|
|
|
16
15
|
stallNoticeMs: number;
|
|
17
16
|
/** Native Claude sender notice policy; omitted injected configs mean merged. */
|
|
18
17
|
deliveryNotices?: GatewayDeliveryNoticeMode;
|
|
19
|
-
/** Unknown patch/minor compatibility policy; defaults to bounded observation. */
|
|
20
|
-
compatibilityPolicy?: CompatibilityPolicy;
|
|
21
18
|
limits: GatewayStoreLimits;
|
|
22
19
|
};
|
|
23
20
|
export declare function defaultGatewayStateDir(env?: NodeJS.ProcessEnv): string;
|
|
@@ -3,7 +3,6 @@ import path from "node:path";
|
|
|
3
3
|
import { BridgeError } from "../errors.js";
|
|
4
4
|
import { gatewayPublicSnapshotLimits, } from "./types.js";
|
|
5
5
|
import { PROGRESS_WATCH_DEFAULT_CAPACITY, PROGRESS_WATCH_HARD_CAPACITY, } from "./progress-watch-machine.js";
|
|
6
|
-
import { compatibilityPolicies, } from "./compatibility.js";
|
|
7
6
|
export const gatewayDeliveryNoticeModes = [
|
|
8
7
|
"merged",
|
|
9
8
|
"verbose",
|
|
@@ -62,13 +61,6 @@ function deliveryNoticeMode(value) {
|
|
|
62
61
|
}
|
|
63
62
|
throw new BridgeError("INVALID_GATEWAY_CONFIGURATION", "EMBASSY_DELIVERY_NOTICES must be exactly merged, verbose, or quiet.");
|
|
64
63
|
}
|
|
65
|
-
function compatibilityPolicy(value) {
|
|
66
|
-
const candidate = value ?? "observed";
|
|
67
|
-
if (compatibilityPolicies.includes(candidate)) {
|
|
68
|
-
return candidate;
|
|
69
|
-
}
|
|
70
|
-
throw new BridgeError("INVALID_GATEWAY_CONFIGURATION", "EMBASSY_COMPAT_POLICY must be exactly observed or strict.");
|
|
71
|
-
}
|
|
72
64
|
export function loadGatewayConfig(env = process.env) {
|
|
73
65
|
const stateDir = path.resolve(defaultGatewayStateDir(env));
|
|
74
66
|
const controlSocketPath = path.join(stateDir, "control.sock");
|
|
@@ -93,7 +85,6 @@ export function loadGatewayConfig(env = process.env) {
|
|
|
93
85
|
maxQueueBytes: boundedInteger("EMBASSY_MAX_QUEUE_BYTES", env.EMBASSY_MAX_QUEUE_BYTES, 1_048_576, 1_024, 67_108_864),
|
|
94
86
|
maxMessageBytes: boundedInteger("EMBASSY_MAX_MESSAGE_BYTES", env.EMBASSY_MAX_MESSAGE_BYTES, 16_384, 1, 1_048_576),
|
|
95
87
|
messageDeadlineMs,
|
|
96
|
-
maxHopCount: boundedInteger("EMBASSY_MAX_HOPS", env.EMBASSY_MAX_HOPS, 16, 0, 64),
|
|
97
88
|
rateLimitPerRoute: boundedInteger("EMBASSY_RATE_LIMIT", env.EMBASSY_RATE_LIMIT, 30, 1, 10_000),
|
|
98
89
|
rateWindowMs: boundedInteger("EMBASSY_RATE_WINDOW_MS", env.EMBASSY_RATE_WINDOW_MS, 60_000, 1_000, 3_600_000),
|
|
99
90
|
};
|
|
@@ -125,7 +116,6 @@ export function loadGatewayConfig(env = process.env) {
|
|
|
125
116
|
inboundMode: "paired",
|
|
126
117
|
stallNoticeMs,
|
|
127
118
|
deliveryNotices: deliveryNoticeMode(env.EMBASSY_DELIVERY_NOTICES),
|
|
128
|
-
compatibilityPolicy: compatibilityPolicy(env.EMBASSY_COMPAT_POLICY),
|
|
129
119
|
limits,
|
|
130
120
|
};
|
|
131
121
|
}
|
|
@@ -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;AAC3C,OAAO,EACL,2BAA2B,GAG5B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/gateway/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type CompatibilityCertificationReport, type CompatibilityCheckReport } from "./compatibility.js";
|
|
2
1
|
import type { GatewayPublicSnapshot } from "./types.js";
|
|
3
2
|
export declare const GATEWAY_CONTROL_PROTOCOL_VERSION: 1;
|
|
4
3
|
export declare const GATEWAY_CONTROL_MAX_FRAME_BYTES: number;
|
|
@@ -6,7 +5,7 @@ export declare const GATEWAY_CONTROL_MAX_RESPONSE_BYTES: number;
|
|
|
6
5
|
export declare const GATEWAY_CONTROL_MAX_MESSAGE_BYTES: number;
|
|
7
6
|
export declare const GATEWAY_CONTROL_DEFAULT_TIMEOUT_MS = 3000;
|
|
8
7
|
export declare const GATEWAY_CONTROL_MAX_CONNECTIONS = 32;
|
|
9
|
-
export declare const gatewayControlMethods: readonly ["health", "register_codex", "unregister_codex", "remove_stale_codex_registration", "select_claude", "unselect_claude", "pair", "unpair", "list_snapshot", "observe_snapshot", "
|
|
8
|
+
export declare const gatewayControlMethods: readonly ["health", "register_codex", "unregister_codex", "remove_stale_codex_registration", "select_claude", "unselect_claude", "pair", "unpair", "list_snapshot", "observe_snapshot", "delivery_status", "untrack", "send_to_claude", "send_to_codex", "reply", "refresh_dashboard"];
|
|
10
9
|
export type GatewayControlMethod = (typeof gatewayControlMethods)[number];
|
|
11
10
|
export type GatewayBusyPolicy = "queue";
|
|
12
11
|
export type RegisterCodexParams = {
|
|
@@ -138,17 +137,6 @@ export type GatewayControlRequest = {
|
|
|
138
137
|
protocolVersion: 1;
|
|
139
138
|
method: "observe_snapshot";
|
|
140
139
|
params: Record<string, never>;
|
|
141
|
-
} | {
|
|
142
|
-
protocolVersion: 1;
|
|
143
|
-
method: "compat_check";
|
|
144
|
-
params: Record<string, never>;
|
|
145
|
-
} | {
|
|
146
|
-
protocolVersion: 1;
|
|
147
|
-
method: "compat_certify";
|
|
148
|
-
params: {
|
|
149
|
-
codexAlias?: string;
|
|
150
|
-
withTurn: boolean;
|
|
151
|
-
};
|
|
152
140
|
} | {
|
|
153
141
|
protocolVersion: 1;
|
|
154
142
|
method: "delivery_status";
|
|
@@ -174,7 +162,7 @@ export type GatewayControlRequest = {
|
|
|
174
162
|
method: "refresh_dashboard";
|
|
175
163
|
params: Record<string, never>;
|
|
176
164
|
};
|
|
177
|
-
export type GatewayDecisionCode = "ok" | "not_found" | "conflict" | "route_mismatch" | "busy" | "unavailable" | "rejected";
|
|
165
|
+
export type GatewayDecisionCode = "ok" | "not_found" | "conflict" | "watch_owner_conflict" | "route_mismatch" | "busy" | "unavailable" | "rejected";
|
|
178
166
|
export type GatewayDecision = {
|
|
179
167
|
accepted: true;
|
|
180
168
|
code: "ok";
|
|
@@ -232,8 +220,6 @@ type ResultByMethod = {
|
|
|
232
220
|
unpair: GatewayDecision;
|
|
233
221
|
list_snapshot: GatewaySnapshot;
|
|
234
222
|
observe_snapshot: GatewaySnapshotObservation;
|
|
235
|
-
compat_check: CompatibilityCheckReport;
|
|
236
|
-
compat_certify: CompatibilityCertificationReport;
|
|
237
223
|
delivery_status: GatewayDeliveryStatusResult;
|
|
238
224
|
untrack: GatewayDecision;
|
|
239
225
|
send_to_claude: GatewaySendResult;
|
|
@@ -253,11 +239,6 @@ export type GatewayControlHandlers = {
|
|
|
253
239
|
unpair: (params: Readonly<PairParams>) => MaybePromise<GatewayDecision>;
|
|
254
240
|
listSnapshot: () => MaybePromise<GatewaySnapshot>;
|
|
255
241
|
observeSnapshot: () => MaybePromise<GatewaySnapshotObservation>;
|
|
256
|
-
compatibilityCheck: () => MaybePromise<CompatibilityCheckReport>;
|
|
257
|
-
compatibilityCertify: (params: Readonly<{
|
|
258
|
-
codexAlias?: string;
|
|
259
|
-
withTurn: boolean;
|
|
260
|
-
}>) => MaybePromise<CompatibilityCertificationReport>;
|
|
261
242
|
deliveryStatus: (params: Readonly<DeliveryStatusParams>) => MaybePromise<GatewayDeliveryStatusResult>;
|
|
262
243
|
untrack: (params: Readonly<UntrackParams>) => MaybePromise<GatewayDecision>;
|
|
263
244
|
sendToClaude: (params: Readonly<ValidatedSendToClaudeParams>) => MaybePromise<GatewaySendResult>;
|
|
@@ -12,7 +12,7 @@ import { chmod, lstat, mkdtemp, realpath, rename, rmdir, unlink, } from "node:fs
|
|
|
12
12
|
import net from "node:net";
|
|
13
13
|
import path from "node:path";
|
|
14
14
|
import { TextDecoder } from "node:util";
|
|
15
|
-
import { isCompatibilityAttestation
|
|
15
|
+
import { isCompatibilityAttestation } from "./compatibility.js";
|
|
16
16
|
import { GATEWAY_PUBLIC_SNAPSHOT_BYTE_BUDGET, gatewayPublicSnapshotLimits, } from "./types.js";
|
|
17
17
|
export const GATEWAY_CONTROL_PROTOCOL_VERSION = 1;
|
|
18
18
|
export const GATEWAY_CONTROL_MAX_FRAME_BYTES = 32 * 1024;
|
|
@@ -47,8 +47,6 @@ export const gatewayControlMethods = [
|
|
|
47
47
|
"unpair",
|
|
48
48
|
"list_snapshot",
|
|
49
49
|
"observe_snapshot",
|
|
50
|
-
"compat_check",
|
|
51
|
-
"compat_certify",
|
|
52
50
|
"delivery_status",
|
|
53
51
|
"untrack",
|
|
54
52
|
"send_to_claude",
|
|
@@ -211,27 +209,11 @@ function normalizeParams(method, value) {
|
|
|
211
209
|
case "health":
|
|
212
210
|
case "list_snapshot":
|
|
213
211
|
case "observe_snapshot":
|
|
214
|
-
case "compat_check":
|
|
215
212
|
case "refresh_dashboard":
|
|
216
213
|
if (!hasExactKeys(value, [])) {
|
|
217
214
|
throw new ProtocolFault("INVALID_REQUEST");
|
|
218
215
|
}
|
|
219
216
|
return {};
|
|
220
|
-
case "compat_certify": {
|
|
221
|
-
if (!hasExactKeys(value, ["withTurn"], ["codexAlias"]) ||
|
|
222
|
-
typeof value.withTurn !== "boolean" ||
|
|
223
|
-
(value.codexAlias !== undefined &&
|
|
224
|
-
(!isAlias(value.codexAlias) ||
|
|
225
|
-
!value.codexAlias.startsWith("codex-")))) {
|
|
226
|
-
throw new ProtocolFault("INVALID_REQUEST");
|
|
227
|
-
}
|
|
228
|
-
return {
|
|
229
|
-
withTurn: value.withTurn,
|
|
230
|
-
...(value.codexAlias === undefined
|
|
231
|
-
? {}
|
|
232
|
-
: { codexAlias: value.codexAlias }),
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
217
|
case "delivery_status": {
|
|
236
218
|
if (!hasExactKeys(value, ["token"]) ||
|
|
237
219
|
typeof value.token !== "string" ||
|
|
@@ -451,6 +433,7 @@ function isDecision(value) {
|
|
|
451
433
|
return value.code === "ok";
|
|
452
434
|
return (value.code === "not_found" ||
|
|
453
435
|
value.code === "conflict" ||
|
|
436
|
+
value.code === "watch_owner_conflict" ||
|
|
454
437
|
value.code === "route_mismatch" ||
|
|
455
438
|
value.code === "busy" ||
|
|
456
439
|
value.code === "unavailable" ||
|
|
@@ -665,7 +648,6 @@ function isNormalizedMessageEvent(value) {
|
|
|
665
648
|
"targetAlias",
|
|
666
649
|
"state",
|
|
667
650
|
"bytes",
|
|
668
|
-
"hopCount",
|
|
669
651
|
], ["conversationIdSuffix", "body", "latencyMs", "safeErrorCode", "steer"]) &&
|
|
670
652
|
isNonNegativeInteger(value.sequence) &&
|
|
671
653
|
isIsoTimestamp(value.timestamp) &&
|
|
@@ -697,7 +679,6 @@ function isNormalizedMessageEvent(value) {
|
|
|
697
679
|
value.body.length > 0 &&
|
|
698
680
|
!value.body.includes("\u0000") &&
|
|
699
681
|
Buffer.byteLength(value.body, "utf8") === value.bytes)) &&
|
|
700
|
-
isNonNegativeInteger(value.hopCount) &&
|
|
701
682
|
(value.latencyMs === undefined || isNonNegativeInteger(value.latencyMs)) &&
|
|
702
683
|
(value.safeErrorCode === undefined || isSafeCode(value.safeErrorCode)) &&
|
|
703
684
|
(value.steer === undefined || value.steer === true));
|
|
@@ -750,7 +731,6 @@ function isProgressWatchSnapshot(value) {
|
|
|
750
731
|
"nextActionAt",
|
|
751
732
|
"idleMs",
|
|
752
733
|
"nudgeCount",
|
|
753
|
-
"workerReportedComplete",
|
|
754
734
|
]) &&
|
|
755
735
|
typeof value.conversationIdSuffix === "string" &&
|
|
756
736
|
CONVERSATION_SUFFIX_PATTERN.test(value.conversationIdSuffix) &&
|
|
@@ -763,8 +743,7 @@ function isProgressWatchSnapshot(value) {
|
|
|
763
743
|
isIsoTimestamp(value.nextActionAt) &&
|
|
764
744
|
typeof value.idleMs === "number" &&
|
|
765
745
|
isTrackIdleMinutes(value.idleMs / 60_000) &&
|
|
766
|
-
(value.nudgeCount === 0 || value.nudgeCount === 1 || value.nudgeCount === 2)
|
|
767
|
-
typeof value.workerReportedComplete === "boolean");
|
|
746
|
+
(value.nudgeCount === 0 || value.nudgeCount === 1 || value.nudgeCount === 2));
|
|
768
747
|
}
|
|
769
748
|
function isProgressWatchEventSnapshot(value) {
|
|
770
749
|
return (isRecord(value) &&
|
|
@@ -784,11 +763,14 @@ function isProgressWatchEventSnapshot(value) {
|
|
|
784
763
|
isAlias(value.workerAlias) &&
|
|
785
764
|
[
|
|
786
765
|
"opened",
|
|
766
|
+
"replaced",
|
|
787
767
|
"nudge",
|
|
788
768
|
"worker_reported_complete",
|
|
789
769
|
"capability_degraded",
|
|
770
|
+
"conversation_rebound",
|
|
790
771
|
"done",
|
|
791
772
|
"unresponsive",
|
|
773
|
+
"pair_removed",
|
|
792
774
|
"endpoint_retired",
|
|
793
775
|
"disabled",
|
|
794
776
|
].includes(String(value.kind)) &&
|
|
@@ -1011,10 +993,6 @@ function isResultForMethod(method, value) {
|
|
|
1011
993
|
return isGatewaySnapshot(value);
|
|
1012
994
|
case "observe_snapshot":
|
|
1013
995
|
return isSnapshotObservation(value);
|
|
1014
|
-
case "compat_check":
|
|
1015
|
-
return isCompatibilityCheckReport(value);
|
|
1016
|
-
case "compat_certify":
|
|
1017
|
-
return isCompatibilityCertificationReport(value);
|
|
1018
996
|
case "delivery_status":
|
|
1019
997
|
return isDeliveryStatusResult(value);
|
|
1020
998
|
case "untrack":
|
|
@@ -1068,12 +1046,6 @@ async function dispatch(request, handlers) {
|
|
|
1068
1046
|
case "observe_snapshot":
|
|
1069
1047
|
result = await handlers.observeSnapshot();
|
|
1070
1048
|
break;
|
|
1071
|
-
case "compat_check":
|
|
1072
|
-
result = await handlers.compatibilityCheck();
|
|
1073
|
-
break;
|
|
1074
|
-
case "compat_certify":
|
|
1075
|
-
result = await handlers.compatibilityCertify(request.params);
|
|
1076
|
-
break;
|
|
1077
1049
|
case "delivery_status":
|
|
1078
1050
|
result = await handlers.deliveryStatus(request.params);
|
|
1079
1051
|
break;
|
|
@@ -1191,7 +1163,7 @@ function controlTransportError(code, ambiguous = false) {
|
|
|
1191
1163
|
CONTROL_CONNECT_FAILED: "The gateway control socket could not be reached.",
|
|
1192
1164
|
CONTROL_TIMEOUT: "The gateway control request timed out.",
|
|
1193
1165
|
CONTROL_RESPONSE_TOO_LARGE: "The gateway control response exceeds the client limit.",
|
|
1194
|
-
CONTROL_INVALID_RESPONSE: "The gateway returned an invalid control response.",
|
|
1166
|
+
CONTROL_INVALID_RESPONSE: "The gateway returned an invalid control response. Restart the broker, then retry.",
|
|
1195
1167
|
CONTROL_CONNECTION_CLOSED: "The gateway closed before returning a control response.",
|
|
1196
1168
|
CONTROL_OUTCOME_AMBIGUOUS: "The gateway may have applied the control mutation before the response was lost; do not retry automatically.",
|
|
1197
1169
|
};
|
|
@@ -1205,7 +1177,6 @@ function isNonIdempotentControlMethod(method) {
|
|
|
1205
1177
|
method === "unselect_claude" ||
|
|
1206
1178
|
method === "pair" ||
|
|
1207
1179
|
method === "unpair" ||
|
|
1208
|
-
method === "compat_certify" ||
|
|
1209
1180
|
method === "send_to_claude" ||
|
|
1210
1181
|
method === "send_to_codex" ||
|
|
1211
1182
|
method === "reply");
|