@temelj/workflow 0.0.0-alpha.2 → 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 +127 -282
- 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,23 +1,22 @@
|
|
|
1
1
|
import { WorkflowReplayDivergenceError } from "../errors/failures.mjs";
|
|
2
|
-
import { makeWorkflowStepAttemptKey } from "./attempt-key.mjs";
|
|
3
2
|
import "../errors/mod.mjs";
|
|
4
|
-
import {
|
|
3
|
+
import { stepAttemptKey } from "../store-keys.mjs";
|
|
4
|
+
import { createStepSequencer } from "./sequencer.mjs";
|
|
5
5
|
import { requireWorkflowStartedEventsAreUnique, requireWorkflowTerminalEventsAreUnique, requireWorkflowTerminalEventsHaveStartedEvents } from "./validator.mjs";
|
|
6
|
-
import { activeMessageWaitStepIds,
|
|
7
|
-
import {
|
|
6
|
+
import { activeMessageWaitStepIds, appendReplayProjectionEvents, createReplayProjection, findChildWorkflowLifecycleForAttempt, findLastChildWorkflowStartedForTerminal, findLastIndexedEventAfter, findLastMessageSentById, findLastMessageWaitStartedByNameAndMessageId, findLastMessageWaitStartedForCompleted, findLastMessageWaitTerminalAfterStarted, findLastSleepStartedForCompleted, findMessageSentByIdempotencyKey, findMessageSentByTimestamp, findMessageSentForWait, findStreamEventProjection } from "./replay-projection.mjs";
|
|
7
|
+
import { applyStepAttemptEvent } from "./projection.mjs";
|
|
8
8
|
import { createTimeline } from "./timeline.mjs";
|
|
9
9
|
import { deepEquals } from "@temelj/value";
|
|
10
|
-
//#region src/history/
|
|
11
|
-
|
|
12
|
-
var WorkflowHistory = class {
|
|
10
|
+
//#region src/history/replay.ts
|
|
11
|
+
var History = class {
|
|
13
12
|
#events;
|
|
14
13
|
#sequencer;
|
|
15
14
|
#projection;
|
|
16
15
|
#appendQueue = Promise.resolve();
|
|
17
16
|
constructor(events) {
|
|
18
17
|
this.#events = [...events];
|
|
19
|
-
this.#sequencer =
|
|
20
|
-
this.#projection =
|
|
18
|
+
this.#sequencer = createStepSequencer(events);
|
|
19
|
+
this.#projection = createReplayProjection(this.#events);
|
|
21
20
|
}
|
|
22
21
|
get events() {
|
|
23
22
|
return this.#events;
|
|
@@ -57,10 +56,7 @@ var WorkflowHistory = class {
|
|
|
57
56
|
return this.#projection.startedStepAttempts.get(stepId)?.length ?? 0;
|
|
58
57
|
}
|
|
59
58
|
nextStepAttempt(stepId) {
|
|
60
|
-
if (this.#projection.invalidStartedStepAttempt.has(stepId)) WorkflowReplayDivergenceError.
|
|
61
|
-
expectedStepId: stepId,
|
|
62
|
-
actualStepId: stepId
|
|
63
|
-
});
|
|
59
|
+
if (this.#projection.invalidStartedStepAttempt.has(stepId)) WorkflowReplayDivergenceError.atStep(stepId, `recorded run step ${stepId} has an invalid attempt number`);
|
|
64
60
|
return this.#projection.nextStepAttemptByStepId.get(stepId) ?? 1;
|
|
65
61
|
}
|
|
66
62
|
totalStartedStepCount() {
|
|
@@ -76,7 +72,7 @@ var WorkflowHistory = class {
|
|
|
76
72
|
return this.#projection.completedSleep.get(stepId);
|
|
77
73
|
}
|
|
78
74
|
startedSleepForCompleted(completed) {
|
|
79
|
-
return
|
|
75
|
+
return findLastSleepStartedForCompleted(this.#projection, completed);
|
|
80
76
|
}
|
|
81
77
|
startedChildWorkflow(stepId) {
|
|
82
78
|
return this.#projection.startedChildWorkflow.get(stepId);
|
|
@@ -88,10 +84,10 @@ var WorkflowHistory = class {
|
|
|
88
84
|
return this.#projection.failedChildWorkflow.get(stepId);
|
|
89
85
|
}
|
|
90
86
|
startedChildWorkflowForTerminal(terminal) {
|
|
91
|
-
return
|
|
87
|
+
return findLastChildWorkflowStartedForTerminal(this.#projection, terminal);
|
|
92
88
|
}
|
|
93
89
|
childWorkflowLifecycleForAttempt(attempt) {
|
|
94
|
-
return
|
|
90
|
+
return findChildWorkflowLifecycleForAttempt(this.#projection, attempt);
|
|
95
91
|
}
|
|
96
92
|
startedMessageWait(stepId) {
|
|
97
93
|
return this.#projection.startedMessageWait.get(stepId);
|
|
@@ -100,10 +96,10 @@ var WorkflowHistory = class {
|
|
|
100
96
|
return findLastMessageWaitStartedForCompleted(this.#projection, completed);
|
|
101
97
|
}
|
|
102
98
|
completedMessageWait(stepId) {
|
|
103
|
-
return
|
|
99
|
+
return findLastIndexedEventAfter(this.#projection.completedMessageWait.get(stepId) ?? [], this.#projection.latestMessageWaitStartedIndex.get(stepId) ?? -1, (event) => event.timestamp instanceof Temporal.Instant);
|
|
104
100
|
}
|
|
105
101
|
failedMessageWait(stepId) {
|
|
106
|
-
return
|
|
102
|
+
return findLastIndexedEventAfter(this.#projection.failedMessageWait.get(stepId) ?? [], this.#projection.latestMessageWaitStartedIndex.get(stepId) ?? -1, (event) => event.timestamp instanceof Temporal.Instant);
|
|
107
103
|
}
|
|
108
104
|
latestMessageWaitStartedByNameAndMessageId(stepName, messageId) {
|
|
109
105
|
return findLastMessageWaitStartedByNameAndMessageId(this.#projection, stepName, messageId);
|
|
@@ -112,22 +108,22 @@ var WorkflowHistory = class {
|
|
|
112
108
|
return findLastMessageWaitTerminalAfterStarted(this.#projection, started);
|
|
113
109
|
}
|
|
114
110
|
messageForWait(messageId, stepId, timeoutAt) {
|
|
115
|
-
return
|
|
111
|
+
return findMessageSentForWait(this.#projection, messageId, stepId, timeoutAt);
|
|
116
112
|
}
|
|
117
113
|
activeMessageWaitStepIds(messageId) {
|
|
118
114
|
return activeMessageWaitStepIds(this.#projection, messageId);
|
|
119
115
|
}
|
|
120
116
|
messageForSend(messageId, idempotencyKey) {
|
|
121
|
-
return idempotencyKey === void 0 ?
|
|
117
|
+
return idempotencyKey === void 0 ? findLastMessageSentById(this.#projection, messageId) : findMessageSentByIdempotencyKey(this.#projection, idempotencyKey);
|
|
122
118
|
}
|
|
123
119
|
messageByIdempotencyKey(idempotencyKey) {
|
|
124
|
-
return
|
|
120
|
+
return findMessageSentByIdempotencyKey(this.#projection, idempotencyKey);
|
|
125
121
|
}
|
|
126
122
|
latestMessagesByIdempotencyKey() {
|
|
127
123
|
return [...this.#projection.latestMessageSentByIdempotencyKey.values()];
|
|
128
124
|
}
|
|
129
125
|
messageSentByTimestamp(messageId, timestamp) {
|
|
130
|
-
return
|
|
126
|
+
return findMessageSentByTimestamp(this.#projection, messageId, timestamp);
|
|
131
127
|
}
|
|
132
128
|
startedMessageSend(stepId) {
|
|
133
129
|
return this.#projection.startedMessageSend.get(stepId);
|
|
@@ -181,15 +177,15 @@ var WorkflowHistory = class {
|
|
|
181
177
|
const previousLength = this.#events.length;
|
|
182
178
|
if (eventsPreservePrefix(this.#events, events, previousLength)) {
|
|
183
179
|
this.#events.splice(0, this.#events.length, ...events);
|
|
184
|
-
|
|
180
|
+
appendReplayProjectionEvents(this.#projection, events.slice(previousLength), previousLength);
|
|
185
181
|
return;
|
|
186
182
|
}
|
|
187
183
|
this.#events.splice(0, this.#events.length, ...events);
|
|
188
|
-
this.#projection =
|
|
184
|
+
this.#projection = createReplayProjection(this.#events);
|
|
189
185
|
}
|
|
190
186
|
};
|
|
191
187
|
function eventsPreservePrefix(current, next, prefixLength) {
|
|
192
188
|
return next.length >= prefixLength && current.every((event, index) => deepEquals(event, next[index]));
|
|
193
189
|
}
|
|
194
190
|
//#endregion
|
|
195
|
-
export {
|
|
191
|
+
export { History, applyStepAttemptEvent, createTimeline, stepAttemptKey };
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChildWorkflowStartedEvent, DeterministicValueRecordedEvent, EventRecord, MessageSendStartedEvent, MessageWaitStartedEvent, MetadataSetEvent, SleepStartedEvent,
|
|
1
|
+
import { StepIdentity, StepType } from "../types/run.mjs";
|
|
2
|
+
import { ChildWorkflowStartedEvent, DeterministicValueRecordedEvent, EventRecord, MessageSendStartedEvent, MessageWaitStartedEvent, MetadataSetEvent, SleepStartedEvent, StepStartedEvent, StreamStartedEvent } from "../types/events.mjs";
|
|
3
3
|
//#region src/history/sequencer.d.ts
|
|
4
|
-
type
|
|
5
|
-
declare function
|
|
6
|
-
declare class
|
|
4
|
+
export type RecordedStepEvent = StepStartedEvent | SleepStartedEvent | ChildWorkflowStartedEvent | MessageSendStartedEvent | MessageWaitStartedEvent | StreamStartedEvent | DeterministicValueRecordedEvent | MetadataSetEvent;
|
|
5
|
+
export declare function createStepSequencer(events: readonly EventRecord[]): StepSequencer;
|
|
6
|
+
export declare class StepSequencer {
|
|
7
7
|
#private;
|
|
8
|
-
constructor(recordedSteps: readonly
|
|
9
|
-
next<TType extends
|
|
8
|
+
constructor(recordedSteps: readonly RecordedStepEvent[]);
|
|
9
|
+
next<TType extends StepType>(type: TType, name: string): StepIdentity<TType>;
|
|
10
10
|
requireConsumed(): void;
|
|
11
11
|
isConsumed(): boolean;
|
|
12
12
|
}
|
|
13
|
-
declare function workflowRecordedStepEventType(event:
|
|
14
|
-
declare function
|
|
15
|
-
//#endregion
|
|
16
|
-
export { WorkflowRecordedStepEvent, WorkflowStepSequencer, createWorkflowStepSequencer, isWorkflowRecordedStepEvent, workflowRecordedStepEventType };
|
|
13
|
+
export declare function workflowRecordedStepEventType(event: RecordedStepEvent): StepType;
|
|
14
|
+
export declare function isRecordedStepEvent(event: EventRecord): event is RecordedStepEvent;
|
|
15
|
+
//#endregion
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { WorkflowErrorCode } from "../errors/codes.mjs";
|
|
1
2
|
import { WorkflowStateError } from "../errors/base.mjs";
|
|
2
3
|
import { WorkflowReplayDivergenceError } from "../errors/failures.mjs";
|
|
3
4
|
import "../errors/mod.mjs";
|
|
4
5
|
import { getEventDescriptor, isWorkflowRecordedStepEventKind } from "../events/descriptors.mjs";
|
|
5
6
|
//#region src/history/sequencer.ts
|
|
6
|
-
function
|
|
7
|
-
return new
|
|
7
|
+
function createStepSequencer(events) {
|
|
8
|
+
return new StepSequencer(distinctRecordedStepEvents(events));
|
|
8
9
|
}
|
|
9
|
-
var
|
|
10
|
+
var StepSequencer = class {
|
|
10
11
|
#counts = /* @__PURE__ */ new Map();
|
|
11
12
|
#recordedSteps;
|
|
12
13
|
#cursor = 0;
|
|
@@ -56,17 +57,20 @@ var WorkflowStepSequencer = class {
|
|
|
56
57
|
};
|
|
57
58
|
function workflowRecordedStepEventType(event) {
|
|
58
59
|
const stepType = getEventDescriptor(event.kind).stepType;
|
|
59
|
-
if (stepType === void 0) WorkflowStateError
|
|
60
|
+
if (stepType === void 0) throw new WorkflowStateError(`Workflow recorded step event type is not supported: ${event.kind}`, {
|
|
61
|
+
code: WorkflowErrorCode.STATE_RECORDED_STEP_EVENT_UNSUPPORTED,
|
|
62
|
+
details: { kind: event.kind }
|
|
63
|
+
});
|
|
60
64
|
return stepType;
|
|
61
65
|
}
|
|
62
|
-
function
|
|
66
|
+
function isRecordedStepEvent(event) {
|
|
63
67
|
return isWorkflowRecordedStepEventKind(event.kind) && "stepId" in event && "stepName" in event && "count" in event;
|
|
64
68
|
}
|
|
65
69
|
function distinctRecordedStepEvents(events) {
|
|
66
70
|
const recorded = [];
|
|
67
71
|
const seen = /* @__PURE__ */ new Set();
|
|
68
72
|
for (const event of events) {
|
|
69
|
-
if (!
|
|
73
|
+
if (!isRecordedStepEvent(event)) continue;
|
|
70
74
|
const key = `${event.kind}:${event.stepId}:${event.count}`;
|
|
71
75
|
if (seen.has(key)) continue;
|
|
72
76
|
seen.add(key);
|
|
@@ -75,4 +79,4 @@ function distinctRecordedStepEvents(events) {
|
|
|
75
79
|
return recorded;
|
|
76
80
|
}
|
|
77
81
|
//#endregion
|
|
78
|
-
export {
|
|
82
|
+
export { StepSequencer, createStepSequencer, isRecordedStepEvent, workflowRecordedStepEventType };
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { RunId } from "../types/
|
|
2
|
-
import {
|
|
3
|
-
import "../types/run.mjs";
|
|
1
|
+
import { RunId } from "../types/ids.mjs";
|
|
2
|
+
import { StepAttemptRecord } from "../types/step-attempts.mjs";
|
|
4
3
|
import { EventRecord } from "../types/events.mjs";
|
|
5
4
|
//#region src/history/step-attempts.d.ts
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
export { createWorkflowStepAttempts };
|
|
5
|
+
export declare function createStepAttempts(runId: RunId, events: readonly EventRecord[]): readonly StepAttemptRecord[];
|
|
6
|
+
//#endregion
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { getWorkflowEventStepAttemptKey, isWorkflowTerminalStepAttemptEvent } from "../events/descriptors.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { applyStepAttemptEvent } from "./projection.mjs";
|
|
3
3
|
//#region src/history/step-attempts.ts
|
|
4
|
-
|
|
5
|
-
function createWorkflowStepAttempts(runId, events) {
|
|
4
|
+
function createStepAttempts(runId, events) {
|
|
6
5
|
const attempts = /* @__PURE__ */ new Map();
|
|
7
6
|
for (const event of events) {
|
|
8
|
-
const key =
|
|
7
|
+
const key = reconciledStepAttemptKeyFromEvent(event);
|
|
9
8
|
if (key === void 0) continue;
|
|
10
|
-
const attempt =
|
|
9
|
+
const attempt = applyReconciledStepAttemptEvent(runId, event, attempts.get(key));
|
|
11
10
|
if (attempt === void 0 || isWorkflowTerminalStepAttemptEvent(event) && !attempts.has(key)) continue;
|
|
12
11
|
attempts.set(key, attempt);
|
|
13
12
|
}
|
|
14
13
|
return markSupersededRunningStepAttemptsAsAbandoned([...attempts.values()]).sort(compareStepAttempts);
|
|
15
14
|
}
|
|
16
|
-
function
|
|
15
|
+
function applyReconciledStepAttemptEvent(runId, event, current) {
|
|
17
16
|
try {
|
|
18
|
-
return
|
|
17
|
+
return applyStepAttemptEvent(runId, event, current);
|
|
19
18
|
} catch {
|
|
20
19
|
return;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
function
|
|
22
|
+
function reconciledStepAttemptKeyFromEvent(event) {
|
|
24
23
|
try {
|
|
25
24
|
return getWorkflowEventStepAttemptKey(event);
|
|
26
25
|
} catch {
|
|
@@ -47,4 +46,4 @@ function compareStepAttempts(left, right) {
|
|
|
47
46
|
return stepId === 0 ? left.attempt - right.attempt : stepId;
|
|
48
47
|
}
|
|
49
48
|
//#endregion
|
|
50
|
-
export {
|
|
49
|
+
export { createStepAttempts };
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WorkflowRunRecord } from "../types/run.mjs";
|
|
1
|
+
import { RunRecord } from "../types/run.mjs";
|
|
3
2
|
import { EventRecord } from "../types/events.mjs";
|
|
3
|
+
import { Timeline } from "../types/timeline.mjs";
|
|
4
4
|
//#region src/history/timeline.d.ts
|
|
5
|
-
/** Creates workflow timeline. */
|
|
6
|
-
declare function createTimeline(run: WorkflowRunRecord, events: readonly EventRecord[]): Timeline$1;
|
|
7
5
|
/** Timeline projection built from a run record and its durable event history. */
|
|
8
|
-
declare
|
|
9
|
-
|
|
10
|
-
readonly run: WorkflowRunRecord;
|
|
11
|
-
/** @inheritdoc */
|
|
12
|
-
readonly entries: readonly TimelineEntryRecord[];
|
|
13
|
-
constructor(run: WorkflowRunRecord, events: readonly EventRecord[]);
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
export { Timeline, createTimeline };
|
|
6
|
+
export declare function createTimeline(run: RunRecord, events: readonly EventRecord[]): Timeline;
|
|
7
|
+
//#endregion
|
|
@@ -1,272 +1,53 @@
|
|
|
1
|
+
import { parse } from "../schema/common.mjs";
|
|
1
2
|
import { workflowAttributePatchFromEvent } from "../attributes.mjs";
|
|
2
|
-
import {
|
|
3
|
+
import { eventRecordListSchema } from "../schema/events.mjs";
|
|
3
4
|
//#region src/history/timeline.ts
|
|
4
|
-
|
|
5
|
+
const CLASSIFICATION = {
|
|
6
|
+
workflow_started: ["workflow", "started"],
|
|
7
|
+
workflow_completed: ["workflow", "completed"],
|
|
8
|
+
workflow_failed: ["workflow", "failed"],
|
|
9
|
+
step_started: ["step", "started"],
|
|
10
|
+
step_completed: ["step", "completed"],
|
|
11
|
+
step_failed: ["step", "failed"],
|
|
12
|
+
metadata_set: ["metadata", "set"],
|
|
13
|
+
attributes_set: ["attributes", "set"],
|
|
14
|
+
deterministic_value_recorded: ["deterministic", "recorded"],
|
|
15
|
+
sleep_started: ["sleep", "started"],
|
|
16
|
+
sleep_completed: ["sleep", "completed"],
|
|
17
|
+
child_workflow_started: ["child_workflow", "started"],
|
|
18
|
+
child_workflow_completed: ["child_workflow", "completed"],
|
|
19
|
+
child_workflow_failed: ["child_workflow", "failed"],
|
|
20
|
+
message_send_started: ["message", "send_started"],
|
|
21
|
+
message_send_completed: ["message", "send_completed"],
|
|
22
|
+
message_send_failed: ["message", "send_failed"],
|
|
23
|
+
message_sent: ["message", "sent"],
|
|
24
|
+
message_wait_started: ["message", "waiting"],
|
|
25
|
+
message_wait_completed: ["message", "received"],
|
|
26
|
+
message_wait_failed: ["message", "failed"],
|
|
27
|
+
stream_started: ["stream", "started"],
|
|
28
|
+
stream_chunk: ["stream", "chunk"],
|
|
29
|
+
stream_closed: ["stream", "closed"],
|
|
30
|
+
stream_failed: ["stream", "failed"]
|
|
31
|
+
};
|
|
32
|
+
/** Timeline projection built from a run record and its durable event history. */
|
|
5
33
|
function createTimeline(run, events) {
|
|
6
|
-
return
|
|
34
|
+
return {
|
|
35
|
+
run,
|
|
36
|
+
entries: parse(eventRecordListSchema, events).map(toTimelineEntry)
|
|
37
|
+
};
|
|
7
38
|
}
|
|
8
|
-
/** Timeline projection built from a run record and its durable event history. */
|
|
9
|
-
var Timeline = class {
|
|
10
|
-
/** @inheritdoc */
|
|
11
|
-
run;
|
|
12
|
-
/** @inheritdoc */
|
|
13
|
-
entries;
|
|
14
|
-
constructor(run, events) {
|
|
15
|
-
const parsedEvents = workflowEventRecordListSchema.parse(events);
|
|
16
|
-
this.run = run;
|
|
17
|
-
this.entries = parsedEvents.map(toTimelineEntry);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
39
|
function toTimelineEntry(event) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
event
|
|
33
|
-
};
|
|
34
|
-
case "workflow_failed": return {
|
|
35
|
-
kind: "workflow",
|
|
36
|
-
status: "failed",
|
|
37
|
-
timestamp: event.timestamp,
|
|
38
|
-
event
|
|
39
|
-
};
|
|
40
|
-
case "step_started": return {
|
|
41
|
-
kind: "step",
|
|
42
|
-
status: "started",
|
|
43
|
-
timestamp: event.timestamp,
|
|
44
|
-
stepId: event.stepId,
|
|
45
|
-
stepName: event.stepName,
|
|
46
|
-
attempt: event.attempt,
|
|
47
|
-
count: event.count,
|
|
48
|
-
event
|
|
49
|
-
};
|
|
50
|
-
case "step_completed": return {
|
|
51
|
-
kind: "step",
|
|
52
|
-
status: "completed",
|
|
53
|
-
timestamp: event.timestamp,
|
|
54
|
-
stepId: event.stepId,
|
|
55
|
-
stepName: event.stepName,
|
|
56
|
-
attempt: event.attempt,
|
|
57
|
-
result: event.result,
|
|
58
|
-
event
|
|
59
|
-
};
|
|
60
|
-
case "step_failed": return {
|
|
61
|
-
kind: "step",
|
|
62
|
-
status: "failed",
|
|
63
|
-
timestamp: event.timestamp,
|
|
64
|
-
stepId: event.stepId,
|
|
65
|
-
stepName: event.stepName,
|
|
66
|
-
attempt: event.attempt,
|
|
67
|
-
error: event.error,
|
|
68
|
-
event
|
|
69
|
-
};
|
|
70
|
-
case "metadata_set": return {
|
|
71
|
-
kind: "metadata",
|
|
72
|
-
status: "set",
|
|
73
|
-
timestamp: event.timestamp,
|
|
74
|
-
stepId: event.stepId,
|
|
75
|
-
stepName: event.stepName,
|
|
76
|
-
count: event.count,
|
|
77
|
-
metadata: event.metadata,
|
|
78
|
-
event
|
|
79
|
-
};
|
|
80
|
-
case "attributes_set": return {
|
|
81
|
-
kind: "attributes",
|
|
82
|
-
status: "set",
|
|
83
|
-
timestamp: event.timestamp,
|
|
84
|
-
stepId: event.stepId,
|
|
85
|
-
stepName: event.stepName,
|
|
86
|
-
count: event.count,
|
|
87
|
-
attributes: workflowAttributePatchFromEvent(event),
|
|
88
|
-
event
|
|
89
|
-
};
|
|
90
|
-
case "deterministic_value_recorded": return {
|
|
91
|
-
kind: "deterministic",
|
|
92
|
-
status: "recorded",
|
|
93
|
-
timestamp: event.timestamp,
|
|
94
|
-
stepId: event.stepId,
|
|
95
|
-
stepName: event.stepName,
|
|
96
|
-
count: event.count,
|
|
97
|
-
value: event.value,
|
|
98
|
-
event
|
|
99
|
-
};
|
|
100
|
-
case "sleep_started": return {
|
|
101
|
-
kind: "sleep",
|
|
102
|
-
status: "started",
|
|
103
|
-
timestamp: event.timestamp,
|
|
104
|
-
stepId: event.stepId,
|
|
105
|
-
stepName: event.stepName,
|
|
106
|
-
count: event.count,
|
|
107
|
-
until: event.until,
|
|
108
|
-
...event.duration === void 0 ? {} : { duration: event.duration },
|
|
109
|
-
event
|
|
110
|
-
};
|
|
111
|
-
case "sleep_completed": return {
|
|
112
|
-
kind: "sleep",
|
|
113
|
-
status: "completed",
|
|
114
|
-
timestamp: event.timestamp,
|
|
115
|
-
stepId: event.stepId,
|
|
116
|
-
stepName: event.stepName,
|
|
117
|
-
event
|
|
118
|
-
};
|
|
119
|
-
case "child_workflow_started": return {
|
|
120
|
-
kind: "child_workflow",
|
|
121
|
-
status: "started",
|
|
122
|
-
timestamp: event.timestamp,
|
|
123
|
-
stepId: event.stepId,
|
|
124
|
-
stepName: event.stepName,
|
|
125
|
-
count: event.count,
|
|
126
|
-
childRunId: event.childRunId,
|
|
127
|
-
workflowName: event.workflowName,
|
|
128
|
-
...event.workflowVersion === void 0 ? {} : { workflowVersion: event.workflowVersion },
|
|
129
|
-
...event.input === void 0 ? {} : { input: event.input },
|
|
130
|
-
...event.timeoutAt === void 0 ? {} : { timeoutAt: event.timeoutAt },
|
|
131
|
-
event
|
|
132
|
-
};
|
|
133
|
-
case "child_workflow_completed": return {
|
|
134
|
-
kind: "child_workflow",
|
|
135
|
-
status: "completed",
|
|
136
|
-
timestamp: event.timestamp,
|
|
137
|
-
stepId: event.stepId,
|
|
138
|
-
stepName: event.stepName,
|
|
139
|
-
childRunId: event.childRunId,
|
|
140
|
-
result: event.result,
|
|
141
|
-
event
|
|
142
|
-
};
|
|
143
|
-
case "child_workflow_failed": return {
|
|
144
|
-
kind: "child_workflow",
|
|
145
|
-
status: "failed",
|
|
146
|
-
timestamp: event.timestamp,
|
|
147
|
-
stepId: event.stepId,
|
|
148
|
-
stepName: event.stepName,
|
|
149
|
-
childRunId: event.childRunId,
|
|
150
|
-
error: event.error,
|
|
151
|
-
event
|
|
152
|
-
};
|
|
153
|
-
case "message_send_started": return {
|
|
154
|
-
kind: "message",
|
|
155
|
-
status: "send_started",
|
|
156
|
-
timestamp: event.timestamp,
|
|
157
|
-
stepId: event.stepId,
|
|
158
|
-
stepName: event.stepName,
|
|
159
|
-
count: event.count,
|
|
160
|
-
targetRunId: event.targetRunId,
|
|
161
|
-
messageId: event.messageId,
|
|
162
|
-
...event.payload === void 0 ? {} : { payload: event.payload },
|
|
163
|
-
event
|
|
164
|
-
};
|
|
165
|
-
case "message_send_completed": return {
|
|
166
|
-
kind: "message",
|
|
167
|
-
status: "send_completed",
|
|
168
|
-
timestamp: event.timestamp,
|
|
169
|
-
stepId: event.stepId,
|
|
170
|
-
stepName: event.stepName,
|
|
171
|
-
targetRunId: event.targetRunId,
|
|
172
|
-
messageId: event.messageId,
|
|
173
|
-
event
|
|
174
|
-
};
|
|
175
|
-
case "message_send_failed": return {
|
|
176
|
-
kind: "message",
|
|
177
|
-
status: "send_failed",
|
|
178
|
-
timestamp: event.timestamp,
|
|
179
|
-
stepId: event.stepId,
|
|
180
|
-
stepName: event.stepName,
|
|
181
|
-
targetRunId: event.targetRunId,
|
|
182
|
-
messageId: event.messageId,
|
|
183
|
-
error: event.error,
|
|
184
|
-
event
|
|
185
|
-
};
|
|
186
|
-
case "message_sent": return {
|
|
187
|
-
kind: "message",
|
|
188
|
-
status: "sent",
|
|
189
|
-
timestamp: event.timestamp,
|
|
190
|
-
messageId: event.messageId,
|
|
191
|
-
payload: event.payload,
|
|
192
|
-
waiterStepIds: event.waiterStepIds,
|
|
193
|
-
event
|
|
194
|
-
};
|
|
195
|
-
case "message_wait_started": return {
|
|
196
|
-
kind: "message",
|
|
197
|
-
status: "waiting",
|
|
198
|
-
timestamp: event.timestamp,
|
|
199
|
-
stepId: event.stepId,
|
|
200
|
-
stepName: event.stepName,
|
|
201
|
-
count: event.count,
|
|
202
|
-
messageId: event.messageId,
|
|
203
|
-
...event.timeoutAt === void 0 ? {} : { timeoutAt: event.timeoutAt },
|
|
204
|
-
event
|
|
205
|
-
};
|
|
206
|
-
case "message_wait_completed": return {
|
|
207
|
-
kind: "message",
|
|
208
|
-
status: "received",
|
|
209
|
-
timestamp: event.timestamp,
|
|
210
|
-
stepId: event.stepId,
|
|
211
|
-
stepName: event.stepName,
|
|
212
|
-
messageId: event.messageId,
|
|
213
|
-
payload: event.payload,
|
|
214
|
-
messageTimestamp: event.messageTimestamp,
|
|
215
|
-
event
|
|
216
|
-
};
|
|
217
|
-
case "message_wait_failed": return {
|
|
218
|
-
kind: "message",
|
|
219
|
-
status: "failed",
|
|
220
|
-
timestamp: event.timestamp,
|
|
221
|
-
stepId: event.stepId,
|
|
222
|
-
stepName: event.stepName,
|
|
223
|
-
messageId: event.messageId,
|
|
224
|
-
error: event.error,
|
|
225
|
-
event
|
|
226
|
-
};
|
|
227
|
-
case "stream_started": return {
|
|
228
|
-
kind: "stream",
|
|
229
|
-
status: "started",
|
|
230
|
-
timestamp: event.timestamp,
|
|
231
|
-
stepId: event.stepId,
|
|
232
|
-
stepName: event.stepName,
|
|
233
|
-
count: event.count,
|
|
234
|
-
streamId: event.streamId,
|
|
235
|
-
...event.contentType === void 0 ? {} : { contentType: event.contentType },
|
|
236
|
-
...event.metadata === void 0 ? {} : { metadata: event.metadata },
|
|
237
|
-
event
|
|
238
|
-
};
|
|
239
|
-
case "stream_chunk": return {
|
|
240
|
-
kind: "stream",
|
|
241
|
-
status: "chunk",
|
|
242
|
-
timestamp: event.timestamp,
|
|
243
|
-
stepId: event.stepId,
|
|
244
|
-
stepName: event.stepName,
|
|
245
|
-
streamId: event.streamId,
|
|
246
|
-
index: event.index,
|
|
247
|
-
chunk: event.chunk,
|
|
248
|
-
event
|
|
249
|
-
};
|
|
250
|
-
case "stream_closed": return {
|
|
251
|
-
kind: "stream",
|
|
252
|
-
status: "closed",
|
|
253
|
-
timestamp: event.timestamp,
|
|
254
|
-
stepId: event.stepId,
|
|
255
|
-
stepName: event.stepName,
|
|
256
|
-
streamId: event.streamId,
|
|
257
|
-
event
|
|
258
|
-
};
|
|
259
|
-
case "stream_failed": return {
|
|
260
|
-
kind: "stream",
|
|
261
|
-
status: "failed",
|
|
262
|
-
timestamp: event.timestamp,
|
|
263
|
-
stepId: event.stepId,
|
|
264
|
-
stepName: event.stepName,
|
|
265
|
-
streamId: event.streamId,
|
|
266
|
-
error: event.error,
|
|
267
|
-
event
|
|
268
|
-
};
|
|
269
|
-
}
|
|
40
|
+
const [kind, status] = CLASSIFICATION[event.kind];
|
|
41
|
+
const entry = {
|
|
42
|
+
kind,
|
|
43
|
+
status,
|
|
44
|
+
timestamp: event.timestamp,
|
|
45
|
+
event
|
|
46
|
+
};
|
|
47
|
+
return event.kind === "attributes_set" ? {
|
|
48
|
+
...entry,
|
|
49
|
+
attributes: workflowAttributePatchFromEvent(event)
|
|
50
|
+
} : entry;
|
|
270
51
|
}
|
|
271
52
|
//#endregion
|
|
272
|
-
export {
|
|
53
|
+
export { createTimeline };
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { EventRecord } from "../types/events.mjs";
|
|
2
2
|
//#region src/history/validator.d.ts
|
|
3
|
-
declare function workflowStartedEventMatchesTerminalEvent(started: EventRecord, terminal: EventRecord): boolean;
|
|
4
|
-
declare function
|
|
5
|
-
declare function
|
|
6
|
-
declare function
|
|
7
|
-
|
|
8
|
-
//#endregion
|
|
9
|
-
export { requireWorkflowStartedEventsAreUnique, requireWorkflowTerminalEventsAreUnique, requireWorkflowTerminalEventsHaveStartedEvents, workflowHistoryHasStartedEventBeforeTerminalEvent, workflowStartedEventMatchesTerminalEvent };
|
|
3
|
+
export declare function workflowStartedEventMatchesTerminalEvent(started: EventRecord, terminal: EventRecord): boolean;
|
|
4
|
+
export declare function requireWorkflowTerminalEventsHaveStartedEvents(events: readonly EventRecord[]): void;
|
|
5
|
+
export declare function requireWorkflowTerminalEventsAreUnique(events: readonly EventRecord[]): void;
|
|
6
|
+
export declare function requireWorkflowStartedEventsAreUnique(events: readonly EventRecord[]): void;
|
|
7
|
+
//#endregion
|