@miosa/cli 1.0.79 → 1.0.81

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 (90) hide show
  1. package/README.md +38 -0
  2. package/dist/bin/miosa.js +1 -0
  3. package/dist/bin/miosa.js.map +1 -1
  4. package/dist/commands/capabilities.d.ts.map +1 -1
  5. package/dist/commands/capabilities.js +85 -4
  6. package/dist/commands/capabilities.js.map +1 -1
  7. package/dist/commands/completion.d.ts.map +1 -1
  8. package/dist/commands/completion.js +12 -1
  9. package/dist/commands/completion.js.map +1 -1
  10. package/dist/commands/computers.d.ts.map +1 -1
  11. package/dist/commands/computers.js +44 -0
  12. package/dist/commands/computers.js.map +1 -1
  13. package/dist/commands/connectors.d.ts.map +1 -1
  14. package/dist/commands/connectors.js +509 -1
  15. package/dist/commands/connectors.js.map +1 -1
  16. package/dist/commands/deploy.d.ts.map +1 -1
  17. package/dist/commands/deploy.js +147 -0
  18. package/dist/commands/deploy.js.map +1 -1
  19. package/dist/commands/devices.d.ts.map +1 -1
  20. package/dist/commands/devices.js +410 -35
  21. package/dist/commands/devices.js.map +1 -1
  22. package/dist/commands/osa.d.ts +3 -0
  23. package/dist/commands/osa.d.ts.map +1 -0
  24. package/dist/commands/osa.js +663 -0
  25. package/dist/commands/osa.js.map +1 -0
  26. package/dist/osa/build.d.ts +6 -0
  27. package/dist/osa/build.d.ts.map +1 -0
  28. package/dist/osa/build.js +23 -0
  29. package/dist/osa/build.js.map +1 -0
  30. package/dist/osa/builtin-skills.d.ts +7 -0
  31. package/dist/osa/builtin-skills.d.ts.map +1 -0
  32. package/dist/osa/builtin-skills.js +85 -0
  33. package/dist/osa/builtin-skills.js.map +1 -0
  34. package/dist/osa/computer.d.ts +10 -0
  35. package/dist/osa/computer.d.ts.map +1 -0
  36. package/dist/osa/computer.js +37 -0
  37. package/dist/osa/computer.js.map +1 -0
  38. package/dist/osa/deployments.d.ts +44 -0
  39. package/dist/osa/deployments.d.ts.map +1 -0
  40. package/dist/osa/deployments.js +140 -0
  41. package/dist/osa/deployments.js.map +1 -0
  42. package/dist/osa/discovery.d.ts +8 -0
  43. package/dist/osa/discovery.d.ts.map +1 -0
  44. package/dist/osa/discovery.js +668 -0
  45. package/dist/osa/discovery.js.map +1 -0
  46. package/dist/osa/doctor.d.ts +9 -0
  47. package/dist/osa/doctor.d.ts.map +1 -0
  48. package/dist/osa/doctor.js +41 -0
  49. package/dist/osa/doctor.js.map +1 -0
  50. package/dist/osa/eval.d.ts +7 -0
  51. package/dist/osa/eval.d.ts.map +1 -0
  52. package/dist/osa/eval.js +108 -0
  53. package/dist/osa/eval.js.map +1 -0
  54. package/dist/osa/integrations.d.ts +28 -0
  55. package/dist/osa/integrations.d.ts.map +1 -0
  56. package/dist/osa/integrations.js +65 -0
  57. package/dist/osa/integrations.js.map +1 -0
  58. package/dist/osa/paths.d.ts +8 -0
  59. package/dist/osa/paths.d.ts.map +1 -0
  60. package/dist/osa/paths.js +31 -0
  61. package/dist/osa/paths.js.map +1 -0
  62. package/dist/osa/plans.d.ts +9 -0
  63. package/dist/osa/plans.d.ts.map +1 -0
  64. package/dist/osa/plans.js +55 -0
  65. package/dist/osa/plans.js.map +1 -0
  66. package/dist/osa/projects.d.ts +45 -0
  67. package/dist/osa/projects.d.ts.map +1 -0
  68. package/dist/osa/projects.js +92 -0
  69. package/dist/osa/projects.js.map +1 -0
  70. package/dist/osa/runtime.d.ts +19 -0
  71. package/dist/osa/runtime.d.ts.map +1 -0
  72. package/dist/osa/runtime.js +92 -0
  73. package/dist/osa/runtime.js.map +1 -0
  74. package/dist/osa/scaffold.d.ts +11 -0
  75. package/dist/osa/scaffold.d.ts.map +1 -0
  76. package/dist/osa/scaffold.js +245 -0
  77. package/dist/osa/scaffold.js.map +1 -0
  78. package/dist/osa/skills.d.ts +19 -0
  79. package/dist/osa/skills.d.ts.map +1 -0
  80. package/dist/osa/skills.js +55 -0
  81. package/dist/osa/skills.js.map +1 -0
  82. package/dist/osa/types.d.ts +157 -0
  83. package/dist/osa/types.d.ts.map +1 -0
  84. package/dist/osa/types.js +2 -0
  85. package/dist/osa/types.js.map +1 -0
  86. package/dist/osa/yaml.d.ts +7 -0
  87. package/dist/osa/yaml.d.ts.map +1 -0
  88. package/dist/osa/yaml.js +59 -0
  89. package/dist/osa/yaml.js.map +1 -0
  90. package/package.json +1 -1
