@temporalio/core-bridge 1.13.2 → 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 +135 -100
- package/Cargo.toml +3 -2
- package/{sdk-core/fsm/rustfsm_trait/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 +13 -6
- 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 +9 -3
- package/sdk-core/.github/workflows/per-pr.yml +42 -5
- package/sdk-core/AGENTS.md +17 -19
- package/sdk-core/Cargo.toml +6 -7
- package/sdk-core/README.md +12 -15
- package/sdk-core/arch_docs/diagrams/deps.svg +102 -0
- package/sdk-core/{client → crates/client}/Cargo.toml +7 -9
- package/sdk-core/{client → crates/client}/src/lib.rs +110 -159
- package/sdk-core/{client → crates/client}/src/metrics.rs +1 -1
- package/sdk-core/{client → crates/client}/src/raw.rs +73 -44
- package/sdk-core/crates/client/src/request_extensions.rs +40 -0
- package/sdk-core/{client → crates/client}/src/retry.rs +24 -17
- package/sdk-core/crates/client/src/worker/mod.rs +1468 -0
- package/sdk-core/{client → crates/client}/src/workflow_handle/mod.rs +4 -4
- package/sdk-core/{core-api → crates/common}/Cargo.toml +17 -8
- 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 +5 -0
- package/sdk-core/{core-api → crates/common}/src/envconfig.rs +2 -2
- 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 +24 -9
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/canned_histories.rs +1 -1
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/history_builder.rs +1 -1
- 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} +18 -17
- package/sdk-core/{sdk-core-protos/src → crates/common/src/protos}/test_utils.rs +1 -1
- package/sdk-core/{core-api → crates/common}/src/telemetry/metrics.rs +447 -50
- package/sdk-core/{core-api → crates/common}/src/telemetry.rs +3 -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 +6 -11
- package/sdk-core/{sdk → crates/sdk}/Cargo.toml +10 -10
- package/sdk-core/{sdk → crates/sdk}/src/activity_context.rs +8 -6
- package/sdk-core/{sdk → crates/sdk}/src/interceptors.rs +1 -1
- package/sdk-core/{sdk → crates/sdk}/src/lib.rs +42 -37
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context/options.rs +2 -2
- package/sdk-core/{sdk → crates/sdk}/src/workflow_context.rs +21 -19
- package/sdk-core/{sdk → crates/sdk}/src/workflow_future.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/Cargo.toml +32 -25
- package/sdk-core/{tests → crates/sdk-core/benches}/workflow_replay_bench.rs +10 -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 +36 -31
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/mod.rs +12 -9
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/queries.rs +24 -21
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/replay_flag.rs +10 -8
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/updates.rs +17 -15
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workers.rs +242 -17
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_cancels.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/core_tests/workflow_tasks.rs +126 -39
- 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 +3 -3
- package/sdk-core/crates/sdk-core/src/histfetch.rs +33 -0
- package/sdk-core/{core → crates/sdk-core}/src/internal_flags.rs +4 -3
- package/sdk-core/{core → crates/sdk-core}/src/lib.rs +85 -43
- package/sdk-core/{core → crates/sdk-core}/src/pollers/mod.rs +8 -6
- package/sdk-core/{core → crates/sdk-core}/src/pollers/poll_buffer.rs +51 -16
- package/sdk-core/{core → crates/sdk-core}/src/protosext/mod.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/protosext/protocol_messages.rs +1 -1
- package/sdk-core/{core → crates/sdk-core}/src/replay/mod.rs +14 -11
- package/sdk-core/{core → crates/sdk-core}/src/retry_logic.rs +19 -1
- 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 -34
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/mod.rs +4 -4
- 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 +13 -13
- package/sdk-core/{core → crates/sdk-core}/src/telemetry/prometheus_server.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/test_help/integ_helpers.rs +127 -40
- package/sdk-core/{core → crates/sdk-core}/src/test_help/unit_helpers.rs +13 -11
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/activity_heartbeat_manager.rs +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities/local_activities.rs +14 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/activities.rs +21 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/client/mocks.rs +25 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/client.rs +164 -71
- 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 +15 -14
- package/sdk-core/{core → crates/sdk-core}/src/worker/slot_provider.rs +12 -13
- 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 +21 -4
- 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 +2 -2
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/activity_state_machine.rs +147 -37
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_external_state_machine.rs +8 -9
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_nexus_op_state_machine.rs +14 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/cancel_workflow_state_machine.rs +6 -7
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/child_workflow_state_machine.rs +31 -37
- 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 -7
- 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 +33 -30
- 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 -3
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/nexus_operation_state_machine.rs +20 -22
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/patch_state_machine.rs +12 -11
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/signal_external_state_machine.rs +9 -12
- package/sdk-core/{core → crates/sdk-core}/src/worker/workflow/machines/timer_state_machine.rs +26 -13
- 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 +20 -18
- 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 +61 -70
- 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 +166 -60
- 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 +30 -16
- package/sdk-core/{tests → crates/sdk-core/tests}/c_bridge_smoke_test.c +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/cloud_tests.rs +1 -1
- package/sdk-core/crates/sdk-core/tests/common/fake_grpc_server.rs +106 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/common/http_proxy.rs +1 -1
- package/sdk-core/{tests → crates/sdk-core/tests}/common/mod.rs +93 -74
- package/sdk-core/{tests → crates/sdk-core/tests}/common/workflows.rs +4 -3
- 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 +14 -15
- package/sdk-core/{tests → crates/sdk-core/tests/heavy_tests}/fuzzy_workflow.rs +3 -3
- package/sdk-core/{tests → crates/sdk-core/tests}/heavy_tests.rs +19 -12
- 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 +16 -111
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/ephemeral_server_tests.rs +5 -6
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/heartbeat_tests.rs +23 -19
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/metrics_tests.rs +134 -60
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/pagination_tests.rs +4 -4
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/polling_tests.rs +37 -36
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/queries_tests.rs +12 -10
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/update_tests.rs +41 -29
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/visibility_tests.rs +24 -19
- package/sdk-core/crates/sdk-core/tests/integ_tests/worker_heartbeat_tests.rs +1061 -0
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/worker_tests.rs +113 -51
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/worker_versioning_tests.rs +19 -17
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/activities.rs +35 -30
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/appdata_propagation.rs +3 -3
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/cancel_external.rs +14 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/cancel_wf.rs +13 -8
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/child_workflows.rs +48 -35
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/continue_as_new.rs +14 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/determinism.rs +24 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/eager.rs +9 -4
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/local_activities.rs +47 -47
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/modify_wf_properties.rs +16 -11
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/nexus.rs +51 -23
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/patches.rs +22 -10
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/replay.rs +19 -17
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/resets.rs +14 -5
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/signals.rs +24 -15
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/stickyness.rs +8 -6
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/timers.rs +28 -18
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests/upsert_search_attrs.rs +18 -13
- package/sdk-core/{tests → crates/sdk-core/tests}/integ_tests/workflow_tests.rs +46 -41
- package/sdk-core/{tests → crates/sdk-core/tests}/main.rs +15 -9
- package/sdk-core/{tests → crates/sdk-core/tests}/manual_tests.rs +20 -14
- package/sdk-core/{tests → crates/sdk-core/tests}/runner.rs +2 -2
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/mod.rs +10 -5
- package/sdk-core/{tests → crates/sdk-core/tests}/shared_tests/priority.rs +5 -5
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/Cargo.toml +13 -10
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/include/temporal-sdk-core-c-bridge.h +32 -23
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/client.rs +55 -32
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/envconfig.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/lib.rs +1 -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/runtime.rs +24 -9
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/testing.rs +1 -1
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/context.rs +11 -10
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/mod.rs +7 -7
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/tests/utils.rs +3 -4
- package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/src/worker.rs +111 -58
- 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 +24 -33
- package/src/helpers/try_from_js.rs +1 -1
- package/src/logs.rs +1 -1
- package/src/metrics.rs +3 -3
- package/src/runtime.rs +42 -28
- package/src/testing.rs +3 -3
- package/src/worker.rs +70 -36
- package/ts/native.ts +13 -6
- package/LICENSE.md +0 -23
- package/sdk-core/client/src/worker_registry/mod.rs +0 -282
- package/sdk-core/core/src/worker/heartbeat.rs +0 -230
- package/sdk-core/core/src/worker/mod.rs +0 -990
- 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/LICENSE.txt +0 -21
- 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/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/{client → crates/client}/src/callback_based.rs +0 -0
- /package/sdk-core/{client → crates/client}/src/proxy.rs +0 -0
- /package/sdk-core/{client → crates/client}/src/replaceable.rs +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/build.rs +0 -0
- /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/openapiv2.json +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/openapi/openapiv3.yaml +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/common/v1/message.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/deployment/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/namespace/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/api_upstream/temporal/api/workflowservice/v1/request_response.proto +0 -0
- /package/sdk-core/{sdk-core-protos → crates/common}/protos/api_upstream/temporal/api/workflowservice/v1/service.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_activation/workflow_activation.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/{sdk-core-protos/src → crates/common/src/protos}/utilities.rs +0 -0
- /package/sdk-core/{fsm → crates/macros}/LICENSE.txt +0 -0
- /package/sdk-core/{sdk → crates/sdk}/src/app_data.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/abstractions/take_cell.rs +0 -0
- /package/sdk-core/{core → crates/sdk-core}/src/test_help/mod.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/{core-c-bridge → crates/sdk-core-c-bridge}/src/random.rs +0 -0
- /package/sdk-core/{cargo-tokio-console.sh → etc/cargo-tokio-console.sh} +0 -0
package/src/client.rs
CHANGED
|
@@ -5,10 +5,10 @@ use std::{collections::HashMap, sync::Arc};
|
|
|
5
5
|
use neon::prelude::*;
|
|
6
6
|
use tonic::metadata::{BinaryMetadataValue, MetadataKey};
|
|
7
7
|
|
|
8
|
-
use
|
|
8
|
+
use temporalio_sdk_core::{ClientOptions as CoreClientOptions, CoreRuntime, RetryClient};
|
|
9
9
|
|
|
10
10
|
use bridge_macros::{TryFromJs, js_function};
|
|
11
|
-
use
|
|
11
|
+
use temporalio_client::{ClientInitError, ConfiguredClient, TemporalServiceClient};
|
|
12
12
|
|
|
13
13
|
use crate::runtime::Runtime;
|
|
14
14
|
use crate::{helpers::*, runtime::RuntimeExt as _};
|
|
@@ -257,7 +257,7 @@ async fn client_invoke_workflow_service(
|
|
|
257
257
|
mut retry_client: CoreClient,
|
|
258
258
|
call: RpcCall,
|
|
259
259
|
) -> BridgeResult<Vec<u8>> {
|
|
260
|
-
use
|
|
260
|
+
use temporalio_client::WorkflowService;
|
|
261
261
|
|
|
262
262
|
match call.rpc.as_str() {
|
|
263
263
|
"CountWorkflowExecutions" => {
|
|
@@ -528,7 +528,7 @@ async fn client_invoke_operator_service(
|
|
|
528
528
|
mut retry_client: CoreClient,
|
|
529
529
|
call: RpcCall,
|
|
530
530
|
) -> BridgeResult<Vec<u8>> {
|
|
531
|
-
use
|
|
531
|
+
use temporalio_client::OperatorService;
|
|
532
532
|
|
|
533
533
|
match call.rpc.as_str() {
|
|
534
534
|
"AddOrUpdateRemoteCluster" => {
|
|
@@ -566,7 +566,7 @@ async fn client_invoke_test_service(
|
|
|
566
566
|
mut retry_client: CoreClient,
|
|
567
567
|
call: RpcCall,
|
|
568
568
|
) -> BridgeResult<Vec<u8>> {
|
|
569
|
-
use
|
|
569
|
+
use temporalio_client::TestService;
|
|
570
570
|
|
|
571
571
|
match call.rpc.as_str() {
|
|
572
572
|
"GetCurrentTime" => rpc_call!(retry_client, call, get_current_time),
|
|
@@ -588,7 +588,7 @@ async fn client_invoke_health_service(
|
|
|
588
588
|
mut retry_client: CoreClient,
|
|
589
589
|
call: RpcCall,
|
|
590
590
|
) -> BridgeResult<Vec<u8>> {
|
|
591
|
-
use
|
|
591
|
+
use temporalio_client::HealthService;
|
|
592
592
|
|
|
593
593
|
match call.rpc.as_str() {
|
|
594
594
|
"Check" => rpc_call!(retry_client, call, check),
|
|
@@ -656,12 +656,10 @@ where
|
|
|
656
656
|
mod config {
|
|
657
657
|
use std::collections::HashMap;
|
|
658
658
|
|
|
659
|
-
use
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
ClientOptions as CoreClientOptions, ClientOptionsBuilder,
|
|
664
|
-
ClientTlsConfig as CoreClientTlsConfig, TlsConfig as CoreTlsConfig, Url,
|
|
659
|
+
use temporalio_client::HttpConnectProxyOptions;
|
|
660
|
+
use temporalio_sdk_core::{
|
|
661
|
+
ClientOptions as CoreClientOptions, ClientTlsOptions as CoreClientTlsOptions,
|
|
662
|
+
TlsOptions as CoreTlsOptions, Url,
|
|
665
663
|
};
|
|
666
664
|
|
|
667
665
|
use bridge_macros::TryFromJs;
|
|
@@ -673,7 +671,7 @@ mod config {
|
|
|
673
671
|
target_url: Url,
|
|
674
672
|
client_name: String,
|
|
675
673
|
client_version: String,
|
|
676
|
-
tls: Option<
|
|
674
|
+
tls: Option<TlsOptions>,
|
|
677
675
|
http_connect_proxy: Option<HttpConnectProxy>,
|
|
678
676
|
headers: Option<HashMap<String, MetadataValue>>,
|
|
679
677
|
api_key: Option<String>,
|
|
@@ -682,14 +680,14 @@ mod config {
|
|
|
682
680
|
|
|
683
681
|
#[derive(Debug, Clone, TryFromJs)]
|
|
684
682
|
#[allow(clippy::struct_field_names)]
|
|
685
|
-
struct
|
|
683
|
+
struct TlsOptions {
|
|
686
684
|
domain: Option<String>,
|
|
687
685
|
server_root_ca_cert: Option<Vec<u8>>,
|
|
688
|
-
|
|
686
|
+
client_tls_options: Option<TlsOptionsClientCertPair>,
|
|
689
687
|
}
|
|
690
688
|
|
|
691
689
|
#[derive(Debug, Clone, TryFromJs)]
|
|
692
|
-
struct
|
|
690
|
+
struct TlsOptionsClientCertPair {
|
|
693
691
|
client_cert: Vec<u8>,
|
|
694
692
|
client_private_key: Vec<u8>,
|
|
695
693
|
}
|
|
@@ -709,42 +707,35 @@ mod config {
|
|
|
709
707
|
impl TryInto<CoreClientOptions> for ClientOptions {
|
|
710
708
|
type Error = BridgeError;
|
|
711
709
|
fn try_into(self) -> Result<CoreClientOptions, Self::Error> {
|
|
712
|
-
let mut builder = ClientOptionsBuilder::default();
|
|
713
|
-
|
|
714
|
-
if let Some(tls) = self.tls {
|
|
715
|
-
builder.tls_cfg(tls.into());
|
|
716
|
-
}
|
|
717
|
-
|
|
718
710
|
let (ascii_headers, bin_headers) = partition_headers(self.headers);
|
|
719
711
|
|
|
720
|
-
let client_options = builder
|
|
712
|
+
let client_options = CoreClientOptions::builder()
|
|
721
713
|
.target_url(self.target_url)
|
|
722
714
|
.client_name(self.client_name)
|
|
723
715
|
.client_version(self.client_version)
|
|
724
|
-
|
|
725
|
-
.
|
|
726
|
-
.
|
|
727
|
-
.
|
|
728
|
-
.
|
|
716
|
+
.maybe_tls_options(self.tls.map(Into::into))
|
|
717
|
+
.maybe_http_connect_proxy(self.http_connect_proxy.map(Into::into))
|
|
718
|
+
.maybe_headers(ascii_headers)
|
|
719
|
+
.maybe_binary_headers(bin_headers)
|
|
720
|
+
.maybe_api_key(self.api_key)
|
|
729
721
|
.disable_error_code_metric_tags(self.disable_error_code_metric_tags)
|
|
730
722
|
// identity -- skipped: will be set on worker
|
|
731
723
|
// retry_config -- skipped: worker overrides anyway
|
|
732
724
|
// override_origin -- skipped: will default to tls_cfg.domain
|
|
733
725
|
// keep_alive -- skipped: defaults to true; is there any reason to disable this?
|
|
734
726
|
// skip_get_system_info -- skipped: defaults to false; is there any reason to set this?
|
|
735
|
-
.build()
|
|
736
|
-
.context("Invalid Client options")?;
|
|
727
|
+
.build();
|
|
737
728
|
|
|
738
729
|
Ok(client_options)
|
|
739
730
|
}
|
|
740
731
|
}
|
|
741
732
|
|
|
742
|
-
impl From<
|
|
743
|
-
fn from(val:
|
|
733
|
+
impl From<TlsOptions> for CoreTlsOptions {
|
|
734
|
+
fn from(val: TlsOptions) -> Self {
|
|
744
735
|
Self {
|
|
745
736
|
domain: val.domain,
|
|
746
737
|
server_root_ca_cert: val.server_root_ca_cert,
|
|
747
|
-
|
|
738
|
+
client_tls_options: val.client_tls_options.map(|pair| CoreClientTlsOptions {
|
|
748
739
|
client_cert: pair.client_cert,
|
|
749
740
|
client_private_key: pair.client_private_key,
|
|
750
741
|
}),
|
package/src/logs.rs
CHANGED
package/src/metrics.rs
CHANGED
|
@@ -4,14 +4,14 @@ use anyhow::Context as _;
|
|
|
4
4
|
use neon::prelude::*;
|
|
5
5
|
use serde::Deserialize;
|
|
6
6
|
|
|
7
|
-
use
|
|
7
|
+
use temporalio_common::telemetry::metrics::{
|
|
8
8
|
CoreMeter, Counter as CoreCounter, Gauge as CoreGauge, Histogram as CoreHistogram,
|
|
9
9
|
MetricParametersBuilder, NewAttributes, TemporalMeter,
|
|
10
10
|
};
|
|
11
|
-
use
|
|
11
|
+
use temporalio_common::telemetry::metrics::{
|
|
12
12
|
GaugeF64 as CoreGaugeF64, HistogramF64 as CoreHistogramF64,
|
|
13
13
|
};
|
|
14
|
-
use
|
|
14
|
+
use temporalio_common::telemetry::metrics::{
|
|
15
15
|
MetricKeyValue as CoreMetricKeyValue, MetricValue as CoreMetricValue,
|
|
16
16
|
};
|
|
17
17
|
|
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,14 +59,17 @@ 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
|
-
telemetry_options
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
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())
|
|
72
|
+
.context("Failed to initialize Core Runtime")?;
|
|
70
73
|
|
|
71
74
|
enter_sync!(core_runtime);
|
|
72
75
|
|
|
@@ -238,17 +241,14 @@ mod config {
|
|
|
238
241
|
use anyhow::Context as _;
|
|
239
242
|
|
|
240
243
|
use neon::prelude::*;
|
|
241
|
-
use
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
PrometheusExporterOptionsBuilder, TelemetryOptions as CoreTelemetryOptions,
|
|
248
|
-
TelemetryOptionsBuilder,
|
|
249
|
-
},
|
|
250
|
-
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,
|
|
251
250
|
};
|
|
251
|
+
use temporalio_sdk_core::{Url, telemetry::CoreLogStreamConsumer};
|
|
252
252
|
|
|
253
253
|
use bridge_macros::TryFromJs;
|
|
254
254
|
|
|
@@ -267,6 +267,7 @@ mod config {
|
|
|
267
267
|
log_exporter: LogExporterOptions,
|
|
268
268
|
telemetry: TelemetryOptions,
|
|
269
269
|
metrics_exporter: Option<MetricsExporterOptions>,
|
|
270
|
+
worker_heartbeat_interval_millis: Option<u64>,
|
|
270
271
|
}
|
|
271
272
|
|
|
272
273
|
#[derive(Debug, Clone, TryFromJs)]
|
|
@@ -323,6 +324,7 @@ mod config {
|
|
|
323
324
|
CoreTelemetryOptions,
|
|
324
325
|
Option<super::BridgeMetricsExporter>,
|
|
325
326
|
super::BridgeLogExporter,
|
|
327
|
+
Option<u64>,
|
|
326
328
|
)> for RuntimeOptions
|
|
327
329
|
{
|
|
328
330
|
type Error = BridgeError;
|
|
@@ -332,8 +334,16 @@ mod config {
|
|
|
332
334
|
CoreTelemetryOptions,
|
|
333
335
|
Option<super::BridgeMetricsExporter>,
|
|
334
336
|
super::BridgeLogExporter,
|
|
337
|
+
Option<u64>,
|
|
335
338
|
)> {
|
|
336
|
-
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 {
|
|
337
347
|
LogExporterOptions::Console { filter } => (
|
|
338
348
|
CoreTelemetryLogger::Console { filter },
|
|
339
349
|
BridgeLogExporter::Console,
|
|
@@ -353,17 +363,21 @@ mod config {
|
|
|
353
363
|
let mut telemetry_options = TelemetryOptionsBuilder::default();
|
|
354
364
|
let telemetry_options = telemetry_options
|
|
355
365
|
.logging(telemetry_logger)
|
|
356
|
-
.metric_prefix(
|
|
357
|
-
.attach_service_name(
|
|
366
|
+
.metric_prefix(telemetry.metric_prefix)
|
|
367
|
+
.attach_service_name(telemetry.attach_service_name)
|
|
358
368
|
.build()
|
|
359
369
|
.context("Failed to build telemetry options")?;
|
|
360
370
|
|
|
361
|
-
let metrics_exporter =
|
|
362
|
-
.metrics_exporter
|
|
371
|
+
let metrics_exporter = metrics_exporter
|
|
363
372
|
.map(std::convert::TryInto::try_into)
|
|
364
373
|
.transpose()?;
|
|
365
374
|
|
|
366
|
-
Ok((
|
|
375
|
+
Ok((
|
|
376
|
+
telemetry_options,
|
|
377
|
+
metrics_exporter,
|
|
378
|
+
log_exporter,
|
|
379
|
+
worker_heartbeat_interval_millis,
|
|
380
|
+
))
|
|
367
381
|
}
|
|
368
382
|
}
|
|
369
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
|
}
|
|
@@ -297,7 +302,7 @@ pub fn worker_complete_nexus_task(
|
|
|
297
302
|
.await
|
|
298
303
|
.map_err(|err| match err {
|
|
299
304
|
CompleteNexusError::NexusNotEnabled => {
|
|
300
|
-
BridgeError::UnexpectedError(
|
|
305
|
+
BridgeError::UnexpectedError(err.to_string())
|
|
301
306
|
}
|
|
302
307
|
CompleteNexusError::MalformedNexusCompletion { reason } => BridgeError::TypeError {
|
|
303
308
|
field: None,
|
|
@@ -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;
|
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 = {
|
|
@@ -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
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
|
}
|
|
@@ -213,7 +214,12 @@ export interface WorkerOptions {
|
|
|
213
214
|
workflowTaskPollerBehavior: PollerBehavior;
|
|
214
215
|
activityTaskPollerBehavior: PollerBehavior;
|
|
215
216
|
nexusTaskPollerBehavior: PollerBehavior;
|
|
216
|
-
|
|
217
|
+
taskTypes: {
|
|
218
|
+
enableWorkflows: boolean;
|
|
219
|
+
enableLocalActivities: boolean;
|
|
220
|
+
enableRemoteActivities: boolean;
|
|
221
|
+
enableNexus: boolean;
|
|
222
|
+
};
|
|
217
223
|
stickyQueueScheduleToStartTimeout: number;
|
|
218
224
|
maxCachedWorkflows: number;
|
|
219
225
|
maxHeartbeatThrottleInterval: number;
|
|
@@ -221,6 +227,7 @@ export interface WorkerOptions {
|
|
|
221
227
|
maxTaskQueueActivitiesPerSecond: Option<number>;
|
|
222
228
|
maxActivitiesPerSecond: Option<number>;
|
|
223
229
|
shutdownGraceTime: number;
|
|
230
|
+
plugins: string[];
|
|
224
231
|
}
|
|
225
232
|
|
|
226
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.
|