@lightningai/sdk 2026.5.12 → 2026.5.21

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.
package/README.md CHANGED
@@ -50,6 +50,96 @@ Environment variables read by the SDK:
50
50
  | ------------------- | --------------------------------------------------------- |
51
51
  | `LIGHTNING_API_KEY` | API key if not passed via `configure()` / request options |
52
52
 
53
+ ## PTY sessions
54
+
55
+ For interactive shells (REPLs, build watchers, anything that needs `stdin`/window-resize/ANSI), use the `sandbox.process` namespace instead of `runCommand`. PTY sessions are bridged over a WebSocket from the controlplane down to the in-sandbox SSH server, with the same xterm wire protocol the Lightning UI's web terminal uses.
56
+
57
+ PTY support requires Node 22+ (for the built-in `WebSocket` global).
58
+
59
+ ### Create a session
60
+
61
+ ```ts
62
+ const pty = await sandbox.process.createPty({
63
+ sessionName: "build",
64
+ clusterId: sandbox.clusterId,
65
+ cwd: "/app",
66
+ cols: 120,
67
+ rows: 30,
68
+ envs: { TERM: "xterm-256color" },
69
+ onData: (chunk) => process.stdout.write(chunk),
70
+ });
71
+
72
+ await pty.waitForConnection();
73
+ await pty.sendInput("npm test\n");
74
+ await pty.sendInput("exit\n");
75
+
76
+ const result = await pty.wait();
77
+ console.log(`exit code: ${result.exitCode}`);
78
+ ```
79
+
80
+ | Option | Type | Description |
81
+ | ------------- | --------------------------- | ---------------------------------------------------------------------- |
82
+ | `sessionName` | `string` | Session identifier (used by `connectPty`) |
83
+ | `clusterId` | `string` | Cluster the sandbox runs on (`sandbox.clusterId`) |
84
+ | `cwd` | `string` | Initial working directory |
85
+ | `envs` | `Record<string, string>` | Environment variables exported into the session |
86
+ | `cols` | `number` | Initial terminal columns (default 80) |
87
+ | `rows` | `number` | Initial terminal rows (default 24) |
88
+ | `onData` | `(chunk: Uint8Array)=>void` | Callback for every chunk of shell output (defaults to `writeToStdout`) |
89
+
90
+ If `onData` is omitted, the SDK uses the exported `writeToStdout` helper, which forwards raw shell bytes to `process.stdout`. Pass `onData: () => {}` to suppress.
91
+
92
+ ### Reconnect to a session
93
+
94
+ ```ts
95
+ const pty = await sandbox.process.connectPty("build", sandbox.clusterId, {
96
+ onData: (chunk) => process.stdout.write(chunk),
97
+ });
98
+ ```
99
+
100
+ ### List, inspect, and kill sessions
101
+
102
+ ```ts
103
+ const sessions = await sandbox.process.listPtySessions();
104
+ for (const s of sessions) {
105
+ console.log(s.id, s.active, s.cols, s.rows);
106
+ }
107
+
108
+ const info = await sandbox.process.getPtySessionInfo("build");
109
+ await sandbox.process.killPtySession("build");
110
+ ```
111
+
112
+ ### Resize
113
+
114
+ Resize from a handle (preferred — works without a server round-trip):
115
+
116
+ ```ts
117
+ await pty.resize(150, 40);
118
+ ```
119
+
120
+ Or via the namespace, which finds the live handle in this process:
121
+
122
+ ```ts
123
+ await sandbox.process.resizePtySession("build", 150, 40);
124
+ ```
125
+
126
+ ### `PtyHandle` reference
127
+
128
+ | Member | Description |
129
+ | --------------------------------- | -------------------------------------------------------- |
130
+ | `sendInput(string \| Uint8Array)` | Send raw bytes to the shell (e.g. `"\u0003"` for Ctrl+C) |
131
+ | `resize(cols, rows)` | Send a resize control frame |
132
+ | `wait()` | Resolve when the WebSocket closes; returns `PtyResult` |
133
+ | `waitForConnection(timeoutMs?)` | Resolve when the WebSocket opens |
134
+ | `kill()` | Send Ctrl+C and disconnect |
135
+ | `disconnect()` | Close the WebSocket without killing the shell |
136
+ | `isConnected()` | Whether the WebSocket is OPEN |
137
+ | `exitCode` | `0` on clean close, `-1` on abnormal, `null` while alive |
138
+ | `error` | Termination reason on abnormal close, otherwise `null` |
139
+ | `size` | Most recent `{ cols, rows }` |
140
+
141
+ > **Note on cross-process persistence.** Within a single SDK process, every PTY method works against an in-process registry. Reattaching from a *different* process to a session that's still running on the sandbox requires the runtime image to ship `screen` (or similar) and the in-sandbox SSH login shell to honor `LAI_TERM_SESSION_NAME` / `LAI_TERM_RESTORE` — both of which are tracked as a follow-up to this initial parity work. The API surface above does not change either way.
142
+
53
143
  ## License
