@lightningai/sdk 2026.4.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-contracts.d.ts","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/data-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // @ts-nocheck
4
+ /*
5
+ * ---------------------------------------------------------------
6
+ * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
7
+ * ## ##
8
+ * ## AUTHOR: acacode ##
9
+ * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
10
+ * ---------------------------------------------------------------
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=data-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-contracts.js","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/data-contracts.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AACpB,cAAc;AACd;;;;;;;GAOG"}
@@ -0,0 +1,43 @@
1
+ import type { AxiosInstance, AxiosRequestConfig, AxiosResponse, ResponseType } from "axios";
2
+ export type QueryParamsType = Record<string | number, any>;
3
+ export interface FullRequestParams extends Omit<AxiosRequestConfig, "data" | "params" | "url" | "responseType"> {
4
+ /** set parameter to `true` for call `securityWorker` for this request */
5
+ secure?: boolean;
6
+ /** request path */
7
+ path: string;
8
+ /** content type of request body */
9
+ type?: ContentType;
10
+ /** query params */
11
+ query?: QueryParamsType;
12
+ /** format of response (i.e. response.json() -> format: "json") */
13
+ format?: ResponseType;
14
+ /** request body */
15
+ body?: unknown;
16
+ }
17
+ export type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
18
+ export interface ApiConfig<SecurityDataType = unknown> extends Omit<AxiosRequestConfig, "data" | "cancelToken"> {
19
+ securityWorker?: (securityData: SecurityDataType | null) => Promise<AxiosRequestConfig | void> | AxiosRequestConfig | void;
20
+ secure?: boolean;
21
+ format?: ResponseType;
22
+ }
23
+ export declare enum ContentType {
24
+ Json = "application/json",
25
+ JsonApi = "application/vnd.api+json",
26
+ FormData = "multipart/form-data",
27
+ UrlEncoded = "application/x-www-form-urlencoded",
28
+ Text = "text/plain"
29
+ }
30
+ export declare class HttpClient<SecurityDataType = unknown> {
31
+ instance: AxiosInstance;
32
+ private securityData;
33
+ private securityWorker?;
34
+ private secure?;
35
+ private format?;
36
+ constructor({ securityWorker, secure, format, ...axiosConfig }?: ApiConfig<SecurityDataType>);
37
+ setSecurityData: (data: SecurityDataType | null) => void;
38
+ protected mergeRequestParams(params1: AxiosRequestConfig, params2?: AxiosRequestConfig): AxiosRequestConfig;
39
+ protected stringifyFormItem(formItem: unknown): string;
40
+ protected createFormData(input: Record<string, unknown>): FormData;
41
+ request: <T = any, _E = any>({ secure, path, type, query, format, body, ...params }: FullRequestParams) => Promise<AxiosResponse<T>>;
42
+ }
43
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/http-client.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EAEb,YAAY,EACb,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3D,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,cAAc,CAAC;IAC5E,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,kEAAkE;IAClE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,iBAAiB,EACjB,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CACrC,CAAC;AAEF,MAAM,WAAW,SAAS,CAAC,gBAAgB,GAAG,OAAO,CACnD,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,aAAa,CAAC;IACxD,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,gBAAgB,GAAG,IAAI,KAClC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,oBAAY,WAAW;IACrB,IAAI,qBAAqB;IACzB,OAAO,6BAA6B;IACpC,QAAQ,wBAAwB;IAChC,UAAU,sCAAsC;IAChD,IAAI,eAAe;CACpB;AAED,qBAAa,UAAU,CAAC,gBAAgB,GAAG,OAAO;IACzC,QAAQ,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,cAAc,CAAC,CAAgD;IACvE,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,MAAM,CAAC,CAAe;gBAElB,EACV,cAAc,EACd,MAAM,EACN,MAAM,EACN,GAAG,WAAW,EACf,GAAE,SAAS,CAAC,gBAAgB,CAAM;IAU5B,eAAe,GAAI,MAAM,gBAAgB,GAAG,IAAI,UAErD;IAEF,SAAS,CAAC,kBAAkB,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,kBAAkB;IAmBrB,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO;IAQ7C,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAqB3D,OAAO,GAAU,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,wDAQxC,iBAAiB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAsC9C;CACH"}
@@ -0,0 +1,108 @@
1
+ /* eslint-disable */
2
+ /* tslint:disable */
3
+ // @ts-nocheck
4
+ /*
5
+ * ---------------------------------------------------------------
6
+ * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
7
+ * ## ##
8
+ * ## AUTHOR: acacode ##
9
+ * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
10
+ * ---------------------------------------------------------------
11
+ */
12
+ import axios from "axios";
13
+ export var ContentType;
14
+ (function (ContentType) {
15
+ ContentType["Json"] = "application/json";
16
+ ContentType["JsonApi"] = "application/vnd.api+json";
17
+ ContentType["FormData"] = "multipart/form-data";
18
+ ContentType["UrlEncoded"] = "application/x-www-form-urlencoded";
19
+ ContentType["Text"] = "text/plain";
20
+ })(ContentType || (ContentType = {}));
21
+ export class HttpClient {
22
+ instance;
23
+ securityData = null;
24
+ securityWorker;
25
+ secure;
26
+ format;
27
+ constructor({ securityWorker, secure, format, ...axiosConfig } = {}) {
28
+ this.instance = axios.create({
29
+ ...axiosConfig,
30
+ baseURL: axiosConfig.baseURL || "",
31
+ });
32
+ this.secure = secure;
33
+ this.format = format;
34
+ this.securityWorker = securityWorker;
35
+ }
36
+ setSecurityData = (data) => {
37
+ this.securityData = data;
38
+ };
39
+ mergeRequestParams(params1, params2) {
40
+ const method = params1.method || (params2 && params2.method);
41
+ return {
42
+ ...this.instance.defaults,
43
+ ...params1,
44
+ ...(params2 || {}),
45
+ headers: {
46
+ ...((method &&
47
+ this.instance.defaults.headers[method.toLowerCase()]) ||
48
+ {}),
49
+ ...(params1.headers || {}),
50
+ ...((params2 && params2.headers) || {}),
51
+ },
52
+ };
53
+ }
54
+ stringifyFormItem(formItem) {
55
+ if (typeof formItem === "object" && formItem !== null) {
56
+ return JSON.stringify(formItem);
57
+ }
58
+ else {
59
+ return `${formItem}`;
60
+ }
61
+ }
62
+ createFormData(input) {
63
+ if (input instanceof FormData) {
64
+ return input;
65
+ }
66
+ return Object.keys(input || {}).reduce((formData, key) => {
67
+ const property = input[key];
68
+ const propertyContent = property instanceof Array ? property : [property];
69
+ for (const formItem of propertyContent) {
70
+ const isFileType = formItem instanceof Blob || formItem instanceof File;
71
+ formData.append(key, isFileType ? formItem : this.stringifyFormItem(formItem));
72
+ }
73
+ return formData;
74
+ }, new FormData());
75
+ }
76
+ request = async ({ secure, path, type, query, format, body, ...params }) => {
77
+ const secureParams = ((typeof secure === "boolean" ? secure : this.secure) &&
78
+ this.securityWorker &&
79
+ (await this.securityWorker(this.securityData))) ||
80
+ {};
81
+ const requestParams = this.mergeRequestParams(params, secureParams);
82
+ const responseFormat = format || this.format || undefined;
83
+ if (type === ContentType.FormData &&
84
+ body &&
85
+ body !== null &&
86
+ typeof body === "object") {
87
+ body = this.createFormData(body);
88
+ }
89
+ if (type === ContentType.Text &&
90
+ body &&
91
+ body !== null &&
92
+ typeof body !== "string") {
93
+ body = JSON.stringify(body);
94
+ }
95
+ return this.instance.request({
96
+ ...requestParams,
97
+ headers: {
98
+ ...(requestParams.headers || {}),
99
+ ...(type ? { "Content-Type": type } : {}),
100
+ },
101
+ params: query,
102
+ responseType: responseFormat,
103
+ data: body,
104
+ url: path,
105
+ });
106
+ };
107
+ }
108
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { SandboxConfig, CreateSandboxParams, GetSandboxParams, ListSandboxesParams, RunCommandOpts, CommandResult, CommandStatus, CommandLog, WriteFileParams, ReadFileParams, CreateDirectoryParams } from "./types.js";
2
+ /**
3
+ * A sandbox is an isolated Linux environment you can create on demand.
4
+ * Use it to run commands, read/write files, and manage the sandbox lifecycle.
5
+ *
6
+ * ```ts
7
+ * import { Sandbox } from "@lightning-ai/sandbox";
8
+ *
9
+ * const sandbox = await Sandbox.create({
10
+ * name: "my-sandbox",
11
+ * instanceType: "gpu.small",
12
+ * });
13
+ *
14
+ * const result = await sandbox.runCommand("echo", ["hello"]);
15
+ * console.log(result.output);
16
+ *
17
+ * await sandbox.delete();
18
+ * ```
19
+ */
20
+ export declare class Sandbox {
21
+ readonly sandboxId: string;
22
+ readonly name: string;
23
+ readonly organizationId: string;
24
+ readonly clusterId: string;
25
+ readonly instanceType: string;
26
+ readonly spot: boolean;
27
+ readonly status: string;
28
+ readonly cloudspaceId: string;
29
+ readonly ports: string[];
30
+ readonly runtime: string;
31
+ readonly createdAt: Date;
32
+ readonly updatedAt: Date;
33
+ private constructor();
34
+ /**
35
+ * Set global defaults used by all subsequent SDK calls.
36
+ */
37
+ static configure(config: SandboxConfig): void;
38
+ static create(params: CreateSandboxParams): Promise<Sandbox>;
39
+ static get(params: GetSandboxParams): Promise<Sandbox>;
40
+ static list(params?: ListSandboxesParams): Promise<{
41
+ sandboxes: Sandbox[];
42
+ nextPageToken: string;
43
+ previousPageToken: string;
44
+ totalSize: number;
45
+ }>;
46
+ delete(): Promise<void>;
47
+ runCommand(command: string, args?: string[]): Promise<CommandResult>;
48
+ runCommand(opts: RunCommandOpts): Promise<CommandResult>;
49
+ getCommandLogs(cmdId: string): Promise<{
50
+ logs: CommandLog[];
51
+ }>;
52
+ killCommand(cmdId: string): Promise<void>;
53
+ getCommand(cmdId: string): Promise<CommandStatus>;
54
+ writeFile(params: WriteFileParams): Promise<void>;
55
+ readFile(params: ReadFileParams): Promise<string | null>;
56
+ writeFiles(files: WriteFileParams[]): Promise<void>;
57
+ createDirectory(params: CreateDirectoryParams): Promise<void>;
58
+ }
59
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EAEnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,cAAc,EACd,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAwEpB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,OAAO;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,OAAO;IAmBP;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;WAQhC,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;WAyCrD,GAAG,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;WAU/C,IAAI,CACf,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC;QACT,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IA6BI,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAcvB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IACpE,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCxD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IAe9D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBjD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmBxD,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAWpE"}
@@ -0,0 +1,277 @@
1
+ import { getApiKey, getBaseUrl, mergeSandboxConfig, resolveOrgId } from "./config.js";
2
+ function buildQuery(params) {
3
+ const qs = new URLSearchParams();
4
+ for (const [k, v] of Object.entries(params)) {
5
+ if (v !== undefined && v !== "")
6
+ qs.set(k, v);
7
+ }
8
+ const s = qs.toString();
9
+ return s ? `?${s}` : "";
10
+ }
11
+ async function request(method, path, body, apiKeyOverride) {
12
+ const url = `${getBaseUrl()}${path}`;
13
+ const headers = {
14
+ Authorization: `Bearer ${getApiKey(apiKeyOverride)}`,
15
+ };
16
+ const init = { method, headers };
17
+ if (body !== undefined) {
18
+ headers["Content-Type"] = "application/json";
19
+ init.body = JSON.stringify(body);
20
+ }
21
+ const resp = await fetch(url, init);
22
+ if (!resp.ok) {
23
+ const text = await resp.text();
24
+ throw new Error(`Lightning API error ${resp.status}: ${text}`);
25
+ }
26
+ const contentType = resp.headers.get("content-type") ?? "";
27
+ if (contentType.includes("application/json")) {
28
+ return (await resp.json());
29
+ }
30
+ return {};
31
+ }
32
+ function toSandboxData(v) {
33
+ return {
34
+ id: v.id ?? "",
35
+ name: v.name ?? "",
36
+ organizationId: v.organizationId ?? "",
37
+ clusterId: v.clusterId ?? "",
38
+ instanceType: v.instanceType ?? "",
39
+ spot: v.spot ?? false,
40
+ status: v.status ?? "",
41
+ cloudspaceId: v.cloudspaceId ?? "",
42
+ ports: v.ports ?? [],
43
+ runtime: v.runtime ?? "",
44
+ createdAt: v.createdAt ?? "",
45
+ updatedAt: v.updatedAt ?? "",
46
+ };
47
+ }
48
+ /**
49
+ * A sandbox is an isolated Linux environment you can create on demand.
50
+ * Use it to run commands, read/write files, and manage the sandbox lifecycle.
51
+ *
52
+ * ```ts
53
+ * import { Sandbox } from "@lightning-ai/sandbox";
54
+ *
55
+ * const sandbox = await Sandbox.create({
56
+ * name: "my-sandbox",
57
+ * instanceType: "gpu.small",
58
+ * });
59
+ *
60
+ * const result = await sandbox.runCommand("echo", ["hello"]);
61
+ * console.log(result.output);
62
+ *
63
+ * await sandbox.delete();
64
+ * ```
65
+ */
66
+ export class Sandbox {
67
+ sandboxId;
68
+ name;
69
+ organizationId;
70
+ clusterId;
71
+ instanceType;
72
+ spot;
73
+ status;
74
+ cloudspaceId;
75
+ ports;
76
+ runtime;
77
+ createdAt;
78
+ updatedAt;
79
+ constructor(data) {
80
+ this.sandboxId = data.id;
81
+ this.name = data.name;
82
+ this.organizationId = data.organizationId;
83
+ this.clusterId = data.clusterId;
84
+ this.instanceType = data.instanceType;
85
+ this.spot = data.spot;
86
+ this.status = data.status;
87
+ this.cloudspaceId = data.cloudspaceId;
88
+ this.ports = data.ports ?? [];
89
+ this.runtime = data.runtime ?? "";
90
+ this.createdAt = new Date(data.createdAt);
91
+ this.updatedAt = new Date(data.updatedAt);
92
+ }
93
+ // ---------------------------------------------------------------------------
94
+ // Global configuration
95
+ // ---------------------------------------------------------------------------
96
+ /**
97
+ * Set global defaults used by all subsequent SDK calls.
98
+ */
99
+ static configure(config) {
100
+ mergeSandboxConfig(config);
101
+ }
102
+ // ---------------------------------------------------------------------------
103
+ // Static CRUD methods
104
+ // ---------------------------------------------------------------------------
105
+ static async create(params) {
106
+ const body = {
107
+ name: params.name,
108
+ instanceType: params.instanceType,
109
+ spot: params.spot ?? false,
110
+ ports: (params.ports ?? []).map(String),
111
+ };
112
+ const orgId = resolveOrgId(params.organizationId);
113
+ if (orgId)
114
+ body.organizationId = orgId;
115
+ if (params.clusterId)
116
+ body.clusterId = params.clusterId;
117
+ if (params.cloudspaceId)
118
+ body.cloudspaceId = params.cloudspaceId;
119
+ if (params.runtime)
120
+ body.runtime = params.runtime;
121
+ const data = await request("POST", "/v1/core/sandboxes", body);
122
+ let sandbox = new Sandbox(toSandboxData(data));
123
+ const start = Date.now();
124
+ const deadline = start + 300_000;
125
+ while (sandbox.status !== "running") {
126
+ if (sandbox.status === "error" ||
127
+ sandbox.status === "stopped" ||
128
+ sandbox.status === "shutdown") {
129
+ throw new Error(`Sandbox entered terminal state: ${sandbox.status}`);
130
+ }
131
+ if (Date.now() >= deadline) {
132
+ throw new Error(`Sandbox did not become ready (current status: ${sandbox.status})`);
133
+ }
134
+ const elapsed = Date.now() - start;
135
+ const pollMs = elapsed < 5_000 ? 100 : 1_000;
136
+ await new Promise((r) => setTimeout(r, pollMs));
137
+ sandbox = await Sandbox.get({
138
+ sandboxId: sandbox.sandboxId,
139
+ organizationId: sandbox.organizationId || undefined,
140
+ });
141
+ }
142
+ return sandbox;
143
+ }
144
+ static async get(params) {
145
+ const orgId = resolveOrgId(params.organizationId);
146
+ const qs = buildQuery({ organizationId: orgId });
147
+ const data = await request("GET", `/v1/core/sandboxes/${encodeURIComponent(params.sandboxId)}${qs}`);
148
+ return new Sandbox(toSandboxData(data));
149
+ }
150
+ static async list(params = {}) {
151
+ const orgId = resolveOrgId(params.organizationId);
152
+ const qs = buildQuery({
153
+ organizationId: orgId,
154
+ pageToken: params.pageToken,
155
+ limit: params.limit !== undefined ? String(params.limit) : undefined,
156
+ });
157
+ const data = await request("GET", `/v1/core/sandboxes${qs}`);
158
+ const raw = {
159
+ sandboxes: (data.sandboxes ?? []).map(toSandboxData),
160
+ nextPageToken: data.nextPageToken,
161
+ previousPageToken: data.previousPageToken,
162
+ totalSize: data.totalSize !== undefined && data.totalSize !== ""
163
+ ? Number(data.totalSize)
164
+ : undefined,
165
+ };
166
+ return {
167
+ sandboxes: (raw.sandboxes ?? []).map((s) => new Sandbox(s)),
168
+ nextPageToken: raw.nextPageToken ?? "",
169
+ previousPageToken: raw.previousPageToken ?? "",
170
+ totalSize: raw.totalSize ?? 0,
171
+ };
172
+ }
173
+ // ---------------------------------------------------------------------------
174
+ // Instance methods — lifecycle
175
+ // ---------------------------------------------------------------------------
176
+ async delete() {
177
+ const qs = buildQuery({
178
+ organizationId: this.organizationId || undefined,
179
+ });
180
+ await request("DELETE", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}${qs}`);
181
+ }
182
+ async runCommand(commandOrOpts, args) {
183
+ const body = {
184
+ organizationId: this.organizationId || undefined,
185
+ };
186
+ if (typeof commandOrOpts === "string") {
187
+ body.command = commandOrOpts;
188
+ body.args = args ?? [];
189
+ }
190
+ else {
191
+ body.command = commandOrOpts.cmd;
192
+ body.args = commandOrOpts.args ?? [];
193
+ if (commandOrOpts.cwd)
194
+ body.cwd = commandOrOpts.cwd;
195
+ if (commandOrOpts.env)
196
+ body.env = commandOrOpts.env;
197
+ if (commandOrOpts.sudo !== undefined)
198
+ body.sudo = commandOrOpts.sudo;
199
+ if (commandOrOpts.detached !== undefined)
200
+ body.detached = commandOrOpts.detached;
201
+ }
202
+ const data = await request("POST", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/commands`, body);
203
+ return {
204
+ cmdId: data.cmdId ?? "",
205
+ output: data.output ?? "",
206
+ exitCode: data.exitCode ?? 0,
207
+ };
208
+ }
209
+ async getCommandLogs(cmdId) {
210
+ const qs = buildQuery({
211
+ organizationId: this.organizationId || undefined,
212
+ });
213
+ const data = await request("GET", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/commands/${encodeURIComponent(cmdId)}/logs${qs}`);
214
+ const logs = (data.logs ?? []).map((l) => ({
215
+ timestamp: l.timestamp ?? "",
216
+ message: l.message ?? "",
217
+ }));
218
+ return { logs };
219
+ }
220
+ async killCommand(cmdId) {
221
+ const qs = buildQuery({
222
+ organizationId: this.organizationId || undefined,
223
+ });
224
+ await request("POST", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/commands/${encodeURIComponent(cmdId)}/kill${qs}`);
225
+ }
226
+ async getCommand(cmdId) {
227
+ const qs = buildQuery({
228
+ organizationId: this.organizationId || undefined,
229
+ });
230
+ const data = await request("GET", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/commands/${encodeURIComponent(cmdId)}${qs}`);
231
+ return {
232
+ output: data.output ?? "",
233
+ exitCode: data.exitCode ?? 0,
234
+ running: data.running ?? false,
235
+ };
236
+ }
237
+ // ---------------------------------------------------------------------------
238
+ // Instance methods — files
239
+ // ---------------------------------------------------------------------------
240
+ async writeFile(params) {
241
+ const body = {
242
+ organizationId: this.organizationId || undefined,
243
+ path: params.path,
244
+ content: params.content,
245
+ };
246
+ await request("POST", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/files`, body);
247
+ }
248
+ async readFile(params) {
249
+ const qs = buildQuery({
250
+ path: params.path,
251
+ organizationId: this.organizationId || undefined,
252
+ });
253
+ try {
254
+ const data = await request("GET", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/files${qs}`);
255
+ return data.content ?? null;
256
+ }
257
+ catch (err) {
258
+ if (err instanceof Error && err.message.includes("404")) {
259
+ return null;
260
+ }
261
+ throw err;
262
+ }
263
+ }
264
+ async writeFiles(files) {
265
+ for (const file of files) {
266
+ await this.writeFile(file);
267
+ }
268
+ }
269
+ async createDirectory(params) {
270
+ const body = {
271
+ organizationId: this.organizationId || undefined,
272
+ path: params.path,
273
+ };
274
+ await request("POST", `/v1/core/sandboxes/${encodeURIComponent(this.sandboxId)}/directories`, body);
275
+ }
276
+ }
277
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Types for the Sandbox SDK public API and configuration.
3
+ */
4
+ export interface SandboxConfig {
5
+ /** API key (falls back to `LIGHTNING_API_KEY`). */
6
+ apiKey?: string;
7
+ /** Lightning Cloud base URL (falls back to `LIGHTNING_CLOUD_URL`, then production). */
8
+ baseUrl?: string;
9
+ /** Default organization ID for requests when not passed per call. */
10
+ organizationId?: string;
11
+ }
12
+ /** Raw sandbox record returned by the Lightning API (camelCase JSON). */
13
+ export interface SandboxData {
14
+ id: string;
15
+ name: string;
16
+ organizationId: string;
17
+ clusterId: string;
18
+ instanceType: string;
19
+ spot: boolean;
20
+ status: string;
21
+ cloudspaceId: string;
22
+ ports: string[];
23
+ runtime: string;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ }
27
+ export interface CreateSandboxParams {
28
+ name: string;
29
+ instanceType: string;
30
+ spot?: boolean;
31
+ ports?: number[];
32
+ organizationId?: string;
33
+ clusterId?: string;
34
+ cloudspaceId?: string;
35
+ runtime?: string;
36
+ }
37
+ export interface GetSandboxParams {
38
+ sandboxId: string;
39
+ organizationId?: string;
40
+ }
41
+ export interface ListSandboxesParams {
42
+ organizationId?: string;
43
+ pageToken?: string;
44
+ limit?: number;
45
+ }
46
+ export interface ListSandboxesResponse {
47
+ sandboxes: SandboxData[];
48
+ nextPageToken?: string;
49
+ previousPageToken?: string;
50
+ totalSize?: number;
51
+ }
52
+ export interface RunCommandOpts {
53
+ cmd: string;
54
+ args?: string[];
55
+ cwd?: string;
56
+ env?: Record<string, string>;
57
+ sudo?: boolean;
58
+ detached?: boolean;
59
+ }
60
+ export interface CommandResult {
61
+ cmdId: string;
62
+ output: string;
63
+ exitCode: number;
64
+ }
65
+ export interface CommandStatus {
66
+ output: string;
67
+ exitCode: number;
68
+ running: boolean;
69
+ }
70
+ export interface CommandLog {
71
+ timestamp: string;
72
+ message: string;
73
+ }
74
+ export interface WriteFileParams {
75
+ path: string;
76
+ content: string;
77
+ }
78
+ export interface ReadFileParams {
79
+ path: string;
80
+ }
81
+ export interface CreateDirectoryParams {
82
+ path: string;
83
+ }
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types for the Sandbox SDK public API and configuration.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}