@motiadev/core 0.13.2-beta.164-110989 → 0.14.0-beta.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +72 -0
- package/dist/jest.config.d.ts +8 -0
- package/dist/jest.config.d.ts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts +13 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.js +53 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts +15 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.js +49 -0
- package/dist/src/adapters/defaults/index.d.ts +9 -0
- package/dist/src/adapters/defaults/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/index.js +19 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts +23 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/file-state-adapter.js +149 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts +16 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/memory-state-adapter.js +69 -0
- package/dist/src/adapters/defaults/state/utils.d.ts +4 -0
- package/dist/src/adapters/defaults/state/utils.d.ts.map +1 -0
- package/dist/src/adapters/defaults/state/utils.js +66 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts +9 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.js +14 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts +22 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/file-stream-adapter.js +125 -0
- package/dist/src/adapters/defaults/stream/index.d.ts +5 -0
- package/dist/src/adapters/defaults/stream/index.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/index.js +11 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts +6 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.js +10 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts +16 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.ts.map +1 -0
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.js +55 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts +29 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/cron-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts +15 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/event-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/index.d.ts +7 -0
- package/dist/src/adapters/interfaces/index.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/index.js +5 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts +23 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/observability-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts +24 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/state-adapter.interface.js +2 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts +6 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.js +2 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts +22 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.ts.map +1 -0
- package/dist/src/adapters/interfaces/stream-adapter.interface.js +16 -0
- package/dist/src/analytics/utils.d.ts +6 -0
- package/dist/src/analytics/utils.d.ts.map +1 -0
- package/dist/src/analytics/utils.js +51 -0
- package/dist/src/call-step-file.d.ts +16 -0
- package/dist/src/call-step-file.d.ts.map +1 -0
- package/dist/src/call-step-file.js +198 -0
- package/dist/src/config.d.ts +3 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +5 -0
- package/dist/src/config.types.d.ts +17 -0
- package/dist/src/config.types.d.ts.map +1 -0
- package/dist/src/config.types.js +2 -0
- package/dist/src/cron-handler.d.ts +14 -0
- package/dist/src/cron-handler.d.ts.map +1 -0
- package/dist/src/cron-handler.js +132 -0
- package/dist/src/endpoints/analytics-endpoint.d.ts +3 -0
- package/dist/src/endpoints/analytics-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/analytics-endpoint.js +28 -0
- package/dist/src/endpoints/flows-config-endpoint.d.ts +4 -0
- package/dist/src/endpoints/flows-config-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/flows-config-endpoint.js +34 -0
- package/dist/src/endpoints/flows-endpoint.d.ts +3 -0
- package/dist/src/endpoints/flows-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/flows-endpoint.js +29 -0
- package/dist/src/endpoints/step-endpoint.d.ts +4 -0
- package/dist/src/endpoints/step-endpoint.d.ts.map +1 -0
- package/dist/src/endpoints/step-endpoint.js +45 -0
- package/dist/src/generate-trace-id.d.ts +3 -0
- package/dist/src/generate-trace-id.d.ts.map +1 -0
- package/dist/src/generate-trace-id.js +14 -0
- package/dist/src/get-step-config.d.ts +5 -0
- package/dist/src/get-step-config.d.ts.map +1 -0
- package/dist/src/get-step-config.js +68 -0
- package/dist/src/get-step-language.d.ts +2 -0
- package/dist/src/get-step-language.d.ts.map +1 -0
- package/dist/src/get-step-language.js +27 -0
- package/dist/src/guards.d.ts +6 -0
- package/dist/src/guards.d.ts.map +1 -0
- package/dist/src/guards.js +11 -0
- package/dist/src/helper/flows-helper.d.ts +6 -0
- package/dist/src/helper/flows-helper.d.ts.map +1 -0
- package/dist/src/helper/flows-helper.js +143 -0
- package/dist/src/infrastructure-validator/defaults.d.ts +4 -0
- package/dist/src/infrastructure-validator/defaults.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/defaults.js +16 -0
- package/dist/src/infrastructure-validator/index.d.ts +4 -0
- package/dist/src/infrastructure-validator/index.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/index.js +13 -0
- package/dist/src/infrastructure-validator/schemas.d.ts +45 -0
- package/dist/src/infrastructure-validator/schemas.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/schemas.js +100 -0
- package/dist/src/infrastructure-validator/types.d.ts +21 -0
- package/dist/src/infrastructure-validator/types.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/types.js +2 -0
- package/dist/src/infrastructure-validator/validations.d.ts +4 -0
- package/dist/src/infrastructure-validator/validations.d.ts.map +1 -0
- package/dist/src/infrastructure-validator/validations.js +62 -0
- package/dist/src/language-runner.d.ts +15 -0
- package/dist/src/language-runner.d.ts.map +1 -0
- package/dist/src/language-runner.js +31 -0
- package/dist/src/locked-data.d.ts +78 -0
- package/dist/src/locked-data.d.ts.map +1 -0
- package/dist/src/locked-data.js +284 -0
- package/dist/src/logger-factory.d.ts +19 -0
- package/dist/src/logger-factory.d.ts.map +1 -0
- package/dist/src/logger-factory.js +27 -0
- package/dist/src/logger.d.ts +26 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +60 -0
- package/dist/src/mermaid-generator.d.ts +5 -0
- package/dist/src/mermaid-generator.d.ts.map +1 -0
- package/dist/src/mermaid-generator.js +203 -0
- package/dist/src/motia.d.ts +33 -0
- package/dist/src/motia.d.ts.map +1 -0
- package/dist/src/motia.js +4 -0
- package/dist/src/node/can-access.d.ts +2 -0
- package/dist/src/node/can-access.d.ts.map +1 -0
- package/dist/src/node/can-access.js +44 -0
- package/dist/src/node/get-config.d.ts +2 -0
- package/dist/src/node/get-config.d.ts.map +1 -0
- package/dist/src/node/get-config.js +64 -0
- package/dist/src/node/logger.d.ts +16 -0
- package/dist/src/node/logger.d.ts.map +1 -0
- package/dist/src/node/logger.js +48 -0
- package/dist/src/node/middleware-compose.d.ts +2 -0
- package/dist/src/node/middleware-compose.d.ts.map +1 -0
- package/dist/src/node/middleware-compose.js +10 -0
- package/dist/src/node/node-runner.d.ts +2 -0
- package/dist/src/node/node-runner.d.ts.map +1 -0
- package/dist/src/node/node-runner.js +83 -0
- package/dist/src/node/rpc-state-manager.d.ts +12 -0
- package/dist/src/node/rpc-state-manager.d.ts.map +1 -0
- package/dist/src/node/rpc-state-manager.js +24 -0
- package/dist/src/node/rpc.d.ts +10 -0
- package/dist/src/node/rpc.d.ts.map +1 -0
- package/dist/src/node/rpc.js +50 -0
- package/dist/src/observability/create-trace.d.ts +4 -0
- package/dist/src/observability/create-trace.d.ts.map +1 -0
- package/dist/src/observability/create-trace.js +22 -0
- package/dist/src/observability/index.d.ts +4 -0
- package/dist/src/observability/index.d.ts.map +1 -0
- package/dist/src/observability/index.js +2 -0
- package/dist/src/observability/no-tracer.d.ts +10 -0
- package/dist/src/observability/no-tracer.d.ts.map +1 -0
- package/dist/src/observability/no-tracer.js +22 -0
- package/dist/src/observability/redis-trace-stream-adapter.d.ts +17 -0
- package/dist/src/observability/redis-trace-stream-adapter.d.ts.map +1 -0
- package/dist/src/observability/redis-trace-stream-adapter.js +65 -0
- package/dist/src/observability/stream-tracer.d.ts +23 -0
- package/dist/src/observability/stream-tracer.d.ts.map +1 -0
- package/dist/src/observability/stream-tracer.js +114 -0
- package/dist/src/observability/trace-manager.d.ts +14 -0
- package/dist/src/observability/trace-manager.d.ts.map +1 -0
- package/dist/src/observability/trace-manager.js +26 -0
- package/dist/src/observability/tracer.d.ts +19 -0
- package/dist/src/observability/tracer.d.ts.map +1 -0
- package/dist/src/observability/tracer.js +98 -0
- package/dist/src/observability/types.d.ts +75 -0
- package/dist/src/observability/types.d.ts.map +1 -0
- package/dist/src/observability/types.js +2 -0
- package/dist/src/pretty-print.d.ts +2 -0
- package/dist/src/pretty-print.d.ts.map +1 -0
- package/dist/src/pretty-print.js +63 -0
- package/dist/src/printer.d.ts +61 -0
- package/dist/src/printer.d.ts.map +1 -0
- package/dist/src/printer.js +164 -0
- package/dist/src/process-communication/communication-config.d.ts +8 -0
- package/dist/src/process-communication/communication-config.d.ts.map +1 -0
- package/dist/src/process-communication/communication-config.js +18 -0
- package/dist/src/process-communication/process-manager.d.ts +32 -0
- package/dist/src/process-communication/process-manager.d.ts.map +1 -0
- package/dist/src/process-communication/process-manager.js +88 -0
- package/dist/src/process-communication/rpc-processor-interface.d.ts +10 -0
- package/dist/src/process-communication/rpc-processor-interface.d.ts.map +1 -0
- package/dist/src/process-communication/rpc-processor-interface.js +2 -0
- package/dist/src/queue-manager.d.ts +42 -0
- package/dist/src/queue-manager.d.ts.map +1 -0
- package/dist/src/queue-manager.js +252 -0
- package/dist/src/ruby/get-ruby-config.d.ts +3 -0
- package/dist/src/ruby/get-ruby-config.d.ts.map +1 -0
- package/dist/src/ruby/get-ruby-config.js +34 -0
- package/dist/src/run-stream-can-access.d.ts +10 -0
- package/dist/src/run-stream-can-access.d.ts.map +1 -0
- package/dist/src/run-stream-can-access.js +59 -0
- package/dist/src/schema-utils.d.ts +9 -0
- package/dist/src/schema-utils.d.ts.map +1 -0
- package/dist/src/schema-utils.js +80 -0
- package/dist/src/server.d.ts +37 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +344 -0
- package/dist/src/socket-server/helpers.d.ts +53 -0
- package/dist/src/socket-server/helpers.d.ts.map +1 -0
- package/dist/src/socket-server/helpers.js +28 -0
- package/dist/src/socket-server.d.ts +21 -0
- package/dist/src/socket-server.d.ts.map +1 -0
- package/dist/src/socket-server.js +127 -0
- package/dist/src/state/create-state-adapter.d.ts +8 -0
- package/dist/src/state/create-state-adapter.d.ts.map +1 -0
- package/dist/src/state/create-state-adapter.js +8 -0
- package/dist/src/step-handler-rpc-processor.d.ts +22 -0
- package/dist/src/step-handler-rpc-processor.d.ts.map +1 -0
- package/dist/src/step-handler-rpc-processor.js +63 -0
- package/dist/src/step-handler-rpc-stdin-processor.d.ts +23 -0
- package/dist/src/step-handler-rpc-stdin-processor.d.ts.map +1 -0
- package/dist/src/step-handler-rpc-stdin-processor.js +83 -0
- package/dist/src/step-handlers.d.ts +9 -0
- package/dist/src/step-handlers.d.ts.map +1 -0
- package/dist/src/step-handlers.js +77 -0
- package/dist/src/step-validator.d.ts +15 -0
- package/dist/src/step-validator.d.ts.map +1 -0
- package/dist/src/step-validator.js +135 -0
- package/dist/src/steps/emit.step.d.ts +12 -0
- package/dist/src/steps/emit.step.d.ts.map +1 -0
- package/dist/src/steps/emit.step.js +27 -0
- package/dist/src/steps/index.d.ts +3 -0
- package/dist/src/steps/index.d.ts.map +1 -0
- package/dist/src/steps/index.js +16 -0
- package/dist/src/streams/flows-config-stream.d.ts +14 -0
- package/dist/src/streams/flows-config-stream.d.ts.map +1 -0
- package/dist/src/streams/flows-config-stream.js +49 -0
- package/dist/src/streams/flows-stream.d.ts +12 -0
- package/dist/src/streams/flows-stream.d.ts.map +1 -0
- package/dist/src/streams/flows-stream.js +35 -0
- package/dist/src/streams/redis-logs-stream.d.ts +31 -0
- package/dist/src/streams/redis-logs-stream.d.ts.map +1 -0
- package/dist/src/streams/redis-logs-stream.js +84 -0
- package/dist/src/streams/stream-factory.d.ts +3 -0
- package/dist/src/streams/stream-factory.d.ts.map +1 -0
- package/dist/src/streams/stream-factory.js +2 -0
- package/dist/src/types/app-config-types.d.ts +45 -0
- package/dist/src/types/app-config-types.d.ts.map +1 -0
- package/dist/src/types/app-config-types.js +2 -0
- package/dist/src/types/flows-config-types.d.ts +10 -0
- package/dist/src/types/flows-config-types.d.ts.map +1 -0
- package/dist/src/types/flows-config-types.js +2 -0
- package/dist/src/types/flows-types.d.ts +39 -0
- package/dist/src/types/flows-types.d.ts.map +1 -0
- package/dist/src/types/flows-types.js +2 -0
- package/dist/src/types/generate-type-from-schema.d.ts +3 -0
- package/dist/src/types/generate-type-from-schema.d.ts.map +1 -0
- package/dist/src/types/generate-type-from-schema.js +49 -0
- package/dist/src/types/generate-types-from-response.d.ts +3 -0
- package/dist/src/types/generate-types-from-response.d.ts.map +1 -0
- package/dist/src/types/generate-types-from-response.js +13 -0
- package/dist/src/types/generate-types.d.ts +13 -0
- package/dist/src/types/generate-types.d.ts.map +1 -0
- package/dist/src/types/generate-types.js +127 -0
- package/dist/src/types/merge-schemas.d.ts +5 -0
- package/dist/src/types/merge-schemas.d.ts.map +1 -0
- package/dist/src/types/merge-schemas.js +183 -0
- package/dist/src/types/schema.types.d.ts +9 -0
- package/dist/src/types/schema.types.d.ts.map +1 -0
- package/dist/src/types/schema.types.js +14 -0
- package/dist/src/types-stream.d.ts +42 -0
- package/dist/src/types-stream.d.ts.map +1 -0
- package/dist/src/types-stream.js +2 -0
- package/dist/src/types.d.ts +190 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +17 -0
- package/dist/src/utils.d.ts +3 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +12 -0
- package/dist/src/validate-event-input.d.ts +3 -0
- package/dist/src/validate-event-input.d.ts.map +1 -0
- package/dist/src/validate-event-input.js +74 -0
- package/package.json +8 -21
- package/dist/index.d.mts +0 -38
- package/dist/index.mjs +0 -30
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts +0 -17
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs +0 -51
- package/dist/src/adapters/defaults/cron/in-memory-cron-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts +0 -19
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs +0 -54
- package/dist/src/adapters/defaults/event/in-memory-queue-event-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/index.d.mts +0 -8
- package/dist/src/adapters/defaults/index.mjs +0 -10
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts +0 -27
- package/dist/src/adapters/defaults/state/file-state-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs +0 -105
- package/dist/src/adapters/defaults/state/file-state-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts +0 -20
- package/dist/src/adapters/defaults/state/memory-state-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs +0 -58
- package/dist/src/adapters/defaults/state/memory-state-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/state/utils.mjs +0 -40
- package/dist/src/adapters/defaults/state/utils.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts +0 -13
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs +0 -16
- package/dist/src/adapters/defaults/stream/file-stream-adapter-manager.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts +0 -24
- package/dist/src/adapters/defaults/stream/file-stream-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs +0 -84
- package/dist/src/adapters/defaults/stream/file-stream-adapter.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts +0 -10
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs +0 -12
- package/dist/src/adapters/defaults/stream/memory-stream-adapter-manager.mjs.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts +0 -20
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.d.mts.map +0 -1
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs +0 -58
- package/dist/src/adapters/defaults/stream/memory-stream-adapter.mjs.map +0 -1
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts +0 -32
- package/dist/src/adapters/interfaces/cron-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts +0 -19
- package/dist/src/adapters/interfaces/event-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts +0 -27
- package/dist/src/adapters/interfaces/observability-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts +0 -28
- package/dist/src/adapters/interfaces/state-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts +0 -10
- package/dist/src/adapters/interfaces/stream-adapter-manager.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts +0 -26
- package/dist/src/adapters/interfaces/stream-adapter.interface.d.mts.map +0 -1
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs +0 -17
- package/dist/src/adapters/interfaces/stream-adapter.interface.mjs.map +0 -1
- package/dist/src/analytics/utils.d.mts +0 -9
- package/dist/src/analytics/utils.d.mts.map +0 -1
- package/dist/src/analytics/utils.mjs +0 -35
- package/dist/src/analytics/utils.mjs.map +0 -1
- package/dist/src/call-step-file.mjs +0 -213
- package/dist/src/call-step-file.mjs.map +0 -1
- package/dist/src/config.d.mts +0 -7
- package/dist/src/config.d.mts.map +0 -1
- package/dist/src/config.mjs +0 -6
- package/dist/src/config.mjs.map +0 -1
- package/dist/src/cron-handler.d.mts +0 -18
- package/dist/src/cron-handler.d.mts.map +0 -1
- package/dist/src/cron-handler.mjs +0 -103
- package/dist/src/cron-handler.mjs.map +0 -1
- package/dist/src/endpoints/analytics-endpoint.mjs +0 -29
- package/dist/src/endpoints/analytics-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/flows-config-endpoint.mjs +0 -38
- package/dist/src/endpoints/flows-config-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/flows-endpoint.mjs +0 -39
- package/dist/src/endpoints/flows-endpoint.mjs.map +0 -1
- package/dist/src/endpoints/step-endpoint.mjs +0 -41
- package/dist/src/endpoints/step-endpoint.mjs.map +0 -1
- package/dist/src/generate-trace-id.mjs +0 -13
- package/dist/src/generate-trace-id.mjs.map +0 -1
- package/dist/src/get-step-config.d.mts +0 -9
- package/dist/src/get-step-config.d.mts.map +0 -1
- package/dist/src/get-step-config.mjs +0 -63
- package/dist/src/get-step-config.mjs.map +0 -1
- package/dist/src/get-step-language.mjs +0 -14
- package/dist/src/get-step-language.mjs.map +0 -1
- package/dist/src/guards.d.mts +0 -10
- package/dist/src/guards.d.mts.map +0 -1
- package/dist/src/guards.mjs +0 -9
- package/dist/src/guards.mjs.map +0 -1
- package/dist/src/helper/flows-helper.mjs +0 -126
- package/dist/src/helper/flows-helper.mjs.map +0 -1
- package/dist/src/infrastructure-validator/defaults.mjs +0 -17
- package/dist/src/infrastructure-validator/defaults.mjs.map +0 -1
- package/dist/src/infrastructure-validator/index.d.mts +0 -3
- package/dist/src/infrastructure-validator/index.mjs +0 -4
- package/dist/src/infrastructure-validator/schemas.d.mts +0 -1
- package/dist/src/infrastructure-validator/schemas.mjs +0 -77
- package/dist/src/infrastructure-validator/schemas.mjs.map +0 -1
- package/dist/src/infrastructure-validator/types.d.mts +0 -14
- package/dist/src/infrastructure-validator/types.d.mts.map +0 -1
- package/dist/src/infrastructure-validator/validations.d.mts +0 -7
- package/dist/src/infrastructure-validator/validations.d.mts.map +0 -1
- package/dist/src/infrastructure-validator/validations.mjs +0 -29
- package/dist/src/infrastructure-validator/validations.mjs.map +0 -1
- package/dist/src/language-runner.mjs +0 -55
- package/dist/src/language-runner.mjs.map +0 -1
- package/dist/src/locked-data.d.mts +0 -81
- package/dist/src/locked-data.d.mts.map +0 -1
- package/dist/src/locked-data.mjs +0 -223
- package/dist/src/locked-data.mjs.map +0 -1
- package/dist/src/logger-factory.d.mts +0 -16
- package/dist/src/logger-factory.d.mts.map +0 -1
- package/dist/src/logger-factory.mjs +0 -33
- package/dist/src/logger-factory.mjs.map +0 -1
- package/dist/src/logger.d.mts +0 -28
- package/dist/src/logger.d.mts.map +0 -1
- package/dist/src/logger.mjs +0 -64
- package/dist/src/logger.mjs.map +0 -1
- package/dist/src/mermaid-generator.d.mts +0 -9
- package/dist/src/mermaid-generator.d.mts.map +0 -1
- package/dist/src/mermaid-generator.mjs +0 -126
- package/dist/src/mermaid-generator.mjs.map +0 -1
- package/dist/src/motia.d.mts +0 -36
- package/dist/src/motia.d.mts.map +0 -1
- package/dist/src/motia.mjs +0 -6
- package/dist/src/motia.mjs.map +0 -1
- package/dist/src/node/can-access.d.mts +0 -1
- package/dist/src/node/can-access.mjs +0 -36
- package/dist/src/node/can-access.mjs.map +0 -1
- package/dist/src/node/get-config.d.mts +0 -1
- package/dist/src/node/get-config.mjs +0 -49
- package/dist/src/node/get-config.mjs.map +0 -1
- package/dist/src/node/logger.mjs +0 -47
- package/dist/src/node/logger.mjs.map +0 -1
- package/dist/src/node/middleware-compose.mjs +0 -10
- package/dist/src/node/middleware-compose.mjs.map +0 -1
- package/dist/src/node/node-runner.d.mts +0 -1
- package/dist/src/node/node-runner.mjs +0 -94
- package/dist/src/node/node-runner.mjs.map +0 -1
- package/dist/src/node/rpc-state-manager.mjs +0 -35
- package/dist/src/node/rpc-state-manager.mjs.map +0 -1
- package/dist/src/node/rpc.mjs +0 -55
- package/dist/src/node/rpc.mjs.map +0 -1
- package/dist/src/observability/create-trace.mjs +0 -26
- package/dist/src/observability/create-trace.mjs.map +0 -1
- package/dist/src/observability/index.d.mts +0 -7
- package/dist/src/observability/index.d.mts.map +0 -1
- package/dist/src/observability/no-tracer.d.mts +0 -15
- package/dist/src/observability/no-tracer.d.mts.map +0 -1
- package/dist/src/observability/no-tracer.mjs +0 -15
- package/dist/src/observability/no-tracer.mjs.map +0 -1
- package/dist/src/observability/redis-trace-stream-adapter.mjs +0 -76
- package/dist/src/observability/redis-trace-stream-adapter.mjs.map +0 -1
- package/dist/src/observability/stream-tracer.mjs +0 -87
- package/dist/src/observability/stream-tracer.mjs.map +0 -1
- package/dist/src/observability/trace-manager.mjs +0 -24
- package/dist/src/observability/trace-manager.mjs.map +0 -1
- package/dist/src/observability/tracer.mjs +0 -87
- package/dist/src/observability/tracer.mjs.map +0 -1
- package/dist/src/observability/types.d.mts +0 -14
- package/dist/src/observability/types.d.mts.map +0 -1
- package/dist/src/pretty-print.mjs +0 -50
- package/dist/src/pretty-print.mjs.map +0 -1
- package/dist/src/printer.d.mts +0 -65
- package/dist/src/printer.d.mts.map +0 -1
- package/dist/src/printer.mjs +0 -147
- package/dist/src/printer.mjs.map +0 -1
- package/dist/src/process-communication/communication-config.mjs +0 -26
- package/dist/src/process-communication/communication-config.mjs.map +0 -1
- package/dist/src/process-communication/process-manager.mjs +0 -67
- package/dist/src/process-communication/process-manager.mjs.map +0 -1
- package/dist/src/queue-manager.d.mts +0 -37
- package/dist/src/queue-manager.d.mts.map +0 -1
- package/dist/src/queue-manager.mjs +0 -209
- package/dist/src/queue-manager.mjs.map +0 -1
- package/dist/src/run-stream-can-access.mjs +0 -59
- package/dist/src/run-stream-can-access.mjs.map +0 -1
- package/dist/src/schema-utils.mjs +0 -30
- package/dist/src/schema-utils.mjs.map +0 -1
- package/dist/src/server.d.mts +0 -40
- package/dist/src/server.d.mts.map +0 -1
- package/dist/src/server.mjs +0 -352
- package/dist/src/server.mjs.map +0 -1
- package/dist/src/socket-server/helpers.mjs +0 -35
- package/dist/src/socket-server/helpers.mjs.map +0 -1
- package/dist/src/socket-server.mjs +0 -127
- package/dist/src/socket-server.mjs.map +0 -1
- package/dist/src/state/create-state-adapter.d.mts +0 -11
- package/dist/src/state/create-state-adapter.d.mts.map +0 -1
- package/dist/src/state/create-state-adapter.mjs +0 -11
- package/dist/src/state/create-state-adapter.mjs.map +0 -1
- package/dist/src/step-handler-rpc-processor.mjs +0 -56
- package/dist/src/step-handler-rpc-processor.mjs.map +0 -1
- package/dist/src/step-handler-rpc-stdin-processor.mjs +0 -71
- package/dist/src/step-handler-rpc-stdin-processor.mjs.map +0 -1
- package/dist/src/step-handlers.d.mts +0 -13
- package/dist/src/step-handlers.d.mts.map +0 -1
- package/dist/src/step-handlers.mjs +0 -93
- package/dist/src/step-handlers.mjs.map +0 -1
- package/dist/src/step-validator.d.mts +0 -15
- package/dist/src/step-validator.d.mts.map +0 -1
- package/dist/src/step-validator.mjs +0 -118
- package/dist/src/step-validator.mjs.map +0 -1
- package/dist/src/steps/emit.step.mjs +0 -20
- package/dist/src/steps/emit.step.mjs.map +0 -1
- package/dist/src/steps/index.mjs +0 -14
- package/dist/src/steps/index.mjs.map +0 -1
- package/dist/src/streams/flows-config-stream.mjs +0 -46
- package/dist/src/streams/flows-config-stream.mjs.map +0 -1
- package/dist/src/streams/flows-stream.mjs +0 -33
- package/dist/src/streams/flows-stream.mjs.map +0 -1
- package/dist/src/streams/redis-logs-stream.d.mts +0 -3
- package/dist/src/streams/redis-logs-stream.mjs +0 -97
- package/dist/src/streams/redis-logs-stream.mjs.map +0 -1
- package/dist/src/streams/stream-factory.d.mts +0 -7
- package/dist/src/streams/stream-factory.d.mts.map +0 -1
- package/dist/src/types/app-config-types.d.mts +0 -48
- package/dist/src/types/app-config-types.d.mts.map +0 -1
- package/dist/src/types/generate-type-from-schema.mjs +0 -30
- package/dist/src/types/generate-type-from-schema.mjs.map +0 -1
- package/dist/src/types/generate-types-from-response.mjs +0 -12
- package/dist/src/types/generate-types-from-response.mjs.map +0 -1
- package/dist/src/types/generate-types.mjs +0 -101
- package/dist/src/types/generate-types.mjs.map +0 -1
- package/dist/src/types/merge-schemas.mjs +0 -102
- package/dist/src/types/merge-schemas.mjs.map +0 -1
- package/dist/src/types/schema.types.d.mts +0 -13
- package/dist/src/types/schema.types.d.mts.map +0 -1
- package/dist/src/types/schema.types.mjs +0 -14
- package/dist/src/types/schema.types.mjs.map +0 -1
- package/dist/src/types-stream.d.mts +0 -46
- package/dist/src/types-stream.d.mts.map +0 -1
- package/dist/src/types.d.mts +0 -194
- package/dist/src/types.d.mts.map +0 -1
- package/dist/src/utils.mjs +0 -13
- package/dist/src/utils.mjs.map +0 -1
- package/dist/src/validate-event-input.mjs +0 -76
- package/dist/src/validate-event-input.mjs.map +0 -1
- package/jest.config.cjs +0 -20
- package/tsdown.config.ts +0 -53
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
//#region src/node/rpc-state-manager.ts
|
|
2
|
-
var RpcStateManager = class {
|
|
3
|
-
constructor(sender) {
|
|
4
|
-
this.sender = sender;
|
|
5
|
-
}
|
|
6
|
-
async get(traceId, key) {
|
|
7
|
-
return this.sender.send("state.get", {
|
|
8
|
-
traceId,
|
|
9
|
-
key
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
async set(traceId, key, value) {
|
|
13
|
-
return this.sender.send("state.set", {
|
|
14
|
-
traceId,
|
|
15
|
-
key,
|
|
16
|
-
value
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
async delete(traceId, key) {
|
|
20
|
-
return this.sender.send("state.delete", {
|
|
21
|
-
traceId,
|
|
22
|
-
key
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
async clear(traceId) {
|
|
26
|
-
await this.sender.send("state.clear", { traceId });
|
|
27
|
-
}
|
|
28
|
-
async getGroup(groupId) {
|
|
29
|
-
return this.sender.send("state.getGroup", { groupId });
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
//#endregion
|
|
34
|
-
export { RpcStateManager };
|
|
35
|
-
//# sourceMappingURL=rpc-state-manager.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-state-manager.mjs","names":["sender: RpcSender"],"sources":["../../../src/node/rpc-state-manager.ts"],"sourcesContent":["import type { InternalStateManager } from '../types'\nimport type { RpcSender } from './rpc'\n\nexport class RpcStateManager implements InternalStateManager {\n constructor(private readonly sender: RpcSender) {}\n\n async get<T>(traceId: string, key: string) {\n return this.sender.send<T>('state.get', { traceId, key })\n }\n\n async set<T>(traceId: string, key: string, value: T) {\n return this.sender.send<T>('state.set', { traceId, key, value })\n }\n\n async delete<T>(traceId: string, key: string): Promise<T | null> {\n return this.sender.send<T>('state.delete', { traceId, key })\n }\n\n async clear(traceId: string) {\n await this.sender.send('state.clear', { traceId })\n }\n\n async getGroup<T>(groupId: string): Promise<T[]> {\n return this.sender.send<T[]>('state.getGroup', { groupId })\n }\n}\n"],"mappings":";AAGA,IAAa,kBAAb,MAA6D;CAC3D,YAAY,AAAiBA,QAAmB;EAAnB;;CAE7B,MAAM,IAAO,SAAiB,KAAa;AACzC,SAAO,KAAK,OAAO,KAAQ,aAAa;GAAE;GAAS;GAAK,CAAC;;CAG3D,MAAM,IAAO,SAAiB,KAAa,OAAU;AACnD,SAAO,KAAK,OAAO,KAAQ,aAAa;GAAE;GAAS;GAAK;GAAO,CAAC;;CAGlE,MAAM,OAAU,SAAiB,KAAgC;AAC/D,SAAO,KAAK,OAAO,KAAQ,gBAAgB;GAAE;GAAS;GAAK,CAAC;;CAG9D,MAAM,MAAM,SAAiB;AAC3B,QAAM,KAAK,OAAO,KAAK,eAAe,EAAE,SAAS,CAAC;;CAGpD,MAAM,SAAY,SAA+B;AAC/C,SAAO,KAAK,OAAO,KAAU,kBAAkB,EAAE,SAAS,CAAC"}
|
package/dist/src/node/rpc.mjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import crypto from "crypto";
|
|
2
|
-
|
|
3
|
-
//#region src/node/rpc.ts
|
|
4
|
-
var RpcSender = class {
|
|
5
|
-
constructor(process) {
|
|
6
|
-
this.process = process;
|
|
7
|
-
this.pendingRequests = {};
|
|
8
|
-
}
|
|
9
|
-
async close() {
|
|
10
|
-
if (Object.values(this.pendingRequests).length > 0) {
|
|
11
|
-
console.error("Process ended while there are some promises outstanding");
|
|
12
|
-
this.process.exit(1);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
send(method, args) {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
const id = crypto.randomUUID();
|
|
18
|
-
this.pendingRequests[id] = {
|
|
19
|
-
resolve,
|
|
20
|
-
reject,
|
|
21
|
-
method,
|
|
22
|
-
args
|
|
23
|
-
};
|
|
24
|
-
this.process.send?.({
|
|
25
|
-
type: "rpc_request",
|
|
26
|
-
id,
|
|
27
|
-
method,
|
|
28
|
-
args
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
sendNoWait(method, args) {
|
|
33
|
-
this.process.send?.({
|
|
34
|
-
type: "rpc_request",
|
|
35
|
-
method,
|
|
36
|
-
args
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
init() {
|
|
40
|
-
this.process.on("message", (msg) => {
|
|
41
|
-
if (msg.type === "rpc_response") {
|
|
42
|
-
const { id, result, error } = msg;
|
|
43
|
-
const callbacks = this.pendingRequests[id];
|
|
44
|
-
if (!callbacks) return;
|
|
45
|
-
else if (error) callbacks.reject(error);
|
|
46
|
-
else callbacks.resolve(result);
|
|
47
|
-
delete this.pendingRequests[id];
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
//#endregion
|
|
54
|
-
export { RpcSender };
|
|
55
|
-
//# sourceMappingURL=rpc.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.mjs","names":["process: NodeJS.Process"],"sources":["../../../src/node/rpc.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport crypto from 'crypto'\n\ntype RpcResponse = {\n type: 'rpc_response'\n id: string\n result: unknown\n error: unknown\n}\n\nexport class RpcSender {\n private readonly pendingRequests: Record<\n string,\n { resolve: (result: any) => void; reject: (error: any) => void; method: string; args: any }\n > = {}\n\n constructor(private readonly process: NodeJS.Process) {}\n\n async close(): Promise<void> {\n const outstandingRequests = Object.values(this.pendingRequests)\n\n if (outstandingRequests.length > 0) {\n console.error('Process ended while there are some promises outstanding')\n this.process.exit(1)\n }\n }\n\n send<T>(method: string, args: unknown): Promise<T> {\n return new Promise((resolve, reject) => {\n const id = crypto.randomUUID()\n this.pendingRequests[id] = { resolve, reject, method, args }\n\n this.process.send?.({ type: 'rpc_request', id, method, args })\n })\n }\n\n sendNoWait(method: string, args: unknown) {\n this.process.send?.({ type: 'rpc_request', method, args })\n }\n\n init() {\n this.process.on('message', (msg: RpcResponse) => {\n if (msg.type === 'rpc_response') {\n const { id, result, error } = msg\n const callbacks = this.pendingRequests[id]\n\n if (!callbacks) {\n return\n } else if (error) {\n callbacks.reject(error)\n } else {\n callbacks.resolve(result)\n }\n\n delete this.pendingRequests[id]\n }\n })\n }\n}\n"],"mappings":";;;AAUA,IAAa,YAAb,MAAuB;CAMrB,YAAY,AAAiBA,SAAyB;EAAzB;yBAFzB,EAAE;;CAIN,MAAM,QAAuB;AAG3B,MAF4B,OAAO,OAAO,KAAK,gBAAgB,CAEvC,SAAS,GAAG;AAClC,WAAQ,MAAM,0DAA0D;AACxE,QAAK,QAAQ,KAAK,EAAE;;;CAIxB,KAAQ,QAAgB,MAA2B;AACjD,SAAO,IAAI,SAAS,SAAS,WAAW;GACtC,MAAM,KAAK,OAAO,YAAY;AAC9B,QAAK,gBAAgB,MAAM;IAAE;IAAS;IAAQ;IAAQ;IAAM;AAE5D,QAAK,QAAQ,OAAO;IAAE,MAAM;IAAe;IAAI;IAAQ;IAAM,CAAC;IAC9D;;CAGJ,WAAW,QAAgB,MAAe;AACxC,OAAK,QAAQ,OAAO;GAAE,MAAM;GAAe;GAAQ;GAAM,CAAC;;CAG5D,OAAO;AACL,OAAK,QAAQ,GAAG,YAAY,QAAqB;AAC/C,OAAI,IAAI,SAAS,gBAAgB;IAC/B,MAAM,EAAE,IAAI,QAAQ,UAAU;IAC9B,MAAM,YAAY,KAAK,gBAAgB;AAEvC,QAAI,CAAC,UACH;aACS,MACT,WAAU,OAAO,MAAM;QAEvB,WAAU,QAAQ,OAAO;AAG3B,WAAO,KAAK,gBAAgB;;IAE9B"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "crypto";
|
|
2
|
-
|
|
3
|
-
//#region src/observability/create-trace.ts
|
|
4
|
-
const createTrace = (traceGroup, step) => {
|
|
5
|
-
const trace = {
|
|
6
|
-
id: randomUUID(),
|
|
7
|
-
name: step.config.name,
|
|
8
|
-
correlationId: traceGroup.correlationId,
|
|
9
|
-
parentTraceId: traceGroup.id,
|
|
10
|
-
status: "running",
|
|
11
|
-
startTime: Date.now(),
|
|
12
|
-
endTime: void 0,
|
|
13
|
-
entryPoint: {
|
|
14
|
-
type: step.config.type,
|
|
15
|
-
stepName: step.config.name
|
|
16
|
-
},
|
|
17
|
-
events: []
|
|
18
|
-
};
|
|
19
|
-
traceGroup.metadata.totalSteps++;
|
|
20
|
-
traceGroup.metadata.activeSteps++;
|
|
21
|
-
return trace;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
export { createTrace };
|
|
26
|
-
//# sourceMappingURL=create-trace.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-trace.mjs","names":["trace: Trace"],"sources":["../../../src/observability/create-trace.ts"],"sourcesContent":["import { randomUUID } from 'crypto'\nimport type { Step } from '../types'\nimport type { Trace, TraceGroup } from './types'\n\nexport const createTrace = (traceGroup: TraceGroup, step: Step) => {\n const id = randomUUID()\n const trace: Trace = {\n id,\n name: step.config.name,\n correlationId: traceGroup.correlationId,\n parentTraceId: traceGroup.id,\n status: 'running',\n startTime: Date.now(),\n endTime: undefined,\n entryPoint: { type: step.config.type, stepName: step.config.name },\n events: [],\n }\n\n traceGroup.metadata.totalSteps++\n traceGroup.metadata.activeSteps++\n\n return trace\n}\n"],"mappings":";;;AAIA,MAAa,eAAe,YAAwB,SAAe;CAEjE,MAAMA,QAAe;EACnB,IAFS,YAAY;EAGrB,MAAM,KAAK,OAAO;EAClB,eAAe,WAAW;EAC1B,eAAe,WAAW;EAC1B,QAAQ;EACR,WAAW,KAAK,KAAK;EACrB,SAAS;EACT,YAAY;GAAE,MAAM,KAAK,OAAO;GAAM,UAAU,KAAK,OAAO;GAAM;EAClE,QAAQ,EAAE;EACX;AAED,YAAW,SAAS;AACpB,YAAW,SAAS;AAEpB,QAAO"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ObservabilityAdapter, Tracer } from "../adapters/interfaces/observability-adapter.interface.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/observability/index.d.ts
|
|
4
|
-
type TracerFactory = ObservabilityAdapter;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { TracerFactory };
|
|
7
|
-
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/observability/index.ts"],"sourcesContent":[],"mappings":";;;KAGY,aAAA,GAAgB"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Tracer } from "../adapters/interfaces/observability-adapter.interface.mjs";
|
|
2
|
-
import "./index.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/observability/no-tracer.d.ts
|
|
5
|
-
declare class NoTracer implements Tracer {
|
|
6
|
-
end(): void;
|
|
7
|
-
stateOperation(): void;
|
|
8
|
-
emitOperation(): void;
|
|
9
|
-
streamOperation(): void;
|
|
10
|
-
clear(): void;
|
|
11
|
-
child(): this;
|
|
12
|
-
}
|
|
13
|
-
//#endregion
|
|
14
|
-
export { NoTracer };
|
|
15
|
-
//# sourceMappingURL=no-tracer.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-tracer.d.mts","names":[],"sources":["../../../src/observability/no-tracer.ts"],"sourcesContent":[],"mappings":";;;;cAEa,QAAA,YAAoB;;;EAApB,aAAS,CAAA,CAAA,EAAA,IAAA"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region src/observability/no-tracer.ts
|
|
2
|
-
var NoTracer = class {
|
|
3
|
-
end() {}
|
|
4
|
-
stateOperation() {}
|
|
5
|
-
emitOperation() {}
|
|
6
|
-
streamOperation() {}
|
|
7
|
-
clear() {}
|
|
8
|
-
child() {
|
|
9
|
-
return this;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
//#endregion
|
|
14
|
-
export { NoTracer };
|
|
15
|
-
//# sourceMappingURL=no-tracer.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"no-tracer.mjs","names":[],"sources":["../../../src/observability/no-tracer.ts"],"sourcesContent":["import type { Tracer } from '../observability/index'\n\nexport class NoTracer implements Tracer {\n end() {}\n stateOperation() {}\n emitOperation() {}\n streamOperation() {}\n clear() {}\n child() {\n return this\n }\n}\n"],"mappings":";AAEA,IAAa,WAAb,MAAwC;CACtC,MAAM;CACN,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,QAAQ;CACR,QAAQ;AACN,SAAO"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { StreamAdapter } from "../adapters/interfaces/stream-adapter.interface.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/observability/redis-trace-stream-adapter.ts
|
|
4
|
-
const TRACE_TTL_SECONDS = 4320 * 60;
|
|
5
|
-
var RedisTraceStreamAdapter = class extends StreamAdapter {
|
|
6
|
-
constructor(streamName, client, ttl = TRACE_TTL_SECONDS) {
|
|
7
|
-
super(streamName);
|
|
8
|
-
this.keyPrefix = "motia:trace:";
|
|
9
|
-
this.client = client;
|
|
10
|
-
this.ttl = ttl;
|
|
11
|
-
}
|
|
12
|
-
makeGroupKey(groupId) {
|
|
13
|
-
return `${this.keyPrefix}${groupId}`;
|
|
14
|
-
}
|
|
15
|
-
async get(groupId, id) {
|
|
16
|
-
const hashKey = this.makeGroupKey(groupId);
|
|
17
|
-
const value = await this.client.hGet(hashKey, id);
|
|
18
|
-
return value ? JSON.parse(value) : null;
|
|
19
|
-
}
|
|
20
|
-
async set(groupId, id, data) {
|
|
21
|
-
const hashKey = this.makeGroupKey(groupId);
|
|
22
|
-
const item = {
|
|
23
|
-
...data,
|
|
24
|
-
id
|
|
25
|
-
};
|
|
26
|
-
const itemJson = JSON.stringify(item);
|
|
27
|
-
const eventType = await this.client.hExists(hashKey, id) ? "update" : "create";
|
|
28
|
-
await Promise.all([
|
|
29
|
-
this.client.hSet(hashKey, id, itemJson),
|
|
30
|
-
this.send({
|
|
31
|
-
groupId,
|
|
32
|
-
id
|
|
33
|
-
}, {
|
|
34
|
-
type: eventType,
|
|
35
|
-
data: item
|
|
36
|
-
}),
|
|
37
|
-
this.client.expire(hashKey, this.ttl)
|
|
38
|
-
]);
|
|
39
|
-
return item;
|
|
40
|
-
}
|
|
41
|
-
async delete(groupId, id) {
|
|
42
|
-
const hashKey = this.makeGroupKey(groupId);
|
|
43
|
-
const value = await this.client.hGet(hashKey, id);
|
|
44
|
-
if (!value) return null;
|
|
45
|
-
const item = JSON.parse(value);
|
|
46
|
-
await Promise.all([this.client.hDel(hashKey, id), this.send({
|
|
47
|
-
groupId,
|
|
48
|
-
id
|
|
49
|
-
}, {
|
|
50
|
-
type: "delete",
|
|
51
|
-
data: item
|
|
52
|
-
})]);
|
|
53
|
-
return item;
|
|
54
|
-
}
|
|
55
|
-
async getGroup(groupId) {
|
|
56
|
-
const hashKey = this.makeGroupKey(groupId);
|
|
57
|
-
const values = await this.client.hGetAll(hashKey);
|
|
58
|
-
const items = Object.values(values).map((v) => JSON.parse(v));
|
|
59
|
-
const sortDesc = (a, b) => {
|
|
60
|
-
return (a.startTime || 0) - (b.startTime || 0);
|
|
61
|
-
};
|
|
62
|
-
return items.sort(sortDesc);
|
|
63
|
-
}
|
|
64
|
-
async send(channel, event) {
|
|
65
|
-
const channelKey = channel.id ? `${this.keyPrefix}events:${this.streamName}:${channel.groupId}:${channel.id}` : `${this.keyPrefix}events:${this.streamName}:${channel.groupId}`;
|
|
66
|
-
await this.client.publish(channelKey, JSON.stringify(event));
|
|
67
|
-
}
|
|
68
|
-
async clear(groupId) {
|
|
69
|
-
const hashKey = this.makeGroupKey(groupId);
|
|
70
|
-
await this.client.del(hashKey);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
//#endregion
|
|
75
|
-
export { RedisTraceStreamAdapter };
|
|
76
|
-
//# sourceMappingURL=redis-trace-stream-adapter.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis-trace-stream-adapter.mjs","names":["item: BaseStreamItem<TData>"],"sources":["../../../src/observability/redis-trace-stream-adapter.ts"],"sourcesContent":["import type { RedisClientType } from 'redis'\nimport { StreamAdapter } from '../adapters/interfaces/stream-adapter.interface'\nimport type { BaseStreamItem, StateStreamEvent, StateStreamEventChannel } from '../types-stream'\n\nconst TRACE_TTL_SECONDS = 3 * 24 * 60 * 60\n\nexport class RedisTraceStreamAdapter<TData> extends StreamAdapter<TData> {\n private client: RedisClientType\n private readonly keyPrefix: string = 'motia:trace:'\n private ttl: number\n\n constructor(streamName: string, client: RedisClientType, ttl: number = TRACE_TTL_SECONDS) {\n super(streamName)\n this.client = client\n this.ttl = ttl\n }\n\n private makeGroupKey(groupId: string): string {\n return `${this.keyPrefix}${groupId}`\n }\n\n async get(groupId: string, id: string): Promise<BaseStreamItem<TData> | null> {\n const hashKey = this.makeGroupKey(groupId)\n const value = await this.client.hGet(hashKey, id)\n return value ? JSON.parse(value) : null\n }\n\n async set(groupId: string, id: string, data: TData): Promise<BaseStreamItem<TData>> {\n const hashKey = this.makeGroupKey(groupId)\n const item: BaseStreamItem<TData> = { ...data, id } as BaseStreamItem<TData>\n const itemJson = JSON.stringify(item)\n\n const existed = await this.client.hExists(hashKey, id)\n const eventType = existed ? 'update' : 'create'\n\n await Promise.all([\n this.client.hSet(hashKey, id, itemJson),\n this.send({ groupId, id }, { type: eventType, data: item }),\n this.client.expire(hashKey, this.ttl),\n ])\n\n return item\n }\n\n async delete(groupId: string, id: string): Promise<BaseStreamItem<TData> | null> {\n const hashKey = this.makeGroupKey(groupId)\n const value = await this.client.hGet(hashKey, id)\n\n if (!value) return null\n\n const item = JSON.parse(value) as BaseStreamItem<TData>\n\n await Promise.all([this.client.hDel(hashKey, id), this.send({ groupId, id }, { type: 'delete', data: item })])\n\n return item\n }\n\n async getGroup(groupId: string): Promise<BaseStreamItem<TData>[]> {\n const hashKey = this.makeGroupKey(groupId)\n const values = await this.client.hGetAll(hashKey)\n\n const items = Object.values(values).map((v: string) => JSON.parse(v) as BaseStreamItem<TData>)\n\n const sortDesc = (a: BaseStreamItem<TData>, b: BaseStreamItem<TData>) => {\n const aTime = (a as { startTime?: number }).startTime || 0\n const bTime = (b as { startTime?: number }).startTime || 0\n return aTime - bTime\n }\n return items.sort(sortDesc)\n }\n\n async send<T>(channel: StateStreamEventChannel, event: StateStreamEvent<T>): Promise<void> {\n const channelKey = channel.id\n ? `${this.keyPrefix}events:${this.streamName}:${channel.groupId}:${channel.id}`\n : `${this.keyPrefix}events:${this.streamName}:${channel.groupId}`\n await this.client.publish(channelKey, JSON.stringify(event))\n }\n\n async clear(groupId: string): Promise<void> {\n const hashKey = this.makeGroupKey(groupId)\n await this.client.del(hashKey)\n }\n}\n"],"mappings":";;;AAIA,MAAM,oBAAoB,OAAc;AAExC,IAAa,0BAAb,cAAoD,cAAqB;CAKvE,YAAY,YAAoB,QAAyB,MAAc,mBAAmB;AACxF,QAAM,WAAW;mBAJkB;AAKnC,OAAK,SAAS;AACd,OAAK,MAAM;;CAGb,AAAQ,aAAa,SAAyB;AAC5C,SAAO,GAAG,KAAK,YAAY;;CAG7B,MAAM,IAAI,SAAiB,IAAmD;EAC5E,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,SAAS,GAAG;AACjD,SAAO,QAAQ,KAAK,MAAM,MAAM,GAAG;;CAGrC,MAAM,IAAI,SAAiB,IAAY,MAA6C;EAClF,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAMA,OAA8B;GAAE,GAAG;GAAM;GAAI;EACnD,MAAM,WAAW,KAAK,UAAU,KAAK;EAGrC,MAAM,YADU,MAAM,KAAK,OAAO,QAAQ,SAAS,GAAG,GAC1B,WAAW;AAEvC,QAAM,QAAQ,IAAI;GAChB,KAAK,OAAO,KAAK,SAAS,IAAI,SAAS;GACvC,KAAK,KAAK;IAAE;IAAS;IAAI,EAAE;IAAE,MAAM;IAAW,MAAM;IAAM,CAAC;GAC3D,KAAK,OAAO,OAAO,SAAS,KAAK,IAAI;GACtC,CAAC;AAEF,SAAO;;CAGT,MAAM,OAAO,SAAiB,IAAmD;EAC/E,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,QAAQ,MAAM,KAAK,OAAO,KAAK,SAAS,GAAG;AAEjD,MAAI,CAAC,MAAO,QAAO;EAEnB,MAAM,OAAO,KAAK,MAAM,MAAM;AAE9B,QAAM,QAAQ,IAAI,CAAC,KAAK,OAAO,KAAK,SAAS,GAAG,EAAE,KAAK,KAAK;GAAE;GAAS;GAAI,EAAE;GAAE,MAAM;GAAU,MAAM;GAAM,CAAC,CAAC,CAAC;AAE9G,SAAO;;CAGT,MAAM,SAAS,SAAmD;EAChE,MAAM,UAAU,KAAK,aAAa,QAAQ;EAC1C,MAAM,SAAS,MAAM,KAAK,OAAO,QAAQ,QAAQ;EAEjD,MAAM,QAAQ,OAAO,OAAO,OAAO,CAAC,KAAK,MAAc,KAAK,MAAM,EAAE,CAA0B;EAE9F,MAAM,YAAY,GAA0B,MAA6B;AAGvE,WAFe,EAA6B,aAAa,MAC1C,EAA6B,aAAa;;AAG3D,SAAO,MAAM,KAAK,SAAS;;CAG7B,MAAM,KAAQ,SAAkC,OAA2C;EACzF,MAAM,aAAa,QAAQ,KACvB,GAAG,KAAK,UAAU,SAAS,KAAK,WAAW,GAAG,QAAQ,QAAQ,GAAG,QAAQ,OACzE,GAAG,KAAK,UAAU,SAAS,KAAK,WAAW,GAAG,QAAQ;AAC1D,QAAM,KAAK,OAAO,QAAQ,YAAY,KAAK,UAAU,MAAM,CAAC;;CAG9D,MAAM,MAAM,SAAgC;EAC1C,MAAM,UAAU,KAAK,aAAa,QAAQ;AAC1C,QAAM,KAAK,OAAO,IAAI,QAAQ"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { createTrace } from "./create-trace.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/observability/stream-tracer.ts
|
|
4
|
-
var StreamTracer = class StreamTracer {
|
|
5
|
-
constructor(manager, traceGroup, trace, logger) {
|
|
6
|
-
this.manager = manager;
|
|
7
|
-
this.traceGroup = traceGroup;
|
|
8
|
-
this.trace = trace;
|
|
9
|
-
logger.addListener((level, msg, args) => {
|
|
10
|
-
this.addEvent({
|
|
11
|
-
type: "log",
|
|
12
|
-
timestamp: Date.now(),
|
|
13
|
-
level,
|
|
14
|
-
message: msg,
|
|
15
|
-
metadata: args
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
end(err) {
|
|
20
|
-
if (this.trace.endTime) return;
|
|
21
|
-
this.trace.status = err ? "failed" : "completed";
|
|
22
|
-
this.trace.endTime = Date.now();
|
|
23
|
-
this.trace.error = err;
|
|
24
|
-
this.traceGroup.metadata.completedSteps++;
|
|
25
|
-
this.traceGroup.metadata.activeSteps--;
|
|
26
|
-
if (this.traceGroup.metadata.activeSteps === 0) {
|
|
27
|
-
if (this.traceGroup.status === "running") this.traceGroup.status = "completed";
|
|
28
|
-
this.traceGroup.endTime = Date.now();
|
|
29
|
-
}
|
|
30
|
-
if (err) this.traceGroup.status = "failed";
|
|
31
|
-
this.manager.updateTrace();
|
|
32
|
-
this.manager.updateTraceGroup();
|
|
33
|
-
}
|
|
34
|
-
stateOperation(operation, input) {
|
|
35
|
-
this.addEvent({
|
|
36
|
-
type: "state",
|
|
37
|
-
timestamp: Date.now(),
|
|
38
|
-
operation,
|
|
39
|
-
data: input
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
emitOperation(topic, data, success) {
|
|
43
|
-
this.addEvent({
|
|
44
|
-
type: "emit",
|
|
45
|
-
timestamp: Date.now(),
|
|
46
|
-
topic,
|
|
47
|
-
success,
|
|
48
|
-
data
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
streamOperation(streamName, operation, input) {
|
|
52
|
-
if (operation === "set") {
|
|
53
|
-
const lastEvent = this.trace.events[this.trace.events.length - 1];
|
|
54
|
-
if (lastEvent && lastEvent.type === "stream" && lastEvent.streamName === streamName && lastEvent.data.groupId === input.groupId && lastEvent.data.id === input.id) {
|
|
55
|
-
lastEvent.calls++;
|
|
56
|
-
lastEvent.data.data = input.data;
|
|
57
|
-
lastEvent.maxTimestamp = Date.now();
|
|
58
|
-
this.traceGroup.lastActivity = lastEvent.maxTimestamp;
|
|
59
|
-
this.manager.updateTrace();
|
|
60
|
-
this.manager.updateTraceGroup();
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this.addEvent({
|
|
65
|
-
type: "stream",
|
|
66
|
-
timestamp: Date.now(),
|
|
67
|
-
operation,
|
|
68
|
-
data: input,
|
|
69
|
-
streamName,
|
|
70
|
-
calls: 1
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
child(step, logger) {
|
|
74
|
-
const trace = createTrace(this.traceGroup, step);
|
|
75
|
-
return new StreamTracer(this.manager.child(trace), this.traceGroup, trace, logger);
|
|
76
|
-
}
|
|
77
|
-
addEvent(event) {
|
|
78
|
-
this.trace.events.push(event);
|
|
79
|
-
this.traceGroup.lastActivity = event.timestamp;
|
|
80
|
-
this.manager.updateTrace();
|
|
81
|
-
this.manager.updateTraceGroup();
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
//#endregion
|
|
86
|
-
export { StreamTracer };
|
|
87
|
-
//# sourceMappingURL=stream-tracer.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-tracer.mjs","names":["manager: TraceManager","traceGroup: TraceGroup","trace: Trace"],"sources":["../../../src/observability/stream-tracer.ts"],"sourcesContent":["import type { Logger } from '../logger'\nimport type { Step } from '../types'\nimport { createTrace } from './create-trace'\nimport type { Tracer } from './index'\nimport type { TraceManager } from './trace-manager'\nimport type { StateOperation, StreamOperation, Trace, TraceError, TraceEvent, TraceGroup } from './types'\n\nexport class StreamTracer implements Tracer {\n constructor(\n private readonly manager: TraceManager,\n private readonly traceGroup: TraceGroup,\n private readonly trace: Trace,\n logger: Logger,\n ) {\n logger.addListener((level, msg, args) => {\n this.addEvent({\n type: 'log',\n timestamp: Date.now(),\n level,\n message: msg,\n metadata: args,\n })\n })\n }\n\n end(err?: TraceError) {\n if (this.trace.endTime) {\n // avoiding updating twice\n return\n }\n\n this.trace.status = err ? 'failed' : 'completed'\n this.trace.endTime = Date.now()\n this.trace.error = err\n\n this.traceGroup.metadata.completedSteps++\n this.traceGroup.metadata.activeSteps--\n\n if (this.traceGroup.metadata.activeSteps === 0) {\n if (this.traceGroup.status === 'running') {\n this.traceGroup.status = 'completed'\n }\n this.traceGroup.endTime = Date.now()\n }\n\n if (err) {\n this.traceGroup.status = 'failed'\n }\n\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n }\n\n stateOperation(operation: StateOperation, input: unknown) {\n this.addEvent({\n type: 'state',\n timestamp: Date.now(),\n operation,\n data: input,\n })\n }\n\n emitOperation(topic: string, data: unknown, success: boolean) {\n this.addEvent({\n type: 'emit',\n timestamp: Date.now(),\n topic,\n success,\n data,\n })\n }\n\n streamOperation(\n streamName: string,\n operation: StreamOperation,\n input: { groupId: string; id: string; data?: unknown },\n ) {\n if (operation === 'set') {\n const lastEvent = this.trace.events[this.trace.events.length - 1]\n\n if (\n lastEvent &&\n lastEvent.type === 'stream' &&\n lastEvent.streamName === streamName &&\n lastEvent.data.groupId === input.groupId &&\n lastEvent.data.id === input.id\n ) {\n lastEvent.calls++\n lastEvent.data.data = input.data\n lastEvent.maxTimestamp = Date.now()\n\n this.traceGroup.lastActivity = lastEvent.maxTimestamp\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n\n return\n }\n }\n\n this.addEvent({\n type: 'stream',\n timestamp: Date.now(),\n operation,\n data: input,\n streamName,\n calls: 1,\n })\n }\n\n child(step: Step, logger: Logger) {\n const trace = createTrace(this.traceGroup, step)\n const manager = this.manager.child(trace)\n\n return new StreamTracer(manager, this.traceGroup, trace, logger)\n }\n\n private addEvent(event: TraceEvent) {\n this.trace.events.push(event)\n this.traceGroup.lastActivity = event.timestamp\n\n this.manager.updateTrace()\n this.manager.updateTraceGroup()\n }\n}\n"],"mappings":";;;AAOA,IAAa,eAAb,MAAa,aAA+B;CAC1C,YACE,AAAiBA,SACjB,AAAiBC,YACjB,AAAiBC,OACjB,QACA;EAJiB;EACA;EACA;AAGjB,SAAO,aAAa,OAAO,KAAK,SAAS;AACvC,QAAK,SAAS;IACZ,MAAM;IACN,WAAW,KAAK,KAAK;IACrB;IACA,SAAS;IACT,UAAU;IACX,CAAC;IACF;;CAGJ,IAAI,KAAkB;AACpB,MAAI,KAAK,MAAM,QAEb;AAGF,OAAK,MAAM,SAAS,MAAM,WAAW;AACrC,OAAK,MAAM,UAAU,KAAK,KAAK;AAC/B,OAAK,MAAM,QAAQ;AAEnB,OAAK,WAAW,SAAS;AACzB,OAAK,WAAW,SAAS;AAEzB,MAAI,KAAK,WAAW,SAAS,gBAAgB,GAAG;AAC9C,OAAI,KAAK,WAAW,WAAW,UAC7B,MAAK,WAAW,SAAS;AAE3B,QAAK,WAAW,UAAU,KAAK,KAAK;;AAGtC,MAAI,IACF,MAAK,WAAW,SAAS;AAG3B,OAAK,QAAQ,aAAa;AAC1B,OAAK,QAAQ,kBAAkB;;CAGjC,eAAe,WAA2B,OAAgB;AACxD,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA,MAAM;GACP,CAAC;;CAGJ,cAAc,OAAe,MAAe,SAAkB;AAC5D,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA;GACA;GACD,CAAC;;CAGJ,gBACE,YACA,WACA,OACA;AACA,MAAI,cAAc,OAAO;GACvB,MAAM,YAAY,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,SAAS;AAE/D,OACE,aACA,UAAU,SAAS,YACnB,UAAU,eAAe,cACzB,UAAU,KAAK,YAAY,MAAM,WACjC,UAAU,KAAK,OAAO,MAAM,IAC5B;AACA,cAAU;AACV,cAAU,KAAK,OAAO,MAAM;AAC5B,cAAU,eAAe,KAAK,KAAK;AAEnC,SAAK,WAAW,eAAe,UAAU;AACzC,SAAK,QAAQ,aAAa;AAC1B,SAAK,QAAQ,kBAAkB;AAE/B;;;AAIJ,OAAK,SAAS;GACZ,MAAM;GACN,WAAW,KAAK,KAAK;GACrB;GACA,MAAM;GACN;GACA,OAAO;GACR,CAAC;;CAGJ,MAAM,MAAY,QAAgB;EAChC,MAAM,QAAQ,YAAY,KAAK,YAAY,KAAK;AAGhD,SAAO,IAAI,aAFK,KAAK,QAAQ,MAAM,MAAM,EAER,KAAK,YAAY,OAAO,OAAO;;CAGlE,AAAQ,SAAS,OAAmB;AAClC,OAAK,MAAM,OAAO,KAAK,MAAM;AAC7B,OAAK,WAAW,eAAe,MAAM;AAErC,OAAK,QAAQ,aAAa;AAC1B,OAAK,QAAQ,kBAAkB"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
//#region src/observability/trace-manager.ts
|
|
2
|
-
var TraceManager = class TraceManager {
|
|
3
|
-
constructor(traceStream, traceGroupStream, traceGroup, trace) {
|
|
4
|
-
this.traceStream = traceStream;
|
|
5
|
-
this.traceGroupStream = traceGroupStream;
|
|
6
|
-
this.traceGroup = traceGroup;
|
|
7
|
-
this.trace = trace;
|
|
8
|
-
this.updateTrace();
|
|
9
|
-
this.updateTraceGroup();
|
|
10
|
-
}
|
|
11
|
-
updateTrace() {
|
|
12
|
-
this.traceStream.set(this.traceGroup.id, this.trace.id, this.trace);
|
|
13
|
-
}
|
|
14
|
-
updateTraceGroup() {
|
|
15
|
-
this.traceGroupStream.set("default", this.traceGroup.id, this.traceGroup);
|
|
16
|
-
}
|
|
17
|
-
child(trace) {
|
|
18
|
-
return new TraceManager(this.traceStream, this.traceGroupStream, this.traceGroup, trace);
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
//#endregion
|
|
23
|
-
export { TraceManager };
|
|
24
|
-
//# sourceMappingURL=trace-manager.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trace-manager.mjs","names":["traceStream: MotiaStream<Trace>","traceGroupStream: MotiaStream<TraceGroup>","traceGroup: TraceGroup","trace: Trace"],"sources":["../../../src/observability/trace-manager.ts"],"sourcesContent":["import type { MotiaStream } from '../types-stream'\nimport type { Trace, TraceGroup } from './types'\n\nexport class TraceManager {\n constructor(\n private readonly traceStream: MotiaStream<Trace>,\n private readonly traceGroupStream: MotiaStream<TraceGroup>,\n private readonly traceGroup: TraceGroup,\n private readonly trace: Trace,\n ) {\n this.updateTrace()\n this.updateTraceGroup()\n }\n\n updateTrace() {\n this.traceStream.set(this.traceGroup.id, this.trace.id, this.trace)\n }\n\n updateTraceGroup() {\n this.traceGroupStream.set('default', this.traceGroup.id, this.traceGroup)\n }\n\n child(trace: Trace) {\n return new TraceManager(this.traceStream, this.traceGroupStream, this.traceGroup, trace)\n }\n}\n"],"mappings":";AAGA,IAAa,eAAb,MAAa,aAAa;CACxB,YACE,AAAiBA,aACjB,AAAiBC,kBACjB,AAAiBC,YACjB,AAAiBC,OACjB;EAJiB;EACA;EACA;EACA;AAEjB,OAAK,aAAa;AAClB,OAAK,kBAAkB;;CAGzB,cAAc;AACZ,OAAK,YAAY,IAAI,KAAK,WAAW,IAAI,KAAK,MAAM,IAAI,KAAK,MAAM;;CAGrE,mBAAmB;AACjB,OAAK,iBAAiB,IAAI,WAAW,KAAK,WAAW,IAAI,KAAK,WAAW;;CAG3E,MAAM,OAAc;AAClB,SAAO,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,KAAK,YAAY,MAAM"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { createTrace } from "./create-trace.mjs";
|
|
2
|
-
import { RedisTraceStreamAdapter } from "./redis-trace-stream-adapter.mjs";
|
|
3
|
-
import { StreamTracer } from "./stream-tracer.mjs";
|
|
4
|
-
import { TraceManager } from "./trace-manager.mjs";
|
|
5
|
-
|
|
6
|
-
//#region src/observability/tracer.ts
|
|
7
|
-
const MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS ? Number.parseInt(process.env.MOTIA_MAX_TRACE_GROUPS, 10) : 50;
|
|
8
|
-
var BaseTracerFactory = class {
|
|
9
|
-
constructor(traceStream, traceGroupStream) {
|
|
10
|
-
this.traceStream = traceStream;
|
|
11
|
-
this.traceGroupStream = traceGroupStream;
|
|
12
|
-
}
|
|
13
|
-
async getAllGroups() {
|
|
14
|
-
return await this.traceGroupStream.getGroup("default");
|
|
15
|
-
}
|
|
16
|
-
async deleteGroup(group) {
|
|
17
|
-
const traces = await this.traceStream.getGroup(group.id);
|
|
18
|
-
for (const trace of traces) await this.traceStream.delete(group.id, trace.id);
|
|
19
|
-
await this.traceGroupStream.delete("default", group.id);
|
|
20
|
-
}
|
|
21
|
-
async clear() {
|
|
22
|
-
const groups = await this.getAllGroups();
|
|
23
|
-
for (const group of groups) await this.deleteGroup(group);
|
|
24
|
-
}
|
|
25
|
-
async createTracer(traceId, step, logger) {
|
|
26
|
-
const traceGroup = {
|
|
27
|
-
id: traceId,
|
|
28
|
-
name: step.config.name,
|
|
29
|
-
lastActivity: Date.now(),
|
|
30
|
-
metadata: {
|
|
31
|
-
completedSteps: 0,
|
|
32
|
-
activeSteps: 0,
|
|
33
|
-
totalSteps: 0
|
|
34
|
-
},
|
|
35
|
-
correlationId: void 0,
|
|
36
|
-
status: "running",
|
|
37
|
-
startTime: Date.now()
|
|
38
|
-
};
|
|
39
|
-
const groups = await this.getAllGroups();
|
|
40
|
-
if (groups.length >= MAX_TRACE_GROUPS) {
|
|
41
|
-
const groupsToDelete = groups.sort((a, b) => a.startTime - b.startTime).slice(0, groups.length - MAX_TRACE_GROUPS + 1);
|
|
42
|
-
for (const group of groupsToDelete) await this.deleteGroup(group);
|
|
43
|
-
}
|
|
44
|
-
const trace = createTrace(traceGroup, step);
|
|
45
|
-
return new StreamTracer(new TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace), traceGroup, trace, logger);
|
|
46
|
-
}
|
|
47
|
-
async attachToTrace(traceId, step, logger) {
|
|
48
|
-
const existingGroup = await this.traceGroupStream.get("default", traceId);
|
|
49
|
-
if (!existingGroup) return this.createTracer(traceId, step, logger);
|
|
50
|
-
const trace = createTrace(existingGroup, step);
|
|
51
|
-
return new StreamTracer(new TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace), existingGroup, trace, logger);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const createTracerFactory = (lockedData) => {
|
|
55
|
-
const traceStreamName = "motia-trace";
|
|
56
|
-
const traceStreamAdapter = new RedisTraceStreamAdapter(traceStreamName, lockedData.redisClient);
|
|
57
|
-
const traceStream = lockedData.createStream({
|
|
58
|
-
filePath: traceStreamName,
|
|
59
|
-
hidden: true,
|
|
60
|
-
config: {
|
|
61
|
-
name: traceStreamName,
|
|
62
|
-
baseConfig: {
|
|
63
|
-
storageType: "custom",
|
|
64
|
-
factory: () => traceStreamAdapter
|
|
65
|
-
},
|
|
66
|
-
schema: null
|
|
67
|
-
}
|
|
68
|
-
})();
|
|
69
|
-
const traceGroupName = "motia-trace-group";
|
|
70
|
-
const traceGroupStreamAdapter = new RedisTraceStreamAdapter(traceGroupName, lockedData.redisClient);
|
|
71
|
-
return new BaseTracerFactory(traceStream, lockedData.createStream({
|
|
72
|
-
filePath: traceGroupName,
|
|
73
|
-
hidden: true,
|
|
74
|
-
config: {
|
|
75
|
-
name: traceGroupName,
|
|
76
|
-
baseConfig: {
|
|
77
|
-
storageType: "custom",
|
|
78
|
-
factory: () => traceGroupStreamAdapter
|
|
79
|
-
},
|
|
80
|
-
schema: null
|
|
81
|
-
}
|
|
82
|
-
})());
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
//#endregion
|
|
86
|
-
export { createTracerFactory };
|
|
87
|
-
//# sourceMappingURL=tracer.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.mjs","names":["traceStream: MotiaStream<Trace>","traceGroupStream: MotiaStream<TraceGroup>","traceGroup: TraceGroup","traceStreamAdapter: MotiaStream<Trace>","traceGroupStreamAdapter: MotiaStream<TraceGroup>"],"sources":["../../../src/observability/tracer.ts"],"sourcesContent":["import { FileStreamAdapterManager } from '../adapters/defaults/stream/file-stream-adapter-manager'\nimport type { LockedData } from '../locked-data'\nimport type { Logger } from '../logger'\nimport type { Step } from '../types'\nimport type { MotiaStream } from '../types-stream'\nimport { createTrace } from './create-trace'\nimport type { TracerFactory } from './index'\nimport { RedisTraceStreamAdapter } from './redis-trace-stream-adapter'\nimport { StreamTracer } from './stream-tracer'\nimport { TraceManager } from './trace-manager'\nimport type { Trace, TraceGroup } from './types'\n\nconst MAX_TRACE_GROUPS = process.env.MOTIA_MAX_TRACE_GROUPS //\n ? Number.parseInt(process.env.MOTIA_MAX_TRACE_GROUPS, 10)\n : 50\n\nexport class BaseTracerFactory implements TracerFactory {\n constructor(\n private readonly traceStream: MotiaStream<Trace>,\n private readonly traceGroupStream: MotiaStream<TraceGroup>,\n ) {}\n\n private async getAllGroups() {\n return await this.traceGroupStream.getGroup('default')\n }\n\n private async deleteGroup(group: TraceGroup) {\n const traces = await this.traceStream.getGroup(group.id)\n\n for (const trace of traces) {\n await this.traceStream.delete(group.id, trace.id)\n }\n await this.traceGroupStream.delete('default', group.id)\n }\n\n async clear() {\n const groups = await this.getAllGroups()\n\n for (const group of groups) {\n await this.deleteGroup(group)\n }\n }\n\n async createTracer(traceId: string, step: Step, logger: Logger) {\n const traceGroup: TraceGroup = {\n id: traceId,\n name: step.config.name,\n lastActivity: Date.now(),\n metadata: {\n completedSteps: 0,\n activeSteps: 0,\n totalSteps: 0,\n },\n correlationId: undefined,\n status: 'running',\n startTime: Date.now(),\n }\n\n const groups = await this.getAllGroups()\n\n if (groups.length >= MAX_TRACE_GROUPS) {\n const groupsToDelete = groups\n .sort((a, b) => a.startTime - b.startTime) // date ascending\n .slice(0, groups.length - MAX_TRACE_GROUPS + 1)\n\n for (const group of groupsToDelete) {\n await this.deleteGroup(group)\n }\n }\n\n const trace = createTrace(traceGroup, step)\n const manager = new TraceManager(this.traceStream, this.traceGroupStream, traceGroup, trace)\n\n return new StreamTracer(manager, traceGroup, trace, logger)\n }\n\n async attachToTrace(traceId: string, step: Step, logger: Logger) {\n const existingGroup = await this.traceGroupStream.get('default', traceId)\n\n if (!existingGroup) {\n return this.createTracer(traceId, step, logger)\n }\n\n const trace = createTrace(existingGroup, step)\n const manager = new TraceManager(this.traceStream, this.traceGroupStream, existingGroup, trace)\n\n return new StreamTracer(manager, existingGroup, trace, logger)\n }\n}\n\nexport const createTracerFactory = (lockedData: LockedData): TracerFactory => {\n const traceStreamName = 'motia-trace'\n const traceStreamAdapter: MotiaStream<Trace> = new RedisTraceStreamAdapter(traceStreamName, lockedData.redisClient)\n\n const traceStream = lockedData.createStream<Trace>({\n filePath: traceStreamName,\n hidden: true,\n config: {\n name: traceStreamName,\n baseConfig: { storageType: 'custom', factory: () => traceStreamAdapter },\n schema: null as never,\n },\n })()\n\n const traceGroupName = 'motia-trace-group'\n const traceGroupStreamAdapter: MotiaStream<TraceGroup> = new RedisTraceStreamAdapter(\n traceGroupName,\n lockedData.redisClient,\n )\n\n const traceGroupStream = lockedData.createStream<TraceGroup>({\n filePath: traceGroupName,\n hidden: true,\n config: {\n name: traceGroupName,\n baseConfig: { storageType: 'custom', factory: () => traceGroupStreamAdapter },\n schema: null as never,\n },\n })()\n\n return new BaseTracerFactory(traceStream, traceGroupStream)\n}\n"],"mappings":";;;;;;AAYA,MAAM,mBAAmB,QAAQ,IAAI,yBACjC,OAAO,SAAS,QAAQ,IAAI,wBAAwB,GAAG,GACvD;AAEJ,IAAa,oBAAb,MAAwD;CACtD,YACE,AAAiBA,aACjB,AAAiBC,kBACjB;EAFiB;EACA;;CAGnB,MAAc,eAAe;AAC3B,SAAO,MAAM,KAAK,iBAAiB,SAAS,UAAU;;CAGxD,MAAc,YAAY,OAAmB;EAC3C,MAAM,SAAS,MAAM,KAAK,YAAY,SAAS,MAAM,GAAG;AAExD,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,YAAY,OAAO,MAAM,IAAI,MAAM,GAAG;AAEnD,QAAM,KAAK,iBAAiB,OAAO,WAAW,MAAM,GAAG;;CAGzD,MAAM,QAAQ;EACZ,MAAM,SAAS,MAAM,KAAK,cAAc;AAExC,OAAK,MAAM,SAAS,OAClB,OAAM,KAAK,YAAY,MAAM;;CAIjC,MAAM,aAAa,SAAiB,MAAY,QAAgB;EAC9D,MAAMC,aAAyB;GAC7B,IAAI;GACJ,MAAM,KAAK,OAAO;GAClB,cAAc,KAAK,KAAK;GACxB,UAAU;IACR,gBAAgB;IAChB,aAAa;IACb,YAAY;IACb;GACD,eAAe;GACf,QAAQ;GACR,WAAW,KAAK,KAAK;GACtB;EAED,MAAM,SAAS,MAAM,KAAK,cAAc;AAExC,MAAI,OAAO,UAAU,kBAAkB;GACrC,MAAM,iBAAiB,OACpB,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,UAAU,CACzC,MAAM,GAAG,OAAO,SAAS,mBAAmB,EAAE;AAEjD,QAAK,MAAM,SAAS,eAClB,OAAM,KAAK,YAAY,MAAM;;EAIjC,MAAM,QAAQ,YAAY,YAAY,KAAK;AAG3C,SAAO,IAAI,aAFK,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,YAAY,MAAM,EAE3D,YAAY,OAAO,OAAO;;CAG7D,MAAM,cAAc,SAAiB,MAAY,QAAgB;EAC/D,MAAM,gBAAgB,MAAM,KAAK,iBAAiB,IAAI,WAAW,QAAQ;AAEzE,MAAI,CAAC,cACH,QAAO,KAAK,aAAa,SAAS,MAAM,OAAO;EAGjD,MAAM,QAAQ,YAAY,eAAe,KAAK;AAG9C,SAAO,IAAI,aAFK,IAAI,aAAa,KAAK,aAAa,KAAK,kBAAkB,eAAe,MAAM,EAE9D,eAAe,OAAO,OAAO;;;AAIlE,MAAa,uBAAuB,eAA0C;CAC5E,MAAM,kBAAkB;CACxB,MAAMC,qBAAyC,IAAI,wBAAwB,iBAAiB,WAAW,YAAY;CAEnH,MAAM,cAAc,WAAW,aAAoB;EACjD,UAAU;EACV,QAAQ;EACR,QAAQ;GACN,MAAM;GACN,YAAY;IAAE,aAAa;IAAU,eAAe;IAAoB;GACxE,QAAQ;GACT;EACF,CAAC,EAAE;CAEJ,MAAM,iBAAiB;CACvB,MAAMC,0BAAmD,IAAI,wBAC3D,gBACA,WAAW,YACZ;AAYD,QAAO,IAAI,kBAAkB,aAVJ,WAAW,aAAyB;EAC3D,UAAU;EACV,QAAQ;EACR,QAAQ;GACN,MAAM;GACN,YAAY;IAAE,aAAa;IAAU,eAAe;IAAyB;GAC7E,QAAQ;GACT;EACF,CAAC,EAAE,CAEuD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import "../types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/observability/types.d.ts
|
|
4
|
-
|
|
5
|
-
type TraceError = {
|
|
6
|
-
message: string;
|
|
7
|
-
code?: string | number;
|
|
8
|
-
stack?: string;
|
|
9
|
-
};
|
|
10
|
-
type StateOperation = 'get' | 'getGroup' | 'set' | 'delete' | 'clear';
|
|
11
|
-
type StreamOperation = 'get' | 'getGroup' | 'set' | 'delete' | 'clear' | 'send';
|
|
12
|
-
//#endregion
|
|
13
|
-
export { StateOperation, StreamOperation, TraceError };
|
|
14
|
-
//# sourceMappingURL=types.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/observability/types.ts"],"sourcesContent":[],"mappings":";;;;KAiBY,UAAA;;;;;KAqBA,cAAA;KACA,eAAA"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import pc from "picocolors";
|
|
2
|
-
|
|
3
|
-
//#region src/pretty-print.ts
|
|
4
|
-
const stepTag = (step) => pc.bold(pc.cyan(step));
|
|
5
|
-
const timestampTag = (timestamp) => pc.gray(timestamp);
|
|
6
|
-
const traceIdTag = (traceId) => pc.gray(traceId);
|
|
7
|
-
const levelTags = {
|
|
8
|
-
error: pc.red("[ERROR]"),
|
|
9
|
-
info: pc.blue("[INFO]"),
|
|
10
|
-
warn: pc.yellow("[WARN]"),
|
|
11
|
-
debug: pc.gray("[DEBUG]"),
|
|
12
|
-
trace: pc.gray("[TRACE]")
|
|
13
|
-
};
|
|
14
|
-
const numericTag = (value) => pc.green(value);
|
|
15
|
-
const stringTag = (value) => pc.cyan(value);
|
|
16
|
-
const booleanTag = (value) => pc.blue(value);
|
|
17
|
-
const arrayBrackets = ["[", "]"].map((s) => pc.gray(s));
|
|
18
|
-
const objectBrackets = ["{", "}"].map((s) => pc.gray(s));
|
|
19
|
-
const prettyPrintObject = (obj, depth = 0, parentIsLast = false, prefix = "") => {
|
|
20
|
-
const tab = prefix + (depth === 0 ? "" : parentIsLast ? "│ " : "│ ");
|
|
21
|
-
if (depth > 2) return `${tab} └ ${pc.gray("[...]")}`;
|
|
22
|
-
const entries = Object.entries(obj);
|
|
23
|
-
return entries.map(([key, value], index) => {
|
|
24
|
-
const isLast = index === entries.length - 1;
|
|
25
|
-
const isObject = typeof value === "object" && value !== null;
|
|
26
|
-
const prefix$1 = isLast && !isObject ? "└" : "├";
|
|
27
|
-
if (isObject) {
|
|
28
|
-
const subObject = prettyPrintObject(value, depth + 1, isLast, tab);
|
|
29
|
-
const [start, end] = Array.isArray(value) ? arrayBrackets : objectBrackets;
|
|
30
|
-
return `${tab}${prefix$1} ${key}: ${start}\n${subObject}\n${tab}${isLast ? "└" : "│"} ${end}`;
|
|
31
|
-
}
|
|
32
|
-
let printedValue = value;
|
|
33
|
-
if (typeof value === "number") printedValue = numericTag(String(value));
|
|
34
|
-
else if (typeof value === "boolean") printedValue = booleanTag(String(value));
|
|
35
|
-
else if (typeof value === "string") printedValue = stringTag(value);
|
|
36
|
-
return `${tab}${prefix$1} ${key}: ${printedValue}`;
|
|
37
|
-
}).join("\n");
|
|
38
|
-
};
|
|
39
|
-
const prettyPrint = (json, excludeDetails = false) => {
|
|
40
|
-
const { time, traceId, msg, flows, level, step, ...details } = json;
|
|
41
|
-
const levelTag = levelTags[level];
|
|
42
|
-
const timestamp = timestampTag(`[${new Date(time).toLocaleTimeString()}]`);
|
|
43
|
-
const objectHasKeys = Object.keys(details).length > 0;
|
|
44
|
-
console.log(`${timestamp} ${traceIdTag(traceId)} ${levelTag} ${stepTag(step)} ${msg}`);
|
|
45
|
-
if (objectHasKeys && !excludeDetails) console.log(prettyPrintObject(details));
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
//#endregion
|
|
49
|
-
export { prettyPrint };
|
|
50
|
-
//# sourceMappingURL=pretty-print.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pretty-print.mjs","names":["levelTags: Record<string, string>","prefix"],"sources":["../../src/pretty-print.ts"],"sourcesContent":["import pc from 'picocolors'\n\nconst stepTag = (step: string) => pc.bold(pc.cyan(step))\nconst timestampTag = (timestamp: string) => pc.gray(timestamp)\nconst traceIdTag = (traceId: string) => pc.gray(traceId)\n\nconst levelTags: Record<string, string> = {\n error: pc.red('[ERROR]'),\n info: pc.blue('[INFO]'),\n warn: pc.yellow('[WARN]'),\n debug: pc.gray('[DEBUG]'),\n trace: pc.gray('[TRACE]'),\n}\n\nconst numericTag = (value: string) => pc.green(value)\nconst stringTag = (value: string) => pc.cyan(value)\nconst booleanTag = (value: string) => pc.blue(value)\n\nconst arrayBrackets = ['[', ']'].map((s) => pc.gray(s))\nconst objectBrackets = ['{', '}'].map((s) => pc.gray(s))\n\nconst prettyPrintObject = (obj: Record<string, any>, depth = 0, parentIsLast = false, prefix = ''): string => {\n const tab = prefix + (depth === 0 ? '' : parentIsLast ? '│ ' : '│ ')\n\n if (depth > 2) {\n return `${tab} └ ${pc.gray('[...]')}`\n }\n\n const entries = Object.entries(obj)\n\n return entries\n .map(([key, value], index) => {\n const isLast = index === entries.length - 1\n const isObject = typeof value === 'object' && value !== null\n const prefix = isLast && !isObject ? '└' : '├'\n\n if (isObject) {\n const subObject = prettyPrintObject(value, depth + 1, isLast, tab)\n const [start, end] = Array.isArray(value) ? arrayBrackets : objectBrackets\n\n return `${tab}${prefix} ${key}: ${start}\\n${subObject}\\n${tab}${isLast ? '└' : '│'} ${end}`\n }\n\n let printedValue = value\n\n if (typeof value === 'number') {\n printedValue = numericTag(String(value))\n } else if (typeof value === 'boolean') {\n printedValue = booleanTag(String(value))\n } else if (typeof value === 'string') {\n printedValue = stringTag(value)\n }\n\n return `${tab}${prefix} ${key}: ${printedValue}`\n })\n .join('\\n')\n}\n\nexport const prettyPrint = (json: Record<string, any>, excludeDetails = false): void => {\n const { time, traceId, msg, flows, level, step, ...details } = json\n const levelTag = levelTags[level]\n const timestamp = timestampTag(`[${new Date(time).toLocaleTimeString()}]`)\n const objectHasKeys = Object.keys(details).length > 0\n\n console.log(`${timestamp} ${traceIdTag(traceId)} ${levelTag} ${stepTag(step)} ${msg}`)\n\n if (objectHasKeys && !excludeDetails) {\n console.log(prettyPrintObject(details))\n }\n}\n"],"mappings":";;;AAEA,MAAM,WAAW,SAAiB,GAAG,KAAK,GAAG,KAAK,KAAK,CAAC;AACxD,MAAM,gBAAgB,cAAsB,GAAG,KAAK,UAAU;AAC9D,MAAM,cAAc,YAAoB,GAAG,KAAK,QAAQ;AAExD,MAAMA,YAAoC;CACxC,OAAO,GAAG,IAAI,UAAU;CACxB,MAAM,GAAG,KAAK,SAAS;CACvB,MAAM,GAAG,OAAO,SAAS;CACzB,OAAO,GAAG,KAAK,UAAU;CACzB,OAAO,GAAG,KAAK,UAAU;CAC1B;AAED,MAAM,cAAc,UAAkB,GAAG,MAAM,MAAM;AACrD,MAAM,aAAa,UAAkB,GAAG,KAAK,MAAM;AACnD,MAAM,cAAc,UAAkB,GAAG,KAAK,MAAM;AAEpD,MAAM,gBAAgB,CAAC,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,KAAK,EAAE,CAAC;AACvD,MAAM,iBAAiB,CAAC,KAAK,IAAI,CAAC,KAAK,MAAM,GAAG,KAAK,EAAE,CAAC;AAExD,MAAM,qBAAqB,KAA0B,QAAQ,GAAG,eAAe,OAAO,SAAS,OAAe;CAC5G,MAAM,MAAM,UAAU,UAAU,IAAI,KAAK,eAAe,OAAO;AAE/D,KAAI,QAAQ,EACV,QAAO,GAAG,IAAI,KAAK,GAAG,KAAK,QAAQ;CAGrC,MAAM,UAAU,OAAO,QAAQ,IAAI;AAEnC,QAAO,QACJ,KAAK,CAAC,KAAK,QAAQ,UAAU;EAC5B,MAAM,SAAS,UAAU,QAAQ,SAAS;EAC1C,MAAM,WAAW,OAAO,UAAU,YAAY,UAAU;EACxD,MAAMC,WAAS,UAAU,CAAC,WAAW,MAAM;AAE3C,MAAI,UAAU;GACZ,MAAM,YAAY,kBAAkB,OAAO,QAAQ,GAAG,QAAQ,IAAI;GAClE,MAAM,CAAC,OAAO,OAAO,MAAM,QAAQ,MAAM,GAAG,gBAAgB;AAE5D,UAAO,GAAG,MAAMA,SAAO,GAAG,IAAI,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,SAAS,MAAM,IAAI,GAAG;;EAGxF,IAAI,eAAe;AAEnB,MAAI,OAAO,UAAU,SACnB,gBAAe,WAAW,OAAO,MAAM,CAAC;WAC/B,OAAO,UAAU,UAC1B,gBAAe,WAAW,OAAO,MAAM,CAAC;WAC/B,OAAO,UAAU,SAC1B,gBAAe,UAAU,MAAM;AAGjC,SAAO,GAAG,MAAMA,SAAO,GAAG,IAAI,IAAI;GAClC,CACD,KAAK,KAAK;;AAGf,MAAa,eAAe,MAA2B,iBAAiB,UAAgB;CACtF,MAAM,EAAE,MAAM,SAAS,KAAK,OAAO,OAAO,MAAM,GAAG,YAAY;CAC/D,MAAM,WAAW,UAAU;CAC3B,MAAM,YAAY,aAAa,IAAI,IAAI,KAAK,KAAK,CAAC,oBAAoB,CAAC,GAAG;CAC1E,MAAM,gBAAgB,OAAO,KAAK,QAAQ,CAAC,SAAS;AAEpD,SAAQ,IAAI,GAAG,UAAU,GAAG,WAAW,QAAQ,CAAC,GAAG,SAAS,GAAG,QAAQ,KAAK,CAAC,GAAG,MAAM;AAEtF,KAAI,iBAAiB,CAAC,eACpB,SAAQ,IAAI,kBAAkB,QAAQ,CAAC"}
|