@motiadev/core 0.14.0-beta.164 → 0.14.0-beta.165-707935
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.mts +38 -0
- package/dist/index.mjs +30 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +17 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +51 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +1 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +19 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +54 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +1 -0
- package/dist/src/adapters/defaults/index.d.mts +8 -0
- package/dist/src/adapters/defaults/index.mjs +10 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +27 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs +105 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +1 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +20 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +58 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +1 -0
- package/dist/src/adapters/defaults/state/utils.mjs +40 -0
- package/dist/src/adapters/defaults/state/utils.mjs.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +13 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +16 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +24 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +84 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +10 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +12 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +20 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +58 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +1 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +32 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +19 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +27 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +28 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +10 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +26 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +17 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +1 -0
- package/dist/src/analytics/utils.d.mts +9 -0
- package/dist/src/analytics/utils.d.mts.map +1 -0
- package/dist/src/analytics/utils.mjs +35 -0
- package/dist/src/analytics/utils.mjs.map +1 -0
- package/dist/src/call-step-file.mjs +215 -0
- package/dist/src/call-step-file.mjs.map +1 -0
- package/dist/src/config.d.mts +7 -0
- package/dist/src/config.d.mts.map +1 -0
- package/dist/src/config.mjs +6 -0
- package/dist/src/config.mjs.map +1 -0
- package/dist/src/cron-handler.d.mts +18 -0
- package/dist/src/cron-handler.d.mts.map +1 -0
- package/dist/src/cron-handler.mjs +103 -0
- package/dist/src/cron-handler.mjs.map +1 -0
- package/dist/src/endpoints/analytics-endpoint.mjs +29 -0
- package/dist/src/endpoints/analytics-endpoint.mjs.map +1 -0
- package/dist/src/endpoints/flows-config-endpoint.mjs +38 -0
- package/dist/src/endpoints/flows-config-endpoint.mjs.map +1 -0
- package/dist/src/endpoints/flows-endpoint.mjs +39 -0
- package/dist/src/endpoints/flows-endpoint.mjs.map +1 -0
- package/dist/src/endpoints/step-endpoint.mjs +41 -0
- package/dist/src/endpoints/step-endpoint.mjs.map +1 -0
- package/dist/src/generate-trace-id.mjs +13 -0
- package/dist/src/generate-trace-id.mjs.map +1 -0
- package/dist/src/get-step-config.d.mts +9 -0
- package/dist/src/get-step-config.d.mts.map +1 -0
- package/dist/src/get-step-config.mjs +63 -0
- package/dist/src/get-step-config.mjs.map +1 -0
- package/dist/src/get-step-language.mjs +14 -0
- package/dist/src/get-step-language.mjs.map +1 -0
- package/dist/src/guards.d.mts +10 -0
- package/dist/src/guards.d.mts.map +1 -0
- package/dist/src/guards.mjs +9 -0
- package/dist/src/guards.mjs.map +1 -0
- package/dist/src/helper/flows-helper.mjs +126 -0
- package/dist/src/helper/flows-helper.mjs.map +1 -0
- package/dist/src/infrastructure-validator/defaults.mjs +17 -0
- package/dist/src/infrastructure-validator/defaults.mjs.map +1 -0
- package/dist/src/infrastructure-validator/index.d.mts +3 -0
- package/dist/src/infrastructure-validator/index.mjs +4 -0
- package/dist/src/infrastructure-validator/schemas.d.mts +1 -0
- package/dist/src/infrastructure-validator/schemas.mjs +77 -0
- package/dist/src/infrastructure-validator/schemas.mjs.map +1 -0
- package/dist/src/infrastructure-validator/types.d.mts +14 -0
- package/dist/src/infrastructure-validator/types.d.mts.map +1 -0
- package/dist/src/infrastructure-validator/validations.d.mts +7 -0
- package/dist/src/infrastructure-validator/validations.d.mts.map +1 -0
- package/dist/src/infrastructure-validator/validations.mjs +29 -0
- package/dist/src/infrastructure-validator/validations.mjs.map +1 -0
- package/dist/src/language-runner.mjs +55 -0
- package/dist/src/language-runner.mjs.map +1 -0
- package/dist/src/locked-data.d.mts +81 -0
- package/dist/src/locked-data.d.mts.map +1 -0
- package/dist/src/locked-data.mjs +223 -0
- package/dist/src/locked-data.mjs.map +1 -0
- package/dist/src/logger-factory.d.mts +16 -0
- package/dist/src/logger-factory.d.mts.map +1 -0
- package/dist/src/logger-factory.mjs +33 -0
- package/dist/src/logger-factory.mjs.map +1 -0
- package/dist/src/logger.d.mts +28 -0
- package/dist/src/logger.d.mts.map +1 -0
- package/dist/src/logger.mjs +64 -0
- package/dist/src/logger.mjs.map +1 -0
- package/dist/src/mermaid-generator.d.mts +9 -0
- package/dist/src/mermaid-generator.d.mts.map +1 -0
- package/dist/src/mermaid-generator.mjs +126 -0
- package/dist/src/mermaid-generator.mjs.map +1 -0
- package/dist/src/motia.d.mts +37 -0
- package/dist/src/motia.d.mts.map +1 -0
- package/dist/src/motia.mjs +6 -0
- package/dist/src/motia.mjs.map +1 -0
- package/dist/src/node/can-access.d.mts +1 -0
- package/dist/src/node/can-access.mjs +36 -0
- package/dist/src/node/can-access.mjs.map +1 -0
- package/dist/src/node/get-config.d.mts +1 -0
- package/dist/src/node/get-config.mjs +49 -0
- package/dist/src/node/get-config.mjs.map +1 -0
- package/dist/src/node/logger.mjs +47 -0
- package/dist/src/node/logger.mjs.map +1 -0
- package/dist/src/node/middleware-compose.mjs +10 -0
- package/dist/src/node/middleware-compose.mjs.map +1 -0
- package/dist/src/node/node-runner.d.mts +1 -0
- package/dist/src/node/node-runner.mjs +94 -0
- package/dist/src/node/node-runner.mjs.map +1 -0
- package/dist/src/node/rpc-state-manager.mjs +35 -0
- package/dist/src/node/rpc-state-manager.mjs.map +1 -0
- package/dist/src/node/rpc.mjs +55 -0
- package/dist/src/node/rpc.mjs.map +1 -0
- package/dist/src/observability/create-trace.mjs +26 -0
- package/dist/src/observability/create-trace.mjs.map +1 -0
- package/dist/src/observability/index.d.mts +7 -0
- package/dist/src/observability/index.d.mts.map +1 -0
- package/dist/src/observability/no-tracer.d.mts +15 -0
- package/dist/src/observability/no-tracer.d.mts.map +1 -0
- package/dist/src/observability/no-tracer.mjs +23 -0
- package/dist/src/observability/no-tracer.mjs.map +1 -0
- package/dist/src/observability/redis-trace-stream-adapter.mjs +76 -0
- package/dist/src/observability/redis-trace-stream-adapter.mjs.map +1 -0
- package/dist/src/observability/stream-tracer.mjs +98 -0
- package/dist/src/observability/stream-tracer.mjs.map +1 -0
- package/dist/src/observability/trace-manager.mjs +27 -0
- package/dist/src/observability/trace-manager.mjs.map +1 -0
- package/dist/src/observability/tracer.mjs +88 -0
- package/dist/src/observability/tracer.mjs.map +1 -0
- package/dist/src/observability/types.d.mts +14 -0
- package/dist/src/observability/types.d.mts.map +1 -0
- package/dist/src/pretty-print.mjs +50 -0
- package/dist/src/pretty-print.mjs.map +1 -0
- package/dist/src/printer.d.mts +65 -0
- package/dist/src/printer.d.mts.map +1 -0
- package/dist/src/printer.mjs +147 -0
- package/dist/src/printer.mjs.map +1 -0
- package/dist/src/process-communication/communication-config.mjs +26 -0
- package/dist/src/process-communication/communication-config.mjs.map +1 -0
- package/dist/src/process-communication/process-manager.mjs +67 -0
- package/dist/src/process-communication/process-manager.mjs.map +1 -0
- package/dist/src/queue-manager.d.mts +37 -0
- package/dist/src/queue-manager.d.mts.map +1 -0
- package/dist/src/queue-manager.mjs +209 -0
- package/dist/src/queue-manager.mjs.map +1 -0
- package/dist/src/run-stream-can-access.mjs +59 -0
- package/dist/src/run-stream-can-access.mjs.map +1 -0
- package/dist/src/schema-utils.mjs +30 -0
- package/dist/src/schema-utils.mjs.map +1 -0
- package/dist/src/server.d.mts +40 -0
- package/dist/src/server.d.mts.map +1 -0
- package/dist/src/server.mjs +353 -0
- package/dist/src/server.mjs.map +1 -0
- package/dist/src/socket-server/helpers.mjs +35 -0
- package/dist/src/socket-server/helpers.mjs.map +1 -0
- package/dist/src/socket-server.mjs +127 -0
- package/dist/src/socket-server.mjs.map +1 -0
- package/dist/src/state/create-state-adapter.d.mts +11 -0
- package/dist/src/state/create-state-adapter.d.mts.map +1 -0
- package/dist/src/state/create-state-adapter.mjs +11 -0
- package/dist/src/state/create-state-adapter.mjs.map +1 -0
- package/dist/src/step-handler-rpc-processor.mjs +56 -0
- package/dist/src/step-handler-rpc-processor.mjs.map +1 -0
- package/dist/src/step-handler-rpc-stdin-processor.mjs +71 -0
- package/dist/src/step-handler-rpc-stdin-processor.mjs.map +1 -0
- package/dist/src/step-handlers.d.mts +13 -0
- package/dist/src/step-handlers.d.mts.map +1 -0
- package/dist/src/step-handlers.mjs +93 -0
- package/dist/src/step-handlers.mjs.map +1 -0
- package/dist/src/step-validator.d.mts +15 -0
- package/dist/src/step-validator.d.mts.map +1 -0
- package/dist/src/step-validator.mjs +118 -0
- package/dist/src/step-validator.mjs.map +1 -0
- package/dist/src/steps/emit.step.mjs +20 -0
- package/dist/src/steps/emit.step.mjs.map +1 -0
- package/dist/src/steps/index.mjs +14 -0
- package/dist/src/steps/index.mjs.map +1 -0
- package/dist/src/streams/flows-config-stream.mjs +46 -0
- package/dist/src/streams/flows-config-stream.mjs.map +1 -0
- package/dist/src/streams/flows-stream.mjs +33 -0
- package/dist/src/streams/flows-stream.mjs.map +1 -0
- package/dist/src/streams/redis-logs-stream.d.mts +3 -0
- package/dist/src/streams/redis-logs-stream.mjs +97 -0
- package/dist/src/streams/redis-logs-stream.mjs.map +1 -0
- package/dist/src/streams/stream-factory.d.mts +7 -0
- package/dist/src/streams/stream-factory.d.mts.map +1 -0
- package/dist/src/types/app-config-types.d.mts +49 -0
- package/dist/src/types/app-config-types.d.mts.map +1 -0
- package/dist/src/types/generate-type-from-schema.mjs +30 -0
- package/dist/src/types/generate-type-from-schema.mjs.map +1 -0
- package/dist/src/types/generate-types-from-response.mjs +12 -0
- package/dist/src/types/generate-types-from-response.mjs.map +1 -0
- package/dist/src/types/generate-types.mjs +101 -0
- package/dist/src/types/generate-types.mjs.map +1 -0
- package/dist/src/types/merge-schemas.mjs +102 -0
- package/dist/src/types/merge-schemas.mjs.map +1 -0
- package/dist/src/types/schema.types.d.mts +13 -0
- package/dist/src/types/schema.types.d.mts.map +1 -0
- package/dist/src/types/schema.types.mjs +14 -0
- package/dist/src/types/schema.types.mjs.map +1 -0
- package/dist/src/types-stream.d.mts +46 -0
- package/dist/src/types-stream.d.mts.map +1 -0
- package/dist/src/types.d.mts +194 -0
- package/dist/src/types.d.mts.map +1 -0
- package/dist/src/utils.mjs +13 -0
- package/dist/src/utils.mjs.map +1 -0
- package/dist/src/validate-event-input.mjs +76 -0
- package/dist/src/validate-event-input.mjs.map +1 -0
- package/jest.config.cjs +20 -0
- package/package.json +21 -8
- package/tsdown.config.ts +53 -0
- package/dist/index.d.ts +0 -30
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -72
- package/dist/jest.config.d.ts +0 -8
- package/dist/jest.config.d.ts.map +0 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +0 -13
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +0 -53
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +0 -15
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +0 -49
- package/dist/src/adapters/defaults/index.d.ts +0 -9
- package/dist/src/adapters/defaults/index.d.ts.map +0 -1
- package/dist/src/adapters/defaults/index.js +0 -19
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +0 -23
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/state/file-state-adapter.js +0 -149
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +0 -16
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.js +0 -69
- package/dist/src/adapters/defaults/state/utils.d.ts +0 -4
- package/dist/src/adapters/defaults/state/utils.d.ts.map +0 -1
- package/dist/src/adapters/defaults/state/utils.js +0 -66
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +0 -9
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +0 -14
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +0 -22
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.js +0 -125
- package/dist/src/adapters/defaults/stream/index.d.ts +0 -5
- package/dist/src/adapters/defaults/stream/index.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/index.js +0 -11
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +0 -6
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +0 -10
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +0 -16
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +0 -55
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +0 -29
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/cron-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +0 -15
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/event-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/index.d.ts +0 -7
- package/dist/src/adapters/interfaces/index.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/index.js +0 -5
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +0 -23
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/observability-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +0 -24
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/state-adapter.interface.js +0 -2
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +0 -6
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +0 -2
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +0 -22
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter.interface.js +0 -16
- package/dist/src/analytics/utils.d.ts +0 -6
- package/dist/src/analytics/utils.d.ts.map +0 -1
- package/dist/src/analytics/utils.js +0 -51
- package/dist/src/call-step-file.d.ts +0 -16
- package/dist/src/call-step-file.d.ts.map +0 -1
- package/dist/src/call-step-file.js +0 -198
- package/dist/src/config.d.ts +0 -3
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -5
- package/dist/src/config.types.d.ts +0 -17
- package/dist/src/config.types.d.ts.map +0 -1
- package/dist/src/config.types.js +0 -2
- package/dist/src/cron-handler.d.ts +0 -14
- package/dist/src/cron-handler.d.ts.map +0 -1
- package/dist/src/cron-handler.js +0 -132
- package/dist/src/endpoints/analytics-endpoint.d.ts +0 -3
- package/dist/src/endpoints/analytics-endpoint.d.ts.map +0 -1
- package/dist/src/endpoints/analytics-endpoint.js +0 -28
- package/dist/src/endpoints/flows-config-endpoint.d.ts +0 -4
- package/dist/src/endpoints/flows-config-endpoint.d.ts.map +0 -1
- package/dist/src/endpoints/flows-config-endpoint.js +0 -34
- package/dist/src/endpoints/flows-endpoint.d.ts +0 -3
- package/dist/src/endpoints/flows-endpoint.d.ts.map +0 -1
- package/dist/src/endpoints/flows-endpoint.js +0 -29
- package/dist/src/endpoints/step-endpoint.d.ts +0 -4
- package/dist/src/endpoints/step-endpoint.d.ts.map +0 -1
- package/dist/src/endpoints/step-endpoint.js +0 -45
- package/dist/src/generate-trace-id.d.ts +0 -3
- package/dist/src/generate-trace-id.d.ts.map +0 -1
- package/dist/src/generate-trace-id.js +0 -14
- package/dist/src/get-step-config.d.ts +0 -5
- package/dist/src/get-step-config.d.ts.map +0 -1
- package/dist/src/get-step-config.js +0 -68
- package/dist/src/get-step-language.d.ts +0 -2
- package/dist/src/get-step-language.d.ts.map +0 -1
- package/dist/src/get-step-language.js +0 -27
- package/dist/src/guards.d.ts +0 -6
- package/dist/src/guards.d.ts.map +0 -1
- package/dist/src/guards.js +0 -11
- package/dist/src/helper/flows-helper.d.ts +0 -6
- package/dist/src/helper/flows-helper.d.ts.map +0 -1
- package/dist/src/helper/flows-helper.js +0 -143
- package/dist/src/infrastructure-validator/defaults.d.ts +0 -4
- package/dist/src/infrastructure-validator/defaults.d.ts.map +0 -1
- package/dist/src/infrastructure-validator/defaults.js +0 -16
- package/dist/src/infrastructure-validator/index.d.ts +0 -4
- package/dist/src/infrastructure-validator/index.d.ts.map +0 -1
- package/dist/src/infrastructure-validator/index.js +0 -13
- package/dist/src/infrastructure-validator/schemas.d.ts +0 -45
- package/dist/src/infrastructure-validator/schemas.d.ts.map +0 -1
- package/dist/src/infrastructure-validator/schemas.js +0 -100
- package/dist/src/infrastructure-validator/types.d.ts +0 -21
- package/dist/src/infrastructure-validator/types.d.ts.map +0 -1
- package/dist/src/infrastructure-validator/types.js +0 -2
- package/dist/src/infrastructure-validator/validations.d.ts +0 -4
- package/dist/src/infrastructure-validator/validations.d.ts.map +0 -1
- package/dist/src/infrastructure-validator/validations.js +0 -62
- package/dist/src/language-runner.d.ts +0 -15
- package/dist/src/language-runner.d.ts.map +0 -1
- package/dist/src/language-runner.js +0 -31
- package/dist/src/locked-data.d.ts +0 -78
- package/dist/src/locked-data.d.ts.map +0 -1
- package/dist/src/locked-data.js +0 -284
- package/dist/src/logger-factory.d.ts +0 -19
- package/dist/src/logger-factory.d.ts.map +0 -1
- package/dist/src/logger-factory.js +0 -27
- package/dist/src/logger.d.ts +0 -26
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js +0 -60
- package/dist/src/mermaid-generator.d.ts +0 -5
- package/dist/src/mermaid-generator.d.ts.map +0 -1
- package/dist/src/mermaid-generator.js +0 -203
- package/dist/src/motia.d.ts +0 -33
- package/dist/src/motia.d.ts.map +0 -1
- package/dist/src/motia.js +0 -4
- package/dist/src/node/can-access.d.ts +0 -2
- package/dist/src/node/can-access.d.ts.map +0 -1
- package/dist/src/node/can-access.js +0 -44
- package/dist/src/node/get-config.d.ts +0 -2
- package/dist/src/node/get-config.d.ts.map +0 -1
- package/dist/src/node/get-config.js +0 -64
- package/dist/src/node/logger.d.ts +0 -16
- package/dist/src/node/logger.d.ts.map +0 -1
- package/dist/src/node/logger.js +0 -48
- package/dist/src/node/middleware-compose.d.ts +0 -2
- package/dist/src/node/middleware-compose.d.ts.map +0 -1
- package/dist/src/node/middleware-compose.js +0 -10
- package/dist/src/node/node-runner.d.ts +0 -2
- package/dist/src/node/node-runner.d.ts.map +0 -1
- package/dist/src/node/node-runner.js +0 -83
- package/dist/src/node/rpc-state-manager.d.ts +0 -12
- package/dist/src/node/rpc-state-manager.d.ts.map +0 -1
- package/dist/src/node/rpc-state-manager.js +0 -24
- package/dist/src/node/rpc.d.ts +0 -10
- package/dist/src/node/rpc.d.ts.map +0 -1
- package/dist/src/node/rpc.js +0 -50
- package/dist/src/observability/create-trace.d.ts +0 -4
- package/dist/src/observability/create-trace.d.ts.map +0 -1
- package/dist/src/observability/create-trace.js +0 -22
- package/dist/src/observability/index.d.ts +0 -4
- package/dist/src/observability/index.d.ts.map +0 -1
- package/dist/src/observability/index.js +0 -2
- package/dist/src/observability/no-tracer.d.ts +0 -10
- package/dist/src/observability/no-tracer.d.ts.map +0 -1
- package/dist/src/observability/no-tracer.js +0 -22
- package/dist/src/observability/redis-trace-stream-adapter.d.ts +0 -17
- package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +0 -1
- package/dist/src/observability/redis-trace-stream-adapter.js +0 -65
- package/dist/src/observability/stream-tracer.d.ts +0 -23
- package/dist/src/observability/stream-tracer.d.ts.map +0 -1
- package/dist/src/observability/stream-tracer.js +0 -114
- package/dist/src/observability/trace-manager.d.ts +0 -14
- package/dist/src/observability/trace-manager.d.ts.map +0 -1
- package/dist/src/observability/trace-manager.js +0 -26
- package/dist/src/observability/tracer.d.ts +0 -19
- package/dist/src/observability/tracer.d.ts.map +0 -1
- package/dist/src/observability/tracer.js +0 -98
- package/dist/src/observability/types.d.ts +0 -75
- package/dist/src/observability/types.d.ts.map +0 -1
- package/dist/src/observability/types.js +0 -2
- package/dist/src/pretty-print.d.ts +0 -2
- package/dist/src/pretty-print.d.ts.map +0 -1
- package/dist/src/pretty-print.js +0 -63
- package/dist/src/printer.d.ts +0 -61
- package/dist/src/printer.d.ts.map +0 -1
- package/dist/src/printer.js +0 -164
- package/dist/src/process-communication/communication-config.d.ts +0 -8
- package/dist/src/process-communication/communication-config.d.ts.map +0 -1
- package/dist/src/process-communication/communication-config.js +0 -18
- package/dist/src/process-communication/process-manager.d.ts +0 -32
- package/dist/src/process-communication/process-manager.d.ts.map +0 -1
- package/dist/src/process-communication/process-manager.js +0 -88
- package/dist/src/process-communication/rpc-processor-interface.d.ts +0 -10
- package/dist/src/process-communication/rpc-processor-interface.d.ts.map +0 -1
- package/dist/src/process-communication/rpc-processor-interface.js +0 -2
- package/dist/src/queue-manager.d.ts +0 -42
- package/dist/src/queue-manager.d.ts.map +0 -1
- package/dist/src/queue-manager.js +0 -252
- package/dist/src/ruby/get-ruby-config.d.ts +0 -3
- package/dist/src/ruby/get-ruby-config.d.ts.map +0 -1
- package/dist/src/ruby/get-ruby-config.js +0 -34
- package/dist/src/run-stream-can-access.d.ts +0 -10
- package/dist/src/run-stream-can-access.d.ts.map +0 -1
- package/dist/src/run-stream-can-access.js +0 -59
- package/dist/src/schema-utils.d.ts +0 -9
- package/dist/src/schema-utils.d.ts.map +0 -1
- package/dist/src/schema-utils.js +0 -80
- package/dist/src/server.d.ts +0 -37
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -344
- package/dist/src/socket-server/helpers.d.ts +0 -53
- package/dist/src/socket-server/helpers.d.ts.map +0 -1
- package/dist/src/socket-server/helpers.js +0 -28
- package/dist/src/socket-server.d.ts +0 -21
- package/dist/src/socket-server.d.ts.map +0 -1
- package/dist/src/socket-server.js +0 -127
- package/dist/src/state/create-state-adapter.d.ts +0 -8
- package/dist/src/state/create-state-adapter.d.ts.map +0 -1
- package/dist/src/state/create-state-adapter.js +0 -8
- package/dist/src/step-handler-rpc-processor.d.ts +0 -22
- package/dist/src/step-handler-rpc-processor.d.ts.map +0 -1
- package/dist/src/step-handler-rpc-processor.js +0 -63
- package/dist/src/step-handler-rpc-stdin-processor.d.ts +0 -23
- package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +0 -1
- package/dist/src/step-handler-rpc-stdin-processor.js +0 -83
- package/dist/src/step-handlers.d.ts +0 -9
- package/dist/src/step-handlers.d.ts.map +0 -1
- package/dist/src/step-handlers.js +0 -77
- package/dist/src/step-validator.d.ts +0 -15
- package/dist/src/step-validator.d.ts.map +0 -1
- package/dist/src/step-validator.js +0 -135
- package/dist/src/steps/emit.step.d.ts +0 -12
- package/dist/src/steps/emit.step.d.ts.map +0 -1
- package/dist/src/steps/emit.step.js +0 -27
- package/dist/src/steps/index.d.ts +0 -3
- package/dist/src/steps/index.d.ts.map +0 -1
- package/dist/src/steps/index.js +0 -16
- package/dist/src/streams/flows-config-stream.d.ts +0 -14
- package/dist/src/streams/flows-config-stream.d.ts.map +0 -1
- package/dist/src/streams/flows-config-stream.js +0 -49
- package/dist/src/streams/flows-stream.d.ts +0 -12
- package/dist/src/streams/flows-stream.d.ts.map +0 -1
- package/dist/src/streams/flows-stream.js +0 -35
- package/dist/src/streams/redis-logs-stream.d.ts +0 -31
- package/dist/src/streams/redis-logs-stream.d.ts.map +0 -1
- package/dist/src/streams/redis-logs-stream.js +0 -84
- package/dist/src/streams/stream-factory.d.ts +0 -3
- package/dist/src/streams/stream-factory.d.ts.map +0 -1
- package/dist/src/streams/stream-factory.js +0 -2
- package/dist/src/types/app-config-types.d.ts +0 -45
- package/dist/src/types/app-config-types.d.ts.map +0 -1
- package/dist/src/types/app-config-types.js +0 -2
- package/dist/src/types/flows-config-types.d.ts +0 -10
- package/dist/src/types/flows-config-types.d.ts.map +0 -1
- package/dist/src/types/flows-config-types.js +0 -2
- package/dist/src/types/flows-types.d.ts +0 -39
- package/dist/src/types/flows-types.d.ts.map +0 -1
- package/dist/src/types/flows-types.js +0 -2
- package/dist/src/types/generate-type-from-schema.d.ts +0 -3
- package/dist/src/types/generate-type-from-schema.d.ts.map +0 -1
- package/dist/src/types/generate-type-from-schema.js +0 -49
- package/dist/src/types/generate-types-from-response.d.ts +0 -3
- package/dist/src/types/generate-types-from-response.d.ts.map +0 -1
- package/dist/src/types/generate-types-from-response.js +0 -13
- package/dist/src/types/generate-types.d.ts +0 -13
- package/dist/src/types/generate-types.d.ts.map +0 -1
- package/dist/src/types/generate-types.js +0 -127
- package/dist/src/types/merge-schemas.d.ts +0 -5
- package/dist/src/types/merge-schemas.d.ts.map +0 -1
- package/dist/src/types/merge-schemas.js +0 -183
- package/dist/src/types/schema.types.d.ts +0 -9
- package/dist/src/types/schema.types.d.ts.map +0 -1
- package/dist/src/types/schema.types.js +0 -14
- package/dist/src/types-stream.d.ts +0 -42
- package/dist/src/types-stream.d.ts.map +0 -1
- package/dist/src/types-stream.js +0 -2
- package/dist/src/types.d.ts +0 -190
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -17
- package/dist/src/utils.d.ts +0 -3
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -12
- package/dist/src/validate-event-input.d.ts +0 -3
- package/dist/src/validate-event-input.d.ts.map +0 -1
- package/dist/src/validate-event-input.js +0 -74
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Logger } from "./logger.mjs";
|
|
2
|
+
import { Tracer } from "./adapters/interfaces/observability-adapter.interface.mjs";
|
|
3
|
+
import "./observability/index.mjs";
|
|
4
|
+
import { JsonSchema } from "./types/schema.types.mjs";
|
|
5
|
+
import { AdapterConfig, Config, MotiaPlugin, MotiaPluginBuilder, StreamAuthConfig, StreamAuthRequest, WorkbenchPlugin } from "./types/app-config-types.mjs";
|
|
6
|
+
import { ZodArray, ZodObject } from "zod";
|
|
7
|
+
|
|
8
|
+
//#region src/types.d.ts
|
|
9
|
+
type ZodInput = ZodObject<any> | ZodArray<any>;
|
|
10
|
+
type StepSchemaInput = ZodInput | JsonSchema;
|
|
11
|
+
type InternalStateManager = {
|
|
12
|
+
get<T>(groupId: string, key: string): Promise<T | null>;
|
|
13
|
+
set<T>(groupId: string, key: string, value: T): Promise<T>;
|
|
14
|
+
delete<T>(groupId: string, key: string): Promise<T | null>;
|
|
15
|
+
getGroup<T>(groupId: string): Promise<T[]>;
|
|
16
|
+
clear(groupId: string): Promise<void>;
|
|
17
|
+
};
|
|
18
|
+
type EmitData = {
|
|
19
|
+
topic: '';
|
|
20
|
+
data: unknown;
|
|
21
|
+
messageGroupId?: string;
|
|
22
|
+
};
|
|
23
|
+
type Emitter<TData> = (event: TData) => Promise<void>;
|
|
24
|
+
interface FlowContextStateStreams {}
|
|
25
|
+
interface FlowContext<TEmitData = never> {
|
|
26
|
+
emit: Emitter<TEmitData>;
|
|
27
|
+
traceId: string;
|
|
28
|
+
state: InternalStateManager;
|
|
29
|
+
logger: Logger;
|
|
30
|
+
streams: FlowContextStateStreams;
|
|
31
|
+
}
|
|
32
|
+
type EventHandler<TInput, TEmitData> = (input: TInput, ctx: FlowContext<TEmitData>) => Promise<void>;
|
|
33
|
+
type Emit = string | {
|
|
34
|
+
topic: string;
|
|
35
|
+
label?: string;
|
|
36
|
+
conditional?: boolean;
|
|
37
|
+
};
|
|
38
|
+
type HandlerConfig = {
|
|
39
|
+
ram: number;
|
|
40
|
+
cpu?: number;
|
|
41
|
+
timeout: number;
|
|
42
|
+
};
|
|
43
|
+
type QueueConfig = {
|
|
44
|
+
type: 'fifo' | 'standard';
|
|
45
|
+
maxRetries: number;
|
|
46
|
+
visibilityTimeout: number;
|
|
47
|
+
delaySeconds: number;
|
|
48
|
+
};
|
|
49
|
+
type InfrastructureConfig = {
|
|
50
|
+
handler?: Partial<HandlerConfig>;
|
|
51
|
+
queue?: Partial<QueueConfig>;
|
|
52
|
+
};
|
|
53
|
+
type EventConfig = {
|
|
54
|
+
type: 'event';
|
|
55
|
+
name: string;
|
|
56
|
+
description?: string;
|
|
57
|
+
subscribes: string[];
|
|
58
|
+
emits: Emit[];
|
|
59
|
+
virtualEmits?: Emit[];
|
|
60
|
+
virtualSubscribes?: string[];
|
|
61
|
+
input?: StepSchemaInput;
|
|
62
|
+
flows?: string[];
|
|
63
|
+
/**
|
|
64
|
+
* Files to include in the step bundle.
|
|
65
|
+
* Needs to be relative to the step file.
|
|
66
|
+
*/
|
|
67
|
+
includeFiles?: string[];
|
|
68
|
+
infrastructure?: Partial<InfrastructureConfig>;
|
|
69
|
+
};
|
|
70
|
+
type NoopConfig = {
|
|
71
|
+
type: 'noop';
|
|
72
|
+
name: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
virtualEmits: Emit[];
|
|
75
|
+
virtualSubscribes: string[];
|
|
76
|
+
flows?: string[];
|
|
77
|
+
};
|
|
78
|
+
type ApiRouteMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS' | 'HEAD';
|
|
79
|
+
type ApiMiddleware<TBody = unknown, TEmitData = never, TResult = unknown> = (req: ApiRequest<TBody>, ctx: FlowContext<TEmitData>, next: () => Promise<ApiResponse<number, TResult>>) => Promise<ApiResponse<number, TResult>>;
|
|
80
|
+
interface QueryParam {
|
|
81
|
+
name: string;
|
|
82
|
+
description: string;
|
|
83
|
+
}
|
|
84
|
+
interface ApiRouteConfig {
|
|
85
|
+
type: 'api';
|
|
86
|
+
name: string;
|
|
87
|
+
description?: string;
|
|
88
|
+
path: string;
|
|
89
|
+
method: ApiRouteMethod;
|
|
90
|
+
emits: Emit[];
|
|
91
|
+
virtualEmits?: Emit[];
|
|
92
|
+
virtualSubscribes?: string[];
|
|
93
|
+
flows?: string[];
|
|
94
|
+
middleware?: ApiMiddleware<any, any, any>[];
|
|
95
|
+
bodySchema?: StepSchemaInput;
|
|
96
|
+
responseSchema?: Record<number, StepSchemaInput>;
|
|
97
|
+
queryParams?: QueryParam[];
|
|
98
|
+
/**
|
|
99
|
+
* Files to include in the step bundle.
|
|
100
|
+
* Needs to be relative to the step file.
|
|
101
|
+
*/
|
|
102
|
+
includeFiles?: string[];
|
|
103
|
+
}
|
|
104
|
+
interface ApiRequest<TBody = unknown> {
|
|
105
|
+
pathParams: Record<string, string>;
|
|
106
|
+
queryParams: Record<string, string | string[]>;
|
|
107
|
+
body: TBody;
|
|
108
|
+
headers: Record<string, string | string[]>;
|
|
109
|
+
/**
|
|
110
|
+
* The raw unparsed request body as a string.
|
|
111
|
+
* This is the same body that was sent but without type enforcement/parsing.
|
|
112
|
+
*/
|
|
113
|
+
rawBody: string;
|
|
114
|
+
}
|
|
115
|
+
type ApiResponse<TStatus extends number = number, TBody = string | Buffer | Record<string, unknown>> = {
|
|
116
|
+
status: TStatus;
|
|
117
|
+
headers?: Record<string, string>;
|
|
118
|
+
body: TBody;
|
|
119
|
+
};
|
|
120
|
+
type ApiRouteHandler<TRequestBody = unknown, TResponseBody extends ApiResponse<number, unknown> = ApiResponse<number, unknown>, TEmitData = never> = (req: ApiRequest<TRequestBody>, ctx: FlowContext<TEmitData>) => Promise<TResponseBody>;
|
|
121
|
+
type CronConfig = {
|
|
122
|
+
type: 'cron';
|
|
123
|
+
name: string;
|
|
124
|
+
description?: string;
|
|
125
|
+
cron: string;
|
|
126
|
+
virtualEmits?: Emit[];
|
|
127
|
+
virtualSubscribes?: string[];
|
|
128
|
+
emits: Emit[];
|
|
129
|
+
flows?: string[];
|
|
130
|
+
/**
|
|
131
|
+
* Files to include in the step bundle.
|
|
132
|
+
* Needs to be relative to the step file.
|
|
133
|
+
*/
|
|
134
|
+
includeFiles?: string[];
|
|
135
|
+
};
|
|
136
|
+
type CronHandler<TEmitData = never> = (ctx: FlowContext<TEmitData>) => Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* @deprecated Use `Handlers` instead.
|
|
139
|
+
*/
|
|
140
|
+
type StepHandler<T> = T extends EventConfig ? EventHandler<unknown, {
|
|
141
|
+
topic: string;
|
|
142
|
+
data: any;
|
|
143
|
+
}> : T extends ApiRouteConfig ? ApiRouteHandler<any, ApiResponse<number, any>, {
|
|
144
|
+
topic: string;
|
|
145
|
+
data: any;
|
|
146
|
+
}> : T extends CronConfig ? CronHandler<{
|
|
147
|
+
topic: string;
|
|
148
|
+
data: any;
|
|
149
|
+
}> : never;
|
|
150
|
+
type Event<TData = unknown> = {
|
|
151
|
+
topic: string;
|
|
152
|
+
data: TData;
|
|
153
|
+
traceId: string;
|
|
154
|
+
flows?: string[];
|
|
155
|
+
logger?: Logger;
|
|
156
|
+
tracer?: Tracer;
|
|
157
|
+
messageGroupId?: string;
|
|
158
|
+
};
|
|
159
|
+
type Handler<TData = unknown> = (event: Event<TData>) => Promise<void>;
|
|
160
|
+
type SubscribeConfig<TData> = {
|
|
161
|
+
event: string;
|
|
162
|
+
handlerName: string;
|
|
163
|
+
filePath: string;
|
|
164
|
+
handler: Handler<TData>;
|
|
165
|
+
};
|
|
166
|
+
type UnsubscribeConfig = {
|
|
167
|
+
filePath: string;
|
|
168
|
+
event: string;
|
|
169
|
+
};
|
|
170
|
+
type StepConfig = EventConfig | NoopConfig | ApiRouteConfig | CronConfig;
|
|
171
|
+
type Step<TConfig extends StepConfig = StepConfig> = {
|
|
172
|
+
filePath: string;
|
|
173
|
+
version: string;
|
|
174
|
+
config: TConfig;
|
|
175
|
+
};
|
|
176
|
+
type PluginStep<TConfig extends StepConfig = ApiRouteConfig> = Step<TConfig> & {
|
|
177
|
+
handler?: ApiRouteHandler<any, any, any>;
|
|
178
|
+
};
|
|
179
|
+
type Flow = {
|
|
180
|
+
name: string;
|
|
181
|
+
description?: string;
|
|
182
|
+
steps: Step[];
|
|
183
|
+
};
|
|
184
|
+
interface Handlers {}
|
|
185
|
+
declare module 'http' {
|
|
186
|
+
interface IncomingMessage {
|
|
187
|
+
authContext?: unknown | null;
|
|
188
|
+
rawBody?: string;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=types.d.ts.map
|
|
192
|
+
//#endregion
|
|
193
|
+
export { ApiMiddleware, ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteHandler, ApiRouteMethod, CronConfig, CronHandler, Emit, EmitData, Emitter, Event, EventConfig, EventHandler, Flow, FlowContext, FlowContextStateStreams, Handler, HandlerConfig, Handlers, InfrastructureConfig, InternalStateManager, NoopConfig, PluginStep, QueryParam, QueueConfig, Step, StepConfig, StepHandler, StepSchemaInput, SubscribeConfig, UnsubscribeConfig, ZodInput };
|
|
194
|
+
//# sourceMappingURL=types.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../src/types.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { isApiStep, isCronStep, isEventStep } from "./guards.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/utils.ts
|
|
4
|
+
const toTopic = (emit) => typeof emit === "string" ? emit : emit.topic;
|
|
5
|
+
const isAllowedToEmit = (step, emit) => {
|
|
6
|
+
if (!isApiStep(step) && !isCronStep(step) && !isEventStep(step)) return false;
|
|
7
|
+
const emitsTopics = step.config.emits.map(toTopic);
|
|
8
|
+
return emitsTopics.includes(emit) || emitsTopics.length === 0;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { isAllowedToEmit };
|
|
13
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/utils.ts"],"sourcesContent":["import { isApiStep, isCronStep, isEventStep } from './guards'\nimport type { Emit, Step } from './types'\n\nconst toTopic = (emit: Emit) => (typeof emit === 'string' ? emit : emit.topic)\n\nexport const isAllowedToEmit = (step: Step, emit: string): boolean => {\n if (!isApiStep(step) && !isCronStep(step) && !isEventStep(step)) return false\n\n const emitsTopics = step.config.emits.map(toTopic)\n return emitsTopics.includes(emit) || emitsTopics.length === 0\n}\n"],"mappings":";;;AAGA,MAAM,WAAW,SAAgB,OAAO,SAAS,WAAW,OAAO,KAAK;AAExE,MAAa,mBAAmB,MAAY,SAA0B;AACpE,KAAI,CAAC,UAAU,KAAK,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,KAAK,CAAE,QAAO;CAExE,MAAM,cAAc,KAAK,OAAO,MAAM,IAAI,QAAQ;AAClD,QAAO,YAAY,SAAS,KAAK,IAAI,YAAY,WAAW"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { globalLogger } from "./logger.mjs";
|
|
2
|
+
import { schemaToJsonSchema } from "./schema-utils.mjs";
|
|
3
|
+
import { Printer } from "./printer.mjs";
|
|
4
|
+
import Ajv from "ajv";
|
|
5
|
+
|
|
6
|
+
//#region src/validate-event-input.ts
|
|
7
|
+
const ajv = new Ajv({
|
|
8
|
+
allErrors: true,
|
|
9
|
+
strict: false
|
|
10
|
+
});
|
|
11
|
+
const validateEventInput = (step, event, motia) => {
|
|
12
|
+
const { data } = event;
|
|
13
|
+
const logger = event.logger ? event.logger.child({ step: step.config.name }) : motia.loggerFactory.create({
|
|
14
|
+
step: step.config.name,
|
|
15
|
+
traceId: event.traceId
|
|
16
|
+
});
|
|
17
|
+
if (step.config.input) {
|
|
18
|
+
if (data === null || typeof data !== "object") {
|
|
19
|
+
logger.warn(`⚠️ Event "${step.config.name}" received non-object data`, { data });
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let compiledSchema;
|
|
23
|
+
const inputSchema = step.config.input;
|
|
24
|
+
try {
|
|
25
|
+
compiledSchema = schemaToJsonSchema(inputSchema);
|
|
26
|
+
if (!compiledSchema) compiledSchema = inputSchema;
|
|
27
|
+
} catch (err) {
|
|
28
|
+
logger.error(`❌ Failed to convert or compile schema for step "${step.config.name}"`, { error: err });
|
|
29
|
+
globalLogger.error("[step handler] failed to convert schema", {
|
|
30
|
+
step: step.config.name,
|
|
31
|
+
error: err
|
|
32
|
+
});
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let validate;
|
|
36
|
+
try {
|
|
37
|
+
validate = ajv.compile(compiledSchema);
|
|
38
|
+
} catch (err) {
|
|
39
|
+
logger.error(`❌ Invalid JSON schema for step "${step.config.name}"`, { error: err });
|
|
40
|
+
globalLogger.error("[step handler] invalid JSON schema", {
|
|
41
|
+
step: step.config.name,
|
|
42
|
+
error: err
|
|
43
|
+
});
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!validate(data) && validate.errors?.length) {
|
|
47
|
+
const missingFields = [];
|
|
48
|
+
const extraFields = [];
|
|
49
|
+
const typeMismatches = [];
|
|
50
|
+
for (const err of validate.errors) {
|
|
51
|
+
const field = err.instancePath ? err.instancePath.replace(/^\//, "").replace(/\//g, ".") : "(root)";
|
|
52
|
+
switch (err.keyword) {
|
|
53
|
+
case "required":
|
|
54
|
+
if ("missingProperty" in err.params) missingFields.push(field === "(root)" ? err.params.missingProperty : `${field}.${err.params.missingProperty}`);
|
|
55
|
+
break;
|
|
56
|
+
case "type":
|
|
57
|
+
typeMismatches.push(`Field "${field}": must be ${err.params.type}`);
|
|
58
|
+
break;
|
|
59
|
+
case "additionalProperties":
|
|
60
|
+
if ("additionalProperty" in err.params) extraFields.push(field === "(root)" ? err.params.additionalProperty : `${field}.${err.params.additionalProperty}`);
|
|
61
|
+
break;
|
|
62
|
+
default: typeMismatches.push(`Field "${field}": ${err.message}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
(motia?.printer ?? new Printer(process.cwd())).printEventInputValidationError({ topic: event.topic }, {
|
|
66
|
+
missingFields,
|
|
67
|
+
extraFields,
|
|
68
|
+
typeMismatches
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
export { validateEventInput };
|
|
76
|
+
//# sourceMappingURL=validate-event-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-event-input.mjs","names":["compiledSchema: any","validate: ValidateFunction","missingFields: string[]","extraFields: string[]","typeMismatches: string[]"],"sources":["../../src/validate-event-input.ts"],"sourcesContent":["import Ajv, { type ErrorObject, type ValidateFunction } from 'ajv'\nimport { globalLogger } from './logger'\nimport { Printer } from './printer'\nimport { schemaToJsonSchema } from './schema-utils'\nimport type { Event, EventConfig, Step } from './types'\n\nconst ajv = new Ajv({ allErrors: true, strict: false })\n\nexport const validateEventInput = (step: Step<EventConfig>, event: Event, motia: any) => {\n const { data } = event\n const logger = event.logger\n ? event.logger.child({ step: step.config.name })\n : motia.loggerFactory.create({ step: step.config.name, traceId: event.traceId })\n\n if (step.config.input) {\n if (data === null || typeof data !== 'object') {\n logger.warn(`⚠️ Event \"${step.config.name}\" received non-object data`, { data })\n return\n }\n\n let compiledSchema: any\n const inputSchema = step.config.input\n\n try {\n compiledSchema = schemaToJsonSchema(inputSchema)\n if (!compiledSchema) {\n compiledSchema = inputSchema\n }\n } catch (err) {\n logger.error(`❌ Failed to convert or compile schema for step \"${step.config.name}\"`, { error: err })\n globalLogger.error('[step handler] failed to convert schema', { step: step.config.name, error: err })\n return\n }\n\n let validate: ValidateFunction\n try {\n validate = ajv.compile(compiledSchema)\n } catch (err) {\n logger.error(`❌ Invalid JSON schema for step \"${step.config.name}\"`, { error: err })\n globalLogger.error('[step handler] invalid JSON schema', { step: step.config.name, error: err })\n return\n }\n\n const valid = validate(data)\n\n if (!valid && validate.errors?.length) {\n const missingFields: string[] = []\n const extraFields: string[] = []\n const typeMismatches: string[] = []\n\n for (const err of validate.errors as ErrorObject[]) {\n const field = err.instancePath ? err.instancePath.replace(/^\\//, '').replace(/\\//g, '.') : '(root)'\n\n switch (err.keyword) {\n case 'required':\n if ('missingProperty' in err.params) {\n missingFields.push(\n field === '(root)' ? err.params.missingProperty : `${field}.${err.params.missingProperty}`,\n )\n }\n break\n case 'type':\n typeMismatches.push(`Field \"${field}\": must be ${err.params.type}`)\n break\n case 'additionalProperties':\n if ('additionalProperty' in err.params) {\n extraFields.push(\n field === '(root)' ? err.params.additionalProperty : `${field}.${err.params.additionalProperty}`,\n )\n }\n break\n default:\n typeMismatches.push(`Field \"${field}\": ${err.message}`)\n }\n }\n\n const printer = motia?.printer ?? new Printer(process.cwd())\n printer.printEventInputValidationError({ topic: event.topic }, { missingFields, extraFields, typeMismatches })\n }\n }\n}\n"],"mappings":";;;;;;AAMA,MAAM,MAAM,IAAI,IAAI;CAAE,WAAW;CAAM,QAAQ;CAAO,CAAC;AAEvD,MAAa,sBAAsB,MAAyB,OAAc,UAAe;CACvF,MAAM,EAAE,SAAS;CACjB,MAAM,SAAS,MAAM,SACjB,MAAM,OAAO,MAAM,EAAE,MAAM,KAAK,OAAO,MAAM,CAAC,GAC9C,MAAM,cAAc,OAAO;EAAE,MAAM,KAAK,OAAO;EAAM,SAAS,MAAM;EAAS,CAAC;AAElF,KAAI,KAAK,OAAO,OAAO;AACrB,MAAI,SAAS,QAAQ,OAAO,SAAS,UAAU;AAC7C,UAAO,KAAK,aAAa,KAAK,OAAO,KAAK,6BAA6B,EAAE,MAAM,CAAC;AAChF;;EAGF,IAAIA;EACJ,MAAM,cAAc,KAAK,OAAO;AAEhC,MAAI;AACF,oBAAiB,mBAAmB,YAAY;AAChD,OAAI,CAAC,eACH,kBAAiB;WAEZ,KAAK;AACZ,UAAO,MAAM,mDAAmD,KAAK,OAAO,KAAK,IAAI,EAAE,OAAO,KAAK,CAAC;AACpG,gBAAa,MAAM,2CAA2C;IAAE,MAAM,KAAK,OAAO;IAAM,OAAO;IAAK,CAAC;AACrG;;EAGF,IAAIC;AACJ,MAAI;AACF,cAAW,IAAI,QAAQ,eAAe;WAC/B,KAAK;AACZ,UAAO,MAAM,mCAAmC,KAAK,OAAO,KAAK,IAAI,EAAE,OAAO,KAAK,CAAC;AACpF,gBAAa,MAAM,sCAAsC;IAAE,MAAM,KAAK,OAAO;IAAM,OAAO;IAAK,CAAC;AAChG;;AAKF,MAAI,CAFU,SAAS,KAAK,IAEd,SAAS,QAAQ,QAAQ;GACrC,MAAMC,gBAA0B,EAAE;GAClC,MAAMC,cAAwB,EAAE;GAChC,MAAMC,iBAA2B,EAAE;AAEnC,QAAK,MAAM,OAAO,SAAS,QAAyB;IAClD,MAAM,QAAQ,IAAI,eAAe,IAAI,aAAa,QAAQ,OAAO,GAAG,CAAC,QAAQ,OAAO,IAAI,GAAG;AAE3F,YAAQ,IAAI,SAAZ;KACE,KAAK;AACH,UAAI,qBAAqB,IAAI,OAC3B,eAAc,KACZ,UAAU,WAAW,IAAI,OAAO,kBAAkB,GAAG,MAAM,GAAG,IAAI,OAAO,kBAC1E;AAEH;KACF,KAAK;AACH,qBAAe,KAAK,UAAU,MAAM,aAAa,IAAI,OAAO,OAAO;AACnE;KACF,KAAK;AACH,UAAI,wBAAwB,IAAI,OAC9B,aAAY,KACV,UAAU,WAAW,IAAI,OAAO,qBAAqB,GAAG,MAAM,GAAG,IAAI,OAAO,qBAC7E;AAEH;KACF,QACE,gBAAe,KAAK,UAAU,MAAM,KAAK,IAAI,UAAU;;;AAK7D,IADgB,OAAO,WAAW,IAAI,QAAQ,QAAQ,KAAK,CAAC,EACpD,+BAA+B,EAAE,OAAO,MAAM,OAAO,EAAE;IAAE;IAAe;IAAa;IAAgB,CAAC"}
|
package/jest.config.cjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
roots: ['<rootDir>/src'],
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
transform: {
|
|
5
|
+
'^.+\\.ts$': [
|
|
6
|
+
'ts-jest',
|
|
7
|
+
{
|
|
8
|
+
diagnostics: false,
|
|
9
|
+
useESM: true,
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
extensionsToTreatAsEsm: ['.ts'],
|
|
14
|
+
moduleNameMapper: {
|
|
15
|
+
'^(\\.{1,2}/.*)\\.js$': '$1',
|
|
16
|
+
'^zod/v4/core/standard-schema\\.cjs$': 'zod/v4/core/standard-schema',
|
|
17
|
+
},
|
|
18
|
+
testRegex: '(/__tests__/.*\\.test\\.ts$)',
|
|
19
|
+
moduleFileExtensions: ['ts', 'js', 'json', 'node'],
|
|
20
|
+
}
|
package/package.json
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@motiadev/core",
|
|
3
3
|
"description": "Core functionality for the Motia framework, providing the foundation for building event-driven workflows.",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.mjs",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.mts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.mts",
|
|
11
|
+
"import": "./dist/index.mjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"version": "0.14.0-beta.165-707935",
|
|
6
15
|
"dependencies": {
|
|
7
|
-
"@amplitude/analytics-node": "^1.
|
|
16
|
+
"@amplitude/analytics-node": "^1.5.26",
|
|
17
|
+
"@standard-schema/spec": "^1.0.0",
|
|
8
18
|
"ajv": "^8.17.1",
|
|
9
19
|
"body-parser": "^1.20.3",
|
|
10
20
|
"picocolors": "^1.1.1",
|
|
11
21
|
"dotenv": "^16.4.7",
|
|
12
22
|
"express": "^4.21.2",
|
|
23
|
+
"tsx": "^4.20.6",
|
|
13
24
|
"node-cron": "^3.0.3",
|
|
14
25
|
"ts-node": "^10.9.2",
|
|
15
26
|
"tsconfig-paths": "^4.2.0",
|
|
@@ -26,8 +37,9 @@
|
|
|
26
37
|
"@types/ws": "^8.18.1",
|
|
27
38
|
"jest": "^29.7.0",
|
|
28
39
|
"supertest": "^7.1.4",
|
|
29
|
-
"ts-jest": "^29.
|
|
30
|
-
"
|
|
40
|
+
"ts-jest": "^29.4.5",
|
|
41
|
+
"tsdown": "^0.16.6",
|
|
42
|
+
"typescript": "^5.9.3"
|
|
31
43
|
},
|
|
32
44
|
"peerDependencies": {
|
|
33
45
|
"redis": "^5.0.0"
|
|
@@ -36,11 +48,12 @@
|
|
|
36
48
|
"python-setup": "python3 -m venv python_modules && python_modules/bin/pip install -r requirements.txt",
|
|
37
49
|
"move:python": "mkdir -p dist/src/python && cp src/python/*.py dist/src/python",
|
|
38
50
|
"move:rb": "mkdir -p dist/src/ruby && cp src/ruby/*.rb dist/src/ruby",
|
|
39
|
-
"move:steps": "cp src/steps/*.ts dist/src/steps",
|
|
40
|
-
"build": "
|
|
51
|
+
"move:steps": "mkdir -p dist/src/steps && cp src/steps/*.ts dist/src/steps",
|
|
52
|
+
"build": "tsdown && npm run move:python && npm run move:rb && npm run move:steps",
|
|
53
|
+
"dev": "tsdown --watch",
|
|
41
54
|
"lint": "biome check .",
|
|
42
55
|
"watch": "tsc --watch",
|
|
43
|
-
"test": "jest",
|
|
56
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules --no-warnings=ExperimentalWarning' jest",
|
|
44
57
|
"clean": "rm -rf python_modules dist"
|
|
45
58
|
}
|
|
46
59
|
}
|
package/tsdown.config.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { defineConfig } from 'tsdown'
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
entry: {
|
|
5
|
+
index: './index.ts',
|
|
6
|
+
'src/node/node-runner': './src/node/node-runner.ts',
|
|
7
|
+
'src/node/get-config': './src/node/get-config.ts',
|
|
8
|
+
'src/node/can-access': './src/node/can-access.ts',
|
|
9
|
+
},
|
|
10
|
+
format: 'esm',
|
|
11
|
+
platform: 'node',
|
|
12
|
+
external: [
|
|
13
|
+
'@amplitude/analytics-node',
|
|
14
|
+
'@standard-schema/spec',
|
|
15
|
+
'ajv',
|
|
16
|
+
'body-parser',
|
|
17
|
+
'colors',
|
|
18
|
+
'dotenv',
|
|
19
|
+
'express',
|
|
20
|
+
'tsx',
|
|
21
|
+
'node-cron',
|
|
22
|
+
'ts-node',
|
|
23
|
+
'tsconfig-paths',
|
|
24
|
+
'uuid',
|
|
25
|
+
'ws',
|
|
26
|
+
'zod',
|
|
27
|
+
// Node built-ins
|
|
28
|
+
'path',
|
|
29
|
+
'fs',
|
|
30
|
+
'child_process',
|
|
31
|
+
'os',
|
|
32
|
+
'util',
|
|
33
|
+
'stream',
|
|
34
|
+
'events',
|
|
35
|
+
'http',
|
|
36
|
+
'https',
|
|
37
|
+
'url',
|
|
38
|
+
'crypto',
|
|
39
|
+
'buffer',
|
|
40
|
+
'zlib',
|
|
41
|
+
'net',
|
|
42
|
+
'node:path',
|
|
43
|
+
'fs/promises',
|
|
44
|
+
'readline',
|
|
45
|
+
],
|
|
46
|
+
dts: {
|
|
47
|
+
build: true,
|
|
48
|
+
},
|
|
49
|
+
clean: true,
|
|
50
|
+
outDir: 'dist',
|
|
51
|
+
sourcemap: true,
|
|
52
|
+
unbundle: true,
|
|
53
|
+
})
|
package/dist/index.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export { FileStateAdapter, FileStreamAdapter, FileStreamAdapterManager, MemoryStateAdapter, MemoryStreamAdapter, MemoryStreamAdapterManager, } from './src/adapters/defaults';
|
|
2
|
-
export { InMemoryCronAdapter as DefaultCronAdapter } from './src/adapters/defaults/cron/in-memory-cron-adapter';
|
|
3
|
-
export { InMemoryQueueEventAdapter as DefaultQueueEventAdapter } from './src/adapters/defaults/event/in-memory-queue-event-adapter';
|
|
4
|
-
export type { CronAdapter, CronAdapterConfig, CronLock, CronLockInfo, } from './src/adapters/interfaces/cron-adapter.interface';
|
|
5
|
-
export type { EventAdapter, SubscriptionHandle } from './src/adapters/interfaces/event-adapter.interface';
|
|
6
|
-
export type { Metric, ObservabilityAdapter, Tracer } from './src/adapters/interfaces/observability-adapter.interface';
|
|
7
|
-
export type { StateAdapter, StateFilter, StateItem, StateItemsInput, } from './src/adapters/interfaces/state-adapter.interface';
|
|
8
|
-
export { StreamAdapter, type StreamQueryFilter } from './src/adapters/interfaces/stream-adapter.interface';
|
|
9
|
-
export type { StreamAdapterManager } from './src/adapters/interfaces/stream-adapter-manager.interface';
|
|
10
|
-
export { getProjectIdentifier, getUserIdentifier, isAnalyticsEnabled, trackEvent } from './src/analytics/utils';
|
|
11
|
-
export { config } from './src/config';
|
|
12
|
-
export { CronManager, setupCronHandlers } from './src/cron-handler';
|
|
13
|
-
export { getStepConfig, getStreamConfig } from './src/get-step-config';
|
|
14
|
-
export { isApiStep, isCronStep, isEventStep, isNoopStep } from './src/guards';
|
|
15
|
-
export { type InfrastructureValidationError, type InfrastructureValidationResult, validateInfrastructureConfig, } from './src/infrastructure-validator';
|
|
16
|
-
export { LockedData } from './src/locked-data';
|
|
17
|
-
export { Logger } from './src/logger';
|
|
18
|
-
export { createMermaidGenerator } from './src/mermaid-generator';
|
|
19
|
-
export { Motia, MotiaPluginContext, PLUGIN_FLOW_ID, PluginApiConfig, UnregisterMotiaPluginApi } from './src/motia';
|
|
20
|
-
export { NoTracer } from './src/observability/no-tracer';
|
|
21
|
-
export { NoPrinter, Printer } from './src/printer';
|
|
22
|
-
export { QueueManager, type QueueMetrics } from './src/queue-manager';
|
|
23
|
-
export { createServer, MotiaServer } from './src/server';
|
|
24
|
-
export { createStateAdapter } from './src/state/create-state-adapter';
|
|
25
|
-
export { createStepHandlers, MotiaEventManager } from './src/step-handlers';
|
|
26
|
-
export * from './src/types';
|
|
27
|
-
export type { AdapterConfig, Config, StreamAuthRequest } from './src/types/app-config-types';
|
|
28
|
-
export * from './src/types/schema.types';
|
|
29
|
-
export { type BaseStreamItem, MotiaStream, type StateStreamEvent, type StateStreamEventChannel, StreamConfig, type StreamSubscription, } from './src/types-stream';
|
|
30
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,mBAAmB,IAAI,kBAAkB,EAAE,MAAM,qDAAqD,CAAA;AAC/G,OAAO,EAAE,yBAAyB,IAAI,wBAAwB,EAAE,MAAM,6DAA6D,CAAA;AACnI,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,QAAQ,EACR,YAAY,GACb,MAAM,kDAAkD,CAAA;AACzD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAA;AACzG,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,2DAA2D,CAAA;AACrH,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,eAAe,GAChB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AAC1G,YAAY,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAA;AACtG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC/G,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC7E,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,4BAA4B,GAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC3E,cAAc,aAAa,CAAA;AAC3B,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAC5F,cAAc,0BAA0B,CAAA;AACxC,OAAO,EACL,KAAK,cAAc,EACnB,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,YAAY,EACZ,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAA"}
|
package/dist/index.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createStepHandlers = exports.createStateAdapter = exports.createServer = exports.QueueManager = exports.Printer = exports.NoPrinter = exports.NoTracer = exports.PLUGIN_FLOW_ID = exports.createMermaidGenerator = exports.Logger = exports.LockedData = exports.validateInfrastructureConfig = exports.isNoopStep = exports.isEventStep = exports.isCronStep = exports.isApiStep = exports.getStreamConfig = exports.getStepConfig = exports.setupCronHandlers = exports.config = exports.trackEvent = exports.isAnalyticsEnabled = exports.getUserIdentifier = exports.getProjectIdentifier = exports.StreamAdapter = exports.DefaultQueueEventAdapter = exports.DefaultCronAdapter = exports.MemoryStreamAdapterManager = exports.MemoryStreamAdapter = exports.MemoryStateAdapter = exports.FileStreamAdapterManager = exports.FileStreamAdapter = exports.FileStateAdapter = void 0;
|
|
18
|
-
var defaults_1 = require("./src/adapters/defaults");
|
|
19
|
-
Object.defineProperty(exports, "FileStateAdapter", { enumerable: true, get: function () { return defaults_1.FileStateAdapter; } });
|
|
20
|
-
Object.defineProperty(exports, "FileStreamAdapter", { enumerable: true, get: function () { return defaults_1.FileStreamAdapter; } });
|
|
21
|
-
Object.defineProperty(exports, "FileStreamAdapterManager", { enumerable: true, get: function () { return defaults_1.FileStreamAdapterManager; } });
|
|
22
|
-
Object.defineProperty(exports, "MemoryStateAdapter", { enumerable: true, get: function () { return defaults_1.MemoryStateAdapter; } });
|
|
23
|
-
Object.defineProperty(exports, "MemoryStreamAdapter", { enumerable: true, get: function () { return defaults_1.MemoryStreamAdapter; } });
|
|
24
|
-
Object.defineProperty(exports, "MemoryStreamAdapterManager", { enumerable: true, get: function () { return defaults_1.MemoryStreamAdapterManager; } });
|
|
25
|
-
var in_memory_cron_adapter_1 = require("./src/adapters/defaults/cron/in-memory-cron-adapter");
|
|
26
|
-
Object.defineProperty(exports, "DefaultCronAdapter", { enumerable: true, get: function () { return in_memory_cron_adapter_1.InMemoryCronAdapter; } });
|
|
27
|
-
var in_memory_queue_event_adapter_1 = require("./src/adapters/defaults/event/in-memory-queue-event-adapter");
|
|
28
|
-
Object.defineProperty(exports, "DefaultQueueEventAdapter", { enumerable: true, get: function () { return in_memory_queue_event_adapter_1.InMemoryQueueEventAdapter; } });
|
|
29
|
-
var stream_adapter_interface_1 = require("./src/adapters/interfaces/stream-adapter.interface");
|
|
30
|
-
Object.defineProperty(exports, "StreamAdapter", { enumerable: true, get: function () { return stream_adapter_interface_1.StreamAdapter; } });
|
|
31
|
-
var utils_1 = require("./src/analytics/utils");
|
|
32
|
-
Object.defineProperty(exports, "getProjectIdentifier", { enumerable: true, get: function () { return utils_1.getProjectIdentifier; } });
|
|
33
|
-
Object.defineProperty(exports, "getUserIdentifier", { enumerable: true, get: function () { return utils_1.getUserIdentifier; } });
|
|
34
|
-
Object.defineProperty(exports, "isAnalyticsEnabled", { enumerable: true, get: function () { return utils_1.isAnalyticsEnabled; } });
|
|
35
|
-
Object.defineProperty(exports, "trackEvent", { enumerable: true, get: function () { return utils_1.trackEvent; } });
|
|
36
|
-
var config_1 = require("./src/config");
|
|
37
|
-
Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_1.config; } });
|
|
38
|
-
var cron_handler_1 = require("./src/cron-handler");
|
|
39
|
-
Object.defineProperty(exports, "setupCronHandlers", { enumerable: true, get: function () { return cron_handler_1.setupCronHandlers; } });
|
|
40
|
-
var get_step_config_1 = require("./src/get-step-config");
|
|
41
|
-
Object.defineProperty(exports, "getStepConfig", { enumerable: true, get: function () { return get_step_config_1.getStepConfig; } });
|
|
42
|
-
Object.defineProperty(exports, "getStreamConfig", { enumerable: true, get: function () { return get_step_config_1.getStreamConfig; } });
|
|
43
|
-
var guards_1 = require("./src/guards");
|
|
44
|
-
Object.defineProperty(exports, "isApiStep", { enumerable: true, get: function () { return guards_1.isApiStep; } });
|
|
45
|
-
Object.defineProperty(exports, "isCronStep", { enumerable: true, get: function () { return guards_1.isCronStep; } });
|
|
46
|
-
Object.defineProperty(exports, "isEventStep", { enumerable: true, get: function () { return guards_1.isEventStep; } });
|
|
47
|
-
Object.defineProperty(exports, "isNoopStep", { enumerable: true, get: function () { return guards_1.isNoopStep; } });
|
|
48
|
-
var infrastructure_validator_1 = require("./src/infrastructure-validator");
|
|
49
|
-
Object.defineProperty(exports, "validateInfrastructureConfig", { enumerable: true, get: function () { return infrastructure_validator_1.validateInfrastructureConfig; } });
|
|
50
|
-
var locked_data_1 = require("./src/locked-data");
|
|
51
|
-
Object.defineProperty(exports, "LockedData", { enumerable: true, get: function () { return locked_data_1.LockedData; } });
|
|
52
|
-
var logger_1 = require("./src/logger");
|
|
53
|
-
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
|
|
54
|
-
var mermaid_generator_1 = require("./src/mermaid-generator");
|
|
55
|
-
Object.defineProperty(exports, "createMermaidGenerator", { enumerable: true, get: function () { return mermaid_generator_1.createMermaidGenerator; } });
|
|
56
|
-
var motia_1 = require("./src/motia");
|
|
57
|
-
Object.defineProperty(exports, "PLUGIN_FLOW_ID", { enumerable: true, get: function () { return motia_1.PLUGIN_FLOW_ID; } });
|
|
58
|
-
var no_tracer_1 = require("./src/observability/no-tracer");
|
|
59
|
-
Object.defineProperty(exports, "NoTracer", { enumerable: true, get: function () { return no_tracer_1.NoTracer; } });
|
|
60
|
-
var printer_1 = require("./src/printer");
|
|
61
|
-
Object.defineProperty(exports, "NoPrinter", { enumerable: true, get: function () { return printer_1.NoPrinter; } });
|
|
62
|
-
Object.defineProperty(exports, "Printer", { enumerable: true, get: function () { return printer_1.Printer; } });
|
|
63
|
-
var queue_manager_1 = require("./src/queue-manager");
|
|
64
|
-
Object.defineProperty(exports, "QueueManager", { enumerable: true, get: function () { return queue_manager_1.QueueManager; } });
|
|
65
|
-
var server_1 = require("./src/server");
|
|
66
|
-
Object.defineProperty(exports, "createServer", { enumerable: true, get: function () { return server_1.createServer; } });
|
|
67
|
-
var create_state_adapter_1 = require("./src/state/create-state-adapter");
|
|
68
|
-
Object.defineProperty(exports, "createStateAdapter", { enumerable: true, get: function () { return create_state_adapter_1.createStateAdapter; } });
|
|
69
|
-
var step_handlers_1 = require("./src/step-handlers");
|
|
70
|
-
Object.defineProperty(exports, "createStepHandlers", { enumerable: true, get: function () { return step_handlers_1.createStepHandlers; } });
|
|
71
|
-
__exportStar(require("./src/types"), exports);
|
|
72
|
-
__exportStar(require("./src/types/schema.types"), exports);
|
package/dist/jest.config.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jest.config.d.ts","sourceRoot":"","sources":["../jest.config.js"],"names":[],"mappings":""}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CronAdapter, CronLock, CronLockInfo } from '../../interfaces/cron-adapter.interface';
|
|
2
|
-
export declare class InMemoryCronAdapter implements CronAdapter {
|
|
3
|
-
private locks;
|
|
4
|
-
private instanceId;
|
|
5
|
-
constructor();
|
|
6
|
-
acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
|
|
7
|
-
releaseLock(lock: CronLock): Promise<void>;
|
|
8
|
-
renewLock(lock: CronLock, ttl: number): Promise<boolean>;
|
|
9
|
-
isHealthy(): Promise<boolean>;
|
|
10
|
-
shutdown(): Promise<void>;
|
|
11
|
-
getActiveLocks(): Promise<CronLockInfo[]>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=in-memory-cron-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-cron-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAA;AAElG,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,UAAU,CAAQ;;IAMpB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAcnE,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUxD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAI7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,cAAc,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAQhD"}
|
|
@@ -1,53 +0,0 @@
|
|
|
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.InMemoryCronAdapter = void 0;
|
|
7
|
-
const os_1 = __importDefault(require("os"));
|
|
8
|
-
const uuid_1 = require("uuid");
|
|
9
|
-
class InMemoryCronAdapter {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.locks = new Map();
|
|
12
|
-
this.instanceId = `${os_1.default.hostname()}-${(0, uuid_1.v4)()}`;
|
|
13
|
-
}
|
|
14
|
-
async acquireLock(jobName, ttl) {
|
|
15
|
-
const now = Date.now();
|
|
16
|
-
const lock = {
|
|
17
|
-
jobName,
|
|
18
|
-
lockId: (0, uuid_1.v4)(),
|
|
19
|
-
acquiredAt: now,
|
|
20
|
-
expiresAt: now + ttl,
|
|
21
|
-
instanceId: this.instanceId,
|
|
22
|
-
};
|
|
23
|
-
this.locks.set(jobName, lock);
|
|
24
|
-
return lock;
|
|
25
|
-
}
|
|
26
|
-
async releaseLock(lock) {
|
|
27
|
-
this.locks.delete(lock.jobName);
|
|
28
|
-
}
|
|
29
|
-
async renewLock(lock, ttl) {
|
|
30
|
-
const existingLock = this.locks.get(lock.jobName);
|
|
31
|
-
if (existingLock && existingLock.lockId === lock.lockId) {
|
|
32
|
-
const now = Date.now();
|
|
33
|
-
existingLock.expiresAt = now + ttl;
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
async isHealthy() {
|
|
39
|
-
return true;
|
|
40
|
-
}
|
|
41
|
-
async shutdown() {
|
|
42
|
-
this.locks.clear();
|
|
43
|
-
}
|
|
44
|
-
async getActiveLocks() {
|
|
45
|
-
return Array.from(this.locks.values()).map((lock) => ({
|
|
46
|
-
jobName: lock.jobName,
|
|
47
|
-
instanceId: lock.instanceId,
|
|
48
|
-
acquiredAt: lock.acquiredAt,
|
|
49
|
-
expiresAt: lock.expiresAt,
|
|
50
|
-
}));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
exports.InMemoryCronAdapter = InMemoryCronAdapter;
|