@motiadev/core 0.14.0-beta.165-285707 → 0.15.0-beta.165
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 +82 -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 -86
- 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
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { CronAdapter, CronAdapterConfig, CronLock, CronLockInfo } from "./src/adapters/interfaces/cron-adapter.interface.mjs";
|
|
2
|
+
import { InMemoryCronAdapter } from "./src/adapters/defaults/cron/in-memory-cron-adapter.mjs";
|
|
3
|
+
import { Logger } from "./src/logger.mjs";
|
|
4
|
+
import { Metric, ObservabilityAdapter, Tracer } from "./src/adapters/interfaces/observability-adapter.interface.mjs";
|
|
5
|
+
import { JsonSchema, JsonSchemaError, isAnyOf } from "./src/types/schema.types.mjs";
|
|
6
|
+
import { EventAdapter, SubscriptionHandle } from "./src/adapters/interfaces/event-adapter.interface.mjs";
|
|
7
|
+
import { StateAdapter, StateFilter, StateItem, StateItemsInput } from "./src/adapters/interfaces/state-adapter.interface.mjs";
|
|
8
|
+
import { BaseStreamItem, MotiaStream, StateStreamEvent, StateStreamEventChannel, Stream, StreamConfig, StreamSubscription } from "./src/types-stream.mjs";
|
|
9
|
+
import { StreamAdapter, StreamQueryFilter } from "./src/adapters/interfaces/stream-adapter.interface.mjs";
|
|
10
|
+
import { StreamAdapterManager } from "./src/adapters/interfaces/stream-adapter-manager.interface.mjs";
|
|
11
|
+
import { NoPrinter, Printer } from "./src/printer.mjs";
|
|
12
|
+
import { LockedData } from "./src/locked-data.mjs";
|
|
13
|
+
import { Motia, MotiaPluginContext, PLUGIN_FLOW_ID, PluginApiConfig, UnregisterMotiaPluginApi } from "./src/motia.mjs";
|
|
14
|
+
import { AdapterConfig, Config, MotiaPlugin, MotiaPluginBuilder, StreamAuthConfig, StreamAuthRequest, WorkbenchPlugin } from "./src/types/app-config-types.mjs";
|
|
15
|
+
import { 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 } from "./src/types.mjs";
|
|
16
|
+
import { QueueManager, QueueMetrics } from "./src/queue-manager.mjs";
|
|
17
|
+
import { InMemoryQueueEventAdapter } from "./src/adapters/defaults/event/in-memory-queue-event-adapter.mjs";
|
|
18
|
+
import { FileStateAdapter } from "./src/adapters/defaults/state/file-state-adapter.mjs";
|
|
19
|
+
import { MemoryStateAdapter } from "./src/adapters/defaults/state/memory-state-adapter.mjs";
|
|
20
|
+
import { FileStreamAdapter } from "./src/adapters/defaults/stream/file-stream-adapter.mjs";
|
|
21
|
+
import { FileStreamAdapterManager } from "./src/adapters/defaults/stream/file-stream-adapter-manager.mjs";
|
|
22
|
+
import { MemoryStreamAdapter } from "./src/adapters/defaults/stream/memory-stream-adapter.mjs";
|
|
23
|
+
import { MemoryStreamAdapterManager } from "./src/adapters/defaults/stream/memory-stream-adapter-manager.mjs";
|
|
24
|
+
import "./src/adapters/defaults/index.mjs";
|
|
25
|
+
import { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent } from "./src/analytics/utils.mjs";
|
|
26
|
+
import { config } from "./src/config.mjs";
|
|
27
|
+
import { CronManager, setupCronHandlers } from "./src/cron-handler.mjs";
|
|
28
|
+
import { getStepConfig, getStreamConfig } from "./src/get-step-config.mjs";
|
|
29
|
+
import { isApiStep, isCronStep, isEventStep, isNoopStep } from "./src/guards.mjs";
|
|
30
|
+
import { InfrastructureValidationError, InfrastructureValidationResult } from "./src/infrastructure-validator/types.mjs";
|
|
31
|
+
import { validateInfrastructureConfig } from "./src/infrastructure-validator/validations.mjs";
|
|
32
|
+
import "./src/infrastructure-validator/index.mjs";
|
|
33
|
+
import { createMermaidGenerator } from "./src/mermaid-generator.mjs";
|
|
34
|
+
import { NoTracer } from "./src/observability/no-tracer.mjs";
|
|
35
|
+
import { MotiaEventManager, createStepHandlers } from "./src/step-handlers.mjs";
|
|
36
|
+
import { MotiaServer, createServer } from "./src/server.mjs";
|
|
37
|
+
import { createStateAdapter } from "./src/state/create-state-adapter.mjs";
|
|
38
|
+
export { type AdapterConfig, ApiMiddleware, ApiRequest, ApiResponse, ApiRouteConfig, ApiRouteHandler, ApiRouteMethod, type BaseStreamItem, type Config, type CronAdapter, type CronAdapterConfig, type CronConfig, CronHandler, type CronLock, type CronLockInfo, type CronManager, InMemoryCronAdapter as DefaultCronAdapter, InMemoryQueueEventAdapter as DefaultQueueEventAdapter, Emit, EmitData, Emitter, Event, type EventAdapter, EventConfig, EventHandler, FileStateAdapter, FileStreamAdapter, FileStreamAdapterManager, Flow, FlowContext, FlowContextStateStreams, Handler, HandlerConfig, Handlers, InfrastructureConfig, type InfrastructureValidationError, type InfrastructureValidationResult, InternalStateManager, JsonSchema, JsonSchemaError, LockedData, Logger, MemoryStateAdapter, MemoryStreamAdapter, MemoryStreamAdapterManager, type Metric, type Motia, type MotiaEventManager, MotiaPlugin, MotiaPluginBuilder, type MotiaPluginContext, type MotiaServer, type MotiaStream, NoPrinter, NoTracer, NoopConfig, type ObservabilityAdapter, PLUGIN_FLOW_ID, type PluginApiConfig, PluginStep, Printer, QueryParam, QueueConfig, QueueManager, type QueueMetrics, type StateAdapter, type StateFilter, type StateItem, type StateItemsInput, type StateStreamEvent, type StateStreamEventChannel, Step, StepConfig, StepHandler, StepSchemaInput, type Stream, StreamAdapter, type StreamAdapterManager, StreamAuthConfig, type StreamAuthRequest, type StreamConfig, type StreamQueryFilter, type StreamSubscription, SubscribeConfig, type SubscriptionHandle, type Tracer, type UnregisterMotiaPluginApi, UnsubscribeConfig, WorkbenchPlugin, ZodInput, config, createMermaidGenerator, createServer, createStateAdapter, createStepHandlers, getProjectIdentifier, getProjectName, getStepConfig, getStreamConfig, getUserIdentifier, isAnalyticsEnabled, isAnyOf, isApiStep, isCronStep, isEventStep, isNoopStep, setupCronHandlers, trackEvent, validateInfrastructureConfig };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { InMemoryCronAdapter } from "./src/adapters/defaults/cron/in-memory-cron-adapter.mjs";
|
|
2
|
+
import { Logger } from "./src/logger.mjs";
|
|
3
|
+
import { QueueManager } from "./src/queue-manager.mjs";
|
|
4
|
+
import { InMemoryQueueEventAdapter } from "./src/adapters/defaults/event/in-memory-queue-event-adapter.mjs";
|
|
5
|
+
import { FileStateAdapter } from "./src/adapters/defaults/state/file-state-adapter.mjs";
|
|
6
|
+
import { MemoryStateAdapter } from "./src/adapters/defaults/state/memory-state-adapter.mjs";
|
|
7
|
+
import { StreamAdapter } from "./src/adapters/interfaces/stream-adapter.interface.mjs";
|
|
8
|
+
import { FileStreamAdapter } from "./src/adapters/defaults/stream/file-stream-adapter.mjs";
|
|
9
|
+
import { FileStreamAdapterManager } from "./src/adapters/defaults/stream/file-stream-adapter-manager.mjs";
|
|
10
|
+
import { MemoryStreamAdapter } from "./src/adapters/defaults/stream/memory-stream-adapter.mjs";
|
|
11
|
+
import { MemoryStreamAdapterManager } from "./src/adapters/defaults/stream/memory-stream-adapter-manager.mjs";
|
|
12
|
+
import "./src/adapters/defaults/index.mjs";
|
|
13
|
+
import { getProjectIdentifier, getProjectName, getUserIdentifier, isAnalyticsEnabled, trackEvent } from "./src/analytics/utils.mjs";
|
|
14
|
+
import { config } from "./src/config.mjs";
|
|
15
|
+
import { isApiStep, isCronStep, isEventStep, isNoopStep } from "./src/guards.mjs";
|
|
16
|
+
import { setupCronHandlers } from "./src/cron-handler.mjs";
|
|
17
|
+
import { getStepConfig, getStreamConfig } from "./src/get-step-config.mjs";
|
|
18
|
+
import { validateInfrastructureConfig } from "./src/infrastructure-validator/validations.mjs";
|
|
19
|
+
import "./src/infrastructure-validator/index.mjs";
|
|
20
|
+
import { PLUGIN_FLOW_ID } from "./src/motia.mjs";
|
|
21
|
+
import { JsonSchemaError, isAnyOf } from "./src/types/schema.types.mjs";
|
|
22
|
+
import { LockedData } from "./src/locked-data.mjs";
|
|
23
|
+
import { createMermaidGenerator } from "./src/mermaid-generator.mjs";
|
|
24
|
+
import { NoTracer } from "./src/observability/no-tracer.mjs";
|
|
25
|
+
import { NoPrinter, Printer } from "./src/printer.mjs";
|
|
26
|
+
import { createStepHandlers } from "./src/step-handlers.mjs";
|
|
27
|
+
import { createServer } from "./src/server.mjs";
|
|
28
|
+
import { createStateAdapter } from "./src/state/create-state-adapter.mjs";
|
|
29
|
+
|
|
30
|
+
export { InMemoryCronAdapter as DefaultCronAdapter, InMemoryQueueEventAdapter as DefaultQueueEventAdapter, FileStateAdapter, FileStreamAdapter, FileStreamAdapterManager, JsonSchemaError, LockedData, Logger, MemoryStateAdapter, MemoryStreamAdapter, MemoryStreamAdapterManager, NoPrinter, NoTracer, PLUGIN_FLOW_ID, Printer, QueueManager, StreamAdapter, config, createMermaidGenerator, createServer, createStateAdapter, createStepHandlers, getProjectIdentifier, getProjectName, getStepConfig, getStreamConfig, getUserIdentifier, isAnalyticsEnabled, isAnyOf, isApiStep, isCronStep, isEventStep, isNoopStep, setupCronHandlers, trackEvent, validateInfrastructureConfig };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CronAdapter, CronLock, CronLockInfo } from "../../interfaces/cron-adapter.interface.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/defaults/cron/in-memory-cron-adapter.d.ts
|
|
4
|
+
declare class InMemoryCronAdapter implements CronAdapter {
|
|
5
|
+
private locks;
|
|
6
|
+
private instanceId;
|
|
7
|
+
constructor();
|
|
8
|
+
acquireLock(jobName: string, ttl: number): Promise<CronLock | null>;
|
|
9
|
+
releaseLock(lock: CronLock): Promise<void>;
|
|
10
|
+
renewLock(lock: CronLock, ttl: number): Promise<boolean>;
|
|
11
|
+
isHealthy(): Promise<boolean>;
|
|
12
|
+
shutdown(): Promise<void>;
|
|
13
|
+
getActiveLocks(): Promise<CronLockInfo[]>;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { InMemoryCronAdapter };
|
|
17
|
+
//# sourceMappingURL=in-memory-cron-adapter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-cron-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"sourcesContent":[],"mappings":";;;cAIa,mBAAA,YAA+B;;EAA/B,QAAA,UAAA;EAQ8C,WAAA,CAAA;EAAR,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA,CAAQ,QAAR,GAAA,IAAA,CAAA;EAczB,WAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAW,OAAX,CAAA,IAAA,CAAA;EAAW,SAAA,CAAA,IAAA,EAIb,QAJa,EAAA,GAAA,EAAA,MAAA,CAAA,EAIW,OAJX,CAAA,OAAA,CAAA;EAIb,SAAA,CAAA,CAAA,EAUH,OAVG,CAAA,OAAA,CAAA;EAAwB,QAAA,CAAA,CAAA,EAc5B,OAd4B,CAAA,IAAA,CAAA;EAU3B,cAAA,CAAA,CAAA,EAQK,OARL,CAQa,YARb,EAAA,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import os from "os";
|
|
2
|
+
import { v4 } from "uuid";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/defaults/cron/in-memory-cron-adapter.ts
|
|
5
|
+
var InMemoryCronAdapter = class {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.locks = /* @__PURE__ */ new Map();
|
|
8
|
+
this.instanceId = `${os.hostname()}-${v4()}`;
|
|
9
|
+
}
|
|
10
|
+
async acquireLock(jobName, ttl) {
|
|
11
|
+
const now = Date.now();
|
|
12
|
+
const lock = {
|
|
13
|
+
jobName,
|
|
14
|
+
lockId: v4(),
|
|
15
|
+
acquiredAt: now,
|
|
16
|
+
expiresAt: now + ttl,
|
|
17
|
+
instanceId: this.instanceId
|
|
18
|
+
};
|
|
19
|
+
this.locks.set(jobName, lock);
|
|
20
|
+
return lock;
|
|
21
|
+
}
|
|
22
|
+
async releaseLock(lock) {
|
|
23
|
+
this.locks.delete(lock.jobName);
|
|
24
|
+
}
|
|
25
|
+
async renewLock(lock, ttl) {
|
|
26
|
+
const existingLock = this.locks.get(lock.jobName);
|
|
27
|
+
if (existingLock && existingLock.lockId === lock.lockId) {
|
|
28
|
+
existingLock.expiresAt = Date.now() + ttl;
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
async isHealthy() {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
async shutdown() {
|
|
37
|
+
this.locks.clear();
|
|
38
|
+
}
|
|
39
|
+
async getActiveLocks() {
|
|
40
|
+
return Array.from(this.locks.values()).map((lock) => ({
|
|
41
|
+
jobName: lock.jobName,
|
|
42
|
+
instanceId: lock.instanceId,
|
|
43
|
+
acquiredAt: lock.acquiredAt,
|
|
44
|
+
expiresAt: lock.expiresAt
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { InMemoryCronAdapter };
|
|
51
|
+
//# sourceMappingURL=in-memory-cron-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-cron-adapter.mjs","names":["uuidv4","lock: CronLock"],"sources":["../../../../../src/adapters/defaults/cron/in-memory-cron-adapter.ts"],"sourcesContent":["import os from 'os'\nimport { v4 as uuidv4 } from 'uuid'\nimport type { CronAdapter, CronLock, CronLockInfo } from '../../interfaces/cron-adapter.interface'\n\nexport class InMemoryCronAdapter implements CronAdapter {\n private locks: Map<string, CronLock> = new Map()\n private instanceId: string\n\n constructor() {\n this.instanceId = `${os.hostname()}-${uuidv4()}`\n }\n\n async acquireLock(jobName: string, ttl: number): Promise<CronLock | null> {\n const now = Date.now()\n const lock: CronLock = {\n jobName,\n lockId: uuidv4(),\n acquiredAt: now,\n expiresAt: now + ttl,\n instanceId: this.instanceId,\n }\n\n this.locks.set(jobName, lock)\n return lock\n }\n\n async releaseLock(lock: CronLock): Promise<void> {\n this.locks.delete(lock.jobName)\n }\n\n async renewLock(lock: CronLock, ttl: number): Promise<boolean> {\n const existingLock = this.locks.get(lock.jobName)\n if (existingLock && existingLock.lockId === lock.lockId) {\n const now = Date.now()\n existingLock.expiresAt = now + ttl\n return true\n }\n return true\n }\n\n async isHealthy(): Promise<boolean> {\n return true\n }\n\n async shutdown(): Promise<void> {\n this.locks.clear()\n }\n\n async getActiveLocks(): Promise<CronLockInfo[]> {\n return Array.from(this.locks.values()).map((lock) => ({\n jobName: lock.jobName,\n instanceId: lock.instanceId,\n acquiredAt: lock.acquiredAt,\n expiresAt: lock.expiresAt,\n }))\n }\n}\n"],"mappings":";;;;AAIA,IAAa,sBAAb,MAAwD;CAItD,cAAc;+BAHyB,IAAI,KAAK;AAI9C,OAAK,aAAa,GAAG,GAAG,UAAU,CAAC,GAAGA,IAAQ;;CAGhD,MAAM,YAAY,SAAiB,KAAuC;EACxE,MAAM,MAAM,KAAK,KAAK;EACtB,MAAMC,OAAiB;GACrB;GACA,QAAQD,IAAQ;GAChB,YAAY;GACZ,WAAW,MAAM;GACjB,YAAY,KAAK;GAClB;AAED,OAAK,MAAM,IAAI,SAAS,KAAK;AAC7B,SAAO;;CAGT,MAAM,YAAY,MAA+B;AAC/C,OAAK,MAAM,OAAO,KAAK,QAAQ;;CAGjC,MAAM,UAAU,MAAgB,KAA+B;EAC7D,MAAM,eAAe,KAAK,MAAM,IAAI,KAAK,QAAQ;AACjD,MAAI,gBAAgB,aAAa,WAAW,KAAK,QAAQ;AAEvD,gBAAa,YADD,KAAK,KAAK,GACS;AAC/B,UAAO;;AAET,SAAO;;CAGT,MAAM,YAA8B;AAClC,SAAO;;CAGT,MAAM,WAA0B;AAC9B,OAAK,MAAM,OAAO;;CAGpB,MAAM,iBAA0C;AAC9C,SAAO,MAAM,KAAK,KAAK,MAAM,QAAQ,CAAC,CAAC,KAAK,UAAU;GACpD,SAAS,KAAK;GACd,YAAY,KAAK;GACjB,YAAY,KAAK;GACjB,WAAW,KAAK;GACjB,EAAE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventAdapter, SubscriptionHandle } from "../../interfaces/event-adapter.interface.mjs";
|
|
2
|
+
import { Event, QueueConfig } from "../../../types.mjs";
|
|
3
|
+
import { QueueMetrics } from "../../../queue-manager.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts
|
|
6
|
+
declare class InMemoryQueueEventAdapter implements EventAdapter {
|
|
7
|
+
private queueManager;
|
|
8
|
+
private subscriptions;
|
|
9
|
+
emit<TData>(event: Event<TData>): Promise<void>;
|
|
10
|
+
subscribe<TData>(topic: string, stepName: string, handler: (event: Event<TData>) => void | Promise<void>, queueConfig?: QueueConfig): Promise<SubscriptionHandle>;
|
|
11
|
+
unsubscribe(handle: SubscriptionHandle): Promise<void>;
|
|
12
|
+
shutdown(): Promise<void>;
|
|
13
|
+
getSubscriptionCount(topic: string): Promise<number>;
|
|
14
|
+
listTopics(): Promise<string[]>;
|
|
15
|
+
getAllMetrics(): Record<string, QueueMetrics>;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { InMemoryQueueEventAdapter };
|
|
19
|
+
//# sourceMappingURL=in-memory-queue-event-adapter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-queue-event-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/event/in-memory-queue-event-adapter.ts"],"sourcesContent":[],"mappings":";;;;;cAMa,yBAAA,YAAqC;;EAArC,QAAA,aAAA;EAKoB,IAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAN,KAAM,CAAA,KAAA,CAAA,CAAA,EAAS,OAAT,CAAA,IAAA,CAAA;EAAN,SAAA,CAAA,KAAA,CAAA,CAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,CAAA,KAAA,EAON,KAPM,CAOA,KAPA,CAAA,EAAA,GAAA,IAAA,GAOkB,OAPlB,CAAA,IAAA,CAAA,EAAA,WAAA,CAAA,EAQT,WARS,CAAA,EAStB,OATsB,CASd,kBATc,CAAA;EAAe,WAAA,CAAA,MAAA,EA4Bd,kBA5Bc,CAAA,EA4BO,OA5BP,CAAA,IAAA,CAAA;EAOf,QAAA,CAAA,CAAA,EA6BP,OA7BO,CAAA,IAAA,CAAA;EAAN,oBAAA,CAAA,KAAA,EAAA,MAAA,CAAA,EAiCwB,OAjCxB,CAAA,MAAA,CAAA;EAAwB,UAAA,CAAA,CAAA,EAqCvB,OArCuB,CAAA,MAAA,EAAA,CAAA;EAC3B,aAAA,CAAA,CAAA,EAwCC,MAxCD,CAAA,MAAA,EAwCgB,YAxChB,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { DEFAULT_QUEUE_CONFIG } from "../../../infrastructure-validator/defaults.mjs";
|
|
2
|
+
import { QueueManager } from "../../../queue-manager.mjs";
|
|
3
|
+
import { v4 } from "uuid";
|
|
4
|
+
|
|
5
|
+
//#region src/adapters/defaults/event/in-memory-queue-event-adapter.ts
|
|
6
|
+
var InMemoryQueueEventAdapter = class {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.queueManager = new QueueManager();
|
|
9
|
+
this.subscriptions = /* @__PURE__ */ new Map();
|
|
10
|
+
}
|
|
11
|
+
async emit(event) {
|
|
12
|
+
await this.queueManager.enqueue(event.topic, event, event.messageGroupId);
|
|
13
|
+
}
|
|
14
|
+
async subscribe(topic, stepName, handler, queueConfig) {
|
|
15
|
+
const id = v4();
|
|
16
|
+
this.subscriptions.set(id, {
|
|
17
|
+
topic,
|
|
18
|
+
handler
|
|
19
|
+
});
|
|
20
|
+
const config = queueConfig || DEFAULT_QUEUE_CONFIG;
|
|
21
|
+
this.queueManager.subscribe(topic, handler, config, id);
|
|
22
|
+
const handle = {
|
|
23
|
+
topic,
|
|
24
|
+
id,
|
|
25
|
+
unsubscribe: async () => {
|
|
26
|
+
await this.unsubscribe(handle);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
return handle;
|
|
30
|
+
}
|
|
31
|
+
async unsubscribe(handle) {
|
|
32
|
+
const subscription = this.subscriptions.get(handle.id);
|
|
33
|
+
if (subscription) {
|
|
34
|
+
this.queueManager.unsubscribe(handle.topic, subscription.handler);
|
|
35
|
+
this.subscriptions.delete(handle.id);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async shutdown() {
|
|
39
|
+
this.subscriptions.clear();
|
|
40
|
+
}
|
|
41
|
+
async getSubscriptionCount(topic) {
|
|
42
|
+
return Array.from(this.subscriptions.values()).filter((sub) => sub.topic === topic).length;
|
|
43
|
+
}
|
|
44
|
+
async listTopics() {
|
|
45
|
+
return Array.from(new Set(Array.from(this.subscriptions.values()).map((sub) => sub.topic)));
|
|
46
|
+
}
|
|
47
|
+
getAllMetrics() {
|
|
48
|
+
return this.queueManager.getAllMetrics();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
export { InMemoryQueueEventAdapter };
|
|
54
|
+
//# sourceMappingURL=in-memory-queue-event-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-queue-event-adapter.mjs","names":["uuidv4","handle: SubscriptionHandle"],"sources":["../../../../../src/adapters/defaults/event/in-memory-queue-event-adapter.ts"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\nimport { DEFAULT_QUEUE_CONFIG } from '../../../infrastructure-validator/defaults'\nimport { QueueManager, type QueueMetrics } from '../../../queue-manager'\nimport type { Event, QueueConfig } from '../../../types'\nimport type { EventAdapter, SubscriptionHandle } from '../../interfaces/event-adapter.interface'\n\nexport class InMemoryQueueEventAdapter implements EventAdapter {\n private queueManager: QueueManager = new QueueManager()\n private subscriptions: Map<string, { topic: string; handler: (event: Event<any>) => void | Promise<void> }> =\n new Map()\n\n async emit<TData>(event: Event<TData>): Promise<void> {\n await this.queueManager.enqueue(event.topic, event, event.messageGroupId)\n }\n\n async subscribe<TData>(\n topic: string,\n stepName: string,\n handler: (event: Event<TData>) => void | Promise<void>,\n queueConfig?: QueueConfig,\n ): Promise<SubscriptionHandle> {\n const id = uuidv4()\n\n this.subscriptions.set(id, { topic, handler: handler as (event: Event<any>) => void | Promise<void> })\n\n const config = queueConfig || DEFAULT_QUEUE_CONFIG\n this.queueManager.subscribe(topic, handler as any, config, id)\n\n const handle: SubscriptionHandle = {\n topic,\n id,\n unsubscribe: async () => {\n await this.unsubscribe(handle)\n },\n }\n\n return handle\n }\n\n async unsubscribe(handle: SubscriptionHandle): Promise<void> {\n const subscription = this.subscriptions.get(handle.id)\n if (subscription) {\n this.queueManager.unsubscribe(handle.topic, subscription.handler as any)\n this.subscriptions.delete(handle.id)\n }\n }\n\n async shutdown(): Promise<void> {\n this.subscriptions.clear()\n }\n\n async getSubscriptionCount(topic: string): Promise<number> {\n return Array.from(this.subscriptions.values()).filter((sub) => sub.topic === topic).length\n }\n\n async listTopics(): Promise<string[]> {\n return Array.from(new Set(Array.from(this.subscriptions.values()).map((sub) => sub.topic)))\n }\n\n getAllMetrics(): Record<string, QueueMetrics> {\n return this.queueManager.getAllMetrics()\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,4BAAb,MAA+D;;sBACxB,IAAI,cAAc;uCAErD,IAAI,KAAK;;CAEX,MAAM,KAAY,OAAoC;AACpD,QAAM,KAAK,aAAa,QAAQ,MAAM,OAAO,OAAO,MAAM,eAAe;;CAG3E,MAAM,UACJ,OACA,UACA,SACA,aAC6B;EAC7B,MAAM,KAAKA,IAAQ;AAEnB,OAAK,cAAc,IAAI,IAAI;GAAE;GAAgB;GAAwD,CAAC;EAEtG,MAAM,SAAS,eAAe;AAC9B,OAAK,aAAa,UAAU,OAAO,SAAgB,QAAQ,GAAG;EAE9D,MAAMC,SAA6B;GACjC;GACA;GACA,aAAa,YAAY;AACvB,UAAM,KAAK,YAAY,OAAO;;GAEjC;AAED,SAAO;;CAGT,MAAM,YAAY,QAA2C;EAC3D,MAAM,eAAe,KAAK,cAAc,IAAI,OAAO,GAAG;AACtD,MAAI,cAAc;AAChB,QAAK,aAAa,YAAY,OAAO,OAAO,aAAa,QAAe;AACxE,QAAK,cAAc,OAAO,OAAO,GAAG;;;CAIxC,MAAM,WAA0B;AAC9B,OAAK,cAAc,OAAO;;CAG5B,MAAM,qBAAqB,OAAgC;AACzD,SAAO,MAAM,KAAK,KAAK,cAAc,QAAQ,CAAC,CAAC,QAAQ,QAAQ,IAAI,UAAU,MAAM,CAAC;;CAGtF,MAAM,aAAgC;AACpC,SAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,cAAc,QAAQ,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC;;CAG7F,gBAA8C;AAC5C,SAAO,KAAK,aAAa,eAAe"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InMemoryCronAdapter } from "./cron/in-memory-cron-adapter.mjs";
|
|
2
|
+
import { InMemoryQueueEventAdapter } from "./event/in-memory-queue-event-adapter.mjs";
|
|
3
|
+
import { FileAdapterConfig, FileStateAdapter } from "./state/file-state-adapter.mjs";
|
|
4
|
+
import { MemoryStateAdapter } from "./state/memory-state-adapter.mjs";
|
|
5
|
+
import { FileStreamAdapter } from "./stream/file-stream-adapter.mjs";
|
|
6
|
+
import { FileStreamAdapterManager } from "./stream/file-stream-adapter-manager.mjs";
|
|
7
|
+
import { MemoryStreamAdapter } from "./stream/memory-stream-adapter.mjs";
|
|
8
|
+
import { MemoryStreamAdapterManager } from "./stream/memory-stream-adapter-manager.mjs";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InMemoryCronAdapter } from "./cron/in-memory-cron-adapter.mjs";
|
|
2
|
+
import { InMemoryQueueEventAdapter } from "./event/in-memory-queue-event-adapter.mjs";
|
|
3
|
+
import { FileStateAdapter } from "./state/file-state-adapter.mjs";
|
|
4
|
+
import { MemoryStateAdapter } from "./state/memory-state-adapter.mjs";
|
|
5
|
+
import { FileStreamAdapter } from "./stream/file-stream-adapter.mjs";
|
|
6
|
+
import { FileStreamAdapterManager } from "./stream/file-stream-adapter-manager.mjs";
|
|
7
|
+
import { MemoryStreamAdapter } from "./stream/memory-stream-adapter.mjs";
|
|
8
|
+
import { MemoryStreamAdapterManager } from "./stream/memory-stream-adapter-manager.mjs";
|
|
9
|
+
|
|
10
|
+
export { };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StateAdapter, StateItem, StateItemsInput } from "../../interfaces/state-adapter.interface.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/defaults/state/file-state-adapter.d.ts
|
|
4
|
+
type FileAdapterConfig = {
|
|
5
|
+
adapter: 'default';
|
|
6
|
+
filePath: string;
|
|
7
|
+
};
|
|
8
|
+
declare class FileStateAdapter implements StateAdapter {
|
|
9
|
+
private readonly filePath;
|
|
10
|
+
constructor(config: FileAdapterConfig);
|
|
11
|
+
init(): void;
|
|
12
|
+
getGroup<T>(groupId: string): Promise<T[]>;
|
|
13
|
+
get<T>(traceId: string, key: string): Promise<T | null>;
|
|
14
|
+
set<T>(traceId: string, key: string, value: T): Promise<T>;
|
|
15
|
+
delete<T>(traceId: string, key: string): Promise<T | null>;
|
|
16
|
+
clear(traceId: string): Promise<void>;
|
|
17
|
+
keys(traceId: string): Promise<string[]>;
|
|
18
|
+
traceIds(): Promise<string[]>;
|
|
19
|
+
cleanup(): Promise<void>;
|
|
20
|
+
items(input: StateItemsInput): Promise<StateItem[]>;
|
|
21
|
+
private _makeKey;
|
|
22
|
+
private _readFile;
|
|
23
|
+
private _writeFile;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { FileAdapterConfig, FileStateAdapter };
|
|
27
|
+
//# sourceMappingURL=file-state-adapter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-state-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/state/file-state-adapter.ts"],"sourcesContent":[],"mappings":";;;KAKY,iBAAA;;EAAA,QAAA,EAAA,MAAA;AAKZ,CAAA;AAGsB,cAHT,gBAAA,YAA4B,YAGnB,CAAA;EAoBwB,iBAAA,QAAA;EAAR,WAAA,CAAA,MAAA,EApBhB,iBAoBgB;EAQgB,IAAA,CAAA,CAAA,EAAA,IAAA;EAAR,QAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EARR,OAQQ,CARA,CAQA,EAAA,CAAA;EAOM,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAPN,OAOM,CAPE,CAOF,GAAA,IAAA,CAAA;EAAC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,KAAA,EAAD,CAAC,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAWJ,OAXI,CAWI,CAXJ,GAAA,IAAA,CAAA;EAWI,KAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAa5B,OAb4B,CAAA,IAAA,CAAA;EAAR,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EA0BrB,OA1BqB,CAAA,MAAA,EAAA,CAAA;EAapB,QAAA,CAAA,CAAA,EAoBb,OApBa,CAAA,MAAA,EAAA,CAAA;EAaD,OAAA,CAAA,CAAA,EAgBb,OAhBa,CAAA,IAAA,CAAA;EAOZ,KAAA,CAAA,KAAA,EAWK,eAXL,CAAA,EAWuB,OAXvB,CAW+B,SAX/B,EAAA,CAAA;EASD,QAAA,QAAA;EAEM,QAAA,SAAA;EAA0B,QAAA,UAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { filterItem, inferType } from "./utils.mjs";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
import * as path$1 from "path";
|
|
4
|
+
|
|
5
|
+
//#region src/adapters/defaults/state/file-state-adapter.ts
|
|
6
|
+
var FileStateAdapter = class {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.filePath = path$1.join(config.filePath, "motia.state.json");
|
|
9
|
+
this.init();
|
|
10
|
+
}
|
|
11
|
+
init() {
|
|
12
|
+
const dir = this.filePath.replace("motia.state.json", "");
|
|
13
|
+
try {
|
|
14
|
+
fs.realpathSync(dir);
|
|
15
|
+
} catch {
|
|
16
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
fs.readFileSync(this.filePath, "utf-8");
|
|
20
|
+
} catch {
|
|
21
|
+
fs.writeFileSync(this.filePath, JSON.stringify({}), "utf-8");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async getGroup(groupId) {
|
|
25
|
+
const data = this._readFile();
|
|
26
|
+
return Object.entries(data).filter(([key]) => key.startsWith(groupId)).map(([, value]) => JSON.parse(value));
|
|
27
|
+
}
|
|
28
|
+
async get(traceId, key) {
|
|
29
|
+
const data = this._readFile();
|
|
30
|
+
const fullKey = this._makeKey(traceId, key);
|
|
31
|
+
return data[fullKey] ? JSON.parse(data[fullKey]) : null;
|
|
32
|
+
}
|
|
33
|
+
async set(traceId, key, value) {
|
|
34
|
+
const data = this._readFile();
|
|
35
|
+
const fullKey = this._makeKey(traceId, key);
|
|
36
|
+
data[fullKey] = JSON.stringify(value);
|
|
37
|
+
this._writeFile(data);
|
|
38
|
+
return value;
|
|
39
|
+
}
|
|
40
|
+
async delete(traceId, key) {
|
|
41
|
+
const data = this._readFile();
|
|
42
|
+
const fullKey = this._makeKey(traceId, key);
|
|
43
|
+
const value = await this.get(traceId, key);
|
|
44
|
+
if (value) {
|
|
45
|
+
delete data[fullKey];
|
|
46
|
+
this._writeFile(data);
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
async clear(traceId) {
|
|
51
|
+
const data = this._readFile();
|
|
52
|
+
const pattern = this._makeKey(traceId, "");
|
|
53
|
+
for (const key in data) if (key.startsWith(pattern)) delete data[key];
|
|
54
|
+
this._writeFile(data);
|
|
55
|
+
}
|
|
56
|
+
async keys(traceId) {
|
|
57
|
+
const data = this._readFile();
|
|
58
|
+
return Object.keys(data).filter((key) => key.startsWith(this._makeKey(traceId, ""))).map((key) => key.replace(this._makeKey(traceId, ""), ""));
|
|
59
|
+
}
|
|
60
|
+
async traceIds() {
|
|
61
|
+
const data = this._readFile();
|
|
62
|
+
const traceIds = /* @__PURE__ */ new Set();
|
|
63
|
+
Object.keys(data).forEach((key) => traceIds.add(key.split(":")[0]));
|
|
64
|
+
return Array.from(traceIds);
|
|
65
|
+
}
|
|
66
|
+
async cleanup() {}
|
|
67
|
+
async items(input) {
|
|
68
|
+
const data = this._readFile();
|
|
69
|
+
return Object.entries(data).map(([key, value]) => {
|
|
70
|
+
const [groupId, ...keyParts] = key.split(":");
|
|
71
|
+
const itemKey = keyParts.join(":");
|
|
72
|
+
const itemValue = JSON.parse(value);
|
|
73
|
+
return {
|
|
74
|
+
groupId,
|
|
75
|
+
key: itemKey,
|
|
76
|
+
value: itemValue,
|
|
77
|
+
type: inferType(itemValue)
|
|
78
|
+
};
|
|
79
|
+
}).filter((item) => input.groupId ? item.groupId === input.groupId : true).filter((item) => input.filter ? filterItem(item, input.filter) : true);
|
|
80
|
+
}
|
|
81
|
+
_makeKey(traceId, key) {
|
|
82
|
+
return `${traceId}:${key}`;
|
|
83
|
+
}
|
|
84
|
+
_readFile() {
|
|
85
|
+
try {
|
|
86
|
+
const content = fs.readFileSync(this.filePath, "utf-8");
|
|
87
|
+
return JSON.parse(content);
|
|
88
|
+
} catch (error) {
|
|
89
|
+
this.init();
|
|
90
|
+
return {};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
_writeFile(data) {
|
|
94
|
+
try {
|
|
95
|
+
fs.writeFileSync(this.filePath, JSON.stringify(data, null, 2), "utf-8");
|
|
96
|
+
} catch (error) {
|
|
97
|
+
this.init();
|
|
98
|
+
fs.writeFileSync(this.filePath, JSON.stringify(data, null, 2), "utf-8");
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
export { FileStateAdapter };
|
|
105
|
+
//# sourceMappingURL=file-state-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-state-adapter.mjs","names":["path"],"sources":["../../../../../src/adapters/defaults/state/file-state-adapter.ts"],"sourcesContent":["import fs from 'fs'\nimport * as path from 'path'\nimport type { StateAdapter, StateItem, StateItemsInput } from '../../interfaces/state-adapter.interface'\nimport { filterItem, inferType } from './utils'\n\nexport type FileAdapterConfig = {\n adapter: 'default'\n filePath: string\n}\n\nexport class FileStateAdapter implements StateAdapter {\n private readonly filePath: string\n\n constructor(config: FileAdapterConfig) {\n this.filePath = path.join(config.filePath, 'motia.state.json')\n this.init()\n }\n\n init() {\n const dir = this.filePath.replace('motia.state.json', '')\n try {\n fs.realpathSync(dir)\n } catch {\n fs.mkdirSync(dir, { recursive: true })\n }\n\n try {\n fs.readFileSync(this.filePath, 'utf-8')\n } catch {\n fs.writeFileSync(this.filePath, JSON.stringify({}), 'utf-8')\n }\n }\n\n async getGroup<T>(groupId: string): Promise<T[]> {\n const data = this._readFile()\n\n return Object.entries(data)\n .filter(([key]) => key.startsWith(groupId))\n .map(([, value]) => JSON.parse(value) as T)\n }\n\n async get<T>(traceId: string, key: string): Promise<T | null> {\n const data = this._readFile()\n const fullKey = this._makeKey(traceId, key)\n\n return data[fullKey] ? (JSON.parse(data[fullKey]) as T) : null\n }\n\n async set<T>(traceId: string, key: string, value: T) {\n const data = this._readFile()\n const fullKey = this._makeKey(traceId, key)\n\n data[fullKey] = JSON.stringify(value)\n\n this._writeFile(data)\n\n return value\n }\n\n async delete<T>(traceId: string, key: string): Promise<T | null> {\n const data = this._readFile()\n const fullKey = this._makeKey(traceId, key)\n const value = await this.get<T>(traceId, key)\n\n if (value) {\n delete data[fullKey]\n this._writeFile(data)\n }\n\n return value\n }\n\n async clear(traceId: string) {\n const data = this._readFile()\n const pattern = this._makeKey(traceId, '')\n\n for (const key in data) {\n if (key.startsWith(pattern)) {\n delete data[key]\n }\n }\n\n this._writeFile(data)\n }\n\n async keys(traceId: string) {\n const data = this._readFile()\n return Object.keys(data)\n .filter((key) => key.startsWith(this._makeKey(traceId, '')))\n .map((key) => key.replace(this._makeKey(traceId, ''), ''))\n }\n\n async traceIds() {\n const data = this._readFile()\n const traceIds = new Set<string>()\n\n Object.keys(data).forEach((key) => traceIds.add(key.split(':')[0]))\n\n return Array.from(traceIds)\n }\n\n async cleanup() {}\n\n async items(input: StateItemsInput): Promise<StateItem[]> {\n const data = this._readFile()\n\n return Object.entries(data)\n .map(([key, value]) => {\n const [groupId, ...keyParts] = key.split(':')\n const itemKey = keyParts.join(':')\n const itemValue = JSON.parse(value)\n return { groupId, key: itemKey, value: itemValue, type: inferType(itemValue) }\n })\n .filter((item) => (input.groupId ? item.groupId === input.groupId : true))\n .filter((item) => (input.filter ? filterItem(item, input.filter) : true))\n }\n\n private _makeKey(traceId: string, key: string) {\n return `${traceId}:${key}`\n }\n\n private _readFile(): Record<string, string> {\n try {\n const content = fs.readFileSync(this.filePath, 'utf-8')\n return JSON.parse(content)\n } catch (error) {\n this.init()\n return {}\n }\n }\n\n private _writeFile(data: unknown) {\n try {\n fs.writeFileSync(this.filePath, JSON.stringify(data, null, 2), 'utf-8')\n } catch (error) {\n this.init()\n fs.writeFileSync(this.filePath, JSON.stringify(data, null, 2), 'utf-8')\n }\n }\n}\n"],"mappings":";;;;;AAUA,IAAa,mBAAb,MAAsD;CAGpD,YAAY,QAA2B;AACrC,OAAK,WAAWA,OAAK,KAAK,OAAO,UAAU,mBAAmB;AAC9D,OAAK,MAAM;;CAGb,OAAO;EACL,MAAM,MAAM,KAAK,SAAS,QAAQ,oBAAoB,GAAG;AACzD,MAAI;AACF,MAAG,aAAa,IAAI;UACd;AACN,MAAG,UAAU,KAAK,EAAE,WAAW,MAAM,CAAC;;AAGxC,MAAI;AACF,MAAG,aAAa,KAAK,UAAU,QAAQ;UACjC;AACN,MAAG,cAAc,KAAK,UAAU,KAAK,UAAU,EAAE,CAAC,EAAE,QAAQ;;;CAIhE,MAAM,SAAY,SAA+B;EAC/C,MAAM,OAAO,KAAK,WAAW;AAE7B,SAAO,OAAO,QAAQ,KAAK,CACxB,QAAQ,CAAC,SAAS,IAAI,WAAW,QAAQ,CAAC,CAC1C,KAAK,GAAG,WAAW,KAAK,MAAM,MAAM,CAAM;;CAG/C,MAAM,IAAO,SAAiB,KAAgC;EAC5D,MAAM,OAAO,KAAK,WAAW;EAC7B,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;AAE3C,SAAO,KAAK,WAAY,KAAK,MAAM,KAAK,SAAS,GAAS;;CAG5D,MAAM,IAAO,SAAiB,KAAa,OAAU;EACnD,MAAM,OAAO,KAAK,WAAW;EAC7B,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;AAE3C,OAAK,WAAW,KAAK,UAAU,MAAM;AAErC,OAAK,WAAW,KAAK;AAErB,SAAO;;CAGT,MAAM,OAAU,SAAiB,KAAgC;EAC/D,MAAM,OAAO,KAAK,WAAW;EAC7B,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;EAC3C,MAAM,QAAQ,MAAM,KAAK,IAAO,SAAS,IAAI;AAE7C,MAAI,OAAO;AACT,UAAO,KAAK;AACZ,QAAK,WAAW,KAAK;;AAGvB,SAAO;;CAGT,MAAM,MAAM,SAAiB;EAC3B,MAAM,OAAO,KAAK,WAAW;EAC7B,MAAM,UAAU,KAAK,SAAS,SAAS,GAAG;AAE1C,OAAK,MAAM,OAAO,KAChB,KAAI,IAAI,WAAW,QAAQ,CACzB,QAAO,KAAK;AAIhB,OAAK,WAAW,KAAK;;CAGvB,MAAM,KAAK,SAAiB;EAC1B,MAAM,OAAO,KAAK,WAAW;AAC7B,SAAO,OAAO,KAAK,KAAK,CACrB,QAAQ,QAAQ,IAAI,WAAW,KAAK,SAAS,SAAS,GAAG,CAAC,CAAC,CAC3D,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC;;CAG9D,MAAM,WAAW;EACf,MAAM,OAAO,KAAK,WAAW;EAC7B,MAAM,2BAAW,IAAI,KAAa;AAElC,SAAO,KAAK,KAAK,CAAC,SAAS,QAAQ,SAAS,IAAI,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC;AAEnE,SAAO,MAAM,KAAK,SAAS;;CAG7B,MAAM,UAAU;CAEhB,MAAM,MAAM,OAA8C;EACxD,MAAM,OAAO,KAAK,WAAW;AAE7B,SAAO,OAAO,QAAQ,KAAK,CACxB,KAAK,CAAC,KAAK,WAAW;GACrB,MAAM,CAAC,SAAS,GAAG,YAAY,IAAI,MAAM,IAAI;GAC7C,MAAM,UAAU,SAAS,KAAK,IAAI;GAClC,MAAM,YAAY,KAAK,MAAM,MAAM;AACnC,UAAO;IAAE;IAAS,KAAK;IAAS,OAAO;IAAW,MAAM,UAAU,UAAU;IAAE;IAC9E,CACD,QAAQ,SAAU,MAAM,UAAU,KAAK,YAAY,MAAM,UAAU,KAAM,CACzE,QAAQ,SAAU,MAAM,SAAS,WAAW,MAAM,MAAM,OAAO,GAAG,KAAM;;CAG7E,AAAQ,SAAS,SAAiB,KAAa;AAC7C,SAAO,GAAG,QAAQ,GAAG;;CAGvB,AAAQ,YAAoC;AAC1C,MAAI;GACF,MAAM,UAAU,GAAG,aAAa,KAAK,UAAU,QAAQ;AACvD,UAAO,KAAK,MAAM,QAAQ;WACnB,OAAO;AACd,QAAK,MAAM;AACX,UAAO,EAAE;;;CAIb,AAAQ,WAAW,MAAe;AAChC,MAAI;AACF,MAAG,cAAc,KAAK,UAAU,KAAK,UAAU,MAAM,MAAM,EAAE,EAAE,QAAQ;WAChE,OAAO;AACd,QAAK,MAAM;AACX,MAAG,cAAc,KAAK,UAAU,KAAK,UAAU,MAAM,MAAM,EAAE,EAAE,QAAQ"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { StateAdapter, StateItem, StateItemsInput } from "../../interfaces/state-adapter.interface.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/defaults/state/memory-state-adapter.d.ts
|
|
4
|
+
declare class MemoryStateAdapter implements StateAdapter {
|
|
5
|
+
private state;
|
|
6
|
+
constructor();
|
|
7
|
+
getGroup<T>(groupId: string): Promise<T[]>;
|
|
8
|
+
get<T>(traceId: string, key: string): Promise<T | null>;
|
|
9
|
+
set<T>(traceId: string, key: string, value: T): Promise<T>;
|
|
10
|
+
delete<T>(traceId: string, key: string): Promise<T | null>;
|
|
11
|
+
clear(traceId: string): Promise<void>;
|
|
12
|
+
keys(traceId: string): Promise<string[]>;
|
|
13
|
+
traceIds(): Promise<string[]>;
|
|
14
|
+
items(input: StateItemsInput): Promise<StateItem[]>;
|
|
15
|
+
cleanup(): Promise<void>;
|
|
16
|
+
private _makeKey;
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { MemoryStateAdapter };
|
|
20
|
+
//# sourceMappingURL=memory-state-adapter.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-state-adapter.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/state/memory-state-adapter.ts"],"sourcesContent":[],"mappings":";;;cAGa,kBAAA,YAA8B;;EAA9B,WAAA,CAAA;EAOiC,QAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,CAAA,EAAA,CAAA;EAAR,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAMQ,OANR,CAMgB,CANhB,GAAA,IAAA,CAAA;EAMgB,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,EAAA,KAAA,EAMF,CANE,CAAA,EAMD,OANC,CAMD,CANC,CAAA;EAAR,MAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,EAAA,MAAA,CAAA,EAcG,OAdH,CAcW,CAdX,GAAA,IAAA,CAAA;EAMM,KAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EAmBvB,OAnBuB,CAAA,IAAA,CAAA;EAAC,IAAA,CAAA,OAAA,EAAA,MAAA,CAAA,EA6BzB,OA7ByB,CAAA,MAAA,EAAA,CAAA;EAAA,QAAA,CAAA,CAAA,EAmCrC,OAnCqC,CAAA,MAAA,EAAA,CAAA;EAQI,KAAA,CAAA,KAAA,EAmCpC,eAnCoC,CAAA,EAmClB,OAnCkB,CAmCV,SAnCU,EAAA,CAAA;EAAR,OAAA,CAAA,CAAA,EAkDlC,OAlDkC,CAAA,IAAA,CAAA;EAWpB,QAAA,QAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { filterItem, inferType } from "./utils.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/defaults/state/memory-state-adapter.ts
|
|
4
|
+
var MemoryStateAdapter = class {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.state = {};
|
|
7
|
+
this.state = {};
|
|
8
|
+
}
|
|
9
|
+
async getGroup(groupId) {
|
|
10
|
+
return Object.entries(this.state).filter(([key]) => key.startsWith(groupId)).map(([, value]) => value);
|
|
11
|
+
}
|
|
12
|
+
async get(traceId, key) {
|
|
13
|
+
const fullKey = this._makeKey(traceId, key);
|
|
14
|
+
return this.state[fullKey] ? this.state[fullKey] : null;
|
|
15
|
+
}
|
|
16
|
+
async set(traceId, key, value) {
|
|
17
|
+
const fullKey = this._makeKey(traceId, key);
|
|
18
|
+
this.state[fullKey] = value;
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
async delete(traceId, key) {
|
|
22
|
+
const fullKey = this._makeKey(traceId, key);
|
|
23
|
+
const value = await this.get(traceId, key);
|
|
24
|
+
if (value) delete this.state[fullKey];
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
async clear(traceId) {
|
|
28
|
+
const pattern = this._makeKey(traceId, "");
|
|
29
|
+
for (const key in this.state) if (key.startsWith(pattern)) delete this.state[key];
|
|
30
|
+
}
|
|
31
|
+
async keys(traceId) {
|
|
32
|
+
return Object.keys(this.state).filter((key) => key.startsWith(this._makeKey(traceId, ""))).map((key) => key.replace(this._makeKey(traceId, ""), ""));
|
|
33
|
+
}
|
|
34
|
+
async traceIds() {
|
|
35
|
+
const traceIds = /* @__PURE__ */ new Set();
|
|
36
|
+
Object.keys(this.state).forEach((key) => traceIds.add(key.split(":")[0]));
|
|
37
|
+
return Array.from(traceIds);
|
|
38
|
+
}
|
|
39
|
+
async items(input) {
|
|
40
|
+
return Object.entries(this.state).map(([key, value]) => {
|
|
41
|
+
const [groupId, ...keyParts] = key.split(":");
|
|
42
|
+
return {
|
|
43
|
+
groupId,
|
|
44
|
+
key: keyParts.join(":"),
|
|
45
|
+
type: inferType(value),
|
|
46
|
+
value
|
|
47
|
+
};
|
|
48
|
+
}).filter((item) => input.groupId ? item.groupId === input.groupId : true).filter((item) => input.filter ? filterItem(item, input.filter) : true);
|
|
49
|
+
}
|
|
50
|
+
async cleanup() {}
|
|
51
|
+
_makeKey(traceId, key) {
|
|
52
|
+
return `${traceId}:${key}`;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { MemoryStateAdapter };
|
|
58
|
+
//# sourceMappingURL=memory-state-adapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-state-adapter.mjs","names":[],"sources":["../../../../../src/adapters/defaults/state/memory-state-adapter.ts"],"sourcesContent":["import type { StateAdapter, StateItem, StateItemsInput } from '../../interfaces/state-adapter.interface'\nimport { filterItem, inferType } from './utils'\n\nexport class MemoryStateAdapter implements StateAdapter {\n private state: Record<string, unknown> = {}\n\n constructor() {\n this.state = {}\n }\n\n async getGroup<T>(groupId: string): Promise<T[]> {\n return Object.entries(this.state)\n .filter(([key]) => key.startsWith(groupId))\n .map(([, value]) => value as T)\n }\n\n async get<T>(traceId: string, key: string): Promise<T | null> {\n const fullKey = this._makeKey(traceId, key)\n\n return this.state[fullKey] ? (this.state[fullKey] as T) : null\n }\n\n async set<T>(traceId: string, key: string, value: T) {\n const fullKey = this._makeKey(traceId, key)\n\n this.state[fullKey] = value\n\n return value\n }\n\n async delete<T>(traceId: string, key: string): Promise<T | null> {\n const fullKey = this._makeKey(traceId, key)\n const value = await this.get<T>(traceId, key)\n\n if (value) {\n delete this.state[fullKey]\n }\n\n return value\n }\n\n async clear(traceId: string) {\n const pattern = this._makeKey(traceId, '')\n\n for (const key in this.state) {\n if (key.startsWith(pattern)) {\n delete this.state[key]\n }\n }\n }\n\n async keys(traceId: string) {\n return Object.keys(this.state)\n .filter((key) => key.startsWith(this._makeKey(traceId, '')))\n .map((key) => key.replace(this._makeKey(traceId, ''), ''))\n }\n\n async traceIds() {\n const traceIds = new Set<string>()\n\n Object.keys(this.state).forEach((key) => traceIds.add(key.split(':')[0]))\n\n return Array.from(traceIds)\n }\n\n async items(input: StateItemsInput): Promise<StateItem[]> {\n return Object.entries(this.state)\n .map(([key, value]) => {\n const [groupId, ...keyParts] = key.split(':')\n return {\n groupId,\n key: keyParts.join(':'),\n type: inferType(value),\n value: value as StateItem['value'],\n }\n })\n .filter((item) => (input.groupId ? item.groupId === input.groupId : true))\n .filter((item) => (input.filter ? filterItem(item, input.filter) : true))\n }\n\n async cleanup() {}\n\n private _makeKey(traceId: string, key: string) {\n return `${traceId}:${key}`\n }\n}\n"],"mappings":";;;AAGA,IAAa,qBAAb,MAAwD;CAGtD,cAAc;eAF2B,EAAE;AAGzC,OAAK,QAAQ,EAAE;;CAGjB,MAAM,SAAY,SAA+B;AAC/C,SAAO,OAAO,QAAQ,KAAK,MAAM,CAC9B,QAAQ,CAAC,SAAS,IAAI,WAAW,QAAQ,CAAC,CAC1C,KAAK,GAAG,WAAW,MAAW;;CAGnC,MAAM,IAAO,SAAiB,KAAgC;EAC5D,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;AAE3C,SAAO,KAAK,MAAM,WAAY,KAAK,MAAM,WAAiB;;CAG5D,MAAM,IAAO,SAAiB,KAAa,OAAU;EACnD,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;AAE3C,OAAK,MAAM,WAAW;AAEtB,SAAO;;CAGT,MAAM,OAAU,SAAiB,KAAgC;EAC/D,MAAM,UAAU,KAAK,SAAS,SAAS,IAAI;EAC3C,MAAM,QAAQ,MAAM,KAAK,IAAO,SAAS,IAAI;AAE7C,MAAI,MACF,QAAO,KAAK,MAAM;AAGpB,SAAO;;CAGT,MAAM,MAAM,SAAiB;EAC3B,MAAM,UAAU,KAAK,SAAS,SAAS,GAAG;AAE1C,OAAK,MAAM,OAAO,KAAK,MACrB,KAAI,IAAI,WAAW,QAAQ,CACzB,QAAO,KAAK,MAAM;;CAKxB,MAAM,KAAK,SAAiB;AAC1B,SAAO,OAAO,KAAK,KAAK,MAAM,CAC3B,QAAQ,QAAQ,IAAI,WAAW,KAAK,SAAS,SAAS,GAAG,CAAC,CAAC,CAC3D,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS,SAAS,GAAG,EAAE,GAAG,CAAC;;CAG9D,MAAM,WAAW;EACf,MAAM,2BAAW,IAAI,KAAa;AAElC,SAAO,KAAK,KAAK,MAAM,CAAC,SAAS,QAAQ,SAAS,IAAI,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC;AAEzE,SAAO,MAAM,KAAK,SAAS;;CAG7B,MAAM,MAAM,OAA8C;AACxD,SAAO,OAAO,QAAQ,KAAK,MAAM,CAC9B,KAAK,CAAC,KAAK,WAAW;GACrB,MAAM,CAAC,SAAS,GAAG,YAAY,IAAI,MAAM,IAAI;AAC7C,UAAO;IACL;IACA,KAAK,SAAS,KAAK,IAAI;IACvB,MAAM,UAAU,MAAM;IACf;IACR;IACD,CACD,QAAQ,SAAU,MAAM,UAAU,KAAK,YAAY,MAAM,UAAU,KAAM,CACzE,QAAQ,SAAU,MAAM,SAAS,WAAW,MAAM,MAAM,OAAO,GAAG,KAAM;;CAG7E,MAAM,UAAU;CAEhB,AAAQ,SAAS,SAAiB,KAAa;AAC7C,SAAO,GAAG,QAAQ,GAAG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/adapters/defaults/state/utils.ts
|
|
2
|
+
const getNestedValue = (obj, path) => {
|
|
3
|
+
if (!obj || typeof obj !== "object") return void 0;
|
|
4
|
+
return obj[path];
|
|
5
|
+
};
|
|
6
|
+
const inferType = (value) => {
|
|
7
|
+
if (typeof value === "string") return "string";
|
|
8
|
+
else if (typeof value === "number") return "number";
|
|
9
|
+
else if (typeof value === "boolean") return "boolean";
|
|
10
|
+
else if (Array.isArray(value)) return "array";
|
|
11
|
+
else if (typeof value === "object" && value !== null) return "object";
|
|
12
|
+
return "null";
|
|
13
|
+
};
|
|
14
|
+
const filterItem = (item, filters) => {
|
|
15
|
+
const compare = (value, operation, filterValue) => {
|
|
16
|
+
switch (operation) {
|
|
17
|
+
case "eq": return value === filterValue;
|
|
18
|
+
case "neq": return value !== filterValue;
|
|
19
|
+
case "gt": return value && value > filterValue;
|
|
20
|
+
case "gte": return value && value >= filterValue;
|
|
21
|
+
case "lt": return value && value < filterValue;
|
|
22
|
+
case "lte": return value && value <= filterValue;
|
|
23
|
+
case "contains": return value && value.includes(filterValue);
|
|
24
|
+
case "notContains": return !value || !value.includes(filterValue);
|
|
25
|
+
case "startsWith": return value && value.startsWith(filterValue);
|
|
26
|
+
case "endsWith": return value && value.endsWith(filterValue);
|
|
27
|
+
case "isNotNull": return value !== null && value !== void 0;
|
|
28
|
+
case "isNull": return value === null || value === void 0;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return filters.every((filter) => {
|
|
32
|
+
const valueFromKey = getNestedValue(item.value, filter.valueKey);
|
|
33
|
+
if (filter.valueKey === "key") return compare(item.key, filter.operation, filter.value) || compare(valueFromKey, filter.operation, filter.value);
|
|
34
|
+
return compare(valueFromKey, filter.operation, filter.value);
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
//#endregion
|
|
39
|
+
export { filterItem, inferType };
|
|
40
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../../../src/adapters/defaults/state/utils.ts"],"sourcesContent":["import type { StateFilter, StateItem } from '../../interfaces/state-adapter.interface'\n\nconst getNestedValue = (obj: StateItem['value'], path: string): string | undefined => {\n if (!obj || typeof obj !== 'object') return undefined\n\n const mappedObj = obj as Record<string, string>\n\n return mappedObj[path]\n}\n\nexport const inferType = (value: unknown): StateItem['type'] => {\n if (typeof value === 'string') {\n return 'string'\n } else if (typeof value === 'number') {\n return 'number'\n } else if (typeof value === 'boolean') {\n return 'boolean'\n } else if (Array.isArray(value)) {\n return 'array'\n } else if (typeof value === 'object' && value !== null) {\n return 'object'\n }\n return 'null'\n}\n\nexport const filterItem = (item: StateItem, filters: StateFilter[]): boolean => {\n const compare = (value: string | null | undefined, operation: StateFilter['operation'], filterValue: string) => {\n switch (operation) {\n case 'eq':\n return value === filterValue\n case 'neq':\n return value !== filterValue\n case 'gt':\n return value && value > filterValue\n case 'gte':\n return value && value >= filterValue\n case 'lt':\n return value && value < filterValue\n case 'lte':\n return value && value <= filterValue\n case 'contains':\n return value && value.includes(filterValue)\n case 'notContains':\n return !value || !value.includes(filterValue)\n case 'startsWith':\n return value && value.startsWith(filterValue)\n case 'endsWith':\n return value && value.endsWith(filterValue)\n case 'isNotNull':\n return value !== null && value !== undefined\n case 'isNull':\n return value === null || value === undefined\n }\n }\n\n return filters.every((filter) => {\n const valueFromKey = getNestedValue(item.value, filter.valueKey)\n\n if (filter.valueKey === 'key') {\n return compare(item.key, filter.operation, filter.value) || compare(valueFromKey, filter.operation, filter.value)\n }\n\n return compare(valueFromKey, filter.operation, filter.value)\n })\n}\n"],"mappings":";AAEA,MAAM,kBAAkB,KAAyB,SAAqC;AACpF,KAAI,CAAC,OAAO,OAAO,QAAQ,SAAU,QAAO;AAI5C,QAFkB,IAED;;AAGnB,MAAa,aAAa,UAAsC;AAC9D,KAAI,OAAO,UAAU,SACnB,QAAO;UACE,OAAO,UAAU,SAC1B,QAAO;UACE,OAAO,UAAU,UAC1B,QAAO;UACE,MAAM,QAAQ,MAAM,CAC7B,QAAO;UACE,OAAO,UAAU,YAAY,UAAU,KAChD,QAAO;AAET,QAAO;;AAGT,MAAa,cAAc,MAAiB,YAAoC;CAC9E,MAAM,WAAW,OAAkC,WAAqC,gBAAwB;AAC9G,UAAQ,WAAR;GACE,KAAK,KACH,QAAO,UAAU;GACnB,KAAK,MACH,QAAO,UAAU;GACnB,KAAK,KACH,QAAO,SAAS,QAAQ;GAC1B,KAAK,MACH,QAAO,SAAS,SAAS;GAC3B,KAAK,KACH,QAAO,SAAS,QAAQ;GAC1B,KAAK,MACH,QAAO,SAAS,SAAS;GAC3B,KAAK,WACH,QAAO,SAAS,MAAM,SAAS,YAAY;GAC7C,KAAK,cACH,QAAO,CAAC,SAAS,CAAC,MAAM,SAAS,YAAY;GAC/C,KAAK,aACH,QAAO,SAAS,MAAM,WAAW,YAAY;GAC/C,KAAK,WACH,QAAO,SAAS,MAAM,SAAS,YAAY;GAC7C,KAAK,YACH,QAAO,UAAU,QAAQ,UAAU;GACrC,KAAK,SACH,QAAO,UAAU,QAAQ,UAAU;;;AAIzC,QAAO,QAAQ,OAAO,WAAW;EAC/B,MAAM,eAAe,eAAe,KAAK,OAAO,OAAO,SAAS;AAEhE,MAAI,OAAO,aAAa,MACtB,QAAO,QAAQ,KAAK,KAAK,OAAO,WAAW,OAAO,MAAM,IAAI,QAAQ,cAAc,OAAO,WAAW,OAAO,MAAM;AAGnH,SAAO,QAAQ,cAAc,OAAO,WAAW,OAAO,MAAM;GAC5D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StreamAdapter } from "../../interfaces/stream-adapter.interface.mjs";
|
|
2
|
+
import { StreamAdapterManager } from "../../interfaces/stream-adapter-manager.interface.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/adapters/defaults/stream/file-stream-adapter-manager.d.ts
|
|
5
|
+
declare class FileStreamAdapterManager implements StreamAdapterManager {
|
|
6
|
+
private readonly baseDir;
|
|
7
|
+
private readonly motiaFileStoragePath;
|
|
8
|
+
constructor(baseDir: string, motiaFileStoragePath?: string);
|
|
9
|
+
createStream<TData>(streamName: string): StreamAdapter<TData>;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { FileStreamAdapterManager };
|
|
13
|
+
//# sourceMappingURL=file-stream-adapter-manager.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-stream-adapter-manager.d.mts","names":[],"sources":["../../../../../src/adapters/defaults/stream/file-stream-adapter-manager.ts"],"sourcesContent":[],"mappings":";;;;cAIa,wBAAA,YAAoC;;EAApC,iBAAA,oBAAyB;EAMmB,WAAA,CAAA,OAAA,EAAA,MAAA,EAAA,oBAAA,CAAA,EAAA,MAAA;EAAd,YAAA,CAAA,KAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,aAAA,CAAc,KAAd,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FileStreamAdapter } from "./file-stream-adapter.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/adapters/defaults/stream/file-stream-adapter-manager.ts
|
|
4
|
+
var FileStreamAdapterManager = class {
|
|
5
|
+
constructor(baseDir, motiaFileStoragePath = ".motia") {
|
|
6
|
+
this.baseDir = baseDir;
|
|
7
|
+
this.motiaFileStoragePath = motiaFileStoragePath;
|
|
8
|
+
}
|
|
9
|
+
createStream(streamName) {
|
|
10
|
+
return new FileStreamAdapter(this.baseDir, streamName, this.motiaFileStoragePath);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { FileStreamAdapterManager };
|
|
16
|
+
//# sourceMappingURL=file-stream-adapter-manager.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-stream-adapter-manager.mjs","names":["baseDir: string","motiaFileStoragePath: string"],"sources":["../../../../../src/adapters/defaults/stream/file-stream-adapter-manager.ts"],"sourcesContent":["import type { StreamAdapter } from '../../interfaces/stream-adapter.interface'\nimport type { StreamAdapterManager } from '../../interfaces/stream-adapter-manager.interface'\nimport { FileStreamAdapter } from './file-stream-adapter'\n\nexport class FileStreamAdapterManager implements StreamAdapterManager {\n constructor(\n private readonly baseDir: string,\n private readonly motiaFileStoragePath: string = '.motia',\n ) {}\n\n createStream<TData>(streamName: string): StreamAdapter<TData> {\n return new FileStreamAdapter<TData>(this.baseDir, streamName, this.motiaFileStoragePath)\n }\n}\n"],"mappings":";;;AAIA,IAAa,2BAAb,MAAsE;CACpE,YACE,AAAiBA,SACjB,AAAiBC,uBAA+B,UAChD;EAFiB;EACA;;CAGnB,aAAoB,YAA0C;AAC5D,SAAO,IAAI,kBAAyB,KAAK,SAAS,YAAY,KAAK,qBAAqB"}
|