@miosa/cli 1.0.93 → 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 (86) hide show
  1. package/dist/bin/miosa.js +0 -0
  2. package/package.json +2 -2
  3. package/dist/commands/agent-run-groups.d.ts +0 -3
  4. package/dist/commands/agent-run-groups.d.ts.map +0 -1
  5. package/dist/commands/agent-run-groups.js +0 -364
  6. package/dist/commands/agent-run-groups.js.map +0 -1
  7. package/dist/commands/agent-runs.d.ts +0 -3
  8. package/dist/commands/agent-runs.d.ts.map +0 -1
  9. package/dist/commands/agent-runs.js +0 -325
  10. package/dist/commands/agent-runs.js.map +0 -1
  11. package/dist/commands/cloud.d.ts +0 -3
  12. package/dist/commands/cloud.d.ts.map +0 -1
  13. package/dist/commands/cloud.js +0 -257
  14. package/dist/commands/cloud.js.map +0 -1
  15. package/dist/commands/machines.d.ts +0 -3
  16. package/dist/commands/machines.d.ts.map +0 -1
  17. package/dist/commands/machines.js +0 -29
  18. package/dist/commands/machines.js.map +0 -1
  19. package/dist/commands/osa.d.ts +0 -3
  20. package/dist/commands/osa.d.ts.map +0 -1
  21. package/dist/commands/osa.js +0 -663
  22. package/dist/commands/osa.js.map +0 -1
  23. package/dist/osa/build.d.ts +0 -6
  24. package/dist/osa/build.d.ts.map +0 -1
  25. package/dist/osa/build.js +0 -23
  26. package/dist/osa/build.js.map +0 -1
  27. package/dist/osa/builtin-skills.d.ts +0 -7
  28. package/dist/osa/builtin-skills.d.ts.map +0 -1
  29. package/dist/osa/builtin-skills.js +0 -85
  30. package/dist/osa/builtin-skills.js.map +0 -1
  31. package/dist/osa/computer.d.ts +0 -10
  32. package/dist/osa/computer.d.ts.map +0 -1
  33. package/dist/osa/computer.js +0 -37
  34. package/dist/osa/computer.js.map +0 -1
  35. package/dist/osa/deployments.d.ts +0 -44
  36. package/dist/osa/deployments.d.ts.map +0 -1
  37. package/dist/osa/deployments.js +0 -140
  38. package/dist/osa/deployments.js.map +0 -1
  39. package/dist/osa/discovery.d.ts +0 -8
  40. package/dist/osa/discovery.d.ts.map +0 -1
  41. package/dist/osa/discovery.js +0 -668
  42. package/dist/osa/discovery.js.map +0 -1
  43. package/dist/osa/doctor.d.ts +0 -9
  44. package/dist/osa/doctor.d.ts.map +0 -1
  45. package/dist/osa/doctor.js +0 -41
  46. package/dist/osa/doctor.js.map +0 -1
  47. package/dist/osa/eval.d.ts +0 -7
  48. package/dist/osa/eval.d.ts.map +0 -1
  49. package/dist/osa/eval.js +0 -108
  50. package/dist/osa/eval.js.map +0 -1
  51. package/dist/osa/integrations.d.ts +0 -28
  52. package/dist/osa/integrations.d.ts.map +0 -1
  53. package/dist/osa/integrations.js +0 -65
  54. package/dist/osa/integrations.js.map +0 -1
  55. package/dist/osa/paths.d.ts +0 -8
  56. package/dist/osa/paths.d.ts.map +0 -1
  57. package/dist/osa/paths.js +0 -31
  58. package/dist/osa/paths.js.map +0 -1
  59. package/dist/osa/plans.d.ts +0 -9
  60. package/dist/osa/plans.d.ts.map +0 -1
  61. package/dist/osa/plans.js +0 -55
  62. package/dist/osa/plans.js.map +0 -1
  63. package/dist/osa/projects.d.ts +0 -45
  64. package/dist/osa/projects.d.ts.map +0 -1
  65. package/dist/osa/projects.js +0 -92
  66. package/dist/osa/projects.js.map +0 -1
  67. package/dist/osa/runtime.d.ts +0 -19
  68. package/dist/osa/runtime.d.ts.map +0 -1
  69. package/dist/osa/runtime.js +0 -92
  70. package/dist/osa/runtime.js.map +0 -1
  71. package/dist/osa/scaffold.d.ts +0 -11
  72. package/dist/osa/scaffold.d.ts.map +0 -1
  73. package/dist/osa/scaffold.js +0 -245
  74. package/dist/osa/scaffold.js.map +0 -1
  75. package/dist/osa/skills.d.ts +0 -19
  76. package/dist/osa/skills.d.ts.map +0 -1
  77. package/dist/osa/skills.js +0 -55
  78. package/dist/osa/skills.js.map +0 -1
  79. package/dist/osa/types.d.ts +0 -157
  80. package/dist/osa/types.d.ts.map +0 -1
  81. package/dist/osa/types.js +0 -2
  82. package/dist/osa/types.js.map +0 -1
  83. package/dist/osa/yaml.d.ts +0 -7
  84. package/dist/osa/yaml.d.ts.map +0 -1
  85. package/dist/osa/yaml.js +0 -59
  86. package/dist/osa/yaml.js.map +0 -1
