@motiadev/core 0.14.0-beta.165-516298 → 0.14.0-beta.165-454838
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/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/jest.config.d.ts +8 -0
- package/dist/jest.config.d.ts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +13 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +53 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +15 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +49 -0
- package/dist/src/adapters/defaults/index.d.ts +9 -0
- package/dist/src/adapters/defaults/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/index.js +19 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +23 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.js +149 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +16 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.js +69 -0
- package/dist/src/adapters/defaults/state/utils.d.ts +4 -0
- package/dist/src/adapters/defaults/state/utils.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/utils.js +66 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +9 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +14 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +22 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.js +125 -0
- package/dist/src/adapters/defaults/stream/index.d.ts +5 -0
- package/dist/src/adapters/defaults/stream/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/index.js +11 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +6 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +10 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +16 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +55 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +29 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +15 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/index.d.ts +7 -0
- package/dist/src/adapters/interfaces/index.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/index.js +5 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +23 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +24 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +6 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +2 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +22 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.js +16 -0
- package/dist/src/analytics/utils.d.ts +6 -0
- package/dist/src/analytics/utils.d.ts.map +1 -0
- package/dist/src/analytics/utils.js +51 -0
- package/dist/src/call-step-file.d.ts +16 -0
- package/dist/src/call-step-file.d.ts.map +1 -0
- package/dist/src/call-step-file.js +198 -0
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +5 -0
- package/dist/src/config.types.d.ts +17 -0
- package/dist/src/config.types.d.ts.map +1 -0
- package/dist/src/config.types.js +2 -0
- package/dist/src/cron-handler.d.ts +14 -0
- package/dist/src/cron-handler.d.ts.map +1 -0
- package/dist/src/cron-handler.js +132 -0
- package/dist/src/endpoints/analytics-endpoint.d.ts +3 -0
- package/dist/src/endpoints/analytics-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/analytics-endpoint.js +28 -0
- package/dist/src/endpoints/flows-config-endpoint.d.ts +4 -0
- package/dist/src/endpoints/flows-config-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/flows-config-endpoint.js +34 -0
- package/dist/src/endpoints/flows-endpoint.d.ts +3 -0
- package/dist/src/endpoints/flows-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/flows-endpoint.js +29 -0
- package/dist/src/endpoints/step-endpoint.d.ts +4 -0
- package/dist/src/endpoints/step-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/step-endpoint.js +45 -0
- package/dist/src/generate-trace-id.d.ts +3 -0
- package/dist/src/generate-trace-id.d.ts.map +1 -0
- package/dist/src/generate-trace-id.js +14 -0
- package/dist/src/get-step-config.d.ts +5 -0
- package/dist/src/get-step-config.d.ts.map +1 -0
- package/dist/src/get-step-config.js +68 -0
- package/dist/src/get-step-language.d.ts +2 -0
- package/dist/src/get-step-language.d.ts.map +1 -0
- package/dist/src/get-step-language.js +27 -0
- package/dist/src/guards.d.ts +6 -0
- package/dist/src/guards.d.ts.map +1 -0
- package/dist/src/guards.js +11 -0
- package/dist/src/helper/flows-helper.d.ts +6 -0
- package/dist/src/helper/flows-helper.d.ts.map +1 -0
- package/dist/src/helper/flows-helper.js +143 -0
- package/dist/src/infrastructure-validator/defaults.d.ts +4 -0
- package/dist/src/infrastructure-validator/defaults.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/defaults.js +16 -0
- package/dist/src/infrastructure-validator/index.d.ts +4 -0
- package/dist/src/infrastructure-validator/index.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/index.js +13 -0
- package/dist/src/infrastructure-validator/schemas.d.ts +45 -0
- package/dist/src/infrastructure-validator/schemas.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/schemas.js +100 -0
- package/dist/src/infrastructure-validator/types.d.ts +21 -0
- package/dist/src/infrastructure-validator/types.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/types.js +2 -0
- package/dist/src/infrastructure-validator/validations.d.ts +4 -0
- package/dist/src/infrastructure-validator/validations.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/validations.js +62 -0
- package/dist/src/language-runner.d.ts +15 -0
- package/dist/src/language-runner.d.ts.map +1 -0
- package/dist/src/language-runner.js +31 -0
- package/dist/src/locked-data.d.ts +78 -0
- package/dist/src/locked-data.d.ts.map +1 -0
- package/dist/src/locked-data.js +284 -0
- package/dist/src/logger-factory.d.ts +19 -0
- package/dist/src/logger-factory.d.ts.map +1 -0
- package/dist/src/logger-factory.js +27 -0
- package/dist/src/logger.d.ts +26 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +60 -0
- package/dist/src/mermaid-generator.d.ts +5 -0
- package/dist/src/mermaid-generator.d.ts.map +1 -0
- package/dist/src/mermaid-generator.js +203 -0
- package/dist/src/motia.d.ts +33 -0
- package/dist/src/motia.d.ts.map +1 -0
- package/dist/src/motia.js +4 -0
- package/dist/src/node/can-access.d.ts +2 -0
- package/dist/src/node/can-access.d.ts.map +1 -0
- package/dist/src/node/can-access.js +44 -0
- package/dist/src/node/get-config.d.ts +2 -0
- package/dist/src/node/get-config.d.ts.map +1 -0
- package/dist/src/node/get-config.js +64 -0
- package/dist/src/node/logger.d.ts +16 -0
- package/dist/src/node/logger.d.ts.map +1 -0
- package/dist/src/node/logger.js +48 -0
- package/dist/src/node/middleware-compose.d.ts +2 -0
- package/dist/src/node/middleware-compose.d.ts.map +1 -0
- package/dist/src/node/middleware-compose.js +10 -0
- package/dist/src/node/node-runner.d.ts +2 -0
- package/dist/src/node/node-runner.d.ts.map +1 -0
- package/dist/src/node/node-runner.js +83 -0
- package/dist/src/node/rpc-state-manager.d.ts +12 -0
- package/dist/src/node/rpc-state-manager.d.ts.map +1 -0
- package/dist/src/node/rpc-state-manager.js +24 -0
- package/dist/src/node/rpc.d.ts +10 -0
- package/dist/src/node/rpc.d.ts.map +1 -0
- package/dist/src/node/rpc.js +50 -0
- package/dist/src/observability/create-trace.d.ts +4 -0
- package/dist/src/observability/create-trace.d.ts.map +1 -0
- package/dist/src/observability/create-trace.js +22 -0
- package/dist/src/observability/index.d.ts +4 -0
- package/dist/src/observability/index.d.ts.map +1 -0
- package/dist/src/observability/index.js +2 -0
- package/dist/src/observability/no-tracer.d.ts +10 -0
- package/dist/src/observability/no-tracer.d.ts.map +1 -0
- package/dist/src/observability/no-tracer.js +22 -0
- package/dist/src/observability/redis-trace-stream-adapter.d.ts +17 -0
- package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +1 -0
- package/dist/src/observability/redis-trace-stream-adapter.js +65 -0
- package/dist/src/observability/stream-tracer.d.ts +23 -0
- package/dist/src/observability/stream-tracer.d.ts.map +1 -0
- package/dist/src/observability/stream-tracer.js +114 -0
- package/dist/src/observability/trace-manager.d.ts +14 -0
- package/dist/src/observability/trace-manager.d.ts.map +1 -0
- package/dist/src/observability/trace-manager.js +26 -0
- package/dist/src/observability/tracer.d.ts +19 -0
- package/dist/src/observability/tracer.d.ts.map +1 -0
- package/dist/src/observability/tracer.js +86 -0
- package/dist/src/observability/types.d.ts +75 -0
- package/dist/src/observability/types.d.ts.map +1 -0
- package/dist/src/observability/types.js +2 -0
- package/dist/src/pretty-print.d.ts +2 -0
- package/dist/src/pretty-print.d.ts.map +1 -0
- package/dist/src/pretty-print.js +63 -0
- package/dist/src/printer.d.ts +61 -0
- package/dist/src/printer.d.ts.map +1 -0
- package/dist/src/printer.js +164 -0
- package/dist/src/process-communication/communication-config.d.ts +8 -0
- package/dist/src/process-communication/communication-config.d.ts.map +1 -0
- package/dist/src/process-communication/communication-config.js +18 -0
- package/dist/src/process-communication/process-manager.d.ts +32 -0
- package/dist/src/process-communication/process-manager.d.ts.map +1 -0
- package/dist/src/process-communication/process-manager.js +88 -0
- package/dist/src/process-communication/rpc-processor-interface.d.ts +10 -0
- package/dist/src/process-communication/rpc-processor-interface.d.ts.map +1 -0
- package/dist/src/process-communication/rpc-processor-interface.js +2 -0
- package/dist/src/queue-manager.d.ts +42 -0
- package/dist/src/queue-manager.d.ts.map +1 -0
- package/dist/src/queue-manager.js +252 -0
- package/dist/src/ruby/get-ruby-config.d.ts +3 -0
- package/dist/src/ruby/get-ruby-config.d.ts.map +1 -0
- package/dist/src/ruby/get-ruby-config.js +34 -0
- package/dist/src/run-stream-can-access.d.ts +10 -0
- package/dist/src/run-stream-can-access.d.ts.map +1 -0
- package/dist/src/run-stream-can-access.js +59 -0
- package/dist/src/schema-utils.d.ts +9 -0
- package/dist/src/schema-utils.d.ts.map +1 -0
- package/dist/src/schema-utils.js +80 -0
- package/dist/src/server.d.ts +37 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +344 -0
- package/dist/src/socket-server/helpers.d.ts +53 -0
- package/dist/src/socket-server/helpers.d.ts.map +1 -0
- package/dist/src/socket-server/helpers.js +28 -0
- package/dist/src/socket-server.d.ts +21 -0
- package/dist/src/socket-server.d.ts.map +1 -0
- package/dist/src/socket-server.js +127 -0
- package/dist/src/state/create-state-adapter.d.ts +8 -0
- package/dist/src/state/create-state-adapter.d.ts.map +1 -0
- package/dist/src/state/create-state-adapter.js +8 -0
- package/dist/src/step-handler-rpc-processor.d.ts +22 -0
- package/dist/src/step-handler-rpc-processor.d.ts.map +1 -0
- package/dist/src/step-handler-rpc-processor.js +63 -0
- package/dist/src/step-handler-rpc-stdin-processor.d.ts +23 -0
- package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +1 -0
- package/dist/src/step-handler-rpc-stdin-processor.js +83 -0
- package/dist/src/step-handlers.d.ts +9 -0
- package/dist/src/step-handlers.d.ts.map +1 -0
- package/dist/src/step-handlers.js +77 -0
- package/dist/src/step-validator.d.ts +15 -0
- package/dist/src/step-validator.d.ts.map +1 -0
- package/dist/src/step-validator.js +135 -0
- package/dist/src/steps/emit.step.d.ts +12 -0
- package/dist/src/steps/emit.step.d.ts.map +1 -0
- package/dist/src/steps/emit.step.js +27 -0
- package/dist/src/steps/index.d.ts +3 -0
- package/dist/src/steps/index.d.ts.map +1 -0
- package/dist/src/steps/index.js +16 -0
- package/dist/src/streams/flows-config-stream.d.ts +14 -0
- package/dist/src/streams/flows-config-stream.d.ts.map +1 -0
- package/dist/src/streams/flows-config-stream.js +49 -0
- package/dist/src/streams/flows-stream.d.ts +12 -0
- package/dist/src/streams/flows-stream.d.ts.map +1 -0
- package/dist/src/streams/flows-stream.js +35 -0
- package/dist/src/streams/redis-logs-stream.d.ts +31 -0
- package/dist/src/streams/redis-logs-stream.d.ts.map +1 -0
- package/dist/src/streams/redis-logs-stream.js +84 -0
- package/dist/src/streams/stream-factory.d.ts +3 -0
- package/dist/src/streams/stream-factory.d.ts.map +1 -0
- package/dist/src/streams/stream-factory.js +2 -0
- package/dist/src/types/app-config-types.d.ts +45 -0
- package/dist/src/types/app-config-types.d.ts.map +1 -0
- package/dist/src/types/app-config-types.js +2 -0
- package/dist/src/types/flows-config-types.d.ts +10 -0
- package/dist/src/types/flows-config-types.d.ts.map +1 -0
- package/dist/src/types/flows-config-types.js +2 -0
- package/dist/src/types/flows-types.d.ts +39 -0
- package/dist/src/types/flows-types.d.ts.map +1 -0
- package/dist/src/types/flows-types.js +2 -0
- package/dist/src/types/generate-type-from-schema.d.ts +3 -0
- package/dist/src/types/generate-type-from-schema.d.ts.map +1 -0
- package/dist/src/types/generate-type-from-schema.js +49 -0
- package/dist/src/types/generate-types-from-response.d.ts +3 -0
- package/dist/src/types/generate-types-from-response.d.ts.map +1 -0
- package/dist/src/types/generate-types-from-response.js +13 -0
- package/dist/src/types/generate-types.d.ts +13 -0
- package/dist/src/types/generate-types.d.ts.map +1 -0
- package/dist/src/types/generate-types.js +127 -0
- package/dist/src/types/merge-schemas.d.ts +5 -0
- package/dist/src/types/merge-schemas.d.ts.map +1 -0
- package/dist/src/types/merge-schemas.js +183 -0
- package/dist/src/types/schema.types.d.ts +9 -0
- package/dist/src/types/schema.types.d.ts.map +1 -0
- package/dist/src/types/schema.types.js +14 -0
- package/dist/src/types-stream.d.ts +42 -0
- package/dist/src/types-stream.d.ts.map +1 -0
- package/dist/src/types-stream.js +2 -0
- package/dist/src/types.d.ts +190 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +17 -0
- package/dist/src/utils.d.ts +3 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +12 -0
- package/dist/src/validate-event-input.d.ts +3 -0
- package/dist/src/validate-event-input.d.ts.map +1 -0
- package/dist/src/validate-event-input.js +74 -0
- package/package.json +8 -21
- package/dist/index.d.mts +0 -38
- package/dist/index.mjs +0 -30
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +0 -17
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +0 -51
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +0 -19
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +0 -54
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/index.d.mts +0 -8
- package/dist/src/adapters/defaults/index.mjs +0 -10
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +0 -27
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs +0 -105
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +0 -20
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +0 -58
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/state/utils.mjs +0 -40
- package/dist/src/adapters/defaults/state/utils.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +0 -13
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +0 -16
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +0 -24
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +0 -84
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +0 -10
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +0 -12
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +0 -20
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +0 -58
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +0 -1
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +0 -32
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +0 -19
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +0 -27
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +0 -28
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +0 -10
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +0 -26
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +0 -17
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +0 -1
- package/dist/src/analytics/utils.d.mts +0 -9
- package/dist/src/analytics/utils.d.mts.map +0 -1
- package/dist/src/analytics/utils.mjs +0 -35
- package/dist/src/analytics/utils.mjs.map +0 -1
- package/dist/src/call-step-file.mjs +0 -215
- package/dist/src/call-step-file.mjs.map +0 -1
- package/dist/src/config.d.mts +0 -7
- package/dist/src/config.d.mts.map +0 -1
- package/dist/src/config.mjs +0 -6
- package/dist/src/config.mjs.map +0 -1
- package/dist/src/cron-handler.d.mts +0 -18
- package/dist/src/cron-handler.d.mts.map +0 -1
- package/dist/src/cron-handler.mjs +0 -103
- package/dist/src/cron-handler.mjs.map +0 -1
- package/dist/src/endpoints/analytics-endpoint.mjs +0 -29
- package/dist/src/endpoints/analytics-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/flows-config-endpoint.mjs +0 -38
- package/dist/src/endpoints/flows-config-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/flows-endpoint.mjs +0 -39
- package/dist/src/endpoints/flows-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/step-endpoint.mjs +0 -41
- package/dist/src/endpoints/step-endpoint.mjs.map +0 -1
- package/dist/src/generate-trace-id.mjs +0 -13
- package/dist/src/generate-trace-id.mjs.map +0 -1
- package/dist/src/get-step-config.d.mts +0 -9
- package/dist/src/get-step-config.d.mts.map +0 -1
- package/dist/src/get-step-config.mjs +0 -63
- package/dist/src/get-step-config.mjs.map +0 -1
- package/dist/src/get-step-language.mjs +0 -14
- package/dist/src/get-step-language.mjs.map +0 -1
- package/dist/src/guards.d.mts +0 -10
- package/dist/src/guards.d.mts.map +0 -1
- package/dist/src/guards.mjs +0 -9
- package/dist/src/guards.mjs.map +0 -1
- package/dist/src/helper/flows-helper.mjs +0 -126
- package/dist/src/helper/flows-helper.mjs.map +0 -1
- package/dist/src/infrastructure-validator/defaults.mjs +0 -17
- package/dist/src/infrastructure-validator/defaults.mjs.map +0 -1
- package/dist/src/infrastructure-validator/index.d.mts +0 -3
- package/dist/src/infrastructure-validator/index.mjs +0 -4
- package/dist/src/infrastructure-validator/schemas.d.mts +0 -1
- package/dist/src/infrastructure-validator/schemas.mjs +0 -77
- package/dist/src/infrastructure-validator/schemas.mjs.map +0 -1
- package/dist/src/infrastructure-validator/types.d.mts +0 -14
- package/dist/src/infrastructure-validator/types.d.mts.map +0 -1
- package/dist/src/infrastructure-validator/validations.d.mts +0 -7
- package/dist/src/infrastructure-validator/validations.d.mts.map +0 -1
- package/dist/src/infrastructure-validator/validations.mjs +0 -29
- package/dist/src/infrastructure-validator/validations.mjs.map +0 -1
- package/dist/src/language-runner.mjs +0 -55
- package/dist/src/language-runner.mjs.map +0 -1
- package/dist/src/locked-data.d.mts +0 -81
- package/dist/src/locked-data.d.mts.map +0 -1
- package/dist/src/locked-data.mjs +0 -223
- package/dist/src/locked-data.mjs.map +0 -1
- package/dist/src/logger-factory.d.mts +0 -16
- package/dist/src/logger-factory.d.mts.map +0 -1
- package/dist/src/logger-factory.mjs +0 -33
- package/dist/src/logger-factory.mjs.map +0 -1
- package/dist/src/logger.d.mts +0 -28
- package/dist/src/logger.d.mts.map +0 -1
- package/dist/src/logger.mjs +0 -64
- package/dist/src/logger.mjs.map +0 -1
- package/dist/src/mermaid-generator.d.mts +0 -9
- package/dist/src/mermaid-generator.d.mts.map +0 -1
- package/dist/src/mermaid-generator.mjs +0 -126
- package/dist/src/mermaid-generator.mjs.map +0 -1
- package/dist/src/motia.d.mts +0 -37
- package/dist/src/motia.d.mts.map +0 -1
- package/dist/src/motia.mjs +0 -6
- package/dist/src/motia.mjs.map +0 -1
- package/dist/src/node/can-access.d.mts +0 -1
- package/dist/src/node/can-access.mjs +0 -36
- package/dist/src/node/can-access.mjs.map +0 -1
- package/dist/src/node/get-config.d.mts +0 -1
- package/dist/src/node/get-config.mjs +0 -49
- package/dist/src/node/get-config.mjs.map +0 -1
- package/dist/src/node/logger.mjs +0 -47
- package/dist/src/node/logger.mjs.map +0 -1
- package/dist/src/node/middleware-compose.mjs +0 -10
- package/dist/src/node/middleware-compose.mjs.map +0 -1
- package/dist/src/node/node-runner.d.mts +0 -1
- package/dist/src/node/node-runner.mjs +0 -94
- package/dist/src/node/node-runner.mjs.map +0 -1
- package/dist/src/node/rpc-state-manager.mjs +0 -35
- package/dist/src/node/rpc-state-manager.mjs.map +0 -1
- package/dist/src/node/rpc.mjs +0 -55
- package/dist/src/node/rpc.mjs.map +0 -1
- package/dist/src/observability/create-trace.mjs +0 -26
- package/dist/src/observability/create-trace.mjs.map +0 -1
- package/dist/src/observability/index.d.mts +0 -7
- package/dist/src/observability/index.d.mts.map +0 -1
- package/dist/src/observability/no-tracer.d.mts +0 -15
- package/dist/src/observability/no-tracer.d.mts.map +0 -1
- package/dist/src/observability/no-tracer.mjs +0 -23
- package/dist/src/observability/no-tracer.mjs.map +0 -1
- package/dist/src/observability/redis-trace-stream-adapter.mjs +0 -76
- package/dist/src/observability/redis-trace-stream-adapter.mjs.map +0 -1
- package/dist/src/observability/stream-tracer.mjs +0 -98
- package/dist/src/observability/stream-tracer.mjs.map +0 -1
- package/dist/src/observability/trace-manager.mjs +0 -27
- package/dist/src/observability/trace-manager.mjs.map +0 -1
- package/dist/src/observability/tracer.mjs +0 -88
- package/dist/src/observability/tracer.mjs.map +0 -1
- package/dist/src/observability/types.d.mts +0 -14
- package/dist/src/observability/types.d.mts.map +0 -1
- package/dist/src/pretty-print.mjs +0 -50
- package/dist/src/pretty-print.mjs.map +0 -1
- package/dist/src/printer.d.mts +0 -65
- package/dist/src/printer.d.mts.map +0 -1
- package/dist/src/printer.mjs +0 -147
- package/dist/src/printer.mjs.map +0 -1
- package/dist/src/process-communication/communication-config.mjs +0 -26
- package/dist/src/process-communication/communication-config.mjs.map +0 -1
- package/dist/src/process-communication/process-manager.mjs +0 -67
- package/dist/src/process-communication/process-manager.mjs.map +0 -1
- package/dist/src/queue-manager.d.mts +0 -37
- package/dist/src/queue-manager.d.mts.map +0 -1
- package/dist/src/queue-manager.mjs +0 -209
- package/dist/src/queue-manager.mjs.map +0 -1
- package/dist/src/run-stream-can-access.mjs +0 -59
- package/dist/src/run-stream-can-access.mjs.map +0 -1
- package/dist/src/schema-utils.mjs +0 -30
- package/dist/src/schema-utils.mjs.map +0 -1
- package/dist/src/server.d.mts +0 -40
- package/dist/src/server.d.mts.map +0 -1
- package/dist/src/server.mjs +0 -353
- package/dist/src/server.mjs.map +0 -1
- package/dist/src/socket-server/helpers.mjs +0 -35
- package/dist/src/socket-server/helpers.mjs.map +0 -1
- package/dist/src/socket-server.mjs +0 -127
- package/dist/src/socket-server.mjs.map +0 -1
- package/dist/src/state/create-state-adapter.d.mts +0 -11
- package/dist/src/state/create-state-adapter.d.mts.map +0 -1
- package/dist/src/state/create-state-adapter.mjs +0 -11
- package/dist/src/state/create-state-adapter.mjs.map +0 -1
- package/dist/src/step-handler-rpc-processor.mjs +0 -56
- package/dist/src/step-handler-rpc-processor.mjs.map +0 -1
- package/dist/src/step-handler-rpc-stdin-processor.mjs +0 -71
- package/dist/src/step-handler-rpc-stdin-processor.mjs.map +0 -1
- package/dist/src/step-handlers.d.mts +0 -13
- package/dist/src/step-handlers.d.mts.map +0 -1
- package/dist/src/step-handlers.mjs +0 -93
- package/dist/src/step-handlers.mjs.map +0 -1
- package/dist/src/step-validator.d.mts +0 -15
- package/dist/src/step-validator.d.mts.map +0 -1
- package/dist/src/step-validator.mjs +0 -118
- package/dist/src/step-validator.mjs.map +0 -1
- package/dist/src/steps/emit.step.mjs +0 -20
- package/dist/src/steps/emit.step.mjs.map +0 -1
- package/dist/src/steps/index.mjs +0 -14
- package/dist/src/steps/index.mjs.map +0 -1
- package/dist/src/streams/flows-config-stream.mjs +0 -46
- package/dist/src/streams/flows-config-stream.mjs.map +0 -1
- package/dist/src/streams/flows-stream.mjs +0 -33
- package/dist/src/streams/flows-stream.mjs.map +0 -1
- package/dist/src/streams/redis-logs-stream.d.mts +0 -3
- package/dist/src/streams/redis-logs-stream.mjs +0 -97
- package/dist/src/streams/redis-logs-stream.mjs.map +0 -1
- package/dist/src/streams/stream-factory.d.mts +0 -7
- package/dist/src/streams/stream-factory.d.mts.map +0 -1
- package/dist/src/types/app-config-types.d.mts +0 -49
- package/dist/src/types/app-config-types.d.mts.map +0 -1
- package/dist/src/types/generate-type-from-schema.mjs +0 -30
- package/dist/src/types/generate-type-from-schema.mjs.map +0 -1
- package/dist/src/types/generate-types-from-response.mjs +0 -12
- package/dist/src/types/generate-types-from-response.mjs.map +0 -1
- package/dist/src/types/generate-types.mjs +0 -101
- package/dist/src/types/generate-types.mjs.map +0 -1
- package/dist/src/types/merge-schemas.mjs +0 -102
- package/dist/src/types/merge-schemas.mjs.map +0 -1
- package/dist/src/types/schema.types.d.mts +0 -13
- package/dist/src/types/schema.types.d.mts.map +0 -1
- package/dist/src/types/schema.types.mjs +0 -14
- package/dist/src/types/schema.types.mjs.map +0 -1
- package/dist/src/types-stream.d.mts +0 -46
- package/dist/src/types-stream.d.mts.map +0 -1
- package/dist/src/types.d.mts +0 -194
- package/dist/src/types.d.mts.map +0 -1
- package/dist/src/utils.mjs +0 -13
- package/dist/src/utils.mjs.map +0 -1
- package/dist/src/validate-event-input.mjs +0 -76
- package/dist/src/validate-event-input.mjs.map +0 -1
- package/jest.config.cjs +0 -20
- package/tsdown.config.ts +0 -53
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//#region src/infrastructure-validator/schemas.ts
|
|
4
|
-
const AWS_LAMBDA_LIMITS = {
|
|
5
|
-
MIN_RAM_MB: 128,
|
|
6
|
-
MAX_RAM_MB: 10240,
|
|
7
|
-
MIN_TIMEOUT_SECONDS: 1,
|
|
8
|
-
MAX_TIMEOUT_SECONDS: 900
|
|
9
|
-
};
|
|
10
|
-
const AWS_LAMBDA_CPU_RATIO = {
|
|
11
|
-
128: .0625,
|
|
12
|
-
256: .125,
|
|
13
|
-
512: .25,
|
|
14
|
-
1024: .5,
|
|
15
|
-
1536: .75,
|
|
16
|
-
2048: 1,
|
|
17
|
-
3008: 1.5,
|
|
18
|
-
4096: 2,
|
|
19
|
-
5120: 2.5,
|
|
20
|
-
6144: 3,
|
|
21
|
-
7168: 3.5,
|
|
22
|
-
8192: 4,
|
|
23
|
-
9216: 4.5,
|
|
24
|
-
10240: 5
|
|
25
|
-
};
|
|
26
|
-
function getProportionalCpu(ramMb) {
|
|
27
|
-
const ramValues = Object.keys(AWS_LAMBDA_CPU_RATIO).map(Number).sort((a, b) => a - b);
|
|
28
|
-
const exact = AWS_LAMBDA_CPU_RATIO[ramMb];
|
|
29
|
-
if (exact !== void 0) return exact;
|
|
30
|
-
for (let i = 0; i < ramValues.length - 1; i++) {
|
|
31
|
-
const lower = ramValues[i];
|
|
32
|
-
const upper = ramValues[i + 1];
|
|
33
|
-
if (ramMb > lower && ramMb < upper) {
|
|
34
|
-
const lowerCpu = AWS_LAMBDA_CPU_RATIO[lower];
|
|
35
|
-
const upperCpu = AWS_LAMBDA_CPU_RATIO[upper];
|
|
36
|
-
const ratio = (ramMb - lower) / (upper - lower);
|
|
37
|
-
return lowerCpu + (upperCpu - lowerCpu) * ratio;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return ramMb <= ramValues[0] ? AWS_LAMBDA_CPU_RATIO[ramValues[0]] : AWS_LAMBDA_CPU_RATIO[ramValues[ramValues.length - 1]];
|
|
41
|
-
}
|
|
42
|
-
const handlerBaseSchema = z.object({
|
|
43
|
-
ram: z.number().min(AWS_LAMBDA_LIMITS.MIN_RAM_MB, `RAM must be at least ${AWS_LAMBDA_LIMITS.MIN_RAM_MB} MB`).max(AWS_LAMBDA_LIMITS.MAX_RAM_MB, `RAM cannot exceed ${AWS_LAMBDA_LIMITS.MAX_RAM_MB} MB`),
|
|
44
|
-
timeout: z.number().min(AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS, `Timeout must be at least ${AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS}s`).max(AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS, `Timeout cannot exceed ${AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS}s`),
|
|
45
|
-
cpu: z.number().optional()
|
|
46
|
-
});
|
|
47
|
-
const handlerSchema = handlerBaseSchema.partial().superRefine((handler, ctx) => {
|
|
48
|
-
if (handler.cpu === void 0 || handler.ram === void 0) return;
|
|
49
|
-
const expectedCpu = getProportionalCpu(handler.ram);
|
|
50
|
-
if (Math.abs(handler.cpu - expectedCpu) > .1) ctx.addIssue({
|
|
51
|
-
code: z.ZodIssueCode.custom,
|
|
52
|
-
path: ["handler", "cpu"],
|
|
53
|
-
message: `CPU (${handler.cpu} vCPU) is not proportional to RAM (${handler.ram} MB). Expected approximately ${expectedCpu.toFixed(2)} vCPU`
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
const queueSchema = z.object({
|
|
57
|
-
type: z.enum(["standard", "fifo"]),
|
|
58
|
-
visibilityTimeout: z.number(),
|
|
59
|
-
maxRetries: z.number().min(0, "maxRetries cannot be negative"),
|
|
60
|
-
delaySeconds: z.number().min(0, "delaySeconds cannot be negative").max(900, "delaySeconds cannot exceed 900 seconds (15 minutes)").optional()
|
|
61
|
-
});
|
|
62
|
-
const infrastructureSchema = z.object({
|
|
63
|
-
handler: handlerSchema.optional(),
|
|
64
|
-
queue: queueSchema.partial().optional()
|
|
65
|
-
}).superRefine((config, ctx) => {
|
|
66
|
-
if (config.queue?.visibilityTimeout !== void 0 && config.handler?.timeout !== void 0) {
|
|
67
|
-
if (config.queue.visibilityTimeout <= config.handler.timeout) ctx.addIssue({
|
|
68
|
-
code: z.ZodIssueCode.custom,
|
|
69
|
-
path: ["queue", "visibilityTimeout"],
|
|
70
|
-
message: `Visibility timeout (${config.queue.visibilityTimeout}s) must be greater than handler timeout (${config.handler.timeout}s) to prevent premature message redelivery`
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
//#endregion
|
|
76
|
-
export { AWS_LAMBDA_CPU_RATIO, AWS_LAMBDA_LIMITS, getProportionalCpu, handlerBaseSchema, handlerSchema, infrastructureSchema, queueSchema };
|
|
77
|
-
//# sourceMappingURL=schemas.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.mjs","names":["AWS_LAMBDA_CPU_RATIO: Record<number, number>"],"sources":["../../../src/infrastructure-validator/schemas.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const AWS_LAMBDA_LIMITS = {\n MIN_RAM_MB: 128,\n MAX_RAM_MB: 10240,\n MIN_TIMEOUT_SECONDS: 1,\n MAX_TIMEOUT_SECONDS: 900,\n} as const\n\nexport const AWS_LAMBDA_CPU_RATIO: Record<number, number> = {\n 128: 0.0625,\n 256: 0.125,\n 512: 0.25,\n 1024: 0.5,\n 1536: 0.75,\n 2048: 1,\n 3008: 1.5,\n 4096: 2,\n 5120: 2.5,\n 6144: 3,\n 7168: 3.5,\n 8192: 4,\n 9216: 4.5,\n 10240: 5,\n}\n\nexport function getProportionalCpu(ramMb: number): number {\n const ramValues = Object.keys(AWS_LAMBDA_CPU_RATIO)\n .map(Number)\n .sort((a, b) => a - b)\n\n const exact = AWS_LAMBDA_CPU_RATIO[ramMb]\n if (exact !== undefined) {\n return exact\n }\n\n for (let i = 0; i < ramValues.length - 1; i++) {\n const lower = ramValues[i]\n const upper = ramValues[i + 1]\n\n if (ramMb > lower && ramMb < upper) {\n const lowerCpu = AWS_LAMBDA_CPU_RATIO[lower]\n const upperCpu = AWS_LAMBDA_CPU_RATIO[upper]\n const ratio = (ramMb - lower) / (upper - lower)\n return lowerCpu + (upperCpu - lowerCpu) * ratio\n }\n }\n\n return ramMb <= ramValues[0]\n ? AWS_LAMBDA_CPU_RATIO[ramValues[0]]\n : AWS_LAMBDA_CPU_RATIO[ramValues[ramValues.length - 1]]\n}\n\nexport const handlerBaseSchema = z.object({\n ram: z\n .number()\n .min(AWS_LAMBDA_LIMITS.MIN_RAM_MB, `RAM must be at least ${AWS_LAMBDA_LIMITS.MIN_RAM_MB} MB`)\n .max(AWS_LAMBDA_LIMITS.MAX_RAM_MB, `RAM cannot exceed ${AWS_LAMBDA_LIMITS.MAX_RAM_MB} MB`),\n timeout: z\n .number()\n .min(AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS, `Timeout must be at least ${AWS_LAMBDA_LIMITS.MIN_TIMEOUT_SECONDS}s`)\n .max(AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS, `Timeout cannot exceed ${AWS_LAMBDA_LIMITS.MAX_TIMEOUT_SECONDS}s`),\n cpu: z.number().optional(),\n})\n\nexport const handlerSchema = handlerBaseSchema.partial().superRefine((handler, ctx) => {\n if (handler.cpu === undefined || handler.ram === undefined) {\n return\n }\n\n const expectedCpu = getProportionalCpu(handler.ram)\n const tolerance = 0.1\n\n if (Math.abs(handler.cpu - expectedCpu) > tolerance) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['handler', 'cpu'],\n message: `CPU (${handler.cpu} vCPU) is not proportional to RAM (${handler.ram} MB). Expected approximately ${expectedCpu.toFixed(2)} vCPU`,\n })\n }\n})\n\nexport const queueSchema = z.object({\n type: z.enum(['standard', 'fifo']),\n visibilityTimeout: z.number(),\n maxRetries: z.number().min(0, 'maxRetries cannot be negative'),\n delaySeconds: z\n .number()\n .min(0, 'delaySeconds cannot be negative')\n .max(900, 'delaySeconds cannot exceed 900 seconds (15 minutes)')\n .optional(),\n})\n\nexport const infrastructureSchema = z\n .object({\n handler: handlerSchema.optional(),\n queue: queueSchema.partial().optional(),\n })\n .superRefine((config, ctx) => {\n if (config.queue?.visibilityTimeout !== undefined && config.handler?.timeout !== undefined) {\n if (config.queue.visibilityTimeout <= config.handler.timeout) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['queue', 'visibilityTimeout'],\n message: `Visibility timeout (${config.queue.visibilityTimeout}s) must be greater than handler timeout (${config.handler.timeout}s) to prevent premature message redelivery`,\n })\n }\n }\n })\n"],"mappings":";;;AAEA,MAAa,oBAAoB;CAC/B,YAAY;CACZ,YAAY;CACZ,qBAAqB;CACrB,qBAAqB;CACtB;AAED,MAAaA,uBAA+C;CAC1D,KAAK;CACL,KAAK;CACL,KAAK;CACL,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,MAAM;CACN,OAAO;CACR;AAED,SAAgB,mBAAmB,OAAuB;CACxD,MAAM,YAAY,OAAO,KAAK,qBAAqB,CAChD,IAAI,OAAO,CACX,MAAM,GAAG,MAAM,IAAI,EAAE;CAExB,MAAM,QAAQ,qBAAqB;AACnC,KAAI,UAAU,OACZ,QAAO;AAGT,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,SAAS,GAAG,KAAK;EAC7C,MAAM,QAAQ,UAAU;EACxB,MAAM,QAAQ,UAAU,IAAI;AAE5B,MAAI,QAAQ,SAAS,QAAQ,OAAO;GAClC,MAAM,WAAW,qBAAqB;GACtC,MAAM,WAAW,qBAAqB;GACtC,MAAM,SAAS,QAAQ,UAAU,QAAQ;AACzC,UAAO,YAAY,WAAW,YAAY;;;AAI9C,QAAO,SAAS,UAAU,KACtB,qBAAqB,UAAU,MAC/B,qBAAqB,UAAU,UAAU,SAAS;;AAGxD,MAAa,oBAAoB,EAAE,OAAO;CACxC,KAAK,EACF,QAAQ,CACR,IAAI,kBAAkB,YAAY,wBAAwB,kBAAkB,WAAW,KAAK,CAC5F,IAAI,kBAAkB,YAAY,qBAAqB,kBAAkB,WAAW,KAAK;CAC5F,SAAS,EACN,QAAQ,CACR,IAAI,kBAAkB,qBAAqB,4BAA4B,kBAAkB,oBAAoB,GAAG,CAChH,IAAI,kBAAkB,qBAAqB,yBAAyB,kBAAkB,oBAAoB,GAAG;CAChH,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC3B,CAAC;AAEF,MAAa,gBAAgB,kBAAkB,SAAS,CAAC,aAAa,SAAS,QAAQ;AACrF,KAAI,QAAQ,QAAQ,UAAa,QAAQ,QAAQ,OAC/C;CAGF,MAAM,cAAc,mBAAmB,QAAQ,IAAI;AAGnD,KAAI,KAAK,IAAI,QAAQ,MAAM,YAAY,GAFrB,GAGhB,KAAI,SAAS;EACX,MAAM,EAAE,aAAa;EACrB,MAAM,CAAC,WAAW,MAAM;EACxB,SAAS,QAAQ,QAAQ,IAAI,qCAAqC,QAAQ,IAAI,+BAA+B,YAAY,QAAQ,EAAE,CAAC;EACrI,CAAC;EAEJ;AAEF,MAAa,cAAc,EAAE,OAAO;CAClC,MAAM,EAAE,KAAK,CAAC,YAAY,OAAO,CAAC;CAClC,mBAAmB,EAAE,QAAQ;CAC7B,YAAY,EAAE,QAAQ,CAAC,IAAI,GAAG,gCAAgC;CAC9D,cAAc,EACX,QAAQ,CACR,IAAI,GAAG,kCAAkC,CACzC,IAAI,KAAK,sDAAsD,CAC/D,UAAU;CACd,CAAC;AAEF,MAAa,uBAAuB,EACjC,OAAO;CACN,SAAS,cAAc,UAAU;CACjC,OAAO,YAAY,SAAS,CAAC,UAAU;CACxC,CAAC,CACD,aAAa,QAAQ,QAAQ;AAC5B,KAAI,OAAO,OAAO,sBAAsB,UAAa,OAAO,SAAS,YAAY,QAC/E;MAAI,OAAO,MAAM,qBAAqB,OAAO,QAAQ,QACnD,KAAI,SAAS;GACX,MAAM,EAAE,aAAa;GACrB,MAAM,CAAC,SAAS,oBAAoB;GACpC,SAAS,uBAAuB,OAAO,MAAM,kBAAkB,2CAA2C,OAAO,QAAQ,QAAQ;GAClI,CAAC;;EAGN"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/infrastructure-validator/types.d.ts
|
|
2
|
-
type InfrastructureValidationError = {
|
|
3
|
-
path: string;
|
|
4
|
-
message: string;
|
|
5
|
-
};
|
|
6
|
-
type InfrastructureValidationResult = {
|
|
7
|
-
success: true;
|
|
8
|
-
} | {
|
|
9
|
-
success: false;
|
|
10
|
-
errors?: InfrastructureValidationError[];
|
|
11
|
-
};
|
|
12
|
-
//#endregion
|
|
13
|
-
export { InfrastructureValidationError, InfrastructureValidationResult };
|
|
14
|
-
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/infrastructure-validator/types.ts"],"sourcesContent":[],"mappings":";KAAY,6BAAA;EAAA,IAAA,EAAA,MAAA;EAKA,OAAA,EAAA,MAAA;;KAAA,8BAAA;;;;WAMG"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { InfrastructureValidationResult } from "./types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/infrastructure-validator/validations.d.ts
|
|
4
|
-
declare const validateInfrastructureConfig: (infrastructureConfig: unknown) => InfrastructureValidationResult;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { validateInfrastructureConfig };
|
|
7
|
-
//# sourceMappingURL=validations.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.mts","names":[],"sources":["../../../src/infrastructure-validator/validations.ts"],"sourcesContent":[],"mappings":";;;cAuCa,iEAAgE"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { infrastructureSchema } from "./schemas.mjs";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
|
|
4
|
-
//#region src/infrastructure-validator/validations.ts
|
|
5
|
-
const validateInfrastructureConfig = (infrastructureConfig) => {
|
|
6
|
-
try {
|
|
7
|
-
infrastructureSchema.parse(infrastructureConfig);
|
|
8
|
-
return { success: true };
|
|
9
|
-
} catch (error) {
|
|
10
|
-
if (error instanceof z.ZodError) return {
|
|
11
|
-
success: false,
|
|
12
|
-
errors: error.issues.map((err) => ({
|
|
13
|
-
path: err.path.length > 0 ? err.path.join(".") : "infrastructure",
|
|
14
|
-
message: err.message
|
|
15
|
-
}))
|
|
16
|
-
};
|
|
17
|
-
return {
|
|
18
|
-
success: false,
|
|
19
|
-
errors: [{
|
|
20
|
-
path: "infrastructure",
|
|
21
|
-
message: `Unexpected validation error: ${error instanceof Error ? error.message : "Unknown error"}`
|
|
22
|
-
}]
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
//#endregion
|
|
28
|
-
export { validateInfrastructureConfig };
|
|
29
|
-
//# sourceMappingURL=validations.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validations.mjs","names":[],"sources":["../../../src/infrastructure-validator/validations.ts"],"sourcesContent":["import { z } from 'zod'\nimport { infrastructureSchema, queueSchema } from './schemas'\nimport type {\n InfrastructureValidationError,\n InfrastructureValidationResult,\n QueueValidationError,\n QueueValidationResult,\n} from './types'\n\nexport const validateQueueConfig = (queueConfig: unknown): QueueValidationResult => {\n try {\n const schema = queueSchema\n schema.parse(queueConfig)\n\n return { success: true }\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errors: QueueValidationError[] = error.issues.map((err) => ({\n path: err.path.length > 0 ? err.path.join('.') : 'queue',\n message: err.message,\n }))\n\n return {\n success: false,\n errors,\n }\n }\n\n return {\n success: false,\n errors: [\n {\n path: 'queue',\n message: `Unexpected validation error: ${error instanceof Error ? error.message : 'Unknown error'}`,\n },\n ],\n }\n }\n}\nexport const validateInfrastructureConfig = (infrastructureConfig: unknown): InfrastructureValidationResult => {\n try {\n infrastructureSchema.parse(infrastructureConfig)\n\n return { success: true }\n } catch (error) {\n if (error instanceof z.ZodError) {\n const errors: InfrastructureValidationError[] = error.issues.map((err) => ({\n path: err.path.length > 0 ? err.path.join('.') : 'infrastructure',\n message: err.message,\n }))\n\n return {\n success: false,\n errors,\n }\n }\n\n return {\n success: false,\n errors: [\n {\n path: 'infrastructure',\n message: `Unexpected validation error: ${error instanceof Error ? error.message : 'Unknown error'}`,\n },\n ],\n }\n }\n}\n"],"mappings":";;;;AAuCA,MAAa,gCAAgC,yBAAkE;AAC7G,KAAI;AACF,uBAAqB,MAAM,qBAAqB;AAEhD,SAAO,EAAE,SAAS,MAAM;UACjB,OAAO;AACd,MAAI,iBAAiB,EAAE,SAMrB,QAAO;GACL,SAAS;GACT,QAP8C,MAAM,OAAO,KAAK,SAAS;IACzE,MAAM,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG;IACjD,SAAS,IAAI;IACd,EAAE;GAKF;AAGH,SAAO;GACL,SAAS;GACT,QAAQ,CACN;IACE,MAAM;IACN,SAAS,gCAAgC,iBAAiB,QAAQ,MAAM,UAAU;IACnF,CACF;GACF"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import { createRequire } from "module";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
|
|
5
|
-
//#region src/language-runner.ts
|
|
6
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
const require = createRequire(import.meta.url);
|
|
8
|
-
const getTsxPath = () => {
|
|
9
|
-
try {
|
|
10
|
-
const tsxModule = require.resolve("tsx/package.json");
|
|
11
|
-
return path.join(path.dirname(tsxModule), "dist", "cli.mjs");
|
|
12
|
-
} catch {
|
|
13
|
-
return "tsx";
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
const getLanguageBasedRunner = (stepFilePath = "", overrides) => {
|
|
17
|
-
const isPython = stepFilePath.endsWith(".py");
|
|
18
|
-
const isRuby = stepFilePath.endsWith(".rb");
|
|
19
|
-
const isNode = stepFilePath.endsWith(".js") || stepFilePath.endsWith(".ts");
|
|
20
|
-
if (isPython) return {
|
|
21
|
-
runner: path.join(__dirname, "python", overrides?.python ?? "python-runner.py"),
|
|
22
|
-
command: "python",
|
|
23
|
-
args: []
|
|
24
|
-
};
|
|
25
|
-
else if (isRuby) return {
|
|
26
|
-
runner: path.join(__dirname, "ruby", overrides?.ruby ?? "ruby-runner.rb"),
|
|
27
|
-
command: "ruby",
|
|
28
|
-
args: []
|
|
29
|
-
};
|
|
30
|
-
else if (isNode) {
|
|
31
|
-
const defaultNodeOverrides = overrides?.node;
|
|
32
|
-
if (process.env._MOTIA_TEST_MODE === "true") {
|
|
33
|
-
const runnerFile = defaultNodeOverrides?.ts ?? "node-runner.ts";
|
|
34
|
-
return {
|
|
35
|
-
runner: path.join(__dirname, "node", runnerFile),
|
|
36
|
-
command: "node",
|
|
37
|
-
args: [
|
|
38
|
-
"--loader",
|
|
39
|
-
"ts-node/esm",
|
|
40
|
-
"--no-warnings=ExperimentalWarning"
|
|
41
|
-
]
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
return {
|
|
45
|
-
runner: path.join(__dirname, "node", defaultNodeOverrides?.js ?? "node-runner.mjs"),
|
|
46
|
-
command: getTsxPath(),
|
|
47
|
-
args: []
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
throw Error(`Unsupported file extension ${stepFilePath}`);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//#endregion
|
|
54
|
-
export { getLanguageBasedRunner };
|
|
55
|
-
//# sourceMappingURL=language-runner.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"language-runner.mjs","names":[],"sources":["../../src/language-runner.ts"],"sourcesContent":["import { createRequire } from 'module'\nimport path from 'path'\nimport { fileURLToPath } from 'url'\n\nexport type LanguageRunnerConfig = {\n command: string\n runner: string\n args: string[]\n}\n\nexport type LanguageRunnerOverrides = {\n python?: string\n ruby?: string\n node?: {\n js: string\n ts?: string\n }\n}\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url))\nconst require = createRequire(import.meta.url)\n\nconst getTsxPath = () => {\n try {\n const tsxModule = require.resolve('tsx/package.json')\n return path.join(path.dirname(tsxModule), 'dist', 'cli.mjs')\n } catch {\n return 'tsx'\n }\n}\n\nexport const getLanguageBasedRunner = (\n stepFilePath = '',\n overrides?: LanguageRunnerOverrides,\n): LanguageRunnerConfig => {\n const isPython = stepFilePath.endsWith('.py')\n const isRuby = stepFilePath.endsWith('.rb')\n const isNode = stepFilePath.endsWith('.js') || stepFilePath.endsWith('.ts')\n\n if (isPython) {\n const pythonRunner = path.join(__dirname, 'python', overrides?.python ?? 'python-runner.py')\n return { runner: pythonRunner, command: 'python', args: [] }\n } else if (isRuby) {\n const rubyRunner = path.join(__dirname, 'ruby', overrides?.ruby ?? 'ruby-runner.rb')\n return { runner: rubyRunner, command: 'ruby', args: [] }\n } else if (isNode) {\n const defaultNodeOverrides = overrides?.node\n\n if (process.env._MOTIA_TEST_MODE === 'true') {\n const runnerFile = defaultNodeOverrides?.ts ?? 'node-runner.ts'\n return {\n runner: path.join(__dirname, 'node', runnerFile),\n command: 'node',\n args: ['--loader', 'ts-node/esm', '--no-warnings=ExperimentalWarning'],\n }\n }\n const jsRunner = path.join(__dirname, 'node', defaultNodeOverrides?.js ?? 'node-runner.mjs')\n\n const tsxPath = getTsxPath()\n return { runner: jsRunner, command: tsxPath, args: [] }\n }\n\n throw Error(`Unsupported file extension ${stepFilePath}`)\n}\n"],"mappings":";;;;;AAmBA,MAAM,YAAY,KAAK,QAAQ,cAAc,OAAO,KAAK,IAAI,CAAC;AAC9D,MAAM,UAAU,cAAc,OAAO,KAAK,IAAI;AAE9C,MAAM,mBAAmB;AACvB,KAAI;EACF,MAAM,YAAY,QAAQ,QAAQ,mBAAmB;AACrD,SAAO,KAAK,KAAK,KAAK,QAAQ,UAAU,EAAE,QAAQ,UAAU;SACtD;AACN,SAAO;;;AAIX,MAAa,0BACX,eAAe,IACf,cACyB;CACzB,MAAM,WAAW,aAAa,SAAS,MAAM;CAC7C,MAAM,SAAS,aAAa,SAAS,MAAM;CAC3C,MAAM,SAAS,aAAa,SAAS,MAAM,IAAI,aAAa,SAAS,MAAM;AAE3E,KAAI,SAEF,QAAO;EAAE,QADY,KAAK,KAAK,WAAW,UAAU,WAAW,UAAU,mBAAmB;EAC7D,SAAS;EAAU,MAAM,EAAE;EAAE;UACnD,OAET,QAAO;EAAE,QADU,KAAK,KAAK,WAAW,QAAQ,WAAW,QAAQ,iBAAiB;EACvD,SAAS;EAAQ,MAAM,EAAE;EAAE;UAC/C,QAAQ;EACjB,MAAM,uBAAuB,WAAW;AAExC,MAAI,QAAQ,IAAI,qBAAqB,QAAQ;GAC3C,MAAM,aAAa,sBAAsB,MAAM;AAC/C,UAAO;IACL,QAAQ,KAAK,KAAK,WAAW,QAAQ,WAAW;IAChD,SAAS;IACT,MAAM;KAAC;KAAY;KAAe;KAAoC;IACvE;;AAKH,SAAO;GAAE,QAHQ,KAAK,KAAK,WAAW,QAAQ,sBAAsB,MAAM,kBAAkB;GAGjE,SADX,YAAY;GACiB,MAAM,EAAE;GAAE;;AAGzD,OAAM,MAAM,8BAA8B,eAAe"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { JsonSchema } from "./types/schema.types.mjs";
|
|
2
|
-
import { StreamFactory } from "./streams/stream-factory.mjs";
|
|
3
|
-
import { Stream } from "./types-stream.mjs";
|
|
4
|
-
import { StreamAdapterManager } from "./adapters/interfaces/stream-adapter-manager.interface.mjs";
|
|
5
|
-
import { Printer } from "./printer.mjs";
|
|
6
|
-
import { StreamAuthConfig } from "./types/app-config-types.mjs";
|
|
7
|
-
import { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from "./types.mjs";
|
|
8
|
-
import { RedisClientType } from "redis";
|
|
9
|
-
|
|
10
|
-
//#region src/locked-data.d.ts
|
|
11
|
-
type FlowEvent = 'flow-created' | 'flow-removed' | 'flow-updated';
|
|
12
|
-
type StepEvent = 'step-created' | 'step-removed' | 'step-updated';
|
|
13
|
-
type StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated';
|
|
14
|
-
type StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>;
|
|
15
|
-
declare class LockedData {
|
|
16
|
-
readonly baseDir: string;
|
|
17
|
-
readonly streamAdapter: StreamAdapterManager;
|
|
18
|
-
private readonly printer;
|
|
19
|
-
readonly redisClient?: RedisClientType | undefined;
|
|
20
|
-
flows: Record<string, Flow>;
|
|
21
|
-
activeSteps: Step[];
|
|
22
|
-
devSteps: Step[];
|
|
23
|
-
private stepsMap;
|
|
24
|
-
private handlers;
|
|
25
|
-
private stepHandlers;
|
|
26
|
-
private streamHandlers;
|
|
27
|
-
private streams;
|
|
28
|
-
private streamWrapper?;
|
|
29
|
-
private streamAuthContextType?;
|
|
30
|
-
private streamAuthConfig?;
|
|
31
|
-
constructor(baseDir: string, streamAdapter: StreamAdapterManager, printer: Printer, redisClient?: RedisClientType | undefined);
|
|
32
|
-
applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void;
|
|
33
|
-
setStreamAuthConfig(config?: {
|
|
34
|
-
authenticate: StreamAuthConfig['authenticate'];
|
|
35
|
-
contextSchema?: JsonSchema;
|
|
36
|
-
}): void;
|
|
37
|
-
getStreamAuthConfig(): {
|
|
38
|
-
authenticate: StreamAuthConfig["authenticate"];
|
|
39
|
-
} | undefined;
|
|
40
|
-
saveTypes(): void;
|
|
41
|
-
on(event: FlowEvent, handler: (flowName: string) => void): void;
|
|
42
|
-
onStep(event: StepEvent, handler: (step: Step) => void): void;
|
|
43
|
-
onStream(event: StreamEvent, handler: (stream: Stream) => void): void;
|
|
44
|
-
getActiveSteps(): Step[];
|
|
45
|
-
eventSteps(): Step<EventConfig>[];
|
|
46
|
-
apiSteps(): Step<ApiRouteConfig>[];
|
|
47
|
-
cronSteps(): Step<CronConfig>[];
|
|
48
|
-
pythonSteps(): Step[];
|
|
49
|
-
tsSteps(): Step[];
|
|
50
|
-
getStreams(): Record<string, StreamFactory<any>>;
|
|
51
|
-
listStreams(): Stream[];
|
|
52
|
-
getStreamByName(streamName: string): Stream | undefined;
|
|
53
|
-
findStream(path: string): Stream | undefined;
|
|
54
|
-
updateStep(oldStep: Step, newStep: Step, options?: {
|
|
55
|
-
disableTypeCreation?: boolean;
|
|
56
|
-
}): boolean;
|
|
57
|
-
createStep(step: Step, options?: {
|
|
58
|
-
disableTypeCreation?: boolean;
|
|
59
|
-
}): boolean;
|
|
60
|
-
deleteStep(step: Step, options?: {
|
|
61
|
-
disableTypeCreation?: boolean;
|
|
62
|
-
}): void;
|
|
63
|
-
private createFactoryWrapper;
|
|
64
|
-
createStream<TData>(baseStream: Omit<Stream, 'factory'>, options?: {
|
|
65
|
-
disableTypeCreation?: boolean;
|
|
66
|
-
}): StreamFactory<TData>;
|
|
67
|
-
deleteStream(stream: Stream, options?: {
|
|
68
|
-
disableTypeCreation?: boolean;
|
|
69
|
-
}): void;
|
|
70
|
-
updateStream(oldStream: Stream, stream: Stream, options?: {
|
|
71
|
-
disableTypeCreation?: boolean;
|
|
72
|
-
}): void;
|
|
73
|
-
private createFlow;
|
|
74
|
-
private removeFlow;
|
|
75
|
-
private onFlowUpdated;
|
|
76
|
-
private isValidStep;
|
|
77
|
-
private createStreamAdapter;
|
|
78
|
-
}
|
|
79
|
-
//#endregion
|
|
80
|
-
export { LockedData };
|
|
81
|
-
//# sourceMappingURL=locked-data.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locked-data.d.mts","names":[],"sources":["../../src/locked-data.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/src/locked-data.mjs
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { isApiStep, isCronStep, isEventStep } from "./guards.mjs";
|
|
2
|
-
import { PLUGIN_FLOW_ID } from "./motia.mjs";
|
|
3
|
-
import { validateStep } from "./step-validator.mjs";
|
|
4
|
-
import { generateTypeFromSchema } from "./types/generate-type-from-schema.mjs";
|
|
5
|
-
import { generateTypesFromSteps, generateTypesFromStreams, generateTypesString } from "./types/generate-types.mjs";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
import path from "path";
|
|
8
|
-
|
|
9
|
-
//#region src/locked-data.ts
|
|
10
|
-
var LockedData = class {
|
|
11
|
-
constructor(baseDir, streamAdapter, printer, redisClient) {
|
|
12
|
-
this.baseDir = baseDir;
|
|
13
|
-
this.streamAdapter = streamAdapter;
|
|
14
|
-
this.printer = printer;
|
|
15
|
-
this.redisClient = redisClient;
|
|
16
|
-
this.flows = {};
|
|
17
|
-
this.activeSteps = [];
|
|
18
|
-
this.devSteps = [];
|
|
19
|
-
this.stepsMap = {};
|
|
20
|
-
this.handlers = {
|
|
21
|
-
"flow-created": [],
|
|
22
|
-
"flow-removed": [],
|
|
23
|
-
"flow-updated": []
|
|
24
|
-
};
|
|
25
|
-
this.stepHandlers = {
|
|
26
|
-
"step-created": [],
|
|
27
|
-
"step-removed": [],
|
|
28
|
-
"step-updated": []
|
|
29
|
-
};
|
|
30
|
-
this.streamHandlers = {
|
|
31
|
-
"stream-created": [],
|
|
32
|
-
"stream-removed": [],
|
|
33
|
-
"stream-updated": []
|
|
34
|
-
};
|
|
35
|
-
this.streams = {};
|
|
36
|
-
}
|
|
37
|
-
applyStreamWrapper(streamWrapper) {
|
|
38
|
-
this.streamWrapper = streamWrapper;
|
|
39
|
-
}
|
|
40
|
-
setStreamAuthConfig(config) {
|
|
41
|
-
this.streamAuthConfig = config ? { authenticate: config.authenticate } : void 0;
|
|
42
|
-
this.streamAuthContextType = config?.contextSchema ? generateTypeFromSchema(config.contextSchema) : void 0;
|
|
43
|
-
}
|
|
44
|
-
getStreamAuthConfig() {
|
|
45
|
-
return this.streamAuthConfig;
|
|
46
|
-
}
|
|
47
|
-
saveTypes() {
|
|
48
|
-
const typesString = generateTypesString(generateTypesFromSteps(this.activeSteps, this.printer), generateTypesFromStreams(this.streams), this.streamAuthContextType);
|
|
49
|
-
fs.writeFileSync(path.join(this.baseDir, "types.d.ts"), typesString);
|
|
50
|
-
}
|
|
51
|
-
on(event, handler) {
|
|
52
|
-
this.handlers[event].push(handler);
|
|
53
|
-
}
|
|
54
|
-
onStep(event, handler) {
|
|
55
|
-
this.stepHandlers[event].push(handler);
|
|
56
|
-
}
|
|
57
|
-
onStream(event, handler) {
|
|
58
|
-
this.streamHandlers[event].push(handler);
|
|
59
|
-
}
|
|
60
|
-
getActiveSteps() {
|
|
61
|
-
return this.activeSteps.filter((step) => !step.config.flows?.includes(PLUGIN_FLOW_ID));
|
|
62
|
-
}
|
|
63
|
-
eventSteps() {
|
|
64
|
-
return this.getActiveSteps().filter(isEventStep);
|
|
65
|
-
}
|
|
66
|
-
apiSteps() {
|
|
67
|
-
return this.getActiveSteps().filter(isApiStep);
|
|
68
|
-
}
|
|
69
|
-
cronSteps() {
|
|
70
|
-
return this.getActiveSteps().filter(isCronStep);
|
|
71
|
-
}
|
|
72
|
-
pythonSteps() {
|
|
73
|
-
return this.getActiveSteps().filter((step) => step.filePath.endsWith(".py"));
|
|
74
|
-
}
|
|
75
|
-
tsSteps() {
|
|
76
|
-
return this.getActiveSteps().filter((step) => step.filePath.endsWith(".ts"));
|
|
77
|
-
}
|
|
78
|
-
getStreams() {
|
|
79
|
-
const streams = {};
|
|
80
|
-
for (const [key, value] of Object.entries(this.streams)) streams[key] = value.factory;
|
|
81
|
-
return streams;
|
|
82
|
-
}
|
|
83
|
-
listStreams() {
|
|
84
|
-
return Object.values(this.streams);
|
|
85
|
-
}
|
|
86
|
-
getStreamByName(streamName) {
|
|
87
|
-
return this.streams[streamName];
|
|
88
|
-
}
|
|
89
|
-
findStream(path$1) {
|
|
90
|
-
return Object.values(this.streams).find((stream) => stream.filePath === path$1);
|
|
91
|
-
}
|
|
92
|
-
updateStep(oldStep, newStep, options = {}) {
|
|
93
|
-
if (!this.isValidStep(newStep)) {
|
|
94
|
-
this.deleteStep(oldStep);
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
if (oldStep.config.type !== newStep.config.type) {
|
|
98
|
-
this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath);
|
|
99
|
-
this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath);
|
|
100
|
-
if (newStep.config.type === "noop") this.devSteps.push(newStep);
|
|
101
|
-
else this.activeSteps.push(newStep);
|
|
102
|
-
}
|
|
103
|
-
const savedStep = this.stepsMap[newStep.filePath];
|
|
104
|
-
const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? [];
|
|
105
|
-
const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? [];
|
|
106
|
-
const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? [];
|
|
107
|
-
savedStep.config = newStep.config;
|
|
108
|
-
untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName));
|
|
109
|
-
for (const flowName of addedFlows) if (!this.flows[flowName]) this.createFlow(flowName).steps.push(savedStep);
|
|
110
|
-
else {
|
|
111
|
-
this.flows[flowName].steps.push(savedStep);
|
|
112
|
-
this.onFlowUpdated(flowName);
|
|
113
|
-
}
|
|
114
|
-
for (const flowName of removedFlows) {
|
|
115
|
-
const flowSteps = this.flows[flowName].steps;
|
|
116
|
-
this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath);
|
|
117
|
-
if (this.flows[flowName].steps.length === 0) this.removeFlow(flowName);
|
|
118
|
-
else this.onFlowUpdated(flowName);
|
|
119
|
-
}
|
|
120
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
121
|
-
this.stepHandlers["step-updated"].forEach((handler) => handler(newStep));
|
|
122
|
-
this.printer.printStepUpdated(newStep);
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
createStep(step, options = {}) {
|
|
126
|
-
if (!this.isValidStep(step)) return false;
|
|
127
|
-
this.stepsMap[step.filePath] = step;
|
|
128
|
-
if (step.config.type === "noop") this.devSteps.push(step);
|
|
129
|
-
else this.activeSteps.push(step);
|
|
130
|
-
for (const flowName of step.config.flows ?? []) if (!this.flows[flowName]) this.createFlow(flowName).steps.push(step);
|
|
131
|
-
else {
|
|
132
|
-
this.flows[flowName].steps.push(step);
|
|
133
|
-
this.onFlowUpdated(flowName);
|
|
134
|
-
}
|
|
135
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
136
|
-
this.stepHandlers["step-created"].forEach((handler) => handler(step));
|
|
137
|
-
this.printer.printStepCreated(step);
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
deleteStep(step, options = {}) {
|
|
141
|
-
this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath);
|
|
142
|
-
this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath);
|
|
143
|
-
delete this.stepsMap[step.filePath];
|
|
144
|
-
for (const flowName of step.config.flows ?? []) {
|
|
145
|
-
const stepFlows = this.flows[flowName]?.steps;
|
|
146
|
-
if (stepFlows) this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath);
|
|
147
|
-
if (this.flows[flowName].steps.length === 0) this.removeFlow(flowName);
|
|
148
|
-
else this.onFlowUpdated(flowName);
|
|
149
|
-
}
|
|
150
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
151
|
-
this.stepHandlers["step-removed"].forEach((handler) => handler(step));
|
|
152
|
-
this.printer.printStepRemoved(step);
|
|
153
|
-
}
|
|
154
|
-
createFactoryWrapper(stream, factory) {
|
|
155
|
-
return () => {
|
|
156
|
-
return (this.streamWrapper ? this.streamWrapper(stream.config.name, factory) : factory)();
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
createStream(baseStream, options = {}) {
|
|
160
|
-
const stream = baseStream;
|
|
161
|
-
this.streams[stream.config.name] = stream;
|
|
162
|
-
this.streamHandlers["stream-created"].forEach((handler) => handler(stream));
|
|
163
|
-
if (stream.config.baseConfig.storageType === "default") stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
|
|
164
|
-
else stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
|
|
165
|
-
if (!stream.hidden) {
|
|
166
|
-
this.printer.printStreamCreated(stream);
|
|
167
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
168
|
-
}
|
|
169
|
-
return stream.factory;
|
|
170
|
-
}
|
|
171
|
-
deleteStream(stream, options = {}) {
|
|
172
|
-
Object.entries(this.streams).forEach(([streamName, { filePath }]) => {
|
|
173
|
-
if (stream.filePath === filePath) delete this.streams[streamName];
|
|
174
|
-
});
|
|
175
|
-
this.streamHandlers["stream-removed"].forEach((handler) => handler(stream));
|
|
176
|
-
if (!stream.hidden) {
|
|
177
|
-
this.printer.printStreamRemoved(stream);
|
|
178
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
updateStream(oldStream, stream, options = {}) {
|
|
182
|
-
if (oldStream.config.name !== stream.config.name) delete this.streams[oldStream.config.name];
|
|
183
|
-
if (stream.config.baseConfig.storageType === "default") stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
|
|
184
|
-
else stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
|
|
185
|
-
this.streams[stream.config.name] = stream;
|
|
186
|
-
this.streamHandlers["stream-updated"].forEach((handler) => handler(stream));
|
|
187
|
-
if (!stream.hidden) {
|
|
188
|
-
this.printer.printStreamUpdated(stream);
|
|
189
|
-
if (!options.disableTypeCreation) this.saveTypes();
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
createFlow(flowName) {
|
|
193
|
-
const flow = {
|
|
194
|
-
name: flowName,
|
|
195
|
-
description: "",
|
|
196
|
-
steps: []
|
|
197
|
-
};
|
|
198
|
-
this.flows[flowName] = flow;
|
|
199
|
-
this.handlers["flow-created"].forEach((handler) => handler(flowName));
|
|
200
|
-
this.printer.printFlowCreated(flowName);
|
|
201
|
-
return flow;
|
|
202
|
-
}
|
|
203
|
-
removeFlow(flowName) {
|
|
204
|
-
delete this.flows[flowName];
|
|
205
|
-
this.handlers["flow-removed"].forEach((handler) => handler(flowName));
|
|
206
|
-
this.printer.printFlowRemoved(flowName);
|
|
207
|
-
}
|
|
208
|
-
onFlowUpdated(flowName) {
|
|
209
|
-
this.handlers["flow-updated"].forEach((handler) => handler(flowName));
|
|
210
|
-
}
|
|
211
|
-
isValidStep(step) {
|
|
212
|
-
const validationResult = validateStep(step);
|
|
213
|
-
if (!validationResult.success) this.printer.printValidationError(step.filePath, validationResult);
|
|
214
|
-
return validationResult.success;
|
|
215
|
-
}
|
|
216
|
-
createStreamAdapter(streamName) {
|
|
217
|
-
return this.streamAdapter.createStream(streamName);
|
|
218
|
-
}
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
//#endregion
|
|
222
|
-
export { LockedData };
|
|
223
|
-
//# sourceMappingURL=locked-data.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"locked-data.mjs","names":["baseDir: string","streamAdapter: StreamAdapterManager","printer: Printer","redisClient?: RedisClientType","streams: Record<string, StreamFactory<unknown>>","path"],"sources":["../../src/locked-data.ts"],"sourcesContent":["import fs from 'fs'\nimport path from 'path'\nimport type { RedisClientType } from 'redis'\nimport type { StreamAdapter } from './adapters/interfaces/stream-adapter.interface'\nimport type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface'\nimport { isApiStep, isCronStep, isEventStep } from './guards'\nimport { PLUGIN_FLOW_ID } from './motia'\nimport type { Printer } from './printer'\nimport { validateStep } from './step-validator'\nimport type { StreamFactory } from './streams/stream-factory'\nimport type { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from './types'\nimport type { StreamAuthConfig } from './types/app-config-types'\nimport { generateTypeFromSchema } from './types/generate-type-from-schema'\nimport { generateTypesFromSteps, generateTypesFromStreams, generateTypesString } from './types/generate-types'\nimport type { JsonSchema } from './types/schema.types'\nimport type { Stream } from './types-stream'\n\ntype FlowEvent = 'flow-created' | 'flow-removed' | 'flow-updated'\ntype StepEvent = 'step-created' | 'step-removed' | 'step-updated'\ntype StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated'\n\ntype StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>\n\nexport class LockedData {\n public flows: Record<string, Flow>\n public activeSteps: Step[]\n public devSteps: Step[]\n\n private stepsMap: Record<string, Step>\n private handlers: Record<FlowEvent, ((flowName: string) => void)[]>\n private stepHandlers: Record<StepEvent, ((step: Step) => void)[]>\n private streamHandlers: Record<StreamEvent, ((stream: Stream) => void)[]>\n private streams: Record<string, Stream>\n\n private streamWrapper?: StreamWrapper<any>\n private streamAuthContextType?: string\n private streamAuthConfig?: { authenticate: StreamAuthConfig['authenticate'] }\n\n constructor(\n public readonly baseDir: string,\n public readonly streamAdapter: StreamAdapterManager,\n private readonly printer: Printer,\n public readonly redisClient?: RedisClientType,\n ) {\n this.flows = {}\n this.activeSteps = []\n this.devSteps = []\n this.stepsMap = {}\n\n this.handlers = {\n 'flow-created': [],\n 'flow-removed': [],\n 'flow-updated': [],\n }\n\n this.stepHandlers = {\n 'step-created': [],\n 'step-removed': [],\n 'step-updated': [],\n }\n\n this.streamHandlers = {\n 'stream-created': [],\n 'stream-removed': [],\n 'stream-updated': [],\n }\n\n this.streams = {}\n }\n\n applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void {\n this.streamWrapper = streamWrapper\n }\n\n setStreamAuthConfig(config?: { authenticate: StreamAuthConfig['authenticate']; contextSchema?: JsonSchema }): void {\n this.streamAuthConfig = config ? { authenticate: config.authenticate } : undefined\n this.streamAuthContextType = config?.contextSchema ? generateTypeFromSchema(config.contextSchema) : undefined\n }\n\n getStreamAuthConfig() {\n return this.streamAuthConfig\n }\n\n saveTypes() {\n const types = generateTypesFromSteps(this.activeSteps, this.printer)\n const streams = generateTypesFromStreams(this.streams)\n const typesString = generateTypesString(types, streams, this.streamAuthContextType)\n fs.writeFileSync(path.join(this.baseDir, 'types.d.ts'), typesString)\n }\n\n on(event: FlowEvent, handler: (flowName: string) => void) {\n this.handlers[event].push(handler)\n }\n\n onStep(event: StepEvent, handler: (step: Step) => void) {\n this.stepHandlers[event].push(handler)\n }\n\n onStream(event: StreamEvent, handler: (stream: Stream) => void) {\n this.streamHandlers[event].push(handler)\n }\n\n getActiveSteps() {\n return this.activeSteps.filter((step) => !step.config.flows?.includes(PLUGIN_FLOW_ID))\n }\n\n eventSteps(): Step<EventConfig>[] {\n return this.getActiveSteps().filter(isEventStep)\n }\n\n apiSteps(): Step<ApiRouteConfig>[] {\n return this.getActiveSteps().filter(isApiStep)\n }\n\n cronSteps(): Step<CronConfig>[] {\n return this.getActiveSteps().filter(isCronStep)\n }\n\n pythonSteps(): Step[] {\n return this.getActiveSteps().filter((step) => step.filePath.endsWith('.py'))\n }\n\n tsSteps(): Step[] {\n return this.getActiveSteps().filter((step) => step.filePath.endsWith('.ts'))\n }\n\n getStreams(): Record<string, StreamFactory<any>> {\n const streams: Record<string, StreamFactory<unknown>> = {}\n\n for (const [key, value] of Object.entries(this.streams)) {\n streams[key] = value.factory\n }\n\n return streams\n }\n\n listStreams(): Stream[] {\n return Object.values(this.streams)\n }\n\n getStreamByName(streamName: string): Stream | undefined {\n return this.streams[streamName]\n }\n\n findStream(path: string): Stream | undefined {\n return Object.values(this.streams).find((stream) => stream.filePath === path)\n }\n\n updateStep(oldStep: Step, newStep: Step, options: { disableTypeCreation?: boolean } = {}): boolean {\n if (!this.isValidStep(newStep)) {\n this.deleteStep(oldStep)\n\n return false\n }\n\n if (oldStep.config.type !== newStep.config.type) {\n this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath)\n this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath)\n\n if (newStep.config.type === 'noop') {\n this.devSteps.push(newStep)\n } else {\n this.activeSteps.push(newStep)\n }\n }\n\n const savedStep = this.stepsMap[newStep.filePath]\n const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? []\n const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? []\n const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? []\n savedStep.config = newStep.config\n\n untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName))\n\n for (const flowName of addedFlows) {\n if (!this.flows[flowName]) {\n const flow = this.createFlow(flowName)\n flow.steps.push(savedStep)\n } else {\n this.flows[flowName].steps.push(savedStep)\n this.onFlowUpdated(flowName)\n }\n }\n\n for (const flowName of removedFlows) {\n const flowSteps = this.flows[flowName].steps\n this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath)\n\n if (this.flows[flowName].steps.length === 0) {\n this.removeFlow(flowName)\n } else {\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-updated'].forEach((handler) => handler(newStep))\n this.printer.printStepUpdated(newStep)\n\n return true\n }\n\n createStep(step: Step, options: { disableTypeCreation?: boolean } = {}): boolean {\n if (!this.isValidStep(step)) {\n return false\n }\n\n this.stepsMap[step.filePath] = step\n\n if (step.config.type === 'noop') {\n this.devSteps.push(step)\n } else {\n this.activeSteps.push(step)\n }\n\n for (const flowName of step.config.flows ?? []) {\n if (!this.flows[flowName]) {\n const flow = this.createFlow(flowName)\n flow.steps.push(step)\n } else {\n this.flows[flowName].steps.push(step)\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-created'].forEach((handler) => handler(step))\n this.printer.printStepCreated(step)\n\n return true\n }\n\n deleteStep(step: Step, options: { disableTypeCreation?: boolean } = {}): void {\n // Remove step from active and dev steps\n this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath)\n this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath)\n\n delete this.stepsMap[step.filePath]\n\n for (const flowName of step.config.flows ?? []) {\n const stepFlows = this.flows[flowName]?.steps\n\n if (stepFlows) {\n this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath)\n }\n\n if (this.flows[flowName].steps.length === 0) {\n this.removeFlow(flowName)\n } else {\n this.onFlowUpdated(flowName)\n }\n }\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n\n this.stepHandlers['step-removed'].forEach((handler) => handler(step))\n this.printer.printStepRemoved(step)\n }\n\n private createFactoryWrapper<TData>(stream: Stream, factory: StreamFactory<TData>): StreamFactory<TData> {\n return () => {\n const streamFactory = this.streamWrapper //\n ? this.streamWrapper(stream.config.name, factory)\n : factory\n return streamFactory()\n }\n }\n\n createStream<TData>(\n baseStream: Omit<Stream, 'factory'>,\n options: { disableTypeCreation?: boolean } = {},\n ): StreamFactory<TData> {\n const stream = baseStream as Stream\n\n this.streams[stream.config.name] = stream\n this.streamHandlers['stream-created'].forEach((handler) => handler(stream))\n\n if (stream.config.baseConfig.storageType === 'default') {\n stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name))\n } else {\n stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory)\n }\n\n if (!stream.hidden) {\n this.printer.printStreamCreated(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n\n return stream.factory as StreamFactory<TData>\n }\n\n deleteStream(stream: Stream, options: { disableTypeCreation?: boolean } = {}): void {\n Object.entries(this.streams).forEach(([streamName, { filePath }]) => {\n if (stream.filePath === filePath) {\n delete this.streams[streamName]\n }\n })\n\n this.streamHandlers['stream-removed'].forEach((handler) => handler(stream))\n\n if (!stream.hidden) {\n this.printer.printStreamRemoved(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n }\n\n updateStream(oldStream: Stream, stream: Stream, options: { disableTypeCreation?: boolean } = {}): void {\n if (oldStream.config.name !== stream.config.name) {\n delete this.streams[oldStream.config.name]\n }\n\n if (stream.config.baseConfig.storageType === 'default') {\n stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name))\n } else {\n stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory)\n }\n\n this.streams[stream.config.name] = stream\n this.streamHandlers['stream-updated'].forEach((handler) => handler(stream))\n\n if (!stream.hidden) {\n this.printer.printStreamUpdated(stream)\n\n if (!options.disableTypeCreation) {\n this.saveTypes()\n }\n }\n }\n\n private createFlow(flowName: string): Flow {\n const flow = { name: flowName, description: '', steps: [] }\n this.flows[flowName] = flow\n this.handlers['flow-created'].forEach((handler) => handler(flowName))\n this.printer.printFlowCreated(flowName)\n\n return flow\n }\n\n private removeFlow(flowName: string): void {\n delete this.flows[flowName]\n this.handlers['flow-removed'].forEach((handler) => handler(flowName))\n this.printer.printFlowRemoved(flowName)\n }\n\n private onFlowUpdated(flowName: string): void {\n this.handlers['flow-updated'].forEach((handler) => handler(flowName))\n }\n\n private isValidStep(step: Step): boolean {\n const validationResult = validateStep(step)\n\n if (!validationResult.success) {\n this.printer.printValidationError(step.filePath, validationResult)\n }\n\n return validationResult.success\n }\n\n private createStreamAdapter<TData>(streamName: string): StreamAdapter<TData> {\n return this.streamAdapter.createStream<TData>(streamName)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Logger } from "./logger.mjs";
|
|
2
|
-
import "./types-stream.mjs";
|
|
3
|
-
import "./streams/redis-logs-stream.mjs";
|
|
4
|
-
|
|
5
|
-
//#region src/logger-factory.d.ts
|
|
6
|
-
type CreateLogger = {
|
|
7
|
-
traceId: string;
|
|
8
|
-
flows?: string[];
|
|
9
|
-
stepName: string;
|
|
10
|
-
};
|
|
11
|
-
interface LoggerFactory {
|
|
12
|
-
create: (args: CreateLogger) => Logger;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
export { LoggerFactory };
|
|
16
|
-
//# sourceMappingURL=logger-factory.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-factory.d.mts","names":[],"sources":["../../src/logger-factory.ts"],"sourcesContent":[],"mappings":";;;;;KAKK,YAAA;;EAAA,KAAA,CAAA,EAAA,MAAA,EAAY;EAMA,QAAA,EAAA,MAAa;;UAAb,aAAA;iBACA,iBAAiB"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Logger } from "./logger.mjs";
|
|
2
|
-
import { randomUUID } from "crypto";
|
|
3
|
-
|
|
4
|
-
//#region src/logger-factory.ts
|
|
5
|
-
var BaseLoggerFactory = class {
|
|
6
|
-
constructor(isVerbose, logStream) {
|
|
7
|
-
this.isVerbose = isVerbose;
|
|
8
|
-
this.logStream = logStream;
|
|
9
|
-
}
|
|
10
|
-
create({ stepName, traceId, flows }) {
|
|
11
|
-
const streamListener = (level, msg, args) => {
|
|
12
|
-
const id = randomUUID();
|
|
13
|
-
this.logStream.set("default", id, {
|
|
14
|
-
id,
|
|
15
|
-
...args ?? {},
|
|
16
|
-
level,
|
|
17
|
-
time: Date.now(),
|
|
18
|
-
msg,
|
|
19
|
-
traceId,
|
|
20
|
-
flows: flows ?? []
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
return new Logger(this.isVerbose, {
|
|
24
|
-
traceId,
|
|
25
|
-
flows,
|
|
26
|
-
step: stepName
|
|
27
|
-
}, [streamListener]);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
//#endregion
|
|
32
|
-
export { BaseLoggerFactory };
|
|
33
|
-
//# sourceMappingURL=logger-factory.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger-factory.mjs","names":["isVerbose: boolean","logStream: MotiaStream<Log>","streamListener: LogListener"],"sources":["../../src/logger-factory.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\nimport { Logger, type LogListener } from './logger'\nimport type { Log } from './streams/redis-logs-stream'\nimport type { MotiaStream } from './types-stream'\n\ntype CreateLogger = {\n traceId: string\n flows?: string[]\n stepName: string\n}\n\nexport interface LoggerFactory {\n create: (args: CreateLogger) => Logger\n}\n\nexport class BaseLoggerFactory implements LoggerFactory {\n constructor(\n private readonly isVerbose: boolean,\n private readonly logStream: MotiaStream<Log>,\n ) {}\n\n create({ stepName, traceId, flows }: CreateLogger): Logger {\n const streamListener: LogListener = (level, msg, args) => {\n const id = randomUUID()\n\n this.logStream.set('default', id, {\n id,\n ...(args ?? {}),\n level,\n time: Date.now(),\n msg,\n traceId,\n flows: flows ?? [],\n })\n }\n\n return new Logger(this.isVerbose, { traceId, flows, step: stepName }, [streamListener])\n }\n}\n"],"mappings":";;;;AAeA,IAAa,oBAAb,MAAwD;CACtD,YACE,AAAiBA,WACjB,AAAiBC,WACjB;EAFiB;EACA;;CAGnB,OAAO,EAAE,UAAU,SAAS,SAA+B;EACzD,MAAMC,kBAA+B,OAAO,KAAK,SAAS;GACxD,MAAM,KAAK,YAAY;AAEvB,QAAK,UAAU,IAAI,WAAW,IAAI;IAChC;IACA,GAAI,QAAQ,EAAE;IACd;IACA,MAAM,KAAK,KAAK;IAChB;IACA;IACA,OAAO,SAAS,EAAE;IACnB,CAAC;;AAGJ,SAAO,IAAI,OAAO,KAAK,WAAW;GAAE;GAAS;GAAO,MAAM;GAAU,EAAE,CAAC,eAAe,CAAC"}
|