@temporalio/core-bridge 1.13.1 → 1.14.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/Cargo.lock +350 -436
- package/Cargo.toml +14 -13
- package/{sdk-core/fsm/rustfsm_procmacro/LICENSE.txt → LICENSE} +5 -5
- package/README.md +0 -1
- package/bridge-macros/Cargo.toml +16 -0
- package/bridge-macros/src/derive_js_function.rs +126 -0
- package/bridge-macros/src/derive_tryfromjs.rs +138 -0
- package/bridge-macros/src/derive_tryintojs.rs +151 -0
- package/bridge-macros/src/lib.rs +42 -0
- package/lib/native.d.ts +23 -9
- package/package.json +6 -5
- package/releases/aarch64-apple-darwin/index.node +0 -0
- package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
- package/releases/x86_64-apple-darwin/index.node +0 -0
- package/releases/x86_64-pc-windows-msvc/index.node +0 -0
- package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
- package/sdk-core/.cargo/config.toml +78 -12
- package/sdk-core/.clippy.toml +1 -0
- package/sdk-core/.github/workflows/heavy.yml +2 -0
- package/sdk-core/.github/workflows/per-pr.yml +90 -21
- package/sdk-core/AGENTS.md +17 -19
- package/sdk-core/ARCHITECTURE.md +44 -48
- package/sdk-core/Cargo.toml +25 -7
- package/sdk-core/README.md +16 -15
- package/sdk-core/arch_docs/diagrams/TimerMachine_Coverage.puml +14 -0
- package/sdk-core/arch_docs/diagrams/deps.svg +102 -0
- package/sdk-core/arch_docs/diagrams/initial_event_history.png +0 -0
- package/sdk-core/arch_docs/sdks_intro.md +299 -0
- package/sdk-core/{client → crates/client}/Cargo.toml +15 -16
- package/sdk-core/{client → crates/client}/src/callback_based.rs +1 -2
- package/sdk-core/{client → crates/client}/src/lib.rs +594 -457
- package/sdk-core/{client → crates/client}/src/metrics.rs +32 -8
- package/sdk-core/crates/client/src/proxy.rs +209 -0
- package/sdk-core/{client → crates/client}/src/raw.rs +648 -328
- package/sdk-core/crates/client/src/replaceable.rs +253 -0
- package/sdk-core/crates/client/src/request_extensions.rs +40 -0
- package/sdk-core/{client → crates/client}/src/retry.rs +32 -22
- package/sdk-core/crates/client/src/worker/mod.rs +1468 -0
- package/sdk-core/{client → crates/client}/src/workflow_handle/mod.rs +24 -21
- package/sdk-core/{core-api → crates/common}/Cargo.toml +21 -12
- package/sdk-core/{sdk-core-protos → crates/common}/build.rs +10 -23
- package/sdk-core/crates/common/protos/api_cloud_upstream/VERSION +1 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/account/v1/message.proto +18 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +38 -11
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +21 -4
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +6 -6
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/sink/v1/message.proto +22 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/create-release.yml +13 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/openapiv2.json +254 -5
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/openapiv3.yaml +234 -5
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/common/v1/message.proto +1 -1
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/deployment/v1/message.proto +6 -0
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/namespace/v1/message.proto +6 -2
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +60 -2
- package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +30 -6
- package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +2 -0
- package/sdk-core/{core-api → crates/common}/src/envconfig.rs +155 -56
- package/sdk-core/{core-api → crates/common}/src/errors.rs +8 -1
- package/sdk-core/{fsm/rustfsm_trait/src/lib.rs → crates/common/src/fsm_trait.rs} +1 -27
- package/sdk-core/{core-api → crates/common}/src/lib.rs +92 -9
- package/sdk-core/{test-utils/src → crates/common/src/protos}/canned_histories.rs +5 -5
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/history_builder.rs +3 -3
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/history_info.rs +2 -2
- package/sdk-core/{sdk-core-protos/src/lib.rs → crates/common/src/protos/mod.rs} +43 -26
- package/sdk-core/crates/common/src/protos/test_utils.rs +89 -0
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/utilities.rs +14 -5
- package/sdk-core/{core-api → crates/common}/src/telemetry/metrics.rs +449 -51
- package/sdk-core/{core-api → crates/common}/src/telemetry.rs +16 -1
- package/sdk-core/{core-api → crates/common}/src/worker.rs +112 -18
- package/sdk-core/crates/common/tests/worker_task_types_test.rs +129 -0
- package/sdk-core/crates/macros/Cargo.toml +23 -0
- package/sdk-core/{fsm/rustfsm_procmacro → crates/macros}/src/lib.rs +12 -12
- package/sdk-core/{sdk → crates/sdk}/Cargo.toml +18 -12
- package/sdk-core/{sdk → crates/sdk}/src/activity_context.rs +9 -7
- package/sdk-core/{sdk → crates/sdk}/src/app_data.rs +1 -1
- package/sdk-core/{sdk → crates/sdk}/src/interceptors.rs +2 -5
- package/sdk-core/{sdk → crates/sdk}/src/lib.rs +43 -42
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context/options.rs +12 -3
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context.rs +21 -19
- package/sdk-core/{sdk → crates/sdk}/src/workflow_future.rs +2 -2
- package/sdk-core/crates/sdk-core/Cargo.toml +222 -0
- package/sdk-core/{core/benches/workflow_replay.rs → crates/sdk-core/benches/workflow_replay_bench.rs} +15 -10
- package/sdk-core/crates/sdk-core/machine_coverage/ActivityMachine_Coverage.puml +32 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CancelExternalMachine_Coverage.puml +9 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CancelWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ChildWorkflowMachine_Coverage.puml +27 -0
- package/sdk-core/crates/sdk-core/machine_coverage/CompleteWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ContinueAsNewWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/FailWorkflowMachine_Coverage.puml +6 -0
- package/sdk-core/crates/sdk-core/machine_coverage/LocalActivityMachine_Coverage.puml +23 -0
- package/sdk-core/crates/sdk-core/machine_coverage/ModifyWorkflowPropertiesMachine_Coverage.puml +5 -0
- package/sdk-core/crates/sdk-core/machine_coverage/PatchMachine_Coverage.puml +8 -0
- package/sdk-core/crates/sdk-core/machine_coverage/SignalExternalMachine_Coverage.puml +12 -0
- package/sdk-core/crates/sdk-core/machine_coverage/TimerMachine_Coverage.puml +13 -0
- package/sdk-core/crates/sdk-core/machine_coverage/UpdateMachine_Coverage.puml +19 -0
- package/sdk-core/crates/sdk-core/machine_coverage/UpsertSearchAttributesMachine_Coverage.puml +5 -0
- package/sdk-core/crates/sdk-core/machine_coverage/WorkflowTaskMachine_Coverage.puml +11 -0
- package/sdk-core/{core → crates/sdk-core}/src/abstractions.rs +62 -6
- package/sdk-core/crates/sdk-core/src/antithesis.rs +60 -0
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/activity_tasks.rs +85 -250
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/mod.rs +13 -16
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/queries.rs +25 -24
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/replay_flag.rs +11 -68
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/updates.rs +21 -20
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workers.rs +242 -16
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_cancels.rs +10 -7
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_tasks.rs +150 -326
- package/sdk-core/{core → crates/sdk-core}/src/debug_client.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/ephemeral_server/mod.rs +18 -6
- package/sdk-core/{test-utils → crates/sdk-core}/src/histfetch.rs +9 -4
- package/sdk-core/{core → crates/sdk-core}/src/internal_flags.rs +15 -4
- package/sdk-core/{core → crates/sdk-core}/src/lib.rs +128 -72
- package/sdk-core/{core → crates/sdk-core}/src/pollers/mod.rs +13 -11
- package/sdk-core/{core → crates/sdk-core}/src/pollers/poll_buffer.rs +53 -18
- package/sdk-core/{core → crates/sdk-core}/src/protosext/mod.rs +14 -6
- package/sdk-core/{core → crates/sdk-core}/src/protosext/protocol_messages.rs +5 -12
- package/sdk-core/{core → crates/sdk-core}/src/replay/mod.rs +14 -11
- package/sdk-core/crates/sdk-core/src/retry_logic.rs +390 -0
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/log_export.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/metrics.rs +80 -33
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/mod.rs +12 -6
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/otel.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/prometheus_meter.rs +14 -14
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/prometheus_server.rs +2 -2
- package/sdk-core/{core/src/test_help/mod.rs → crates/sdk-core/src/test_help/integ_helpers.rs} +284 -329
- package/sdk-core/crates/sdk-core/src/test_help/mod.rs +13 -0
- package/sdk-core/crates/sdk-core/src/test_help/unit_helpers.rs +220 -0
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/activity_heartbeat_manager.rs +44 -8
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/local_activities.rs +33 -31
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities.rs +31 -15
- package/sdk-core/{core → crates/sdk-core}/src/worker/client/mocks.rs +28 -15
- package/sdk-core/{core → crates/sdk-core}/src/worker/client.rs +275 -145
- package/sdk-core/crates/sdk-core/src/worker/heartbeat.rs +246 -0
- package/sdk-core/crates/sdk-core/src/worker/mod.rs +1462 -0
- package/sdk-core/{core → crates/sdk-core}/src/worker/nexus.rs +24 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/slot_provider.rs +18 -10
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner/fixed_size.rs +5 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner/resource_based.rs +453 -57
- package/sdk-core/{core → crates/sdk-core}/src/worker/tuner.rs +179 -3
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/driven_workflow.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/history_update.rs +5 -267
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/activity_state_machine.rs +147 -90
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_external_state_machine.rs +8 -91
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_nexus_op_state_machine.rs +14 -12
- package/sdk-core/crates/sdk-core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +97 -0
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/child_workflow_state_machine.rs +32 -229
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/complete_workflow_state_machine.rs +13 -8
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +6 -50
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/fail_workflow_state_machine.rs +6 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/local_activity_state_machine.rs +39 -584
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/mod.rs +22 -17
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +4 -74
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/nexus_operation_state_machine.rs +118 -21
- package/sdk-core/crates/sdk-core/src/worker/workflow/machines/patch_state_machine.rs +273 -0
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/signal_external_state_machine.rs +9 -151
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/timer_state_machine.rs +27 -132
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/transition_coverage.rs +1 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/update_state_machine.rs +19 -13
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +25 -80
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_machines/local_acts.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_machines.rs +68 -72
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/workflow_task_state_machine.rs +13 -15
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/managed_run.rs +55 -37
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/mod.rs +171 -61
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/run_cache.rs +10 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/wft_extraction.rs +4 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/wft_poller.rs +15 -4
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/workflow_stream.rs +38 -19
- package/sdk-core/crates/sdk-core/tests/c_bridge_smoke_test.c +10 -0
- package/sdk-core/crates/sdk-core/tests/cloud_tests.rs +25 -0
- package/sdk-core/crates/sdk-core/tests/common/fake_grpc_server.rs +106 -0
- package/sdk-core/crates/sdk-core/tests/common/http_proxy.rs +134 -0
- package/sdk-core/{test-utils/src/lib.rs → crates/sdk-core/tests/common/mod.rs} +286 -334
- package/sdk-core/{test-utils/src → crates/sdk-core/tests/common}/workflows.rs +6 -4
- package/sdk-core/crates/sdk-core/tests/fsm_procmacro.rs +6 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/dupe_transitions_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/dupe_transitions_fail.stderr +12 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/dynamic_dest_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/forgot_name_fail.rs +1 -3
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/forgot_name_fail.stderr +4 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/handler_arg_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/handler_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/medium_complex_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/no_handle_conversions_require_into_fail.rs +2 -4
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/no_handle_conversions_require_into_fail.stderr +15 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/simple_pass.rs +2 -4
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/struct_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/struct_event_variant_fail.stderr +5 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/tuple_more_item_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
- package/sdk-core/{fsm/rustfsm_procmacro/tests/trybuild → crates/sdk-core/tests/fsm_trybuild}/tuple_zero_item_event_variant_fail.rs +1 -3
- package/sdk-core/crates/sdk-core/tests/fsm_trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/global_metric_tests.rs +22 -22
- package/sdk-core/{tests → crates/sdk-core/tests/heavy_tests}/fuzzy_workflow.rs +4 -4
- package/sdk-core/{tests → crates/sdk-core/tests}/heavy_tests.rs +25 -14
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/activity_functions.rs +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/client_tests.rs +115 -123
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/ephemeral_server_tests.rs +19 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/heartbeat_tests.rs +24 -20
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/metrics_tests.rs +241 -67
- package/sdk-core/crates/sdk-core/tests/integ_tests/pagination_tests.rs +273 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/polling_tests.rs +513 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/queries_tests.rs +13 -11
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/update_tests.rs +47 -29
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/visibility_tests.rs +49 -27
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_heartbeat_tests.rs +1061 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_tests.rs +920 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/worker_versioning_tests.rs +58 -40
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/activities.rs +268 -30
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/appdata_propagation.rs +4 -4
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +155 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +121 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +717 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +109 -0
- package/sdk-core/{core/src/core_tests → crates/sdk-core/tests/integ_tests/workflow_tests}/determinism.rs +108 -20
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/eager.rs +10 -5
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +2884 -0
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +119 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/nexus.rs +174 -46
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/patches.rs +740 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/replay.rs +78 -27
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/resets.rs +46 -28
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/signals.rs +294 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/stickyness.rs +9 -8
- package/sdk-core/crates/sdk-core/tests/integ_tests/workflow_tests/timers.rs +249 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/upsert_search_attrs.rs +72 -7
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests.rs +97 -33
- package/sdk-core/{tests → crates/sdk-core/tests}/main.rs +40 -25
- package/sdk-core/{tests → crates/sdk-core/tests}/manual_tests.rs +25 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/runner.rs +23 -41
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/mod.rs +11 -6
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/priority.rs +6 -6
- package/sdk-core/crates/sdk-core-c-bridge/Cargo.toml +59 -0
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/include/temporal-sdk-core-c-bridge.h +215 -44
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/client.rs +515 -214
- package/sdk-core/crates/sdk-core-c-bridge/src/envconfig.rs +314 -0
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/lib.rs +2 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/metric.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/random.rs +4 -4
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/runtime.rs +42 -28
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/testing.rs +2 -5
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/context.rs +42 -41
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/mod.rs +38 -34
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/utils.rs +10 -11
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/worker.rs +427 -121
- package/sdk-core/docker-cgroup-tests.sh +24 -0
- package/sdk-core/{docker → etc/docker}/docker-compose-ci.yaml +9 -9
- package/sdk-core/{docker → etc/docker}/docker-compose-telem.yaml +11 -11
- package/sdk-core/{docker → etc/docker}/docker-compose.yaml +8 -8
- package/sdk-core/{integ-with-otel.sh → etc/integ-with-otel.sh} +1 -1
- package/sdk-core/etc/regen-depgraph.sh +2 -2
- package/src/client.rs +117 -49
- package/src/helpers/callbacks.rs +4 -4
- package/src/helpers/errors.rs +7 -1
- package/src/helpers/handles.rs +1 -0
- package/src/helpers/try_from_js.rs +5 -4
- package/src/lib.rs +3 -2
- package/src/logs.rs +1 -1
- package/src/metrics.rs +6 -3
- package/src/runtime.rs +41 -24
- package/src/testing.rs +3 -3
- package/src/worker.rs +77 -44
- package/ts/native.ts +26 -9
- package/LICENSE.md +0 -23
- package/sdk-core/arch_docs/diagrams/workflow_internals.svg +0 -1
- package/sdk-core/client/src/proxy.rs +0 -90
- package/sdk-core/client/src/worker_registry/mod.rs +0 -266
- package/sdk-core/core/Cargo.toml +0 -146
- package/sdk-core/core/src/core_tests/child_workflows.rs +0 -281
- package/sdk-core/core/src/core_tests/local_activities.rs +0 -1442
- package/sdk-core/core/src/retry_logic.rs +0 -224
- package/sdk-core/core/src/worker/heartbeat.rs +0 -231
- package/sdk-core/core/src/worker/mod.rs +0 -980
- package/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +0 -165
- package/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +0 -801
- package/sdk-core/core-c-bridge/Cargo.toml +0 -51
- package/sdk-core/etc/deps.svg +0 -162
- package/sdk-core/fsm/Cargo.toml +0 -21
- package/sdk-core/fsm/README.md +0 -3
- package/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +0 -27
- package/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +0 -8
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +0 -12
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +0 -15
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +0 -5
- package/sdk-core/fsm/rustfsm_trait/Cargo.toml +0 -14
- package/sdk-core/fsm/rustfsm_trait/LICENSE.txt +0 -21
- package/sdk-core/fsm/src/lib.rs +0 -2
- package/sdk-core/sdk-core-protos/Cargo.toml +0 -37
- package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +0 -1
- package/sdk-core/test-utils/Cargo.toml +0 -38
- package/sdk-core/test-utils/src/interceptors.rs +0 -46
- package/sdk-core/tests/cloud_tests.rs +0 -23
- package/sdk-core/tests/integ_tests/polling_tests.rs +0 -294
- package/sdk-core/tests/integ_tests/worker_tests.rs +0 -203
- package/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +0 -74
- package/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +0 -57
- package/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +0 -246
- package/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +0 -65
- package/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +0 -85
- package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +0 -908
- package/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +0 -51
- package/sdk-core/tests/integ_tests/workflow_tests/patches.rs +0 -206
- package/sdk-core/tests/integ_tests/workflow_tests/signals.rs +0 -164
- package/sdk-core/tests/integ_tests/workflow_tests/timers.rs +0 -123
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/.github/workflows/build.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/.github/workflows/push-to-buf.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/CODEOWNERS +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/LICENSE +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/README.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.gen.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.lock +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/connectivityrule/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/nexus/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/resource/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_cloud_upstream/temporal/api/cloud/usage/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/CODEOWNERS +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/ci.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/publish-docs.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/push-to-buf.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-delete-release.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-publish-release.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/.github/workflows/trigger-api-go-update.yml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/LICENSE +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/README.md +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/api-linter.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.gen.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.lock +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/api/annotations.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/api/http.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/any.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/descriptor.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/duration.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/empty.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/struct.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/timestamp.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/google/protobuf/wrappers.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/payload_description.txt +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/activity/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/batch/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/command/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/common.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/deployment.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/event_type.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/nexus.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/enums/v1/workflow.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/export/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/failure/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/history/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/nexus/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/query/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/rules/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/enhanced_stack_trace.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/user_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/worker_config.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/sdk/v1/workflow_metadata.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/update/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/version/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/worker/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflow/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/google/rpc/status.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/grpc/health/v1/health.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/activity_result/activity_result.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/activity_task/activity_task.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/common/common.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/core_interface.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/external_data/external_data.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/nexus/nexus.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/Makefile +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/api-linter.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/buf.yaml +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +0 -0
- /package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/constants.rs +0 -0
- /package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/task_token.rs +0 -0
- /package/sdk-core/{fsm → crates/macros}/LICENSE.txt +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/abstractions/take_cell.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/worker/slot_supplier.rs +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/ends_empty_wft_complete.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-16_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-23_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/evict_while_la_running_no_interference-85_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/fail_wf_task.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-0_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-1_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-2_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/long_local_activity_with_update-3_history.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/old_change_marker_format.bin +0 -0
- /package/sdk-core/{histories → crates/sdk-core/tests/histories}/timer_workflow_history.bin +0 -0
- /package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/priority.rs +0 -0
- /package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/build.rs +0 -0
- /package/sdk-core/{cargo-tokio-console.sh → etc/cargo-tokio-console.sh} +0 -0
package/src/runtime.rs
CHANGED
|
@@ -5,12 +5,12 @@ use futures::channel::mpsc::Receiver;
|
|
|
5
5
|
use neon::prelude::*;
|
|
6
6
|
use tracing::{Instrument, warn};
|
|
7
7
|
|
|
8
|
-
use
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
use temporalio_common::telemetry::{
|
|
9
|
+
CoreLog, OtelCollectorOptions as CoreOtelCollectorOptions,
|
|
10
|
+
PrometheusExporterOptions as CorePrometheusExporterOptions, metrics::CoreMeter,
|
|
11
|
+
};
|
|
12
|
+
use temporalio_sdk_core::{
|
|
13
|
+
CoreRuntime, RuntimeOptionsBuilder, TokioRuntimeBuilder,
|
|
14
14
|
telemetry::{build_otlp_metric_exporter, start_prometheus_metric_exporter},
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -59,10 +59,16 @@ pub struct Runtime {
|
|
|
59
59
|
pub fn runtime_new(
|
|
60
60
|
bridge_options: config::RuntimeOptions,
|
|
61
61
|
) -> BridgeResult<OpaqueOutboundHandle<Runtime>> {
|
|
62
|
-
let (telemetry_options, metrics_options, logging_options) =
|
|
62
|
+
let (telemetry_options, metrics_options, logging_options, worker_heartbeat_interval_millis) =
|
|
63
|
+
bridge_options.try_into()?;
|
|
63
64
|
|
|
64
65
|
// Create core runtime which starts tokio multi-thread runtime
|
|
65
|
-
let
|
|
66
|
+
let runtime_options = RuntimeOptionsBuilder::default()
|
|
67
|
+
.telemetry_options(telemetry_options)
|
|
68
|
+
.heartbeat_interval(worker_heartbeat_interval_millis.map(Duration::from_millis))
|
|
69
|
+
.build()
|
|
70
|
+
.context("Failed to build runtime options")?;
|
|
71
|
+
let mut core_runtime = CoreRuntime::new(runtime_options, TokioRuntimeBuilder::default())
|
|
66
72
|
.context("Failed to initialize Core Runtime")?;
|
|
67
73
|
|
|
68
74
|
enter_sync!(core_runtime);
|
|
@@ -235,17 +241,14 @@ mod config {
|
|
|
235
241
|
use anyhow::Context as _;
|
|
236
242
|
|
|
237
243
|
use neon::prelude::*;
|
|
238
|
-
use
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
PrometheusExporterOptionsBuilder, TelemetryOptions as CoreTelemetryOptions,
|
|
245
|
-
TelemetryOptionsBuilder,
|
|
246
|
-
},
|
|
247
|
-
telemetry::CoreLogStreamConsumer,
|
|
244
|
+
use temporalio_common::telemetry::{
|
|
245
|
+
HistogramBucketOverrides, Logger as CoreTelemetryLogger, MetricTemporality,
|
|
246
|
+
OtelCollectorOptions as CoreOtelCollectorOptions, OtelCollectorOptionsBuilder,
|
|
247
|
+
OtlpProtocol, PrometheusExporterOptions as CorePrometheusExporterOptions,
|
|
248
|
+
PrometheusExporterOptionsBuilder, TelemetryOptions as CoreTelemetryOptions,
|
|
249
|
+
TelemetryOptionsBuilder,
|
|
248
250
|
};
|
|
251
|
+
use temporalio_sdk_core::{Url, telemetry::CoreLogStreamConsumer};
|
|
249
252
|
|
|
250
253
|
use bridge_macros::TryFromJs;
|
|
251
254
|
|
|
@@ -264,6 +267,7 @@ mod config {
|
|
|
264
267
|
log_exporter: LogExporterOptions,
|
|
265
268
|
telemetry: TelemetryOptions,
|
|
266
269
|
metrics_exporter: Option<MetricsExporterOptions>,
|
|
270
|
+
worker_heartbeat_interval_millis: Option<u64>,
|
|
267
271
|
}
|
|
268
272
|
|
|
269
273
|
#[derive(Debug, Clone, TryFromJs)]
|
|
@@ -320,6 +324,7 @@ mod config {
|
|
|
320
324
|
CoreTelemetryOptions,
|
|
321
325
|
Option<super::BridgeMetricsExporter>,
|
|
322
326
|
super::BridgeLogExporter,
|
|
327
|
+
Option<u64>,
|
|
323
328
|
)> for RuntimeOptions
|
|
324
329
|
{
|
|
325
330
|
type Error = BridgeError;
|
|
@@ -329,8 +334,16 @@ mod config {
|
|
|
329
334
|
CoreTelemetryOptions,
|
|
330
335
|
Option<super::BridgeMetricsExporter>,
|
|
331
336
|
super::BridgeLogExporter,
|
|
337
|
+
Option<u64>,
|
|
332
338
|
)> {
|
|
333
|
-
let
|
|
339
|
+
let Self {
|
|
340
|
+
log_exporter,
|
|
341
|
+
telemetry,
|
|
342
|
+
metrics_exporter,
|
|
343
|
+
worker_heartbeat_interval_millis,
|
|
344
|
+
} = self;
|
|
345
|
+
|
|
346
|
+
let (telemetry_logger, log_exporter) = match log_exporter {
|
|
334
347
|
LogExporterOptions::Console { filter } => (
|
|
335
348
|
CoreTelemetryLogger::Console { filter },
|
|
336
349
|
BridgeLogExporter::Console,
|
|
@@ -350,17 +363,21 @@ mod config {
|
|
|
350
363
|
let mut telemetry_options = TelemetryOptionsBuilder::default();
|
|
351
364
|
let telemetry_options = telemetry_options
|
|
352
365
|
.logging(telemetry_logger)
|
|
353
|
-
.metric_prefix(
|
|
354
|
-
.attach_service_name(
|
|
366
|
+
.metric_prefix(telemetry.metric_prefix)
|
|
367
|
+
.attach_service_name(telemetry.attach_service_name)
|
|
355
368
|
.build()
|
|
356
369
|
.context("Failed to build telemetry options")?;
|
|
357
370
|
|
|
358
|
-
let metrics_exporter =
|
|
359
|
-
.metrics_exporter
|
|
371
|
+
let metrics_exporter = metrics_exporter
|
|
360
372
|
.map(std::convert::TryInto::try_into)
|
|
361
373
|
.transpose()?;
|
|
362
374
|
|
|
363
|
-
Ok((
|
|
375
|
+
Ok((
|
|
376
|
+
telemetry_options,
|
|
377
|
+
metrics_exporter,
|
|
378
|
+
log_exporter,
|
|
379
|
+
worker_heartbeat_interval_millis,
|
|
380
|
+
))
|
|
364
381
|
}
|
|
365
382
|
}
|
|
366
383
|
|
package/src/testing.rs
CHANGED
|
@@ -4,13 +4,13 @@ use std::{process::Stdio, sync::Arc};
|
|
|
4
4
|
use anyhow::Context as _;
|
|
5
5
|
use neon::prelude::*;
|
|
6
6
|
|
|
7
|
-
use
|
|
7
|
+
use temporalio_sdk_core::ephemeral_server::{
|
|
8
8
|
EphemeralServer as CoreEphemeralServer, TemporalDevServerConfig as CoreTemporalDevServerConfig,
|
|
9
9
|
TestServerConfig as CoreTestServerConfig,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
use bridge_macros::js_function;
|
|
13
|
-
use
|
|
13
|
+
use temporalio_sdk_core::CoreRuntime;
|
|
14
14
|
|
|
15
15
|
use crate::helpers::*;
|
|
16
16
|
use crate::runtime::{Runtime, RuntimeExt as _};
|
|
@@ -191,7 +191,7 @@ mod config {
|
|
|
191
191
|
|
|
192
192
|
use anyhow::Context as _;
|
|
193
193
|
|
|
194
|
-
use
|
|
194
|
+
use temporalio_sdk_core::ephemeral_server::{
|
|
195
195
|
EphemeralExe, EphemeralExeVersion, TemporalDevServerConfig as CoreTemporalDevServerConfig,
|
|
196
196
|
TemporalDevServerConfigBuilder, TestServerConfig as CoreTestServerConfig,
|
|
197
197
|
TestServerConfigBuilder,
|
package/src/worker.rs
CHANGED
|
@@ -6,20 +6,19 @@ use prost::Message;
|
|
|
6
6
|
use tokio::sync::mpsc::{Sender, channel};
|
|
7
7
|
use tokio_stream::wrappers::ReceiverStream;
|
|
8
8
|
|
|
9
|
-
use
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
coresdk::{
|
|
18
|
-
ActivityHeartbeat, ActivityTaskCompletion, nexus::NexusTaskCompletion,
|
|
19
|
-
workflow_completion::WorkflowActivationCompletion,
|
|
20
|
-
},
|
|
21
|
-
temporal::api::history::v1::History,
|
|
9
|
+
use temporalio_common::Worker as CoreWorkerTrait;
|
|
10
|
+
use temporalio_common::errors::{
|
|
11
|
+
CompleteActivityError, CompleteNexusError, CompleteWfError, PollError,
|
|
12
|
+
};
|
|
13
|
+
use temporalio_common::protos::{
|
|
14
|
+
coresdk::{
|
|
15
|
+
ActivityHeartbeat, ActivityTaskCompletion, nexus::NexusTaskCompletion,
|
|
16
|
+
workflow_completion::WorkflowActivationCompletion,
|
|
22
17
|
},
|
|
18
|
+
temporal::api::history::v1::History,
|
|
19
|
+
};
|
|
20
|
+
use temporalio_sdk_core::{
|
|
21
|
+
CoreRuntime, init_replay_worker, init_worker,
|
|
23
22
|
replay::{HistoryForReplay, ReplayWorkerInput},
|
|
24
23
|
};
|
|
25
24
|
|
|
@@ -70,7 +69,7 @@ pub struct Worker {
|
|
|
70
69
|
core_runtime: Arc<CoreRuntime>,
|
|
71
70
|
|
|
72
71
|
// Arc so that we can send reference into async closures
|
|
73
|
-
core_worker: Arc<
|
|
72
|
+
core_worker: Arc<temporalio_sdk_core::Worker>,
|
|
74
73
|
}
|
|
75
74
|
|
|
76
75
|
/// Create a new worker.
|
|
@@ -167,6 +166,9 @@ pub fn worker_complete_workflow_activation(
|
|
|
167
166
|
),
|
|
168
167
|
}
|
|
169
168
|
}
|
|
169
|
+
CompleteWfError::WorkflowNotEnabled => {
|
|
170
|
+
BridgeError::UnexpectedError(err.to_string())
|
|
171
|
+
}
|
|
170
172
|
})
|
|
171
173
|
})
|
|
172
174
|
}
|
|
@@ -226,6 +228,9 @@ pub fn worker_complete_activity_task(
|
|
|
226
228
|
field: None,
|
|
227
229
|
message: format!("Malformed Activity Completion: {reason:?}"),
|
|
228
230
|
},
|
|
231
|
+
CompleteActivityError::ActivityNotEnabled => {
|
|
232
|
+
BridgeError::UnexpectedError(err.to_string())
|
|
233
|
+
}
|
|
229
234
|
})
|
|
230
235
|
})
|
|
231
236
|
}
|
|
@@ -296,8 +301,8 @@ pub fn worker_complete_nexus_task(
|
|
|
296
301
|
.complete_nexus_task(nexus_completion)
|
|
297
302
|
.await
|
|
298
303
|
.map_err(|err| match err {
|
|
299
|
-
CompleteNexusError::NexusNotEnabled
|
|
300
|
-
BridgeError::UnexpectedError(
|
|
304
|
+
CompleteNexusError::NexusNotEnabled => {
|
|
305
|
+
BridgeError::UnexpectedError(err.to_string())
|
|
301
306
|
}
|
|
302
307
|
CompleteNexusError::MalformedNexusCompletion { reason } => BridgeError::TypeError {
|
|
303
308
|
field: None,
|
|
@@ -309,7 +314,7 @@ pub fn worker_complete_nexus_task(
|
|
|
309
314
|
|
|
310
315
|
/// Request shutdown of the worker.
|
|
311
316
|
/// Once complete Core will stop polling on new tasks and activations on worker's task queue.
|
|
312
|
-
/// Caller should drain any pending tasks and activations and call worker_finalize_shutdown before breaking from
|
|
317
|
+
/// Caller should drain any pending tasks and activations and call `worker_finalize_shutdown` before breaking from
|
|
313
318
|
/// the loop to ensure graceful shutdown.
|
|
314
319
|
#[js_function]
|
|
315
320
|
pub fn worker_initiate_shutdown(worker: OpaqueInboundHandle<Worker>) -> BridgeResult<()> {
|
|
@@ -464,18 +469,19 @@ impl MutableFinalize for HistoryForReplayTunnelHandle {}
|
|
|
464
469
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
465
470
|
|
|
466
471
|
mod config {
|
|
472
|
+
use std::collections::HashSet;
|
|
467
473
|
use std::{sync::Arc, time::Duration};
|
|
468
|
-
|
|
469
|
-
use
|
|
474
|
+
use temporalio_common::protos::temporal::api::enums::v1::VersioningBehavior as CoreVersioningBehavior;
|
|
475
|
+
use temporalio_common::protos::temporal::api::worker::v1::PluginInfo;
|
|
476
|
+
use temporalio_common::worker::{
|
|
477
|
+
ActivitySlotKind, LocalActivitySlotKind, NexusSlotKind,
|
|
478
|
+
PollerBehavior as CorePollerBehavior, SlotKind, WorkerConfig, WorkerConfigBuilder,
|
|
479
|
+
WorkerConfigBuilderError, WorkerDeploymentOptions as CoreWorkerDeploymentOptions,
|
|
480
|
+
WorkerDeploymentVersion as CoreWorkerDeploymentVersion, WorkflowSlotKind,
|
|
481
|
+
};
|
|
482
|
+
use temporalio_sdk_core::{
|
|
470
483
|
ResourceBasedSlotsOptions, ResourceBasedSlotsOptionsBuilder, ResourceSlotOptions,
|
|
471
484
|
SlotSupplierOptions as CoreSlotSupplierOptions, TunerHolder, TunerHolderOptionsBuilder,
|
|
472
|
-
api::worker::{
|
|
473
|
-
ActivitySlotKind, LocalActivitySlotKind, NexusSlotKind,
|
|
474
|
-
PollerBehavior as CorePollerBehavior, SlotKind, WorkerConfig, WorkerConfigBuilder,
|
|
475
|
-
WorkerConfigBuilderError, WorkerDeploymentOptions as CoreWorkerDeploymentOptions,
|
|
476
|
-
WorkerDeploymentVersion as CoreWorkerDeploymentVersion, WorkflowSlotKind,
|
|
477
|
-
},
|
|
478
|
-
protos::temporal::api::enums::v1::VersioningBehavior as CoreVersioningBehavior,
|
|
479
485
|
};
|
|
480
486
|
|
|
481
487
|
use super::custom_slot_supplier::CustomSlotSupplierOptions;
|
|
@@ -485,7 +491,7 @@ mod config {
|
|
|
485
491
|
use neon::object::Object;
|
|
486
492
|
use neon::prelude::JsResult;
|
|
487
493
|
use neon::types::JsObject;
|
|
488
|
-
use
|
|
494
|
+
use temporalio_common::worker::WorkerVersioningStrategy;
|
|
489
495
|
|
|
490
496
|
#[derive(TryFromJs)]
|
|
491
497
|
pub struct BridgeWorkerOptions {
|
|
@@ -500,7 +506,7 @@ mod config {
|
|
|
500
506
|
workflow_task_poller_behavior: PollerBehavior,
|
|
501
507
|
activity_task_poller_behavior: PollerBehavior,
|
|
502
508
|
nexus_task_poller_behavior: PollerBehavior,
|
|
503
|
-
|
|
509
|
+
task_types: WorkerTaskTypes,
|
|
504
510
|
sticky_queue_schedule_to_start_timeout: Duration,
|
|
505
511
|
max_cached_workflows: usize,
|
|
506
512
|
max_heartbeat_throttle_interval: Duration,
|
|
@@ -508,6 +514,7 @@ mod config {
|
|
|
508
514
|
max_activities_per_second: Option<f64>,
|
|
509
515
|
max_task_queue_activities_per_second: Option<f64>,
|
|
510
516
|
shutdown_grace_time: Option<Duration>,
|
|
517
|
+
plugins: Vec<String>,
|
|
511
518
|
}
|
|
512
519
|
|
|
513
520
|
#[derive(TryFromJs)]
|
|
@@ -541,6 +548,26 @@ mod config {
|
|
|
541
548
|
AutoUpgrade,
|
|
542
549
|
}
|
|
543
550
|
|
|
551
|
+
#[derive(TryFromJs)]
|
|
552
|
+
#[allow(clippy::struct_excessive_bools)]
|
|
553
|
+
pub struct WorkerTaskTypes {
|
|
554
|
+
enable_workflows: bool,
|
|
555
|
+
enable_local_activities: bool,
|
|
556
|
+
enable_remote_activities: bool,
|
|
557
|
+
enable_nexus: bool,
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
impl From<&WorkerTaskTypes> for temporalio_common::worker::WorkerTaskTypes {
|
|
561
|
+
fn from(t: &WorkerTaskTypes) -> Self {
|
|
562
|
+
Self {
|
|
563
|
+
enable_workflows: t.enable_workflows,
|
|
564
|
+
enable_local_activities: t.enable_local_activities,
|
|
565
|
+
enable_remote_activities: t.enable_remote_activities,
|
|
566
|
+
enable_nexus: t.enable_nexus,
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
544
571
|
impl BridgeWorkerOptions {
|
|
545
572
|
pub(crate) fn into_core_config(self) -> Result<WorkerConfig, WorkerConfigBuilderError> {
|
|
546
573
|
// Set all other options
|
|
@@ -567,7 +594,7 @@ mod config {
|
|
|
567
594
|
.workflow_task_poller_behavior(self.workflow_task_poller_behavior)
|
|
568
595
|
.activity_task_poller_behavior(self.activity_task_poller_behavior)
|
|
569
596
|
.nexus_task_poller_behavior(self.nexus_task_poller_behavior)
|
|
570
|
-
.
|
|
597
|
+
.task_types(&self.task_types)
|
|
571
598
|
.sticky_queue_schedule_to_start_timeout(self.sticky_queue_schedule_to_start_timeout)
|
|
572
599
|
.max_cached_workflows(self.max_cached_workflows)
|
|
573
600
|
.max_heartbeat_throttle_interval(self.max_heartbeat_throttle_interval)
|
|
@@ -575,6 +602,15 @@ mod config {
|
|
|
575
602
|
.max_task_queue_activities_per_second(self.max_task_queue_activities_per_second)
|
|
576
603
|
.max_worker_activities_per_second(self.max_activities_per_second)
|
|
577
604
|
.graceful_shutdown_period(self.shutdown_grace_time)
|
|
605
|
+
.plugins(
|
|
606
|
+
self.plugins
|
|
607
|
+
.into_iter()
|
|
608
|
+
.map(|name| PluginInfo {
|
|
609
|
+
name,
|
|
610
|
+
version: String::new(),
|
|
611
|
+
})
|
|
612
|
+
.collect::<HashSet<_>>(),
|
|
613
|
+
)
|
|
578
614
|
.build()
|
|
579
615
|
}
|
|
580
616
|
}
|
|
@@ -749,16 +785,14 @@ mod custom_slot_supplier {
|
|
|
749
785
|
|
|
750
786
|
use neon::{context::Context, handle::Handle, prelude::*};
|
|
751
787
|
|
|
752
|
-
use
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
SlotReservationContext as CoreSlotReservationContext, SlotSupplier as CoreSlotSupplier,
|
|
759
|
-
SlotSupplierPermit as CoreSlotSupplierPermit,
|
|
760
|
-
},
|
|
788
|
+
use temporalio_common::worker::{
|
|
789
|
+
SlotInfo as CoreSlotInfo, SlotInfoTrait as _, SlotKind, SlotKindType as CoreSlotKindType,
|
|
790
|
+
SlotMarkUsedContext as CoreSlotMarkUsedContext,
|
|
791
|
+
SlotReleaseContext as CoreSlotReleaseContext,
|
|
792
|
+
SlotReservationContext as CoreSlotReservationContext, SlotSupplier as CoreSlotSupplier,
|
|
793
|
+
SlotSupplierPermit as CoreSlotSupplierPermit,
|
|
761
794
|
};
|
|
795
|
+
use temporalio_sdk_core::SlotSupplierOptions as CoreSlotSupplierOptions;
|
|
762
796
|
|
|
763
797
|
use bridge_macros::{TryFromJs, TryIntoJs};
|
|
764
798
|
use tracing::warn;
|
|
@@ -817,7 +851,6 @@ mod custom_slot_supplier {
|
|
|
817
851
|
Err(err) => {
|
|
818
852
|
warn!("Error reserving slot: {err:?}");
|
|
819
853
|
tokio::time::sleep(std::time::Duration::from_millis(1000)).await;
|
|
820
|
-
continue;
|
|
821
854
|
}
|
|
822
855
|
}
|
|
823
856
|
}
|
|
@@ -941,18 +974,18 @@ mod custom_slot_supplier {
|
|
|
941
974
|
fn from(info: &'a CoreSlotInfo<'a>) -> Self {
|
|
942
975
|
match info {
|
|
943
976
|
CoreSlotInfo::Workflow(info) => Self::Workflow {
|
|
944
|
-
workflow_type: info.workflow_type.
|
|
977
|
+
workflow_type: info.workflow_type.clone(),
|
|
945
978
|
is_sticky: info.is_sticky,
|
|
946
979
|
},
|
|
947
980
|
CoreSlotInfo::Activity(info) => Self::Activity {
|
|
948
|
-
activity_type: info.activity_type.
|
|
981
|
+
activity_type: info.activity_type.clone(),
|
|
949
982
|
},
|
|
950
983
|
CoreSlotInfo::LocalActivity(info) => Self::LocalActivity {
|
|
951
|
-
activity_type: info.activity_type.
|
|
984
|
+
activity_type: info.activity_type.clone(),
|
|
952
985
|
},
|
|
953
986
|
CoreSlotInfo::Nexus(info) => Self::Nexus {
|
|
954
|
-
service: info.service.
|
|
955
|
-
operation: info.operation.
|
|
987
|
+
service: info.service.clone(),
|
|
988
|
+
operation: info.operation.clone(),
|
|
956
989
|
},
|
|
957
990
|
}
|
|
958
991
|
}
|
package/ts/native.ts
CHANGED
|
@@ -40,7 +40,7 @@ export type JsonString<_T> = string;
|
|
|
40
40
|
// Runtime
|
|
41
41
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
42
42
|
|
|
43
|
-
export declare function newRuntime(
|
|
43
|
+
export declare function newRuntime(runtimeOptions: RuntimeOptions): Runtime;
|
|
44
44
|
|
|
45
45
|
export declare function runtimeShutdown(runtime: Runtime): void;
|
|
46
46
|
|
|
@@ -52,6 +52,7 @@ export type RuntimeOptions = {
|
|
|
52
52
|
logExporter: LogExporterOptions;
|
|
53
53
|
telemetry: TelemetryOptions;
|
|
54
54
|
metricsExporter: MetricExporterOptions;
|
|
55
|
+
workerHeartbeatIntervalMillis: Option<number>;
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
export type TelemetryOptions = {
|
|
@@ -100,7 +101,7 @@ export interface OtelMetricsExporterOptions {
|
|
|
100
101
|
|
|
101
102
|
export declare function newClient(runtime: Runtime, clientOptions: ClientOptions): Promise<Client>;
|
|
102
103
|
|
|
103
|
-
export declare function clientUpdateHeaders(client: Client, headers: Record<string,
|
|
104
|
+
export declare function clientUpdateHeaders(client: Client, headers: Record<string, MetadataValue>): void;
|
|
104
105
|
|
|
105
106
|
export declare function clientUpdateApiKey(client: Client, apiKey: string): void;
|
|
106
107
|
|
|
@@ -122,20 +123,20 @@ export interface ClientOptions {
|
|
|
122
123
|
targetUrl: string;
|
|
123
124
|
clientName: string;
|
|
124
125
|
clientVersion: string;
|
|
125
|
-
tls: Option<
|
|
126
|
+
tls: Option<TlsOptions>;
|
|
126
127
|
httpConnectProxy: Option<HttpConnectProxy>;
|
|
127
|
-
headers: Option<Record<string,
|
|
128
|
+
headers: Option<Record<string, MetadataValue>>;
|
|
128
129
|
apiKey: Option<string>;
|
|
129
130
|
disableErrorCodeMetricTags: boolean;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
export interface
|
|
133
|
+
export interface TlsOptions {
|
|
133
134
|
domain: Option<string>;
|
|
134
135
|
serverRootCaCert: Option<Buffer>;
|
|
135
|
-
|
|
136
|
+
clientTlsOptions: Option<TlsOptionsClientCertPair>;
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
export interface
|
|
139
|
+
export interface TlsOptionsClientCertPair {
|
|
139
140
|
clientCert: Buffer;
|
|
140
141
|
clientPrivateKey: Buffer;
|
|
141
142
|
}
|
|
@@ -157,7 +158,7 @@ export interface RpcCall {
|
|
|
157
158
|
rpc: string;
|
|
158
159
|
req: Buffer;
|
|
159
160
|
retry: boolean;
|
|
160
|
-
metadata: Record<string,
|
|
161
|
+
metadata: Record<string, MetadataValue>;
|
|
161
162
|
timeout: Option<number>;
|
|
162
163
|
}
|
|
163
164
|
|
|
@@ -191,6 +192,16 @@ export interface Worker {
|
|
|
191
192
|
type: 'worker';
|
|
192
193
|
}
|
|
193
194
|
|
|
195
|
+
export type MetadataValue =
|
|
196
|
+
| {
|
|
197
|
+
type: 'ascii';
|
|
198
|
+
value: string;
|
|
199
|
+
}
|
|
200
|
+
| {
|
|
201
|
+
type: 'binary';
|
|
202
|
+
value: Buffer;
|
|
203
|
+
};
|
|
204
|
+
|
|
194
205
|
export interface WorkerOptions {
|
|
195
206
|
identity: string;
|
|
196
207
|
buildId: string;
|
|
@@ -203,7 +214,12 @@ export interface WorkerOptions {
|
|
|
203
214
|
workflowTaskPollerBehavior: PollerBehavior;
|
|
204
215
|
activityTaskPollerBehavior: PollerBehavior;
|
|
205
216
|
nexusTaskPollerBehavior: PollerBehavior;
|
|
206
|
-
|
|
217
|
+
taskTypes: {
|
|
218
|
+
enableWorkflows: boolean;
|
|
219
|
+
enableLocalActivities: boolean;
|
|
220
|
+
enableRemoteActivities: boolean;
|
|
221
|
+
enableNexus: boolean;
|
|
222
|
+
};
|
|
207
223
|
stickyQueueScheduleToStartTimeout: number;
|
|
208
224
|
maxCachedWorkflows: number;
|
|
209
225
|
maxHeartbeatThrottleInterval: number;
|
|
@@ -211,6 +227,7 @@ export interface WorkerOptions {
|
|
|
211
227
|
maxTaskQueueActivitiesPerSecond: Option<number>;
|
|
212
228
|
maxActivitiesPerSecond: Option<number>;
|
|
213
229
|
shutdownGraceTime: number;
|
|
230
|
+
plugins: string[];
|
|
214
231
|
}
|
|
215
232
|
|
|
216
233
|
export type PollerBehavior =
|
package/LICENSE.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
Temporal TypeScript SDK
|
|
2
|
-
|
|
3
|
-
MIT License
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2021 Temporal Technologies Inc. All Rights Reserved
|
|
6
|
-
|
|
7
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
-
in the Software without restriction, including without limitation the rights
|
|
10
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
-
furnished to do so, subject to the following conditions:
|
|
13
|
-
|
|
14
|
-
The above copyright notice and this permission notice shall be included in all
|
|
15
|
-
copies or substantial portions of the Software.
|
|
16
|
-
|
|
17
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23
|
-
SOFTWARE.
|