agent-embassy 3.0.0 → 4.0.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 +42 -0
- package/CONTRIBUTING.md +92 -200
- package/README.md +159 -138
- package/SECURITY.md +191 -335
- package/dist/src/gateway/broker-check.d.ts +26 -0
- package/dist/src/gateway/broker-check.js +89 -0
- package/dist/src/gateway/broker-check.js.map +1 -0
- package/dist/src/gateway/broker-control.d.ts +72 -0
- package/dist/src/gateway/broker-control.js +164 -0
- package/dist/src/gateway/broker-control.js.map +1 -0
- package/dist/src/gateway/broker.d.ts +117 -0
- package/dist/src/gateway/broker.js +186 -0
- package/dist/src/gateway/broker.js.map +1 -0
- package/dist/src/gateway/claude-peer.d.ts +1 -124
- package/dist/src/gateway/claude-peer.js +62 -1053
- package/dist/src/gateway/claude-peer.js.map +1 -1
- package/dist/src/gateway/codex-stateless-transport.d.ts +0 -12
- package/dist/src/gateway/codex-stateless-transport.js +8 -142
- package/dist/src/gateway/codex-stateless-transport.js.map +1 -1
- package/dist/src/gateway/config.d.ts +2 -6
- package/dist/src/gateway/config.js +17 -27
- package/dist/src/gateway/config.js.map +1 -1
- package/dist/src/gateway/coordinator.d.ts +57 -0
- package/dist/src/gateway/coordinator.js +217 -0
- package/dist/src/gateway/coordinator.js.map +1 -0
- package/dist/src/gateway/core-cli.d.ts +15 -0
- package/dist/src/gateway/core-cli.js +282 -0
- package/dist/src/gateway/core-cli.js.map +1 -0
- package/dist/src/gateway/core-service-command.d.ts +16 -0
- package/dist/src/gateway/core-service-command.js +71 -0
- package/dist/src/gateway/core-service-command.js.map +1 -0
- package/dist/src/gateway/endpoint-directory.d.ts +33 -0
- package/dist/src/gateway/endpoint-directory.js +223 -0
- package/dist/src/gateway/endpoint-directory.js.map +1 -0
- package/dist/src/gateway/federation.d.ts +89 -0
- package/dist/src/gateway/federation.js +632 -0
- package/dist/src/gateway/federation.js.map +1 -0
- package/dist/src/gateway/ledger-codec.d.ts +3 -0
- package/dist/src/gateway/ledger-codec.js +159 -0
- package/dist/src/gateway/ledger-codec.js.map +1 -0
- package/dist/src/gateway/ledger.d.ts +138 -0
- package/dist/src/gateway/ledger.js +319 -0
- package/dist/src/gateway/ledger.js.map +1 -0
- package/dist/src/gateway/local-control.d.ts +23 -0
- package/dist/src/gateway/local-control.js +489 -0
- package/dist/src/gateway/local-control.js.map +1 -0
- package/dist/src/gateway/native-destinations.d.ts +34 -0
- package/dist/src/gateway/native-destinations.js +272 -0
- package/dist/src/gateway/native-destinations.js.map +1 -0
- package/dist/src/gateway/owned-state.d.ts +57 -0
- package/dist/src/gateway/owned-state.js +398 -0
- package/dist/src/gateway/owned-state.js.map +1 -0
- package/dist/src/gateway/provenance-envelope.d.ts +3 -3
- package/dist/src/gateway/provenance-envelope.js +3 -23
- package/dist/src/gateway/provenance-envelope.js.map +1 -1
- package/dist/src/gateway/runtime.d.ts +41 -0
- package/dist/src/gateway/runtime.js +175 -0
- package/dist/src/gateway/runtime.js.map +1 -0
- package/docs/CONFIGURATION.md +178 -266
- package/docs/DELIVERY.md +133 -82
- package/docs/GATEWAY-ARCHITECTURE.md +276 -943
- package/package.json +5 -5
- package/skills/embassy-peer/SKILL.md +38 -194
- package/skills/embassy-peer/agents/openai.yaml +2 -2
- package/dist/src/gateway/claude-helper-client.d.ts +0 -2
- package/dist/src/gateway/claude-helper-client.js +0 -2
- package/dist/src/gateway/claude-helper-client.js.map +0 -1
- package/dist/src/gateway/claude-helper-protocol.d.ts +0 -117
- package/dist/src/gateway/claude-helper-protocol.js +0 -122
- package/dist/src/gateway/claude-helper-protocol.js.map +0 -1
- package/dist/src/gateway/claude-helper-supervisor.d.ts +0 -87
- package/dist/src/gateway/claude-helper-supervisor.js +0 -347
- package/dist/src/gateway/claude-helper-supervisor.js.map +0 -1
- package/dist/src/gateway/claude-helper.d.ts +0 -1
- package/dist/src/gateway/claude-helper.js +0 -252
- package/dist/src/gateway/claude-helper.js.map +0 -1
- package/dist/src/gateway/cli.d.ts +0 -57
- package/dist/src/gateway/cli.js +0 -1503
- package/dist/src/gateway/cli.js.map +0 -1
- package/dist/src/gateway/codex-socket-holder.d.ts +0 -26
- package/dist/src/gateway/codex-socket-holder.js +0 -76
- package/dist/src/gateway/codex-socket-holder.js.map +0 -1
- package/dist/src/gateway/control.d.ts +0 -261
- package/dist/src/gateway/control.js +0 -903
- package/dist/src/gateway/control.js.map +0 -1
- package/dist/src/gateway/peer-client.d.ts +0 -58
- package/dist/src/gateway/peer-client.js +0 -217
- package/dist/src/gateway/peer-client.js.map +0 -1
- package/dist/src/gateway/peer-mailbox.d.ts +0 -78
- package/dist/src/gateway/peer-mailbox.js +0 -168
- package/dist/src/gateway/peer-mailbox.js.map +0 -1
- package/dist/src/gateway/peer-protocol.d.ts +0 -105
- package/dist/src/gateway/peer-protocol.js +0 -70
- package/dist/src/gateway/peer-protocol.js.map +0 -1
- package/dist/src/gateway/peer-stdio.d.ts +0 -23
- package/dist/src/gateway/peer-stdio.js +0 -100
- package/dist/src/gateway/peer-stdio.js.map +0 -1
- package/dist/src/gateway/providers.d.ts +0 -163
- package/dist/src/gateway/providers.js +0 -972
- package/dist/src/gateway/providers.js.map +0 -1
- package/dist/src/gateway/server.d.ts +0 -47
- package/dist/src/gateway/server.js +0 -219
- package/dist/src/gateway/server.js.map +0 -1
- package/dist/src/gateway/service.d.ts +0 -373
- package/dist/src/gateway/service.js +0 -2274
- package/dist/src/gateway/service.js.map +0 -1
- package/dist/src/gateway/status-view.d.ts +0 -167
- package/dist/src/gateway/status-view.js +0 -488
- package/dist/src/gateway/status-view.js.map +0 -1
- package/dist/src/gateway/store.d.ts +0 -185
- package/dist/src/gateway/store.js +0 -2359
- package/dist/src/gateway/store.js.map +0 -1
- package/dist/src/gateway/types.d.ts +0 -528
- package/dist/src/gateway/types.js +0 -341
- package/dist/src/gateway/types.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/gateway/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The one Codex process check that changes public health: while the managed
|
|
3
|
-
* Codex layout is missing, does a process outside Embassy's own tree hold the
|
|
4
|
-
* managed control socket? `lsof` names the holders; each holder's ancestry is
|
|
5
|
-
* then walked one `ps -o ppid=` step at a time up to launchd. A holder whose
|
|
6
|
-
* chain never passes through Embassy's pid answers true. The walk never reads
|
|
7
|
-
* the whole process table, so host size cannot fail the check; only malformed
|
|
8
|
-
* or vanished evidence, an exhausted walk, or an inspector error answers
|
|
9
|
-
* false, and that silence is never reported as health.
|
|
10
|
-
*/
|
|
11
|
-
export declare const CODEX_SOCKET_HOLDER_MAX_HOLDERS = 32;
|
|
12
|
-
export declare const CODEX_SOCKET_HOLDER_MAX_ANCESTRY_DEPTH = 64;
|
|
13
|
-
export type CodexSocketHolderInspector = Readonly<{
|
|
14
|
-
/** Pids currently holding the socket; throws when there are more than `maximumHolders`. */
|
|
15
|
-
socketHolders(socketPath: string, maximumHolders: number): Promise<readonly number[]>;
|
|
16
|
-
/** Parent pid of one live process; undefined when the process is gone or unreadable. */
|
|
17
|
-
parentOf(pid: number): Promise<number | undefined>;
|
|
18
|
-
}>;
|
|
19
|
-
export type CodexSocketHolderOptions = Readonly<{
|
|
20
|
-
socketPath: string;
|
|
21
|
-
embassyPid: number;
|
|
22
|
-
inspector: CodexSocketHolderInspector;
|
|
23
|
-
}>;
|
|
24
|
-
export declare function managedCodexSocketHeldOutsideEmbassy(options: CodexSocketHolderOptions): Promise<boolean>;
|
|
25
|
-
/** Bounded macOS inspection; commands and outputs are fixed and private. */
|
|
26
|
-
export declare function createSystemCodexSocketHolderInspector(): CodexSocketHolderInspector;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
2
|
-
import { promisify } from "node:util";
|
|
3
|
-
/**
|
|
4
|
-
* The one Codex process check that changes public health: while the managed
|
|
5
|
-
* Codex layout is missing, does a process outside Embassy's own tree hold the
|
|
6
|
-
* managed control socket? `lsof` names the holders; each holder's ancestry is
|
|
7
|
-
* then walked one `ps -o ppid=` step at a time up to launchd. A holder whose
|
|
8
|
-
* chain never passes through Embassy's pid answers true. The walk never reads
|
|
9
|
-
* the whole process table, so host size cannot fail the check; only malformed
|
|
10
|
-
* or vanished evidence, an exhausted walk, or an inspector error answers
|
|
11
|
-
* false, and that silence is never reported as health.
|
|
12
|
-
*/
|
|
13
|
-
export const CODEX_SOCKET_HOLDER_MAX_HOLDERS = 32;
|
|
14
|
-
export const CODEX_SOCKET_HOLDER_MAX_ANCESTRY_DEPTH = 64;
|
|
15
|
-
const run = promisify(execFile);
|
|
16
|
-
const validPid = (value) => Number.isSafeInteger(value) && value > 0;
|
|
17
|
-
/** Walk one holder toward launchd; true only when the chain ends (pid 0/1 or a cycle) without meeting Embassy. */
|
|
18
|
-
async function outsideEmbassy(holder, options) {
|
|
19
|
-
const seen = new Set();
|
|
20
|
-
let pid = holder;
|
|
21
|
-
for (let depth = 0; depth < CODEX_SOCKET_HOLDER_MAX_ANCESTRY_DEPTH; depth += 1) {
|
|
22
|
-
if (pid === options.embassyPid)
|
|
23
|
-
return false;
|
|
24
|
-
if (pid <= 1 || seen.has(pid))
|
|
25
|
-
return true;
|
|
26
|
-
seen.add(pid);
|
|
27
|
-
let parent;
|
|
28
|
-
try {
|
|
29
|
-
parent = await options.inspector.parentOf(pid);
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (parent === undefined || !Number.isSafeInteger(parent) || parent < 0)
|
|
35
|
-
return false;
|
|
36
|
-
pid = parent;
|
|
37
|
-
}
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
export async function managedCodexSocketHeldOutsideEmbassy(options) {
|
|
41
|
-
if (!options.socketPath || options.socketPath.includes("\0") || !validPid(options.embassyPid))
|
|
42
|
-
return false;
|
|
43
|
-
let holders;
|
|
44
|
-
try {
|
|
45
|
-
holders = await options.inspector.socketHolders(options.socketPath, CODEX_SOCKET_HOLDER_MAX_HOLDERS);
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return false;
|
|
49
|
-
}
|
|
50
|
-
if (holders.length > CODEX_SOCKET_HOLDER_MAX_HOLDERS)
|
|
51
|
-
return false;
|
|
52
|
-
for (const holder of new Set(holders)) {
|
|
53
|
-
if (validPid(holder) && await outsideEmbassy(holder, options))
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
/** Bounded macOS inspection; commands and outputs are fixed and private. */
|
|
59
|
-
export function createSystemCodexSocketHolderInspector() {
|
|
60
|
-
const execOptions = { encoding: "utf8", maxBuffer: 64 * 1024, timeout: 2_000 };
|
|
61
|
-
return {
|
|
62
|
-
socketHolders: async (socketPath, maximumHolders) => {
|
|
63
|
-
const { stdout } = await run("/usr/sbin/lsof", ["-n", "-F", "p", "--", socketPath], execOptions);
|
|
64
|
-
const holders = [...new Set(stdout.split("\n").flatMap((line) => /^p[1-9][0-9]*$/.test(line) ? [Number(line.slice(1))] : []))];
|
|
65
|
-
if (holders.length > maximumHolders)
|
|
66
|
-
throw new Error("bounded socket-holder evidence exceeded");
|
|
67
|
-
return holders;
|
|
68
|
-
},
|
|
69
|
-
parentOf: async (pid) => {
|
|
70
|
-
const { stdout } = await run("/bin/ps", ["-o", "ppid=", "-p", String(pid)], execOptions);
|
|
71
|
-
const match = /^\s*([0-9]+)\s*$/.exec(stdout);
|
|
72
|
-
return match === null ? undefined : Number(match[1]);
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=codex-socket-holder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex-socket-holder.js","sourceRoot":"","sources":["../../../src/gateway/codex-socket-holder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
import type { GatewayPublicSnapshot } from "./types.js";
|
|
2
|
-
import { type PeerCatalogResult, type PeerHandoffParams, type PeerHandoffResult } from "./peer-protocol.js";
|
|
3
|
-
import { type PeerMailboxAwaitResult } from "./peer-mailbox.js";
|
|
4
|
-
export declare const GATEWAY_CONTROL_PROTOCOL_VERSION: 3;
|
|
5
|
-
export declare const GATEWAY_CONTROL_MAX_FRAME_BYTES: number;
|
|
6
|
-
export declare const GATEWAY_CONTROL_MAX_RESPONSE_BYTES: number;
|
|
7
|
-
export declare const GATEWAY_CONTROL_MAX_MESSAGE_BYTES: number;
|
|
8
|
-
export declare const GATEWAY_CONTROL_DEFAULT_TIMEOUT_MS = 3000;
|
|
9
|
-
export declare const GATEWAY_CONTROL_MAX_CONNECTIONS = 32;
|
|
10
|
-
export declare const gatewayControlMethods: readonly ["health", "register_codex", "unregister_codex", "list_snapshot", "observe_snapshot", "delivery_status", "send", "refresh_discovery", "peer_catalog", "peer_handoff", "register_peer", "unregister_peer", "await_peer", "peer_receipt"];
|
|
11
|
-
export type GatewayControlMethod = (typeof gatewayControlMethods)[number];
|
|
12
|
-
export type GatewayBusyPolicy = "queue";
|
|
13
|
-
export type RegisterCodexParams = {
|
|
14
|
-
alias: string;
|
|
15
|
-
threadId: string;
|
|
16
|
-
hostId: string;
|
|
17
|
-
busyPolicy: GatewayBusyPolicy;
|
|
18
|
-
succeedsAlias?: string;
|
|
19
|
-
};
|
|
20
|
-
export type ValidatedRegisterCodexParams = {
|
|
21
|
-
alias: string;
|
|
22
|
-
threadId: string;
|
|
23
|
-
hostId: string;
|
|
24
|
-
busyPolicy: GatewayBusyPolicy;
|
|
25
|
-
succeedsAlias?: string;
|
|
26
|
-
};
|
|
27
|
-
export type UnregisterCodexParams = {
|
|
28
|
-
alias: string;
|
|
29
|
-
threadId: string;
|
|
30
|
-
};
|
|
31
|
-
type SendBase = {
|
|
32
|
-
fromAlias: string;
|
|
33
|
-
text: string;
|
|
34
|
-
};
|
|
35
|
-
type SendAuthority = {
|
|
36
|
-
threadId: string;
|
|
37
|
-
replyAddress?: never;
|
|
38
|
-
peerToken?: never;
|
|
39
|
-
} | {
|
|
40
|
-
replyAddress: string;
|
|
41
|
-
threadId?: never;
|
|
42
|
-
peerToken?: never;
|
|
43
|
-
} | {
|
|
44
|
-
peerToken: string;
|
|
45
|
-
threadId?: never;
|
|
46
|
-
replyAddress?: never;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* A send addresses either a route by name or an open conversation by its
|
|
50
|
-
* token, never both. The conversation form is what `reply` used to be: the
|
|
51
|
-
* caller owns one end, the other end is the conversation's recorded binding,
|
|
52
|
-
* and the answer always expects a reply, so `expectsReply` is not accepted
|
|
53
|
-
* with it.
|
|
54
|
-
*/
|
|
55
|
-
export type SendParams = (SendBase & SendAuthority & {
|
|
56
|
-
toAlias: string;
|
|
57
|
-
conversationId?: never;
|
|
58
|
-
expectsReply?: boolean;
|
|
59
|
-
}) | (SendBase & SendAuthority & {
|
|
60
|
-
conversationId: string;
|
|
61
|
-
toAlias?: never;
|
|
62
|
-
expectsReply?: never;
|
|
63
|
-
});
|
|
64
|
-
export type ValidatedSendParams = (SendBase & SendAuthority & {
|
|
65
|
-
toAlias: string;
|
|
66
|
-
conversationId?: never;
|
|
67
|
-
expectsReply: boolean;
|
|
68
|
-
}) | (SendBase & SendAuthority & {
|
|
69
|
-
conversationId: string;
|
|
70
|
-
toAlias?: never;
|
|
71
|
-
expectsReply?: never;
|
|
72
|
-
});
|
|
73
|
-
export type DeliveryStatusParams = {
|
|
74
|
-
token: string;
|
|
75
|
-
};
|
|
76
|
-
export type PeerCatalogParams = {
|
|
77
|
-
peerHost: string;
|
|
78
|
-
};
|
|
79
|
-
export type PeerHandoffControlParams = {
|
|
80
|
-
peerHost: string;
|
|
81
|
-
handoff: PeerHandoffParams;
|
|
82
|
-
};
|
|
83
|
-
export type RegisterPeerParams = {
|
|
84
|
-
alias: string;
|
|
85
|
-
token?: string;
|
|
86
|
-
ephemeral?: true;
|
|
87
|
-
ttlMs?: number;
|
|
88
|
-
};
|
|
89
|
-
/** Bounds on an ephemeral peer registration's lifetime, in milliseconds. */
|
|
90
|
-
export declare const GATEWAY_EPHEMERAL_PEER_TTL_DEFAULT_MS = 300000;
|
|
91
|
-
export declare const GATEWAY_EPHEMERAL_PEER_TTL_MIN_MS = 1000;
|
|
92
|
-
export declare const GATEWAY_EPHEMERAL_PEER_TTL_MAX_MS = 3600000;
|
|
93
|
-
export type PeerPrincipalParams = {
|
|
94
|
-
alias: string;
|
|
95
|
-
token: string;
|
|
96
|
-
};
|
|
97
|
-
export type PeerReceiptParams = PeerPrincipalParams & {
|
|
98
|
-
receipt: string;
|
|
99
|
-
};
|
|
100
|
-
type RequestParams = {
|
|
101
|
-
health: Record<string, never>;
|
|
102
|
-
register_codex: RegisterCodexParams;
|
|
103
|
-
unregister_codex: UnregisterCodexParams;
|
|
104
|
-
list_snapshot: Record<string, never>;
|
|
105
|
-
observe_snapshot: Record<string, never>;
|
|
106
|
-
delivery_status: DeliveryStatusParams;
|
|
107
|
-
send: SendParams;
|
|
108
|
-
refresh_discovery: Record<string, never>;
|
|
109
|
-
peer_catalog: PeerCatalogParams;
|
|
110
|
-
peer_handoff: PeerHandoffControlParams;
|
|
111
|
-
register_peer: RegisterPeerParams;
|
|
112
|
-
unregister_peer: PeerPrincipalParams;
|
|
113
|
-
await_peer: PeerPrincipalParams;
|
|
114
|
-
peer_receipt: PeerReceiptParams;
|
|
115
|
-
};
|
|
116
|
-
export type GatewayControlRequest = {
|
|
117
|
-
[M in GatewayControlMethod]: {
|
|
118
|
-
protocolVersion: typeof GATEWAY_CONTROL_PROTOCOL_VERSION;
|
|
119
|
-
method: M;
|
|
120
|
-
params: RequestParams[M];
|
|
121
|
-
};
|
|
122
|
-
}[GatewayControlMethod];
|
|
123
|
-
export type GatewayDecisionCode = "ok" | "not_found" | "conflict" | "route_mismatch" | "busy" | "unavailable" | "rejected";
|
|
124
|
-
export type GatewayDecision = {
|
|
125
|
-
accepted: true;
|
|
126
|
-
code: "ok";
|
|
127
|
-
} | {
|
|
128
|
-
accepted: false;
|
|
129
|
-
code: Exclude<GatewayDecisionCode, "ok">;
|
|
130
|
-
};
|
|
131
|
-
/**
|
|
132
|
-
* A refused send carries an optional `reason`: the safe error code
|
|
133
|
-
* behind the coarse decision. The decision code stays the contract clients
|
|
134
|
-
* branch on; `reason` exists so the CLI can name the one remedy that fits
|
|
135
|
-
* (rename a session, move a workspace, fix `--from`, rescan) instead of
|
|
136
|
-
* printing one generic line for six different failures. It is a safe code:
|
|
137
|
-
* bounded, allowlisted-shaped, and never a message, path, or identifier.
|
|
138
|
-
*/
|
|
139
|
-
export type GatewaySendResult = {
|
|
140
|
-
accepted: true;
|
|
141
|
-
code: "ok";
|
|
142
|
-
conversationId: string;
|
|
143
|
-
deliveryToken: string;
|
|
144
|
-
} | {
|
|
145
|
-
accepted: false;
|
|
146
|
-
code: Exclude<GatewayDecisionCode, "ok">;
|
|
147
|
-
reason?: string;
|
|
148
|
-
};
|
|
149
|
-
export type GatewayHealthResult = {
|
|
150
|
-
status: "ok" | "degraded";
|
|
151
|
-
revision: number;
|
|
152
|
-
};
|
|
153
|
-
export type GatewayRefreshResult = GatewayDecision & {
|
|
154
|
-
revision: number;
|
|
155
|
-
};
|
|
156
|
-
export type GatewayDeliveryStatusState = "queued" | "stalled" | "delivered" | "unconfirmed" | "expired" | "failed" | "ambiguous" | "cancelled";
|
|
157
|
-
export type GatewayDeliveryStatusResult = {
|
|
158
|
-
found: false;
|
|
159
|
-
} | {
|
|
160
|
-
found: true;
|
|
161
|
-
state: GatewayDeliveryStatusState;
|
|
162
|
-
terminal: boolean;
|
|
163
|
-
updatedAt: string;
|
|
164
|
-
deadlineAt: string;
|
|
165
|
-
pendingForMs?: number;
|
|
166
|
-
safeErrorCode?: string;
|
|
167
|
-
};
|
|
168
|
-
export type GatewaySnapshot = GatewayPublicSnapshot;
|
|
169
|
-
export type GatewaySnapshotObservation = {
|
|
170
|
-
snapshotRevision: number;
|
|
171
|
-
snapshot: GatewaySnapshot;
|
|
172
|
-
};
|
|
173
|
-
export type GatewayRegisterPeerResult = GatewayDecision | {
|
|
174
|
-
accepted: true;
|
|
175
|
-
code: "ok";
|
|
176
|
-
token: string;
|
|
177
|
-
};
|
|
178
|
-
type ResultByMethod = {
|
|
179
|
-
health: GatewayHealthResult;
|
|
180
|
-
register_codex: GatewayDecision;
|
|
181
|
-
unregister_codex: GatewayDecision;
|
|
182
|
-
list_snapshot: GatewaySnapshot;
|
|
183
|
-
observe_snapshot: GatewaySnapshotObservation;
|
|
184
|
-
delivery_status: GatewayDeliveryStatusResult;
|
|
185
|
-
send: GatewaySendResult;
|
|
186
|
-
refresh_discovery: GatewayRefreshResult;
|
|
187
|
-
peer_catalog: PeerCatalogResult;
|
|
188
|
-
peer_handoff: PeerHandoffResult;
|
|
189
|
-
register_peer: GatewayRegisterPeerResult;
|
|
190
|
-
unregister_peer: GatewayDecision;
|
|
191
|
-
await_peer: PeerMailboxAwaitResult;
|
|
192
|
-
peer_receipt: GatewayDecision;
|
|
193
|
-
};
|
|
194
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
195
|
-
export type GatewayControlHandlers = {
|
|
196
|
-
health: () => MaybePromise<GatewayHealthResult>;
|
|
197
|
-
registerCodex: (params: Readonly<ValidatedRegisterCodexParams>) => MaybePromise<GatewayDecision>;
|
|
198
|
-
unregisterCodex: (params: Readonly<UnregisterCodexParams>) => MaybePromise<GatewayDecision>;
|
|
199
|
-
listSnapshot: () => MaybePromise<GatewaySnapshot>;
|
|
200
|
-
observeSnapshot: () => MaybePromise<GatewaySnapshotObservation>;
|
|
201
|
-
deliveryStatus: (params: Readonly<DeliveryStatusParams>) => MaybePromise<GatewayDeliveryStatusResult>;
|
|
202
|
-
send: (params: Readonly<ValidatedSendParams>) => MaybePromise<GatewaySendResult>;
|
|
203
|
-
refreshDiscovery: () => MaybePromise<GatewayRefreshResult>;
|
|
204
|
-
peerCatalog?: (params: Readonly<PeerCatalogParams>) => MaybePromise<PeerCatalogResult>;
|
|
205
|
-
peerHandoff?: (params: Readonly<PeerHandoffControlParams>) => MaybePromise<PeerHandoffResult>;
|
|
206
|
-
registerPeer: (params: Readonly<RegisterPeerParams>) => MaybePromise<GatewayRegisterPeerResult>;
|
|
207
|
-
unregisterPeer: (params: Readonly<PeerPrincipalParams>) => MaybePromise<GatewayDecision>;
|
|
208
|
-
awaitPeer: (params: Readonly<PeerPrincipalParams>) => MaybePromise<PeerMailboxAwaitResult>;
|
|
209
|
-
peerReceipt: (params: Readonly<PeerReceiptParams>) => MaybePromise<GatewayDecision>;
|
|
210
|
-
};
|
|
211
|
-
export type GatewayWireErrorCode = "INVALID_JSON" | "FRAME_TOO_LARGE" | "INVALID_REQUEST" | "UNSUPPORTED_VERSION" | "UNKNOWN_METHOD" | "MULTIPLE_FRAMES" | "SERVER_BUSY" | "REQUEST_TIMEOUT" | "HANDLER_FAILURE" | "INVALID_HANDLER_RESPONSE" | "RESPONSE_TOO_LARGE";
|
|
212
|
-
export type GatewayControlErrorResponse = {
|
|
213
|
-
protocolVersion: typeof GATEWAY_CONTROL_PROTOCOL_VERSION;
|
|
214
|
-
ok: false;
|
|
215
|
-
error: {
|
|
216
|
-
code: GatewayWireErrorCode;
|
|
217
|
-
message: string;
|
|
218
|
-
};
|
|
219
|
-
};
|
|
220
|
-
export type GatewayControlSuccessResponse<M extends GatewayControlMethod = GatewayControlMethod> = {
|
|
221
|
-
protocolVersion: typeof GATEWAY_CONTROL_PROTOCOL_VERSION;
|
|
222
|
-
ok: true;
|
|
223
|
-
result: ResultByMethod[M];
|
|
224
|
-
};
|
|
225
|
-
export type GatewayControlResponse<M extends GatewayControlMethod = GatewayControlMethod> = GatewayControlSuccessResponse<M> | GatewayControlErrorResponse;
|
|
226
|
-
export declare class GatewayControlTransportError extends Error {
|
|
227
|
-
readonly code: string;
|
|
228
|
-
readonly ambiguous: boolean;
|
|
229
|
-
readonly recoverable: boolean;
|
|
230
|
-
constructor(code: string, message: string, ambiguous?: boolean);
|
|
231
|
-
}
|
|
232
|
-
export declare function createGatewayConversationId(): string;
|
|
233
|
-
export declare function isGatewayAlias(value: string): boolean;
|
|
234
|
-
export declare function isClaudeSessionSelector(value: string): boolean;
|
|
235
|
-
export declare function isGatewayHostId(value: string): boolean;
|
|
236
|
-
export declare function isGatewayConversationId(value: string): boolean;
|
|
237
|
-
export declare function isGatewayDeliveryToken(value: string): boolean;
|
|
238
|
-
export declare function isGatewayReplyAddress(value: string): boolean;
|
|
239
|
-
export declare function isGatewaySnapshot(value: unknown): value is GatewaySnapshot;
|
|
240
|
-
export type GatewayControlServer = {
|
|
241
|
-
readonly socketPath: string;
|
|
242
|
-
readonly closed: boolean;
|
|
243
|
-
close: () => Promise<void>;
|
|
244
|
-
};
|
|
245
|
-
export type StartGatewayControlServerOptions = {
|
|
246
|
-
stateDir: string;
|
|
247
|
-
socketPath: string;
|
|
248
|
-
handlers: GatewayControlHandlers;
|
|
249
|
-
requestTimeoutMs?: number;
|
|
250
|
-
};
|
|
251
|
-
export declare function startGatewayControlServer(options: StartGatewayControlServerOptions): Promise<GatewayControlServer>;
|
|
252
|
-
export type SendGatewayControlRequestOptions<M extends GatewayControlMethod> = {
|
|
253
|
-
socketPath: string;
|
|
254
|
-
request: Extract<GatewayControlRequest, {
|
|
255
|
-
method: M;
|
|
256
|
-
}>;
|
|
257
|
-
timeoutMs?: number;
|
|
258
|
-
maxResponseBytes?: number;
|
|
259
|
-
};
|
|
260
|
-
export declare function sendGatewayControlRequest<M extends GatewayControlMethod>(options: SendGatewayControlRequestOptions<M>): Promise<GatewayControlResponse<M>>;
|
|
261
|
-
export {};
|