@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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sandock-real-shell.test.d.ts.map
@@ -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":"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"}
1
+ {"version":3,"file":"sandock-sandbox.d.ts","sourceRoot":"","sources":["../src/sandock-sandbox.ts"],"names":[],"mappings":"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"}
@@ -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
- console.log("[Sandock] Executing command:", command.join(" "));
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
- if (workdir) {
411
- const escapedWorkdir = workdir.replace(/'/g, "'\\''");
412
- parts.push(`cd '${escapedWorkdir}'`);
413
- }
414
- // Add environment variables (validate keys and escape values)
415
- const validKeyPattern = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
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
- parts.push(wrappedCmd);
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 (err) {
451
- console.error("[Sandock] Failed to send termination signal:", err);
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
- // Track if we've received any output (indicates proper stream completion)
466
- let hasReceivedOutput = false;
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, { cmd, timeoutMs: self.timeout }, {
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
- hasReceivedOutput = true;
479
- queue.push(new TextEncoder().encode(chunk));
471
+ diagnostics.append(chunk);
480
472
  resolveWait?.();
481
473
  },
482
474
  onError: (err) => {
483
- console.log("[Sandock] SHELL ERROR:", err);
484
- // Only set error if:
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 = new Error(`Command timed out after ${result.data.durationMs}ms`);
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 !== null) {
504
- console.warn(`Command exited with code ${result.data.exitCode}`);
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
- // Only set error if we haven't received any output
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((e) => console.error("[Sandock] Failed to stop/delete sandbox after execution:", e));
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.7",
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.7"
29
+ "@bunny-agent/manager": "0.9.61-release.9"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/node": "^20.10.0",