agent-embassy 1.5.0 → 1.6.1
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 +29 -1
- package/CONTRIBUTING.md +11 -3
- package/README.md +4 -2
- package/README.zh-CN.md +4 -2
- package/SECURITY.md +30 -9
- package/dist/src/gateway/cli.d.ts +1 -1
- package/dist/src/gateway/cli.js +4 -1
- package/dist/src/gateway/cli.js.map +1 -1
- package/dist/src/gateway/codex-app-server.d.ts +43 -2
- package/dist/src/gateway/codex-app-server.js +539 -3
- package/dist/src/gateway/codex-app-server.js.map +1 -1
- package/dist/src/gateway/compatibility.d.ts +31 -3
- package/dist/src/gateway/compatibility.js +100 -29
- package/dist/src/gateway/compatibility.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.d.ts +1 -1
- package/dist/src/gateway/dashboard-copy.en.d.ts +6 -0
- package/dist/src/gateway/dashboard-copy.en.js +6 -0
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +6 -0
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +6 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js +6 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +27 -7
- package/dist/src/gateway/dashboard-model.js +78 -25
- package/dist/src/gateway/dashboard-model.js.map +1 -1
- package/dist/src/gateway/dashboard.d.ts +3 -0
- package/dist/src/gateway/dashboard.js +15 -3
- package/dist/src/gateway/dashboard.js.map +1 -1
- package/dist/src/gateway/deepseek-detect.d.ts +13 -0
- package/dist/src/gateway/deepseek-detect.js +125 -0
- package/dist/src/gateway/deepseek-detect.js.map +1 -0
- package/dist/src/gateway/live-dashboard-app/app.js +12 -11
- package/dist/src/gateway/providers.d.ts +13 -2
- package/dist/src/gateway/providers.js +370 -24
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.d.ts +2 -0
- package/dist/src/gateway/server.js +6 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +21 -2
- package/dist/src/gateway/service.js +122 -38
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/types.d.ts +4 -3
- package/dist/src/gateway/types.js +17 -14
- package/dist/src/gateway/types.js.map +1 -1
- package/docs/CONFIGURATION.md +2 -2
- package/docs/CONFIGURATION.zh-CN.md +2 -2
- package/docs/DASHBOARD.md +10 -4
- package/docs/DASHBOARD.zh-CN.md +1 -1
- package/docs/GATEWAY-ARCHITECTURE.md +40 -14
- package/package.json +1 -1
- package/skills/embassy-peer/SKILL.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/gateway/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { GatewayConfig } from "./config.js";
|
|
2
|
-
import { type CompatibilityAttestation, type CompatibilityProbeResult, type CompatibilitySurfaceObservation } from "./compatibility.js";
|
|
2
|
+
import { type CompatibilityAttestation, type CompatibilityProbeResult, type CompatibilitySurfaceDefinition, type CompatibilitySurfaceObserver, type CompatibilitySurfaceObservation } from "./compatibility.js";
|
|
3
3
|
import { type GatewayControlHandlers, type GatewaySnapshotObservation } from "./control.js";
|
|
4
4
|
import { publishGatewayDashboard } from "./dashboard.js";
|
|
5
|
+
import type { CodexWriteCompatibilityProbeResult } from "./codex-app-server.js";
|
|
5
6
|
import { GatewayStore } from "./store.js";
|
|
6
7
|
import { type CompatibilityState, type GatewayPublicSnapshot, type PrivateEndpointIdentity, type PrivateRouteBinding, type RouteState } from "./types.js";
|
|
7
8
|
export type GatewayAdapterRouteState = Extract<RouteState, "idle" | "busy" | "awaiting_approval">;
|
|
@@ -133,6 +134,11 @@ export type GatewayAdapterDispatchInput = {
|
|
|
133
134
|
/** Older accepted rows observed when this exact STEER left the queue. */
|
|
134
135
|
queuedAhead?: number;
|
|
135
136
|
};
|
|
137
|
+
export type GatewayCompatibilityProbeContext = Readonly<{
|
|
138
|
+
stateRoot: string;
|
|
139
|
+
forbiddenCodexThreadIds: readonly string[];
|
|
140
|
+
}>;
|
|
141
|
+
export type GatewayWriteCompatibilityProbeObservation = Readonly<CodexWriteCompatibilityProbeResult>;
|
|
136
142
|
/**
|
|
137
143
|
* Narrow provider boundary. Production adapters wrap ClaudePeerAdapter or one
|
|
138
144
|
* exact CodexAppServerConnector; tests use in-memory fakes. Implementations
|
|
@@ -144,10 +150,16 @@ export interface GatewayProviderAdapter {
|
|
|
144
150
|
readonly protocolVersion: string;
|
|
145
151
|
/** Version identity is cheap; bounded probes run fresh on every startup. */
|
|
146
152
|
compatibilitySurface?(): CompatibilitySurfaceObservation;
|
|
147
|
-
runCompatibilityProbes?(): Promise<readonly CompatibilityProbeResult[]>;
|
|
153
|
+
runCompatibilityProbes?(context?: GatewayCompatibilityProbeContext): Promise<readonly CompatibilityProbeResult[]>;
|
|
154
|
+
/** Process-local write-probe cost/failure evidence; never persisted or projected. */
|
|
155
|
+
latestWriteCompatibilityProbeObservation?(endpointGeneration: string): GatewayWriteCompatibilityProbeObservation | undefined;
|
|
148
156
|
/** Latest already-read Claude registry evidence; this accessor performs no I/O. */
|
|
149
157
|
latestRegistryObservation?(): GatewayAdapterRegistryObservation | undefined;
|
|
150
158
|
acceptCompatibilityAttestation(attestation: CompatibilityAttestation): void;
|
|
159
|
+
/** Releases one selector claim after controller-side activation fails. */
|
|
160
|
+
releaseEndpointRefreshSelectorClaim?(endpointGeneration: string): void;
|
|
161
|
+
/** Re-publishes pending transition evidence on one observed recovery edge. */
|
|
162
|
+
rearmEndpointRefreshActivation?(endpointGeneration: string): void;
|
|
151
163
|
initialize(callbacks: GatewayAdapterCallbacks): Promise<GatewayAdapterStart>;
|
|
152
164
|
discoverClaudePeers?(): Promise<GatewayAdapterDiscoverySnapshot>;
|
|
153
165
|
selectRoute(input: {
|
|
@@ -258,11 +270,17 @@ export type GatewayServiceOptions = {
|
|
|
258
270
|
timers?: GatewayServiceTimers;
|
|
259
271
|
/** Test seam for opaque listener generations; production remains random. */
|
|
260
272
|
successionGeneration?: () => string;
|
|
273
|
+
/** Test-only surface inventory; production uses the declared registry. */
|
|
274
|
+
compatibilitySurfaceDefinitions?: readonly CompatibilitySurfaceDefinition[];
|
|
275
|
+
/** Read-only surfaces that are deliberately not routing providers. */
|
|
276
|
+
compatibilityObservers?: readonly CompatibilitySurfaceObserver[];
|
|
261
277
|
};
|
|
262
278
|
export declare class GatewayService {
|
|
263
279
|
readonly config: GatewayConfig;
|
|
264
280
|
readonly store: GatewayStore;
|
|
265
281
|
private readonly adapters;
|
|
282
|
+
private readonly compatibilityObservers;
|
|
283
|
+
private readonly compatibilitySurfaceDefinitions;
|
|
266
284
|
private readonly publishDashboard;
|
|
267
285
|
private readonly now;
|
|
268
286
|
private readonly timers;
|
|
@@ -468,6 +486,7 @@ export declare class GatewayService {
|
|
|
468
486
|
private selectedClaudeRoute;
|
|
469
487
|
private registerOrRebind;
|
|
470
488
|
private rememberBinding;
|
|
489
|
+
private reanchorQueuedMessageContexts;
|
|
471
490
|
private forgetBinding;
|
|
472
491
|
private verifyCodex;
|
|
473
492
|
private verifyClaude;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash, randomBytes } from "node:crypto";
|
|
2
2
|
import { BridgeError } from "../errors.js";
|
|
3
3
|
import { KeyedMutex } from "../mutex.js";
|
|
4
|
-
import { certifiedCompatibilityVersions,
|
|
4
|
+
import { certifiedCompatibilityVersions, compatibilityCoversWrites, compatibilitySurfaceDefinitions, evaluateCompatibilityAttestation, isCompatibilityAttestation, } from "./compatibility.js";
|
|
5
5
|
import { createGatewayConversationId, isGatewaySnapshot, startGatewayControlServer, } from "./control.js";
|
|
6
6
|
import { publishGatewayDashboard } from "./dashboard.js";
|
|
7
7
|
import { createDeliveryMachine, isTerminalDeliveryMachine, projectDelivery, projectDeliveryWakeups, transitionDelivery, } from "./delivery-machine.js";
|
|
@@ -149,6 +149,8 @@ export class GatewayService {
|
|
|
149
149
|
config;
|
|
150
150
|
store;
|
|
151
151
|
adapters;
|
|
152
|
+
compatibilityObservers;
|
|
153
|
+
compatibilitySurfaceDefinitions;
|
|
152
154
|
publishDashboard;
|
|
153
155
|
now;
|
|
154
156
|
timers;
|
|
@@ -245,6 +247,9 @@ export class GatewayService {
|
|
|
245
247
|
constructor(options) {
|
|
246
248
|
this.config = options.config;
|
|
247
249
|
this.adapters = [...(options.adapters ?? [])];
|
|
250
|
+
this.compatibilityObservers = [...(options.compatibilityObservers ?? [])];
|
|
251
|
+
this.compatibilitySurfaceDefinitions =
|
|
252
|
+
options.compatibilitySurfaceDefinitions ?? compatibilitySurfaceDefinitions;
|
|
248
253
|
this.publishDashboard = options.publishDashboard ?? publishGatewayDashboard;
|
|
249
254
|
this.now = options.now ?? (() => new Date());
|
|
250
255
|
this.store =
|
|
@@ -568,26 +573,60 @@ export class GatewayService {
|
|
|
568
573
|
return (await this.observeSnapshot()).snapshot;
|
|
569
574
|
}
|
|
570
575
|
async runAutomaticCompatibilityProbesLocked() {
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
adapter.
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
576
|
+
const entries = [
|
|
577
|
+
...this.adapters.map((adapter) => {
|
|
578
|
+
if (adapter.compatibilitySurface === undefined ||
|
|
579
|
+
adapter.runCompatibilityProbes === undefined) {
|
|
580
|
+
throw new BridgeError("COMPAT_PROVIDER_UNAVAILABLE", "Every local provider must expose the bounded compatibility probe contract.");
|
|
581
|
+
}
|
|
582
|
+
return {
|
|
583
|
+
observer: adapter,
|
|
584
|
+
adapter,
|
|
585
|
+
};
|
|
586
|
+
}),
|
|
587
|
+
...this.compatibilityObservers.map((observer) => ({ observer })),
|
|
588
|
+
];
|
|
589
|
+
const observedEntries = entries.map((entry) => ({
|
|
590
|
+
...entry,
|
|
591
|
+
observation: entry.observer.compatibilitySurface(),
|
|
578
592
|
}));
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
throw new BridgeError("COMPAT_PROVIDER_UNAVAILABLE", "
|
|
582
|
-
}
|
|
593
|
+
const bySurface = new Map(observedEntries.map((entry) => [entry.observation.surface, entry]));
|
|
594
|
+
if (bySurface.size !== entries.length) {
|
|
595
|
+
throw new BridgeError("COMPAT_PROVIDER_UNAVAILABLE", "Each compatibility observer must expose one distinct surface.");
|
|
596
|
+
}
|
|
597
|
+
const declared = new Set(this.compatibilitySurfaceDefinitions.map(({ surface }) => surface));
|
|
598
|
+
if ([...bySurface.keys()].some((surface) => !declared.has(surface))) {
|
|
599
|
+
throw new BridgeError("COMPAT_SURFACE_UNDECLARED", "Every compatibility observer must use a declared surface.");
|
|
600
|
+
}
|
|
601
|
+
const forbiddenCodexThreadIds = (await this.store.inspectPrivateCodexRoutes()).map((route) => route.binding.routeHandle);
|
|
602
|
+
const probeContext = {
|
|
603
|
+
stateRoot: this.store.rootDir,
|
|
604
|
+
forbiddenCodexThreadIds,
|
|
605
|
+
};
|
|
583
606
|
const attestations = [];
|
|
584
|
-
for (const
|
|
607
|
+
for (const definition of this.compatibilitySurfaceDefinitions) {
|
|
608
|
+
const { surface } = definition;
|
|
585
609
|
const entry = bySurface.get(surface);
|
|
586
610
|
if (entry === undefined) {
|
|
611
|
+
if (!definition.required)
|
|
612
|
+
continue;
|
|
587
613
|
throw new BridgeError("COMPAT_PROVIDER_UNAVAILABLE", "A required compatibility surface is unavailable.");
|
|
588
614
|
}
|
|
589
|
-
const probes =
|
|
590
|
-
|
|
615
|
+
const probes = entry.adapter === undefined
|
|
616
|
+
? await entry.observer.runCompatibilityProbes()
|
|
617
|
+
: await entry.adapter.runCompatibilityProbes(probeContext);
|
|
618
|
+
let writeProbePassed = false;
|
|
619
|
+
if (entry.adapter !== undefined) {
|
|
620
|
+
const writeProbe = entry.adapter.latestWriteCompatibilityProbeObservation?.(entry.adapter.identity.endpointGeneration);
|
|
621
|
+
writeProbePassed = writeProbe?.outcome === "pass";
|
|
622
|
+
if (writeProbe?.outcome === "fail") {
|
|
623
|
+
this.addRuntimeAlert(writeProbe.safeErrorCode, writeProbe.safeErrorCode === "CODEX_WRITE_PROBE_TOOL_ACTIVITY_OBSERVED" ||
|
|
624
|
+
writeProbe.safeErrorCode === "CODEX_WRITE_PROBE_CLEANUP_UNCONFIRMED"
|
|
625
|
+
? "error"
|
|
626
|
+
: "warning", { provider: "codex", host: entry.adapter.identity.hostId });
|
|
627
|
+
}
|
|
628
|
+
this.captureRegistryObservation(entry.adapter, entry.adapter.latestRegistryObservation?.());
|
|
629
|
+
}
|
|
591
630
|
const attestation = evaluateCompatibilityAttestation({
|
|
592
631
|
surface,
|
|
593
632
|
version: entry.observation.version,
|
|
@@ -596,15 +635,18 @@ export class GatewayService {
|
|
|
596
635
|
probes,
|
|
597
636
|
});
|
|
598
637
|
await this.store.recordCompatibilityAttestation(attestation);
|
|
599
|
-
entry.
|
|
600
|
-
if (attestation.tier === "incompatible") {
|
|
638
|
+
entry.observer.acceptCompatibilityAttestation?.(attestation);
|
|
639
|
+
if (attestation.tier === "incompatible" && entry.adapter !== undefined) {
|
|
601
640
|
const code = attestation.safeErrorCode ?? "COMPATIBILITY_CHECK_FAILED";
|
|
602
|
-
this.incompatibleProviderSurfaces.set(this.providerSurfaceKey(
|
|
641
|
+
this.incompatibleProviderSurfaces.set(this.providerSurfaceKey(entry.adapter.identity.provider, entry.adapter.identity.hostId), code);
|
|
603
642
|
if (surface === "codex") {
|
|
604
643
|
this.activeCodexIncompatibility = structuredClone(attestation);
|
|
605
644
|
}
|
|
606
645
|
}
|
|
607
|
-
else if (surface === "codex" &&
|
|
646
|
+
else if (surface === "codex" &&
|
|
647
|
+
attestation.tier === "schema_attested" &&
|
|
648
|
+
!(compatibilityCoversWrites(attestation) && writeProbePassed) &&
|
|
649
|
+
entry.adapter !== undefined) {
|
|
608
650
|
// A live but untested App Server schema is useful for observation only.
|
|
609
651
|
// Fence retained boot reactivation before it can trigger endpoint
|
|
610
652
|
// refresh churn; an explicit registration may still re-probe a later,
|
|
@@ -1019,17 +1061,31 @@ export class GatewayService {
|
|
|
1019
1061
|
await this.publish();
|
|
1020
1062
|
}
|
|
1021
1063
|
this.pruneTransient();
|
|
1064
|
+
const deferredRouteObservations = [];
|
|
1022
1065
|
while (this.hasPendingCallbackWork()) {
|
|
1023
1066
|
// Preserve the complete ordinary queue order. In particular, every
|
|
1024
1067
|
// delivery observation already retained before endpoint replacement is
|
|
1025
1068
|
// reduced before the lifecycle transition can settle its generation.
|
|
1026
1069
|
const ordinaryBatch = this.callbackQueue.splice(0, this.callbackQueue.length);
|
|
1070
|
+
const pendingRefresh = this.endpointRefreshCallback?.value;
|
|
1027
1071
|
for (const event of ordinaryBatch) {
|
|
1028
1072
|
try {
|
|
1029
1073
|
if (event.type === "delivery") {
|
|
1030
1074
|
await this.onDelivery(event.source, event.value, event.receivedAt);
|
|
1031
1075
|
}
|
|
1032
1076
|
else if (event.type === "route") {
|
|
1077
|
+
if (pendingRefresh?.outcome === "compatible" &&
|
|
1078
|
+
event.source.provider === "codex" &&
|
|
1079
|
+
event.source.hostId === pendingRefresh.current.hostId &&
|
|
1080
|
+
event.source.endpointGeneration ===
|
|
1081
|
+
pendingRefresh.current.endpointGeneration &&
|
|
1082
|
+
pendingRefresh.routes.some((route) => route.routeHandle === event.value.routeHandle)) {
|
|
1083
|
+
// The provider can observe G2 after staging it but before this
|
|
1084
|
+
// worker installs G2's durable binding. Preserve that fresher
|
|
1085
|
+
// state until the exact transition evidence has been reduced.
|
|
1086
|
+
deferredRouteObservations.push(event);
|
|
1087
|
+
continue;
|
|
1088
|
+
}
|
|
1033
1089
|
await this.onRouteState(event.source, event.value);
|
|
1034
1090
|
}
|
|
1035
1091
|
else if (event.type === "claude_reply") {
|
|
@@ -1092,6 +1148,14 @@ export class GatewayService {
|
|
|
1092
1148
|
this.endpointRefreshCallback = requestedRetry;
|
|
1093
1149
|
}
|
|
1094
1150
|
}
|
|
1151
|
+
for (const event of deferredRouteObservations) {
|
|
1152
|
+
try {
|
|
1153
|
+
await this.onRouteState(event.source, event.value);
|
|
1154
|
+
}
|
|
1155
|
+
catch {
|
|
1156
|
+
this.dashboardHealthy = false;
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1095
1159
|
}
|
|
1096
1160
|
/**
|
|
1097
1161
|
* A selector can synchronously admit callbacks while its promise is still
|
|
@@ -3359,6 +3423,16 @@ export class GatewayService {
|
|
|
3359
3423
|
this.routeStates.set(alias, state);
|
|
3360
3424
|
this.bindingAliases.set(bindingKey(binding), alias);
|
|
3361
3425
|
}
|
|
3426
|
+
reanchorQueuedMessageContexts(alias, previous, current) {
|
|
3427
|
+
const previousKey = bindingKey(previous);
|
|
3428
|
+
const currentKey = bindingKey(current);
|
|
3429
|
+
for (const context of this.messageContexts.values()) {
|
|
3430
|
+
if (context.targetAlias === alias &&
|
|
3431
|
+
context.targetBindingKey === previousKey) {
|
|
3432
|
+
context.targetBindingKey = currentKey;
|
|
3433
|
+
}
|
|
3434
|
+
}
|
|
3435
|
+
}
|
|
3362
3436
|
forgetBinding(alias) {
|
|
3363
3437
|
const heldTimer = this.heldRedispatchTimers.get(alias);
|
|
3364
3438
|
if (heldTimer !== undefined) {
|
|
@@ -4698,7 +4772,6 @@ export class GatewayService {
|
|
|
4698
4772
|
authorization: "selected_route",
|
|
4699
4773
|
targetAlias: item.targetAlias,
|
|
4700
4774
|
deadlineAt: item.deadlineAt,
|
|
4701
|
-
recovered: true,
|
|
4702
4775
|
};
|
|
4703
4776
|
this.conversations.set(conversationId, conversation);
|
|
4704
4777
|
this.messageContexts.set(item.messageId, context);
|
|
@@ -4793,22 +4866,11 @@ export class GatewayService {
|
|
|
4793
4866
|
inspection?.state === "stale" ||
|
|
4794
4867
|
inspection?.safeErrorCode === "CODEX_ROUTE_STALE");
|
|
4795
4868
|
if (codexRouteStale) {
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
await this.applyTerminalSettlementLocked(result.settlement);
|
|
4800
|
-
}
|
|
4801
|
-
await this.changed();
|
|
4802
|
-
return;
|
|
4869
|
+
const result = await this.store.requeueInFlightMessage(item.messageId, item.body);
|
|
4870
|
+
if (result.status === "settled") {
|
|
4871
|
+
await this.applyTerminalSettlementLocked(result.settlement);
|
|
4803
4872
|
}
|
|
4804
|
-
await this.advanceDeliveryLocked(item.messageId, {
|
|
4805
|
-
type: "route_terminated",
|
|
4806
|
-
at: this.now().getTime(),
|
|
4807
|
-
unwrittenOutcome: "failed",
|
|
4808
|
-
safeErrorCode: "CODEX_ROUTE_STALE",
|
|
4809
|
-
});
|
|
4810
4873
|
await this.changed();
|
|
4811
|
-
this.scheduleDispatch(targetAlias);
|
|
4812
4874
|
return;
|
|
4813
4875
|
}
|
|
4814
4876
|
const storedDispatchable = binding.provider === "claude" ||
|
|
@@ -5459,6 +5521,9 @@ export class GatewayService {
|
|
|
5459
5521
|
return activationDeferred;
|
|
5460
5522
|
}
|
|
5461
5523
|
finally {
|
|
5524
|
+
if (!succeeded && event.outcome === "compatible") {
|
|
5525
|
+
adapter.releaseEndpointRefreshSelectorClaim?.(event.current.endpointGeneration);
|
|
5526
|
+
}
|
|
5462
5527
|
if (ownsActiveTransition &&
|
|
5463
5528
|
this.activeEndpointRefreshCallbackKey === transitionKey) {
|
|
5464
5529
|
this.activeEndpointRefreshCallback = undefined;
|
|
@@ -5565,7 +5630,9 @@ export class GatewayService {
|
|
|
5565
5630
|
await this.changed();
|
|
5566
5631
|
return false;
|
|
5567
5632
|
}
|
|
5568
|
-
if (event.attestation.tier === "schema_attested"
|
|
5633
|
+
if (event.attestation.tier === "schema_attested" &&
|
|
5634
|
+
!(compatibilityCoversWrites(event.attestation) &&
|
|
5635
|
+
adapter.latestWriteCompatibilityProbeObservation?.(event.current.endpointGeneration)?.outcome === "pass")) {
|
|
5569
5636
|
// A passing untested-version schema is useful observation, but it is not
|
|
5570
5637
|
// durable route or write authority. Settle the provider's pending probe
|
|
5571
5638
|
// so a later generation can be examined, while leaving every G1 route
|
|
@@ -5611,6 +5678,18 @@ export class GatewayService {
|
|
|
5611
5678
|
},
|
|
5612
5679
|
];
|
|
5613
5680
|
});
|
|
5681
|
+
const reanchorPendingMessageContexts = () => {
|
|
5682
|
+
for (const route of pendingReanchors) {
|
|
5683
|
+
const previous = previousRoutes.find((candidate) => candidate.alias === route.alias)?.binding;
|
|
5684
|
+
if (previous === undefined)
|
|
5685
|
+
continue;
|
|
5686
|
+
this.reanchorQueuedMessageContexts(route.alias, previous, {
|
|
5687
|
+
...event.current,
|
|
5688
|
+
routeHandle: route.threadId,
|
|
5689
|
+
ownerLease: route.ownerLease,
|
|
5690
|
+
});
|
|
5691
|
+
}
|
|
5692
|
+
};
|
|
5614
5693
|
if (pendingReanchors.length > 0) {
|
|
5615
5694
|
try {
|
|
5616
5695
|
await this.store.reanchorCodexRoutes({
|
|
@@ -5618,6 +5697,7 @@ export class GatewayService {
|
|
|
5618
5697
|
newEndpoint: event.current,
|
|
5619
5698
|
routes: pendingReanchors,
|
|
5620
5699
|
});
|
|
5700
|
+
reanchorPendingMessageContexts();
|
|
5621
5701
|
this.durablyAppliedEndpointRefreshes.set(event.current.hostId, transitionKey);
|
|
5622
5702
|
}
|
|
5623
5703
|
catch (error) {
|
|
@@ -5639,6 +5719,7 @@ export class GatewayService {
|
|
|
5639
5719
|
return matches.length === 1;
|
|
5640
5720
|
});
|
|
5641
5721
|
if (committedExactly) {
|
|
5722
|
+
reanchorPendingMessageContexts();
|
|
5642
5723
|
this.durablyAppliedEndpointRefreshes.set(event.current.hostId, transitionKey);
|
|
5643
5724
|
try {
|
|
5644
5725
|
await this.store.markConnectorOffline(event.current, "CODEX_ENDPOINT_ACTIVATION_FAILED", [], { preserveQueued: true });
|
|
@@ -5904,6 +5985,9 @@ export class GatewayService {
|
|
|
5904
5985
|
: event.state === "awaiting_approval"
|
|
5905
5986
|
? "waiting"
|
|
5906
5987
|
: "busy");
|
|
5988
|
+
if (previousState === "stale" && event.state !== "stale") {
|
|
5989
|
+
adapter.rearmEndpointRefreshActivation?.(binding.endpointGeneration);
|
|
5990
|
+
}
|
|
5907
5991
|
}
|
|
5908
5992
|
if (event.state === "idle" || event.state === "stale") {
|
|
5909
5993
|
const heldTimer = this.heldRedispatchTimers.get(alias);
|
|
@@ -6019,14 +6103,14 @@ export class GatewayService {
|
|
|
6019
6103
|
async publicSnapshotLocked() {
|
|
6020
6104
|
const base = await this.store.publicSnapshot();
|
|
6021
6105
|
const compatibilityChecks = [];
|
|
6022
|
-
for (const surface of
|
|
6106
|
+
for (const { surface } of this.compatibilitySurfaceDefinitions) {
|
|
6023
6107
|
if (surface === "codex" && this.activeCodexIncompatibility !== undefined) {
|
|
6024
6108
|
compatibilityChecks.push(structuredClone(this.activeCodexIncompatibility));
|
|
6025
6109
|
continue;
|
|
6026
6110
|
}
|
|
6027
6111
|
const currentVersions = [
|
|
6028
|
-
...new Set(this.adapters.flatMap((
|
|
6029
|
-
const observation =
|
|
6112
|
+
...new Set([...this.adapters, ...this.compatibilityObservers].flatMap((observer) => {
|
|
6113
|
+
const observation = observer.compatibilitySurface?.();
|
|
6030
6114
|
return observation?.surface === surface ? [observation.version] : [];
|
|
6031
6115
|
})),
|
|
6032
6116
|
].sort((left, right) => left.localeCompare(right));
|