agent-embassy 1.6.0 → 1.7.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 +31 -0
- package/README.md +9 -9
- package/README.zh-CN.md +9 -9
- package/SECURITY.md +34 -77
- package/dist/src/gateway/acp-client.d.ts +117 -0
- package/dist/src/gateway/acp-client.js +382 -0
- package/dist/src/gateway/acp-client.js.map +1 -0
- package/dist/src/gateway/acp-provider.d.ts +65 -0
- package/dist/src/gateway/acp-provider.js +163 -0
- package/dist/src/gateway/acp-provider.js.map +1 -0
- package/dist/src/gateway/claude-helper-protocol.d.ts +3 -1
- package/dist/src/gateway/claude-helper-protocol.js +15 -5
- package/dist/src/gateway/claude-helper-protocol.js.map +1 -1
- package/dist/src/gateway/claude-helper-supervisor.d.ts +3 -1
- package/dist/src/gateway/claude-helper-supervisor.js +16 -2
- package/dist/src/gateway/claude-helper-supervisor.js.map +1 -1
- package/dist/src/gateway/claude-helper.js +4 -3
- package/dist/src/gateway/claude-helper.js.map +1 -1
- package/dist/src/gateway/claude-peer.d.ts +1 -1
- package/dist/src/gateway/claude-peer.js +11 -13
- package/dist/src/gateway/claude-peer.js.map +1 -1
- package/dist/src/gateway/claude-runtime.d.ts +0 -20
- package/dist/src/gateway/claude-runtime.js +6 -127
- package/dist/src/gateway/claude-runtime.js.map +1 -1
- package/dist/src/gateway/cli-copy.en.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.js +2 -2
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.js +2 -2
- package/dist/src/gateway/cli.d.ts +1 -1
- package/dist/src/gateway/cli.js +26 -5
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/codex-app-server.d.ts +5 -74
- package/dist/src/gateway/codex-app-server.js +9 -597
- package/dist/src/gateway/codex-app-server.js.map +1 -1
- package/dist/src/gateway/codex-local-transport.d.ts +8 -26
- package/dist/src/gateway/codex-local-transport.js +26 -76
- package/dist/src/gateway/codex-local-transport.js.map +1 -1
- package/dist/src/gateway/compatibility.d.ts +6 -66
- package/dist/src/gateway/compatibility.js +14 -296
- package/dist/src/gateway/compatibility.js.map +1 -1
- package/dist/src/gateway/config.d.ts +9 -0
- package/dist/src/gateway/config.js +6 -2
- package/dist/src/gateway/config.js.map +1 -1
- package/dist/src/gateway/control.d.ts +16 -1
- package/dist/src/gateway/control.js +89 -57
- 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 +14 -44
- package/dist/src/gateway/dashboard-copy.en.js +37 -67
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +14 -44
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +14 -44
- package/dist/src/gateway/dashboard-copy.zh-CN.js +37 -67
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +38 -76
- package/dist/src/gateway/dashboard-model.js +158 -256
- package/dist/src/gateway/dashboard-model.js.map +1 -1
- package/dist/src/gateway/dashboard.d.ts +0 -3
- package/dist/src/gateway/dashboard.js +75 -76
- package/dist/src/gateway/dashboard.js.map +1 -1
- package/dist/src/gateway/deepseek-detect.d.ts +7 -6
- package/dist/src/gateway/deepseek-detect.js +31 -115
- package/dist/src/gateway/deepseek-detect.js.map +1 -1
- package/dist/src/gateway/live-dashboard-app/app.js +166 -621
- package/dist/src/gateway/live-dashboard-command.js +2 -4
- package/dist/src/gateway/live-dashboard-command.js.map +1 -1
- package/dist/src/gateway/live-dashboard-http.d.ts +1 -2
- package/dist/src/gateway/live-dashboard-http.js +14 -15
- package/dist/src/gateway/live-dashboard-http.js.map +1 -1
- package/dist/src/gateway/progress-watch-machine.d.ts +1 -4
- package/dist/src/gateway/progress-watch-machine.js.map +1 -1
- package/dist/src/gateway/provenance-envelope.d.ts +3 -2
- package/dist/src/gateway/provenance-envelope.js +44 -11
- package/dist/src/gateway/provenance-envelope.js.map +1 -1
- package/dist/src/gateway/providers.d.ts +12 -84
- package/dist/src/gateway/providers.js +69 -806
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.d.ts +8 -9
- package/dist/src/gateway/server.js +51 -99
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +22 -49
- package/dist/src/gateway/service.js +196 -432
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/store.d.ts +20 -29
- package/dist/src/gateway/store.js +281 -827
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +55 -55
- package/dist/src/gateway/types.js +49 -91
- package/dist/src/gateway/types.js.map +1 -1
- package/docs/CONFIGURATION.md +11 -10
- package/docs/CONFIGURATION.zh-CN.md +10 -9
- package/docs/DASHBOARD.md +4 -38
- package/docs/DASHBOARD.zh-CN.md +4 -2
- package/docs/GATEWAY-ARCHITECTURE.md +61 -119
- package/package.json +1 -1
- package/skills/embassy-peer/SKILL.md +6 -6
|
@@ -1,33 +1,52 @@
|
|
|
1
1
|
import type { ProgressWatch, ProgressWatchJournalEvent } from "./progress-watch-machine.js";
|
|
2
|
-
|
|
3
|
-
export declare const gatewayProviders: readonly ["codex", "claude"];
|
|
2
|
+
export declare const gatewayProviders: readonly ["claude", "codex", "deepseek", "grok"];
|
|
4
3
|
export type GatewayProvider = (typeof gatewayProviders)[number];
|
|
4
|
+
export declare const gatewayProviderDisplayNames: Readonly<{
|
|
5
|
+
claude: string;
|
|
6
|
+
codex: string;
|
|
7
|
+
deepseek: string;
|
|
8
|
+
grok: string;
|
|
9
|
+
}>;
|
|
10
|
+
/** Registration syntax only; route bindings, never prefixes, prove providers. */
|
|
11
|
+
export declare const gatewayRegistrationIngressPrefixes: Readonly<{
|
|
12
|
+
claude: undefined;
|
|
13
|
+
codex: string;
|
|
14
|
+
deepseek: string;
|
|
15
|
+
grok: string;
|
|
16
|
+
}>;
|
|
5
17
|
export declare const gatewayInboundModes: readonly ["paired", "open"];
|
|
6
18
|
export type GatewayInboundMode = (typeof gatewayInboundModes)[number];
|
|
7
|
-
export declare const connectorHealthStates: readonly ["offline", "connecting", "healthy", "degraded"
|
|
19
|
+
export declare const connectorHealthStates: readonly ["offline", "connecting", "healthy", "degraded"];
|
|
8
20
|
export type ConnectorHealth = (typeof connectorHealthStates)[number];
|
|
9
|
-
export declare const
|
|
10
|
-
export type CompatibilityState = (typeof compatibilityStates)[number];
|
|
11
|
-
export declare const routeStates: readonly ["stale", "idle", "busy", "awaiting_approval", "offline", "incompatible", "disabled"];
|
|
21
|
+
export declare const routeStates: readonly ["stale", "idle", "busy", "awaiting_approval", "offline", "disabled"];
|
|
12
22
|
export type RouteState = (typeof routeStates)[number];
|
|
13
23
|
export declare const routeRegistrationModes: readonly ["explicit_opt_in", "selected_live_peer"];
|
|
14
24
|
export type RouteRegistrationMode = (typeof routeRegistrationModes)[number];
|
|
15
|
-
export
|
|
16
|
-
|
|
25
|
+
export type MessageDirection = {
|
|
26
|
+
[Source in GatewayProvider]: `${Source}_to_${Exclude<GatewayProvider, Source>}`;
|
|
27
|
+
}[GatewayProvider];
|
|
28
|
+
export type ParsedMessageDirection = Readonly<{
|
|
29
|
+
sourceProvider: GatewayProvider;
|
|
30
|
+
targetProvider: GatewayProvider;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const isGatewayProvider: (value: unknown) => value is GatewayProvider;
|
|
33
|
+
export declare function directionId(sourceProvider: GatewayProvider, targetProvider: GatewayProvider): MessageDirection;
|
|
34
|
+
export declare const messageDirections: readonly MessageDirection[];
|
|
35
|
+
export declare function parseDirection(value: unknown): ParsedMessageDirection | undefined;
|
|
36
|
+
export declare const isMessageDirection: (value: unknown) => value is MessageDirection;
|
|
17
37
|
export declare const deliveryStates: readonly ["queued", "duplicate", "dispatching", "transport_written", "held", "delivered", "unconfirmed", "failed", "ambiguous", "expired", "cancelled", "abandoned", "rejected"];
|
|
18
38
|
export type DeliveryState = (typeof deliveryStates)[number];
|
|
19
|
-
export declare const terminalDeliveryStates: Set<"
|
|
39
|
+
export declare const terminalDeliveryStates: Set<"delivered" | "failed" | "cancelled" | "queued" | "duplicate" | "dispatching" | "transport_written" | "held" | "unconfirmed" | "ambiguous" | "expired" | "abandoned" | "rejected">;
|
|
20
40
|
export declare const alertSeverities: readonly ["info", "warning", "error"];
|
|
21
41
|
export type AlertSeverity = (typeof alertSeverities)[number];
|
|
22
42
|
export type BusyPolicy = "queue";
|
|
23
43
|
/** Canonical closed-array bounds shared by store projections and control/UI. */
|
|
24
44
|
export declare const gatewayPublicSnapshotLimits: Readonly<{
|
|
25
45
|
readonly connectors: 64;
|
|
26
|
-
readonly compatibilityChecks: number;
|
|
27
46
|
readonly registryRejectionCodes: 32;
|
|
28
47
|
readonly availablePeers: 256;
|
|
29
48
|
readonly routes: 256;
|
|
30
|
-
readonly
|
|
49
|
+
readonly consentEdges: 256;
|
|
31
50
|
readonly progressWatches: 64;
|
|
32
51
|
readonly progressWatchEvents: 256;
|
|
33
52
|
readonly activityEvents: 256;
|
|
@@ -72,7 +91,6 @@ export type GatewayRouteRecord = {
|
|
|
72
91
|
registrationMode: RouteRegistrationMode;
|
|
73
92
|
enabled: boolean;
|
|
74
93
|
state: RouteState;
|
|
75
|
-
compatibility: CompatibilityState;
|
|
76
94
|
busyPolicy: BusyPolicy;
|
|
77
95
|
registeredAt: string;
|
|
78
96
|
updatedAt: string;
|
|
@@ -86,11 +104,14 @@ export type GatewayRouteRecord = {
|
|
|
86
104
|
* display coordinates; the private leases prevent an alias from silently
|
|
87
105
|
* retargeting an existing permission edge.
|
|
88
106
|
*/
|
|
89
|
-
export type
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
export type GatewayConsentEndpoint = Readonly<{
|
|
108
|
+
alias: string;
|
|
109
|
+
provider: GatewayProvider;
|
|
110
|
+
ownerLease: string;
|
|
111
|
+
}>;
|
|
112
|
+
export type GatewayConsentEdgeRecord = {
|
|
113
|
+
/** Canonical order: provider order first, then alias. */
|
|
114
|
+
endpoints: readonly [GatewayConsentEndpoint, GatewayConsentEndpoint];
|
|
94
115
|
createdAt: string;
|
|
95
116
|
updatedAt: string;
|
|
96
117
|
counters: RouteCounters;
|
|
@@ -105,7 +126,6 @@ export type GatewayPrivateRouteInspection = {
|
|
|
105
126
|
registrationMode: RouteRegistrationMode;
|
|
106
127
|
enabled: boolean;
|
|
107
128
|
state: RouteState;
|
|
108
|
-
compatibility: CompatibilityState;
|
|
109
129
|
safeErrorCode?: string;
|
|
110
130
|
};
|
|
111
131
|
export type ConnectorRecord = {
|
|
@@ -113,7 +133,6 @@ export type ConnectorRecord = {
|
|
|
113
133
|
hostId: string;
|
|
114
134
|
endpointGeneration: string;
|
|
115
135
|
health: ConnectorHealth;
|
|
116
|
-
compatibility: CompatibilityState;
|
|
117
136
|
protocol: string;
|
|
118
137
|
protocolVersion: string;
|
|
119
138
|
updatedAt: string;
|
|
@@ -223,12 +242,12 @@ export type CodexOrphanRemovalJournalEvent = {
|
|
|
223
242
|
};
|
|
224
243
|
export declare const CODEX_ORPHAN_REMOVAL_JOURNAL_CAPACITY = 256;
|
|
225
244
|
export type GatewayPersistedState = {
|
|
226
|
-
schemaVersion:
|
|
245
|
+
schemaVersion: 2;
|
|
227
246
|
createdAt: string;
|
|
228
247
|
updatedAt: string;
|
|
229
248
|
eventSequence: number;
|
|
230
249
|
routes: GatewayRouteRecord[];
|
|
231
|
-
|
|
250
|
+
consentEdges: GatewayConsentEdgeRecord[];
|
|
232
251
|
connectors: ConnectorRecord[];
|
|
233
252
|
queue: QueuedMessageMetadata[];
|
|
234
253
|
inFlight: InFlightMessageMetadata[];
|
|
@@ -239,8 +258,6 @@ export type GatewayPersistedState = {
|
|
|
239
258
|
watchSequence: number;
|
|
240
259
|
progressWatches: ProgressWatch[];
|
|
241
260
|
progressWatchEvents: ProgressWatchJournalEvent[];
|
|
242
|
-
/** Bounded, body-free probe evidence keyed by provider surface and version. */
|
|
243
|
-
compatibilityAttestations: CompatibilityAttestation[];
|
|
244
261
|
/** Monotonic sequence for the bounded private endpoint-refresh journal. */
|
|
245
262
|
codexEndpointRefreshSequence: number;
|
|
246
263
|
/** Strictly private route-lifecycle evidence; never publicly projected. */
|
|
@@ -258,7 +275,6 @@ export type PublicRouteSnapshot = {
|
|
|
258
275
|
host: string;
|
|
259
276
|
enabled: boolean;
|
|
260
277
|
state: RouteState;
|
|
261
|
-
compatibility: CompatibilityState;
|
|
262
278
|
busyPolicy: BusyPolicy;
|
|
263
279
|
lastSeenAt?: string;
|
|
264
280
|
queueDepth: number;
|
|
@@ -268,9 +284,13 @@ export type PublicRouteSnapshot = {
|
|
|
268
284
|
safeErrorCode?: string;
|
|
269
285
|
};
|
|
270
286
|
/** Metadata-only public consent edge. Private route authority is omitted. */
|
|
271
|
-
export type
|
|
272
|
-
|
|
273
|
-
|
|
287
|
+
export type PublicConsentEndpointSnapshot = Readonly<{
|
|
288
|
+
alias: string;
|
|
289
|
+
provider: GatewayProvider;
|
|
290
|
+
}>;
|
|
291
|
+
export type PublicConsentEdgeSnapshot = {
|
|
292
|
+
/** Canonical order matching the private consent edge. */
|
|
293
|
+
endpoints: readonly [PublicConsentEndpointSnapshot, PublicConsentEndpointSnapshot];
|
|
274
294
|
host: string;
|
|
275
295
|
counters: RouteCounters;
|
|
276
296
|
};
|
|
@@ -278,24 +298,12 @@ export type PublicConnectorSnapshot = {
|
|
|
278
298
|
provider: GatewayProvider;
|
|
279
299
|
host: string;
|
|
280
300
|
health: ConnectorHealth;
|
|
281
|
-
compatibility: CompatibilityState;
|
|
282
301
|
protocol: string;
|
|
283
302
|
protocolVersion: string;
|
|
284
303
|
lastSeenAt?: string;
|
|
285
304
|
safeErrorCode?: string;
|
|
286
305
|
registry?: PublicRegistryObservationSnapshot;
|
|
287
306
|
};
|
|
288
|
-
/**
|
|
289
|
-
* Public compatibility evidence adds this release's comparison point without
|
|
290
|
-
* changing the persisted attestation schema.
|
|
291
|
-
*/
|
|
292
|
-
export type PublicCompatibilityCheckSnapshot = CompatibilityAttestation & Readonly<{
|
|
293
|
-
testedVersion?: string;
|
|
294
|
-
supportedMajor?: string;
|
|
295
|
-
writesCovered: boolean;
|
|
296
|
-
}>;
|
|
297
|
-
export declare function projectPublicCompatibilityCheck(attestation: CompatibilityAttestation): PublicCompatibilityCheckSnapshot;
|
|
298
|
-
export declare function isPublicCompatibilityCheckSnapshot(value: unknown): value is PublicCompatibilityCheckSnapshot;
|
|
299
307
|
/**
|
|
300
308
|
* Bounded, native-ID-free evidence attached to one Claude connector. Counts
|
|
301
309
|
* describe only the latest pass; the monotonic flag distinguishes an ordinary
|
|
@@ -312,7 +320,7 @@ export type PublicRegistryObservationSnapshot = {
|
|
|
312
320
|
}[];
|
|
313
321
|
rejectedCodesOmitted: number;
|
|
314
322
|
};
|
|
315
|
-
export declare const publicAvailablePeerStates: readonly ["idle", "busy", "awaiting_approval", "offline"
|
|
323
|
+
export declare const publicAvailablePeerStates: readonly ["idle", "busy", "awaiting_approval", "offline"];
|
|
316
324
|
export type PublicAvailablePeerState = (typeof publicAvailablePeerStates)[number];
|
|
317
325
|
/**
|
|
318
326
|
* A transient, metadata-only discovery row. Native provider IDs, process
|
|
@@ -325,7 +333,6 @@ export type PublicAvailablePeerSnapshot = {
|
|
|
325
333
|
provider: GatewayProvider;
|
|
326
334
|
host: string;
|
|
327
335
|
state: PublicAvailablePeerState;
|
|
328
|
-
compatibility: CompatibilityState;
|
|
329
336
|
/** True only when this row passed the provider's strict selectable-peer checks. */
|
|
330
337
|
validated: boolean;
|
|
331
338
|
selected: boolean;
|
|
@@ -390,19 +397,18 @@ export type PublicProgressWatchEventSnapshot = {
|
|
|
390
397
|
workerAlias: string;
|
|
391
398
|
kind: "opened" | "replaced" | "settled";
|
|
392
399
|
actor: "owner" | "worker" | "operator" | "gateway" | "unknown";
|
|
393
|
-
reason?: "done" | "untracked" | "idle_timeout" | "pair_removed" | "endpoint_retired" | "tracking_disabled"
|
|
400
|
+
reason?: "done" | "untracked" | "idle_timeout" | "pair_removed" | "endpoint_retired" | "tracking_disabled";
|
|
394
401
|
};
|
|
395
402
|
export type GatewayPublicSnapshot = {
|
|
396
|
-
schemaVersion:
|
|
403
|
+
schemaVersion: 2;
|
|
397
404
|
generatedAt: string;
|
|
398
405
|
/** Launch-time Claude-to-Codex consent policy; paired is the safe default. */
|
|
399
406
|
inboundMode: GatewayInboundMode;
|
|
400
407
|
health: ConnectorHealth;
|
|
401
408
|
connectors: PublicConnectorSnapshot[];
|
|
402
|
-
compatibilityChecks?: PublicCompatibilityCheckSnapshot[];
|
|
403
409
|
availablePeers: PublicAvailablePeerSnapshot[];
|
|
404
410
|
routes: PublicRouteSnapshot[];
|
|
405
|
-
|
|
411
|
+
consentEdges: PublicConsentEdgeSnapshot[];
|
|
406
412
|
progressWatches?: PublicProgressWatchSnapshot[];
|
|
407
413
|
progressWatchEvents?: PublicProgressWatchEventSnapshot[];
|
|
408
414
|
activityEvents?: PublicGatewayActivityEvent[];
|
|
@@ -414,10 +420,9 @@ export type GatewayPublicSnapshot = {
|
|
|
414
420
|
};
|
|
415
421
|
export type GatewaySnapshotTruncation = {
|
|
416
422
|
connectors: number;
|
|
417
|
-
compatibilityChecks?: number;
|
|
418
423
|
availablePeers: number;
|
|
419
424
|
routes: number;
|
|
420
|
-
|
|
425
|
+
consentEdges: number;
|
|
421
426
|
progressWatches?: number;
|
|
422
427
|
progressWatchEvents?: number;
|
|
423
428
|
activityEvents?: number;
|
|
@@ -436,12 +441,10 @@ export type RegisterRouteInput = {
|
|
|
436
441
|
binding: PrivateRouteBinding;
|
|
437
442
|
registrationMode: RouteRegistrationMode;
|
|
438
443
|
state?: "idle" | "busy" | "awaiting_approval";
|
|
439
|
-
compatibility?: "compatible";
|
|
440
444
|
};
|
|
441
445
|
export type ObserveConnectorInput = {
|
|
442
446
|
identity: PrivateEndpointIdentity;
|
|
443
447
|
health: Exclude<ConnectorHealth, "offline">;
|
|
444
|
-
compatibility: CompatibilityState;
|
|
445
448
|
protocol: string;
|
|
446
449
|
protocolVersion: string;
|
|
447
450
|
safeErrorCode?: string;
|
|
@@ -449,12 +452,10 @@ export type ObserveConnectorInput = {
|
|
|
449
452
|
export type ObserveRouteInput = {
|
|
450
453
|
binding: PrivateRouteBinding;
|
|
451
454
|
state: "idle" | "busy" | "awaiting_approval";
|
|
452
|
-
compatibility: "compatible";
|
|
453
455
|
safeErrorCode?: string;
|
|
454
456
|
} | {
|
|
455
457
|
binding: PrivateRouteBinding;
|
|
456
458
|
state: "stale";
|
|
457
|
-
compatibility: "expired";
|
|
458
459
|
safeErrorCode: string;
|
|
459
460
|
};
|
|
460
461
|
export type RebindStaleRouteInput = {
|
|
@@ -503,9 +504,8 @@ export type RemoveStaleCodexOrphanResult = {
|
|
|
503
504
|
alias: string;
|
|
504
505
|
/** Private result used only to reconcile in-process service bindings. */
|
|
505
506
|
binding: PrivateRouteBinding;
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
codexAlias: string;
|
|
507
|
+
removedEdges: Array<{
|
|
508
|
+
aliases: readonly [string, string];
|
|
509
509
|
}>;
|
|
510
510
|
};
|
|
511
511
|
export type EnqueueMessageInput = {
|
|
@@ -596,7 +596,7 @@ export type RequeueInFlightMessageResult = {
|
|
|
596
596
|
};
|
|
597
597
|
export type GatewayStoreLimits = {
|
|
598
598
|
maxRoutes: number;
|
|
599
|
-
|
|
599
|
+
maxConsentEdges: number;
|
|
600
600
|
/** Omitted injected-test configs use the production default of 32. */
|
|
601
601
|
maxWatches?: number;
|
|
602
602
|
eventCapacity: number;
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
export const
|
|
1
|
+
export const gatewayProviders = ["claude", "codex", "deepseek", "grok"];
|
|
2
|
+
export const gatewayProviderDisplayNames = Object.freeze({ claude: "Claude", codex: "Codex", deepseek: "DeepSeek", grok: "Grok Build" });
|
|
3
|
+
/** Registration syntax only; route bindings, never prefixes, prove providers. */
|
|
4
|
+
export const gatewayRegistrationIngressPrefixes = Object.freeze({ claude: undefined, codex: "codex-", deepseek: "dsh-", grok: "grok-" });
|
|
3
5
|
export const gatewayInboundModes = ["paired", "open"];
|
|
4
6
|
export const connectorHealthStates = [
|
|
5
7
|
"offline",
|
|
6
8
|
"connecting",
|
|
7
9
|
"healthy",
|
|
8
10
|
"degraded",
|
|
9
|
-
"incompatible",
|
|
10
|
-
];
|
|
11
|
-
export const compatibilityStates = [
|
|
12
|
-
"unknown",
|
|
13
|
-
"compatible",
|
|
14
|
-
"incompatible",
|
|
15
|
-
"expired",
|
|
16
11
|
];
|
|
17
12
|
export const routeStates = [
|
|
18
13
|
"stale",
|
|
@@ -20,17 +15,38 @@ export const routeStates = [
|
|
|
20
15
|
"busy",
|
|
21
16
|
"awaiting_approval",
|
|
22
17
|
"offline",
|
|
23
|
-
"incompatible",
|
|
24
18
|
"disabled",
|
|
25
19
|
];
|
|
26
20
|
export const routeRegistrationModes = [
|
|
27
21
|
"explicit_opt_in",
|
|
28
22
|
"selected_live_peer",
|
|
29
23
|
];
|
|
30
|
-
export const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
24
|
+
export const isGatewayProvider = (value) => typeof value === "string" && gatewayProviders.includes(value);
|
|
25
|
+
export function directionId(sourceProvider, targetProvider) {
|
|
26
|
+
if (sourceProvider === targetProvider) {
|
|
27
|
+
throw new RangeError("SAME_PROVIDER_DIRECTION");
|
|
28
|
+
}
|
|
29
|
+
return `${sourceProvider}_to_${targetProvider}`;
|
|
30
|
+
}
|
|
31
|
+
export const messageDirections = Object.freeze(gatewayProviders.flatMap((sourceProvider) => gatewayProviders.filter((targetProvider) => targetProvider !== sourceProvider)
|
|
32
|
+
.map((targetProvider) => directionId(sourceProvider, targetProvider))));
|
|
33
|
+
export function parseDirection(value) {
|
|
34
|
+
if (typeof value !== "string")
|
|
35
|
+
return undefined;
|
|
36
|
+
const separator = value.indexOf("_to_");
|
|
37
|
+
if (separator < 1 || separator !== value.lastIndexOf("_to_")) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const sourceProvider = value.slice(0, separator);
|
|
41
|
+
const targetProvider = value.slice(separator + 4);
|
|
42
|
+
if (!isGatewayProvider(sourceProvider) ||
|
|
43
|
+
!isGatewayProvider(targetProvider) ||
|
|
44
|
+
sourceProvider === targetProvider) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return { sourceProvider, targetProvider };
|
|
48
|
+
}
|
|
49
|
+
export const isMessageDirection = (value) => parseDirection(value) !== undefined;
|
|
34
50
|
export const deliveryStates = [
|
|
35
51
|
"queued",
|
|
36
52
|
"duplicate",
|
|
@@ -60,11 +76,10 @@ export const alertSeverities = ["info", "warning", "error"];
|
|
|
60
76
|
/** Canonical closed-array bounds shared by store projections and control/UI. */
|
|
61
77
|
export const gatewayPublicSnapshotLimits = Object.freeze({
|
|
62
78
|
connectors: 64,
|
|
63
|
-
compatibilityChecks: compatibilitySurfaces.length,
|
|
64
79
|
registryRejectionCodes: 32,
|
|
65
80
|
availablePeers: 256,
|
|
66
81
|
routes: 256,
|
|
67
|
-
|
|
82
|
+
consentEdges: 256,
|
|
68
83
|
progressWatches: 64,
|
|
69
84
|
progressWatchEvents: 256,
|
|
70
85
|
activityEvents: 256,
|
|
@@ -75,56 +90,11 @@ export const gatewayPublicSnapshotLimits = Object.freeze({
|
|
|
75
90
|
export const GATEWAY_PUBLIC_SNAPSHOT_BYTE_BUDGET = 240 * 1024;
|
|
76
91
|
export const CODEX_ENDPOINT_REFRESH_JOURNAL_CAPACITY = 256;
|
|
77
92
|
export const CODEX_ORPHAN_REMOVAL_JOURNAL_CAPACITY = 256;
|
|
78
|
-
function publicCompatibilityReference(surface) {
|
|
79
|
-
const testedVersion = certifiedCompatibilityVersions[surface][0];
|
|
80
|
-
if (testedVersion === undefined)
|
|
81
|
-
return undefined;
|
|
82
|
-
const separator = testedVersion.indexOf(".");
|
|
83
|
-
if (separator < 1)
|
|
84
|
-
return undefined;
|
|
85
|
-
return {
|
|
86
|
-
testedVersion,
|
|
87
|
-
supportedMajor: testedVersion.slice(0, separator),
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
export function projectPublicCompatibilityCheck(attestation) {
|
|
91
|
-
const reference = publicCompatibilityReference(attestation.surface);
|
|
92
|
-
return {
|
|
93
|
-
...attestation,
|
|
94
|
-
probes: attestation.probes.map((probe) => ({ ...probe })),
|
|
95
|
-
...(reference === undefined ? {} : reference),
|
|
96
|
-
writesCovered: compatibilityCoversWrites(attestation),
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
export function isPublicCompatibilityCheckSnapshot(value) {
|
|
100
|
-
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
101
|
-
return false;
|
|
102
|
-
const candidate = value;
|
|
103
|
-
const hasTestedVersion = Object.hasOwn(candidate, "testedVersion");
|
|
104
|
-
const hasSupportedMajor = Object.hasOwn(candidate, "supportedMajor");
|
|
105
|
-
if (hasTestedVersion !== hasSupportedMajor ||
|
|
106
|
-
!Object.hasOwn(candidate, "writesCovered") ||
|
|
107
|
-
(hasTestedVersion && typeof candidate.testedVersion !== "string") ||
|
|
108
|
-
(hasSupportedMajor && typeof candidate.supportedMajor !== "string") ||
|
|
109
|
-
typeof candidate.writesCovered !== "boolean") {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
const { testedVersion: _testedVersion, supportedMajor: _supportedMajor, writesCovered: _writesCovered, ...attestation } = candidate;
|
|
113
|
-
if (!isCompatibilityAttestation(attestation))
|
|
114
|
-
return false;
|
|
115
|
-
const reference = publicCompatibilityReference(attestation.surface);
|
|
116
|
-
return ((reference === undefined
|
|
117
|
-
? !hasTestedVersion
|
|
118
|
-
: candidate.testedVersion === reference.testedVersion &&
|
|
119
|
-
candidate.supportedMajor === reference.supportedMajor) &&
|
|
120
|
-
candidate.writesCovered === compatibilityCoversWrites(attestation));
|
|
121
|
-
}
|
|
122
93
|
export const publicAvailablePeerStates = [
|
|
123
94
|
"idle",
|
|
124
95
|
"busy",
|
|
125
96
|
"awaiting_approval",
|
|
126
97
|
"offline",
|
|
127
|
-
"incompatible",
|
|
128
98
|
];
|
|
129
99
|
export const gatewayActivityKinds = [
|
|
130
100
|
"discovery",
|
|
@@ -168,7 +138,6 @@ export function isPublicAvailablePeerSnapshot(value) {
|
|
|
168
138
|
"provider",
|
|
169
139
|
"host",
|
|
170
140
|
"state",
|
|
171
|
-
"compatibility",
|
|
172
141
|
"validated",
|
|
173
142
|
"selected",
|
|
174
143
|
];
|
|
@@ -186,8 +155,6 @@ export function isPublicAvailablePeerSnapshot(value) {
|
|
|
186
155
|
candidate.provider !== "claude" ||
|
|
187
156
|
typeof candidate.state !== "string" ||
|
|
188
157
|
!publicAvailablePeerStates.includes(candidate.state) ||
|
|
189
|
-
typeof candidate.compatibility !== "string" ||
|
|
190
|
-
!compatibilityStates.includes(candidate.compatibility) ||
|
|
191
158
|
typeof candidate.validated !== "boolean" ||
|
|
192
159
|
typeof candidate.selected !== "boolean") {
|
|
193
160
|
return false;
|
|
@@ -271,7 +238,7 @@ function routePriority(state) {
|
|
|
271
238
|
return 0;
|
|
272
239
|
if (state === "idle")
|
|
273
240
|
return 1;
|
|
274
|
-
if (state === "offline"
|
|
241
|
+
if (state === "offline")
|
|
275
242
|
return 2;
|
|
276
243
|
if (state === "stale")
|
|
277
244
|
return 3;
|
|
@@ -282,18 +249,14 @@ function connectorPriority(health) {
|
|
|
282
249
|
return 0;
|
|
283
250
|
if (health === "degraded")
|
|
284
251
|
return 1;
|
|
285
|
-
|
|
286
|
-
return 2;
|
|
287
|
-
return 3;
|
|
252
|
+
return 2;
|
|
288
253
|
}
|
|
289
254
|
function peerPriority(state) {
|
|
290
255
|
if (state === "busy" || state === "awaiting_approval")
|
|
291
256
|
return 0;
|
|
292
257
|
if (state === "idle")
|
|
293
258
|
return 1;
|
|
294
|
-
|
|
295
|
-
return 2;
|
|
296
|
-
return 3;
|
|
259
|
+
return 2;
|
|
297
260
|
}
|
|
298
261
|
function snapshotBytes(snapshot) {
|
|
299
262
|
return Buffer.byteLength(JSON.stringify(snapshot), "utf8");
|
|
@@ -327,14 +290,9 @@ export function projectGatewayPublicSnapshot(snapshot, maximumBytes = GATEWAY_PU
|
|
|
327
290
|
},
|
|
328
291
|
}),
|
|
329
292
|
})),
|
|
330
|
-
...(snapshot.compatibilityChecks === undefined
|
|
331
|
-
? {}
|
|
332
|
-
: {
|
|
333
|
-
compatibilityChecks: snapshot.compatibilityChecks.slice(0, gatewayPublicSnapshotLimits.compatibilityChecks),
|
|
334
|
-
}),
|
|
335
293
|
availablePeers: snapshot.availablePeers.slice(0, gatewayPublicSnapshotLimits.availablePeers),
|
|
336
294
|
routes: snapshot.routes.slice(0, gatewayPublicSnapshotLimits.routes),
|
|
337
|
-
|
|
295
|
+
consentEdges: snapshot.consentEdges.slice(0, gatewayPublicSnapshotLimits.consentEdges),
|
|
338
296
|
...(snapshot.progressWatches === undefined
|
|
339
297
|
? {}
|
|
340
298
|
: {
|
|
@@ -356,19 +314,13 @@ export function projectGatewayPublicSnapshot(snapshot, maximumBytes = GATEWAY_PU
|
|
|
356
314
|
truncation: {
|
|
357
315
|
connectors: snapshot.truncation.connectors +
|
|
358
316
|
Math.max(0, snapshot.connectors.length - gatewayPublicSnapshotLimits.connectors),
|
|
359
|
-
...(snapshot.compatibilityChecks === undefined
|
|
360
|
-
? {}
|
|
361
|
-
: {
|
|
362
|
-
compatibilityChecks: (snapshot.truncation.compatibilityChecks ?? 0) +
|
|
363
|
-
Math.max(0, snapshot.compatibilityChecks.length -
|
|
364
|
-
gatewayPublicSnapshotLimits.compatibilityChecks),
|
|
365
|
-
}),
|
|
366
317
|
availablePeers: snapshot.truncation.availablePeers +
|
|
367
318
|
Math.max(0, snapshot.availablePeers.length - gatewayPublicSnapshotLimits.availablePeers),
|
|
368
319
|
routes: snapshot.truncation.routes +
|
|
369
320
|
Math.max(0, snapshot.routes.length - gatewayPublicSnapshotLimits.routes),
|
|
370
|
-
|
|
371
|
-
Math.max(0, snapshot.
|
|
321
|
+
consentEdges: snapshot.truncation.consentEdges +
|
|
322
|
+
Math.max(0, snapshot.consentEdges.length -
|
|
323
|
+
gatewayPublicSnapshotLimits.consentEdges),
|
|
372
324
|
...(snapshot.progressWatches === undefined
|
|
373
325
|
? {}
|
|
374
326
|
: {
|
|
@@ -517,11 +469,17 @@ export function projectGatewayPublicSnapshot(snapshot, maximumBytes = GATEWAY_PU
|
|
|
517
469
|
return left.alias.localeCompare(right.alias);
|
|
518
470
|
});
|
|
519
471
|
const routeOmissions = projected.truncation.routes;
|
|
520
|
-
const
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
472
|
+
const consentEdges = [...projected.consentEdges].sort((left, right) => left.endpoints
|
|
473
|
+
.map((endpoint) => `${endpoint.provider}\0${endpoint.alias}`)
|
|
474
|
+
.join("\0")
|
|
475
|
+
.localeCompare(right.endpoints
|
|
476
|
+
.map((endpoint) => `${endpoint.provider}\0${endpoint.alias}`)
|
|
477
|
+
.join("\0")));
|
|
478
|
+
const consentEdgeOmissions = projected.truncation.consentEdges;
|
|
479
|
+
if (retainUntilFit(consentEdges.length, (retained) => {
|
|
480
|
+
projected.consentEdges = consentEdges.slice(0, retained);
|
|
481
|
+
projected.truncation.consentEdges =
|
|
482
|
+
consentEdgeOmissions + consentEdges.length - retained;
|
|
525
483
|
})) {
|
|
526
484
|
return projected;
|
|
527
485
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateway/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/gateway/types.ts"],"names":[],"mappings":"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"}
|