54
144
 
55
145
  Apache-2.0
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export { Sandbox } from "./sandbox.js";
2
2
  export { FileSystem } from "./filesystem.js";
3
3
  export { Command } from "./command.js";
4
- export type { SandboxConfig, SandboxData, CreateSandboxParams, GetSandboxParams, ListSandboxesParams, ListSandboxesResponse, RunCommandOpts, CommandStatus, CommandLog, WaitForCommandOptions, WriteFileParams, ReadFileParams, CreateDirectoryParams, FileStat, } from "./types.js";
4
+ export { SandboxProcess } from "./process.js";
5
+ export { PtyHandle, writeToStdout } from "./pty.js";
6
+ export type { SandboxConfig, SandboxData, CreateSandboxParams, GetSandboxParams, ListSandboxesParams, ListSandboxesResponse, RunCommandOpts, CommandStatus, CommandLog, WaitForCommandOptions, WriteFileParams, ReadFileParams, CreateDirectoryParams, FileStat, PtySize, PtyCreateOpts, PtyConnectOpts, PtyResult, PtySessionInfo, } from "./types.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EACV,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACpD,YAAY,EACV,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,aAAa,EACb,cAAc,EACd,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,6 @@
1
1
  export { Sandbox } from "./sandbox.js";
2
2
  export { FileSystem } from "./filesystem.js";
3
3
  export { Command } from "./command.js";
4
+ export { SandboxProcess } from "./process.js";
5
+ export { PtyHandle, writeToStdout } from "./pty.js";
4
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SandboxesServiceCreateSandboxDirectoryBody, SandboxesServiceExtendSandboxTimeoutBody, SandboxesServiceRunSandboxCommandBody, SandboxesServiceWriteSandboxFileBody, V1CreateSandboxRequest } from "./data-contracts";
1
+ import { SandboxesServiceCreateSandboxDirectoryBody, SandboxesServiceCreateSandboxSnapshotBody, SandboxesServiceExtendSandboxTimeoutBody, SandboxesServiceFinalizeSandboxSnapshotBody, SandboxesServiceGetSandboxSnapshotBlobDownloadUrlsBody, SandboxesServiceGetSandboxSnapshotBlobUploadUrlsBody, SandboxesServiceRunSandboxCommandBody, SandboxesServiceStopSandboxBody, SandboxesServiceUpdateSandboxBody, SandboxesServiceWriteSandboxFileBody, V1CreateSandboxRequest } from "./data-contracts";
2
2
  import { HttpClient, RequestParams } from "./http-client";
3
3
  export declare class SandboxesService<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
4
4
  /**
@@ -6,6 +6,7 @@ export declare class SandboxesService<SecurityDataType = unknown> extends HttpCl
6
6
  *
7
7
  * @tags SandboxesService
8
8
  * @name SandboxesServiceListSandboxes
9
+ * @summary Sandboxes
9
10
  * @request GET:/v1/core/sandboxes
10
11
  */
11
12
  sandboxesServiceListSandboxes: (query?: {
@@ -13,6 +14,14 @@ export declare class SandboxesService<SecurityDataType = unknown> extends HttpCl
13
14
  pageToken?: string;
14
15
  /** @format int64 */
15
16
  limit?: string;
17
+ /**
18
+ * Optional teamspace/project scoping. When set, only sandboxes belonging
19
+ * to this project are returned. Mirrors `ListSandboxSnapshotsRequest`.
20
+ * Sandboxes created before this field landed have no `project_id`
21
+ * persisted server-side, so filtering will return an empty set until
22
+ * sandboxes are recreated with a project context.
23
+ */
24
+ projectId?: string;
16
25
  }, params?: RequestParams) => any;
