@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.
Files changed (122) hide show
  1. package/README.md +3 -3
  2. package/dist/app-advisor.js +6 -6
  3. package/dist/app-advisor.js.map +1 -1
  4. package/dist/bin/miosa.js +2 -2
  5. package/dist/bin/miosa.js.map +1 -1
  6. package/dist/client.d.ts +1 -1
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +1 -1
  9. package/dist/client.js.map +1 -1
  10. package/dist/commands/agent.d.ts +10 -10
  11. package/dist/commands/agent.js +47 -47
  12. package/dist/commands/agent.js.map +1 -1
  13. package/dist/commands/app.js +1 -1
  14. package/dist/commands/app.js.map +1 -1
  15. package/dist/commands/capabilities.js +22 -22
  16. package/dist/commands/capabilities.js.map +1 -1
  17. package/dist/commands/computers.js +20 -20
  18. package/dist/commands/computers.js.map +1 -1
  19. package/dist/commands/deploy.d.ts.map +1 -1
  20. package/dist/commands/deploy.js +196 -3
  21. package/dist/commands/deploy.js.map +1 -1
  22. package/dist/commands/devices.js +12 -12
  23. package/dist/commands/devices.js.map +1 -1
  24. package/dist/commands/docker-deploy.d.ts.map +1 -1
  25. package/dist/commands/docker-deploy.js +58 -22
  26. package/dist/commands/docker-deploy.js.map +1 -1
  27. package/dist/commands/{agent-runs.d.ts → run-groups.d.ts} +1 -1
  28. package/dist/commands/run-groups.d.ts.map +1 -0
  29. package/dist/commands/{agent-run-groups.js → run-groups.js} +62 -62
  30. package/dist/commands/run-groups.js.map +1 -0
  31. package/dist/commands/{osa.d.ts → runs.d.ts} +1 -1
  32. package/dist/commands/runs.d.ts.map +1 -0
  33. package/dist/commands/{agent-runs.js → runs.js} +80 -40
  34. package/dist/commands/runs.js.map +1 -0
  35. package/dist/commands/sandbox.js +26 -26
  36. package/dist/commands/sandbox.js.map +1 -1
  37. package/dist/commands/status.js +1 -1
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/types.d.ts +11 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/package.json +2 -2
  43. package/dist/commands/agent-run-groups.d.ts +0 -3
  44. package/dist/commands/agent-run-groups.d.ts.map +0 -1
  45. package/dist/commands/agent-run-groups.js.map +0 -1
  46. package/dist/commands/agent-runs.d.ts.map +0 -1
  47. package/dist/commands/agent-runs.js.map +0 -1
  48. package/dist/commands/cloud.d.ts +0 -3
  49. package/dist/commands/cloud.d.ts.map +0 -1
  50. package/dist/commands/cloud.js +0 -257
  51. package/dist/commands/cloud.js.map +0 -1
  52. package/dist/commands/machines.d.ts +0 -3
  53. package/dist/commands/machines.d.ts.map +0 -1
  54. package/dist/commands/machines.js +0 -29
  55. package/dist/commands/machines.js.map +0 -1
  56. package/dist/commands/osa.d.ts.map +0 -1
  57. package/dist/commands/osa.js +0 -663
  58. package/dist/commands/osa.js.map +0 -1
  59. package/dist/osa/build.d.ts +0 -6
  60. package/dist/osa/build.d.ts.map +0 -1
  61. package/dist/osa/build.js +0 -23
  62. package/dist/osa/build.js.map +0 -1
  63. package/dist/osa/builtin-skills.d.ts +0 -7
  64. package/dist/osa/builtin-skills.d.ts.map +0 -1
  65. package/dist/osa/builtin-skills.js +0 -85
  66. package/dist/osa/builtin-skills.js.map +0 -1
  67. package/dist/osa/computer.d.ts +0 -10
  68. package/dist/osa/computer.d.ts.map +0 -1
  69. package/dist/osa/computer.js +0 -37
  70. package/dist/osa/computer.js.map +0 -1
  71. package/dist/osa/deployments.d.ts +0 -44
  72. package/dist/osa/deployments.d.ts.map +0 -1
  73. package/dist/osa/deployments.js +0 -140
  74. package/dist/osa/deployments.js.map +0 -1
  75. package/dist/osa/discovery.d.ts +0 -8
  76. package/dist/osa/discovery.d.ts.map +0 -1
  77. package/dist/osa/discovery.js +0 -668
  78. package/dist/osa/discovery.js.map +0 -1
  79. package/dist/osa/doctor.d.ts +0 -9
  80. package/dist/osa/doctor.d.ts.map +0 -1
  81. package/dist/osa/doctor.js +0 -41
  82. package/dist/osa/doctor.js.map +0 -1
  83. package/dist/osa/eval.d.ts +0 -7
  84. package/dist/osa/eval.d.ts.map +0 -1
  85. package/dist/osa/eval.js +0 -108
  86. package/dist/osa/eval.js.map +0 -1
  87. package/dist/osa/integrations.d.ts +0 -28
  88. package/dist/osa/integrations.d.ts.map +0 -1
  89. package/dist/osa/integrations.js +0 -65
  90. package/dist/osa/integrations.js.map +0 -1
  91. package/dist/osa/paths.d.ts +0 -8
  92. package/dist/osa/paths.d.ts.map +0 -1
  93. package/dist/osa/paths.js +0 -31
  94. package/dist/osa/paths.js.map +0 -1
  95. package/dist/osa/plans.d.ts +0 -9
  96. package/dist/osa/plans.d.ts.map +0 -1
  97. package/dist/osa/plans.js +0 -55
  98. package/dist/osa/plans.js.map +0 -1
  99. package/dist/osa/projects.d.ts +0 -45
  100. package/dist/osa/projects.d.ts.map +0 -1
  101. package/dist/osa/projects.js +0 -92
  102. package/dist/osa/projects.js.map +0 -1
  103. package/dist/osa/runtime.d.ts +0 -19
  104. package/dist/osa/runtime.d.ts.map +0 -1
  105. package/dist/osa/runtime.js +0 -92
  106. package/dist/osa/runtime.js.map +0 -1
  107. package/dist/osa/scaffold.d.ts +0 -11
  108. package/dist/osa/scaffold.d.ts.map +0 -1
  109. package/dist/osa/scaffold.js +0 -245
  110. package/dist/osa/scaffold.js.map +0 -1
  111. package/dist/osa/skills.d.ts +0 -19
  112. package/dist/osa/skills.d.ts.map +0 -1
  113. package/dist/osa/skills.js +0 -55
  114. package/dist/osa/skills.js.map +0 -1
  115. package/dist/osa/types.d.ts +0 -157
  116. package/dist/osa/types.d.ts.map +0 -1
  117. package/dist/osa/types.js +0 -2
  118. package/dist/osa/types.js.map +0 -1
  119. package/dist/osa/yaml.d.ts +0 -7
  120. package/dist/osa/yaml.d.ts.map +0 -1
  121. package/dist/osa/yaml.js +0 -59
  122. package/dist/osa/yaml.js.map +0 -1
