@boxlite-ai/boxlite 0.2.11 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5D,QAAA,MAAM,YAAY,KAAoB,CAAC;AACvC,eAAO,MAAM,SAAS,KAAiB,CAAC;AACxC,eAAO,MAAM,WAAW,KAA6B,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5D,eAAO,MAAM,SAAS,KAAiB,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAGzC,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -18,20 +18,19 @@
18
18
  *
19
19
  * @packageDocumentation
20
20
  */
21
- import { getNativeModule, getJsBoxlite } from './native.js';
21
+ import { getNativeModule, getJsBoxlite } from "./native.js";
22
22
  // Re-export native bindings
23
- const nativeModule = getNativeModule();
24
23
  export const JsBoxlite = getJsBoxlite();
25
- export const CopyOptions = nativeModule.JsCopyOptions;
26
24
  // Export native module loader for advanced use cases
27
25
  export { getNativeModule, getJsBoxlite };
28
26
  // Re-export TypeScript wrappers
29
- export { SimpleBox } from './simplebox.js';
30
- export { BoxliteError, ExecError, TimeoutError, ParseError } from './errors.js';
31
- export * from './constants.js';
27
+ export { SimpleBox, } from "./simplebox.js";
28
+ export { BoxliteError, ExecError, TimeoutError, ParseError } from "./errors.js";
29
+ export * from "./constants.js";
32
30
  // Specialized boxes
33
- export { CodeBox } from './codebox.js';
34
- export { BrowserBox } from './browserbox.js';
35
- export { ComputerBox } from './computerbox.js';
36
- export { InteractiveBox } from './interactivebox.js';
31
+ export { CodeBox } from "./codebox.js";
32
+ export { BrowserBox, } from "./browserbox.js";
33
+ export { ComputerBox, } from "./computerbox.js";
34
+ export { InteractiveBox, } from "./interactivebox.js";
35
+ export { SkillBox } from "./skillbox.js";
37
36
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,4BAA4B;AAC5B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,aAAa,CAAC;AAGtD,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAEzC,gCAAgC;AAChC,OAAO,EAAE,SAAS,EAA+C,MAAM,gBAAgB,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,cAAc,gBAAgB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,UAAU,EAA4C,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,WAAW,EAA4C,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,cAAc,EAA8B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAGxC,qDAAqD;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;AAEzC,gCAAgC;AAChC,OAAO,EACL,SAAS,GAGV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,cAAc,gBAAgB,CAAC;AAE/B,oBAAoB;AACpB,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAC;AAC5D,OAAO,EACL,UAAU,GAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,GAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,GAEf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides automatic PTY-based interactive sessions, similar to `docker exec -it`.
5
5
  */
6
- import { SimpleBox, SimpleBoxOptions } from './simplebox.js';
6
+ import { SimpleBox, SimpleBoxOptions } from "./simplebox.js";
7
7
  type Execution = any;
8
8
  /**
9
9
  * Options for creating an InteractiveBox.
@@ -1 +1 @@
1
- {"version":3,"file":"interactivebox.d.ts","sourceRoot":"","sources":["../lib/interactivebox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG7D,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAE3C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACxB,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IACzC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAS;IAEnC;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,EAAE,qBAAqB;IAiB1C;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD5B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B3B;;;;;;;;;;;OAWG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;YACW,aAAa;IA4B3B;;OAEG;YACW,cAAc;IAoB5B;;OAEG;YACW,cAAc;IAoB5B;;OAEG;YACW,YAAY;CAW3B"}
1
+ {"version":3,"file":"interactivebox.d.ts","sourceRoot":"","sources":["../lib/interactivebox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG7D,KAAK,SAAS,GAAG,GAAG,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,SAAQ,SAAS;IAE3C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC;IACvB,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACxB,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACxB,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IACzC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAS;IAEnC;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,EAAE,qBAAqB;IAiB1C;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5B;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;;;;OAOG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;;;;;;;;;;OAWG;IACG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C;;OAEG;YACW,aAAa;IA4B3B;;OAEG;YACW,cAAc;IAoB5B;;OAEG;YACW,cAAc;IAoB5B;;OAEG;YACW,YAAY;CAW3B"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides automatic PTY-based interactive sessions, similar to `docker exec -it`.
5
5
  */
