@ekairos/sandbox 1.22.14-beta.feature-core-thread-registry-sync.0 → 1.22.15-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.
package/dist/schema.d.ts CHANGED
@@ -1,3 +1,138 @@
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 SandboxProcessStreamChunk = {
33
+ type: "stdout" | "stderr" | "status" | "exit" | "error" | "heartbeat" | "metadata";
34
+ data?: Record<string, unknown>;
35
+ };
36
+ type SandboxProcessRunResult = {
37
+ processId: string;
38
+ streamId: string;
39
+ streamClientId: string;
40
+ result?: CommandResult;
41
+ };
42
+ type SandboxAuthInstallInput = {
43
+ sandboxId: string;
44
+ codexHome?: string;
45
+ authJsonPath?: string;
46
+ credentialsJsonPath?: string;
47
+ configTomlPath?: string;
48
+ };
49
+ type SandboxCreateEkairosAppInput = {
50
+ sandboxId: string;
51
+ appDir: string;
52
+ packageManager?: string;
53
+ instantTokenEnvName?: string;
54
+ };
55
+ export declare function createSandboxExecute({ runtime, input, }: {
56
+ runtime: SandboxRuntime;
57
+ input: SandboxConfig;
58
+ }): Promise<ServiceResult<{
59
+ sandboxId: string;
60
+ }>>;
61
+ export declare function stopSandboxExecute({ runtime, input, }: {
62
+ runtime: SandboxRuntime;
63
+ input: {
64
+ sandboxId: string;
65
+ };
66
+ }): Promise<ServiceResult<void>>;
67
+ export declare function runCommandExecute({ runtime, input, }: {
68
+ runtime: SandboxRuntime;
69
+ input: SandboxRunCommandInput;
70
+ }): Promise<ServiceResult<CommandResult>>;
71
+ export declare function runCommandProcessExecute({ runtime, input, }: {
72
+ runtime: SandboxRuntime;
73
+ input: SandboxRunCommandProcessInput;
74
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
75
+ export declare function readProcessStreamExecute({ runtime, input, }: {
76
+ runtime: SandboxRuntime;
77
+ input: {
78
+ processId: string;
79
+ };
80
+ }): Promise<ServiceResult<{
81
+ chunks: SandboxProcessStreamChunk[];
82
+ byteOffset: number;
83
+ }>>;
84
+ export declare function writeFilesExecute({ runtime, input, }: {
85
+ runtime: SandboxRuntime;
86
+ input: {
87
+ sandboxId: string;
88
+ files: SandboxFileInput[];
89
+ };
90
+ }): Promise<ServiceResult<void>>;
91
+ export declare function readFileExecute({ runtime, input, }: {
92
+ runtime: SandboxRuntime;
93
+ input: {
94
+ sandboxId: string;
95
+ path: string;
96
+ };
97
+ }): Promise<ServiceResult<{
98
+ contentBase64: string;
99
+ }>>;
100
+ export declare function installCodexAuthExecute({ runtime, input, }: {
101
+ runtime: SandboxRuntime;
102
+ input: SandboxAuthInstallInput;
103
+ }): Promise<ServiceResult<{
104
+ authJson: boolean;
105
+ credentialsJson: boolean;
106
+ configToml: boolean;
107
+ }>>;
108
+ export declare function getSandboxExecute({ runtime, input, }: {
109
+ runtime: SandboxRuntime;
110
+ input: {
111
+ sandboxId: string;
112
+ };
113
+ }): Promise<ServiceResult<Record<string, unknown>>>;
114
+ export declare function createCheckpointExecute({ runtime, input, }: {
115
+ runtime: SandboxRuntime;
116
+ input: {
117
+ sandboxId: string;
118
+ comment?: string;
119
+ };
120
+ }): Promise<ServiceResult<{
121
+ checkpointId: string;
122
+ }>>;
123
+ export declare function getPortUrlExecute({ runtime, input, }: {
124
+ runtime: SandboxRuntime;
125
+ input: {
126
+ sandboxId: string;
127
+ port: number;
128
+ };
129
+ }): Promise<ServiceResult<{
130
+ url: string;
131
+ }>>;
132
+ export declare function createEkairosAppExecute({ runtime, input, }: {
133
+ runtime: SandboxRuntime;
134
+ input: SandboxCreateEkairosAppInput;
135
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
2
136
  export declare const sandboxDomain: DomainSchemaResult;
137
+ export {};
3
138
  //# 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,kBAoB1B,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,10 +1,11 @@
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(),
8
+ sandboxUserId: i.string().optional().indexed(),
8
9
  provider: i.string().indexed(),
9
10
  sandboxUrl: i.string().optional(),
10
11
  status: i.string().indexed(),
@@ -18,8 +19,274 @@ export const sandboxDomain = domain("sandbox").schema({
18
19
  updatedAt: i.number().optional().indexed(),
19
20
  shutdownAt: i.number().optional().indexed(),
20
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
+ }),
44
+ },
45
+ links: {
46
+ sandbox_user: {
47
+ forward: {
48
+ on: "sandbox_sandboxes",
49
+ has: "one",
50
+ label: "user",
51
+ },
52
+ reverse: {
53
+ on: "$users",
54
+ has: "many",
55
+ label: "sandboxes",
56
+ },
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
+ },
21
82
  },
22
- links: {},
23
83
  rooms: {},
24
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 writeFilesExecute({ 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).writeFiles(input.sandboxId, input.files);
129
+ }
130
+ export async function readFileExecute({ 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).readFile(input.sandboxId, input.path);
135
+ }
136
+ export async function installCodexAuthExecute({ runtime, input, }) {
137
+ "use step";
138
+ const { existsSync, readFileSync } = await import("node:fs");
139
+ const { join } = await import("node:path");
140
+ const { homedir } = await import("node:os");
141
+ const scoped = await runtime.use(sandboxDomain);
142
+ const { SandboxService } = await import("./service.js");
143
+ const codexHome = String(input.codexHome ?? "/home/sprite/.codex").trim() || "/home/sprite/.codex";
144
+ const localCodexHome = String(process.env.CODEX_HOME ?? "").trim() || join(homedir(), ".codex");
145
+ const candidates = {
146
+ authJson: String(input.authJsonPath ?? "").trim() || join(localCodexHome, "auth.json"),
147
+ credentialsJson: String(input.credentialsJsonPath ?? "").trim() || join(localCodexHome, ".credentials.json"),
148
+ configToml: String(input.configTomlPath ?? "").trim() || join(localCodexHome, "config.toml"),
149
+ };
150
+ const files = [];
151
+ const copied = { authJson: false, credentialsJson: false, configToml: false };
152
+ if (existsSync(candidates.authJson)) {
153
+ files.push({
154
+ path: `${codexHome}/auth.json`,
155
+ contentBase64: readFileSync(candidates.authJson).toString("base64"),
156
+ });
157
+ copied.authJson = true;
158
+ }
159
+ if (existsSync(candidates.credentialsJson)) {
160
+ files.push({
161
+ path: `${codexHome}/.credentials.json`,
162
+ contentBase64: readFileSync(candidates.credentialsJson).toString("base64"),
163
+ });
164
+ copied.credentialsJson = true;
165
+ }
166
+ if (existsSync(candidates.configToml)) {
167
+ files.push({
168
+ path: `${codexHome}/config.toml`,
169
+ contentBase64: readFileSync(candidates.configToml).toString("base64"),
170
+ });
171
+ copied.configToml = true;
172
+ }
173
+ if (!copied.authJson && !copied.credentialsJson) {
174
+ return { ok: false, error: "codex_auth_file_not_found" };
175
+ }
176
+ const wrote = await new SandboxService(scoped.db).writeFiles(input.sandboxId, files);
177
+ if (!wrote.ok)
178
+ return wrote;
179
+ return { ok: true, data: copied };
180
+ }
181
+ export async function getSandboxExecute({ runtime, input, }) {
182
+ "use step";
183
+ const scoped = await runtime.use(sandboxDomain);
184
+ const result = await scoped.db.query({
185
+ sandbox_sandboxes: { $: { where: { id: input.sandboxId }, limit: 1 } },
186
+ });
187
+ const row = result?.sandbox_sandboxes?.[0];
188
+ if (!row)
189
+ return { ok: false, error: "sandbox_not_found" };
190
+ return { ok: true, data: row };
191
+ }
192
+ export async function createCheckpointExecute({ runtime, input, }) {
193
+ "use step";
194
+ const scoped = await runtime.use(sandboxDomain);
195
+ const { SandboxService } = await import("./service.js");
196
+ return await new SandboxService(scoped.db).createCheckpoint(input.sandboxId, {
197
+ comment: input.comment,
198
+ });
199
+ }
200
+ export async function getPortUrlExecute({ runtime, input, }) {
201
+ "use step";
202
+ const scoped = await runtime.use(sandboxDomain);
203
+ const { SandboxService } = await import("./service.js");
204
+ return await new SandboxService(scoped.db).getPortUrl(input.sandboxId, input.port);
205
+ }
206
+ export async function createEkairosAppExecute({ runtime, input, }) {
207
+ "use step";
208
+ const scoped = await runtime.use(sandboxDomain);
209
+ const { SandboxService } = await import("./service.js");
210
+ const service = new SandboxService(scoped.db);
211
+ const appDir = String(input.appDir ?? "").trim() || "/workspace/ekairos-app";
212
+ const tokenEnv = String(input.instantTokenEnvName ?? "INSTANT_PERSONAL_ACCESS_TOKEN").trim();
213
+ const instantToken = String(process.env[tokenEnv] ?? "").trim();
214
+ if (!instantToken)
215
+ return { ok: false, error: `instant_token_env_missing:${tokenEnv}` };
216
+ const tokenPath = `/tmp/ekairos-instant-token-${Date.now()}-${Math.random().toString(36).slice(2)}`;
217
+ const wrote = await service.writeFiles(input.sandboxId, [
218
+ {
219
+ path: tokenPath,
220
+ contentBase64: Buffer.from(instantToken, "utf8").toString("base64"),
221
+ },
222
+ ]);
223
+ if (!wrote.ok)
224
+ return wrote;
225
+ const resultPath = `/tmp/ekairos-create-app-${Date.now()}.json`;
226
+ const packageManager = String(input.packageManager ?? "pnpm").trim() || "pnpm";
227
+ const command = [
228
+ "set -euo pipefail",
229
+ `TOKEN="$(cat ${shSingleQuote(tokenPath)})"`,
230
+ `rm -f ${shSingleQuote(tokenPath)}`,
231
+ `rm -rf ${shSingleQuote(appDir)}`,
232
+ `npx -y @ekairos/domain@beta create-app ${shSingleQuote(appDir)} --next --no-install --json --package-manager=${shSingleQuote(packageManager)} --instantToken="$TOKEN" > ${shSingleQuote(resultPath)}`,
233
+ `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}))'`,
234
+ "echo sandbox_create_ekairos_app_ok",
235
+ ].join("\n");
236
+ return await service.runCommandWithProcessStream(input.sandboxId, "sh", ["-lc", command], {
237
+ kind: "command",
238
+ mode: "foreground",
239
+ metadata: { source: "sandbox.domain", label: "create-ekairos-app" },
240
+ });
241
+ }
242
+ export const sandboxDomain = sandboxSchemaDomain.actions({
243
+ createSandbox: defineDomainAction({
244
+ name: "sandbox.createSandbox",
245
+ execute: createSandboxExecute,
246
+ }),
247
+ stopSandbox: defineDomainAction({
248
+ name: "sandbox.stopSandbox",
249
+ execute: stopSandboxExecute,
250
+ }),
251
+ runCommand: defineDomainAction({
252
+ name: "sandbox.runCommand",
253
+ execute: runCommandExecute,
254
+ }),
255
+ runCommandProcess: defineDomainAction({
256
+ name: "sandbox.runCommandProcess",
257
+ execute: runCommandProcessExecute,
258
+ }),
259
+ readProcessStream: defineDomainAction({
260
+ name: "sandbox.readProcessStream",
261
+ execute: readProcessStreamExecute,
262
+ }),
263
+ writeFiles: defineDomainAction({
264
+ name: "sandbox.writeFiles",
265
+ execute: writeFilesExecute,
266
+ }),
267
+ readFile: defineDomainAction({
268
+ name: "sandbox.readFile",
269
+ execute: readFileExecute,
270
+ }),
271
+ installCodexAuth: defineDomainAction({
272
+ name: "sandbox.installCodexAuth",
273
+ execute: installCodexAuthExecute,
274
+ }),
275
+ getSandbox: defineDomainAction({
276
+ name: "sandbox.getSandbox",
277
+ execute: getSandboxExecute,
278
+ }),
279
+ createCheckpoint: defineDomainAction({
280
+ name: "sandbox.createCheckpoint",
281
+ execute: createCheckpointExecute,
282
+ }),
283
+ getPortUrl: defineDomainAction({
284
+ name: "sandbox.getPortUrl",
285
+ execute: getPortUrlExecute,
286
+ }),
287
+ createEkairosApp: defineDomainAction({
288
+ name: "sandbox.createEkairosApp",
289
+ execute: createEkairosAppExecute,
290
+ }),
291
+ });
25
292
  //# 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,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,EAAE;IACT,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
@@ -9,6 +9,7 @@ type SandboxSchemaType = SchemaOf<typeof sandboxDomain>;
9
9
  export interface SandboxRecord {
10
10
  id: string;
11
11
  externalSandboxId?: string;
12
+ sandboxUserId?: string;
12
13
  provider: string;
13
14
  sandboxUrl?: string;
14
15
  status: "creating" | "active" | "shutdown" | "error" | "recreating";
@@ -29,6 +30,31 @@ export type ServiceResult<T = any> = {
29
30
  ok: false;
30
31
  error: string;
31
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
+ };
32
58
  type SpritesSandbox = {
33
59
  __provider: "sprites";
34
60
  name: string;
@@ -40,10 +66,47 @@ type SpritesSandbox = {
40
66
  domain?: (port: number) => Promise<string>;
41
67
  };
42
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
+ }
43
89
  export declare class SandboxService {
44
90
  private adminDb;
45
91
  constructor(db: InstantAdminDatabase<SandboxSchemaType>);
46
92
  private static getVercelCredentials;
93
+ private static getDomainName;
94
+ private static getDomainContextString;
95
+ private static cloneJson;
96
+ private static buildEkairosNetworkPolicy;
97
+ private static buildEkairosManifest;
98
+ private static buildEkairosRuntimeFiles;
99
+ private static resolveInstantUserIdByRefreshToken;
100
+ private static resolveEkairosBootstrap;
101
+ private static bootstrapEkairosFiles;
102
+ private static safeMkDir;
103
+ private static buildSkillInstallSet;
104
+ private static bootstrapSkills;
105
+ private static resolveVercelWorkingDirectory;
106
+ private static findLinkedVercelProjectFile;
107
+ private static readLinkedVercelProject;
108
+ private static pullVercelOidcToken;
109
+ private static resolveVercelCredentials;
47
110
  private static provisionVercelSandbox;
48
111
  private static getDaytonaConfig;
49
112
  private static normalizeBaseUrl;
@@ -71,8 +134,32 @@ export declare class SandboxService {
71
134
  reconnectToSandbox(sandboxId: string): Promise<ServiceResult<{
72
135
  sandbox: ProviderSandbox;
73
136
  }>>;
137
+ private getSandboxRecord;
138
+ getProcessSnapshot(processId: string): Promise<ServiceResult<any>>;
139
+ private markOpenProcessesLost;
140
+ private createProcessStream;
141
+ private writeProcessChunk;
74
142
  stopSandbox(sandboxId: string): Promise<ServiceResult<void>>;
143
+ query(sandboxId: string, query: Record<string, any>): Promise<ServiceResult<any>>;
75
144
  runCommand(sandboxId: string, command: string, args?: string[]): Promise<ServiceResult<CommandResult>>;
145
+ runCommandProcess(sandboxId: string, command: string, args?: string[], opts?: {
146
+ cwd?: string;
147
+ env?: Record<string, unknown>;
148
+ kind?: SandboxProcessKind;
149
+ mode?: SandboxProcessMode;
150
+ metadata?: Record<string, unknown>;
151
+ }): Promise<ServiceResult<SandboxCommandRun>>;
152
+ runCommandWithProcessStream(sandboxId: string, command: string, args?: string[], opts?: {
153
+ cwd?: string;
154
+ env?: Record<string, unknown>;
155
+ kind?: SandboxProcessKind;
156
+ mode?: SandboxProcessMode;
157
+ metadata?: Record<string, unknown>;
158
+ }): Promise<ServiceResult<SandboxProcessRunResult>>;
159
+ readProcessStream(processId: string): Promise<ServiceResult<{
160
+ chunks: SandboxProcessStreamChunk[];
161
+ byteOffset: number;
162
+ }>>;
76
163
  writeFiles(sandboxId: string, files: Array<{
77
164
  path: string;
78
165
  contentBase64: string;
@@ -80,6 +167,9 @@ export declare class SandboxService {
80
167
  readFile(sandboxId: string, path: string): Promise<ServiceResult<{
81
168
  contentBase64: string;
82
169
  }>>;
170
+ getPortUrl(sandboxId: string, port: number): Promise<ServiceResult<{
171
+ url: string;
172
+ }>>;
83
173
  private static parseSpritesCheckpointIdFromNdjson;
84
174
  createCheckpoint(sandboxId: string, params?: {
85
175
  comment?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}