@@ -17,24 +17,24 @@ function rows(raw) {
17
17
  }
18
18
  return [];
19
19
  }
20
- function eventRows(raw) {
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", "events", "items"]) {
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 artifactRows(raw) {
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", "artifacts", "items"]) {
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 groupEventData(event) {
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/agent-run-groups/${enc(id)}${suffix}`));
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 agent run group ${id}`);
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 groupArtifacts(id) {
104
- const group = unwrap(await client().apiGet(`/api/v1/agent-run-groups/${enc(id)}?include=runs`));
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 artifacts = [];
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 = artifactRows(unwrap(await client().apiGet(`/api/v1/agent-runs/${enc(runId)}/artifacts`)));
114
- artifacts.push(...rows.map((artifact) => ({
115
- ...artifact,
116
- agent_run_id: artifact.agent_run_id ?? runId,
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 artifacts;
119
+ return files;
120
120
  }
121
- function localArtifactPath(downloadDir, artifact) {
122
- const runId = str(artifact.agent_run_id || "run");
123
- const rawPath = str(artifact.path || artifact.id || "artifact");
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(artifact.id || "artifact")
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("agent-run-groups")
151
- .description("Create and operate grouped multi-agent runs");
150
+ .command("run-groups")
151
+ .description("Create and operate run groups");
152
152
  command
153
153
  .command("create")
154
- .description("Create an Agent Run Group")
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/agent-run-groups", body));
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 agent run group ${str(data.id)}`));
179
+ console.log(chalk.green(`Created run group ${str(data.id)}`));
180
180
  }));
181
181
  command
182
182
  .command("list")
183
- .description("List Agent Run Groups")
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/agent-run-groups${suffix}`)));
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 agent run groups found."));
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 Agent Run Group")
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/agent-run-groups/${enc(id)}${suffix}`));
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 Agent Runs into a group")
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/agent-run-groups/${enc(id)}/dispatch`, {
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 an Agent Run Group and running children")
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/agent-run-groups/${enc(id)}/cancel`, {}));
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 agent run group ${id}`));
252
+ console.log(chalk.green(`Canceled run group ${id}`));
253
253
  }));
254
254
  command
