UNPKG

@codesandbox/sdk

Version:
203 lines (202 loc) 6.83 kB
import { Config } from "./api-clients/client/client"; import { Client } from "./api-clients/pint/client"; import type { WorkspaceCreateData, TokenCreateData, TokenUpdateData, SandboxListData, SandboxCreateData, SandboxForkData, PreviewTokenCreateData, PreviewTokenUpdateData, TemplatesCreateData, VmAssignTagAliasData, VmCreateTagData, VmHibernateData, VmUpdateHibernationTimeoutData, VmCreateSessionData, VmShutdownData, VmUpdateSpecsData, VmStartRequest, VmUpdateSpecs2Data, PreviewHostListData, PreviewHostCreateData, PreviewHostUpdateData } from "./api-clients/client"; import { PitcherManagerResponse } from "./types"; export interface APIOptions { apiKey: string; config?: Config; instrumentation?: (request: Request) => Promise<Response>; } export interface StartVmOptions extends VmStartRequest { retryDelay?: number; } export declare class API { private client; constructor(options: APIOptions); getMetaInfo(): Promise<({ data: undefined; error: unknown; } | { data: import("./api-clients/client").MetaInformation; error: undefined; }) & { request: Request; response: Response; }>; createWorkspace(data?: WorkspaceCreateData["body"]): Promise<{ id: string; name: string; }>; createToken(teamId: string, data: TokenCreateData["body"]): Promise<{ description: string | null; expires_at: string | null; scopes: Array<string>; team_id: string; token: string; token_id: string; }>; updateToken(teamId: string, tokenId: string, data: TokenUpdateData["body"]): Promise<{ description: string | null; expires_at?: string | null; scopes: Array<string>; team_id: string; token_id: string; }>; listSandboxes(query?: SandboxListData["query"]): Promise<{ pagination: { current_page: number; next_page: number | null; total_records: number; }; sandboxes: Array<import("./api-clients/client").Sandbox>; }>; createSandbox(data?: SandboxCreateData["body"]): Promise<{ alias: string; id: string; title: string | null; }>; getSandbox(id: string): Promise<import("./api-clients/client").Sandbox>; forkSandbox(id: string, data?: SandboxForkData["body"]): Promise<{ alias: string; id: string; start_response?: { bootup_type: string; cluster: string; id: string; latest_pitcher_version: string; pint_token?: string; pint_url?: string; pitcher_manager_version: string; pitcher_token: string; pitcher_url: string; pitcher_version: string; reconnect_token: string; use_pint: boolean; user_workspace_path: string; workspace_path: string; } | null; title: string | null; }>; revokeAllPreviewTokens(id: string): Promise<{ [key: string]: unknown; }>; listPreviewTokens(id: string): Promise<{ sandbox_id: string; tokens: Array<import("./api-clients/client").PreviewToken>; }>; createPreviewToken(id: string, data?: PreviewTokenCreateData["body"]): Promise<{ sandbox_id: string; token: { expires_at: string | null; last_used_at: string | null; token_id: string; token_prefix: string; } & { token: string; }; }>; updatePreviewToken(id: string, tokenId: string, data: PreviewTokenUpdateData["body"]): Promise<{ sandbox_id: string; token: import("./api-clients/client").PreviewToken; }>; createTemplate(data: TemplatesCreateData["body"]): Promise<{ sandboxes: Array<{ cluster: string; id: string; }>; tag: string; }>; assignVmTagAlias(namespace: string, alias: string, data: VmAssignTagAliasData["body"]): Promise<{ alias: string; namespace: string; tag_alias_id: string; tag_id: string; team_id: string; }>; listVmClusters(): Promise<{ clusters: Array<{ host: string; slug: string; }>; }>; listRunningVms(): Promise<{ concurrent_vm_count: number; concurrent_vm_limit: number; vms: Array<{ credit_basis?: string; id?: string; last_active_at?: string; session_started_at?: string; specs?: { cpu?: number; memory?: number; storage?: number; }; }>; }>; createVmTag(data?: VmCreateTagData["body"]): Promise<{ tag_id: string; }>; deleteVm(id: string): Promise<{ [key: string]: unknown; }>; hibernate(id: string, data?: VmHibernateData["body"]): Promise<{ [key: string]: unknown; }>; updateHibernationTimeout(id: string, data: VmUpdateHibernationTimeoutData["body"]): Promise<{ hibernation_timeout_seconds: number; id: string; }>; createSession(id: string, data: VmCreateSessionData["body"]): Promise<{ capabilities: Array<string>; permissions: { [key: string]: unknown; }; pitcher_token: string; pitcher_url: string; user_workspace_path: string; username: string; }>; shutdown(id: string, data?: VmShutdownData["body"]): Promise<{ [key: string]: unknown; }>; updateSpecs(id: string, data: VmUpdateSpecsData["body"]): Promise<{ id: string; tier: string; }>; startVm(id: string, options?: StartVmOptions): Promise<{ bootupType: PitcherManagerResponse["bootupType"]; cluster: string; pitcherURL: string; workspacePath: string; userWorkspacePath: string; pitcherManagerVersion: string; pitcherVersion: string; latestPitcherVersion: string; pitcherToken: string; }>; updateVmSpecs2(id: string, data: VmUpdateSpecs2Data["body"]): Promise<{ id: string; tier: string; }>; listPreviewHosts(query?: PreviewHostListData["query"]): Promise<{ preview_hosts: Array<{ host: string; inserted_at: string; }>; }>; createPreviewHost(data: PreviewHostCreateData["body"]): Promise<{ preview_hosts: Array<{ host: string; inserted_at: string; }>; }>; updatePreviewHost(data: PreviewHostUpdateData["body"]): Promise<{ preview_hosts: Array<{ host: string; inserted_at: string; }>; }>; getClient(): Client; getConfig(): Config; }