@motiadev/core 0.13.2-beta.164-110989 → 0.14.0-beta.164
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 +98 -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 -213
- 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 -36
- 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 -15
- 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 -87
- package/dist/src/observability/stream-tracer.mjs.map +0 -1
- package/dist/src/observability/trace-manager.mjs +0 -24
- package/dist/src/observability/trace-manager.mjs.map +0 -1
- package/dist/src/observability/tracer.mjs +0 -87
- 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 -352
- 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 -48
- 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
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getLanguageBasedRunner = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const getLanguageBasedRunner = (stepFilePath = '', overrides) => {
|
|
9
|
+
const isPython = stepFilePath.endsWith('.py');
|
|
10
|
+
const isRuby = stepFilePath.endsWith('.rb');
|
|
11
|
+
const isNode = stepFilePath.endsWith('.js') || stepFilePath.endsWith('.ts');
|
|
12
|
+
if (isPython) {
|
|
13
|
+
const pythonRunner = path_1.default.join(__dirname, 'python', overrides?.python ?? 'python-runner.py');
|
|
14
|
+
return { runner: pythonRunner, command: 'python', args: [] };
|
|
15
|
+
}
|
|
16
|
+
else if (isRuby) {
|
|
17
|
+
const rubyRunner = path_1.default.join(__dirname, 'ruby', overrides?.ruby ?? 'ruby-runner.rb');
|
|
18
|
+
return { runner: rubyRunner, command: 'ruby', args: [] };
|
|
19
|
+
}
|
|
20
|
+
else if (isNode) {
|
|
21
|
+
const defaultNodeOverrides = overrides?.node;
|
|
22
|
+
const tsRunner = path_1.default.join(__dirname, 'node', defaultNodeOverrides?.ts ?? 'node-runner.ts');
|
|
23
|
+
const jsRunner = path_1.default.join(__dirname, 'node', defaultNodeOverrides?.js ?? 'node-runner.js');
|
|
24
|
+
if (process.env._MOTIA_TEST_MODE === 'true') {
|
|
25
|
+
return { runner: tsRunner, command: 'node', args: ['-r', 'ts-node/register'] };
|
|
26
|
+
}
|
|
27
|
+
return { runner: jsRunner, command: 'node', args: [] };
|
|
28
|
+
}
|
|
29
|
+
throw Error(`Unsupported file extension ${stepFilePath}`);
|
|
30
|
+
};
|
|
31
|
+
exports.getLanguageBasedRunner = getLanguageBasedRunner;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { RedisClientType } from 'redis';
|
|
2
|
+
import type { StreamAdapterManager } from './adapters/interfaces/stream-adapter-manager.interface';
|
|
3
|
+
import type { Printer } from './printer';
|
|
4
|
+
import type { StreamFactory } from './streams/stream-factory';
|
|
5
|
+
import type { ApiRouteConfig, CronConfig, EventConfig, Flow, Step } from './types';
|
|
6
|
+
import type { StreamAuthConfig } from './types/app-config-types';
|
|
7
|
+
import type { JsonSchema } from './types/schema.types';
|
|
8
|
+
import type { Stream } from './types-stream';
|
|
9
|
+
type FlowEvent = 'flow-created' | 'flow-removed' | 'flow-updated';
|
|
10
|
+
type StepEvent = 'step-created' | 'step-removed' | 'step-updated';
|
|
11
|
+
type StreamEvent = 'stream-created' | 'stream-removed' | 'stream-updated';
|
|
12
|
+
type StreamWrapper<TData> = (streamName: string, factory: StreamFactory<TData>) => StreamFactory<TData>;
|
|
13
|
+
export declare class LockedData {
|
|
14
|
+
readonly baseDir: string;
|
|
15
|
+
readonly streamAdapter: StreamAdapterManager;
|
|
16
|
+
private readonly printer;
|
|
17
|
+
readonly redisClient?: RedisClientType | undefined;
|
|
18
|
+
flows: Record<string, Flow>;
|
|
19
|
+
activeSteps: Step[];
|
|
20
|
+
devSteps: Step[];
|
|
21
|
+
private stepsMap;
|
|
22
|
+
private handlers;
|
|
23
|
+
private stepHandlers;
|
|
24
|
+
private streamHandlers;
|
|
25
|
+
private streams;
|
|
26
|
+
private streamWrapper?;
|
|
27
|
+
private streamAuthContextType?;
|
|
28
|
+
private streamAuthConfig?;
|
|
29
|
+
constructor(baseDir: string, streamAdapter: StreamAdapterManager, printer: Printer, redisClient?: RedisClientType | undefined);
|
|
30
|
+
applyStreamWrapper<TData>(streamWrapper: StreamWrapper<TData>): void;
|
|
31
|
+
setStreamAuthConfig(config?: {
|
|
32
|
+
authenticate: StreamAuthConfig['authenticate'];
|
|
33
|
+
contextSchema?: JsonSchema;
|
|
34
|
+
}): void;
|
|
35
|
+
getStreamAuthConfig(): {
|
|
36
|
+
authenticate: StreamAuthConfig["authenticate"];
|
|
37
|
+
} | undefined;
|
|
38
|
+
saveTypes(): void;
|
|
39
|
+
on(event: FlowEvent, handler: (flowName: string) => void): void;
|
|
40
|
+
onStep(event: StepEvent, handler: (step: Step) => void): void;
|
|
41
|
+
onStream(event: StreamEvent, handler: (stream: Stream) => void): void;
|
|
42
|
+
getActiveSteps(): Step[];
|
|
43
|
+
eventSteps(): Step<EventConfig>[];
|
|
44
|
+
apiSteps(): Step<ApiRouteConfig>[];
|
|
45
|
+
cronSteps(): Step<CronConfig>[];
|
|
46
|
+
pythonSteps(): Step[];
|
|
47
|
+
tsSteps(): Step[];
|
|
48
|
+
getStreams(): Record<string, StreamFactory<any>>;
|
|
49
|
+
listStreams(): Stream[];
|
|
50
|
+
getStreamByName(streamName: string): Stream | undefined;
|
|
51
|
+
findStream(path: string): Stream | undefined;
|
|
52
|
+
updateStep(oldStep: Step, newStep: Step, options?: {
|
|
53
|
+
disableTypeCreation?: boolean;
|
|
54
|
+
}): boolean;
|
|
55
|
+
createStep(step: Step, options?: {
|
|
56
|
+
disableTypeCreation?: boolean;
|
|
57
|
+
}): boolean;
|
|
58
|
+
deleteStep(step: Step, options?: {
|
|
59
|
+
disableTypeCreation?: boolean;
|
|
60
|
+
}): void;
|
|
61
|
+
private createFactoryWrapper;
|
|
62
|
+
createStream<TData>(baseStream: Omit<Stream, 'factory'>, options?: {
|
|
63
|
+
disableTypeCreation?: boolean;
|
|
64
|
+
}): StreamFactory<TData>;
|
|
65
|
+
deleteStream(stream: Stream, options?: {
|
|
66
|
+
disableTypeCreation?: boolean;
|
|
67
|
+
}): void;
|
|
68
|
+
updateStream(oldStream: Stream, stream: Stream, options?: {
|
|
69
|
+
disableTypeCreation?: boolean;
|
|
70
|
+
}): void;
|
|
71
|
+
private createFlow;
|
|
72
|
+
private removeFlow;
|
|
73
|
+
private onFlowUpdated;
|
|
74
|
+
private isValidStep;
|
|
75
|
+
private createStreamAdapter;
|
|
76
|
+
}
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=locked-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locked-data.d.ts","sourceRoot":"","sources":["../../src/locked-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.LockedData = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const guards_1 = require("./guards");
|
|
10
|
+
const motia_1 = require("./motia");
|
|
11
|
+
const step_validator_1 = require("./step-validator");
|
|
12
|
+
const generate_type_from_schema_1 = require("./types/generate-type-from-schema");
|
|
13
|
+
const generate_types_1 = require("./types/generate-types");
|
|
14
|
+
class LockedData {
|
|
15
|
+
constructor(baseDir, streamAdapter, printer, redisClient) {
|
|
16
|
+
this.baseDir = baseDir;
|
|
17
|
+
this.streamAdapter = streamAdapter;
|
|
18
|
+
this.printer = printer;
|
|
19
|
+
this.redisClient = redisClient;
|
|
20
|
+
this.flows = {};
|
|
21
|
+
this.activeSteps = [];
|
|
22
|
+
this.devSteps = [];
|
|
23
|
+
this.stepsMap = {};
|
|
24
|
+
this.handlers = {
|
|
25
|
+
'flow-created': [],
|
|
26
|
+
'flow-removed': [],
|
|
27
|
+
'flow-updated': [],
|
|
28
|
+
};
|
|
29
|
+
this.stepHandlers = {
|
|
30
|
+
'step-created': [],
|
|
31
|
+
'step-removed': [],
|
|
32
|
+
'step-updated': [],
|
|
33
|
+
};
|
|
34
|
+
this.streamHandlers = {
|
|
35
|
+
'stream-created': [],
|
|
36
|
+
'stream-removed': [],
|
|
37
|
+
'stream-updated': [],
|
|
38
|
+
};
|
|
39
|
+
this.streams = {};
|
|
40
|
+
}
|
|
41
|
+
applyStreamWrapper(streamWrapper) {
|
|
42
|
+
this.streamWrapper = streamWrapper;
|
|
43
|
+
}
|
|
44
|
+
setStreamAuthConfig(config) {
|
|
45
|
+
this.streamAuthConfig = config ? { authenticate: config.authenticate } : undefined;
|
|
46
|
+
this.streamAuthContextType = config?.contextSchema ? (0, generate_type_from_schema_1.generateTypeFromSchema)(config.contextSchema) : undefined;
|
|
47
|
+
}
|
|
48
|
+
getStreamAuthConfig() {
|
|
49
|
+
return this.streamAuthConfig;
|
|
50
|
+
}
|
|
51
|
+
saveTypes() {
|
|
52
|
+
const types = (0, generate_types_1.generateTypesFromSteps)(this.activeSteps, this.printer);
|
|
53
|
+
const streams = (0, generate_types_1.generateTypesFromStreams)(this.streams);
|
|
54
|
+
const typesString = (0, generate_types_1.generateTypesString)(types, streams, this.streamAuthContextType);
|
|
55
|
+
fs_1.default.writeFileSync(path_1.default.join(this.baseDir, 'types.d.ts'), typesString);
|
|
56
|
+
}
|
|
57
|
+
on(event, handler) {
|
|
58
|
+
this.handlers[event].push(handler);
|
|
59
|
+
}
|
|
60
|
+
onStep(event, handler) {
|
|
61
|
+
this.stepHandlers[event].push(handler);
|
|
62
|
+
}
|
|
63
|
+
onStream(event, handler) {
|
|
64
|
+
this.streamHandlers[event].push(handler);
|
|
65
|
+
}
|
|
66
|
+
getActiveSteps() {
|
|
67
|
+
return this.activeSteps.filter((step) => !step.config.flows?.includes(motia_1.PLUGIN_FLOW_ID));
|
|
68
|
+
}
|
|
69
|
+
eventSteps() {
|
|
70
|
+
return this.getActiveSteps().filter(guards_1.isEventStep);
|
|
71
|
+
}
|
|
72
|
+
apiSteps() {
|
|
73
|
+
return this.getActiveSteps().filter(guards_1.isApiStep);
|
|
74
|
+
}
|
|
75
|
+
cronSteps() {
|
|
76
|
+
return this.getActiveSteps().filter(guards_1.isCronStep);
|
|
77
|
+
}
|
|
78
|
+
pythonSteps() {
|
|
79
|
+
return this.getActiveSteps().filter((step) => step.filePath.endsWith('.py'));
|
|
80
|
+
}
|
|
81
|
+
tsSteps() {
|
|
82
|
+
return this.getActiveSteps().filter((step) => step.filePath.endsWith('.ts'));
|
|
83
|
+
}
|
|
84
|
+
getStreams() {
|
|
85
|
+
const streams = {};
|
|
86
|
+
for (const [key, value] of Object.entries(this.streams)) {
|
|
87
|
+
streams[key] = value.factory;
|
|
88
|
+
}
|
|
89
|
+
return streams;
|
|
90
|
+
}
|
|
91
|
+
listStreams() {
|
|
92
|
+
return Object.values(this.streams);
|
|
93
|
+
}
|
|
94
|
+
getStreamByName(streamName) {
|
|
95
|
+
return this.streams[streamName];
|
|
96
|
+
}
|
|
97
|
+
findStream(path) {
|
|
98
|
+
return Object.values(this.streams).find((stream) => stream.filePath === path);
|
|
99
|
+
}
|
|
100
|
+
updateStep(oldStep, newStep, options = {}) {
|
|
101
|
+
if (!this.isValidStep(newStep)) {
|
|
102
|
+
this.deleteStep(oldStep);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
if (oldStep.config.type !== newStep.config.type) {
|
|
106
|
+
this.activeSteps = this.activeSteps.filter((s) => s.filePath !== oldStep.filePath);
|
|
107
|
+
this.devSteps = this.devSteps.filter((s) => s.filePath !== oldStep.filePath);
|
|
108
|
+
if (newStep.config.type === 'noop') {
|
|
109
|
+
this.devSteps.push(newStep);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.activeSteps.push(newStep);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const savedStep = this.stepsMap[newStep.filePath];
|
|
116
|
+
const addedFlows = newStep.config.flows?.filter((flowName) => !oldStep.config.flows?.includes(flowName)) ?? [];
|
|
117
|
+
const removedFlows = oldStep.config.flows?.filter((flowName) => !newStep.config.flows?.includes(flowName)) ?? [];
|
|
118
|
+
const untouchedFlows = oldStep.config.flows?.filter((flowName) => newStep.config.flows?.includes(flowName)) ?? [];
|
|
119
|
+
savedStep.config = newStep.config;
|
|
120
|
+
untouchedFlows.forEach((flowName) => this.onFlowUpdated(flowName));
|
|
121
|
+
for (const flowName of addedFlows) {
|
|
122
|
+
if (!this.flows[flowName]) {
|
|
123
|
+
const flow = this.createFlow(flowName);
|
|
124
|
+
flow.steps.push(savedStep);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.flows[flowName].steps.push(savedStep);
|
|
128
|
+
this.onFlowUpdated(flowName);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
for (const flowName of removedFlows) {
|
|
132
|
+
const flowSteps = this.flows[flowName].steps;
|
|
133
|
+
this.flows[flowName].steps = flowSteps.filter(({ filePath }) => filePath !== newStep.filePath);
|
|
134
|
+
if (this.flows[flowName].steps.length === 0) {
|
|
135
|
+
this.removeFlow(flowName);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.onFlowUpdated(flowName);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (!options.disableTypeCreation) {
|
|
142
|
+
this.saveTypes();
|
|
143
|
+
}
|
|
144
|
+
this.stepHandlers['step-updated'].forEach((handler) => handler(newStep));
|
|
145
|
+
this.printer.printStepUpdated(newStep);
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
createStep(step, options = {}) {
|
|
149
|
+
if (!this.isValidStep(step)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
this.stepsMap[step.filePath] = step;
|
|
153
|
+
if (step.config.type === 'noop') {
|
|
154
|
+
this.devSteps.push(step);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.activeSteps.push(step);
|
|
158
|
+
}
|
|
159
|
+
for (const flowName of step.config.flows ?? []) {
|
|
160
|
+
if (!this.flows[flowName]) {
|
|
161
|
+
const flow = this.createFlow(flowName);
|
|
162
|
+
flow.steps.push(step);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.flows[flowName].steps.push(step);
|
|
166
|
+
this.onFlowUpdated(flowName);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
if (!options.disableTypeCreation) {
|
|
170
|
+
this.saveTypes();
|
|
171
|
+
}
|
|
172
|
+
this.stepHandlers['step-created'].forEach((handler) => handler(step));
|
|
173
|
+
this.printer.printStepCreated(step);
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
deleteStep(step, options = {}) {
|
|
177
|
+
// Remove step from active and dev steps
|
|
178
|
+
this.activeSteps = this.activeSteps.filter(({ filePath }) => filePath !== step.filePath);
|
|
179
|
+
this.devSteps = this.devSteps.filter(({ filePath }) => filePath !== step.filePath);
|
|
180
|
+
delete this.stepsMap[step.filePath];
|
|
181
|
+
for (const flowName of step.config.flows ?? []) {
|
|
182
|
+
const stepFlows = this.flows[flowName]?.steps;
|
|
183
|
+
if (stepFlows) {
|
|
184
|
+
this.flows[flowName].steps = stepFlows.filter(({ filePath }) => filePath !== step.filePath);
|
|
185
|
+
}
|
|
186
|
+
if (this.flows[flowName].steps.length === 0) {
|
|
187
|
+
this.removeFlow(flowName);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
this.onFlowUpdated(flowName);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
if (!options.disableTypeCreation) {
|
|
194
|
+
this.saveTypes();
|
|
195
|
+
}
|
|
196
|
+
this.stepHandlers['step-removed'].forEach((handler) => handler(step));
|
|
197
|
+
this.printer.printStepRemoved(step);
|
|
198
|
+
}
|
|
199
|
+
createFactoryWrapper(stream, factory) {
|
|
200
|
+
return () => {
|
|
201
|
+
const streamFactory = this.streamWrapper //
|
|
202
|
+
? this.streamWrapper(stream.config.name, factory)
|
|
203
|
+
: factory;
|
|
204
|
+
return streamFactory();
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
createStream(baseStream, options = {}) {
|
|
208
|
+
const stream = baseStream;
|
|
209
|
+
this.streams[stream.config.name] = stream;
|
|
210
|
+
this.streamHandlers['stream-created'].forEach((handler) => handler(stream));
|
|
211
|
+
if (stream.config.baseConfig.storageType === 'default') {
|
|
212
|
+
stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
|
|
216
|
+
}
|
|
217
|
+
if (!stream.hidden) {
|
|
218
|
+
this.printer.printStreamCreated(stream);
|
|
219
|
+
if (!options.disableTypeCreation) {
|
|
220
|
+
this.saveTypes();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return stream.factory;
|
|
224
|
+
}
|
|
225
|
+
deleteStream(stream, options = {}) {
|
|
226
|
+
Object.entries(this.streams).forEach(([streamName, { filePath }]) => {
|
|
227
|
+
if (stream.filePath === filePath) {
|
|
228
|
+
delete this.streams[streamName];
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
this.streamHandlers['stream-removed'].forEach((handler) => handler(stream));
|
|
232
|
+
if (!stream.hidden) {
|
|
233
|
+
this.printer.printStreamRemoved(stream);
|
|
234
|
+
if (!options.disableTypeCreation) {
|
|
235
|
+
this.saveTypes();
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
updateStream(oldStream, stream, options = {}) {
|
|
240
|
+
if (oldStream.config.name !== stream.config.name) {
|
|
241
|
+
delete this.streams[oldStream.config.name];
|
|
242
|
+
}
|
|
243
|
+
if (stream.config.baseConfig.storageType === 'default') {
|
|
244
|
+
stream.factory = this.createFactoryWrapper(stream, () => this.createStreamAdapter(stream.config.name));
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
stream.factory = this.createFactoryWrapper(stream, stream.config.baseConfig.factory);
|
|
248
|
+
}
|
|
249
|
+
this.streams[stream.config.name] = stream;
|
|
250
|
+
this.streamHandlers['stream-updated'].forEach((handler) => handler(stream));
|
|
251
|
+
if (!stream.hidden) {
|
|
252
|
+
this.printer.printStreamUpdated(stream);
|
|
253
|
+
if (!options.disableTypeCreation) {
|
|
254
|
+
this.saveTypes();
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
createFlow(flowName) {
|
|
259
|
+
const flow = { name: flowName, description: '', steps: [] };
|
|
260
|
+
this.flows[flowName] = flow;
|
|
261
|
+
this.handlers['flow-created'].forEach((handler) => handler(flowName));
|
|
262
|
+
this.printer.printFlowCreated(flowName);
|
|
263
|
+
return flow;
|
|
264
|
+
}
|
|
265
|
+
removeFlow(flowName) {
|
|
266
|
+
delete this.flows[flowName];
|
|
267
|
+
this.handlers['flow-removed'].forEach((handler) => handler(flowName));
|
|
268
|
+
this.printer.printFlowRemoved(flowName);
|
|
269
|
+
}
|
|
270
|
+
onFlowUpdated(flowName) {
|
|
271
|
+
this.handlers['flow-updated'].forEach((handler) => handler(flowName));
|
|
272
|
+
}
|
|
273
|
+
isValidStep(step) {
|
|
274
|
+
const validationResult = (0, step_validator_1.validateStep)(step);
|
|
275
|
+
if (!validationResult.success) {
|
|
276
|
+
this.printer.printValidationError(step.filePath, validationResult);
|
|
277
|
+
}
|
|
278
|
+
return validationResult.success;
|
|
279
|
+
}
|
|
280
|
+
createStreamAdapter(streamName) {
|
|
281
|
+
return this.streamAdapter.createStream(streamName);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
exports.LockedData = LockedData;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Logger } from './logger';
|
|
2
|
+
import type { Log } from './streams/redis-logs-stream';
|
|
3
|
+
import type { MotiaStream } from './types-stream';
|
|
4
|
+
type CreateLogger = {
|
|
5
|
+
traceId: string;
|
|
6
|
+
flows?: string[];
|
|
7
|
+
stepName: string;
|
|
8
|
+
};
|
|
9
|
+
export interface LoggerFactory {
|
|
10
|
+
create: (args: CreateLogger) => Logger;
|
|
11
|
+
}
|
|
12
|
+
export declare class BaseLoggerFactory implements LoggerFactory {
|
|
13
|
+
private readonly isVerbose;
|
|
14
|
+
private readonly logStream;
|
|
15
|
+
constructor(isVerbose: boolean, logStream: MotiaStream<Log>);
|
|
16
|
+
create({ stepName, traceId, flows }: CreateLogger): Logger;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=logger-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-factory.d.ts","sourceRoot":"","sources":["../../src/logger-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAA;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAA;CACvC;AAED,qBAAa,iBAAkB,YAAW,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC;IAG9C,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,MAAM;CAiB3D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseLoggerFactory = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const logger_1 = require("./logger");
|
|
6
|
+
class BaseLoggerFactory {
|
|
7
|
+
constructor(isVerbose, logStream) {
|
|
8
|
+
this.isVerbose = isVerbose;
|
|
9
|
+
this.logStream = logStream;
|
|
10
|
+
}
|
|
11
|
+
create({ stepName, traceId, flows }) {
|
|
12
|
+
const streamListener = (level, msg, args) => {
|
|
13
|
+
const id = (0, crypto_1.randomUUID)();
|
|
14
|
+
this.logStream.set('default', id, {
|
|
15
|
+
id,
|
|
16
|
+
...(args ?? {}),
|
|
17
|
+
level,
|
|
18
|
+
time: Date.now(),
|
|
19
|
+
msg,
|
|
20
|
+
traceId,
|
|
21
|
+
flows: flows ?? [],
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
return new logger_1.Logger(this.isVerbose, { traceId, flows, step: stepName }, [streamListener]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.BaseLoggerFactory = BaseLoggerFactory;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type LogListener = (level: string, msg: string, args?: unknown) => void;
|
|
2
|
+
export declare class Logger {
|
|
3
|
+
readonly isVerbose: boolean;
|
|
4
|
+
private readonly meta;
|
|
5
|
+
private readonly coreListeners;
|
|
6
|
+
/**
|
|
7
|
+
* Why do we need two level of listeners?
|
|
8
|
+
*
|
|
9
|
+
* Core listeners pass along to children loggers.
|
|
10
|
+
*
|
|
11
|
+
* However, base listeners do not pass along to children loggers.
|
|
12
|
+
* Those are specific to each logger in the hierarchy.
|
|
13
|
+
*/
|
|
14
|
+
private readonly listeners;
|
|
15
|
+
constructor(isVerbose?: boolean, meta?: Record<string, unknown>, coreListeners?: LogListener[]);
|
|
16
|
+
child(meta: Record<string, unknown>): Logger;
|
|
17
|
+
private _log;
|
|
18
|
+
info(message: string, args?: unknown): void;
|
|
19
|
+
error(message: string, args?: unknown): void;
|
|
20
|
+
debug(message: string, args?: unknown): void;
|
|
21
|
+
warn(message: string, args?: unknown): void;
|
|
22
|
+
log(args: any): void;
|
|
23
|
+
addListener(listener: LogListener): void;
|
|
24
|
+
}
|
|
25
|
+
export declare const globalLogger: Logger;
|
|
26
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAE9E,qBAAa,MAAM;IAYf,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAbhC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAGnC,SAAS,GAAE,OAAe,EAClB,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,aAAa,GAAE,WAAW,EAAO;IAGpD,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAI5C,OAAO,CAAC,IAAI;IASZ,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAIrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMrC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;IAMpC,GAAG,CAAC,IAAI,EAAE,GAAG;IAIb,WAAW,CAAC,QAAQ,EAAE,WAAW;CAGlC;AAED,eAAO,MAAM,YAAY,QAAe,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.globalLogger = exports.Logger = void 0;
|
|
4
|
+
const pretty_print_1 = require("./pretty-print");
|
|
5
|
+
const logLevel = process.env.LOG_LEVEL ?? 'info';
|
|
6
|
+
const isDebugEnabled = logLevel === 'debug';
|
|
7
|
+
const isInfoEnabled = ['info', 'debug'].includes(logLevel);
|
|
8
|
+
const isWarnEnabled = ['warn', 'info', 'debug', 'trace'].includes(logLevel);
|
|
9
|
+
class Logger {
|
|
10
|
+
constructor(isVerbose = false, meta = {}, coreListeners = []) {
|
|
11
|
+
this.isVerbose = isVerbose;
|
|
12
|
+
this.meta = meta;
|
|
13
|
+
this.coreListeners = coreListeners;
|
|
14
|
+
/**
|
|
15
|
+
* Why do we need two level of listeners?
|
|
16
|
+
*
|
|
17
|
+
* Core listeners pass along to children loggers.
|
|
18
|
+
*
|
|
19
|
+
* However, base listeners do not pass along to children loggers.
|
|
20
|
+
* Those are specific to each logger in the hierarchy.
|
|
21
|
+
*/
|
|
22
|
+
this.listeners = [];
|
|
23
|
+
}
|
|
24
|
+
child(meta) {
|
|
25
|
+
return new Logger(this.isVerbose, { ...this.meta, ...meta }, this.coreListeners);
|
|
26
|
+
}
|
|
27
|
+
_log(level, msg, args) {
|
|
28
|
+
const time = Date.now();
|
|
29
|
+
const meta = { ...this.meta, ...(args ?? {}) };
|
|
30
|
+
(0, pretty_print_1.prettyPrint)({ level, time, msg, ...meta }, !this.isVerbose);
|
|
31
|
+
this.coreListeners.forEach((listener) => listener(level, msg, meta));
|
|
32
|
+
this.listeners.forEach((listener) => listener(level, msg, meta));
|
|
33
|
+
}
|
|
34
|
+
info(message, args) {
|
|
35
|
+
if (isInfoEnabled) {
|
|
36
|
+
this._log('info', message, args);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
error(message, args) {
|
|
40
|
+
this._log('error', message, args);
|
|
41
|
+
}
|
|
42
|
+
debug(message, args) {
|
|
43
|
+
if (isDebugEnabled) {
|
|
44
|
+
this._log('debug', message, args);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
warn(message, args) {
|
|
48
|
+
if (isWarnEnabled) {
|
|
49
|
+
this._log('warn', message, args);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
log(args) {
|
|
53
|
+
this._log(args.level ?? 'info', args.msg, args);
|
|
54
|
+
}
|
|
55
|
+
addListener(listener) {
|
|
56
|
+
this.listeners.push(listener);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.Logger = Logger;
|
|
60
|
+
exports.globalLogger = new Logger();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid-generator.d.ts","sourceRoot":"","sources":["../../src/mermaid-generator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAqM/C,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM;6BAkBpB,UAAU,KAAG,IAAI;CA0BlD,CAAA"}
|