Files
multi-simadmin/packages/operation-registry/src/index.ts
T

37 lines
1.2 KiB
TypeScript

import { listOperations as listRuntimeOperations } from './runtime-registry.ts';
export {
OperationRegistry,
RuntimeRegistryError,
listOperations,
operationRegistry,
requireExecutableOperation,
requireOperation,
} from './runtime-registry.ts';
export type { RuntimeRegistryErrorCode } from './runtime-registry.ts';
export { operationMetadata58e2204 } from './catalog-metadata-58e2204.ts';
export type { OperationCatalogMetadata } from './catalog-metadata-58e2204.ts';
/** Small public catalog row shape avoids exporting the 117-member internal descriptor union. */
export interface PublicOperationCatalogRow {
readonly operationId: string;
readonly title: string;
readonly riskLevel: 'R0' | 'R1' | 'R2' | 'R3';
readonly capability: string;
readonly batchable: boolean;
readonly parameterSchemaId: string;
}
export const listPublicOperationCatalog = (): readonly PublicOperationCatalogRow[] =>
listRuntimeOperations().map(
({ operationId, title, riskLevel, capability, batchable, parameterSchemaId }) =>
Object.freeze<PublicOperationCatalogRow>({
operationId,
title,
riskLevel,
capability,
batchable,
parameterSchemaId,
}),
);