@ornncompute/cli 1.0.135 → 1.0.137

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ornncompute/cli",
3
- "version": "1.0.135",
3
+ "version": "1.0.137",
4
4
  "description": "Command-line interface for Ornn compute access workflows.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -375,7 +375,6 @@ var adminSshCapability = defineCapability({
375
375
  roles: ["admin"],
376
376
  description: "Open staff SSH using a temporary local key and a short-lived node certificate.",
377
377
  mutation: "local",
378
- http: { method: "POST", path: "/v1/orchestrator/nodes/{node_id}/ssh-certificates" },
379
378
  mcp: false,
380
379
  slack: false,
381
380
  cli: {
@@ -670,7 +669,6 @@ var listFacilitiesCapability = defineCapability({
670
669
  roles: ["admin"],
671
670
  description: "List facilities (id, display name, region, supplier organization id). Optional organization_id filter. When nextCursor is present, pass it back as cursor for the next page. Use facilities.show to resolve one facility id.",
672
671
  mutation: "read",
673
- http: { method: "GET", path: "/internal/v1/facilities" },
674
672
  slack: {
675
673
  parameters: {
676
674
  type: "object",
@@ -709,7 +707,6 @@ var facilityShowCapability = defineCapability({
709
707
  roles: ["admin"],
710
708
  description: "Resolve one facility id (e.g. a listing's facilityId) to its display name, region and status.",
711
709
  mutation: "read",
712
- http: { method: "GET", path: "/internal/v1/facilities/{facilityId}" },
713
710
  cli: false,
714
711
  slack: {
715
712
  parameters: {
@@ -732,7 +729,6 @@ var listNodesCapability = defineCapability({
732
729
  roles: ["user", "admin"],
733
730
  description: "List nodes. Users see their own reserved machines. Admins see enrolled and ghost nodes. Call with no filters for the whole fleet. Optional reservation_id lists the nodes on one reservation (find a customer's reservations with reservation.list customerId). Optional organization_id (supplier), facility_id, and status (ghost, bare-metal) narrow the same list. Paginate large fleets with cursor + max: pass the response's next_cursor back as cursor to fetch the next page; next_cursor is omitted once the page is not full. Never invent nodes. Never print private keys.",
734
731
  mutation: "read",
735
- http: { method: "GET", path: "/nodes" },
736
732
  slack: {
737
733
  parameters: {
738
734
  type: "object",
@@ -790,7 +786,6 @@ var nodeExecCapability = defineCapability({
790
786
  roles: ["admin"],
791
787
  description: "Admin-only. Run one unrestricted command over orchestrator SSH. Pass node_id for an enrolled node (uses its stored admin key), or host + private_key (+ optional username, default root, and port, default 22) for any host, including one not enrolled yet. Always pass timeout_seconds. Not an interactive shell. On NVIDIA hosts use nvidia-smi; on AMD Instinct use amd-smi. Runs on the tool call \u2014 no confirm, no y/N.",
792
788
  mutation: "immediate",
793
- http: { method: "POST", path: "/v1/staff/remote" },
794
789
  slack: {
795
790
  parameters: {
796
791
  type: "object",
@@ -821,7 +816,6 @@ var nodeTerminateCapability = defineCapability({
821
816
  roles: ["admin"],
822
817
  description: "Admin-only. Mark a node terminated and clear its assignment once no undeleted VM remains on it. Does no host cleanup. There is no deenroll verb. Slack waits for a human confirm. ",
823
818
  mutation: "preview-confirm",
824
- http: { method: "POST", path: "/v1/orchestrator/nodes/{id}/terminate" },
825
819
  cli: {
826
820
  command: ["admin", "nodes", "terminate"],
827
821
  vnext: {
@@ -962,7 +956,6 @@ var telemetryLatestCapability = defineCapability({
962
956
  roles: ["user", "admin"],
963
957
  description: "One-shot telemetry window for one node (start/end or span plus max_points). Users may only query a reserved machine. Admins may query any enrolled node. Pass a node UUID. Use this for heartbeat / last-seen / public_ip. Not a live stream.",
964
958
  mutation: "read",
965
- http: { method: "GET", path: "/v1/observability/nodes/{id}/telemetry/query" },
966
959
  slack: {
967
960
  parameters: {
968
961
  type: "object",
@@ -999,7 +992,6 @@ var telemetryLatestBatchCapability = defineCapability({
999
992
  roles: ["user", "admin"],
1000
993
  description: "Latest telemetry tip (last heartbeat, public_ip, GPU/CPU/memory utilization) for up to 100 nodes in one call. Prefer this over telemetry_latest per node when checking several nodes.",
1001
994
  mutation: "read",
1002
- http: { method: "POST", path: "/v1/observability/nodes/telemetry/latest" },
1003
995
  cli: false,
1004
996
  slack: {
1005
997
  parameters: {
@@ -1024,7 +1016,6 @@ var logsLatestCapability = defineCapability({
1024
1016
  roles: ["user", "admin"],
1025
1017
  description: "Stored kernel or serial logs, all severities, newest first. Optional start/before bounds can query any retained history; default is the seven days before now. First call omits cursor; subsequent pages pass next_cursor with the same start/before. Users only on a reserved machine. Not a live tail.",
1026
1018
  mutation: "read",
1027
- http: { method: "GET", path: "/v1/observability/nodes/{id}/logs/{stream}/query" },
1028
1019
  slack: {
1029
1020
  parameters: {
1030
1021
  type: "object",
@@ -1066,7 +1057,6 @@ var telemetrySnapshotCapability = defineCapability({
1066
1057
  roles: ["admin"],
1067
1058
  description: "Read the latest stored heartbeat with all staff-visible fields, including version, status, port context, and kernel-log coverage when stored. Works while the node is offline; check observed_at for staleness. limit=1 returns the latest row; larger limits only scan a bounded recent window, at most 24h. Use telemetry.latest for historical numeric windows.",
1068
1059
  mutation: "read",
1069
- http: { method: "GET", path: "/v1/observability/nodes/{id}/telemetry/latest" },
1070
1060
  mcp: false,
1071
1061
  slack: {
1072
1062
  parameters: {
@@ -1090,7 +1080,6 @@ var telemetryTailCapability = defineCapability({
1090
1080
  roles: ["user", "admin"],
1091
1081
  description: "Live telemetry follow on the same Observability subscribe feed the graphs use. Users only on a reserved machine. Slack and MCP attach for duration (default 20s) and return events. Not telemetry.latest.",
1092
1082
  mutation: "read",
1093
- http: { method: "GET", path: "/v1/observability/nodes/{id}/telemetry/subscribe" },
1094
1083
  slack: {
1095
1084
  parameters: {
1096
1085
  type: "object",
@@ -1116,7 +1105,6 @@ var logsTailCapability = defineCapability({
1116
1105
  roles: ["user", "admin"],
1117
1106
  description: "Live kernel or serial log follow on the same Observability subscribe feed LogViewer uses. Users only on a reserved machine. Slack and MCP attach for duration (default 20s). Not logs.latest.",
1118
1107
  mutation: "read",
1119
- http: { method: "GET", path: "/v1/observability/nodes/{id}/logs/{stream}/subscribe" },
1120
1108
  slack: {
1121
1109
  parameters: {
1122
1110
  type: "object",
@@ -1193,7 +1181,6 @@ var tokensListCapability = defineCapability({
1193
1181
  roles: ["admin"],
1194
1182
  description: "List issued enrollment tokens (id, supplier organization_id, status, expiry). Does not return plaintext secrets.",
1195
1183
  mutation: "read",
1196
- http: { method: "GET", path: "/v1/orchestrator/enrollment-tokens" },
1197
1184
  slack: { parameters: { type: "object", properties: {} } },
1198
1185
  input: emptyInput,
1199
1186
  execute: async (ctx) => listEnrollmentTokens(ctx.fetch)
@@ -1204,7 +1191,6 @@ var tokensCreateCapability = defineCapability({
1204
1191
  roles: ["admin"],
1205
1192
  description: "Admin-only. Mint an enrollment token. Without a host this returns the curl installer. With host + private_key, orchestrator SSHs and runs that curl (same as Bulk Enroll). Never invent a command. Slack waits for a human confirm. ",
1206
1193
  mutation: "preview-confirm",
1207
- http: { method: "POST", path: "/v1/orchestrator/enrollment-tokens" },
1208
1194
  slack: {
1209
1195
  parameters: {
1210
1196
  type: "object",
@@ -1484,7 +1470,6 @@ var adminNodeHealthCapability = defineCapability({
1484
1470
  roles: ["admin"],
1485
1471
  description: "Read lifecycle and readiness facts for one enrolled node.",
1486
1472
  mutation: "read",
1487
- http: { method: "GET", path: "/v1/orchestrator/nodes/{id}" },
1488
1473
  cli: {
1489
1474
  command: ["admin", "nodes", "health"],
1490
1475
  vnext: adminHelp(["admin", "nodes", "health"], "Inspect lifecycle and readiness facts for one node.", "ornn admin nodes health <node-id>", "ornn admin nodes health <node-id> --format json", ["canonical node ID"])
@@ -1810,7 +1795,6 @@ var adminCapacityOffersCreateCapability = defineCapability({
1810
1795
  roles: ["admin"],
1811
1796
  description: "Create native capacity with an organization, a facilityId or a location, hardware, availability and advertised terms. A location is any state, city, address, or catalog region (us-west-3); Ornn places it in a catalog region and uses the organization's facility there. Primary capacity needs daysToRfs (0 when ready now) or both availableAt and availableUntil. nodeIds attach nodes at creation. Returns {listing, terms}. Requires an idempotencyKey reused on retries and confirm: true.",
1812
1797
  mutation: "preview-confirm",
1813
- http: { method: "POST", path: "/commerce/v2/listings" },
1814
1798
  input: nativeListingCreateInput,
1815
1799
  slack: false,
1816
1800
  cli: {
@@ -1899,7 +1883,6 @@ var listingsListCapability = defineCapability({
1899
1883
  roles: ["user"],
1900
1884
  description: "List native capacity listings. Primary listings require organization approval. Returns capacityListingId, hardware, capacity and availability; when nextCursor is present, pass it back as cursor for the next page. Read listings.terms separately for prices and durations.",
1901
1885
  mutation: "read",
1902
- http: { method: "GET", path: "/commerce/v2/listings" },
1903
1886
  input: listingsListInput,
1904
1887
  cli: {
1905
1888
  command: ["capacity-offers", "list"],
@@ -1928,7 +1911,6 @@ var listingShowCapability = defineCapability({
1928
1911
  roles: ["user"],
1929
1912
  description: "Show one native capacity listing. Returns capacityListingId, hardware, capacity and availability; use listings.terms for financial choices.",
1930
1913
  mutation: "read",
1931
- http: { method: "GET", path: "/commerce/v2/listings/{listingId}" },
1932
1914
  input: listingShowInput,
1933
1915
  cli: {
1934
1916
  command: ["capacity-offers", "show"],
@@ -1946,7 +1928,6 @@ var listingTermsCapability = defineCapability({
1946
1928
  roles: ["user"],
1947
1929
  description: "Read a capacity listing's advertised financial terms. Each term returns listingTermsId, capacityListingId, pricePerGpuHourMicroUsd, duration bounds, downPaymentCents and renewable. Use the parent's capacityListingId as listingId. Prices are gross integer micro-USD per GPU-hour (per vCPU-hour on CPU capacity), the price reservations.purchase expects.",
1948
1930
  mutation: "read",
1949
- http: { method: "GET", path: "/commerce/v2/listings/{listingId}/terms" },
1950
1931
  input: listingShowInput,
1951
1932
  cli: {
1952
1933
  command: ["capacity-offers", "terms"],
@@ -2001,7 +1982,6 @@ var listingRelistCapability = defineCapability({
2001
1982
  roles: ["user"],
2002
1983
  description: "Relist whole nodes of a reservation's capacity using a native availability window, nodeCount and financial terms. Buyers run on nodes Ornn assigns when their rental starts..",
2003
1984
  mutation: "preview-confirm",
2004
- http: { method: "POST", path: "/commerce/reservations/{reservationId}/relist" },
2005
1985
  input: listingRelistInput,
2006
1986
  cli: {
2007
1987
  command: ["capacity-offers", "relist"],
@@ -2032,7 +2012,6 @@ var listingUpdateCapability = defineCapability({
2032
2012
  roles: ["admin"],
2033
2013
  description: "Staff only: edit one advertised native financial term with its complete financial fields. Reuse idempotencyKey on retries..",
2034
2014
  mutation: "preview-confirm",
2035
- http: { method: "PATCH", path: "/commerce/v2/listings/{listingId}/terms/{listingTermsId}" },
2036
2015
  input: listingUpdateInput,
2037
2016
  cli: {
2038
2017
  command: ["admin", "capacity-offers", "update"],
@@ -2061,7 +2040,6 @@ var listingDelistCapability = defineCapability({
2061
2040
  roles: ["user"],
2062
2041
  description: "Delist a listing you own. Its unsold time leaves the market, its spot asks are cancelled and running spot reservations on it end. Windows already bought stay sold..",
2063
2042
  mutation: "preview-confirm",
2064
- http: { method: "POST", path: "/commerce/v2/listings/{listingId}/delist" },
2065
2043
  input: listingDelistInput,
2066
2044
  cli: {
2067
2045
  command: ["capacity-offers", "delist"],
@@ -2103,7 +2081,6 @@ var reservationsListCapability = defineCapability({
2103
2081
  roles: ["user"],
2104
2082
  description: "List this organization's reservations, schedule and spot alike (a running spot reservation has no end time). With listingId, list the trades on a listing you own. When nextCursor is present, pass it back as cursor for the next page.",
2105
2083
  mutation: "read",
2106
- http: { method: "GET", path: "/commerce/reservations" },
2107
2084
  input: reservationsListInput,
2108
2085
  cli: {
2109
2086
  command: ["reservations", "list"],
@@ -2126,7 +2103,6 @@ var reservationsShowCapability = defineCapability({
2126
2103
  roles: ["user"],
2127
2104
  description: "Show one reservation: kind, status, window, price and node count.",
2128
2105
  mutation: "read",
2129
- http: { method: "GET", path: "/commerce/reservations/{reservationId}" },
2130
2106
  input: reservationLookupInput,
2131
2107
  cli: {
2132
2108
  command: ["reservations", "show"],
@@ -2144,7 +2120,6 @@ var reservationInvoicesCapability = defineCapability({
2144
2120
  roles: ["user"],
2145
2121
  description: "List a reservation's invoices: the down payment and each billing period, with status and amount in cents.",
2146
2122
  mutation: "read",
2147
- http: { method: "GET", path: "/commerce/reservations/{reservationId}/invoices" },
2148
2123
  input: reservationLookupInput,
2149
2124
  cli: {
2150
2125
  command: ["reservations", "invoices"],
@@ -2572,7 +2547,6 @@ var marketEndCapability = defineCapability({
2572
2547
  roles: ["user"],
2573
2548
  description: "End a running fill: its reservation stops, its VMs stop, and its capacity goes back on the book..",
2574
2549
  mutation: "preview-confirm",
2575
- http: { method: "DELETE", path: "/commerce/reservations/{fillId}" },
2576
2550
  input: marketEndInput,
2577
2551
  cli: {
2578
2552
  command: ["market", "end"],
@@ -2813,7 +2787,6 @@ var adminEnrollmentTokenRevokeCapability = defineCapability({
2813
2787
  roles: ["admin"],
2814
2788
  description: "Internal staff only: revoke one exact enrollment-token generation after reconciling its durable goal.",
2815
2789
  mutation: "preview-confirm",
2816
- http: { method: "DELETE", path: "/v1/orchestrator/enrollment-tokens/{tokenId}" },
2817
2790
  cli: {
2818
2791
  command: ["admin", "enrollment-tokens", "revoke"],
2819
2792
  vnext: adminHelp3(["admin", "enrollment-tokens", "revoke"], "Revoke one exact enrollment-token generation.", "ornn admin enrollment-tokens revoke <token-id> [--expected-created-at TIME] []", "ornn admin enrollment-tokens revoke <token-id> --expected-created-at TIME --idempotency-key KEY --format json", ["canonical token UUID", "token created_at generation"], "Review the exact token generation and the loss of future enrollment access.")
@@ -2887,7 +2860,6 @@ var adminNodeEnrollCapability = defineCapability({
2887
2860
  roles: ["admin"],
2888
2861
  description: "Enroll one explicit node over SSH with an explicit supplier and facility assignment.",
2889
2862
  mutation: "preview-confirm",
2890
- http: { method: "POST", path: "/v1/staff/remote" },
2891
2863
  cli: {
2892
2864
  command: ["admin", "nodes", "enroll"],
2893
2865
  vnext: adminHelp3(["admin", "nodes", "enroll"], "Install Ornn management on one explicitly assigned node.", "ornn admin nodes enroll <node-id> --host HOST --supplier UUID --facility UUID [--filter COMPARTMENT_IDS] --identity-file PATH --token-ttl SECONDS --replace-existing-management [--verbose] []", "Unsupported: remote enrollment requires an eligible human terminal.", ["canonical node UUID", "canonical supplier organization UUID", "canonical facility UUID"], "Review node identity, SSH target, assignment, compartment filter, and replacement of existing management.")
@@ -2957,7 +2929,6 @@ var adminNodeExportKeyCapability = defineCapability({
2957
2929
  roles: ["admin"],
2958
2930
  description: "Export an enrolled node's private admin key only through an explicit secret destination.",
2959
2931
  mutation: "read",
2960
- http: { method: "GET", path: "/v1/orchestrator/enrollment/admin-ssh-key" },
2961
2932
  cli: {
2962
2933
  command: ["admin", "nodes", "export-key"],
2963
2934
  vnext: adminHelp3(["admin", "nodes", "export-key"], "Export one node admin key deliberately.", "ornn admin nodes export-key <node-id> (--print | --output PATH) [--overwrite]", "ornn admin nodes export-key <node-id> --output PATH [--overwrite] --format json", ["canonical node UUID"])
@@ -2976,7 +2947,6 @@ var adminNodeRotateKeyCapability = defineCapability({
2976
2947
  roles: ["admin"],
2977
2948
  description: "Replace a node's admin key and export the new private key explicitly.",
2978
2949
  mutation: "preview-confirm",
2979
- http: { method: "POST", path: "/v1/orchestrator/enrollment/admin-ssh-key" },
2980
2950
  cli: {
2981
2951
  command: ["admin", "nodes", "rotate-key"],
2982
2952
  vnext: adminHelp3(["admin", "nodes", "rotate-key"], "Rotate one node admin key and export the replacement deliberately.", "ornn admin nodes rotate-key <node-id> (--print | --output PATH) [--overwrite] []", "Unsupported: key rotation requires an eligible human terminal.", ["canonical node UUID"], "Review the node and loss of access through the previous private key.")
@@ -3043,7 +3013,6 @@ var adminNodeDiagnoseCapability = defineCapability({
3043
3013
  roles: ["admin"],
3044
3014
  description: "Queue the staff-authorized diagnosis workflow for one exact node after a live review.",
3045
3015
  mutation: "preview-confirm",
3046
- http: { method: "POST", path: "/v1/benchmark/jobs" },
3047
3016
  cli: {
3048
3017
  command: ["admin", "nodes", "diagnose"],
3049
3018
  vnext: adminNodeHelp(["admin", "nodes", "diagnose"], "Queue diagnosis for one exact node.", "ornn admin nodes diagnose <node-id>", "Unavailable in machine and redirected modes; use an eligible human terminal.", "Exact node, lifecycle, reachability, and diagnosis workflow.")
@@ -3188,7 +3157,6 @@ var nodeSanitizeStartCapability = defineCapability({
3188
3157
  roles: ["admin"],
3189
3158
  description: "Destructive staff maintenance write: start node drive sanitization with a stable job UUID. data_wipe erases local data drives and keeps the OS; ram_roundtrip does not erase drives; node_turnover wipes and restores the whole node; host_restore restores the host. Supply the exact operation-specific confirmation phrase yourself; it is never filled automatically. The job then waits for staff approval. Slack waits for a human confirm.",
3190
3159
  mutation: "preview-confirm",
3191
- http: { method: "POST", path: "/v1/orchestrator/nodes/{node_id}/sanitize-drives" },
3192
3160
  cli: {
3193
3161
  command: ["admin", "nodes", "sanitize"],
3194
3162
  vnext: sanitizeHelp(["admin", "nodes", "sanitize"], "Start one held sanitize job on one exact node.", "ornn admin nodes sanitize <node-id> --operation data_wipe|ram_roundtrip|node_turnover|host_restore --confirmation PHRASE [--recovery-uuid UUID] [--job-id UUID] [--batch UUID]", "Exact node, operation, job UUID, and confirmation phrase.")
@@ -3209,7 +3177,6 @@ var nodeSanitizeShowCapability = defineCapability({
3209
3177
  roles: ["admin"],
3210
3178
  description: "Staff maintenance read: show the bounded JSON status for one node sanitize job, including its operation, approval, manual cleanup attestation, and per-drive results. This does not request an NDJSON download.",
3211
3179
  mutation: "read",
3212
- http: { method: "GET", path: "/v1/orchestrator/nodes/{node_id}/sanitize-drives/{job_id}" },
3213
3180
  cli: {
3214
3181
  command: ["admin", "nodes", "sanitize-status"],
3215
3182
  vnext: sanitizeHelp(["admin", "nodes", "sanitize-status"], "Read one sanitize job on one exact node.", "ornn admin nodes sanitize-status <node-id> --job UUID")
@@ -3228,7 +3195,6 @@ var nodeSanitizeUpdateCapability = defineCapability({
3228
3195
  roles: ["admin"],
3229
3196
  description: "Staff maintenance write on a held sanitize job. APPROVE SANITIZATION starts destructive maintenance. SKIP SANITIZATION skips an eligible first-use wipe and certifies nothing. ACCEPT MANUAL CLEANUP lets a held Bare Metal release finish when its node_turnover job is awaiting_approval with no recovery image, after staff manually revoked tenant access and sanitized the data drives with the OS retained; it requires manual_cleanup with the reservation, the current orchestrator release operation, a reason, the evidence file SHA-256, and all three attestations. The owner enforces eligibility. Slack waits for a human confirm.",
3230
3197
  mutation: "preview-confirm",
3231
- http: { method: "PATCH", path: "/v1/orchestrator/nodes/{node_id}/sanitize-drives/{job_id}" },
3232
3198
  cli: {
3233
3199
  command: ["admin", "nodes", "sanitize-decide"],
3234
3200
  vnext: sanitizeHelp(["admin", "nodes", "sanitize-decide"], "Approve, skip, or accept manual cleanup for one held sanitize job.", 'ornn admin nodes sanitize-decide <node-id> --job UUID --confirmation "APPROVE SANITIZATION"|"SKIP SANITIZATION"|"ACCEPT MANUAL CLEANUP" [--reservation UUID --release-operation UUID --reason TEXT --evidence-file PATH --tenant-access-revoked --data-drives-sanitized --acknowledge-retained-os]', "Exact node, job, decision, and for manual cleanup the reservation, release operation, reason, evidence SHA-256, and retained-OS attestations.")
@@ -3321,7 +3287,6 @@ var adminNodeRebootCapability = defineCapability({
3321
3287
  roles: ["admin"],
3322
3288
  description: "Reboot the exact live machine backing one managed node after a normalized review.",
3323
3289
  mutation: "preview-confirm",
3324
- http: { method: "POST", path: "/v1/orchestrator/nodes/{id}/reboot" },
3325
3290
  cli: {
3326
3291
  command: ["admin", "nodes", "reboot"],
3327
3292
  vnext: adminLifecycleHelp(["admin", "nodes", "reboot"], "Reboot one exact live machine while preserving local data and access configuration.", "ornn admin nodes reboot <node-ref> [] [--no-wait] [--timeout SECONDS]", "Unsupported: reboot requires an eligible human terminal.", "Node and live-machine identities, supplier, facility, capacity assignment, and preserved access.")
@@ -3337,7 +3302,6 @@ var adminNodeHardResetCapability = defineCapability({
3337
3302
  roles: ["admin"],
3338
3303
  description: "Hard reset the exact live machine backing one node with explicit local-data erasure scope.",
3339
3304
  mutation: "preview-confirm",
3340
- http: { method: "POST", path: "/v1/orchestrator/nodes/{id}/reboot" },
3341
3305
  cli: {
3342
3306
  command: ["admin", "nodes", "hard-reset"],
3343
3307
  vnext: adminLifecycleHelp(["admin", "nodes", "hard-reset"], "Erase local tenant data and hard reset one exact live machine.", "ornn admin nodes hard-reset <node-ref> --erase-local-data [] [--no-wait] [--timeout SECONDS]", "Unsupported: hard reset requires an eligible human terminal.", "Node and live-machine identities, supplier, facility, capacity assignment, erased local data, and restored keys.")
@@ -3353,7 +3317,6 @@ var adminNodeAssignCapability = defineCapability({
3353
3317
  roles: ["admin"],
3354
3318
  description: "Assign one exact node to one exact capacity reservation after consequence review.",
3355
3319
  mutation: "preview-confirm",
3356
- http: { method: "POST", path: "/v1/orchestrator/nodes/{id}/assign" },
3357
3320
  cli: {
3358
3321
  command: ["admin", "nodes", "assign"],
3359
3322
  vnext: adminLifecycleHelp(["admin", "nodes", "assign"], "Assign one exact node to one exact capacity reservation.", "ornn admin nodes assign <node-ref> --reservation <reservation-id> [] [--no-wait]", "ornn admin nodes assign <node-id> --reservation <reservation-id> --idempotency-key KEY --format json", "Node, supplier, facility, previous and requested capacity assignments, and tenant access change.")
@@ -3381,8 +3344,6 @@ var adminNodeLifecycleCapabilities = [
3381
3344
 
3382
3345
  // ../../packages/capabilities/dist/capabilities/billing.js
3383
3346
  import { z as z16 } from "zod";
3384
- var INVOICES_ROUTE = "/commerce/invoices";
3385
- var SHOWBACK_ROUTE = "/commerce/billing/showback";
3386
3347
  var DATE_ONLY = /^\d{4}-\d{2}-\d{2}$/;
3387
3348
  var billingCapabilities = [
3388
3349
  defineCapability({
@@ -3391,7 +3352,6 @@ var billingCapabilities = [
3391
3352
  roles: ["user"],
3392
3353
  description: "Read account billing totals: open balance, earliest due date, and paid monthly totals grouped by currency. Usage estimates are available separately through billing_showback.",
3393
3354
  mutation: "read",
3394
- http: { method: "GET", path: "/commerce/billing/summary" },
3395
3355
  input: z16.object({}),
3396
3356
  slack: false,
3397
3357
  execute: (ctx) => getBillingSummary(ctx.fetch)
@@ -3402,7 +3362,6 @@ var billingCapabilities = [
3402
3362
  roles: ["user"],
3403
3363
  description: "List a page of this tenant's invoices.",
3404
3364
  mutation: "read",
3405
- http: { method: "GET", path: INVOICES_ROUTE },
3406
3365
  input: z16.object({
3407
3366
  limit: z16.number().int().min(1).max(500).optional(),
3408
3367
  cursor: z16.string().trim().min(1).max(2048).optional()
@@ -3416,7 +3375,6 @@ var billingCapabilities = [
3416
3375
  roles: ["user"],
3417
3376
  description: "Get a showback report of this tenant's usage for a date range: per-reservation unit-hours, estimated cost, and share of total. Each row's unit is a GPU, or a vCPU when its `unit` is `vcpu` (CPU capacity); gpuCount and gpuHours count that unit. Unit-hours are the billable reservation interval that falls inside the inclusive dates, not a whole calendar day. This is an estimate from reservation windows, not a bill. Use billing_summary or billing_invoices for amounts actually charged.",
3418
3377
  mutation: "read",
3419
- http: { method: "GET", path: SHOWBACK_ROUTE },
3420
3378
  input: z16.object({
3421
3379
  start: z16.string().regex(DATE_ONLY, "start must be a date in yyyy-mm-dd format."),
3422
3380
  end: z16.string().regex(DATE_ONLY, "end must be a date in yyyy-mm-dd format.")
@@ -4027,9 +3985,6 @@ var computeCapabilities = [
4027
3985
  sshKeyAssignmentSyncCapability,
4028
3986
  sshKeyAssignmentStatusCapability
4029
3987
  ];
4030
- var NODES_ROUTE = "/v1/orchestrator/nodes";
4031
- var ORG_SSH_KEYS_ROUTE = "/v1/workflows/compute/nodes/organizations/me/ssh-keys";
4032
- var CLUSTER_USERS_ROUTE = "/v1/workflows/compute/nodes/organizations/me/cluster-users";
4033
3988
  var pageInput = z17.object({
4034
3989
  limit: z17.number().int().min(1).max(500).optional(),
4035
3990
  cursor: z17.string().optional()
@@ -4052,7 +4007,6 @@ var accessVerbCapabilities = [
4052
4007
  roles: ["user"],
4053
4008
  description: "Show VM and Bare Metal SSH access machines for a reservation.",
4054
4009
  mutation: "read",
4055
- http: { method: "GET", path: NODES_ROUTE },
4056
4010
  input: z17.object({ reservationId: z17.string() }),
4057
4011
  slack: false,
4058
4012
  execute: (ctx, input) => listNodes(ctx.fetch, { reservation_id: input.reservationId })
@@ -4063,7 +4017,6 @@ var accessVerbCapabilities = [
4063
4017
  roles: ["user"],
4064
4018
  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.",
4065
4019
  mutation: "preview-confirm",
4066
- http: { method: "POST", path: `${NODES_ROUTE}/reservations/{reservationId}/launch` },
4067
4020
  input: z17.object({
4068
4021
  reservationId: z17.string(),
4069
4022
  sshKeyIds: z17.array(z17.string()).min(1),
@@ -4097,7 +4050,6 @@ var accessVerbCapabilities = [
4097
4050
  roles: ["user"],
4098
4051
  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.",
4099
4052
  mutation: "preview-confirm",
4100
- http: { method: "POST", path: `${NODES_ROUTE}/reservations/{reservationId}/switch-access` },
4101
4053
  input: z17.object({
4102
4054
  reservationId: z17.string(),
4103
4055
  networkMode: z17.enum(["public", "private"]),
@@ -4121,7 +4073,6 @@ var accessVerbCapabilities = [
4121
4073
  roles: ["user"],
4122
4074
  description: "List SSH keys registered for a reservation.",
4123
4075
  mutation: "read",
4124
- http: { method: "GET", path: `${NODES_ROUTE}/reservations/{reservationId}/ssh-keys` },
4125
4076
  input: z17.object({ reservationId: z17.string() }),
4126
4077
  slack: false,
4127
4078
  execute: (ctx, input) => listReservationSshKeys(ctx.fetch, input.reservationId)
@@ -4132,7 +4083,6 @@ var accessVerbCapabilities = [
4132
4083
  roles: ["user"],
4133
4084
  description: `Add an SSH key to a reservation. ${ADDED_KEY_OUTCOME}`,
4134
4085
  mutation: "preview-confirm",
4135
- http: { method: "POST", path: `${NODES_ROUTE}/reservations/{reservationId}/ssh-keys` },
4136
4086
  input: publicKeyInput.extend({ reservationId: z17.string() }),
4137
4087
  slack: false,
4138
4088
  execute: (ctx, input) => addReservationSshKey(ctx.fetch, input.reservationId, {
@@ -4146,7 +4096,6 @@ var accessVerbCapabilities = [
4146
4096
  roles: ["user"],
4147
4097
  description: "Reboot a running reservation machine. Keeps storage and SSH keys. Pass the machine/node instance id from access_show.",
4148
4098
  mutation: "preview-confirm",
4149
- http: { method: "POST", path: `${NODES_ROUTE}/{nodeId}/reboot` },
4150
4099
  input: nodeIdInput,
4151
4100
  mcp: { name: "nodes_reboot" },
4152
4101
  slack: false,
@@ -4158,7 +4107,6 @@ var accessVerbCapabilities = [
4158
4107
  roles: ["user"],
4159
4108
  description: "Hard-reset a running reservation machine: clean (wipe tenant storage, users, keys, caches) then reboot and re-push keys. The tenant keeps ownership.",
4160
4109
  mutation: "preview-confirm",
4161
- http: { method: "POST", path: `${NODES_ROUTE}/{nodeId}/reboot` },
4162
4110
  input: nodeIdInput,
4163
4111
  mcp: { name: "nodes_hard_reset" },
4164
4112
  slack: false,
@@ -4170,7 +4118,6 @@ var accessVerbCapabilities = [
4170
4118
  roles: ["user"],
4171
4119
  description: "List a page of account SSH keys. Pass next_cursor as cursor to continue.",
4172
4120
  mutation: "read",
4173
- http: { method: "GET", path: ORG_SSH_KEYS_ROUTE },
4174
4121
  input: pageInput,
4175
4122
  slack: false,
4176
4123
  execute: (ctx, input) => listAccountSshKeys(ctx.fetch, {
@@ -4185,7 +4132,6 @@ var accessVerbCapabilities = [
4185
4132
  roles: ["user"],
4186
4133
  description: `Add an SSH public key to the account. ${ADDED_KEY_OUTCOME}`,
4187
4134
  mutation: "preview-confirm",
4188
- http: { method: "POST", path: ORG_SSH_KEYS_ROUTE },
4189
4135
  input: publicKeyInput,
4190
4136
  slack: false,
4191
4137
  execute: (ctx, input) => createAccountSshKey(ctx.fetch, {
@@ -4199,7 +4145,6 @@ var accessVerbCapabilities = [
4199
4145
  roles: ["user"],
4200
4146
  description: "Delete an SSH key from the account.",
4201
4147
  mutation: "preview-confirm",
4202
- http: { method: "DELETE", path: `${ORG_SSH_KEYS_ROUTE}/{keyId}` },
4203
4148
  input: keyIdInput,
4204
4149
  slack: false,
4205
4150
  execute: async (ctx, input) => await deleteAccountSshKey(ctx.fetch, input.keyId) ?? { deleted: true }
@@ -4210,7 +4155,6 @@ var accessVerbCapabilities = [
4210
4155
  roles: ["user"],
4211
4156
  description: "List a page of organization cluster-user SSH keys. Pass next_cursor as cursor to continue.",
4212
4157
  mutation: "read",
4213
- http: { method: "GET", path: CLUSTER_USERS_ROUTE },
4214
4158
  input: pageInput,
4215
4159
  slack: false,
4216
4160
  execute: (ctx, input) => listClusterUserKeys(ctx.fetch, {
@@ -4225,7 +4169,6 @@ var accessVerbCapabilities = [
4225
4169
  roles: ["user"],
4226
4170
  description: "Add a cluster-user SSH public key to the organization. Registers the same organization key as ssh_keys_add; a key already registered is returned as-is with its existing label.",
4227
4171
  mutation: "preview-confirm",
4228
- http: { method: "POST", path: CLUSTER_USERS_ROUTE },
4229
4172
  input: publicKeyInput,
4230
4173
  slack: false,
4231
4174
  execute: (ctx, input) => createClusterUserKey(ctx.fetch, {
@@ -4239,7 +4182,6 @@ var accessVerbCapabilities = [
4239
4182
  roles: ["user"],
4240
4183
  description: "Revoke a cluster-user SSH key from the organization.",
4241
4184
  mutation: "preview-confirm",
4242
- http: { method: "DELETE", path: `${CLUSTER_USERS_ROUTE}/{keyId}` },
4243
4185
  input: keyIdInput,
4244
4186
  slack: false,
4245
4187
  execute: async (ctx, input) => await deleteClusterUserKey(ctx.fetch, input.keyId) ?? { deleted: true }
@@ -4251,7 +4193,6 @@ var machinePushKeysCapability = defineCapability({
4251
4193
  roles: ["user"],
4252
4194
  description: "Push SSH keys onto one reservation machine.",
4253
4195
  mutation: "preview-confirm",
4254
- http: { method: "POST", path: `${NODES_ROUTE}/{nodeId}/push-keys` },
4255
4196
  input: z17.object({
4256
4197
  nodeId: z17.string(),
4257
4198
  sshKeyIds: z17.array(z17.string()).min(1),
@@ -4272,10 +4213,6 @@ var machineMetricsCapabilities = [
4272
4213
  roles: ["user"],
4273
4214
  description: "Fetch a live metrics snapshot for one reservation machine.",
4274
4215
  mutation: "read",
4275
- http: {
4276
- method: "GET",
4277
- path: "/v1/workflows/compute/nodes/reservations/{reservationId}/live-metrics"
4278
- },
4279
4216
  input: z17.object({ reservationId: z17.string(), machineId: z17.string() }),
4280
4217
  mcp: false,
4281
4218
  slack: false,
@@ -4289,10 +4226,6 @@ var machineMetricsCapabilities = [
4289
4226
  roles: ["user"],
4290
4227
  description: "Fetch historical telemetry for one reservation machine over a time range.",
4291
4228
  mutation: "read",
4292
- http: {
4293
- method: "GET",
4294
- path: "/v1/workflows/compute/nodes/reservations/{reservationId}/telemetry-history"
4295
- },
4296
4229
  input: z17.object({
4297
4230
  reservationId: z17.string(),
4298
4231
  machineId: z17.string(),
@@ -4327,7 +4260,6 @@ var creditGrantCapability = defineCapability({
4327
4260
  roles: ["admin"],
4328
4261
  description: "Adjust Ornn credits for a customer organization using Internal Billing. Defaults to credit; direction=debit removes credits. Credits belong to the organization, not an individual person. Resolve the intended organization first. MCP posts immediately; retain adjustmentId on retries. The verified staff actor supplies audit identity.",
4329
4262
  mutation: "preview-confirm",
4330
- http: { method: "POST", path: "/internal/v1/organizations/{organizationId}/credit-adjustments" },
4331
4263
  cli: {
4332
4264
  command: ["admin", "organizations", "grant-credit"],
4333
4265
  vnext: {
@@ -4693,7 +4625,6 @@ var clusterCapabilities = [
4693
4625
  roles: ["user"],
4694
4626
  description: "List this tenant's kubernetes/slurm clusters.",
4695
4627
  mutation: "read",
4696
- http: { method: "GET", path: "/v1/workflows/compute/clusters" },
4697
4628
  input: z20.object({}),
4698
4629
  mcp: { name: "clusters_list" },
4699
4630
  slack: false,
@@ -4705,7 +4636,6 @@ var clusterCapabilities = [
4705
4636
  roles: ["user"],
4706
4637
  description: "List active reservations eligible for cluster creation (kubernetes/slurm), 100 per page. Pass the response's nextCursor as cursor for the next page.",
4707
4638
  mutation: "read",
4708
- http: { method: "GET", path: "/commerce/reservations" },
4709
4639
  input: z20.object({
4710
4640
  cursor: z20.string().min(1).optional().describe("nextCursor from the previous page.")
4711
4641
  }),
@@ -4722,7 +4652,6 @@ var clusterCapabilities = [
4722
4652
  roles: ["user"],
4723
4653
  description: "Launch a kubernetes or slurm cluster on a reservation.",
4724
4654
  mutation: "preview-confirm",
4725
- http: { method: "POST", path: "/v1/orchestrator/controllers" },
4726
4655
  input: z20.object({
4727
4656
  reservationId: z20.string(),
4728
4657
  type: clusterType,
@@ -4747,10 +4676,6 @@ var clusterCapabilities = [
4747
4676
  roles: ["user"],
4748
4677
  description: "Show a kubernetes or slurm cluster's status for a reservation.",
4749
4678
  mutation: "read",
4750
- http: {
4751
- method: "GET",
4752
- path: "/v1/workflows/compute/{type}/reservations/{reservationId}/cluster"
4753
- },
4754
4679
  input: reservationCluster,
4755
4680
  mcp: { name: "clusters_show" },
4756
4681
  slack: false,
@@ -4762,10 +4687,6 @@ var clusterCapabilities = [
4762
4687
  roles: ["user"],
4763
4688
  description: "Fetch a kubernetes or slurm cluster's connection credentials for a reservation.",
4764
4689
  mutation: "read",
4765
- http: {
4766
- method: "GET",
4767
- path: "/v1/workflows/compute/{type}/reservations/{reservationId}/credentials"
4768
- },
4769
4690
  input: reservationCluster,
4770
4691
  mcp: { name: "clusters_credentials" },
4771
4692
  slack: false,
@@ -4777,10 +4698,6 @@ var clusterCapabilities = [
4777
4698
  roles: ["user"],
4778
4699
  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.",
4779
4700
  mutation: "read",
4780
- http: {
4781
- method: "GET",
4782
- path: "/v1/workflows/compute/kubernetes/reservations/{reservationId}/credentials"
4783
- },
4784
4701
  input: z20.object({ reservationId: z20.string() }),
4785
4702
  mcp: { name: "clusters_kubeconfig" },
4786
4703
  slack: false,
@@ -4798,7 +4715,6 @@ var clusterCapabilities = [
4798
4715
  roles: ["user"],
4799
4716
  description: "Join a node to a controller.",
4800
4717
  mutation: "preview-confirm",
4801
- http: { method: "POST", path: "/v1/orchestrator/controllers/{controllerId}/nodes/{nodeId}" },
4802
4718
  input: controllerNode,
4803
4719
  mcp: { name: "clusters_add_node" },
4804
4720
  slack: false,
@@ -4810,7 +4726,6 @@ var clusterCapabilities = [
4810
4726
  roles: ["user"],
4811
4727
  description: "Remove a node from a controller.",
4812
4728
  mutation: "preview-confirm",
4813
- http: { method: "DELETE", path: "/v1/orchestrator/controllers/{controllerId}/nodes/{nodeId}" },
4814
4729
  input: controllerNode,
4815
4730
  mcp: { name: "clusters_remove_node" },
4816
4731
  slack: false,
@@ -4822,10 +4737,6 @@ var clusterCapabilities = [
4822
4737
  roles: ["user"],
4823
4738
  description: "Tear down a kubernetes or slurm cluster on a reservation.",
4824
4739
  mutation: "preview-confirm",
4825
- http: {
4826
- method: "POST",
4827
- path: "/v1/workflows/compute/{type}/reservations/{reservationId}/cluster/teardown"
4828
- },
4829
4740
  input: reservationCluster.extend({ confirm: z20.boolean().optional() }),
4830
4741
  mcp: { name: "clusters_teardown" },
4831
4742
  slack: false,
@@ -5296,7 +5207,6 @@ var loginCapability = defineCapability({
5296
5207
  roles: ["user"],
5297
5208
  description: "Authenticate the CLI with Ornn device authorization.",
5298
5209
  mutation: "local",
5299
- http: { method: "POST", path: "/v1/cli/device/start" },
5300
5210
  input: loginInput,
5301
5211
  cli: {
5302
5212
  command: ["login"],
@@ -5322,7 +5232,6 @@ var contextCapability = defineCapability({
5322
5232
  roles: ["user"],
5323
5233
  description: "Show the current server-verified organization context.",
5324
5234
  mutation: "read",
5325
- http: { method: "GET", path: "/v1/cli/session" },
5326
5235
  input: emptyInput3,
5327
5236
  cli: {
5328
5237
  command: ["context"],
@@ -5347,7 +5256,6 @@ var logoutCapability = defineCapability({
5347
5256
  roles: ["user"],
5348
5257
  description: "Revoke the remote CLI session and clear its local bearer.",
5349
5258
  mutation: "local",
5350
- http: { method: "DELETE", path: "/v1/cli/session" },
5351
5259
  input: emptyInput3,
5352
5260
  cli: {
5353
5261
  command: ["logout"],
@@ -5371,7 +5279,6 @@ var whoamiCapability = defineCapability({
5371
5279
  roles: ["user", "admin"],
5372
5280
  description: "Show the signed-in Ornn user and organization.",
5373
5281
  mutation: "read",
5374
- http: { method: "GET", path: "/v1/cli/session" },
5375
5282
  input: emptyInput3,
5376
5283
  execute: async (ctx) => getCliSession(ctx.fetch)
5377
5284
  });
@@ -5381,7 +5288,6 @@ var statusCapability = defineCapability({
5381
5288
  roles: ["user", "admin"],
5382
5289
  description: "Show Ornn platform status.",
5383
5290
  mutation: "read",
5384
- http: { method: "GET", path: "/v1/cli/status" },
5385
5291
  input: emptyInput3,
5386
5292
  execute: async (ctx) => getCliStatus(ctx.fetch),
5387
5293
  cli: {
@@ -5482,7 +5388,6 @@ var listCatalogTermsCapability = defineCapability({
5482
5388
  roles: ["admin"],
5483
5389
  description: "Dump the orchestrator hardware dictionary (display name + aliases). Call once and pick from it. Hardware fields on listings must match a term. Optional kind filter: gpu, cpu, node, or link.",
5484
5390
  mutation: "read",
5485
- http: { method: "GET", path: hardwareCatalogPath },
5486
5391
  slack: {
5487
5392
  parameters: {
5488
5393
  type: "object",
@@ -5606,7 +5511,6 @@ var createListingCapability = defineCapability({
5606
5511
  roles: ["admin"],
5607
5512
  description: "Create a primary marketplace listing (admin). gpu_type, cpu, node_model, and fabric_type must exact-match an orchestrator catalog display name, canonical, or alias; gpu_type becomes the listing's GPU slug. buy_now_price_per_gpu_hour is the customer price; deposit_percent is the upfront payment as a percentage of the full availability window. Nodes are attached afterwards. Slack never POSTs until a human replies confirm. MCP and CLI use native listing.create instead.",
5608
5513
  mutation: "preview-confirm",
5609
- http: { method: "POST", path: "/commerce/v2/listings" },
5610
5514
  slack: { parameters: slackListingCreateParams },
5611
5515
  input: listingCreateInput,
5612
5516
  execute: async (ctx, input) => {
@@ -5815,7 +5719,6 @@ var organizationInviteCapability = defineCapability({
5815
5719
 
5816
5720
  // ../../packages/capabilities/dist/capabilities/networks.js
5817
5721
  import { z as z27 } from "zod";
5818
- var NETWORKS_PATH = "/v1/orchestrator/networks";
5819
5722
  var globalInput = {
5820
5723
  $positionals: z27.array(z27.string()).optional(),
5821
5724
  guided: z27.boolean().optional(),
@@ -6102,7 +6005,6 @@ var networkVerbCapabilities = [
6102
6005
  roles: ["user"],
6103
6006
  description: "List this tenant's private networks.",
6104
6007
  mutation: "read",
6105
- http: { method: "GET", path: NETWORKS_PATH },
6106
6008
  input: z27.object({}),
6107
6009
  mcp: { name: "networks_list" },
6108
6010
  slack: false,
@@ -6114,7 +6016,6 @@ var networkVerbCapabilities = [
6114
6016
  roles: ["user"],
6115
6017
  description: "Show a single private network by id.",
6116
6018
  mutation: "read",
6117
- http: { method: "GET", path: `${NETWORKS_PATH}/{networkId}` },
6118
6019
  input: z27.object({ networkId: z27.string() }),
6119
6020
  mcp: { name: "networks_show" },
6120
6021
  slack: false,
@@ -6126,7 +6027,6 @@ var networkVerbCapabilities = [
6126
6027
  roles: ["user"],
6127
6028
  description: "Create a private network.",
6128
6029
  mutation: "preview-confirm",
6129
- http: { method: "POST", path: NETWORKS_PATH },
6130
6030
  input: z27.object({
6131
6031
  name: z27.string(),
6132
6032
  cidr: z27.string().optional(),
@@ -6147,7 +6047,6 @@ var networkVerbCapabilities = [
6147
6047
  roles: ["user"],
6148
6048
  description: "Update a private network's name or description. Pass clearDescription: true to null out the description instead of setting it.",
6149
6049
  mutation: "preview-confirm",
6150
- http: { method: "PATCH", path: `${NETWORKS_PATH}/{networkId}` },
6151
6050
  input: networkUpdateFields,
6152
6051
  mcp: { name: "networks_update" },
6153
6052
  slack: false,
@@ -6162,7 +6061,6 @@ var networkVerbCapabilities = [
6162
6061
  roles: ["user"],
6163
6062
  description: "Delete a private network.",
6164
6063
  mutation: "preview-confirm",
6165
- http: { method: "DELETE", path: `${NETWORKS_PATH}/{networkId}` },
6166
6064
  input: z27.object({ networkId: z27.string(), confirm: z27.boolean().optional() }),
6167
6065
  mcp: { name: "networks_delete" },
6168
6066
  slack: false,
@@ -6178,10 +6076,6 @@ var networkVerbCapabilities = [
6178
6076
  roles: ["user"],
6179
6077
  description: "List WireGuard VPN peers registered on a reservation.",
6180
6078
  mutation: "read",
6181
- http: {
6182
- method: "GET",
6183
- path: "/v1/orchestrator/networks/shared/peers"
6184
- },
6185
6079
  input: z27.object({ reservationId: z27.string() }),
6186
6080
  mcp: { name: "vpn_peers_list" },
6187
6081
  slack: false,
@@ -6193,10 +6087,6 @@ var networkVerbCapabilities = [
6193
6087
  roles: ["user"],
6194
6088
  description: "Register a WireGuard VPN peer public key on a reservation.",
6195
6089
  mutation: "preview-confirm",
6196
- http: {
6197
- method: "POST",
6198
- path: "/v1/orchestrator/networks/shared/peers"
6199
- },
6200
6090
  input: z27.object({
6201
6091
  reservationId: z27.string(),
6202
6092
  publicKey: z27.string(),
@@ -6216,10 +6106,6 @@ var networkVerbCapabilities = [
6216
6106
  roles: ["user"],
6217
6107
  description: "Revoke a WireGuard VPN peer from a reservation.",
6218
6108
  mutation: "preview-confirm",
6219
- http: {
6220
- method: "DELETE",
6221
- path: "/v1/orchestrator/networks/shared/peers/{peerId}"
6222
- },
6223
6109
  input: z27.object({
6224
6110
  reservationId: z27.string(),
6225
6111
  peerId: z27.string(),
@@ -6233,7 +6119,6 @@ var networkVerbCapabilities = [
6233
6119
 
6234
6120
  // ../../packages/capabilities/dist/capabilities/registry.js
6235
6121
  import { z as z28 } from "zod";
6236
- var REGISTRY_PATH = "/v1/orchestrator/registry";
6237
6122
  var globalInput2 = {
6238
6123
  $positionals: z28.array(z28.string()).default([]),
6239
6124
  yes: z28.boolean().optional()
@@ -6292,7 +6177,6 @@ var registryShowCapability = defineCapability({
6292
6177
  roles: ["user"],
6293
6178
  description: "Show the organization's container registry: the host to docker login to and the namespace every image is pushed under.",
6294
6179
  mutation: "read",
6295
- http: { method: "GET", path: REGISTRY_PATH },
6296
6180
  input: emptyInput4,
6297
6181
  cli: {
6298
6182
  command: ["registry", "show"],
@@ -6327,7 +6211,6 @@ var registryRepositoriesListCapability = defineCapability({
6327
6211
  roles: ["user"],
6328
6212
  description: "List the repositories in the organization's container registry that have a tag.",
6329
6213
  mutation: "read",
6330
- http: { method: "GET", path: `${REGISTRY_PATH}/repositories` },
6331
6214
  input: emptyInput4,
6332
6215
  cli: {
6333
6216
  command: ["registry", "repositories", "list"],
@@ -6362,7 +6245,6 @@ var registryTagsListCapability = defineCapability({
6362
6245
  roles: ["user"],
6363
6246
  description: "List one repository's tags with the digest each names, the bytes the image occupies, and when it was built.",
6364
6247
  mutation: "read",
6365
- http: { method: "GET", path: `${REGISTRY_PATH}/tags` },
6366
6248
  input: repositoryInput,
6367
6249
  cli: {
6368
6250
  command: ["registry", "tags", "list"],
@@ -6400,7 +6282,6 @@ var registryTagsDeleteCapability = defineCapability({
6400
6282
  roles: ["user"],
6401
6283
  description: "Delete a tag from the organization's container registry. Pods and Slurm jobs that name it can no longer pull it; each cluster drops its copy within a minute, and the registry frees the space no other tag uses, pausing pushes for about a minute while it does.",
6402
6284
  mutation: "preview-confirm",
6403
- http: { method: "DELETE", path: `${REGISTRY_PATH}/tags` },
6404
6285
  input: tagInput,
6405
6286
  cli: {
6406
6287
  command: ["registry", "tags", "delete"],
@@ -6470,7 +6351,6 @@ var registryUsageCapability = defineCapability({
6470
6351
  roles: ["user"],
6471
6352
  description: "Show the bytes the organization's tagged images occupy in its container registry, each layer counted once.",
6472
6353
  mutation: "read",
6473
- http: { method: "GET", path: `${REGISTRY_PATH}/usage` },
6474
6354
  input: emptyInput4,
6475
6355
  cli: {
6476
6356
  command: ["registry", "usage"],
@@ -6502,7 +6382,6 @@ var registryCopiesListCapability = defineCapability({
6502
6382
  roles: ["user"],
6503
6383
  description: "List, for each of the organization's clusters, the registry tags its own copy holds now and the digest it holds them at, so a push or delete can be followed until every cluster has it.",
6504
6384
  mutation: "read",
6505
- http: { method: "GET", path: `${REGISTRY_PATH}/caches` },
6506
6385
  input: emptyInput4,
6507
6386
  cli: {
6508
6387
  command: ["registry", "copies", "list"],
@@ -6574,7 +6453,6 @@ var reservationListCapability = defineCapability({
6574
6453
  roles: ["admin"],
6575
6454
  description: "Internal staff only: list Commerce reservations across organizations, optionally filtered by customer organization (customerId), listing, listing term, and derived status. Resolve a customer's organization with users.list or organization.list first; pass each reservationId to nodes.list reservation_id for its machines. Page with nextCursor as cursor.",
6576
6455
  mutation: "read",
6577
- http: { method: "GET", path: "/commerce/reservations" },
6578
6456
  cli: {
6579
6457
  command: ["admin", "reservations", "list"],
6580
6458
  vnext: {
@@ -6793,7 +6671,6 @@ var volumeCapabilities = [
6793
6671
  related: ["volumes files list"]
6794
6672
  })
6795
6673
  ];
6796
- var DRIVES_ROUTE = "/v1/orchestrator/drives";
6797
6674
  var reservationInput = z30.object({ reservationId: z30.string() });
6798
6675
  var reservationWrite = reservationInput.extend({ confirm: z30.boolean().optional() });
6799
6676
  var driveInput = z30.object({ driveId: z30.string() });
@@ -6824,10 +6701,6 @@ var storageVerbCapabilities = [
6824
6701
  roles: ["user"],
6825
6702
  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.",
6826
6703
  mutation: "preview-confirm",
6827
- http: {
6828
- method: "POST",
6829
- path: "/v1/workflows/compute/nodes/reservations/{reservationId}/storage-deployment"
6830
- },
6831
6704
  input: reservationWrite.extend({ driveId: z30.string(), readOnly: z30.boolean().optional() }),
6832
6705
  slack: false,
6833
6706
  execute: (ctx, input) => deployReservationStorage(ctx.fetch, input.reservationId, {
@@ -6841,10 +6714,6 @@ var storageVerbCapabilities = [
6841
6714
  roles: ["user"],
6842
6715
  description: "Detach the reservation storage attachment (after unmount) so the volume can be deleted.",
6843
6716
  mutation: "preview-confirm",
6844
- http: {
6845
- method: "DELETE",
6846
- path: "/v1/workflows/compute/nodes/reservations/{reservationId}/storage-attachment"
6847
- },
6848
6717
  input: reservationWrite,
6849
6718
  slack: false,
6850
6719
  execute: (ctx, input) => detachReservationStorage(ctx.fetch, input.reservationId)
@@ -6855,10 +6724,6 @@ var storageVerbCapabilities = [
6855
6724
  roles: ["user"],
6856
6725
  description: "Show a reservation's storage deployment (attachment) status.",
6857
6726
  mutation: "read",
6858
- http: {
6859
- method: "GET",
6860
- path: "/v1/workflows/compute/nodes/reservations/{reservationId}/storage-attachment"
6861
- },
6862
6727
  input: reservationInput,
6863
6728
  slack: false,
6864
6729
  execute: (ctx, input) => getReservationStorageAttachment(ctx.fetch, input.reservationId)
@@ -6869,7 +6734,6 @@ var storageVerbCapabilities = [
6869
6734
  roles: ["user"],
6870
6735
  description: "List reservations that can receive a storage deploy, grouped the same way as the console picker.",
6871
6736
  mutation: "read",
6872
- http: { method: "GET", path: "/v1/orchestrator/storage-targets" },
6873
6737
  input: z30.object({}),
6874
6738
  slack: false,
6875
6739
  execute: (ctx) => listStorageTargets(ctx.fetch)
@@ -6880,7 +6744,6 @@ var storageVerbCapabilities = [
6880
6744
  roles: ["user"],
6881
6745
  description: "List a page of storage volumes, newest updated first. Pass next_cursor as cursor to continue.",
6882
6746
  mutation: "read",
6883
- http: { method: "GET", path: DRIVES_ROUTE },
6884
6747
  input: z30.object({
6885
6748
  limit: z30.number().int().min(1).max(100).optional(),
6886
6749
  cursor: z30.string().optional()
@@ -6898,7 +6761,6 @@ var storageVerbCapabilities = [
6898
6761
  roles: ["user"],
6899
6762
  description: "Show a single storage volume (drive) by id.",
6900
6763
  mutation: "read",
6901
- http: { method: "GET", path: `${DRIVES_ROUTE}/{driveId}` },
6902
6764
  input: driveInput,
6903
6765
  mcp: { name: "storage_volumes_show" },
6904
6766
  slack: false,
@@ -6910,7 +6772,6 @@ var storageVerbCapabilities = [
6910
6772
  roles: ["user"],
6911
6773
  description: "Create a storage volume (drive), optionally cloned from an existing source drive.",
6912
6774
  mutation: "preview-confirm",
6913
- http: { method: "POST", path: DRIVES_ROUTE },
6914
6775
  input: z30.object({
6915
6776
  name: z30.string(),
6916
6777
  sourceDriveId: z30.string().optional(),
@@ -6929,7 +6790,6 @@ var storageVerbCapabilities = [
6929
6790
  roles: ["user"],
6930
6791
  description: "Refresh a storage volume's (drive's) reported usage/state.",
6931
6792
  mutation: "preview-confirm",
6932
- http: { method: "GET", path: `${DRIVES_ROUTE}/{driveId}` },
6933
6793
  input: driveWrite,
6934
6794
  mcp: { name: "storage_volumes_refresh" },
6935
6795
  slack: false,
@@ -6941,7 +6801,6 @@ var storageVerbCapabilities = [
6941
6801
  roles: ["user"],
6942
6802
  description: "Clear (empty) a storage volume's (drive's) contents without deleting the drive.",
6943
6803
  mutation: "preview-confirm",
6944
- http: { method: "DELETE", path: `${DRIVES_ROUTE}/{driveId}/contents` },
6945
6804
  input: driveWrite,
6946
6805
  mcp: { name: "storage_volumes_clear" },
6947
6806
  slack: false,
@@ -6957,7 +6816,6 @@ var storageVerbCapabilities = [
6957
6816
  roles: ["user"],
6958
6817
  description: "Delete a storage volume (drive).",
6959
6818
  mutation: "preview-confirm",
6960
- http: { method: "DELETE", path: `${DRIVES_ROUTE}/{driveId}` },
6961
6819
  input: driveWrite,
6962
6820
  mcp: { name: "storage_volumes_delete" },
6963
6821
  slack: false,
@@ -6972,7 +6830,6 @@ var storageVerbCapabilities = [
6972
6830
  roles: ["user"],
6973
6831
  description: "Connect an external bucket (GCS, S3, or Cloudflare R2) as a storage volume. Cloudflare R2 deployment support is coming soon (connect succeeds, but deployment is not yet available).",
6974
6832
  mutation: "preview-confirm",
6975
- http: { method: "POST", path: DRIVES_ROUTE },
6976
6833
  input: bucketConnectInput,
6977
6834
  mcp: { name: "storage_buckets_connect" },
6978
6835
  slack: false,
@@ -7000,7 +6857,6 @@ var storageVerbCapabilities = [
7000
6857
  roles: ["user"],
7001
6858
  description: "Verify a connected S3-compatible bucket's source credentials/connectivity.",
7002
6859
  mutation: "preview-confirm",
7003
- http: { method: "PATCH", path: `${DRIVES_ROUTE}/{driveId}` },
7004
6860
  input: driveWrite,
7005
6861
  mcp: { name: "storage_buckets_verify" },
7006
6862
  slack: false,
@@ -7012,7 +6868,6 @@ var storageVerbCapabilities = [
7012
6868
  roles: ["user"],
7013
6869
  description: "Update a connected S3-compatible bucket's access key credentials.",
7014
6870
  mutation: "preview-confirm",
7015
- http: { method: "PATCH", path: `${DRIVES_ROUTE}/{driveId}` },
7016
6871
  input: driveWrite.extend({ accessKeyId: z30.string(), secretAccessKey: z30.string() }),
7017
6872
  mcp: { name: "storage_buckets_update_credentials" },
7018
6873
  slack: false,
@@ -7024,33 +6879,32 @@ var storageVerbCapabilities = [
7024
6879
  })
7025
6880
  })
7026
6881
  ];
7027
- var storageCompositionCapabilities = [
7028
- defineCapability({
7029
- id: "bucket.list",
7030
- domain: "storage",
7031
- roles: ["user"],
7032
- description: "List a page of connected external buckets.",
7033
- mutation: "read",
7034
- http: { method: "GET", path: DRIVES_ROUTE },
7035
- input: z30.object({
7036
- limit: z30.number().int().min(1).max(100).optional(),
7037
- cursor: z30.string().optional()
7038
- }),
7039
- mcp: false,
7040
- slack: false,
7041
- execute: (ctx, input) => listDrives(ctx.fetch, {
7042
- limit: input.limit ?? 25,
7043
- scope: "external",
7044
- ...input.cursor ? { cursor: input.cursor } : {}
7045
- })
6882
+ var bucketListCapability = defineCapability({
6883
+ id: "bucket.list",
6884
+ domain: "storage",
6885
+ roles: ["user"],
6886
+ description: "List a page of connected external buckets. Pass next_cursor as cursor to continue.",
6887
+ mutation: "read",
6888
+ input: z30.object({
6889
+ limit: z30.number().int().min(1).max(100).optional(),
6890
+ cursor: z30.string().optional()
7046
6891
  }),
6892
+ mcp: { name: "storage_buckets_list" },
6893
+ slack: false,
6894
+ execute: (ctx, input) => listDrives(ctx.fetch, {
6895
+ limit: input.limit ?? 25,
6896
+ scope: "external",
6897
+ ...input.cursor ? { cursor: input.cursor } : {}
6898
+ })
6899
+ });
6900
+ var storageCompositionCapabilities = [
6901
+ bucketListCapability,
7047
6902
  defineCapability({
7048
6903
  id: "volume.contents",
7049
6904
  domain: "storage",
7050
6905
  roles: ["user"],
7051
6906
  description: "List one page of a storage volume's contents.",
7052
6907
  mutation: "read",
7053
- http: { method: "GET", path: `${DRIVES_ROUTE}/{driveId}/contents` },
7054
6908
  input: z30.object({
7055
6909
  driveId: z30.string(),
7056
6910
  path: z30.string().optional(),