6
- import { SimpleBox } from './simplebox.js';
6
+ import { SimpleBox } from "./simplebox.js";
7
7
  /**
8
8
  * Interactive box with automatic PTY and terminal forwarding.
9
9
  *
@@ -57,7 +57,7 @@ export class InteractiveBox extends SimpleBox {
57
57
  */
58
58
  constructor(options) {
59
59
  // Extract InteractiveBox-specific options before passing to parent
60
- const { shell = '/bin/sh', tty, ...baseOptions } = options;
60
+ const { shell = "/bin/sh", tty, ...baseOptions } = options;
61
61
  // Call parent constructor (handles runtime, lazy box creation)
62
62
  super(baseOptions);
63
63
  this._ioTasks = [];
@@ -159,7 +159,7 @@ export class InteractiveBox extends SimpleBox {
159
159
  try {
160
160
  await Promise.race([
161
161
  Promise.all(this._ioTasks),
162
- new Promise((_, reject) => setTimeout(() => reject(new Error('Timeout')), 3000))
162
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Timeout")), 3000)),
163
163
  ]);
164
164
  }
165
165
  catch (err) {
@@ -192,7 +192,7 @@ export class InteractiveBox extends SimpleBox {
192
192
  if (!this._stdin)
193
193
  return;
194
194
  try {
195
- process.stdin.on('data', async (data) => {
195
+ process.stdin.on("data", async (data) => {
196
196
  if (!this._exited && this._stdin) {
197
197
  try {
198
198
  await this._stdin.write(data);
@@ -228,7 +228,7 @@ export class InteractiveBox extends SimpleBox {
228
228
  if (chunk === null)
229
229
  break;
230
230
  // Write to stdout
231
- if (typeof chunk === 'string') {
231
+ if (typeof chunk === "string") {
232
232
  process.stdout.write(chunk);
233
233
  }
234
234
  else {
@@ -252,7 +252,7 @@ export class InteractiveBox extends SimpleBox {
252
252
  if (chunk === null)
253
253
  break;
254
254
  // Write to stderr
255
- if (typeof chunk === 'string') {
255
+ if (typeof chunk === "string") {
256
256
  process.stderr.write(chunk);
257
257
  }
258
258
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"interactivebox.js","sourceRoot":"","sources":["../lib/interactivebox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactivebox.js","sourceRoot":"","sources":["../lib/interactivebox.ts"],"names":[],"mappings":"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"}
package/dist/native.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * detection automatically - tries local file first, then npm package.
9
9
  */
10
10
  // @ts-expect-error - Generated by napi build --js
11
- import * as native from '../native/boxlite.js';
11
+ import * as native from "../native/boxlite.js";
12
12
  /**
13
13
  * Get the native BoxLite module.
14
14
  *
@@ -7,7 +7,8 @@
7
7
  * 2. Command execution with output collection
8
8
  * 3. Try/finally cleanup patterns
9
9
  */
10
- import type { ExecResult } from './exec.js';
10
+ import type { CopyOptions } from "./copy.js";
11
+ import type { ExecResult } from "./exec.js";
11
12
  type Boxlite = any;
12
13
  type Box = any;
13
14
  type BoxOptions = any;
@@ -246,6 +247,37 @@ export declare class SimpleBox {
246
247
  */
247
248
  exec(cmd: string, ...args: string[]): Promise<ExecResult>;
248
249
  exec(cmd: string, args: string[], env: Record<string, string>): Promise<ExecResult>;
250
+ exec(cmd: string, args: string[], env: Record<string, string> | undefined, options?: {
251
+ cwd?: string;
252
+ user?: string;
253
+ timeoutSecs?: number;
254
+ }): Promise<ExecResult>;
255
+ /**
256
+ * Copy a file or directory from the host into the container.
257
+ *
258
+ * **Note:** Destinations under tmpfs mounts (e.g. `/tmp`, `/dev/shm`) will
259
+ * silently fail — files land behind the mount and are invisible to the
260
+ * container. Use a non-tmpfs path like `/root/` instead.
261
+ *
262
+ * @param hostPath - Absolute path on the host
263
+ * @param containerDest - Absolute path inside the container
264
+ * @param options - Copy options (recursive, overwrite, etc.)
265
+ */
266
+ copyIn(hostPath: string, containerDest: string, options?: CopyOptions): Promise<void>;
267
+ /**
268
+ * Copy a file or directory from the container to the host.
269
+ *
270
+ * @param containerSrc - Absolute path inside the container
271
+ * @param hostDest - Absolute path on the host
272
+ * @param options - Copy options (recursive, overwrite, etc.)
273
+ */
274
+ copyOut(containerSrc: string, hostDest: string, options?: CopyOptions): Promise<void>;
275
+ /**
276
+ * Get box metrics (CPU, memory, network stats, etc.).
277
+ *
278
+ * @returns Promise resolving to box metrics
279
+ */
280
+ metrics(): Promise<any>;
249
281
  /**
250
282
  * Stop the box.
251
283
  *
@@ -1 +1 @@
1
- {"version":3,"file":"simplebox.d.ts","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simplebox.d.ts","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"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"}
package/dist/simplebox.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * 2. Command execution with output collection
8
8
  * 3. Try/finally cleanup patterns
9
9
  */
10
- import { getJsBoxlite } from './native.js';
10
+ import { getJsBoxlite } from "./native.js";
11
11
  const MAX_SAFE_U64_NUMBER = Number.MAX_SAFE_INTEGER;
12
12
  function normalizeU64Limit(value, field) {
13
13
  if (value === undefined) {
@@ -34,11 +34,11 @@ function normalizeSecurityOptions(security) {
34
34
  return {
35
35
  jailerEnabled: security.jailerEnabled,
36
36
  seccompEnabled: security.seccompEnabled,
37
- maxOpenFiles: normalizeU64Limit(security.maxOpenFiles, 'security.maxOpenFiles'),
38
- maxFileSize: normalizeU64Limit(security.maxFileSize, 'security.maxFileSize'),
39
- maxProcesses: normalizeU64Limit(security.maxProcesses, 'security.maxProcesses'),
40
- maxMemory: normalizeU64Limit(security.maxMemory, 'security.maxMemory'),
41
- maxCpuTime: normalizeU64Limit(security.maxCpuTime, 'security.maxCpuTime'),
37
+ maxOpenFiles: normalizeU64Limit(security.maxOpenFiles, "security.maxOpenFiles"),
38
+ maxFileSize: normalizeU64Limit(security.maxFileSize, "security.maxFileSize"),
39
+ maxProcesses: normalizeU64Limit(security.maxProcesses, "security.maxProcesses"),
40
+ maxMemory: normalizeU64Limit(security.maxMemory, "security.maxMemory"),
41
+ maxCpuTime: normalizeU64Limit(security.maxCpuTime, "security.maxCpuTime"),
42
42
  networkEnabled: security.networkEnabled,
43
43
  closeFds: security.closeFds,
44
44
  };
@@ -167,7 +167,7 @@ export class SimpleBox {
167
167
  */
168
168
  get id() {
169
169
  if (!this._box) {
170
- throw new Error('Box not yet created. Call exec() first or use getId() async method.');
170
+ throw new Error("Box not yet created. Call exec() first or use getId() async method.");
171
171
  }
172
172
  return this._box.id;
173
173
  }
@@ -199,7 +199,7 @@ export class SimpleBox {
199
199
  */
200
200
  info() {
201
201
  if (!this._box) {
202
- throw new Error('Box not yet created. Call exec() first.');
202
+ throw new Error("Box not yet created. Call exec() first.");
203
203
  }
204
204
  return this._box.info();
205
205
  }
@@ -210,14 +210,23 @@ export class SimpleBox {
210
210
  const box = await this._ensureBox();
211
211
  return box.info();
212
212
  }
213
- async exec(cmd, argsOrFirstArg, envOrSecondArg, ...restArgs) {
213
+ async exec(cmd, argsOrFirstArg, envOrSecondArg, optionsOrThirdArg, ...restArgs) {
214
214
  // Parse overloaded arguments
215
215
  let args;
216
216
  let env;
217
+ let cwd;
218
+ let user;
219
+ let timeoutSecs;
217
220
  if (Array.isArray(argsOrFirstArg)) {
218
- // exec(cmd, args[], env?)
221
+ // exec(cmd, args[], env?, options?)
219
222
  args = argsOrFirstArg;
220
223
  env = envOrSecondArg;
224
+ if (optionsOrThirdArg && typeof optionsOrThirdArg === "object") {
225
+ const opts = optionsOrThirdArg;
226
+ cwd = opts.cwd;
227
+ user = opts.user;
228
+ timeoutSecs = opts.timeoutSecs;
229
+ }
221
230
  }
222
231
  else {
223
232
  // exec(cmd, ...args, env?)
@@ -225,17 +234,20 @@ export class SimpleBox {
225
234
  const allArgs = [
226
235
  argsOrFirstArg,
227
236
  envOrSecondArg,
237
+ optionsOrThirdArg,
228
238
  ...restArgs,
229
- ].filter(a => a !== undefined);
239
+ ].filter((a) => a !== undefined);
230
240
  // Check if last arg is env object (before filtering to strings)
231
241
  const lastArg = allArgs[allArgs.length - 1];
232
- if (lastArg && typeof lastArg === 'object' && !Array.isArray(lastArg)) {
242
+ if (lastArg && typeof lastArg === "object" && !Array.isArray(lastArg)) {
233
243
  env = lastArg;
234
- args = allArgs.slice(0, -1).filter((a) => typeof a === 'string');
244
+ args = allArgs
245
+ .slice(0, -1)
246
+ .filter((a) => typeof a === "string");
235
247
  }
236
248
  else {
237
249
  env = undefined;
238
- args = allArgs.filter((a) => typeof a === 'string');
250
+ args = allArgs.filter((a) => typeof a === "string");
239
251
  }
240
252
  }
241
253
  // Convert env to array of tuples
@@ -244,7 +256,7 @@ export class SimpleBox {
244
256
  : undefined;
245
257
  // Ensure box is created, then execute via Rust (returns Execution)
246
258
  const box = await this._ensureBox();
247
- const execution = await box.exec(cmd, args, envArray, false);
259
+ const execution = await box.exec(cmd, args, envArray, false, user, timeoutSecs, cwd);
248
260
  // Collect stdout and stderr
249
261
  const stdoutLines = [];
250
262
  const stderrLines = [];
@@ -265,42 +277,84 @@ export class SimpleBox {
265
277
  // Stream not available (expected for some commands)
266
278
  stderr = null;
267
279
  }
268
- // Read stdout
269
- if (stdout) {
270
- try {
271
- while (true) {
272
- const line = await stdout.next();
273
- if (line === null)
274
- break;
275
- stdoutLines.push(line);
280
+ // Read stdout and stderr concurrently to avoid deadlock.
281
+ // Sequential reads can deadlock when a process fills one pipe buffer
282
+ // while the SDK is blocked reading the other.
283
+ await Promise.all([
284
+ (async () => {
285
+ if (!stdout)
286
+ return;
287
+ try {
288
+ while (true) {
289
+ const line = await stdout.next();
290
+ if (line === null)
291
+ break;
292
+ stdoutLines.push(line);
293
+ }
276
294
  }
277
- }
278
- catch (err) {
279
- // Stream ended or error occurred
280
- }
281
- }
282
- // Read stderr
283
- if (stderr) {
284
- try {
285
- while (true) {
286
- const line = await stderr.next();
287
- if (line === null)
288
- break;
289
- stderrLines.push(line);
295
+ catch {
296
+ // Stream ended or error occurred
290
297
  }
291
- }
292
- catch (err) {
293
- // Stream ended or error occurred
294
- }
295
- }
298
+ })(),
299
+ (async () => {
300
+ if (!stderr)
301
+ return;
302
+ try {
303
+ while (true) {
304
+ const line = await stderr.next();
305
+ if (line === null)
306
+ break;
307
+ stderrLines.push(line);
308
+ }
309
+ }
310
+ catch {
311
+ // Stream ended or error occurred
312
+ }
313
+ })(),
314
+ ]);
296
315
  // Wait for completion
297
316
  const result = await execution.wait();
298
317
  return {
299
318
  exitCode: result.exitCode,
300
- stdout: stdoutLines.join(''),
301
- stderr: stderrLines.join(''),
319
+ stdout: stdoutLines.join(""),
320
+ stderr: stderrLines.join(""),
302
321
  };
303
322
  }
323
+ /**
324
+ * Copy a file or directory from the host into the container.
325
+ *
326
+ * **Note:** Destinations under tmpfs mounts (e.g. `/tmp`, `/dev/shm`) will
327
+ * silently fail — files land behind the mount and are invisible to the
328
+ * container. Use a non-tmpfs path like `/root/` instead.
329
+ *
330
+ * @param hostPath - Absolute path on the host
331
+ * @param containerDest - Absolute path inside the container
332
+ * @param options - Copy options (recursive, overwrite, etc.)
333
+ */
334
+ async copyIn(hostPath, containerDest, options) {
335
+ const box = await this._ensureBox();
336
+ await box.copyIn(hostPath, containerDest, options);
337
+ }
338
+ /**
339
+ * Copy a file or directory from the container to the host.
340
+ *
341
+ * @param containerSrc - Absolute path inside the container
342
+ * @param hostDest - Absolute path on the host
343
+ * @param options - Copy options (recursive, overwrite, etc.)
344
+ */
345
+ async copyOut(containerSrc, hostDest, options) {
346
+ const box = await this._ensureBox();
347
+ await box.copyOut(containerSrc, hostDest, options);
348
+ }
349
+ /**
350
+ * Get box metrics (CPU, memory, network stats, etc.).
351
+ *
352
+ * @returns Promise resolving to box metrics
353
+ */
354
+ async metrics() {
355
+ const box = await this._ensureBox();
356
+ return box.metrics();
357
+ }
304
358
  /**
305
359
  * Stop the box.
306
360
  *
@@ -1 +1 @@
1
- {"version":3,"file":"simplebox.js","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simplebox.js","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * SkillBox - Secure Claude Code CLI container.
3
+ *
4
+ * Provides an isolated environment for running Claude Code CLI with skills.
5
+ */
6
+ import { SimpleBox } from "./simplebox.js";
7
+ type Boxlite = any;
8
+ /**
9
+ * Options for creating a SkillBox.
10
+ */
11
+ export interface SkillBoxOptions {
12
+ /** Skills to install on first call (e.g., ["anthropics/skills"]) */
13
+ skills?: string[];
14
+ /** Claude OAuth token. Uses CLAUDE_CODE_OAUTH_TOKEN env if not provided. */
15
+ oauthToken?: string;
16
+ /** Box name for persistence/reuse (default: "skill-box") */
17
+ name?: string;
18
+ /** Container image (default: boxlite-skillbox) */
19
+ image?: string;
20
+ /** Path to local OCI layout directory (overrides image if provided) */
21
+ rootfsPath?: string;
22
+ /** Memory allocation in MiB (default: 4096) */
23
+ memoryMib?: number;
24
+ /** Disk size in GB (default: 10) */
25
+ diskSizeGb?: number;
26
+ /** Local port for noVNC HTTP access (default: 0 for random) */
27
+ guiHttpPort?: number;
28
+ /** Local port for noVNC HTTPS access (default: 0 for random) */
29
+ guiHttpsPort?: number;
30
+ /** Remove box when stopped (default: true) */
31
+ autoRemove?: boolean;
32
+ /** Optional runtime instance */
33
+ runtime?: Boxlite;
34
+ }
35
+ /**
36
+ * Secure container for running Claude Code CLI with skills.
37
+ *
38
+ * SkillBox provides an isolated environment for Claude Code CLI
39
+ * with user-specified skills installed. It supports multi-turn conversations
40
+ * and includes a desktop GUI accessible via noVNC.
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const box = new SkillBox({ skills: ["anthropics/skills"] });
45
+ * try {
46
+ * await box.start();
47
+ * const result = await box.call("What skills do you have?");
48
+ * console.log(result);
49
+ * } finally {
50
+ * await box.stop();
51
+ * }
52
+ * ```
53
+ */
54
+ export declare class SkillBox extends SimpleBox {
55
+ private _skills;
56
+ private _oauthToken;
57
+ private _process;
58
+ private _stdin;
59
+ private _stdout;
60
+ private _sessionId;
61
+ private _setupComplete;
62
+ private _started;
63
+ /** Local port for noVNC HTTP access */
64
+ guiHttpPort: number;
65
+ /** Local port for noVNC HTTPS access */
66
+ guiHttpsPort: number;
67
+ private _skillboxEnv;
68
+ constructor(options?: SkillBoxOptions);
69
+ /**
70
+ * Start the SkillBox (resolves ports and creates the box).
71
+ */
72
+ start(): Promise<void>;
73
+ /**
74
+ * Stop the SkillBox and clean up Claude process.
75
+ */
76
+ stop(): Promise<void>;
77
+ /**
78
+ * Wait until the desktop environment is fully loaded and ready.
79
+ *
80
+ * @param timeout - Maximum time to wait in seconds (default: 60)
81
+ */
82
+ waitUntilReady(timeout?: number): Promise<void>;
83
+ /**
84
+ * Send a prompt to Claude and return the response.
85
+ *
86
+ * Supports multi-turn conversations within the same session.
87
+ * On first call, installs dependencies if not already installed.
88
+ *
89
+ * @param prompt - The message to send to Claude
90
+ * @returns Claude's response text
91
+ */
92
+ call(prompt: string): Promise<string>;
93
+ /**
94
+ * Install a skill from skills.sh.
95
+ *
96
+ * @param skillId - Skill identifier (owner/repo format)
97
+ * @returns True if installation succeeded
98
+ */
99
+ installSkill(skillId: string): Promise<boolean>;
100
+ private _setup;
101
+ private _isClaudeInstalled;
102
+ private _installDependencies;
103
+ private _installSkillInternal;
104
+ private _startClaude;
105
+ private _stopClaude;
106
+ private _sendMessage;
107
+ }
108
+ export {};
109
+ //# sourceMappingURL=skillbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skillbox.d.ts","sourceRoot":"","sources":["../lib/skillbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAelE,KAAK,OAAO,GAAG,GAAG,CAAC;AAGnB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAsCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,QAAS,SAAQ,SAAS;IACrC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAkB;IAElC,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,YAAY,CAElB;gBAEU,OAAO,GAAE,eAAoB;IAqCzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;;OAIG;IACG,cAAc,CAAC,OAAO,GAAE,MAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5E;;;;;;;;OAQG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB3C;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAavC,MAAM;YAUN,kBAAkB;YAclB,oBAAoB;YAqCpB,qBAAqB;YAUrB,YAAY;YA0BZ,WAAW;YAsBX,YAAY;CAiF3B"}