@ekairos/sandbox 1.22.40-beta.development.0 → 1.22.40
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/action-steps.d.ts +156 -0
- package/dist/action-steps.d.ts.map +1 -0
- package/dist/action-steps.js +153 -0
- package/dist/action-steps.js.map +1 -0
- package/dist/actions.d.ts +257 -297
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +157 -195
- package/dist/actions.js.map +1 -1
- package/dist/contract.d.ts +86 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +83 -0
- package/dist/contract.js.map +1 -0
- package/dist/domain.d.ts +2 -0
- package/dist/domain.d.ts.map +1 -0
- package/dist/domain.js +2 -0
- package/dist/domain.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/vercel.d.ts +8 -5
- package/dist/providers/vercel.d.ts.map +1 -1
- package/dist/providers/vercel.js +34 -12
- package/dist/providers/vercel.js.map +1 -1
- package/dist/public.d.ts +1 -8
- package/dist/public.d.ts.map +1 -1
- package/dist/public.js +1 -4
- package/dist/public.js.map +1 -1
- package/dist/sandbox.d.ts +33 -64
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +26 -47
- package/dist/sandbox.js.map +1 -1
- package/dist/schema.d.ts +14 -150
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +7 -0
- package/dist/schema.js.map +1 -1
- package/dist/service.d.ts +9 -5
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +1 -0
- package/dist/service.js.map +1 -1
- package/package.json +18 -6
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import type { CommandResult } from "./commands.js";
|
|
2
|
+
import { type SandboxProcessRunResult, type SandboxProcessStreamChunk } from "./service.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
|
+
db: unknown;
|
|
13
|
+
};
|
|
14
|
+
type SandboxFileInput = {
|
|
15
|
+
path: string;
|
|
16
|
+
contentBase64: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function createSandboxStep({ runtime, input, }: {
|
|
19
|
+
runtime: SandboxRuntime;
|
|
20
|
+
input: SandboxConfig;
|
|
21
|
+
}): Promise<ServiceResult<{
|
|
22
|
+
sandboxId: string;
|
|
23
|
+
}>>;
|
|
24
|
+
export declare function stopSandboxStep({ runtime, input, }: {
|
|
25
|
+
runtime: SandboxRuntime;
|
|
26
|
+
input: {
|
|
27
|
+
sandboxId: string;
|
|
28
|
+
};
|
|
29
|
+
}): Promise<ServiceResult<void>>;
|
|
30
|
+
export declare function runCommandStep({ runtime, input, }: {
|
|
31
|
+
runtime: SandboxRuntime;
|
|
32
|
+
input: {
|
|
33
|
+
sandboxId: string;
|
|
34
|
+
command: string;
|
|
35
|
+
args?: string[];
|
|
36
|
+
};
|
|
37
|
+
}): Promise<ServiceResult<CommandResult>>;
|
|
38
|
+
export declare function runCommandProcessStep({ runtime, input, }: {
|
|
39
|
+
runtime: SandboxRuntime;
|
|
40
|
+
input: {
|
|
41
|
+
sandboxId: string;
|
|
42
|
+
command: string;
|
|
43
|
+
args?: string[];
|
|
44
|
+
cwd?: string;
|
|
45
|
+
env?: Record<string, unknown>;
|
|
46
|
+
kind?: "command" | "service" | "codex-app-server" | "dev-server" | "test-runner" | "watcher";
|
|
47
|
+
mode?: "foreground" | "background";
|
|
48
|
+
metadata?: Record<string, unknown>;
|
|
49
|
+
};
|
|
50
|
+
}): Promise<ServiceResult<SandboxProcessRunResult>>;
|
|
51
|
+
export declare function readProcessStreamStep({ runtime, input, }: {
|
|
52
|
+
runtime: SandboxRuntime;
|
|
53
|
+
input: {
|
|
54
|
+
processId: string;
|
|
55
|
+
};
|
|
56
|
+
}): Promise<ServiceResult<{
|
|
57
|
+
chunks: SandboxProcessStreamChunk[];
|
|
58
|
+
byteOffset: number;
|
|
59
|
+
}>>;
|
|
60
|
+
export declare function startObservedProcessStep({ runtime, input, }: {
|
|
61
|
+
runtime: SandboxRuntime;
|
|
62
|
+
input: {
|
|
63
|
+
sandboxId: string;
|
|
64
|
+
command: string;
|
|
65
|
+
args?: string[];
|
|
66
|
+
cwd?: string;
|
|
67
|
+
env?: Record<string, unknown>;
|
|
68
|
+
kind?: "command" | "service" | "codex-app-server" | "dev-server" | "test-runner" | "watcher";
|
|
69
|
+
mode?: "foreground" | "background";
|
|
70
|
+
externalProcessId?: string;
|
|
71
|
+
metadata?: Record<string, unknown>;
|
|
72
|
+
};
|
|
73
|
+
}): Promise<ServiceResult<SandboxProcessRunResult>>;
|
|
74
|
+
export declare function appendObservedProcessChunkStep({ runtime, input, }: {
|
|
75
|
+
runtime: SandboxRuntime;
|
|
76
|
+
input: {
|
|
77
|
+
processId: string;
|
|
78
|
+
type: "stdout" | "stderr" | "status" | "exit" | "error" | "heartbeat" | "metadata";
|
|
79
|
+
data?: Record<string, unknown>;
|
|
80
|
+
};
|
|
81
|
+
}): Promise<ServiceResult<void>>;
|
|
82
|
+
export declare function finishObservedProcessStep({ runtime, input, }: {
|
|
83
|
+
runtime: SandboxRuntime;
|
|
84
|
+
input: {
|
|
85
|
+
processId: string;
|
|
86
|
+
status?: "exited" | "failed" | "killed" | "lost";
|
|
87
|
+
exitCode?: number;
|
|
88
|
+
errorText?: string;
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
};
|
|
91
|
+
}): Promise<ServiceResult<void>>;
|
|
92
|
+
export declare function writeFilesStep({ runtime, input, }: {
|
|
93
|
+
runtime: SandboxRuntime;
|
|
94
|
+
input: {
|
|
95
|
+
sandboxId: string;
|
|
96
|
+
files: SandboxFileInput[];
|
|
97
|
+
};
|
|
98
|
+
}): Promise<ServiceResult<void>>;
|
|
99
|
+
export declare function readFileStep({ runtime, input, }: {
|
|
100
|
+
runtime: SandboxRuntime;
|
|
101
|
+
input: {
|
|
102
|
+
sandboxId: string;
|
|
103
|
+
path: string;
|
|
104
|
+
};
|
|
105
|
+
}): Promise<ServiceResult<{
|
|
106
|
+
contentBase64: string;
|
|
107
|
+
}>>;
|
|
108
|
+
export declare function installCodexAuthStep({ runtime, input, }: {
|
|
109
|
+
runtime: SandboxRuntime;
|
|
110
|
+
input: {
|
|
111
|
+
sandboxId: string;
|
|
112
|
+
codexHome?: string;
|
|
113
|
+
authJsonPath?: string;
|
|
114
|
+
credentialsJsonPath?: string;
|
|
115
|
+
configTomlPath?: string;
|
|
116
|
+
};
|
|
117
|
+
}): Promise<ServiceResult<{
|
|
118
|
+
authJson: boolean;
|
|
119
|
+
credentialsJson: boolean;
|
|
120
|
+
configToml: boolean;
|
|
121
|
+
}>>;
|
|
122
|
+
export declare function getSandboxStep({ runtime, input, }: {
|
|
123
|
+
runtime: SandboxRuntime;
|
|
124
|
+
input: {
|
|
125
|
+
sandboxId: string;
|
|
126
|
+
};
|
|
127
|
+
}): Promise<ServiceResult<Record<string, unknown>>>;
|
|
128
|
+
export declare function createCheckpointStep({ runtime, input, }: {
|
|
129
|
+
runtime: SandboxRuntime;
|
|
130
|
+
input: {
|
|
131
|
+
sandboxId: string;
|
|
132
|
+
comment?: string;
|
|
133
|
+
};
|
|
134
|
+
}): Promise<ServiceResult<{
|
|
135
|
+
checkpointId: string;
|
|
136
|
+
}>>;
|
|
137
|
+
export declare function getPortUrlStep({ runtime, input, }: {
|
|
138
|
+
runtime: SandboxRuntime;
|
|
139
|
+
input: {
|
|
140
|
+
sandboxId: string;
|
|
141
|
+
port: number;
|
|
142
|
+
};
|
|
143
|
+
}): Promise<ServiceResult<{
|
|
144
|
+
url: string;
|
|
145
|
+
}>>;
|
|
146
|
+
export declare function createEkairosAppStep({ runtime, input, }: {
|
|
147
|
+
runtime: SandboxRuntime;
|
|
148
|
+
input: {
|
|
149
|
+
sandboxId: string;
|
|
150
|
+
appDir: string;
|
|
151
|
+
packageManager?: string;
|
|
152
|
+
instantTokenEnvName?: string;
|
|
153
|
+
};
|
|
154
|
+
}): Promise<ServiceResult<SandboxProcessRunResult>>;
|
|
155
|
+
export {};
|
|
156
|
+
//# sourceMappingURL=action-steps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-steps.d.ts","sourceRoot":"","sources":["../src/action-steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { SandboxService, } from "./service.js";
|
|
5
|
+
function shSingleQuote(value) {
|
|
6
|
+
return `'${String(value).replace(/'/g, `'\"'\"'`)}'`;
|
|
7
|
+
}
|
|
8
|
+
export async function createSandboxStep({ runtime, input, }) {
|
|
9
|
+
"use step";
|
|
10
|
+
return await new SandboxService(runtime.db).createSandbox(input);
|
|
11
|
+
}
|
|
12
|
+
export async function stopSandboxStep({ runtime, input, }) {
|
|
13
|
+
"use step";
|
|
14
|
+
return await new SandboxService(runtime.db).stopSandbox(input.sandboxId);
|
|
15
|
+
}
|
|
16
|
+
export async function runCommandStep({ runtime, input, }) {
|
|
17
|
+
"use step";
|
|
18
|
+
return await new SandboxService(runtime.db).runCommand(input.sandboxId, input.command, input.args ?? []);
|
|
19
|
+
}
|
|
20
|
+
export async function runCommandProcessStep({ runtime, input, }) {
|
|
21
|
+
"use step";
|
|
22
|
+
return await new SandboxService(runtime.db).runCommandWithProcessStream(input.sandboxId, input.command, input.args ?? [], {
|
|
23
|
+
cwd: input.cwd,
|
|
24
|
+
env: input.env,
|
|
25
|
+
kind: input.kind,
|
|
26
|
+
mode: input.mode,
|
|
27
|
+
metadata: input.metadata,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export async function readProcessStreamStep({ runtime, input, }) {
|
|
31
|
+
"use step";
|
|
32
|
+
return await new SandboxService(runtime.db).readProcessStream(input.processId);
|
|
33
|
+
}
|
|
34
|
+
export async function startObservedProcessStep({ runtime, input, }) {
|
|
35
|
+
"use step";
|
|
36
|
+
return await new SandboxService(runtime.db).startObservedProcess(input.sandboxId, input);
|
|
37
|
+
}
|
|
38
|
+
export async function appendObservedProcessChunkStep({ runtime, input, }) {
|
|
39
|
+
"use step";
|
|
40
|
+
return await new SandboxService(runtime.db).appendObservedProcessChunk(input.processId, input.type, input.data);
|
|
41
|
+
}
|
|
42
|
+
export async function finishObservedProcessStep({ runtime, input, }) {
|
|
43
|
+
"use step";
|
|
44
|
+
return await new SandboxService(runtime.db).finishObservedProcess(input.processId, {
|
|
45
|
+
status: input.status,
|
|
46
|
+
exitCode: input.exitCode,
|
|
47
|
+
errorText: input.errorText,
|
|
48
|
+
metadata: input.metadata,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
export async function writeFilesStep({ runtime, input, }) {
|
|
52
|
+
"use step";
|
|
53
|
+
return await new SandboxService(runtime.db).writeFiles(input.sandboxId, input.files);
|
|
54
|
+
}
|
|
55
|
+
export async function readFileStep({ runtime, input, }) {
|
|
56
|
+
"use step";
|
|
57
|
+
return await new SandboxService(runtime.db).readFile(input.sandboxId, input.path);
|
|
58
|
+
}
|
|
59
|
+
export async function installCodexAuthStep({ runtime, input, }) {
|
|
60
|
+
"use step";
|
|
61
|
+
const codexHome = String(input.codexHome ?? "/home/sprite/.codex").trim() || "/home/sprite/.codex";
|
|
62
|
+
const localCodexHome = String(process.env.CODEX_HOME ?? "").trim() || join(homedir(), ".codex");
|
|
63
|
+
const candidates = {
|
|
64
|
+
authJson: String(input.authJsonPath ?? "").trim() || join(localCodexHome, "auth.json"),
|
|
65
|
+
credentialsJson: String(input.credentialsJsonPath ?? "").trim() || join(localCodexHome, ".credentials.json"),
|
|
66
|
+
configToml: String(input.configTomlPath ?? "").trim() || join(localCodexHome, "config.toml"),
|
|
67
|
+
};
|
|
68
|
+
const files = [];
|
|
69
|
+
const copied = { authJson: false, credentialsJson: false, configToml: false };
|
|
70
|
+
if (existsSync(candidates.authJson)) {
|
|
71
|
+
files.push({
|
|
72
|
+
path: `${codexHome}/auth.json`,
|
|
73
|
+
contentBase64: readFileSync(candidates.authJson).toString("base64"),
|
|
74
|
+
});
|
|
75
|
+
copied.authJson = true;
|
|
76
|
+
}
|
|
77
|
+
if (existsSync(candidates.credentialsJson)) {
|
|
78
|
+
files.push({
|
|
79
|
+
path: `${codexHome}/.credentials.json`,
|
|
80
|
+
contentBase64: readFileSync(candidates.credentialsJson).toString("base64"),
|
|
81
|
+
});
|
|
82
|
+
copied.credentialsJson = true;
|
|
83
|
+
}
|
|
84
|
+
if (existsSync(candidates.configToml)) {
|
|
85
|
+
files.push({
|
|
86
|
+
path: `${codexHome}/config.toml`,
|
|
87
|
+
contentBase64: readFileSync(candidates.configToml).toString("base64"),
|
|
88
|
+
});
|
|
89
|
+
copied.configToml = true;
|
|
90
|
+
}
|
|
91
|
+
if (!copied.authJson && !copied.credentialsJson) {
|
|
92
|
+
return { ok: false, error: "codex_auth_file_not_found" };
|
|
93
|
+
}
|
|
94
|
+
const wrote = await new SandboxService(runtime.db).writeFiles(input.sandboxId, files);
|
|
95
|
+
if (!wrote.ok)
|
|
96
|
+
return wrote;
|
|
97
|
+
return { ok: true, data: copied };
|
|
98
|
+
}
|
|
99
|
+
export async function getSandboxStep({ runtime, input, }) {
|
|
100
|
+
"use step";
|
|
101
|
+
const result = await runtime.db.query({
|
|
102
|
+
sandbox_sandboxes: { $: { where: { id: input.sandboxId }, limit: 1 } },
|
|
103
|
+
});
|
|
104
|
+
const row = result?.sandbox_sandboxes?.[0];
|
|
105
|
+
if (!row)
|
|
106
|
+
return { ok: false, error: "sandbox_not_found" };
|
|
107
|
+
return { ok: true, data: row };
|
|
108
|
+
}
|
|
109
|
+
export async function createCheckpointStep({ runtime, input, }) {
|
|
110
|
+
"use step";
|
|
111
|
+
return await new SandboxService(runtime.db).createCheckpoint(input.sandboxId, {
|
|
112
|
+
comment: input.comment,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
export async function getPortUrlStep({ runtime, input, }) {
|
|
116
|
+
"use step";
|
|
117
|
+
return await new SandboxService(runtime.db).getPortUrl(input.sandboxId, input.port);
|
|
118
|
+
}
|
|
119
|
+
export async function createEkairosAppStep({ runtime, input, }) {
|
|
120
|
+
"use step";
|
|
121
|
+
const service = new SandboxService(runtime.db);
|
|
122
|
+
const appDir = String(input.appDir ?? "").trim() || "/workspace/ekairos-app";
|
|
123
|
+
const tokenEnv = String(input.instantTokenEnvName ?? "INSTANT_PERSONAL_ACCESS_TOKEN").trim();
|
|
124
|
+
const instantToken = String(process.env[tokenEnv] ?? "").trim();
|
|
125
|
+
if (!instantToken)
|
|
126
|
+
return { ok: false, error: `instant_token_env_missing:${tokenEnv}` };
|
|
127
|
+
const tokenPath = `/tmp/ekairos-instant-token-${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
128
|
+
const wrote = await service.writeFiles(input.sandboxId, [
|
|
129
|
+
{
|
|
130
|
+
path: tokenPath,
|
|
131
|
+
contentBase64: Buffer.from(instantToken, "utf8").toString("base64"),
|
|
132
|
+
},
|
|
133
|
+
]);
|
|
134
|
+
if (!wrote.ok)
|
|
135
|
+
return wrote;
|
|
136
|
+
const resultPath = `/tmp/ekairos-create-app-${Date.now()}.json`;
|
|
137
|
+
const packageManager = String(input.packageManager ?? "pnpm").trim() || "pnpm";
|
|
138
|
+
const command = [
|
|
139
|
+
"set -euo pipefail",
|
|
140
|
+
`TOKEN="$(cat ${shSingleQuote(tokenPath)})"`,
|
|
141
|
+
`rm -f ${shSingleQuote(tokenPath)}`,
|
|
142
|
+
`rm -rf ${shSingleQuote(appDir)}`,
|
|
143
|
+
`npx -y @ekairos/domain@beta create-app ${shSingleQuote(appDir)} --next --no-install --json --package-manager=${shSingleQuote(packageManager)} --instantToken="$TOKEN" > ${shSingleQuote(resultPath)}`,
|
|
144
|
+
`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}))'`,
|
|
145
|
+
"echo sandbox_create_ekairos_app_ok",
|
|
146
|
+
].join("\n");
|
|
147
|
+
return await service.runCommandWithProcessStream(input.sandboxId, "sh", ["-lc", command], {
|
|
148
|
+
kind: "command",
|
|
149
|
+
mode: "foreground",
|
|
150
|
+
metadata: { source: "sandbox.domain", label: "create-ekairos-app" },
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=action-steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-steps.js","sourceRoot":"","sources":["../src/action-steps.ts"],"names":[],"mappings":"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"}
|