@ornncompute/cli 1.0.140 → 1.0.141

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.
@@ -337,7 +337,7 @@ function defineCapability(spec) {
337
337
  command: cli.command ?? names.cli
338
338
  }
339
339
  } : {},
340
- ...mcp === false ? {} : { mcp: { name: mcp?.name ?? names.mcp } },
340
+ ...mcp === false ? {} : { mcp: { ...mcp, name: mcp?.name ?? names.mcp } },
341
341
  ...slack === false ? {} : {
342
342
  slack: {
343
343
  name: slack?.name ?? names.slack,
@@ -363,7 +363,7 @@ function forRole(catalog2, role, client) {
363
363
  return catalog2.filter((capability) => visibleToClient(capability, client, role));
364
364
  }
365
365
  function byMcpName(catalog2, name) {
366
- return catalog2.find((capability) => capability.mcp?.name === name);
366
+ return catalog2.find((capability) => capability.mcp?.name === name || capability.mcp?.aliases?.includes(name));
367
367
  }
368
368
  function byCliCommand(catalog2, command) {
369
369
  return catalog2.find((capability) => capability.cli != null && capability.cli.command.length === command.length && capability.cli.command.every((part, index) => part === command[index]));
@@ -3379,83 +3379,141 @@ function getCliStatus(request) {
3379
3379
  }
3380
3380
 
3381
3381
  // ../../packages/capabilities/dist/capabilities/compute.js
3382
+ import { z as z18 } from "zod";
3383
+
3384
+ // ../../packages/capabilities/dist/capabilities/ssh-keys.js
3382
3385
  import { z as z17 } from "zod";
3383
- var positionals2 = z17.array(z17.string()).default([]);
3384
- var launchInput = z17.object({
3386
+ async function activeReservationNodes(context, reservationId) {
3387
+ const { nodes: nodes2 } = await listNodes(context.fetch, { reservation_id: reservationId });
3388
+ return nodes2.filter((node) => node.status !== "terminated");
3389
+ }
3390
+ async function reservationKeyStatus(context, reservationId) {
3391
+ const [{ ssh_keys }, nodes2] = await Promise.all([
3392
+ listReservationSshKeys(context.fetch, reservationId),
3393
+ activeReservationNodes(context, reservationId)
3394
+ ]);
3395
+ return {
3396
+ keys: ssh_keys.filter((key) => key.status === "active" && !key.revoked_at),
3397
+ nodes: nodes2
3398
+ };
3399
+ }
3400
+ function sshKeyDeliveryStatus(key, node) {
3401
+ const metadata = node.authorized_key_metadata?.find((item) => item.fingerprint === key.fingerprint);
3402
+ const installed = !metadata && node.authorized_key_fingerprints.includes(key.fingerprint) && node.keys_pushed_at;
3403
+ return {
3404
+ status: metadata?.status ?? (installed ? "installed" : "associated"),
3405
+ linux_username: metadata?.linux_username ?? null,
3406
+ pushed_at: metadata?.pushed_at ?? (installed ? node.keys_pushed_at : null),
3407
+ failed_at: metadata?.failed_at ?? null,
3408
+ failure_reason: metadata?.failure_reason ?? null,
3409
+ request_id: metadata?.request_id ?? null
3410
+ };
3411
+ }
3412
+ var reservationKeysPushCapability = defineCapability({
3413
+ id: "access.push_keys",
3414
+ domain: "access",
3415
+ roles: ["user"],
3416
+ description: "Push SSH key(s) onto all active machines for a reservation.",
3417
+ mutation: "immediate",
3418
+ input: z17.object({
3419
+ reservationId: z17.string(),
3420
+ sshKeyIds: z17.array(z17.string()).min(1),
3421
+ requestId: z17.string().optional()
3422
+ }),
3423
+ mcp: { aliases: ["access_keys_push"] },
3424
+ slack: false,
3425
+ execute: async (context, input) => {
3426
+ const nodes2 = await activeReservationNodes(context, input.reservationId);
3427
+ if (!nodes2.length)
3428
+ throw new Error("No active bare-metal machines were found for this reservation.");
3429
+ const pushed = [];
3430
+ for (const node of nodes2) {
3431
+ pushed.push(await pushNodeKeys(context.fetch, node.node_id, {
3432
+ request_id: input.requestId || `mcp-push-keys:${node.node_id}:${Date.now()}`,
3433
+ ssh_key_ids: input.sshKeyIds
3434
+ }));
3435
+ }
3436
+ return pushed;
3437
+ }
3438
+ });
3439
+
3440
+ // ../../packages/capabilities/dist/capabilities/compute.js
3441
+ var positionals2 = z18.array(z18.string()).default([]);
3442
+ var launchInput = z18.object({
3385
3443
  $positionals: positionals2,
3386
- guided: z17.boolean().optional(),
3387
- idempotencyKey: z17.string().optional(),
3388
- key: z17.string().optional(),
3389
- keyId: z17.string().optional(),
3390
- label: z17.string().optional(),
3391
- machine: z17.string().optional(),
3392
- machines: z17.string().optional(),
3393
- mode: z17.string().optional(),
3394
- mountAccess: z17.string().optional(),
3395
- network: z17.string().optional(),
3396
- noWait: z17.boolean().optional(),
3397
- nodes: z17.union([z17.string(), z17.number()]).optional(),
3398
- publicKey: z17.string().optional(),
3399
- publicKeyFile: z17.string().optional(),
3400
- reservation: z17.string().optional(),
3401
- resume: z17.union([z17.string().min(1), z17.literal(true)]).optional(),
3402
- timeout: z17.string().optional(),
3403
- username: z17.string().optional(),
3404
- vms: z17.string().optional(),
3405
- wait: z17.boolean().optional(),
3406
- yes: z17.boolean().optional(),
3407
- volume: z17.string().optional()
3444
+ guided: z18.boolean().optional(),
3445
+ idempotencyKey: z18.string().optional(),
3446
+ key: z18.string().optional(),
3447
+ keyId: z18.string().optional(),
3448
+ label: z18.string().optional(),
3449
+ machine: z18.string().optional(),
3450
+ machines: z18.string().optional(),
3451
+ mode: z18.string().optional(),
3452
+ mountAccess: z18.string().optional(),
3453
+ network: z18.string().optional(),
3454
+ noWait: z18.boolean().optional(),
3455
+ nodes: z18.union([z18.string(), z18.number()]).optional(),
3456
+ publicKey: z18.string().optional(),
3457
+ publicKeyFile: z18.string().optional(),
3458
+ reservation: z18.string().optional(),
3459
+ resume: z18.union([z18.string().min(1), z18.literal(true)]).optional(),
3460
+ timeout: z18.string().optional(),
3461
+ username: z18.string().optional(),
3462
+ vms: z18.string().optional(),
3463
+ wait: z18.boolean().optional(),
3464
+ yes: z18.boolean().optional(),
3465
+ volume: z18.string().optional()
3408
3466
  }).strict();
3409
- var keyListInput = z17.object({
3467
+ var keyListInput = z18.object({
3410
3468
  $positionals: positionals2,
3411
- cursor: z17.string().optional(),
3412
- limit: z17.coerce.number().int().min(1).max(500).optional()
3469
+ cursor: z18.string().optional(),
3470
+ limit: z18.coerce.number().int().min(1).max(500).optional()
3413
3471
  }).strict();
3414
- var keyMutationInput = z17.object({
3472
+ var keyMutationInput = z18.object({
3415
3473
  $positionals: positionals2,
3416
- idempotencyKey: z17.string().optional(),
3417
- key: z17.string().optional(),
3418
- keyId: z17.string().optional(),
3419
- label: z17.string().optional(),
3420
- publicKey: z17.string().optional(),
3421
- publicKeyFile: z17.string().optional(),
3422
- yes: z17.boolean().optional()
3474
+ idempotencyKey: z18.string().optional(),
3475
+ key: z18.string().optional(),
3476
+ keyId: z18.string().optional(),
3477
+ label: z18.string().optional(),
3478
+ publicKey: z18.string().optional(),
3479
+ publicKeyFile: z18.string().optional(),
3480
+ yes: z18.boolean().optional()
3423
3481
  }).strict();
3424
- var machineListInput = z17.object({
3482
+ var machineListInput = z18.object({
3425
3483
  $positionals: positionals2,
3426
- cursor: z17.string().optional(),
3427
- limit: z17.coerce.number().int().min(1).max(500).optional()
3484
+ cursor: z18.string().optional(),
3485
+ limit: z18.coerce.number().int().min(1).max(500).optional()
3428
3486
  }).strict();
3429
- var machineShowInput = z17.object({
3487
+ var machineShowInput = z18.object({
3430
3488
  $positionals: positionals2,
3431
- guided: z17.boolean().optional()
3489
+ guided: z18.boolean().optional()
3432
3490
  }).strict();
3433
- var machineWaitInput = z17.object({
3491
+ var machineWaitInput = z18.object({
3434
3492
  $positionals: positionals2,
3435
- guided: z17.boolean().optional(),
3436
- timeout: z17.string().optional()
3493
+ guided: z18.boolean().optional(),
3494
+ timeout: z18.string().optional()
3437
3495
  }).strict();
3438
- var machineSwitchInput = z17.object({
3496
+ var machineSwitchInput = z18.object({
3439
3497
  $positionals: positionals2,
3440
- guided: z17.boolean().optional(),
3441
- eraseLocalData: z17.boolean().optional(),
3442
- idempotencyKey: z17.string().optional(),
3443
- mode: z17.string().optional(),
3444
- network: z17.string().optional(),
3445
- noWait: z17.boolean().optional(),
3446
- timeout: z17.string().optional(),
3447
- wait: z17.boolean().optional(),
3448
- yes: z17.boolean().optional()
3498
+ guided: z18.boolean().optional(),
3499
+ eraseLocalData: z18.boolean().optional(),
3500
+ idempotencyKey: z18.string().optional(),
3501
+ mode: z18.string().optional(),
3502
+ network: z18.string().optional(),
3503
+ noWait: z18.boolean().optional(),
3504
+ timeout: z18.string().optional(),
3505
+ wait: z18.boolean().optional(),
3506
+ yes: z18.boolean().optional()
3449
3507
  }).strict();
3450
- var machineMaintenanceInput = z17.object({
3508
+ var machineMaintenanceInput = z18.object({
3451
3509
  $positionals: positionals2,
3452
- eraseLocalData: z17.boolean().optional(),
3453
- guided: z17.boolean().optional(),
3454
- idempotencyKey: z17.string().optional(),
3455
- noWait: z17.boolean().optional(),
3456
- timeout: z17.string().optional(),
3457
- wait: z17.boolean().optional(),
3458
- yes: z17.boolean().optional()
3510
+ eraseLocalData: z18.boolean().optional(),
3511
+ guided: z18.boolean().optional(),
3512
+ idempotencyKey: z18.string().optional(),
3513
+ noWait: z18.boolean().optional(),
3514
+ timeout: z18.string().optional(),
3515
+ wait: z18.boolean().optional(),
3516
+ yes: z18.boolean().optional()
3459
3517
  }).strict();
3460
3518
  function runtime(context) {
3461
3519
  const interaction = context.cli?.interaction;
@@ -3844,15 +3902,19 @@ var sshKeyAssignmentSyncCapability = cliOnly({
3844
3902
  },
3845
3903
  execute: executeSshKeys("assignments.sync")
3846
3904
  });
3847
- var sshKeyAssignmentStatusCapability = cliOnly({
3905
+ var sshKeyAssignmentStatusCapability = defineCapability({
3848
3906
  id: "access.ssh_key_assignments.status",
3849
3907
  domain: "access",
3850
3908
  roles: ["user"],
3851
3909
  mutation: "read",
3852
- input: keyListInput,
3853
- description: "Show assigned, queued, installed, and failed SSH-key delivery per machine.",
3910
+ input: z18.object({ reservationId: z18.string() }),
3911
+ description: "Show SSH key push status per machine for a reservation.",
3912
+ mcp: { name: "access_keys_status" },
3913
+ slack: false,
3854
3914
  cli: {
3855
3915
  command: ["ssh-keys", "assignments", "status"],
3916
+ input: keyListInput,
3917
+ execute: executeSshKeys("assignments.status"),
3856
3918
  vnext: {
3857
3919
  arguments: "semantic",
3858
3920
  audience: "customer",
@@ -3866,7 +3928,7 @@ var sshKeyAssignmentStatusCapability = cliOnly({
3866
3928
  related: ["ssh-keys assignments sync", "connect"]
3867
3929
  }
3868
3930
  },
3869
- execute: executeSshKeys("assignments.status")
3931
+ execute: (context, input) => reservationKeyStatus(context, input.reservationId)
3870
3932
  });
3871
3933
  var computeCapabilities = [
3872
3934
  launchCapability,
@@ -3884,17 +3946,17 @@ var computeCapabilities = [
3884
3946
  sshKeyAssignmentSyncCapability,
3885
3947
  sshKeyAssignmentStatusCapability
3886
3948
  ];
3887
- var pageInput = z17.object({
3888
- limit: z17.number().int().min(1).max(500).optional(),
3889
- cursor: z17.string().optional()
3949
+ var pageInput = z18.object({
3950
+ limit: z18.number().int().min(1).max(500).optional(),
3951
+ cursor: z18.string().optional()
3890
3952
  });
3891
- var publicKeyInput = z17.object({
3892
- publicKey: z17.string(),
3893
- label: z17.string().optional(),
3894
- confirm: z17.boolean().optional()
3953
+ var publicKeyInput = z18.object({
3954
+ publicKey: z18.string(),
3955
+ label: z18.string().optional(),
3956
+ confirm: z18.boolean().optional()
3895
3957
  });
3896
- var keyIdInput = z17.object({ keyId: z17.string(), confirm: z17.boolean().optional() });
3897
- var nodeIdInput = z17.object({ nodeId: z17.string(), confirm: z17.boolean().optional() });
3958
+ var keyIdInput = z18.object({ keyId: z18.string(), confirm: z18.boolean().optional() });
3959
+ var nodeIdInput = z18.object({ nodeId: z18.string(), confirm: z18.boolean().optional() });
3898
3960
  var ADDED_KEY_OUTCOME = "The response's outcome field says whether the key was created, was already_registered (returned unchanged, so the submitted label is not applied), or was reactivated from a revoked key.";
3899
3961
  function rebootMachine(mode) {
3900
3962
  return (ctx, input) => rebootNode(ctx.fetch, input.nodeId, { mode });
@@ -3906,7 +3968,7 @@ var accessVerbCapabilities = [
3906
3968
  roles: ["user"],
3907
3969
  description: "Show VM and Bare Metal SSH access machines for a reservation.",
3908
3970
  mutation: "read",
3909
- input: z17.object({ reservationId: z17.string() }),
3971
+ input: z18.object({ reservationId: z18.string() }),
3910
3972
  slack: false,
3911
3973
  execute: (ctx, input) => listNodes(ctx.fetch, { reservation_id: input.reservationId })
3912
3974
  }),
@@ -3916,18 +3978,18 @@ var accessVerbCapabilities = [
3916
3978
  roles: ["user"],
3917
3979
  description: "Activate access (bare-metal by default, or VM via accessMode) for a reservation and launch machine(s) with the given SSH key(s), optionally on the private network via networkMode. A VM launches on the reservation's saved disk; pass diskId to choose one, which a reservation without a saved disk needs.",
3918
3980
  mutation: "preview-confirm",
3919
- input: z17.object({
3920
- reservationId: z17.string(),
3921
- sshKeyIds: z17.array(z17.string()).min(1),
3922
- username: z17.string().optional(),
3923
- machineCount: z17.number().int().positive().optional(),
3924
- requestId: z17.string().optional(),
3925
- accessMode: z17.enum(["bare-metal", "vm"]).optional(),
3926
- networkMode: z17.enum(["public", "private"]).optional(),
3927
- diskId: z17.string().optional(),
3928
- storageLoadDriveId: z17.string().optional(),
3929
- storageSaveDriveId: z17.string().optional(),
3930
- confirm: z17.boolean().optional()
3981
+ input: z18.object({
3982
+ reservationId: z18.string(),
3983
+ sshKeyIds: z18.array(z18.string()).min(1),
3984
+ username: z18.string().optional(),
3985
+ machineCount: z18.number().int().positive().optional(),
3986
+ requestId: z18.string().optional(),
3987
+ accessMode: z18.enum(["bare-metal", "vm"]).optional(),
3988
+ networkMode: z18.enum(["public", "private"]).optional(),
3989
+ diskId: z18.string().optional(),
3990
+ storageLoadDriveId: z18.string().optional(),
3991
+ storageSaveDriveId: z18.string().optional(),
3992
+ confirm: z18.boolean().optional()
3931
3993
  }),
3932
3994
  slack: false,
3933
3995
  // Without disk_id the orchestrator boots "virtual-machine" from the
@@ -3949,14 +4011,14 @@ var accessVerbCapabilities = [
3949
4011
  roles: ["user"],
3950
4012
  description: "Switch a live reservation between public/private network mode (and optionally VM/Bare Metal) via switch-access. Use this instead of re-launching when machines are already running. Supply a unique requestId and keep it to check progress, including after a timeout. Acceptance does not confirm completion.",
3951
4013
  mutation: "preview-confirm",
3952
- input: z17.object({
3953
- reservationId: z17.string(),
3954
- networkMode: z17.enum(["public", "private"]),
3955
- sshKeyIds: z17.array(z17.string()).min(1),
3956
- accessMode: z17.enum(["bare-metal", "virtual-machine"]).optional(),
3957
- username: z17.string().optional(),
3958
- requestId: z17.string().regex(/\S/),
3959
- confirm: z17.boolean().optional()
4014
+ input: z18.object({
4015
+ reservationId: z18.string(),
4016
+ networkMode: z18.enum(["public", "private"]),
4017
+ sshKeyIds: z18.array(z18.string()).min(1),
4018
+ accessMode: z18.enum(["bare-metal", "virtual-machine"]).optional(),
4019
+ username: z18.string().optional(),
4020
+ requestId: z18.string().regex(/\S/),
4021
+ confirm: z18.boolean().optional()
3960
4022
  }),
3961
4023
  slack: false,
3962
4024
  execute: (ctx, input) => switchReservationAccess(ctx.fetch, input.reservationId, {
@@ -3972,7 +4034,7 @@ var accessVerbCapabilities = [
3972
4034
  roles: ["user"],
3973
4035
  description: "List SSH keys registered for a reservation.",
3974
4036
  mutation: "read",
3975
- input: z17.object({ reservationId: z17.string() }),
4037
+ input: z18.object({ reservationId: z18.string() }),
3976
4038
  slack: false,
3977
4039
  execute: (ctx, input) => listReservationSshKeys(ctx.fetch, input.reservationId)
3978
4040
  }),
@@ -3982,7 +4044,7 @@ var accessVerbCapabilities = [
3982
4044
  roles: ["user"],
3983
4045
  description: `Add an SSH key to a reservation. ${ADDED_KEY_OUTCOME}`,
3984
4046
  mutation: "preview-confirm",
3985
- input: publicKeyInput.extend({ reservationId: z17.string() }),
4047
+ input: publicKeyInput.extend({ reservationId: z18.string() }),
3986
4048
  slack: false,
3987
4049
  execute: (ctx, input) => addReservationSshKey(ctx.fetch, input.reservationId, {
3988
4050
  label: input.label ?? null,
@@ -4086,35 +4148,16 @@ var accessVerbCapabilities = [
4086
4148
  execute: async (ctx, input) => await deleteClusterUserKey(ctx.fetch, input.keyId) ?? { deleted: true }
4087
4149
  })
4088
4150
  ];
4089
- var machinePushKeysCapability = defineCapability({
4090
- id: "machine.push_keys",
4091
- domain: "access",
4092
- roles: ["user"],
4093
- description: "Push SSH keys onto one reservation machine.",
4094
- mutation: "preview-confirm",
4095
- input: z17.object({
4096
- nodeId: z17.string(),
4097
- sshKeyIds: z17.array(z17.string()).min(1),
4098
- requestId: z17.string(),
4099
- confirm: z17.boolean().optional()
4100
- }),
4101
- mcp: false,
4102
- slack: false,
4103
- execute: (ctx, input) => pushNodeKeys(ctx.fetch, input.nodeId, {
4104
- request_id: input.requestId,
4105
- ssh_key_ids: input.sshKeyIds
4106
- })
4107
- });
4108
4151
 
4109
4152
  // ../../packages/capabilities/dist/capabilities/credits.js
4110
- import { z as z18 } from "zod";
4111
- var creditGrantInput = z18.object({
4112
- organizationId: z18.uuid().describe("Customer organization UUID. Resolve names or emails with organization_list; ask which organization if matches are ambiguous."),
4113
- adjustmentId: z18.uuid().describe("The credit-adjustment API's required grant UUID. Keep the same UUID when confirming this grant."),
4114
- amountCents: z18.number().int().min(1).max(1e8).describe("USD cents: 10000 grants $100.00."),
4115
- direction: z18.enum(["credit", "debit"]).optional().describe("credit adds funds (default); debit removes funds. Choose explicitly for a debit."),
4116
- note: z18.string().trim().min(1).refine((value) => new TextEncoder().encode(value).length <= 500, "Keep the note under 500 UTF-8 bytes.").describe("Reason for the credit grant."),
4117
- confirm: z18.boolean().optional()
4153
+ import { z as z19 } from "zod";
4154
+ var creditGrantInput = z19.object({
4155
+ organizationId: z19.uuid().describe("Customer organization UUID. Resolve names or emails with organization_list; ask which organization if matches are ambiguous."),
4156
+ adjustmentId: z19.uuid().describe("The credit-adjustment API's required grant UUID. Keep the same UUID when confirming this grant."),
4157
+ amountCents: z19.number().int().min(1).max(1e8).describe("USD cents: 10000 grants $100.00."),
4158
+ direction: z19.enum(["credit", "debit"]).optional().describe("credit adds funds (default); debit removes funds. Choose explicitly for a debit."),
4159
+ note: z19.string().trim().min(1).refine((value) => new TextEncoder().encode(value).length <= 500, "Keep the note under 500 UTF-8 bytes.").describe("Reason for the credit grant."),
4160
+ confirm: z19.boolean().optional()
4118
4161
  });
4119
4162
  var creditGrantCapability = defineCapability({
4120
4163
  id: "credits.grant",
@@ -4175,20 +4218,20 @@ var creditGrantCapability = defineCapability({
4175
4218
  });
4176
4219
 
4177
4220
  // ../../packages/capabilities/dist/capabilities/cli.js
4178
- import { z as z19 } from "zod";
4179
- var emptyInput2 = z19.object({});
4221
+ import { z as z20 } from "zod";
4222
+ var emptyInput2 = z20.object({});
4180
4223
  function requireCliRuntime(context) {
4181
4224
  if (!context.cli) {
4182
4225
  throw new Error("This capability must execute through the Ornn CLI runtime.");
4183
4226
  }
4184
4227
  return context.cli;
4185
4228
  }
4186
- var updateInput = z19.object({
4187
- $positionals: z19.array(z19.string()).max(0).default([]),
4188
- major: z19.boolean().optional()
4229
+ var updateInput = z20.object({
4230
+ $positionals: z20.array(z20.string()).max(0).default([]),
4231
+ major: z20.boolean().optional()
4189
4232
  });
4190
- var completionInput = z19.object({
4191
- $positionals: z19.tuple([z19.enum(["bash", "fish", "zsh"])])
4233
+ var completionInput = z20.object({
4234
+ $positionals: z20.tuple([z20.enum(["bash", "fish", "zsh"])])
4192
4235
  }).transform(({ $positionals }) => ({ shell: $positionals[0] }));
4193
4236
  var versionCapability = defineCapability({
4194
4237
  id: "cli.version",
@@ -4329,23 +4372,23 @@ var cliShellCapabilities = [
4329
4372
  ];
4330
4373
 
4331
4374
  // ../../packages/capabilities/dist/capabilities/clusters.js
4332
- import { z as z20 } from "zod";
4333
- var clusterCliInput = z20.object({
4334
- $positionals: z20.array(z20.string()).optional(),
4335
- cursor: z20.string().optional(),
4336
- guided: z20.boolean().optional(),
4337
- idempotencyKey: z20.string().optional(),
4338
- limit: z20.union([z20.string(), z20.number()]).optional(),
4339
- machine: z20.string().optional(),
4340
- machines: z20.string().optional(),
4341
- network: z20.enum(["public", "private"]).optional(),
4342
- noWait: z20.boolean().optional(),
4343
- nodes: z20.union([z20.string(), z20.number()]).optional(),
4344
- output: z20.string().optional(),
4345
- overwrite: z20.boolean().optional(),
4346
- timeout: z20.string().optional(),
4347
- wait: z20.boolean().optional(),
4348
- yes: z20.boolean().optional()
4375
+ import { z as z21 } from "zod";
4376
+ var clusterCliInput = z21.object({
4377
+ $positionals: z21.array(z21.string()).optional(),
4378
+ cursor: z21.string().optional(),
4379
+ guided: z21.boolean().optional(),
4380
+ idempotencyKey: z21.string().optional(),
4381
+ limit: z21.union([z21.string(), z21.number()]).optional(),
4382
+ machine: z21.string().optional(),
4383
+ machines: z21.string().optional(),
4384
+ network: z21.enum(["public", "private"]).optional(),
4385
+ noWait: z21.boolean().optional(),
4386
+ nodes: z21.union([z21.string(), z21.number()]).optional(),
4387
+ output: z21.string().optional(),
4388
+ overwrite: z21.boolean().optional(),
4389
+ timeout: z21.string().optional(),
4390
+ wait: z21.boolean().optional(),
4391
+ yes: z21.boolean().optional()
4349
4392
  }).strict();
4350
4393
  function clusterExecutor(context) {
4351
4394
  const runtime3 = context.cli?.interaction;
@@ -4473,12 +4516,12 @@ var clusterCliCapabilities = [
4473
4516
  related: ["clusters show", "reservations show"]
4474
4517
  })
4475
4518
  ];
4476
- var clusterType = z20.enum(["kubernetes", "slurm"]);
4477
- var reservationCluster = z20.object({ reservationId: z20.string(), type: clusterType });
4478
- var controllerNode = z20.object({
4479
- controllerId: z20.string(),
4480
- nodeId: z20.string(),
4481
- confirm: z20.boolean().optional()
4519
+ var clusterType = z21.enum(["kubernetes", "slurm"]);
4520
+ var reservationCluster = z21.object({ reservationId: z21.string(), type: clusterType });
4521
+ var controllerNode = z21.object({
4522
+ controllerId: z21.string(),
4523
+ nodeId: z21.string(),
4524
+ confirm: z21.boolean().optional()
4482
4525
  });
4483
4526
  var clusterCapabilities = [
4484
4527
  defineCapability({
@@ -4487,7 +4530,7 @@ var clusterCapabilities = [
4487
4530
  roles: ["user"],
4488
4531
  description: "List this tenant's kubernetes/slurm clusters.",
4489
4532
  mutation: "read",
4490
- input: z20.object({}),
4533
+ input: z21.object({}),
4491
4534
  mcp: { name: "clusters_list" },
4492
4535
  slack: false,
4493
4536
  execute: (ctx) => listClusters(ctx.fetch)
@@ -4498,8 +4541,8 @@ var clusterCapabilities = [
4498
4541
  roles: ["user"],
4499
4542
  description: "List active reservations eligible for cluster creation (kubernetes/slurm), 100 per page. Pass the response's nextCursor as cursor for the next page.",
4500
4543
  mutation: "read",
4501
- input: z20.object({
4502
- cursor: z20.string().min(1).optional().describe("nextCursor from the previous page.")
4544
+ input: z21.object({
4545
+ cursor: z21.string().min(1).optional().describe("nextCursor from the previous page.")
4503
4546
  }),
4504
4547
  mcp: { name: "clusters_reservations_list" },
4505
4548
  slack: false,
@@ -4514,13 +4557,13 @@ var clusterCapabilities = [
4514
4557
  roles: ["user"],
4515
4558
  description: "Launch a kubernetes or slurm cluster on a reservation.",
4516
4559
  mutation: "preview-confirm",
4517
- input: z20.object({
4518
- reservationId: z20.string(),
4560
+ input: z21.object({
4561
+ reservationId: z21.string(),
4519
4562
  type: clusterType,
4520
- networkMode: z20.enum(["public", "private"]).optional(),
4521
- nodeIds: z20.array(z20.string()).optional(),
4522
- nodeCount: z20.number().int().positive().optional(),
4523
- confirm: z20.boolean().optional()
4563
+ networkMode: z21.enum(["public", "private"]).optional(),
4564
+ nodeIds: z21.array(z21.string()).optional(),
4565
+ nodeCount: z21.number().int().positive().optional(),
4566
+ confirm: z21.boolean().optional()
4524
4567
  }).strict(),
4525
4568
  mcp: { name: "clusters_create" },
4526
4569
  slack: false,
@@ -4560,7 +4603,7 @@ var clusterCapabilities = [
4560
4603
  roles: ["user"],
4561
4604
  description: "Fetch the raw kubeconfig text for a kubernetes cluster reservation. Unlike `ornn clusters kubeconfig`, this does not write a file locally -- the caller is responsible for saving the returned text if needed.",
4562
4605
  mutation: "read",
4563
- input: z20.object({ reservationId: z20.string() }),
4606
+ input: z21.object({ reservationId: z21.string() }),
4564
4607
  mcp: { name: "clusters_kubeconfig" },
4565
4608
  slack: false,
4566
4609
  execute: async (ctx, input) => {
@@ -4599,7 +4642,7 @@ var clusterCapabilities = [
4599
4642
  roles: ["user"],
4600
4643
  description: "Tear down a kubernetes or slurm cluster on a reservation.",
4601
4644
  mutation: "preview-confirm",
4602
- input: reservationCluster.extend({ confirm: z20.boolean().optional() }),
4645
+ input: reservationCluster.extend({ confirm: z21.boolean().optional() }),
4603
4646
  mcp: { name: "clusters_teardown" },
4604
4647
  slack: false,
4605
4648
  execute: (ctx, input) => teardownReservationCluster(ctx.fetch, input.type, input.reservationId)
@@ -4607,55 +4650,55 @@ var clusterCapabilities = [
4607
4650
  ];
4608
4651
 
4609
4652
  // ../../packages/capabilities/dist/capabilities/external-buckets.js
4610
- import { z as z21 } from "zod";
4611
- var pageInput2 = z21.object({
4612
- $positionals: z21.array(z21.string()).optional(),
4613
- cursor: z21.string().optional(),
4614
- limit: z21.union([z21.string(), z21.number()]).optional()
4653
+ import { z as z22 } from "zod";
4654
+ var pageInput2 = z22.object({
4655
+ $positionals: z22.array(z22.string()).optional(),
4656
+ cursor: z22.string().optional(),
4657
+ limit: z22.union([z22.string(), z22.number()]).optional()
4615
4658
  }).strict();
4616
- var showInput = z21.object({
4617
- $positionals: z21.array(z21.string()).optional()
4659
+ var showInput = z22.object({
4660
+ $positionals: z22.array(z22.string()).optional()
4618
4661
  }).strict();
4619
- var verificationInput = z21.object({
4620
- $positionals: z21.array(z21.string()).optional(),
4621
- idempotencyKey: z21.string().optional()
4662
+ var verificationInput = z22.object({
4663
+ $positionals: z22.array(z22.string()).optional(),
4664
+ idempotencyKey: z22.string().optional()
4622
4665
  }).strict();
4623
- var disconnectInput = z21.object({
4624
- $positionals: z21.array(z21.string()).optional(),
4625
- idempotencyKey: z21.string().optional(),
4626
- yes: z21.boolean().optional()
4666
+ var disconnectInput = z22.object({
4667
+ $positionals: z22.array(z22.string()).optional(),
4668
+ idempotencyKey: z22.string().optional(),
4669
+ yes: z22.boolean().optional()
4627
4670
  }).strict();
4628
- var connectInput = z21.object({
4629
- $positionals: z21.array(z21.string()).optional(),
4630
- accessKeyId: z21.string().optional(),
4631
- accountId: z21.string().optional(),
4632
- bucket: z21.string().optional(),
4633
- endpointUrl: z21.string().optional(),
4634
- idempotencyKey: z21.string().optional(),
4635
- name: z21.string().optional(),
4636
- prefix: z21.string().optional(),
4637
- readOnly: z21.boolean().optional(),
4638
- readWrite: z21.boolean().optional(),
4639
- region: z21.string().optional(),
4640
- secretAccessKeyFile: z21.string().optional(),
4641
- url: z21.string().optional(),
4642
- yes: z21.boolean().optional()
4671
+ var connectInput = z22.object({
4672
+ $positionals: z22.array(z22.string()).optional(),
4673
+ accessKeyId: z22.string().optional(),
4674
+ accountId: z22.string().optional(),
4675
+ bucket: z22.string().optional(),
4676
+ endpointUrl: z22.string().optional(),
4677
+ idempotencyKey: z22.string().optional(),
4678
+ name: z22.string().optional(),
4679
+ prefix: z22.string().optional(),
4680
+ readOnly: z22.boolean().optional(),
4681
+ readWrite: z22.boolean().optional(),
4682
+ region: z22.string().optional(),
4683
+ secretAccessKeyFile: z22.string().optional(),
4684
+ url: z22.string().optional(),
4685
+ yes: z22.boolean().optional()
4643
4686
  }).strict();
4644
- var credentialInput = z21.object({
4645
- $positionals: z21.array(z21.string()).optional(),
4646
- accessKeyId: z21.string().optional(),
4647
- idempotencyKey: z21.string().optional(),
4648
- secretAccessKeyFile: z21.string().optional(),
4649
- yes: z21.boolean().optional()
4687
+ var credentialInput = z22.object({
4688
+ $positionals: z22.array(z22.string()).optional(),
4689
+ accessKeyId: z22.string().optional(),
4690
+ idempotencyKey: z22.string().optional(),
4691
+ secretAccessKeyFile: z22.string().optional(),
4692
+ yes: z22.boolean().optional()
4650
4693
  }).strict();
4651
- var importInput = z21.object({
4652
- $positionals: z21.array(z21.string()).optional(),
4653
- idempotencyKey: z21.string().optional(),
4654
- noWait: z21.boolean().optional(),
4655
- reservation: z21.string().optional(),
4656
- timeout: z21.string().optional(),
4657
- wait: z21.boolean().optional(),
4658
- yes: z21.boolean().optional()
4694
+ var importInput = z22.object({
4695
+ $positionals: z22.array(z22.string()).optional(),
4696
+ idempotencyKey: z22.string().optional(),
4697
+ noWait: z22.boolean().optional(),
4698
+ reservation: z22.string().optional(),
4699
+ timeout: z22.string().optional(),
4700
+ wait: z22.boolean().optional(),
4701
+ yes: z22.boolean().optional()
4659
4702
  }).strict();
4660
4703
  function externalBucketExecutor(context) {
4661
4704
  const interaction = context.cli?.interaction;
@@ -4699,16 +4742,16 @@ function isExternalBucket(drive) {
4699
4742
  return false;
4700
4743
  return ["external_gcs", "s3", "r2", "cloudflare_r2"].includes(source.provider ?? "") || Boolean(source.bucket);
4701
4744
  }
4702
- var bucketInput = z21.object({ driveId: z21.string() });
4745
+ var bucketInput = z22.object({ driveId: z22.string() });
4703
4746
  var bucketListCapability = defineCapability({
4704
4747
  id: "storage.external-buckets.list",
4705
4748
  domain: "storage",
4706
4749
  roles: ["user"],
4707
4750
  description: "List a page of connected external buckets. Pass next_cursor as cursor to continue.",
4708
4751
  mutation: "read",
4709
- input: z21.object({
4710
- limit: z21.number().int().min(1).max(100).optional(),
4711
- cursor: z21.string().optional()
4752
+ input: z22.object({
4753
+ limit: z22.number().int().min(1).max(100).optional(),
4754
+ cursor: z22.string().optional()
4712
4755
  }),
4713
4756
  mcp: { name: "storage_buckets_list" },
4714
4757
  slack: false,
@@ -4862,22 +4905,22 @@ var externalBucketCapabilities = [
4862
4905
  ];
4863
4906
 
4864
4907
  // ../../packages/capabilities/dist/capabilities/evidence.js
4865
- import { z as z22 } from "zod";
4866
- var positionals3 = z22.array(z22.string()).default([]);
4867
- var evidenceInput = z22.object({
4908
+ import { z as z23 } from "zod";
4909
+ var positionals3 = z23.array(z23.string()).default([]);
4910
+ var evidenceInput = z23.object({
4868
4911
  $positionals: positionals3,
4869
- before: z22.string().optional(),
4870
- count: z22.string().optional(),
4871
- cursor: z22.string().optional(),
4872
- end: z22.string().optional(),
4873
- follow: z22.boolean().optional(),
4874
- guided: z22.boolean().optional(),
4875
- interval: z22.string().optional(),
4876
- limit: z22.string().optional(),
4877
- maxPoints: z22.string().optional(),
4878
- start: z22.string().optional(),
4879
- stream: z22.enum(["kernel", "serial"]).optional(),
4880
- timeout: z22.string().optional()
4912
+ before: z23.string().optional(),
4913
+ count: z23.string().optional(),
4914
+ cursor: z23.string().optional(),
4915
+ end: z23.string().optional(),
4916
+ follow: z23.boolean().optional(),
4917
+ guided: z23.boolean().optional(),
4918
+ interval: z23.string().optional(),
4919
+ limit: z23.string().optional(),
4920
+ maxPoints: z23.string().optional(),
4921
+ start: z23.string().optional(),
4922
+ stream: z23.enum(["kernel", "serial"]).optional(),
4923
+ timeout: z23.string().optional()
4881
4924
  }).strict();
4882
4925
  function runtime2(context) {
4883
4926
  const interaction = context.cli?.interaction;
@@ -5006,8 +5049,8 @@ var evidenceCapabilities = [
5006
5049
  ];
5007
5050
 
5008
5051
  // ../../packages/capabilities/dist/capabilities/metrics.js
5009
- import { z as z23 } from "zod";
5010
- var metricInput = z23.object({ reservationId: z23.string(), machineId: z23.string().optional() });
5052
+ import { z as z24 } from "zod";
5053
+ var metricInput = z24.object({ reservationId: z24.string(), machineId: z24.string().optional() });
5011
5054
  async function nodeIds(context, input) {
5012
5055
  if (input.machineId)
5013
5056
  return [input.machineId];
@@ -5043,9 +5086,9 @@ var metricsHistoryCapability = defineCapability({
5043
5086
  mutation: "read",
5044
5087
  description: "Fetch historical telemetry for a reservation's machine over a time range. machineId is optional: omit it to use the first active machine on the reservation.",
5045
5088
  input: metricInput.extend({
5046
- start: z23.string().optional(),
5047
- end: z23.string().optional(),
5048
- maxPoints: z23.number().int().positive().optional()
5089
+ start: z24.string().optional(),
5090
+ end: z24.string().optional(),
5091
+ maxPoints: z24.number().int().positive().optional()
5049
5092
  }),
5050
5093
  slack: false,
5051
5094
  execute: async (context, input) => {
@@ -5061,18 +5104,18 @@ var metricsHistoryCapability = defineCapability({
5061
5104
  var metricsCapabilities = [metricsSnapshotCapability, metricsHistoryCapability];
5062
5105
 
5063
5106
  // ../../packages/capabilities/dist/capabilities/mounts.js
5064
- import { z as z24 } from "zod";
5065
- var mountInput = z24.object({
5066
- $positionals: z24.array(z24.string()).default([]),
5067
- access: z24.string().optional(),
5068
- cursor: z24.string().optional(),
5069
- idempotencyKey: z24.string().optional(),
5070
- limit: z24.union([z24.string(), z24.number()]).optional(),
5071
- noWait: z24.boolean().optional(),
5072
- timeout: z24.string().optional(),
5073
- volume: z24.string().optional(),
5074
- wait: z24.boolean().optional(),
5075
- yes: z24.boolean().optional()
5107
+ import { z as z25 } from "zod";
5108
+ var mountInput = z25.object({
5109
+ $positionals: z25.array(z25.string()).default([]),
5110
+ access: z25.string().optional(),
5111
+ cursor: z25.string().optional(),
5112
+ idempotencyKey: z25.string().optional(),
5113
+ limit: z25.union([z25.string(), z25.number()]).optional(),
5114
+ noWait: z25.boolean().optional(),
5115
+ timeout: z25.string().optional(),
5116
+ volume: z25.string().optional(),
5117
+ wait: z25.boolean().optional(),
5118
+ yes: z25.boolean().optional()
5076
5119
  }).strict();
5077
5120
  function mountExecutor(context) {
5078
5121
  const interaction = context.cli?.interaction;
@@ -5181,13 +5224,13 @@ var mountCapabilities = [
5181
5224
  ];
5182
5225
 
5183
5226
  // ../../packages/capabilities/dist/capabilities/identity.js
5184
- import { z as z25 } from "zod";
5185
- var emptyInput3 = z25.object({});
5186
- var loginInput = z25.object({
5187
- authBase: z25.string().min(1).optional(),
5188
- noBrowser: z25.boolean().optional(),
5189
- pollInterval: z25.number().positive().optional(),
5190
- timeout: z25.number().positive().optional()
5227
+ import { z as z26 } from "zod";
5228
+ var emptyInput3 = z26.object({});
5229
+ var loginInput = z26.object({
5230
+ authBase: z26.string().min(1).optional(),
5231
+ noBrowser: z26.boolean().optional(),
5232
+ pollInterval: z26.number().positive().optional(),
5233
+ timeout: z26.number().positive().optional()
5191
5234
  });
5192
5235
  function executeSession(context, command, input) {
5193
5236
  if (!context.cli?.session) {
@@ -5306,50 +5349,50 @@ var identityCapabilities = [
5306
5349
  ];
5307
5350
 
5308
5351
  // ../../packages/capabilities/dist/capabilities/listings.js
5309
- import { z as z26 } from "zod";
5310
- var listingCreateInput = z26.object({
5311
- organizationId: z26.string().optional(),
5312
- organization_id: z26.string().optional(),
5313
- facilityId: z26.string().optional(),
5314
- facility_id: z26.string().optional(),
5315
- kind: z26.enum(["gpu", "cpu", "node", "link"]).optional(),
5316
- gpu: z26.string().optional(),
5317
- cpu: z26.string().optional(),
5318
- site: z26.string().optional(),
5319
- fabric: z26.string().optional(),
5320
- min_nodes: z26.number().int().optional(),
5321
- starts_after: z26.string().optional(),
5322
- starts_before: z26.string().optional(),
5323
- ends_after: z26.string().optional(),
5324
- ends_before: z26.string().optional(),
5325
- gpu_type: z26.string().optional(),
5326
- node_model: z26.string().optional(),
5327
- fabric_type: z26.string().optional(),
5328
- node_count: z26.number().int().optional(),
5329
- gpus_per_node: z26.number().int().optional(),
5330
- cores_per_node: z26.number().int().optional().describe('CPU listings: cores per node (2 vCPUs each), at least 1, priced per vCPU-hour. Omit gpu_type or set it to "cpu".'),
5331
- site_nickname: z26.string().optional().describe("A state, city, address, or catalog region such as us-west-3."),
5332
- site_supplier: z26.string().optional(),
5333
- ram: z26.string().optional(),
5334
- storage: z26.string().optional(),
5335
- internet: z26.string().optional(),
5336
- network_hardware: z26.string().optional(),
5337
- available_start_at: z26.string().optional().describe("Start of the availability window. YYYY-MM-DD or RFC3339."),
5338
- available_end_at: z26.string().optional().describe("End of the availability window. YYYY-MM-DD or RFC3339."),
5339
- available_from: z26.string().optional().describe("Alias for available_start_at."),
5340
- available_to: z26.string().optional().describe("Alias for available_end_at."),
5341
- buy_now_price_per_gpu_hour: z26.number().optional().describe("Price buyers pay, USD per GPU-hour (per vCPU-hour on CPU listings)."),
5342
- deposit_percent: z26.number().optional(),
5343
- down_payment_cents: z26.number().int().nonnegative().optional(),
5344
- access_mode: z26.enum(["bare-metal", "virtual-machine"]).optional(),
5345
- state: z26.enum(["available", "draft"]).optional(),
5346
- price_omitted: z26.boolean().optional(),
5347
- announce: z26.boolean().optional(),
5348
- text: z26.string().optional(),
5349
- confirm: z26.boolean().optional(),
5350
- idempotencyKey: z26.string().min(1).max(200).optional()
5351
- });
5352
- var catalogTermsInput = z26.object({ kind: z26.enum(["gpu", "cpu", "node", "link"]).optional() });
5352
+ import { z as z27 } from "zod";
5353
+ var listingCreateInput = z27.object({
5354
+ organizationId: z27.string().optional(),
5355
+ organization_id: z27.string().optional(),
5356
+ facilityId: z27.string().optional(),
5357
+ facility_id: z27.string().optional(),
5358
+ kind: z27.enum(["gpu", "cpu", "node", "link"]).optional(),
5359
+ gpu: z27.string().optional(),
5360
+ cpu: z27.string().optional(),
5361
+ site: z27.string().optional(),
5362
+ fabric: z27.string().optional(),
5363
+ min_nodes: z27.number().int().optional(),
5364
+ starts_after: z27.string().optional(),
5365
+ starts_before: z27.string().optional(),
5366
+ ends_after: z27.string().optional(),
5367
+ ends_before: z27.string().optional(),
5368
+ gpu_type: z27.string().optional(),
5369
+ node_model: z27.string().optional(),
5370
+ fabric_type: z27.string().optional(),
5371
+ node_count: z27.number().int().optional(),
5372
+ gpus_per_node: z27.number().int().optional(),
5373
+ cores_per_node: z27.number().int().optional().describe('CPU listings: cores per node (2 vCPUs each), at least 1, priced per vCPU-hour. Omit gpu_type or set it to "cpu".'),
5374
+ site_nickname: z27.string().optional().describe("A state, city, address, or catalog region such as us-west-3."),
5375
+ site_supplier: z27.string().optional(),
5376
+ ram: z27.string().optional(),
5377
+ storage: z27.string().optional(),
5378
+ internet: z27.string().optional(),
5379
+ network_hardware: z27.string().optional(),
5380
+ available_start_at: z27.string().optional().describe("Start of the availability window. YYYY-MM-DD or RFC3339."),
5381
+ available_end_at: z27.string().optional().describe("End of the availability window. YYYY-MM-DD or RFC3339."),
5382
+ available_from: z27.string().optional().describe("Alias for available_start_at."),
5383
+ available_to: z27.string().optional().describe("Alias for available_end_at."),
5384
+ buy_now_price_per_gpu_hour: z27.number().optional().describe("Price buyers pay, USD per GPU-hour (per vCPU-hour on CPU listings)."),
5385
+ deposit_percent: z27.number().optional(),
5386
+ down_payment_cents: z27.number().int().nonnegative().optional(),
5387
+ access_mode: z27.enum(["bare-metal", "virtual-machine"]).optional(),
5388
+ state: z27.enum(["available", "draft"]).optional(),
5389
+ price_omitted: z27.boolean().optional(),
5390
+ announce: z27.boolean().optional(),
5391
+ text: z27.string().optional(),
5392
+ confirm: z27.boolean().optional(),
5393
+ idempotencyKey: z27.string().min(1).max(200).optional()
5394
+ });
5395
+ var catalogTermsInput = z27.object({ kind: z27.enum(["gpu", "cpu", "node", "link"]).optional() });
5353
5396
  var slackListingCreateParams = {
5354
5397
  type: "object",
5355
5398
  properties: {
@@ -5647,12 +5690,12 @@ var listingCapabilities = [
5647
5690
  ];
5648
5691
 
5649
5692
  // ../../packages/capabilities/dist/capabilities/organization-invites.js
5650
- import { z as z27 } from "zod";
5651
- var organizationInviteInput = z27.object({
5652
- organization_id: z27.uuid().optional(),
5653
- email: z27.string().trim().toLowerCase().pipe(z27.email()),
5654
- organization_role: z27.enum(["consumer", "supplier"]).optional(),
5655
- send_email: z27.boolean().optional().describe("Defaults to true for an existing organization; false returns a link. Signup invites cannot be emailed.")
5693
+ import { z as z28 } from "zod";
5694
+ var organizationInviteInput = z28.object({
5695
+ organization_id: z28.uuid().optional(),
5696
+ email: z28.string().trim().toLowerCase().pipe(z28.email()),
5697
+ organization_role: z28.enum(["consumer", "supplier"]).optional(),
5698
+ send_email: z28.boolean().optional().describe("Defaults to true for an existing organization; false returns a link. Signup invites cannot be emailed.")
5656
5699
  }).superRefine((input, ctx) => {
5657
5700
  if (!input.organization_id && input.send_email === true) {
5658
5701
  ctx.addIssue({
@@ -5712,33 +5755,33 @@ var organizationInviteCapability = defineCapability({
5712
5755
  });
5713
5756
 
5714
5757
  // ../../packages/capabilities/dist/capabilities/networks.js
5715
- import { z as z28 } from "zod";
5758
+ import { z as z29 } from "zod";
5716
5759
  var globalInput = {
5717
- $positionals: z28.array(z28.string()).optional(),
5718
- guided: z28.boolean().optional(),
5719
- idempotencyKey: z28.string().optional(),
5720
- noBrowser: z28.boolean().optional(),
5721
- noWait: z28.boolean().optional(),
5722
- overwrite: z28.boolean().optional(),
5723
- print: z28.boolean().optional(),
5724
- wait: z28.boolean().optional(),
5725
- yes: z28.boolean().optional()
5760
+ $positionals: z29.array(z29.string()).optional(),
5761
+ guided: z29.boolean().optional(),
5762
+ idempotencyKey: z29.string().optional(),
5763
+ noBrowser: z29.boolean().optional(),
5764
+ noWait: z29.boolean().optional(),
5765
+ overwrite: z29.boolean().optional(),
5766
+ print: z29.boolean().optional(),
5767
+ wait: z29.boolean().optional(),
5768
+ yes: z29.boolean().optional()
5726
5769
  };
5727
- var noOptionsInput = z28.object(globalInput).strict();
5728
- var connectInput2 = z28.object({
5770
+ var noOptionsInput = z29.object(globalInput).strict();
5771
+ var connectInput2 = z29.object({
5729
5772
  ...globalInput,
5730
- identityFile: z28.string().optional(),
5731
- output: z28.string().optional(),
5732
- user: z28.string().optional()
5773
+ identityFile: z29.string().optional(),
5774
+ output: z29.string().optional(),
5775
+ user: z29.string().optional()
5733
5776
  }).strict();
5734
- var listInput = z28.object({ ...globalInput, cursor: z28.string().optional(), limit: z28.string().optional() }).strict();
5735
- var networkCreateInput = z28.object({ ...globalInput, cidr: z28.string().optional(), name: z28.string().optional() }).strict();
5736
- var networkUpdateInput = z28.object({ ...globalInput, name: z28.string().optional() }).strict();
5737
- var vpnConfigureInput = z28.object({
5777
+ var listInput = z29.object({ ...globalInput, cursor: z29.string().optional(), limit: z29.string().optional() }).strict();
5778
+ var networkCreateInput = z29.object({ ...globalInput, cidr: z29.string().optional(), name: z29.string().optional() }).strict();
5779
+ var networkUpdateInput = z29.object({ ...globalInput, name: z29.string().optional() }).strict();
5780
+ var vpnConfigureInput = z29.object({
5738
5781
  ...globalInput,
5739
- name: z28.string().optional(),
5740
- output: z28.string().optional(),
5741
- privateKey: z28.string().optional()
5782
+ name: z29.string().optional(),
5783
+ output: z29.string().optional(),
5784
+ privateKey: z29.string().optional()
5742
5785
  }).strict();
5743
5786
  function networkExecutor(context) {
5744
5787
  const runtime3 = context.cli?.interaction;
@@ -5983,12 +6026,12 @@ var networkCapabilities = [
5983
6026
  vpnConnectionDisconnectCapability,
5984
6027
  connectCapability
5985
6028
  ];
5986
- var networkUpdateFields = z28.object({
5987
- networkId: z28.string(),
5988
- name: z28.string().optional(),
5989
- description: z28.string().optional(),
5990
- clearDescription: z28.boolean().optional(),
5991
- confirm: z28.boolean().optional()
6029
+ var networkUpdateFields = z29.object({
6030
+ networkId: z29.string(),
6031
+ name: z29.string().optional(),
6032
+ description: z29.string().optional(),
6033
+ clearDescription: z29.boolean().optional(),
6034
+ confirm: z29.boolean().optional()
5992
6035
  }).refine((input) => !(input.clearDescription && input.description !== void 0), {
5993
6036
  message: "Use either description or clearDescription, not both."
5994
6037
  }).refine((input) => input.name !== void 0 || input.description !== void 0 || input.clearDescription, { message: "Provide name, description, or clearDescription." });
@@ -5999,7 +6042,7 @@ var networkVerbCapabilities = [
5999
6042
  roles: ["user"],
6000
6043
  description: "List this tenant's private networks.",
6001
6044
  mutation: "read",
6002
- input: z28.object({}),
6045
+ input: z29.object({}),
6003
6046
  mcp: { name: "networks_list" },
6004
6047
  slack: false,
6005
6048
  execute: (ctx) => listNetworks(ctx.fetch)
@@ -6010,7 +6053,7 @@ var networkVerbCapabilities = [
6010
6053
  roles: ["user"],
6011
6054
  description: "Show a single private network by id.",
6012
6055
  mutation: "read",
6013
- input: z28.object({ networkId: z28.string() }),
6056
+ input: z29.object({ networkId: z29.string() }),
6014
6057
  mcp: { name: "networks_show" },
6015
6058
  slack: false,
6016
6059
  execute: (ctx, input) => getNetwork(ctx.fetch, input.networkId)
@@ -6021,11 +6064,11 @@ var networkVerbCapabilities = [
6021
6064
  roles: ["user"],
6022
6065
  description: "Create a private network.",
6023
6066
  mutation: "preview-confirm",
6024
- input: z28.object({
6025
- name: z28.string(),
6026
- cidr: z28.string().optional(),
6027
- description: z28.string().optional(),
6028
- confirm: z28.boolean().optional()
6067
+ input: z29.object({
6068
+ name: z29.string(),
6069
+ cidr: z29.string().optional(),
6070
+ description: z29.string().optional(),
6071
+ confirm: z29.boolean().optional()
6029
6072
  }),
6030
6073
  mcp: { name: "networks_create" },
6031
6074
  slack: false,
@@ -6055,7 +6098,7 @@ var networkVerbCapabilities = [
6055
6098
  roles: ["user"],
6056
6099
  description: "Delete a private network.",
6057
6100
  mutation: "preview-confirm",
6058
- input: z28.object({ networkId: z28.string(), confirm: z28.boolean().optional() }),
6101
+ input: z29.object({ networkId: z29.string(), confirm: z29.boolean().optional() }),
6059
6102
  mcp: { name: "networks_delete" },
6060
6103
  slack: false,
6061
6104
  // The route answers 204, so report which network went.
@@ -6070,7 +6113,7 @@ var networkVerbCapabilities = [
6070
6113
  roles: ["user"],
6071
6114
  description: "List WireGuard VPN peers registered on a reservation.",
6072
6115
  mutation: "read",
6073
- input: z28.object({ reservationId: z28.string() }),
6116
+ input: z29.object({ reservationId: z29.string() }),
6074
6117
  mcp: { name: "vpn_peers_list" },
6075
6118
  slack: false,
6076
6119
  execute: (ctx) => listNetworkPeerConfigs(ctx.fetch, "shared")
@@ -6081,11 +6124,11 @@ var networkVerbCapabilities = [
6081
6124
  roles: ["user"],
6082
6125
  description: "Register a WireGuard VPN peer public key on a reservation.",
6083
6126
  mutation: "preview-confirm",
6084
- input: z28.object({
6085
- reservationId: z28.string(),
6086
- publicKey: z28.string(),
6087
- label: z28.string().optional(),
6088
- confirm: z28.boolean().optional()
6127
+ input: z29.object({
6128
+ reservationId: z29.string(),
6129
+ publicKey: z29.string(),
6130
+ label: z29.string().optional(),
6131
+ confirm: z29.boolean().optional()
6089
6132
  }),
6090
6133
  mcp: { name: "vpn_peers_create" },
6091
6134
  slack: false,
@@ -6100,10 +6143,10 @@ var networkVerbCapabilities = [
6100
6143
  roles: ["user"],
6101
6144
  description: "Revoke a WireGuard VPN peer from a reservation.",
6102
6145
  mutation: "preview-confirm",
6103
- input: z28.object({
6104
- reservationId: z28.string(),
6105
- peerId: z28.string(),
6106
- confirm: z28.boolean().optional()
6146
+ input: z29.object({
6147
+ reservationId: z29.string(),
6148
+ peerId: z29.string(),
6149
+ confirm: z29.boolean().optional()
6107
6150
  }),
6108
6151
  mcp: { name: "vpn_peers_delete" },
6109
6152
  slack: false,
@@ -6112,20 +6155,20 @@ var networkVerbCapabilities = [
6112
6155
  ];
6113
6156
 
6114
6157
  // ../../packages/capabilities/dist/capabilities/registry.js
6115
- import { z as z29 } from "zod";
6158
+ import { z as z30 } from "zod";
6116
6159
  var globalInput2 = {
6117
- $positionals: z29.array(z29.string()).default([]),
6118
- yes: z29.boolean().optional()
6160
+ $positionals: z30.array(z30.string()).default([]),
6161
+ yes: z30.boolean().optional()
6119
6162
  };
6120
- var emptyInput4 = z29.object(globalInput2).strict();
6121
- var repositoryInput = z29.object({
6163
+ var emptyInput4 = z30.object(globalInput2).strict();
6164
+ var repositoryInput = z30.object({
6122
6165
  ...globalInput2,
6123
- repository: z29.string().optional().describe("Repository name, with or without your organization's namespace.")
6166
+ repository: z30.string().optional().describe("Repository name, with or without your organization's namespace.")
6124
6167
  }).strict();
6125
- var tagInput = z29.object({
6168
+ var tagInput = z30.object({
6126
6169
  ...globalInput2,
6127
- repository: z29.string().optional().describe("Repository name, with or without your organization's namespace."),
6128
- tag: z29.string().optional().describe("Tag to delete, such as v1.")
6170
+ repository: z30.string().optional().describe("Repository name, with or without your organization's namespace."),
6171
+ tag: z30.string().optional().describe("Tag to delete, such as v1.")
6129
6172
  }).strict();
6130
6173
  function cliInteraction(context) {
6131
6174
  return context.cli?.interaction;
@@ -6432,14 +6475,14 @@ var registryCapabilities = [
6432
6475
  ];
6433
6476
 
6434
6477
  // ../../packages/capabilities/dist/capabilities/reservation-list.js
6435
- import { z as z30 } from "zod";
6436
- var reservationListInput = z30.object({
6437
- customerId: z30.string().uuid().optional(),
6438
- listingId: z30.string().uuid().optional(),
6439
- listingTermId: z30.string().uuid().optional(),
6440
- status: z30.enum(["confirmed", "active", "completed", "cancelled"]).optional(),
6441
- cursor: z30.string().optional(),
6442
- limit: z30.number().int().min(1).max(100).optional()
6478
+ import { z as z31 } from "zod";
6479
+ var reservationListInput = z31.object({
6480
+ customerId: z31.string().uuid().optional(),
6481
+ listingId: z31.string().uuid().optional(),
6482
+ listingTermId: z31.string().uuid().optional(),
6483
+ status: z31.enum(["confirmed", "active", "completed", "cancelled"]).optional(),
6484
+ cursor: z31.string().optional(),
6485
+ limit: z31.number().int().min(1).max(100).optional()
6443
6486
  });
6444
6487
  var reservationListCapability = defineCapability({
6445
6488
  id: "reservation.list",
@@ -6490,20 +6533,20 @@ var reservationListCapability = defineCapability({
6490
6533
  });
6491
6534
 
6492
6535
  // ../../packages/capabilities/dist/capabilities/volumes.js
6493
- import { z as z31 } from "zod";
6494
- var storageCliInput = z31.object({
6495
- $positionals: z31.array(z31.string()).optional(),
6496
- contentType: z31.string().optional(),
6497
- cursor: z31.string().optional(),
6498
- idempotencyKey: z31.string().optional(),
6499
- limit: z31.union([z31.string(), z31.number()]).optional(),
6500
- name: z31.string().optional(),
6501
- output: z31.string().optional(),
6502
- overwrite: z31.boolean().optional(),
6503
- path: z31.string().optional(),
6504
- prefix: z31.string().optional(),
6505
- source: z31.string().optional(),
6506
- yes: z31.boolean().optional()
6536
+ import { z as z32 } from "zod";
6537
+ var storageCliInput = z32.object({
6538
+ $positionals: z32.array(z32.string()).optional(),
6539
+ contentType: z32.string().optional(),
6540
+ cursor: z32.string().optional(),
6541
+ idempotencyKey: z32.string().optional(),
6542
+ limit: z32.union([z32.string(), z32.number()]).optional(),
6543
+ name: z32.string().optional(),
6544
+ output: z32.string().optional(),
6545
+ overwrite: z32.boolean().optional(),
6546
+ path: z32.string().optional(),
6547
+ prefix: z32.string().optional(),
6548
+ source: z32.string().optional(),
6549
+ yes: z32.boolean().optional()
6507
6550
  }).strict();
6508
6551
  function storageExecutor(context) {
6509
6552
  const interaction = context.cli?.interaction;
@@ -6539,7 +6582,7 @@ function storageCapability({ id, command, description, mutation, outcome, human,
6539
6582
  execute: async (context, input) => storageExecutor(context)(id, input)
6540
6583
  });
6541
6584
  }
6542
- var filesListInput = z31.object({ driveId: z31.string(), prefix: z31.string().optional() });
6585
+ var filesListInput = z32.object({ driveId: z32.string(), prefix: z32.string().optional() });
6543
6586
  async function* listFiles(context, input) {
6544
6587
  const prefix = input.prefix ?? "";
6545
6588
  const folder = prefix.includes("/") ? prefix.slice(0, prefix.lastIndexOf("/")) : "";
@@ -6699,22 +6742,22 @@ var volumeCapabilities = [
6699
6742
  related: ["volumes files list"]
6700
6743
  })
6701
6744
  ];
6702
- var reservationInput = z31.object({ reservationId: z31.string() });
6703
- var reservationWrite = reservationInput.extend({ confirm: z31.boolean().optional() });
6704
- var driveInput = z31.object({ driveId: z31.string() });
6705
- var driveWrite = driveInput.extend({ confirm: z31.boolean().optional() });
6706
- var bucketConnectInput = z31.object({
6707
- provider: z31.enum(["gcs", "s3", "r2"]),
6708
- bucket: z31.string(),
6709
- name: z31.string().optional(),
6710
- prefix: z31.string().optional(),
6711
- region: z31.string().optional(),
6712
- endpointUrl: z31.string().optional(),
6713
- accountId: z31.string().optional(),
6714
- accessKeyId: z31.string().optional(),
6715
- secretAccessKey: z31.string().optional(),
6716
- readOnly: z31.boolean().optional(),
6717
- confirm: z31.boolean().optional()
6745
+ var reservationInput = z32.object({ reservationId: z32.string() });
6746
+ var reservationWrite = reservationInput.extend({ confirm: z32.boolean().optional() });
6747
+ var driveInput = z32.object({ driveId: z32.string() });
6748
+ var driveWrite = driveInput.extend({ confirm: z32.boolean().optional() });
6749
+ var bucketConnectInput = z32.object({
6750
+ provider: z32.enum(["gcs", "s3", "r2"]),
6751
+ bucket: z32.string(),
6752
+ name: z32.string().optional(),
6753
+ prefix: z32.string().optional(),
6754
+ region: z32.string().optional(),
6755
+ endpointUrl: z32.string().optional(),
6756
+ accountId: z32.string().optional(),
6757
+ accessKeyId: z32.string().optional(),
6758
+ secretAccessKey: z32.string().optional(),
6759
+ readOnly: z32.boolean().optional(),
6760
+ confirm: z32.boolean().optional()
6718
6761
  }).refine((input) => !(input.provider === "gcs" && (input.accessKeyId || input.secretAccessKey)), {
6719
6762
  message: "Access key credentials are only supported for S3-compatible buckets."
6720
6763
  }).refine((input) => Boolean(input.accessKeyId) === Boolean(input.secretAccessKey), {
@@ -6729,7 +6772,7 @@ var storageVerbCapabilities = [
6729
6772
  roles: ["user"],
6730
6773
  description: "Attach an existing storage volume (drive) to a reservation -- the inverse of storage_undeploy. Always mounts at the platform path /home/tenant/volume (fuse). There is no customer mount-path override.",
6731
6774
  mutation: "preview-confirm",
6732
- input: reservationWrite.extend({ driveId: z31.string(), readOnly: z31.boolean().optional() }),
6775
+ input: reservationWrite.extend({ driveId: z32.string(), readOnly: z32.boolean().optional() }),
6733
6776
  slack: false,
6734
6777
  execute: (ctx, input) => deployReservationStorage(ctx.fetch, input.reservationId, {
6735
6778
  drive_id: input.driveId,
@@ -6762,7 +6805,7 @@ var storageVerbCapabilities = [
6762
6805
  roles: ["user"],
6763
6806
  description: "List reservations that can receive a storage deploy, grouped the same way as the console picker.",
6764
6807
  mutation: "read",
6765
- input: z31.object({}),
6808
+ input: z32.object({}),
6766
6809
  slack: false,
6767
6810
  execute: (ctx) => listStorageTargets(ctx.fetch)
6768
6811
  }),
@@ -6772,9 +6815,9 @@ var storageVerbCapabilities = [
6772
6815
  roles: ["user"],
6773
6816
  description: "List a page of storage volumes, newest updated first. Pass next_cursor as cursor to continue.",
6774
6817
  mutation: "read",
6775
- input: z31.object({
6776
- limit: z31.number().int().min(1).max(100).optional(),
6777
- cursor: z31.string().optional()
6818
+ input: z32.object({
6819
+ limit: z32.number().int().min(1).max(100).optional(),
6820
+ cursor: z32.string().optional()
6778
6821
  }),
6779
6822
  mcp: { name: "storage_volumes_list" },
6780
6823
  slack: false,
@@ -6800,10 +6843,10 @@ var storageVerbCapabilities = [
6800
6843
  roles: ["user"],
6801
6844
  description: "Create a storage volume (drive), optionally cloned from an existing source drive.",
6802
6845
  mutation: "preview-confirm",
6803
- input: z31.object({
6804
- name: z31.string(),
6805
- sourceDriveId: z31.string().optional(),
6806
- confirm: z31.boolean().optional()
6846
+ input: z32.object({
6847
+ name: z32.string(),
6848
+ sourceDriveId: z32.string().optional(),
6849
+ confirm: z32.boolean().optional()
6807
6850
  }),
6808
6851
  mcp: { name: "storage_volumes_create" },
6809
6852
  slack: false,
@@ -6896,7 +6939,7 @@ var storageVerbCapabilities = [
6896
6939
  roles: ["user"],
6897
6940
  description: "Update a connected S3-compatible bucket's access key credentials.",
6898
6941
  mutation: "preview-confirm",
6899
- input: driveWrite.extend({ accessKeyId: z31.string(), secretAccessKey: z31.string() }),
6942
+ input: driveWrite.extend({ accessKeyId: z32.string(), secretAccessKey: z32.string() }),
6900
6943
  mcp: { name: "storage_buckets_update_credentials" },
6901
6944
  slack: false,
6902
6945
  execute: (ctx, input) => updateDrive(ctx.fetch, input.driveId, {
@@ -6949,7 +6992,7 @@ var catalog = [
6949
6992
  ...networkVerbCapabilities,
6950
6993
  ...accessVerbCapabilities,
6951
6994
  ...storageVerbCapabilities,
6952
- machinePushKeysCapability,
6995
+ reservationKeysPushCapability,
6953
6996
  ...metricsCapabilities,
6954
6997
  ...billingCapabilities,
6955
6998
  ...registryCapabilities,
@@ -7238,5 +7281,7 @@ export {
7238
7281
  metricsHistoryCapability,
7239
7282
  metricsSnapshotCapability,
7240
7283
  parseHardwareCatalog,
7284
+ sshKeyAssignmentStatusCapability,
7285
+ sshKeyDeliveryStatus,
7241
7286
  volumeFilesListCapability
7242
7287
  };