@@ -1,8 +1,18 @@
1
1
  import chalk from "chalk";
2
+ import { readFileSync, writeFileSync } from "node:fs";
2
3
  import { isJsonMode } from "../cli-env.js";
3
4
  import { renderTable } from "../ui/table.js";
4
5
  import { apiPath, client, unwrap } from "./enterprise-util.js";
5
6
  import { handleError } from "./util.js";
7
+ const RUNTIME_BINARIES = {
8
+ "claude-code": ["claude-code", "claude"],
9
+ claude: ["claude"],
10
+ codex: ["codex"],
11
+ hermes: ["hermes"],
12
+ osa: ["osa"],
13
+ pi: ["pi"],
14
+ custom: [],
15
+ };
6
16
  const DEVICE_CATALOG = [
7
17
  {
8
18
  kind: "sandbox_worker",
@@ -133,8 +143,8 @@ export function register(program) {
133
143
  .option("--json", "Output as JSON")
134
144
  .action((opts) => runDeviceAction(async () => {
135
145
  const filter = normalizeKindFilter(opts.type ?? "all");
136
- const { devices: records, errors } = await listDevices(filter);
137
- const output = { devices: records, errors };
146
+ const records = unwrapList(await client().apiGet(apiPath(`/devices${queryString({ kind: apiKindFilter(filter) })}`)), ["devices"]).map(normalizeDevice);
147
+ const output = { devices: records };
138
148
  if (isJsonMode(opts)) {
139
149
  console.log(JSON.stringify(output, null, 2));
140
150
  return;
@@ -163,37 +173,286 @@ export function register(program) {
163
173
  { header: "PREVIEW", key: (row) => row.preview_url ?? "-" },
164
174
  ]);
165
175
  }
166
- if (errors.length > 0) {
167
- console.log();
168
- console.log(chalk.yellow("Partial inventory errors:"));
169
- for (const error of errors) {
170
- console.log(`- ${error.source}: ${error.message}`);
171
- }
176
+ }));
177
+ devices
178
+ .command("show <id>")
179
+ .description("Show one hosted device")
180
+ .option("--json", "Output as JSON")
181
+ .action((id, opts) => runDeviceAction(async () => {
182
+ const raw = unwrap(await client().apiGet(apiPath(`/devices/${encodeURIComponent(id)}`)));
183
+ if (isJsonMode(opts)) {
184
+ console.log(JSON.stringify(raw, null, 2));
185
+ return;
172
186
  }
187
+ printObject(raw);
173
188
  }));
174
- }
175
- async function listDevices(filter) {
176
- const records = [];
177
- const errors = [];
178
- if (filter === "all" || filter === "sandbox_worker") {
179
- try {
180
- const sandboxes = unwrapList(await client().apiGet(apiPath("/sandboxes")), ["sandboxes"]);
181
- records.push(...sandboxes.map(normalizeSandbox));
189
+ devices
190
+ .command("capabilities <id>")
191
+ .description("Show what a device supports")
192
+ .option("--json", "Output as JSON")
193
+ .action((id, opts) => runDeviceAction(async () => {
194
+ const raw = unwrap(await client().apiGet(apiPath(`/devices/${encodeURIComponent(id)}/capabilities`)));
195
+ if (isJsonMode(opts)) {
196
+ console.log(JSON.stringify(raw, null, 2));
197
+ return;
198
+ }
199
+ printObject(raw);
200
+ }));
201
+ devices
202
+ .command("exec <id>")
203
+ .description("Run a command inside a sandbox/computer device")
204
+ .requiredOption("-c, --command <command>", "Command to run")
205
+ .option("--timeout-ms <ms>", "Command timeout in milliseconds")
206
+ .option("--cwd <path>", "Working directory")
207
+ .option("--env <KEY=VALUE>", "Environment variable. Repeatable.", collect, [])
208
+ .option("--json", "Output as JSON")
209
+ .action((id, opts) => runDeviceAction(async () => {
210
+ const raw = unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/exec`), {
211
+ command: opts.command,
212
+ timeout_ms: opts.timeoutMs ? Number.parseInt(opts.timeoutMs, 10) : undefined,
213
+ cwd: opts.cwd,
214
+ env: parseEnv(opts.env ?? []),
215
+ }));
216
+ if (isJsonMode(opts)) {
217
+ console.log(JSON.stringify(raw, null, 2));
218
+ return;
182
219
  }
183
- catch (err) {
184
- errors.push(deviceListError("sandboxes", err));
220
+ printObject(raw);
221
+ }));
222
+ devices
223
+ .command("doctor <id>")
224
+ .description("Run an agent-friendly health probe against a device")
225
+ .option("--port <port>", "Also verify a port can be exposed")
226
+ .option("--json", "Output as JSON")
227
+ .action((id, opts) => runDeviceAction(async () => {
228
+ const encoded = encodeURIComponent(id);
229
+ const checks = [];
230
+ await recordCheck(checks, "capabilities", async () => unwrap(await client().apiGet(apiPath(`/devices/${encoded}/capabilities`))));
231
+ await recordCheck(checks, "exec", async () => unwrap(await client().apiPost(apiPath(`/devices/${encoded}/exec`), {
232
+ command: "pwd && uname -s",
233
+ timeout_ms: 30_000,
234
+ })));
235
+ await recordCheck(checks, "files", async () => unwrapList(await client().apiGet(apiPath(`/devices/${encoded}/files${queryString({ path: "/workspace" })}`)), ["entries", "files"]));
236
+ if (opts.port) {
237
+ await recordCheck(checks, "expose", async () => unwrap(await client().apiPost(apiPath(`/devices/${encoded}/expose`), {
238
+ port: Number.parseInt(opts.port ?? "", 10),
239
+ })));
185
240
  }
186
- }
187
- if (filter === "all" || filter === "computer") {
188
- try {
189
- const computers = unwrapList(await client().apiGet(apiPath("/computers")), ["computers"]);
190
- records.push(...computers.map(normalizeComputer));
241
+ const output = {
242
+ device_id: id,
243
+ ok: checks.every((check) => check.ok),
244
+ checks,
245
+ };
246
+ if (isJsonMode(opts)) {
247
+ console.log(JSON.stringify(output, null, 2));
248
+ return;
191
249
  }
192
- catch (err) {
193
- errors.push(deviceListError("computers", err));
250
+ console.log(chalk.bold(`Device doctor ${id}`));
251
+ for (const check of checks) {
252
+ const status = check.ok ? chalk.green("ok") : chalk.red("fail");
253
+ console.log(`${status.padEnd(12)} ${check.name}`);
254
+ if (!check.ok && check.error)
255
+ console.log(chalk.red(` ${check.error}`));
194
256
  }
195
- }
196
- return { devices: records, errors };
257
+ }));
258
+ devices
259
+ .command("bootstrap <id>")
260
+ .description("Prepare a device for an agent runtime and write a MIOSA runtime manifest")
261
+ .requiredOption("--runtime <runtime>", "osa, claude-code, claude, codex, hermes, pi, or custom")
262
+ .option("--cwd <path>", "Runtime working directory", "/workspace")
263
+ .option("--connector <uid>", "Required connector UID. Repeatable.", collect, [])
264
+ .option("--env <KEY=VALUE>", "Runtime env default. Repeatable.", collect, [])
265
+ .option("--mcp <name=url>", "Runtime MCP server hint. Repeatable.", collect, [])
266
+ .option("--install-command <command>", "Optional command to install/bootstrap the runtime")
267
+ .option("--skip-probe", "Do not run a binary/runtime probe after writing manifest")
268
+ .option("--json", "Output as JSON")
269
+ .action((id, opts) => runDeviceAction(async () => {
270
+ const runtime = normalizeRuntime(opts.runtime);
271
+ const cwd = opts.cwd ?? "/workspace";
272
+ const manifestPath = `${cwd.replace(/\/$/, "")}/.miosa/runtime-bootstrap.json`;
273
+ const manifest = {
274
+ version: 1,
275
+ runtime,
276
+ cwd,
277
+ expected_binaries: RUNTIME_BINARIES[runtime] ?? [],
278
+ connectors: opts.connector ?? [],
279
+ env: parseEnv(opts.env ?? []) ?? {},
280
+ mcp: parseMcp(opts.mcp ?? []),
281
+ created_by: "miosa-cli",
282
+ };
283
+ const steps = [];
284
+ await recordCheck(steps, "write_manifest", async () => unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/files/write`), {
285
+ path: manifestPath,
286
+ content: `${JSON.stringify(manifest, null, 2)}\n`,
287
+ })));
288
+ if (opts.installCommand) {
289
+ await recordCheck(steps, "install", async () => unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/exec`), {
290
+ command: opts.installCommand,
291
+ cwd,
292
+ timeout_ms: 600_000,
293
+ })));
294
+ }
295
+ if (!opts.skipProbe) {
296
+ await recordCheck(steps, "probe", async () => unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/exec`), {
297
+ command: runtimeProbeCommand(runtime),
298
+ cwd,
299
+ timeout_ms: 60_000,
300
+ })));
301
+ }
302
+ const output = {
303
+ device_id: id,
304
+ ok: steps.every((step) => step.ok),
305
+ runtime,
306
+ manifest_path: manifestPath,
307
+ steps,
308
+ };
309
+ if (isJsonMode(opts)) {
310
+ console.log(JSON.stringify(output, null, 2));
311
+ return;
312
+ }
313
+ console.log(chalk.bold(`Bootstrapped ${runtime} on ${id}`));
314
+ console.log(`${chalk.bold("manifest")} ${manifestPath}`);
315
+ for (const step of steps) {
316
+ const status = step.ok ? chalk.green("ok") : chalk.red("fail");
317
+ console.log(`${status.padEnd(12)} ${step.name}`);
318
+ if (!step.ok && step.error)
319
+ console.log(chalk.red(` ${step.error}`));
320
+ }
321
+ }));
322
+ const files = devices
323
+ .command("files")
324
+ .description("Read, write, and list files inside a device");
325
+ files
326
+ .command("list <id>")
327
+ .description("List files inside a device")
328
+ .option("--path <path>", "Directory path", "/workspace")
329
+ .option("--json", "Output as JSON")
330
+ .action((id, opts) => runDeviceAction(async () => {
331
+ const raw = unwrapList(await client().apiGet(apiPath(`/devices/${encodeURIComponent(id)}/files${queryString({ path: opts.path })}`)), ["entries", "files"]);
332
+ if (isJsonMode(opts)) {
333
+ console.log(JSON.stringify(raw, null, 2));
334
+ return;
335
+ }
336
+ renderTable(raw, [
337
+ { header: "PATH", key: (row) => optionalString(row, "path") ?? "" },
338
+ { header: "TYPE", key: (row) => optionalString(row, "type") ?? "-" },
339
+ { header: "SIZE", key: (row) => String(optionalNumber(row, "size") ?? "-") },
340
+ ]);
341
+ }));
342
+ files
343
+ .command("read <id>")
344
+ .description("Read a file from a device")
345
+ .requiredOption("--path <path>", "File path")
346
+ .option("-o, --output <path>", "Write decoded bytes to a local file")
347
+ .option("--decode", "Print decoded text instead of the JSON/base64 envelope")
348
+ .option("--json", "Output as JSON")
349
+ .action((id, opts) => runDeviceAction(async () => {
350
+ const raw = unwrap(await client().apiGet(apiPath(`/devices/${encodeURIComponent(id)}/files/read${queryString({ path: opts.path })}`)));
351
+ if (opts.output) {
352
+ writeFileSync(opts.output, decodeFileContent(raw));
353
+ if (!isJsonMode(opts))
354
+ console.log(chalk.green(`Wrote ${opts.output}`));
355
+ else
356
+ console.log(JSON.stringify({ output: opts.output }, null, 2));
357
+ return;
358
+ }
359
+ if (opts.decode) {
360
+ console.log(decodeFileContent(raw).toString("utf8"));
361
+ return;
362
+ }
363
+ if (isJsonMode(opts)) {
364
+ console.log(JSON.stringify(raw, null, 2));
365
+ return;
366
+ }
367
+ printObject(raw);
368
+ }));
369
+ files
370
+ .command("write <id>")
371
+ .description("Write a file into a device")
372
+ .requiredOption("--path <path>", "Destination file path")
373
+ .option("--content <text>", "Text content to write")
374
+ .option("--content-base64 <base64>", "Base64 content to write")
375
+ .option("--file <path>", "Read local file bytes and upload as base64")
376
+ .option("--json", "Output as JSON")
377
+ .action((id, opts) => runDeviceAction(async () => {
378
+ const body = writeFileBody(opts);
379
+ const raw = unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/files/write`), body));
380
+ if (isJsonMode(opts)) {
381
+ console.log(JSON.stringify(raw, null, 2));
382
+ return;
383
+ }
384
+ printObject(raw);
385
+ }));
386
+ devices
387
+ .command("expose <id>")
388
+ .description("Expose a device port through MIOSA routing")
389
+ .requiredOption("--port <port>", "Port to expose")
390
+ .option("--json", "Output as JSON")
391
+ .action((id, opts) => runDeviceAction(async () => {
392
+ const raw = unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/expose`), {
393
+ port: Number.parseInt(opts.port, 10),
394
+ }));
395
+ if (isJsonMode(opts)) {
396
+ console.log(JSON.stringify(raw, null, 2));
397
+ return;
398
+ }
399
+ printObject(raw);
400
+ }));
401
+ devices
402
+ .command("browser <id>")
403
+ .description("Return browser/desktop connection details for a computer-backed device")
404
+ .option("--json", "Output as JSON")
405
+ .action((id, opts) => runDeviceAction(async () => {
406
+ const raw = unwrap(await client().apiGet(apiPath(`/devices/${encodeURIComponent(id)}/browser`)));
407
+ if (isJsonMode(opts)) {
408
+ console.log(JSON.stringify(raw, null, 2));
409
+ return;
410
+ }
411
+ printObject(raw);
412
+ }));
413
+ devices
414
+ .command("pause <id>")
415
+ .description("Pause a device session when supported")
416
+ .option("--json", "Output as JSON")
417
+ .action((id, opts) => postDeviceLifecycle(id, "pause", opts));
418
+ devices
419
+ .command("stop <id>")
420
+ .description("Stop a device session when supported")
421
+ .option("--json", "Output as JSON")
422
+ .action((id, opts) => postDeviceLifecycle(id, "stop", opts));
423
+ devices
424
+ .command("resume <id>")
425
+ .description("Resume a device session when supported")
426
+ .option("--json", "Output as JSON")
427
+ .action((id, opts) => postDeviceLifecycle(id, "resume", opts));
428
+ devices
429
+ .command("extend <id>")
430
+ .description("Extend a device timeout when supported")
431
+ .requiredOption("--timeout-sec <seconds>", "New timeout in seconds")
432
+ .option("--json", "Output as JSON")
433
+ .action((id, opts) => runDeviceAction(async () => {
434
+ const raw = unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/extend`), {
435
+ timeout_sec: Number.parseInt(opts.timeoutSec, 10),
436
+ }));
437
+ if (isJsonMode(opts)) {
438
+ console.log(JSON.stringify(raw, null, 2));
439
+ return;
440
+ }
441
+ printObject(raw);
442
+ }));
443
+ devices
444
+ .command("destroy <id>")
445
+ .alias("delete")
446
+ .description("Destroy/delete a device when supported")
447
+ .option("--json", "Output as JSON")
448
+ .action((id, opts) => runDeviceAction(async () => {
449
+ const raw = unwrap(await client().apiDelete(apiPath(`/devices/${encodeURIComponent(id)}`)));
450
+ if (isJsonMode(opts)) {
451
+ console.log(JSON.stringify(raw, null, 2));
452
+ return;
453
+ }
454
+ printObject(raw);
455
+ }));
197
456
  }
198
457
  function normalizeKindFilter(value) {
199
458
  const normalized = value.trim().toLowerCase().replaceAll("-", "_");
@@ -207,6 +466,19 @@ function normalizeKindFilter(value) {
207
466
  return "computer";
208
467
  throw new Error(`Unsupported device type "${value}". Use: all, sandbox_worker, sandbox, computer`);
209
468
  }
469
+ function apiKindFilter(filter) {
470
+ if (filter === "all")
471
+ return undefined;
472
+ if (filter === "sandbox_worker")
473
+ return "sandbox";
474
+ return filter;
475
+ }
476
+ function normalizeDevice(row) {
477
+ const kind = optionalString(row, "kind") ?? optionalString(row, "type") ?? "";
478
+ if (kind === "computer")
479
+ return normalizeComputer(row);
480
+ return normalizeSandbox(row);
481
+ }
210
482
  function normalizeSandbox(row) {
211
483
  return {
212
484
  id: stringField(row, "id"),
@@ -247,14 +519,6 @@ function unwrapList(payload, keys) {
247
519
  }
248
520
  return [];
249
521
  }
250
- function deviceListError(source, err) {
251
- const message = err instanceof Error ? err.message : String(err);
252
- return {
253
- source,
254
- message,
255
- retryable: /fetch failed|ECONNRESET|HTTP 502|other side closed|socket hang up|bad gateway/i.test(message),
256
- };
257
- }
258
522
  function stringField(row, key) {
259
523
  const value = row[key];
260
524
  return typeof value === "string" ? value : String(value ?? "");
@@ -272,6 +536,117 @@ function optionalNumber(row, key) {
272
536
  function isRecord(value) {
273
537
  return value !== null && typeof value === "object" && !Array.isArray(value);
274
538
  }
539
+ function queryString(params) {
540
+ const search = new URLSearchParams();
541
+ for (const [key, value] of Object.entries(params)) {
542
+ if (value !== undefined && value !== "")
543
+ search.set(key, value);
544
+ }
545
+ const encoded = search.toString();
546
+ return encoded ? `?${encoded}` : "";
547
+ }
548
+ function printObject(value) {
549
+ if (!isRecord(value)) {
550
+ console.log(String(value ?? ""));
551
+ return;
552
+ }
553
+ for (const [key, cell] of Object.entries(value)) {
554
+ const printable = cell === null || cell === undefined
555
+ ? "-"
556
+ : typeof cell === "object"
557
+ ? JSON.stringify(cell)
558
+ : String(cell);
559
+ console.log(`${chalk.bold(key.padEnd(18))} ${printable}`);
560
+ }
561
+ }
562
+ function collect(value, previous) {
563
+ previous.push(value);
564
+ return previous;
565
+ }
566
+ function parseEnv(entries) {
567
+ if (entries.length === 0)
568
+ return undefined;
569
+ const out = {};
570
+ for (const entry of entries) {
571
+ const index = entry.indexOf("=");
572
+ if (index <= 0)
573
+ throw new Error(`Invalid --env value "${entry}". Use KEY=VALUE.`);
574
+ out[entry.slice(0, index)] = entry.slice(index + 1);
575
+ }
576
+ return out;
577
+ }
578
+ function parseMcp(entries) {
579
+ return entries.map((entry) => {
580
+ const index = entry.indexOf("=");
581
+ if (index <= 0)
582
+ throw new Error(`Invalid --mcp value "${entry}". Use name=url.`);
583
+ return { name: entry.slice(0, index), url: entry.slice(index + 1) };
584
+ });
585
+ }
586
+ function normalizeRuntime(value) {
587
+ const runtime = value.trim().toLowerCase();
588
+ if (!(runtime in RUNTIME_BINARIES)) {
589
+ throw new Error(`Unsupported runtime "${value}". Use: osa, claude-code, claude, codex, hermes, pi, custom`);
590
+ }
591
+ return runtime;
592
+ }
593
+ function runtimeProbeCommand(runtime) {
594
+ const binaries = RUNTIME_BINARIES[runtime] ?? [];
595
+ if (binaries.length === 0) {
596
+ return "printf 'custom runtime manifest written\\n'";
597
+ }
598
+ const checks = binaries
599
+ .map((binary) => `command -v ${shellWord(binary)} >/dev/null 2>&1`)
600
+ .join(" || ");
601
+ const display = binaries.join(" or ");
602
+ return `${checks} && printf 'runtime available: ${display}\\n' || { printf 'runtime missing: ${display}\\n' >&2; exit 127; }`;
603
+ }
604
+ function shellWord(value) {
605
+ if (/^[A-Za-z0-9_./:-]+$/.test(value))
606
+ return value;
607
+ return `'${value.replaceAll("'", "'\"'\"'")}'`;
608
+ }
609
+ function decodeFileContent(row) {
610
+ const content = optionalString(row, "content") ?? "";
611
+ const encoding = optionalString(row, "encoding") ?? "base64";
612
+ return encoding === "base64"
613
+ ? Buffer.from(content, "base64")
614
+ : Buffer.from(content, "utf8");
615
+ }
616
+ function writeFileBody(opts) {
617
+ const provided = [opts.content, opts.contentBase64, opts.file].filter((value) => value !== undefined);
618
+ if (provided.length !== 1) {
619
+ throw new Error("Use exactly one of --content, --content-base64, or --file");
620
+ }
621
+ return {
622
+ path: opts.path,
623
+ content: opts.content,
624
+ content_base64: opts.contentBase64 ??
625
+ (opts.file ? readFileSync(opts.file).toString("base64") : undefined),
626
+ };
627
+ }
628
+ async function recordCheck(checks, name, fn) {
629
+ try {
630
+ checks.push({ name, ok: true, detail: await fn() });
631
+ }
632
+ catch (err) {
633
+ checks.push({
634
+ name,
635
+ ok: false,
636
+ error: err instanceof Error ? err.message : String(err),
637
+ });
638
+ }
639
+ }
640
+ function postDeviceLifecycle(id, action, opts) {
641
+ return runDeviceAction(async () => {
642
+ const raw = unwrap(await client().apiPost(apiPath(`/devices/${encodeURIComponent(id)}/${action}`), {}));
643
+ if (isJsonMode(opts)) {
644
+ console.log(JSON.stringify(raw, null, 2));
645
+ return;
646
+ }
647
+ printObject(raw);
648
+ });
649
+ }
275
650
  async function runDeviceAction(fn) {
276
651
  try {
277
652
  await fn();
@@ -1 +1 @@
1
- {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/commands/devices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/commands/devices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ export declare function register(program: Command): void;
3
+ //# sourceMappingURL=osa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"osa.d.ts","sourceRoot":"","sources":["../../src/commands/osa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4EzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2iB/C"}