@siglo/core 0.0.0-stage → 1.0.0
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/LICENSE +21 -0
- package/README.md +100 -2
- package/dist/features/cache/index.d.ts +9 -0
- package/dist/features/cache/index.d.ts.map +1 -0
- package/dist/features/cache/index.js +196 -0
- package/dist/features/cache/index.js.map +1 -0
- package/dist/features/combinators/branch.d.ts +12 -0
- package/dist/features/combinators/branch.d.ts.map +1 -0
- package/dist/features/combinators/branch.js +156 -0
- package/dist/features/combinators/branch.js.map +1 -0
- package/dist/features/combinators/index.d.ts +4 -0
- package/dist/features/combinators/index.d.ts.map +1 -0
- package/dist/features/combinators/index.js +20 -0
- package/dist/features/combinators/index.js.map +1 -0
- package/dist/features/combinators/map.d.ts +10 -0
- package/dist/features/combinators/map.d.ts.map +1 -0
- package/dist/features/combinators/map.js +173 -0
- package/dist/features/combinators/map.js.map +1 -0
- package/dist/features/combinators/parallel.d.ts +33 -0
- package/dist/features/combinators/parallel.d.ts.map +1 -0
- package/dist/features/combinators/parallel.js +353 -0
- package/dist/features/combinators/parallel.js.map +1 -0
- package/dist/features/compensation/index.d.ts +5 -0
- package/dist/features/compensation/index.d.ts.map +1 -0
- package/dist/features/compensation/index.js +21 -0
- package/dist/features/compensation/index.js.map +1 -0
- package/dist/features/compensation/manager.d.ts +11 -0
- package/dist/features/compensation/manager.d.ts.map +1 -0
- package/dist/features/compensation/manager.js +143 -0
- package/dist/features/compensation/manager.js.map +1 -0
- package/dist/features/compensation/reconciler.d.ts +26 -0
- package/dist/features/compensation/reconciler.d.ts.map +1 -0
- package/dist/features/compensation/reconciler.js +104 -0
- package/dist/features/compensation/reconciler.js.map +1 -0
- package/dist/features/compensation/registry.d.ts +24 -0
- package/dist/features/compensation/registry.d.ts.map +1 -0
- package/dist/features/compensation/registry.js +47 -0
- package/dist/features/compensation/registry.js.map +1 -0
- package/dist/features/compensation/types.d.ts +49 -0
- package/dist/features/compensation/types.d.ts.map +1 -0
- package/dist/features/compensation/types.js +3 -0
- package/dist/features/compensation/types.js.map +1 -0
- package/dist/features/configurator/getLogger.d.ts +2 -0
- package/dist/features/configurator/getLogger.d.ts.map +1 -0
- package/dist/features/configurator/getLogger.js +17 -0
- package/dist/features/configurator/getLogger.js.map +1 -0
- package/dist/features/configurator/getPlugins.d.ts +10 -0
- package/dist/features/configurator/getPlugins.d.ts.map +1 -0
- package/dist/features/configurator/getPlugins.js +64 -0
- package/dist/features/configurator/getPlugins.js.map +1 -0
- package/dist/features/configurator/index.d.ts +5 -0
- package/dist/features/configurator/index.d.ts.map +1 -0
- package/dist/features/configurator/index.js +17 -0
- package/dist/features/configurator/index.js.map +1 -0
- package/dist/features/context/get.d.ts +6 -0
- package/dist/features/context/get.d.ts.map +1 -0
- package/dist/features/context/get.js +15 -0
- package/dist/features/context/get.js.map +1 -0
- package/dist/features/context/index.d.ts +17 -0
- package/dist/features/context/index.d.ts.map +1 -0
- package/dist/features/context/index.js +65 -0
- package/dist/features/context/index.js.map +1 -0
- package/dist/features/context/proxy.d.ts +2 -0
- package/dist/features/context/proxy.d.ts.map +1 -0
- package/dist/features/context/proxy.js +72 -0
- package/dist/features/context/proxy.js.map +1 -0
- package/dist/features/context/set.d.ts +8 -0
- package/dist/features/context/set.d.ts.map +1 -0
- package/dist/features/context/set.js +23 -0
- package/dist/features/context/set.js.map +1 -0
- package/dist/features/context/validators.d.ts +10 -0
- package/dist/features/context/validators.d.ts.map +1 -0
- package/dist/features/context/validators.js +77 -0
- package/dist/features/context/validators.js.map +1 -0
- package/dist/features/durable/index.d.ts +6 -0
- package/dist/features/durable/index.d.ts.map +1 -0
- package/dist/features/durable/index.js +22 -0
- package/dist/features/durable/index.js.map +1 -0
- package/dist/features/durable/lock.d.ts +3 -0
- package/dist/features/durable/lock.d.ts.map +1 -0
- package/dist/features/durable/lock.js +23 -0
- package/dist/features/durable/lock.js.map +1 -0
- package/dist/features/durable/manager.d.ts +20 -0
- package/dist/features/durable/manager.d.ts.map +1 -0
- package/dist/features/durable/manager.js +81 -0
- package/dist/features/durable/manager.js.map +1 -0
- package/dist/features/durable/resume.d.ts +9 -0
- package/dist/features/durable/resume.d.ts.map +1 -0
- package/dist/features/durable/resume.js +170 -0
- package/dist/features/durable/resume.js.map +1 -0
- package/dist/features/durable/types.d.ts +21 -0
- package/dist/features/durable/types.d.ts.map +1 -0
- package/dist/features/durable/types.js +3 -0
- package/dist/features/durable/types.js.map +1 -0
- package/dist/features/durable/versioning.d.ts +3 -0
- package/dist/features/durable/versioning.d.ts.map +1 -0
- package/dist/features/durable/versioning.js +22 -0
- package/dist/features/durable/versioning.js.map +1 -0
- package/dist/features/durable/wait.d.ts +6 -0
- package/dist/features/durable/wait.d.ts.map +1 -0
- package/dist/features/durable/wait.js +98 -0
- package/dist/features/durable/wait.js.map +1 -0
- package/dist/features/events/capture.d.ts +18 -0
- package/dist/features/events/capture.d.ts.map +1 -0
- package/dist/features/events/capture.js +87 -0
- package/dist/features/events/capture.js.map +1 -0
- package/dist/features/events/emitter.d.ts +23 -0
- package/dist/features/events/emitter.d.ts.map +1 -0
- package/dist/features/events/emitter.js +229 -0
- package/dist/features/events/emitter.js.map +1 -0
- package/dist/features/events/index.d.ts +6 -0
- package/dist/features/events/index.d.ts.map +1 -0
- package/dist/features/events/index.js +22 -0
- package/dist/features/events/index.js.map +1 -0
- package/dist/features/events/inspection.d.ts +64 -0
- package/dist/features/events/inspection.d.ts.map +1 -0
- package/dist/features/events/inspection.js +126 -0
- package/dist/features/events/inspection.js.map +1 -0
- package/dist/features/events/redaction.d.ts +8 -0
- package/dist/features/events/redaction.d.ts.map +1 -0
- package/dist/features/events/redaction.js +117 -0
- package/dist/features/events/redaction.js.map +1 -0
- package/dist/features/events/types.d.ts +212 -0
- package/dist/features/events/types.d.ts.map +1 -0
- package/dist/features/events/types.js +3 -0
- package/dist/features/events/types.js.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/AddInitialParam.d.ts +4 -0
- package/dist/features/executer/SingleChain/Helpers/AddInitialParam.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/AddInitialParam.js +15 -0
- package/dist/features/executer/SingleChain/Helpers/AddInitialParam.js.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/AddSpecToContext.d.ts +4 -0
- package/dist/features/executer/SingleChain/Helpers/AddSpecToContext.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/AddSpecToContext.js +13 -0
- package/dist/features/executer/SingleChain/Helpers/AddSpecToContext.js.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/ConvertParamFromSpec.d.ts +5 -0
- package/dist/features/executer/SingleChain/Helpers/ConvertParamFromSpec.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/ConvertParamFromSpec.js +19 -0
- package/dist/features/executer/SingleChain/Helpers/ConvertParamFromSpec.js.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.d.ts +4 -0
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.js +68 -0
- package/dist/features/executer/SingleChain/Helpers/ResolveChain.js.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/SetResolvedContexts.d.ts +4 -0
- package/dist/features/executer/SingleChain/Helpers/SetResolvedContexts.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/Helpers/SetResolvedContexts.js +16 -0
- package/dist/features/executer/SingleChain/Helpers/SetResolvedContexts.js.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.d.ts +4 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.js +39 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnAfter.js.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.d.ts +4 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.js +65 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnBefore.js.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.d.ts +15 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.js +238 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnFail.js.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.d.ts +4 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.js +39 -0
- package/dist/features/executer/SingleChain/LifeCycle/OnSkip.js.map +1 -0
- package/dist/features/executer/SingleChain/StartChain.d.ts +6 -0
- package/dist/features/executer/SingleChain/StartChain.d.ts.map +1 -0
- package/dist/features/executer/SingleChain/StartChain.js +612 -0
- package/dist/features/executer/SingleChain/StartChain.js.map +1 -0
- package/dist/features/executer/array-chain.d.ts +9 -0
- package/dist/features/executer/array-chain.d.ts.map +1 -0
- package/dist/features/executer/array-chain.js +153 -0
- package/dist/features/executer/array-chain.js.map +1 -0
- package/dist/features/executer/exceptions.d.ts +153 -0
- package/dist/features/executer/exceptions.d.ts.map +1 -0
- package/dist/features/executer/exceptions.js +457 -0
- package/dist/features/executer/exceptions.js.map +1 -0
- package/dist/features/executer/index.d.ts +12 -0
- package/dist/features/executer/index.d.ts.map +1 -0
- package/dist/features/executer/index.js +53 -0
- package/dist/features/executer/index.js.map +1 -0
- package/dist/features/executer/reducer.d.ts +12 -0
- package/dist/features/executer/reducer.d.ts.map +1 -0
- package/dist/features/executer/reducer.js +55 -0
- package/dist/features/executer/reducer.js.map +1 -0
- package/dist/features/executer/runner.d.ts +21 -0
- package/dist/features/executer/runner.d.ts.map +1 -0
- package/dist/features/executer/runner.js +409 -0
- package/dist/features/executer/runner.js.map +1 -0
- package/dist/features/executer/signals.d.ts +5 -0
- package/dist/features/executer/signals.d.ts.map +1 -0
- package/dist/features/executer/signals.js +36 -0
- package/dist/features/executer/signals.js.map +1 -0
- package/dist/features/executer/util.d.ts +4 -0
- package/dist/features/executer/util.d.ts.map +1 -0
- package/dist/features/executer/util.js +61 -0
- package/dist/features/executer/util.js.map +1 -0
- package/dist/features/graph/export.d.ts +21 -0
- package/dist/features/graph/export.d.ts.map +1 -0
- package/dist/features/graph/export.js +145 -0
- package/dist/features/graph/export.js.map +1 -0
- package/dist/features/graph/index.d.ts +6 -0
- package/dist/features/graph/index.d.ts.map +1 -0
- package/dist/features/graph/index.js +22 -0
- package/dist/features/graph/index.js.map +1 -0
- package/dist/features/graph/inspector.d.ts +3 -0
- package/dist/features/graph/inspector.d.ts.map +1 -0
- package/dist/features/graph/inspector.js +117 -0
- package/dist/features/graph/inspector.js.map +1 -0
- package/dist/features/graph/toGraph.d.ts +4 -0
- package/dist/features/graph/toGraph.d.ts.map +1 -0
- package/dist/features/graph/toGraph.js +94 -0
- package/dist/features/graph/toGraph.js.map +1 -0
- package/dist/features/graph/types.d.ts +67 -0
- package/dist/features/graph/types.d.ts.map +1 -0
- package/dist/features/graph/types.js +3 -0
- package/dist/features/graph/types.js.map +1 -0
- package/dist/features/graph/validator.d.ts +4 -0
- package/dist/features/graph/validator.d.ts.map +1 -0
- package/dist/features/graph/validator.js +99 -0
- package/dist/features/graph/validator.js.map +1 -0
- package/dist/features/idempotency/index.d.ts +4 -0
- package/dist/features/idempotency/index.d.ts.map +1 -0
- package/dist/features/idempotency/index.js +20 -0
- package/dist/features/idempotency/index.js.map +1 -0
- package/dist/features/idempotency/key.d.ts +7 -0
- package/dist/features/idempotency/key.d.ts.map +1 -0
- package/dist/features/idempotency/key.js +9 -0
- package/dist/features/idempotency/key.js.map +1 -0
- package/dist/features/idempotency/store.d.ts +20 -0
- package/dist/features/idempotency/store.d.ts.map +1 -0
- package/dist/features/idempotency/store.js +104 -0
- package/dist/features/idempotency/store.js.map +1 -0
- package/dist/features/idempotency/types.d.ts +26 -0
- package/dist/features/idempotency/types.d.ts.map +1 -0
- package/dist/features/idempotency/types.js +15 -0
- package/dist/features/idempotency/types.js.map +1 -0
- package/dist/features/logger/Log.d.ts +7 -0
- package/dist/features/logger/Log.d.ts.map +1 -0
- package/dist/features/logger/Log.js +12 -0
- package/dist/features/logger/Log.js.map +1 -0
- package/dist/features/logger/error.d.ts +3 -0
- package/dist/features/logger/error.d.ts.map +1 -0
- package/dist/features/logger/error.js +8 -0
- package/dist/features/logger/error.js.map +1 -0
- package/dist/features/logger/index.d.ts +5 -0
- package/dist/features/logger/index.d.ts.map +1 -0
- package/dist/features/logger/index.js +17 -0
- package/dist/features/logger/index.js.map +1 -0
- package/dist/features/logger/info.d.ts +3 -0
- package/dist/features/logger/info.d.ts.map +1 -0
- package/dist/features/logger/info.js +8 -0
- package/dist/features/logger/info.js.map +1 -0
- package/dist/features/network/index.d.ts +7 -0
- package/dist/features/network/index.d.ts.map +1 -0
- package/dist/features/network/index.js +23 -0
- package/dist/features/network/index.js.map +1 -0
- package/dist/features/network/interceptor.d.ts +5 -0
- package/dist/features/network/interceptor.d.ts.map +1 -0
- package/dist/features/network/interceptor.js +387 -0
- package/dist/features/network/interceptor.js.map +1 -0
- package/dist/features/network/ip.d.ts +28 -0
- package/dist/features/network/ip.d.ts.map +1 -0
- package/dist/features/network/ip.js +256 -0
- package/dist/features/network/ip.js.map +1 -0
- package/dist/features/network/matcher.d.ts +12 -0
- package/dist/features/network/matcher.d.ts.map +1 -0
- package/dist/features/network/matcher.js +213 -0
- package/dist/features/network/matcher.js.map +1 -0
- package/dist/features/network/resolver.d.ts +3 -0
- package/dist/features/network/resolver.d.ts.map +1 -0
- package/dist/features/network/resolver.js +116 -0
- package/dist/features/network/resolver.js.map +1 -0
- package/dist/features/network/storage.d.ts +4 -0
- package/dist/features/network/storage.d.ts.map +1 -0
- package/dist/features/network/storage.js +6 -0
- package/dist/features/network/storage.js.map +1 -0
- package/dist/features/network/types.d.ts +23 -0
- package/dist/features/network/types.d.ts.map +1 -0
- package/dist/features/network/types.js +3 -0
- package/dist/features/network/types.js.map +1 -0
- package/dist/features/plugins/after.d.ts +3 -0
- package/dist/features/plugins/after.d.ts.map +1 -0
- package/dist/features/plugins/after.js +54 -0
- package/dist/features/plugins/after.js.map +1 -0
- package/dist/features/plugins/before.d.ts +7 -0
- package/dist/features/plugins/before.d.ts.map +1 -0
- package/dist/features/plugins/before.js +54 -0
- package/dist/features/plugins/before.js.map +1 -0
- package/dist/features/plugins/index.d.ts +6 -0
- package/dist/features/plugins/index.d.ts.map +1 -0
- package/dist/features/plugins/index.js +17 -0
- package/dist/features/plugins/index.js.map +1 -0
- package/dist/features/spec/SpecFailedException.d.ts +8 -0
- package/dist/features/spec/SpecFailedException.d.ts.map +1 -0
- package/dist/features/spec/SpecFailedException.js +23 -0
- package/dist/features/spec/SpecFailedException.js.map +1 -0
- package/dist/features/spec/defaults.d.ts +9 -0
- package/dist/features/spec/defaults.d.ts.map +1 -0
- package/dist/features/spec/defaults.js +34 -0
- package/dist/features/spec/defaults.js.map +1 -0
- package/dist/features/spec/index.d.ts +33 -0
- package/dist/features/spec/index.d.ts.map +1 -0
- package/dist/features/spec/index.js +196 -0
- package/dist/features/spec/index.js.map +1 -0
- package/dist/features/spec/transformer.d.ts +9 -0
- package/dist/features/spec/transformer.d.ts.map +1 -0
- package/dist/features/spec/transformer.js +41 -0
- package/dist/features/spec/transformer.js.map +1 -0
- package/dist/features/spec/translator.d.ts +9 -0
- package/dist/features/spec/translator.d.ts.map +1 -0
- package/dist/features/spec/translator.js +40 -0
- package/dist/features/spec/translator.js.map +1 -0
- package/dist/features/spec/validators.d.ts +10 -0
- package/dist/features/spec/validators.d.ts.map +1 -0
- package/dist/features/spec/validators.js +58 -0
- package/dist/features/spec/validators.js.map +1 -0
- package/dist/features/step/index.d.ts +204 -0
- package/dist/features/step/index.d.ts.map +1 -0
- package/dist/features/step/index.js +598 -0
- package/dist/features/step/index.js.map +1 -0
- package/dist/features/storage/adapter.d.ts +38 -0
- package/dist/features/storage/adapter.d.ts.map +1 -0
- package/dist/features/storage/adapter.js +3 -0
- package/dist/features/storage/adapter.js.map +1 -0
- package/dist/features/storage/constants.d.ts +2 -0
- package/dist/features/storage/constants.d.ts.map +1 -0
- package/dist/features/storage/constants.js +5 -0
- package/dist/features/storage/constants.js.map +1 -0
- package/dist/features/storage/get.d.ts +10 -0
- package/dist/features/storage/get.d.ts.map +1 -0
- package/dist/features/storage/get.js +44 -0
- package/dist/features/storage/get.js.map +1 -0
- package/dist/features/storage/index.d.ts +104 -0
- package/dist/features/storage/index.d.ts.map +1 -0
- package/dist/features/storage/index.js +748 -0
- package/dist/features/storage/index.js.map +1 -0
- package/dist/features/storage/put.d.ts +8 -0
- package/dist/features/storage/put.d.ts.map +1 -0
- package/dist/features/storage/put.js +68 -0
- package/dist/features/storage/put.js.map +1 -0
- package/dist/features/storage/state.d.ts +53 -0
- package/dist/features/storage/state.d.ts.map +1 -0
- package/dist/features/storage/state.js +14 -0
- package/dist/features/storage/state.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +270 -0
- package/dist/index.js.map +1 -0
- package/dist/shared/ExecutionPhase.d.ts +11 -0
- package/dist/shared/ExecutionPhase.d.ts.map +1 -0
- package/dist/shared/ExecutionPhase.js +30 -0
- package/dist/shared/ExecutionPhase.js.map +1 -0
- package/dist/shared/ReservedKey.d.ts +57 -0
- package/dist/shared/ReservedKey.d.ts.map +1 -0
- package/dist/shared/ReservedKey.js +82 -0
- package/dist/shared/ReservedKey.js.map +1 -0
- package/dist/shared/Status.d.ts +29 -0
- package/dist/shared/Status.d.ts.map +1 -0
- package/dist/shared/Status.js +35 -0
- package/dist/shared/Status.js.map +1 -0
- package/dist/shared/TypeGuards.d.ts +3 -0
- package/dist/shared/TypeGuards.d.ts.map +1 -0
- package/dist/shared/TypeGuards.js +12 -0
- package/dist/shared/TypeGuards.js.map +1 -0
- package/dist/shared/Util.d.ts +21 -0
- package/dist/shared/Util.d.ts.map +1 -0
- package/dist/shared/Util.js +136 -0
- package/dist/shared/Util.js.map +1 -0
- package/dist/shared/WorkflowNodeType.d.ts +10 -0
- package/dist/shared/WorkflowNodeType.d.ts.map +1 -0
- package/dist/shared/WorkflowNodeType.js +14 -0
- package/dist/shared/WorkflowNodeType.js.map +1 -0
- package/dist/shared/index.d.ts +9 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +48 -0
- package/dist/shared/index.js.map +1 -0
- package/package.json +69 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2017 Jerico de guzman
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,101 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="../../docs/assets/siglo-logo.png" alt="Siglo Logo" width="220" style="border-radius: 16px;" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
# Siglo Core
|
|
6
|
+
> Zero-daemon, in-process workflow orchestration with durable checkpoints, Sagas, and live visual DevTools.
|
|
7
|
+
|
|
8
|
+
[](https://www.npmjs.com/package/siglo)
|
|
9
|
+
[](LICENSE)
|
|
10
|
+
[](https://nodejs.org)
|
|
11
|
+
[](https://www.typescriptlang.org/)
|
|
12
|
+
[]()
|
|
13
|
+
|
|
14
|
+
**Siglo** is a lightweight, zero-daemon workflow runtime for TypeScript. It orchestrates complex business logic into composable, resilient steps—featuring end-to-end type inference, automatic Sagas, durable checkpoints, and live DevTools without external infrastructure.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Positioning: In-Process Orchestration vs Distributed Engines
|
|
19
|
+
|
|
20
|
+
| Dimension | `Siglo` | Distributed Engines (Temporal, Inngest) |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| **Architecture** | Lightweight, zero-infrastructure in-process library | Heavy multi-cluster / external orchestrator daemon |
|
|
23
|
+
| **Latency** | Microsecond direct async function invocation | Millisecond-to-second RPC / polling overhead |
|
|
24
|
+
| **Footprint** | Zero external dependencies, pure TypeScript | Requires persistent workers, queue servers, and databases |
|
|
25
|
+
| **Primary Focus** | Modular workflows, parallel fan-out/fan-in, bounded worker mapping, request-scoped sagas, idempotency, durable event waits, retry backoff with jitter, OCC checkpointing | Months-long durable human-in-the-loop workflows |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Documentation & Topic Guides
|
|
30
|
+
|
|
31
|
+
Explore the 11 comprehensive guides covering architecture, design patterns, testing, and production operations:
|
|
32
|
+
|
|
33
|
+
1. 🚀 [01. Getting Started](../../docs/01-getting-started.md) — Installation, quickstart walkthrough, minimal examples, and CLI scaffolding.
|
|
34
|
+
2. 💡 [02. Core Concepts](../../docs/02-core-concepts.md) — Executable ASTs, accumulated context immutability, 5-phase step lifecycle, and reserved keys.
|
|
35
|
+
3. ⛓️ [03. Sequential Workflows](../../docs/03-sequential-workflows.md) — Linear pipelines, clean POJO parameters, lifecycle hooks (`onBefore`, `onSkip`, `onAfter`), and caching.
|
|
36
|
+
4. 🔀 [04. Branching and Parallelism](../../docs/04-branching-and-parallelism.md) — Concurrent fan-outs (`parallel`, `all`, `allSettled`, `race`), dynamic routing (`when`, `branch`), and bounded mapping (`map`).
|
|
37
|
+
5. 🛡️ [05. Retries, Timeouts, and Cancellation](../../docs/05-retries-timeouts-and-cancellation.md) — Two-tier timeouts, exponential backoff with jitter, cooperative `AbortSignal` cancellation, and saga rollbacks.
|
|
38
|
+
6. ⏳ [06. Durable Workflows](../../docs/06-durable-workflows.md) — Long-running human-in-the-loop waits (`waitForEvent`, `wait`), checkpoint resumption, and state migrations.
|
|
39
|
+
7. 💾 [07. Storage and Adapters](../../docs/07-storage-and-adapters.md) — Distributed persistence contracts, PostgreSQL & Redis adapters, and multi-tenant namespaces.
|
|
40
|
+
8. 🔭 [08. Observability](../../docs/08-observability.md) — Graph exports (Mermaid, DOT, JSON), OpenTelemetry distributed tracing, and W3C trace propagation.
|
|
41
|
+
9. 🧪 [09. Testing and Replay](../../docs/09-testing-and-replay.md) — Deterministic workflow harnesses (`@siglo/testing`), fake clocks, step spies, mocks, and failure replay.
|
|
42
|
+
10. 🏷️ [10. TypeScript Reference](../../docs/10-typescript-reference.md) — End-to-end accumulated context inference, typed step history (`$steps`), and Standard Schema integration.
|
|
43
|
+
11. 🏭 [11. Production Operations](../../docs/11-production-operations.md) — Production deployment checklist, zero-daemon operational topologies, connection pooling, and retention cleanup.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Quickstart: Type-Safe Composable Flows
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import { Step, flow } from '@siglo/core';
|
|
51
|
+
|
|
52
|
+
// 1. Define modular steps with input/output contracts
|
|
53
|
+
const fetchUser = Step.create('fetchUser', async (param: { userId: string }) => {
|
|
54
|
+
return { name: 'Alice', tier: 'PRO' };
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
const calculateDiscount = Step.create('calculateDiscount', async (param: { tier: string }) => {
|
|
58
|
+
const discount = param.tier === 'PRO' ? 0.20 : 0.05;
|
|
59
|
+
return { discountPercentage: discount };
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// 2. Compose into an executable flow
|
|
63
|
+
export const orderWorkflow = flow(fetchUser, calculateDiscount);
|
|
64
|
+
|
|
65
|
+
// 3. Run the flow with full type safety
|
|
66
|
+
async function main() {
|
|
67
|
+
const result = await orderWorkflow.run({ userId: 'u_123' }, { pojo: true });
|
|
68
|
+
console.log(result.name); // 'Alice'
|
|
69
|
+
console.log(result.discountPercentage); // 0.20
|
|
70
|
+
console.log(result.$steps.fetchUser); // { name: 'Alice', tier: 'PRO' }
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
main();
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Key Features
|
|
79
|
+
|
|
80
|
+
- ⚡ **Composable Flows (`flow`)** — Compose steps directly into workflows without global registries; steps are pure execution units.
|
|
81
|
+
- 🧠 **Accumulated Context Inference** — TypeScript automatically computes the accumulated output type across composed sequential steps at compile time.
|
|
82
|
+
- 📜 **Typed Step History (`$steps`)** — Statically typed access to any step's output using string literal names (`context.$steps.loadUser.user`).
|
|
83
|
+
- 🗺️ **Workflow Graph Visualization** — Export workflow graphs directly to Mermaid diagrams (`flow.toMermaid()`), Graphviz DOT (`flow.toDot()`), and JSON AST (`flow.toJSON()`) with policy badges.
|
|
84
|
+
- 💉 **Runtime Dependency Injection** — Inject services and repositories explicitly via `options.services` or step-level `step.withDependencies()`.
|
|
85
|
+
- 🔀 **Parallel Execution Combinators** — Run branches concurrently with `parallel`, `all`, `allSettled`, and `race`, equipped with branch context isolation and configurable merge strategies.
|
|
86
|
+
- 🌿 **Conditional Branching & Routing** — Dynamic decision routing via `when(predicate, thenStep).otherwise(elseStep)` and multi-branch selectors via `branch({...})`.
|
|
87
|
+
- 🔄 **Dynamic Mapping & Bounded Concurrency** — Process arrays with `map(items, step, { concurrency })`, order preservation, and error aggregation.
|
|
88
|
+
- 🔑 **Scoped Idempotency & Deduplication** — Protect workflows and individual steps (`step.idempotent()`) with deterministic hash keys and TTL stores.
|
|
89
|
+
- ⏪ **Sagas & LIFO Compensations** — Attach rollback handlers (`step.compensate(handler)`) that run automatically in reverse execution order upon failure.
|
|
90
|
+
- ⏳ **Durable Waits & Event Resumption** — Pause execution with `waitForEvent(eventName)` or `wait('30m')`, persist suspended checkpoints, and safely resume workflows.
|
|
91
|
+
- 🏷️ **Workflow Versioning & State Migrations** — Declare workflow versions (`flow.version('v2')`), detect version mismatches upon resumption, and run registered state transformation functions.
|
|
92
|
+
- ⏱️ **Resilient Deadlines & Two-Tier Timeouts** — Enforce per-step SLA (`step.timeout(ms)`) and workflow-level deadlines (`flow.timeout(ms)`).\
|
|
93
|
+
- 🔁 **Structured Retry Strategies** — Automatic retries with exponential, linear, or fixed backoff, jitter, and `onRetry` hooks right in `onFail`.\
|
|
94
|
+
- 📦 **Standard Schema Integration (`spec` / `schema`)** — Native Standard Schema, Zod, Valibot, and ArkType contract enforcement.\
|
|
95
|
+
- 🛑 **Graceful Cancellation & AbortSignals** — Cancel flows, in-flight async steps, and retry timers seamlessly using standard `AbortSignal`.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## License
|
|
100
|
+
|
|
101
|
+
This project is licensed under the MIT License - see the [LICENSE](../../LICENSE) file for details.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface CacheOptions {
|
|
2
|
+
ttl?: number;
|
|
3
|
+
staleWhileRevalidate?: number;
|
|
4
|
+
swr?: boolean | number;
|
|
5
|
+
keySerializer?: (stepId: string, param: any, namespace?: string) => string;
|
|
6
|
+
stampedeProtection?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function cache(stackId: string, stepId: string, param: any, cachedLast: number, action: (param: any) => any, namespace?: string, options?: CacheOptions): any;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/cache/index.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,YAAY;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC;AAID,wBAAgB,KAAK,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,YAAY,GACvB,GAAG,CAgML"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cache = cache;
|
|
4
|
+
const shared_1 = require("../../shared");
|
|
5
|
+
const storage_1 = require("../storage");
|
|
6
|
+
const context_1 = require("../context");
|
|
7
|
+
const inFlightPromises = new Map();
|
|
8
|
+
function cache(stackId, stepId, param, cachedLast, action, namespace, options) {
|
|
9
|
+
const adapter = storage_1.defaultStorageManager.getStorageAdapter();
|
|
10
|
+
const cleanParam = (0, context_1.toPOJO)(param);
|
|
11
|
+
const paramToHash = Object.assign({}, cleanParam);
|
|
12
|
+
const internalKeys = [
|
|
13
|
+
shared_1.STEP_ID,
|
|
14
|
+
shared_1.STACK_ID,
|
|
15
|
+
shared_1.VALIDATORS,
|
|
16
|
+
shared_1.STEPS,
|
|
17
|
+
shared_1.HISTORY,
|
|
18
|
+
shared_1.SIGNAL,
|
|
19
|
+
shared_1.SIGNAL_KEY,
|
|
20
|
+
'props',
|
|
21
|
+
'raw',
|
|
22
|
+
shared_1.ATTEMPT,
|
|
23
|
+
shared_1.RETRY_DELAY,
|
|
24
|
+
shared_1.WORKFLOW_ID
|
|
25
|
+
];
|
|
26
|
+
for (const ik of internalKeys) {
|
|
27
|
+
delete paramToHash[ik];
|
|
28
|
+
}
|
|
29
|
+
delete paramToHash[shared_1.NAMESPACE];
|
|
30
|
+
delete paramToHash[shared_1.NAMESPACE_KEY];
|
|
31
|
+
delete paramToHash[shared_1.STACK_ID_KEY];
|
|
32
|
+
const customSerializer = options?.keySerializer || (storage_1.defaultStorageManager.getState().config?.cacheKeySerializer);
|
|
33
|
+
const paramKey = customSerializer
|
|
34
|
+
? customSerializer(stepId, paramToHash, namespace)
|
|
35
|
+
: JSON.stringify(paramToHash);
|
|
36
|
+
const effectiveCacheKey = namespace
|
|
37
|
+
? `${namespace}:${stepId}:${paramKey}`
|
|
38
|
+
: `${stepId}:${paramKey}`;
|
|
39
|
+
const swrWindow = typeof options?.swr === 'number'
|
|
40
|
+
? options.swr
|
|
41
|
+
: (options?.staleWhileRevalidate || (options?.swr ? cachedLast : 0));
|
|
42
|
+
// 1. In-Memory Cache Lookup
|
|
43
|
+
if ((0, storage_1.hasCached)(stackId, effectiveCacheKey, paramKey)) {
|
|
44
|
+
const cachedAction = (0, storage_1.getCachedChainAction)(stackId, effectiveCacheKey, paramKey);
|
|
45
|
+
const currentTime = Date.now();
|
|
46
|
+
const expirationTime = cachedAction.timestamp + cachedLast;
|
|
47
|
+
if (currentTime <= expirationTime) {
|
|
48
|
+
storage_1.defaultStorageManager.emitCacheEvent({
|
|
49
|
+
type: 'hit',
|
|
50
|
+
key: effectiveCacheKey,
|
|
51
|
+
stepId,
|
|
52
|
+
stackId,
|
|
53
|
+
namespace,
|
|
54
|
+
timestamp: currentTime
|
|
55
|
+
});
|
|
56
|
+
return cachedAction.result;
|
|
57
|
+
}
|
|
58
|
+
else if (swrWindow > 0 && currentTime <= expirationTime + swrWindow) {
|
|
59
|
+
storage_1.defaultStorageManager.emitCacheEvent({
|
|
60
|
+
type: 'hit',
|
|
61
|
+
key: effectiveCacheKey,
|
|
62
|
+
stepId,
|
|
63
|
+
stackId,
|
|
64
|
+
namespace,
|
|
65
|
+
timestamp: currentTime
|
|
66
|
+
});
|
|
67
|
+
// Background revalidation
|
|
68
|
+
Promise.resolve().then(async () => {
|
|
69
|
+
try {
|
|
70
|
+
const fresh = await action(param);
|
|
71
|
+
(0, storage_1.cacheChainAction)(stackId, effectiveCacheKey, paramKey, fresh);
|
|
72
|
+
if (adapter?.setCachedStep) {
|
|
73
|
+
try {
|
|
74
|
+
await adapter.setCachedStep(effectiveCacheKey, fresh, cachedLast);
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
storage_1.defaultStorageManager.handleAdapterError('setCachedStep', err);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
// Suppress background revalidation error
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return cachedAction.result;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
(0, storage_1.clearCache)(stackId, effectiveCacheKey);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// 2. Cache Stampede Protection (In-flight Promise deduplication)
|
|
92
|
+
const useStampedeProtection = options?.stampedeProtection !== false;
|
|
93
|
+
if (useStampedeProtection && inFlightPromises.has(effectiveCacheKey)) {
|
|
94
|
+
return inFlightPromises.get(effectiveCacheKey);
|
|
95
|
+
}
|
|
96
|
+
// 3. Adapter Distributed Cache Lookup
|
|
97
|
+
if (adapter?.getCachedStep) {
|
|
98
|
+
const executionPromise = (async () => {
|
|
99
|
+
try {
|
|
100
|
+
const adapterCached = await adapter.getCachedStep(effectiveCacheKey);
|
|
101
|
+
if (adapterCached !== undefined) {
|
|
102
|
+
storage_1.defaultStorageManager.emitCacheEvent({
|
|
103
|
+
type: 'hit',
|
|
104
|
+
key: effectiveCacheKey,
|
|
105
|
+
stepId,
|
|
106
|
+
stackId,
|
|
107
|
+
namespace,
|
|
108
|
+
timestamp: Date.now()
|
|
109
|
+
});
|
|
110
|
+
(0, storage_1.cacheChainAction)(stackId, effectiveCacheKey, paramKey, adapterCached);
|
|
111
|
+
return adapterCached;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
storage_1.defaultStorageManager.handleAdapterError('getCachedStep', err);
|
|
116
|
+
}
|
|
117
|
+
storage_1.defaultStorageManager.emitCacheEvent({
|
|
118
|
+
type: 'miss',
|
|
119
|
+
key: effectiveCacheKey,
|
|
120
|
+
stepId,
|
|
121
|
+
stackId,
|
|
122
|
+
namespace,
|
|
123
|
+
timestamp: Date.now()
|
|
124
|
+
});
|
|
125
|
+
const actionResult = await action(param);
|
|
126
|
+
(0, storage_1.cacheChainAction)(stackId, effectiveCacheKey, paramKey, actionResult);
|
|
127
|
+
if (adapter?.setCachedStep) {
|
|
128
|
+
try {
|
|
129
|
+
await adapter.setCachedStep(effectiveCacheKey, actionResult, cachedLast);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
storage_1.defaultStorageManager.handleAdapterError('setCachedStep', err);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return actionResult;
|
|
136
|
+
})();
|
|
137
|
+
if (useStampedeProtection) {
|
|
138
|
+
inFlightPromises.set(effectiveCacheKey, executionPromise);
|
|
139
|
+
const clean = () => { inFlightPromises.delete(effectiveCacheKey); };
|
|
140
|
+
executionPromise.then(clean, clean);
|
|
141
|
+
}
|
|
142
|
+
return executionPromise;
|
|
143
|
+
}
|
|
144
|
+
storage_1.defaultStorageManager.emitCacheEvent({
|
|
145
|
+
type: 'miss',
|
|
146
|
+
key: effectiveCacheKey,
|
|
147
|
+
stepId,
|
|
148
|
+
stackId,
|
|
149
|
+
namespace,
|
|
150
|
+
timestamp: Date.now()
|
|
151
|
+
});
|
|
152
|
+
// 4. Local Execution
|
|
153
|
+
const rawResult = action(param);
|
|
154
|
+
if (rawResult instanceof Promise) {
|
|
155
|
+
const executionPromise = rawResult.then(async (val) => {
|
|
156
|
+
(0, storage_1.cacheChainAction)(stackId, effectiveCacheKey, paramKey, val);
|
|
157
|
+
if (adapter?.setCachedStep) {
|
|
158
|
+
try {
|
|
159
|
+
await adapter.setCachedStep(effectiveCacheKey, val, cachedLast);
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
storage_1.defaultStorageManager.handleAdapterError('setCachedStep', err);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return val;
|
|
166
|
+
});
|
|
167
|
+
if (useStampedeProtection) {
|
|
168
|
+
inFlightPromises.set(effectiveCacheKey, executionPromise);
|
|
169
|
+
const clean = () => { inFlightPromises.delete(effectiveCacheKey); };
|
|
170
|
+
executionPromise.then(clean, clean);
|
|
171
|
+
}
|
|
172
|
+
return executionPromise;
|
|
173
|
+
}
|
|
174
|
+
// Synchronous execution result
|
|
175
|
+
(0, storage_1.cacheChainAction)(stackId, effectiveCacheKey, paramKey, rawResult);
|
|
176
|
+
if (adapter?.setCachedStep) {
|
|
177
|
+
try {
|
|
178
|
+
const setRes = adapter.setCachedStep(effectiveCacheKey, rawResult, cachedLast);
|
|
179
|
+
if (setRes && typeof setRes.catch === 'function') {
|
|
180
|
+
setRes.catch((err) => {
|
|
181
|
+
try {
|
|
182
|
+
storage_1.defaultStorageManager.handleAdapterError('setCachedStep', err);
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
// Suppress unhandled rejection in background fire-and-forget sync write
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch (err) {
|
|
191
|
+
storage_1.defaultStorageManager.handleAdapterError('setCachedStep', err);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return rawResult;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/cache/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Step } from '../step';
|
|
2
|
+
export type BranchPredicate = (ctx: any, meta?: any) => boolean | Promise<boolean>;
|
|
3
|
+
export type BranchSelector = (ctx: any, meta?: any) => string | Promise<string>;
|
|
4
|
+
export declare const BranchRoute: {
|
|
5
|
+
readonly THEN: "then";
|
|
6
|
+
readonly ELSE: "else";
|
|
7
|
+
readonly DEFAULT: "default";
|
|
8
|
+
};
|
|
9
|
+
export type BranchRoute = (typeof BranchRoute)[keyof typeof BranchRoute];
|
|
10
|
+
export declare function when(predicate: BranchPredicate, thenStep: any, elseStep?: any): Step<any, any>;
|
|
11
|
+
export declare function branch(selectorOrBranches: BranchSelector | Record<string, any>, branchesMap?: Record<string, any>, defaultBranch?: any): Step<any, any>;
|
|
12
|
+
//# sourceMappingURL=branch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../../src/features/combinators/branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAO,MAAM,SAAS,CAAC;AAKnC,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACnF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhF,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAwCzE,wBAAgB,IAAI,CAChB,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE,GAAG,EACb,QAAQ,CAAC,EAAE,GAAG,GACf,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAqDhB;AAED,wBAAgB,MAAM,CAClB,kBAAkB,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,aAAa,CAAC,EAAE,GAAG,GACpB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CA+DhB"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BranchRoute = void 0;
|
|
4
|
+
exports.when = when;
|
|
5
|
+
exports.branch = branch;
|
|
6
|
+
const step_1 = require("../step");
|
|
7
|
+
const context_1 = require("../context");
|
|
8
|
+
const shared_1 = require("../../shared");
|
|
9
|
+
const graph_1 = require("../graph");
|
|
10
|
+
exports.BranchRoute = {
|
|
11
|
+
THEN: 'then',
|
|
12
|
+
ELSE: 'else',
|
|
13
|
+
DEFAULT: 'default'
|
|
14
|
+
};
|
|
15
|
+
function cleanBranchOutput(output) {
|
|
16
|
+
if (!(0, shared_1.isObject)(output)) {
|
|
17
|
+
return output;
|
|
18
|
+
}
|
|
19
|
+
const clean = {};
|
|
20
|
+
for (const key of Object.keys(output)) {
|
|
21
|
+
if ((0, shared_1.isReservedKey)(key) ||
|
|
22
|
+
(0, shared_1.isFunction)(output[key])) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
clean[key] = output[key];
|
|
26
|
+
}
|
|
27
|
+
return clean;
|
|
28
|
+
}
|
|
29
|
+
function executeBranchTarget(target, input, signal) {
|
|
30
|
+
const isolatedInput = (0, shared_1.safeClone)((0, context_1.toPOJO)(input));
|
|
31
|
+
const parentStackId = (0, shared_1.isFunction)(input?.$stackId) ? input.$stackId() : (input?.$stackId || input?.stackId);
|
|
32
|
+
const namespace = (0, shared_1.isFunction)(input?.$namespace) ? input.$namespace() : (input?.$namespace || input?.namespace);
|
|
33
|
+
const branchOptions = { signal, pojo: true, stackId: parentStackId, namespace };
|
|
34
|
+
if ((0, shared_1.isFunction)(target)) {
|
|
35
|
+
return Promise.resolve(target(isolatedInput, branchOptions));
|
|
36
|
+
}
|
|
37
|
+
if (target && (0, shared_1.isFunction)(target.execute)) {
|
|
38
|
+
return target.execute(isolatedInput, branchOptions);
|
|
39
|
+
}
|
|
40
|
+
if (target && (0, shared_1.isFunction)(target.run)) {
|
|
41
|
+
return target.run(isolatedInput, branchOptions);
|
|
42
|
+
}
|
|
43
|
+
if (target && (0, shared_1.isFunction)(target.start)) {
|
|
44
|
+
return target.start(isolatedInput, branchOptions);
|
|
45
|
+
}
|
|
46
|
+
return (0, step_1.flow)(target).execute(isolatedInput, branchOptions);
|
|
47
|
+
}
|
|
48
|
+
function when(predicate, thenStep, elseStep) {
|
|
49
|
+
const thenNode = (0, graph_1.toGraph)(thenStep);
|
|
50
|
+
const elseNode = elseStep ? (0, graph_1.toGraph)(elseStep) : undefined;
|
|
51
|
+
const branchNode = {
|
|
52
|
+
id: (0, shared_1.generateUUID)(),
|
|
53
|
+
name: 'when',
|
|
54
|
+
type: shared_1.WorkflowNodeType.BRANCH,
|
|
55
|
+
branches: {
|
|
56
|
+
then: thenNode,
|
|
57
|
+
...(elseNode ? { else: elseNode } : {})
|
|
58
|
+
},
|
|
59
|
+
selector: predicate
|
|
60
|
+
};
|
|
61
|
+
const step = step_1.Step.create('when', async (param) => {
|
|
62
|
+
const rawSig = param?.$signal || param?.signal;
|
|
63
|
+
const signal = (0, shared_1.isFunction)(rawSig) ? (rawSig.val || rawSig()) : rawSig;
|
|
64
|
+
const meta = {
|
|
65
|
+
attempt: (0, shared_1.isFunction)(param?.$attempt) ? param.$attempt() : param?.$attempt,
|
|
66
|
+
stackId: (0, shared_1.isFunction)(param?.$stackId) ? param.$stackId() : param?.$stackId,
|
|
67
|
+
namespace: (0, shared_1.isFunction)(param?.$namespace) ? param.$namespace() : param?.namespace
|
|
68
|
+
};
|
|
69
|
+
const isTrue = await predicate((0, context_1.toPOJO)(param), meta);
|
|
70
|
+
if (isTrue) {
|
|
71
|
+
const result = await executeBranchTarget(thenStep, param, signal);
|
|
72
|
+
const cleaned = cleanBranchOutput(result);
|
|
73
|
+
return {
|
|
74
|
+
...((0, shared_1.isObject)(cleaned) ? cleaned : { value: cleaned }),
|
|
75
|
+
$branchSelected: exports.BranchRoute.THEN,
|
|
76
|
+
$skippedBranches: elseStep ? [exports.BranchRoute.ELSE] : []
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
else if (elseStep) {
|
|
80
|
+
const result = await executeBranchTarget(elseStep, param, signal);
|
|
81
|
+
const cleaned = cleanBranchOutput(result);
|
|
82
|
+
return {
|
|
83
|
+
...((0, shared_1.isObject)(cleaned) ? cleaned : { value: cleaned }),
|
|
84
|
+
$branchSelected: exports.BranchRoute.ELSE,
|
|
85
|
+
$skippedBranches: [exports.BranchRoute.THEN]
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return {
|
|
90
|
+
$branchSelected: undefined,
|
|
91
|
+
$skippedBranches: [exports.BranchRoute.THEN],
|
|
92
|
+
$skipped: true
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
step.workflowNode = branchNode;
|
|
97
|
+
return step;
|
|
98
|
+
}
|
|
99
|
+
function branch(selectorOrBranches, branchesMap, defaultBranch) {
|
|
100
|
+
let selector;
|
|
101
|
+
let branches;
|
|
102
|
+
let fallback;
|
|
103
|
+
if ((0, shared_1.isFunction)(selectorOrBranches)) {
|
|
104
|
+
selector = selectorOrBranches;
|
|
105
|
+
branches = branchesMap || {};
|
|
106
|
+
fallback = defaultBranch;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
branches = selectorOrBranches;
|
|
110
|
+
fallback = branchesMap;
|
|
111
|
+
selector = (ctx) => ctx.branch || ctx.status || ctx.choice || exports.BranchRoute.DEFAULT;
|
|
112
|
+
}
|
|
113
|
+
const branchNodes = {};
|
|
114
|
+
for (const key of Object.keys(branches)) {
|
|
115
|
+
branchNodes[key] = (0, graph_1.toGraph)(branches[key]);
|
|
116
|
+
}
|
|
117
|
+
const defaultNode = fallback ? (0, graph_1.toGraph)(fallback) : undefined;
|
|
118
|
+
const branchNode = {
|
|
119
|
+
id: (0, shared_1.generateUUID)(),
|
|
120
|
+
name: 'branch',
|
|
121
|
+
type: shared_1.WorkflowNodeType.BRANCH,
|
|
122
|
+
branches: branchNodes,
|
|
123
|
+
selector,
|
|
124
|
+
defaultBranch: defaultNode
|
|
125
|
+
};
|
|
126
|
+
const step = step_1.Step.create('branch', async (param) => {
|
|
127
|
+
const rawSig = param?.$signal || param?.signal;
|
|
128
|
+
const signal = (0, shared_1.isFunction)(rawSig) ? (rawSig.val || rawSig()) : rawSig;
|
|
129
|
+
const meta = {
|
|
130
|
+
attempt: (0, shared_1.isFunction)(param?.$attempt) ? param.$attempt() : param?.$attempt,
|
|
131
|
+
stackId: (0, shared_1.isFunction)(param?.$stackId) ? param.$stackId() : param?.$stackId,
|
|
132
|
+
namespace: (0, shared_1.isFunction)(param?.$namespace) ? param.$namespace() : param?.namespace
|
|
133
|
+
};
|
|
134
|
+
const chosenKey = await selector((0, context_1.toPOJO)(param), meta);
|
|
135
|
+
const target = branches[chosenKey] || fallback;
|
|
136
|
+
const allKeys = Object.keys(branches);
|
|
137
|
+
const skippedBranches = allKeys.filter(k => k !== chosenKey);
|
|
138
|
+
if (!target) {
|
|
139
|
+
return {
|
|
140
|
+
$branchSelected: undefined,
|
|
141
|
+
$skippedBranches: allKeys,
|
|
142
|
+
$skipped: true
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const result = await executeBranchTarget(target, param, signal);
|
|
146
|
+
const cleaned = cleanBranchOutput(result);
|
|
147
|
+
return {
|
|
148
|
+
...((0, shared_1.isObject)(cleaned) ? cleaned : { value: cleaned }),
|
|
149
|
+
$branchSelected: chosenKey,
|
|
150
|
+
$skippedBranches: skippedBranches
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
step.workflowNode = branchNode;
|
|
154
|
+
return step;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=branch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch.js","sourceRoot":"","sources":["../../../src/features/combinators/branch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/combinators/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./parallel"), exports);
|
|
18
|
+
__exportStar(require("./branch"), exports);
|
|
19
|
+
__exportStar(require("./map"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/combinators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAyB;AACzB,wCAAsB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Step } from '../step';
|
|
2
|
+
export interface MapOptions {
|
|
3
|
+
name?: string;
|
|
4
|
+
concurrency?: number;
|
|
5
|
+
stopOnError?: boolean;
|
|
6
|
+
preserveOrder?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type MapItemAccessor = any[] | AsyncIterable<any> | Iterable<any> | ((ctx: any) => any[] | AsyncIterable<any> | Iterable<any> | Promise<any[] | AsyncIterable<any> | Iterable<any>>);
|
|
9
|
+
export declare function map(itemsOrAccessor: MapItemAccessor, processItem: any, options?: MapOptions): Step<any, any>;
|
|
10
|
+
//# sourceMappingURL=map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/features/combinators/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAO,MAAM,SAAS,CAAC;AAMnC,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GACvB,GAAG,EAAE,GACH,aAAa,CAAC,GAAG,CAAC,GAClB,QAAQ,CAAC,GAAG,CAAC,GACb,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAmDvH,wBAAgB,GAAG,CACf,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,GAAG,EAChB,OAAO,CAAC,EAAE,UAAU,GACrB,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAoIhB"}
|