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,20 +1,23 @@
|
|
|
1
1
|
import { userInfo } from "node:os";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { BridgeError } from "../errors.js";
|
|
4
|
+
import { createAcpGatewayProvider, } from "./acp-provider.js";
|
|
4
5
|
import { attestClaudePeerRuntime, } from "./claude-runtime.js";
|
|
5
6
|
import { createLocalCodexRefreshCandidateTransportFactory, createLocalCodexTransportFactory, } from "./codex-local-transport.js";
|
|
6
7
|
import { loadGatewayConfig, } from "./config.js";
|
|
7
8
|
import { DASHBOARD_FILE_NAME } from "./dashboard.js";
|
|
8
|
-
import {
|
|
9
|
+
import { resolveDeepSeekAcpLaunch, } from "./deepseek-detect.js";
|
|
9
10
|
import { acquireGatewayInstanceLease, } from "./instance-lease.js";
|
|
10
|
-
import {
|
|
11
|
-
import { isCompatibilityVersion, sharesCompatibilityMajor, UNKNOWN_COMPATIBILITY_VERSION, } from "./compatibility.js";
|
|
12
|
-
import { CLAUDE_PEER_COMPATIBILITY } from "./claude-peer.js";
|
|
11
|
+
import { createLocalClaudeGatewayProvider, createLocalCodexGatewayProvider, } from "./providers.js";
|
|
13
12
|
import { GatewayService, } from "./service.js";
|
|
14
13
|
import { GatewayStore } from "./store.js";
|
|
15
14
|
import { gatewayInboundModes, } from "./types.js";
|
|
16
|
-
export const GATEWAY_CODEX_APP_SERVER_VERSION = "0.147.0";
|
|
17
15
|
export const GATEWAY_LOCAL_HOST_ID = "this-mac";
|
|
16
|
+
const GROK_ACP_LAUNCH = Object.freeze({
|
|
17
|
+
kind: "npx",
|
|
18
|
+
package: "@xai-official/grok@1.0.5",
|
|
19
|
+
args: ["agent", "stdio"],
|
|
20
|
+
});
|
|
18
21
|
function instanceLeaseLostError() {
|
|
19
22
|
return new BridgeError("GATEWAY_INSTANCE_LEASE_LOST", "Embassy lost its host-wide gateway lease and shut down.", true);
|
|
20
23
|
}
|
|
@@ -91,6 +94,9 @@ function createShutdownLatch(signal, addSignalListener, removeSignalListener) {
|
|
|
91
94
|
}
|
|
92
95
|
async function closeUnownedAssembly(input) {
|
|
93
96
|
const failures = [];
|
|
97
|
+
for (const provider of input.acpProviders ?? []) {
|
|
98
|
+
await provider.close().catch((error) => failures.push(error));
|
|
99
|
+
}
|
|
94
100
|
if (input.codexProvider !== undefined) {
|
|
95
101
|
await input.codexProvider.close().catch((error) => {
|
|
96
102
|
failures.push(error);
|
|
@@ -113,7 +119,7 @@ async function closeUnownedAssembly(input) {
|
|
|
113
119
|
}
|
|
114
120
|
/**
|
|
115
121
|
* Assemble and run the foreground local gateway. This function never starts a
|
|
116
|
-
* daemon, remote connector, provider request
|
|
122
|
+
* daemon, remote connector, or provider request.
|
|
117
123
|
*/
|
|
118
124
|
export async function runGatewayServer(options, dependencies = {}) {
|
|
119
125
|
const env = options.env ?? process.env;
|
|
@@ -121,17 +127,14 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
121
127
|
const loginHome = dependencies.loginHome ?? (() => userInfo().homedir);
|
|
122
128
|
const attestClaudeRuntime = dependencies.attestClaudeRuntime ?? attestClaudePeerRuntime;
|
|
123
129
|
const createClaudeProvider = dependencies.createClaudeProvider ?? createLocalClaudeGatewayProvider;
|
|
124
|
-
const createIncompatibleClaudeProvider = dependencies.createIncompatibleClaudeProvider ??
|
|
125
|
-
createIncompatibleClaudeGatewayProvider;
|
|
126
130
|
const acquireInstanceLease = dependencies.acquireInstanceLease ?? acquireGatewayInstanceLease;
|
|
127
131
|
const createStore = dependencies.createStore ?? ((config) => new GatewayStore(config));
|
|
128
132
|
const createCodexFactory = dependencies.createCodexFactory ?? createLocalCodexTransportFactory;
|
|
129
133
|
const createCodexRefreshCandidateFactory = dependencies.createCodexRefreshCandidateFactory ??
|
|
130
134
|
createLocalCodexRefreshCandidateTransportFactory;
|
|
131
135
|
const createCodexProvider = dependencies.createCodexProvider ?? createLocalCodexGatewayProvider;
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
const detectDeepSeek = dependencies.detectDeepSeekSurface ?? detectDeepSeekSurface;
|
|
136
|
+
const resolveDeepSeek = dependencies.resolveDeepSeekAcpLaunch ?? resolveDeepSeekAcpLaunch;
|
|
137
|
+
const createAcpProvider = dependencies.createAcpProvider ?? createAcpGatewayProvider;
|
|
135
138
|
const createService = dependencies.createService ??
|
|
136
139
|
((serviceOptions) => new GatewayService(serviceOptions));
|
|
137
140
|
const addSignalListener = dependencies.addSignalListener ??
|
|
@@ -142,6 +145,7 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
142
145
|
let claudeProvider;
|
|
143
146
|
let codexFactory;
|
|
144
147
|
let codexProvider;
|
|
148
|
+
const acpProviders = [];
|
|
145
149
|
let store;
|
|
146
150
|
let service;
|
|
147
151
|
let instanceLease;
|
|
@@ -203,64 +207,18 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
203
207
|
const runtime = await awaitWhileLeaseHeld(Promise.resolve().then(() => attestClaudeRuntime({
|
|
204
208
|
claudeExecutable,
|
|
205
209
|
})));
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
if (runtime.versionEvidenceFailure !== undefined &&
|
|
215
|
-
![
|
|
216
|
-
"CLAUDE_VERSION_CHECK_FAILED",
|
|
217
|
-
"CLAUDE_VERSION_EVIDENCE_CONFLICT",
|
|
218
|
-
"CLAUDE_VERSION_EVIDENCE_TOO_LARGE",
|
|
219
|
-
].includes(runtime.versionEvidenceFailure)) {
|
|
220
|
-
throw new BridgeError("CLAUDE_RUNTIME_ATTESTATION_INVALID", "Claude version failure evidence must use the closed safe-code vocabulary.");
|
|
221
|
-
}
|
|
222
|
-
const claudeLauncherMajorUnsupported = runtime.claudeCodeVersion === UNKNOWN_COMPATIBILITY_VERSION &&
|
|
223
|
-
runtime.launcherVersionEvidence !== undefined &&
|
|
224
|
-
!sharesCompatibilityMajor(runtime.launcherVersionEvidence, CLAUDE_PEER_COMPATIBILITY.claudeCodeVersion);
|
|
225
|
-
const claudeSafeErrorCode = claudeLauncherMajorUnsupported
|
|
226
|
-
? "CLAUDE_PEER_VERSION_UNSUPPORTED"
|
|
227
|
-
: runtime.versionEvidenceFailure !== undefined
|
|
228
|
-
? runtime.versionEvidenceFailure
|
|
229
|
-
: runtime.claudeCodeVersion === UNKNOWN_COMPATIBILITY_VERSION
|
|
230
|
-
? runtime.launcherVersionEvidence === undefined
|
|
231
|
-
? "CLAUDE_VERSION_UNPARSEABLE"
|
|
232
|
-
: undefined
|
|
233
|
-
: sharesCompatibilityMajor(runtime.claudeCodeVersion, CLAUDE_PEER_COMPATIBILITY.claudeCodeVersion)
|
|
234
|
-
? undefined
|
|
235
|
-
: "CLAUDE_PEER_VERSION_UNSUPPORTED";
|
|
236
|
-
const claudeCompatibilityVersion = runtime.claudeCodeVersion === UNKNOWN_COMPATIBILITY_VERSION &&
|
|
237
|
-
runtime.launcherVersionEvidence !== undefined
|
|
238
|
-
? runtime.launcherVersionEvidence
|
|
239
|
-
: runtime.claudeCodeVersion;
|
|
240
|
-
claudeProvider =
|
|
241
|
-
claudeSafeErrorCode === undefined
|
|
242
|
-
? createClaudeProvider({
|
|
243
|
-
runtime,
|
|
244
|
-
...(claudeCompatibilityVersion === runtime.claudeCodeVersion
|
|
245
|
-
? {}
|
|
246
|
-
: { compatibilityVersion: claudeCompatibilityVersion }),
|
|
247
|
-
locale: options.locale ?? "en",
|
|
248
|
-
nativeHelpers: { maxHelpers: config.limits.maxRoutes },
|
|
249
|
-
...(config.deliveryNotices === undefined
|
|
250
|
-
? {}
|
|
251
|
-
: { deliveryNotices: config.deliveryNotices }),
|
|
252
|
-
})
|
|
253
|
-
: createIncompatibleClaudeProvider({
|
|
254
|
-
runtime,
|
|
255
|
-
version: claudeCompatibilityVersion,
|
|
256
|
-
safeErrorCode: claudeSafeErrorCode,
|
|
257
|
-
});
|
|
210
|
+
claudeProvider = createClaudeProvider({
|
|
211
|
+
runtime,
|
|
212
|
+
locale: options.locale ?? "en",
|
|
213
|
+
nativeHelpers: { maxHelpers: config.limits.maxRoutes },
|
|
214
|
+
...(config.deliveryNotices === undefined
|
|
215
|
+
? {}
|
|
216
|
+
: { deliveryNotices: config.deliveryNotices }),
|
|
217
|
+
});
|
|
258
218
|
store = createStore(config);
|
|
259
219
|
const codexFactoryOptions = {
|
|
260
|
-
appServerVersion: GATEWAY_CODEX_APP_SERVER_VERSION,
|
|
261
220
|
environment: localCodexProviderEnvironment(env),
|
|
262
221
|
hostId: GATEWAY_LOCAL_HOST_ID,
|
|
263
|
-
writableProtocolAttested: true,
|
|
264
222
|
};
|
|
265
223
|
const createOwnedCodexFactory = async (creator) => await awaitWhileLeaseHeld(Promise.resolve().then(() => creator(codexFactoryOptions)), async (lateFactory) => lateFactory.close());
|
|
266
224
|
const createdCodexFactory = await createOwnedCodexFactory(createCodexFactory);
|
|
@@ -270,43 +228,36 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
270
228
|
"CODEX_CONTROL_SOCKET_UNAVAILABLE") {
|
|
271
229
|
throw new BridgeError("CODEX_RUNTIME_ATTESTATION_INVALID", "Codex App Server availability evidence must use a reviewed bounded code.");
|
|
272
230
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
? "CODEX_APP_SERVER_VERSION_UNPARSEABLE"
|
|
300
|
-
: "CODEX_APP_SERVER_VERSION_UNSUPPORTED"),
|
|
301
|
-
});
|
|
231
|
+
codexProvider = createCodexProvider({
|
|
232
|
+
factory: createdCodexFactory,
|
|
233
|
+
refreshFactory: async () => await createOwnedCodexFactory(createCodexRefreshCandidateFactory),
|
|
234
|
+
});
|
|
235
|
+
for (const definition of config.acpProviders ?? []) {
|
|
236
|
+
let resolved = {};
|
|
237
|
+
if (definition.launch !== undefined) {
|
|
238
|
+
resolved = { launch: definition.launch };
|
|
239
|
+
}
|
|
240
|
+
else if (definition.provider === "deepseek") {
|
|
241
|
+
resolved = await awaitWhileLeaseHeld(resolveDeepSeek({ env, loginHome: resolvedLoginHome }).catch(() => ({
|
|
242
|
+
safeErrorCode: "DEEPSEEK_HARNESS_HOME_UNSAFE",
|
|
243
|
+
})));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
resolved = { launch: GROK_ACP_LAUNCH };
|
|
247
|
+
}
|
|
248
|
+
acpProviders.push(createAcpProvider({
|
|
249
|
+
provider: definition.provider,
|
|
250
|
+
alias: definition.alias,
|
|
251
|
+
hostId: GATEWAY_LOCAL_HOST_ID,
|
|
252
|
+
...(resolved.launch === undefined ? {} : { launch: resolved.launch }),
|
|
253
|
+
...(resolved.safeErrorCode === undefined
|
|
254
|
+
? {}
|
|
255
|
+
: { unavailableCode: resolved.safeErrorCode }),
|
|
256
|
+
}));
|
|
302
257
|
}
|
|
303
|
-
const deepSeekObserver = await awaitWhileLeaseHeld(detectDeepSeek({ env, loginHome: resolvedLoginHome }).catch(() => undefined));
|
|
304
258
|
const createdService = createService({
|
|
305
259
|
config,
|
|
306
|
-
adapters: [claudeProvider, codexProvider],
|
|
307
|
-
...(deepSeekObserver === undefined
|
|
308
|
-
? {}
|
|
309
|
-
: { compatibilityObservers: [deepSeekObserver] }),
|
|
260
|
+
adapters: [claudeProvider, codexProvider, ...acpProviders],
|
|
310
261
|
store,
|
|
311
262
|
});
|
|
312
263
|
service = createdService;
|
|
@@ -338,6 +289,7 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
338
289
|
...(claudeProvider === undefined ? {} : { claudeProvider }),
|
|
339
290
|
...(codexFactory === undefined ? {} : { codexFactory }),
|
|
340
291
|
...(codexProvider === undefined ? {} : { codexProvider }),
|
|
292
|
+
acpProviders,
|
|
341
293
|
...(store === undefined ? {} : { store }),
|
|
342
294
|
}).catch((error) => {
|
|
343
295
|
cleanupFailures.push(error);
|
|
@@ -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,10 +1,8 @@
|
|
|
1
1
|
import type { GatewayConfig } from "./config.js";
|
|
2
|
-
import { type CompatibilityAttestation, type CompatibilityProbeResult, type CompatibilitySurfaceDefinition, type CompatibilitySurfaceObserver, type CompatibilitySurfaceObservation } from "./compatibility.js";
|
|
3
2
|
import { type GatewayControlHandlers, type GatewaySnapshotObservation } from "./control.js";
|
|
4
3
|
import { publishGatewayDashboard } from "./dashboard.js";
|
|
5
|
-
import type { CodexWriteCompatibilityProbeResult } from "./codex-app-server.js";
|
|
6
4
|
import { GatewayStore } from "./store.js";
|
|
7
|
-
import { type
|
|
5
|
+
import { type GatewayProvider, type GatewayPublicSnapshot, type PrivateEndpointIdentity, type PrivateRouteBinding, type RouteState } from "./types.js";
|
|
8
6
|
export type GatewayAdapterRouteState = Extract<RouteState, "idle" | "busy" | "awaiting_approval">;
|
|
9
7
|
export type GatewayAdapterRouteObservationState = GatewayAdapterRouteState | "stale";
|
|
10
8
|
export type GatewayAdapterDiscovery = {
|
|
@@ -14,7 +12,6 @@ export type GatewayAdapterDiscovery = {
|
|
|
14
12
|
routeHandle: string;
|
|
15
13
|
kind: "interactive";
|
|
16
14
|
state: GatewayAdapterRouteState;
|
|
17
|
-
compatibility: "compatible";
|
|
18
15
|
};
|
|
19
16
|
/**
|
|
20
17
|
* One bounded discovery pass. `complete` is false when the provider stopped
|
|
@@ -48,19 +45,12 @@ export type GatewayAdapterDelivery = {
|
|
|
48
45
|
* identifiers stay inside this controller boundary and are never projected.
|
|
49
46
|
*/
|
|
50
47
|
export type GatewayAdapterEndpointRefresh = Readonly<{
|
|
51
|
-
outcome: "compatible";
|
|
52
48
|
previous: PrivateEndpointIdentity;
|
|
53
49
|
current: PrivateEndpointIdentity;
|
|
54
|
-
attestation: CompatibilityAttestation;
|
|
55
50
|
routes: readonly Readonly<{
|
|
56
51
|
routeHandle: string;
|
|
57
52
|
state: GatewayAdapterRouteState;
|
|
58
53
|
}>[];
|
|
59
|
-
}> | Readonly<{
|
|
60
|
-
outcome: "incompatible";
|
|
61
|
-
previous: PrivateEndpointIdentity;
|
|
62
|
-
candidate: PrivateEndpointIdentity;
|
|
63
|
-
attestation: CompatibilityAttestation;
|
|
64
54
|
}>;
|
|
65
55
|
export type GatewayAdapterCallbacks = {
|
|
66
56
|
onDelivery: (event: GatewayAdapterDelivery) => void;
|
|
@@ -91,13 +81,18 @@ export type GatewayAdapterCallbacks = {
|
|
|
91
81
|
onProtocolNotice?: (event: {
|
|
92
82
|
code: string;
|
|
93
83
|
}) => void;
|
|
94
|
-
/** Provider-wide
|
|
84
|
+
/** Provider-wide exact Codex endpoint-generation replacement. */
|
|
95
85
|
onEndpointRefresh?: (event: GatewayAdapterEndpointRefresh) => void;
|
|
96
86
|
};
|
|
97
87
|
export type GatewayAdapterStart = {
|
|
98
88
|
health: "healthy" | "degraded";
|
|
99
|
-
compatibility: CompatibilityState;
|
|
100
89
|
safeErrorCode?: string;
|
|
90
|
+
/** One config-declared, Embassy-owned route observed without spawning. */
|
|
91
|
+
ownedRoute?: Readonly<{
|
|
92
|
+
alias: string;
|
|
93
|
+
routeHandle: string;
|
|
94
|
+
state: GatewayAdapterRouteState;
|
|
95
|
+
}>;
|
|
101
96
|
};
|
|
102
97
|
export type GatewayAdapterDispatchResult = {
|
|
103
98
|
state: "pending";
|
|
@@ -109,7 +104,7 @@ export type GatewayAdapterDispatchResult = {
|
|
|
109
104
|
state: "deferred";
|
|
110
105
|
safeErrorCode?: string;
|
|
111
106
|
} | {
|
|
112
|
-
state: "delivered" | "failed" | "ambiguous" | "cancelled";
|
|
107
|
+
state: "delivered" | "unconfirmed" | "failed" | "ambiguous" | "cancelled";
|
|
113
108
|
safeErrorCode?: string;
|
|
114
109
|
replyText?: string;
|
|
115
110
|
};
|
|
@@ -120,6 +115,7 @@ export type GatewayAdapterDispatchResult = {
|
|
|
120
115
|
*/
|
|
121
116
|
export type GatewayAdapterDispatchInput = {
|
|
122
117
|
sourceAlias: string;
|
|
118
|
+
sourceProvider: GatewayProvider;
|
|
123
119
|
targetAlias: string;
|
|
124
120
|
conversationId: string;
|
|
125
121
|
binding: PrivateRouteBinding;
|
|
@@ -134,11 +130,6 @@ export type GatewayAdapterDispatchInput = {
|
|
|
134
130
|
/** Older accepted rows observed when this exact STEER left the queue. */
|
|
135
131
|
queuedAhead?: number;
|
|
136
132
|
};
|
|
137
|
-
export type GatewayCompatibilityProbeContext = Readonly<{
|
|
138
|
-
stateRoot: string;
|
|
139
|
-
forbiddenCodexThreadIds: readonly string[];
|
|
140
|
-
}>;
|
|
141
|
-
export type GatewayWriteCompatibilityProbeObservation = Readonly<CodexWriteCompatibilityProbeResult>;
|
|
142
133
|
/**
|
|
143
134
|
* Narrow provider boundary. Production adapters wrap ClaudePeerAdapter or one
|
|
144
135
|
* exact CodexAppServerConnector; tests use in-memory fakes. Implementations
|
|
@@ -148,14 +139,10 @@ export interface GatewayProviderAdapter {
|
|
|
148
139
|
readonly identity: PrivateEndpointIdentity;
|
|
149
140
|
readonly protocol: string;
|
|
150
141
|
readonly protocolVersion: string;
|
|
151
|
-
/** Version identity is cheap; bounded probes run fresh on every startup. */
|
|
152
|
-
compatibilitySurface?(): CompatibilitySurfaceObservation;
|
|
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;
|
|
156
142
|
/** Latest already-read Claude registry evidence; this accessor performs no I/O. */
|
|
157
143
|
latestRegistryObservation?(): GatewayAdapterRegistryObservation | undefined;
|
|
158
|
-
|
|
144
|
+
/** Releases the provider's exact current-generation activation latch. */
|
|
145
|
+
activateEndpointGeneration(endpointGeneration: string): void;
|
|
159
146
|
/** Releases one selector claim after controller-side activation fails. */
|
|
160
147
|
releaseEndpointRefreshSelectorClaim?(endpointGeneration: string): void;
|
|
161
148
|
/** Re-publishes pending transition evidence on one observed recovery edge. */
|
|
@@ -176,12 +163,13 @@ export interface GatewayProviderAdapter {
|
|
|
176
163
|
resolveReplyAddress?(address: string): Promise<{
|
|
177
164
|
routeHandle: string;
|
|
178
165
|
}>;
|
|
179
|
-
|
|
166
|
+
advertiseNativeSourcePeer?(input: {
|
|
180
167
|
alias: string;
|
|
168
|
+
sourceProvider: GatewayProvider;
|
|
181
169
|
cwd: string;
|
|
182
170
|
}): Promise<void>;
|
|
183
|
-
|
|
184
|
-
|
|
171
|
+
unadvertiseNativeSourcePeer?(alias: string): Promise<void>;
|
|
172
|
+
updateNativeSourcePeerStatus?(alias: string, status: "idle" | "busy" | "waiting"): Promise<void>;
|
|
185
173
|
updateNativeInboundStatus?(receiptHandle: string, status: "held" | "delivered" | "denied" | "expired", diagnosticCode?: string): Promise<void>;
|
|
186
174
|
notifyNativeInboundProgress?(receiptHandle: string, progress: {
|
|
187
175
|
kind: "stall";
|
|
@@ -270,17 +258,11 @@ export type GatewayServiceOptions = {
|
|
|
270
258
|
timers?: GatewayServiceTimers;
|
|
271
259
|
/** Test seam for opaque listener generations; production remains random. */
|
|
272
260
|
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[];
|
|
277
261
|
};
|
|
278
262
|
export declare class GatewayService {
|
|
279
263
|
readonly config: GatewayConfig;
|
|
280
264
|
readonly store: GatewayStore;
|
|
281
265
|
private readonly adapters;
|
|
282
|
-
private readonly compatibilityObservers;
|
|
283
|
-
private readonly compatibilitySurfaceDefinitions;
|
|
284
266
|
private readonly publishDashboard;
|
|
285
267
|
private readonly now;
|
|
286
268
|
private readonly timers;
|
|
@@ -306,9 +288,6 @@ export declare class GatewayService {
|
|
|
306
288
|
private readonly deliveryTokens;
|
|
307
289
|
private readonly runtimeAlerts;
|
|
308
290
|
private readonly activityEvents;
|
|
309
|
-
/** Startup probe failures that must preflight cross-provider mutations. */
|
|
310
|
-
private readonly incompatibleProviderSurfaces;
|
|
311
|
-
private activeCodexIncompatibility;
|
|
312
291
|
private activitySequence;
|
|
313
292
|
private readonly detachedReceiptWrites;
|
|
314
293
|
private readonly nativeIngressByConversation;
|
|
@@ -332,8 +311,6 @@ export declare class GatewayService {
|
|
|
332
311
|
private readonly durablyAppliedEndpointRefreshes;
|
|
333
312
|
/** Selector transitions staged until their exact registration owns a helper. */
|
|
334
313
|
private readonly pendingSelectorEndpointActivations;
|
|
335
|
-
/** Last incompatible transition already projected per allowed Codex host. */
|
|
336
|
-
private readonly handledIncompatibleEndpointRefreshes;
|
|
337
314
|
/** Process-local dedupe for automatic public activity rows across retries. */
|
|
338
315
|
private readonly endpointRefreshActivityKeys;
|
|
339
316
|
private callbackWorker;
|
|
@@ -380,7 +357,6 @@ export declare class GatewayService {
|
|
|
380
357
|
private closeOnce;
|
|
381
358
|
handlers(): GatewayControlHandlers;
|
|
382
359
|
snapshot(): Promise<GatewayPublicSnapshot>;
|
|
383
|
-
private runAutomaticCompatibilityProbesLocked;
|
|
384
360
|
private captureRegistryObservation;
|
|
385
361
|
private connectorsWithRegistry;
|
|
386
362
|
observeSnapshot(): Promise<GatewaySnapshotObservation>;
|
|
@@ -419,10 +395,6 @@ export declare class GatewayService {
|
|
|
419
395
|
*/
|
|
420
396
|
private drainDeliveryCallbacksForMessageLocked;
|
|
421
397
|
private adapter;
|
|
422
|
-
private providerSurfaceKey;
|
|
423
|
-
private incompatibleProviderCode;
|
|
424
|
-
/** Reject before either half of a cross-provider mutation can acquire state. */
|
|
425
|
-
private assertCrossProviderMutationCompatible;
|
|
426
398
|
private assertClaudeWorkspaceDisjoint;
|
|
427
399
|
private contextTargetBinding;
|
|
428
400
|
private recoverCodexSuccessionAfterRestartLocked;
|
|
@@ -475,10 +447,11 @@ export declare class GatewayService {
|
|
|
475
447
|
private replaceClaudeSelectionCandidate;
|
|
476
448
|
private resolveSelectedClaudeDestination;
|
|
477
449
|
private inferCodexAlias;
|
|
478
|
-
private
|
|
450
|
+
private assertPairThreadAttestation;
|
|
479
451
|
private pairRoutes;
|
|
480
452
|
private unpairRoutes;
|
|
481
|
-
private
|
|
453
|
+
private assertLiveConsentEndpoints;
|
|
454
|
+
private removeConsentEdge;
|
|
482
455
|
private selectClaude;
|
|
483
456
|
private selectAndPairClaude;
|
|
484
457
|
private rollbackFreshClaudeSelection;
|
|
@@ -512,8 +485,8 @@ export declare class GatewayService {
|
|
|
512
485
|
private normalizeDeliverySafeCode;
|
|
513
486
|
private planRouteInFlightSettlementsLocked;
|
|
514
487
|
private planRoutesInFlightSettlementsLocked;
|
|
515
|
-
private
|
|
516
|
-
private
|
|
488
|
+
private planConsentEdgeInFlightSettlementsLocked;
|
|
489
|
+
private purgeConsentEdgeCapabilitiesLocked;
|
|
517
490
|
private settleDeliveryStoreLocked;
|
|
518
491
|
private publishStallNoticeLocked;
|
|
519
492
|
private applyDeliveryEffectsLocked;
|
|
@@ -562,7 +535,7 @@ export declare class GatewayService {
|
|
|
562
535
|
private onCodexEndpointRefresh;
|
|
563
536
|
private applyCodexEndpointRefresh;
|
|
564
537
|
private onRouteState;
|
|
565
|
-
private
|
|
538
|
+
private setNativeSourceStatus;
|
|
566
539
|
private rejectDetachedNativeReceipt;
|
|
567
540
|
private drainDetachedReceiptWritesLocked;
|
|
568
541
|
private settleDetachedNativeReceipt;
|