17
26
  /**
18
27
  * No description
@@ -22,6 +31,79 @@ export declare class SandboxesService<SecurityDataType = unknown> extends HttpCl
22
31
  * @request POST:/v1/core/sandboxes
23
32
  */
24
33
  sandboxesServiceCreateSandbox: (body: V1CreateSandboxRequest, params?: RequestParams) => any;
34
+ /**
35
+ * No description
36
+ *
37
+ * @tags SandboxesService
38
+ * @name SandboxesServiceListSandboxSnapshots
39
+ * @summary Snapshots
40
+ * @request GET:/v1/core/sandboxes/snapshots
41
+ */
42
+ sandboxesServiceListSandboxSnapshots: (query?: {
43
+ organizationId?: string;
44
+ pageToken?: string;
45
+ /** @format int64 */
46
+ limit?: string;
47
+ projectId?: string;
48
+ name?: string;
49
+ sortOrder?: string;
50
+ }, params?: RequestParams) => any;
51
+ /**
52
+ * No description
53
+ *
54
+ * @tags SandboxesService
55
+ * @name SandboxesServiceGetSandboxSnapshot
56
+ * @request GET:/v1/core/sandboxes/snapshots/{snapshotId}
57
+ */
58
+ sandboxesServiceGetSandboxSnapshot: (snapshotId: string, query?: {
59
+ organizationId?: string;
60
+ }, params?: RequestParams) => any;
61
+ /**
62
+ * No description
63
+ *
64
+ * @tags SandboxesService
65
+ * @name SandboxesServiceDeleteSandboxSnapshot
66
+ * @request DELETE:/v1/core/sandboxes/snapshots/{snapshotId}
67
+ */
68
+ sandboxesServiceDeleteSandboxSnapshot: (snapshotId: string, query?: {
69
+ organizationId?: string;
70
+ }, params?: RequestParams) => any;
71
+ /**
72
+ * No description
73
+ *
74
+ * @tags SandboxesService
75
+ * @name SandboxesServiceGetSandboxSnapshotBlobDownloadUrls
76
+ * @summary GetSandboxSnapshotBlobDownloadUrls mints presigned GET URLs for a
77
+ batch of sha256 digests so the restoring agent can pull missing
78
+ blobs from S3 directly. One URL per digest, in request order.
79
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/blobs/download-urls
80
+ */
81
+ sandboxesServiceGetSandboxSnapshotBlobDownloadUrls: (snapshotId: string, body: SandboxesServiceGetSandboxSnapshotBlobDownloadUrlsBody, params?: RequestParams) => any;
82
+ /**
83
+ * No description
84
+ *
85
+ * @tags SandboxesService
86
+ * @name SandboxesServiceGetSandboxSnapshotBlobUploadUrls
87
+ * @summary GetSandboxSnapshotBlobUploadUrls performs an existence check on
88
+ the supplied sha256 digests in the cluster blob store and returns
89
+ presigned PUT URLs only for those not already present. Existing
90
+ digests are echoed back in `existing_digests` so the caller can
91
+ skip uploading them.
92
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/blobs/upload-urls
93
+ */
94
+ sandboxesServiceGetSandboxSnapshotBlobUploadUrls: (snapshotId: string, body: SandboxesServiceGetSandboxSnapshotBlobUploadUrlsBody, params?: RequestParams) => any;
95
+ /**
96
+ * No description
97
+ *
98
+ * @tags SandboxesService
99
+ * @name SandboxesServiceFinalizeSandboxSnapshot
100
+ * @summary FinalizeSandboxSnapshot flips the row from "saving" to "ready"
101
+ after the agent has uploaded every blob and the manifest body to
102
+ `object_key`. The controlplane records final size_bytes +
103
+ rootfs_digest from the manifest.
104
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/finalize
105
+ */
106
+ sandboxesServiceFinalizeSandboxSnapshot: (snapshotId: string, body: SandboxesServiceFinalizeSandboxSnapshotBody, params?: RequestParams) => any;
25
107
  /**
26
108
  * No description
27
109
  *
@@ -42,6 +124,20 @@ export declare class SandboxesService<SecurityDataType = unknown> extends HttpCl
42
124
  sandboxesServiceDeleteSandbox: (id: string, query?: {
43
125
  organizationId?: string;
44
126
  }, params?: RequestParams) => any;
127
+ /**
128
+ * No description
129
+ *
130
+ * @tags SandboxesService
131
+ * @name SandboxesServiceUpdateSandbox
132
+ * @summary UpdateSandbox updates a sandbox in place. Currently the only
133
+ supported mutation is `resume = true`, which resumes a previously
134
+ stopped persistent sandbox from its most recent auto-snapshot while
135
+ preserving the sandbox id. Modelled on Vercel's update-sandbox
136
+ endpoint:
137
+ https://vercel.com/docs/rest-api/sandboxes-v2-beta/update-a-sandbox.
138
+ * @request PATCH:/v1/core/sandboxes/{id}
139
+ */
140
+ sandboxesServiceUpdateSandbox: (id: string, body: SandboxesServiceUpdateSandboxBody, params?: RequestParams) => any;
45
141
  /**
46
142
  * No description
47
143
  *
@@ -115,5 +211,27 @@ export declare class SandboxesService<SecurityDataType = unknown> extends HttpCl
115
211
  * @request POST:/v1/core/sandboxes/{id}/files
116
212
  */
