@ornncompute/cli 0.2.7 → 0.2.8

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.
@@ -41,6 +41,20 @@ export function defineCapability(spec) {
41
41
  },
42
42
  };
43
43
  }
44
+ /**
45
+ * Fill only the MCP name from `id`.
46
+ *
47
+ * `visibleToClient` gates Slack on `capability.slack != null` and CLI on
48
+ * `capability.cli != null`, so omitting a binding is how the catalog already
49
+ * says "not on that surface" — `defineCapability` just happens to set all
50
+ * three unconditionally. Staff admin verbs need the MCP one only: Slack's
51
+ * staff surface is a deliberately small, human-confirmed set, and `apps/cli`
52
+ * writes each command by hand, so a CLI binding here would advertise a
53
+ * command that does not exist.
54
+ */
55
+ export function defineStaffMcpCapability(spec) {
56
+ return { ...spec, mcp: { name: namesFromId(spec.id).mcp } };
57
+ }
44
58
  export function slackStaffVisible(capability) {
45
59
  return capability.roles.some((role) => role === "reviewer" || role === "admin");
46
60
  }
@@ -4,6 +4,9 @@ import { tokenCapabilities } from "./capabilities/tokens.js";
4
4
  import { identityCapabilities } from "./capabilities/identity.js";
5
5
  import { listingCapabilities } from "./capabilities/listings.js";
6
6
  import { observabilityCapabilities } from "./capabilities/observability.js";
7
+ import { staffAccessCapabilities } from "./capabilities/staff-access.js";
8
+ import { staffCommerceCapabilities } from "./capabilities/staff-commerce.js";
9
+ import { staffFleetCapabilities } from "./capabilities/staff-fleet.js";
7
10
  import { userCapabilities } from "./capabilities/users.js";
8
11
  /** System of record for CLI, MCP, and Slack verbs. Add capabilities here. */
