@bunny-agent/sandbox-sandock 0.9.61-release.7 → 0.9.61-release.9
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/__tests__/sandock-real-shell.test.d.ts +2 -0
- package/dist/__tests__/sandock-real-shell.test.d.ts.map +1 -0
- package/dist/__tests__/sandock-real-shell.test.js +403 -0
- package/dist/__tests__/sandock-real-shell.test.js.map +1 -0
- package/dist/sandock-sandbox.d.ts.map +1 -1
- package/dist/sandock-sandbox.js +37 -60
- package/dist/sandock-sandbox.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandock-real-shell.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/sandock-real-shell.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { describe, expect, it, vi } from "vitest";
|
|
3
|
+
/** Runs `cmd` for real via `/bin/sh -c`, replaying output through the same callback shape Sandock's SDK uses. */
|
|
4
|
+
function realShellExec(cmd, callbacks, options = {}) {
|
|
5
|
+
const start = Date.now();
|
|
6
|
+
return new Promise((resolve) => {
|
|
7
|
+
const child = spawn("/bin/sh", ["-c", cmd], {
|
|
8
|
+
cwd: options.workdir,
|
|
9
|
+
env: { ...process.env, ...options.env },
|
|
10
|
+
});
|
|
11
|
+
let stdout = "";
|
|
12
|
+
let stderr = "";
|
|
13
|
+
child.stdout.setEncoding("utf8");
|
|
14
|
+
child.stderr.setEncoding("utf8");
|
|
15
|
+
child.stdout.on("data", (text) => {
|
|
16
|
+
stdout += text;
|
|
17
|
+
callbacks.onStdout?.(text);
|
|
18
|
+
});
|
|
19
|
+
child.stderr.on("data", (text) => {
|
|
20
|
+
stderr += text;
|
|
21
|
+
callbacks.onStderr?.(text);
|
|
22
|
+
});
|
|
23
|
+
child.on("error", (err) => {
|
|
24
|
+
callbacks.onError?.(err);
|
|
25
|
+
resolve({
|
|
26
|
+
success: false,
|
|
27
|
+
data: {
|
|
28
|
+
exitCode: null,
|
|
29
|
+
stdout,
|
|
30
|
+
stderr,
|
|
31
|
+
timedOut: false,
|
|
32
|
+
durationMs: Date.now() - start,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
child.on("close", (code) => {
|
|
37
|
+
resolve({
|
|
38
|
+
success: code === 0,
|
|
39
|
+
data: {
|
|
40
|
+
exitCode: code,
|
|
41
|
+
stdout,
|
|
42
|
+
stderr,
|
|
43
|
+
timedOut: false,
|
|
44
|
+
durationMs: Date.now() - start,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Builds a SandockSandbox whose underlying client actually runs shell
|
|
52
|
+
* commands via real child_process, and returns `SandboxExecError` re-resolved
|
|
53
|
+
* through the same reset module graph as the dynamically imported adapter —
|
|
54
|
+
* `vi.resetModules()` would otherwise give a statically imported
|
|
55
|
+
* `SandboxExecError` a different class identity than the one the adapter
|
|
56
|
+
* module actually throws, breaking `instanceof` checks.
|
|
57
|
+
*/
|
|
58
|
+
async function createRealShellSandbox() {
|
|
59
|
+
vi.resetModules();
|
|
60
|
+
vi.doMock("sandock", () => ({
|
|
61
|
+
createSandockClient: vi.fn(() => ({
|
|
62
|
+
sandbox: {
|
|
63
|
+
create: vi
|
|
64
|
+
.fn()
|
|
65
|
+
.mockResolvedValue({ success: true, data: { id: "real-shell-1" } }),
|
|
66
|
+
start: vi.fn().mockResolvedValue({
|
|
67
|
+
success: true,
|
|
68
|
+
data: { id: "real-shell-1", started: true },
|
|
69
|
+
}),
|
|
70
|
+
get: vi.fn().mockResolvedValue({
|
|
71
|
+
success: true,
|
|
72
|
+
data: { id: "real-shell-1", status: "RUNNING" },
|
|
73
|
+
}),
|
|
74
|
+
shell: vi.fn((_sandboxId, params, callbacks) => realShellExec(params.cmd, callbacks, params)),
|
|
75
|
+
stop: vi.fn().mockResolvedValue({
|
|
76
|
+
success: true,
|
|
77
|
+
data: { id: "real-shell-1", stopped: true },
|
|
78
|
+
}),
|
|
79
|
+
delete: vi.fn().mockResolvedValue({
|
|
80
|
+
success: true,
|
|
81
|
+
data: { id: "real-shell-1", deleted: true },
|
|
82
|
+
}),
|
|
83
|
+
},
|
|
84
|
+
fs: {
|
|
85
|
+
write: vi.fn().mockResolvedValue({ success: true, data: true }),
|
|
86
|
+
},
|
|
87
|
+
volume: {
|
|
88
|
+
getByName: vi.fn().mockResolvedValue({
|
|
89
|
+
success: true,
|
|
90
|
+
data: { id: "volume-1", status: "ready" },
|
|
91
|
+
}),
|
|
92
|
+
},
|
|
93
|
+
})),
|
|
94
|
+
}));
|
|
95
|
+
const { SandockSandbox } = await import("../sandock-sandbox.js");
|
|
96
|
+
const { SandboxExecError } = await import("@bunny-agent/manager");
|
|
97
|
+
process.env.SANDOCK_API_KEY = "test-api-key";
|
|
98
|
+
// skipBootstrap avoids a real `npm install` attempt during attach() —
|
|
99
|
+
// these tests only exercise exec(), not sandbox initialization.
|
|
100
|
+
const sandbox = new SandockSandbox({ skipBootstrap: true, workdir: "/tmp" });
|
|
101
|
+
const handle = await sandbox.attach();
|
|
102
|
+
return { handle, SandboxExecError };
|
|
103
|
+
}
|
|
104
|
+
async function collectExec(handle, command, opts) {
|
|
105
|
+
const chunks = [];
|
|
106
|
+
try {
|
|
107
|
+
for await (const chunk of handle.exec(command, opts)) {
|
|
108
|
+
chunks.push(new TextDecoder().decode(chunk));
|
|
109
|
+
}
|
|
110
|
+
return { chunks, error: null };
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
return { chunks, error };
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
describe("SandockHandle.exec — real shell execution", () => {
|
|
117
|
+
it("redacts split call secrets and bounds real stderr without log/cause exposure", async () => {
|
|
118
|
+
const { handle } = await createRealShellSandbox();
|
|
119
|
+
const secret = "sandock-private-secret";
|
|
120
|
+
const log = vi.spyOn(console, "log").mockImplementation(() => { });
|
|
121
|
+
const errorLog = vi.spyOn(console, "error").mockImplementation(() => { });
|
|
122
|
+
try {
|
|
123
|
+
const result = await collectExec(handle, [
|
|
124
|
+
process.execPath,
|
|
125
|
+
"-e",
|
|
126
|
+
"process.stderr.write(process.env.SECRET.slice(0,8)); setTimeout(()=>{process.stderr.write(process.env.SECRET.slice(8)+'界'.repeat(9000));process.exitCode=9},20)",
|
|
127
|
+
], { env: { SECRET: secret } });
|
|
128
|
+
const failure = result.error;
|
|
129
|
+
expect(failure.stderr).toContain("[redacted]");
|
|
130
|
+
expect(Buffer.byteLength(failure.stderr)).toBeLessThanOrEqual(4096);
|
|
131
|
+
expect(failure.cause).toBeUndefined();
|
|
132
|
+
expect(result.chunks).toEqual([]);
|
|
133
|
+
expect([
|
|
134
|
+
failure.message,
|
|
135
|
+
failure.stderr,
|
|
136
|
+
...log.mock.calls.flat(),
|
|
137
|
+
...errorLog.mock.calls.flat(),
|
|
138
|
+
].join(" ")).not.toContain(secret);
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
log.mockRestore();
|
|
142
|
+
errorLog.mockRestore();
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
it("preserves legacy single-element shell syntax", async () => {
|
|
146
|
+
const { handle } = await createRealShellSandbox();
|
|
147
|
+
const result = await collectExec(handle, ["printf legacy; printf shell"]);
|
|
148
|
+
expect(result).toEqual({ chunks: expect.any(Array), error: null });
|
|
149
|
+
expect(result.chunks.join("")).toBe("legacyshell");
|
|
150
|
+
});
|
|
151
|
+
it("rejects invalid argv and env without launching", async () => {
|
|
152
|
+
const { handle } = await createRealShellSandbox();
|
|
153
|
+
for (const command of [[], [""]])
|
|
154
|
+
expect((await collectExec(handle, command)).error).toMatchObject({
|
|
155
|
+
code: "spawn_failed",
|
|
156
|
+
});
|
|
157
|
+
expect((await collectExec(handle, ["echo", "test"], {
|
|
158
|
+
env: { "BAD;KEY": "test" },
|
|
159
|
+
})).error).toMatchObject({ code: "spawn_failed" });
|
|
160
|
+
});
|
|
161
|
+
it("delivers stdout from a normal command", async () => {
|
|
162
|
+
const { handle } = await createRealShellSandbox();
|
|
163
|
+
const { chunks, error } = await collectExec(handle, [
|
|
164
|
+
"echo",
|
|
165
|
+
"hello world",
|
|
166
|
+
]);
|
|
167
|
+
expect(error).toBeNull();
|
|
168
|
+
expect(chunks.join("")).toContain("hello world");
|
|
169
|
+
});
|
|
170
|
+
it("passes argv containing spaces through unmodified", async () => {
|
|
171
|
+
const { handle } = await createRealShellSandbox();
|
|
172
|
+
const { chunks, error } = await collectExec(handle, [
|
|
173
|
+
"printf",
|
|
174
|
+
"%s|%s|%s",
|
|
175
|
+
"arg one",
|
|
176
|
+
"arg two with double space",
|
|
177
|
+
"arg-three",
|
|
178
|
+
]);
|
|
179
|
+
expect(error).toBeNull();
|
|
180
|
+
expect(chunks.join("")).toBe("arg one|arg two with double space|arg-three");
|
|
181
|
+
});
|
|
182
|
+
it("never executes command substitution embedded in a malicious env value", async () => {
|
|
183
|
+
const { handle } = await createRealShellSandbox();
|
|
184
|
+
const marker = `pwn-${process.pid}-${Date.now()}`;
|
|
185
|
+
const maliciousValue = `\`touch /tmp/${marker}.txt\`; $(echo pwned); $HOME`;
|
|
186
|
+
const { error } = await collectExec(handle, ["sh", "-c", "printf '%s' \"$MY_VAR\""], {
|
|
187
|
+
env: { MY_VAR: maliciousValue },
|
|
188
|
+
});
|
|
189
|
+
expect(error).toBeNull();
|
|
190
|
+
// The real injection check: the backticked `touch` must never have run.
|
|
191
|
+
const fileCheck = await collectExec(handle, [
|
|
192
|
+
"sh",
|
|
193
|
+
"-c",
|
|
194
|
+
`test -f /tmp/${marker}.txt && echo EXISTS || echo MISSING`,
|
|
195
|
+
]);
|
|
196
|
+
expect(fileCheck.chunks.join("")).toContain("MISSING");
|
|
197
|
+
});
|
|
198
|
+
it("exports a malicious env value and the command sees the literal value, not an executed one", async () => {
|
|
199
|
+
const { handle } = await createRealShellSandbox();
|
|
200
|
+
const value = "`id`; $(whoami); $HOME; !!";
|
|
201
|
+
const { chunks, error } = await collectExec(handle, ["sh", "-c", "printf '%s' \"$MY_VAR\""], {
|
|
202
|
+
env: { MY_VAR: value },
|
|
203
|
+
});
|
|
204
|
+
expect(error).toBeNull();
|
|
205
|
+
expect(chunks.join("")).toBe(value);
|
|
206
|
+
});
|
|
207
|
+
it("exports an env value containing newlines literally", async () => {
|
|
208
|
+
const { handle } = await createRealShellSandbox();
|
|
209
|
+
const value = "line1\nline2\nline3";
|
|
210
|
+
const { chunks, error } = await collectExec(handle, ["sh", "-c", "printf '%s' \"$MY_VAR\""], {
|
|
211
|
+
env: { MY_VAR: value },
|
|
212
|
+
});
|
|
213
|
+
expect(error).toBeNull();
|
|
214
|
+
expect(chunks.join("")).toBe(value);
|
|
215
|
+
});
|
|
216
|
+
it("exports an env value containing single quotes literally", async () => {
|
|
217
|
+
const { handle } = await createRealShellSandbox();
|
|
218
|
+
const value = "it's a 'quoted' value";
|
|
219
|
+
const { chunks, error } = await collectExec(handle, ["sh", "-c", "printf '%s' \"$MY_VAR\""], {
|
|
220
|
+
env: { MY_VAR: value },
|
|
221
|
+
});
|
|
222
|
+
expect(error).toBeNull();
|
|
223
|
+
expect(chunks.join("")).toBe(value);
|
|
224
|
+
});
|
|
225
|
+
it("never yields stderr content into the stdout protocol stream", async () => {
|
|
226
|
+
const { handle } = await createRealShellSandbox();
|
|
227
|
+
const { chunks, error } = await collectExec(handle, [
|
|
228
|
+
"sh",
|
|
229
|
+
"-c",
|
|
230
|
+
"echo ON_STDOUT; echo ON_STDERR 1>&2",
|
|
231
|
+
]);
|
|
232
|
+
expect(error).toBeNull();
|
|
233
|
+
const combined = chunks.join("");
|
|
234
|
+
expect(combined).toContain("ON_STDOUT");
|
|
235
|
+
expect(combined).not.toContain("ON_STDERR");
|
|
236
|
+
});
|
|
237
|
+
it("never yields stderr even when the command exits nonzero", async () => {
|
|
238
|
+
const { handle, SandboxExecError } = await createRealShellSandbox();
|
|
239
|
+
const { chunks, error } = await collectExec(handle, [
|
|
240
|
+
"sh",
|
|
241
|
+
"-c",
|
|
242
|
+
"echo ON_STDOUT; echo ON_STDERR 1>&2; exit 1",
|
|
243
|
+
]);
|
|
244
|
+
expect(error).toBeInstanceOf(SandboxExecError);
|
|
245
|
+
const combined = chunks.join("");
|
|
246
|
+
expect(combined).toContain("ON_STDOUT");
|
|
247
|
+
expect(combined).not.toContain("ON_STDERR");
|
|
248
|
+
});
|
|
249
|
+
it("throws SandboxExecError with the real exit code and captured stderr on nonzero exit", async () => {
|
|
250
|
+
const { handle, SandboxExecError } = await createRealShellSandbox();
|
|
251
|
+
const { error } = await collectExec(handle, [
|
|
252
|
+
"sh",
|
|
253
|
+
"-c",
|
|
254
|
+
"echo failure detail 1>&2; exit 42",
|
|
255
|
+
]);
|
|
256
|
+
expect(error).toBeInstanceOf(SandboxExecError);
|
|
257
|
+
const execError = error;
|
|
258
|
+
expect(execError.code).toBe("nonzero_exit");
|
|
259
|
+
expect(execError.exitCode).toBe(42);
|
|
260
|
+
expect(execError.stderr).toContain("failure detail");
|
|
261
|
+
expect(execError.retryable).toBe(false);
|
|
262
|
+
});
|
|
263
|
+
it("surfaces a missing executable as a nonzero exit (shell reports 127), not a silent success", async () => {
|
|
264
|
+
const { handle, SandboxExecError } = await createRealShellSandbox();
|
|
265
|
+
const { chunks, error } = await collectExec(handle, [
|
|
266
|
+
"this-binary-does-not-exist-anywhere",
|
|
267
|
+
]);
|
|
268
|
+
expect(chunks.join("")).toBe("");
|
|
269
|
+
expect(error).toBeInstanceOf(SandboxExecError);
|
|
270
|
+
const execError = error;
|
|
271
|
+
expect(execError.code).toBe("nonzero_exit");
|
|
272
|
+
expect(execError.exitCode).toBe(127);
|
|
273
|
+
});
|
|
274
|
+
it("surfaces a shell syntax error (unclosed quote) as a thrown error, not a clean stream end", async () => {
|
|
275
|
+
const { handle, SandboxExecError } = await createRealShellSandbox();
|
|
276
|
+
// Single-element command array is passed through as a raw shell string
|
|
277
|
+
// by the adapter (see baseCmd ternary) — this is the one path where a
|
|
278
|
+
// caller-supplied string, not quoted argv, reaches the shell directly.
|
|
279
|
+
const { error } = await collectExec(handle, ["echo 'unterminated"]);
|
|
280
|
+
expect(error).toBeInstanceOf(SandboxExecError);
|
|
281
|
+
const execError = error;
|
|
282
|
+
expect(execError.code).toBe("nonzero_exit");
|
|
283
|
+
expect(execError.exitCode).toBe(2);
|
|
284
|
+
});
|
|
285
|
+
it("delivers already-yielded stdout chunks before throwing on a later nonzero exit", async () => {
|
|
286
|
+
const { handle, SandboxExecError } = await createRealShellSandbox();
|
|
287
|
+
const { chunks, error } = await collectExec(handle, [
|
|
288
|
+
"sh",
|
|
289
|
+
"-c",
|
|
290
|
+
"echo partial-output-before-failure; exit 7",
|
|
291
|
+
]);
|
|
292
|
+
expect(chunks.join("")).toContain("partial-output-before-failure");
|
|
293
|
+
expect(error).toBeInstanceOf(SandboxExecError);
|
|
294
|
+
expect(error.exitCode).toBe(7);
|
|
295
|
+
});
|
|
296
|
+
it("finishes cleanly on exit 0 with no error", async () => {
|
|
297
|
+
const { handle } = await createRealShellSandbox();
|
|
298
|
+
const { chunks, error } = await collectExec(handle, [
|
|
299
|
+
"sh",
|
|
300
|
+
"-c",
|
|
301
|
+
"echo ok; exit 0",
|
|
302
|
+
]);
|
|
303
|
+
expect(error).toBeNull();
|
|
304
|
+
expect(chunks.join("")).toContain("ok");
|
|
305
|
+
});
|
|
306
|
+
it("respects cwd by actually changing directory before running the command", async () => {
|
|
307
|
+
const { handle } = await createRealShellSandbox();
|
|
308
|
+
const { chunks, error } = await collectExec(handle, ["pwd"], {
|
|
309
|
+
cwd: "/tmp",
|
|
310
|
+
});
|
|
311
|
+
expect(error).toBeNull();
|
|
312
|
+
expect(chunks.join("").trim()).toBe("/tmp");
|
|
313
|
+
});
|
|
314
|
+
it.each([
|
|
315
|
+
"stdout",
|
|
316
|
+
"stderr",
|
|
317
|
+
"onError",
|
|
318
|
+
"null",
|
|
319
|
+
"undefined",
|
|
320
|
+
"sync",
|
|
321
|
+
])("reports transport/status failure after %s", async (mode) => {
|
|
322
|
+
vi.resetModules();
|
|
323
|
+
vi.doMock("sandock", () => ({
|
|
324
|
+
createSandockClient: vi.fn(() => ({
|
|
325
|
+
sandbox: {
|
|
326
|
+
create: vi
|
|
327
|
+
.fn()
|
|
328
|
+
.mockResolvedValue({ success: true, data: { id: "flaky-1" } }),
|
|
329
|
+
start: vi.fn().mockResolvedValue({
|
|
330
|
+
success: true,
|
|
331
|
+
data: { id: "flaky-1", started: true },
|
|
332
|
+
}),
|
|
333
|
+
get: vi.fn().mockResolvedValue({
|
|
334
|
+
success: true,
|
|
335
|
+
data: { id: "flaky-1", status: "RUNNING" },
|
|
336
|
+
}),
|
|
337
|
+
shell: vi.fn((_sandboxId, params, callbacks) => {
|
|
338
|
+
// Let attach()'s own init commands (e.g. `mkdir -p`) succeed
|
|
339
|
+
// normally; only the test's actual exec() command simulates
|
|
340
|
+
// the drop, so we don't fail sandbox setup itself.
|
|
341
|
+
if (!params.cmd.includes("echo")) {
|
|
342
|
+
return Promise.resolve({
|
|
343
|
+
success: true,
|
|
344
|
+
data: {
|
|
345
|
+
exitCode: 0,
|
|
346
|
+
stdout: "",
|
|
347
|
+
stderr: "",
|
|
348
|
+
timedOut: false,
|
|
349
|
+
durationMs: 0,
|
|
350
|
+
},
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
if (mode === "stdout")
|
|
354
|
+
callbacks.onStdout?.("output before drop");
|
|
355
|
+
if (mode === "stderr")
|
|
356
|
+
callbacks.onStderr?.("diagnostic before drop");
|
|
357
|
+
if (mode === "onError") {
|
|
358
|
+
callbacks.onError?.(new Error("connection dropped mid-request"));
|
|
359
|
+
return Promise.resolve({
|
|
360
|
+
success: true,
|
|
361
|
+
data: { exitCode: 0, timedOut: false },
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
if (mode === "sync")
|
|
365
|
+
throw new Error("connection dropped mid-request");
|
|
366
|
+
if (mode === "null" || mode === "undefined")
|
|
367
|
+
return Promise.resolve({
|
|
368
|
+
success: false,
|
|
369
|
+
data: {
|
|
370
|
+
exitCode: mode === "null" ? null : undefined,
|
|
371
|
+
timedOut: false,
|
|
372
|
+
},
|
|
373
|
+
});
|
|
374
|
+
return Promise.reject(new Error("connection dropped mid-request"));
|
|
375
|
+
}),
|
|
376
|
+
stop: vi.fn().mockResolvedValue({
|
|
377
|
+
success: true,
|
|
378
|
+
data: { id: "flaky-1", stopped: true },
|
|
379
|
+
}),
|
|
380
|
+
delete: vi.fn().mockResolvedValue({
|
|
381
|
+
success: true,
|
|
382
|
+
data: { id: "flaky-1", deleted: true },
|
|
383
|
+
}),
|
|
384
|
+
},
|
|
385
|
+
fs: { write: vi.fn().mockResolvedValue({ success: true, data: true }) },
|
|
386
|
+
volume: {
|
|
387
|
+
getByName: vi.fn().mockResolvedValue({
|
|
388
|
+
success: true,
|
|
389
|
+
data: { id: "volume-1", status: "ready" },
|
|
390
|
+
}),
|
|
391
|
+
},
|
|
392
|
+
})),
|
|
393
|
+
}));
|
|
394
|
+
const { SandockSandbox } = await import("../sandock-sandbox.js");
|
|
395
|
+
process.env.SANDOCK_API_KEY = "test-api-key";
|
|
396
|
+
const sandbox = new SandockSandbox({ skipBootstrap: true });
|
|
397
|
+
const handle = await sandbox.attach();
|
|
398
|
+
const { chunks, error } = await collectExec(handle, ["echo", "hi"]);
|
|
399
|
+
expect(chunks.join("")).toBe(mode === "stdout" ? "output before drop" : "");
|
|
400
|
+
expect(error).toMatchObject({ name: "SandboxExecError", retryable: false });
|
|
401
|
+
});
|
|
402
|
+
});
|
|
403
|
+
//# sourceMappingURL=sandock-real-shell.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandock-real-shell.test.js","sourceRoot":"","sources":["../../src/__tests__/sandock-real-shell.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandock-sandbox.d.ts","sourceRoot":"","sources":["../src/sandock-sandbox.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,cAAc,EACd,aAAa,EAEd,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sandock-sandbox.d.ts","sourceRoot":"","sources":["../src/sandock-sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/sandock-sandbox.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as fs from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
+
import { ExecDiagnostics, posixShellQuote, SandboxExecError, validateExecInput, } from "@bunny-agent/manager";
|
|
3
4
|
import { createSandockClient } from "sandock";
|
|
4
5
|
import { withNetworkRetry } from "./retry.js";
|
|
5
6
|
/**
|
|
@@ -393,39 +394,25 @@ class SandockHandle {
|
|
|
393
394
|
IS_SANDBOX: "1",
|
|
394
395
|
};
|
|
395
396
|
// Debug: log environment variables being passed to sandbox
|
|
396
|
-
|
|
397
|
+
validateExecInput(command, envWithNodePath);
|
|
398
|
+
const diagnostics = new ExecDiagnostics(envWithNodePath);
|
|
397
399
|
return {
|
|
398
400
|
async *[Symbol.asyncIterator]() {
|
|
399
401
|
// Build command string with proper shell escaping (single-quote wrapping)
|
|
400
402
|
// Each argument is wrapped in single quotes with internal quotes escaped
|
|
401
403
|
const baseCmd = command.length === 1
|
|
402
404
|
? command[0]
|
|
403
|
-
: command
|
|
404
|
-
.map((arg) => "'" + arg.replace(/'/g, "'\\''") + "'")
|
|
405
|
-
.join(" ");
|
|
406
|
-
// Build full command with cwd and env support
|
|
407
|
-
const parts = [];
|
|
408
|
-
// Add working directory change (escape single quotes in path)
|
|
405
|
+
: command.map((arg) => posixShellQuote(arg)).join(" ");
|
|
409
406
|
const workdir = opts?.cwd ?? self.defaultWorkdir;
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
//
|
|
415
|
-
|
|
416
|
-
const envParts = Object.entries(envWithNodePath)
|
|
417
|
-
.filter(([key]) => validKeyPattern.test(key))
|
|
418
|
-
.map(([key, value]) => `export ${key}=${JSON.stringify(value)}`)
|
|
419
|
-
.join(" && ");
|
|
420
|
-
if (envParts) {
|
|
421
|
-
parts.push(envParts);
|
|
422
|
-
}
|
|
423
|
-
// Wrap the command to capture its PID and handle signals
|
|
424
|
-
// We write the PID to a file so we can kill it if needed
|
|
407
|
+
// Wrap the command to capture its PID and handle signals. We write
|
|
408
|
+
// the PID to a file so we can kill it if needed, and explicitly
|
|
409
|
+
// capture `wait`'s exit status into EXIT_CODE before the cleanup
|
|
410
|
+
// `rm` runs — without this, the wrapping shell's own exit code is
|
|
411
|
+
// that of the trailing `rm -f` (almost always 0), masking a
|
|
412
|
+
// nonzero exit from the actual command.
|
|
425
413
|
const pidFile = `/tmp/bunny-agent-${Date.now()}-${Math.random().toString(36).substring(7)}.pid`;
|
|
426
|
-
const wrappedCmd = `(${baseCmd}) & echo $! > ${pidFile}; wait $!; rm -f ${pidFile}`;
|
|
427
|
-
|
|
428
|
-
const cmd = parts.join(" && ");
|
|
414
|
+
const wrappedCmd = `(${baseCmd}) & echo $! > ${pidFile}; wait $!; EXIT_CODE=$?; rm -f ${pidFile}; exit $EXIT_CODE`;
|
|
415
|
+
const cmd = wrappedCmd;
|
|
429
416
|
// Queue for streaming chunks
|
|
430
417
|
const queue = [];
|
|
431
418
|
let done = false;
|
|
@@ -447,8 +434,8 @@ class SandockHandle {
|
|
|
447
434
|
console.log("[Sandock] Kill command result:", killResult.data.stdout);
|
|
448
435
|
console.log("[Sandock] Kill command stderr:", killResult.data.stderr);
|
|
449
436
|
}
|
|
450
|
-
catch
|
|
451
|
-
console.error("[Sandock] Failed to send termination signal
|
|
437
|
+
catch {
|
|
438
|
+
console.error("[Sandock] Failed to send termination signal");
|
|
452
439
|
}
|
|
453
440
|
done = true;
|
|
454
441
|
error = new Error("Operation aborted");
|
|
@@ -462,63 +449,53 @@ class SandockHandle {
|
|
|
462
449
|
else {
|
|
463
450
|
console.log("[Sandock] No signal provided");
|
|
464
451
|
}
|
|
465
|
-
//
|
|
466
|
-
|
|
452
|
+
// stderr is diagnostics only — never yielded to the caller, which
|
|
453
|
+
// treats this iterable's output as the stdout protocol stream (AI
|
|
454
|
+
// SDK NDJSON for coding runs). Capped so a runaway command can't
|
|
455
|
+
// balloon the eventual SandboxExecError's stderr payload.
|
|
467
456
|
// Start shell command with streaming callbacks
|
|
468
|
-
const shellPromise = self.client.sandbox.shell(self.sandboxId, {
|
|
457
|
+
const shellPromise = Promise.resolve().then(() => self.client.sandbox.shell(self.sandboxId, {
|
|
458
|
+
cmd,
|
|
459
|
+
timeoutMs: opts?.timeout ?? self.timeout,
|
|
460
|
+
env: envWithNodePath,
|
|
461
|
+
workdir,
|
|
462
|
+
}, {
|
|
469
463
|
onStdout: (chunk) => {
|
|
470
464
|
// Stop producing stdout chunks if signal is aborted
|
|
471
465
|
if (signal?.aborted)
|
|
472
466
|
return;
|
|
473
|
-
hasReceivedOutput = true;
|
|
474
467
|
queue.push(new TextEncoder().encode(chunk));
|
|
475
468
|
resolveWait?.();
|
|
476
469
|
},
|
|
477
470
|
onStderr: (chunk) => {
|
|
478
|
-
|
|
479
|
-
queue.push(new TextEncoder().encode(chunk));
|
|
471
|
+
diagnostics.append(chunk);
|
|
480
472
|
resolveWait?.();
|
|
481
473
|
},
|
|
482
474
|
onError: (err) => {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
// 1. We haven't received any output (process failed before communicating)
|
|
486
|
-
// 2. The stream isn't already done
|
|
487
|
-
// If we received output, the process communicated its error properly
|
|
488
|
-
// and we shouldn't override it with a generic "process exited" error
|
|
489
|
-
if (!hasReceivedOutput && !done) {
|
|
490
|
-
error = err instanceof Error ? err : new Error(String(err));
|
|
491
|
-
}
|
|
475
|
+
error ??= diagnostics.failure(err);
|
|
476
|
+
done = true;
|
|
492
477
|
resolveWait?.();
|
|
493
478
|
},
|
|
494
|
-
});
|
|
479
|
+
}));
|
|
495
480
|
// Handle completion
|
|
496
481
|
shellPromise
|
|
497
482
|
.then((result) => {
|
|
498
483
|
// Check for errors in the result
|
|
499
484
|
if (result.data.timedOut) {
|
|
500
|
-
error
|
|
485
|
+
error ??= new SandboxExecError(`Command timed out after ${result.data.durationMs}ms`, { code: "timeout", stderr: diagnostics.text() });
|
|
501
486
|
}
|
|
502
|
-
else if (result.data.exitCode !== 0
|
|
503
|
-
result.data.exitCode
|
|
504
|
-
|
|
487
|
+
else if (!result.success || result.data.exitCode !== 0) {
|
|
488
|
+
error ??= new SandboxExecError(`Command exited with code ${result.data.exitCode}`, {
|
|
489
|
+
code: "nonzero_exit",
|
|
490
|
+
exitCode: result.data.exitCode,
|
|
491
|
+
stderr: diagnostics.text(),
|
|
492
|
+
});
|
|
505
493
|
}
|
|
506
494
|
done = true;
|
|
507
495
|
resolveWait?.();
|
|
508
496
|
})
|
|
509
497
|
.catch((err) => {
|
|
510
|
-
|
|
511
|
-
// If we received output, the process communicated its error properly
|
|
512
|
-
if (!hasReceivedOutput) {
|
|
513
|
-
error = err instanceof Error ? err : new Error(String(err));
|
|
514
|
-
}
|
|
515
|
-
// Log AbortError appropriately
|
|
516
|
-
if (err instanceof Error && err.name === "AbortError") {
|
|
517
|
-
console.log("[Sandock] Command execution aborted by user");
|
|
518
|
-
}
|
|
519
|
-
else {
|
|
520
|
-
console.error("[Sandock] Shell promise rejected:", err);
|
|
521
|
-
}
|
|
498
|
+
error ??= diagnostics.failure(err);
|
|
522
499
|
done = true;
|
|
523
500
|
resolveWait?.();
|
|
524
501
|
})
|
|
@@ -531,7 +508,7 @@ class SandockHandle {
|
|
|
531
508
|
self.client.sandbox
|
|
532
509
|
.stop(self.sandboxId)
|
|
533
510
|
.then(() => self.client.sandbox.delete(self.sandboxId))
|
|
534
|
-
.catch((
|
|
511
|
+
.catch(() => console.error("[Sandock] Sandbox cleanup failed"));
|
|
535
512
|
}
|
|
536
513
|
});
|
|
537
514
|
// Yield chunks as they arrive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandock-sandbox.js","sourceRoot":"","sources":["../src/sandock-sandbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sandock-sandbox.js","sourceRoot":"","sources":["../src/sandock-sandbox.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bunny-agent/sandbox-sandock",
|
|
3
|
-
"version": "0.9.61-release.
|
|
3
|
+
"version": "0.9.61-release.9",
|
|
4
4
|
"description": "Sandock sandbox adapter for BunnyAgent",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"sandock": "^2.2.6",
|
|
29
|
-
"@bunny-agent/manager": "0.9.61-release.
|
|
29
|
+
"@bunny-agent/manager": "0.9.61-release.9"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/node": "^20.10.0",
|