UNPKG

@vercel/sdk

Version:

<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>

203 lines (193 loc) 5.76 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../lib/schemas.js"; import { ClosedEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import * as types from "../types/primitives.js"; import { SandboxNetworkPolicy, SandboxNetworkPolicy$inboundSchema, } from "./sandboxnetworkpolicy.js"; import { SDKValidationError } from "./sdkvalidationerror.js"; /** * The status of the sandbox. */ export const SessionStatus = { Aborted: "aborted", Failed: "failed", Pending: "pending", Running: "running", Snapshotting: "snapshotting", Stopped: "stopped", Stopping: "stopping", } as const; /** * The status of the sandbox. */ export type SessionStatus = ClosedEnum<typeof SessionStatus>; /** * The quantity of data transfered to and from the sandbox, in bytes. This value is only available once the sandbox is stopped, and only if it stopped successfully. */ export type NetworkTransfer = { ingress: number; egress: number; }; /** * This object contains information related to a Vercel Sandbox Session. v2 endpoints return "session" instead of "sandbox" as the response wrapper key. */ export type Session = { /** * The name of the source sandbox. */ sourceSandboxName: string; /** * The unique identifier of the project associated with this session. */ projectId: string; /** * The unique identifier of the sandbox. */ id: string; /** * Memory allocated to this sandbox in MB. */ memory: number; /** * Number of vCPUs allocated to this sandbox. */ vcpus: number; /** * The region where the sandbox is hosted. */ region: string; /** * The runtime of the sandbox. */ runtime: string; /** * The maximum amount of time the sandbox will run for in milliseconds. */ timeout: number; /** * The status of the sandbox. */ status: SessionStatus; /** * The time when the sandbox was requested, in milliseconds since the epoch. */ requestedAt: number; /** * The time when the sandbox was started, in milliseconds since the epoch. */ startedAt?: number | undefined; /** * The working directory of the sandbox. */ cwd: string; /** * The time when the sandbox was requested to stop, in milliseconds since the epoch. */ requestedStopAt?: number | undefined; /** * The time when the sandbox was stopped, in milliseconds since the epoch. */ stoppedAt?: number | undefined; /** * The time when the sandbox was aborted, in milliseconds since the epoch. */ abortedAt?: number | undefined; /** * The duration of the sandbox in milliseconds. */ duration?: number | undefined; /** * The unique identifier of the snapshot associated with this sandbox, if any. */ sourceSnapshotId?: string | undefined; /** * The time when a snapshot was requested, in milliseconds since the epoch. */ snapshottedAt?: number | undefined; /** * The time when the sandbox was created, in milliseconds since the epoch. */ createdAt: number; /** * The last time the sandbox was updated, in milliseconds since the epoch. */ updatedAt: number; /** * The network policy applied to this sandbox, if any. */ networkPolicy?: SandboxNetworkPolicy | undefined; /** * The amount of CPU time the sandbox consumed, if available, in milliseconds. This value is only available once the sandbox is stopped, and only if it stopped successfully. */ activeCpuDurationMs?: number | undefined; /** * The quantity of data transfered to and from the sandbox, in bytes. This value is only available once the sandbox is stopped, and only if it stopped successfully. */ networkTransfer?: NetworkTransfer | undefined; }; /** @internal */ export const SessionStatus$inboundSchema: z.ZodNativeEnum< typeof SessionStatus > = z.nativeEnum(SessionStatus); /** @internal */ export const NetworkTransfer$inboundSchema: z.ZodType< NetworkTransfer, z.ZodTypeDef, unknown > = z.object({ ingress: types.number(), egress: types.number(), }); export function networkTransferFromJSON( jsonString: string, ): SafeParseResult<NetworkTransfer, SDKValidationError> { return safeParse( jsonString, (x) => NetworkTransfer$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'NetworkTransfer' from JSON`, ); } /** @internal */ export const Session$inboundSchema: z.ZodType<Session, z.ZodTypeDef, unknown> = z.object({ sourceSandboxName: types.string(), projectId: types.string(), id: types.string(), memory: types.number(), vcpus: types.number(), region: types.string(), runtime: types.string(), timeout: types.number(), status: SessionStatus$inboundSchema, requestedAt: types.number(), startedAt: types.optional(types.number()), cwd: types.string(), requestedStopAt: types.optional(types.number()), stoppedAt: types.optional(types.number()), abortedAt: types.optional(types.number()), duration: types.optional(types.number()), sourceSnapshotId: types.optional(types.string()), snapshottedAt: types.optional(types.number()), createdAt: types.number(), updatedAt: types.number(), networkPolicy: types.optional(SandboxNetworkPolicy$inboundSchema), activeCpuDurationMs: types.optional(types.number()), networkTransfer: types.optional( z.lazy(() => NetworkTransfer$inboundSchema), ), }); export function sessionFromJSON( jsonString: string, ): SafeParseResult<Session, SDKValidationError> { return safeParse( jsonString, (x) => Session$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Session' from JSON`, ); }