@@ -1,325 +0,0 @@
1
- import fs from "node:fs";
2
- import chalk from "chalk";
3
- import { apiPath, client, enc, runAction, unwrap, } from "./enterprise-util.js";
4
- import { parseSse } from "../client.js";
5
- import { isJsonMode } from "../cli-env.js";
6
- import { renderTable } from "../ui/table.js";
7
- function rows(raw) {
8
- if (Array.isArray(raw))
9
- return raw;
10
- if (raw && typeof raw === "object") {
11
- const value = raw;
12
- for (const key of ["data", "runs", "items"]) {
13
- if (Array.isArray(value[key]))
14
- return value[key];
15
- }
16
- }
17
- return [];
18
- }
19
- function eventRows(raw) {
20
- if (Array.isArray(raw))
21
- return raw;
22
- if (raw && typeof raw === "object") {
23
- const value = raw;
24
- for (const key of ["data", "events", "items"]) {
25
- if (Array.isArray(value[key]))
26
- return value[key];
27
- }
28
- }
29
- return [];
30
- }
31
- function artifactRows(raw) {
32
- if (Array.isArray(raw))
33
- return raw;
34
- if (raw && typeof raw === "object") {
35
- const value = raw;
36
- for (const key of ["data", "artifacts", "items"]) {
37
- if (Array.isArray(value[key]))
38
- return value[key];
39
- }
40
- }
41
- return [];
42
- }
43
- function colorStatus(status) {
44
- switch ((status ?? "").toLowerCase()) {
45
- case "running":
46
- return chalk.green(status);
47
- case "succeeded":
48
- return chalk.dim(status);
49
- case "failed":
50
- case "canceled":
51
- case "cancelled":
52
- return chalk.red(status);
53
- default:
54
- return chalk.dim(status ?? "-");
55
- }
56
- }
57
- function str(value) {
58
- if (typeof value === "string")
59
- return value;
60
- if (value == null)
61
- return "";
62
- return String(value);
63
- }
64
- function agentEventData(event) {
65
- if (!event || typeof event !== "object")
66
- return {};
67
- const value = event;
68
- if (value["type"] === "unknown" && typeof value["raw"] === "string") {
69
- try {
70
- return JSON.parse(value["raw"]);
71
- }
72
- catch {
73
- return { type: "unknown", message: value["raw"] };
74
- }
75
- }
76
- if (value["data"] && typeof value["data"] === "object") {
77
- return value["data"];
78
- }
79
- return value;
80
- }
81
- function isTerminalStatus(status) {
82
- return (typeof status === "string" &&
83
- ["succeeded", "failed", "canceled", "cancelled"].includes(status.toLowerCase()));
84
- }
85
- function sleep(ms) {
86
- if (ms <= 0)
87
- return Promise.resolve();
88
- return new Promise((resolve) => setTimeout(resolve, ms));
89
- }
90
- async function waitForRun(id, timeoutSec) {
91
- const deadline = Date.now() + timeoutSec * 1000;
92
- while (true) {
93
- const data = unwrap(await client().apiGet(`/api/v1/agent-runs/${enc(id)}`));
94
- if (isTerminalStatus(data.status))
95
- return data;
96
- if (Date.now() >= deadline) {
97
- throw new Error(`Timed out waiting for agent run ${id}`);
98
- }
99
- await sleep(Math.min(2000, Math.max(0, deadline - Date.now())));
100
- }
101
- }
102
- export function register(program) {
103
- const command = program
104
- .command("agent-runs")
105
- .description("List, inspect, and cancel Agent Runs");
106
- command
107
- .command("list")
108
- .description("List Agent Runs")
109
- .option("--sandbox <id>", "Filter by sandbox ID")
110
- .option("--computer <id>", "Filter by computer ID")
111
- .option("--workspace <id>", "Filter by workspace ID")
112
- .option("--project <id>", "Filter by project ID")
113
- .option("--external-workspace <id>", "Filter by white-label workspace/customer ID")
114
- .option("--external-user <id>", "Filter by white-label user ID")
115
- .option("--external-project <id>", "Filter by white-label project ID")
116
- .option("--target-kind <kind>", "Filter by target kind")
117
- .option("--target-id <id>", "Filter by target ID")
118
- .option("--status <status>", "Filter by run status")
119
- .option("--limit <n>", "Maximum runs to return")
120
- .option("--json", "Output as JSON")
121
- .action((opts) => runAction(async () => {
122
- if ((opts.sandbox || opts.computer) && (opts.targetKind || opts.targetId)) {
123
- throw new Error("Use either --sandbox/--computer or --target-kind/--target-id, not both.");
124
- }
125
- if (opts.sandbox && opts.computer) {
126
- throw new Error("Use only one of --sandbox or --computer.");
127
- }
128
- const query = new URLSearchParams();
129
- if (opts.workspace)
130
- query.set("workspace_id", opts.workspace);
131
- if (opts.project)
132
- query.set("project_id", opts.project);
133
- if (opts.externalWorkspace)
134
- query.set("external_workspace_id", opts.externalWorkspace);
135
- if (opts.externalUser)
136
- query.set("external_user_id", opts.externalUser);
137
- if (opts.externalProject)
138
- query.set("external_project_id", opts.externalProject);
139
- if (opts.sandbox) {
140
- query.set("target_kind", "sandbox");
141
- query.set("target_id", opts.sandbox);
142
- }
143
- if (opts.computer) {
144
- query.set("target_kind", "computer");
145
- query.set("target_id", opts.computer);
146
- }
147
- if (opts.targetKind)
148
- query.set("target_kind", opts.targetKind);
149
- if (opts.targetId)
150
- query.set("target_id", opts.targetId);
151
- if (opts.status)
152
- query.set("status", opts.status);
153
- if (opts.limit)
154
- query.set("limit", opts.limit);
155
- const suffix = query.toString() ? `?${query.toString()}` : "";
156
- const data = rows(unwrap(await client().apiGet(`/api/v1/agent-runs${suffix}`)));
157
- if (isJsonMode(opts)) {
158
- console.log(JSON.stringify(data, null, 2));
159
- return;
160
- }
161
- if (data.length === 0) {
162
- console.log(chalk.dim("No agent runs found."));
163
- return;
164
- }
165
- renderTable(data, [
166
- { header: "ID", key: "id", width: 18 },
167
- { header: "TARGET", key: (row) => `${str(row.target_kind)} ${str(row.target_id)}`, width: 28 },
168
- {
169
- header: "EXTERNAL",
170
- key: (row) => [
171
- str(row.external_workspace_id),
172
- str(row.external_user_id),
173
- str(row.external_project_id),
174
- ]
175
- .filter(Boolean)
176
- .join(" / "),
177
- width: 30,
178
- },
179
- { header: "PROVIDER", key: "provider", width: 12 },
180
- { header: "STATUS", key: (row) => colorStatus(row.status), width: 12 },
181
- { header: "PROMPT", key: (row) => str(row.prompt), width: 44 },
182
- ]);
183
- }));
184
- command
185
- .command("show <id>")
186
- .description("Show one Agent Run")
187
- .option("--json", "Output as JSON")
188
- .action((id, opts) => runAction(async () => {
189
- const data = unwrap(await client().apiGet(`/api/v1/agent-runs/${enc(id)}`));
190
- console.log(JSON.stringify(data, null, 2));
191
- }));
192
- command
193
- .command("artifacts <id>")
194
- .description("List artifacts declared by an Agent Run")
195
- .option("--json", "Output as JSON")
196
- .action((id, opts) => runAction(async () => {
197
- const data = artifactRows(unwrap(await client().apiGet(`/api/v1/agent-runs/${enc(id)}/artifacts`)));
198
- if (isJsonMode(opts)) {
199
- console.log(JSON.stringify(data, null, 2));
200
- return;
201
- }
202
- if (data.length === 0) {
203
- console.log(chalk.dim("No artifacts found."));
204
- return;
205
- }
206
- renderTable(data, [
207
- { header: "ID", key: "id", width: 18 },
208
- { header: "KIND", key: "kind", width: 10 },
209
- { header: "MIME", key: "mime_type", width: 24 },
210
- { header: "SIZE", key: (row) => str(row.size_bytes ?? "-"), width: 10 },
211
- { header: "PATH", key: (row) => str(row.path), width: 56 },
212
- ]);
213
- }));
214
- command
215
- .command("events <id>")
216
- .description("Show or stream Agent Run events")
217
- .option("--stream", "Keep the connection open and stream new events")
218
- .option("--limit <n>", "Stop after N streamed events")
219
- .option("--json", "Output as JSON")
220
- .action((id, opts) => runAction(async () => {
221
- const path = `/api/v1/agent-runs/${enc(id)}/events`;
222
- if (opts.stream) {
223
- const limit = opts.limit ? Number(opts.limit) : undefined;
224
- let seen = 0;
225
- const res = await client().apiStream(path);
226
- for await (const event of parseSse(res.body)) {
227
- seen += 1;
228
- const data = agentEventData(event);
229
- if (isJsonMode(opts)) {
230
- console.log(JSON.stringify(data, null, 2));
231
- }
232
- else {
233
- console.log([
234
- chalk.dim(str(data.sequence ?? seen)),
235
- colorStatus(data.type),
236
- str(data.agent_run_id ?? id),
237
- str(data.message),
238
- ]
239
- .filter(Boolean)
240
- .join(" "));
241
- }
242
- if (limit && seen >= limit)
243
- break;
244
- }
245
- return;
246
- }
247
- const data = eventRows(unwrap(await client().apiGet(path)));
248
- if (isJsonMode(opts)) {
249
- console.log(JSON.stringify(data, null, 2));
250
- return;
251
- }
252
- if (data.length === 0) {
253
- console.log(chalk.dim("No agent run events found."));
254
- return;
255
- }
256
- renderTable(data, [
257
- { header: "SEQ", key: (row) => str(row.sequence ?? "-"), width: 8 },
258
- { header: "TYPE", key: (row) => colorStatus(row.type), width: 18 },
259
- { header: "MESSAGE", key: (row) => str(row.message ?? ""), width: 56 },
260
- ]);
261
- }));
262
- command
263
- .command("wait <id>")
264
- .description("Wait for an Agent Run to reach a terminal state")
265
- .option("--timeout <seconds>", "Maximum seconds to wait", "900")
266
- .option("--json", "Output as JSON")
267
- .action((id, opts) => runAction(async () => {
268
- const data = await waitForRun(id, Number(opts.timeout ?? 900));
269
- if (isJsonMode(opts)) {
270
- console.log(JSON.stringify(data, null, 2));
271
- return;
272
- }
273
- console.log(`${chalk.green("Agent run finished")} ${id} ${colorStatus(data.status)}`);
274
- }));
275
- command
276
- .command("download <id> <artifact-id>")
277
- .description("Download an Agent Run artifact to a local file or stdout")
278
- .option("--output <file>", "Write to this local file instead of stdout")
279
- .option("--inline", "Ask the API for inline disposition metadata")
280
- .option("--json", "Output as JSON metadata")
281
- .action((id, artifactId, opts) => runAction(async () => {
282
- const query = new URLSearchParams();
283
- if (opts.inline)
284
- query.set("disposition", "inline");
285
- const suffix = query.toString() ? `?${query.toString()}` : "";
286
- const bytes = await client().apiGetBinary(apiPath(`/agent-runs/${enc(id)}/artifacts/${enc(artifactId)}/download${suffix}`));
287
- if (opts.output) {
288
- fs.writeFileSync(opts.output, bytes);
289
- if (isJsonMode(opts)) {
290
- console.log(JSON.stringify({
291
- agent_run_id: id,
292
- artifact_id: artifactId,
293
- output: opts.output,
294
- bytes: bytes.length,
295
- }, null, 2));
296
- return;
297
- }
298
- console.log(chalk.green(`Downloaded artifact ${artifactId} → ${opts.output}`));
299
- return;
300
- }
301
- if (isJsonMode(opts)) {
302
- console.log(JSON.stringify({
303
- agent_run_id: id,
304
- artifact_id: artifactId,
305
- bytes: bytes.length,
306
- content_base64: bytes.toString("base64"),
307
- }, null, 2));
308
- return;
309
- }
310
- process.stdout.write(bytes);
311
- }));
312
- command
313
- .command("cancel <id>")
314
- .description("Cancel an Agent Run")
315
- .option("--json", "Output as JSON")
316
- .action((id, opts) => runAction(async () => {
317
- const data = unwrap(await client().apiPost(`/api/v1/agent-runs/${enc(id)}/cancel`, {}));
318
- if (isJsonMode(opts)) {
319
- console.log(JSON.stringify(data, null, 2));
320
- return;
321
- }
322
- console.log(chalk.green(`Canceled agent run ${id}`));
323
- }));
324
- }
325
- //# sourceMappingURL=agent-runs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-runs.js","sourceRoot":"","sources":["../../src/commands/agent-runs.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function register(program: Command): void;
3
- //# sourceMappingURL=cloud.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud.d.ts","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2EzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyQ/C"}
@@ -1,257 +0,0 @@
1
- import chalk from "chalk";
2
- import { apiPath, client, enc, printValue, runAction, } from "./enterprise-util.js";
3
- export function register(program) {
4
- const cloud = program
5
- .command("cloud")
6
- .description("Manage MIOSA cloud accounts, BYOC regions, pools, and preflights");
7
- const accounts = cloud
8
- .command("accounts")
9
- .alias("account")
10
- .description("Manage connected cloud accounts");
11
- accounts
12
- .command("list")
13
- .description("List cloud accounts")
14
- .option("--json", "Output as JSON")
15
- .action((opts) => runAction(async () => {
16
- const raw = await client().apiGet(apiPath("/cloud/accounts"));
17
- printValue(unwrap(raw), opts);
18
- }));
19
- accounts
20
- .command("create")
21
- .description("Create a MIOSA-managed or customer BYOC cloud account")
22
- .requiredOption("--provider <provider>", "Cloud provider: aws or gcp")
23
- .requiredOption("--mode <mode>", "Account mode: miosa_managed or customer_byoc")
24
- .option("--display-name <name>", "Human-readable account name")
25
- .option("--external-account-id <id>", "AWS account ID or GCP project ID")
26
- .option("--credential-type <type>", "Credential type, e.g. assume_role")
27
- .option("--default-region <region>", "Default provider region")
28
- .option("--json", "Output as JSON")
29
- .action((opts) => runAction(async () => {
30
- const raw = await client().apiPost(apiPath("/cloud/accounts"), compact({
31
- provider: opts.provider,
32
- mode: opts.mode,
33
- display_name: opts.displayName,
34
- external_account_id: opts.externalAccountId,
35
- credential_type: opts.credentialType,
36
- default_region: opts.defaultRegion,
37
- }));
38
- printValue(unwrap(raw), opts);
39
- }));
40
- accounts
41
- .command("attach-aws-role <account-id>")
42
- .description("Attach a customer AWS assume-role ARN to a BYOC account")
43
- .requiredOption("--role-arn <arn>", "AWS IAM role ARN")
44
- .option("--default-region <region>", "Default AWS region")
45
- .option("--json", "Output as JSON")
46
- .action((accountId, opts) => runAction(async () => {
47
- const raw = await client().apiPost(apiPath(`/cloud/accounts/${enc(accountId)}/aws/role`), compact({
48
- role_arn: opts.roleArn,
49
- default_region: opts.defaultRegion,
50
- }));
51
- printValue(unwrap(raw), opts);
52
- }));
53
- const regions = cloud
54
- .command("regions")
55
- .alias("region")
56
- .description("Manage cloud provider regions");
57
- regions
58
- .command("list")
59
- .description("List cloud regions")
60
- .option("--cloud-account-id <id>", "Filter by cloud account")
61
- .option("--json", "Output as JSON")
62
- .action((opts) => runAction(async () => {
63
- const raw = await client().apiGet(apiPath(`/cloud/regions${query({ cloud_account_id: opts.cloudAccountId })}`));
64
- printValue(unwrap(raw), opts);
65
- }));
66
- regions
67
- .command("create")
68
- .description("Create a cloud region record")
69
- .requiredOption("--cloud-account-id <id>", "Cloud account ID")
70
- .requiredOption("--provider-region <region>", "Provider region, e.g. us-east-1")
71
- .option("--provider-zone <zone>", "Provider availability zone")
72
- .option("--display-name <name>", "Human-readable region name")
73
- .option("--guest-supernet <cidr>", "Guest IP supernet CIDR")
74
- .option("--artifact-manifest-uri <uri>", "Artifact manifest URI")
75
- .option("--network-ref <ref>", "Provider VPC/network reference")
76
- .option("--subnet-ref <ref>", "Provider subnet reference")
77
- .option("--security-group-refs <refs>", "Comma-separated security group refs")
78
- .option("--instance-profile-ref <ref>", "Instance profile reference")
79
- .option("--json", "Output as JSON")
80
- .action((opts) => runAction(async () => {
81
- const raw = await client().apiPost(apiPath("/cloud/regions"), compact({
82
- cloud_account_id: opts.cloudAccountId,
83
- provider_region: opts.providerRegion,
84
- provider_zone: opts.providerZone,
85
- display_name: opts.displayName,
86
- guest_supernet: opts.guestSupernet,
87
- artifact_manifest_uri: opts.artifactManifestUri,
88
- network_ref: opts.networkRef,
89
- subnet_ref: opts.subnetRef,
90
- security_group_refs: csv(opts.securityGroupRefs),
91
- instance_profile_ref: opts.instanceProfileRef,
92
- }));
93
- printValue(unwrap(raw), opts);
94
- }));
95
- const pools = cloud
96
- .command("pools")
97
- .alias("pool")
98
- .description("Manage cloud worker pools");
99
- pools
100
- .command("list")
101
- .description("List cloud worker pools")
102
- .option("--cloud-region-id <id>", "Filter by cloud region")
103
- .option("--json", "Output as JSON")
104
- .action((opts) => runAction(async () => {
105
- const raw = await client().apiGet(apiPath(`/cloud/pools${query({ cloud_region_id: opts.cloudRegionId })}`));
106
- printValue(unwrap(raw), opts);
107
- }));
108
- pools
109
- .command("create")
110
- .description("Create a cloud worker pool")
111
- .requiredOption("--cloud-region-id <id>", "Cloud region ID")
112
- .requiredOption("--instance-type <type>", "Provider instance type")
113
- .option("--pool-kind <kind>", "Pool kind", "cloudburst")
114
- .option("--node-type <type>", "Fleet node type", "cloud_burst")
115
- .option("--target-nodes <n>", "Desired node count")
116
- .option("--max-nodes <n>", "Maximum node count")
117
- .option("--ttl-seconds <seconds>", "Pool TTL")
118
- .option("--max-hourly-cents <cents>", "Hourly cost cap")
119
- .option("--placement-scope <scope>", "sandbox, computer, deployment, or mixed")
120
- .option("--json", "Output as JSON")
121
- .action((opts) => runAction(async () => {
122
- const raw = await client().apiPost(apiPath("/cloud/pools"), compact({
123
- cloud_region_id: opts.cloudRegionId,
124
- pool_kind: opts.poolKind,
125
- node_type: opts.nodeType,
126
- instance_type: opts.instanceType,
127
- target_nodes: intOpt(opts.targetNodes),
128
- max_nodes: intOpt(opts.maxNodes),
129
- ttl_seconds: intOpt(opts.ttlSeconds),
130
- max_hourly_cents: intOpt(opts.maxHourlyCents),
131
- placement_scope: opts.placementScope,
132
- }));
133
- printValue(unwrap(raw), opts);
134
- }));
135
- const preflights = cloud
136
- .command("preflights")
137
- .alias("preflight")
138
- .description("Manage cloud credential and region preflight results");
139
- preflights
140
- .command("list")
141
- .description("List cloud preflight runs")
142
- .option("--cloud-account-id <id>", "Filter by cloud account")
143
- .option("--cloud-region-id <id>", "Filter by cloud region")
144
- .option("--limit <n>", "Maximum runs")
145
- .option("--json", "Output as JSON")
146
- .action((opts) => runAction(async () => {
147
- const raw = await client().apiGet(apiPath(`/cloud/preflights${query({
148
- cloud_account_id: opts.cloudAccountId,
149
- cloud_region_id: opts.cloudRegionId,
150
- limit: opts.limit,
151
- })}`));
152
- printValue(unwrap(raw), opts);
153
- }));
154
- preflights
155
- .command("record")
156
- .description("Record a cloud preflight result")
157
- .option("--cloud-account-id <id>", "Cloud account ID")
158
- .option("--cloud-region-id <id>", "Cloud region ID")
159
- .requiredOption("--provider <provider>", "Cloud provider")
160
- .requiredOption("--status <status>", "pass, warn, or fail")
161
- .option("--checks <json>", "Checks JSON object")
162
- .option("--raw-report <json>", "Raw report JSON object")
163
- .option("--json", "Output as JSON")
164
- .action((opts) => runAction(async () => {
165
- const raw = await client().apiPost(apiPath("/cloud/preflights"), compact({
166
- cloud_account_id: opts.cloudAccountId,
167
- cloud_region_id: opts.cloudRegionId,
168
- provider: opts.provider,
169
- status: opts.status,
170
- checks: jsonObjectOpt(opts.checks, "--checks"),
171
- raw_report: jsonObjectOpt(opts.rawReport, "--raw-report"),
172
- }));
173
- printValue(unwrap(raw), opts);
174
- }));
175
- cloud
176
- .command("plan")
177
- .description("Print the safe AWS/GCP BYOC test sequence")
178
- .option("--json", "Output as JSON")
179
- .action((opts) => runAction(async () => {
180
- const value = {
181
- next_step: "aws_preflight",
182
- launches_resources: false,
183
- command: "AWS_REGION=us-east-1 go run ./cmd/aws-preflight --region us-east-1 --instance-type c6i.metal",
184
- sequence: [
185
- "merge/deploy HostAcceptanceRun API",
186
- "merge/deploy cloud account API",
187
- "publish artifact manifest",
188
- "run AWS read-only preflight",
189
- "launch one fenced .metal worker",
190
- "bootstrap and run HostAcceptanceRun",
191
- "boot one pinned sandbox",
192
- "drain, terminate, and leak-audit",
193
- ],
194
- };
195
- if (opts.json) {
196
- printValue(value, opts);
197
- return;
198
- }
199
- console.log(chalk.bold("Next safe step"));
200
- console.log(` ${value.next_step}`);
201
- console.log();
202
- console.log(chalk.bold("Command"));
203
- console.log(` ${value.command}`);
204
- console.log();
205
- console.log(chalk.bold("Sequence"));
206
- for (const [i, item] of value.sequence.entries()) {
207
- console.log(` ${i + 1}. ${item}`);
208
- }
209
- }));
210
- }
211
- function unwrap(payload) {
212
- if (payload !== null &&
213
- typeof payload === "object" &&
214
- "data" in payload) {
215
- return payload["data"];
216
- }
217
- return payload;
218
- }
219
- function compact(input) {
220
- return Object.fromEntries(Object.entries(input).filter(([, value]) => value !== undefined));
221
- }
222
- function query(input) {
223
- const params = new URLSearchParams();
224
- for (const [key, value] of Object.entries(input)) {
225
- if (value !== undefined && value !== "")
226
- params.set(key, value);
227
- }
228
- const encoded = params.toString();
229
- return encoded ? `?${encoded}` : "";
230
- }
231
- function csv(value) {
232
- if (!value)
233
- return undefined;
234
- const values = value
235
- .split(",")
236
- .map((item) => item.trim())
237
- .filter(Boolean);
238
- return values.length > 0 ? values : undefined;
239
- }
240
- function intOpt(value) {
241
- if (value === undefined || value === "")
242
- return undefined;
243
- const parsed = Number.parseInt(value, 10);
244
- if (!Number.isFinite(parsed))
245
- throw new Error(`Invalid integer: ${value}`);
246
- return parsed;
247
- }
248
- function jsonObjectOpt(value, flag) {
249
- if (!value)
250
- return undefined;
251
- const parsed = JSON.parse(value);
252
- if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
253
- throw new Error(`${flag} must be a JSON object`);
254
- }
255
- return parsed;
256
- }
257
- //# sourceMappingURL=cloud.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/commands/cloud.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function register(program: Command): void;
3
- //# sourceMappingURL=machines.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/commands/machines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsC/C"}