UNPKG

@allma/core-cdk

Version:

Core AWS CDK constructs for deploying the Allma serverless AI orchestration platform.

43 lines 2.94 kB
import { SYSTEM_STEP_DEFINITIONS, SystemModuleIdentifiers } from '@allma/core-types'; import { handleS3DataLoader } from './data-loaders/s3-loader.js'; import { handleDynamoDBLoader } from './data-loaders/dynamodb-loader.js'; import { handleDdbQueryToS3Manifest } from './data-loaders/ddb-query-to-s3-manifest.js'; import { handleSqsGetQueueAttributes } from './data-loaders/sqs-get-queue-attributes.js'; import { handleSqsReceiveMessages } from './data-loaders/sqs-receive-messages.js'; import { executeS3Saver } from './data-savers/s3-saver.js'; import { executeDynamoDBUpdate } from './data-savers/dynamodb-update-item.js'; import { executeDynamoDBQueryAndUpdate } from './data-savers/dynamodb-query-and-update.js'; import { executeComposeObjectTransformer } from './data-transformers/compose-object-transformer.js'; import { executeGenerateArrayTransformer } from './data-transformers/generate-array-transformer.js'; import { executeFlattenArrayTransformer } from './data-transformers/flatten-array-transformer.js'; import { executeArrayAggregatorTransformer } from './data-transformers/array-aggregator-transformer.js'; import { executeDateTimeCalculator } from './data-transformers/date-time-calculator.js'; import { handleFileDownload } from './step-handlers/file-download-handler.js'; const internalSystemModuleIdentifiers = new Set(SYSTEM_STEP_DEFINITIONS.map(def => def.moduleIdentifier)); export function hasInternalModuleHandler(moduleIdentifier) { return internalSystemModuleIdentifiers.has(moduleIdentifier); } const moduleHandlerRegistry = { [SystemModuleIdentifiers.S3_DATA_LOADER]: handleS3DataLoader, [SystemModuleIdentifiers.DYNAMODB_DATA_LOADER]: handleDynamoDBLoader, [SystemModuleIdentifiers.DDB_QUERY_TO_S3_MANIFEST]: handleDdbQueryToS3Manifest, [SystemModuleIdentifiers.SQS_GET_QUEUE_ATTRIBUTES]: handleSqsGetQueueAttributes, [SystemModuleIdentifiers.SQS_RECEIVE_MESSAGES]: handleSqsReceiveMessages, [SystemModuleIdentifiers.S3_DATA_SAVER]: executeS3Saver, [SystemModuleIdentifiers.DYNAMODB_UPDATE_ITEM]: executeDynamoDBUpdate, [SystemModuleIdentifiers.DYNAMODB_QUERY_AND_UPDATE]: executeDynamoDBQueryAndUpdate, [SystemModuleIdentifiers.COMPOSE_OBJECT_FROM_INPUT]: executeComposeObjectTransformer, [SystemModuleIdentifiers.GENERATE_ARRAY]: executeGenerateArrayTransformer, [SystemModuleIdentifiers.FLATTEN_ARRAY]: executeFlattenArrayTransformer, [SystemModuleIdentifiers.ARRAY_AGGREGATOR]: executeArrayAggregatorTransformer, [SystemModuleIdentifiers.DATE_TIME_CALCULATOR]: executeDateTimeCalculator, [SystemModuleIdentifiers.FILE_DOWNLOAD]: handleFileDownload, }; export function getModuleHandler(moduleIdentifier) { const handler = moduleHandlerRegistry[moduleIdentifier]; if (!handler) { throw new Error(`No handler registered for module: ${moduleIdentifier}`); } return handler; } //# sourceMappingURL=module-registry.js.map