117
213
  sandboxesServiceWriteSandboxFile: (id: string, body: SandboxesServiceWriteSandboxFileBody, params?: RequestParams) => any;
214
+ /**
215
+ * No description
216
+ *
217
+ * @tags SandboxesService
218
+ * @name SandboxesServiceCreateSandboxSnapshot
219
+ * @request POST:/v1/core/sandboxes/{id}/snapshot
220
+ */
221
+ sandboxesServiceCreateSandboxSnapshot: (id: string, body: SandboxesServiceCreateSandboxSnapshotBody, params?: RequestParams) => any;
222
+ /**
223
+ * No description
224
+ *
225
+ * @tags SandboxesService
226
+ * @name SandboxesServiceStopSandbox
227
+ * @summary StopSandbox stops a running sandbox. For sandboxes created with
228
+ `persistent = true`, the controlplane first captures an auto-snapshot
229
+ keyed to the sandbox id (returned in `auto_snapshot_id`) so the
230
+ sandbox can later be brought back via UpdateSandbox(resume=true)
231
+ without losing filesystem state. For non-persistent sandboxes the
232
+ server is simply stopped and no snapshot is taken.
233
+ * @request POST:/v1/core/sandboxes/{id}/stop
234
+ */
235
+ sandboxesServiceStopSandbox: (id: string, body: SandboxesServiceStopSandboxBody, params?: RequestParams) => any;
118
236
  }
119
237
  //# sourceMappingURL=SandboxesService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxesService.d.ts","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/SandboxesService.ts"],"names":[],"mappings":"AAYA,OAAO,EAEL,0CAA0C,EAC1C,wCAAwC,EACxC,qCAAqC,EACrC,oCAAoC,EAEpC,sBAAsB,EAWvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEvE,qBAAa,gBAAgB,CAC3B,gBAAgB,GAAG,OAAO,CAC1B,SAAQ,UAAU,CAAC,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,6BAA6B,GAC3B,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oBAAoB;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,6BAA6B,GAC3B,MAAM,sBAAsB,EAC5B,SAAQ,aAAkB,SASvB;IACL;;;;;;OAMG;IACH,0BAA0B,GACxB,IAAI,MAAM,EACV,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,6BAA6B,GAC3B,IAAI,MAAM,EACV,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,iCAAiC,GAC/B,IAAI,MAAM,EACV,MAAM,qCAAqC,EAC3C,SAAQ,aAAkB,SASvB;IACL;;;;;;OAMG;IACH,iCAAiC,GAC/B,IAAI,MAAM,EACV,OAAO,MAAM,EACb,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,kCAAkC,GAChC,IAAI,MAAM,EACV,OAAO,MAAM,EACb,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,qCAAqC,GACnC,IAAI,MAAM,EACV,OAAO,MAAM,EACb,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,sCAAsC,GACpC,IAAI,MAAM,EACV,MAAM,0CAA0C,EAChD,SAAQ,aAAkB,SASvB;IACL;;;;;;OAMG;IACH,oCAAoC,GAClC,IAAI,MAAM,EACV,MAAM,wCAAwC,EAC9C,SAAQ,aAAkB,SASvB;IACL;;;;;;OAMG;IACH,8BAA8B,GAC5B,IAAI,MAAM,EACV,QAAQ;QACN,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EACD,SAAQ,aAAkB,SAQvB;IACL;;;;;;OAMG;IACH,gCAAgC,GAC9B,IAAI,MAAM,EACV,MAAM,oCAAoC,EAC1C,SAAQ,aAAkB,SASvB;CACN"}
