@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.
Files changed (121) hide show
  1. package/dist/acp/AcpAgentRegistryService.d.ts +43 -1
  2. package/dist/acp/AcpAgentRegistryService.d.ts.map +1 -1
  3. package/dist/acp/AcpAgentRegistryService.js +200 -1
  4. package/dist/acp/AcpAgentRegistryService.js.map +1 -1
  5. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts +66 -0
  6. package/dist/acp/AcpAgentTurnExecutionAdapter.d.ts.map +1 -1
  7. package/dist/acp/AcpAgentTurnExecutionAdapter.js +182 -1
  8. package/dist/acp/AcpAgentTurnExecutionAdapter.js.map +1 -1
  9. package/dist/acp/AcpPermissionBridge.d.ts.map +1 -1
  10. package/dist/acp/AcpPermissionBridge.js +3 -3
  11. package/dist/acp/AcpPermissionBridge.js.map +1 -1
  12. package/dist/acp/AcpProcessSupervisor.d.ts +81 -0
  13. package/dist/acp/AcpProcessSupervisor.d.ts.map +1 -1
  14. package/dist/acp/AcpProcessSupervisor.js +176 -2
  15. package/dist/acp/AcpProcessSupervisor.js.map +1 -1
  16. package/dist/acp/AcpRuntimeEventMapper.d.ts.map +1 -1
  17. package/dist/acp/AcpRuntimeEventMapper.js +9 -0
  18. package/dist/acp/AcpRuntimeEventMapper.js.map +1 -1
  19. package/dist/acp/AcpSessionService.d.ts +36 -0
  20. package/dist/acp/AcpSessionService.d.ts.map +1 -1
  21. package/dist/acp/AcpSessionService.js +57 -1
  22. package/dist/acp/AcpSessionService.js.map +1 -1
  23. package/dist/acp/DurableAcpPermissionPolicyStore.d.ts.map +1 -1
  24. package/dist/acp/DurableAcpPermissionPolicyStore.js +5 -3
  25. package/dist/acp/DurableAcpPermissionPolicyStore.js.map +1 -1
  26. package/dist/acp/acpRedaction.d.ts.map +1 -1
  27. package/dist/acp/acpRedaction.js +2 -0
  28. package/dist/acp/acpRedaction.js.map +1 -1
  29. package/dist/acp/acpTypes.d.ts +111 -1
  30. package/dist/acp/acpTypes.d.ts.map +1 -1
  31. package/dist/acp/acpTypes.js +21 -1
  32. package/dist/acp/acpTypes.js.map +1 -1
  33. package/dist/index.d.ts +108 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +236 -11
  36. package/dist/index.js.map +1 -1
  37. package/dist/isolation/CommandExecution.d.ts +7 -12
  38. package/dist/isolation/CommandExecution.d.ts.map +1 -1
  39. package/dist/isolation/CommandExecution.js +7 -12
  40. package/dist/isolation/CommandExecution.js.map +1 -1
  41. package/dist/isolation/CommandStream.d.ts +100 -0
  42. package/dist/isolation/CommandStream.d.ts.map +1 -0
  43. package/dist/isolation/CommandStream.js +47 -0
  44. package/dist/isolation/CommandStream.js.map +1 -0
  45. package/dist/isolation/RunExecutionEnvironment.d.ts +15 -0
  46. package/dist/isolation/RunExecutionEnvironment.d.ts.map +1 -1
  47. package/dist/isolation/RunExecutionEnvironment.js +45 -9
  48. package/dist/isolation/RunExecutionEnvironment.js.map +1 -1
  49. package/dist/isolation/RunIsolationService.d.ts +10 -5
  50. package/dist/isolation/RunIsolationService.d.ts.map +1 -1
  51. package/dist/isolation/RunIsolationService.js +7 -3
  52. package/dist/isolation/RunIsolationService.js.map +1 -1
  53. package/dist/isolation/SandboxCapabilities.d.ts +28 -0
  54. package/dist/isolation/SandboxCapabilities.d.ts.map +1 -0
  55. package/dist/isolation/SandboxCapabilities.js +33 -0
  56. package/dist/isolation/SandboxCapabilities.js.map +1 -0
  57. package/dist/isolation/SandboxCommandExecutor.d.ts +4 -7
  58. package/dist/isolation/SandboxCommandExecutor.d.ts.map +1 -1
  59. package/dist/isolation/SandboxCommandExecutor.js +6 -7
  60. package/dist/isolation/SandboxCommandExecutor.js.map +1 -1
  61. package/dist/isolation/SandboxCommandStream.d.ts +38 -0
  62. package/dist/isolation/SandboxCommandStream.d.ts.map +1 -0
  63. package/dist/isolation/SandboxCommandStream.js +232 -0
  64. package/dist/isolation/SandboxCommandStream.js.map +1 -0
  65. package/dist/isolation/shellArgv.d.ts +15 -0
  66. package/dist/isolation/shellArgv.d.ts.map +1 -0
  67. package/dist/isolation/shellArgv.js +31 -0
  68. package/dist/isolation/shellArgv.js.map +1 -0
  69. package/dist/isolation/useIdempotency.d.ts +19 -0
  70. package/dist/isolation/useIdempotency.d.ts.map +1 -0
  71. package/dist/isolation/useIdempotency.js +57 -0
  72. package/dist/isolation/useIdempotency.js.map +1 -0
  73. package/dist/localRpcTransport.d.ts +18 -0
  74. package/dist/localRpcTransport.d.ts.map +1 -1
  75. package/dist/localRpcTransport.js +38 -4
  76. package/dist/localRpcTransport.js.map +1 -1
  77. package/dist/node.d.ts +19 -0
  78. package/dist/node.d.ts.map +1 -1
  79. package/dist/node.js +19 -0
  80. package/dist/node.js.map +1 -1
  81. package/dist/observation/XenoUseRunObserver.d.ts +20 -0
  82. package/dist/observation/XenoUseRunObserver.d.ts.map +1 -1
  83. package/dist/observation/XenoUseRunObserver.js +27 -13
  84. package/dist/observation/XenoUseRunObserver.js.map +1 -1
  85. package/dist/runtime/RuntimeTimelineProjection.d.ts +2 -2
  86. package/dist/runtime/RuntimeTimelineProjection.d.ts.map +1 -1
  87. package/dist/runtime/RuntimeTimelineProjection.js +194 -1
  88. package/dist/runtime/RuntimeTimelineProjection.js.map +1 -1
  89. package/dist/sdk/DurablePendingInjectionStore.d.ts +24 -0
  90. package/dist/sdk/DurablePendingInjectionStore.d.ts.map +1 -0
  91. package/dist/sdk/DurablePendingInjectionStore.js +103 -0
  92. package/dist/sdk/DurablePendingInjectionStore.js.map +1 -0
  93. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts +81 -1
  94. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.d.ts.map +1 -1
  95. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js +122 -3
  96. package/dist/sdk/SdkNativeAgentTurnExecutionAdapter.js.map +1 -1
  97. package/dist/sdk/pendingInjections.d.ts +83 -0
  98. package/dist/sdk/pendingInjections.d.ts.map +1 -0
  99. package/dist/sdk/pendingInjections.js +79 -0
  100. package/dist/sdk/pendingInjections.js.map +1 -0
  101. package/dist/session/AgentSessionService.d.ts +34 -0
  102. package/dist/session/AgentSessionService.d.ts.map +1 -1
  103. package/dist/session/AgentSessionService.js +85 -1
  104. package/dist/session/AgentSessionService.js.map +1 -1
  105. package/dist/session/nativeTuiSessionPty.d.ts +40 -0
  106. package/dist/session/nativeTuiSessionPty.d.ts.map +1 -0
  107. package/dist/session/nativeTuiSessionPty.js +142 -0
  108. package/dist/session/nativeTuiSessionPty.js.map +1 -0
  109. package/dist/session/nodePtyLoader.d.ts +23 -0
  110. package/dist/session/nodePtyLoader.d.ts.map +1 -0
  111. package/dist/session/nodePtyLoader.js +41 -0
  112. package/dist/session/nodePtyLoader.js.map +1 -0
  113. package/dist/session/renderSupport.d.ts +34 -0
  114. package/dist/session/renderSupport.d.ts.map +1 -1
  115. package/dist/session/renderSupport.js +39 -1
  116. package/dist/session/renderSupport.js.map +1 -1
  117. package/dist/workspace/WorkspaceHostService.d.ts +27 -2
  118. package/dist/workspace/WorkspaceHostService.d.ts.map +1 -1
  119. package/dist/workspace/WorkspaceHostService.js +221 -25
  120. package/dist/workspace/WorkspaceHostService.js.map +1 -1
  121. 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;IAC5C,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;CA0Hf;AA8KD,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,0CAA0C,CAAA"}
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
- const oldest = this.pending.values().next().value;
142
- if (oldest) {
143
- this.pending.delete(oldest);
144
- oldest.destroy();
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":"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"}
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