@boxlite-ai/boxlite 0.2.11 → 0.3.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.
- package/dist/browserbox.d.ts.map +1 -1
- package/dist/browserbox.js.map +1 -1
- package/dist/codebox.d.ts +2 -2
- package/dist/codebox.d.ts.map +1 -1
- package/dist/codebox.js +10 -10
- package/dist/codebox.js.map +1 -1
- package/dist/computerbox.d.ts +4 -4
- package/dist/computerbox.d.ts.map +1 -1
- package/dist/computerbox.js +36 -32
- package/dist/computerbox.js.map +1 -1
- package/dist/constants.d.ts +5 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -3
- package/dist/constants.js.map +1 -1
- package/dist/copy.d.ts +14 -0
- package/dist/copy.d.ts.map +1 -0
- package/dist/copy.js +2 -0
- package/dist/copy.js.map +1 -0
- package/dist/errors.js +4 -4
- package/dist/index.d.ts +11 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -10
- package/dist/index.js.map +1 -1
- package/dist/interactivebox.d.ts +1 -1
- package/dist/interactivebox.d.ts.map +1 -1
- package/dist/interactivebox.js +6 -6
- package/dist/interactivebox.js.map +1 -1
- package/dist/native.js +1 -1
- package/dist/simplebox.d.ts +28 -1
- package/dist/simplebox.d.ts.map +1 -1
- package/dist/simplebox.js +84 -40
- package/dist/simplebox.js.map +1 -1
- package/dist/skillbox.d.ts +109 -0
- package/dist/skillbox.d.ts.map +1 -0
- package/dist/skillbox.js +368 -0
- package/dist/skillbox.js.map +1 -0
- package/native/boxlite.js +54 -53
- package/package.json +12 -7
package/dist/index.js
CHANGED
|
@@ -18,20 +18,19 @@
|
|
|
18
18
|
*
|
|
19
19
|
* @packageDocumentation
|
|
20
20
|
*/
|
|
21
|
-
import { getNativeModule, getJsBoxlite } from
|
|
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
|
|
30
|
-
export { BoxliteError, ExecError, TimeoutError, ParseError } from
|
|
31
|
-
export * from
|
|
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
|
|
34
|
-
export { BrowserBox } from
|
|
35
|
-
export { ComputerBox } from
|
|
36
|
-
export { InteractiveBox } from
|
|
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,
|
|
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"}
|
package/dist/interactivebox.d.ts
CHANGED
|
@@ -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
|
|
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;
|
|
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"}
|
package/dist/interactivebox.js
CHANGED
|
@@ -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
|
|
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 =
|
|
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(
|
|
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(
|
|
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 ===
|
|
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 ===
|
|
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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAqB7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAY3C;;;;;;;;;;;;;;;OAeG;IACH,YAAY,OAA8B;QACxC,mEAAmE;QACnE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,OAAO,CAAC;QAE3D,+DAA+D;QAC/D,KAAK,CAAC,WAAW,CAAC,CAAC;QAxBX,aAAQ,GAAoB,EAAE,CAAC;QAC/B,YAAO,GAAY,KAAK,CAAC;QAyBjC,yCAAyC;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;QAEnC,6EAA6E;QAC7E,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,CAAC;IAED,qCAAqC;IAErC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK;QACT,mDAAmD;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEpC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe;YACnC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,
|
|
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
|
|
11
|
+
import * as native from "../native/boxlite.js";
|
|
12
12
|
/**
|
|
13
13
|
* Get the native BoxLite module.
|
|
14
14
|
*
|
package/dist/simplebox.d.ts
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* 2. Command execution with output collection
|
|
8
8
|
* 3. Try/finally cleanup patterns
|
|
9
9
|
*/
|
|
10
|
-
import type {
|
|
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,32 @@ 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
|
+
/**
|
|
251
|
+
* Copy a file or directory from the host into the container.
|
|
252
|
+
*
|
|
253
|
+
* **Note:** Destinations under tmpfs mounts (e.g. `/tmp`, `/dev/shm`) will
|
|
254
|
+
* silently fail — files land behind the mount and are invisible to the
|
|
255
|
+
* container. Use a non-tmpfs path like `/root/` instead.
|
|
256
|
+
*
|
|
257
|
+
* @param hostPath - Absolute path on the host
|
|
258
|
+
* @param containerDest - Absolute path inside the container
|
|
259
|
+
* @param options - Copy options (recursive, overwrite, etc.)
|
|
260
|
+
*/
|
|
261
|
+
copyIn(hostPath: string, containerDest: string, options?: CopyOptions): Promise<void>;
|
|
262
|
+
/**
|
|
263
|
+
* Copy a file or directory from the container to the host.
|
|
264
|
+
*
|
|
265
|
+
* @param containerSrc - Absolute path inside the container
|
|
266
|
+
* @param hostDest - Absolute path on the host
|
|
267
|
+
* @param options - Copy options (recursive, overwrite, etc.)
|
|
268
|
+
*/
|
|
269
|
+
copyOut(containerSrc: string, hostDest: string, options?: CopyOptions): Promise<void>;
|
|
270
|
+
/**
|
|
271
|
+
* Get box metrics (CPU, memory, network stats, etc.).
|
|
272
|
+
*
|
|
273
|
+
* @returns Promise resolving to box metrics
|
|
274
|
+
*/
|
|
275
|
+
metrics(): Promise<any>;
|
|
249
276
|
/**
|
|
250
277
|
* Stop the box.
|
|
251
278
|
*
|
package/dist/simplebox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simplebox.d.ts","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,KAAK,OAAO,GAAG,GAAG,CAAC;AACnB,KAAK,GAAG,GAAG,GAAG,CAAC;AAEf,KAAK,UAAU,GAAG,GAAG,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;
|
|
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
|
|
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,
|
|
38
|
-
maxFileSize: normalizeU64Limit(security.maxFileSize,
|
|
39
|
-
maxProcesses: normalizeU64Limit(security.maxProcesses,
|
|
40
|
-
maxMemory: normalizeU64Limit(security.maxMemory,
|
|
41
|
-
maxCpuTime: normalizeU64Limit(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(
|
|
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(
|
|
202
|
+
throw new Error("Box not yet created. Call exec() first.");
|
|
203
203
|
}
|
|
204
204
|
return this._box.info();
|
|
205
205
|
}
|
|
@@ -226,16 +226,18 @@ export class SimpleBox {
|
|
|
226
226
|
argsOrFirstArg,
|
|
227
227
|
envOrSecondArg,
|
|
228
228
|
...restArgs,
|
|
229
|
-
].filter(a => a !== undefined);
|
|
229
|
+
].filter((a) => a !== undefined);
|
|
230
230
|
// Check if last arg is env object (before filtering to strings)
|
|
231
231
|
const lastArg = allArgs[allArgs.length - 1];
|
|
232
|
-
if (lastArg && typeof lastArg ===
|
|
232
|
+
if (lastArg && typeof lastArg === "object" && !Array.isArray(lastArg)) {
|
|
233
233
|
env = lastArg;
|
|
234
|
-
args = allArgs
|
|
234
|
+
args = allArgs
|
|
235
|
+
.slice(0, -1)
|
|
236
|
+
.filter((a) => typeof a === "string");
|
|
235
237
|
}
|
|
236
238
|
else {
|
|
237
239
|
env = undefined;
|
|
238
|
-
args = allArgs.filter((a) => typeof a ===
|
|
240
|
+
args = allArgs.filter((a) => typeof a === "string");
|
|
239
241
|
}
|
|
240
242
|
}
|
|
241
243
|
// Convert env to array of tuples
|
|
@@ -265,42 +267,84 @@ export class SimpleBox {
|
|
|
265
267
|
// Stream not available (expected for some commands)
|
|
266
268
|
stderr = null;
|
|
267
269
|
}
|
|
268
|
-
// Read stdout
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
270
|
+
// Read stdout and stderr concurrently to avoid deadlock.
|
|
271
|
+
// Sequential reads can deadlock when a process fills one pipe buffer
|
|
272
|
+
// while the SDK is blocked reading the other.
|
|
273
|
+
await Promise.all([
|
|
274
|
+
(async () => {
|
|
275
|
+
if (!stdout)
|
|
276
|
+
return;
|
|
277
|
+
try {
|
|
278
|
+
while (true) {
|
|
279
|
+
const line = await stdout.next();
|
|
280
|
+
if (line === null)
|
|
281
|
+
break;
|
|
282
|
+
stdoutLines.push(line);
|
|
283
|
+
}
|
|
276
284
|
}
|
|
277
|
-
|
|
278
|
-
|
|
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);
|
|
285
|
+
catch {
|
|
286
|
+
// Stream ended or error occurred
|
|
290
287
|
}
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
288
|
+
})(),
|
|
289
|
+
(async () => {
|
|
290
|
+
if (!stderr)
|
|
291
|
+
return;
|
|
292
|
+
try {
|
|
293
|
+
while (true) {
|
|
294
|
+
const line = await stderr.next();
|
|
295
|
+
if (line === null)
|
|
296
|
+
break;
|
|
297
|
+
stderrLines.push(line);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
// Stream ended or error occurred
|
|
302
|
+
}
|
|
303
|
+
})(),
|
|
304
|
+
]);
|
|
296
305
|
// Wait for completion
|
|
297
306
|
const result = await execution.wait();
|
|
298
307
|
return {
|
|
299
308
|
exitCode: result.exitCode,
|
|
300
|
-
stdout: stdoutLines.join(
|
|
301
|
-
stderr: stderrLines.join(
|
|
309
|
+
stdout: stdoutLines.join(""),
|
|
310
|
+
stderr: stderrLines.join(""),
|
|
302
311
|
};
|
|
303
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Copy a file or directory from the host into the container.
|
|
315
|
+
*
|
|
316
|
+
* **Note:** Destinations under tmpfs mounts (e.g. `/tmp`, `/dev/shm`) will
|
|
317
|
+
* silently fail — files land behind the mount and are invisible to the
|
|
318
|
+
* container. Use a non-tmpfs path like `/root/` instead.
|
|
319
|
+
*
|
|
320
|
+
* @param hostPath - Absolute path on the host
|
|
321
|
+
* @param containerDest - Absolute path inside the container
|
|
322
|
+
* @param options - Copy options (recursive, overwrite, etc.)
|
|
323
|
+
*/
|
|
324
|
+
async copyIn(hostPath, containerDest, options) {
|
|
325
|
+
const box = await this._ensureBox();
|
|
326
|
+
await box.copyIn(hostPath, containerDest, options);
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Copy a file or directory from the container to the host.
|
|
330
|
+
*
|
|
331
|
+
* @param containerSrc - Absolute path inside the container
|
|
332
|
+
* @param hostDest - Absolute path on the host
|
|
333
|
+
* @param options - Copy options (recursive, overwrite, etc.)
|
|
334
|
+
*/
|
|
335
|
+
async copyOut(containerSrc, hostDest, options) {
|
|
336
|
+
const box = await this._ensureBox();
|
|
337
|
+
await box.copyOut(containerSrc, hostDest, options);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get box metrics (CPU, memory, network stats, etc.).
|
|
341
|
+
*
|
|
342
|
+
* @returns Promise resolving to box metrics
|
|
343
|
+
*/
|
|
344
|
+
async metrics() {
|
|
345
|
+
const box = await this._ensureBox();
|
|
346
|
+
return box.metrics();
|
|
347
|
+
}
|
|
304
348
|
/**
|
|
305
349
|
* Stop the box.
|
|
306
350
|
*
|
package/dist/simplebox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simplebox.js","sourceRoot":"","sources":["../lib/simplebox.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
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"}
|