@temelj/workflow 0.0.0-alpha.3 → 0.0.0-alpha.4
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/README.md +394 -2
- package/dist/attributes.d.mts +11 -9
- package/dist/attributes.mjs +23 -5
- package/dist/bundle.d.mts +5 -23
- package/dist/bundle.mjs +2 -18
- package/dist/client/create.d.mts +26 -23
- package/dist/client/create.mjs +26 -32
- package/dist/client/facades.d.mts +12 -18
- package/dist/client/facades.mjs +102 -93
- package/dist/client/mod.mjs +1 -2
- package/dist/client/run-handle.d.mts +17 -54
- package/dist/client/run-handle.mjs +35 -105
- package/dist/client/worker-options.d.mts +8 -8
- package/dist/client/worker-options.mjs +11 -11
- package/dist/cloudflare/cloudflare.d.mts +4 -5
- package/dist/cloudflare/codec.d.mts +28 -13
- package/dist/cloudflare/codec.mjs +40 -17
- package/dist/cloudflare/entrypoint.d.mts +3 -4
- package/dist/cloudflare/entrypoint.mjs +4 -3
- package/dist/cloudflare/execution.d.mts +3 -4
- package/dist/cloudflare/execution.mjs +20 -13
- package/dist/cloudflare/host.d.mts +6 -7
- package/dist/cloudflare/host.mjs +7 -6
- package/dist/cloudflare/mod.d.mts +4 -4
- package/dist/cloudflare/mod.mjs +2 -2
- package/dist/cloudflare/name.d.mts +3 -4
- package/dist/cloudflare/name.mjs +3 -3
- package/dist/cloudflare/registry.d.mts +3 -23
- package/dist/cloudflare/registry.mjs +2 -20
- package/dist/cloudflare/runtime.d.mts +11 -18
- package/dist/cloudflare/runtime.mjs +52 -73
- package/dist/cloudflare/step.d.mts +6 -6
- package/dist/cloudflare/step.mjs +69 -57
- package/dist/cloudflare/types.d.mts +17 -36
- package/dist/collection.d.mts +8 -11
- package/dist/collection.mjs +10 -14
- package/dist/compiled-function.d.mts +14 -19
- package/dist/compiled-function.mjs +12 -24
- package/dist/compiled.d.mts +4 -0
- package/dist/compiled.mjs +4 -0
- package/dist/compiler/ast.d.mts +26 -0
- package/dist/{vite → compiler}/ast.mjs +24 -16
- package/dist/{vite → compiler}/error.d.mts +4 -6
- package/dist/{vite → compiler}/error.mjs +14 -16
- package/dist/compiler/manifest.d.mts +6 -0
- package/dist/{vite → compiler}/manifest.mjs +9 -7
- package/dist/compiler/plugin.d.mts +7 -0
- package/dist/{vite → compiler}/plugin.mjs +45 -46
- package/dist/compiler/safety.d.mts +12 -0
- package/dist/{vite → compiler}/safety.mjs +5 -11
- package/dist/{vite → compiler}/source-edit.d.mts +3 -4
- package/dist/{vite → compiler}/source-edit.mjs +1 -1
- package/dist/{vite → compiler}/source-map.d.mts +4 -3
- package/dist/{vite → compiler}/source-map.mjs +3 -3
- package/dist/compiler/source.d.mts +7 -0
- package/dist/{vite → compiler}/source.mjs +1 -1
- package/dist/compiler/transform.d.mts +12 -0
- package/dist/{vite → compiler}/transform.mjs +37 -38
- package/dist/definition.d.mts +17 -25
- package/dist/definition.mjs +19 -35
- package/dist/engine/child-workflow.d.mts +5 -9
- package/dist/engine/child-workflow.mjs +46 -67
- package/dist/engine/command-identity.d.mts +5 -6
- package/dist/engine/command-identity.mjs +9 -5
- package/dist/engine/context.d.mts +17 -0
- package/dist/engine/create.d.mts +36 -94
- package/dist/engine/create.mjs +55 -260
- package/dist/engine/deterministic.d.mts +6 -11
- package/dist/engine/deterministic.mjs +47 -68
- package/dist/engine/durable-command.d.mts +5 -5
- package/dist/engine/durable-command.mjs +2 -2
- package/dist/engine/execution-service.d.mts +20 -24
- package/dist/engine/execution-service.mjs +54 -52
- package/dist/engine/hooks.d.mts +17 -39
- package/dist/engine/hooks.mjs +73 -94
- package/dist/engine/inspection.d.mts +23 -15
- package/dist/engine/inspection.mjs +55 -29
- package/dist/engine/lifecycle.d.mts +6 -12
- package/dist/engine/lifecycle.mjs +5 -5
- package/dist/engine/lock-replay.d.mts +8 -15
- package/dist/engine/lock-replay.mjs +12 -25
- package/dist/engine/lock.d.mts +10 -15
- package/dist/engine/lock.mjs +65 -51
- package/dist/engine/message.d.mts +14 -34
- package/dist/engine/message.mjs +94 -127
- package/dist/engine/observation.d.mts +9 -11
- package/dist/engine/observation.mjs +18 -27
- package/dist/engine/replay.d.mts +18 -19
- package/dist/engine/replay.mjs +32 -56
- package/dist/engine/resume.d.mts +16 -0
- package/dist/engine/resume.mjs +24 -0
- package/dist/engine/retry.d.mts +15 -19
- package/dist/engine/retry.mjs +17 -17
- package/dist/engine/run-data.d.mts +4 -8
- package/dist/engine/run-data.mjs +24 -22
- package/dist/engine/run-service.d.mts +24 -33
- package/dist/engine/run-service.mjs +125 -93
- package/dist/engine/run-utils.d.mts +11 -13
- package/dist/engine/run-utils.mjs +23 -46
- package/dist/engine/schedule.d.mts +8 -22
- package/dist/engine/schedule.mjs +37 -34
- package/dist/engine/serialization.d.mts +9 -6
- package/dist/engine/serialization.mjs +30 -21
- package/dist/engine/signals.d.mts +23 -0
- package/dist/engine/signals.mjs +41 -0
- package/dist/engine/start.d.mts +18 -0
- package/dist/engine/start.mjs +88 -0
- package/dist/engine/state.d.mts +37 -67
- package/dist/engine/state.mjs +119 -280
- package/dist/engine/step-api.d.mts +5 -8
- package/dist/engine/step-api.mjs +16 -16
- package/dist/engine/stream-reader.d.mts +12 -0
- package/dist/engine/stream-reader.mjs +154 -0
- package/dist/engine/stream.d.mts +9 -54
- package/dist/engine/stream.mjs +54 -196
- package/dist/engine/summary/recovery.d.mts +35 -0
- package/dist/engine/summary/recovery.mjs +363 -0
- package/dist/engine/summary/runs.d.mts +43 -0
- package/dist/engine/summary/runs.mjs +294 -0
- package/dist/engine/summary/step-attempts.d.mts +5 -10
- package/dist/engine/summary/step-attempts.mjs +157 -36
- package/dist/engine/summary/tally.d.mts +44 -0
- package/dist/engine/summary/tally.mjs +142 -0
- package/dist/engine/task.d.mts +4 -5
- package/dist/engine/task.mjs +40 -48
- package/dist/errors/base.d.mts +17 -77
- package/dist/errors/base.mjs +26 -327
- package/dist/errors/capability.d.mts +3 -6
- package/dist/errors/capability.mjs +4 -8
- package/dist/errors/codes.d.mts +116 -0
- package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
- package/dist/errors/definition.d.mts +3 -17
- package/dist/errors/definition.mjs +5 -42
- package/dist/errors/failures.d.mts +17 -51
- package/dist/errors/failures.mjs +35 -102
- package/dist/errors/hook.d.mts +5 -9
- package/dist/errors/hook.mjs +4 -16
- package/dist/errors/implementation.d.mts +3 -6
- package/dist/errors/implementation.mjs +7 -12
- package/dist/errors/lock.d.mts +7 -20
- package/dist/errors/lock.mjs +8 -44
- package/dist/errors/message.d.mts +14 -59
- package/dist/errors/message.mjs +13 -39
- package/dist/errors/mod.d.mts +4 -5
- package/dist/errors/mod.mjs +5 -7
- package/dist/errors/records.d.mts +10 -4
- package/dist/errors/records.mjs +256 -256
- package/dist/errors/run.d.mts +27 -68
- package/dist/errors/run.mjs +31 -85
- package/dist/errors/schedule.d.mts +7 -18
- package/dist/errors/schedule.mjs +7 -39
- package/dist/errors/step.d.mts +12 -45
- package/dist/errors/step.mjs +13 -34
- package/dist/errors/stream.d.mts +8 -16
- package/dist/errors/stream.mjs +7 -41
- package/dist/esbuild.d.mts +6 -4
- package/dist/esbuild.mjs +2 -1
- package/dist/events/descriptors.d.mts +12 -241
- package/dist/events/descriptors.mjs +12 -5
- package/dist/history/projection.d.mts +4 -6
- package/dist/history/projection.mjs +22 -26
- package/dist/history/replay-projection.d.mts +44 -48
- package/dist/history/replay-projection.mjs +41 -50
- package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
- package/dist/history/{mod.mjs → replay.mjs} +21 -25
- package/dist/history/sequencer.d.mts +10 -11
- package/dist/history/sequencer.mjs +11 -7
- package/dist/history/step-attempts.d.mts +4 -7
- package/dist/history/step-attempts.mjs +8 -9
- package/dist/history/timeline.d.mts +4 -13
- package/dist/history/timeline.mjs +46 -265
- package/dist/history/validator.d.mts +5 -7
- package/dist/history/validator.mjs +9 -24
- package/dist/hook-token.d.mts +7 -0
- package/dist/hook-token.mjs +32 -0
- package/dist/ids.d.mts +8 -0
- package/dist/ids.mjs +21 -0
- package/dist/message-options.d.mts +11 -5
- package/dist/message-options.mjs +9 -7
- package/dist/mod.d.mts +32 -36
- package/dist/mod.mjs +9 -13
- package/dist/otel/metrics.d.mts +31 -0
- package/dist/otel/metrics.mjs +60 -0
- package/dist/otel/mod.d.mts +3 -0
- package/dist/otel/mod.mjs +3 -0
- package/dist/otel/spans.d.mts +24 -0
- package/dist/otel/spans.mjs +218 -0
- package/dist/otel/support.d.mts +15 -8
- package/dist/otel/support.mjs +18 -40
- package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
- package/dist/otel/telemetry.mjs +305 -0
- package/dist/pagination.d.mts +6 -12
- package/dist/pagination.mjs +10 -14
- package/dist/registry.d.mts +8 -5
- package/dist/registry.mjs +19 -10
- package/dist/rolldown.d.mts +6 -4
- package/dist/rolldown.mjs +2 -1
- package/dist/rollup.d.mts +6 -4
- package/dist/rollup.mjs +2 -1
- package/dist/rspack.d.mts +6 -4
- package/dist/rspack.mjs +2 -1
- package/dist/run-status.d.mts +29 -0
- package/dist/run-status.mjs +42 -0
- package/dist/schema/common.d.mts +22 -0
- package/dist/schema/common.mjs +54 -0
- package/dist/schema/error.d.mts +17 -0
- package/dist/schema/error.mjs +39 -0
- package/dist/schema/events.d.mts +446 -0
- package/dist/schema/events.mjs +235 -0
- package/dist/schema/pagination.d.mts +5 -0
- package/dist/schema/pagination.mjs +11 -0
- package/dist/schema/persisted-value.d.mts +8 -0
- package/dist/schema/persisted-value.mjs +94 -0
- package/dist/schema/run.d.mts +51 -0
- package/dist/schema/run.mjs +88 -0
- package/dist/schema/store.d.mts +94 -0
- package/dist/schema/store.mjs +116 -0
- package/dist/step-definition.d.mts +4 -9
- package/dist/step-definition.mjs +2 -2
- package/dist/store/capabilities.d.mts +8 -9
- package/dist/store/capabilities.mjs +7 -7
- package/dist/store/cleanup.d.mts +9 -14
- package/dist/store/cleanup.mjs +86 -85
- package/dist/store/create.d.mts +28 -29
- package/dist/store/create.mjs +10 -11
- package/dist/store/events.d.mts +48 -0
- package/dist/store/events.mjs +263 -0
- package/dist/store/indexes.d.mts +25 -0
- package/dist/store/indexes.mjs +282 -0
- package/dist/store/instrumentation.d.mts +2 -3
- package/dist/store/instrumentation.mjs +30 -30
- package/dist/store/lock.d.mts +4 -5
- package/dist/store/lock.mjs +5 -7
- package/dist/store/materialization.d.mts +10 -17
- package/dist/store/materialization.mjs +39 -33
- package/dist/store/mod.d.mts +3 -3
- package/dist/store/mod.mjs +2 -2
- package/dist/store/query.d.mts +13 -17
- package/dist/store/query.mjs +13 -13
- package/dist/store/run.d.mts +25 -34
- package/dist/store/run.mjs +67 -108
- package/dist/store/schedule.d.mts +6 -8
- package/dist/store/schedule.mjs +11 -11
- package/dist/store/step-attempt.d.mts +9 -12
- package/dist/store/step-attempt.mjs +9 -9
- package/dist/store/storage-value.d.mts +3 -3
- package/dist/store/storage-value.mjs +17 -1
- package/dist/store/validation.d.mts +17 -20
- package/dist/store/validation.mjs +30 -33
- package/dist/store-keys.d.mts +35 -47
- package/dist/store-keys.mjs +9 -17
- package/dist/telemetry.d.mts +16 -16
- package/dist/telemetry.mjs +3 -3
- package/dist/temporal.d.mts +11 -16
- package/dist/temporal.mjs +8 -9
- package/dist/timer.d.mts +12 -10
- package/dist/timer.mjs +11 -3
- package/dist/types/cleanup.d.mts +13 -50
- package/dist/types/cleanup.mjs +1 -22
- package/dist/types/client.d.mts +101 -162
- package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
- package/dist/types/compiler.mjs +1 -0
- package/dist/types/definition.d.mts +22 -34
- package/dist/types/engine-options.d.mts +10 -17
- package/dist/types/engine.d.mts +15 -274
- package/dist/types/error.d.mts +15 -217
- package/dist/types/error.mjs +1 -48
- package/dist/types/events.d.mts +59 -2730
- package/dist/types/events.mjs +1 -283
- package/dist/types/hook.d.mts +27 -85
- package/dist/types/hook.mjs +1 -66
- package/dist/types/ids.d.mts +9 -0
- package/dist/types/ids.mjs +1 -0
- package/dist/types/lock.d.mts +8 -26
- package/dist/types/lock.mjs +1 -18
- package/dist/types/message.d.mts +29 -43
- package/dist/types/observation.d.mts +43 -58
- package/dist/types/pagination.d.mts +6 -22
- package/dist/types/pagination.mjs +1 -13
- package/dist/types/result.d.mts +11 -43
- package/dist/types/retry.d.mts +7 -14
- package/dist/types/run-list.d.mts +9 -11
- package/dist/types/run-options.d.mts +25 -32
- package/dist/types/run.d.mts +35 -315
- package/dist/types/run.mjs +1 -207
- package/dist/types/runtime.d.mts +33 -145
- package/dist/types/runtime.mjs +1 -21
- package/dist/types/schedule.d.mts +13 -72
- package/dist/types/schedule.mjs +1 -48
- package/dist/types/step-attempts.d.mts +65 -261
- package/dist/types/step-attempts.mjs +1 -43
- package/dist/types/step.d.mts +66 -77
- package/dist/types/step.mjs +1 -5
- package/dist/types/store.d.mts +50 -182
- package/dist/types/stream.d.mts +19 -40
- package/dist/types/summary.d.mts +174 -278
- package/dist/types/telemetry.d.mts +23 -28
- package/dist/types/telemetry.mjs +1 -9
- package/dist/types/timeline.d.mts +46 -233
- package/dist/types/worker.d.mts +22 -29
- package/dist/values.d.mts +15 -0
- package/dist/values.mjs +57 -0
- package/dist/vite.d.mts +5 -6
- package/dist/vite.mjs +3 -4
- package/dist/webpack.d.mts +6 -4
- package/dist/webpack.mjs +2 -1
- package/dist/worker/error.d.mts +2 -9
- package/dist/worker/error.mjs +20 -32
- package/dist/worker/missing-implementation.d.mts +19 -0
- package/dist/worker/missing-implementation.mjs +62 -0
- package/dist/worker/worker.d.mts +18 -0
- package/dist/{worker.mjs → worker/worker.mjs} +64 -118
- package/package.json +28 -47
- package/dist/engine/execution-api.d.mts +0 -29
- package/dist/engine/execution-api.mjs +0 -33
- package/dist/engine/inspection-api.d.mts +0 -34
- package/dist/engine/inspection-api.mjs +0 -78
- package/dist/engine/mod.d.mts +0 -4
- package/dist/engine/mod.mjs +0 -2
- package/dist/engine/recovery.d.mts +0 -26
- package/dist/engine/recovery.mjs +0 -92
- package/dist/engine/retry-policy.d.mts +0 -4
- package/dist/engine/retry-policy.mjs +0 -4
- package/dist/engine/start-api.d.mts +0 -30
- package/dist/engine/start-api.mjs +0 -99
- package/dist/engine/summary/active-events.d.mts +0 -34
- package/dist/engine/summary/active-events.mjs +0 -69
- package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
- package/dist/engine/summary/child-workflow-runs.mjs +0 -138
- package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
- package/dist/engine/summary/child-workflow-waits.mjs +0 -67
- package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
- package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-due-runs.mjs +0 -52
- package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
- package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
- package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
- package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
- package/dist/engine/summary/recovery-locks.d.mts +0 -18
- package/dist/engine/summary/recovery-locks.mjs +0 -100
- package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
- package/dist/engine/summary/recovery-message-waits.mjs +0 -74
- package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
- package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
- package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
- package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
- package/dist/engine/summary/recovery-runs.d.mts +0 -23
- package/dist/engine/summary/recovery-runs.mjs +0 -54
- package/dist/engine/summary/recovery-schedules.d.mts +0 -10
- package/dist/engine/summary/recovery-schedules.mjs +0 -46
- package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
- package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
- package/dist/engine/summary/recovery-waits.d.mts +0 -21
- package/dist/engine/summary/recovery-waits.mjs +0 -29
- package/dist/engine/summary/run-availability.d.mts +0 -13
- package/dist/engine/summary/run-availability.mjs +0 -37
- package/dist/engine/summary/run-cleanup.d.mts +0 -14
- package/dist/engine/summary/run-cleanup.mjs +0 -44
- package/dist/engine/summary/run-failure.d.mts +0 -14
- package/dist/engine/summary/run-failure.mjs +0 -62
- package/dist/engine/summary/run-hooks.d.mts +0 -14
- package/dist/engine/summary/run-hooks.mjs +0 -63
- package/dist/engine/summary/run-lease.d.mts +0 -11
- package/dist/engine/summary/run-lease.mjs +0 -64
- package/dist/engine/summary/run-message-waits.d.mts +0 -15
- package/dist/engine/summary/run-message-waits.mjs +0 -62
- package/dist/engine/summary/run-metrics.d.mts +0 -31
- package/dist/engine/summary/run-metrics.mjs +0 -93
- package/dist/engine/summary/run-retry.d.mts +0 -9
- package/dist/engine/summary/run-retry.mjs +0 -69
- package/dist/engine/summary/run-sleeps.d.mts +0 -15
- package/dist/engine/summary/run-sleeps.mjs +0 -61
- package/dist/engine/summary/run-state.d.mts +0 -26
- package/dist/engine/summary/run-state.mjs +0 -48
- package/dist/engine/summary/run-status.d.mts +0 -16
- package/dist/engine/summary/run-status.mjs +0 -35
- package/dist/engine/summary/run-streams.d.mts +0 -14
- package/dist/engine/summary/run-streams.mjs +0 -46
- package/dist/engine/summary/run-transition.d.mts +0 -9
- package/dist/engine/summary/run-transition.mjs +0 -39
- package/dist/engine/summary/run-workflow.d.mts +0 -9
- package/dist/engine/summary/run-workflow.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
- package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
- package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
- package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
- package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
- package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
- package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
- package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
- package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
- package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
- package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
- package/dist/engine/summary/step-attempt-failure.mjs +0 -61
- package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
- package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
- package/dist/engine/summary.d.mts +0 -32
- package/dist/engine/summary.mjs +0 -37
- package/dist/errors/details.d.mts +0 -13
- package/dist/errors/details.mjs +0 -66
- package/dist/errors/record-view.d.mts +0 -11
- package/dist/errors/record-view.mjs +0 -24
- package/dist/errors/runtime.d.mts +0 -12
- package/dist/errors/runtime.mjs +0 -24
- package/dist/events/mod.d.mts +0 -3
- package/dist/events/mod.mjs +0 -2
- package/dist/history/attempt-key.d.mts +0 -6
- package/dist/history/attempt-key.mjs +0 -7
- package/dist/inspection/mod.d.mts +0 -5
- package/dist/inspection/mod.mjs +0 -3
- package/dist/otel.mjs +0 -590
- package/dist/runtime.d.mts +0 -35
- package/dist/runtime.mjs +0 -198
- package/dist/store/append-projection.d.mts +0 -15
- package/dist/store/append-projection.mjs +0 -26
- package/dist/store/compaction.d.mts +0 -5
- package/dist/store/compaction.mjs +0 -8
- package/dist/store/event-append-project.d.mts +0 -15
- package/dist/store/event-append-project.mjs +0 -77
- package/dist/store/event-append.d.mts +0 -37
- package/dist/store/event-append.mjs +0 -80
- package/dist/store/event-history.d.mts +0 -22
- package/dist/store/event-history.mjs +0 -75
- package/dist/store/event.d.mts +0 -10
- package/dist/store/event.mjs +0 -28
- package/dist/store/idempotency.d.mts +0 -10
- package/dist/store/idempotency.mjs +0 -167
- package/dist/store/message-index.d.mts +0 -21
- package/dist/store/message-index.mjs +0 -122
- package/dist/store/revision.d.mts +0 -4
- package/dist/store/revision.mjs +0 -7
- package/dist/store/schema.d.mts +0 -14
- package/dist/store/schema.mjs +0 -17
- package/dist/types/common.d.mts +0 -20
- package/dist/types/common.mjs +0 -16
- package/dist/types/error-code.d.mts +0 -256
- package/dist/types/message-id.d.mts +0 -7
- package/dist/types/message-id.mjs +0 -5
- package/dist/types/run-id.d.mts +0 -7
- package/dist/types/run-id.mjs +0 -5
- package/dist/types/step-id.d.mts +0 -7
- package/dist/types/step-id.mjs +0 -5
- package/dist/types/stream-id.d.mts +0 -7
- package/dist/types/stream-id.mjs +0 -5
- package/dist/types/worker-id.d.mts +0 -7
- package/dist/types/worker-id.mjs +0 -5
- package/dist/utility.d.mts +0 -49
- package/dist/utility.mjs +0 -122
- package/dist/vite/ast.d.mts +0 -23
- package/dist/vite/generated-name.d.mts +0 -7
- package/dist/vite/generated-name.mjs +0 -9
- package/dist/vite/manifest.d.mts +0 -7
- package/dist/vite/plugin.d.mts +0 -7
- package/dist/vite/safety.d.mts +0 -12
- package/dist/vite/source.d.mts +0 -7
- package/dist/vite/transform.d.mts +0 -7
- package/dist/webhook.d.mts +0 -16
- package/dist/webhook.mjs +0 -17
- package/dist/worker.d.mts +0 -19
- /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { SourceMap } from "../types/compiler.mjs";
|
|
2
|
+
//#region src/compiler/source-map.d.ts
|
|
2
3
|
interface GeneratedSourceMapOptions {
|
|
3
4
|
readonly id: string;
|
|
4
5
|
readonly originalCode: string;
|
|
@@ -6,6 +7,6 @@ interface GeneratedSourceMapOptions {
|
|
|
6
7
|
readonly generatedSource: string;
|
|
7
8
|
readonly sourceText: string;
|
|
8
9
|
}
|
|
9
|
-
declare function createGeneratedSourceMap(options: GeneratedSourceMapOptions):
|
|
10
|
+
export declare function createGeneratedSourceMap(options: GeneratedSourceMapOptions): SourceMap;
|
|
10
11
|
//#endregion
|
|
11
|
-
export {
|
|
12
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { stripQuery } from "./source.mjs";
|
|
2
|
-
//#region src/
|
|
2
|
+
//#region src/compiler/source-map.ts
|
|
3
3
|
function createGeneratedSourceMap(options) {
|
|
4
4
|
return {
|
|
5
5
|
version: 3,
|
|
@@ -7,10 +7,10 @@ function createGeneratedSourceMap(options) {
|
|
|
7
7
|
sources: [stripQuery(options.id)],
|
|
8
8
|
sourcesContent: [options.originalCode],
|
|
9
9
|
names: [],
|
|
10
|
-
mappings:
|
|
10
|
+
mappings: createTransformMappings(options)
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function createTransformMappings(options) {
|
|
14
14
|
const generatedLines = options.generatedCode.split("\n");
|
|
15
15
|
const sourceStart = options.sourceText === "" ? -1 : options.generatedSource.indexOf(options.sourceText);
|
|
16
16
|
const generatedStart = options.sourceText === "" ? -1 : options.generatedCode.indexOf(options.sourceText);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
//#region src/compiler/source.d.ts
|
|
2
|
+
/** Removes a URL or Vite query suffix from an ID. */
|
|
3
|
+
export declare function stripQuery(id: string): string;
|
|
4
|
+
type SourceKind = "js" | "json" | "ts" | "tsx";
|
|
5
|
+
export declare function workflowSourceKindForId(id: string): SourceKind;
|
|
6
|
+
//#endregion
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { WorkflowTransformError } from "./error.mjs";
|
|
2
|
+
import { DirectiveKind, TransformManifest, TransformManifestFunction, TransformManifestImportEdge, TransformMetadata, TransformMetadataEntry, TransformOptions, TransformResult } from "../types/compiler.mjs";
|
|
3
|
+
//#region src/compiler/transform.d.ts
|
|
4
|
+
/** Prefix reserved for helper identifiers that the transform injects. */
|
|
5
|
+
export declare const GENERATED_PREFIX = "__temelj";
|
|
6
|
+
export declare function makeGeneratedName(...parts: readonly string[]): string;
|
|
7
|
+
/** Transforms one TypeScript module containing workflow or step directives. */
|
|
8
|
+
export declare function transformWorkflowSource(code: string, id: string, options?: TransformOptions): TransformResult | undefined;
|
|
9
|
+
/** A cheap text check for code that may hold directives or imports worth parsing. */
|
|
10
|
+
export declare function hasDirectiveCandidate(code: string): boolean;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { type DirectiveKind, type TransformManifest, type TransformManifestFunction, type TransformManifestImportEdge, type TransformMetadata, type TransformMetadataEntry, type TransformOptions, type TransformResult, WorkflowTransformError };
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { stripQuery } from "./source.mjs";
|
|
2
|
-
import { leadingTriviaStart,
|
|
2
|
+
import { isCallExpression, isIdentifier, leadingTriviaStart, parseSource, spanText, visitNode, workflowNodeChildren } from "./ast.mjs";
|
|
3
3
|
import { WorkflowTransformError } from "./error.mjs";
|
|
4
|
-
import { makeGeneratedName } from "./generated-name.mjs";
|
|
5
4
|
import { collectImportedStepBindings, collectReExportedManifestFunctions } from "./manifest.mjs";
|
|
6
5
|
import { rejectObviousNondeterministicGlobals } from "./safety.mjs";
|
|
7
6
|
import { SourceEditor } from "./source-edit.mjs";
|
|
8
7
|
import { createGeneratedSourceMap } from "./source-map.mjs";
|
|
8
|
+
import { isFunction } from "@temelj/value";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
//#region src/
|
|
10
|
+
//#region src/compiler/transform.ts
|
|
11
11
|
const JS_TS_EXTENSION_PATTERN = /\.[cm]?[jt]sx?$/;
|
|
12
|
+
/** Prefix reserved for helper identifiers that the transform injects. */
|
|
13
|
+
const GENERATED_PREFIX = "__temelj";
|
|
14
|
+
function makeGeneratedName(...parts) {
|
|
15
|
+
return [GENERATED_PREFIX, ...parts].join("_");
|
|
16
|
+
}
|
|
12
17
|
const GENERATED_CONTEXT_NAME = makeGeneratedName("context");
|
|
13
18
|
const GENERATED_DEFINE_WORKFLOW_NAME = makeGeneratedName("implementWorkflow");
|
|
14
19
|
const GENERATED_DEFINE_WORKFLOW_STEP_NAME = makeGeneratedName("defineWorkflowStep");
|
|
@@ -17,8 +22,8 @@ const GENERATED_ATTACH_WORKFLOW_STEP_DEFINITION_NAME = makeGeneratedName("attach
|
|
|
17
22
|
const GENERATED_CALL_WORKFLOW_STEP_FUNCTION_NAME = makeGeneratedName("callWorkflowStepFunction");
|
|
18
23
|
/** Transforms one TypeScript module containing workflow or step directives. */
|
|
19
24
|
function transformWorkflowSource(code, id, options = {}) {
|
|
20
|
-
if (!JS_TS_EXTENSION_PATTERN.test(stripQuery(id)) || !
|
|
21
|
-
const sourceFile =
|
|
25
|
+
if (!JS_TS_EXTENSION_PATTERN.test(stripQuery(id)) || !hasDirectiveCandidate(code)) return;
|
|
26
|
+
const sourceFile = parseSource(id, code);
|
|
22
27
|
const directiveFunctions = collectDirectiveFunctions(sourceFile.program);
|
|
23
28
|
const file = relativeFile(id, options.root);
|
|
24
29
|
const reExportedFunctions = collectReExportedManifestFunctions(sourceFile.program, file, options.manifests ?? []);
|
|
@@ -42,13 +47,6 @@ function transformWorkflowSource(code, id, options = {}) {
|
|
|
42
47
|
].filter((part) => part !== "").join("\n\n")}\n`;
|
|
43
48
|
return {
|
|
44
49
|
code: transformedResultCode,
|
|
45
|
-
...options.sourcemap === true ? { map: createGeneratedSourceMap({
|
|
46
|
-
id,
|
|
47
|
-
originalCode: sourceFile.text,
|
|
48
|
-
generatedCode: transformedResultCode,
|
|
49
|
-
generatedSource: transformedCode,
|
|
50
|
-
sourceText
|
|
51
|
-
}) } : {},
|
|
52
50
|
metadata: {
|
|
53
51
|
file,
|
|
54
52
|
entries
|
|
@@ -57,18 +55,21 @@ function transformWorkflowSource(code, id, options = {}) {
|
|
|
57
55
|
file,
|
|
58
56
|
functions: [...localFunctions, ...reExportedFunctions],
|
|
59
57
|
imports: [...importedSteps.values()]
|
|
60
|
-
}
|
|
58
|
+
},
|
|
59
|
+
map: options.sourcemap === true ? createGeneratedSourceMap({
|
|
60
|
+
id,
|
|
61
|
+
originalCode: sourceFile.text,
|
|
62
|
+
generatedCode: transformedResultCode,
|
|
63
|
+
generatedSource: transformedCode,
|
|
64
|
+
sourceText
|
|
65
|
+
}) : void 0
|
|
61
66
|
};
|
|
62
67
|
function createDefinitionText(entry, metadata, currentSourceFile) {
|
|
63
68
|
const config = createDefinitionConfig(metadata);
|
|
64
69
|
if (entry.kind === "step") {
|
|
65
|
-
const contextName = uniqueName(GENERATED_CONTEXT_NAME, entry.parameters
|
|
66
|
-
const name = parameterName(parameter);
|
|
67
|
-
if (name === void 0) WorkflowTransformError.directiveParametersMustBeIdentifiers();
|
|
68
|
-
return name || `arg${index}`;
|
|
69
|
-
}));
|
|
70
|
+
const contextName = uniqueName(GENERATED_CONTEXT_NAME, directiveParameterNames(entry.parameters));
|
|
70
71
|
return [
|
|
71
|
-
`const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_STEP_NAME}(${config}, async (${[...entry.parameters.map((parameter) => spanText(currentSourceFile, parameter))
|
|
72
|
+
`const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_STEP_NAME}(${config}, async (${[contextName, ...entry.parameters.map((parameter) => spanText(currentSourceFile, parameter))].join(", ")}) => {`,
|
|
72
73
|
bodyWithoutDirective(entry.body, currentSourceFile),
|
|
73
74
|
"});",
|
|
74
75
|
`${GENERATED_ATTACH_WORKFLOW_STEP_DEFINITION_NAME}(${entry.name}, ${metadata.generatedName});`
|
|
@@ -78,13 +79,14 @@ function transformWorkflowSource(code, id, options = {}) {
|
|
|
78
79
|
if (workflow === void 0) WorkflowTransformError.metadataMissing(entry.name);
|
|
79
80
|
return [
|
|
80
81
|
`const ${metadata.generatedName} = ${GENERATED_DEFINE_WORKFLOW_NAME}(${config}, async (${GENERATED_CONTEXT_NAME}) => {`,
|
|
81
|
-
|
|
82
|
+
createBody(workflow, currentSourceFile, knownStepNames),
|
|
82
83
|
"});",
|
|
83
84
|
`${GENERATED_ATTACH_WORKFLOW_DEFINITION_NAME}(${entry.name}, ${metadata.generatedName});`
|
|
84
85
|
].join("\n");
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
/** A cheap text check for code that may hold directives or imports worth parsing. */
|
|
89
|
+
function hasDirectiveCandidate(code) {
|
|
88
90
|
return code.includes("\"use workflow\"") || code.includes("'use workflow'") || code.includes("\"use step\"") || code.includes("'use step'") || code.includes(" from ");
|
|
89
91
|
}
|
|
90
92
|
function collectDirectiveFunctions(sourceFile) {
|
|
@@ -155,19 +157,19 @@ function rejectUnsupportedDirectiveFunction(node, kind, name) {
|
|
|
155
157
|
if (kind === "workflow" && !node.async) WorkflowTransformError.workflowFunctionMustBeAsync(name);
|
|
156
158
|
}
|
|
157
159
|
function rejectNestedDirectiveFunctions(sourceFile, topLevelBodies) {
|
|
158
|
-
|
|
160
|
+
visitNode(sourceFile, (node) => {
|
|
159
161
|
if (isFunctionLike(node) && node.body !== null && node.body.type === "BlockStatement" && !topLevelBodies.has(node.body) && directiveFromBody(node.body) !== void 0) WorkflowTransformError.directivesMustBeTopLevel();
|
|
160
162
|
});
|
|
161
163
|
}
|
|
162
164
|
function createMetadataEntry(entry, file, options) {
|
|
163
165
|
const workflowName = options.name?.(file, entry.name, entry.kind) ?? `${file}:${entry.name}`;
|
|
164
|
-
const version =
|
|
166
|
+
const version = isFunction(options.version) ? options.version(file, entry.name) : options.version;
|
|
165
167
|
return {
|
|
166
168
|
kind: entry.kind,
|
|
167
169
|
name: entry.name,
|
|
168
170
|
generatedName: makeGeneratedName(entry.kind, sanitizeIdentifier(entry.name)),
|
|
169
171
|
workflowName,
|
|
170
|
-
|
|
172
|
+
version
|
|
171
173
|
};
|
|
172
174
|
}
|
|
173
175
|
function createManifestFunction(entry, metadata) {
|
|
@@ -177,7 +179,7 @@ function createManifestFunction(entry, metadata) {
|
|
|
177
179
|
localName: entry.name,
|
|
178
180
|
generatedName: metadata.generatedName,
|
|
179
181
|
workflowName: metadata.workflowName,
|
|
180
|
-
|
|
182
|
+
version: metadata.version
|
|
181
183
|
};
|
|
182
184
|
}
|
|
183
185
|
function createDefinitionConfig(metadata) {
|
|
@@ -185,15 +187,18 @@ function createDefinitionConfig(metadata) {
|
|
|
185
187
|
if (metadata.version !== void 0) fields.push(`version: ${JSON.stringify(metadata.version)}`);
|
|
186
188
|
return `{ ${fields.join(", ")} }`;
|
|
187
189
|
}
|
|
188
|
-
function
|
|
189
|
-
|
|
190
|
+
function directiveParameterNames(parameters) {
|
|
191
|
+
return parameters.map((parameter, index) => {
|
|
190
192
|
const name = parameterName(parameter);
|
|
191
193
|
if (name === void 0) WorkflowTransformError.directiveParametersMustBeIdentifiers();
|
|
192
194
|
return name || `arg${index}`;
|
|
193
195
|
});
|
|
196
|
+
}
|
|
197
|
+
function createBody(entry, sourceFile, localStepNames) {
|
|
198
|
+
const names = directiveParameterNames(entry.parameters);
|
|
194
199
|
const inputLine = `const ${names.length === 0 ? "[]" : `[${names.join(", ")}]`} = ${GENERATED_CONTEXT_NAME}.input;`;
|
|
195
200
|
rejectObviousNondeterministicGlobals(entry, sourceFile);
|
|
196
|
-
return `${inputLine}\n${
|
|
201
|
+
return `${inputLine}\n${rewriteCalls(bodyWithoutDirective(entry.body, sourceFile), sourceFile, localStepNames, new Set(names))}`;
|
|
197
202
|
}
|
|
198
203
|
function bodyWithoutDirective(body, sourceFile) {
|
|
199
204
|
const statements = body.body.slice(1);
|
|
@@ -202,9 +207,9 @@ function bodyWithoutDirective(body, sourceFile) {
|
|
|
202
207
|
const end = statements.at(-1).end;
|
|
203
208
|
return new SourceEditor(sourceFile.text).read(start, end);
|
|
204
209
|
}
|
|
205
|
-
function
|
|
210
|
+
function rewriteCalls(bodyText, sourceFile, knownStepNames, initialLocalNames) {
|
|
206
211
|
const wrapped = `async function ${makeGeneratedName("workflow", "body")}() {${bodyText}}`;
|
|
207
|
-
const bodySource =
|
|
212
|
+
const bodySource = parseSource(sourceFile.fileName, wrapped);
|
|
208
213
|
const editor = new SourceEditor(bodyText);
|
|
209
214
|
const offset = wrapped.indexOf(bodyText);
|
|
210
215
|
const wrapper = bodySource.program.body[0];
|
|
@@ -347,9 +352,6 @@ function collectBindingNames(name, localNames) {
|
|
|
347
352
|
function parameterName(parameter) {
|
|
348
353
|
if (parameter.type === "Identifier") return parameter.name;
|
|
349
354
|
}
|
|
350
|
-
function isIdentifier(node) {
|
|
351
|
-
return node.type === "Identifier";
|
|
352
|
-
}
|
|
353
355
|
function isFunctionDeclaration(node) {
|
|
354
356
|
return node.type === "FunctionDeclaration";
|
|
355
357
|
}
|
|
@@ -365,9 +367,6 @@ function isArrowOrFunctionExpression(node) {
|
|
|
365
367
|
function isBlockStatement(node) {
|
|
366
368
|
return node.type === "BlockStatement";
|
|
367
369
|
}
|
|
368
|
-
function isCallExpression(node) {
|
|
369
|
-
return node.type === "CallExpression";
|
|
370
|
-
}
|
|
371
370
|
function uniqueName(base, usedNames) {
|
|
372
371
|
let name = base;
|
|
373
372
|
let index = 1;
|
|
@@ -378,7 +377,7 @@ function uniqueName(base, usedNames) {
|
|
|
378
377
|
}
|
|
379
378
|
return name;
|
|
380
379
|
}
|
|
381
|
-
function createRuntimeImportText(specifier = "@temelj/workflow") {
|
|
380
|
+
function createRuntimeImportText(specifier = "@temelj/workflow/compiled") {
|
|
382
381
|
return [
|
|
383
382
|
"import {",
|
|
384
383
|
` implementWorkflow as ${GENERATED_DEFINE_WORKFLOW_NAME},`,
|
|
@@ -402,4 +401,4 @@ function directiveText(kind) {
|
|
|
402
401
|
return kind === "workflow" ? "use workflow" : "use step";
|
|
403
402
|
}
|
|
404
403
|
//#endregion
|
|
405
|
-
export { WorkflowTransformError, transformWorkflowSource };
|
|
404
|
+
export { GENERATED_PREFIX, WorkflowTransformError, hasDirectiveCandidate, makeGeneratedName, transformWorkflowSource };
|
package/dist/definition.d.mts
CHANGED
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import { MessageId } from "./types/
|
|
2
|
-
import {
|
|
3
|
-
import { MessageChannel, MessageChannelConfig, SendMessageChannelOptions, WaitForMessageChannelOptions } from "./types/message.mjs";
|
|
1
|
+
import { MessageId } from "./types/ids.mjs";
|
|
2
|
+
import { DefinitionConfig, RawInputFromSchema, StartTarget, WorkflowDefinition, WorkflowHandler, WorkflowImplementation } from "./types/definition.mjs";
|
|
3
|
+
import { MessageChannel, MessageChannelConfig, SendMessageChannelOptions, WaitForMessageChannelOptions, WaitForMessageOptions } from "./types/message.mjs";
|
|
4
4
|
import { Schema, SchemaOutput } from "@temelj/standard-schema";
|
|
5
5
|
//#region src/definition.d.ts
|
|
6
6
|
/** Defines a durable workflow definition. */
|
|
7
|
-
declare function defineWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config:
|
|
7
|
+
export declare function defineWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: DefinitionConfig): WorkflowDefinition<TInput, TOutput, TRawInput>;
|
|
8
8
|
/** Defines a durable workflow definition. */
|
|
9
|
-
declare function defineWorkflow<const TSchema extends Schema, TOutput = unknown>(config:
|
|
9
|
+
export declare function defineWorkflow<const TSchema extends Schema, TOutput = unknown>(config: DefinitionConfig<TSchema>): WorkflowDefinition<SchemaOutput<TSchema>, TOutput, RawInputFromSchema<TSchema, never>>;
|
|
10
10
|
/** Creates a workflow definition from a resolved name and optional version. */
|
|
11
|
-
declare function
|
|
11
|
+
export declare function defineFromName<TInput = unknown, TOutput = unknown, TRawInput = TInput>(name: string, version?: string): WorkflowDefinition<TInput, TOutput, TRawInput>;
|
|
12
12
|
/** Returns the durable definition for a workflow definition or implementation. */
|
|
13
|
-
declare function
|
|
13
|
+
export declare function defineFromTarget<TInput, TOutput, TRawInput>(target: StartTarget<TInput, TOutput, TRawInput>): WorkflowDefinition<TInput, TOutput, TRawInput>;
|
|
14
14
|
/** Defines an executable workflow implementation from durable workflow config. */
|
|
15
|
-
declare function implementWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config:
|
|
15
|
+
export declare function implementWorkflow<TInput = unknown, TOutput = unknown, TRawInput = TInput>(config: DefinitionConfig, handler: WorkflowHandler<TInput, TOutput>): WorkflowImplementation<TInput, TOutput, TRawInput>;
|
|
16
16
|
/** Defines an executable workflow implementation from durable workflow config. */
|
|
17
|
-
declare function implementWorkflow<const TSchema extends Schema, TOutput = unknown>(config:
|
|
18
|
-
/** Defines
|
|
19
|
-
declare function defineMessageChannel<TPayload
|
|
20
|
-
|
|
21
|
-
declare function resolveMessageChannelSend<TPayload, TKey>(channel: MessageChannel<TPayload, TKey>, options?: SendMessageChannelOptions<TPayload, TKey>): Promise<{
|
|
17
|
+
export declare function implementWorkflow<const TSchema extends Schema, TOutput = unknown>(config: DefinitionConfig<TSchema>, handler: WorkflowHandler<SchemaOutput<TSchema>, TOutput>): WorkflowImplementation<SchemaOutput<TSchema>, TOutput, RawInputFromSchema<TSchema, never>>;
|
|
18
|
+
/** Defines a message channel whose schema validates incoming payloads. */
|
|
19
|
+
export declare function defineMessageChannel<TPayload, TRawPayload = unknown>(config: MessageChannelConfig<TPayload, TRawPayload>): MessageChannel<TPayload, TRawPayload>;
|
|
20
|
+
interface ResolvedMessageChannelSend<TPayload> {
|
|
22
21
|
readonly messageId: MessageId;
|
|
23
22
|
readonly payload?: TPayload;
|
|
24
23
|
readonly idempotencyKey?: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
declare function
|
|
28
|
-
|
|
29
|
-
name: string;
|
|
30
|
-
messageId: string;
|
|
31
|
-
timeout?: Temporal.Duration | undefined;
|
|
32
|
-
schema?: Schema | undefined;
|
|
33
|
-
};
|
|
34
|
-
/** Parses raw workflow input against the definition schema when one is configured. */
|
|
35
|
-
declare function parseWorkflowInput<TInput>(definition: WorkflowDefinition<TInput, unknown, unknown>, input: unknown): Promise<TInput>;
|
|
24
|
+
}
|
|
25
|
+
/** Validates a channel send and preserves its raw payload for the receiving schema. */
|
|
26
|
+
export declare function resolveMessageChannelSend<TPayload, TRawPayload>(channel: MessageChannel<TPayload, TRawPayload>, options?: SendMessageChannelOptions<TRawPayload>): Promise<ResolvedMessageChannelSend<TRawPayload>>;
|
|
27
|
+
export declare function resolveMessageChannelWait<TPayload>(channel: MessageChannel<TPayload, unknown>, options?: WaitForMessageChannelOptions): WaitForMessageOptions<Schema<unknown, TPayload>>;
|
|
36
28
|
//#endregion
|
|
37
|
-
export {
|
|
29
|
+
export {};
|
package/dist/definition.mjs
CHANGED
|
@@ -6,18 +6,18 @@ function defineWorkflow(config) {
|
|
|
6
6
|
kind: "definition",
|
|
7
7
|
config,
|
|
8
8
|
name: config.name,
|
|
9
|
-
|
|
9
|
+
version: config.version
|
|
10
10
|
};
|
|
11
11
|
}
|
|
12
12
|
/** Creates a workflow definition from a resolved name and optional version. */
|
|
13
|
-
function
|
|
13
|
+
function defineFromName(name, version) {
|
|
14
14
|
return defineWorkflow({
|
|
15
15
|
name,
|
|
16
|
-
|
|
16
|
+
version
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
/** Returns the durable definition for a workflow definition or implementation. */
|
|
20
|
-
function
|
|
20
|
+
function defineFromTarget(target) {
|
|
21
21
|
return target.kind === "implementation" ? target.definition : target;
|
|
22
22
|
}
|
|
23
23
|
/** Defines an executable workflow implementation from durable workflow config. */
|
|
@@ -26,58 +26,42 @@ function implementWorkflow(config, handler) {
|
|
|
26
26
|
kind: "definition",
|
|
27
27
|
config,
|
|
28
28
|
name: config.name,
|
|
29
|
-
|
|
29
|
+
version: config.version
|
|
30
30
|
};
|
|
31
31
|
return {
|
|
32
32
|
kind: "implementation",
|
|
33
33
|
definition,
|
|
34
34
|
config: definition.config,
|
|
35
35
|
name: definition.name,
|
|
36
|
-
|
|
36
|
+
version: definition.version,
|
|
37
37
|
handler
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
/** Defines
|
|
40
|
+
/** Defines a message channel whose schema validates incoming payloads. */
|
|
41
41
|
function defineMessageChannel(config) {
|
|
42
|
-
const name = config.name;
|
|
43
42
|
return {
|
|
44
|
-
name,
|
|
45
|
-
|
|
46
|
-
resolveMessageId: (...args) => {
|
|
47
|
-
return config.resolveMessageId?.(...args) ?? name;
|
|
48
|
-
}
|
|
43
|
+
name: config.name,
|
|
44
|
+
schema: config.schema
|
|
49
45
|
};
|
|
50
46
|
}
|
|
51
|
-
/**
|
|
47
|
+
/** Validates a channel send and preserves its raw payload for the receiving schema. */
|
|
52
48
|
async function resolveMessageChannelSend(channel, options = {}) {
|
|
53
|
-
const payload =
|
|
49
|
+
const payload = options.payload;
|
|
50
|
+
await validateStandardSchema(channel.schema, payload, "Workflow message validation failed");
|
|
54
51
|
return {
|
|
55
|
-
messageId:
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
messageId: channel.name,
|
|
53
|
+
payload,
|
|
54
|
+
idempotencyKey: options.idempotencyKey
|
|
58
55
|
};
|
|
59
56
|
}
|
|
60
|
-
/** Normalizes and parses workflow message channel wait. */
|
|
61
57
|
function resolveMessageChannelWait(channel, options = {}) {
|
|
62
58
|
return {
|
|
63
59
|
commandId: options.commandId ?? options.name ?? channel.name,
|
|
64
60
|
name: options.name ?? channel.name,
|
|
65
|
-
messageId:
|
|
66
|
-
|
|
67
|
-
|
|
61
|
+
messageId: channel.name,
|
|
62
|
+
timeout: options.timeout,
|
|
63
|
+
schema: channel.schema
|
|
68
64
|
};
|
|
69
65
|
}
|
|
70
|
-
function resolveMessageChannelMessageId(channel, key) {
|
|
71
|
-
return channel.resolveMessageId(...workflowMessageChannelKeyArgs(key));
|
|
72
|
-
}
|
|
73
|
-
function workflowMessageChannelKeyArgs(key) {
|
|
74
|
-
return key === void 0 ? [] : [key];
|
|
75
|
-
}
|
|
76
|
-
/** Parses raw workflow input against the definition schema when one is configured. */
|
|
77
|
-
async function parseWorkflowInput(definition, input) {
|
|
78
|
-
const schema = definition.config.schema;
|
|
79
|
-
if (schema === void 0) return input;
|
|
80
|
-
return await validateStandardSchema(schema, input, "Workflow input validation failed");
|
|
81
|
-
}
|
|
82
66
|
//#endregion
|
|
83
|
-
export {
|
|
67
|
+
export { defineFromName, defineFromTarget, defineMessageChannel, defineWorkflow, implementWorkflow, resolveMessageChannelSend, resolveMessageChannelWait };
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { StepWorkflowApi } from "../types/step.mjs";
|
|
2
|
+
import { WorkflowEngine } from "./create.mjs";
|
|
3
|
+
import { ExecutionEnvironment } from "../types/engine.mjs";
|
|
4
4
|
//#region src/engine/child-workflow.d.ts
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
declare function runChildWorkflow<TInput, TOutput, TRawInput = TInput>(environment: WorkflowExecutionEnvironment, engine: WorkflowChildWorkflowEngine, definition: WorkflowDefinition<TInput, TOutput, TRawInput>, input: TRawInput, options: WorkflowStepRunWorkflowOptions | undefined): Promise<TOutput>;
|
|
8
|
-
declare function startBackgroundChildWorkflow<TInput, TOutput, TRawInput = TInput>(environment: WorkflowExecutionEnvironment, engine: WorkflowChildWorkflowEngine, definition: WorkflowDefinition<TInput, TOutput, TRawInput>, input: TRawInput, options: WorkflowStepStartWorkflowOptions | undefined): Promise<string>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { WorkflowChildWorkflowEngine, createWorkflowStepWorkflowApi, runChildWorkflow, startBackgroundChildWorkflow };
|
|
5
|
+
export declare function createStepWorkflowApi(environment: ExecutionEnvironment, engine: WorkflowEngine): StepWorkflowApi;
|
|
6
|
+
//#endregion
|