9
12
  export const catalog = [
@@ -15,4 +18,7 @@ export const catalog = [
15
18
  ...observabilityCapabilities,
16
19
  ...slurmCapabilities,
17
20
  ...kubernetesCapabilities,
21
+ ...staffFleetCapabilities,
22
+ ...staffCommerceCapabilities,
23
+ ...staffAccessCapabilities,
18
24
  ];
@@ -1,4 +1,4 @@
1
- export { byCliCommand, byMcpName, bySlackName, defineCapability, forRole, preview, slackStaffVisible, visibleToClient, type Capability, type CapabilityBindings, type CapabilityContext, type CapabilitySpec, type JsonSchema, type CapabilityTransport, type Domain, type HttpSpec, type Mutation, type PreviewResult, } from "./capability.ts";
1
+ export { byCliCommand, byMcpName, bySlackName, defineCapability, defineStaffMcpCapability, forRole, preview, slackStaffVisible, visibleToClient, type Capability, type CapabilityBindings, type CapabilityContext, type CapabilitySpec, type StaffMcpCapabilitySpec, type JsonSchema, type CapabilityTransport, type Domain, type HttpSpec, type Mutation, type PreviewResult, } from "./capability.ts";
2
2
  export { namesFromId } from "./names.ts";
3
3
  export { catalog } from "./catalog.ts";
4
4
  export { fleetCapabilities, listFacilitiesCapability, listNodesCapability, listOperatorsCapability, nodeExecCapability, nodeOffGridCapability, nodeOnGridCapability, nodeTerminateCapability, } from "./capabilities/fleet.ts";
@@ -8,5 +8,8 @@ export { createListingCapability, listingCreateInput, listCatalogTermsCapability
8
8
  export { userCapabilities, usersQueryCapability } from "./capabilities/users.ts";
9
9
  export { kubernetesCapabilities, slurmCapabilities } from "./capabilities/clusters.ts";
10
10
  export { logsLatestCapability, logsTailCapability, observabilityCapabilities, telemetryLatestCapability, telemetryTailCapability, } from "./capabilities/observability.ts";
11
+ export { enrollmentTokenRevokeCapability, enrollmentTokenRevokeInput, facilityCreateCapability, facilityCreateInput, facilityUpdateCapability, facilityUpdateInput, nodeAdminKeyCapability, nodeAdminKeyInput, nodeBenchmarkCapability, nodeBenchmarkInput, nodeDeployCapability, nodeDeployInput, nodeDetailsUpdateCapability, nodeDetailsUpdateInput, nodeHardResetCapability, nodeHardResetInput, nodeRebootCapability, nodeRebootInput, nodeReserveListingCapability, nodeReserveListingInput, nodeShowCapability, nodeShowInput, nodeTestResultCapability, nodeTestResultInput, nodeTestTriggerCapability, nodeTestTriggerInput, nodeUpdateCapability, nodeUpdateInput, operatorCreateCapability, operatorCreateInput, operatorDeleteCapability, operatorDeleteInput, operatorUpdateCapability, operatorUpdateInput, staffFleetCapabilities, } from "./capabilities/staff-fleet.ts";
12
+ export { bidAcceptCapability, bidAcceptInput, bidRejectCapability, bidRejectInput, inventoryUpdateCapability, inventoryUpdateInput, reservationCancelCapability, reservationCancelInput, reservationMachinesListCapability, reservationMachinesListInput, reservationPublishCapability, reservationPublishInput, reservationSshKeyAddCapability, reservationSshKeyAddInput, reservationSshKeyRemoveCapability, reservationSshKeyRemoveInput, reservationTransferCapability, reservationTransferInput, staffCommerceCapabilities, tenantCreditProfileShowCapability, tenantCreditProfileShowInput, } from "./capabilities/staff-commerce.ts";
13
+ export { sshKeyAddCapability, sshKeyAddInput, sshKeyPushCapability, sshKeyPushInput, sshKeyRevokeCapability, sshKeyRevokeInput, staffAccessCapabilities, } from "./capabilities/staff-access.ts";
11
14
  export { CLIENTS, parseRole, roleAtLeast, ROLES, type ClientKind, type Role } from "./role.ts";
12
15
  export { bindHardwareFields, HARDWARE_CATALOG_PATH, HARDWARE_KINDS, HARDWARE_LISTING_FIELDS, HARDWARE_LISTING_FILTERS, loadHardwareCatalog, looksLikeSpecDump, normalizeCatalogQuery, parseHardwareCatalog, projectCatalogTerms, proposeListingPayload, resolveCatalogTerm, UNRESOLVED_CATALOG_HINT, type CatalogBindResult, type CatalogTerm, type HardwareCatalog, type HardwareKind, type ResolvedCatalogTerm, } from "./spec-catalog.ts";
@@ -1,4 +1,4 @@
1
- export { byCliCommand, byMcpName, bySlackName, defineCapability, forRole, preview, slackStaffVisible, visibleToClient, } from "./capability.js";
1
+ export { byCliCommand, byMcpName, bySlackName, defineCapability, defineStaffMcpCapability, forRole, preview, slackStaffVisible, visibleToClient, } from "./capability.js";
2
2
  export { namesFromId } from "./names.js";
3
3
  export { catalog } from "./catalog.js";
4
4
  export { fleetCapabilities, listFacilitiesCapability, listNodesCapability, listOperatorsCapability, nodeExecCapability, nodeOffGridCapability, nodeOnGridCapability, nodeTerminateCapability, } from "./capabilities/fleet.js";
@@ -8,5 +8,8 @@ export { createListingCapability, listingCreateInput, listCatalogTermsCapability
8
8
  export { userCapabilities, usersQueryCapability } from "./capabilities/users.js";
9
9
  export { kubernetesCapabilities, slurmCapabilities } from "./capabilities/clusters.js";
10
10
  export { logsLatestCapability, logsTailCapability, observabilityCapabilities, telemetryLatestCapability, telemetryTailCapability, } from "./capabilities/observability.js";
11
+ export { enrollmentTokenRevokeCapability, enrollmentTokenRevokeInput, facilityCreateCapability, facilityCreateInput, facilityUpdateCapability, facilityUpdateInput, nodeAdminKeyCapability, nodeAdminKeyInput, nodeBenchmarkCapability, nodeBenchmarkInput, nodeDeployCapability, nodeDeployInput, nodeDetailsUpdateCapability, nodeDetailsUpdateInput, nodeHardResetCapability, nodeHardResetInput, nodeRebootCapability, nodeRebootInput, nodeReserveListingCapability, nodeReserveListingInput, nodeShowCapability, nodeShowInput, nodeTestResultCapability, nodeTestResultInput, nodeTestTriggerCapability, nodeTestTriggerInput, nodeUpdateCapability, nodeUpdateInput, operatorCreateCapability, operatorCreateInput, operatorDeleteCapability, operatorDeleteInput, operatorUpdateCapability, operatorUpdateInput, staffFleetCapabilities, } from "./capabilities/staff-fleet.js";
12
+ export { bidAcceptCapability, bidAcceptInput, bidRejectCapability, bidRejectInput, inventoryUpdateCapability, inventoryUpdateInput, reservationCancelCapability, reservationCancelInput, reservationMachinesListCapability, reservationMachinesListInput, reservationPublishCapability, reservationPublishInput, reservationSshKeyAddCapability, reservationSshKeyAddInput, reservationSshKeyRemoveCapability, reservationSshKeyRemoveInput, reservationTransferCapability, reservationTransferInput, staffCommerceCapabilities, tenantCreditProfileShowCapability, tenantCreditProfileShowInput, } from "./capabilities/staff-commerce.js";
13
+ export { sshKeyAddCapability, sshKeyAddInput, sshKeyPushCapability, sshKeyPushInput, sshKeyRevokeCapability, sshKeyRevokeInput, staffAccessCapabilities, } from "./capabilities/staff-access.js";
11
14
  export { CLIENTS, parseRole, roleAtLeast, ROLES } from "./role.js";
12
15
  export { bindHardwareFields, HARDWARE_CATALOG_PATH, HARDWARE_KINDS, HARDWARE_LISTING_FIELDS, HARDWARE_LISTING_FILTERS, loadHardwareCatalog, looksLikeSpecDump, normalizeCatalogQuery, parseHardwareCatalog, projectCatalogTerms, proposeListingPayload, resolveCatalogTerm, UNRESOLVED_CATALOG_HINT, } from "./spec-catalog.js";