@run-cloud/sdk 0.1.1 → 0.3.0

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
@@ -8,17 +8,73 @@ export RUN_CLOUD_API_KEY="rc_live_..."
8
8
  ```
9
9
 
10
10
  ```ts
11
+ import { writeFile } from "node:fs/promises";
11
12
  import { Client } from "@run-cloud/sdk";
12
13
 
13
14
  const cloud = new Client();
14
15
 
15
16
  const ios = await cloud.ios.create({ displayName: "CI smoke" });
16
17
  await cloud.ios.openUrl(ios.id, "https://example.com");
18
+ await new Promise((resolve) => setTimeout(resolve, 3000));
19
+ await writeFile("ios-screenshot.png", await cloud.ios.screenshot(ios.id));
17
20
  await cloud.ios.delete(ios.id);
18
21
 
19
22
  const android = await cloud.android.create({ displayName: "Android smoke" });
20
23
  await cloud.android.delete(android.id);
21
24
  ```
22
25
 
26
+ ## Linux sandboxes
27
+
28
+ Firecracker microVMs. The default reservation is 0.125 vCPU / 128 MiB — CPU
29
+ bursts above it when the host is uncontended, memory does not.
30
+
31
+ ```ts
32
+ const sandbox = await cloud.sandboxes.create({ image: "newly/agent-base" });
33
+
34
+ const result = await cloud.sandboxes.exec(sandbox.id, "npm install && npm test");
35
+ console.log(result.exitCode, result.stdout);
36
+
37
+ await cloud.sandboxes.destroy(sandbox.id);
38
+ ```
39
+
40
+ Ask for more than the default with either a preset or explicit resources:
41
+
42
+ ```ts
43
+ await cloud.sandboxes.create({ size: "s-4" });
44
+ await cloud.sandboxes.create({ cpu: 2, memory: 4096 });
45
+ ```
46
+
47
+ `exec` takes a string (run via `/bin/sh -c`) or an argv array to skip the shell.
48
+ A non-zero exit code is returned, not thrown — only transport and API errors
49
+ raise `RunCloudError`.
50
+
51
+ Creates are retry-safe with an idempotency key; a repeat returns the original
52
+ sandbox instead of spawning — and billing — a second one:
53
+
54
+ ```ts
55
+ await cloud.sandboxes.create({ image: "newly/agent-base", idempotencyKey: jobId });
56
+ ```
57
+
58
+ Snapshot a sandbox and restore it later:
59
+
60
+ ```ts
61
+ const snap = await cloud.sandboxes.snapshot(sandbox.id, { label: "deps-installed" });
62
+ const restored = await cloud.snapshots.restore(snap.id, { size: "s-1" });
63
+ ```
64
+
65
+ A restore with no `size` boots the control plane's `s-2` preset (2 vCPU / 2 GiB),
66
+ not the smaller default `sandboxes.create()` applies — pass `size` explicitly.
67
+
68
+ Sandbox fields are returned in both the API's `snake_case` and camelCase
69
+ (`milli_cpu` and `milliCpu` are both present).
70
+
23
71
  The client reads `RUN_CLOUD_API_KEY` first, then `RUN_CLOUD_API_TOKEN`. Override
24
72
  the API origin with `RUN_CLOUD_API_URL` or by passing `new Client({ apiUrl })`.
73
+
74
+ `cloud.ios.screenshot(sessionId)` returns PNG bytes as a `Uint8Array`. Save the
75
+ bytes directly with `node:fs/promises.writeFile`, attach them to test artifacts,
76
+ or pass them to an image-processing library.
77
+
78
+ `cloud.ios.uploadVideo(sessionId, videoBlob, { filename })` accepts MP4 and
79
+ QuickTime blobs and imports them into Photos. The video is stored as a
80
+ user-owned run.cloud asset and remains available through `cloud.assets`.
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface ClientOptions {
6
6
  }
7
7
  export interface Account {
8
8
  products?: unknown[];
9
+ orgs?: string[];
9
10
  balanceMinutes?: string | number;
10
11
  meteringStatus?: string;
11
12
  run_cloud_balance_minutes?: string | number;
@@ -20,6 +21,13 @@ export interface Asset {
20
21
  byteSize: number;
21
22
  createdAt: string;
22
23
  }
24
+ export interface VideoUploadResult {
25
+ ok: true;
26
+ filename: string;
27
+ contentType: "video/mp4" | "video/quicktime";
28
+ byteSize: number;
29
+ asset: Asset;
30
+ }
23
31
  export interface CreateSessionOptions {
24
32
  model?: string;
25
33
  region?: string;
@@ -61,26 +69,99 @@ export interface SimulatorSession {
61
69
  queueAttempts?: number;
62
70
  metering?: Record<string, unknown>;
63
71
  }
72
+ export type SandboxState = "running" | "paused" | "stopped" | "interrupted" | "destroyed" | string;
73
+ export interface CreateSandboxOptions {
74
+ image?: string;
75
+ /** Preset size class (s-1, s-2, s-4, s-8). Omit to use cpu/memory, or neither for the default. */
76
+ size?: string;
77
+ /** Fractional cores, Modal-style. Defaults to 0.125 when no size/cpu/memory is given. */
78
+ cpu?: number;
79
+ /** MiB. Defaults to 128 when no size/cpu/memory is given. */
80
+ memory?: number;
81
+ region?: string;
82
+ name?: string;
83
+ orgId?: string;
84
+ /** Retry-safe create: the same key returns the original sandbox instead of spawning a second. */
85
+ idempotencyKey?: string;
86
+ }
87
+ /**
88
+ * A sandbox as returned by the control plane. The wire format is snake_case;
89
+ * camelCase aliases are added client-side and the raw keys are preserved, so
90
+ * both spellings are always present.
91
+ */
92
+ export interface Sandbox {
93
+ id: string;
94
+ state: SandboxState;
95
+ name?: string | null;
96
+ image?: string;
97
+ region?: string | null;
98
+ sizeClass?: string;
99
+ milliCpu?: number;
100
+ memMb?: number;
101
+ hostId?: string | null;
102
+ orgId?: string;
103
+ warmStart?: boolean;
104
+ idlePauseSeconds?: number;
105
+ createdAt?: string;
106
+ lastActiveAt?: string | null;
107
+ destroyedAt?: string | null;
108
+ [key: string]: unknown;
109
+ }
110
+ export interface ExecOptions {
111
+ cwd?: string;
112
+ env?: Record<string, string>;
113
+ timeoutSeconds?: number;
114
+ }
115
+ /**
116
+ * Metered usage, summed per organization and meter. `meter` is a size class
117
+ * ("compute.s-2") and `seconds` is cumulative wall-clock runtime for every
118
+ * sandbox of that size — a running total, not a per-billing-period figure.
119
+ */
120
+ export interface UsageItem {
121
+ org_id: string;
122
+ meter: string;
123
+ seconds: number;
124
+ }
125
+ export interface UsageReport {
126
+ items: UsageItem[];
127
+ }
128
+ export interface ExecResult {
129
+ exit_code: number;
130
+ stdout: string;
131
+ stderr: string;
132
+ /** Alias for `exit_code`. */
133
+ exitCode: number;
134
+ }
135
+ export interface Snapshot {
136
+ id: string;
137
+ [key: string]: unknown;
138
+ }
64
139
  export declare class RunCloudError extends Error {
65
140
  readonly status: number;
66
141
  readonly detail: string;
67
142
  constructor(status: number, detail: string);
68
143
  }
69
144
  export declare class Client {
70
- readonly ios: SimulatorClient;
145
+ readonly ios: IosSimulatorClient;
71
146
  readonly android: SimulatorClient;
72
147
  readonly simulators: SimulatorsClient;
73
148
  readonly assets: AssetsClient;
149
+ readonly sandboxes: SandboxClient;
150
+ readonly snapshots: SnapshotsClient;
74
151
  private readonly apiKey;
75
152
  private readonly apiUrl;
76
153
  private readonly fetchImpl;
77
154
  constructor(options?: ClientOptions);
155
+ usage(options?: {
156
+ orgId?: string;
157
+ }): Promise<UsageReport>;
78
158
  account(): Promise<Account>;
79
- request<T>(method: string, path: string, body?: unknown): Promise<T>;
159
+ request<T>(method: string, path: string, body?: unknown, headers?: Record<string, string>): Promise<T>;
80
160
  uploadForm<T>(path: string, form: FormData): Promise<T>;
161
+ requestBytes(path: string): Promise<Uint8Array>;
81
162
  }
82
163
  export declare class SimulatorClient {
83
- private readonly client;
164
+ protected readonly client: Client;
84
165
  readonly platform: SimulatorPlatform;
85
166
  constructor(client: Client, platform: SimulatorPlatform);
86
167
  create(options?: CreateSessionOptions): Promise<SimulatorSession>;
@@ -91,6 +172,14 @@ export declare class SimulatorClient {
91
172
  delete(id: string): Promise<SimulatorSession>;
92
173
  openUrl(id: string, url: string): Promise<Record<string, unknown>>;
93
174
  }
175
+ export declare class IosSimulatorClient extends SimulatorClient {
176
+ constructor(client: Client);
177
+ screenshot(id: string): Promise<Uint8Array>;
178
+ uploadVideo(id: string, video: Blob, options?: {
179
+ filename?: string;
180
+ name?: string;
181
+ }): Promise<VideoUploadResult>;
182
+ }
94
183
  export declare class SimulatorsClient {
95
184
  private readonly client;
96
185
  constructor(client: Client);
@@ -111,6 +200,36 @@ export declare class SimulatorsClient {
111
200
  platform?: SimulatorPlatform;
112
201
  }): Promise<Record<string, unknown>>;
113
202
  }
203
+ export declare class SandboxClient {
204
+ private readonly client;
205
+ constructor(client: Client);
206
+ create(options?: CreateSandboxOptions): Promise<Sandbox>;
207
+ list(options?: {
208
+ state?: SandboxState;
209
+ }): Promise<Sandbox[]>;
210
+ get(id: string): Promise<Sandbox>;
211
+ /** A string command is run via `/bin/sh -c`; pass an array to exec it directly. */
212
+ exec(id: string, cmd: string | string[], options?: ExecOptions): Promise<ExecResult>;
213
+ destroy(id: string): Promise<void>;
214
+ /** Alias for `destroy`, matching the simulator clients' `delete`. */
215
+ delete(id: string): Promise<void>;
216
+ snapshot(id: string, options?: {
217
+ label?: string;
218
+ }): Promise<Snapshot>;
219
+ }
220
+ export declare class SnapshotsClient {
221
+ private readonly client;
222
+ constructor(client: Client);
223
+ list(options?: {
224
+ sandboxId?: string;
225
+ }): Promise<Snapshot[]>;
226
+ delete(id: string): Promise<void>;
227
+ restore(id: string, options?: {
228
+ name?: string;
229
+ size?: string;
230
+ region?: string;
231
+ }): Promise<Sandbox>;
232
+ }
114
233
  export declare class AssetsClient {
115
234
  private readonly client;
116
235
  constructor(client: Client);
package/dist/index.js CHANGED
@@ -1,3 +1,23 @@
1
+ const SANDBOX_ALIASES = {
2
+ size_class: "sizeClass",
3
+ milli_cpu: "milliCpu",
4
+ mem_mb: "memMb",
5
+ host_id: "hostId",
6
+ org_id: "orgId",
7
+ warm_start: "warmStart",
8
+ idle_pause_seconds: "idlePauseSeconds",
9
+ created_at: "createdAt",
10
+ last_active_at: "lastActiveAt",
11
+ destroyed_at: "destroyedAt",
12
+ };
13
+ function normalizeSandbox(raw) {
14
+ const out = { ...raw };
15
+ for (const [wire, alias] of Object.entries(SANDBOX_ALIASES)) {
16
+ if (wire in raw && !(alias in raw))
17
+ out[alias] = raw[wire];
18
+ }
19
+ return out;
20
+ }
1
21
  export class RunCloudError extends Error {
2
22
  status;
3
23
  detail;
@@ -39,6 +59,8 @@ export class Client {
39
59
  android;
40
60
  simulators;
41
61
  assets;
62
+ sandboxes;
63
+ snapshots;
42
64
  apiKey;
43
65
  apiUrl;
44
66
  fetchImpl;
@@ -50,10 +72,16 @@ export class Client {
50
72
  this.apiKey = apiKey;
51
73
  this.apiUrl = (options.apiUrl ?? apiUrlFromEnv()).replace(/\/+$/, "");
52
74
  this.fetchImpl = options.fetch ?? fetch;
53
- this.ios = new SimulatorClient(this, "ios");
75
+ this.ios = new IosSimulatorClient(this);
54
76
  this.android = new SimulatorClient(this, "android");
55
77
  this.simulators = new SimulatorsClient(this);
56
78
  this.assets = new AssetsClient(this);
79
+ this.sandboxes = new SandboxClient(this);
80
+ this.snapshots = new SnapshotsClient(this);
81
+ }
82
+ async usage(options = {}) {
83
+ const query = options.orgId ? `?orgId=${encodeURIComponent(options.orgId)}` : "";
84
+ return await this.request("GET", `/run-cloud/usage${query}`);
57
85
  }
58
86
  async account() {
59
87
  const account = await this.request("GET", "/run-cloud/account");
@@ -63,17 +91,20 @@ export class Client {
63
91
  meteringStatus: account.meteringStatus ?? account.run_cloud_metering_status,
64
92
  };
65
93
  }
66
- async request(method, path, body) {
94
+ async request(method, path, body, headers) {
67
95
  const response = await this.fetchImpl(`${this.apiUrl}${path}`, {
68
96
  method,
69
97
  headers: {
70
98
  Authorization: `Bearer ${this.apiKey}`,
71
99
  ...(body === undefined ? {} : { "Content-Type": "application/json" }),
100
+ ...headers,
72
101
  },
73
102
  body: body === undefined ? undefined : JSON.stringify(body),
74
103
  });
75
104
  if (!response.ok)
76
105
  throw new RunCloudError(response.status, await errorDetail(response));
106
+ if (response.status === 204)
107
+ return undefined;
77
108
  const contentType = response.headers.get("content-type") ?? "";
78
109
  return contentType.includes("application/json")
79
110
  ? (await response.json())
@@ -89,6 +120,15 @@ export class Client {
89
120
  throw new RunCloudError(response.status, await errorDetail(response));
90
121
  return (await response.json());
91
122
  }
123
+ async requestBytes(path) {
124
+ const response = await this.fetchImpl(`${this.apiUrl}${path}`, {
125
+ method: "GET",
126
+ headers: { Authorization: `Bearer ${this.apiKey}` },
127
+ });
128
+ if (!response.ok)
129
+ throw new RunCloudError(response.status, await errorDetail(response));
130
+ return new Uint8Array(await response.arrayBuffer());
131
+ }
92
132
  }
93
133
  export class SimulatorClient {
94
134
  client;
@@ -114,6 +154,29 @@ export class SimulatorClient {
114
154
  return await this.client.request("POST", `/run-cloud/${this.platform}/${encodeURIComponent(id)}/open-url`, { url });
115
155
  }
116
156
  }
157
+ export class IosSimulatorClient extends SimulatorClient {
158
+ constructor(client) {
159
+ super(client, "ios");
160
+ }
161
+ async screenshot(id) {
162
+ return await this.client.requestBytes(`/run-cloud/ios/${encodeURIComponent(id)}/screenshot`);
163
+ }
164
+ async uploadVideo(id, video, options = {}) {
165
+ const contentType = video.type.toLowerCase();
166
+ if (contentType !== "video/mp4" && contentType !== "video/quicktime") {
167
+ throw new Error("video must have content type video/mp4 or video/quicktime");
168
+ }
169
+ const inferredName = video.name;
170
+ const filename = options.filename
171
+ ?? (typeof inferredName === "string" && inferredName ? inferredName : undefined)
172
+ ?? (contentType === "video/quicktime" ? "video.mov" : "video.mp4");
173
+ const asset = await new AssetsClient(this.client).upload(video, {
174
+ filename,
175
+ name: options.name,
176
+ });
177
+ return await this.client.request("POST", `/run-cloud/ios/${encodeURIComponent(id)}/videos`, { assetId: asset.id });
178
+ }
179
+ }
117
180
  export class SimulatorsClient {
118
181
  client;
119
182
  constructor(client) {
@@ -137,6 +200,71 @@ export class SimulatorsClient {
137
200
  return await new SimulatorClient(this.client, options.platform ?? "ios").openUrl(id, url);
138
201
  }
139
202
  }
203
+ export class SandboxClient {
204
+ client;
205
+ constructor(client) {
206
+ this.client = client;
207
+ }
208
+ async create(options = {}) {
209
+ const { idempotencyKey, ...body } = options;
210
+ const raw = await this.client.request("POST", "/run-cloud/sandboxes", body, idempotencyKey ? { "Idempotency-Key": idempotencyKey } : undefined);
211
+ return normalizeSandbox(raw);
212
+ }
213
+ async list(options = {}) {
214
+ const query = options.state ? `?state=${encodeURIComponent(options.state)}` : "";
215
+ const raw = await this.client.request("GET", `/run-cloud/sandboxes${query}`);
216
+ return (raw.items ?? []).map(normalizeSandbox);
217
+ }
218
+ async get(id) {
219
+ const raw = await this.client.request("GET", `/run-cloud/sandboxes/${encodeURIComponent(id)}`);
220
+ return normalizeSandbox(raw);
221
+ }
222
+ /** A string command is run via `/bin/sh -c`; pass an array to exec it directly. */
223
+ async exec(id, cmd, options = {}) {
224
+ const argv = typeof cmd === "string" ? ["/bin/sh", "-c", cmd] : cmd;
225
+ if (argv.length === 0)
226
+ throw new Error("cmd must not be empty");
227
+ const { timeoutSeconds, ...rest } = options;
228
+ const result = await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/exec`, { cmd: argv, ...rest, ...(timeoutSeconds === undefined ? {} : { timeout_seconds: timeoutSeconds }) });
229
+ return { ...result, exitCode: result.exit_code };
230
+ }
231
+ async destroy(id) {
232
+ await this.client.request("DELETE", `/run-cloud/sandboxes/${encodeURIComponent(id)}`);
233
+ }
234
+ /** Alias for `destroy`, matching the simulator clients' `delete`. */
235
+ async delete(id) {
236
+ await this.destroy(id);
237
+ }
238
+ async snapshot(id, options = {}) {
239
+ return await this.client.request("POST", `/run-cloud/sandboxes/${encodeURIComponent(id)}/snapshots`, { label: options.label ?? "" });
240
+ }
241
+ }
242
+ export class SnapshotsClient {
243
+ client;
244
+ constructor(client) {
245
+ this.client = client;
246
+ }
247
+ async list(options = {}) {
248
+ const query = options.sandboxId ? `?sandbox_id=${encodeURIComponent(options.sandboxId)}` : "";
249
+ const raw = await this.client.request("GET", `/run-cloud/snapshots${query}`);
250
+ return Array.isArray(raw) ? raw : (raw.items ?? []);
251
+ }
252
+ async delete(id) {
253
+ await this.client.request("DELETE", `/run-cloud/snapshots/${encodeURIComponent(id)}`);
254
+ }
255
+ // Unlike create, the restore route applies no product default, so omitting
256
+ // `size` leaves the control plane's own s-2 preset — 2 vCPU / 2 GiB, sixteen
257
+ // times the 0.125 vCPU / 128 MiB a plain create would have given you. Pass the
258
+ // size the source sandbox was running unless you want a bigger fork.
259
+ async restore(id, options = {}) {
260
+ const raw = await this.client.request("POST", `/run-cloud/snapshots/${encodeURIComponent(id)}/restore`, {
261
+ ...(options.name === undefined ? {} : { name: options.name }),
262
+ ...(options.size === undefined ? {} : { size: options.size }),
263
+ ...(options.region === undefined ? {} : { region: options.region }),
264
+ });
265
+ return normalizeSandbox(raw);
266
+ }
267
+ }
140
268
  export class AssetsClient {
141
269
  client;
142
270
  constructor(client) {
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,7 +1,7 @@
1
1
  {
2
2
  "name": "@run-cloud/sdk",
3
- "version": "0.1.1",
4
- "description": "TypeScript client for run.cloud simulators and assets",
3
+ "version": "0.3.0",
4
+ "description": "TypeScript client for run.cloud sandboxes, simulators and assets",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "publishConfig": {
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "repository": {
11
11
  "type": "git",
12
- "url": "git+https://github.com/newly-app/natively-dev.git",
12
+ "url": "git+https://github.com/newly-app/newly.git",
13
13
  "directory": "run-cloud/sdk"
14
14
  },
15
15
  "main": "./dist/index.js",
@@ -29,9 +29,11 @@
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc -p tsconfig.json",
32
+ "test": "tsc -p tsconfig.test.json && node --test dist-test/*.test.js",
32
33
  "prepack": "npm run build"
33
34
  },
34
35
  "devDependencies": {
36
+ "@types/node": "^24.0.0",
35
37
  "typescript": "^5.0.0"
36
38
  }
37
39
  }