@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
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
[package]
|
|
2
|
-
name = "
|
|
2
|
+
name = "temporalio-sdk-core-c-bridge"
|
|
3
3
|
version = "0.1.0"
|
|
4
4
|
edition = "2024"
|
|
5
|
+
authors = ["Spencer Judge <spencer@temporal.io>"]
|
|
6
|
+
license-file = { workspace = true }
|
|
7
|
+
description = "C bridge for Temporal Core SDK"
|
|
8
|
+
homepage = "https://temporal.io/"
|
|
9
|
+
repository = "https://github.com/temporalio/sdk-core"
|
|
5
10
|
|
|
6
11
|
[lib]
|
|
7
|
-
name = "
|
|
12
|
+
name = "temporalio_sdk_core_c_bridge"
|
|
8
13
|
crate-type = ["cdylib"]
|
|
9
14
|
|
|
10
15
|
[dependencies]
|
|
@@ -31,20 +36,17 @@ url = "2.5"
|
|
|
31
36
|
# This is only needed as an explicit dependency so we can enable static as a feature
|
|
32
37
|
xz2 = { version = "0.1" }
|
|
33
38
|
|
|
34
|
-
[dependencies.
|
|
39
|
+
[dependencies.temporalio-client]
|
|
35
40
|
path = "../client"
|
|
36
41
|
|
|
37
|
-
[dependencies.
|
|
38
|
-
path = "../core"
|
|
42
|
+
[dependencies.temporalio-sdk-core]
|
|
43
|
+
path = "../sdk-core"
|
|
39
44
|
features = ["ephemeral-server"]
|
|
40
45
|
|
|
41
|
-
[dependencies.
|
|
42
|
-
path = "../
|
|
46
|
+
[dependencies.temporalio-common]
|
|
47
|
+
path = "../common"
|
|
43
48
|
features = ["envconfig"]
|
|
44
49
|
|
|
45
|
-
[dependencies.temporal-sdk-core-protos]
|
|
46
|
-
path = "../sdk-core-protos"
|
|
47
|
-
|
|
48
50
|
[dev-dependencies]
|
|
49
51
|
futures-util = "0.3"
|
|
50
52
|
thiserror = { workspace = true }
|
|
@@ -53,4 +55,5 @@ thiserror = { workspace = true }
|
|
|
53
55
|
cbindgen = { version = "0.29", default-features = false }
|
|
54
56
|
|
|
55
57
|
[features]
|
|
58
|
+
antithesis_assertions = ["temporalio-sdk-core/antithesis_assertions"]
|
|
56
59
|
xz2-static = ["xz2/static"]
|
package/sdk-core/{core-c-bridge → crates/sdk-core-c-bridge}/include/temporal-sdk-core-c-bridge.h
RENAMED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
#include <stdint.h>
|
|
6
6
|
#include <stdlib.h>
|
|
7
7
|
|
|
8
|
-
typedef enum
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
8
|
+
typedef enum TemporalCoreRpcService {
|
|
9
|
+
Workflow = 1,
|
|
10
|
+
Operator,
|
|
11
|
+
Cloud,
|
|
12
|
+
Test,
|
|
13
|
+
Health,
|
|
14
|
+
} TemporalCoreRpcService;
|
|
15
15
|
|
|
16
16
|
typedef enum TemporalCoreMetricAttributeValueType {
|
|
17
17
|
String = 1,
|
|
@@ -29,6 +29,14 @@ typedef enum TemporalCoreMetricKind {
|
|
|
29
29
|
GaugeFloat,
|
|
30
30
|
} TemporalCoreMetricKind;
|
|
31
31
|
|
|
32
|
+
typedef enum TemporalCoreForwardedLogLevel {
|
|
33
|
+
Trace = 0,
|
|
34
|
+
Debug,
|
|
35
|
+
Info,
|
|
36
|
+
Warn,
|
|
37
|
+
Error,
|
|
38
|
+
} TemporalCoreForwardedLogLevel;
|
|
39
|
+
|
|
32
40
|
typedef enum TemporalCoreOpenTelemetryMetricTemporality {
|
|
33
41
|
Cumulative = 1,
|
|
34
42
|
Delta,
|
|
@@ -39,14 +47,6 @@ typedef enum TemporalCoreOpenTelemetryProtocol {
|
|
|
39
47
|
Http,
|
|
40
48
|
} TemporalCoreOpenTelemetryProtocol;
|
|
41
49
|
|
|
42
|
-
typedef enum TemporalCoreRpcService {
|
|
43
|
-
Workflow = 1,
|
|
44
|
-
Operator,
|
|
45
|
-
Cloud,
|
|
46
|
-
Test,
|
|
47
|
-
Health,
|
|
48
|
-
} TemporalCoreRpcService;
|
|
49
|
-
|
|
50
50
|
typedef enum TemporalCoreSlotKindType {
|
|
51
51
|
WorkflowSlotKindType,
|
|
52
52
|
ActivitySlotKindType,
|
|
@@ -93,7 +93,7 @@ typedef struct TemporalCoreByteArrayRef {
|
|
|
93
93
|
} TemporalCoreByteArrayRef;
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
|
-
* Metadata is
|
|
96
|
+
* Metadata is `<key1>\n<value1>\n<key2>\n<value2>`. Metadata keys or
|
|
97
97
|
* values cannot contain a newline within.
|
|
98
98
|
*/
|
|
99
99
|
typedef struct TemporalCoreByteArrayRef TemporalCoreMetadataRef;
|
|
@@ -193,7 +193,7 @@ typedef void (*TemporalCoreClientConnectCallback)(void *user_data,
|
|
|
193
193
|
*/
|
|
194
194
|
typedef struct TemporalCoreClientGrpcOverrideResponse {
|
|
195
195
|
/**
|
|
196
|
-
* Numeric gRPC status code, see https://grpc.io/docs/guides/status-codes
|
|
196
|
+
* Numeric gRPC status code, see <https://grpc.io/docs/guides/status-codes/>. 0 is success, non-0
|
|
197
197
|
* is failure.
|
|
198
198
|
*/
|
|
199
199
|
int32_t status_code;
|
|
@@ -343,7 +343,7 @@ typedef struct TemporalCoreOpenTelemetryOptions {
|
|
|
343
343
|
enum TemporalCoreOpenTelemetryProtocol protocol;
|
|
344
344
|
/**
|
|
345
345
|
* Histogram bucket overrides in form of
|
|
346
|
-
*
|
|
346
|
+
* `<metric1>\n<float>,<float>,<float>\n<metric2>\n<float>,<float>,<float>`
|
|
347
347
|
*/
|
|
348
348
|
TemporalCoreMetadataRef histogram_bucket_overrides;
|
|
349
349
|
} TemporalCoreOpenTelemetryOptions;
|
|
@@ -355,7 +355,7 @@ typedef struct TemporalCorePrometheusOptions {
|
|
|
355
355
|
bool durations_as_seconds;
|
|
356
356
|
/**
|
|
357
357
|
* Histogram bucket overrides in form of
|
|
358
|
-
*
|
|
358
|
+
* `<metric1>\n<float>,<float>,<float>\n<metric2>\n<float>,<float>,<float>`
|
|
359
359
|
*/
|
|
360
360
|
TemporalCoreMetadataRef histogram_bucket_overrides;
|
|
361
361
|
} TemporalCorePrometheusOptions;
|
|
@@ -446,6 +446,7 @@ typedef struct TemporalCoreTelemetryOptions {
|
|
|
446
446
|
|
|
447
447
|
typedef struct TemporalCoreRuntimeOptions {
|
|
448
448
|
const struct TemporalCoreTelemetryOptions *telemetry;
|
|
449
|
+
uint64_t worker_heartbeat_interval_millis;
|
|
449
450
|
} TemporalCoreRuntimeOptions;
|
|
450
451
|
|
|
451
452
|
typedef struct TemporalCoreTestServerOptions {
|
|
@@ -678,7 +679,7 @@ typedef struct TemporalCoreCustomSlotSupplierCallbacks {
|
|
|
678
679
|
*/
|
|
679
680
|
TemporalCoreCustomSlotSupplierTryReserveCallback try_reserve;
|
|
680
681
|
/**
|
|
681
|
-
* Called after successful reservation to mark slot as used. See [`SlotSupplier`](
|
|
682
|
+
* Called after successful reservation to mark slot as used. See [`SlotSupplier`](temporalio_common::worker::SlotSupplier)
|
|
682
683
|
* trait for details.
|
|
683
684
|
*/
|
|
684
685
|
TemporalCoreCustomSlotSupplierMarkUsedCallback mark_used;
|
|
@@ -737,6 +738,13 @@ typedef struct TemporalCoreTunerHolder {
|
|
|
737
738
|
struct TemporalCoreSlotSupplier nexus_task_slot_supplier;
|
|
738
739
|
} TemporalCoreTunerHolder;
|
|
739
740
|
|
|
741
|
+
typedef struct TemporalCoreWorkerTaskTypes {
|
|
742
|
+
bool enable_workflows;
|
|
743
|
+
bool enable_local_activities;
|
|
744
|
+
bool enable_remote_activities;
|
|
745
|
+
bool enable_nexus;
|
|
746
|
+
} TemporalCoreWorkerTaskTypes;
|
|
747
|
+
|
|
740
748
|
typedef struct TemporalCorePollerBehaviorSimpleMaximum {
|
|
741
749
|
uintptr_t simple_maximum;
|
|
742
750
|
} TemporalCorePollerBehaviorSimpleMaximum;
|
|
@@ -764,7 +772,7 @@ typedef struct TemporalCoreWorkerOptions {
|
|
|
764
772
|
struct TemporalCoreByteArrayRef identity_override;
|
|
765
773
|
uint32_t max_cached_workflows;
|
|
766
774
|
struct TemporalCoreTunerHolder tuner;
|
|
767
|
-
|
|
775
|
+
struct TemporalCoreWorkerTaskTypes task_types;
|
|
768
776
|
uint64_t sticky_queue_schedule_to_start_timeout_millis;
|
|
769
777
|
uint64_t max_heartbeat_throttle_interval_millis;
|
|
770
778
|
uint64_t default_heartbeat_throttle_interval_millis;
|
|
@@ -777,6 +785,7 @@ typedef struct TemporalCoreWorkerOptions {
|
|
|
777
785
|
struct TemporalCorePollerBehavior nexus_task_poller_behavior;
|
|
778
786
|
bool nondeterminism_as_workflow_fail;
|
|
779
787
|
struct TemporalCoreByteArrayRefArray nondeterminism_as_workflow_fail_for_types;
|
|
788
|
+
struct TemporalCoreByteArrayRefArray plugins;
|
|
780
789
|
} TemporalCoreWorkerOptions;
|
|
781
790
|
|
|
782
791
|
/**
|
|
@@ -985,8 +994,8 @@ void temporal_core_worker_validate(struct TemporalCoreWorker *worker,
|
|
|
985
994
|
void *user_data,
|
|
986
995
|
TemporalCoreWorkerCallback callback);
|
|
987
996
|
|
|
988
|
-
|
|
989
|
-
|
|
997
|
+
const struct TemporalCoreByteArray *temporal_core_worker_replace_client(struct TemporalCoreWorker *worker,
|
|
998
|
+
struct TemporalCoreClient *new_client);
|
|
990
999
|
|
|
991
1000
|
void temporal_core_worker_poll_workflow_activation(struct TemporalCoreWorker *worker,
|
|
992
1001
|
void *user_data,
|
|
@@ -13,11 +13,11 @@ use std::{
|
|
|
13
13
|
},
|
|
14
14
|
time::Duration,
|
|
15
15
|
};
|
|
16
|
-
use
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
OperatorService, RetryClient,
|
|
20
|
-
WorkflowService, callback_based,
|
|
16
|
+
use temporalio_client::{
|
|
17
|
+
ClientKeepAliveOptions as CoreClientKeepAliveOptions, ClientOptions as CoreClientOptions,
|
|
18
|
+
ClientTlsOptions as CoreClientTlsOptions, CloudService, ConfiguredClient, HealthService,
|
|
19
|
+
OperatorService, RetryClient, RetryOptions, TemporalServiceClient, TestService,
|
|
20
|
+
TlsOptions as CoreTlsOptions, WorkflowService, callback_based, proxy::HttpConnectProxyOptions,
|
|
21
21
|
};
|
|
22
22
|
use tokio::sync::oneshot;
|
|
23
23
|
use tonic::metadata::MetadataKey;
|
|
@@ -290,7 +290,7 @@ unsafe impl Sync for ClientGrpcOverrideRequest {}
|
|
|
290
290
|
/// inside here must live until that call returns.
|
|
291
291
|
#[repr(C)]
|
|
292
292
|
pub struct ClientGrpcOverrideResponse {
|
|
293
|
-
/// Numeric gRPC status code, see https://grpc.io/docs/guides/status-codes
|
|
293
|
+
/// Numeric gRPC status code, see <https://grpc.io/docs/guides/status-codes/>. 0 is success, non-0
|
|
294
294
|
/// is failure.
|
|
295
295
|
pub status_code: i32,
|
|
296
296
|
|
|
@@ -1058,6 +1058,17 @@ async fn call_cloud_service(client: &CoreClient, call: &RpcCallOptions) -> anyho
|
|
|
1058
1058
|
"DeleteConnectivityRule" => {
|
|
1059
1059
|
rpc_call_on_trait!(client, call, CloudService, delete_connectivity_rule)
|
|
1060
1060
|
}
|
|
1061
|
+
"SetServiceAccountNamespaceAccess" => {
|
|
1062
|
+
rpc_call_on_trait!(
|
|
1063
|
+
client,
|
|
1064
|
+
call,
|
|
1065
|
+
CloudService,
|
|
1066
|
+
set_service_account_namespace_access
|
|
1067
|
+
)
|
|
1068
|
+
}
|
|
1069
|
+
"ValidateAccountAuditLogSink" => {
|
|
1070
|
+
rpc_call_on_trait!(client, call, CloudService, validate_account_audit_log_sink)
|
|
1071
|
+
}
|
|
1061
1072
|
rpc => Err(anyhow::anyhow!("Unknown RPC call {rpc}")),
|
|
1062
1073
|
}
|
|
1063
1074
|
}
|
|
@@ -1122,45 +1133,57 @@ impl TryFrom<&ClientOptions> for CoreClientOptions {
|
|
|
1122
1133
|
type Error = anyhow::Error;
|
|
1123
1134
|
|
|
1124
1135
|
fn try_from(opts: &ClientOptions) -> anyhow::Result<Self> {
|
|
1125
|
-
let
|
|
1126
|
-
|
|
1136
|
+
let tls_cfg = unsafe { opts.tls_options.as_ref() }
|
|
1137
|
+
.map(|c| c.try_into())
|
|
1138
|
+
.transpose()?;
|
|
1139
|
+
|
|
1140
|
+
let keep_alive = unsafe { opts.keep_alive_options.as_ref() }.map(|ka| {
|
|
1141
|
+
let config: CoreClientKeepAliveOptions = ka.into();
|
|
1142
|
+
config
|
|
1143
|
+
});
|
|
1144
|
+
|
|
1145
|
+
let headers = if opts.metadata.size == 0 {
|
|
1146
|
+
None
|
|
1147
|
+
} else {
|
|
1148
|
+
Some(opts.metadata.to_string_map_on_newlines())
|
|
1149
|
+
};
|
|
1150
|
+
|
|
1151
|
+
let api_key = opts.api_key.to_option_string();
|
|
1152
|
+
|
|
1153
|
+
let http_connect_proxy =
|
|
1154
|
+
unsafe { opts.http_connect_proxy_options.as_ref() }.map(Into::into);
|
|
1155
|
+
|
|
1156
|
+
Ok(CoreClientOptions::builder()
|
|
1127
1157
|
.target_url(Url::parse(opts.target_url.to_str())?)
|
|
1128
1158
|
.client_name(opts.client_name.to_string())
|
|
1129
1159
|
.client_version(opts.client_version.to_string())
|
|
1130
1160
|
.identity(opts.identity.to_string())
|
|
1131
|
-
.
|
|
1132
|
-
unsafe { opts.retry_options.as_ref() }
|
|
1161
|
+
.retry_options(
|
|
1162
|
+
unsafe { opts.retry_options.as_ref() }
|
|
1163
|
+
.map_or(RetryOptions::default(), |c| c.into()),
|
|
1133
1164
|
)
|
|
1134
|
-
.keep_alive
|
|
1135
|
-
.headers
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
.api_key(opts.api_key.to_option_string())
|
|
1141
|
-
.http_connect_proxy(
|
|
1142
|
-
unsafe { opts.http_connect_proxy_options.as_ref() }.map(Into::into),
|
|
1143
|
-
);
|
|
1144
|
-
if let Some(tls_config) = unsafe { opts.tls_options.as_ref() } {
|
|
1145
|
-
opts_builder.tls_cfg(tls_config.try_into()?);
|
|
1146
|
-
}
|
|
1147
|
-
Ok(opts_builder.build()?)
|
|
1165
|
+
.maybe_keep_alive(keep_alive.map(Some))
|
|
1166
|
+
.maybe_headers(headers)
|
|
1167
|
+
.maybe_api_key(api_key)
|
|
1168
|
+
.maybe_http_connect_proxy(http_connect_proxy)
|
|
1169
|
+
.maybe_tls_options(tls_cfg)
|
|
1170
|
+
.build())
|
|
1148
1171
|
}
|
|
1149
1172
|
}
|
|
1150
1173
|
|
|
1151
|
-
impl TryFrom<&ClientTlsOptions> for
|
|
1174
|
+
impl TryFrom<&ClientTlsOptions> for CoreTlsOptions {
|
|
1152
1175
|
type Error = anyhow::Error;
|
|
1153
1176
|
|
|
1154
1177
|
fn try_from(opts: &ClientTlsOptions) -> anyhow::Result<Self> {
|
|
1155
|
-
Ok(
|
|
1178
|
+
Ok(CoreTlsOptions {
|
|
1156
1179
|
server_root_ca_cert: opts.server_root_ca_cert.to_option_vec(),
|
|
1157
1180
|
domain: opts.domain.to_option_string(),
|
|
1158
|
-
|
|
1181
|
+
client_tls_options: match (
|
|
1159
1182
|
opts.client_cert.to_option_vec(),
|
|
1160
1183
|
opts.client_private_key.to_option_vec(),
|
|
1161
1184
|
) {
|
|
1162
1185
|
(None, None) => None,
|
|
1163
|
-
(Some(client_cert), Some(client_private_key)) => Some(
|
|
1186
|
+
(Some(client_cert), Some(client_private_key)) => Some(CoreClientTlsOptions {
|
|
1164
1187
|
client_cert,
|
|
1165
1188
|
client_private_key,
|
|
1166
1189
|
}),
|
|
@@ -1174,9 +1197,9 @@ impl TryFrom<&ClientTlsOptions> for TlsConfig {
|
|
|
1174
1197
|
}
|
|
1175
1198
|
}
|
|
1176
1199
|
|
|
1177
|
-
impl From<&ClientRetryOptions> for
|
|
1200
|
+
impl From<&ClientRetryOptions> for RetryOptions {
|
|
1178
1201
|
fn from(opts: &ClientRetryOptions) -> Self {
|
|
1179
|
-
|
|
1202
|
+
RetryOptions {
|
|
1180
1203
|
initial_interval: Duration::from_millis(opts.initial_interval_millis),
|
|
1181
1204
|
randomization_factor: opts.randomization_factor,
|
|
1182
1205
|
multiplier: opts.multiplier,
|
|
@@ -1191,9 +1214,9 @@ impl From<&ClientRetryOptions> for RetryConfig {
|
|
|
1191
1214
|
}
|
|
1192
1215
|
}
|
|
1193
1216
|
|
|
1194
|
-
impl From<&ClientKeepAliveOptions> for
|
|
1217
|
+
impl From<&ClientKeepAliveOptions> for CoreClientKeepAliveOptions {
|
|
1195
1218
|
fn from(opts: &ClientKeepAliveOptions) -> Self {
|
|
1196
|
-
|
|
1219
|
+
CoreClientKeepAliveOptions {
|
|
1197
1220
|
interval: Duration::from_millis(opts.interval_millis),
|
|
1198
1221
|
timeout: Duration::from_millis(opts.timeout_millis),
|
|
1199
1222
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
use crate::{ByteArray, ByteArrayRef};
|
|
2
2
|
use serde::Serialize;
|
|
3
3
|
use std::collections::HashMap;
|
|
4
|
-
use
|
|
4
|
+
use temporalio_common::envconfig::{
|
|
5
5
|
self, ClientConfig as CoreClientConfig, ClientConfigCodec as CoreClientConfigCodec,
|
|
6
6
|
ClientConfigProfile as CoreClientConfigProfile, ClientConfigTLS as CoreClientConfigTLS,
|
|
7
7
|
DataSource as CoreDataSource, LoadClientConfigOptions, LoadClientConfigProfileOptions,
|
|
@@ -144,7 +144,7 @@ impl ByteArrayRefArray {
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
/// Metadata is
|
|
147
|
+
/// Metadata is `<key1>\n<value1>\n<key2>\n<value2>`. Metadata keys or
|
|
148
148
|
/// values cannot contain a newline within.
|
|
149
149
|
pub type MetadataRef = ByteArrayRef;
|
|
150
150
|
|
|
@@ -15,21 +15,23 @@ use std::{
|
|
|
15
15
|
},
|
|
16
16
|
time::{Duration, UNIX_EPOCH},
|
|
17
17
|
};
|
|
18
|
-
use
|
|
19
|
-
CoreRuntime, TokioRuntimeBuilder,
|
|
20
|
-
telemetry::{build_otlp_metric_exporter, start_prometheus_metric_exporter},
|
|
21
|
-
};
|
|
22
|
-
use temporal_sdk_core_api::telemetry::{
|
|
18
|
+
use temporalio_common::telemetry::{
|
|
23
19
|
CoreLog, CoreLogConsumer, HistogramBucketOverrides, Logger, MetricTemporality,
|
|
24
20
|
OtelCollectorOptionsBuilder, PrometheusExporterOptionsBuilder,
|
|
25
21
|
TelemetryOptions as CoreTelemetryOptions, TelemetryOptionsBuilder, metrics::CoreMeter,
|
|
26
22
|
};
|
|
23
|
+
use temporalio_sdk_core::{
|
|
24
|
+
CoreRuntime, RuntimeOptions as CoreRuntimeOptions,
|
|
25
|
+
RuntimeOptionsBuilder as CoreRuntimeOptionsBuilder, TokioRuntimeBuilder,
|
|
26
|
+
telemetry::{build_otlp_metric_exporter, start_prometheus_metric_exporter},
|
|
27
|
+
};
|
|
27
28
|
use tracing::Level;
|
|
28
29
|
use url::Url;
|
|
29
30
|
|
|
30
31
|
#[repr(C)]
|
|
31
32
|
pub struct RuntimeOptions {
|
|
32
33
|
pub telemetry: *const TelemetryOptions,
|
|
34
|
+
pub worker_heartbeat_interval_millis: u64,
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
#[repr(C)]
|
|
@@ -87,7 +89,7 @@ pub struct OpenTelemetryOptions {
|
|
|
87
89
|
pub durations_as_seconds: bool,
|
|
88
90
|
pub protocol: OpenTelemetryProtocol,
|
|
89
91
|
/// Histogram bucket overrides in form of
|
|
90
|
-
///
|
|
92
|
+
/// `<metric1>\n<float>,<float>,<float>\n<metric2>\n<float>,<float>,<float>`
|
|
91
93
|
pub histogram_bucket_overrides: MetadataRef,
|
|
92
94
|
}
|
|
93
95
|
|
|
@@ -110,7 +112,7 @@ pub struct PrometheusOptions {
|
|
|
110
112
|
pub unit_suffix: bool,
|
|
111
113
|
pub durations_as_seconds: bool,
|
|
112
114
|
/// Histogram bucket overrides in form of
|
|
113
|
-
///
|
|
115
|
+
/// `<metric1>\n<float>,<float>,<float>\n<metric2>\n<float>,<float>,<float>`
|
|
114
116
|
pub histogram_bucket_overrides: MetadataRef,
|
|
115
117
|
}
|
|
116
118
|
|
|
@@ -142,7 +144,7 @@ pub extern "C" fn temporal_core_runtime_new(options: *const RuntimeOptions) -> R
|
|
|
142
144
|
let mut runtime = Runtime {
|
|
143
145
|
core: Arc::new(
|
|
144
146
|
CoreRuntime::new(
|
|
145
|
-
|
|
147
|
+
CoreRuntimeOptions::default(),
|
|
146
148
|
TokioRuntimeBuilder::default(),
|
|
147
149
|
)
|
|
148
150
|
.unwrap(),
|
|
@@ -238,8 +240,21 @@ impl Runtime {
|
|
|
238
240
|
CoreTelemetryOptions::default()
|
|
239
241
|
};
|
|
240
242
|
|
|
243
|
+
let heartbeat_interval = if options.worker_heartbeat_interval_millis == 0 {
|
|
244
|
+
None
|
|
245
|
+
} else {
|
|
246
|
+
Some(Duration::from_millis(
|
|
247
|
+
options.worker_heartbeat_interval_millis,
|
|
248
|
+
))
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
let core_runtime_options = CoreRuntimeOptionsBuilder::default()
|
|
252
|
+
.telemetry_options(telemetry_options)
|
|
253
|
+
.heartbeat_interval(heartbeat_interval)
|
|
254
|
+
.build()?;
|
|
255
|
+
|
|
241
256
|
// Build core runtime
|
|
242
|
-
let mut core = CoreRuntime::new(
|
|
257
|
+
let mut core = CoreRuntime::new(core_runtime_options, TokioRuntimeBuilder::default())?;
|
|
243
258
|
|
|
244
259
|
// We late-bind the metrics after core runtime is created since it needs
|
|
245
260
|
// the Tokio handle
|
|
@@ -29,8 +29,8 @@ use std::{
|
|
|
29
29
|
sync::{Arc, Condvar, Mutex, MutexGuard, PoisonError, Weak},
|
|
30
30
|
time::Duration,
|
|
31
31
|
};
|
|
32
|
-
use
|
|
33
|
-
use
|
|
32
|
+
use temporalio_client::ClientOptions;
|
|
33
|
+
use temporalio_sdk_core::ephemeral_server::{
|
|
34
34
|
EphemeralExe, EphemeralExeVersion, TemporalDevServerConfig,
|
|
35
35
|
};
|
|
36
36
|
|
|
@@ -153,6 +153,7 @@ impl Context {
|
|
|
153
153
|
|
|
154
154
|
let RuntimeOrFail { runtime, fail } = temporal_core_runtime_new(&RuntimeOptions {
|
|
155
155
|
telemetry: std::ptr::null(),
|
|
156
|
+
worker_heartbeat_interval_millis: 0,
|
|
156
157
|
});
|
|
157
158
|
|
|
158
159
|
if let Some(fail) = byte_array_to_string(runtime, fail) {
|
|
@@ -293,8 +294,8 @@ impl Context {
|
|
|
293
294
|
.as_ref()
|
|
294
295
|
.map(MetadataMap::serialize_from_map);
|
|
295
296
|
|
|
296
|
-
let tls_options = options.
|
|
297
|
-
let client_tls_cfg = tls_cfg.
|
|
297
|
+
let tls_options = options.tls_options.as_ref().map(|tls_cfg| {
|
|
298
|
+
let client_tls_cfg = tls_cfg.client_tls_options.as_ref();
|
|
298
299
|
Box::new(ClientTlsOptions {
|
|
299
300
|
server_root_ca_cert: tls_cfg.server_root_ca_cert.as_deref().into(),
|
|
300
301
|
domain: tls_cfg.domain.as_deref().into(),
|
|
@@ -306,17 +307,17 @@ impl Context {
|
|
|
306
307
|
});
|
|
307
308
|
|
|
308
309
|
let retry_options = Box::new(ClientRetryOptions {
|
|
309
|
-
initial_interval_millis: options.
|
|
310
|
-
randomization_factor: options.
|
|
311
|
-
multiplier: options.
|
|
312
|
-
max_interval_millis: options.
|
|
310
|
+
initial_interval_millis: options.retry_options.initial_interval.as_millis() as u64,
|
|
311
|
+
randomization_factor: options.retry_options.randomization_factor,
|
|
312
|
+
multiplier: options.retry_options.multiplier,
|
|
313
|
+
max_interval_millis: options.retry_options.max_interval.as_millis() as u64,
|
|
313
314
|
max_elapsed_time_millis: options
|
|
314
|
-
.
|
|
315
|
+
.retry_options
|
|
315
316
|
.max_elapsed_time
|
|
316
317
|
.as_ref()
|
|
317
318
|
.map(Duration::as_millis)
|
|
318
319
|
.unwrap_or(0) as u64,
|
|
319
|
-
max_retries: options.
|
|
320
|
+
max_retries: options.retry_options.max_retries,
|
|
320
321
|
});
|
|
321
322
|
|
|
322
323
|
let keep_alive_options = options.keep_alive.as_ref().map(|keep_alive| {
|
|
@@ -15,7 +15,7 @@ use crate::{
|
|
|
15
15
|
use context::Context;
|
|
16
16
|
use prost::Message;
|
|
17
17
|
use std::sync::{Arc, LazyLock, Mutex};
|
|
18
|
-
use
|
|
18
|
+
use temporalio_common::protos::temporal::api::{
|
|
19
19
|
failure::v1::Failure,
|
|
20
20
|
workflowservice::v1::{
|
|
21
21
|
GetSystemInfoRequest, GetSystemInfoResponse, QueryWorkflowRequest,
|
|
@@ -155,7 +155,7 @@ fn test_all_rpc_calls_exist() {
|
|
|
155
155
|
context,
|
|
156
156
|
RpcService::Workflow,
|
|
157
157
|
include_str!(
|
|
158
|
-
"../../../
|
|
158
|
+
"../../../common/protos/api_upstream/temporal/api/workflowservice/v1/service.proto"
|
|
159
159
|
),
|
|
160
160
|
));
|
|
161
161
|
|
|
@@ -163,7 +163,7 @@ fn test_all_rpc_calls_exist() {
|
|
|
163
163
|
context,
|
|
164
164
|
RpcService::Operator,
|
|
165
165
|
include_str!(
|
|
166
|
-
"../../../
|
|
166
|
+
"../../../common/protos/api_upstream/temporal/api/operatorservice/v1/service.proto"
|
|
167
167
|
),
|
|
168
168
|
));
|
|
169
169
|
|
|
@@ -171,7 +171,7 @@ fn test_all_rpc_calls_exist() {
|
|
|
171
171
|
context,
|
|
172
172
|
RpcService::Cloud,
|
|
173
173
|
include_str!(
|
|
174
|
-
"../../../
|
|
174
|
+
"../../../common/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto"
|
|
175
175
|
),
|
|
176
176
|
));
|
|
177
177
|
|
|
@@ -179,14 +179,14 @@ fn test_all_rpc_calls_exist() {
|
|
|
179
179
|
context,
|
|
180
180
|
RpcService::Test,
|
|
181
181
|
include_str!(
|
|
182
|
-
"../../../
|
|
182
|
+
"../../../common/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto"
|
|
183
183
|
),
|
|
184
184
|
));
|
|
185
185
|
|
|
186
186
|
assert!(all_rpc_calls_exist(
|
|
187
187
|
context,
|
|
188
188
|
RpcService::Health,
|
|
189
|
-
include_str!("../../../
|
|
189
|
+
include_str!("../../../common/protos/grpc/health/v1/health.proto"),
|
|
190
190
|
));
|
|
191
191
|
});
|
|
192
192
|
}
|
|
@@ -320,7 +320,7 @@ fn test_simple_callback_override() {
|
|
|
320
320
|
assert_eq!(start_resp.run_id, "run-id for my-workflow-id");
|
|
321
321
|
|
|
322
322
|
// Try a query where a query failure will actually be delivered as failure details.
|
|
323
|
-
// However, we don't currently have
|
|
323
|
+
// However, we don't currently have temporalio_common::protos::google::rpc::Status in
|
|
324
324
|
// the crate, so we'll just use the details directly even though a proper gRPC
|
|
325
325
|
// implementation will only provide a google.rpc.Status proto.
|
|
326
326
|
let query_err = context
|
|
@@ -4,8 +4,8 @@ use crate::{
|
|
|
4
4
|
runtime::{Runtime, temporal_core_byte_array_free},
|
|
5
5
|
};
|
|
6
6
|
use std::{collections::HashMap, ops::Deref};
|
|
7
|
-
use
|
|
8
|
-
use
|
|
7
|
+
use temporalio_client::ClientOptions;
|
|
8
|
+
use temporalio_sdk_core::ephemeral_server::{
|
|
9
9
|
TemporalDevServerConfig, TemporalDevServerConfigBuilder, default_cached_download,
|
|
10
10
|
};
|
|
11
11
|
use url::Url;
|
|
@@ -38,12 +38,11 @@ pub fn default_server_config() -> TemporalDevServerConfig {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
pub fn default_client_options(target: &str) -> ClientOptions {
|
|
41
|
-
|
|
41
|
+
ClientOptions::builder()
|
|
42
42
|
.target_url(Url::parse(&format!("http://{target}")).unwrap())
|
|
43
43
|
.client_name("core-c-bridge-tests".to_owned())
|
|
44
44
|
.client_version("0.1.0".to_owned())
|
|
45
45
|
.build()
|
|
46
|
-
.unwrap()
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
pub struct OwnedRpcCallOptions {
|