UNPKG

@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.

73 lines (72 loc) 8.41 kB
export { SandboxCapability, SandboxPolicyCapability, ToolBridgeProvisionerCapability, getSandbox, provideSandbox, getSandboxPolicy, provideSandboxPolicy, getToolBridgeProvisioner, provideToolBridgeProvisioner, } from './capabilities.js'; export { SandboxInstanceStoreCapability, getSandboxInstanceStore, provideSandboxInstanceStore, InMemorySandboxInstanceStore, defineSandboxInstanceStore, } from './instance-store.js'; export type { SandboxInstanceStore, SandboxInstanceRecord, } from './instance-store.js'; export { SandboxCheckpointError, SandboxCheckpointConflictError, SandboxCheckpointDuplicateIdError, SandboxCheckpointInvalidIdError, SandboxCheckpointInvalidEntryError, SandboxCheckpointParentMismatchError, SandboxCheckpointNotHeadError, SandboxCheckpointWriterConflictError, SandboxCheckpointWriterLostError, isForkCapableSandboxCheckpointStore, InMemorySandboxCheckpointStore, defineSandboxCheckpointStore, } from './checkpoint-store.js'; export type { SandboxCheckpoint, SandboxCheckpointStore, SandboxSnapshotEntry, SandboxSnapshotFileEntry, SandboxSnapshotDirectoryEntry, SandboxSnapshotArtifact, SandboxCheckpointErrorCode, SandboxCheckpointWriter, SandboxCheckpointWriterLease, SandboxCheckpointStoreOptions, SandboxCheckpointForkInput, SandboxCheckpointForkCapability, ForkCapableSandboxCheckpointStore, } from './checkpoint-store.js'; export { SandboxSnapshotError, defaultSandboxSnapshotPolicy } from './snapshots.js'; export type { SandboxSnapshotErrorCode, SandboxSnapshotPolicy, } from './snapshots.js'; export { memorySandboxSnapshots } from './memory-snapshots.js'; export type { MemorySandboxSnapshots, MemorySandboxSnapshotsOptions, } from './memory-snapshots.js'; export { createSandboxSnapshots } from './snapshot-operations.js'; export type { CreateSandboxSnapshotsInput, ForkSandboxSnapshotInput, ReadSandboxSnapshotArtifactInput, SandboxSnapshots, SaveSandboxSnapshotInput, SnapshotPersistence, } from './snapshot-operations.js'; export { createSnapshotTools } from './snapshot-tools.js'; export type { CreateSnapshotToolsOptions } from './snapshot-tools.js'; export { ProjectionCapability, getWorkspaceProjection, provideWorkspaceProjection, } from './projection.js'; export type { WorkspaceProjection } from './projection.js'; export { withSandbox } from './middleware.js'; export type { SandboxMiddlewareOptions } from './middleware.js'; export { isSandboxToolCall } from './tool-history.js'; export { defineSandbox } from './sandbox.js'; export type { SandboxConfig, SandboxDefinition, SandboxEnsureContext, SandboxLifecycle, SandboxHooks, ReuseStrategy, SnapshotStrategy, } from './sandbox.js'; export { defineWorkspace, gitSource, githubRepo, localSource, fileSkill, agentSkill, mcpSkill, gitSkill, } from './workspace.js'; export type { WorkspaceDefinition, WorkspaceSource, WorkspaceSkill, PackageManager, McpConfig, } from './workspace.js'; export { createSecrets, bearer, isSecretRef, resolveSecret, resolveBearer, resolveAllSecrets, } from './secrets.js'; export type { SecretRef, Secrets, BearerRef } from './secrets.js'; export { defineSandboxPolicy, evaluateCommand, commandAliases } from './policy.js'; export type { SandboxPolicy, PolicyDecision, CommandRules, CapabilityRules, } from './policy.js'; export type { SandboxProvider, SandboxHandle, SandboxCapabilities, SandboxFs, SandboxFsStat, SandboxGit, SandboxProcess, SandboxPorts, SandboxEnv, SandboxChannel, SpawnHandle, ExecResult, ProcessOptions, SnapshotRef, SandboxCreateInput, SandboxResumeInput, SandboxRestoreInput, SandboxDestroyInput, } from './contracts.js'; export { bootstrapWorkspace, detectPackageManager, DEFAULT_WORKSPACE_ROOT, } from './bootstrap.js'; export { resolveHarnessCwd } from './harness-cwd.js'; export type { BootstrapResult } from './bootstrap.js'; export { writeAgentsFile, resolveGitSkillDir, discoverSkillDirs, formatWorkspaceScriptsSection, mergeAgentsContent, } from './agents-file.js'; export type { DiscoveredSkillDir } from './agents-file.js'; export { createExecBackedGit } from './git-exec.js'; export { spawnNdjson, toLines, startJournaledAgent, readJournalNdjson, } from './runner.js'; export type { SpawnNdjsonOptions, JournalOptions } from './runner.js'; export { DEFAULT_JOURNAL_DIR, encodeRunId, EXIT_SENTINEL_KEY, EXIT_SENTINEL_NONCE_KEY, exitSentinelLine, parseExitSentinel, journalPaths, journaledCommand, journalFollowCommand, journalReadCommand, journalExistsCommand, journalListCommand, journalMtimeListCommand, parseJournalMtimeListing, journalExitProbeCommand, parseJournalExit, decodeJournalRunId, } from './journal.js'; export type { JournalPaths, JournalMtimeListing, JournalDirEntry, DecodedJournalRunId, } from './journal.js'; export { pruneJournals, DEFAULT_ORPHAN_TTL_MS, DEFAULT_MAX_DELETES, } from './journal-sweep.js'; export type { PruneJournalsOptions, PruneJournalsResult, KeptJournal, KeptJournalReason, PruneJournalsFailure, } from './journal-sweep.js'; export { reapDetachedRuns, probeRunExit, DEFAULT_RUN_BUDGET_MS, DEFAULT_MAX_RUNS, DEFAULT_EXIT_PROBE_BYTES, } from './reap.js'; export type { RunExitProbe, ReapRunOutcome, ReapRunEntry, ReapResult, ReapOptions, } from './reap.js'; export { reclaimSandbox, sandboxReclaimer, SandboxReclaimFailedError, } from './reclaim.js'; export type { ReclaimOutcome, ReclaimSandboxOptions } from './reclaim.js'; export { DEFAULT_JOURNAL_POLL_MS, journalReadStrategy, readJournal, } from './journal-reader.js'; export type { ReadJournalOptions } from './journal-reader.js'; export { decodeBase64Stream, toJournalLines } from './journal-bytes.js'; export type { JournalLine } from './journal-bytes.js'; export { createRunScopedIdGen, chunkFingerprint, chunkFingerprintIgnoringThreadId, chunkThreadId, } from './chunk-identity.js'; export { alignToStoredLog, isBridgeCustomChunk, JournalReplayDivergedError, JournalReplayThreadIdMismatchError, DEFAULT_MAX_OUT_OF_BAND_SKIP, } from './align.js'; export type { AlignToStoredLogOptions } from './align.js'; export { awaitAttachableJournal, JournalAttachUnavailableError, DEFAULT_ATTACH_JOURNAL_WAIT_MS, DEFAULT_ATTACH_PROBE_INTERVAL_MS, } from './attach-preflight.js'; export type { AttachUnavailableReason, AwaitAttachableJournalOptions, } from './attach-preflight.js'; export { SandboxDurabilityCapability, getSandboxDurability, provideSandboxDurability, DurableAttachNotSupportedError, DurableRunIdRequiredError, DurableThreadIdRequiredError, resolveDurableRunId, resolveDurableThreadId, journalOptionsFor, alignedIfAttaching, } from './durability.js'; export type { SandboxDurabilityOptions, SandboxDurabilityLog, SandboxRunDurability, } from './durability.js'; export { sandboxRunDriver, RunDriverPipeOutsideClaimError } from './driver.js'; export type { SandboxRunDriverOptions } from './driver.js'; export { RunClaimNotAcquiredError, RunClaimLostError, DEFAULT_FENCE_QUIET_MS, } from './claim.js'; export { startHostToolBridge, hostForSandbox, createToolBridgeCore, handleBridgeJsonRpc, timingSafeBearerEqual, nodeHttpBridgeProvisioner, BRIDGED_MCP_SERVER_NAME, } from './tool-bridge.js'; export type { HostToolBridge, StartBridgeOptions, ToolBridgeCore, ToolBridgeCoreOptions, ToolDescriptor, ToolCallResult, BridgePermission, PermissionToolResult, ToolBridgeProvisioner, ToolBridgeProvisionOptions, ProvisionedBridge, } from './tool-bridge.js'; export { createBridgeEventChannel, mergeChunkStreams } from './bridge-events.js'; export type { BridgeEventChannel } from './bridge-events.js'; export { remoteToolStubs, toolDescriptors, httpRemoteToolExecutor, executeHostTool, isToolExecRequest, } from './remote-tools.js'; export type { RemoteToolExecutor, RemoteToolExecuteOptions, ToolExecRequest, } from './remote-tools.js'; export { pipeToRunLog, RunController } from './run.js'; export type { RunDeps, PipeToRunLogOptions, RunControllerStartInput, RunHandle, } from './run.js'; export { resolveApproval, approvalId, buildApprovalRequestedEvent, APPROVAL_REQUESTED_EVENT, } from './approvals.js'; export type { ResolveApprovalInput, ApprovalOutcome } from './approvals.js'; export { watchWorkspace, diffSnapshots } from './watch.js'; export type { SandboxFileEvent, FileEvent, FileEventType, WatchOptions, SandboxWatchHandle, } from './watch.js'; export { computeSandboxKey, computeWorkspaceHash } from './key.js'; export type { SandboxKeyInput } from './key.js'; export { UnsupportedCapabilityError, MissingSandboxError } from './errors.js';