@xenosystem/agent-interface-host 0.1.4 → 0.1.5
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/dist/acp/AcpAgentRegistryService.d.ts +43 -1
- package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
- package/dist/acp/AcpAgentRegistryService.js +200 -1
- package/dist/acp/AcpAgentRegistryService.js.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
- package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
- package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
- package/dist/acp/AcpPermissionBridge.js +3 -3
- package/dist/acp/AcpPermissionBridge.js.map +1 -1
- package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
- package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
- package/dist/acp/AcpProcessSupervisor.js +176 -2
- package/dist/acp/AcpProcessSupervisor.js.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
- package/dist/acp/AcpRuntimeEventMapper.js +9 -0
- package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
- package/dist/acp/AcpSessionService.d.ts +36 -0
- package/dist/acp/AcpSessionService.d.ts.map +1 -1
- package/dist/acp/AcpSessionService.js +57 -1
- package/dist/acp/AcpSessionService.js.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
- package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
- package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
- package/dist/acp/acpRedaction.d.ts.map +1 -1
- package/dist/acp/acpRedaction.js +2 -0
- package/dist/acp/acpRedaction.js.map +1 -1
- package/dist/acp/acpTypes.d.ts +111 -1
- package/dist/acp/acpTypes.d.ts.map +1 -1
- package/dist/acp/acpTypes.js +21 -1
- package/dist/acp/acpTypes.js.map +1 -1
- package/dist/index.d.ts +108 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +236 -11
- package/dist/index.js.map +1 -1
- package/dist/isolation/CommandExecution.d.ts +7 -12
- package/dist/isolation/CommandExecution.d.ts.map +1 -1
- package/dist/isolation/CommandExecution.js +7 -12
- package/dist/isolation/CommandExecution.js.map +1 -1
- package/dist/isolation/CommandStream.d.ts +100 -0
- package/dist/isolation/CommandStream.d.ts.map +1 -0
- package/dist/isolation/CommandStream.js +47 -0
- package/dist/isolation/CommandStream.js.map +1 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
- package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
- package/dist/isolation/RunExecutionEnvironment.js +45 -9
- package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
- package/dist/isolation/RunIsolationService.d.ts +10 -5
- package/dist/isolation/RunIsolationService.d.ts.map +1 -1
- package/dist/isolation/RunIsolationService.js +7 -3
- package/dist/isolation/RunIsolationService.js.map +1 -1
- package/dist/isolation/SandboxCapabilities.d.ts +28 -0
- package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
- package/dist/isolation/SandboxCapabilities.js +33 -0
- package/dist/isolation/SandboxCapabilities.js.map +1 -0
- package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
- package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
- package/dist/isolation/SandboxCommandExecutor.js +6 -7
- package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
- package/dist/isolation/SandboxCommandStream.d.ts +38 -0
- package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
- package/dist/isolation/SandboxCommandStream.js +232 -0
- package/dist/isolation/SandboxCommandStream.js.map +1 -0
- package/dist/isolation/shellArgv.d.ts +15 -0
- package/dist/isolation/shellArgv.d.ts.map +1 -0
- package/dist/isolation/shellArgv.js +31 -0
- package/dist/isolation/shellArgv.js.map +1 -0
- package/dist/isolation/useIdempotency.d.ts +19 -0
- package/dist/isolation/useIdempotency.d.ts.map +1 -0
- package/dist/isolation/useIdempotency.js +57 -0
- package/dist/isolation/useIdempotency.js.map +1 -0
- package/dist/localRpcTransport.d.ts +18 -0
- package/dist/localRpcTransport.d.ts.map +1 -1
- package/dist/localRpcTransport.js +38 -4
- package/dist/localRpcTransport.js.map +1 -1
- package/dist/node.d.ts +19 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +19 -0
- package/dist/node.js.map +1 -1
- package/dist/observation/XenoUseRunObserver.d.ts +20 -0
- package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
- package/dist/observation/XenoUseRunObserver.js +27 -13
- package/dist/observation/XenoUseRunObserver.js.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
- package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
- package/dist/runtime/RuntimeTimelineProjection.js +194 -1
- package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
- package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
- package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
- package/dist/sdk/DurablePendingInjectionStore.js +103 -0
- package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
- package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
- package/dist/sdk/pendingInjections.d.ts +83 -0
- package/dist/sdk/pendingInjections.d.ts.map +1 -0
- package/dist/sdk/pendingInjections.js +79 -0
- package/dist/sdk/pendingInjections.js.map +1 -0
- package/dist/session/AgentSessionService.d.ts +34 -0
- package/dist/session/AgentSessionService.d.ts.map +1 -1
- package/dist/session/AgentSessionService.js +85 -1
- package/dist/session/AgentSessionService.js.map +1 -1
- package/dist/session/nativeTuiSessionPty.d.ts +40 -0
- package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
- package/dist/session/nativeTuiSessionPty.js +142 -0
- package/dist/session/nativeTuiSessionPty.js.map +1 -0
- package/dist/session/nodePtyLoader.d.ts +23 -0
- package/dist/session/nodePtyLoader.d.ts.map +1 -0
- package/dist/session/nodePtyLoader.js +41 -0
- package/dist/session/nodePtyLoader.js.map +1 -0
- package/dist/session/renderSupport.d.ts +34 -0
- package/dist/session/renderSupport.d.ts.map +1 -1
- package/dist/session/renderSupport.js +39 -1
- package/dist/session/renderSupport.js.map +1 -1
- package/dist/workspace/WorkspaceHostService.d.ts +27 -2
- package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
- package/dist/workspace/WorkspaceHostService.js +221 -25
- package/dist/workspace/WorkspaceHostService.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `CommandStreamPort` over a `xeno-use` sandbox — ADE step 9's public hop.
|
|
3
|
+
*
|
|
4
|
+
* Reached through `RunExecutionEnvironment` from the same binding that
|
|
5
|
+
* constructs `SandboxCommandExecutor`, so a composition cannot confine the
|
|
6
|
+
* one-shot command and leave the PTY on the host.
|
|
7
|
+
*
|
|
8
|
+
* 🔒 HTTP only. `xeno-use` is AGPL-3.0; nothing here imports it.
|
|
9
|
+
*
|
|
10
|
+
* 🔴 It NEVER falls back to a host PTY or `child_process`. An unreachable
|
|
11
|
+
* stream is a failed start. Falling back would confine `runCommand` while the
|
|
12
|
+
* interactive shell — the thing a person actually types into — ran as the
|
|
13
|
+
* signed-in user, and the run would still report `sandboxed`.
|
|
14
|
+
*/
|
|
15
|
+
import type { CommandStreamListener, CommandStreamPort, CommandStreamRequest, CommandStreamStartResult } from './CommandStream.js';
|
|
16
|
+
import { type SandboxCommandMount } from './SandboxCommandExecutor.js';
|
|
17
|
+
export interface SandboxCommandStreamOptions {
|
|
18
|
+
baseUrl: string;
|
|
19
|
+
token: string;
|
|
20
|
+
sandboxId: string;
|
|
21
|
+
mount: SandboxCommandMount;
|
|
22
|
+
fetch?: typeof globalThis.fetch;
|
|
23
|
+
/** Drain cadence. Injectable so a test can observe polling without waiting. */
|
|
24
|
+
drainIntervalMs?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Longest a single streamed command may run — hand-mirrored from
|
|
28
|
+
* `SANDBOX_EXEC_MAX_TIMEOUT_MS` in `xeno-use`. The substrate requires a
|
|
29
|
+
* timeout; an interactive shell uses this ceiling and the user can stop it
|
|
30
|
+
* sooner.
|
|
31
|
+
*/
|
|
32
|
+
export declare const SANDBOX_STREAM_MAX_TIMEOUT_MS = 3600000;
|
|
33
|
+
export declare class SandboxCommandStream implements CommandStreamPort {
|
|
34
|
+
#private;
|
|
35
|
+
constructor(options: SandboxCommandStreamOptions);
|
|
36
|
+
start(request: CommandStreamRequest, listener: CommandStreamListener): Promise<CommandStreamStartResult>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=SandboxCommandStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxCommandStream.d.ts","sourceRoot":"","sources":["../../src/isolation/SandboxCommandStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EAEpB,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAOvF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,UAAY,CAAA;AActD,qBAAa,oBAAqB,YAAW,iBAAiB;;gBAShD,OAAO,EAAE,2BAA2B;IAS1C,KAAK,CACT,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,wBAAwB,CAAC;CAsLrC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `CommandStreamPort` over a `xeno-use` sandbox — ADE step 9's public hop.
|
|
3
|
+
*
|
|
4
|
+
* Reached through `RunExecutionEnvironment` from the same binding that
|
|
5
|
+
* constructs `SandboxCommandExecutor`, so a composition cannot confine the
|
|
6
|
+
* one-shot command and leave the PTY on the host.
|
|
7
|
+
*
|
|
8
|
+
* 🔒 HTTP only. `xeno-use` is AGPL-3.0; nothing here imports it.
|
|
9
|
+
*
|
|
10
|
+
* 🔴 It NEVER falls back to a host PTY or `child_process`. An unreachable
|
|
11
|
+
* stream is a failed start. Falling back would confine `runCommand` while the
|
|
12
|
+
* interactive shell — the thing a person actually types into — ran as the
|
|
13
|
+
* signed-in user, and the run would still report `sandboxed`.
|
|
14
|
+
*/
|
|
15
|
+
import { toContainerPath } from './SandboxCommandExecutor.js';
|
|
16
|
+
import { fetchSandboxCapabilities, } from './SandboxCapabilities.js';
|
|
17
|
+
import { mintUseIdempotencyKey } from './useIdempotency.js';
|
|
18
|
+
/**
|
|
19
|
+
* Longest a single streamed command may run — hand-mirrored from
|
|
20
|
+
* `SANDBOX_EXEC_MAX_TIMEOUT_MS` in `xeno-use`. The substrate requires a
|
|
21
|
+
* timeout; an interactive shell uses this ceiling and the user can stop it
|
|
22
|
+
* sooner.
|
|
23
|
+
*/
|
|
24
|
+
export const SANDBOX_STREAM_MAX_TIMEOUT_MS = 3_600_000;
|
|
25
|
+
const DEFAULT_DRAIN_INTERVAL_MS = 50;
|
|
26
|
+
export class SandboxCommandStream {
|
|
27
|
+
#baseUrl;
|
|
28
|
+
#token;
|
|
29
|
+
#sandboxId;
|
|
30
|
+
#mount;
|
|
31
|
+
#fetch;
|
|
32
|
+
#drainIntervalMs;
|
|
33
|
+
#capabilities;
|
|
34
|
+
constructor(options) {
|
|
35
|
+
this.#baseUrl = options.baseUrl.replace(/\/+$/, '');
|
|
36
|
+
this.#token = options.token;
|
|
37
|
+
this.#sandboxId = options.sandboxId;
|
|
38
|
+
this.#mount = options.mount;
|
|
39
|
+
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
40
|
+
this.#drainIntervalMs = options.drainIntervalMs ?? DEFAULT_DRAIN_INTERVAL_MS;
|
|
41
|
+
}
|
|
42
|
+
async start(request, listener) {
|
|
43
|
+
const cwd = toContainerPath(this.#mount, request.cwd);
|
|
44
|
+
if (cwd === undefined) {
|
|
45
|
+
return {
|
|
46
|
+
error: `The working directory ${request.cwd} is not inside the sandbox mount ${this.#mount.hostDirectory}.`,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
const refused = await this.#requireStream();
|
|
50
|
+
if (refused)
|
|
51
|
+
return { error: refused };
|
|
52
|
+
let started;
|
|
53
|
+
try {
|
|
54
|
+
const response = await this.#fetch(`${this.#baseUrl}/v1/use/sandbox/${encodeURIComponent(this.#sandboxId)}/exec-stream`, {
|
|
55
|
+
method: 'POST',
|
|
56
|
+
headers: {
|
|
57
|
+
authorization: `Bearer ${this.#token}`,
|
|
58
|
+
'content-type': 'application/json',
|
|
59
|
+
'idempotency-key': mintUseIdempotencyKey('exec-stream'),
|
|
60
|
+
},
|
|
61
|
+
body: JSON.stringify({
|
|
62
|
+
argv: [...request.argv],
|
|
63
|
+
cwd,
|
|
64
|
+
timeout_ms: request.timeoutMs,
|
|
65
|
+
...(request.tty === true && this.#capabilities?.supports_exec_tty === true
|
|
66
|
+
? { tty: true }
|
|
67
|
+
: {}),
|
|
68
|
+
}),
|
|
69
|
+
});
|
|
70
|
+
if (!response.ok) {
|
|
71
|
+
return { error: `The sandbox refused to start the stream (HTTP ${response.status}).` };
|
|
72
|
+
}
|
|
73
|
+
const body = (await response.json());
|
|
74
|
+
if (!body.data?.stream_id)
|
|
75
|
+
throw new Error('the response carried no stream id');
|
|
76
|
+
started = { stream_id: body.data.stream_id };
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
return {
|
|
80
|
+
error: `The sandbox could not be reached: ${error instanceof Error ? error.message : String(error)}`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
const session = this.#openSession(started.stream_id, listener, request.tty === true && this.#capabilities?.supports_exec_tty === true);
|
|
84
|
+
return { session };
|
|
85
|
+
}
|
|
86
|
+
async #requireStream() {
|
|
87
|
+
try {
|
|
88
|
+
this.#capabilities ??= await fetchSandboxCapabilities({
|
|
89
|
+
baseUrl: this.#baseUrl,
|
|
90
|
+
token: this.#token,
|
|
91
|
+
fetch: this.#fetch,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
return `The sandbox could not be reached: ${error instanceof Error ? error.message : String(error)}`;
|
|
96
|
+
}
|
|
97
|
+
if (this.#capabilities.supports_exec_stream !== true) {
|
|
98
|
+
return 'sandbox exec streaming is not supported by this runtime (supports_exec_stream is false)';
|
|
99
|
+
}
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
#openSession(streamId, listener, tty) {
|
|
103
|
+
let stopped = false;
|
|
104
|
+
let exited = false;
|
|
105
|
+
const finish = (exit) => {
|
|
106
|
+
if (exited)
|
|
107
|
+
return;
|
|
108
|
+
exited = true;
|
|
109
|
+
stopped = true;
|
|
110
|
+
listener.onExit(exit);
|
|
111
|
+
};
|
|
112
|
+
const path = (suffix) => `${this.#baseUrl}/v1/use/sandbox/${encodeURIComponent(this.#sandboxId)}/exec-stream/${encodeURIComponent(streamId)}${suffix}`;
|
|
113
|
+
const post = async (suffix, body) => {
|
|
114
|
+
const response = await this.#fetch(path(suffix), {
|
|
115
|
+
method: 'POST',
|
|
116
|
+
headers: {
|
|
117
|
+
authorization: `Bearer ${this.#token}`,
|
|
118
|
+
'idempotency-key': mintUseIdempotencyKey('exec-stream-io'),
|
|
119
|
+
...(body === undefined ? {} : { 'content-type': 'application/json' }),
|
|
120
|
+
},
|
|
121
|
+
...(body === undefined ? {} : { body: JSON.stringify(body) }),
|
|
122
|
+
});
|
|
123
|
+
if (!response.ok) {
|
|
124
|
+
throw new Error(`The sandbox stream request failed (HTTP ${response.status}).`);
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
const drain = async () => {
|
|
128
|
+
while (!stopped) {
|
|
129
|
+
let page;
|
|
130
|
+
try {
|
|
131
|
+
const response = await this.#fetch(path(''), {
|
|
132
|
+
method: 'GET',
|
|
133
|
+
headers: { authorization: `Bearer ${this.#token}` },
|
|
134
|
+
});
|
|
135
|
+
if (!response.ok) {
|
|
136
|
+
finish({ exitCode: null, timedOut: false });
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const body = (await response.json());
|
|
140
|
+
if (!body.data)
|
|
141
|
+
throw new Error('the drain carried no page');
|
|
142
|
+
page = body.data;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
finish({ exitCode: null, timedOut: false });
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
for (const event of page.events) {
|
|
149
|
+
if (event.kind === 'exited') {
|
|
150
|
+
finish({ exitCode: event.exit_code, timedOut: event.timed_out });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const bytes = decodeBase64(event.data_base64);
|
|
154
|
+
if (bytes)
|
|
155
|
+
listener.onChunk({ stream: event.kind, bytes });
|
|
156
|
+
}
|
|
157
|
+
// 🔴 An empty page is NOT the end. A compiler between two files says
|
|
158
|
+
// nothing, and stopping here would report a truncated run as complete.
|
|
159
|
+
// Only `finished` (or the exited event) retires the id.
|
|
160
|
+
if (page.finished) {
|
|
161
|
+
finish({ exitCode: null, timedOut: false });
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
await wait(this.#drainIntervalMs);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
void drain();
|
|
168
|
+
return {
|
|
169
|
+
tty,
|
|
170
|
+
write: async (bytes) => {
|
|
171
|
+
if (stopped)
|
|
172
|
+
return;
|
|
173
|
+
await post('/stdin', { data_base64: encodeBase64(bytes) });
|
|
174
|
+
},
|
|
175
|
+
closeStdin: async () => {
|
|
176
|
+
if (stopped)
|
|
177
|
+
return;
|
|
178
|
+
await post('/close-stdin');
|
|
179
|
+
},
|
|
180
|
+
resize: async (cols, rows) => {
|
|
181
|
+
if (!tty) {
|
|
182
|
+
return {
|
|
183
|
+
ok: false,
|
|
184
|
+
error: 'this runtime has no sandbox TTY (supports_exec_tty is false)',
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
if (stopped) {
|
|
188
|
+
return { ok: false, error: 'the sandbox stream has already exited' };
|
|
189
|
+
}
|
|
190
|
+
try {
|
|
191
|
+
await post('/resize', { cols, rows });
|
|
192
|
+
return { ok: true };
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
return {
|
|
196
|
+
ok: false,
|
|
197
|
+
error: error instanceof Error ? error.message : String(error),
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
kill: async () => {
|
|
202
|
+
if (stopped)
|
|
203
|
+
return;
|
|
204
|
+
stopped = true;
|
|
205
|
+
try {
|
|
206
|
+
await post('/kill');
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
/* already gone */
|
|
210
|
+
}
|
|
211
|
+
finish({ exitCode: null, timedOut: false });
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
function encodeBase64(bytes) {
|
|
217
|
+
return Buffer.from(bytes).toString('base64');
|
|
218
|
+
}
|
|
219
|
+
function decodeBase64(encoded) {
|
|
220
|
+
try {
|
|
221
|
+
return new Uint8Array(Buffer.from(encoded, 'base64'));
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
function wait(ms) {
|
|
228
|
+
return new Promise((resolve) => {
|
|
229
|
+
setTimeout(resolve, ms);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=SandboxCommandStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SandboxCommandStream.js","sourceRoot":"","sources":["../../src/isolation/SandboxCommandStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* argv for a shell command, given WHERE it will run — ADE §5.3.
|
|
3
|
+
*
|
|
4
|
+
* A Linux container does not have `powershell.exe`. Sending the host's shell
|
|
5
|
+
* into a sandbox is how every agent command would fail the moment isolation
|
|
6
|
+
* turns on — which is worse than unconfined, because the run would report
|
|
7
|
+
* `sandboxed` while every command died at argv[0].
|
|
8
|
+
*
|
|
9
|
+
* Confined → POSIX `/bin/sh -c`, which exists in the images `xeno-use` actually
|
|
10
|
+
* starts. Unconfined → the host's own shell, so today's Windows and Unix
|
|
11
|
+
* behaviour is unchanged until a sandbox is bound.
|
|
12
|
+
*/
|
|
13
|
+
export type CommandShellDestination = 'host' | 'sandbox';
|
|
14
|
+
export declare function commandShellArgv(command: string, destination: CommandShellDestination): readonly [string, ...string[]];
|
|
15
|
+
//# sourceMappingURL=shellArgv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shellArgv.d.ts","sourceRoot":"","sources":["../../src/isolation/shellArgv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,CAAA;AAExD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,uBAAuB,GACnC,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAiBhC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* argv for a shell command, given WHERE it will run — ADE §5.3.
|
|
3
|
+
*
|
|
4
|
+
* A Linux container does not have `powershell.exe`. Sending the host's shell
|
|
5
|
+
* into a sandbox is how every agent command would fail the moment isolation
|
|
6
|
+
* turns on — which is worse than unconfined, because the run would report
|
|
7
|
+
* `sandboxed` while every command died at argv[0].
|
|
8
|
+
*
|
|
9
|
+
* Confined → POSIX `/bin/sh -c`, which exists in the images `xeno-use` actually
|
|
10
|
+
* starts. Unconfined → the host's own shell, so today's Windows and Unix
|
|
11
|
+
* behaviour is unchanged until a sandbox is bound.
|
|
12
|
+
*/
|
|
13
|
+
export function commandShellArgv(command, destination) {
|
|
14
|
+
if (destination === 'sandbox') {
|
|
15
|
+
return ['/bin/sh', '-c', command];
|
|
16
|
+
}
|
|
17
|
+
if (process.platform === 'win32') {
|
|
18
|
+
return [
|
|
19
|
+
'powershell.exe',
|
|
20
|
+
'-NoLogo',
|
|
21
|
+
'-NoProfile',
|
|
22
|
+
'-NonInteractive',
|
|
23
|
+
'-ExecutionPolicy',
|
|
24
|
+
'Bypass',
|
|
25
|
+
'-Command',
|
|
26
|
+
command,
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
return ['/bin/bash', '-lc', command];
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=shellArgv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shellArgv.js","sourceRoot":"","sources":["../../src/isolation/shellArgv.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,WAAoC;IAEpC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;YACL,gBAAgB;YAChB,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,kBAAkB;YAClB,QAAQ;YACR,UAAU;YACV,OAAO;SACR,CAAA;IACH,CAAC;IACD,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable request identity for mutating `/v1/use/*` calls.
|
|
3
|
+
*
|
|
4
|
+
* The gateway refuses a write without `Idempotency-Key` (400
|
|
5
|
+
* `idempotency_key_required`). A fake `fetch` in a unit test never checks the
|
|
6
|
+
* header, so this is invisible until a live sidecar is up — which is exactly
|
|
7
|
+
* how "built, tested, unreachable" becomes "built, tested, 400".
|
|
8
|
+
*
|
|
9
|
+
* One key per intended mutation. Reusing a key with a different body is a 409
|
|
10
|
+
* conflict; minting a new key on an internal retry would run the command twice.
|
|
11
|
+
*/
|
|
12
|
+
export declare function mintUseIdempotencyKey(purpose: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Same key for the same `(purpose, identity)` so a timed-out create retries as
|
|
15
|
+
* a replay, not a second container. Used by the observer lifecycle, not by
|
|
16
|
+
* exec — each command is its own mutation.
|
|
17
|
+
*/
|
|
18
|
+
export declare function stableUseIdempotencyKey(purpose: string, identity: string): string;
|
|
19
|
+
//# sourceMappingURL=useIdempotency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIdempotency.d.ts","sourceRoot":"","sources":["../../src/isolation/useIdempotency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIjF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable request identity for mutating `/v1/use/*` calls.
|
|
3
|
+
*
|
|
4
|
+
* The gateway refuses a write without `Idempotency-Key` (400
|
|
5
|
+
* `idempotency_key_required`). A fake `fetch` in a unit test never checks the
|
|
6
|
+
* header, so this is invisible until a live sidecar is up — which is exactly
|
|
7
|
+
* how "built, tested, unreachable" becomes "built, tested, 400".
|
|
8
|
+
*
|
|
9
|
+
* One key per intended mutation. Reusing a key with a different body is a 409
|
|
10
|
+
* conflict; minting a new key on an internal retry would run the command twice.
|
|
11
|
+
*/
|
|
12
|
+
const MAX_KEY_LENGTH = 128;
|
|
13
|
+
export function mintUseIdempotencyKey(purpose) {
|
|
14
|
+
return capUseIdempotencyKey(`xeno-agent-${purpose}-${crypto.randomUUID()}`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Same key for the same `(purpose, identity)` so a timed-out create retries as
|
|
18
|
+
* a replay, not a second container. Used by the observer lifecycle, not by
|
|
19
|
+
* exec — each command is its own mutation.
|
|
20
|
+
*/
|
|
21
|
+
export function stableUseIdempotencyKey(purpose, identity) {
|
|
22
|
+
const raw = `xeno-agent-${purpose}-${identity}`;
|
|
23
|
+
if (raw.length <= MAX_KEY_LENGTH)
|
|
24
|
+
return raw;
|
|
25
|
+
return capUseIdempotencyKey(`xeno-agent-${purpose}-${shorten(identity)}`);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Folds an over-long identity to 16 hex characters, stably.
|
|
29
|
+
*
|
|
30
|
+
* Deliberately NOT `node:crypto`. `SandboxCommandExecutor` is fetch-only and
|
|
31
|
+
* lives in the BROWSER entry on purpose (see `node.ts`), so importing
|
|
32
|
+
* `createHash` here broke the embed bundle: rollup externalises `node:crypto`
|
|
33
|
+
* and `createHash` is then "not exported by __vite-browser-external". Web
|
|
34
|
+
* Crypto's `subtle.digest` is async and this function cannot be, so the
|
|
35
|
+
* remaining honest option is an in-line digest.
|
|
36
|
+
*
|
|
37
|
+
* FNV-1a/64, and non-cryptographic is the right call rather than a compromise:
|
|
38
|
+
* the input is OUR OWN run/sandbox id, never attacker-chosen, and the property
|
|
39
|
+
* required is that the same identity yields the same key so a timed-out create
|
|
40
|
+
* retries as a replay. Preimage resistance buys nothing here — a caller who
|
|
41
|
+
* can choose the identity can already choose the key.
|
|
42
|
+
*/
|
|
43
|
+
function shorten(identity) {
|
|
44
|
+
let hash = 0xcbf29ce484222325n;
|
|
45
|
+
for (let at = 0; at < identity.length; at += 1) {
|
|
46
|
+
hash ^= BigInt(identity.charCodeAt(at));
|
|
47
|
+
hash = (hash * 0x1000000001b3n) & 0xffffffffffffffffn;
|
|
48
|
+
}
|
|
49
|
+
return hash.toString(16).padStart(16, '0');
|
|
50
|
+
}
|
|
51
|
+
function capUseIdempotencyKey(key) {
|
|
52
|
+
if (key.length > MAX_KEY_LENGTH) {
|
|
53
|
+
throw new Error(`Idempotency-Key exceeds the gateway's ${MAX_KEY_LENGTH}-character cap`);
|
|
54
|
+
}
|
|
55
|
+
return key;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useIdempotency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIdempotency.js","sourceRoot":"","sources":["../../src/isolation/useIdempotency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,oBAAoB,CAAC,cAAc,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,QAAgB;IACvE,MAAM,GAAG,GAAG,cAAc,OAAO,IAAI,QAAQ,EAAE,CAAA;IAC/C,IAAI,GAAG,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,GAAG,CAAA;IAC5C,OAAO,oBAAoB,CAAC,cAAc,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,OAAO,CAAC,QAAgB;IAC/B,IAAI,IAAI,GAAG,mBAAsB,CAAA;IACjC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;QACvC,IAAI,GAAG,CAAC,IAAI,GAAG,eAAiB,CAAC,GAAG,mBAAsB,CAAA;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;AAC5C,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,cAAc,gBAAgB,CAAC,CAAA;IAC1F,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
|
@@ -6,6 +6,24 @@ export declare class LocalAgentHostRpcServer {
|
|
|
6
6
|
private readonly handshakeTimeoutMs;
|
|
7
7
|
/** Sockets accepted but not yet authenticated, oldest first (insertion order). */
|
|
8
8
|
private readonly pending;
|
|
9
|
+
/**
|
|
10
|
+
* Pending sockets that have sent AT LEAST ONE BYTE.
|
|
11
|
+
*
|
|
12
|
+
* 🔴 A SQUATTER IS DEFINED BY SILENCE, NOT BY AGE. The eviction policy below claims a
|
|
13
|
+
* legitimate client “can always get in, because a real client authenticates within milliseconds
|
|
14
|
+
* while a squatter is by definition the one that has been waiting longest”. Under a BURST that
|
|
15
|
+
* inverts: a client that connected and sent its handshake becomes the oldest pending socket as
|
|
16
|
+
* soon as a capful of connections arrives behind it, and is destroyed mid-handshake.
|
|
17
|
+
*
|
|
18
|
+
* Reproduced 2026-08-22, not theorised — `localRpcParity`'s flood test failed 3 of 6 runs under
|
|
19
|
+
* six-way contention with `write EPIPE`, which is the survivor's own request being written to a
|
|
20
|
+
* socket the host had just evicted.
|
|
21
|
+
*
|
|
22
|
+
* ⚠️ NOT A NEW POLICY. It is the existing policy's own stated guarantee, restored: prefer to
|
|
23
|
+
* evict a socket that has said nothing, and fall back to age only when every waiting socket is
|
|
24
|
+
* mid-handshake — in which case age is the fair tie-break again.
|
|
25
|
+
*/
|
|
26
|
+
private readonly spoke;
|
|
9
27
|
private readonly protocolVersion;
|
|
10
28
|
private readonly maxFrameBytes;
|
|
11
29
|
private readonly removeStaleEndpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localRpcTransport.d.ts","sourceRoot":"","sources":["../src/localRpcTransport.ts"],"names":[],"mappings":"AAkBA,OAAO,EAUL,KAAK,8BAA8B,EAIpC,MAAM,0CAA0C,CAAA;AAmDjD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;
|
|
1
|
+
{"version":3,"file":"localRpcTransport.d.ts","sourceRoot":"","sources":["../src/localRpcTransport.ts"],"names":[],"mappings":"AAkBA,OAAO,EAUL,KAAK,8BAA8B,EAIpC,MAAM,0CAA0C,CAAA;AAmDjD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,EAAE,8BAA8B;IAYnD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,OAAO,CAAC,MAAM;CAoIf;AAiLD,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,0CAA0C,CAAA"}
|
|
@@ -56,6 +56,24 @@ export class LocalAgentHostRpcServer {
|
|
|
56
56
|
handshakeTimeoutMs;
|
|
57
57
|
/** Sockets accepted but not yet authenticated, oldest first (insertion order). */
|
|
58
58
|
pending = new Set();
|
|
59
|
+
/**
|
|
60
|
+
* Pending sockets that have sent AT LEAST ONE BYTE.
|
|
61
|
+
*
|
|
62
|
+
* 🔴 A SQUATTER IS DEFINED BY SILENCE, NOT BY AGE. The eviction policy below claims a
|
|
63
|
+
* legitimate client “can always get in, because a real client authenticates within milliseconds
|
|
64
|
+
* while a squatter is by definition the one that has been waiting longest”. Under a BURST that
|
|
65
|
+
* inverts: a client that connected and sent its handshake becomes the oldest pending socket as
|
|
66
|
+
* soon as a capful of connections arrives behind it, and is destroyed mid-handshake.
|
|
67
|
+
*
|
|
68
|
+
* Reproduced 2026-08-22, not theorised — `localRpcParity`'s flood test failed 3 of 6 runs under
|
|
69
|
+
* six-way contention with `write EPIPE`, which is the survivor's own request being written to a
|
|
70
|
+
* socket the host had just evicted.
|
|
71
|
+
*
|
|
72
|
+
* ⚠️ NOT A NEW POLICY. It is the existing policy's own stated guarantee, restored: prefer to
|
|
73
|
+
* evict a socket that has said nothing, and fall back to age only when every waiting socket is
|
|
74
|
+
* mid-handshake — in which case age is the fair tie-break again.
|
|
75
|
+
*/
|
|
76
|
+
spoke = new WeakSet();
|
|
59
77
|
protocolVersion;
|
|
60
78
|
maxFrameBytes;
|
|
61
79
|
removeStaleEndpoint;
|
|
@@ -138,10 +156,19 @@ export class LocalAgentHostRpcServer {
|
|
|
138
156
|
// Evict the OLDEST pending socket before admitting this one, so squatting cannot fill the
|
|
139
157
|
// waiting room. A Set preserves insertion order, so the first entry is the longest-waiting.
|
|
140
158
|
if (this.pending.size >= MAX_UNAUTHENTICATED_SOCKETS) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
159
|
+
// Oldest SILENT socket first; one that has spoken is mid-handshake, not squatting.
|
|
160
|
+
let victim;
|
|
161
|
+
for (const candidate of this.pending) {
|
|
162
|
+
if (!this.spoke.has(candidate)) {
|
|
163
|
+
victim = candidate;
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
// All of them have spoken: they are all mid-handshake, so age is the fair tie-break.
|
|
168
|
+
victim = victim ?? this.pending.values().next().value;
|
|
169
|
+
if (victim) {
|
|
170
|
+
this.pending.delete(victim);
|
|
171
|
+
victim.destroy();
|
|
145
172
|
}
|
|
146
173
|
}
|
|
147
174
|
this.pending.add(socket);
|
|
@@ -176,6 +203,10 @@ export class LocalAgentHostRpcServer {
|
|
|
176
203
|
socket.on('close', stop);
|
|
177
204
|
socket.on('error', () => stop());
|
|
178
205
|
socket.on('data', (chunk) => {
|
|
206
|
+
// One byte is enough to stop being a squatter. Deliberately not “a valid frame”: deciding
|
|
207
|
+
// that requires parsing, and a connection that has begun speaking has already distinguished
|
|
208
|
+
// itself from one that will never say anything.
|
|
209
|
+
this.spoke.add(socket);
|
|
179
210
|
try {
|
|
180
211
|
decoder.push(chunk);
|
|
181
212
|
}
|
|
@@ -364,6 +395,9 @@ async function dispatchHostRequest(transport, method, input) {
|
|
|
364
395
|
if (method === 'turn.steer') {
|
|
365
396
|
return transport.request(method, input);
|
|
366
397
|
}
|
|
398
|
+
if (method === 'context.inject') {
|
|
399
|
+
return transport.request(method, input);
|
|
400
|
+
}
|
|
367
401
|
if (method === 'turn.queue') {
|
|
368
402
|
return transport.request(method, input);
|
|
369
403
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localRpcTransport.js","sourceRoot":"","sources":["../src/localRpcTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAGb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,iBAAiB,GAOlB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,EACL,eAAe,EACf,OAAO,EACP,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,UAAU,GAKX,MAAM,0CAA0C,CAAA;AAEjD;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,oCAAoC,GAAG,MAAM,CAAA;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAErC,MAAM,OAAO,uBAAuB;IACjB,SAAS,CAAoB;IAC7B,QAAQ,CAAQ;IAChB,cAAc,CAAQ;IACtB,kBAAkB,CAAQ;IAC3C,kFAAkF;IACjE,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IAC3B,eAAe,CAAQ;IACvB,aAAa,CAAQ;IACrB,mBAAmB,CAAS;IAC5B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACpC,MAAM,GAAkB,IAAI,CAAA;IAEpC,YAAY,OAAuC;QACjD,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC/D,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,gCAAgC,CAAA;QACnG,IAAI,CAAC,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAChE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAA;QAC/D,IAAI,CAAC,kBAAkB;YACrB,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,oCAAoC,CAAA;IACvF,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC7F,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACrE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;wBAAE,MAAM,KAAK,CAAA;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;YACpD,MAAM,OAAO,GAAG,CAAC,KAAY,EAAQ,EAAE;gBACrC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;gBACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;gBAClB,WAAW,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC,CAAA;YACD,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC5B,YAAY,EAAE,CAAA;YAChB,CAAC,CAAA;YACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;YACrC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;YAAE,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QACpB,MAAM,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;YACpD,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QACF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC;oBAAE,MAAM,KAAK,CAAA;YAChD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,MAAc;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvB,IAAI,aAAa,GAAG,KAAK,CAAA;QACzB,IAAI,WAA6C,CAAA;QAEjD,0FAA0F;QAC1F,4FAA4F;QAC5F,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,2BAA2B,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACjD,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC3B,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,4FAA4F;YAC5F,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3B,MAAM,CAAC,OAAO,EAAE,CAAA;QAClB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;QAC3B,yFAAyF;QACzF,+DAA+D;QAC/D,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAA;QAC3B,2FAA2F;QAC3F,IAAI,gBAAoC,CAAA;QACxC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,KAAK,WAAW,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,YAAY,CAAC,iBAAiB,CAAC,CAAA;YAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3B,WAAW,EAAE,EAAE,CAAA;YACf,WAAW,GAAG,SAAS,CAAA;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3B,uFAAuF;YACvF,yFAAyF;YACzF,sFAAsF;YACtF,oEAAoE;YACpE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,CAAA;gBAChD,gBAAgB,GAAG,SAAS,CAAA;YAC9B,CAAC;QACH,CAAC,CAAA;QACD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACxB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBACxE,MAAM,CAAC,OAAO,EAAE,CAAA;YAClB,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;YACzD,IAAI,OAAwB,CAAA;YAC5B,IAAI,CAAC;gBACH,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAA;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBACxE,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,OAAM;YACR,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrD,gBAAgB,CAAC,MAAM,EAAE;oBACvB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EAAE,6BAA6B,IAAI,CAAC,eAAe,gCAAgC,OAAO,CAAC,eAAe,GAAG;qBACrH;iBACF,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBACtB,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,OAAM;YACR,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzD,gBAAgB,CAAC,MAAM,EAAE;oBACvB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yCAAyC,EAAE;iBACrF,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBACtB,MAAM,CAAC,OAAO,EAAE,CAAA;gBAChB,OAAM;YACR,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,aAAa,GAAG,IAAI,CAAA;gBACpB,mFAAmF;gBACnF,+BAA+B;gBAC/B,YAAY,CAAC,iBAAiB,CAAC,CAAA;gBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC3B,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC/C,IAAI,CAAC,MAAM,CAAC,SAAS;wBAAE,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;gBAC/F,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;gBACvF,qFAAqF;gBACrF,yFAAyF;gBACzF,mFAAmF;gBACnF,+CAA+C;gBAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;oBACxC,MAAM,QAAQ,GAAI,OAAO,CAAC,KAA0C,CAAC,QAAQ,CAAA;oBAC7E,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;wBAAE,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAA;gBACjG,CAAC;gBACD,gBAAgB,CAAC,MAAM,EAAE;oBACvB,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,EAAE,EAAE,IAAI;oBACR,MAAM;iBACP,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YAClF,CAAC;QACH,CAAC,CAAA;IACH,CAAC;CACF;AACD,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,KAAc,CAAA;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,6CAA6C,CAAC,CAAA;IACrG,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;WACf,KAAK,CAAC,IAAI,KAAK,SAAS;WACxB,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;WAC5B,CAAC,KAAK,CAAC,EAAE;WACT,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ;WACzC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC;WACxC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;WAC/B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;WAChC,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;WAChC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EACtB,CAAC;QACD,MAAM,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,6DAA6D,CAAC,CAAA;IACrH,CAAC;IACD,OAAO,KAAmC,CAAA;AAC5C,CAAC;AACD,SAAS,eAAe,CAAC,EAAU,EAAE,KAAc;IACjD,MAAM,OAAO,GAAG,KAAK,YAAY,sBAAsB;QACrD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,sBAAsB,CAAC,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IAC1E,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,EAAE;QACF,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;KACxD,CAAA;AACH,CAAC;AACD,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAA4B,EAAE,aAAqB;IAC3F,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAA;AAC1C,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,SAA6B,EAC7B,MAAuB,EACvB,KAAc;IAEd,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAyC,CAAC,CAAA;IAC7E,CAAC;IACD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAyC,CAAC,CAAA;IAC7E,CAAC;IACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA4C,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAgD,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAgD,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAmD,CAAC,CAAA;IACvF,CAAC;IACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAmD,CAAC,CAAA;IACvF,CAAC;IACD,IAAI,MAAM,KAAK,4BAA4B,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAqD,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAiD,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAmD,CAAC,CAAA;IACvF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA+C,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAgD,CAAC,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,KAAK,0BAA0B,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAmD,CAAC,CAAA;IACvF,CAAC;IACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAkD,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAiD,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA+C,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA6C,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAqC,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAsC,CAAC,CAAA;IAC1E,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAqC,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAqC,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA0C,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA0C,CAAC,CAAA;IAC9E,CAAC;IACD,IAAI,MAAM,KAAK,qCAAqC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8D,CAAC,CAAA;IAClG,CAAC;IACD,IAAI,MAAM,KAAK,wCAAwC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAiE,CAAC,CAAA;IACrG,CAAC;IACD,IAAI,MAAM,KAAK,+BAA+B,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAwD,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,MAAM,KAAK,6BAA6B,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAsD,CAAC,CAAA;IAC1F,CAAC;IACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA4C,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,MAAM,KAAK,mBAAmB,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA4C,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA8C,CAAC,CAAA;IAClF,CAAC;IACD,IAAI,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA6C,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA+C,CAAC,CAAA;IACnF,CAAC;IACD,IAAI,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAkD,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAiD,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAA2C,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,KAAyC,CAAC,CAAA;AAC7E,CAAC;AAED,uFAAuF;AACvF,qDAAqD;AACrD,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,0CAA0C,CAAA"}
|
|
1
|
+
{"version":3,"file":"localRpcTransport.js","sourceRoot":"","sources":["../src/localRpcTransport.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
CHANGED
|
@@ -86,6 +86,8 @@ export * from './acp/AcpProviderCatalogService.js';
|
|
|
86
86
|
export * from './acp/AcpSessionService.js';
|
|
87
87
|
export * from './acp/AcpAgentTurnExecutionAdapter.js';
|
|
88
88
|
export * from './sdk/SdkNativeAgentTurnExecutionAdapter.js';
|
|
89
|
+
export * from './sdk/pendingInjections.js';
|
|
90
|
+
export * from './sdk/DurablePendingInjectionStore.js';
|
|
89
91
|
export * from './cloud/XenoCloudAgentTurnExecutionAdapter.js';
|
|
90
92
|
export type { AgentModelDescriptor } from '@xenosystem/agent-interface-contract';
|
|
91
93
|
export * from './support/SupportDiagnosticsService.js';
|
|
@@ -100,5 +102,22 @@ export * from './cli/CliControlPlaneService.js';
|
|
|
100
102
|
* real processes. (`SandboxCommandExecutor` is `fetch`-only and stays in the
|
|
101
103
|
* browser barrel.)
|
|
102
104
|
*/
|
|
105
|
+
export * from './isolation/CommandExecution.js';
|
|
106
|
+
export * from './isolation/CommandStream.js';
|
|
107
|
+
export * from './isolation/LocalCommandExecutor.js';
|
|
108
|
+
export * from './isolation/SandboxCommandStream.js';
|
|
109
|
+
export * from './isolation/SandboxCapabilities.js';
|
|
110
|
+
export * from './isolation/shellArgv.js';
|
|
103
111
|
export * from './isolation/RunExecutionEnvironment.js';
|
|
112
|
+
/**
|
|
113
|
+
* NODE-only for the same reason as the block above: it calls
|
|
114
|
+
* `lstat` on the workspace before binding a sandbox. It reached the browser
|
|
115
|
+
* barrel by inheritance, not by decision, and broke `embed-preview`'s build
|
|
116
|
+
* with `"createHash"/"lstat" is not exported by __vite-browser-external`.
|
|
117
|
+
*
|
|
118
|
+
* Its one consumer is `apps/desktop/src/main/composeHost.ts`, which already
|
|
119
|
+
* imports from THIS entry — so the move costs no consumer a line.
|
|
120
|
+
* `XenoUseObservationSource` stays in the browser barrel: it is fetch-only.
|
|
121
|
+
*/
|
|
122
|
+
export * from './observation/XenoUseRunObserver.js';
|
|
104
123
|
//# sourceMappingURL=node.d.ts.map
|