@hatchet-dev/typescript-sdk 1.13.1 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/doc_types.d.ts +12 -0
- package/docs/doc_types.js +62 -0
- package/docs/generate.js +87 -0
- package/docs/paths.d.ts +2 -0
- package/docs/paths.js +16 -0
- package/docs/shared.d.ts +3 -0
- package/docs/shared.js +6 -0
- package/package.json +5 -4
- package/{clients → src/clients}/admin/admin-client.d.ts +17 -9
- package/{clients → src/clients}/admin/admin-client.js +26 -10
- package/{clients → src/clients}/dispatcher/action-listener.d.ts +4 -4
- package/{clients → src/clients}/dispatcher/action-listener.js +3 -3
- package/{clients → src/clients}/dispatcher/dispatcher-client.d.ts +10 -10
- package/{clients → src/clients}/dispatcher/dispatcher-client.js +5 -5
- package/{clients → src/clients}/dispatcher/heartbeat/heartbeat-controller.d.ts +2 -2
- package/{clients → src/clients}/dispatcher/heartbeat/heartbeat-controller.js +14 -2
- package/{clients → src/clients}/dispatcher/heartbeat/heartbeat-worker.js +7 -6
- package/{clients → src/clients}/event/event-client.d.ts +8 -9
- package/{clients → src/clients}/event/event-client.js +6 -6
- package/{clients → src/clients}/hatchet-client/client-config.d.ts +17 -7
- package/{clients → src/clients}/hatchet-client/client-config.js +3 -0
- package/{clients → src/clients}/hatchet-client/hatchet-logger.d.ts +1 -1
- package/{clients → src/clients}/hatchet-client/hatchet-logger.js +2 -1
- package/src/clients/hatchet-client/index.d.ts +3 -0
- package/{clients → src/clients}/hatchet-client/index.js +2 -2
- package/{clients → src/clients}/listeners/durable-listener/durable-listener-client.d.ts +11 -5
- package/{clients → src/clients}/listeners/durable-listener/durable-listener-client.js +9 -1
- package/{clients → src/clients}/listeners/durable-listener/pooled-durable-listener-client.d.ts +11 -4
- package/{clients → src/clients}/listeners/durable-listener/pooled-durable-listener-client.js +68 -16
- package/{clients → src/clients}/listeners/run-listener/child-listener-client.d.ts +3 -3
- package/{clients → src/clients}/listeners/run-listener/child-listener-client.js +4 -3
- package/{clients → src/clients}/listeners/run-listener/pooled-child-listener-client.d.ts +11 -3
- package/{clients → src/clients}/listeners/run-listener/pooled-child-listener-client.js +65 -9
- package/src/clients/rest/api.js +21 -0
- package/{clients → src/clients}/rest/generated/Api.d.ts +2 -2
- package/{clients → src/clients}/rest/generated/data-contracts.d.ts +6 -0
- package/{index.d.ts → src/index.d.ts} +3 -4
- package/{index.js → src/index.js} +3 -4
- package/{examples → src/legacy/examples}/affinity-workers.js +2 -2
- package/{examples → src/legacy/examples}/bulk-fanout-trigger.js +1 -1
- package/{examples → src/legacy/examples}/bulk-fanout-worker.js +1 -1
- package/{examples → src/legacy/examples}/bulk-trigger.js +1 -1
- package/{examples → src/legacy/examples}/concurrency/cancel-in-progress/concurrency-event.js +1 -1
- package/{examples → src/legacy/examples}/concurrency/cancel-in-progress/concurrency-worker.js +1 -1
- package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-event.js +1 -1
- package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-worker-expression.js +2 -2
- package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-worker-key-fn.js +2 -2
- package/{examples → src/legacy/examples}/crons/cron-worker.d.ts +1 -1
- package/{examples → src/legacy/examples}/crons/cron-worker.js +1 -1
- package/{examples → src/legacy/examples}/crons/programatic-crons.js +1 -1
- package/{examples → src/legacy/examples}/dag-worker.js +1 -1
- package/{examples → src/legacy/examples}/example-event-with-results.js +2 -2
- package/{examples → src/legacy/examples}/example-event.js +1 -1
- package/{examples → src/legacy/examples}/fanout-worker.js +1 -1
- package/{examples → src/legacy/examples}/logger.js +1 -1
- package/{examples → src/legacy/examples}/manual-trigger.js +1 -1
- package/{examples → src/legacy/examples}/multi-workflow.js +1 -1
- package/{examples → src/legacy/examples}/namespaced-worker.js +1 -1
- package/{examples → src/legacy/examples}/on-failure.js +1 -1
- package/{examples → src/legacy/examples}/rate-limit/events.js +1 -1
- package/{examples → src/legacy/examples}/rate-limit/worker.js +2 -2
- package/{examples → src/legacy/examples}/retries-with-backoff.js +1 -1
- package/{examples → src/legacy/examples}/retries-worker.js +1 -1
- package/{examples → src/legacy/examples}/scheduled-runs/programatic-schedules.js +1 -1
- package/{examples → src/legacy/examples}/simple-worker.d.ts +1 -1
- package/{examples → src/legacy/examples}/simple-worker.js +1 -1
- package/{examples → src/legacy/examples}/sticky-trigger.js +1 -1
- package/{examples → src/legacy/examples}/sticky-worker-with-check.js +2 -2
- package/{examples → src/legacy/examples}/sticky-worker.js +2 -2
- package/{examples → src/legacy/examples}/stream-by-additional-meta.js +2 -2
- package/{clients/hatchet-client/hatchet-client.d.ts → src/legacy/legacy-client.d.ts} +8 -13
- package/src/legacy/legacy-client.js +67 -0
- package/src/legacy/legacy-transformer.d.ts +38 -0
- package/src/legacy/legacy-transformer.js +181 -0
- package/{step.d.ts → src/legacy/step.d.ts} +30 -31
- package/{step.js → src/legacy/step.js} +17 -16
- package/{workflow.d.ts → src/legacy/workflow.d.ts} +47 -50
- package/{workflow.js → src/legacy/workflow.js} +3 -6
- package/{protoc → src/protoc}/v1/workflows.d.ts +8 -0
- package/{protoc → src/protoc}/v1/workflows.js +109 -2
- package/{protoc → src/protoc}/workflows/workflows.d.ts +9 -0
- package/{protoc → src/protoc}/workflows/workflows.js +109 -2
- package/src/sdk.d.ts +2 -0
- package/{sdk.js → src/sdk.js} +1 -1
- package/src/step.d.ts +1 -0
- package/{clients/worker/index.js → src/step.js} +4 -1
- package/src/util/abort-error.d.ts +38 -0
- package/src/util/abort-error.js +58 -0
- package/{util → src/util}/config-loader/config-loader.d.ts +1 -1
- package/{util → src/util}/config-loader/config-loader.js +1 -1
- package/{util → src/util}/grpc-helpers.d.ts +1 -1
- package/src/util/hatchet-promise/hatchet-promise.d.ts +13 -0
- package/{util → src/util}/hatchet-promise/hatchet-promise.js +3 -2
- package/src/util/logger/index.d.ts +2 -0
- package/{util → src/util}/logger/index.js +1 -0
- package/{util → src/util}/logger/logger.d.ts +1 -1
- package/src/util/logger/task-run-log.d.ts +3 -0
- package/src/util/logger/task-run-log.js +20 -0
- package/{util → src/util}/sleep.d.ts +5 -2
- package/src/util/sleep.js +37 -0
- package/{util → src/util}/workflow-run-ref.d.ts +9 -3
- package/{util → src/util}/workflow-run-ref.js +5 -3
- package/{v1 → src/v1}/client/admin.d.ts +24 -8
- package/{v1 → src/v1}/client/admin.js +50 -18
- package/{v1 → src/v1}/client/client.d.ts +59 -23
- package/{v1 → src/v1}/client/client.interface.d.ts +9 -2
- package/{v1 → src/v1}/client/client.js +73 -35
- package/{v1 → src/v1}/client/features/cel.d.ts +1 -1
- package/{v1 → src/v1}/client/features/cel.js +1 -1
- package/{v1 → src/v1}/client/features/crons.d.ts +8 -6
- package/{v1 → src/v1}/client/features/crons.js +6 -5
- package/{v1 → src/v1}/client/features/filters.d.ts +30 -0
- package/{v1 → src/v1}/client/features/filters.js +30 -0
- package/{v1 → src/v1}/client/features/metrics.d.ts +10 -6
- package/{v1 → src/v1}/client/features/metrics.js +10 -6
- package/src/v1/client/features/ratelimits.d.ts +30 -0
- package/{v1 → src/v1}/client/features/ratelimits.js +13 -3
- package/{v1 → src/v1}/client/features/runs.d.ts +43 -8
- package/{v1 → src/v1}/client/features/runs.js +38 -3
- package/{v1 → src/v1}/client/features/schedules.d.ts +7 -4
- package/{v1 → src/v1}/client/features/schedules.js +7 -5
- package/{v1 → src/v1}/client/features/tenant.d.ts +4 -1
- package/src/v1/client/features/webhooks.d.ts +54 -0
- package/{v1 → src/v1}/client/features/webhooks.js +31 -5
- package/src/v1/client/features/workers.d.ts +38 -0
- package/{v1 → src/v1}/client/features/workers.js +25 -1
- package/src/v1/client/features/workflows.d.ts +42 -0
- package/{v1 → src/v1}/client/features/workflows.js +27 -10
- package/{v1 → src/v1}/client/worker/context.d.ts +78 -18
- package/{v1 → src/v1}/client/worker/context.js +120 -27
- package/{v1 → src/v1}/client/worker/deprecated/deprecation.d.ts +1 -1
- package/{v1 → src/v1}/client/worker/deprecated/legacy-registration.d.ts +2 -2
- package/{v1 → src/v1}/client/worker/deprecated/legacy-registration.js +2 -2
- package/{v1 → src/v1}/client/worker/deprecated/legacy-v1-worker.d.ts +5 -5
- package/{v1 → src/v1}/client/worker/deprecated/legacy-v1-worker.js +2 -2
- package/{v1 → src/v1}/client/worker/deprecated/legacy-worker.js +9 -7
- package/{v1 → src/v1}/client/worker/health-server.d.ts +1 -1
- package/{v1 → src/v1}/client/worker/slot-utils.d.ts +3 -3
- package/{v1 → src/v1}/client/worker/worker-internal.d.ts +13 -22
- package/{v1 → src/v1}/client/worker/worker-internal.js +232 -216
- package/{v1 → src/v1}/client/worker/worker.d.ts +19 -19
- package/{v1 → src/v1}/client/worker/worker.js +45 -30
- package/{v1 → src/v1}/conditions/transformer.d.ts +1 -1
- package/{v1 → src/v1}/declaration.d.ts +120 -15
- package/{v1 → src/v1}/declaration.js +118 -10
- package/src/v1/examples/__e2e__/harness.d.ts +19 -0
- package/src/v1/examples/__e2e__/harness.js +70 -0
- package/{v1 → src/v1}/examples/affinity/affinity-workers.js +4 -4
- package/src/v1/examples/bulk_fanout/workflow.d.ts +9 -0
- package/src/v1/examples/bulk_fanout/workflow.js +34 -0
- package/src/v1/examples/bulk_operations/workflow.d.ts +3 -0
- package/src/v1/examples/bulk_operations/workflow.js +44 -0
- package/src/v1/examples/cancellation/cancellation-workflow.d.ts +2 -0
- package/src/v1/examples/cancellation/cancellation-workflow.js +69 -0
- package/src/v1/examples/cancellation/run.js +53 -0
- package/src/v1/examples/cancellation/worker.js +29 -0
- package/{v1 → src/v1}/examples/cancellations/run.js +1 -1
- package/{v1 → src/v1}/examples/cancellations/workflow.js +1 -1
- package/{v1 → src/v1}/examples/concurrency-rr/workflow.js +1 -1
- package/src/v1/examples/concurrency-types.d.ts +5 -0
- package/src/v1/examples/concurrency_cancel_in_progress/workflow.d.ts +9 -0
- package/src/v1/examples/concurrency_cancel_in_progress/workflow.js +45 -0
- package/src/v1/examples/concurrency_cancel_newest/workflow.d.ts +9 -0
- package/src/v1/examples/concurrency_cancel_newest/workflow.js +45 -0
- package/src/v1/examples/concurrency_limit_rr/load.js +54 -0
- package/src/v1/examples/concurrency_limit_rr/run.js +39 -0
- package/src/v1/examples/concurrency_limit_rr/worker.js +24 -0
- package/src/v1/examples/concurrency_limit_rr/workflow.d.ts +12 -0
- package/src/v1/examples/concurrency_limit_rr/workflow.js +62 -0
- package/src/v1/examples/concurrency_multiple_keys/workflow.d.ts +12 -0
- package/src/v1/examples/concurrency_multiple_keys/workflow.js +42 -0
- package/src/v1/examples/concurrency_workflow_level/workflow.d.ts +13 -0
- package/src/v1/examples/concurrency_workflow_level/workflow.js +49 -0
- package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/complex-workflow.js +2 -2
- package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/workflow.js +2 -2
- package/{v1 → src/v1}/examples/dag/interface-workflow.d.ts +2 -2
- package/src/v1/examples/dag_match_condition/complex-workflow.d.ts +1 -0
- package/src/v1/examples/dag_match_condition/complex-workflow.js +107 -0
- package/src/v1/examples/dag_match_condition/run.js +25 -0
- package/src/v1/examples/dag_match_condition/worker.js +24 -0
- package/src/v1/examples/dag_match_condition/workflow.d.ts +11 -0
- package/src/v1/examples/dag_match_condition/workflow.js +41 -0
- package/{v1 → src/v1}/examples/deep/workflow.js +1 -1
- package/src/v1/examples/durable/workflow.d.ts +7 -0
- package/src/v1/examples/durable/workflow.js +116 -0
- package/{v1 → src/v1}/examples/durable-event/workflow.js +1 -1
- package/src/v1/examples/durable-sleep/event.js +28 -0
- package/{v1 → src/v1}/examples/durable-sleep/workflow.js +1 -1
- package/src/v1/examples/durable_event/event.js +28 -0
- package/src/v1/examples/durable_event/run.js +30 -0
- package/src/v1/examples/durable_event/worker.js +24 -0
- package/src/v1/examples/durable_event/workflow.d.ts +6 -0
- package/src/v1/examples/durable_event/workflow.js +46 -0
- package/src/v1/examples/durable_sleep/event.js +28 -0
- package/src/v1/examples/durable_sleep/run.js +30 -0
- package/src/v1/examples/durable_sleep/worker.js +24 -0
- package/src/v1/examples/durable_sleep/workflow.d.ts +1 -0
- package/src/v1/examples/durable_sleep/workflow.js +31 -0
- package/src/v1/examples/e2e-worker.js +82 -0
- package/src/v1/examples/events/filter.js +32 -0
- package/{v1 → src/v1}/examples/hatchet-client.d.ts +1 -1
- package/{v1 → src/v1}/examples/hatchet-client.js +1 -1
- package/{v1 → src/v1}/examples/high-memory/workflow-with-child.js +1 -1
- package/{v1 → src/v1}/examples/landing_page/durable-excution.js +1 -1
- package/{v1 → src/v1}/examples/landing_page/flow-control.js +1 -1
- package/src/v1/examples/legacy/workflow.d.ts +2 -0
- package/{examples → src/v1/examples/logger}/byo-logger.js +1 -1
- package/src/v1/examples/logger/workflow.d.ts +2 -0
- package/src/v1/examples/logger/workflow.js +38 -0
- package/src/v1/examples/logging/byo-logger.js +73 -0
- package/src/v1/examples/logging/logger.js +46 -0
- package/{v1 → src/v1}/examples/middleware/client.d.ts +1 -1
- package/{v1 → src/v1}/examples/middleware/client.js +1 -1
- package/{v1 → src/v1}/examples/middleware/recipes.js +1 -1
- package/{v1 → src/v1}/examples/migration-guides/hatchet-client.d.ts +1 -1
- package/{v1 → src/v1}/examples/migration-guides/hatchet-client.js +1 -1
- package/{v1 → src/v1}/examples/multiple_wf_concurrency/workflow.d.ts +1 -1
- package/{v1 → src/v1}/examples/multiple_wf_concurrency/workflow.js +3 -3
- package/{v1 → src/v1}/examples/non_retryable/workflow.js +1 -1
- package/src/v1/examples/on_event/event.js +53 -0
- package/src/v1/examples/on_event/worker.js +24 -0
- package/src/v1/examples/on_event/workflow.d.ts +19 -0
- package/src/v1/examples/on_event/workflow.js +60 -0
- package/{v1 → src/v1}/examples/on_failure/workflow.d.ts +1 -0
- package/{v1 → src/v1}/examples/on_failure/workflow.js +12 -7
- package/{v1 → src/v1}/examples/priority/run.js +1 -1
- package/src/v1/examples/priority/workflow.d.ts +8 -0
- package/{v1 → src/v1}/examples/priority/workflow.js +2 -2
- package/{v1 → src/v1}/examples/quickstart/hatchet-client.d.ts +1 -1
- package/{v1 → src/v1}/examples/quickstart/hatchet-client.js +1 -1
- package/src/v1/examples/quickstart/run.d.ts +1 -0
- package/src/v1/examples/quickstart/worker.d.ts +1 -0
- package/src/v1/examples/rate_limit/workflow.d.ts +1 -0
- package/{v1 → src/v1}/examples/rate_limit/workflow.js +1 -1
- package/src/v1/examples/retries/run.d.ts +1 -0
- package/src/v1/examples/retries/worker.d.ts +1 -0
- package/{v1 → src/v1}/examples/retries/workflow.js +2 -2
- package/src/v1/examples/return_exceptions/workflow.d.ts +6 -0
- package/src/v1/examples/return_exceptions/workflow.js +22 -0
- package/src/v1/examples/run_details/workflow.d.ts +4 -0
- package/src/v1/examples/run_details/workflow.js +65 -0
- package/src/v1/examples/runtime_affinity/workflow.d.ts +3 -0
- package/src/v1/examples/runtime_affinity/workflow.js +19 -0
- package/src/v1/examples/simple/bulk.d.ts +1 -0
- package/src/v1/examples/simple/client-run.d.ts +1 -0
- package/src/v1/examples/simple/cron.d.ts +1 -0
- package/src/v1/examples/simple/delay.d.ts +1 -0
- package/src/v1/examples/simple/e2e-workflows.d.ts +14 -0
- package/src/v1/examples/simple/e2e-workflows.js +27 -0
- package/src/v1/examples/simple/enqueue.d.ts +1 -0
- package/{v1 → src/v1}/examples/simple/enqueue.js +2 -2
- package/src/v1/examples/simple/replay-cancel.d.ts +1 -0
- package/{v1 → src/v1}/examples/simple/replay-cancel.js +1 -1
- package/src/v1/examples/simple/schedule.d.ts +1 -0
- package/src/v1/examples/simple/typed-run-methods.d.ts +1 -0
- package/src/v1/examples/simple/worker.d.ts +1 -0
- package/src/v1/examples/sticky/run.d.ts +1 -0
- package/src/v1/examples/sticky/worker.d.ts +1 -0
- package/src/v1/examples/sticky/workflow.d.ts +5 -0
- package/{v1 → src/v1}/examples/sticky/workflow.js +2 -2
- package/src/v1/examples/streaming/run.d.ts +1 -0
- package/src/v1/examples/streaming/worker.d.ts +1 -0
- package/src/v1/examples/timeout/run.d.ts +1 -0
- package/src/v1/examples/timeout/run.js +30 -0
- package/src/v1/examples/timeout/worker.d.ts +1 -0
- package/src/v1/examples/timeout/worker.js +25 -0
- package/src/v1/examples/timeout/workflow.d.ts +10 -0
- package/src/v1/examples/timeout/workflow.js +56 -0
- package/src/v1/examples/timeouts/run.d.ts +1 -0
- package/src/v1/examples/timeouts/worker.d.ts +1 -0
- package/{v1 → src/v1}/examples/timeouts/workflow.js +1 -1
- package/src/v1/examples/webhooks/workflow.d.ts +5 -0
- package/src/v1/examples/webhooks/workflow.js +23 -0
- package/{v1 → src/v1}/examples/with_timeouts/workflow.js +1 -1
- package/{v1 → src/v1}/index.d.ts +1 -0
- package/{v1 → src/v1}/index.js +1 -0
- package/{v1 → src/v1}/parent-run-context-vars.d.ts +6 -0
- package/{v1 → src/v1}/parent-run-context-vars.js +3 -0
- package/{v1 → src/v1}/task.d.ts +22 -7
- package/src/v1/task.js +14 -0
- package/{v1 → src/v1}/types.d.ts +1 -1
- package/src/v1/types.js +2 -0
- package/src/version.d.ts +1 -0
- package/{version.js → src/version.js} +1 -1
- package/src/workflow.d.ts +3 -0
- package/src/workflow.js +25 -0
- package/clients/hatchet-client/hatchet-client.js +0 -108
- package/clients/hatchet-client/index.d.ts +0 -3
- package/clients/rest/api.js +0 -13
- package/clients/worker/handler.d.ts +0 -50
- package/clients/worker/handler.js +0 -214
- package/clients/worker/index.d.ts +0 -1
- package/clients/worker/worker.d.ts +0 -59
- package/clients/worker/worker.js +0 -568
- package/examples/webhooks.js +0 -45
- package/sdk.d.ts +0 -2
- package/util/hatchet-promise/hatchet-promise.d.ts +0 -6
- package/util/logger/index.d.ts +0 -1
- package/util/sleep.js +0 -14
- package/v1/client/features/ratelimits.d.ts +0 -20
- package/v1/client/features/webhooks.d.ts +0 -28
- package/v1/client/features/workers.d.ts +0 -14
- package/v1/client/features/workflows.d.ts +0 -24
- package/v1/examples/legacy/workflow.d.ts +0 -2
- package/v1/examples/priority/workflow.d.ts +0 -8
- package/v1/examples/sticky/workflow.d.ts +0 -5
- package/v1/task.js +0 -11
- package/version.d.ts +0 -1
- /package/{clients/dispatcher/heartbeat/heartbeat-worker.d.ts → docs/generate.d.ts} +0 -0
- /package/{clients → src/clients}/admin/index.d.ts +0 -0
- /package/{clients → src/clients}/admin/index.js +0 -0
- /package/{examples/affinity-workers.d.ts → src/clients/dispatcher/heartbeat/heartbeat-worker.d.ts} +0 -0
- /package/{clients → src/clients}/rest/api.d.ts +0 -0
- /package/{clients → src/clients}/rest/generated/Api.js +0 -0
- /package/{clients → src/clients}/rest/generated/data-contracts.js +0 -0
- /package/{clients → src/clients}/rest/generated/http-client.d.ts +0 -0
- /package/{clients → src/clients}/rest/generated/http-client.js +0 -0
- /package/{clients → src/clients}/rest/index.d.ts +0 -0
- /package/{clients → src/clients}/rest/index.js +0 -0
- /package/{v1/examples/affinity → src/legacy/examples}/affinity-workers.d.ts +0 -0
- /package/{examples → src/legacy/examples}/bulk-fanout-trigger.d.ts +0 -0
- /package/{examples → src/legacy/examples}/bulk-fanout-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/bulk-trigger.d.ts +0 -0
- /package/{examples → src/legacy/examples}/byo-logger.d.ts +0 -0
- /package/{v1/examples/logging → src/legacy/examples}/byo-logger.js +0 -0
- /package/{examples → src/legacy/examples}/concurrency/cancel-in-progress/concurrency-event.d.ts +0 -0
- /package/{examples → src/legacy/examples}/concurrency/cancel-in-progress/concurrency-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-event.d.ts +0 -0
- /package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-worker-expression.d.ts +0 -0
- /package/{examples → src/legacy/examples}/concurrency/group-round-robin/concurrency-worker-key-fn.d.ts +0 -0
- /package/{examples → src/legacy/examples}/crons/programatic-crons.d.ts +0 -0
- /package/{examples → src/legacy/examples}/dag-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/example-event-with-results.d.ts +0 -0
- /package/{examples → src/legacy/examples}/example-event.d.ts +0 -0
- /package/{examples → src/legacy/examples}/fanout-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/logger.d.ts +0 -0
- /package/{examples → src/legacy/examples}/manual-trigger.d.ts +0 -0
- /package/{examples → src/legacy/examples}/multi-workflow.d.ts +0 -0
- /package/{examples → src/legacy/examples}/namespaced-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/on-failure.d.ts +0 -0
- /package/{examples → src/legacy/examples}/rate-limit/events.d.ts +0 -0
- /package/{examples → src/legacy/examples}/rate-limit/worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/retries-with-backoff.d.ts +0 -0
- /package/{examples → src/legacy/examples}/retries-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/scheduled-runs/programatic-schedules.d.ts +0 -0
- /package/{examples → src/legacy/examples}/sticky-trigger.d.ts +0 -0
- /package/{examples → src/legacy/examples}/sticky-worker-with-check.d.ts +0 -0
- /package/{examples → src/legacy/examples}/sticky-worker.d.ts +0 -0
- /package/{examples → src/legacy/examples}/stream-by-additional-meta.d.ts +0 -0
- /package/{protoc → src/protoc}/dispatcher/dispatcher.d.ts +0 -0
- /package/{protoc → src/protoc}/dispatcher/dispatcher.js +0 -0
- /package/{protoc → src/protoc}/dispatcher/index.d.ts +0 -0
- /package/{protoc → src/protoc}/dispatcher/index.js +0 -0
- /package/{protoc → src/protoc}/events/events.d.ts +0 -0
- /package/{protoc → src/protoc}/events/events.js +0 -0
- /package/{protoc → src/protoc}/events/index.d.ts +0 -0
- /package/{protoc → src/protoc}/events/index.js +0 -0
- /package/{protoc → src/protoc}/google/protobuf/timestamp.d.ts +0 -0
- /package/{protoc → src/protoc}/google/protobuf/timestamp.js +0 -0
- /package/{protoc → src/protoc}/google/protobuf/wrappers.d.ts +0 -0
- /package/{protoc → src/protoc}/google/protobuf/wrappers.js +0 -0
- /package/{protoc → src/protoc}/v1/dispatcher.d.ts +0 -0
- /package/{protoc → src/protoc}/v1/dispatcher.js +0 -0
- /package/{protoc → src/protoc}/v1/shared/condition.d.ts +0 -0
- /package/{protoc → src/protoc}/v1/shared/condition.js +0 -0
- /package/{protoc → src/protoc}/workflows/index.d.ts +0 -0
- /package/{protoc → src/protoc}/workflows/index.js +0 -0
- /package/{protoc → src/protoc}/workflows/v1-admin.d.ts +0 -0
- /package/{protoc → src/protoc}/workflows/v1-admin.js +0 -0
- /package/{util → src/util}/apply-namespace.d.ts +0 -0
- /package/{util → src/util}/apply-namespace.js +0 -0
- /package/{util → src/util}/batch.d.ts +0 -0
- /package/{util → src/util}/batch.js +0 -0
- /package/{util → src/util}/config-loader/index.d.ts +0 -0
- /package/{util → src/util}/config-loader/index.js +0 -0
- /package/{util → src/util}/config-loader/token.d.ts +0 -0
- /package/{util → src/util}/config-loader/token.js +0 -0
- /package/{util → src/util}/errors/hatchet-error.d.ts +0 -0
- /package/{util → src/util}/errors/hatchet-error.js +0 -0
- /package/{util → src/util}/grpc-helpers.js +0 -0
- /package/{util → src/util}/logger/logger.js +0 -0
- /package/{util → src/util}/parse.d.ts +0 -0
- /package/{util → src/util}/parse.js +0 -0
- /package/{util → src/util}/retrier.d.ts +0 -0
- /package/{util → src/util}/retrier.js +0 -0
- /package/{util → src/util}/thread-helper.d.ts +0 -0
- /package/{util → src/util}/thread-helper.js +0 -0
- /package/{util → src/util}/uuid.d.ts +0 -0
- /package/{util → src/util}/uuid.js +0 -0
- /package/{v1 → src/v1}/client/client.interface.js +0 -0
- /package/{v1 → src/v1}/client/duration.d.ts +0 -0
- /package/{v1 → src/v1}/client/duration.js +0 -0
- /package/{v1 → src/v1}/client/features/index.d.ts +0 -0
- /package/{v1 → src/v1}/client/features/index.js +0 -0
- /package/{v1 → src/v1}/client/features/tenant.js +0 -0
- /package/{v1 → src/v1}/client/worker/deprecated/deprecation.js +0 -0
- /package/{v1 → src/v1}/client/worker/deprecated/index.d.ts +0 -0
- /package/{v1 → src/v1}/client/worker/deprecated/index.js +0 -0
- /package/{v1 → src/v1}/client/worker/deprecated/legacy-worker.d.ts +0 -0
- /package/{v1 → src/v1}/client/worker/health-server.js +0 -0
- /package/{v1 → src/v1}/client/worker/slot-utils.js +0 -0
- /package/{v1 → src/v1}/conditions/base.d.ts +0 -0
- /package/{v1 → src/v1}/conditions/base.js +0 -0
- /package/{v1 → src/v1}/conditions/index.d.ts +0 -0
- /package/{v1 → src/v1}/conditions/index.js +0 -0
- /package/{v1 → src/v1}/conditions/parent-condition.d.ts +0 -0
- /package/{v1 → src/v1}/conditions/parent-condition.js +0 -0
- /package/{v1 → src/v1}/conditions/sleep-condition.d.ts +0 -0
- /package/{v1 → src/v1}/conditions/sleep-condition.js +0 -0
- /package/{v1 → src/v1}/conditions/transformer.js +0 -0
- /package/{v1 → src/v1}/conditions/user-event-condition.d.ts +0 -0
- /package/{v1 → src/v1}/conditions/user-event-condition.js +0 -0
- /package/{examples/webhooks.d.ts → src/v1/examples/affinity/affinity-workers.d.ts} +0 -0
- /package/{v1/examples/cancellations → src/v1/examples/cancellation}/run.d.ts +0 -0
- /package/{v1/examples/cancellations → src/v1/examples/cancellation}/worker.d.ts +0 -0
- /package/{v1/examples/child_workflows → src/v1/examples/cancellations}/run.d.ts +0 -0
- /package/{v1/examples/child_workflows → src/v1/examples/cancellations}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/cancellations/worker.js +0 -0
- /package/{v1 → src/v1}/examples/cancellations/workflow.d.ts +0 -0
- /package/{v1/examples/concurrency-rr → src/v1/examples/child_workflows}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/child_workflows/run.js +0 -0
- /package/{v1/examples/concurrency-rr → src/v1/examples/child_workflows}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/child_workflows/worker.js +0 -0
- /package/{v1 → src/v1}/examples/child_workflows/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/child_workflows/workflow.js +0 -0
- /package/{v1 → src/v1}/examples/concurrency-rr/load.d.ts +0 -0
- /package/{v1 → src/v1}/examples/concurrency-rr/load.js +0 -0
- /package/{v1/examples/dag → src/v1/examples/concurrency-rr}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/concurrency-rr/run.js +0 -0
- /package/{v1/examples/dag → src/v1/examples/concurrency-rr}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/concurrency-rr/worker.js +0 -0
- /package/{v1 → src/v1}/examples/concurrency-rr/workflow.d.ts +0 -0
- /package/{v1/types.js → src/v1/examples/concurrency-types.js} +0 -0
- /package/{v1/examples/dag_match_condition/event.d.ts → src/v1/examples/concurrency_limit_rr/load.d.ts} +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/concurrency_limit_rr}/run.d.ts +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/concurrency_limit_rr}/worker.d.ts +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/complex-workflow.d.ts +0 -0
- /package/{v1/examples/durable-event → src/v1/examples/conditions}/event.d.ts +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/event.js +0 -0
- /package/{v1/examples/deep → src/v1/examples/conditions}/run.d.ts +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/run.js +0 -0
- /package/{v1/examples/deep → src/v1/examples/conditions}/worker.d.ts +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/worker.js +0 -0
- /package/{v1/examples/dag_match_condition → src/v1/examples/conditions}/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/dag/interface-workflow.js +0 -0
- /package/{v1/examples/durable-event → src/v1/examples/dag}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/dag/run.js +0 -0
- /package/{v1/examples/durable-event → src/v1/examples/dag}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/dag/worker.js +0 -0
- /package/{v1 → src/v1}/examples/dag/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/dag/workflow.js +0 -0
- /package/{v1/examples/durable-sleep → src/v1/examples/dag_match_condition}/event.d.ts +0 -0
- /package/{v1/examples/durable-sleep → src/v1/examples/dag_match_condition}/event.js +0 -0
- /package/{v1/examples/durable-sleep → src/v1/examples/dag_match_condition}/run.d.ts +0 -0
- /package/{v1/examples/durable-sleep → src/v1/examples/dag_match_condition}/worker.d.ts +0 -0
- /package/{v1/examples/high-memory → src/v1/examples/deep}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/deep/run.js +0 -0
- /package/{v1/examples/inferred-typing → src/v1/examples/deep}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/deep/worker.js +0 -0
- /package/{v1 → src/v1}/examples/deep/workflow.d.ts +0 -0
- /package/{v1/examples/on_event → src/v1/examples/durable-event}/event.d.ts +0 -0
- /package/{v1 → src/v1}/examples/durable-event/event.js +0 -0
- /package/{v1/examples/inferred-typing → src/v1/examples/durable-event}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/durable-event/run.js +0 -0
- /package/{v1/examples/legacy → src/v1/examples/durable-event}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/durable-event/worker.js +0 -0
- /package/{v1 → src/v1}/examples/durable-event/workflow.d.ts +0 -0
- /package/{v1/examples/high-memory/child-worker.d.ts → src/v1/examples/durable-sleep/event.d.ts} +0 -0
- /package/{v1/examples/legacy → src/v1/examples/durable-sleep}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/durable-sleep/run.js +0 -0
- /package/{v1/examples/middleware → src/v1/examples/durable-sleep}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/durable-sleep/worker.js +0 -0
- /package/{v1 → src/v1}/examples/durable-sleep/workflow.d.ts +0 -0
- /package/{v1/examples/high-memory/parent-worker.d.ts → src/v1/examples/durable_event/event.d.ts} +0 -0
- /package/{v1/examples/middleware → src/v1/examples/durable_event}/run.d.ts +0 -0
- /package/{v1/examples/multiple_wf_concurrency → src/v1/examples/durable_event}/worker.d.ts +0 -0
- /package/{v1/examples/landing_page/scheduling.d.ts → src/v1/examples/durable_sleep/event.d.ts} +0 -0
- /package/{v1/examples/multiple_wf_concurrency → src/v1/examples/durable_sleep}/run.d.ts +0 -0
- /package/{v1/examples/non_retryable → src/v1/examples/durable_sleep}/worker.d.ts +0 -0
- /package/{v1/examples/logging/byo-logger.d.ts → src/v1/examples/e2e-worker.d.ts} +0 -0
- /package/{v1/examples/logging/logger.d.ts → src/v1/examples/events/event.d.ts} +0 -0
- /package/{v1/examples/on_event → src/v1/examples/events}/event.js +0 -0
- /package/{v1/examples/on_event → src/v1/examples/events}/filter.d.ts +0 -0
- /package/{v1/examples/on_cron → src/v1/examples/events}/worker.d.ts +0 -0
- /package/{v1/examples/on_event → src/v1/examples/events}/worker.js +0 -0
- /package/{v1/examples/on_event → src/v1/examples/events}/workflow.d.ts +0 -0
- /package/{v1/examples/on_event → src/v1/examples/events}/workflow.js +0 -0
- /package/{v1/examples/middleware/recipes.d.ts → src/v1/examples/high-memory/child-worker.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/high-memory/child-worker.js +0 -0
- /package/{v1/examples/non_retryable/run.d.ts → src/v1/examples/high-memory/parent-worker.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/high-memory/parent-worker.js +0 -0
- /package/{v1/examples/on_failure → src/v1/examples/high-memory}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/high-memory/run.js +0 -0
- /package/{v1 → src/v1}/examples/high-memory/workflow-with-child.d.ts +0 -0
- /package/{v1/examples/on_success → src/v1/examples/inferred-typing}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/inferred-typing/run.js +0 -0
- /package/{v1/examples/on_event → src/v1/examples/inferred-typing}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/inferred-typing/worker.js +0 -0
- /package/{v1 → src/v1}/examples/inferred-typing/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/inferred-typing/workflow.js +0 -0
- /package/{v1 → src/v1}/examples/landing_page/durable-excution.d.ts +0 -0
- /package/{v1 → src/v1}/examples/landing_page/event-signaling.d.ts +0 -0
- /package/{v1 → src/v1}/examples/landing_page/event-signaling.js +0 -0
- /package/{v1 → src/v1}/examples/landing_page/flow-control.d.ts +0 -0
- /package/{v1 → src/v1}/examples/landing_page/queues.d.ts +0 -0
- /package/{v1 → src/v1}/examples/landing_page/queues.js +0 -0
- /package/{v1/examples/on_failure/worker.d.ts → src/v1/examples/landing_page/scheduling.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/landing_page/scheduling.js +0 -0
- /package/{v1 → src/v1}/examples/landing_page/task-routing.d.ts +0 -0
- /package/{v1 → src/v1}/examples/landing_page/task-routing.js +0 -0
- /package/{v1/examples/priority → src/v1/examples/legacy}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/legacy/run.js +0 -0
- /package/{v1/examples/on_success → src/v1/examples/legacy}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/legacy/worker.js +0 -0
- /package/{v1 → src/v1}/examples/legacy/workflow.js +0 -0
- /package/{v1/examples/priority/worker.d.ts → src/v1/examples/logger/byo-logger.d.ts} +0 -0
- /package/{v1/examples/quickstart/run.d.ts → src/v1/examples/logger/logger.d.ts} +0 -0
- /package/{v1/examples/logging → src/v1/examples/logger}/logger.js +0 -0
- /package/{v1/examples/quickstart/worker.d.ts → src/v1/examples/logging/byo-logger.d.ts} +0 -0
- /package/{v1/examples/rate_limit/workflow.d.ts → src/v1/examples/logging/logger.d.ts} +0 -0
- /package/{v1/examples/retries/run.d.ts → src/v1/examples/middleware/recipes.d.ts} +0 -0
- /package/{v1/examples/sticky → src/v1/examples/middleware}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/middleware/run.js +0 -0
- /package/{v1/examples/retries → src/v1/examples/middleware}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/middleware/worker.js +0 -0
- /package/{v1 → src/v1}/examples/middleware/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/middleware/workflow.js +0 -0
- /package/{v1 → src/v1}/examples/migration-guides/mergent.d.ts +0 -0
- /package/{v1 → src/v1}/examples/migration-guides/mergent.js +0 -0
- /package/{v1/examples/streaming → src/v1/examples/multiple_wf_concurrency}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/multiple_wf_concurrency/run.js +0 -0
- /package/{v1/examples/simple → src/v1/examples/multiple_wf_concurrency}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/multiple_wf_concurrency/worker.js +0 -0
- /package/{v1/examples/timeouts → src/v1/examples/non_retryable}/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/non_retryable/run.js +0 -0
- /package/{v1/examples/sticky → src/v1/examples/non_retryable}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/non_retryable/worker.js +0 -0
- /package/{v1 → src/v1}/examples/non_retryable/workflow.d.ts +0 -0
- /package/{v1/examples/streaming → src/v1/examples/on_cron}/worker.d.ts +0 -0
- /package/{v1 → src/v1}/examples/on_cron/worker.js +0 -0
- /package/{v1 → src/v1}/examples/on_cron/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/on_cron/workflow.js +0 -0
- /package/{v1/examples/simple/bulk.d.ts → src/v1/examples/on_event/event.d.ts} +0 -0
- /package/{v1/examples/simple/client-run.d.ts → src/v1/examples/on_event/filter.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/on_event/filter.js +0 -0
- /package/{v1/examples/timeouts → src/v1/examples/on_event}/worker.d.ts +0 -0
- /package/{v1/examples/simple/cron.d.ts → src/v1/examples/on_failure/run.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/on_failure/run.js +0 -0
- /package/{v1/examples/simple/delay.d.ts → src/v1/examples/on_failure/worker.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/on_failure/worker.js +0 -0
- /package/{v1/examples/simple/enqueue.d.ts → src/v1/examples/on_success/run.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/on_success/run.js +0 -0
- /package/{v1/examples/simple/replay-cancel.d.ts → src/v1/examples/on_success/worker.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/on_success/worker.js +0 -0
- /package/{v1 → src/v1}/examples/on_success/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/on_success/workflow.js +0 -0
- /package/{v1/examples/simple/schedule.d.ts → src/v1/examples/priority/run.d.ts} +0 -0
- /package/{v1/examples/simple/typed-run-methods.d.ts → src/v1/examples/priority/worker.d.ts} +0 -0
- /package/{v1 → src/v1}/examples/priority/worker.js +0 -0
- /package/{v1 → src/v1}/examples/quickstart/run.js +0 -0
- /package/{v1 → src/v1}/examples/quickstart/worker.js +0 -0
- /package/{v1 → src/v1}/examples/quickstart/workflows/first-task.d.ts +0 -0
- /package/{v1 → src/v1}/examples/quickstart/workflows/first-task.js +0 -0
- /package/{v1 → src/v1}/examples/retries/run.js +0 -0
- /package/{v1 → src/v1}/examples/retries/worker.js +0 -0
- /package/{v1 → src/v1}/examples/retries/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/bulk.js +0 -0
- /package/{v1 → src/v1}/examples/simple/client-run.js +0 -0
- /package/{v1 → src/v1}/examples/simple/cron.js +0 -0
- /package/{v1 → src/v1}/examples/simple/delay.js +0 -0
- /package/{v1 → src/v1}/examples/simple/run.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/run.js +0 -0
- /package/{v1 → src/v1}/examples/simple/schedule.js +0 -0
- /package/{v1 → src/v1}/examples/simple/stub-workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/stub-workflow.js +0 -0
- /package/{v1 → src/v1}/examples/simple/typed-run-methods.js +0 -0
- /package/{v1 → src/v1}/examples/simple/worker.js +0 -0
- /package/{v1 → src/v1}/examples/simple/workflow-with-child.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/workflow-with-child.js +0 -0
- /package/{v1 → src/v1}/examples/simple/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/workflow.js +0 -0
- /package/{v1 → src/v1}/examples/simple/zod.d.ts +0 -0
- /package/{v1 → src/v1}/examples/simple/zod.js +0 -0
- /package/{v1 → src/v1}/examples/sticky/run.js +0 -0
- /package/{v1 → src/v1}/examples/sticky/worker.js +0 -0
- /package/{v1 → src/v1}/examples/streaming/nextjs-proxy.d.ts +0 -0
- /package/{v1 → src/v1}/examples/streaming/nextjs-proxy.js +0 -0
- /package/{v1 → src/v1}/examples/streaming/run.js +0 -0
- /package/{v1 → src/v1}/examples/streaming/worker.js +0 -0
- /package/{v1 → src/v1}/examples/streaming/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/streaming/workflow.js +0 -0
- /package/{v1 → src/v1}/examples/timeouts/run.js +0 -0
- /package/{v1 → src/v1}/examples/timeouts/worker.js +0 -0
- /package/{v1 → src/v1}/examples/timeouts/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/examples/with_timeouts/workflow.d.ts +0 -0
- /package/{v1 → src/v1}/slot-types.d.ts +0 -0
- /package/{v1 → src/v1}/slot-types.js +0 -0
|
@@ -9,10 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TaskWorkflowDeclaration = exports.WorkflowDeclaration = exports.BaseWorkflowDeclaration = exports.Priority = void 0;
|
|
12
|
+
exports.TaskWorkflowDeclaration = exports.WorkflowDeclaration = exports.BaseWorkflowDeclaration = exports.StickyStrategy = exports.Priority = void 0;
|
|
13
13
|
exports.CreateTaskWorkflow = CreateTaskWorkflow;
|
|
14
14
|
exports.CreateWorkflow = CreateWorkflow;
|
|
15
15
|
exports.CreateDurableTaskWorkflow = CreateDurableTaskWorkflow;
|
|
16
|
+
const abort_error_1 = require("../../util/abort-error");
|
|
16
17
|
const parent_run_context_vars_1 = require("./parent-run-context-vars");
|
|
17
18
|
const UNBOUND_ERR = new Error('workflow unbound to hatchet client, hint: use client.run instead');
|
|
18
19
|
// eslint-disable-next-line no-shadow
|
|
@@ -22,16 +23,30 @@ var Priority;
|
|
|
22
23
|
Priority[Priority["MEDIUM"] = 2] = "MEDIUM";
|
|
23
24
|
Priority[Priority["HIGH"] = 3] = "HIGH";
|
|
24
25
|
})(Priority || (exports.Priority = Priority = {}));
|
|
26
|
+
/**
|
|
27
|
+
* Sticky strategy for workflow scheduling.
|
|
28
|
+
*
|
|
29
|
+
* Prefer using `StickyStrategy.SOFT` / `StickyStrategy.HARD` (v1, non-protobuf).
|
|
30
|
+
* For backwards compatibility, the workflow/task `sticky` field also accepts legacy
|
|
31
|
+
* protobuf enum values (`0`/`1`) and strings (`'SOFT'`/`'HARD'`).
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
exports.StickyStrategy = {
|
|
35
|
+
SOFT: 'soft',
|
|
36
|
+
HARD: 'hard',
|
|
37
|
+
};
|
|
25
38
|
/**
|
|
26
39
|
* Represents a workflow that can be executed by Hatchet.
|
|
27
40
|
* @template I The input type for the workflow.
|
|
28
41
|
* @template O The return type of the workflow.
|
|
42
|
+
* @internal
|
|
29
43
|
*/
|
|
30
44
|
class BaseWorkflowDeclaration {
|
|
31
45
|
/**
|
|
32
46
|
* Creates a new workflow instance.
|
|
33
47
|
* @param options The options for creating the workflow.
|
|
34
48
|
* @param client Optional Hatchet client instance.
|
|
49
|
+
* @internal
|
|
35
50
|
*/
|
|
36
51
|
constructor(options, client) {
|
|
37
52
|
this.definition = Object.assign(Object.assign({}, options), { _tasks: [], _durableTasks: [] });
|
|
@@ -48,7 +63,18 @@ class BaseWorkflowDeclaration {
|
|
|
48
63
|
if (!parentRunContext && ((options === null || options === void 0 ? void 0 : options.childKey) || (options === null || options === void 0 ? void 0 : options.sticky))) {
|
|
49
64
|
this.client.admin.logger.warn('ignoring childKey or sticky because run is not being spawned from a parent task');
|
|
50
65
|
}
|
|
51
|
-
const
|
|
66
|
+
const inheritedSignal = parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.signal;
|
|
67
|
+
// Precheck: if we're being called from a cancelled parent task, do not enqueue more work.
|
|
68
|
+
// The signal is inherited from the parent task's `ctx.abortController.signal`.
|
|
69
|
+
(0, abort_error_1.throwIfAborted)(inheritedSignal, {
|
|
70
|
+
isTrigger: true,
|
|
71
|
+
context: (parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.parentTaskRunExternalId)
|
|
72
|
+
? `task run ${parentRunContext.parentTaskRunExternalId}`
|
|
73
|
+
: undefined,
|
|
74
|
+
warn: (message) => this.client.admin.logger.warn(message),
|
|
75
|
+
});
|
|
76
|
+
parent_run_context_vars_1.parentRunContextManager.incrementChildIndex(Array.isArray(input) ? input.length : 1);
|
|
77
|
+
const runOpts = Object.assign(Object.assign({}, (options !== null && options !== void 0 ? options : {})), { parentId: parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.parentId, parentTaskRunExternalId: parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.parentTaskRunExternalId, childIndex: parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.childIndex, sticky: (options === null || options === void 0 ? void 0 : options.sticky) ? parentRunContext === null || parentRunContext === void 0 ? void 0 : parentRunContext.desiredWorkerId : undefined, childKey: options === null || options === void 0 ? void 0 : options.childKey });
|
|
52
78
|
if (Array.isArray(input)) {
|
|
53
79
|
let resp = [];
|
|
54
80
|
for (let i = 0; i < input.length; i += 500) {
|
|
@@ -74,6 +100,9 @@ class BaseWorkflowDeclaration {
|
|
|
74
100
|
// eslint-disable-next-line no-param-reassign
|
|
75
101
|
ref._standaloneTaskName = _standaloneTaskName;
|
|
76
102
|
}
|
|
103
|
+
// Ensure result subscriptions inherit cancellation if no signal is provided explicitly.
|
|
104
|
+
// eslint-disable-next-line no-param-reassign
|
|
105
|
+
ref.defaultSignal = inheritedSignal;
|
|
77
106
|
res.push(ref);
|
|
78
107
|
});
|
|
79
108
|
return res;
|
|
@@ -82,6 +111,7 @@ class BaseWorkflowDeclaration {
|
|
|
82
111
|
if (_standaloneTaskName) {
|
|
83
112
|
res._standaloneTaskName = _standaloneTaskName;
|
|
84
113
|
}
|
|
114
|
+
res.defaultSignal = inheritedSignal;
|
|
85
115
|
return res;
|
|
86
116
|
});
|
|
87
117
|
}
|
|
@@ -103,6 +133,17 @@ class BaseWorkflowDeclaration {
|
|
|
103
133
|
}
|
|
104
134
|
if (Array.isArray(input)) {
|
|
105
135
|
const refs = yield this.runNoWait(input, options, _standaloneTaskName);
|
|
136
|
+
if (options === null || options === void 0 ? void 0 : options.returnExceptions) {
|
|
137
|
+
const settled = yield Promise.allSettled(refs.map((ref) => ref.result()));
|
|
138
|
+
return settled.map((s) => {
|
|
139
|
+
if (s.status === 'fulfilled')
|
|
140
|
+
return s.value;
|
|
141
|
+
const { reason } = s;
|
|
142
|
+
if (reason instanceof Error)
|
|
143
|
+
return reason;
|
|
144
|
+
return new Error(Array.isArray(reason) ? reason.join('; ') : String(reason));
|
|
145
|
+
});
|
|
146
|
+
}
|
|
106
147
|
return Promise.all(refs.map((ref) => ref.result()));
|
|
107
148
|
}
|
|
108
149
|
const res = yield this.runNoWait(input, options, _standaloneTaskName);
|
|
@@ -119,10 +160,16 @@ class BaseWorkflowDeclaration {
|
|
|
119
160
|
*/
|
|
120
161
|
schedule(enqueueAt, input, options) {
|
|
121
162
|
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
var _a;
|
|
122
164
|
if (!this.client) {
|
|
123
165
|
throw UNBOUND_ERR;
|
|
124
166
|
}
|
|
125
|
-
|
|
167
|
+
// If called from within a cancelled parent task, do not enqueue scheduled work.
|
|
168
|
+
(0, abort_error_1.throwIfAborted)((_a = parent_run_context_vars_1.parentRunContextManager.getContext()) === null || _a === void 0 ? void 0 : _a.signal, {
|
|
169
|
+
isTrigger: true,
|
|
170
|
+
warn: (message) => this.client.admin.logger.warn(message),
|
|
171
|
+
});
|
|
172
|
+
const scheduled = this.client.scheduled.create(this.definition.name, Object.assign({ triggerAt: enqueueAt, input: input }, (options !== null && options !== void 0 ? options : {})));
|
|
126
173
|
return scheduled;
|
|
127
174
|
});
|
|
128
175
|
}
|
|
@@ -152,10 +199,16 @@ class BaseWorkflowDeclaration {
|
|
|
152
199
|
*/
|
|
153
200
|
cron(name, expression, input, options) {
|
|
154
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
202
|
+
var _a;
|
|
155
203
|
if (!this.client) {
|
|
156
204
|
throw UNBOUND_ERR;
|
|
157
205
|
}
|
|
158
|
-
|
|
206
|
+
// If called from within a cancelled parent task, do not enqueue cron work.
|
|
207
|
+
(0, abort_error_1.throwIfAborted)((_a = parent_run_context_vars_1.parentRunContextManager.getContext()) === null || _a === void 0 ? void 0 : _a.signal, {
|
|
208
|
+
isTrigger: true,
|
|
209
|
+
warn: (message) => this.client.admin.logger.warn(message),
|
|
210
|
+
});
|
|
211
|
+
const cronDef = this.client.crons.create(this.definition.name, Object.assign(Object.assign({ expression, input: input }, (options !== null && options !== void 0 ? options : {})), { additionalMetadata: options === null || options === void 0 ? void 0 : options.additionalMetadata, name }));
|
|
159
212
|
return cronDef;
|
|
160
213
|
});
|
|
161
214
|
}
|
|
@@ -231,6 +284,7 @@ class BaseWorkflowDeclaration {
|
|
|
231
284
|
// }
|
|
232
285
|
/**
|
|
233
286
|
* @deprecated use definition.name instead
|
|
287
|
+
* @hidden
|
|
234
288
|
*/
|
|
235
289
|
get id() {
|
|
236
290
|
return this.definition.name;
|
|
@@ -244,6 +298,44 @@ class BaseWorkflowDeclaration {
|
|
|
244
298
|
}
|
|
245
299
|
}
|
|
246
300
|
exports.BaseWorkflowDeclaration = BaseWorkflowDeclaration;
|
|
301
|
+
/**
|
|
302
|
+
* A Hatchet workflow, which lets you define tasks and perform actions on the workflow.
|
|
303
|
+
*
|
|
304
|
+
* Workflows in Hatchet represent coordinated units of work that can be triggered,
|
|
305
|
+
* scheduled, or run on a cron schedule. Each workflow can contain multiple tasks
|
|
306
|
+
* that can be arranged in dependencies (DAGs), with customized retry behavior,
|
|
307
|
+
* timeouts, concurrency controls, and more.
|
|
308
|
+
*
|
|
309
|
+
* Example:
|
|
310
|
+
* ```typescript
|
|
311
|
+
* import { hatchet } from './hatchet-client';
|
|
312
|
+
*
|
|
313
|
+
* type MyInput = { name: string };
|
|
314
|
+
*
|
|
315
|
+
* const workflow = hatchet.workflow<MyInput>({
|
|
316
|
+
* name: 'my-workflow',
|
|
317
|
+
* });
|
|
318
|
+
*
|
|
319
|
+
* workflow.task({
|
|
320
|
+
* name: 'greet',
|
|
321
|
+
* fn: async (input) => {
|
|
322
|
+
* return { message: `Hello, ${input.name}!` };
|
|
323
|
+
* },
|
|
324
|
+
* });
|
|
325
|
+
*
|
|
326
|
+
* // Run the workflow
|
|
327
|
+
* await workflow.run({ name: 'World' });
|
|
328
|
+
* ```
|
|
329
|
+
*
|
|
330
|
+
* Workflows support various execution patterns, including:
|
|
331
|
+
* - One-time execution with `run()` and `runNoWait()`
|
|
332
|
+
* - Scheduled execution with `schedule()`
|
|
333
|
+
* - Cron-based recurring execution with `cron()`
|
|
334
|
+
* - Bulk execution by passing an array input to `run()` and `runNoWait()`
|
|
335
|
+
*
|
|
336
|
+
* Tasks within workflows can be defined with `workflow.task()` or
|
|
337
|
+
* `workflow.durableTask()` and arranged into complex dependency patterns.
|
|
338
|
+
*/
|
|
247
339
|
class WorkflowDeclaration extends BaseWorkflowDeclaration {
|
|
248
340
|
/**
|
|
249
341
|
* Adds a task to the workflow.
|
|
@@ -283,7 +375,7 @@ class WorkflowDeclaration extends BaseWorkflowDeclaration {
|
|
|
283
375
|
typedOptions = options;
|
|
284
376
|
}
|
|
285
377
|
if (this.definition.onFailure) {
|
|
286
|
-
(_a = this.client) === null || _a === void 0 ? void 0 : _a.
|
|
378
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.logger.warn(`onFailure task will override existing onFailure task`);
|
|
287
379
|
}
|
|
288
380
|
this.definition.onFailure = typedOptions;
|
|
289
381
|
return typedOptions;
|
|
@@ -306,7 +398,7 @@ class WorkflowDeclaration extends BaseWorkflowDeclaration {
|
|
|
306
398
|
typedOptions = options;
|
|
307
399
|
}
|
|
308
400
|
if (this.definition.onSuccess) {
|
|
309
|
-
(_a = this.client) === null || _a === void 0 ? void 0 : _a.
|
|
401
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.logger.warn(`onSuccess task will override existing onSuccess task`);
|
|
310
402
|
}
|
|
311
403
|
this.definition.onSuccess = typedOptions;
|
|
312
404
|
return typedOptions;
|
|
@@ -328,10 +420,26 @@ class WorkflowDeclaration extends BaseWorkflowDeclaration {
|
|
|
328
420
|
}
|
|
329
421
|
exports.WorkflowDeclaration = WorkflowDeclaration;
|
|
330
422
|
/**
|
|
331
|
-
* A standalone task
|
|
423
|
+
* A standalone task declaration that can be run like a workflow.
|
|
424
|
+
*
|
|
425
|
+
* `TaskWorkflowDeclaration` is returned by `hatchet.task(...)` and wraps a single
|
|
426
|
+
* task definition while exposing the same execution helpers as workflows, such as
|
|
427
|
+
* `run()`, `runNoWait()`, `schedule()`, and `cron()` (inherited from
|
|
428
|
+
* `BaseWorkflowDeclaration`).
|
|
429
|
+
*
|
|
430
|
+
* Example:
|
|
431
|
+
* ```typescript
|
|
432
|
+
* const greet = hatchet.task<{ name: string }, { message: string }>({
|
|
433
|
+
* name: 'greet',
|
|
434
|
+
* fn: async (input) => ({ message: `Hello, ${input.name}!` }),
|
|
435
|
+
* });
|
|
436
|
+
*
|
|
437
|
+
* await greet.run({ name: 'World' });
|
|
438
|
+
* const ref = await greet.runNoWait({ name: 'World' });
|
|
439
|
+
* ```
|
|
332
440
|
*
|
|
333
|
-
* @template I
|
|
334
|
-
* @template O
|
|
441
|
+
* @template I The input type for the standalone task.
|
|
442
|
+
* @template O The output type returned by the standalone task.
|
|
335
443
|
* @template GlobalInput - Global input type from the client, merged into all run/schedule/cron input signatures.
|
|
336
444
|
* @template MiddlewareBefore - Extra fields added to the task fn input by pre-middleware hooks.
|
|
337
445
|
* @template MiddlewareAfter - Extra fields merged into the task output by post-middleware hooks.
|
|
@@ -418,7 +526,7 @@ class TaskWorkflowDeclaration extends BaseWorkflowDeclaration {
|
|
|
418
526
|
return _super.cron.call(this, name, expression, input, options);
|
|
419
527
|
});
|
|
420
528
|
}
|
|
421
|
-
|
|
529
|
+
// Returns the underlying task definition for this declaration.
|
|
422
530
|
get taskDef() {
|
|
423
531
|
return this.definition._tasks[0];
|
|
424
532
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HatchetClient } from '../../../../v1';
|
|
2
|
+
import type { BaseWorkflowDeclaration } from '../../../../v1';
|
|
3
|
+
import { Worker } from '../../client/worker/worker';
|
|
4
|
+
export declare function requireEnv(name: string): string;
|
|
5
|
+
export declare function makeE2EClient(): HatchetClient;
|
|
6
|
+
export declare function makeTestScope(prefix?: string): string;
|
|
7
|
+
export declare function startWorker({ client, name, workflows, slots, }: {
|
|
8
|
+
client: HatchetClient;
|
|
9
|
+
name: string;
|
|
10
|
+
workflows: Array<BaseWorkflowDeclaration<any, any>>;
|
|
11
|
+
slots?: number;
|
|
12
|
+
}): Promise<Worker>;
|
|
13
|
+
export declare function stopWorker(worker: Worker | undefined): Promise<void>;
|
|
14
|
+
export declare function poll<T>(fn: () => Promise<T>, { timeoutMs, intervalMs, shouldStop, label, }: {
|
|
15
|
+
timeoutMs?: number;
|
|
16
|
+
intervalMs?: number;
|
|
17
|
+
shouldStop: (value: T) => boolean;
|
|
18
|
+
label?: string;
|
|
19
|
+
}): Promise<T>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.requireEnv = requireEnv;
|
|
16
|
+
exports.makeE2EClient = makeE2EClient;
|
|
17
|
+
exports.makeTestScope = makeTestScope;
|
|
18
|
+
exports.startWorker = startWorker;
|
|
19
|
+
exports.stopWorker = stopWorker;
|
|
20
|
+
exports.poll = poll;
|
|
21
|
+
const sleep_1 = __importDefault(require("../../../../util/sleep"));
|
|
22
|
+
const crypto_1 = require("crypto");
|
|
23
|
+
const v1_1 = require("../../../../v1");
|
|
24
|
+
function requireEnv(name) {
|
|
25
|
+
const value = process.env[name];
|
|
26
|
+
if (!value) {
|
|
27
|
+
throw new Error(`Missing required environment variable ${name}. ` +
|
|
28
|
+
`E2E tests require a configured Hatchet instance and credentials.`);
|
|
29
|
+
}
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
function makeE2EClient() {
|
|
33
|
+
// ConfigLoader requires a token; this makes the failure message obvious.
|
|
34
|
+
requireEnv('HATCHET_CLIENT_TOKEN');
|
|
35
|
+
return v1_1.HatchetClient.init();
|
|
36
|
+
}
|
|
37
|
+
function makeTestScope(prefix = 'ts_e2e') {
|
|
38
|
+
return `${prefix}_${(0, crypto_1.randomUUID)()}`;
|
|
39
|
+
}
|
|
40
|
+
function startWorker(_a) {
|
|
41
|
+
return __awaiter(this, arguments, void 0, function* ({ client, name, workflows, slots = 50, }) {
|
|
42
|
+
const worker = yield client.worker(name, { workflows, slots });
|
|
43
|
+
void worker.start();
|
|
44
|
+
yield worker.waitUntilReady(10000);
|
|
45
|
+
return worker;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function stopWorker(worker) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
if (!worker)
|
|
51
|
+
return;
|
|
52
|
+
yield worker.stop();
|
|
53
|
+
yield (0, sleep_1.default)(300);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function poll(fn_1, _a) {
|
|
57
|
+
return __awaiter(this, arguments, void 0, function* (fn, { timeoutMs = 30000, intervalMs = 100, shouldStop, label = 'poll', }) {
|
|
58
|
+
const start = Date.now();
|
|
59
|
+
// eslint-disable-next-line no-constant-condition
|
|
60
|
+
while (true) {
|
|
61
|
+
const value = yield fn();
|
|
62
|
+
if (shouldStop(value))
|
|
63
|
+
return value;
|
|
64
|
+
if (Date.now() - start > timeoutMs) {
|
|
65
|
+
throw new Error(`Timed out waiting for ${label} after ${timeoutMs}ms`);
|
|
66
|
+
}
|
|
67
|
+
yield (0, sleep_1.default)(intervalMs);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const
|
|
12
|
+
const v1_1 = require("../../../../v1");
|
|
13
13
|
const hatchet_client_1 = require("../hatchet-client");
|
|
14
14
|
// > AffinityWorkflow
|
|
15
15
|
const workflow = hatchet_client_1.hatchet.workflow({
|
|
@@ -22,8 +22,8 @@ workflow.task({
|
|
|
22
22
|
const results = [];
|
|
23
23
|
// eslint-disable-next-line no-plusplus
|
|
24
24
|
for (let i = 0; i < 50; i++) {
|
|
25
|
-
const result = yield
|
|
26
|
-
results.push(result
|
|
25
|
+
const result = yield childWorkflow.run({});
|
|
26
|
+
results.push(result);
|
|
27
27
|
}
|
|
28
28
|
console.log('Spawned 50 child workflows');
|
|
29
29
|
console.log('Results:', yield Promise.all(results));
|
|
@@ -55,7 +55,7 @@ childWorkflow.task({
|
|
|
55
55
|
memory: {
|
|
56
56
|
value: 512,
|
|
57
57
|
required: true,
|
|
58
|
-
comparator:
|
|
58
|
+
comparator: v1_1.WorkerLabelComparator.LESS_THAN,
|
|
59
59
|
},
|
|
60
60
|
},
|
|
61
61
|
fn: (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type ParentInput = {
|
|
2
|
+
n: number;
|
|
3
|
+
};
|
|
4
|
+
export declare const bulkChild: import("../..").TaskWorkflowDeclaration<{
|
|
5
|
+
i: number;
|
|
6
|
+
}, {
|
|
7
|
+
i: number;
|
|
8
|
+
}, {}, {}, {}, {}>;
|
|
9
|
+
export declare const bulkParentWorkflow: import("../..").WorkflowDeclaration<import("../..").UnknownInputType, {}, {}>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.bulkParentWorkflow = exports.bulkChild = void 0;
|
|
13
|
+
const hatchet_client_1 = require("../hatchet-client");
|
|
14
|
+
exports.bulkChild = hatchet_client_1.hatchet.task({
|
|
15
|
+
name: 'bulk-child',
|
|
16
|
+
fn: (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
return { i: input.i };
|
|
18
|
+
}),
|
|
19
|
+
});
|
|
20
|
+
exports.bulkParentWorkflow = hatchet_client_1.hatchet.workflow({
|
|
21
|
+
name: 'bulk-parent',
|
|
22
|
+
});
|
|
23
|
+
exports.bulkParentWorkflow.task({
|
|
24
|
+
name: 'spawn',
|
|
25
|
+
fn: (input, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const typed = input;
|
|
27
|
+
const children = Array.from({ length: typed.n }, (_, i) => ({
|
|
28
|
+
workflow: exports.bulkChild,
|
|
29
|
+
input: { i },
|
|
30
|
+
}));
|
|
31
|
+
const results = yield ctx.bulkRunChildren(children);
|
|
32
|
+
return { results };
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const bulkReplayTest1: import("../..").TaskWorkflowDeclaration<import("../..").UnknownInputType, void, {}, {}, {}, {}>;
|
|
2
|
+
export declare const bulkReplayTest2: import("../..").TaskWorkflowDeclaration<import("../..").UnknownInputType, void, {}, {}, {}, {}>;
|
|
3
|
+
export declare const bulkReplayTest3: import("../..").TaskWorkflowDeclaration<import("../..").UnknownInputType, void, {}, {}, {}, {}>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.bulkReplayTest3 = exports.bulkReplayTest2 = exports.bulkReplayTest1 = void 0;
|
|
13
|
+
/* eslint-disable no-console */
|
|
14
|
+
const hatchet_client_1 = require("../hatchet-client");
|
|
15
|
+
exports.bulkReplayTest1 = hatchet_client_1.hatchet.task({
|
|
16
|
+
name: 'bulk-replay-test-1',
|
|
17
|
+
retries: 1,
|
|
18
|
+
fn: (_input, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
console.log('retrying bulk replay test task', ctx.retryCount());
|
|
20
|
+
if (ctx.retryCount() === 0) {
|
|
21
|
+
throw new Error('This is a test error to trigger a retry.');
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
exports.bulkReplayTest2 = hatchet_client_1.hatchet.task({
|
|
26
|
+
name: 'bulk-replay-test-2',
|
|
27
|
+
retries: 1,
|
|
28
|
+
fn: (_input, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
console.log('retrying bulk replay test task', ctx.retryCount());
|
|
30
|
+
if (ctx.retryCount() === 0) {
|
|
31
|
+
throw new Error('This is a test error to trigger a retry.');
|
|
32
|
+
}
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
exports.bulkReplayTest3 = hatchet_client_1.hatchet.task({
|
|
36
|
+
name: 'bulk-replay-test-3',
|
|
37
|
+
retries: 1,
|
|
38
|
+
fn: (_input, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
console.log('retrying bulk replay test task', ctx.retryCount());
|
|
40
|
+
if (ctx.retryCount() === 0) {
|
|
41
|
+
throw new Error('This is a test error to trigger a retry.');
|
|
42
|
+
}
|
|
43
|
+
}),
|
|
44
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.abortSignal = exports.cancellationWorkflow = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const sleep_1 = __importDefault(require("../../../../util/sleep"));
|
|
18
|
+
const hatchet_client_1 = require("../hatchet-client");
|
|
19
|
+
// > Self-cancelling workflow (mirrors Python example)
|
|
20
|
+
exports.cancellationWorkflow = hatchet_client_1.hatchet.workflow({
|
|
21
|
+
name: 'CancelWorkflow',
|
|
22
|
+
});
|
|
23
|
+
exports.cancellationWorkflow.task({
|
|
24
|
+
name: 'self-cancel',
|
|
25
|
+
fn: (_, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
yield (0, sleep_1.default)(2000, ctx.abortController.signal);
|
|
27
|
+
// Cancel the current task run (server-side) and optimistically abort local execution.
|
|
28
|
+
yield ctx.cancel();
|
|
29
|
+
// If cancellation didn't stop execution yet, keep waiting but cooperatively.
|
|
30
|
+
yield (0, sleep_1.default)(10000, ctx.abortController.signal);
|
|
31
|
+
return { error: 'Task should have been cancelled' };
|
|
32
|
+
}),
|
|
33
|
+
});
|
|
34
|
+
exports.cancellationWorkflow.task({
|
|
35
|
+
name: 'check-flag',
|
|
36
|
+
fn: (_, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
|
+
for (let i = 0; i < 3; i += 1) {
|
|
38
|
+
yield (0, sleep_1.default)(1000, ctx.abortController.signal);
|
|
39
|
+
if (ctx.cancelled) {
|
|
40
|
+
throw new Error('Cancelled');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return { error: 'Task should have been cancelled' };
|
|
44
|
+
}),
|
|
45
|
+
});
|
|
46
|
+
// !!
|
|
47
|
+
// > Abort Signal
|
|
48
|
+
exports.abortSignal = hatchet_client_1.hatchet.task({
|
|
49
|
+
name: 'abort-signal',
|
|
50
|
+
fn: (_1, _a) => __awaiter(void 0, [_1, _a], void 0, function* (_, { abortController }) {
|
|
51
|
+
try {
|
|
52
|
+
const response = yield axios_1.default.get('https://api.example.com/data', {
|
|
53
|
+
signal: abortController.signal,
|
|
54
|
+
});
|
|
55
|
+
// Handle the response
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
if (axios_1.default.isCancel(error)) {
|
|
59
|
+
// Request was canceled
|
|
60
|
+
console.log('Request canceled');
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Handle other errors
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
// !!
|
|
69
|
+
// see ./worker.ts and ./run.ts for how to run the workflow
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
/* eslint-disable no-console */
|
|
16
|
+
// > Running a Task with Results
|
|
17
|
+
const sleep_1 = __importDefault(require("../../../../util/sleep"));
|
|
18
|
+
const cancellation_workflow_1 = require("./cancellation-workflow");
|
|
19
|
+
const hatchet_client_1 = require("../hatchet-client");
|
|
20
|
+
// ...
|
|
21
|
+
function main() {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const run = yield cancellation_workflow_1.cancellationWorkflow.runNoWait({});
|
|
24
|
+
const run1 = yield cancellation_workflow_1.cancellationWorkflow.runNoWait({});
|
|
25
|
+
yield (0, sleep_1.default)(1000);
|
|
26
|
+
yield run.cancel();
|
|
27
|
+
const res = yield run.output;
|
|
28
|
+
const res1 = yield run1.output;
|
|
29
|
+
console.log('canceled', res);
|
|
30
|
+
console.log('completed', res1);
|
|
31
|
+
yield (0, sleep_1.default)(1000);
|
|
32
|
+
yield run.replay();
|
|
33
|
+
const resReplay = yield run.output;
|
|
34
|
+
console.log(resReplay);
|
|
35
|
+
const run2 = yield cancellation_workflow_1.cancellationWorkflow.runNoWait({}, { additionalMetadata: { test: 'abc' } });
|
|
36
|
+
const run4 = yield cancellation_workflow_1.cancellationWorkflow.runNoWait({}, { additionalMetadata: { test: 'test' } });
|
|
37
|
+
yield (0, sleep_1.default)(1000);
|
|
38
|
+
yield hatchet_client_1.hatchet.runs.cancel({
|
|
39
|
+
filters: {
|
|
40
|
+
since: new Date(Date.now() - 60 * 60),
|
|
41
|
+
additionalMetadata: { test: 'test' },
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
const res3 = yield Promise.all([run2.output, run4.output]);
|
|
45
|
+
console.log(res3);
|
|
46
|
+
// !!
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (require.main === module) {
|
|
50
|
+
main()
|
|
51
|
+
.catch(console.error)
|
|
52
|
+
.finally(() => process.exit(0));
|
|
53
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// > Declaring a Worker
|
|
13
|
+
const hatchet_client_1 = require("../hatchet-client");
|
|
14
|
+
const cancellation_workflow_1 = require("./cancellation-workflow");
|
|
15
|
+
function main() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const worker = yield hatchet_client_1.hatchet.worker('cancellation-worker', {
|
|
18
|
+
// 👀 Declare the workflows that the worker can execute
|
|
19
|
+
workflows: [cancellation_workflow_1.cancellationWorkflow],
|
|
20
|
+
// 👀 Declare the number of concurrent task runs the worker can accept
|
|
21
|
+
slots: 100,
|
|
22
|
+
});
|
|
23
|
+
yield worker.start();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (require.main === module) {
|
|
27
|
+
main();
|
|
28
|
+
}
|
|
29
|
+
// !!
|
|
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
/* eslint-disable no-console */
|
|
16
16
|
// > Running a Task with Results
|
|
17
|
-
const sleep_1 = __importDefault(require("
|
|
17
|
+
const sleep_1 = __importDefault(require("../../../../util/sleep"));
|
|
18
18
|
const workflow_1 = require("./workflow");
|
|
19
19
|
const hatchet_client_1 = require("../hatchet-client");
|
|
20
20
|
// ...
|
|
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.abortSignal = exports.cancellation = void 0;
|
|
16
|
-
const sleep_1 = __importDefault(require("
|
|
16
|
+
const sleep_1 = __importDefault(require("../../../../util/sleep"));
|
|
17
17
|
const axios_1 = __importDefault(require("axios"));
|
|
18
18
|
const hatchet_client_1 = require("../hatchet-client");
|
|
19
19
|
// > Declaring a Task
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.multipleConcurrencyKeys = exports.simpleConcurrency = void 0;
|
|
13
|
-
const workflow_1 = require("
|
|
13
|
+
const workflow_1 = require("../../../../workflow");
|
|
14
14
|
const hatchet_client_1 = require("../hatchet-client");
|
|
15
15
|
const sleep = (ms) => new Promise((resolve) => {
|
|
16
16
|
setTimeout(resolve, ms);
|