@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.
- package/package.json +1 -1
- package/src/vm-commands.mjs +22 -37
- package/vendor/capabilities/cli.js +453 -408
|
@@ -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
|
-
|
|
3384
|
-
|
|
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:
|
|
3387
|
-
idempotencyKey:
|
|
3388
|
-
key:
|
|
3389
|
-
keyId:
|
|
3390
|
-
label:
|
|
3391
|
-
machine:
|
|
3392
|
-
machines:
|
|
3393
|
-
mode:
|
|
3394
|
-
mountAccess:
|
|
3395
|
-
network:
|
|
3396
|
-
noWait:
|
|
3397
|
-
nodes:
|
|
3398
|
-
publicKey:
|
|
3399
|
-
publicKeyFile:
|
|
3400
|
-
reservation:
|
|
3401
|
-
resume:
|
|
3402
|
-
timeout:
|
|
3403
|
-
username:
|
|
3404
|
-
vms:
|
|
3405
|
-
wait:
|
|
3406
|
-
yes:
|
|
3407
|
-
volume:
|
|
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 =
|
|
3467
|
+
var keyListInput = z18.object({
|
|
3410
3468
|
$positionals: positionals2,
|
|
3411
|
-
cursor:
|
|
3412
|
-
limit:
|
|
3469
|
+
cursor: z18.string().optional(),
|
|
3470
|
+
limit: z18.coerce.number().int().min(1).max(500).optional()
|
|
3413
3471
|
}).strict();
|
|
3414
|
-
var keyMutationInput =
|
|
3472
|
+
var keyMutationInput = z18.object({
|
|
3415
3473
|
$positionals: positionals2,
|
|
3416
|
-
idempotencyKey:
|
|
3417
|
-
key:
|
|
3418
|
-
keyId:
|
|
3419
|
-
label:
|
|
3420
|
-
publicKey:
|
|
3421
|
-
publicKeyFile:
|
|
3422
|
-
yes:
|
|
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 =
|
|
3482
|
+
var machineListInput = z18.object({
|
|
3425
3483
|
$positionals: positionals2,
|
|
3426
|
-
cursor:
|
|
3427
|
-
limit:
|
|
3484
|
+
cursor: z18.string().optional(),
|
|
3485
|
+
limit: z18.coerce.number().int().min(1).max(500).optional()
|
|
3428
3486
|
}).strict();
|
|
3429
|
-
var machineShowInput =
|
|
3487
|
+
var machineShowInput = z18.object({
|
|
3430
3488
|
$positionals: positionals2,
|
|
3431
|
-
guided:
|
|
3489
|
+
guided: z18.boolean().optional()
|
|
3432
3490
|
}).strict();
|
|
3433
|
-
var machineWaitInput =
|
|
3491
|
+
var machineWaitInput = z18.object({
|
|
3434
3492
|
$positionals: positionals2,
|
|
3435
|
-
guided:
|
|
3436
|
-
timeout:
|
|
3493
|
+
guided: z18.boolean().optional(),
|
|
3494
|
+
timeout: z18.string().optional()
|
|
3437
3495
|
}).strict();
|
|
3438
|
-
var machineSwitchInput =
|
|
3496
|
+
var machineSwitchInput = z18.object({
|
|
3439
3497
|
$positionals: positionals2,
|
|
3440
|
-
guided:
|
|
3441
|
-
eraseLocalData:
|
|
3442
|
-
idempotencyKey:
|
|
3443
|
-
mode:
|
|
3444
|
-
network:
|
|
3445
|
-
noWait:
|
|
3446
|
-
timeout:
|
|
3447
|
-
wait:
|
|
3448
|
-
yes:
|
|
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 =
|
|
3508
|
+
var machineMaintenanceInput = z18.object({
|
|
3451
3509
|
$positionals: positionals2,
|
|
3452
|
-
eraseLocalData:
|
|
3453
|
-
guided:
|
|
3454
|
-
idempotencyKey:
|
|
3455
|
-
noWait:
|
|
3456
|
-
timeout:
|
|
3457
|
-
wait:
|
|
3458
|
-
yes:
|
|
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 =
|
|
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:
|
|
3853
|
-
description: "Show
|
|
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:
|
|
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 =
|
|
3888
|
-
limit:
|
|
3889
|
-
cursor:
|
|
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 =
|
|
3892
|
-
publicKey:
|
|
3893
|
-
label:
|
|
3894
|
-
confirm:
|
|
3953
|
+
var publicKeyInput = z18.object({
|
|
3954
|
+
publicKey: z18.string(),
|
|
3955
|
+
label: z18.string().optional(),
|
|
3956
|
+
confirm: z18.boolean().optional()
|
|
3895
3957
|
});
|
|
3896
|
-
var keyIdInput =
|
|
3897
|
-
var nodeIdInput =
|
|
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:
|
|
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:
|
|
3920
|
-
reservationId:
|
|
3921
|
-
sshKeyIds:
|
|
3922
|
-
username:
|
|
3923
|
-
machineCount:
|
|
3924
|
-
requestId:
|
|
3925
|
-
accessMode:
|
|
3926
|
-
networkMode:
|
|
3927
|
-
diskId:
|
|
3928
|
-
storageLoadDriveId:
|
|
3929
|
-
storageSaveDriveId:
|
|
3930
|
-
confirm:
|
|
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:
|
|
3953
|
-
reservationId:
|
|
3954
|
-
networkMode:
|
|
3955
|
-
sshKeyIds:
|
|
3956
|
-
accessMode:
|
|
3957
|
-
username:
|
|
3958
|
-
requestId:
|
|
3959
|
-
confirm:
|
|
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:
|
|
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:
|
|
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
|
|
4111
|
-
var creditGrantInput =
|
|
4112
|
-
organizationId:
|
|
4113
|
-
adjustmentId:
|
|
4114
|
-
amountCents:
|
|
4115
|
-
direction:
|
|
4116
|
-
note:
|
|
4117
|
-
confirm:
|
|
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
|
|
4179
|
-
var emptyInput2 =
|
|
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 =
|
|
4187
|
-
$positionals:
|
|
4188
|
-
major:
|
|
4229
|
+
var updateInput = z20.object({
|
|
4230
|
+
$positionals: z20.array(z20.string()).max(0).default([]),
|
|
4231
|
+
major: z20.boolean().optional()
|
|
4189
4232
|
});
|
|
4190
|
-
var completionInput =
|
|
4191
|
-
$positionals:
|
|
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
|
|
4333
|
-
var clusterCliInput =
|
|
4334
|
-
$positionals:
|
|
4335
|
-
cursor:
|
|
4336
|
-
guided:
|
|
4337
|
-
idempotencyKey:
|
|
4338
|
-
limit:
|
|
4339
|
-
machine:
|
|
4340
|
-
machines:
|
|
4341
|
-
network:
|
|
4342
|
-
noWait:
|
|
4343
|
-
nodes:
|
|
4344
|
-
output:
|
|
4345
|
-
overwrite:
|
|
4346
|
-
timeout:
|
|
4347
|
-
wait:
|
|
4348
|
-
yes:
|
|
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 =
|
|
4477
|
-
var reservationCluster =
|
|
4478
|
-
var controllerNode =
|
|
4479
|
-
controllerId:
|
|
4480
|
-
nodeId:
|
|
4481
|
-
confirm:
|
|
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:
|
|
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:
|
|
4502
|
-
cursor:
|
|
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:
|
|
4518
|
-
reservationId:
|
|
4560
|
+
input: z21.object({
|
|
4561
|
+
reservationId: z21.string(),
|
|
4519
4562
|
type: clusterType,
|
|
4520
|
-
networkMode:
|
|
4521
|
-
nodeIds:
|
|
4522
|
-
nodeCount:
|
|
4523
|
-
confirm:
|
|
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:
|
|
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:
|
|
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
|
|
4611
|
-
var pageInput2 =
|
|
4612
|
-
$positionals:
|
|
4613
|
-
cursor:
|
|
4614
|
-
limit:
|
|
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 =
|
|
4617
|
-
$positionals:
|
|
4659
|
+
var showInput = z22.object({
|
|
4660
|
+
$positionals: z22.array(z22.string()).optional()
|
|
4618
4661
|
}).strict();
|
|
4619
|
-
var verificationInput =
|
|
4620
|
-
$positionals:
|
|
4621
|
-
idempotencyKey:
|
|
4662
|
+
var verificationInput = z22.object({
|
|
4663
|
+
$positionals: z22.array(z22.string()).optional(),
|
|
4664
|
+
idempotencyKey: z22.string().optional()
|
|
4622
4665
|
}).strict();
|
|
4623
|
-
var disconnectInput =
|
|
4624
|
-
$positionals:
|
|
4625
|
-
idempotencyKey:
|
|
4626
|
-
yes:
|
|
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 =
|
|
4629
|
-
$positionals:
|
|
4630
|
-
accessKeyId:
|
|
4631
|
-
accountId:
|
|
4632
|
-
bucket:
|
|
4633
|
-
endpointUrl:
|
|
4634
|
-
idempotencyKey:
|
|
4635
|
-
name:
|
|
4636
|
-
prefix:
|
|
4637
|
-
readOnly:
|
|
4638
|
-
readWrite:
|
|
4639
|
-
region:
|
|
4640
|
-
secretAccessKeyFile:
|
|
4641
|
-
url:
|
|
4642
|
-
yes:
|
|
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 =
|
|
4645
|
-
$positionals:
|
|
4646
|
-
accessKeyId:
|
|
4647
|
-
idempotencyKey:
|
|
4648
|
-
secretAccessKeyFile:
|
|
4649
|
-
yes:
|
|
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 =
|
|
4652
|
-
$positionals:
|
|
4653
|
-
idempotencyKey:
|
|
4654
|
-
noWait:
|
|
4655
|
-
reservation:
|
|
4656
|
-
timeout:
|
|
4657
|
-
wait:
|
|
4658
|
-
yes:
|
|
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 =
|
|
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:
|
|
4710
|
-
limit:
|
|
4711
|
-
cursor:
|
|
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
|
|
4866
|
-
var positionals3 =
|
|
4867
|
-
var evidenceInput =
|
|
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:
|
|
4870
|
-
count:
|
|
4871
|
-
cursor:
|
|
4872
|
-
end:
|
|
4873
|
-
follow:
|
|
4874
|
-
guided:
|
|
4875
|
-
interval:
|
|
4876
|
-
limit:
|
|
4877
|
-
maxPoints:
|
|
4878
|
-
start:
|
|
4879
|
-
stream:
|
|
4880
|
-
timeout:
|
|
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
|
|
5010
|
-
var metricInput =
|
|
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:
|
|
5047
|
-
end:
|
|
5048
|
-
maxPoints:
|
|
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
|
|
5065
|
-
var mountInput =
|
|
5066
|
-
$positionals:
|
|
5067
|
-
access:
|
|
5068
|
-
cursor:
|
|
5069
|
-
idempotencyKey:
|
|
5070
|
-
limit:
|
|
5071
|
-
noWait:
|
|
5072
|
-
timeout:
|
|
5073
|
-
volume:
|
|
5074
|
-
wait:
|
|
5075
|
-
yes:
|
|
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
|
|
5185
|
-
var emptyInput3 =
|
|
5186
|
-
var loginInput =
|
|
5187
|
-
authBase:
|
|
5188
|
-
noBrowser:
|
|
5189
|
-
pollInterval:
|
|
5190
|
-
timeout:
|
|
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
|
|
5310
|
-
var listingCreateInput =
|
|
5311
|
-
organizationId:
|
|
5312
|
-
organization_id:
|
|
5313
|
-
facilityId:
|
|
5314
|
-
facility_id:
|
|
5315
|
-
kind:
|
|
5316
|
-
gpu:
|
|
5317
|
-
cpu:
|
|
5318
|
-
site:
|
|
5319
|
-
fabric:
|
|
5320
|
-
min_nodes:
|
|
5321
|
-
starts_after:
|
|
5322
|
-
starts_before:
|
|
5323
|
-
ends_after:
|
|
5324
|
-
ends_before:
|
|
5325
|
-
gpu_type:
|
|
5326
|
-
node_model:
|
|
5327
|
-
fabric_type:
|
|
5328
|
-
node_count:
|
|
5329
|
-
gpus_per_node:
|
|
5330
|
-
cores_per_node:
|
|
5331
|
-
site_nickname:
|
|
5332
|
-
site_supplier:
|
|
5333
|
-
ram:
|
|
5334
|
-
storage:
|
|
5335
|
-
internet:
|
|
5336
|
-
network_hardware:
|
|
5337
|
-
available_start_at:
|
|
5338
|
-
available_end_at:
|
|
5339
|
-
available_from:
|
|
5340
|
-
available_to:
|
|
5341
|
-
buy_now_price_per_gpu_hour:
|
|
5342
|
-
deposit_percent:
|
|
5343
|
-
down_payment_cents:
|
|
5344
|
-
access_mode:
|
|
5345
|
-
state:
|
|
5346
|
-
price_omitted:
|
|
5347
|
-
announce:
|
|
5348
|
-
text:
|
|
5349
|
-
confirm:
|
|
5350
|
-
idempotencyKey:
|
|
5351
|
-
});
|
|
5352
|
-
var catalogTermsInput =
|
|
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
|
|
5651
|
-
var organizationInviteInput =
|
|
5652
|
-
organization_id:
|
|
5653
|
-
email:
|
|
5654
|
-
organization_role:
|
|
5655
|
-
send_email:
|
|
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
|
|
5758
|
+
import { z as z29 } from "zod";
|
|
5716
5759
|
var globalInput = {
|
|
5717
|
-
$positionals:
|
|
5718
|
-
guided:
|
|
5719
|
-
idempotencyKey:
|
|
5720
|
-
noBrowser:
|
|
5721
|
-
noWait:
|
|
5722
|
-
overwrite:
|
|
5723
|
-
print:
|
|
5724
|
-
wait:
|
|
5725
|
-
yes:
|
|
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 =
|
|
5728
|
-
var connectInput2 =
|
|
5770
|
+
var noOptionsInput = z29.object(globalInput).strict();
|
|
5771
|
+
var connectInput2 = z29.object({
|
|
5729
5772
|
...globalInput,
|
|
5730
|
-
identityFile:
|
|
5731
|
-
output:
|
|
5732
|
-
user:
|
|
5773
|
+
identityFile: z29.string().optional(),
|
|
5774
|
+
output: z29.string().optional(),
|
|
5775
|
+
user: z29.string().optional()
|
|
5733
5776
|
}).strict();
|
|
5734
|
-
var listInput =
|
|
5735
|
-
var networkCreateInput =
|
|
5736
|
-
var networkUpdateInput =
|
|
5737
|
-
var vpnConfigureInput =
|
|
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:
|
|
5740
|
-
output:
|
|
5741
|
-
privateKey:
|
|
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 =
|
|
5987
|
-
networkId:
|
|
5988
|
-
name:
|
|
5989
|
-
description:
|
|
5990
|
-
clearDescription:
|
|
5991
|
-
confirm:
|
|
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:
|
|
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:
|
|
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:
|
|
6025
|
-
name:
|
|
6026
|
-
cidr:
|
|
6027
|
-
description:
|
|
6028
|
-
confirm:
|
|
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:
|
|
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:
|
|
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:
|
|
6085
|
-
reservationId:
|
|
6086
|
-
publicKey:
|
|
6087
|
-
label:
|
|
6088
|
-
confirm:
|
|
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:
|
|
6104
|
-
reservationId:
|
|
6105
|
-
peerId:
|
|
6106
|
-
confirm:
|
|
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
|
|
6158
|
+
import { z as z30 } from "zod";
|
|
6116
6159
|
var globalInput2 = {
|
|
6117
|
-
$positionals:
|
|
6118
|
-
yes:
|
|
6160
|
+
$positionals: z30.array(z30.string()).default([]),
|
|
6161
|
+
yes: z30.boolean().optional()
|
|
6119
6162
|
};
|
|
6120
|
-
var emptyInput4 =
|
|
6121
|
-
var repositoryInput =
|
|
6163
|
+
var emptyInput4 = z30.object(globalInput2).strict();
|
|
6164
|
+
var repositoryInput = z30.object({
|
|
6122
6165
|
...globalInput2,
|
|
6123
|
-
repository:
|
|
6166
|
+
repository: z30.string().optional().describe("Repository name, with or without your organization's namespace.")
|
|
6124
6167
|
}).strict();
|
|
6125
|
-
var tagInput =
|
|
6168
|
+
var tagInput = z30.object({
|
|
6126
6169
|
...globalInput2,
|
|
6127
|
-
repository:
|
|
6128
|
-
tag:
|
|
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
|
|
6436
|
-
var reservationListInput =
|
|
6437
|
-
customerId:
|
|
6438
|
-
listingId:
|
|
6439
|
-
listingTermId:
|
|
6440
|
-
status:
|
|
6441
|
-
cursor:
|
|
6442
|
-
limit:
|
|
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
|
|
6494
|
-
var storageCliInput =
|
|
6495
|
-
$positionals:
|
|
6496
|
-
contentType:
|
|
6497
|
-
cursor:
|
|
6498
|
-
idempotencyKey:
|
|
6499
|
-
limit:
|
|
6500
|
-
name:
|
|
6501
|
-
output:
|
|
6502
|
-
overwrite:
|
|
6503
|
-
path:
|
|
6504
|
-
prefix:
|
|
6505
|
-
source:
|
|
6506
|
-
yes:
|
|
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 =
|
|
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 =
|
|
6703
|
-
var reservationWrite = reservationInput.extend({ confirm:
|
|
6704
|
-
var driveInput =
|
|
6705
|
-
var driveWrite = driveInput.extend({ confirm:
|
|
6706
|
-
var bucketConnectInput =
|
|
6707
|
-
provider:
|
|
6708
|
-
bucket:
|
|
6709
|
-
name:
|
|
6710
|
-
prefix:
|
|
6711
|
-
region:
|
|
6712
|
-
endpointUrl:
|
|
6713
|
-
accountId:
|
|
6714
|
-
accessKeyId:
|
|
6715
|
-
secretAccessKey:
|
|
6716
|
-
readOnly:
|
|
6717
|
-
confirm:
|
|
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:
|
|
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:
|
|
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:
|
|
6776
|
-
limit:
|
|
6777
|
-
cursor:
|
|
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:
|
|
6804
|
-
name:
|
|
6805
|
-
sourceDriveId:
|
|
6806
|
-
confirm:
|
|
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:
|
|
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
|
-
|
|
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
|
};
|