@tanstack/ai-sandbox
Version:
Provider-agnostic sandbox layer for TanStack AI — run harness adapters inside isolated sandboxes (defineSandbox, defineWorkspace, withSandbox) with a uniform SandboxHandle, workspace bootstrap, policy, and resumable lifecycle.
33 lines (32 loc) • 1.7 kB
JavaScript
import { createCapability } from "@tanstack/ai";
//#region src/capabilities.ts
/**
* Capability tokens the sandbox layer owns and provides.
*
* - `SandboxCapability` is PROVIDED by `withSandbox` and REQUIRED by harness
* adapters (`requires: [SandboxCapability]`).
* - `SandboxInstanceStoreCapability` lives in
* `./instance-store` (same package). `LocksCapability` / `withLocks` live in
* `@tanstack/ai/locks` and are not re-exported here.
*/
var SandboxCapability = createCapability()("sandbox");
/**
* The active sandbox policy, provided by `withSandbox` from the definition.
* Harness adapters read it to map allow/ask/deny rules onto their native
* permission system.
*/
var SandboxPolicyCapability = createCapability()("sandbox-policy");
/**
* Provisions the MCP tool-bridge endpoint for a run. OPTIONALLY provided by a
* serverless/edge orchestrator (e.g. a Durable Object) to override the default
* `node:http` host transport. Harness adapters read it via `getOptional` and
* fall back to `nodeHttpBridgeProvisioner` when absent.
*/
var ToolBridgeProvisionerCapability = createCapability()("tool-bridge-provisioner");
/** Destructured accessors for adapters: `getSandbox(ctx)` reads the handle. */
var [getSandbox, provideSandbox] = SandboxCapability;
var [getSandboxPolicy, provideSandboxPolicy] = SandboxPolicyCapability;
var [getToolBridgeProvisioner, provideToolBridgeProvisioner] = ToolBridgeProvisionerCapability;
//#endregion
export { SandboxCapability, SandboxPolicyCapability, ToolBridgeProvisionerCapability, getSandbox, getSandboxPolicy, getToolBridgeProvisioner, provideSandbox, provideSandboxPolicy, provideToolBridgeProvisioner };
//# sourceMappingURL=capabilities.js.map