@hasna/sandboxes 0.1.5 → 0.1.7
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/cli/index.js +204 -14
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/sandboxes.d.ts.map +1 -1
- package/dist/db/templates.d.ts +7 -0
- package/dist/db/templates.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +254 -5
- package/dist/lib/agent-runner.d.ts.map +1 -1
- package/dist/lib/agents/claude.d.ts +10 -0
- package/dist/lib/agents/claude.d.ts.map +1 -0
- package/dist/lib/agents/codex.d.ts +10 -0
- package/dist/lib/agents/codex.d.ts.map +1 -0
- package/dist/lib/agents/gemini.d.ts +10 -0
- package/dist/lib/agents/gemini.d.ts.map +1 -0
- package/dist/lib/agents/index.d.ts +5 -0
- package/dist/lib/agents/index.d.ts.map +1 -0
- package/dist/lib/agents/opencode.d.ts +10 -0
- package/dist/lib/agents/opencode.d.ts.map +1 -0
- package/dist/lib/agents/pi.d.ts +10 -0
- package/dist/lib/agents/pi.d.ts.map +1 -0
- package/dist/lib/agents/types.d.ts +23 -0
- package/dist/lib/agents/types.d.ts.map +1 -0
- package/dist/mcp/index.js +395 -21
- package/dist/providers/daytona.d.ts +2 -0
- package/dist/providers/daytona.d.ts.map +1 -1
- package/dist/providers/e2b.d.ts +2 -0
- package/dist/providers/e2b.d.ts.map +1 -1
- package/dist/providers/modal.d.ts +2 -0
- package/dist/providers/modal.d.ts.map +1 -1
- package/dist/providers/types.d.ts +4 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/server/index.js +77 -3
- package/dist/types/index.d.ts +41 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/server/index.js
CHANGED
|
@@ -88,7 +88,10 @@ class E2BProvider {
|
|
|
88
88
|
try {
|
|
89
89
|
const sandbox = await E2BSandbox.create({
|
|
90
90
|
apiKey: this.apiKey,
|
|
91
|
-
timeoutMs: (opts?.timeout || 3600) * 1000
|
|
91
|
+
timeoutMs: (opts?.timeout || 3600) * 1000,
|
|
92
|
+
...opts?.onTimeout === "pause" ? {
|
|
93
|
+
lifecycle: { onTimeout: "pause", autoResume: opts?.autoResume ?? true }
|
|
94
|
+
} : {}
|
|
92
95
|
});
|
|
93
96
|
instanceCache.set(sandbox.sandboxId, sandbox);
|
|
94
97
|
return {
|
|
@@ -197,6 +200,23 @@ class E2BProvider {
|
|
|
197
200
|
async delete(sandboxId) {
|
|
198
201
|
await this.stop(sandboxId);
|
|
199
202
|
}
|
|
203
|
+
async pause(sandboxId) {
|
|
204
|
+
const sandbox = await this.getInstance(sandboxId);
|
|
205
|
+
try {
|
|
206
|
+
await sandbox.pause();
|
|
207
|
+
instanceCache.delete(sandboxId);
|
|
208
|
+
} catch (err) {
|
|
209
|
+
throw new ProviderError("e2b", `Failed to pause sandbox: ${err.message}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
async resume(sandboxId) {
|
|
213
|
+
try {
|
|
214
|
+
const sandbox = await E2BSandbox.connect(sandboxId, { apiKey: this.apiKey });
|
|
215
|
+
instanceCache.set(sandboxId, sandbox);
|
|
216
|
+
} catch (err) {
|
|
217
|
+
throw new ProviderError("e2b", `Failed to resume sandbox: ${err.message}`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
200
220
|
async keepAlive(sandboxId, durationMs) {
|
|
201
221
|
const sandbox = await this.getInstance(sandboxId);
|
|
202
222
|
try {
|
|
@@ -357,6 +377,12 @@ class DaytonaProvider {
|
|
|
357
377
|
throw new ProviderError("daytona", `Failed to delete sandbox: ${err.message}`);
|
|
358
378
|
}
|
|
359
379
|
}
|
|
380
|
+
async pause(_sandboxId) {
|
|
381
|
+
throw new ProviderError("daytona", "Pause/resume not supported by Daytona provider");
|
|
382
|
+
}
|
|
383
|
+
async resume(_sandboxId) {
|
|
384
|
+
throw new ProviderError("daytona", "Pause/resume not supported by Daytona provider");
|
|
385
|
+
}
|
|
360
386
|
async keepAlive(sandboxId, durationMs) {
|
|
361
387
|
const sandbox = await this.getInstance(sandboxId);
|
|
362
388
|
try {
|
|
@@ -579,6 +605,12 @@ class ModalProvider {
|
|
|
579
605
|
async delete(sandboxId) {
|
|
580
606
|
await this.stop(sandboxId);
|
|
581
607
|
}
|
|
608
|
+
async pause(_sandboxId) {
|
|
609
|
+
throw new ProviderError("modal", "Pause/resume not supported by Modal provider");
|
|
610
|
+
}
|
|
611
|
+
async resume(_sandboxId) {
|
|
612
|
+
throw new ProviderError("modal", "Pause/resume not supported by Modal provider");
|
|
613
|
+
}
|
|
582
614
|
async keepAlive(_sandboxId, _durationMs) {}
|
|
583
615
|
parseCommand(command) {
|
|
584
616
|
const args = [];
|
|
@@ -751,6 +783,44 @@ var MIGRATIONS = [
|
|
|
751
783
|
);
|
|
752
784
|
|
|
753
785
|
INSERT OR IGNORE INTO _migrations (id) VALUES (1);
|
|
786
|
+
`,
|
|
787
|
+
`
|
|
788
|
+
ALTER TABLE sandboxes ADD COLUMN on_timeout TEXT NOT NULL DEFAULT 'terminate' CHECK(on_timeout IN ('pause', 'terminate'));
|
|
789
|
+
ALTER TABLE sandboxes ADD COLUMN auto_resume INTEGER NOT NULL DEFAULT 0;
|
|
790
|
+
|
|
791
|
+
CREATE TABLE IF NOT EXISTS templates (
|
|
792
|
+
id TEXT PRIMARY KEY,
|
|
793
|
+
name TEXT NOT NULL UNIQUE,
|
|
794
|
+
description TEXT,
|
|
795
|
+
image TEXT,
|
|
796
|
+
env_vars TEXT NOT NULL DEFAULT '{}',
|
|
797
|
+
setup_script TEXT,
|
|
798
|
+
tags TEXT NOT NULL DEFAULT '[]',
|
|
799
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
800
|
+
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
801
|
+
);
|
|
802
|
+
CREATE INDEX IF NOT EXISTS idx_templates_name ON templates(name);
|
|
803
|
+
|
|
804
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (2);
|
|
805
|
+
`,
|
|
806
|
+
`
|
|
807
|
+
CREATE TABLE IF NOT EXISTS sandbox_sessions_new (
|
|
808
|
+
id TEXT PRIMARY KEY,
|
|
809
|
+
sandbox_id TEXT NOT NULL REFERENCES sandboxes(id) ON DELETE CASCADE,
|
|
810
|
+
agent_name TEXT,
|
|
811
|
+
agent_type TEXT,
|
|
812
|
+
command TEXT,
|
|
813
|
+
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'killed')),
|
|
814
|
+
exit_code INTEGER,
|
|
815
|
+
started_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
816
|
+
ended_at TEXT
|
|
817
|
+
);
|
|
818
|
+
INSERT INTO sandbox_sessions_new SELECT * FROM sandbox_sessions;
|
|
819
|
+
DROP TABLE sandbox_sessions;
|
|
820
|
+
ALTER TABLE sandbox_sessions_new RENAME TO sandbox_sessions;
|
|
821
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_sandbox ON sandbox_sessions(sandbox_id);
|
|
822
|
+
CREATE INDEX IF NOT EXISTS idx_sessions_status ON sandbox_sessions(status);
|
|
823
|
+
INSERT OR IGNORE INTO _migrations (id) VALUES (3);
|
|
754
824
|
`
|
|
755
825
|
];
|
|
756
826
|
var db = null;
|
|
@@ -809,6 +879,8 @@ function rowToSandbox(row) {
|
|
|
809
879
|
env_vars: JSON.parse(row.env_vars),
|
|
810
880
|
keep_alive_until: row.keep_alive_until,
|
|
811
881
|
project_id: row.project_id,
|
|
882
|
+
on_timeout: row.on_timeout ?? "terminate",
|
|
883
|
+
auto_resume: row.auto_resume === 1,
|
|
812
884
|
created_at: row.created_at,
|
|
813
885
|
updated_at: row.updated_at
|
|
814
886
|
};
|
|
@@ -824,8 +896,10 @@ function createSandbox(input) {
|
|
|
824
896
|
const config = JSON.stringify(input.config ?? {});
|
|
825
897
|
const env_vars = JSON.stringify(input.env_vars ?? {});
|
|
826
898
|
const project_id = input.project_id ?? null;
|
|
827
|
-
|
|
828
|
-
|
|
899
|
+
const on_timeout = input.on_timeout ?? "terminate";
|
|
900
|
+
const auto_resume = input.auto_resume ? 1 : 0;
|
|
901
|
+
db2.query(`INSERT INTO sandboxes (id, provider, name, status, image, timeout, config, env_vars, project_id, on_timeout, auto_resume, created_at, updated_at)
|
|
902
|
+
VALUES (?, ?, ?, 'creating', ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, provider, name, image, timeout, config, env_vars, project_id, on_timeout, auto_resume, timestamp, timestamp);
|
|
829
903
|
return getSandbox(id);
|
|
830
904
|
}
|
|
831
905
|
function getSandbox(id) {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const SANDBOX_STATUSES: readonly ["creating", "running", "paused"
|
|
|
4
4
|
export type SandboxStatus = (typeof SANDBOX_STATUSES)[number];
|
|
5
5
|
export declare const SESSION_STATUSES: readonly ["running", "completed", "failed", "killed"];
|
|
6
6
|
export type SessionStatus = (typeof SESSION_STATUSES)[number];
|
|
7
|
-
export declare const AGENT_TYPES: readonly ["claude", "codex", "gemini", "custom"];
|
|
7
|
+
export declare const AGENT_TYPES: readonly ["claude", "codex", "gemini", "opencode", "pi", "custom"];
|
|
8
8
|
export type AgentType = (typeof AGENT_TYPES)[number];
|
|
9
9
|
export declare const EVENT_TYPES: readonly ["stdout", "stderr", "lifecycle", "agent"];
|
|
10
10
|
export type EventType = (typeof EVENT_TYPES)[number];
|
|
@@ -20,6 +20,8 @@ export interface Sandbox {
|
|
|
20
20
|
env_vars: Record<string, string>;
|
|
21
21
|
keep_alive_until: string | null;
|
|
22
22
|
project_id: string | null;
|
|
23
|
+
on_timeout: 'pause' | 'terminate';
|
|
24
|
+
auto_resume: boolean;
|
|
23
25
|
created_at: string;
|
|
24
26
|
updated_at: string;
|
|
25
27
|
}
|
|
@@ -35,6 +37,8 @@ export interface SandboxRow {
|
|
|
35
37
|
env_vars: string;
|
|
36
38
|
keep_alive_until: string | null;
|
|
37
39
|
project_id: string | null;
|
|
40
|
+
on_timeout: string;
|
|
41
|
+
auto_resume: number;
|
|
38
42
|
created_at: string;
|
|
39
43
|
updated_at: string;
|
|
40
44
|
}
|
|
@@ -46,6 +50,9 @@ export interface CreateSandboxInput {
|
|
|
46
50
|
env_vars?: Record<string, string>;
|
|
47
51
|
config?: Record<string, unknown>;
|
|
48
52
|
project_id?: string;
|
|
53
|
+
on_timeout?: 'pause' | 'terminate';
|
|
54
|
+
auto_resume?: boolean;
|
|
55
|
+
template_id?: string;
|
|
49
56
|
}
|
|
50
57
|
export interface SandboxSession {
|
|
51
58
|
id: string;
|
|
@@ -196,4 +203,37 @@ export declare class ProjectNotFoundError extends Error {
|
|
|
196
203
|
export declare class WebhookNotFoundError extends Error {
|
|
197
204
|
constructor(id: string);
|
|
198
205
|
}
|
|
206
|
+
export declare class TemplateNotFoundError extends Error {
|
|
207
|
+
constructor(id: string);
|
|
208
|
+
}
|
|
209
|
+
export interface Template {
|
|
210
|
+
id: string;
|
|
211
|
+
name: string;
|
|
212
|
+
description: string | null;
|
|
213
|
+
image: string | null;
|
|
214
|
+
env_vars: Record<string, string>;
|
|
215
|
+
setup_script: string | null;
|
|
216
|
+
tags: string[];
|
|
217
|
+
created_at: string;
|
|
218
|
+
updated_at: string;
|
|
219
|
+
}
|
|
220
|
+
export interface TemplateRow {
|
|
221
|
+
id: string;
|
|
222
|
+
name: string;
|
|
223
|
+
description: string | null;
|
|
224
|
+
image: string | null;
|
|
225
|
+
env_vars: string;
|
|
226
|
+
setup_script: string | null;
|
|
227
|
+
tags: string;
|
|
228
|
+
created_at: string;
|
|
229
|
+
updated_at: string;
|
|
230
|
+
}
|
|
231
|
+
export interface CreateTemplateInput {
|
|
232
|
+
name: string;
|
|
233
|
+
description?: string;
|
|
234
|
+
image?: string;
|
|
235
|
+
env_vars?: Record<string, string>;
|
|
236
|
+
setup_script?: string;
|
|
237
|
+
tags?: string[];
|
|
238
|
+
}
|
|
199
239
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,sCAAuC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,eAAO,MAAM,gBAAgB,2EAOnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB,uDAKnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/sandboxes",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"author": "Andrei Hasna <andrei@hasna.com>",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@daytonaio/sdk": "^0.18.0",
|
|
12
12
|
"@e2b/code-interpreter": "^1.5.0",
|
|
13
|
+
"@hasna/sandboxes": "^0.1.6",
|
|
13
14
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
14
15
|
"chalk": "^5.4.1",
|
|
15
16
|
"commander": "^13.1.0",
|