mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 17:01:02 +00:00
- Add `sandbox-agent/modal` provider using Modal SDK with node:22-slim image - Add `sandbox-agent/computesdk` provider using ComputeSDK's unified sandbox API - Update Modal and ComputeSDK examples to use new SDK providers - Update Modal and ComputeSDK deploy docs with provider-based examples - Add Modal to quickstart CodeGroup and docs.json navigation - Add provider test entries for Modal and ComputeSDK - Remove old standalone example files (modal.ts, computesdk.ts) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
31 lines
1,022 B
TypeScript
31 lines
1,022 B
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { SandboxAgent } from "sandbox-agent";
|
|
import { modal } from "sandbox-agent/modal";
|
|
|
|
const shouldRun = Boolean(process.env.MODAL_TOKEN_ID && process.env.MODAL_TOKEN_SECRET);
|
|
const timeoutMs = Number.parseInt(process.env.SANDBOX_TEST_TIMEOUT_MS || "", 10) || 300_000;
|
|
|
|
const testFn = shouldRun ? it : it.skip;
|
|
|
|
describe("modal provider", () => {
|
|
testFn(
|
|
"starts sandbox-agent and responds to /v1/health",
|
|
async () => {
|
|
const secrets: Record<string, string> = {};
|
|
if (process.env.ANTHROPIC_API_KEY) secrets.ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY;
|
|
if (process.env.OPENAI_API_KEY) secrets.OPENAI_API_KEY = process.env.OPENAI_API_KEY;
|
|
|
|
const sdk = await SandboxAgent.start({
|
|
sandbox: modal({ create: { secrets } }),
|
|
});
|
|
|
|
try {
|
|
const health = await sdk.getHealth();
|
|
expect(health.status).toBe("ok");
|
|
} finally {
|
|
await sdk.destroySandbox();
|
|
}
|
|
},
|
|
timeoutMs,
|
|
);
|
|
});
|