@ekairos/sandbox 1.22.34-beta.development.0 → 1.22.36-beta.development.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.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -1,3 +1,173 @@
1
1
  import { type DomainSchemaResult } from "@ekairos/domain";
2
+ import type { CommandResult } from "./commands.js";
3
+ import type { SandboxConfig } from "./types.js";
4
+ type ServiceResult<T = unknown> = {
5
+ ok: true;
6
+ data: T;
7
+ } | {
8
+ ok: false;
9
+ error: string;
10
+ };
11
+ type SandboxRuntime = {
12
+ use: (domain: unknown) => Promise<{
13
+ db: unknown;
14
+ }>;
15
+ };
16
+ type SandboxRunCommandInput = {
17
+ sandboxId: string;
18
+ command: string;
19
+ args?: string[];
20
+ };
21
+ type SandboxFileInput = {
22
+ path: string;
23
+ contentBase64: string;
24
+ };
25
+ type SandboxRunCommandProcessInput = SandboxRunCommandInput & {
26
+ cwd?: string;
27
+ env?: Record<string, unknown>;
28
+ kind?: "command" | "service" | "codex-app-server" | "dev-server" | "test-runner" | "watcher";
29
+ mode?: "foreground" | "background";
30
+ metadata?: Record<string, unknown>;
31
+ };
32
+ type SandboxObservedProcessStartInput = {
33
+ sandboxId: string;
34
+ command: string;
35
+ args?: string[];
36
+ cwd?: string;
37
+ env?: Record<string, unknown>;
38
+ kind?: "command" | "service" | "codex-app-server" | "dev-server" | "test-runner" | "watcher";
39
+ mode?: "foreground" | "background";
40
+ externalProcessId?: string;
41
+ metadata?: Record<string, unknown>;
42
+ };
43
+ type SandboxObservedProcessAppendInput = {
44
+ processId: string;
45
+ type: "stdout" | "stderr" | "status" | "exit" | "error" | "heartbeat" | "metadata";
46
+ data?: Record<string, unknown>;
47
+ };
48
+ type SandboxObservedProcessFinishInput = {
49
+ processId: string;
50
+ status?: "exited" | "failed" | "killed" | "lost";
51
+ exitCode?: number;
52
+ errorText?: string;
53
+ metadata?: Record<string, unknown>;
54
+ };
55
+ type SandboxProcessStreamChunk = {
56
+ type: "stdout" | "stderr" | "status" | "exit" | "error" | "heartbeat" | "metadata";
57
+ data?: Record<string, unknown>;
58
+ };
59
+ type SandboxProcessRunResult = {
60
+ processId: string;
61
+ streamId: string;
62
+ streamClientId: string;
63
+ result?: CommandResult;
64
+ };
65
+ type SandboxAuthInstallInput = {
66
+ sandboxId: string;
67
+ codexHome?: string;
68
+ authJsonPath?: string;
69
+ credentialsJsonPath?: string;
70
+ configTomlPath?: string;
71
+ };
72
+ type SandboxCreateEkairosAppInput = {
73
+ sandboxId: string;
74
+ appDir: string;
75
+ packageManager?: string;
76
+ instantTokenEnvName?: string;
77
+ };
78
+ export declare function createSandboxExecute({ runtime, input, }: {
79
+ runtime: SandboxRuntime;
80
+ input: SandboxConfig;
81
+ }): Promise<ServiceResult<{
82
+ sandboxId: string;
83
+ }>>;
84
+ export declare function stopSandboxExecute({ runtime, input, }: {
85
+ runtime: SandboxRuntime;
86
+ input: {
87
+ sandboxId: string;
88
+ };
89
+ }): Promise<ServiceResult<void>>;
90
+ export declare function runCommandExecute({ runtime, input, }: {
91
+ runtime: SandboxRuntime;
92
+ input: SandboxRunCommandInput;
93
+ }): Promise<ServiceResult<CommandResult>>;
94
+ export declare function runCommandProcessExecute({ runtime, input, }: {
95
+ runtime: SandboxRuntime;
96
+ input: SandboxRunCommandProcessInput;
97
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
98
+ export declare function readProcessStreamExecute({ runtime, input, }: {
99
+ runtime: SandboxRuntime;
100
+ input: {
101
+ processId: string;
102
+ };
103
+ }): Promise<ServiceResult<{
104
+ chunks: SandboxProcessStreamChunk[];
105
+ byteOffset: number;
106
+ }>>;
107
+ export declare function startObservedProcessExecute({ runtime, input, }: {
108
+ runtime: SandboxRuntime;
109
+ input: SandboxObservedProcessStartInput;
110
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
111
+ export declare function appendObservedProcessChunkExecute({ runtime, input, }: {
112
+ runtime: SandboxRuntime;
113
+ input: SandboxObservedProcessAppendInput;
114
+ }): Promise<ServiceResult<void>>;
115
+ export declare function finishObservedProcessExecute({ runtime, input, }: {
116
+ runtime: SandboxRuntime;
117
+ input: SandboxObservedProcessFinishInput;
118
+ }): Promise<ServiceResult<void>>;
119
+ export declare function writeFilesExecute({ runtime, input, }: {
120
+ runtime: SandboxRuntime;
121
+ input: {
122
+ sandboxId: string;
123
+ files: SandboxFileInput[];
124
+ };
125
+ }): Promise<ServiceResult<void>>;
126
+ export declare function readFileExecute({ runtime, input, }: {
127
+ runtime: SandboxRuntime;
128
+ input: {
129
+ sandboxId: string;
130
+ path: string;
131
+ };
132
+ }): Promise<ServiceResult<{
133
+ contentBase64: string;
134
+ }>>;
135
+ export declare function installCodexAuthExecute({ runtime, input, }: {
136
+ runtime: SandboxRuntime;
137
+ input: SandboxAuthInstallInput;
138
+ }): Promise<ServiceResult<{
139
+ authJson: boolean;
140
+ credentialsJson: boolean;
141
+ configToml: boolean;
142
+ }>>;
143
+ export declare function getSandboxExecute({ runtime, input, }: {
144
+ runtime: SandboxRuntime;
145
+ input: {
146
+ sandboxId: string;
147
+ };
148
+ }): Promise<ServiceResult<Record<string, unknown>>>;
149
+ export declare function createCheckpointExecute({ runtime, input, }: {
150
+ runtime: SandboxRuntime;
151
+ input: {
152
+ sandboxId: string;
153
+ comment?: string;
154
+ };
155
+ }): Promise<ServiceResult<{
156
+ checkpointId: string;
157
+ }>>;
158
+ export declare function getPortUrlExecute({ runtime, input, }: {
159
+ runtime: SandboxRuntime;
160
+ input: {
161
+ sandboxId: string;
162
+ port: number;
163
+ };
164
+ }): Promise<ServiceResult<{
165
+ url: string;
166
+ }>>;
167
+ export declare function createEkairosAppExecute({ runtime, input, }: {
168
+ runtime: SandboxRuntime;
169
+ input: SandboxCreateEkairosAppInput;
170
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
2
171
  export declare const sandboxDomain: DomainSchemaResult;
172
+ export {};
3
173
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,eAAO,MAAM,aAAa,EAAE,kBAkC1B,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { i } from "@instantdb/core";
2
- import { domain } from "@ekairos/domain";
2
+ import { defineDomainAction, domain } from "@ekairos/domain";
3
3
  // Port de `ekairos-core/src/lib/domain/sandbox/schema.ts`
4
- export const sandboxDomain = domain("sandbox").schema({
4
+ const sandboxSchemaDomain = domain("sandbox").schema({
5
5
  entities: {
6
6
  sandbox_sandboxes: i.entity({
7
7
  externalSandboxId: i.string().optional().indexed(),
@@ -19,6 +19,28 @@ export const sandboxDomain = domain("sandbox").schema({
19
19
  updatedAt: i.number().optional().indexed(),
20
20
  shutdownAt: i.number().optional().indexed(),
21
21
  }),
22
+ sandbox_processes: i.entity({
23
+ kind: i.string().indexed(), // command | service | codex-app-server | dev-server | test-runner | watcher
24
+ mode: i.string().indexed(), // foreground | background
25
+ status: i.string().indexed(), // starting | running | detached | exited | failed | killed | lost
26
+ provider: i.string().indexed(),
27
+ command: i.string(),
28
+ args: i.json().optional(),
29
+ cwd: i.string().optional(),
30
+ env: i.json().optional(),
31
+ exitCode: i.number().optional().indexed(),
32
+ signal: i.string().optional(),
33
+ externalProcessId: i.string().optional().indexed(),
34
+ streamId: i.string().optional().indexed(),
35
+ streamClientId: i.string().optional().indexed(),
36
+ streamStartedAt: i.number().optional().indexed(),
37
+ streamFinishedAt: i.number().optional().indexed(),
38
+ streamAbortReason: i.string().optional(),
39
+ startedAt: i.number().indexed(),
40
+ updatedAt: i.number().optional().indexed(),
41
+ exitedAt: i.number().optional().indexed(),
42
+ metadata: i.json().optional(),
43
+ }),
22
44
  },
23
45
  links: {
24
46
  sandbox_user: {
@@ -33,7 +55,273 @@ export const sandboxDomain = domain("sandbox").schema({
33
55
  label: "sandboxes",
34
56
  },
35
57
  },
58
+ sandboxProcessSandbox: {
59
+ forward: {
60
+ on: "sandbox_processes",
61
+ has: "one",
62
+ label: "sandbox",
63
+ },
64
+ reverse: {
65
+ on: "sandbox_sandboxes",
66
+ has: "many",
67
+ label: "processes",
68
+ },
69
+ },
70
+ sandboxProcessStream: {
71
+ forward: {
72
+ on: "sandbox_processes",
73
+ has: "one",
74
+ label: "stream",
75
+ },
76
+ reverse: {
77
+ on: "$streams",
78
+ has: "many",
79
+ label: "sandboxProcesses",
80
+ },
81
+ },
36
82
  },
37
83
  rooms: {},
38
84
  });
85
+ function shSingleQuote(value) {
86
+ return `'${String(value).replace(/'/g, `'\"'\"'`)}'`;
87
+ }
88
+ export async function createSandboxExecute({ runtime, input, }) {
89
+ "use step";
90
+ const scoped = await runtime.use(sandboxDomain);
91
+ const { SandboxService } = await import("./service.js");
92
+ return await new SandboxService(scoped.db).createSandbox(input);
93
+ }
94
+ export async function stopSandboxExecute({ runtime, input, }) {
95
+ "use step";
96
+ const scoped = await runtime.use(sandboxDomain);
97
+ const { SandboxService } = await import("./service.js");
98
+ return await new SandboxService(scoped.db).stopSandbox(input.sandboxId);
99
+ }
100
+ export async function runCommandExecute({ runtime, input, }) {
101
+ "use step";
102
+ const scoped = await runtime.use(sandboxDomain);
103
+ const { SandboxService } = await import("./service.js");
104
+ return await new SandboxService(scoped.db).runCommand(input.sandboxId, input.command, input.args ?? []);
105
+ }
106
+ export async function runCommandProcessExecute({ runtime, input, }) {
107
+ "use step";
108
+ const scoped = await runtime.use(sandboxDomain);
109
+ const { SandboxService } = await import("./service.js");
110
+ return await new SandboxService(scoped.db).runCommandWithProcessStream(input.sandboxId, input.command, input.args ?? [], {
111
+ cwd: input.cwd,
112
+ env: input.env,
113
+ kind: input.kind,
114
+ mode: input.mode,
115
+ metadata: input.metadata,
116
+ });
117
+ }
118
+ export async function readProcessStreamExecute({ runtime, input, }) {
119
+ "use step";
120
+ const scoped = await runtime.use(sandboxDomain);
121
+ const { SandboxService } = await import("./service.js");
122
+ return await new SandboxService(scoped.db).readProcessStream(input.processId);
123
+ }
124
+ export async function startObservedProcessExecute({ runtime, input, }) {
125
+ "use step";
126
+ const scoped = await runtime.use(sandboxDomain);
127
+ const { SandboxService } = await import("./service.js");
128
+ return await new SandboxService(scoped.db).startObservedProcess(input.sandboxId, input);
129
+ }
130
+ export async function appendObservedProcessChunkExecute({ runtime, input, }) {
131
+ "use step";
132
+ const scoped = await runtime.use(sandboxDomain);
133
+ const { SandboxService } = await import("./service.js");
134
+ return await new SandboxService(scoped.db).appendObservedProcessChunk(input.processId, input.type, input.data);
135
+ }
136
+ export async function finishObservedProcessExecute({ runtime, input, }) {
137
+ "use step";
138
+ const scoped = await runtime.use(sandboxDomain);
139
+ const { SandboxService } = await import("./service.js");
140
+ return await new SandboxService(scoped.db).finishObservedProcess(input.processId, {
141
+ status: input.status,
142
+ exitCode: input.exitCode,
143
+ errorText: input.errorText,
144
+ metadata: input.metadata,
145
+ });
146
+ }
147
+ export async function writeFilesExecute({ runtime, input, }) {
148
+ "use step";
149
+ const scoped = await runtime.use(sandboxDomain);
150
+ const { SandboxService } = await import("./service.js");
151
+ return await new SandboxService(scoped.db).writeFiles(input.sandboxId, input.files);
152
+ }
153
+ export async function readFileExecute({ runtime, input, }) {
154
+ "use step";
155
+ const scoped = await runtime.use(sandboxDomain);
156
+ const { SandboxService } = await import("./service.js");
157
+ return await new SandboxService(scoped.db).readFile(input.sandboxId, input.path);
158
+ }
159
+ export async function installCodexAuthExecute({ runtime, input, }) {
160
+ "use step";
161
+ const { existsSync, readFileSync } = await import("node:fs");
162
+ const { join } = await import("node:path");
163
+ const { homedir } = await import("node:os");
164
+ const scoped = await runtime.use(sandboxDomain);
165
+ const { SandboxService } = await import("./service.js");
166
+ const codexHome = String(input.codexHome ?? "/home/sprite/.codex").trim() || "/home/sprite/.codex";
167
+ const localCodexHome = String(process.env.CODEX_HOME ?? "").trim() || join(homedir(), ".codex");
168
+ const candidates = {
169
+ authJson: String(input.authJsonPath ?? "").trim() || join(localCodexHome, "auth.json"),
170
+ credentialsJson: String(input.credentialsJsonPath ?? "").trim() || join(localCodexHome, ".credentials.json"),
171
+ configToml: String(input.configTomlPath ?? "").trim() || join(localCodexHome, "config.toml"),
172
+ };
173
+ const files = [];
174
+ const copied = { authJson: false, credentialsJson: false, configToml: false };
175
+ if (existsSync(candidates.authJson)) {
176
+ files.push({
177
+ path: `${codexHome}/auth.json`,
178
+ contentBase64: readFileSync(candidates.authJson).toString("base64"),
179
+ });
180
+ copied.authJson = true;
181
+ }
182
+ if (existsSync(candidates.credentialsJson)) {
183
+ files.push({
184
+ path: `${codexHome}/.credentials.json`,
185
+ contentBase64: readFileSync(candidates.credentialsJson).toString("base64"),
186
+ });
187
+ copied.credentialsJson = true;
188
+ }
189
+ if (existsSync(candidates.configToml)) {
190
+ files.push({
191
+ path: `${codexHome}/config.toml`,
192
+ contentBase64: readFileSync(candidates.configToml).toString("base64"),
193
+ });
194
+ copied.configToml = true;
195
+ }
196
+ if (!copied.authJson && !copied.credentialsJson) {
197
+ return { ok: false, error: "codex_auth_file_not_found" };
198
+ }
199
+ const wrote = await new SandboxService(scoped.db).writeFiles(input.sandboxId, files);
200
+ if (!wrote.ok)
201
+ return wrote;
202
+ return { ok: true, data: copied };
203
+ }
204
+ export async function getSandboxExecute({ runtime, input, }) {
205
+ "use step";
206
+ const scoped = await runtime.use(sandboxDomain);
207
+ const result = await scoped.db.query({
208
+ sandbox_sandboxes: { $: { where: { id: input.sandboxId }, limit: 1 } },
209
+ });
210
+ const row = result?.sandbox_sandboxes?.[0];
211
+ if (!row)
212
+ return { ok: false, error: "sandbox_not_found" };
213
+ return { ok: true, data: row };
214
+ }
215
+ export async function createCheckpointExecute({ runtime, input, }) {
216
+ "use step";
217
+ const scoped = await runtime.use(sandboxDomain);
218
+ const { SandboxService } = await import("./service.js");
219
+ return await new SandboxService(scoped.db).createCheckpoint(input.sandboxId, {
220
+ comment: input.comment,
221
+ });
222
+ }
223
+ export async function getPortUrlExecute({ runtime, input, }) {
224
+ "use step";
225
+ const scoped = await runtime.use(sandboxDomain);
226
+ const { SandboxService } = await import("./service.js");
227
+ return await new SandboxService(scoped.db).getPortUrl(input.sandboxId, input.port);
228
+ }
229
+ export async function createEkairosAppExecute({ runtime, input, }) {
230
+ "use step";
231
+ const scoped = await runtime.use(sandboxDomain);
232
+ const { SandboxService } = await import("./service.js");
233
+ const service = new SandboxService(scoped.db);
234
+ const appDir = String(input.appDir ?? "").trim() || "/workspace/ekairos-app";
235
+ const tokenEnv = String(input.instantTokenEnvName ?? "INSTANT_PERSONAL_ACCESS_TOKEN").trim();
236
+ const instantToken = String(process.env[tokenEnv] ?? "").trim();
237
+ if (!instantToken)
238
+ return { ok: false, error: `instant_token_env_missing:${tokenEnv}` };
239
+ const tokenPath = `/tmp/ekairos-instant-token-${Date.now()}-${Math.random().toString(36).slice(2)}`;
240
+ const wrote = await service.writeFiles(input.sandboxId, [
241
+ {
242
+ path: tokenPath,
243
+ contentBase64: Buffer.from(instantToken, "utf8").toString("base64"),
244
+ },
245
+ ]);
246
+ if (!wrote.ok)
247
+ return wrote;
248
+ const resultPath = `/tmp/ekairos-create-app-${Date.now()}.json`;
249
+ const packageManager = String(input.packageManager ?? "pnpm").trim() || "pnpm";
250
+ const command = [
251
+ "set -euo pipefail",
252
+ `TOKEN="$(cat ${shSingleQuote(tokenPath)})"`,
253
+ `rm -f ${shSingleQuote(tokenPath)}`,
254
+ `rm -rf ${shSingleQuote(appDir)}`,
255
+ `npx -y @ekairos/domain@beta create-app ${shSingleQuote(appDir)} --next --no-install --json --package-manager=${shSingleQuote(packageManager)} --instantToken="$TOKEN" > ${shSingleQuote(resultPath)}`,
256
+ `node -e 'const fs=require("fs"); const p=require(${JSON.stringify(`${appDir}/package.json`)}); const r=JSON.parse(fs.readFileSync(${JSON.stringify(resultPath)}, "utf8")); console.log(JSON.stringify({ok:r.ok, provisioned:r.data?.provisioned, appId:r.data?.appId, packageName:p.name, ekairosDomain:p.dependencies?.["@ekairos/domain"], workflow:p.dependencies?.workflow}))'`,
257
+ "echo sandbox_create_ekairos_app_ok",
258
+ ].join("\n");
259
+ return await service.runCommandWithProcessStream(input.sandboxId, "sh", ["-lc", command], {
260
+ kind: "command",
261
+ mode: "foreground",
262
+ metadata: { source: "sandbox.domain", label: "create-ekairos-app" },
263
+ });
264
+ }
265
+ export const sandboxDomain = sandboxSchemaDomain.actions({
266
+ createSandbox: defineDomainAction({
267
+ name: "sandbox.createSandbox",
268
+ execute: createSandboxExecute,
269
+ }),
270
+ stopSandbox: defineDomainAction({
271
+ name: "sandbox.stopSandbox",
272
+ execute: stopSandboxExecute,
273
+ }),
274
+ runCommand: defineDomainAction({
275
+ name: "sandbox.runCommand",
276
+ execute: runCommandExecute,
277
+ }),
278
+ runCommandProcess: defineDomainAction({
279
+ name: "sandbox.runCommandProcess",
280
+ execute: runCommandProcessExecute,
281
+ }),
282
+ readProcessStream: defineDomainAction({
283
+ name: "sandbox.readProcessStream",
284
+ execute: readProcessStreamExecute,
285
+ }),
286
+ startObservedProcess: defineDomainAction({
287
+ name: "sandbox.startObservedProcess",
288
+ execute: startObservedProcessExecute,
289
+ }),
290
+ appendObservedProcessChunk: defineDomainAction({
291
+ name: "sandbox.appendObservedProcessChunk",
292
+ execute: appendObservedProcessChunkExecute,
293
+ }),
294
+ finishObservedProcess: defineDomainAction({
295
+ name: "sandbox.finishObservedProcess",
296
+ execute: finishObservedProcessExecute,
297
+ }),
298
+ writeFiles: defineDomainAction({
299
+ name: "sandbox.writeFiles",
300
+ execute: writeFilesExecute,
301
+ }),
302
+ readFile: defineDomainAction({
303
+ name: "sandbox.readFile",
304
+ execute: readFileExecute,
305
+ }),
306
+ installCodexAuth: defineDomainAction({
307
+ name: "sandbox.installCodexAuth",
308
+ execute: installCodexAuthExecute,
309
+ }),
310
+ getSandbox: defineDomainAction({
311
+ name: "sandbox.getSandbox",
312
+ execute: getSandboxExecute,
313
+ }),
314
+ createCheckpoint: defineDomainAction({
315
+ name: "sandbox.createCheckpoint",
316
+ execute: createCheckpointExecute,
317
+ }),
318
+ getPortUrl: defineDomainAction({
319
+ name: "sandbox.getPortUrl",
320
+ execute: getPortUrlExecute,
321
+ }),
322
+ createEkairosApp: defineDomainAction({
323
+ name: "sandbox.createEkairosApp",
324
+ execute: createEkairosAppExecute,
325
+ }),
326
+ });
39
327
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,MAAM,EAA2B,MAAM,iBAAiB,CAAA;AAEjE,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAuB,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IACxE,QAAQ,EAAE;QACR,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC;YAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAClD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;YAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;YAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;YACxC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;YAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;YAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;SAC5C,CAAC;KACH;IACD,KAAK,EAAE;QACL,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,EAAE,EAAE,mBAAmB;gBACvB,GAAG,EAAE,KAAK;gBACV,KAAK,EAAE,MAAM;aACd;YACD,OAAO,EAAE;gBACP,EAAE,EAAE,QAAQ;gBACZ,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,WAAW;aACnB;SACF;KACF;IACD,KAAK,EAAE,EAAE;CACV,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/service.d.ts CHANGED
@@ -30,6 +30,31 @@ export type ServiceResult<T = any> = {
30
30
  ok: false;
31
31
  error: string;
32
32
  };
33
+ export type SandboxProcessStatus = "starting" | "running" | "detached" | "exited" | "failed" | "killed" | "lost";
34
+ export type SandboxProcessKind = "command" | "service" | "codex-app-server" | "dev-server" | "test-runner" | "watcher";
35
+ export type SandboxProcessMode = "foreground" | "background";
36
+ export type SandboxProcessStreamChunk = {
37
+ version: 1;
38
+ at: string;
39
+ seq: number;
40
+ type: "stdout" | "stderr" | "status" | "exit" | "error" | "heartbeat" | "metadata";
41
+ sandboxId: string;
42
+ processId: string;
43
+ data?: Record<string, unknown>;
44
+ };
45
+ export type SandboxProcessRunResult = {
46
+ processId: string;
47
+ streamId: string;
48
+ streamClientId: string;
49
+ result?: CommandResult;
50
+ };
51
+ export type SandboxCommandRunData = {
52
+ sandboxId: string;
53
+ processId: string;
54
+ streamId: string;
55
+ streamClientId: string;
56
+ result?: CommandResult;
57
+ };
33
58
  type SpritesSandbox = {
34
59
  __provider: "sprites";
35
60
  name: string;
@@ -41,6 +66,26 @@ type SpritesSandbox = {
41
66
  domain?: (port: number) => Promise<string>;
42
67
  };
43
68
  type ProviderSandbox = VercelSandbox | DaytonaSandbox | SpritesSandbox;
69
+ export declare class SandboxCommandRun implements PromiseLike<CommandResult> {
70
+ private service;
71
+ private readonly data;
72
+ constructor(data: SandboxCommandRunData, service?: SandboxService);
73
+ get sandboxId(): string;
74
+ get processId(): string;
75
+ get streamId(): string;
76
+ get streamClientId(): string;
77
+ private getService;
78
+ readStream(): Promise<{
79
+ chunks: SandboxProcessStreamChunk[];
80
+ byteOffset: number;
81
+ }>;
82
+ snapshot(): Promise<any>;
83
+ wait(params?: {
84
+ timeoutMs?: number;
85
+ pollMs?: number;
86
+ }): Promise<CommandResult>;
87
+ then<TResult1 = CommandResult, TResult2 = never>(onfulfilled?: ((value: CommandResult) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
88
+ }
44
89
  export declare class SandboxService {
45
90
  private adminDb;
46
91
  constructor(db: InstantAdminDatabase<SandboxSchemaType>);
@@ -90,9 +135,50 @@ export declare class SandboxService {
90
135
  sandbox: ProviderSandbox;
91
136
  }>>;
92
137
  private getSandboxRecord;
138
+ getProcessSnapshot(processId: string): Promise<ServiceResult<any>>;
139
+ private markOpenProcessesLost;
140
+ private createProcessStream;
141
+ private writeProcessChunk;
142
+ private readProcessRow;
143
+ private writeProcessChunkByProcessId;
144
+ startObservedProcess(sandboxId: string, opts: {
145
+ command: string;
146
+ args?: string[];
147
+ cwd?: string;
148
+ env?: Record<string, unknown>;
149
+ kind?: SandboxProcessKind;
150
+ mode?: SandboxProcessMode;
151
+ externalProcessId?: string;
152
+ metadata?: Record<string, unknown>;
153
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
154
+ appendObservedProcessChunk(processId: string, type: SandboxProcessStreamChunk["type"], data?: Record<string, unknown>): Promise<ServiceResult<void>>;
155
+ finishObservedProcess(processId: string, opts?: {
156
+ status?: "exited" | "failed" | "killed" | "lost";
157
+ exitCode?: number;
158
+ errorText?: string;
159
+ metadata?: Record<string, unknown>;
160
+ }): Promise<ServiceResult<void>>;
93
161
  stopSandbox(sandboxId: string): Promise<ServiceResult<void>>;
94
162
  query(sandboxId: string, query: Record<string, any>): Promise<ServiceResult<any>>;
95
163
  runCommand(sandboxId: string, command: string, args?: string[]): Promise<ServiceResult<CommandResult>>;
164
+ runCommandProcess(sandboxId: string, command: string, args?: string[], opts?: {
165
+ cwd?: string;
166
+ env?: Record<string, unknown>;
167
+ kind?: SandboxProcessKind;
168
+ mode?: SandboxProcessMode;
169
+ metadata?: Record<string, unknown>;
170
+ }): Promise<ServiceResult<SandboxCommandRun>>;
171
+ runCommandWithProcessStream(sandboxId: string, command: string, args?: string[], opts?: {
172
+ cwd?: string;
173
+ env?: Record<string, unknown>;
174
+ kind?: SandboxProcessKind;
175
+ mode?: SandboxProcessMode;
176
+ metadata?: Record<string, unknown>;
177
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
178
+ readProcessStream(processId: string): Promise<ServiceResult<{
179
+ chunks: SandboxProcessStreamChunk[];
180
+ byteOffset: number;
181
+ }>>;
96
182
  writeFiles(sandboxId: string, files: Array<{
97
183
  path: string;
98
184
  contentBase64: string;
@@ -100,6 +186,9 @@ export declare class SandboxService {
100
186
  readFile(sandboxId: string, path: string): Promise<ServiceResult<{
101
187
  contentBase64: string;
102
188
  }>>;
189
+ getPortUrl(sandboxId: string, port: number): Promise<ServiceResult<{
190
+ url: string;
191
+ }>>;
103
192
  private static parseSpritesCheckpointIdFromNdjson;
104
193
  createCheckpoint(sandboxId: string, params?: {
105
194
  comment?: string;