@hasna/sandboxes 0.1.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/LICENSE +201 -0
- package/README.md +256 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3777 -0
- package/dist/db/agents.d.ts +8 -0
- package/dist/db/agents.d.ts.map +1 -0
- package/dist/db/database.d.ts +9 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/events.d.ts +16 -0
- package/dist/db/events.d.ts.map +1 -0
- package/dist/db/projects.d.ts +9 -0
- package/dist/db/projects.d.ts.map +1 -0
- package/dist/db/sandboxes.d.ts +12 -0
- package/dist/db/sandboxes.d.ts.map +1 -0
- package/dist/db/sessions.d.ts +11 -0
- package/dist/db/sessions.d.ts.map +1 -0
- package/dist/db/webhooks.d.ts +7 -0
- package/dist/db/webhooks.d.ts.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1431 -0
- package/dist/lib/agent-runner.d.ts +12 -0
- package/dist/lib/agent-runner.d.ts.map +1 -0
- package/dist/lib/config.d.ts +10 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/keepalive.d.ts +5 -0
- package/dist/lib/keepalive.d.ts.map +1 -0
- package/dist/lib/stream.d.ts +13 -0
- package/dist/lib/stream.d.ts.map +1 -0
- package/dist/lib/webhook.d.ts +14 -0
- package/dist/lib/webhook.d.ts.map +1 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +5546 -0
- package/dist/providers/daytona.d.ts +17 -0
- package/dist/providers/daytona.d.ts.map +1 -0
- package/dist/providers/e2b.d.ts +17 -0
- package/dist/providers/e2b.d.ts.map +1 -0
- package/dist/providers/index.d.ts +5 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/modal.d.ts +25 -0
- package/dist/providers/modal.d.ts.map +1 -0
- package/dist/providers/types.d.ts +30 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/server/index.d.ts +3 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1552 -0
- package/dist/server/serve.d.ts +2 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/types/index.d.ts +199 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ExecResult, ExecHandle, FileInfo } from "../types/index.js";
|
|
2
|
+
import type { SandboxProvider, ProviderSandbox, CreateSandboxOpts, ExecOptions } from "./types.js";
|
|
3
|
+
export declare class DaytonaProvider implements SandboxProvider {
|
|
4
|
+
readonly name = "daytona";
|
|
5
|
+
private client;
|
|
6
|
+
constructor(apiKey: string);
|
|
7
|
+
create(opts?: CreateSandboxOpts): Promise<ProviderSandbox>;
|
|
8
|
+
private getInstance;
|
|
9
|
+
exec(sandboxId: string, command: string, opts?: ExecOptions): Promise<ExecResult | ExecHandle>;
|
|
10
|
+
readFile(sandboxId: string, path: string): Promise<string>;
|
|
11
|
+
writeFile(sandboxId: string, path: string, content: string): Promise<void>;
|
|
12
|
+
listFiles(sandboxId: string, path: string): Promise<FileInfo[]>;
|
|
13
|
+
stop(sandboxId: string): Promise<void>;
|
|
14
|
+
delete(sandboxId: string): Promise<void>;
|
|
15
|
+
keepAlive(sandboxId: string, durationMs?: number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=daytona.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daytona.d.ts","sourceRoot":"","sources":["../../src/providers/daytona.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,aAAa;IAC1B,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,MAAM;IAMpB,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;YA0BlD,WAAW;IAgBnB,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAgG7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAYV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkB/D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAcvE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ExecResult, ExecHandle, FileInfo } from "../types/index.js";
|
|
2
|
+
import type { SandboxProvider, ProviderSandbox, CreateSandboxOpts, ExecOptions } from "./types.js";
|
|
3
|
+
export declare class E2BProvider implements SandboxProvider {
|
|
4
|
+
readonly name = "e2b";
|
|
5
|
+
private apiKey;
|
|
6
|
+
constructor(apiKey: string);
|
|
7
|
+
create(opts?: CreateSandboxOpts): Promise<ProviderSandbox>;
|
|
8
|
+
private getInstance;
|
|
9
|
+
exec(sandboxId: string, command: string, opts?: ExecOptions): Promise<ExecResult | ExecHandle>;
|
|
10
|
+
readFile(sandboxId: string, path: string): Promise<string>;
|
|
11
|
+
writeFile(sandboxId: string, path: string, content: string): Promise<void>;
|
|
12
|
+
listFiles(sandboxId: string, path: string): Promise<FileInfo[]>;
|
|
13
|
+
stop(sandboxId: string): Promise<void>;
|
|
14
|
+
delete(sandboxId: string): Promise<void>;
|
|
15
|
+
keepAlive(sandboxId: string, durationMs?: number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=e2b.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2b.d.ts","sourceRoot":"","sources":["../../src/providers/e2b.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,SAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAIpB,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;YAqBlD,WAAW;IAkBnB,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IA0D7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAYV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAkB/D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWvE"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SandboxProviderName } from "../types/index.js";
|
|
2
|
+
import type { SandboxProvider } from "./types.js";
|
|
3
|
+
export declare function getProvider(name: SandboxProviderName, apiKey?: string): Promise<SandboxProvider>;
|
|
4
|
+
export { type SandboxProvider } from "./types.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ExecResult, ExecHandle, FileInfo } from "../types/index.js";
|
|
2
|
+
import type { SandboxProvider, ProviderSandbox, CreateSandboxOpts, ExecOptions } from "./types.js";
|
|
3
|
+
export declare class ModalProvider implements SandboxProvider {
|
|
4
|
+
readonly name = "modal";
|
|
5
|
+
private client;
|
|
6
|
+
constructor(apiKey?: string);
|
|
7
|
+
create(opts?: CreateSandboxOpts): Promise<ProviderSandbox>;
|
|
8
|
+
private getSandbox;
|
|
9
|
+
exec(sandboxId: string, command: string, opts?: ExecOptions): Promise<ExecResult | ExecHandle>;
|
|
10
|
+
readFile(sandboxId: string, path: string): Promise<string>;
|
|
11
|
+
writeFile(sandboxId: string, path: string, content: string): Promise<void>;
|
|
12
|
+
listFiles(sandboxId: string, path: string): Promise<FileInfo[]>;
|
|
13
|
+
stop(sandboxId: string): Promise<void>;
|
|
14
|
+
delete(sandboxId: string): Promise<void>;
|
|
15
|
+
keepAlive(_sandboxId: string, _durationMs?: number): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Parse a command string into an array of arguments, respecting quotes.
|
|
18
|
+
*/
|
|
19
|
+
private parseCommand;
|
|
20
|
+
/**
|
|
21
|
+
* Escape a string for safe use in shell commands.
|
|
22
|
+
*/
|
|
23
|
+
private shellEscape;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/providers/modal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAKpB,qBAAa,aAAc,YAAW,eAAe;IACnD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,CAAC,EAAE,MAAM;IASrB,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqChE,OAAO,CAAC,UAAU;IAWZ,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IAmF7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB1D,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAoBV,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmD/D,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxE;;OAEG;IACH,OAAO,CAAC,YAAY;IAuCpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ExecResult, ExecHandle, FileInfo } from "../types/index.js";
|
|
2
|
+
export interface CreateSandboxOpts {
|
|
3
|
+
image?: string;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
envVars?: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export interface ExecOptions {
|
|
8
|
+
background?: boolean;
|
|
9
|
+
onStdout?: (data: string) => void;
|
|
10
|
+
onStderr?: (data: string) => void;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
env?: Record<string, string>;
|
|
13
|
+
cwd?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ProviderSandbox {
|
|
16
|
+
id: string;
|
|
17
|
+
status: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SandboxProvider {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
create(opts?: CreateSandboxOpts): Promise<ProviderSandbox>;
|
|
22
|
+
exec(sandboxId: string, command: string, opts?: ExecOptions): Promise<ExecResult | ExecHandle>;
|
|
23
|
+
readFile(sandboxId: string, path: string): Promise<string>;
|
|
24
|
+
writeFile(sandboxId: string, path: string, content: string): Promise<void>;
|
|
25
|
+
listFiles(sandboxId: string, path: string): Promise<FileInfo[]>;
|
|
26
|
+
stop(sandboxId: string): Promise<void>;
|
|
27
|
+
delete(sandboxId: string): Promise<void>;
|
|
28
|
+
keepAlive(sandboxId: string, durationMs?: number): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3D,IAAI,CACF,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;IAEpC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":""}
|