@hasna/sandboxes 0.1.21 → 0.1.22
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.d.ts +0 -1
- package/dist/cli/index.js +8 -40
- package/dist/db/agents.d.ts +0 -1
- package/dist/db/database.d.ts +0 -1
- package/dist/db/events.d.ts +0 -1
- package/dist/db/pg-migrations.d.ts +0 -1
- package/dist/db/projects.d.ts +0 -1
- package/dist/db/sandboxes.d.ts +0 -1
- package/dist/db/sessions.d.ts +0 -1
- package/dist/db/snapshots.d.ts +0 -1
- package/dist/db/templates.d.ts +0 -1
- package/dist/db/webhooks.d.ts +0 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +219 -31
- package/dist/lib/agent-runner.d.ts +0 -1
- package/dist/lib/agents/codex.d.ts +0 -1
- package/dist/lib/agents/gemini.d.ts +0 -1
- package/dist/lib/agents/index.d.ts +0 -1
- package/dist/lib/agents/opencode.d.ts +0 -1
- package/dist/lib/agents/pi.d.ts +0 -1
- package/dist/lib/agents/takumi.d.ts +0 -1
- package/dist/lib/agents/types.d.ts +0 -1
- package/dist/lib/config.d.ts +0 -1
- package/dist/lib/images.d.ts +0 -1
- package/dist/lib/keepalive.d.ts +0 -1
- package/dist/lib/runtime-state.d.ts +0 -1
- package/dist/lib/stream.d.ts +0 -1
- package/dist/lib/version.d.ts +0 -1
- package/dist/lib/webhook.d.ts +0 -1
- package/dist/mcp/index.d.ts +0 -1
- package/dist/mcp/index.js +5 -34
- package/dist/providers/daytona.d.ts +0 -1
- package/dist/providers/e2b.d.ts +0 -1
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/modal.d.ts +0 -1
- package/dist/providers/types.d.ts +0 -1
- package/dist/sdk.d.ts +59 -0
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.js +1 -1
- package/dist/server/serve.d.ts +0 -1
- package/dist/types/index.d.ts +1 -2
- package/package.json +3 -4
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/db/agents.d.ts.map +0 -1
- package/dist/db/database.d.ts.map +0 -1
- package/dist/db/events.d.ts.map +0 -1
- package/dist/db/pg-migrations.d.ts.map +0 -1
- package/dist/db/projects.d.ts.map +0 -1
- package/dist/db/sandboxes.d.ts.map +0 -1
- package/dist/db/sessions.d.ts.map +0 -1
- package/dist/db/snapshots.d.ts.map +0 -1
- package/dist/db/templates.d.ts.map +0 -1
- package/dist/db/webhooks.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/agent-runner.d.ts.map +0 -1
- package/dist/lib/agents/claude.d.ts +0 -10
- package/dist/lib/agents/claude.d.ts.map +0 -1
- package/dist/lib/agents/codex.d.ts.map +0 -1
- package/dist/lib/agents/gemini.d.ts.map +0 -1
- package/dist/lib/agents/index.d.ts.map +0 -1
- package/dist/lib/agents/opencode.d.ts.map +0 -1
- package/dist/lib/agents/pi.d.ts.map +0 -1
- package/dist/lib/agents/takumi.d.ts.map +0 -1
- package/dist/lib/agents/types.d.ts.map +0 -1
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/images.d.ts.map +0 -1
- package/dist/lib/keepalive.d.ts.map +0 -1
- package/dist/lib/runtime-state.d.ts.map +0 -1
- package/dist/lib/stream.d.ts.map +0 -1
- package/dist/lib/version.d.ts.map +0 -1
- package/dist/lib/webhook.d.ts.map +0 -1
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/providers/daytona.d.ts.map +0 -1
- package/dist/providers/e2b.d.ts.map +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/modal.d.ts.map +0 -1
- package/dist/providers/types.d.ts.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/serve.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -11598,7 +11598,7 @@ var init_database = __esm(() => {
|
|
|
11598
11598
|
id TEXT PRIMARY KEY,
|
|
11599
11599
|
sandbox_id TEXT NOT NULL REFERENCES sandboxes(id) ON DELETE CASCADE,
|
|
11600
11600
|
agent_name TEXT,
|
|
11601
|
-
agent_type TEXT CHECK(agent_type IN ('
|
|
11601
|
+
agent_type TEXT CHECK(agent_type IN ('codex', 'gemini', 'opencode', 'pi', 'takumi', 'custom')),
|
|
11602
11602
|
command TEXT,
|
|
11603
11603
|
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'killed')),
|
|
11604
11604
|
exit_code INTEGER,
|
|
@@ -12809,29 +12809,6 @@ var init_runtime_state = __esm(() => {
|
|
|
12809
12809
|
init_sandboxes();
|
|
12810
12810
|
});
|
|
12811
12811
|
|
|
12812
|
-
// src/lib/agents/claude.ts
|
|
12813
|
-
class ClaudeDriver {
|
|
12814
|
-
name = "claude";
|
|
12815
|
-
requiredEnvVars = ["ANTHROPIC_API_KEY"];
|
|
12816
|
-
async install(provider, providerSandboxId) {
|
|
12817
|
-
const check = await provider.exec(providerSandboxId, "which claude 2>/dev/null || echo MISSING");
|
|
12818
|
-
if (check.stdout.trim() !== "MISSING")
|
|
12819
|
-
return;
|
|
12820
|
-
await provider.exec(providerSandboxId, "npm install -g @anthropic-ai/claude-code 2>&1 || sudo npm install -g @anthropic-ai/claude-code 2>&1");
|
|
12821
|
-
}
|
|
12822
|
-
async configure(provider, providerSandboxId, _envVars) {
|
|
12823
|
-
const config = JSON.stringify({
|
|
12824
|
-
hasCompletedOnboarding: true,
|
|
12825
|
-
hasTrustDialogAccepted: true,
|
|
12826
|
-
hasAcknowledgedCostThreshold: true
|
|
12827
|
-
});
|
|
12828
|
-
await provider.exec(providerSandboxId, `mkdir -p ~/.claude && echo '${config}' > ~/.claude.json`);
|
|
12829
|
-
}
|
|
12830
|
-
buildCommand(prompt) {
|
|
12831
|
-
return `claude --dangerously-skip-permissions -p ${JSON.stringify(prompt)}`;
|
|
12832
|
-
}
|
|
12833
|
-
}
|
|
12834
|
-
|
|
12835
12812
|
// src/lib/agents/codex.ts
|
|
12836
12813
|
class CodexDriver {
|
|
12837
12814
|
name = "codex";
|
|
@@ -12915,9 +12892,9 @@ class TakumiDriver {
|
|
|
12915
12892
|
return;
|
|
12916
12893
|
const bunCheck = await provider.exec(providerSandboxId, "which bun 2>/dev/null || echo MISSING");
|
|
12917
12894
|
if (bunCheck.stdout.trim() !== "MISSING") {
|
|
12918
|
-
await provider.exec(providerSandboxId, "bun install -g @
|
|
12895
|
+
await provider.exec(providerSandboxId, "bun install -g @hasna/takumi 2>&1");
|
|
12919
12896
|
} else {
|
|
12920
|
-
await provider.exec(providerSandboxId, "npm install -g @
|
|
12897
|
+
await provider.exec(providerSandboxId, "npm install -g @hasna/takumi 2>&1 || sudo npm install -g @hasna/takumi 2>&1");
|
|
12921
12898
|
}
|
|
12922
12899
|
}
|
|
12923
12900
|
async configure(provider, providerSandboxId, envVars) {
|
|
@@ -12944,7 +12921,6 @@ function getAgentDriver(name) {
|
|
|
12944
12921
|
var DRIVERS, DRIVER_MAP;
|
|
12945
12922
|
var init_agents = __esm(() => {
|
|
12946
12923
|
DRIVERS = [
|
|
12947
|
-
new ClaudeDriver,
|
|
12948
12924
|
new CodexDriver,
|
|
12949
12925
|
new GeminiDriver,
|
|
12950
12926
|
new OpenCodeDriver,
|
|
@@ -13058,7 +13034,7 @@ async function stopAgent(sandboxId) {
|
|
|
13058
13034
|
return;
|
|
13059
13035
|
const provider = await getProvider(sandbox.provider);
|
|
13060
13036
|
try {
|
|
13061
|
-
await provider.exec(sandbox.provider_sandbox_id, "pkill -f '
|
|
13037
|
+
await provider.exec(sandbox.provider_sandbox_id, "pkill -f 'codex\\|gemini\\|opencode\\|pi\\|takumi' || true");
|
|
13062
13038
|
} catch {}
|
|
13063
13039
|
emitLifecycleEvent(sandbox.id, "Agent stopped by user");
|
|
13064
13040
|
}
|
|
@@ -13092,7 +13068,6 @@ init_sandboxes();
|
|
|
13092
13068
|
init_sessions();
|
|
13093
13069
|
init_events();
|
|
13094
13070
|
import chalk from "chalk";
|
|
13095
|
-
import { execSync } from "child_process";
|
|
13096
13071
|
|
|
13097
13072
|
// src/db/agents.ts
|
|
13098
13073
|
init_database();
|
|
@@ -13483,7 +13458,7 @@ filesCmd.command("write <id> <path>").description("Write content to a file in a
|
|
|
13483
13458
|
}
|
|
13484
13459
|
});
|
|
13485
13460
|
var agentCmd = program2.command("agent").description("Run and manage AI agents in sandboxes");
|
|
13486
|
-
agentCmd.command("run <id>").description("Run an AI agent inside a sandbox").requiredOption("-t, --type <type>", "Agent type:
|
|
13461
|
+
agentCmd.command("run <id>").description("Run an AI agent inside a sandbox").requiredOption("-t, --type <type>", "Agent type: takumi, codex, gemini, opencode, pi, custom").requiredOption("-p, --prompt <prompt>", "Prompt for the agent").option("-n, --name <name>", "Agent name").option("-c, --command <cmd>", "Custom command (for 'custom' type)").action(async (id, opts) => {
|
|
13487
13462
|
try {
|
|
13488
13463
|
const { runAgent: runAgent2 } = await Promise.resolve().then(() => (init_agent_runner(), exports_agent_runner));
|
|
13489
13464
|
const session = await runAgent2(id, {
|
|
@@ -13577,24 +13552,17 @@ program2.command("agents").description("List registered agents").action(() => {
|
|
|
13577
13552
|
handleError(err);
|
|
13578
13553
|
}
|
|
13579
13554
|
});
|
|
13580
|
-
program2.command("mcp").description("Install MCP server for AI
|
|
13555
|
+
program2.command("mcp").description("Install MCP server for supported AI clients").option("--codex", "Install for Codex").option("--gemini", "Install for Gemini").action((opts) => {
|
|
13581
13556
|
try {
|
|
13582
13557
|
const targets = [];
|
|
13583
13558
|
if (opts.codex)
|
|
13584
13559
|
targets.push("codex");
|
|
13585
13560
|
if (opts.gemini)
|
|
13586
13561
|
targets.push("gemini");
|
|
13587
|
-
if (
|
|
13588
|
-
targets.push("
|
|
13562
|
+
if (targets.length === 0)
|
|
13563
|
+
targets.push("codex");
|
|
13589
13564
|
for (const target of targets) {
|
|
13590
13565
|
switch (target) {
|
|
13591
|
-
case "claude": {
|
|
13592
|
-
const cmd = `claude mcp add --transport stdio --scope user sandboxes -- bunx --bun --package @hasna/sandboxes sandboxes-mcp`;
|
|
13593
|
-
console.log(chalk.dim(`Running: ${cmd}`));
|
|
13594
|
-
execSync(cmd, { stdio: "inherit" });
|
|
13595
|
-
console.log(chalk.green("Installed MCP server for Claude Code."));
|
|
13596
|
-
break;
|
|
13597
|
-
}
|
|
13598
13566
|
case "codex": {
|
|
13599
13567
|
console.log(chalk.yellow("Codex MCP installation: add the following to ~/.codex/config.toml:"));
|
|
13600
13568
|
console.log();
|
package/dist/db/agents.d.ts
CHANGED
|
@@ -7,4 +7,3 @@ export declare function listAgents(): Agent[];
|
|
|
7
7
|
export declare function heartbeatAgent(idOrName: string): Agent;
|
|
8
8
|
export declare function setAgentFocus(idOrName: string, projectId: string | null): Agent;
|
|
9
9
|
export declare function deleteAgent(id: string): void;
|
|
10
|
-
//# sourceMappingURL=agents.d.ts.map
|
package/dist/db/database.d.ts
CHANGED
package/dist/db/events.d.ts
CHANGED
package/dist/db/projects.d.ts
CHANGED
|
@@ -6,4 +6,3 @@ export declare function getProjectByPath(path: string): Project | null;
|
|
|
6
6
|
export declare function listProjects(): Project[];
|
|
7
7
|
export declare function ensureProject(name: string, path: string, description?: string): Project;
|
|
8
8
|
export declare function deleteProject(id: string): void;
|
|
9
|
-
//# sourceMappingURL=projects.d.ts.map
|
package/dist/db/sandboxes.d.ts
CHANGED
|
@@ -9,4 +9,3 @@ export declare function listSandboxes(opts?: {
|
|
|
9
9
|
}): Sandbox[];
|
|
10
10
|
export declare function updateSandbox(id: string, updates: Partial<Pick<Sandbox, "status" | "provider_sandbox_id" | "name" | "image" | "timeout" | "config" | "env_vars" | "keep_alive_until" | "started_at">>): Sandbox;
|
|
11
11
|
export declare function deleteSandbox(id: string): void;
|
|
12
|
-
//# sourceMappingURL=sandboxes.d.ts.map
|
package/dist/db/sessions.d.ts
CHANGED
|
@@ -8,4 +8,3 @@ export declare function listSessions(opts?: {
|
|
|
8
8
|
}): SandboxSession[];
|
|
9
9
|
export declare function updateSession(id: string, updates: Partial<Pick<SandboxSession, "status" | "exit_code">>): SandboxSession;
|
|
10
10
|
export declare function endSession(id: string, exit_code: number, status?: SessionStatus): SandboxSession;
|
|
11
|
-
//# sourceMappingURL=sessions.d.ts.map
|
package/dist/db/snapshots.d.ts
CHANGED
|
@@ -26,4 +26,3 @@ export declare function createSnapshot(input: {
|
|
|
26
26
|
export declare function getSnapshot(id: string): Snapshot;
|
|
27
27
|
export declare function listSnapshots(sandboxId?: string): Snapshot[];
|
|
28
28
|
export declare function deleteSnapshot(id: string): void;
|
|
29
|
-
//# sourceMappingURL=snapshots.d.ts.map
|
package/dist/db/templates.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export declare function getTemplate(id: string): Template;
|
|
|
4
4
|
export declare function getTemplateByName(name: string): Template | null;
|
|
5
5
|
export declare function listTemplates(): Template[];
|
|
6
6
|
export declare function deleteTemplate(id: string): void;
|
|
7
|
-
//# sourceMappingURL=templates.d.ts.map
|
package/dist/db/webhooks.d.ts
CHANGED
|
@@ -4,4 +4,3 @@ export declare function createWebhook(input: CreateWebhookInput): Webhook;
|
|
|
4
4
|
export declare function getWebhook(id: string): Webhook;
|
|
5
5
|
export declare function listWebhooks(): Webhook[];
|
|
6
6
|
export declare function deleteWebhook(id: string): void;
|
|
7
|
-
//# sourceMappingURL=webhooks.d.ts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,8 @@ export { loadConfig, saveConfig, getDefaultProvider, getDefaultTimeout, getDefau
|
|
|
14
14
|
export { BUILTIN_IMAGES, resolveImage, getBuiltinImageSetupScript } from "./lib/images.js";
|
|
15
15
|
export { getProvider } from "./providers/index.js";
|
|
16
16
|
export type { SandboxProvider, ProviderSandbox, CreateSandboxOpts, ExecOptions } from "./providers/types.js";
|
|
17
|
+
export { SandboxesSDK, createSandboxesSDK, } from "./sdk.js";
|
|
18
|
+
export type { ExecCommandResult, ProviderFactory, RunAgentOptions, SandboxesSDKOptions, WaitForSessionOptions, } from "./sdk.js";
|
|
17
19
|
export { createStreamCollector, addStreamListener, emitLifecycleEvent } from "./lib/stream.js";
|
|
18
20
|
export { getAgentDriver, listAgentDrivers } from "./lib/agents/index.js";
|
|
19
21
|
export type { AgentDriver } from "./lib/agents/types.js";
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,7 @@ var init_types = __esm(() => {
|
|
|
34
34
|
"failed",
|
|
35
35
|
"killed"
|
|
36
36
|
];
|
|
37
|
-
AGENT_TYPES = ["
|
|
37
|
+
AGENT_TYPES = ["codex", "gemini", "opencode", "pi", "takumi", "custom"];
|
|
38
38
|
EVENT_TYPES = [
|
|
39
39
|
"stdout",
|
|
40
40
|
"stderr",
|
|
@@ -10340,7 +10340,7 @@ var MIGRATIONS = [
|
|
|
10340
10340
|
id TEXT PRIMARY KEY,
|
|
10341
10341
|
sandbox_id TEXT NOT NULL REFERENCES sandboxes(id) ON DELETE CASCADE,
|
|
10342
10342
|
agent_name TEXT,
|
|
10343
|
-
agent_type TEXT CHECK(agent_type IN ('
|
|
10343
|
+
agent_type TEXT CHECK(agent_type IN ('codex', 'gemini', 'opencode', 'pi', 'takumi', 'custom')),
|
|
10344
10344
|
command TEXT,
|
|
10345
10345
|
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'killed')),
|
|
10346
10346
|
exit_code INTEGER,
|
|
@@ -11098,11 +11098,6 @@ var BUILTIN_IMAGES = {
|
|
|
11098
11098
|
description: "Node 20 + npm + pnpm + yarn",
|
|
11099
11099
|
setup_script: "curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g pnpm yarn"
|
|
11100
11100
|
},
|
|
11101
|
-
"node20-claude": {
|
|
11102
|
-
e2b: "e2bdev/base:latest",
|
|
11103
|
-
description: "Node 20 + Claude Code CLI pre-installed",
|
|
11104
|
-
setup_script: `curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g @anthropic-ai/claude-code && mkdir -p ~/.claude && echo '{"hasCompletedOnboarding":true,"hasTrustDialogAccepted":true,"hasAcknowledgedCostThreshold":true}' > ~/.claude.json`
|
|
11105
|
-
},
|
|
11106
11101
|
"node20-codex": {
|
|
11107
11102
|
e2b: "e2bdev/base:latest",
|
|
11108
11103
|
description: "Node 20 + Codex CLI pre-installed",
|
|
@@ -11231,27 +11226,20 @@ function emitLifecycleEvent(sandboxId, message) {
|
|
|
11231
11226
|
});
|
|
11232
11227
|
notifyListeners(sandboxId, "lifecycle", message);
|
|
11233
11228
|
}
|
|
11234
|
-
|
|
11235
|
-
|
|
11236
|
-
|
|
11237
|
-
|
|
11238
|
-
|
|
11239
|
-
|
|
11240
|
-
|
|
11241
|
-
|
|
11242
|
-
|
|
11243
|
-
|
|
11244
|
-
|
|
11245
|
-
|
|
11246
|
-
|
|
11247
|
-
|
|
11248
|
-
hasAcknowledgedCostThreshold: true
|
|
11249
|
-
});
|
|
11250
|
-
await provider.exec(providerSandboxId, `mkdir -p ~/.claude && echo '${config}' > ~/.claude.json`);
|
|
11251
|
-
}
|
|
11252
|
-
buildCommand(prompt) {
|
|
11253
|
-
return `claude --dangerously-skip-permissions -p ${JSON.stringify(prompt)}`;
|
|
11254
|
-
}
|
|
11229
|
+
|
|
11230
|
+
// src/lib/runtime-state.ts
|
|
11231
|
+
function getErrorMessage(error) {
|
|
11232
|
+
return error instanceof Error ? error.message : String(error);
|
|
11233
|
+
}
|
|
11234
|
+
function finalizeSessionExit(sessionId, exitCode) {
|
|
11235
|
+
endSession(sessionId, exitCode, exitCode === 0 ? "completed" : "failed");
|
|
11236
|
+
}
|
|
11237
|
+
function finalizeSessionFailure(sessionId, _error, exitCode = 1) {
|
|
11238
|
+
endSession(sessionId, exitCode, "failed");
|
|
11239
|
+
}
|
|
11240
|
+
function finalizeSandboxProvisionFailure(sandboxId, error) {
|
|
11241
|
+
updateSandbox(sandboxId, { status: "error" });
|
|
11242
|
+
return getErrorMessage(error);
|
|
11255
11243
|
}
|
|
11256
11244
|
|
|
11257
11245
|
// src/lib/agents/codex.ts
|
|
@@ -11337,9 +11325,9 @@ class TakumiDriver {
|
|
|
11337
11325
|
return;
|
|
11338
11326
|
const bunCheck = await provider.exec(providerSandboxId, "which bun 2>/dev/null || echo MISSING");
|
|
11339
11327
|
if (bunCheck.stdout.trim() !== "MISSING") {
|
|
11340
|
-
await provider.exec(providerSandboxId, "bun install -g @
|
|
11328
|
+
await provider.exec(providerSandboxId, "bun install -g @hasna/takumi 2>&1");
|
|
11341
11329
|
} else {
|
|
11342
|
-
await provider.exec(providerSandboxId, "npm install -g @
|
|
11330
|
+
await provider.exec(providerSandboxId, "npm install -g @hasna/takumi 2>&1 || sudo npm install -g @hasna/takumi 2>&1");
|
|
11343
11331
|
}
|
|
11344
11332
|
}
|
|
11345
11333
|
async configure(provider, providerSandboxId, envVars) {
|
|
@@ -11361,7 +11349,6 @@ class TakumiDriver {
|
|
|
11361
11349
|
|
|
11362
11350
|
// src/lib/agents/index.ts
|
|
11363
11351
|
var DRIVERS = [
|
|
11364
|
-
new ClaudeDriver,
|
|
11365
11352
|
new CodexDriver,
|
|
11366
11353
|
new GeminiDriver,
|
|
11367
11354
|
new OpenCodeDriver,
|
|
@@ -11375,6 +11362,205 @@ function getAgentDriver(name) {
|
|
|
11375
11362
|
function listAgentDrivers() {
|
|
11376
11363
|
return DRIVERS;
|
|
11377
11364
|
}
|
|
11365
|
+
|
|
11366
|
+
// src/sdk.ts
|
|
11367
|
+
function isExecHandle(value) {
|
|
11368
|
+
return typeof value.wait === "function";
|
|
11369
|
+
}
|
|
11370
|
+
function mergeEnv(sandboxEnv, callEnv) {
|
|
11371
|
+
const merged = { ...sandboxEnv, ...callEnv };
|
|
11372
|
+
return Object.keys(merged).length > 0 ? merged : undefined;
|
|
11373
|
+
}
|
|
11374
|
+
|
|
11375
|
+
class SandboxesSDK {
|
|
11376
|
+
defaultProvider;
|
|
11377
|
+
providerApiKeys;
|
|
11378
|
+
providerFactory;
|
|
11379
|
+
constructor(options = {}) {
|
|
11380
|
+
this.defaultProvider = options.defaultProvider;
|
|
11381
|
+
this.providerApiKeys = options.providerApiKeys ?? {};
|
|
11382
|
+
this.providerFactory = options.providerFactory ?? ((name, apiKey) => getProvider(name, apiKey));
|
|
11383
|
+
}
|
|
11384
|
+
async createSandbox(input = {}) {
|
|
11385
|
+
const providerName = input.provider ?? this.defaultProvider ?? getDefaultProvider();
|
|
11386
|
+
const timeout = input.timeout ?? getDefaultTimeout();
|
|
11387
|
+
const sandbox = createSandbox({
|
|
11388
|
+
...input,
|
|
11389
|
+
provider: providerName,
|
|
11390
|
+
timeout
|
|
11391
|
+
});
|
|
11392
|
+
try {
|
|
11393
|
+
const provider = await this.getProvider(providerName);
|
|
11394
|
+
const providerSandbox = await provider.create({
|
|
11395
|
+
image: sandbox.image ?? undefined,
|
|
11396
|
+
timeout: sandbox.timeout,
|
|
11397
|
+
envVars: sandbox.env_vars,
|
|
11398
|
+
onTimeout: sandbox.on_timeout,
|
|
11399
|
+
autoResume: sandbox.auto_resume
|
|
11400
|
+
});
|
|
11401
|
+
const updated = updateSandbox(sandbox.id, {
|
|
11402
|
+
provider_sandbox_id: providerSandbox.id,
|
|
11403
|
+
status: "running",
|
|
11404
|
+
started_at: new Date().toISOString()
|
|
11405
|
+
});
|
|
11406
|
+
emitLifecycleEvent(updated.id, "sandbox created");
|
|
11407
|
+
return updated;
|
|
11408
|
+
} catch (error) {
|
|
11409
|
+
finalizeSandboxProvisionFailure(sandbox.id, error);
|
|
11410
|
+
throw error;
|
|
11411
|
+
}
|
|
11412
|
+
}
|
|
11413
|
+
getSandbox(id) {
|
|
11414
|
+
return getSandbox(id);
|
|
11415
|
+
}
|
|
11416
|
+
listSandboxes(filters) {
|
|
11417
|
+
return listSandboxes(filters);
|
|
11418
|
+
}
|
|
11419
|
+
async stopSandbox(id) {
|
|
11420
|
+
const sandbox = getSandbox(id);
|
|
11421
|
+
if (sandbox.provider_sandbox_id) {
|
|
11422
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11423
|
+
await provider.stop(sandbox.provider_sandbox_id);
|
|
11424
|
+
}
|
|
11425
|
+
const updated = updateSandbox(sandbox.id, { status: "stopped" });
|
|
11426
|
+
emitLifecycleEvent(updated.id, "sandbox stopped");
|
|
11427
|
+
return updated;
|
|
11428
|
+
}
|
|
11429
|
+
async deleteSandbox(id) {
|
|
11430
|
+
const sandbox = getSandbox(id);
|
|
11431
|
+
if (sandbox.provider_sandbox_id) {
|
|
11432
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11433
|
+
await provider.delete(sandbox.provider_sandbox_id);
|
|
11434
|
+
}
|
|
11435
|
+
emitLifecycleEvent(sandbox.id, "sandbox deleted");
|
|
11436
|
+
deleteSandbox(sandbox.id);
|
|
11437
|
+
}
|
|
11438
|
+
async execCommand(sandboxId, command, opts = {}) {
|
|
11439
|
+
const sandbox = this.requireProviderSandbox(sandboxId);
|
|
11440
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11441
|
+
const session = createSession({
|
|
11442
|
+
sandbox_id: sandbox.id,
|
|
11443
|
+
command
|
|
11444
|
+
});
|
|
11445
|
+
const collector = createStreamCollector(sandbox.id, session.id);
|
|
11446
|
+
try {
|
|
11447
|
+
const resultOrHandle = await provider.exec(sandbox.provider_sandbox_id, command, {
|
|
11448
|
+
...opts,
|
|
11449
|
+
env: mergeEnv(sandbox.env_vars, opts.env),
|
|
11450
|
+
onStdout: (data) => {
|
|
11451
|
+
collector.onStdout(data);
|
|
11452
|
+
opts.onStdout?.(data);
|
|
11453
|
+
},
|
|
11454
|
+
onStderr: (data) => {
|
|
11455
|
+
collector.onStderr(data);
|
|
11456
|
+
opts.onStderr?.(data);
|
|
11457
|
+
}
|
|
11458
|
+
});
|
|
11459
|
+
const result = isExecHandle(resultOrHandle) ? await resultOrHandle.wait() : resultOrHandle;
|
|
11460
|
+
finalizeSessionExit(session.id, result.exit_code);
|
|
11461
|
+
return {
|
|
11462
|
+
session: getSession(session.id),
|
|
11463
|
+
result
|
|
11464
|
+
};
|
|
11465
|
+
} catch (error) {
|
|
11466
|
+
finalizeSessionFailure(session.id, error);
|
|
11467
|
+
throw error;
|
|
11468
|
+
}
|
|
11469
|
+
}
|
|
11470
|
+
async readFile(sandboxId, path, opts) {
|
|
11471
|
+
const sandbox = this.requireProviderSandbox(sandboxId);
|
|
11472
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11473
|
+
return provider.readFile(sandbox.provider_sandbox_id, path, opts);
|
|
11474
|
+
}
|
|
11475
|
+
async writeFile(sandboxId, path, content) {
|
|
11476
|
+
const sandbox = this.requireProviderSandbox(sandboxId);
|
|
11477
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11478
|
+
await provider.writeFile(sandbox.provider_sandbox_id, path, content);
|
|
11479
|
+
}
|
|
11480
|
+
async listFiles(sandboxId, path, opts) {
|
|
11481
|
+
const sandbox = this.requireProviderSandbox(sandboxId);
|
|
11482
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11483
|
+
return provider.listFiles(sandbox.provider_sandbox_id, path, opts);
|
|
11484
|
+
}
|
|
11485
|
+
async runAgent(sandboxId, opts) {
|
|
11486
|
+
const sandbox = this.requireProviderSandbox(sandboxId);
|
|
11487
|
+
const provider = await this.getProvider(sandbox.provider);
|
|
11488
|
+
const env = mergeEnv(sandbox.env_vars, opts.callEnvVars);
|
|
11489
|
+
let command;
|
|
11490
|
+
const driver = opts.agentType !== "custom" ? getAgentDriver(opts.agentType) : undefined;
|
|
11491
|
+
if (opts.command) {
|
|
11492
|
+
command = opts.command;
|
|
11493
|
+
} else if (driver) {
|
|
11494
|
+
await driver.install(provider, sandbox.provider_sandbox_id);
|
|
11495
|
+
await driver.configure(provider, sandbox.provider_sandbox_id, env ?? {});
|
|
11496
|
+
command = driver.buildCommand(opts.prompt);
|
|
11497
|
+
} else {
|
|
11498
|
+
command = opts.prompt;
|
|
11499
|
+
}
|
|
11500
|
+
const session = createSession({
|
|
11501
|
+
sandbox_id: sandbox.id,
|
|
11502
|
+
agent_name: opts.agentName,
|
|
11503
|
+
agent_type: opts.agentType,
|
|
11504
|
+
command
|
|
11505
|
+
});
|
|
11506
|
+
const collector = createStreamCollector(sandbox.id, session.id);
|
|
11507
|
+
emitLifecycleEvent(sandbox.id, `Agent ${opts.agentType} started: ${opts.prompt.slice(0, 100)}`);
|
|
11508
|
+
provider.exec(sandbox.provider_sandbox_id, command, {
|
|
11509
|
+
env,
|
|
11510
|
+
onStdout: (data) => {
|
|
11511
|
+
collector.onStdout(data);
|
|
11512
|
+
opts.onStdout?.(data);
|
|
11513
|
+
},
|
|
11514
|
+
onStderr: (data) => {
|
|
11515
|
+
collector.onStderr(data);
|
|
11516
|
+
opts.onStderr?.(data);
|
|
11517
|
+
}
|
|
11518
|
+
}).then(async (resultOrHandle) => {
|
|
11519
|
+
const result = isExecHandle(resultOrHandle) ? await resultOrHandle.wait() : resultOrHandle;
|
|
11520
|
+
finalizeSessionExit(session.id, result.exit_code);
|
|
11521
|
+
emitLifecycleEvent(sandbox.id, `Agent ${opts.agentType} finished with exit code ${result.exit_code}`);
|
|
11522
|
+
}).catch((error) => {
|
|
11523
|
+
finalizeSessionFailure(session.id, error);
|
|
11524
|
+
emitLifecycleEvent(sandbox.id, `Agent ${opts.agentType} failed: ${error.message}`);
|
|
11525
|
+
});
|
|
11526
|
+
return session;
|
|
11527
|
+
}
|
|
11528
|
+
getSession(sessionId) {
|
|
11529
|
+
return getSession(sessionId);
|
|
11530
|
+
}
|
|
11531
|
+
async waitForSession(sessionId, opts = {}) {
|
|
11532
|
+
const timeoutMs = opts.timeoutMs ?? 300000;
|
|
11533
|
+
const pollIntervalMs = opts.pollIntervalMs ?? 100;
|
|
11534
|
+
const deadline = Date.now() + timeoutMs;
|
|
11535
|
+
while (Date.now() <= deadline) {
|
|
11536
|
+
const session = getSession(sessionId);
|
|
11537
|
+
if (session.status !== "running") {
|
|
11538
|
+
return session;
|
|
11539
|
+
}
|
|
11540
|
+
await new Promise((resolve2) => setTimeout(resolve2, pollIntervalMs));
|
|
11541
|
+
}
|
|
11542
|
+
throw new Error(`Session ${sessionId} did not finish within ${timeoutMs}ms`);
|
|
11543
|
+
}
|
|
11544
|
+
listEvents(filters) {
|
|
11545
|
+
return listEvents(filters);
|
|
11546
|
+
}
|
|
11547
|
+
onSandboxEvent(sandboxId, listener) {
|
|
11548
|
+
return addStreamListener(sandboxId, listener);
|
|
11549
|
+
}
|
|
11550
|
+
async getProvider(providerName) {
|
|
11551
|
+
return this.providerFactory(providerName, this.providerApiKeys[providerName]);
|
|
11552
|
+
}
|
|
11553
|
+
requireProviderSandbox(sandboxId) {
|
|
11554
|
+
const sandbox = getSandbox(sandboxId);
|
|
11555
|
+
if (!sandbox.provider_sandbox_id) {
|
|
11556
|
+
throw new Error(`Sandbox ${sandbox.id} has no provider sandbox ID`);
|
|
11557
|
+
}
|
|
11558
|
+
return sandbox;
|
|
11559
|
+
}
|
|
11560
|
+
}
|
|
11561
|
+
function createSandboxesSDK(options) {
|
|
11562
|
+
return new SandboxesSDK(options);
|
|
11563
|
+
}
|
|
11378
11564
|
export {
|
|
11379
11565
|
uuid,
|
|
11380
11566
|
updateSession,
|
|
@@ -11430,6 +11616,7 @@ export {
|
|
|
11430
11616
|
createStreamCollector,
|
|
11431
11617
|
createSnapshot,
|
|
11432
11618
|
createSession,
|
|
11619
|
+
createSandboxesSDK,
|
|
11433
11620
|
createSandbox,
|
|
11434
11621
|
createProject,
|
|
11435
11622
|
closeDatabase,
|
|
@@ -11439,6 +11626,7 @@ export {
|
|
|
11439
11626
|
TemplateNotFoundError,
|
|
11440
11627
|
SnapshotNotFoundError,
|
|
11441
11628
|
SessionNotFoundError,
|
|
11629
|
+
SandboxesSDK,
|
|
11442
11630
|
SandboxNotFoundError,
|
|
11443
11631
|
SESSION_STATUSES,
|
|
11444
11632
|
SANDBOX_STATUSES,
|
package/dist/lib/agents/pi.d.ts
CHANGED
package/dist/lib/config.d.ts
CHANGED
|
@@ -7,4 +7,3 @@ export declare function getDefaultImage(): string | undefined;
|
|
|
7
7
|
export declare function getProviderApiKey(provider: SandboxProviderName): string | undefined;
|
|
8
8
|
export declare function setConfigValue(key: string, value: string): void;
|
|
9
9
|
export declare function getConfigValue(key: string): string | undefined;
|
|
10
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/lib/images.d.ts
CHANGED
package/dist/lib/keepalive.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ export declare function startKeepAlive(sandboxId: string, intervalMs?: number):
|
|
|
2
2
|
export declare function stopKeepAlive(sandboxId: string): void;
|
|
3
3
|
export declare function isKeepAliveActive(sandboxId: string): boolean;
|
|
4
4
|
export declare function stopAllKeepAlives(): void;
|
|
5
|
-
//# sourceMappingURL=keepalive.d.ts.map
|
|
@@ -2,4 +2,3 @@ export declare function getErrorMessage(error: unknown): string;
|
|
|
2
2
|
export declare function finalizeSessionExit(sessionId: string, exitCode: number): void;
|
|
3
3
|
export declare function finalizeSessionFailure(sessionId: string, _error?: unknown, exitCode?: number): void;
|
|
4
4
|
export declare function finalizeSandboxProvisionFailure(sandboxId: string, error?: unknown): string;
|
|
5
|
-
//# sourceMappingURL=runtime-state.d.ts.map
|
package/dist/lib/stream.d.ts
CHANGED
package/dist/lib/version.d.ts
CHANGED
package/dist/lib/webhook.d.ts
CHANGED
|
@@ -11,4 +11,3 @@ export declare function dispatchWebhook(event: string, data: {
|
|
|
11
11
|
[key: string]: unknown;
|
|
12
12
|
}): Promise<void>;
|
|
13
13
|
export declare const WEBHOOK_EVENTS: readonly ["sandbox.created", "sandbox.started", "sandbox.stopped", "sandbox.deleted", "session.started", "session.completed", "session.output"];
|
|
14
|
-
//# sourceMappingURL=webhook.d.ts.map
|
package/dist/mcp/index.d.ts
CHANGED
package/dist/mcp/index.js
CHANGED
|
@@ -14941,7 +14941,7 @@ var MIGRATIONS = [
|
|
|
14941
14941
|
id TEXT PRIMARY KEY,
|
|
14942
14942
|
sandbox_id TEXT NOT NULL REFERENCES sandboxes(id) ON DELETE CASCADE,
|
|
14943
14943
|
agent_name TEXT,
|
|
14944
|
-
agent_type TEXT CHECK(agent_type IN ('
|
|
14944
|
+
agent_type TEXT CHECK(agent_type IN ('codex', 'gemini', 'opencode', 'pi', 'takumi', 'custom')),
|
|
14945
14945
|
command TEXT,
|
|
14946
14946
|
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'killed')),
|
|
14947
14947
|
exit_code INTEGER,
|
|
@@ -15650,29 +15650,6 @@ function emitLifecycleEvent(sandboxId, message) {
|
|
|
15650
15650
|
notifyListeners(sandboxId, "lifecycle", message);
|
|
15651
15651
|
}
|
|
15652
15652
|
|
|
15653
|
-
// src/lib/agents/claude.ts
|
|
15654
|
-
class ClaudeDriver {
|
|
15655
|
-
name = "claude";
|
|
15656
|
-
requiredEnvVars = ["ANTHROPIC_API_KEY"];
|
|
15657
|
-
async install(provider, providerSandboxId) {
|
|
15658
|
-
const check = await provider.exec(providerSandboxId, "which claude 2>/dev/null || echo MISSING");
|
|
15659
|
-
if (check.stdout.trim() !== "MISSING")
|
|
15660
|
-
return;
|
|
15661
|
-
await provider.exec(providerSandboxId, "npm install -g @anthropic-ai/claude-code 2>&1 || sudo npm install -g @anthropic-ai/claude-code 2>&1");
|
|
15662
|
-
}
|
|
15663
|
-
async configure(provider, providerSandboxId, _envVars) {
|
|
15664
|
-
const config = JSON.stringify({
|
|
15665
|
-
hasCompletedOnboarding: true,
|
|
15666
|
-
hasTrustDialogAccepted: true,
|
|
15667
|
-
hasAcknowledgedCostThreshold: true
|
|
15668
|
-
});
|
|
15669
|
-
await provider.exec(providerSandboxId, `mkdir -p ~/.claude && echo '${config}' > ~/.claude.json`);
|
|
15670
|
-
}
|
|
15671
|
-
buildCommand(prompt) {
|
|
15672
|
-
return `claude --dangerously-skip-permissions -p ${JSON.stringify(prompt)}`;
|
|
15673
|
-
}
|
|
15674
|
-
}
|
|
15675
|
-
|
|
15676
15653
|
// src/lib/agents/codex.ts
|
|
15677
15654
|
class CodexDriver {
|
|
15678
15655
|
name = "codex";
|
|
@@ -15756,9 +15733,9 @@ class TakumiDriver {
|
|
|
15756
15733
|
return;
|
|
15757
15734
|
const bunCheck = await provider.exec(providerSandboxId, "which bun 2>/dev/null || echo MISSING");
|
|
15758
15735
|
if (bunCheck.stdout.trim() !== "MISSING") {
|
|
15759
|
-
await provider.exec(providerSandboxId, "bun install -g @
|
|
15736
|
+
await provider.exec(providerSandboxId, "bun install -g @hasna/takumi 2>&1");
|
|
15760
15737
|
} else {
|
|
15761
|
-
await provider.exec(providerSandboxId, "npm install -g @
|
|
15738
|
+
await provider.exec(providerSandboxId, "npm install -g @hasna/takumi 2>&1 || sudo npm install -g @hasna/takumi 2>&1");
|
|
15762
15739
|
}
|
|
15763
15740
|
}
|
|
15764
15741
|
async configure(provider, providerSandboxId, envVars) {
|
|
@@ -15780,7 +15757,6 @@ class TakumiDriver {
|
|
|
15780
15757
|
|
|
15781
15758
|
// src/lib/agents/index.ts
|
|
15782
15759
|
var DRIVERS = [
|
|
15783
|
-
new ClaudeDriver,
|
|
15784
15760
|
new CodexDriver,
|
|
15785
15761
|
new GeminiDriver,
|
|
15786
15762
|
new OpenCodeDriver,
|
|
@@ -15906,7 +15882,7 @@ async function stopAgent(sandboxId) {
|
|
|
15906
15882
|
return;
|
|
15907
15883
|
const provider = await getProvider(sandbox.provider);
|
|
15908
15884
|
try {
|
|
15909
|
-
await provider.exec(sandbox.provider_sandbox_id, "pkill -f '
|
|
15885
|
+
await provider.exec(sandbox.provider_sandbox_id, "pkill -f 'codex\\|gemini\\|opencode\\|pi\\|takumi' || true");
|
|
15910
15886
|
} catch {}
|
|
15911
15887
|
emitLifecycleEvent(sandbox.id, "Agent stopped by user");
|
|
15912
15888
|
}
|
|
@@ -15918,11 +15894,6 @@ var BUILTIN_IMAGES = {
|
|
|
15918
15894
|
description: "Node 20 + npm + pnpm + yarn",
|
|
15919
15895
|
setup_script: "curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g pnpm yarn"
|
|
15920
15896
|
},
|
|
15921
|
-
"node20-claude": {
|
|
15922
|
-
e2b: "e2bdev/base:latest",
|
|
15923
|
-
description: "Node 20 + Claude Code CLI pre-installed",
|
|
15924
|
-
setup_script: `curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && npm install -g @anthropic-ai/claude-code && mkdir -p ~/.claude && echo '{"hasCompletedOnboarding":true,"hasTrustDialogAccepted":true,"hasAcknowledgedCostThreshold":true}' > ~/.claude.json`
|
|
15925
|
-
},
|
|
15926
15897
|
"node20-codex": {
|
|
15927
15898
|
e2b: "e2bdev/base:latest",
|
|
15928
15899
|
description: "Node 20 + Codex CLI pre-installed",
|
|
@@ -16437,7 +16408,7 @@ server.tool("search_tools", "Search tools by keyword", {
|
|
|
16437
16408
|
});
|
|
16438
16409
|
server.tool("run_agent", "Run an AI agent inside a sandbox", {
|
|
16439
16410
|
sandbox_id: exports_external2.string().describe("Sandbox ID"),
|
|
16440
|
-
agent_type: exports_external2.enum(["
|
|
16411
|
+
agent_type: exports_external2.enum(["codex", "gemini", "opencode", "pi", "takumi", "custom"]).describe("Agent type"),
|
|
16441
16412
|
prompt: exports_external2.string().describe("Prompt for the agent"),
|
|
16442
16413
|
agent_name: exports_external2.string().optional().describe("Agent name"),
|
|
16443
16414
|
command: exports_external2.string().optional().describe("Custom command (for 'custom' type)"),
|
package/dist/providers/e2b.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ import type { SandboxProviderName } from "../types/index.js";
|
|
|
2
2
|
import type { SandboxProvider } from "./types.js";
|
|
3
3
|
export declare function getProvider(name: SandboxProviderName, apiKey?: string): Promise<SandboxProvider>;
|
|
4
4
|
export { type SandboxProvider } from "./types.js";
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/sdk.d.ts
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { listSandboxes } from "./db/sandboxes.js";
|
|
2
|
+
import { listEvents } from "./db/events.js";
|
|
3
|
+
import type { SandboxProvider } from "./providers/types.js";
|
|
4
|
+
import type { ExecOptions } from "./providers/types.js";
|
|
5
|
+
import type { AgentType, CreateSandboxInput, ExecResult, FileInfo, Sandbox, SandboxEvent, SandboxProviderName, SandboxSession } from "./types/index.js";
|
|
6
|
+
import type { StreamListener } from "./lib/stream.js";
|
|
7
|
+
export type ProviderFactory = (name: SandboxProviderName, apiKey?: string) => Promise<SandboxProvider>;
|
|
8
|
+
export interface SandboxesSDKOptions {
|
|
9
|
+
defaultProvider?: SandboxProviderName;
|
|
10
|
+
providerApiKeys?: Partial<Record<SandboxProviderName, string>>;
|
|
11
|
+
providerFactory?: ProviderFactory;
|
|
12
|
+
}
|
|
13
|
+
export interface ExecCommandResult {
|
|
14
|
+
session: SandboxSession;
|
|
15
|
+
result: ExecResult;
|
|
16
|
+
}
|
|
17
|
+
export interface RunAgentOptions {
|
|
18
|
+
agentType: AgentType;
|
|
19
|
+
prompt: string;
|
|
20
|
+
agentName?: string;
|
|
21
|
+
command?: string;
|
|
22
|
+
callEnvVars?: Record<string, string>;
|
|
23
|
+
onStdout?: (data: string) => void;
|
|
24
|
+
onStderr?: (data: string) => void;
|
|
25
|
+
}
|
|
26
|
+
export interface WaitForSessionOptions {
|
|
27
|
+
timeoutMs?: number;
|
|
28
|
+
pollIntervalMs?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare class SandboxesSDK {
|
|
31
|
+
private readonly defaultProvider?;
|
|
32
|
+
private readonly providerApiKeys;
|
|
33
|
+
private readonly providerFactory;
|
|
34
|
+
constructor(options?: SandboxesSDKOptions);
|
|
35
|
+
createSandbox(input?: CreateSandboxInput): Promise<Sandbox>;
|
|
36
|
+
getSandbox(id: string): Sandbox;
|
|
37
|
+
listSandboxes(filters?: Parameters<typeof listSandboxes>[0]): Sandbox[];
|
|
38
|
+
stopSandbox(id: string): Promise<Sandbox>;
|
|
39
|
+
deleteSandbox(id: string): Promise<void>;
|
|
40
|
+
execCommand(sandboxId: string, command: string, opts?: ExecOptions): Promise<ExecCommandResult>;
|
|
41
|
+
readFile(sandboxId: string, path: string, opts?: {
|
|
42
|
+
encoding?: "utf8" | "base64" | "hex";
|
|
43
|
+
offset?: number;
|
|
44
|
+
limit?: number;
|
|
45
|
+
}): Promise<string>;
|
|
46
|
+
writeFile(sandboxId: string, path: string, content: string): Promise<void>;
|
|
47
|
+
listFiles(sandboxId: string, path: string, opts?: {
|
|
48
|
+
recursive?: boolean;
|
|
49
|
+
glob?: string;
|
|
50
|
+
}): Promise<FileInfo[]>;
|
|
51
|
+
runAgent(sandboxId: string, opts: RunAgentOptions): Promise<SandboxSession>;
|
|
52
|
+
getSession(sessionId: string): SandboxSession;
|
|
53
|
+
waitForSession(sessionId: string, opts?: WaitForSessionOptions): Promise<SandboxSession>;
|
|
54
|
+
listEvents(filters?: Parameters<typeof listEvents>[0]): SandboxEvent[];
|
|
55
|
+
onSandboxEvent(sandboxId: string, listener: StreamListener): () => void;
|
|
56
|
+
private getProvider;
|
|
57
|
+
private requireProviderSandbox;
|
|
58
|
+
}
|
|
59
|
+
export declare function createSandboxesSDK(options?: SandboxesSDKOptions): SandboxesSDK;
|
package/dist/server/index.d.ts
CHANGED
package/dist/server/index.js
CHANGED
|
@@ -10313,7 +10313,7 @@ var MIGRATIONS = [
|
|
|
10313
10313
|
id TEXT PRIMARY KEY,
|
|
10314
10314
|
sandbox_id TEXT NOT NULL REFERENCES sandboxes(id) ON DELETE CASCADE,
|
|
10315
10315
|
agent_name TEXT,
|
|
10316
|
-
agent_type TEXT CHECK(agent_type IN ('
|
|
10316
|
+
agent_type TEXT CHECK(agent_type IN ('codex', 'gemini', 'opencode', 'pi', 'takumi', 'custom')),
|
|
10317
10317
|
command TEXT,
|
|
10318
10318
|
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'killed')),
|
|
10319
10319
|
exit_code INTEGER,
|
package/dist/server/serve.d.ts
CHANGED
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 ["
|
|
7
|
+
export declare const AGENT_TYPES: readonly ["codex", "gemini", "opencode", "pi", "takumi", "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];
|
|
@@ -245,4 +245,3 @@ export interface CreateTemplateInput {
|
|
|
245
245
|
setup_script?: string;
|
|
246
246
|
tags?: string[];
|
|
247
247
|
}
|
|
248
|
-
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/sandboxes",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.22",
|
|
4
4
|
"author": "Andrei Hasna <andrei@hasna.com>",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"mcp",
|
|
57
57
|
"ai",
|
|
58
58
|
"coding-agent",
|
|
59
|
-
"claude",
|
|
60
59
|
"codex",
|
|
61
60
|
"gemini",
|
|
62
61
|
"cli"
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
"access": "public"
|
|
68
67
|
},
|
|
69
68
|
"scripts": {
|
|
70
|
-
"build": "bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/server/index.ts --outdir dist/server --target bun --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/index.ts --outdir dist --target bun --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && tsc --emitDeclarationOnly --outDir dist",
|
|
69
|
+
"build": "rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/server/index.ts --outdir dist/server --target bun --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && bun build src/index.ts --outdir dist --target bun --external @e2b/code-interpreter --external @daytonaio/sdk --external modal && tsc --emitDeclarationOnly --outDir dist",
|
|
71
70
|
"typecheck": "tsc --noEmit",
|
|
72
71
|
"test": "bun test",
|
|
73
72
|
"dev:cli": "bun run src/cli/index.tsx",
|
|
@@ -77,4 +76,4 @@
|
|
|
77
76
|
},
|
|
78
77
|
"type": "module",
|
|
79
78
|
"types": "dist/index.d.ts"
|
|
80
|
-
}
|
|
79
|
+
}
|
package/dist/cli/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.tsx"],"names":[],"mappings":""}
|
package/dist/db/agents.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/db/agents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAK1E,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,KAAK,CAS/C;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,CAsB9D;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,CAY1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CASzD;AAED,wBAAgB,UAAU,IAAI,KAAK,EAAE,CAQpC;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAMtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAM/E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAO5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+OtC,wBAAgB,WAAW,IAAI,QAAQ,CAatC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAMpC;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CAcf"}
|
package/dist/db/events.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/db/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI/E,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAS7D;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,YAAY,CAcf;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,YAAY,EAAE,CA2BjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pg-migrations.d.ts","sourceRoot":"","sources":["../../src/db/pg-migrations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,EAAE,MAAM,EA0IjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKlE,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASlD;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAYhE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAY9C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAS7D;AAED,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAQxC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAKvF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAO9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../src/db/sandboxes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAKxB,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAqBrD;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAsChE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAY9C;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,EAAE,CAwBZ;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CACd,IAAI,CACF,OAAO,EACL,QAAQ,GACR,qBAAqB,GACrB,MAAM,GACN,OAAO,GACP,SAAS,GACT,QAAQ,GACR,UAAU,GACV,kBAAkB,GAClB,YAAY,CACf,CACF,GACA,OAAO,CA2DT;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAO9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,YAAY,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc,CAMnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAkBvE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,CAWrD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,GAAG,cAAc,EAAE,CAqBnB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,GAC7D,cAAc,CAwBhB;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,aAAa,GACrB,cAAc,CAWhB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../src/db/snapshots.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,EAAE,EAAE,MAAM;CAIvB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,QAAQ,CASX;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAOhD;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAM5D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/db/templates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAiBpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,CAanE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAOhD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAI/D;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAI1C;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/db/webhooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAK9E,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CASrD;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAahE;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAY9C;AAED,wBAAgB,YAAY,IAAI,OAAO,EAAE,CAQxC;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAO9C"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC3H,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/F,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpK,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAG3F,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG7G,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../src/lib/agent-runner.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAc,MAAM,mBAAmB,CAAC;AAE/E,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC;CACpD;AAcD,wBAAsB,QAAQ,CAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CAyGzB;AAED,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYhE"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { SandboxProvider } from "../../providers/types.js";
|
|
2
|
-
import type { AgentDriver } from "./types.js";
|
|
3
|
-
export declare class ClaudeDriver implements AgentDriver {
|
|
4
|
-
readonly name = "claude";
|
|
5
|
-
readonly requiredEnvVars: string[];
|
|
6
|
-
install(provider: SandboxProvider, providerSandboxId: string): Promise<void>;
|
|
7
|
-
configure(provider: SandboxProvider, providerSandboxId: string, _envVars: Record<string, string>): Promise<void>;
|
|
8
|
-
buildCommand(prompt: string): string;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,eAAe,WAAyB;IAE3C,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,WAAY,YAAW,WAAW;IAC7C,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,eAAe,WAAsB;IAExC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAStH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,eAAe,WAAsB;IAExC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAStH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,YAAY,EAAE,WAAW,EAAE,CAAC;AAe5B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAEhD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,cAAe,YAAW,WAAW;IAChD,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,eAAe,UAAM;IAExB,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,SAAS,CAAC,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/pi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,QAAS,YAAW,WAAW;IAC1C,QAAQ,CAAC,IAAI,QAAQ;IACrB,QAAQ,CAAC,eAAe,WAAkB;IAEpC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5E,SAAS,CAAC,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"takumi.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/takumi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,YAAa,YAAW,WAAW;IAC9C,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,eAAe,WAAyB;IAE3C,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBrH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/agents/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oFAAoF;IACpF,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;OAGG;IACH,SAAS,CACP,QAAQ,EAAE,eAAe,EACzB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC"}
|
package/dist/lib/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA0B9E,wBAAgB,UAAU,IAAI,eAAe,CAU5C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAOxD;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,CAGxD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAED,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAGpD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAYnF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAuB/D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkB9D"}
|
package/dist/lib/images.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/lib/images.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CA+BtG,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keepalive.d.ts","sourceRoot":"","sources":["../../src/lib/keepalive.ts"],"names":[],"mappings":"AAOA,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAe,GAC1B,IAAI,CAiCN;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-state.d.ts","sourceRoot":"","sources":["../../src/lib/runtime-state.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE7E;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,SAAI,GAAG,IAAI,CAG9F;AAED,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAI1F"}
|
package/dist/lib/stream.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/lib/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAIrE,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,cAAc,GACvB,MAAM,IAAI,CAYZ;AAmBD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,CA2BA;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAON"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,IAAI,MAAM,CAS1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/lib/webhook.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,GACA,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED,eAAO,MAAM,cAAc,iJAQjB,CAAC"}
|
package/dist/mcp/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
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,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpF,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAcvE"}
|
|
@@ -1 +0,0 @@
|
|
|
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;YAwBlD,WAAW;IAkBnB,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;IA2D7B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgC5I,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,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IA+B9G,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAWvE"}
|
|
@@ -1 +0,0 @@
|
|
|
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,CAqC1B;AAED,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/providers/modal.ts"],"names":[],"mappings":"AACA,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,CAAU;IACxB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAEb,MAAM,CAAC,EAAE,MAAM;YAIb,YAAY;IAiBpB,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAsChE,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,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpF,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,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"}
|
|
@@ -1 +0,0 @@
|
|
|
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;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;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;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;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,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7I,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,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE/G,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;IAEjE,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/server/serve.ts"],"names":[],"mappings":"AAuEA,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+RnE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAO9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|