agent-embassy 1.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 +61 -0
- package/CONTRIBUTING.md +122 -0
- package/LICENSE +21 -0
- package/README.md +185 -0
- package/README.zh-CN.md +185 -0
- package/SECURITY.md +224 -0
- package/assets/live-dashboard/app.css +1610 -0
- package/assets/mark-seal.svg +7 -0
- package/assets/mark.svg +7 -0
- package/assets/social-preview.png +0 -0
- package/assets/vendor/react/LICENSE +21 -0
- package/assets/vendor/react/react-dom.production.min.js +267 -0
- package/assets/vendor/react/react.production.min.js +31 -0
- package/dist/src/errors.d.ts +5 -0
- package/dist/src/errors.js +11 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/gateway/claude-compatibility-scratch.d.ts +18 -0
- package/dist/src/gateway/claude-compatibility-scratch.js +158 -0
- package/dist/src/gateway/claude-compatibility-scratch.js.map +1 -0
- package/dist/src/gateway/claude-helper-client.d.ts +43 -0
- package/dist/src/gateway/claude-helper-client.js +212 -0
- package/dist/src/gateway/claude-helper-client.js.map +1 -0
- package/dist/src/gateway/claude-helper-protocol.d.ts +172 -0
- package/dist/src/gateway/claude-helper-protocol.js +373 -0
- package/dist/src/gateway/claude-helper-protocol.js.map +1 -0
- package/dist/src/gateway/claude-helper-supervisor.d.ts +74 -0
- package/dist/src/gateway/claude-helper-supervisor.js +497 -0
- package/dist/src/gateway/claude-helper-supervisor.js.map +1 -0
- package/dist/src/gateway/claude-helper.d.ts +1 -0
- package/dist/src/gateway/claude-helper.js +269 -0
- package/dist/src/gateway/claude-helper.js.map +1 -0
- package/dist/src/gateway/claude-peer.d.ts +273 -0
- package/dist/src/gateway/claude-peer.js +2359 -0
- package/dist/src/gateway/claude-peer.js.map +1 -0
- package/dist/src/gateway/claude-runtime.d.ts +40 -0
- package/dist/src/gateway/claude-runtime.js +302 -0
- package/dist/src/gateway/claude-runtime.js.map +1 -0
- package/dist/src/gateway/cli-copy.d.ts +8 -0
- package/dist/src/gateway/cli-copy.en.d.ts +13 -0
- package/dist/src/gateway/cli-copy.en.js +43 -0
- package/dist/src/gateway/cli-copy.en.js.map +1 -0
- package/dist/src/gateway/cli-copy.js +19 -0
- package/dist/src/gateway/cli-copy.js.map +1 -0
- package/dist/src/gateway/cli-copy.zh-CN.d.ts +13 -0
- package/dist/src/gateway/cli-copy.zh-CN.js +43 -0
- package/dist/src/gateway/cli-copy.zh-CN.js.map +1 -0
- package/dist/src/gateway/cli.d.ts +44 -0
- package/dist/src/gateway/cli.js +969 -0
- package/dist/src/gateway/cli.js.map +1 -0
- package/dist/src/gateway/codex-app-server.d.ts +310 -0
- package/dist/src/gateway/codex-app-server.js +1746 -0
- package/dist/src/gateway/codex-app-server.js.map +1 -0
- package/dist/src/gateway/codex-local-transport.d.ts +81 -0
- package/dist/src/gateway/codex-local-transport.js +617 -0
- package/dist/src/gateway/codex-local-transport.js.map +1 -0
- package/dist/src/gateway/codex-registration-generation.d.ts +5 -0
- package/dist/src/gateway/codex-registration-generation.js +19 -0
- package/dist/src/gateway/codex-registration-generation.js.map +1 -0
- package/dist/src/gateway/codex-registration-succession.d.ts +209 -0
- package/dist/src/gateway/codex-registration-succession.js +588 -0
- package/dist/src/gateway/codex-registration-succession.js.map +1 -0
- package/dist/src/gateway/compatibility.d.ts +70 -0
- package/dist/src/gateway/compatibility.js +252 -0
- package/dist/src/gateway/compatibility.js.map +1 -0
- package/dist/src/gateway/config.d.ts +24 -0
- package/dist/src/gateway/config.js +130 -0
- package/dist/src/gateway/config.js.map +1 -0
- package/dist/src/gateway/control.d.ts +308 -0
- package/dist/src/gateway/control.js +1573 -0
- package/dist/src/gateway/control.js.map +1 -0
- package/dist/src/gateway/dashboard-copy.d.ts +7 -0
- package/dist/src/gateway/dashboard-copy.en.d.ts +506 -0
- package/dist/src/gateway/dashboard-copy.en.js +507 -0
- package/dist/src/gateway/dashboard-copy.en.js.map +1 -0
- package/dist/src/gateway/dashboard-copy.js +516 -0
- package/dist/src/gateway/dashboard-copy.js.map +1 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.d.ts +506 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js +507 -0
- package/dist/src/gateway/dashboard-copy.zh-CN.js.map +1 -0
- package/dist/src/gateway/dashboard-model.d.ts +207 -0
- package/dist/src/gateway/dashboard-model.js +720 -0
- package/dist/src/gateway/dashboard-model.js.map +1 -0
- package/dist/src/gateway/dashboard.d.ts +26 -0
- package/dist/src/gateway/dashboard.js +941 -0
- package/dist/src/gateway/dashboard.js.map +1 -0
- package/dist/src/gateway/delivery-machine.d.ts +235 -0
- package/dist/src/gateway/delivery-machine.js +540 -0
- package/dist/src/gateway/delivery-machine.js.map +1 -0
- package/dist/src/gateway/instance-lease.d.ts +21 -0
- package/dist/src/gateway/instance-lease.js +549 -0
- package/dist/src/gateway/instance-lease.js.map +1 -0
- package/dist/src/gateway/live-dashboard-app/app.js +2914 -0
- package/dist/src/gateway/live-dashboard-assets.d.ts +10 -0
- package/dist/src/gateway/live-dashboard-assets.js +73 -0
- package/dist/src/gateway/live-dashboard-assets.js.map +1 -0
- package/dist/src/gateway/live-dashboard-bootstrap.d.ts +36 -0
- package/dist/src/gateway/live-dashboard-bootstrap.js +176 -0
- package/dist/src/gateway/live-dashboard-bootstrap.js.map +1 -0
- package/dist/src/gateway/live-dashboard-command.d.ts +54 -0
- package/dist/src/gateway/live-dashboard-command.js +324 -0
- package/dist/src/gateway/live-dashboard-command.js.map +1 -0
- package/dist/src/gateway/live-dashboard-http.d.ts +41 -0
- package/dist/src/gateway/live-dashboard-http.js +445 -0
- package/dist/src/gateway/live-dashboard-http.js.map +1 -0
- package/dist/src/gateway/live-dashboard-protocol.d.ts +38 -0
- package/dist/src/gateway/live-dashboard-protocol.js +156 -0
- package/dist/src/gateway/live-dashboard-protocol.js.map +1 -0
- package/dist/src/gateway/live-dashboard-server.d.ts +33 -0
- package/dist/src/gateway/live-dashboard-server.js +130 -0
- package/dist/src/gateway/live-dashboard-server.js.map +1 -0
- package/dist/src/gateway/live-dashboard-stream.d.ts +46 -0
- package/dist/src/gateway/live-dashboard-stream.js +233 -0
- package/dist/src/gateway/live-dashboard-stream.js.map +1 -0
- package/dist/src/gateway/live-dashboard.d.ts +31 -0
- package/dist/src/gateway/live-dashboard.js +190 -0
- package/dist/src/gateway/live-dashboard.js.map +1 -0
- package/dist/src/gateway/locale.d.ts +4 -0
- package/dist/src/gateway/locale.js +10 -0
- package/dist/src/gateway/locale.js.map +1 -0
- package/dist/src/gateway/progress-watch-machine.d.ts +97 -0
- package/dist/src/gateway/progress-watch-machine.js +172 -0
- package/dist/src/gateway/progress-watch-machine.js.map +1 -0
- package/dist/src/gateway/providers.d.ts +287 -0
- package/dist/src/gateway/providers.js +2451 -0
- package/dist/src/gateway/providers.js.map +1 -0
- package/dist/src/gateway/server.d.ts +57 -0
- package/dist/src/gateway/server.js +264 -0
- package/dist/src/gateway/server.js.map +1 -0
- package/dist/src/gateway/service.d.ts +449 -0
- package/dist/src/gateway/service.js +4831 -0
- package/dist/src/gateway/service.js.map +1 -0
- package/dist/src/gateway/store.d.ts +340 -0
- package/dist/src/gateway/store.js +4047 -0
- package/dist/src/gateway/store.js.map +1 -0
- package/dist/src/gateway/types.d.ts +514 -0
- package/dist/src/gateway/types.js +414 -0
- package/dist/src/gateway/types.js.map +1 -0
- package/dist/src/mutex.d.ts +4 -0
- package/dist/src/mutex.js +23 -0
- package/dist/src/mutex.js.map +1 -0
- package/docs/DESIGN.md +134 -0
- package/docs/GATEWAY-ARCHITECTURE.md +858 -0
- package/package.json +80 -0
- package/skills/embassy-peer/SKILL.md +198 -0
- package/skills/embassy-peer/agents/openai.yaml +4 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { ClaudePeerInboundProgress } from "./claude-peer.js";
|
|
2
|
+
import type { AttestedClaudePeerRuntime } from "./claude-runtime.js";
|
|
3
|
+
import type { GatewayDeliveryNoticeMode } from "./config.js";
|
|
4
|
+
import type { DashboardLocale } from "./locale.js";
|
|
5
|
+
import type { GatewayAdapterDelivery, GatewayAdapterDispatchResult } from "./service.js";
|
|
6
|
+
import type { PrivateRouteBinding } from "./types.js";
|
|
7
|
+
export declare const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION: 1;
|
|
8
|
+
export declare const CLAUDE_NATIVE_HELPER_MAX_IPC_BYTES: number;
|
|
9
|
+
export declare const CLAUDE_NATIVE_HELPER_MAX_REQUESTS = 64;
|
|
10
|
+
export type ClaudeNativeHelperRegistration = Readonly<{
|
|
11
|
+
alias: string;
|
|
12
|
+
cwd: string;
|
|
13
|
+
}>;
|
|
14
|
+
export type ClaudeNativeHelperInitialization = Readonly<{
|
|
15
|
+
protocolVersion: 1;
|
|
16
|
+
type: "initialize";
|
|
17
|
+
requestId: string;
|
|
18
|
+
runtime: AttestedClaudePeerRuntime;
|
|
19
|
+
hostId: "this-mac";
|
|
20
|
+
locale: DashboardLocale;
|
|
21
|
+
deliveryNotices: GatewayDeliveryNoticeMode;
|
|
22
|
+
maxPendingMessages: number;
|
|
23
|
+
registration: ClaudeNativeHelperRegistration;
|
|
24
|
+
}>;
|
|
25
|
+
export type ClaudeNativeHelperCommand = Readonly<{
|
|
26
|
+
method: "resume_generation";
|
|
27
|
+
generation: string;
|
|
28
|
+
}> | Readonly<{
|
|
29
|
+
method: "authorize_route";
|
|
30
|
+
alias: string;
|
|
31
|
+
routeHandle: string;
|
|
32
|
+
stateRoot: string;
|
|
33
|
+
}> | Readonly<{
|
|
34
|
+
method: "release_route";
|
|
35
|
+
routeHandle: string;
|
|
36
|
+
}> | Readonly<{
|
|
37
|
+
method: "dispatch";
|
|
38
|
+
binding: PrivateRouteBinding;
|
|
39
|
+
authorization: "selected_route" | "native_reply";
|
|
40
|
+
messageId: string;
|
|
41
|
+
text: string;
|
|
42
|
+
expectsReply: boolean;
|
|
43
|
+
deadlineAt: string;
|
|
44
|
+
}> | Readonly<{
|
|
45
|
+
method: "update_inbound_status";
|
|
46
|
+
receiptHandle: string;
|
|
47
|
+
status: "held" | "delivered" | "denied" | "expired";
|
|
48
|
+
diagnosticCode?: string;
|
|
49
|
+
}> | Readonly<{
|
|
50
|
+
method: "notify_inbound_progress";
|
|
51
|
+
receiptHandle: string;
|
|
52
|
+
progress: ClaudePeerInboundProgress;
|
|
53
|
+
}> | Readonly<{
|
|
54
|
+
method: "release_inbound_receipt";
|
|
55
|
+
receiptHandle: string;
|
|
56
|
+
}> | Readonly<{
|
|
57
|
+
method: "update_status";
|
|
58
|
+
alias: string;
|
|
59
|
+
status: "idle" | "busy" | "waiting";
|
|
60
|
+
}> | Readonly<{
|
|
61
|
+
method: "unadvertise";
|
|
62
|
+
alias: string;
|
|
63
|
+
}> | Readonly<{
|
|
64
|
+
method: "quiesce_generation";
|
|
65
|
+
generation: string;
|
|
66
|
+
}> | Readonly<{
|
|
67
|
+
method: "observe_barrier";
|
|
68
|
+
generation: string;
|
|
69
|
+
}> | Readonly<{
|
|
70
|
+
method: "prepare_generation";
|
|
71
|
+
alias: string;
|
|
72
|
+
cwd: string;
|
|
73
|
+
generation: string;
|
|
74
|
+
}> | Readonly<{
|
|
75
|
+
method: "publish_prepared";
|
|
76
|
+
currentGeneration: string;
|
|
77
|
+
preparedGeneration: string;
|
|
78
|
+
}> | Readonly<{
|
|
79
|
+
method: "activate_prepared";
|
|
80
|
+
generation: string;
|
|
81
|
+
}> | Readonly<{
|
|
82
|
+
method: "cleanup_prepared";
|
|
83
|
+
generation: string;
|
|
84
|
+
}> | Readonly<{
|
|
85
|
+
method: "rollback_prepared";
|
|
86
|
+
preparedGeneration: string;
|
|
87
|
+
resumeGeneration: string;
|
|
88
|
+
}> | Readonly<{
|
|
89
|
+
method: "retire_generation";
|
|
90
|
+
retiredGeneration: string;
|
|
91
|
+
protectedActiveGeneration: string;
|
|
92
|
+
}> | Readonly<{
|
|
93
|
+
method: "purge_generation_replies";
|
|
94
|
+
generation: string;
|
|
95
|
+
}> | Readonly<{
|
|
96
|
+
method: "close";
|
|
97
|
+
}>;
|
|
98
|
+
export type ClaudeNativeHelperRequest = Readonly<{
|
|
99
|
+
protocolVersion: 1;
|
|
100
|
+
type: "request";
|
|
101
|
+
requestId: string;
|
|
102
|
+
command: ClaudeNativeHelperCommand;
|
|
103
|
+
}>;
|
|
104
|
+
export type ClaudeNativeHelperParentMessage = ClaudeNativeHelperInitialization | ClaudeNativeHelperRequest;
|
|
105
|
+
export type ClaudeNativeHelperEvent = Readonly<{
|
|
106
|
+
event: "delivery";
|
|
107
|
+
value: GatewayAdapterDelivery;
|
|
108
|
+
}> | Readonly<{
|
|
109
|
+
event: "claude_reply";
|
|
110
|
+
value: Readonly<{
|
|
111
|
+
routeHandle: string;
|
|
112
|
+
text: string;
|
|
113
|
+
}>;
|
|
114
|
+
}> | Readonly<{
|
|
115
|
+
event: "claude_message";
|
|
116
|
+
value: Readonly<{
|
|
117
|
+
routeHandle: string;
|
|
118
|
+
sourceAlias: string;
|
|
119
|
+
targetAlias: string;
|
|
120
|
+
text: string;
|
|
121
|
+
receiptHandle?: string;
|
|
122
|
+
}>;
|
|
123
|
+
}> | Readonly<{
|
|
124
|
+
event: "protocol_notice";
|
|
125
|
+
value: Readonly<{
|
|
126
|
+
code: string;
|
|
127
|
+
}>;
|
|
128
|
+
}>;
|
|
129
|
+
export type ClaudeNativeHelperResult = Readonly<{
|
|
130
|
+
generation: string;
|
|
131
|
+
}> | GatewayAdapterDispatchResult | Readonly<{
|
|
132
|
+
generation: string;
|
|
133
|
+
activeGenerationMatched: boolean;
|
|
134
|
+
ingressQuiesced: boolean;
|
|
135
|
+
monitorFrozen: boolean;
|
|
136
|
+
discoveryInFlight: boolean;
|
|
137
|
+
pendingOutboundReceipts: number;
|
|
138
|
+
pendingInboundReceipts: number;
|
|
139
|
+
rejectedInboundSettlements: number;
|
|
140
|
+
clean: boolean;
|
|
141
|
+
}> | Readonly<{
|
|
142
|
+
publication: "published" | "not_published" | "unknown";
|
|
143
|
+
}> | Readonly<{
|
|
144
|
+
released: boolean;
|
|
145
|
+
}> | Readonly<{
|
|
146
|
+
purged: number;
|
|
147
|
+
}> | Readonly<{
|
|
148
|
+
ok: true;
|
|
149
|
+
}>;
|
|
150
|
+
export type ClaudeNativeHelperChildMessage = Readonly<{
|
|
151
|
+
protocolVersion: 1;
|
|
152
|
+
type: "response";
|
|
153
|
+
requestId: string;
|
|
154
|
+
ok: true;
|
|
155
|
+
result: ClaudeNativeHelperResult;
|
|
156
|
+
}> | Readonly<{
|
|
157
|
+
protocolVersion: 1;
|
|
158
|
+
type: "response";
|
|
159
|
+
requestId: string;
|
|
160
|
+
ok: false;
|
|
161
|
+
error: Readonly<{
|
|
162
|
+
code: string;
|
|
163
|
+
recoverable: boolean;
|
|
164
|
+
}>;
|
|
165
|
+
}> | Readonly<{
|
|
166
|
+
protocolVersion: 1;
|
|
167
|
+
type: "event";
|
|
168
|
+
value: ClaudeNativeHelperEvent;
|
|
169
|
+
}>;
|
|
170
|
+
export declare function isClaudeNativeHelperParentMessage(value: unknown): value is ClaudeNativeHelperParentMessage;
|
|
171
|
+
export declare function isClaudeNativeHelperChildMessage(value: unknown): value is ClaudeNativeHelperChildMessage;
|
|
172
|
+
export declare function assertClaudeNativeHelperIpcSize(value: unknown): void;
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
export const CLAUDE_NATIVE_HELPER_PROTOCOL_VERSION = 1;
|
|
2
|
+
export const CLAUDE_NATIVE_HELPER_MAX_IPC_BYTES = 32 * 1024;
|
|
3
|
+
export const CLAUDE_NATIVE_HELPER_MAX_REQUESTS = 64;
|
|
4
|
+
const SAFE_CODE = /^[A-Z][A-Z0-9_]{0,95}$/;
|
|
5
|
+
const REQUEST_ID = /^[A-Za-z0-9_-]{16,64}$/;
|
|
6
|
+
const GENERATION = /^[A-Za-z0-9_-]{1,32}$/;
|
|
7
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
8
|
+
const ALIAS = /^[a-z][a-z0-9_-]{0,31}@[a-z0-9](?:[a-z0-9.-]{0,61}[a-z0-9])?$/;
|
|
9
|
+
const ROUTE = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$/;
|
|
10
|
+
function record(value) {
|
|
11
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
12
|
+
}
|
|
13
|
+
function exact(value, required, optional = []) {
|
|
14
|
+
const allowed = new Set([...required, ...optional]);
|
|
15
|
+
return (required.every((key) => Object.hasOwn(value, key)) &&
|
|
16
|
+
Object.keys(value).every((key) => allowed.has(key)));
|
|
17
|
+
}
|
|
18
|
+
function boundedString(value, maximum) {
|
|
19
|
+
return (typeof value === "string" &&
|
|
20
|
+
value.length > 0 &&
|
|
21
|
+
value.length <= maximum &&
|
|
22
|
+
!value.includes("\0"));
|
|
23
|
+
}
|
|
24
|
+
function iso(value) {
|
|
25
|
+
return typeof value === "string" && Number.isFinite(Date.parse(value));
|
|
26
|
+
}
|
|
27
|
+
function binding(value) {
|
|
28
|
+
return (record(value) &&
|
|
29
|
+
exact(value, [
|
|
30
|
+
"provider",
|
|
31
|
+
"hostId",
|
|
32
|
+
"routeHandle",
|
|
33
|
+
"ownerLease",
|
|
34
|
+
"endpointGeneration",
|
|
35
|
+
]) &&
|
|
36
|
+
(value.provider === "claude" || value.provider === "codex") &&
|
|
37
|
+
value.hostId === "this-mac" &&
|
|
38
|
+
typeof value.routeHandle === "string" &&
|
|
39
|
+
ROUTE.test(value.routeHandle) &&
|
|
40
|
+
boundedString(value.ownerLease, 256) &&
|
|
41
|
+
boundedString(value.endpointGeneration, 256));
|
|
42
|
+
}
|
|
43
|
+
function registration(value) {
|
|
44
|
+
return (record(value) &&
|
|
45
|
+
exact(value, ["alias", "cwd"]) &&
|
|
46
|
+
typeof value.alias === "string" &&
|
|
47
|
+
ALIAS.test(value.alias) &&
|
|
48
|
+
value.alias.startsWith("codex-") &&
|
|
49
|
+
typeof value.cwd === "string" &&
|
|
50
|
+
value.cwd.startsWith("/") &&
|
|
51
|
+
value.cwd.length <= 4_096 &&
|
|
52
|
+
!value.cwd.includes("\0"));
|
|
53
|
+
}
|
|
54
|
+
function runtime(value) {
|
|
55
|
+
return (record(value) &&
|
|
56
|
+
exact(value, [
|
|
57
|
+
"claudeExecutable",
|
|
58
|
+
"claudeCodeVersion",
|
|
59
|
+
"sessionsDir",
|
|
60
|
+
"socketDir",
|
|
61
|
+
]) &&
|
|
62
|
+
boundedString(value.claudeExecutable, 4_096) &&
|
|
63
|
+
value.claudeExecutable.startsWith("/") &&
|
|
64
|
+
boundedString(value.claudeCodeVersion, 64) &&
|
|
65
|
+
boundedString(value.sessionsDir, 4_096) &&
|
|
66
|
+
value.sessionsDir.startsWith("/") &&
|
|
67
|
+
boundedString(value.socketDir, 4_096) &&
|
|
68
|
+
value.socketDir.startsWith("/"));
|
|
69
|
+
}
|
|
70
|
+
function command(value) {
|
|
71
|
+
if (!record(value) || typeof value.method !== "string")
|
|
72
|
+
return false;
|
|
73
|
+
switch (value.method) {
|
|
74
|
+
case "close":
|
|
75
|
+
return exact(value, ["method"]);
|
|
76
|
+
case "resume_generation":
|
|
77
|
+
case "quiesce_generation":
|
|
78
|
+
case "observe_barrier":
|
|
79
|
+
case "activate_prepared":
|
|
80
|
+
case "cleanup_prepared":
|
|
81
|
+
case "purge_generation_replies":
|
|
82
|
+
return (exact(value, ["method", "generation"]) &&
|
|
83
|
+
typeof value.generation === "string" &&
|
|
84
|
+
GENERATION.test(value.generation));
|
|
85
|
+
case "authorize_route":
|
|
86
|
+
return (exact(value, ["method", "alias", "routeHandle", "stateRoot"]) &&
|
|
87
|
+
typeof value.alias === "string" &&
|
|
88
|
+
ALIAS.test(value.alias) &&
|
|
89
|
+
typeof value.routeHandle === "string" &&
|
|
90
|
+
UUID.test(value.routeHandle) &&
|
|
91
|
+
boundedString(value.stateRoot, 4_096) &&
|
|
92
|
+
value.stateRoot.startsWith("/"));
|
|
93
|
+
case "release_route":
|
|
94
|
+
return (exact(value, ["method", "routeHandle"]) &&
|
|
95
|
+
typeof value.routeHandle === "string" &&
|
|
96
|
+
UUID.test(value.routeHandle));
|
|
97
|
+
case "dispatch":
|
|
98
|
+
return (exact(value, [
|
|
99
|
+
"method",
|
|
100
|
+
"binding",
|
|
101
|
+
"authorization",
|
|
102
|
+
"messageId",
|
|
103
|
+
"text",
|
|
104
|
+
"expectsReply",
|
|
105
|
+
"deadlineAt",
|
|
106
|
+
]) &&
|
|
107
|
+
binding(value.binding) &&
|
|
108
|
+
(value.authorization === "selected_route" ||
|
|
109
|
+
value.authorization === "native_reply") &&
|
|
110
|
+
boundedString(value.messageId, 256) &&
|
|
111
|
+
typeof value.text === "string" &&
|
|
112
|
+
Buffer.byteLength(value.text, "utf8") <= 16 * 1024 &&
|
|
113
|
+
typeof value.expectsReply === "boolean" &&
|
|
114
|
+
iso(value.deadlineAt));
|
|
115
|
+
case "update_inbound_status":
|
|
116
|
+
return (exact(value, ["method", "receiptHandle", "status"], ["diagnosticCode"]) &&
|
|
117
|
+
boundedString(value.receiptHandle, 256) &&
|
|
118
|
+
["held", "delivered", "denied", "expired"].includes(String(value.status)) &&
|
|
119
|
+
(value.diagnosticCode === undefined ||
|
|
120
|
+
(typeof value.diagnosticCode === "string" &&
|
|
121
|
+
SAFE_CODE.test(value.diagnosticCode))));
|
|
122
|
+
case "notify_inbound_progress":
|
|
123
|
+
return (exact(value, ["method", "receiptHandle", "progress"]) &&
|
|
124
|
+
boundedString(value.receiptHandle, 256) &&
|
|
125
|
+
record(value.progress) &&
|
|
126
|
+
exact(value.progress, ["kind", "reason", "queuedForMs"]) &&
|
|
127
|
+
value.progress.kind === "stall" &&
|
|
128
|
+
[
|
|
129
|
+
"ROUTE_BUSY",
|
|
130
|
+
"ROUTE_UNAVAILABLE",
|
|
131
|
+
"CODEX_ROUTE_STALE",
|
|
132
|
+
"AWAITING_EXTERNAL_APPROVAL",
|
|
133
|
+
].includes(String(value.progress.reason)) &&
|
|
134
|
+
Number.isSafeInteger(value.progress.queuedForMs) &&
|
|
135
|
+
Number(value.progress.queuedForMs) >= 0);
|
|
136
|
+
case "release_inbound_receipt":
|
|
137
|
+
return (exact(value, ["method", "receiptHandle"]) &&
|
|
138
|
+
boundedString(value.receiptHandle, 256));
|
|
139
|
+
case "update_status":
|
|
140
|
+
return (exact(value, ["method", "alias", "status"]) &&
|
|
141
|
+
typeof value.alias === "string" &&
|
|
142
|
+
ALIAS.test(value.alias) &&
|
|
143
|
+
["idle", "busy", "waiting"].includes(String(value.status)));
|
|
144
|
+
case "unadvertise":
|
|
145
|
+
return (exact(value, ["method", "alias"]) &&
|
|
146
|
+
typeof value.alias === "string" &&
|
|
147
|
+
ALIAS.test(value.alias));
|
|
148
|
+
case "prepare_generation":
|
|
149
|
+
return (exact(value, ["method", "alias", "cwd", "generation"]) &&
|
|
150
|
+
registration({ alias: value.alias, cwd: value.cwd }) &&
|
|
151
|
+
typeof value.generation === "string" &&
|
|
152
|
+
GENERATION.test(value.generation));
|
|
153
|
+
case "publish_prepared":
|
|
154
|
+
return (exact(value, [
|
|
155
|
+
"method",
|
|
156
|
+
"currentGeneration",
|
|
157
|
+
"preparedGeneration",
|
|
158
|
+
]) &&
|
|
159
|
+
typeof value.currentGeneration === "string" &&
|
|
160
|
+
GENERATION.test(value.currentGeneration) &&
|
|
161
|
+
typeof value.preparedGeneration === "string" &&
|
|
162
|
+
GENERATION.test(value.preparedGeneration));
|
|
163
|
+
case "rollback_prepared":
|
|
164
|
+
return (exact(value, [
|
|
165
|
+
"method",
|
|
166
|
+
"preparedGeneration",
|
|
167
|
+
"resumeGeneration",
|
|
168
|
+
]) &&
|
|
169
|
+
typeof value.preparedGeneration === "string" &&
|
|
170
|
+
GENERATION.test(value.preparedGeneration) &&
|
|
171
|
+
typeof value.resumeGeneration === "string" &&
|
|
172
|
+
GENERATION.test(value.resumeGeneration));
|
|
173
|
+
case "retire_generation":
|
|
174
|
+
return (exact(value, [
|
|
175
|
+
"method",
|
|
176
|
+
"retiredGeneration",
|
|
177
|
+
"protectedActiveGeneration",
|
|
178
|
+
]) &&
|
|
179
|
+
typeof value.retiredGeneration === "string" &&
|
|
180
|
+
GENERATION.test(value.retiredGeneration) &&
|
|
181
|
+
typeof value.protectedActiveGeneration === "string" &&
|
|
182
|
+
GENERATION.test(value.protectedActiveGeneration));
|
|
183
|
+
default:
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
export function isClaudeNativeHelperParentMessage(value) {
|
|
188
|
+
if (!record(value) || value.protocolVersion !== 1)
|
|
189
|
+
return false;
|
|
190
|
+
if (value.type === "initialize") {
|
|
191
|
+
return (exact(value, [
|
|
192
|
+
"protocolVersion",
|
|
193
|
+
"type",
|
|
194
|
+
"requestId",
|
|
195
|
+
"runtime",
|
|
196
|
+
"hostId",
|
|
197
|
+
"locale",
|
|
198
|
+
"deliveryNotices",
|
|
199
|
+
"maxPendingMessages",
|
|
200
|
+
"registration",
|
|
201
|
+
]) &&
|
|
202
|
+
typeof value.requestId === "string" &&
|
|
203
|
+
REQUEST_ID.test(value.requestId) &&
|
|
204
|
+
runtime(value.runtime) &&
|
|
205
|
+
value.hostId === "this-mac" &&
|
|
206
|
+
(value.locale === "en" || value.locale === "zh-CN") &&
|
|
207
|
+
["merged", "verbose", "quiet"].includes(String(value.deliveryNotices)) &&
|
|
208
|
+
Number.isSafeInteger(value.maxPendingMessages) &&
|
|
209
|
+
Number(value.maxPendingMessages) >= 1 &&
|
|
210
|
+
Number(value.maxPendingMessages) <= 4_096 &&
|
|
211
|
+
registration(value.registration));
|
|
212
|
+
}
|
|
213
|
+
return (value.type === "request" &&
|
|
214
|
+
exact(value, ["protocolVersion", "type", "requestId", "command"]) &&
|
|
215
|
+
typeof value.requestId === "string" &&
|
|
216
|
+
REQUEST_ID.test(value.requestId) &&
|
|
217
|
+
command(value.command));
|
|
218
|
+
}
|
|
219
|
+
export function isClaudeNativeHelperChildMessage(value) {
|
|
220
|
+
if (!record(value) || value.protocolVersion !== 1)
|
|
221
|
+
return false;
|
|
222
|
+
if (value.type === "event") {
|
|
223
|
+
if (!exact(value, ["protocolVersion", "type", "value"]) || !record(value.value)) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
const event = value.value;
|
|
227
|
+
if (!exact(event, ["event", "value"]) || !record(event.value))
|
|
228
|
+
return false;
|
|
229
|
+
if (event.event === "delivery") {
|
|
230
|
+
return (exact(event.value, ["messageId", "state"], ["safeErrorCode", "replyText"]) &&
|
|
231
|
+
boundedString(event.value.messageId, 256) &&
|
|
232
|
+
[
|
|
233
|
+
"transport_uncertain",
|
|
234
|
+
"transport_written",
|
|
235
|
+
"held",
|
|
236
|
+
"released",
|
|
237
|
+
"unconfirmed",
|
|
238
|
+
"denied",
|
|
239
|
+
"expired",
|
|
240
|
+
"ambiguous",
|
|
241
|
+
"completed",
|
|
242
|
+
"failed",
|
|
243
|
+
"cancelled",
|
|
244
|
+
].includes(String(event.value.state)) &&
|
|
245
|
+
(event.value.safeErrorCode === undefined ||
|
|
246
|
+
(typeof event.value.safeErrorCode === "string" &&
|
|
247
|
+
SAFE_CODE.test(event.value.safeErrorCode))) &&
|
|
248
|
+
(event.value.replyText === undefined ||
|
|
249
|
+
(typeof event.value.replyText === "string" &&
|
|
250
|
+
Buffer.byteLength(event.value.replyText, "utf8") <= 64 * 1024)));
|
|
251
|
+
}
|
|
252
|
+
if (event.event === "claude_reply") {
|
|
253
|
+
return (exact(event.value, ["routeHandle", "text"]) &&
|
|
254
|
+
typeof event.value.routeHandle === "string" &&
|
|
255
|
+
UUID.test(event.value.routeHandle) &&
|
|
256
|
+
typeof event.value.text === "string" &&
|
|
257
|
+
Buffer.byteLength(event.value.text, "utf8") <= 16 * 1024);
|
|
258
|
+
}
|
|
259
|
+
if (event.event === "claude_message") {
|
|
260
|
+
return (exact(event.value, ["routeHandle", "sourceAlias", "targetAlias", "text"], ["receiptHandle"]) &&
|
|
261
|
+
typeof event.value.routeHandle === "string" &&
|
|
262
|
+
UUID.test(event.value.routeHandle) &&
|
|
263
|
+
typeof event.value.sourceAlias === "string" &&
|
|
264
|
+
ALIAS.test(event.value.sourceAlias) &&
|
|
265
|
+
typeof event.value.targetAlias === "string" &&
|
|
266
|
+
ALIAS.test(event.value.targetAlias) &&
|
|
267
|
+
typeof event.value.text === "string" &&
|
|
268
|
+
Buffer.byteLength(event.value.text, "utf8") <= 16 * 1024 &&
|
|
269
|
+
(event.value.receiptHandle === undefined ||
|
|
270
|
+
boundedString(event.value.receiptHandle, 256)));
|
|
271
|
+
}
|
|
272
|
+
return (event.event === "protocol_notice" &&
|
|
273
|
+
exact(event.value, ["code"]) &&
|
|
274
|
+
typeof event.value.code === "string" &&
|
|
275
|
+
SAFE_CODE.test(event.value.code));
|
|
276
|
+
}
|
|
277
|
+
if (value.type !== "response" ||
|
|
278
|
+
typeof value.requestId !== "string" ||
|
|
279
|
+
!REQUEST_ID.test(value.requestId) ||
|
|
280
|
+
typeof value.ok !== "boolean") {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
if (value.ok) {
|
|
284
|
+
return (exact(value, ["protocolVersion", "type", "requestId", "ok", "result"]) &&
|
|
285
|
+
helperResult(value.result));
|
|
286
|
+
}
|
|
287
|
+
return (exact(value, ["protocolVersion", "type", "requestId", "ok", "error"]) &&
|
|
288
|
+
record(value.error) &&
|
|
289
|
+
exact(value.error, ["code", "recoverable"]) &&
|
|
290
|
+
typeof value.error.code === "string" &&
|
|
291
|
+
SAFE_CODE.test(value.error.code) &&
|
|
292
|
+
typeof value.error.recoverable === "boolean");
|
|
293
|
+
}
|
|
294
|
+
function helperResult(value) {
|
|
295
|
+
if (!record(value))
|
|
296
|
+
return false;
|
|
297
|
+
if (exact(value, ["generation"]) &&
|
|
298
|
+
typeof value.generation === "string" &&
|
|
299
|
+
GENERATION.test(value.generation)) {
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
if (exact(value, ["ok"]) && value.ok === true)
|
|
303
|
+
return true;
|
|
304
|
+
if (exact(value, ["publication"]) &&
|
|
305
|
+
["published", "not_published", "unknown"].includes(String(value.publication))) {
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
if (exact(value, ["released"]) && typeof value.released === "boolean") {
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
if (exact(value, ["purged"]) &&
|
|
312
|
+
Number.isSafeInteger(value.purged) &&
|
|
313
|
+
Number(value.purged) >= 0) {
|
|
314
|
+
return true;
|
|
315
|
+
}
|
|
316
|
+
if (exact(value, [
|
|
317
|
+
"generation",
|
|
318
|
+
"activeGenerationMatched",
|
|
319
|
+
"ingressQuiesced",
|
|
320
|
+
"monitorFrozen",
|
|
321
|
+
"discoveryInFlight",
|
|
322
|
+
"pendingOutboundReceipts",
|
|
323
|
+
"pendingInboundReceipts",
|
|
324
|
+
"rejectedInboundSettlements",
|
|
325
|
+
"clean",
|
|
326
|
+
])) {
|
|
327
|
+
return (typeof value.generation === "string" &&
|
|
328
|
+
GENERATION.test(value.generation) &&
|
|
329
|
+
[
|
|
330
|
+
value.activeGenerationMatched,
|
|
331
|
+
value.ingressQuiesced,
|
|
332
|
+
value.monitorFrozen,
|
|
333
|
+
value.discoveryInFlight,
|
|
334
|
+
value.clean,
|
|
335
|
+
].every((entry) => typeof entry === "boolean") &&
|
|
336
|
+
[
|
|
337
|
+
value.pendingOutboundReceipts,
|
|
338
|
+
value.pendingInboundReceipts,
|
|
339
|
+
value.rejectedInboundSettlements,
|
|
340
|
+
].every((entry) => Number.isSafeInteger(entry) && Number(entry) >= 0));
|
|
341
|
+
}
|
|
342
|
+
if (!exact(value, ["state"], ["safeErrorCode", "replyText"]) ||
|
|
343
|
+
![
|
|
344
|
+
"pending",
|
|
345
|
+
"accepted",
|
|
346
|
+
"deferred",
|
|
347
|
+
"delivered",
|
|
348
|
+
"failed",
|
|
349
|
+
"ambiguous",
|
|
350
|
+
"cancelled",
|
|
351
|
+
].includes(String(value.state)) ||
|
|
352
|
+
(value.safeErrorCode !== undefined &&
|
|
353
|
+
(typeof value.safeErrorCode !== "string" ||
|
|
354
|
+
!SAFE_CODE.test(value.safeErrorCode))) ||
|
|
355
|
+
(value.replyText !== undefined &&
|
|
356
|
+
(typeof value.replyText !== "string" ||
|
|
357
|
+
Buffer.byteLength(value.replyText, "utf8") > 64 * 1024))) {
|
|
358
|
+
return false;
|
|
359
|
+
}
|
|
360
|
+
if (value.state === "pending" ||
|
|
361
|
+
value.state === "accepted" ||
|
|
362
|
+
value.state === "deferred") {
|
|
363
|
+
return value.replyText === undefined;
|
|
364
|
+
}
|
|
365
|
+
return true;
|
|
366
|
+
}
|
|
367
|
+
export function assertClaudeNativeHelperIpcSize(value) {
|
|
368
|
+
if (Buffer.byteLength(JSON.stringify(value), "utf8") >
|
|
369
|
+
CLAUDE_NATIVE_HELPER_MAX_IPC_BYTES) {
|
|
370
|
+
throw new RangeError("CLAUDE_NATIVE_HELPER_IPC_TOO_LARGE");
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=claude-helper-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-helper-protocol.js","sourceRoot":"","sources":["../../../src/gateway/claude-helper-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { AttestedClaudePeerRuntime } from "./claude-runtime.js";
|
|
2
|
+
import { type ClaudeNativeHelperFactory } from "./claude-helper-client.js";
|
|
3
|
+
import type { GatewayDeliveryNoticeMode } from "./config.js";
|
|
4
|
+
import type { DashboardLocale } from "./locale.js";
|
|
5
|
+
import type { ClaudeNativeCodexSuccessionBarrier } from "./providers.js";
|
|
6
|
+
import type { GatewayAdapterCallbacks, GatewayAdapterDispatchResult } from "./service.js";
|
|
7
|
+
import type { PrivateEndpointIdentity, PrivateRouteBinding } from "./types.js";
|
|
8
|
+
export type ClaudeNativeHelperSupervisorOptions = Readonly<{
|
|
9
|
+
identity: PrivateEndpointIdentity;
|
|
10
|
+
runtime: AttestedClaudePeerRuntime;
|
|
11
|
+
locale: DashboardLocale;
|
|
12
|
+
deliveryNotices: GatewayDeliveryNoticeMode;
|
|
13
|
+
maxPendingMessages: number;
|
|
14
|
+
maxHelpers: number;
|
|
15
|
+
callbacks: () => GatewayAdapterCallbacks | undefined;
|
|
16
|
+
factory?: ClaudeNativeHelperFactory;
|
|
17
|
+
}>;
|
|
18
|
+
export declare class ClaudeNativeHelperSupervisor {
|
|
19
|
+
#private;
|
|
20
|
+
constructor(options: ClaudeNativeHelperSupervisorOptions);
|
|
21
|
+
get size(): number;
|
|
22
|
+
advertise(input: Readonly<{
|
|
23
|
+
alias: string;
|
|
24
|
+
cwd: string;
|
|
25
|
+
}>): Promise<void>;
|
|
26
|
+
currentGeneration(alias: string): string;
|
|
27
|
+
updateStatus(alias: string, status: "idle" | "busy" | "waiting"): Promise<void>;
|
|
28
|
+
unadvertise(alias: string): Promise<void>;
|
|
29
|
+
dispatch(input: Readonly<{
|
|
30
|
+
sourceAlias: string;
|
|
31
|
+
selectedAlias?: string;
|
|
32
|
+
stateRoot?: string;
|
|
33
|
+
binding: PrivateRouteBinding;
|
|
34
|
+
authorization: "selected_route" | "native_reply";
|
|
35
|
+
messageId: string;
|
|
36
|
+
text: string;
|
|
37
|
+
expectsReply: boolean;
|
|
38
|
+
deadlineAt: string;
|
|
39
|
+
}>): Promise<GatewayAdapterDispatchResult>;
|
|
40
|
+
releaseRoute(routeHandle: string): Promise<void>;
|
|
41
|
+
updateInboundStatus(receiptHandle: string, status: "held" | "delivered" | "denied" | "expired", diagnosticCode?: string): Promise<void>;
|
|
42
|
+
notifyInboundProgress(receiptHandle: string, progress: Readonly<{
|
|
43
|
+
kind: "stall";
|
|
44
|
+
reason: "ROUTE_BUSY" | "ROUTE_UNAVAILABLE" | "CODEX_ROUTE_STALE" | "AWAITING_EXTERNAL_APPROVAL";
|
|
45
|
+
queuedForMs: number;
|
|
46
|
+
}>): Promise<void>;
|
|
47
|
+
releaseInboundReceipt(receiptHandle: string): Promise<boolean>;
|
|
48
|
+
quiesceAll(): Promise<void>;
|
|
49
|
+
quiesceGeneration(generation: string): Promise<void>;
|
|
50
|
+
observeBarrier(generation: string): Promise<ClaudeNativeCodexSuccessionBarrier>;
|
|
51
|
+
prepareGeneration(input: Readonly<{
|
|
52
|
+
alias: string;
|
|
53
|
+
cwd: string;
|
|
54
|
+
generation: string;
|
|
55
|
+
currentGeneration: string;
|
|
56
|
+
}>): Promise<void>;
|
|
57
|
+
publishPrepared(input: Readonly<{
|
|
58
|
+
currentGeneration: string;
|
|
59
|
+
preparedGeneration: string;
|
|
60
|
+
}>): Promise<"published" | "not_published" | "unknown">;
|
|
61
|
+
activatePrepared(generation: string): Promise<void>;
|
|
62
|
+
cleanupPrepared(generation: string): Promise<void>;
|
|
63
|
+
resumeGeneration(generation: string): Promise<void>;
|
|
64
|
+
rollbackPrepared(input: Readonly<{
|
|
65
|
+
preparedGeneration: string;
|
|
66
|
+
resumeGeneration: string;
|
|
67
|
+
}>): Promise<void>;
|
|
68
|
+
retireGeneration(input: Readonly<{
|
|
69
|
+
retiredGeneration: string;
|
|
70
|
+
protectedActiveGeneration: string;
|
|
71
|
+
}>): Promise<void>;
|
|
72
|
+
purgeGenerationReplies(generation: string): Promise<number>;
|
|
73
|
+
close(): Promise<void>;
|
|
74
|
+
}
|