@run-cloud/sdk 0.7.0 → 0.8.1

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
@@ -38,6 +38,8 @@ const sandbox = await cloud.sandboxes.create({
38
38
 
39
39
  const result = await cloud.sandboxes.exec(sandbox.id, "npm install && npm test", {
40
40
  timeoutSeconds: 600,
41
+ onStdout: (chunk) => process.stdout.write(chunk),
42
+ onStderr: (chunk) => process.stderr.write(chunk),
41
43
  });
42
44
  console.log(result.exitCode, result.stdout);
43
45
  await writeFile(
@@ -48,6 +50,31 @@ await writeFile(
48
50
  await cloud.sandboxes.destroy(sandbox.id);
49
51
  ```
50
52
 
53
+ Open a short-lived public URL for a service without making the sandbox
54
+ persistent:
55
+
56
+ ```ts
57
+ await cloud.sandboxes.exec(
58
+ sandbox.id,
59
+ "nohup npm run dev -- --host 0.0.0.0 >/tmp/dev.log 2>&1 &",
60
+ );
61
+ const tunnel = await cloud.sandboxes.openTunnel(sandbox.id, 3000, {
62
+ ttlSeconds: 900,
63
+ });
64
+ await fetch(tunnel.url);
65
+ await cloud.sandboxes.closeTunnel(sandbox.id, tunnel.id);
66
+ ```
67
+
68
+ Tunnel hostnames are random bearer capabilities. Do not write them to public
69
+ logs. They expire automatically and are also removed when the tunnel or
70
+ sandbox is deleted. Opening a tunnel does not modify `idlePauseSeconds`.
71
+ Active tunnels are limited to 8 per sandbox and 100 per organization.
72
+
73
+ Cloudflare KV is eventually consistent, so a URL may remain reachable briefly
74
+ after `closeTunnel` returns. Do not treat close as instantaneous global
75
+ revocation. Stop the service or destroy the sandbox when access must end
76
+ immediately.
77
+
51
78
  Ask for the exact resources you need:
52
79
 
53
80
  ```ts
@@ -55,8 +82,9 @@ await cloud.sandboxes.create({ cpu: 2, memory: 4096, disk: 40 });
55
82
  ```
56
83
 
57
84
  `exec` takes a string (run via `/bin/sh -c`) or an argv array to skip the shell.
58
- A non-zero exit code is returned, not thrown — only transport and API errors
59
- raise `RunCloudError`.
85
+ `onStdout` and `onStderr` receive bytes as they arrive over the authenticated
86
+ WebSocket. A non-zero exit code is returned, not thrown — only transport and API
87
+ errors raise `RunCloudError`.
60
88
 
61
89
  Creates are retry-safe with an idempotency key; a repeat returns the original
62
90
  sandbox instead of spawning — and billing — a second one:
package/dist/index.d.ts CHANGED
@@ -1,8 +1,13 @@
1
+ import WebSocket from "ws";
1
2
  export type SimulatorPlatform = "ios" | "android";
2
3
  export interface ClientOptions {
3
4
  apiKey?: string;
4
5
  apiUrl?: string;
5
6
  fetch?: typeof fetch;
7
+ /** Primarily useful for runtimes and tests that provide their own WebSocket implementation. */
8
+ webSocketFactory?: (url: string, options: {
9
+ headers: Record<string, string>;
10
+ }) => WebSocket;
6
11
  }
7
12
  export interface Account {
8
13
  products?: unknown[];
@@ -20,6 +25,8 @@ export interface Asset {
20
25
  contentType: string;
21
26
  byteSize: number;
22
27
  createdAt: string;
28
+ /** Authenticated API path; GET follows a short-lived signed storage redirect. */
29
+ downloadUrl: string;
23
30
  }
24
31
  export interface VideoUploadResult {
25
32
  ok: true;
@@ -131,10 +138,25 @@ export interface Sandbox {
131
138
  destroyedAt?: string | null;
132
139
  [key: string]: unknown;
133
140
  }
141
+ export interface SandboxTunnel {
142
+ id: string;
143
+ sandboxId: string;
144
+ hostname: string;
145
+ url: string;
146
+ port: number;
147
+ expiresAt: string;
148
+ createdAt: string;
149
+ }
134
150
  export interface ExecOptions {
135
151
  cwd?: string;
136
152
  env?: Record<string, string>;
137
153
  timeoutSeconds?: number;
154
+ /** Called as stdout bytes arrive from the sandbox. */
155
+ onStdout?: (chunk: Uint8Array) => void;
156
+ /** Called as stderr bytes arrive from the sandbox. */
157
+ onStderr?: (chunk: Uint8Array) => void;
158
+ /** Cancels the command stream and closes its WebSocket. */
159
+ signal?: AbortSignal;
138
160
  }
139
161
  /**
140
162
  * Metered usage, summed per organization and meter. `meter` is an opaque usage
@@ -156,8 +178,13 @@ export interface ExecResult {
156
178
  /** Alias for `exit_code`. */
157
179
  exitCode: number;
158
180
  }
181
+ export interface WriteFileOptions {
182
+ /** Unix permission bits applied when the file is first created. Defaults to 0644. */
183
+ mode?: number;
184
+ }
159
185
  export interface Snapshot {
160
186
  id: string;
187
+ state?: "pending" | "ready" | "failed" | string;
161
188
  [key: string]: unknown;
162
189
  }
163
190
  export declare class RunCloudError extends Error {
@@ -175,6 +202,7 @@ export declare class Client {
175
202
  private readonly apiKey;
176
203
  private readonly apiUrl;
177
204
  private readonly fetchImpl;
205
+ private readonly webSocketFactory;
178
206
  constructor(options?: ClientOptions);
179
207
  usage(options?: {
180
208
  orgId?: string;
@@ -183,6 +211,8 @@ export declare class Client {
183
211
  request<T>(method: string, path: string, body?: unknown, headers?: Record<string, string>): Promise<T>;
184
212
  uploadForm<T>(path: string, form: FormData): Promise<T>;
185
213
  requestBytes(path: string): Promise<Uint8Array>;
214
+ putSigned(url: string, body: Blob, headers: Record<string, string>): Promise<void>;
215
+ execStream(path: string, request: Record<string, unknown>, callbacks?: Pick<ExecOptions, "onStdout" | "onStderr" | "signal">): Promise<ExecResult>;
186
216
  }
187
217
  export declare class SimulatorClient {
188
218
  protected readonly client: Client;
@@ -237,10 +267,30 @@ export declare class SandboxClient {
237
267
  state?: SandboxState;
238
268
  }): Promise<Sandbox[]>;
239
269
  get(id: string): Promise<Sandbox>;
270
+ /**
271
+ * Open a short-lived public URL for one guest port.
272
+ *
273
+ * The tunnel does not make the sandbox persistent or change idle-pause.
274
+ * Its random hostname is a bearer capability; do not write the URL to logs.
275
+ * Active tunnels are limited per sandbox and organization.
276
+ */
277
+ openTunnel(id: string, port: number, options?: {
278
+ ttlSeconds?: number;
279
+ }): Promise<SandboxTunnel>;
280
+ /**
281
+ * Request revocation of a public tunnel.
282
+ *
283
+ * Cloudflare KV is eventually consistent, so the URL may remain reachable
284
+ * briefly after this resolves. Stop the guest service or destroy the sandbox
285
+ * when access must end immediately.
286
+ */
287
+ closeTunnel(id: string, tunnelId: string): Promise<void>;
240
288
  /** A string command is run via `/bin/sh -c`; pass an array to exec it directly. */
241
289
  exec(id: string, cmd: string | string[], options?: ExecOptions): Promise<ExecResult>;
242
290
  /** Read a file from the sandbox. Binary content is returned unchanged. */
243
291
  readFile(id: string, path: string): Promise<Uint8Array>;
292
+ /** Write a file directly in bounded chunks, without SSH or command-line encoding limits. */
293
+ writeFile(id: string, path: string, content: Uint8Array, options?: WriteFileOptions): Promise<void>;
244
294
  /**
245
295
  * Give a running sandbox a new lifetime, restarting its window from now.
246
296
  *
@@ -254,6 +304,8 @@ export declare class SandboxClient {
254
304
  delete(id: string): Promise<void>;
255
305
  snapshot(id: string, options?: {
256
306
  label?: string;
307
+ timeoutSeconds?: number;
308
+ pollIntervalMs?: number;
257
309
  }): Promise<Snapshot>;
258
310
  }
259
311
  export declare class SnapshotsClient {
@@ -266,6 +318,10 @@ export declare class SnapshotsClient {
266
318
  restore(id: string, options?: {
267
319
  name?: string;
268
320
  region?: string;
321
+ size?: string;
322
+ cpu?: number;
323
+ memory?: number;
324
+ disk?: number;
269
325
  }): Promise<Sandbox>;
270
326
  }
271
327
  export declare class AssetsClient {
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import WebSocket from "ws";
1
2
  const SANDBOX_ALIASES = {
2
3
  size_class: "sizeClass",
3
4
  milli_cpu: "milliCpu",
@@ -54,6 +55,9 @@ async function errorDetail(response) {
54
55
  catch {
55
56
  // plain text
56
57
  }
58
+ if (/<(?:!doctype|html)\b/i.test(text)) {
59
+ return "the API edge returned an HTML error page; retry the request or use the streaming/direct-transfer API";
60
+ }
57
61
  return text || response.statusText;
58
62
  }
59
63
  export class Client {
@@ -66,6 +70,7 @@ export class Client {
66
70
  apiKey;
67
71
  apiUrl;
68
72
  fetchImpl;
73
+ webSocketFactory;
69
74
  constructor(options = {}) {
70
75
  const apiKey = options.apiKey ?? apiKeyFromEnv();
71
76
  if (!apiKey) {
@@ -74,6 +79,9 @@ export class Client {
74
79
  this.apiKey = apiKey;
75
80
  this.apiUrl = (options.apiUrl ?? apiUrlFromEnv()).replace(/\/+$/, "");
76
81
  this.fetchImpl = options.fetch ?? fetch;
82
+ this.webSocketFactory =
83
+ options.webSocketFactory ??
84
+ ((url, socketOptions) => new WebSocket(url, socketOptions));
77
85
  this.ios = new IosSimulatorClient(this);
78
86
  this.android = new SimulatorClient(this, "android");
79
87
  this.simulators = new SimulatorsClient(this);
@@ -131,6 +139,97 @@ export class Client {
131
139
  throw new RunCloudError(response.status, await errorDetail(response));
132
140
  return new Uint8Array(await response.arrayBuffer());
133
141
  }
142
+ async putSigned(url, body, headers) {
143
+ const response = await this.fetchImpl(url, { method: "PUT", headers, body });
144
+ if (!response.ok)
145
+ throw new RunCloudError(response.status, await errorDetail(response));
146
+ }
147
+ async execStream(path, request, callbacks = {}) {
148
+ const url = new URL(`${this.apiUrl}${path}`);
149
+ url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
150
+ return await new Promise((resolve, reject) => {
151
+ const socket = this.webSocketFactory(url.toString(), {
152
+ headers: { Authorization: `Bearer ${this.apiKey}` },
153
+ });
154
+ const stdout = [];
155
+ const stderr = [];
156
+ let exitCode;
157
+ let settled = false;
158
+ const finish = (error) => {
159
+ if (settled)
160
+ return;
161
+ settled = true;
162
+ callbacks.signal?.removeEventListener("abort", abort);
163
+ if (error) {
164
+ reject(error);
165
+ return;
166
+ }
167
+ if (exitCode === undefined) {
168
+ reject(new RunCloudError(0, "exec stream closed before reporting an exit code"));
169
+ return;
170
+ }
171
+ resolve({
172
+ exit_code: exitCode,
173
+ exitCode,
174
+ stdout: Buffer.concat(stdout).toString("utf8"),
175
+ stderr: Buffer.concat(stderr).toString("utf8"),
176
+ });
177
+ };
178
+ const abort = () => {
179
+ socket.close(1000, "aborted");
180
+ finish(new DOMException("The operation was aborted", "AbortError"));
181
+ };
182
+ if (callbacks.signal?.aborted) {
183
+ abort();
184
+ return;
185
+ }
186
+ callbacks.signal?.addEventListener("abort", abort, { once: true });
187
+ socket.once("open", () => socket.send(JSON.stringify(request)));
188
+ socket.on("message", (raw) => {
189
+ let frame;
190
+ try {
191
+ frame = JSON.parse(raw.toString());
192
+ }
193
+ catch {
194
+ socket.close(1002, "invalid exec frame");
195
+ finish(new RunCloudError(0, "exec stream returned invalid JSON"));
196
+ return;
197
+ }
198
+ if (frame.stream === "stdout" || frame.stream === "stderr") {
199
+ if (typeof frame.data !== "string")
200
+ return;
201
+ const chunk = Buffer.from(frame.data, "base64");
202
+ if (frame.stream === "stdout") {
203
+ stdout.push(chunk);
204
+ callbacks.onStdout?.(chunk);
205
+ }
206
+ else {
207
+ stderr.push(chunk);
208
+ callbacks.onStderr?.(chunk);
209
+ }
210
+ return;
211
+ }
212
+ if (frame.stream === "exit") {
213
+ const code = frame.code ?? frame.exit_code ?? 0;
214
+ if (!Number.isSafeInteger(code)) {
215
+ socket.close(1002, "invalid exit code");
216
+ finish(new RunCloudError(0, "exec stream returned an invalid exit code"));
217
+ return;
218
+ }
219
+ exitCode = code;
220
+ socket.close(1000);
221
+ }
222
+ });
223
+ socket.once("error", (error) => finish(new RunCloudError(0, `exec stream failed: ${error.message}`)));
224
+ socket.once("close", (code, reason) => {
225
+ if (exitCode !== undefined)
226
+ finish();
227
+ else {
228
+ finish(new RunCloudError(code, reason.toString() || `exec stream closed before completion (${code})`));
229
+ }
230
+ });
231
+ });
232
+ }
134
233
  }
135
234
  export class SimulatorClient {
136
235
  client;
@@ -258,24 +357,92 @@ export class SandboxClient {
258
357
  const raw = await this.client.request("GET", `/run-cloud/sandboxes/${encodeURIComponent(id)}`);
259
358
  return normalizeSandbox(raw);
260
359
  }
360
+ /**
361
+ * Open a short-lived public URL for one guest port.
362
+ *
363
+ * The tunnel does not make the sandbox persistent or change idle-pause.
364
+ * Its random hostname is a bearer capability; do not write the URL to logs.
365
+ * Active tunnels are limited per sandbox and organization.
366
+ */
367
+ async openTunnel(id, port, options = {}) {
368
+ return await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/tunnels`, {
369
+ port,
370
+ ...(options.ttlSeconds === undefined
371
+ ? {}
372
+ : { ttlSeconds: options.ttlSeconds }),
373
+ });
374
+ }
375
+ /**
376
+ * Request revocation of a public tunnel.
377
+ *
378
+ * Cloudflare KV is eventually consistent, so the URL may remain reachable
379
+ * briefly after this resolves. Stop the guest service or destroy the sandbox
380
+ * when access must end immediately.
381
+ */
382
+ async closeTunnel(id, tunnelId) {
383
+ await this.client.request("DELETE", `/run-cloud/sandboxes/${encodeURIComponent(id)}/tunnels/${encodeURIComponent(tunnelId)}`);
384
+ }
261
385
  /** A string command is run via `/bin/sh -c`; pass an array to exec it directly. */
262
386
  async exec(id, cmd, options = {}) {
263
387
  const argv = typeof cmd === "string" ? ["/bin/sh", "-c", cmd] : cmd;
264
388
  if (argv.length === 0)
265
389
  throw new Error("cmd must not be empty");
266
- const { timeoutSeconds, ...rest } = options;
267
- const result = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/exec`, { cmd: argv, ...rest, ...(timeoutSeconds === undefined ? {} : { timeout_seconds: timeoutSeconds }) });
390
+ const { timeoutSeconds, onStdout, onStderr, signal, ...rest } = options;
391
+ const result = await this.client.execStream(`/run-cloud/sandboxes/${encodeURIComponent(id)}/exec/stream?mode=command`, {
392
+ cmd: argv,
393
+ ...rest,
394
+ ...(timeoutSeconds === undefined ? {} : { timeout_seconds: timeoutSeconds }),
395
+ }, { onStdout, onStderr, signal });
268
396
  return { ...result, exitCode: result.exit_code };
269
397
  }
270
398
  /** Read a file from the sandbox. Binary content is returned unchanged. */
271
399
  async readFile(id, path) {
272
400
  if (!path)
273
401
  throw new Error("path must not be empty");
274
- const result = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/fs`, { op: "read", path });
275
- if (result.error)
276
- throw new Error(result.error);
277
- const decoded = atob(result.content ?? "");
278
- return Uint8Array.from(decoded, (character) => character.charCodeAt(0));
402
+ const chunks = [];
403
+ let offset = 0;
404
+ for (;;) {
405
+ const result = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/fs`, { op: "read", path, offset, length: 512 * 1024 });
406
+ if (result.error)
407
+ throw new Error(result.error);
408
+ const chunk = Uint8Array.from(Buffer.from(result.content ?? "", "base64"));
409
+ chunks.push(chunk);
410
+ const nextOffset = result.next_offset ?? offset + chunk.byteLength;
411
+ if (result.eof ?? chunk.byteLength === 0)
412
+ break;
413
+ if (nextOffset <= offset)
414
+ throw new Error("file read did not advance");
415
+ offset = nextOffset;
416
+ }
417
+ const size = chunks.reduce((total, chunk) => total + chunk.byteLength, 0);
418
+ const output = new Uint8Array(size);
419
+ let cursor = 0;
420
+ for (const chunk of chunks) {
421
+ output.set(chunk, cursor);
422
+ cursor += chunk.byteLength;
423
+ }
424
+ return output;
425
+ }
426
+ /** Write a file directly in bounded chunks, without SSH or command-line encoding limits. */
427
+ async writeFile(id, path, content, options = {}) {
428
+ if (!path)
429
+ throw new Error("path must not be empty");
430
+ const chunkBytes = 512 * 1024;
431
+ const totalChunks = Math.max(1, Math.ceil(content.byteLength / chunkBytes));
432
+ for (let index = 0; index < totalChunks; index += 1) {
433
+ const offset = index * chunkBytes;
434
+ const chunk = content.subarray(offset, Math.min(content.byteLength, offset + chunkBytes));
435
+ const result = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/fs`, {
436
+ op: "write",
437
+ path,
438
+ offset,
439
+ content: Buffer.from(chunk).toString("base64"),
440
+ truncate: index === 0,
441
+ ...(options.mode === undefined ? {} : { mode: options.mode }),
442
+ });
443
+ if (result.error)
444
+ throw new Error(result.error);
445
+ }
279
446
  }
