agent-embassy 1.6.1 → 1.7.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 +33 -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.d.ts +1 -1
- package/dist/src/gateway/cli-copy.en.d.ts +3 -1
- package/dist/src/gateway/cli-copy.en.js +5 -2
- package/dist/src/gateway/cli-copy.en.js.map +1 -1
- package/dist/src/gateway/cli-copy.js +2 -0
- package/dist/src/gateway/cli-copy.js.map +1 -1
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +3 -1
- package/dist/src/gateway/cli-copy.zh-CN.js +5 -2
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/cli.d.ts +2 -2
- package/dist/src/gateway/cli.js +73 -6
- 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 -599
- package/dist/src/gateway/codex-app-server.js.map +1 -1
- package/dist/src/gateway/codex-doctor.d.ts +33 -0
- package/dist/src/gateway/codex-doctor.js +148 -0
- package/dist/src/gateway/codex-doctor.js.map +1 -0
- package/dist/src/gateway/codex-local-transport.d.ts +13 -26
- package/dist/src/gateway/codex-local-transport.js +31 -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 +128 -59
- 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 +19 -44
- package/dist/src/gateway/dashboard-copy.en.js +42 -67
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.js +19 -44
- package/dist/src/gateway/dashboard-copy.js.map +1 -1
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +19 -44
- package/dist/src/gateway/dashboard-copy.zh-CN.js +42 -67
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -1
- package/dist/src/gateway/dashboard-model.d.ts +41 -76
- package/dist/src/gateway/dashboard-model.js +167 -257
- 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 +77 -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 +175 -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 +19 -85
- package/dist/src/gateway/providers.js +132 -835
- package/dist/src/gateway/providers.js.map +1 -1
- package/dist/src/gateway/server.d.ts +8 -9
- package/dist/src/gateway/server.js +63 -99
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +48 -51
- package/dist/src/gateway/service.js +748 -540
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/store.d.ts +20 -29
- package/dist/src/gateway/store.js +306 -838
- package/dist/src/gateway/store.js.map +1 -1
- package/dist/src/gateway/types.d.ts +63 -54
- package/dist/src/gateway/types.js +51 -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,24 @@
|
|
|
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";
|
|
7
|
+
import { createSystemCodexDoctorInspector, diagnoseCodexAttachment, } from "./codex-doctor.js";
|
|
6
8
|
import { loadGatewayConfig, } from "./config.js";
|
|
7
9
|
import { DASHBOARD_FILE_NAME } from "./dashboard.js";
|
|
8
|
-
import {
|
|
10
|
+
import { resolveDeepSeekAcpLaunch, } from "./deepseek-detect.js";
|
|
9
11
|
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";
|
|
12
|
+
import { createLocalClaudeGatewayProvider, createLocalCodexGatewayProvider, } from "./providers.js";
|
|
13
13
|
import { GatewayService, } from "./service.js";
|
|
14
14
|
import { GatewayStore } from "./store.js";
|
|
15
15
|
import { gatewayInboundModes, } from "./types.js";
|
|
16
|
-
export const GATEWAY_CODEX_APP_SERVER_VERSION = "0.147.0";
|
|
17
16
|
export const GATEWAY_LOCAL_HOST_ID = "this-mac";
|
|
17
|
+
const GROK_ACP_LAUNCH = Object.freeze({
|
|
18
|
+
kind: "npx",
|
|
19
|
+
package: "@xai-official/grok@1.0.5",
|
|
20
|
+
args: ["agent", "stdio"],
|
|
21
|
+
});
|
|
18
22
|
function instanceLeaseLostError() {
|
|
19
23
|
return new BridgeError("GATEWAY_INSTANCE_LEASE_LOST", "Embassy lost its host-wide gateway lease and shut down.", true);
|
|
20
24
|
}
|
|
@@ -91,6 +95,9 @@ function createShutdownLatch(signal, addSignalListener, removeSignalListener) {
|
|
|
91
95
|
}
|
|
92
96
|
async function closeUnownedAssembly(input) {
|
|
93
97
|
const failures = [];
|
|
98
|
+
for (const provider of input.acpProviders ?? []) {
|
|
99
|
+
await provider.close().catch((error) => failures.push(error));
|
|
100
|
+
}
|
|
94
101
|
if (input.codexProvider !== undefined) {
|
|
95
102
|
await input.codexProvider.close().catch((error) => {
|
|
96
103
|
failures.push(error);
|
|
@@ -113,7 +120,7 @@ async function closeUnownedAssembly(input) {
|
|
|
113
120
|
}
|
|
114
121
|
/**
|
|
115
122
|
* Assemble and run the foreground local gateway. This function never starts a
|
|
116
|
-
* daemon, remote connector, provider request
|
|
123
|
+
* daemon, remote connector, or provider request.
|
|
117
124
|
*/
|
|
118
125
|
export async function runGatewayServer(options, dependencies = {}) {
|
|
119
126
|
const env = options.env ?? process.env;
|
|
@@ -121,17 +128,14 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
121
128
|
const loginHome = dependencies.loginHome ?? (() => userInfo().homedir);
|
|
122
129
|
const attestClaudeRuntime = dependencies.attestClaudeRuntime ?? attestClaudePeerRuntime;
|
|
123
130
|
const createClaudeProvider = dependencies.createClaudeProvider ?? createLocalClaudeGatewayProvider;
|
|
124
|
-
const createIncompatibleClaudeProvider = dependencies.createIncompatibleClaudeProvider ??
|
|
125
|
-
createIncompatibleClaudeGatewayProvider;
|
|
126
131
|
const acquireInstanceLease = dependencies.acquireInstanceLease ?? acquireGatewayInstanceLease;
|
|
127
132
|
const createStore = dependencies.createStore ?? ((config) => new GatewayStore(config));
|
|
128
133
|
const createCodexFactory = dependencies.createCodexFactory ?? createLocalCodexTransportFactory;
|
|
129
134
|
const createCodexRefreshCandidateFactory = dependencies.createCodexRefreshCandidateFactory ??
|
|
130
135
|
createLocalCodexRefreshCandidateTransportFactory;
|
|
131
136
|
const createCodexProvider = dependencies.createCodexProvider ?? createLocalCodexGatewayProvider;
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
const detectDeepSeek = dependencies.detectDeepSeekSurface ?? detectDeepSeekSurface;
|
|
137
|
+
const resolveDeepSeek = dependencies.resolveDeepSeekAcpLaunch ?? resolveDeepSeekAcpLaunch;
|
|
138
|
+
const createAcpProvider = dependencies.createAcpProvider ?? createAcpGatewayProvider;
|
|
135
139
|
const createService = dependencies.createService ??
|
|
136
140
|
((serviceOptions) => new GatewayService(serviceOptions));
|
|
137
141
|
const addSignalListener = dependencies.addSignalListener ??
|
|
@@ -142,6 +146,7 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
142
146
|
let claudeProvider;
|
|
143
147
|
let codexFactory;
|
|
144
148
|
let codexProvider;
|
|
149
|
+
const acpProviders = [];
|
|
145
150
|
let store;
|
|
146
151
|
let service;
|
|
147
152
|
let instanceLease;
|
|
@@ -203,64 +208,18 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
203
208
|
const runtime = await awaitWhileLeaseHeld(Promise.resolve().then(() => attestClaudeRuntime({
|
|
204
209
|
claudeExecutable,
|
|
205
210
|
})));
|
|
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
|
-
});
|
|
211
|
+
claudeProvider = createClaudeProvider({
|
|
212
|
+
runtime,
|
|
213
|
+
locale: options.locale ?? "en",
|
|
214
|
+
nativeHelpers: { maxHelpers: config.limits.maxRoutes },
|
|
215
|
+
...(config.deliveryNotices === undefined
|
|
216
|
+
? {}
|
|
217
|
+
: { deliveryNotices: config.deliveryNotices }),
|
|
218
|
+
});
|
|
258
219
|
store = createStore(config);
|
|
259
220
|
const codexFactoryOptions = {
|
|
260
|
-
appServerVersion: GATEWAY_CODEX_APP_SERVER_VERSION,
|
|
261
221
|
environment: localCodexProviderEnvironment(env),
|
|
262
222
|
hostId: GATEWAY_LOCAL_HOST_ID,
|
|
263
|
-
writableProtocolAttested: true,
|
|
264
223
|
};
|
|
265
224
|
const createOwnedCodexFactory = async (creator) => await awaitWhileLeaseHeld(Promise.resolve().then(() => creator(codexFactoryOptions)), async (lateFactory) => lateFactory.close());
|
|
266
225
|
const createdCodexFactory = await createOwnedCodexFactory(createCodexFactory);
|
|
@@ -270,44 +229,48 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
270
229
|
"CODEX_CONTROL_SOCKET_UNAVAILABLE") {
|
|
271
230
|
throw new BridgeError("CODEX_RUNTIME_ATTESTATION_INVALID", "Codex App Server availability evidence must use a reviewed bounded code.");
|
|
272
231
|
}
|
|
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
|
-
});
|
|
232
|
+
codexProvider = createCodexProvider({
|
|
233
|
+
factory: createdCodexFactory,
|
|
234
|
+
refreshFactory: async () => await createOwnedCodexFactory(createCodexRefreshCandidateFactory),
|
|
235
|
+
});
|
|
236
|
+
for (const definition of config.acpProviders ?? []) {
|
|
237
|
+
let resolved = {};
|
|
238
|
+
if (definition.launch !== undefined) {
|
|
239
|
+
resolved = { launch: definition.launch };
|
|
240
|
+
}
|
|
241
|
+
else if (definition.provider === "deepseek") {
|
|
242
|
+
resolved = await awaitWhileLeaseHeld(resolveDeepSeek({ env, loginHome: resolvedLoginHome }).catch(() => ({
|
|
243
|
+
safeErrorCode: "DEEPSEEK_HARNESS_HOME_UNSAFE",
|
|
244
|
+
})));
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
resolved = { launch: GROK_ACP_LAUNCH };
|
|
248
|
+
}
|
|
249
|
+
acpProviders.push(createAcpProvider({
|
|
250
|
+
provider: definition.provider,
|
|
251
|
+
alias: definition.alias,
|
|
252
|
+
hostId: GATEWAY_LOCAL_HOST_ID,
|
|
253
|
+
...(resolved.launch === undefined ? {} : { launch: resolved.launch }),
|
|
254
|
+
...(resolved.safeErrorCode === undefined
|
|
255
|
+
? {}
|
|
256
|
+
: { unavailableCode: resolved.safeErrorCode }),
|
|
257
|
+
}));
|
|
302
258
|
}
|
|
303
|
-
const deepSeekObserver = await awaitWhileLeaseHeld(detectDeepSeek({ env, loginHome: resolvedLoginHome }).catch(() => undefined));
|
|
304
259
|
const createdService = createService({
|
|
305
260
|
config,
|
|
306
|
-
adapters: [claudeProvider, codexProvider],
|
|
307
|
-
...(deepSeekObserver === undefined
|
|
308
|
-
? {}
|
|
309
|
-
: { compatibilityObservers: [deepSeekObserver] }),
|
|
261
|
+
adapters: [claudeProvider, codexProvider, ...acpProviders],
|
|
310
262
|
store,
|
|
263
|
+
...(createdCodexFactory.diagnosticInstallation === undefined
|
|
264
|
+
? {}
|
|
265
|
+
: {
|
|
266
|
+
codexDoctor: async () => await diagnoseCodexAttachment({
|
|
267
|
+
socketPath: createdCodexFactory.diagnosticInstallation
|
|
268
|
+
.controlSocketPath,
|
|
269
|
+
daemonExecutablePath: createdCodexFactory.diagnosticInstallation.binaryPath,
|
|
270
|
+
embassyPid: process.pid,
|
|
271
|
+
inspector: createSystemCodexDoctorInspector(),
|
|
272
|
+
}),
|
|
273
|
+
}),
|
|
311
274
|
});
|
|
312
275
|
service = createdService;
|
|
313
276
|
await awaitWhileLeaseHeld(Promise.resolve().then(() => createdService.start(startupAbort?.signal)));
|
|
@@ -338,6 +301,7 @@ export async function runGatewayServer(options, dependencies = {}) {
|
|
|
338
301
|
...(claudeProvider === undefined ? {} : { claudeProvider }),
|
|
339
302
|
...(codexFactory === undefined ? {} : { codexFactory }),
|
|
340
303
|
...(codexProvider === undefined ? {} : { codexProvider }),
|
|
304
|
+
acpProviders,
|
|
341
305
|
...(store === undefined ? {} : { store }),
|
|
342
306
|
}).catch((error) => {
|
|
343
307
|
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,9 @@
|
|
|
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 {
|
|
4
|
+
import type { CodexDoctorResult } from "./codex-doctor.js";
|
|
6
5
|
import { GatewayStore } from "./store.js";
|
|
7
|
-
import { type
|
|
6
|
+
import { type GatewayProvider, type GatewayPublicSnapshot, type PrivateEndpointIdentity, type PrivateRouteBinding, type RouteState } from "./types.js";
|
|
8
7
|
export type GatewayAdapterRouteState = Extract<RouteState, "idle" | "busy" | "awaiting_approval">;
|
|
9
8
|
export type GatewayAdapterRouteObservationState = GatewayAdapterRouteState | "stale";
|
|
10
9
|
export type GatewayAdapterDiscovery = {
|
|
@@ -14,7 +13,6 @@ export type GatewayAdapterDiscovery = {
|
|
|
14
13
|
routeHandle: string;
|
|
15
14
|
kind: "interactive";
|
|
16
15
|
state: GatewayAdapterRouteState;
|
|
17
|
-
compatibility: "compatible";
|
|
18
16
|
};
|
|
19
17
|
/**
|
|
20
18
|
* One bounded discovery pass. `complete` is false when the provider stopped
|
|
@@ -48,19 +46,12 @@ export type GatewayAdapterDelivery = {
|
|
|
48
46
|
* identifiers stay inside this controller boundary and are never projected.
|
|
49
47
|
*/
|
|
50
48
|
export type GatewayAdapterEndpointRefresh = Readonly<{
|
|
51
|
-
outcome: "compatible";
|
|
52
49
|
previous: PrivateEndpointIdentity;
|
|
53
50
|
current: PrivateEndpointIdentity;
|
|
54
|
-
attestation: CompatibilityAttestation;
|
|
55
51
|
routes: readonly Readonly<{
|
|
56
52
|
routeHandle: string;
|
|
57
53
|
state: GatewayAdapterRouteState;
|
|
58
54
|
}>[];
|
|
59
|
-
}> | Readonly<{
|
|
60
|
-
outcome: "incompatible";
|
|
61
|
-
previous: PrivateEndpointIdentity;
|
|
62
|
-
candidate: PrivateEndpointIdentity;
|
|
63
|
-
attestation: CompatibilityAttestation;
|
|
64
55
|
}>;
|
|
65
56
|
export type GatewayAdapterCallbacks = {
|
|
66
57
|
onDelivery: (event: GatewayAdapterDelivery) => void;
|
|
@@ -91,13 +82,18 @@ export type GatewayAdapterCallbacks = {
|
|
|
91
82
|
onProtocolNotice?: (event: {
|
|
92
83
|
code: string;
|
|
93
84
|
}) => void;
|
|
94
|
-
/** Provider-wide
|
|
85
|
+
/** Provider-wide exact Codex endpoint-generation replacement. */
|
|
95
86
|
onEndpointRefresh?: (event: GatewayAdapterEndpointRefresh) => void;
|
|
96
87
|
};
|
|
97
88
|
export type GatewayAdapterStart = {
|
|
98
89
|
health: "healthy" | "degraded";
|
|
99
|
-
compatibility: CompatibilityState;
|
|
100
90
|
safeErrorCode?: string;
|
|
91
|
+
/** One config-declared, Embassy-owned route observed without spawning. */
|
|
92
|
+
ownedRoute?: Readonly<{
|
|
93
|
+
alias: string;
|
|
94
|
+
routeHandle: string;
|
|
95
|
+
state: GatewayAdapterRouteState;
|
|
96
|
+
}>;
|
|
101
97
|
};
|
|
102
98
|
export type GatewayAdapterDispatchResult = {
|
|
103
99
|
state: "pending";
|
|
@@ -109,7 +105,7 @@ export type GatewayAdapterDispatchResult = {
|
|
|
109
105
|
state: "deferred";
|
|
110
106
|
safeErrorCode?: string;
|
|
111
107
|
} | {
|
|
112
|
-
state: "delivered" | "failed" | "ambiguous" | "cancelled";
|
|
108
|
+
state: "delivered" | "unconfirmed" | "failed" | "ambiguous" | "cancelled";
|
|
113
109
|
safeErrorCode?: string;
|
|
114
110
|
replyText?: string;
|
|
115
111
|
};
|
|
@@ -120,6 +116,7 @@ export type GatewayAdapterDispatchResult = {
|
|
|
120
116
|
*/
|
|
121
117
|
export type GatewayAdapterDispatchInput = {
|
|
122
118
|
sourceAlias: string;
|
|
119
|
+
sourceProvider: GatewayProvider;
|
|
123
120
|
targetAlias: string;
|
|
124
121
|
conversationId: string;
|
|
125
122
|
binding: PrivateRouteBinding;
|
|
@@ -134,11 +131,6 @@ export type GatewayAdapterDispatchInput = {
|
|
|
134
131
|
/** Older accepted rows observed when this exact STEER left the queue. */
|
|
135
132
|
queuedAhead?: number;
|
|
136
133
|
};
|
|
137
|
-
export type GatewayCompatibilityProbeContext = Readonly<{
|
|
138
|
-
stateRoot: string;
|
|
139
|
-
forbiddenCodexThreadIds: readonly string[];
|
|
140
|
-
}>;
|
|
141
|
-
export type GatewayWriteCompatibilityProbeObservation = Readonly<CodexWriteCompatibilityProbeResult>;
|
|
142
134
|
/**
|
|
143
135
|
* Narrow provider boundary. Production adapters wrap ClaudePeerAdapter or one
|
|
144
136
|
* exact CodexAppServerConnector; tests use in-memory fakes. Implementations
|
|
@@ -148,14 +140,10 @@ export interface GatewayProviderAdapter {
|
|
|
148
140
|
readonly identity: PrivateEndpointIdentity;
|
|
149
141
|
readonly protocol: string;
|
|
150
142
|
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
143
|
/** Latest already-read Claude registry evidence; this accessor performs no I/O. */
|
|
157
144
|
latestRegistryObservation?(): GatewayAdapterRegistryObservation | undefined;
|
|
158
|
-
|
|
145
|
+
/** Releases the provider's exact current-generation activation latch. */
|
|
146
|
+
activateEndpointGeneration(endpointGeneration: string): void;
|
|
159
147
|
/** Releases one selector claim after controller-side activation fails. */
|
|
160
148
|
releaseEndpointRefreshSelectorClaim?(endpointGeneration: string): void;
|
|
161
149
|
/** Re-publishes pending transition evidence on one observed recovery edge. */
|
|
@@ -176,12 +164,13 @@ export interface GatewayProviderAdapter {
|
|
|
176
164
|
resolveReplyAddress?(address: string): Promise<{
|
|
177
165
|
routeHandle: string;
|
|
178
166
|
}>;
|
|
179
|
-
|
|
167
|
+
advertiseNativeSourcePeer?(input: {
|
|
180
168
|
alias: string;
|
|
169
|
+
sourceProvider: GatewayProvider;
|
|
181
170
|
cwd: string;
|
|
182
171
|
}): Promise<void>;
|
|
183
|
-
|
|
184
|
-
|
|
172
|
+
unadvertiseNativeSourcePeer?(alias: string): Promise<void>;
|
|
173
|
+
updateNativeSourcePeerStatus?(alias: string, status: "idle" | "busy" | "waiting"): Promise<void>;
|
|
185
174
|
updateNativeInboundStatus?(receiptHandle: string, status: "held" | "delivered" | "denied" | "expired", diagnosticCode?: string): Promise<void>;
|
|
186
175
|
notifyNativeInboundProgress?(receiptHandle: string, progress: {
|
|
187
176
|
kind: "stall";
|
|
@@ -270,22 +259,19 @@ export type GatewayServiceOptions = {
|
|
|
270
259
|
timers?: GatewayServiceTimers;
|
|
271
260
|
/** Test seam for opaque listener generations; production remains random. */
|
|
272
261
|
successionGeneration?: () => string;
|
|
273
|
-
/**
|
|
274
|
-
|
|
275
|
-
/** Read-only surfaces that are deliberately not routing providers. */
|
|
276
|
-
compatibilityObservers?: readonly CompatibilitySurfaceObserver[];
|
|
262
|
+
/** Bounded local process evidence; never routing authority. */
|
|
263
|
+
codexDoctor?: () => Promise<CodexDoctorResult>;
|
|
277
264
|
};
|
|
278
265
|
export declare class GatewayService {
|
|
279
266
|
readonly config: GatewayConfig;
|
|
280
267
|
readonly store: GatewayStore;
|
|
281
268
|
private readonly adapters;
|
|
282
|
-
private readonly compatibilityObservers;
|
|
283
|
-
private readonly compatibilitySurfaceDefinitions;
|
|
284
269
|
private readonly publishDashboard;
|
|
285
270
|
private readonly now;
|
|
286
271
|
private readonly timers;
|
|
287
272
|
private readonly nativePeerCwd;
|
|
288
273
|
private readonly successionGeneration;
|
|
274
|
+
private readonly codexDoctor;
|
|
289
275
|
private readonly mutex;
|
|
290
276
|
private readonly routeBindings;
|
|
291
277
|
private readonly routeStates;
|
|
@@ -306,9 +292,6 @@ export declare class GatewayService {
|
|
|
306
292
|
private readonly deliveryTokens;
|
|
307
293
|
private readonly runtimeAlerts;
|
|
308
294
|
private readonly activityEvents;
|
|
309
|
-
/** Startup probe failures that must preflight cross-provider mutations. */
|
|
310
|
-
private readonly incompatibleProviderSurfaces;
|
|
311
|
-
private activeCodexIncompatibility;
|
|
312
295
|
private activitySequence;
|
|
313
296
|
private readonly detachedReceiptWrites;
|
|
314
297
|
private readonly nativeIngressByConversation;
|
|
@@ -332,8 +315,6 @@ export declare class GatewayService {
|
|
|
332
315
|
private readonly durablyAppliedEndpointRefreshes;
|
|
333
316
|
/** Selector transitions staged until their exact registration owns a helper. */
|
|
334
317
|
private readonly pendingSelectorEndpointActivations;
|
|
335
|
-
/** Last incompatible transition already projected per allowed Codex host. */
|
|
336
|
-
private readonly handledIncompatibleEndpointRefreshes;
|
|
337
318
|
/** Process-local dedupe for automatic public activity rows across retries. */
|
|
338
319
|
private readonly endpointRefreshActivityKeys;
|
|
339
320
|
private callbackWorker;
|
|
@@ -341,8 +322,17 @@ export declare class GatewayService {
|
|
|
341
322
|
private readonly callbackCapacity;
|
|
342
323
|
private readonly deliveryCallbackReserve;
|
|
343
324
|
private readonly deliveryTokenCapacity;
|
|
325
|
+
private readonly providerDispatchInFlightMessageIds;
|
|
326
|
+
private readonly connectorFreshnessDeadlineAt;
|
|
344
327
|
private lifecycleTimer;
|
|
328
|
+
private lifecyclePublishPending;
|
|
345
329
|
private nextDashboardRefreshAt;
|
|
330
|
+
private nextClaudeDiscoveryAt;
|
|
331
|
+
private claudeDiscoveryScheduled;
|
|
332
|
+
private claudeDiscoveryInFlight;
|
|
333
|
+
private codexDoctorTimer;
|
|
334
|
+
private codexDoctorInFlight;
|
|
335
|
+
private codexDoctorResult;
|
|
346
336
|
private nextProgressWatchAt;
|
|
347
337
|
private control;
|
|
348
338
|
/** Coarse controller mutation revision exposed by `health`. */
|
|
@@ -380,9 +370,12 @@ export declare class GatewayService {
|
|
|
380
370
|
private closeOnce;
|
|
381
371
|
handlers(): GatewayControlHandlers;
|
|
382
372
|
snapshot(): Promise<GatewayPublicSnapshot>;
|
|
383
|
-
private runAutomaticCompatibilityProbesLocked;
|
|
384
373
|
private captureRegistryObservation;
|
|
385
374
|
private connectorsWithRegistry;
|
|
375
|
+
private recordConnectorFreshness;
|
|
376
|
+
private codexDoctorConditions;
|
|
377
|
+
private refreshCodexDoctor;
|
|
378
|
+
private scheduleCodexDoctor;
|
|
386
379
|
observeSnapshot(): Promise<GatewaySnapshotObservation>;
|
|
387
380
|
private fingerprintSnapshot;
|
|
388
381
|
private callbacksFor;
|
|
@@ -419,10 +412,6 @@ export declare class GatewayService {
|
|
|
419
412
|
*/
|
|
420
413
|
private drainDeliveryCallbacksForMessageLocked;
|
|
421
414
|
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
415
|
private assertClaudeWorkspaceDisjoint;
|
|
427
416
|
private contextTargetBinding;
|
|
428
417
|
private recoverCodexSuccessionAfterRestartLocked;
|
|
@@ -467,18 +456,23 @@ export declare class GatewayService {
|
|
|
467
456
|
private finalizeStaleCodexOrphanRemovalLocked;
|
|
468
457
|
private removeStaleCodexRegistration;
|
|
469
458
|
private discoveryPublicFingerprint;
|
|
459
|
+
private schedulePeriodicClaudeDiscovery;
|
|
460
|
+
private refreshClaudeDiscoveryPeriodically;
|
|
470
461
|
private refreshClaudeDiscovery;
|
|
471
462
|
private renameClaudeRoute;
|
|
472
463
|
private claudeCandidate;
|
|
473
464
|
private activatePersistedClaudeCandidate;
|
|
465
|
+
private validatePersistedClaudeCandidate;
|
|
466
|
+
private commitPreparedClaudeRebind;
|
|
474
467
|
private selectClaudeCandidate;
|
|
475
468
|
private replaceClaudeSelectionCandidate;
|
|
476
469
|
private resolveSelectedClaudeDestination;
|
|
477
470
|
private inferCodexAlias;
|
|
478
|
-
private
|
|
471
|
+
private assertPairThreadAttestation;
|
|
479
472
|
private pairRoutes;
|
|
480
473
|
private unpairRoutes;
|
|
481
|
-
private
|
|
474
|
+
private assertLiveConsentEndpoints;
|
|
475
|
+
private removeConsentEdge;
|
|
482
476
|
private selectClaude;
|
|
483
477
|
private selectAndPairClaude;
|
|
484
478
|
private rollbackFreshClaudeSelection;
|
|
@@ -512,8 +506,8 @@ export declare class GatewayService {
|
|
|
512
506
|
private normalizeDeliverySafeCode;
|
|
513
507
|
private planRouteInFlightSettlementsLocked;
|
|
514
508
|
private planRoutesInFlightSettlementsLocked;
|
|
515
|
-
private
|
|
516
|
-
private
|
|
509
|
+
private planConsentEdgeInFlightSettlementsLocked;
|
|
510
|
+
private purgeConsentEdgeCapabilitiesLocked;
|
|
517
511
|
private settleDeliveryStoreLocked;
|
|
518
512
|
private publishStallNoticeLocked;
|
|
519
513
|
private applyDeliveryEffectsLocked;
|
|
@@ -532,6 +526,7 @@ export declare class GatewayService {
|
|
|
532
526
|
private processProgressWatchesLocked;
|
|
533
527
|
private processLifecycleLocked;
|
|
534
528
|
private scheduleLifecycleWakeLocked;
|
|
529
|
+
private scheduleLifecycleRetryLocked;
|
|
535
530
|
private deliveryStatus;
|
|
536
531
|
private acceptToClaude;
|
|
537
532
|
private acceptToCodex;
|
|
@@ -547,10 +542,12 @@ export declare class GatewayService {
|
|
|
547
542
|
*/
|
|
548
543
|
private enqueueObservedClaudeReplyAfterRouteTeardownLocked;
|
|
549
544
|
private pruneTransient;
|
|
550
|
-
private
|
|
545
|
+
private awaitDispatchWithNativeHeld;
|
|
551
546
|
private restoreQueuedMessageContextLocked;
|
|
552
|
-
private
|
|
547
|
+
private prepareDispatchLocked;
|
|
548
|
+
private commitDispatchLocked;
|
|
553
549
|
private scheduleDispatch;
|
|
550
|
+
private runDispatch;
|
|
554
551
|
private scheduleHeldRedispatch;
|
|
555
552
|
private onDelivery;
|
|
556
553
|
private finishDelivery;
|
|
@@ -562,7 +559,7 @@ export declare class GatewayService {
|
|
|
562
559
|
private onCodexEndpointRefresh;
|
|
563
560
|
private applyCodexEndpointRefresh;
|
|
564
561
|
private onRouteState;
|
|
565
|
-
private
|
|
562
|
+
private setNativeSourceStatus;
|
|
566
563
|
private rejectDetachedNativeReceipt;
|
|
567
564
|
private drainDetachedReceiptWritesLocked;
|
|
568
565
|
private settleDetachedNativeReceipt;
|