@basetenlabs/client - v0.5.0
    Preparing search index...

    Class ApiClient

    Index
    • Parameters

      • options: {
            baseUrl: string;
            fetch?: {
                (input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
                (input: string | URL | Request, init?: RequestInit): Promise<Response>;
            };
            headers: Record<string, string>;
        }
        • baseUrl: string
        • Optionalfetch?: {
              (input: URL | RequestInfo, init?: RequestInit): Promise<Response>;
              (input: string | URL | Request, init?: RequestInit): Promise<Response>;
          }
        • headers: Record<string, string>

      Returns ApiClient

    • Detach a drive from a local path

      Parameters

      • params: { mountPath: string }

      Returns Promise<{ message?: string; mountPath?: string; success?: boolean }>

    • Delete file or directory

      Parameters

      • params: { params?: { recursive?: boolean }; path: string }

      Returns Promise<{ message: string; path?: string }>

    • Abort multipart upload

      Parameters

      • params: { uploadId: string }

      Returns Promise<{ message: string; path?: string }>

    • Delete directory tree

      Parameters

      • params: { params?: { recursive?: boolean }; path: string }

      Returns Promise<{ message: string; path?: string }>

    • Stop monitoring ports for a process

      Parameters

      • params: { pid: string }

      Returns Promise<{ [key: string]: unknown }>

    • Stop a process

      Parameters

      • params: { identifier: string }

      Returns Promise<{ message: string; path?: string }>

    • Kill a process

      Parameters

      • params: { identifier: string }

      Returns Promise<{ message: string; path?: string }>

    • Close a process's stdin

      Parameters

      • params: { identifier: string }

      Returns Promise<{ message: string; path?: string }>

    • Get the archive status

      Returns Promise<
          {
              export?: {
                  error?: string;
                  finishedAt?: string;
                  size?: number;
                  startedAt?: string;
                  state?: "running"
                  | "succeeded"
                  | "failed";
                  uploaded?: boolean;
              };
              readOnlyRoot?: boolean;
              reason?: string;
              restore?: {
                  deleted?: number;
                  downloaded?: number;
                  error?: string;
                  finishedAt?: string;
                  restored?: number;
                  size?: number;
                  startedAt?: string;
                  state?: | "succeeded"
                  | "failed"
                  | "downloading"
                  | "extracting"
                  | "relaunching";
              };
              since?: string;
              state: "active"
              | "quiescing"
              | "quiesced"
              | "restoring";
              stoppedProcesses?: string[];
          },
      >

    • Code reranking/semantic search

      Parameters

      • params: {
            params: {
                filePattern?: string;
                query: string;
                scoreThreshold?: number;
                tokenLimit?: number;
            };
            path: string;
        }

      Returns Promise<
          {
              files?: { content?: string; path?: string; score?: number }[];
              message?: string;
              success?: boolean;
          },
      >

    • List currently mounted drives

      Returns Promise<
          {
              mounts?: {
                  driveName?: string;
                  drivePath?: string;
                  gidMap?: string;
                  mountPath?: string;
                  readOnly?: boolean;
                  uidMap?: string;
              }[];
          },
      >

    • Get file or directory information

      Parameters

      • params: { params?: { download?: boolean }; path: string }

      Returns Promise<
          | string
          | {
              files: {
                  group: string;
                  lastModified: string;
                  name: string;
                  owner: string;
                  path: string;
                  permissions: string;
                  size: number;
              }[];
              name: string;
              path: string;
              subdirectories: { name: string; path: string }[];
          }
          | {
              content: string;
              group: string;
              lastModified: string;
              name: string;
              owner: string;
              path: string;
              permissions: string;
              size: number;
          },
      >

    • Search for text content in files

      Parameters

      • params: {
            params: {
                caseSensitive?: boolean;
                contextLines?: number;
                excludeDirs?: string;
                filePattern?: string;
                maxResults?: number;
                query: string;
            };
            path: string;
        }

      Returns Promise<
          {
              matches: {
                  column: number;
                  context?: string;
                  line: number;
                  path: string;
                  text: string;
              }[];
              query: string;
              total: number;
          },
      >

    • Find files and directories

      Parameters

      • params: {
            params?: {
                excludeDirs?: string;
                excludeHidden?: boolean;
                maxResults?: number;
                patterns?: string;
                type?: string;
            };
            path: string;
        }

      Returns Promise<{ matches: { path: string; type: string }[]; total: number }>

    • List multipart uploads

      Returns Promise<
          {
              uploads?: {
                  initiatedAt?: string;
                  parts?: {
                      [key: string]: {
                          etag?: string;
                          partNumber?: number;
                          size?: number;
                          uploadedAt?: string;
                      };
                  };
                  path?: string;
                  permissions?: number;
                  uploadId?: string;
              }[];
          },
      >

    • List parts

      Parameters

      • params: { uploadId: string }

      Returns Promise<
          {
              parts?: {
                  etag?: string;
                  partNumber?: number;
                  size?: number;
                  uploadedAt?: string;
              }[];
              uploadId?: string;
          },
      >

    • Get file or directory information. Returns the response unread, in the requested content type.

      Parameters

      • params: {
            accept: "application/json" | "application/octet-stream";
            params?: { download?: boolean };
            path: string;
        }

      Returns Promise<Response>

    • Fuzzy search for files and directories

      Parameters

      • params: {
            params?: {
                excludeDirs?: string;
                excludeHidden?: boolean;
                maxResults?: number;
                patterns?: string;
                query?: string;
            };
            path: string;
        }

      Returns Promise<
          {
              matches: { path: string; score: number; type: string }[];
              total: number;
          },
      >

    • Get directory tree

      Parameters

      • params: { path: string }

      Returns Promise<
          {
              files: {
                  group: string;
                  lastModified: string;
                  name: string;
                  owner: string;
                  path: string;
                  permissions: string;
                  size: number;
              }[];
              name: string;
              path: string;
              subdirectories: { name: string; path: string }[];
          },
      >

    • Health check

      Returns Promise<
          {
              arch: string;
              buildTime: string;
              gitCommit: string;
              goVersion: string;
              lastUpgrade: {
                  binaryPath?: string;
                  bytesDownloaded?: number;
                  downloadUrl?: string;
                  error?: string;
                  lastAttempt?: string;
                  status: "running"
                  | "failed"
                  | "idle"
                  | "completed";
                  step: string;
                  version: string;
              };
              os: string;
              startedAt: string;
              status: string;
              upgradeCount: number;
              uptime: string;
              uptimeSeconds: number;
              version: string;
          },
      >

    • Get open ports for a process

      Parameters

      • params: { pid: string }

      Returns Promise<{ [key: string]: unknown }>

    • List all processes

      Returns Promise<
          {
              command: string;
              completedAt: string;
              exitCode: number;
              keepAlive?: boolean;
              logs: string;
              maxRestarts?: number;
              name: string;
              pid: string;
              restartCount?: number;
              restartOnFailure?: boolean;
              startedAt: string;
              status: "running"
              | "failed"
              | "completed"
              | "killed"
              | "stopped";
              stderr: string;
              stdin?: boolean;
              stdout: string;
              workingDir: string;
          }[],
      >

    • Get process by identifier

      Parameters

      • params: { identifier: string }

      Returns Promise<
          {
              command: string;
              completedAt: string;
              exitCode: number;
              keepAlive?: boolean;
              logs: string;
              maxRestarts?: number;
              name: string;
              pid: string;
              restartCount?: number;
              restartOnFailure?: boolean;
              startedAt: string;
              status: "running"
              | "failed"
              | "completed"
              | "killed"
              | "stopped";
              stderr: string;
              stdin?: boolean;
              stdout: string;
              workingDir: string;
          },
      >

    • Get process logs

      Parameters

      • params: { identifier: string }

      Returns Promise<{ logs: string; stderr: string; stdout: string }>

    • Stream process logs in real time

      Parameters

      • params: { accept: "application/x-ndjson" | "text/plain"; identifier: string }

      Returns Promise<Response>

    • Stream file modification events in a directory

      Parameters

      • params: { params?: { ignore?: string }; path: string }

      Returns Promise<Response>

    • Export the filesystem changes to a presigned URL

      Parameters

      • params: {
            request: {
                async?: boolean;
                dryRun?: boolean;
                excludes?: string[];
                headers?: { [key: string]: string };
                imageDevice?: string;
                imageMountPoint?: string;
                multipart?: {
                    abortUrl?: string;
                    completeUrl?: string;
                    partSize?: number;
                    partUrls?: string[];
                };
                saveProcesses?: boolean;
                stopTimeoutSeconds?: number;
                url?: string;
            };
        }

      Returns Promise<
          | {
              data: {
                  changes?: {
                      kind: "added"
                      | "modified"
                      | "deleted";
                      path: string;
                      size?: number;
                  }[];
                  duration?: string;
                  manifest: {
                      added?: number;
                      apiVersion?: string;
                      createdAt: string;
                      deleted?: string[];
                      excludes?: string[];
                      imageDevice?: string;
                      modified?: number;
                      payloadBytes?: number;
                      processes?: boolean;
                      root: string;
                      version: number;
                  };
                  size?: number;
                  stoppedProcesses?: string[];
                  uploaded?: boolean;
              };
              status: 200;
          }
          | {
              data: {
                  error?: string;
                  finishedAt?: string;
                  size?: number;
                  startedAt?: string;
                  state?: "running"
                  | "succeeded"
                  | "failed";
                  uploaded?: boolean;
              };
              status: 202;
          },
      >

    • Lift the archive freeze

      Returns Promise<
          {
              export?: {
                  error?: string;
                  finishedAt?: string;
                  size?: number;
                  startedAt?: string;
                  state?: "running"
                  | "succeeded"
                  | "failed";
                  uploaded?: boolean;
              };
              readOnlyRoot?: boolean;
              reason?: string;
              restore?: {
                  deleted?: number;
                  downloaded?: number;
                  error?: string;
                  finishedAt?: string;
                  restored?: number;
                  size?: number;
                  startedAt?: string;
                  state?: | "succeeded"
                  | "failed"
                  | "downloading"
                  | "extracting"
                  | "relaunching";
              };
              since?: string;
              state: "active"
              | "quiescing"
              | "quiesced"
              | "restoring";
              stoppedProcesses?: string[];
          },
      >

    • Attach a drive to a local path

      Parameters

      • params: {
            request: {
                driveName: string;
                drivePath?: string;
                gidMap?: string;
                mountPath: string;
                readOnly?: boolean;
                uidMap?: string;
            };
        }

      Returns Promise<
          {
              driveName?: string;
              drivePath?: string;
              gidMap?: string;
              message?: string;
              mountPath?: string;
              readOnly?: boolean;
              success?: boolean;
              uidMap?: string;
          },
      >

    • Reload environment from guest metadata

      Returns Promise<{ applied?: number; generation?: number; removed?: number }>

    • Complete multipart upload

      Parameters

      • params: {
            request: { parts?: { etag?: string; partNumber?: number }[] };
            uploadId: string;
        }

      Returns Promise<{ message: string; path?: string }>

    • Initiate multipart upload

      Parameters

      • params: { path: string; request: { permissions?: string } }

      Returns Promise<{ path?: string; uploadId?: string }>

    • Start monitoring ports for a process

      Parameters

      • params: { pid: string; request: { callback?: string } }

      Returns Promise<{ [key: string]: unknown }>

    • Execute a command

      Parameters

      • params: {
            request: {
                command: string;
                env?: { [key: string]: string };
                keepAlive?: boolean;
                maxRestarts?: number;
                name?: string;
                restartOnFailure?: boolean;
                stdin?: boolean;
                timeout?: number;
                waitForCompletion?: boolean;
                waitForPorts?: number[];
                workingDir?: string;
            };
        }

      Returns Promise<
          {
              command: string;
              completedAt: string;
              exitCode: number;
              keepAlive?: boolean;
              logs: string;
              maxRestarts?: number;
              name: string;
              pid: string;
              restartCount?: number;
              restartOnFailure?: boolean;
              startedAt: string;
              status: "running"
              | "failed"
              | "completed"
              | "killed"
              | "stopped";
              stderr: string;
              stdin?: boolean;
              stdout: string;
              workingDir: string;
          },
      >

    • Execute a command. Returns the response unread, in the requested content type.

      Parameters

      • params: {
            accept: "application/json" | "application/x-ndjson";
            request: {
                command: string;
                env?: { [key: string]: string };
                keepAlive?: boolean;
                maxRestarts?: number;
                name?: string;
                restartOnFailure?: boolean;
                stdin?: boolean;
                timeout?: number;
                waitForCompletion?: boolean;
                waitForPorts?: number[];
                workingDir?: string;
            };
        }

      Returns Promise<Response>

    • Write to a process's stdin

      Parameters

      • params: { identifier: string; request: BodyInit }

      Returns Promise<{ message: string; path?: string }>

    • Upgrade the sandbox-api

      Parameters

      • params: { request: { baseUrl?: string; version?: string } }

      Returns Promise<{ message: string; path?: string }>

    • Apply code edit

      Parameters

      • params: { path: string; request: { codeEdit: string; model?: string } }

      Returns Promise<
          {
              message?: string;
              originalContent?: string;
              path?: string;
              provider?: string;
              success?: boolean;
              updatedContent?: string;
          },
      >

    • Create or update a file or directory

      Parameters

      • params: {
            path: string;
            request: { content?: string; isDirectory?: boolean; permissions?: string };
        }

      Returns Promise<{ message: string; path?: string }>

    • Upload part

      Parameters

      • params: { params: { partNumber: number }; request: FormData; uploadId: string }

      Returns Promise<{ etag?: string; partNumber?: number; size?: number }>

    • Create or update directory tree

      Parameters

      • params: { path: string; request: { files?: { [key: string]: string } } }

      Returns Promise<
          {
              files: {
                  group: string;
                  lastModified: string;
                  name: string;
                  owner: string;
                  path: string;
                  permissions: string;
                  size: number;
              }[];
              name: string;
              path: string;
              subdirectories: { name: string; path: string }[];
          },
      >

    • Update tunnel configuration

      Parameters

      • params: { request: { config: string } }

      Returns Promise<{ message: string; path?: string }>