1
+ {"version":3,"file":"SandboxesService.d.ts","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/SandboxesService.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export class SandboxesService extends HttpClient {
16
16
  *
17
17
  * @tags SandboxesService
18
18
  * @name SandboxesServiceListSandboxes
19
+ * @summary Sandboxes
19
20
  * @request GET:/v1/core/sandboxes
20
21
  */
21
22
  sandboxesServiceListSandboxes = (query, params = {}) => this.request({
@@ -40,6 +41,106 @@ export class SandboxesService extends HttpClient {
40
41
  format: "json",
41
42
  ...params,
42
43
  });
44
+ /**
45
+ * No description
46
+ *
47
+ * @tags SandboxesService
48
+ * @name SandboxesServiceListSandboxSnapshots
49
+ * @summary Snapshots
50
+ * @request GET:/v1/core/sandboxes/snapshots
51
+ */
52
+ sandboxesServiceListSandboxSnapshots = (query, params = {}) => this.request({
53
+ path: `/v1/core/sandboxes/snapshots`,
54
+ method: "GET",
55
+ query: query,
56
+ format: "json",
57
+ ...params,
58
+ });
59
+ /**
60
+ * No description
61
+ *
62
+ * @tags SandboxesService
63
+ * @name SandboxesServiceGetSandboxSnapshot
64
+ * @request GET:/v1/core/sandboxes/snapshots/{snapshotId}
65
+ */
66
+ sandboxesServiceGetSandboxSnapshot = (snapshotId, query, params = {}) => this.request({
67
+ path: `/v1/core/sandboxes/snapshots/${snapshotId}`,
68
+ method: "GET",
69
+ query: query,
70
+ format: "json",
71
+ ...params,
72
+ });
73
+ /**
74
+ * No description
75
+ *
76
+ * @tags SandboxesService
77
+ * @name SandboxesServiceDeleteSandboxSnapshot
78
+ * @request DELETE:/v1/core/sandboxes/snapshots/{snapshotId}
79
+ */
80
+ sandboxesServiceDeleteSandboxSnapshot = (snapshotId, query, params = {}) => this.request({
81
+ path: `/v1/core/sandboxes/snapshots/${snapshotId}`,
82
+ method: "DELETE",
83
+ query: query,
84
+ format: "json",
85
+ ...params,
86
+ });
87
+ /**
88
+ * No description
89
+ *
90
+ * @tags SandboxesService
91
+ * @name SandboxesServiceGetSandboxSnapshotBlobDownloadUrls
92
+ * @summary GetSandboxSnapshotBlobDownloadUrls mints presigned GET URLs for a
93
+ batch of sha256 digests so the restoring agent can pull missing
94
+ blobs from S3 directly. One URL per digest, in request order.
95
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/blobs/download-urls
96
+ */
97
+ sandboxesServiceGetSandboxSnapshotBlobDownloadUrls = (snapshotId, body, params = {}) => this.request({
98
+ path: `/v1/core/sandboxes/snapshots/${snapshotId}/blobs/download-urls`,
99
+ method: "POST",
100
+ body: body,
101
+ type: ContentType.Json,
102
+ format: "json",
103
+ ...params,
104
+ });
105
+ /**
106
+ * No description
107
+ *
108
+ * @tags SandboxesService
109
+ * @name SandboxesServiceGetSandboxSnapshotBlobUploadUrls
110
+ * @summary GetSandboxSnapshotBlobUploadUrls performs an existence check on
111
+ the supplied sha256 digests in the cluster blob store and returns
112
+ presigned PUT URLs only for those not already present. Existing
113
+ digests are echoed back in `existing_digests` so the caller can
114
+ skip uploading them.
115
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/blobs/upload-urls
116
+ */
117
+ sandboxesServiceGetSandboxSnapshotBlobUploadUrls = (snapshotId, body, params = {}) => this.request({
118
+ path: `/v1/core/sandboxes/snapshots/${snapshotId}/blobs/upload-urls`,
119
+ method: "POST",
120
+ body: body,
121
+ type: ContentType.Json,
122
+ format: "json",
123
+ ...params,
124
+ });
125
+ /**
126
+ * No description
127
+ *
128
+ * @tags SandboxesService
129
+ * @name SandboxesServiceFinalizeSandboxSnapshot
130
+ * @summary FinalizeSandboxSnapshot flips the row from "saving" to "ready"
131
+ after the agent has uploaded every blob and the manifest body to
132
+ `object_key`. The controlplane records final size_bytes +
133
+ rootfs_digest from the manifest.
134
+ * @request POST:/v1/core/sandboxes/snapshots/{snapshotId}/finalize
135
+ */
136
+ sandboxesServiceFinalizeSandboxSnapshot = (snapshotId, body, params = {}) => this.request({
137
+ path: `/v1/core/sandboxes/snapshots/${snapshotId}/finalize`,
138
+ method: "POST",
139
+ body: body,
140
+ type: ContentType.Json,
141
+ format: "json",
142
+ ...params,
143
+ });
43
144
  /**
44
145
  * No description
45
146
  *
@@ -68,6 +169,27 @@ export class SandboxesService extends HttpClient {
68
169
  format: "json",
69
170
  ...params,
70
171
  });
172
+ /**
173
+ * No description
174
+ *
175
+ * @tags SandboxesService
176
+ * @name SandboxesServiceUpdateSandbox
177
+ * @summary UpdateSandbox updates a sandbox in place. Currently the only
178
+ supported mutation is `resume = true`, which resumes a previously
179
+ stopped persistent sandbox from its most recent auto-snapshot while
180
+ preserving the sandbox id. Modelled on Vercel's update-sandbox
181
+ endpoint:
182
+ https://vercel.com/docs/rest-api/sandboxes-v2-beta/update-a-sandbox.
183
+ * @request PATCH:/v1/core/sandboxes/{id}
184
+ */
185
+ sandboxesServiceUpdateSandbox = (id, body, params = {}) => this.request({
186
+ path: `/v1/core/sandboxes/${id}`,
187
+ method: "PATCH",
188
+ body: body,
189
+ type: ContentType.Json,
190
+ format: "json",
191
+ ...params,
192
+ });
71
193
  /**
72
194
  * No description
73
195
  *
@@ -184,5 +306,41 @@ export class SandboxesService extends HttpClient {
184
306
  format: "json",
185
307
  ...params,
186
308
  });
309
+ /**
310
+ * No description
311
+ *
312
+ * @tags SandboxesService
313
+ * @name SandboxesServiceCreateSandboxSnapshot
314
+ * @request POST:/v1/core/sandboxes/{id}/snapshot
315
+ */
316
+ sandboxesServiceCreateSandboxSnapshot = (id, body, params = {}) => this.request({
317
+ path: `/v1/core/sandboxes/${id}/snapshot`,
318
+ method: "POST",
319
+ body: body,
320
+ type: ContentType.Json,
321
+ format: "json",
322
+ ...params,
323
+ });
324
+ /**
325
+ * No description
326
+ *
327
+ * @tags SandboxesService
328
+ * @name SandboxesServiceStopSandbox
329
+ * @summary StopSandbox stops a running sandbox. For sandboxes created with
330
+ `persistent = true`, the controlplane first captures an auto-snapshot
331
+ keyed to the sandbox id (returned in `auto_snapshot_id`) so the
332
+ sandbox can later be brought back via UpdateSandbox(resume=true)
333
+ without losing filesystem state. For non-persistent sandboxes the
334
+ server is simply stopped and no snapshot is taken.
335
+ * @request POST:/v1/core/sandboxes/{id}/stop
336
+ */
337
+ sandboxesServiceStopSandbox = (id, body, params = {}) => this.request({
338
+ path: `/v1/core/sandboxes/${id}/stop`,
339
+ method: "POST",
340
+ body: body,
341
+ type: ContentType.Json,
342
+ format: "json",
343
+ ...params,
344
+ });
187
345
  }
188
346
  //# sourceMappingURL=SandboxesService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxesService.js","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/SandboxesService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SandboxesService.js","sourceRoot":"","sources":["../../../src/lightning_cloud/openapi/SandboxesService.ts"],"names":[],"mappings":"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"}