UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

1,442 lines (1,441 loc) 45.6 kB
import { BaseClient, Parsed, RequestParams } from "./base-client.js"; import { CommandData, CommandFinishedData, CommandFinishedResponse, CommandResponse, CreateSnapshotResponse, InteractiveSessionResponse, LogLineStderr, LogLineStdout, SessionResponse, SnapshotResponse, StopSessionResponse } from "./validators.js"; import { FileWriter } from "./file-writer.js"; import { NetworkPolicy } from "../network-policy.js"; import { WithPrivate } from "../utils/types.js"; import { RUNTIMES } from "../constants.js"; import { z } from "#compiled/zod/index.js"; import { Readable } from "stream"; //#region src/api-client/api-client.d.ts interface WithFetchOptions { fetch?: typeof globalThis.fetch; } declare class APIClient extends BaseClient { private teamId; private projectId; private isJwtToken; constructor(params: { baseUrl?: string; teamId: string; token: string; fetch?: typeof globalThis.fetch; }); private ensureValidToken; protected request(path: string, params?: RequestParams): Promise<Response>; getSession(params: WithPrivate<{ sessionId: string; signal?: AbortSignal; }>): Promise<Parsed<{ session: { [x: string]: unknown; id: string; memory: number; vcpus: number; region: string; runtime: string; timeout: number; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; requestedAt: number; createdAt: number; cwd: string; updatedAt: number; startedAt?: number | undefined; requestedStopAt?: number | undefined; stoppedAt?: number | undefined; abortedAt?: number | undefined; duration?: number | undefined; sourceSnapshotId?: string | undefined; snapshottedAt?: number | undefined; interactivePort?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; activeCpuDurationMs?: number | undefined; networkTransfer?: { ingress: number; egress: number; } | undefined; }; routes: { url: string; subdomain: string; port: number; }[]; }>>; createSandbox(params: WithPrivate<{ name?: string; ports?: number[]; projectId: string; source?: { type: "git"; url: string; depth?: number; revision?: string; username?: string; password?: string; } | { type: "tarball"; url: string; } | { type: "snapshot"; snapshotId: string; }; timeout?: number; resources?: { vcpus: number; }; persistent?: boolean; runtime?: RUNTIMES | (string & {}); networkPolicy?: NetworkPolicy; env?: Record<string, string>; tags?: Record<string, string>; snapshotExpiration?: number; keepLastSnapshots?: { count: number; expiration?: number; deleteEvicted?: boolean; }; signal?: AbortSignal; }>): Promise<Parsed<{ sandbox: { name: string; persistent: boolean; createdAt: number; updatedAt: number; currentSessionId: string; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; region?: string | undefined; vcpus?: number | undefined; memory?: number | undefined; runtime?: string | undefined; timeout?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; totalEgressBytes?: number | undefined; totalIngressBytes?: number | undefined; totalActiveCpuDurationMs?: number | undefined; totalDurationMs?: number | undefined; currentSnapshotId?: string | undefined; statusUpdatedAt?: number | undefined; cwd?: string | undefined; tags?: Record<string, string> | undefined; snapshotExpiration?: number | undefined; keepLastSnapshots?: { count: number; expiration?: number | undefined; deleteEvicted?: boolean | undefined; } | undefined; }; session: { [x: string]: unknown; id: string; memory: number; vcpus: number; region: string; runtime: string; timeout: number; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; requestedAt: number; createdAt: number; cwd: string; updatedAt: number; startedAt?: number | undefined; requestedStopAt?: number | undefined; stoppedAt?: number | undefined; abortedAt?: number | undefined; duration?: number | undefined; sourceSnapshotId?: string | undefined; snapshottedAt?: number | undefined; interactivePort?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; activeCpuDurationMs?: number | undefined; networkTransfer?: { ingress: number; egress: number; } | undefined; }; routes: { url: string; subdomain: string; port: number; }[]; resumed?: boolean | undefined; }>>; runCommand(params: { sessionId: string; cwd?: string; command: string; args: string[]; env: Record<string, string>; sudo: boolean; wait: true; timeout?: number; signal?: AbortSignal; }): Promise<{ command: CommandData; finished: Promise<CommandFinishedData>; }>; runCommand(params: { sessionId: string; cwd?: string; command: string; args: string[]; env: Record<string, string>; sudo: boolean; wait?: false; timeout?: number; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof CommandResponse>>>; getCommand(params: { sessionId: string; cmdId: string; wait: true; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof CommandFinishedResponse>>>; getCommand(params: { sessionId: string; cmdId: string; wait?: boolean; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof CommandResponse>>>; openInteractive(params: { sessionId: string; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof InteractiveSessionResponse>>>; mkDir(params: { sessionId: string; path: string; cwd?: string; signal?: AbortSignal; }): Promise<Parsed<Record<string, never>>>; getFileWriter(params: { sessionId: string; extractDir: string; signal?: AbortSignal; }): { response: Promise<Response>; writer: FileWriter; }; listSessions(params: { /** * The ID or name of the project to which the sessions belong. * @example "my-project" */ projectId: string; /** * Filter sessions by sandbox name. */ name?: string; /** * Maximum number of sessions to list from a request. * @example 10 */ limit?: number; /** * Cursor for pagination. */ cursor?: string; /** * Sort order for results. */ sortOrder?: "asc" | "desc"; signal?: AbortSignal; }): Promise<Parsed<{ sessions: { [x: string]: unknown; id: string; memory: number; vcpus: number; region: string; runtime: string; timeout: number; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; requestedAt: number; createdAt: number; cwd: string; updatedAt: number; startedAt?: number | undefined; requestedStopAt?: number | undefined; stoppedAt?: number | undefined; abortedAt?: number | undefined; duration?: number | undefined; sourceSnapshotId?: string | undefined; snapshottedAt?: number | undefined; interactivePort?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; activeCpuDurationMs?: number | undefined; networkTransfer?: { ingress: number; egress: number; } | undefined; }[]; pagination: { count: number; next: string | null; }; }>>; listSnapshots(params: { /** * The ID or name of the project to which the snapshots belong. * @example "my-project" */ projectId: string; /** * Filter snapshots by sandbox name. */ name?: string; /** * Maximum number of snapshots to list from a request. * @example 10 */ limit?: number; /** * Cursor for pagination. */ cursor?: string; /** * Sort order for results. */ sortOrder?: "asc" | "desc"; signal?: AbortSignal; }): Promise<Parsed<{ snapshots: { id: string; sourceSessionId: string; region: string; status: "created" | "deleted" | "failed"; sizeBytes: number; createdAt: number; updatedAt: number; expiresAt?: number | undefined; lastUsedAt?: number | undefined; creationMethod?: string | undefined; parentId?: string | undefined; }[]; pagination: { count: number; next: string | null; }; }>>; getSnapshotTree(params: { /** * The ID or name of the project to which the snapshots belong. */ projectId: string; /** * The snapshot ID to use as the anchor for the tree traversal. */ snapshotId: string; /** * Maximum number of nodes to return. */ limit?: number; /** * Sort order: "asc" for descendants, "desc" for ancestors. */ sortOrder?: "asc" | "desc"; signal?: AbortSignal; }): Promise<Parsed<{ snapshots: { snapshot: { id: string; sourceSessionId: string; region: string; status: "created" | "deleted" | "failed"; sizeBytes: number; createdAt: number; updatedAt: number; expiresAt?: number | undefined; lastUsedAt?: number | undefined; creationMethod?: string | undefined; parentId?: string | undefined; }; siblings: { id: string; sourceSessionId: string; region: string; status: "created" | "deleted" | "failed"; sizeBytes: number; createdAt: number; updatedAt: number; expiresAt?: number | undefined; lastUsedAt?: number | undefined; creationMethod?: string | undefined; parentId?: string | undefined; }[]; count: string; }[]; pagination: { count: number; next: string | null; }; anchor?: { snapshot: { id: string; sourceSessionId: string; region: string; status: "created" | "deleted" | "failed"; sizeBytes: number; createdAt: number; updatedAt: number; expiresAt?: number | undefined; lastUsedAt?: number | undefined; creationMethod?: string | undefined; parentId?: string | undefined; }; siblings: { id: string; sourceSessionId: string; region: string; status: "created" | "deleted" | "failed"; sizeBytes: number; createdAt: number; updatedAt: number; expiresAt?: number | undefined; lastUsedAt?: number | undefined; creationMethod?: string | undefined; parentId?: string | undefined; }[]; count: string; } | undefined; }>>; writeFiles(params: { sessionId: string; cwd: string; files: { path: string; content: string | Uint8Array; mode?: number; }[]; extractDir: string; signal?: AbortSignal; }): Promise<void>; readFile(params: { sessionId: string; path: string; cwd?: string; signal?: AbortSignal; }): Promise<Readable | null>; killCommand(params: { sessionId: string; commandId: string; signal: number; abortSignal?: AbortSignal; }): Promise<Parsed<{ command: { id: string; name: string; args: string[]; cwd: string; sessionId: string; exitCode: number | null; startedAt: number; }; }>>; getLogs(params: { sessionId: string; cmdId: string; signal?: AbortSignal; }): AsyncGenerator<z.infer<typeof LogLineStdout> | z.infer<typeof LogLineStderr>, void, void> & Disposable & { close(): void; }; stopSession(params: { sessionId: string; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof StopSessionResponse>>>; updateNetworkPolicy(params: { sessionId: string; networkPolicy: NetworkPolicy; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof SessionResponse>>>; extendTimeout(params: { sessionId: string; duration: number; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof SessionResponse>>>; createSnapshot(params: { sessionId: string; expiration?: number; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof CreateSnapshotResponse>>>; deleteSnapshot(params: { snapshotId: string; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof SnapshotResponse>>>; getSnapshot(params: { snapshotId: string; signal?: AbortSignal; }): Promise<Parsed<z.infer<typeof SnapshotResponse>>>; getSandbox(params: WithPrivate<{ name: string; projectId: string; resume?: boolean; signal?: AbortSignal; }>): Promise<Parsed<{ sandbox: { name: string; persistent: boolean; createdAt: number; updatedAt: number; currentSessionId: string; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; region?: string | undefined; vcpus?: number | undefined; memory?: number | undefined; runtime?: string | undefined; timeout?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; totalEgressBytes?: number | undefined; totalIngressBytes?: number | undefined; totalActiveCpuDurationMs?: number | undefined; totalDurationMs?: number | undefined; currentSnapshotId?: string | undefined; statusUpdatedAt?: number | undefined; cwd?: string | undefined; tags?: Record<string, string> | undefined; snapshotExpiration?: number | undefined; keepLastSnapshots?: { count: number; expiration?: number | undefined; deleteEvicted?: boolean | undefined; } | undefined; }; session: { [x: string]: unknown; id: string; memory: number; vcpus: number; region: string; runtime: string; timeout: number; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; requestedAt: number; createdAt: number; cwd: string; updatedAt: number; startedAt?: number | undefined; requestedStopAt?: number | undefined; stoppedAt?: number | undefined; abortedAt?: number | undefined; duration?: number | undefined; sourceSnapshotId?: string | undefined; snapshottedAt?: number | undefined; interactivePort?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; activeCpuDurationMs?: number | undefined; networkTransfer?: { ingress: number; egress: number; } | undefined; }; routes: { url: string; subdomain: string; port: number; }[]; resumed?: boolean | undefined; }>>; listSandboxes(params: { projectId: string; limit?: number; sortBy?: "createdAt" | "name" | "statusUpdatedAt"; sortOrder?: "asc" | "desc"; namePrefix?: string; cursor?: string; tags?: Record<string, string>; signal?: AbortSignal; }): Promise<Parsed<{ sandboxes: { name: string; persistent: boolean; createdAt: number; updatedAt: number; currentSessionId: string; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; region?: string | undefined; vcpus?: number | undefined; memory?: number | undefined; runtime?: string | undefined; timeout?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; totalEgressBytes?: number | undefined; totalIngressBytes?: number | undefined; totalActiveCpuDurationMs?: number | undefined; totalDurationMs?: number | undefined; currentSnapshotId?: string | undefined; statusUpdatedAt?: number | undefined; cwd?: string | undefined; tags?: Record<string, string> | undefined; snapshotExpiration?: number | undefined; keepLastSnapshots?: { count: number; expiration?: number | undefined; deleteEvicted?: boolean | undefined; } | undefined; }[]; pagination: { count: number; next: string | null; }; }>>; updateSandbox(params: { name: string; projectId: string; persistent?: boolean; resources?: { vcpus?: number; memory?: number; }; runtime?: RUNTIMES | (string & {}); timeout?: number; networkPolicy?: NetworkPolicy; tags?: Record<string, string>; ports?: number[]; snapshotExpiration?: number; keepLastSnapshots?: { count: number; expiration?: number; deleteEvicted?: boolean; } | null; currentSnapshotId?: string; signal?: AbortSignal; }): Promise<Parsed<{ sandbox: { name: string; persistent: boolean; createdAt: number; updatedAt: number; currentSessionId: string; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; region?: string | undefined; vcpus?: number | undefined; memory?: number | undefined; runtime?: string | undefined; timeout?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; totalEgressBytes?: number | undefined; totalIngressBytes?: number | undefined; totalActiveCpuDurationMs?: number | undefined; totalDurationMs?: number | undefined; currentSnapshotId?: string | undefined; statusUpdatedAt?: number | undefined; cwd?: string | undefined; tags?: Record<string, string> | undefined; snapshotExpiration?: number | undefined; keepLastSnapshots?: { count: number; expiration?: number | undefined; deleteEvicted?: boolean | undefined; } | undefined; }; routes?: { url: string; subdomain: string; port: number; }[] | undefined; }>>; deleteSandbox(params: { name: string; projectId: string; signal?: AbortSignal; }): Promise<Parsed<{ sandbox: { name: string; persistent: boolean; createdAt: number; updatedAt: number; currentSessionId: string; status: "failed" | "aborted" | "pending" | "running" | "stopping" | "stopped" | "snapshotting"; region?: string | undefined; vcpus?: number | undefined; memory?: number | undefined; runtime?: string | undefined; timeout?: number | undefined; networkPolicy?: { [x: string]: unknown; mode: "allow-all"; } | { [x: string]: unknown; mode: "deny-all"; } | { [x: string]: unknown; mode: "custom"; allowedDomains?: string[] | undefined; allowedCIDRs?: string[] | undefined; deniedCIDRs?: string[] | undefined; injectionRules?: { domain: string; headers?: Record<string, string> | undefined; headerNames?: string[] | undefined; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; forwardRules?: { domain: string; forwardURL: string; match?: { path?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; method?: string[] | undefined; queryString?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; headers?: { key?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; value?: { exact?: string | undefined; startsWith?: string | undefined; regex?: string | undefined; } | undefined; }[] | undefined; } | undefined; }[] | undefined; } | undefined; totalEgressBytes?: number | undefined; totalIngressBytes?: number | undefined; totalActiveCpuDurationMs?: number | undefined; totalDurationMs?: number | undefined; currentSnapshotId?: string | undefined; statusUpdatedAt?: number | undefined; cwd?: string | undefined; tags?: Record<string, string> | undefined; snapshotExpiration?: number | undefined; keepLastSnapshots?: { count: number; expiration?: number | undefined; deleteEvicted?: boolean | undefined; } | undefined; }; routes?: { url: string; subdomain: string; port: number; }[] | undefined; }>>; } //#endregion export { APIClient, WithFetchOptions }; //# sourceMappingURL=api-client.d.ts.map