280
447
  /**
281
448
  * Give a running sandbox a new lifetime, restarting its window from now.
@@ -296,7 +463,17 @@ export class SandboxClient {
296
463
  await this.destroy(id);
297
464
  }
298
465
  async snapshot(id, options = {}) {
299
- return await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/snapshots`, { label: options.label ?? "" });
466
+ let snapshot = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/snapshots`, { label: options.label ?? "" });
467
+ const deadline = Date.now() + (options.timeoutSeconds ?? 3600) * 1000;
468
+ while (snapshot.state === "pending") {
469
+ if (Date.now() >= deadline)
470
+ throw new Error(`snapshot ${snapshot.id} did not finish before the timeout`);
471
+ await new Promise((resolve) => setTimeout(resolve, options.pollIntervalMs ?? 1000));
472
+ snapshot = await this.client.request("GET", `/run-cloud/snapshots/${encodeURIComponent(snapshot.id)}`);
473
+ }
474
+ if (snapshot.state === "failed")
475
+ throw new Error(`snapshot ${snapshot.id} failed`);
476
+ return snapshot;
300
477
  }
301
478
  }
302
479
  export class SnapshotsClient {
@@ -316,6 +493,10 @@ export class SnapshotsClient {
316
493
  const raw = await this.client.request("POST", `/run-cloud/snapshots/${encodeURIComponent(id)}/restore`, {
317
494
  ...(options.name === undefined ? {} : { name: options.name }),
318
495
  ...(options.region === undefined ? {} : { region: options.region }),
496
+ ...(options.size === undefined ? {} : { size: options.size }),
497
+ ...(options.cpu === undefined ? {} : { cpu: options.cpu }),
498
+ ...(options.memory === undefined ? {} : { memory: options.memory }),
499
+ ...(options.disk === undefined ? {} : { disk: options.disk }),
319
500
  });
320
501
  return normalizeSandbox(raw);
321
502
  }
@@ -329,11 +510,21 @@ export class AssetsClient {
329
510
  return await this.client.request("GET", "/run-cloud/assets");
330
511
  }
331
512
  async upload(file, options = {}) {
332
- const form = new FormData();
333
- form.set("file", file, options.filename ?? "app.bin");
334
- if (options.name)
335
- form.set("name", options.name);
336
- return await this.client.uploadForm("/run-cloud/assets", form);
513
+ const filename = options.filename ?? "app.bin";
514
+ const prepared = await this.client.request("POST", "/run-cloud/assets/uploads", {
515
+ filename,
516
+ ...(options.name ? { name: options.name } : {}),
517
+ contentType: file.type || "application/octet-stream",
518
+ byteSize: file.size,
519
+ });
520
+ try {
521
+ await this.client.putSigned(prepared.upload.url, file, prepared.upload.headers);
522
+ }
523
+ catch (error) {
524
+ await this.delete(prepared.asset.id).catch(() => undefined);
525
+ throw error;
526
+ }
527
+ return prepared.asset;
337
528
  }
338
529
  async delete(id) {
339
530
  return await this.client.request("DELETE", `/run-cloud/assets/${encodeURIComponent(id)}`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@run-cloud/sdk",
3
- "version": "0.7.0",
3
+ "version": "0.8.1",
4
4
  "description": "TypeScript client for run.cloud, including sandbox-provider compatibility adapters",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -96,6 +96,9 @@
96
96
  "engines": {
97
97
  "node": ">=20"
98
98
  },
99
+ "dependencies": {
100
+ "ws": "^8.21.0"
101
+ },
99
102
  "scripts": {
100
103
  "build": "tsc -p tsconfig.json",
101
104
  "test": "tsc -p tsconfig.test.json && node --test dist-test/*.test.js",
@@ -103,6 +106,7 @@
103
106
  },
104
107
  "devDependencies": {
105
108
  "@types/node": "^24.0.0",
109
+ "@types/ws": "^8.18.1",
106
110
  "typescript": "^5.0.0"
107
111
  }
108
112
  }