255
- .command("artifacts <id>")
256
- .description("List or download artifacts from every child Agent Run in a group")
257
- .option("--download-dir <dir>", "Download all artifacts into this directory")
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 artifacts = await groupArtifacts(id);
260
+ const files = await groupFiles(id);
261
261
  if (opts.downloadDir) {
262
262
  const downloaded = [];
263
- for (const artifact of artifacts) {
264
- if (!artifact.id || !artifact.agent_run_id)
263
+ for (const file of files) {
264
+ if (!file.id || !file.run_id)
265
265
  continue;
266
- const output = localArtifactPath(opts.downloadDir, artifact);
266
+ const output = localFilePath(opts.downloadDir, file);
267
267
  fs.mkdirSync(path.dirname(output), { recursive: true });
268
- const bytes = await client().apiGetBinary(apiPath(`/agent-runs/${enc(artifact.agent_run_id)}/artifacts/${enc(artifact.id)}/download`));
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({ ...artifact, output, bytes: bytes.length });
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} artifact${downloaded.length === 1 ? "" : "s"} to ${opts.downloadDir}`));
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(artifacts, null, 2));
280
+ console.log(JSON.stringify(files, null, 2));
281
281
  return;
282
282
  }
283
- if (artifacts.length === 0) {
284
- console.log(chalk.dim("No agent run group artifacts found."));
283
+ if (files.length === 0) {
284
+ console.log(chalk.dim("No run group files found."));
285
285
  return;
286
286
  }
287
- renderTable(artifacts, [
288
- { header: "RUN", key: (row) => str(row.agent_run_id ?? "-"), width: 18 },
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("events <id>")
298
- .description("Show or stream Agent Run Group events")
299
- .option("--stream", "Keep the connection open and stream new events")
300
- .option("--limit <n>", "Stop after N streamed events")
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/agent-run-groups/${enc(id)}/events`;
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 = groupEventData(event);
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.agent_run_id),
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 = eventRows(unwrap(await client().apiGet(path)));
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 agent run group events found."));
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.agent_run_id ?? "-"), width: 18 },
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 an Agent Run Group to reach a terminal state")
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("Agent run group finished")} ${id} ${colorStatus(data.status)}`);
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=agent-run-groups.js.map
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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"}
@@ -1,3 +1,3 @@
1
1
  import type { Command } from "commander";
2
2
  export declare function register(program: Command): void;
3
- //# sourceMappingURL=osa.d.ts.map
3
+ //# sourceMappingURL=runs.d.ts.map
@@ -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", "events", "items"]) {
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 artifactRows(raw) {
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", "artifacts", "items"]) {
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 agentEventData(event) {
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/agent-runs/${enc(id)}`));
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 agent run ${id}`);
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("agent-runs")
105
- .description("List, inspect, and cancel Agent Runs");
104
+ .command("runs")
105
+ .description("List, inspect, and cancel runs");
106
106
  command
107
107
  .command("list")
108
- .description("List Agent Runs")
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/agent-runs${suffix}`)));
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 agent runs found."));
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: "PROVIDER", key: "provider", width: 12 },
179
+ { header: "RUNNER", key: "runner", width: 12 },
180
180
  { header: "STATUS", key: (row) => colorStatus(row.status), width: 12 },
181
- { header: "PROMPT", key: (row) => str(row.prompt), width: 44 },
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 Agent Run")
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/agent-runs/${enc(id)}`));
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("artifacts <id>")
194
- .description("List artifacts declared by an Agent Run")
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 = artifactRows(unwrap(await client().apiGet(`/api/v1/agent-runs/${enc(id)}/artifacts`)));
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 artifacts found."));
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("events <id>")
216
- .description("Show or stream Agent Run events")
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/agent-runs/${enc(id)}/events`;
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 = agentEventData(event);
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.agent_run_id ?? id),
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 agent run events found."));
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 an Agent Run to reach a terminal state")
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("Agent run finished")} ${id} ${colorStatus(data.status)}`);
313
+ console.log(`${chalk.green("Run finished")} ${id} ${colorStatus(data.status)}`);
274
314
  }));
275
315
  command
276
- .command("download <id> <artifact-id>")
277
- .description("Download an Agent Run artifact to a local file or stdout")
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, artifactId, opts) => runAction(async () => {
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(`/agent-runs/${enc(id)}/artifacts/${enc(artifactId)}/download${suffix}`));
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
- agent_run_id: id,
292
- artifact_id: artifactId,
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 artifact ${artifactId} → ${opts.output}`));
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
- agent_run_id: id,
304
- artifact_id: artifactId,
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 an Agent Run")
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/agent-runs/${enc(id)}/cancel`, {}));
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 agent run ${id}`));
362
+ console.log(chalk.green(`Canceled run ${id}`));
323
363
  }));
324
364
  }
325
- //# sourceMappingURL=agent-runs.js.map
365
+ //# sourceMappingURL=runs.js.map