@miosa/cli 1.0.92 → 1.0.94
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 +3 -3
- package/dist/app-advisor.js +6 -6
- package/dist/app-advisor.js.map +1 -1
- package/dist/bin/miosa.js +2 -2
- package/dist/bin/miosa.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/commands/agent.d.ts +10 -10
- package/dist/commands/agent.js +47 -47
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/app.js +1 -1
- package/dist/commands/app.js.map +1 -1
- package/dist/commands/capabilities.js +22 -22
- package/dist/commands/capabilities.js.map +1 -1
- package/dist/commands/computers.js +20 -20
- package/dist/commands/computers.js.map +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +196 -3
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/devices.js +12 -12
- package/dist/commands/devices.js.map +1 -1
- package/dist/commands/docker-deploy.d.ts.map +1 -1
- package/dist/commands/docker-deploy.js +58 -22
- package/dist/commands/docker-deploy.js.map +1 -1
- package/dist/commands/{agent-runs.d.ts → run-groups.d.ts} +1 -1
- package/dist/commands/run-groups.d.ts.map +1 -0
- package/dist/commands/{agent-run-groups.js → run-groups.js} +62 -62
- package/dist/commands/run-groups.js.map +1 -0
- package/dist/commands/{osa.d.ts → runs.d.ts} +1 -1
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/{agent-runs.js → runs.js} +80 -40
- package/dist/commands/runs.js.map +1 -0
- package/dist/commands/sandbox.js +26 -26
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
- package/dist/commands/agent-run-groups.d.ts +0 -3
- package/dist/commands/agent-run-groups.d.ts.map +0 -1
- package/dist/commands/agent-run-groups.js.map +0 -1
- package/dist/commands/agent-runs.d.ts.map +0 -1
- package/dist/commands/agent-runs.js.map +0 -1
- package/dist/commands/cloud.d.ts +0 -3
- package/dist/commands/cloud.d.ts.map +0 -1
- package/dist/commands/cloud.js +0 -257
- package/dist/commands/cloud.js.map +0 -1
- package/dist/commands/machines.d.ts +0 -3
- package/dist/commands/machines.d.ts.map +0 -1
- package/dist/commands/machines.js +0 -29
- package/dist/commands/machines.js.map +0 -1
- package/dist/commands/osa.d.ts.map +0 -1
- package/dist/commands/osa.js +0 -663
- package/dist/commands/osa.js.map +0 -1
- package/dist/osa/build.d.ts +0 -6
- package/dist/osa/build.d.ts.map +0 -1
- package/dist/osa/build.js +0 -23
- package/dist/osa/build.js.map +0 -1
- package/dist/osa/builtin-skills.d.ts +0 -7
- package/dist/osa/builtin-skills.d.ts.map +0 -1
- package/dist/osa/builtin-skills.js +0 -85
- package/dist/osa/builtin-skills.js.map +0 -1
- package/dist/osa/computer.d.ts +0 -10
- package/dist/osa/computer.d.ts.map +0 -1
- package/dist/osa/computer.js +0 -37
- package/dist/osa/computer.js.map +0 -1
- package/dist/osa/deployments.d.ts +0 -44
- package/dist/osa/deployments.d.ts.map +0 -1
- package/dist/osa/deployments.js +0 -140
- package/dist/osa/deployments.js.map +0 -1
- package/dist/osa/discovery.d.ts +0 -8
- package/dist/osa/discovery.d.ts.map +0 -1
- package/dist/osa/discovery.js +0 -668
- package/dist/osa/discovery.js.map +0 -1
- package/dist/osa/doctor.d.ts +0 -9
- package/dist/osa/doctor.d.ts.map +0 -1
- package/dist/osa/doctor.js +0 -41
- package/dist/osa/doctor.js.map +0 -1
- package/dist/osa/eval.d.ts +0 -7
- package/dist/osa/eval.d.ts.map +0 -1
- package/dist/osa/eval.js +0 -108
- package/dist/osa/eval.js.map +0 -1
- package/dist/osa/integrations.d.ts +0 -28
- package/dist/osa/integrations.d.ts.map +0 -1
- package/dist/osa/integrations.js +0 -65
- package/dist/osa/integrations.js.map +0 -1
- package/dist/osa/paths.d.ts +0 -8
- package/dist/osa/paths.d.ts.map +0 -1
- package/dist/osa/paths.js +0 -31
- package/dist/osa/paths.js.map +0 -1
- package/dist/osa/plans.d.ts +0 -9
- package/dist/osa/plans.d.ts.map +0 -1
- package/dist/osa/plans.js +0 -55
- package/dist/osa/plans.js.map +0 -1
- package/dist/osa/projects.d.ts +0 -45
- package/dist/osa/projects.d.ts.map +0 -1
- package/dist/osa/projects.js +0 -92
- package/dist/osa/projects.js.map +0 -1
- package/dist/osa/runtime.d.ts +0 -19
- package/dist/osa/runtime.d.ts.map +0 -1
- package/dist/osa/runtime.js +0 -92
- package/dist/osa/runtime.js.map +0 -1
- package/dist/osa/scaffold.d.ts +0 -11
- package/dist/osa/scaffold.d.ts.map +0 -1
- package/dist/osa/scaffold.js +0 -245
- package/dist/osa/scaffold.js.map +0 -1
- package/dist/osa/skills.d.ts +0 -19
- package/dist/osa/skills.d.ts.map +0 -1
- package/dist/osa/skills.js +0 -55
- package/dist/osa/skills.js.map +0 -1
- package/dist/osa/types.d.ts +0 -157
- package/dist/osa/types.d.ts.map +0 -1
- package/dist/osa/types.js +0 -2
- package/dist/osa/types.js.map +0 -1
- package/dist/osa/yaml.d.ts +0 -7
- package/dist/osa/yaml.d.ts.map +0 -1
- package/dist/osa/yaml.js +0 -59
- package/dist/osa/yaml.js.map +0 -1
|
@@ -17,24 +17,24 @@ function rows(raw) {
|
|
|
17
17
|
}
|
|
18
18
|
return [];
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function activityRows(raw) {
|
|
21
21
|
if (Array.isArray(raw))
|
|
22
22
|
return raw;
|
|
23
23
|
if (raw && typeof raw === "object") {
|
|
24
24
|
const value = raw;
|
|
25
|
-
for (const key of ["data", "
|
|
25
|
+
for (const key of ["data", "activity", "items"]) {
|
|
26
26
|
if (Array.isArray(value[key]))
|
|
27
27
|
return value[key];
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
return [];
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function fileRows(raw) {
|
|
33
33
|
if (Array.isArray(raw))
|
|
34
34
|
return raw;
|
|
35
35
|
if (raw && typeof raw === "object") {
|
|
36
36
|
const value = raw;
|
|
37
|
-
for (const key of ["data", "
|
|
37
|
+
for (const key of ["data", "files", "items"]) {
|
|
38
38
|
if (Array.isArray(value[key]))
|
|
39
39
|
return value[key];
|
|
40
40
|
}
|
|
@@ -61,7 +61,7 @@ function colorStatus(status) {
|
|
|
61
61
|
return chalk.dim(status ?? "-");
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function groupActivityData(event) {
|
|
65
65
|
if (!event || typeof event !== "object")
|
|
66
66
|
return {};
|
|
67
67
|
const value = event;
|
|
@@ -91,39 +91,39 @@ async function waitForGroup(id, timeoutSec, includeRuns) {
|
|
|
91
91
|
const deadline = Date.now() + timeoutSec * 1000;
|
|
92
92
|
const suffix = includeRuns ? "?include=runs" : "";
|
|
93
93
|
while (true) {
|
|
94
|
-
const data = unwrap(await client().apiGet(`/api/v1/
|
|
94
|
+
const data = unwrap(await client().apiGet(`/api/v1/run-groups/${enc(id)}${suffix}`));
|
|
95
95
|
if (isTerminalStatus(data.status))
|
|
96
96
|
return data;
|
|
97
97
|
if (Date.now() >= deadline) {
|
|
98
|
-
throw new Error(`Timed out waiting for
|
|
98
|
+
throw new Error(`Timed out waiting for run group ${id}`);
|
|
99
99
|
}
|
|
100
100
|
await sleep(Math.min(2000, Math.max(0, deadline - Date.now())));
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
async function
|
|
104
|
-
const group = unwrap(await client().apiGet(`/api/v1/
|
|
103
|
+
async function groupFiles(id) {
|
|
104
|
+
const group = unwrap(await client().apiGet(`/api/v1/run-groups/${enc(id)}?include=runs`));
|
|
105
105
|
const runs = Array.isArray(group["runs"]) ? group["runs"] : [];
|
|
106
|
-
const
|
|
106
|
+
const files = [];
|
|
107
107
|
for (const run of runs) {
|
|
108
108
|
if (!run || typeof run !== "object")
|
|
109
109
|
continue;
|
|
110
110
|
const runId = str(run["id"]);
|
|
111
111
|
if (!runId)
|
|
112
112
|
continue;
|
|
113
|
-
const rows =
|
|
114
|
-
|
|
115
|
-
...
|
|
116
|
-
|
|
113
|
+
const rows = fileRows(unwrap(await client().apiGet(`/api/v1/runs/${enc(runId)}/files`)));
|
|
114
|
+
files.push(...rows.map((file) => ({
|
|
115
|
+
...file,
|
|
116
|
+
run_id: file.run_id ?? runId,
|
|
117
117
|
})));
|
|
118
118
|
}
|
|
119
|
-
return
|
|
119
|
+
return files;
|
|
120
120
|
}
|
|
121
|
-
function
|
|
122
|
-
const runId = str(
|
|
123
|
-
const rawPath = str(
|
|
121
|
+
function localFilePath(downloadDir, file) {
|
|
122
|
+
const runId = str(file.run_id || "run");
|
|
123
|
+
const rawPath = str(file.path || file.id || "file");
|
|
124
124
|
const normalized = path.normalize(rawPath.replace(/^\/+/, ""));
|
|
125
125
|
const relativePath = normalized.startsWith("..") || path.isAbsolute(normalized)
|
|
126
|
-
? str(
|
|
126
|
+
? str(file.id || "file")
|
|
127
127
|
: normalized;
|
|
128
128
|
return path.join(downloadDir, runId, relativePath);
|
|
129
129
|
}
|
|
@@ -147,11 +147,11 @@ function manifestFromOptions(opts) {
|
|
|
147
147
|
}
|
|
148
148
|
export function register(program) {
|
|
149
149
|
const command = program
|
|
150
|
-
.command("
|
|
151
|
-
.description("Create and operate
|
|
150
|
+
.command("run-groups")
|
|
151
|
+
.description("Create and operate run groups");
|
|
152
152
|
command
|
|
153
153
|
.command("create")
|
|
154
|
-
.description("Create
|
|
154
|
+
.description("Create a run group")
|
|
155
155
|
.requiredOption("--name <name>", "Group name")
|
|
156
156
|
.option("--description <text>", "Group description")
|
|
157
157
|
.option("--workspace <id>", "Workspace ID")
|
|
@@ -171,16 +171,16 @@ export function register(program) {
|
|
|
171
171
|
metadata: opts.metadata ? JSON.parse(opts.metadata) : undefined,
|
|
172
172
|
};
|
|
173
173
|
Object.keys(body).forEach((key) => body[key] === undefined && delete body[key]);
|
|
174
|
-
const data = unwrap(await client().apiPost("/api/v1/
|
|
174
|
+
const data = unwrap(await client().apiPost("/api/v1/run-groups", body));
|
|
175
175
|
if (isJsonMode(opts)) {
|
|
176
176
|
console.log(JSON.stringify(data, null, 2));
|
|
177
177
|
return;
|
|
178
178
|
}
|
|
179
|
-
console.log(chalk.green(`Created
|
|
179
|
+
console.log(chalk.green(`Created run group ${str(data.id)}`));
|
|
180
180
|
}));
|
|
181
181
|
command
|
|
182
182
|
.command("list")
|
|
183
|
-
.description("List
|
|
183
|
+
.description("List run groups")
|
|
184
184
|
.option("--workspace <id>", "Filter by workspace ID")
|
|
185
185
|
.option("--project <id>", "Filter by project ID")
|
|
186
186
|
.option("--status <status>", "Filter by status")
|
|
@@ -197,13 +197,13 @@ export function register(program) {
|
|
|
197
197
|
if (opts.limit)
|
|
198
198
|
query.set("limit", opts.limit);
|
|
199
199
|
const suffix = query.toString() ? `?${query.toString()}` : "";
|
|
200
|
-
const data = rows(unwrap(await client().apiGet(`/api/v1/
|
|
200
|
+
const data = rows(unwrap(await client().apiGet(`/api/v1/run-groups${suffix}`)));
|
|
201
201
|
if (isJsonMode(opts)) {
|
|
202
202
|
console.log(JSON.stringify(data, null, 2));
|
|
203
203
|
return;
|
|
204
204
|
}
|
|
205
205
|
if (data.length === 0) {
|
|
206
|
-
console.log(chalk.dim("No
|
|
206
|
+
console.log(chalk.dim("No run groups found."));
|
|
207
207
|
return;
|
|
208
208
|
}
|
|
209
209
|
renderTable(data, [
|
|
@@ -216,24 +216,24 @@ export function register(program) {
|
|
|
216
216
|
}));
|
|
217
217
|
command
|
|
218
218
|
.command("show <id>")
|
|
219
|
-
.description("Show one
|
|
219
|
+
.description("Show one run group")
|
|
220
220
|
.option("--runs", "Include child runs")
|
|
221
221
|
.option("--json", "Output as JSON")
|
|
222
222
|
.action((id, opts) => runAction(async () => {
|
|
223
223
|
const suffix = opts.runs ? "?include=runs" : "";
|
|
224
|
-
const data = unwrap(await client().apiGet(`/api/v1/
|
|
224
|
+
const data = unwrap(await client().apiGet(`/api/v1/run-groups/${enc(id)}${suffix}`));
|
|
225
225
|
console.log(JSON.stringify(data, null, 2));
|
|
226
226
|
}));
|
|
227
227
|
command
|
|
228
228
|
.command("dispatch <id>")
|
|
229
|
-
.description("Dispatch a manifest of
|
|
229
|
+
.description("Dispatch a manifest of runs into a group")
|
|
230
230
|
.option("--manifest <file>", "JSON array or { runs: [...] } file")
|
|
231
231
|
.option("--run <json>", "One run JSON object; repeat for multiple runs", collect, [])
|
|
232
232
|
.option("--async", "Queue entries and return immediately")
|
|
233
233
|
.option("--json", "Output as JSON")
|
|
234
234
|
.action((id, opts) => runAction(async () => {
|
|
235
235
|
const runs = manifestFromOptions(opts);
|
|
236
|
-
const data = unwrap(await client().apiPost(`/api/v1/
|
|
236
|
+
const data = unwrap(await client().apiPost(`/api/v1/run-groups/${enc(id)}/dispatch`, {
|
|
237
237
|
runs,
|
|
238
238
|
async: opts.async || undefined,
|
|
239
239
|
}));
|
|
@@ -241,51 +241,51 @@ export function register(program) {
|
|
|
241
241
|
}));
|
|
242
242
|
command
|
|
243
243
|
.command("cancel <id>")
|
|
244
|
-
.description("Cancel
|
|
244
|
+
.description("Cancel a run group and running children")
|
|
245
245
|
.option("--json", "Output as JSON")
|
|
246
246
|
.action((id, opts) => runAction(async () => {
|
|
247
|
-
const data = unwrap(await client().apiPost(`/api/v1/
|
|
247
|
+
const data = unwrap(await client().apiPost(`/api/v1/run-groups/${enc(id)}/cancel`, {}));
|
|
248
248
|
if (isJsonMode(opts)) {
|
|
249
249
|
console.log(JSON.stringify(data, null, 2));
|
|
250
250
|
return;
|
|
251
251
|
}
|
|
252
|
-
console.log(chalk.green(`Canceled
|
|
252
|
+
console.log(chalk.green(`Canceled run group ${id}`));
|
|
253
253
|
}));
|
|
254
254
|
command
|
|
255
|
-
.command("
|
|
256
|
-
.description("List or download
|
|
257
|
-
.option("--download-dir <dir>", "Download all
|
|
255
|
+
.command("files <id>")
|
|
256
|
+
.description("List or download files from every child run in a group")
|
|
257
|
+
.option("--download-dir <dir>", "Download all files into this directory")
|
|
258
258
|
.option("--json", "Output as JSON")
|
|
259
259
|
.action((id, opts) => runAction(async () => {
|
|
260
|
-
const
|
|
260
|
+
const files = await groupFiles(id);
|
|
261
261
|
if (opts.downloadDir) {
|
|
262
262
|
const downloaded = [];
|
|
263
|
-
for (const
|
|
264
|
-
if (!
|
|
263
|
+
for (const file of files) {
|
|
264
|
+
if (!file.id || !file.run_id)
|
|
265
265
|
continue;
|
|
266
|
-
const output =
|
|
266
|
+
const output = localFilePath(opts.downloadDir, file);
|
|
267
267
|
fs.mkdirSync(path.dirname(output), { recursive: true });
|
|
268
|
-
const bytes = await client().apiGetBinary(apiPath(`/
|
|
268
|
+
const bytes = await client().apiGetBinary(apiPath(`/runs/${enc(file.run_id)}/files/${enc(file.id)}/download`));
|
|
269
269
|
fs.writeFileSync(output, bytes);
|
|
270
|
-
downloaded.push({ ...
|
|
270
|
+
downloaded.push({ ...file, output, bytes: bytes.length });
|
|
271
271
|
}
|
|
272
272
|
if (isJsonMode(opts)) {
|
|
273
273
|
console.log(JSON.stringify(downloaded, null, 2));
|
|
274
274
|
return;
|
|
275
275
|
}
|
|
276
|
-
console.log(chalk.green(`Downloaded ${downloaded.length}
|
|
276
|
+
console.log(chalk.green(`Downloaded ${downloaded.length} file${downloaded.length === 1 ? "" : "s"} to ${opts.downloadDir}`));
|
|
277
277
|
return;
|
|
278
278
|
}
|
|
279
279
|
if (isJsonMode(opts)) {
|
|
280
|
-
console.log(JSON.stringify(
|
|
280
|
+
console.log(JSON.stringify(files, null, 2));
|
|
281
281
|
return;
|
|
282
282
|
}
|
|
283
|
-
if (
|
|
284
|
-
console.log(chalk.dim("No
|
|
283
|
+
if (files.length === 0) {
|
|
284
|
+
console.log(chalk.dim("No run group files found."));
|
|
285
285
|
return;
|
|
286
286
|
}
|
|
287
|
-
renderTable(
|
|
288
|
-
{ header: "RUN", key: (row) => str(row.
|
|
287
|
+
renderTable(files, [
|
|
288
|
+
{ header: "RUN", key: (row) => str(row.run_id ?? "-"), width: 18 },
|
|
289
289
|
{ header: "ID", key: "id", width: 18 },
|
|
290
290
|
{ header: "KIND", key: "kind", width: 10 },
|
|
291
291
|
{ header: "MIME", key: "mime_type", width: 24 },
|
|
@@ -294,20 +294,20 @@ export function register(program) {
|
|
|
294
294
|
]);
|
|
295
295
|
}));
|
|
296
296
|
command
|
|
297
|
-
.command("
|
|
298
|
-
.description("Show or stream
|
|
299
|
-
.option("--stream", "Keep the connection open and stream new
|
|
300
|
-
.option("--limit <n>", "Stop after N streamed
|
|
297
|
+
.command("activity <id>")
|
|
298
|
+
.description("Show or stream run group activity")
|
|
299
|
+
.option("--stream", "Keep the connection open and stream new activity")
|
|
300
|
+
.option("--limit <n>", "Stop after N streamed activity entries")
|
|
301
301
|
.option("--json", "Output as JSON")
|
|
302
302
|
.action((id, opts) => runAction(async () => {
|
|
303
|
-
const path = `/api/v1/
|
|
303
|
+
const path = `/api/v1/run-groups/${enc(id)}/activity`;
|
|
304
304
|
if (opts.stream) {
|
|
305
305
|
const limit = opts.limit ? Number(opts.limit) : undefined;
|
|
306
306
|
let seen = 0;
|
|
307
307
|
const res = await client().apiStream(path);
|
|
308
308
|
for await (const event of parseSse(res.body)) {
|
|
309
309
|
seen += 1;
|
|
310
|
-
const data =
|
|
310
|
+
const data = groupActivityData(event);
|
|
311
311
|
if (isJsonMode(opts)) {
|
|
312
312
|
console.log(JSON.stringify(data, null, 2));
|
|
313
313
|
}
|
|
@@ -315,7 +315,7 @@ export function register(program) {
|
|
|
315
315
|
console.log([
|
|
316
316
|
chalk.dim(str(data.sequence ?? seen)),
|
|
317
317
|
colorStatus(data.type),
|
|
318
|
-
str(data.
|
|
318
|
+
str(data.run_id),
|
|
319
319
|
str(data.message),
|
|
320
320
|
]
|
|
321
321
|
.filter(Boolean)
|
|
@@ -326,25 +326,25 @@ export function register(program) {
|
|
|
326
326
|
}
|
|
327
327
|
return;
|
|
328
328
|
}
|
|
329
|
-
const data =
|
|
329
|
+
const data = activityRows(unwrap(await client().apiGet(path)));
|
|
330
330
|
if (isJsonMode(opts)) {
|
|
331
331
|
console.log(JSON.stringify(data, null, 2));
|
|
332
332
|
return;
|
|
333
333
|
}
|
|
334
334
|
if (data.length === 0) {
|
|
335
|
-
console.log(chalk.dim("No
|
|
335
|
+
console.log(chalk.dim("No run group activity found."));
|
|
336
336
|
return;
|
|
337
337
|
}
|
|
338
338
|
renderTable(data, [
|
|
339
339
|
{ header: "SEQ", key: (row) => str(row.sequence ?? "-"), width: 8 },
|
|
340
340
|
{ header: "TYPE", key: (row) => colorStatus(row.type), width: 18 },
|
|
341
|
-
{ header: "RUN", key: (row) => str(row.
|
|
341
|
+
{ header: "RUN", key: (row) => str(row.run_id ?? "-"), width: 18 },
|
|
342
342
|
{ header: "MESSAGE", key: (row) => str(row.message ?? ""), width: 42 },
|
|
343
343
|
]);
|
|
344
344
|
}));
|
|
345
345
|
command
|
|
346
346
|
.command("wait <id>")
|
|
347
|
-
.description("Wait for
|
|
347
|
+
.description("Wait for a run group to reach a terminal state")
|
|
348
348
|
.option("--runs", "Include child runs in the final response")
|
|
349
349
|
.option("--timeout <seconds>", "Maximum seconds to wait", "900")
|
|
350
350
|
.option("--json", "Output as JSON")
|
|
@@ -354,11 +354,11 @@ export function register(program) {
|
|
|
354
354
|
console.log(JSON.stringify(data, null, 2));
|
|
355
355
|
return;
|
|
356
356
|
}
|
|
357
|
-
console.log(`${chalk.green("
|
|
357
|
+
console.log(`${chalk.green("Run group finished")} ${id} ${colorStatus(data.status)}`);
|
|
358
358
|
}));
|
|
359
359
|
}
|
|
360
360
|
function collect(value, values) {
|
|
361
361
|
values.push(value);
|
|
362
362
|
return values;
|
|
363
363
|
}
|
|
364
|
-
//# sourceMappingURL=
|
|
364
|
+
//# sourceMappingURL=run-groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-groups.js","sourceRoot":"","sources":["../../src/commands/run-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/commands/runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqJzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwW/C"}
|
|
@@ -21,19 +21,19 @@ function eventRows(raw) {
|
|
|
21
21
|
return raw;
|
|
22
22
|
if (raw && typeof raw === "object") {
|
|
23
23
|
const value = raw;
|
|
24
|
-
for (const key of ["data", "
|
|
24
|
+
for (const key of ["data", "activity", "items"]) {
|
|
25
25
|
if (Array.isArray(value[key]))
|
|
26
26
|
return value[key];
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
return [];
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function fileRows(raw) {
|
|
32
32
|
if (Array.isArray(raw))
|
|
33
33
|
return raw;
|
|
34
34
|
if (raw && typeof raw === "object") {
|
|
35
35
|
const value = raw;
|
|
36
|
-
for (const key of ["data", "
|
|
36
|
+
for (const key of ["data", "files", "items"]) {
|
|
37
37
|
if (Array.isArray(value[key]))
|
|
38
38
|
return value[key];
|
|
39
39
|
}
|
|
@@ -61,7 +61,7 @@ function str(value) {
|
|
|
61
61
|
return "";
|
|
62
62
|
return String(value);
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function activityData(event) {
|
|
65
65
|
if (!event || typeof event !== "object")
|
|
66
66
|
return {};
|
|
67
67
|
const value = event;
|
|
@@ -90,22 +90,22 @@ function sleep(ms) {
|
|
|
90
90
|
async function waitForRun(id, timeoutSec) {
|
|
91
91
|
const deadline = Date.now() + timeoutSec * 1000;
|
|
92
92
|
while (true) {
|
|
93
|
-
const data = unwrap(await client().apiGet(`/api/v1/
|
|
93
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}`));
|
|
94
94
|
if (isTerminalStatus(data.status))
|
|
95
95
|
return data;
|
|
96
96
|
if (Date.now() >= deadline) {
|
|
97
|
-
throw new Error(`Timed out waiting for
|
|
97
|
+
throw new Error(`Timed out waiting for run ${id}`);
|
|
98
98
|
}
|
|
99
99
|
await sleep(Math.min(2000, Math.max(0, deadline - Date.now())));
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
export function register(program) {
|
|
103
103
|
const command = program
|
|
104
|
-
.command("
|
|
105
|
-
.description("List, inspect, and cancel
|
|
104
|
+
.command("runs")
|
|
105
|
+
.description("List, inspect, and cancel runs");
|
|
106
106
|
command
|
|
107
107
|
.command("list")
|
|
108
|
-
.description("List
|
|
108
|
+
.description("List runs")
|
|
109
109
|
.option("--sandbox <id>", "Filter by sandbox ID")
|
|
110
110
|
.option("--computer <id>", "Filter by computer ID")
|
|
111
111
|
.option("--workspace <id>", "Filter by workspace ID")
|
|
@@ -153,13 +153,13 @@ export function register(program) {
|
|
|
153
153
|
if (opts.limit)
|
|
154
154
|
query.set("limit", opts.limit);
|
|
155
155
|
const suffix = query.toString() ? `?${query.toString()}` : "";
|
|
156
|
-
const data = rows(unwrap(await client().apiGet(`/api/v1/
|
|
156
|
+
const data = rows(unwrap(await client().apiGet(`/api/v1/runs${suffix}`)));
|
|
157
157
|
if (isJsonMode(opts)) {
|
|
158
158
|
console.log(JSON.stringify(data, null, 2));
|
|
159
159
|
return;
|
|
160
160
|
}
|
|
161
161
|
if (data.length === 0) {
|
|
162
|
-
console.log(chalk.dim("No
|
|
162
|
+
console.log(chalk.dim("No runs found."));
|
|
163
163
|
return;
|
|
164
164
|
}
|
|
165
165
|
renderTable(data, [
|
|
@@ -176,31 +176,39 @@ export function register(program) {
|
|
|
176
176
|
.join(" / "),
|
|
177
177
|
width: 30,
|
|
178
178
|
},
|
|
179
|
-
{ header: "
|
|
179
|
+
{ header: "RUNNER", key: "runner", width: 12 },
|
|
180
180
|
{ header: "STATUS", key: (row) => colorStatus(row.status), width: 12 },
|
|
181
|
-
{ header: "
|
|
181
|
+
{ header: "INSTRUCTION", key: (row) => str(row.instruction), width: 44 },
|
|
182
182
|
]);
|
|
183
183
|
}));
|
|
184
184
|
command
|
|
185
185
|
.command("show <id>")
|
|
186
|
-
.description("Show one
|
|
186
|
+
.description("Show one run")
|
|
187
187
|
.option("--json", "Output as JSON")
|
|
188
188
|
.action((id, opts) => runAction(async () => {
|
|
189
|
-
const data = unwrap(await client().apiGet(`/api/v1/
|
|
189
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}`));
|
|
190
190
|
console.log(JSON.stringify(data, null, 2));
|
|
191
191
|
}));
|
|
192
192
|
command
|
|
193
|
-
.command("
|
|
194
|
-
.description("
|
|
193
|
+
.command("outputs <id>")
|
|
194
|
+
.description("Show all outputs for a run")
|
|
195
|
+
.option("--json", "Output as JSON")
|
|
196
|
+
.action((id, _opts) => runAction(async () => {
|
|
197
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/outputs`));
|
|
198
|
+
console.log(JSON.stringify(data, null, 2));
|
|
199
|
+
}));
|
|
200
|
+
command
|
|
201
|
+
.command("files <id>")
|
|
202
|
+
.description("List files produced by a run")
|
|
195
203
|
.option("--json", "Output as JSON")
|
|
196
204
|
.action((id, opts) => runAction(async () => {
|
|
197
|
-
const data =
|
|
205
|
+
const data = fileRows(unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/files`)));
|
|
198
206
|
if (isJsonMode(opts)) {
|
|
199
207
|
console.log(JSON.stringify(data, null, 2));
|
|
200
208
|
return;
|
|
201
209
|
}
|
|
202
210
|
if (data.length === 0) {
|
|
203
|
-
console.log(chalk.dim("No
|
|
211
|
+
console.log(chalk.dim("No files found."));
|
|
204
212
|
return;
|
|
205
213
|
}
|
|
206
214
|
renderTable(data, [
|
|
@@ -212,20 +220,20 @@ export function register(program) {
|
|
|
212
220
|
]);
|
|
213
221
|
}));
|
|
214
222
|
command
|
|
215
|
-
.command("
|
|
216
|
-
.description("Show or stream
|
|
223
|
+
.command("activity <id>")
|
|
224
|
+
.description("Show or stream run activity")
|
|
217
225
|
.option("--stream", "Keep the connection open and stream new events")
|
|
218
226
|
.option("--limit <n>", "Stop after N streamed events")
|
|
219
227
|
.option("--json", "Output as JSON")
|
|
220
228
|
.action((id, opts) => runAction(async () => {
|
|
221
|
-
const path = `/api/v1/
|
|
229
|
+
const path = `/api/v1/runs/${enc(id)}/activity`;
|
|
222
230
|
if (opts.stream) {
|
|
223
231
|
const limit = opts.limit ? Number(opts.limit) : undefined;
|
|
224
232
|
let seen = 0;
|
|
225
233
|
const res = await client().apiStream(path);
|
|
226
234
|
for await (const event of parseSse(res.body)) {
|
|
227
235
|
seen += 1;
|
|
228
|
-
const data =
|
|
236
|
+
const data = activityData(event);
|
|
229
237
|
if (isJsonMode(opts)) {
|
|
230
238
|
console.log(JSON.stringify(data, null, 2));
|
|
231
239
|
}
|
|
@@ -233,7 +241,7 @@ export function register(program) {
|
|
|
233
241
|
console.log([
|
|
234
242
|
chalk.dim(str(data.sequence ?? seen)),
|
|
235
243
|
colorStatus(data.type),
|
|
236
|
-
str(data.
|
|
244
|
+
str(data.run_id ?? id),
|
|
237
245
|
str(data.message),
|
|
238
246
|
]
|
|
239
247
|
.filter(Boolean)
|
|
@@ -250,7 +258,7 @@ export function register(program) {
|
|
|
250
258
|
return;
|
|
251
259
|
}
|
|
252
260
|
if (data.length === 0) {
|
|
253
|
-
console.log(chalk.dim("No
|
|
261
|
+
console.log(chalk.dim("No run activity found."));
|
|
254
262
|
return;
|
|
255
263
|
}
|
|
256
264
|
renderTable(data, [
|
|
@@ -259,9 +267,41 @@ export function register(program) {
|
|
|
259
267
|
{ header: "MESSAGE", key: (row) => str(row.message ?? ""), width: 56 },
|
|
260
268
|
]);
|
|
261
269
|
}));
|
|
270
|
+
command
|
|
271
|
+
.command("messages <id>")
|
|
272
|
+
.description("Show run messages")
|
|
273
|
+
.option("--json", "Output as JSON")
|
|
274
|
+
.action((id, _opts) => runAction(async () => {
|
|
275
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/messages`));
|
|
276
|
+
console.log(JSON.stringify(data, null, 2));
|
|
277
|
+
}));
|
|
278
|
+
command
|
|
279
|
+
.command("command-output <id>")
|
|
280
|
+
.description("Show run command output")
|
|
281
|
+
.option("--json", "Output as JSON")
|
|
282
|
+
.action((id, _opts) => runAction(async () => {
|
|
283
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/command-output`));
|
|
284
|
+
console.log(JSON.stringify(data, null, 2));
|
|
285
|
+
}));
|
|
286
|
+
command
|
|
287
|
+
.command("previews <id>")
|
|
288
|
+
.description("Show run previews")
|
|
289
|
+
.option("--json", "Output as JSON")
|
|
290
|
+
.action((id, _opts) => runAction(async () => {
|
|
291
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/previews`));
|
|
292
|
+
console.log(JSON.stringify(data, null, 2));
|
|
293
|
+
}));
|
|
294
|
+
command
|
|
295
|
+
.command("diagnostics <id>")
|
|
296
|
+
.description("Show run diagnostics")
|
|
297
|
+
.option("--json", "Output as JSON")
|
|
298
|
+
.action((id, _opts) => runAction(async () => {
|
|
299
|
+
const data = unwrap(await client().apiGet(`/api/v1/runs/${enc(id)}/diagnostics`));
|
|
300
|
+
console.log(JSON.stringify(data, null, 2));
|
|
301
|
+
}));
|
|
262
302
|
command
|
|
263
303
|
.command("wait <id>")
|
|
264
|
-
.description("Wait for
|
|
304
|
+
.description("Wait for a run to reach a terminal state")
|
|
265
305
|
.option("--timeout <seconds>", "Maximum seconds to wait", "900")
|
|
266
306
|
.option("--json", "Output as JSON")
|
|
267
307
|
.action((id, opts) => runAction(async () => {
|
|
@@ -270,38 +310,38 @@ export function register(program) {
|
|
|
270
310
|
console.log(JSON.stringify(data, null, 2));
|
|
271
311
|
return;
|
|
272
312
|
}
|
|
273
|
-
console.log(`${chalk.green("
|
|
313
|
+
console.log(`${chalk.green("Run finished")} ${id} ${colorStatus(data.status)}`);
|
|
274
314
|
}));
|
|
275
315
|
command
|
|
276
|
-
.command("download <id> <
|
|
277
|
-
.description("Download
|
|
316
|
+
.command("download-file <id> <file-id>")
|
|
317
|
+
.description("Download a run file to a local file or stdout")
|
|
278
318
|
.option("--output <file>", "Write to this local file instead of stdout")
|
|
279
319
|
.option("--inline", "Ask the API for inline disposition metadata")
|
|
280
320
|
.option("--json", "Output as JSON metadata")
|
|
281
|
-
.action((id,
|
|
321
|
+
.action((id, fileId, opts) => runAction(async () => {
|
|
282
322
|
const query = new URLSearchParams();
|
|
283
323
|
if (opts.inline)
|
|
284
324
|
query.set("disposition", "inline");
|
|
285
325
|
const suffix = query.toString() ? `?${query.toString()}` : "";
|
|
286
|
-
const bytes = await client().apiGetBinary(apiPath(`/
|
|
326
|
+
const bytes = await client().apiGetBinary(apiPath(`/runs/${enc(id)}/files/${enc(fileId)}/download${suffix}`));
|
|
287
327
|
if (opts.output) {
|
|
288
328
|
fs.writeFileSync(opts.output, bytes);
|
|
289
329
|
if (isJsonMode(opts)) {
|
|
290
330
|
console.log(JSON.stringify({
|
|
291
|
-
|
|
292
|
-
|
|
331
|
+
run_id: id,
|
|
332
|
+
file_id: fileId,
|
|
293
333
|
output: opts.output,
|
|
294
334
|
bytes: bytes.length,
|
|
295
335
|
}, null, 2));
|
|
296
336
|
return;
|
|
297
337
|
}
|
|
298
|
-
console.log(chalk.green(`Downloaded
|
|
338
|
+
console.log(chalk.green(`Downloaded file ${fileId} → ${opts.output}`));
|
|
299
339
|
return;
|
|
300
340
|
}
|
|
301
341
|
if (isJsonMode(opts)) {
|
|
302
342
|
console.log(JSON.stringify({
|
|
303
|
-
|
|
304
|
-
|
|
343
|
+
run_id: id,
|
|
344
|
+
file_id: fileId,
|
|
305
345
|
bytes: bytes.length,
|
|
306
346
|
content_base64: bytes.toString("base64"),
|
|
307
347
|
}, null, 2));
|
|
@@ -311,15 +351,15 @@ export function register(program) {
|
|
|
311
351
|
}));
|
|
312
352
|
command
|
|
313
353
|
.command("cancel <id>")
|
|
314
|
-
.description("Cancel
|
|
354
|
+
.description("Cancel a run")
|
|
315
355
|
.option("--json", "Output as JSON")
|
|
316
356
|
.action((id, opts) => runAction(async () => {
|
|
317
|
-
const data = unwrap(await client().apiPost(`/api/v1/
|
|
357
|
+
const data = unwrap(await client().apiPost(`/api/v1/runs/${enc(id)}/cancel`, {}));
|
|
318
358
|
if (isJsonMode(opts)) {
|
|
319
359
|
console.log(JSON.stringify(data, null, 2));
|
|
320
360
|
return;
|
|
321
361
|
}
|
|
322
|
-
console.log(chalk.green(`Canceled
|
|
362
|
+
console.log(chalk.green(`Canceled run ${id}`));
|
|
323
363
|
}));
|
|
324
364
|
}
|
|
325
|
-
//# sourceMappingURL=
|
|
365
|
+
//# sourceMappingURL=runs.js.map
|