temporalio 1.5.0 → 1.6.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.
- checksums.yaml +4 -4
- data/Cargo.lock +1461 -621
- data/Cargo.toml +1 -1
- data/Gemfile +6 -5
- data/README.md +42 -1
- data/ext/Cargo.toml +9 -3
- data/lib/temporalio/api/activity/v1/message.rb +1 -1
- data/lib/temporalio/api/cloud/billing/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +17 -1
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +1 -1
- data/lib/temporalio/api/cloud/connectivityrule/v1/message.rb +1 -1
- data/lib/temporalio/api/cloud/identity/v1/message.rb +8 -1
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +5 -1
- data/lib/temporalio/api/command/v1/message.rb +2 -1
- data/lib/temporalio/api/common/v1/message.rb +5 -1
- data/lib/temporalio/api/deployment/v1/message.rb +3 -1
- data/lib/temporalio/api/history/v1/message.rb +3 -1
- data/lib/temporalio/api/namespace/v1/message.rb +1 -1
- data/lib/temporalio/api/nexus/v1/message.rb +1 -1
- data/lib/temporalio/api/nexusannotations/v1/options.rb +20 -0
- data/lib/temporalio/api/payload_visitor.rb +32 -0
- data/lib/temporalio/api/schedule/v1/message.rb +1 -1
- data/lib/temporalio/api/sdk/v1/event_group_marker.rb +26 -0
- data/lib/temporalio/api/update/v1/message.rb +1 -1
- data/lib/temporalio/api/workflow/v1/message.rb +3 -2
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +11 -1
- data/lib/temporalio/api/workflowservice/v1/service.rb +3 -2
- data/lib/temporalio/client/connection/cloud_service.rb +120 -0
- data/lib/temporalio/client/connection/workflow_service.rb +75 -0
- data/lib/temporalio/client/connection.rb +37 -2
- data/lib/temporalio/client.rb +10 -5
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +1 -1
- data/lib/temporalio/internal/bridge/client.rb +6 -1
- data/lib/temporalio/internal/bridge.rb +20 -0
- data/lib/temporalio/internal/google_protobuf.rb +11 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +2 -0
- data/lib/temporalio/internal/worker/workflow_instance/details.rb +3 -1
- data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +73 -2
- data/lib/temporalio/internal/worker/workflow_instance.rb +36 -6
- data/lib/temporalio/internal/worker/workflow_worker.rb +10 -2
- data/lib/temporalio/internal/workflow_task_failure_error.rb +9 -0
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/worker/activity_executor/fiber.rb +1 -1
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +1 -1
- data/lib/temporalio/worker/illegal_workflow_call_validator.rb +3 -1
- data/lib/temporalio/worker/workflow_executor/thread_pool.rb +5 -1
- data/lib/temporalio/worker/workflow_replayer.rb +17 -4
- data/lib/temporalio/worker.rb +30 -5
- data/lib/temporalio/workflow/future.rb +5 -0
- data/lib/temporalio/workflow/nexus_operation_cancellation_type.rb +4 -2
- data/lib/temporalio/workflow.rb +8 -0
- data/rbi/google/protobuf.rbi +25 -0
- data/rbi/temporalio/activity/cancellation_details.rbi +33 -0
- data/rbi/temporalio/activity/complete_async_error.rbi +3 -0
- data/rbi/temporalio/activity/context.rbi +42 -0
- data/rbi/temporalio/activity/definition.rbi +74 -0
- data/rbi/temporalio/activity/info.rbi +112 -0
- data/rbi/temporalio/activity.rbi +3 -0
- data/rbi/temporalio/api/activity/v1/message.rbi +1453 -0
- data/rbi/temporalio/api/batch/v1/message.rbi +1283 -0
- data/rbi/temporalio/api/callback/v1/message.rbi +188 -0
- data/rbi/temporalio/api/cloud/account/v1/message.rbi +650 -0
- data/rbi/temporalio/api/cloud/auditlog/v1/message.rbi +318 -0
- data/rbi/temporalio/api/cloud/billing/v1/message.rbi +480 -0
- data/rbi/temporalio/api/cloud/cloudservice/v1/request_response.rbi +12454 -0
- data/rbi/temporalio/api/cloud/cloudservice/v1/service.rbi +3 -0
- data/rbi/temporalio/api/cloud/cloudservice/v1/service_services.rbi +709 -0
- data/rbi/temporalio/api/cloud/cloudservice.rbi +5 -0
- data/rbi/temporalio/api/cloud/connectivityrule/v1/message.rbi +403 -0
- data/rbi/temporalio/api/cloud/identity/v1/message.rbi +3072 -0
- data/rbi/temporalio/api/cloud/namespace/v1/message.rbi +3659 -0
- data/rbi/temporalio/api/cloud/nexus/v1/message.rbi +595 -0
- data/rbi/temporalio/api/cloud/operation/v1/message.rbi +244 -0
- data/rbi/temporalio/api/cloud/region/v1/message.rbi +166 -0
- data/rbi/temporalio/api/cloud/resource/v1/message.rbi +29 -0
- data/rbi/temporalio/api/cloud/sink/v1/message.rbi +438 -0
- data/rbi/temporalio/api/cloud/usage/v1/message.rbi +409 -0
- data/rbi/temporalio/api/command/v1/message.rbi +2655 -0
- data/rbi/temporalio/api/common/v1/grpc_status.rbi +92 -0
- data/rbi/temporalio/api/common/v1/message.rbi +2983 -0
- data/rbi/temporalio/api/compute/v1/config.rbi +421 -0
- data/rbi/temporalio/api/compute/v1/provider.rbi +125 -0
- data/rbi/temporalio/api/compute/v1/scaler.rbi +102 -0
- data/rbi/temporalio/api/deployment/v1/message.rbi +2340 -0
- data/rbi/temporalio/api/enums/v1/activity.rbi +62 -0
- data/rbi/temporalio/api/enums/v1/batch_operation.rbi +47 -0
- data/rbi/temporalio/api/enums/v1/command_type.rbi +36 -0
- data/rbi/temporalio/api/enums/v1/common.rbi +181 -0
- data/rbi/temporalio/api/enums/v1/deployment.rbi +80 -0
- data/rbi/temporalio/api/enums/v1/event_type.rbi +79 -0
- data/rbi/temporalio/api/enums/v1/failed_cause.rbi +155 -0
- data/rbi/temporalio/api/enums/v1/namespace.rbi +58 -0
- data/rbi/temporalio/api/enums/v1/nexus.rbi +98 -0
- data/rbi/temporalio/api/enums/v1/query.rbi +40 -0
- data/rbi/temporalio/api/enums/v1/reset.rbi +60 -0
- data/rbi/temporalio/api/enums/v1/schedule.rbi +25 -0
- data/rbi/temporalio/api/enums/v1/task_queue.rbi +134 -0
- data/rbi/temporalio/api/enums/v1/update.rbi +39 -0
- data/rbi/temporalio/api/enums/v1/workflow.rbi +259 -0
- data/rbi/temporalio/api/errordetails/v1/message.rbi +1389 -0
- data/rbi/temporalio/api/export/v1/message.rbi +123 -0
- data/rbi/temporalio/api/failure/v1/message.rbi +1303 -0
- data/rbi/temporalio/api/filter/v1/message.rbi +267 -0
- data/rbi/temporalio/api/history/v1/message.rbi +10737 -0
- data/rbi/temporalio/api/namespace/v1/message.rbi +1044 -0
- data/rbi/temporalio/api/nexus/v1/message.rbi +2780 -0
- data/rbi/temporalio/api/nexusannotations/v1/options.rbi +161 -0
- data/rbi/temporalio/api/nexusservices/workerservice/v1/request_response.rbi +124 -0
- data/rbi/temporalio/api/operatorservice/v1/request_response.rbi +1836 -0
- data/rbi/temporalio/api/operatorservice/v1/service.rbi +3 -0
- data/rbi/temporalio/api/operatorservice/v1/service_services.rbi +143 -0
- data/rbi/temporalio/api/operatorservice.rbi +5 -0
- data/rbi/temporalio/api/payload_visitor.rbi +876 -0
- data/rbi/temporalio/api/protoc_gen_openapiv2/options/annotations.rbi +3 -0
- data/rbi/temporalio/api/protoc_gen_openapiv2/options/openapiv2.rbi +3482 -0
- data/rbi/temporalio/api/protocol/v1/message.rbi +139 -0
- data/rbi/temporalio/api/protometa/v1/annotations.rbi +97 -0
- data/rbi/temporalio/api/query/v1/message.rbi +288 -0
- data/rbi/temporalio/api/replication/v1/message.rbi +226 -0
- data/rbi/temporalio/api/rules/v1/message.rbi +492 -0
- data/rbi/temporalio/api/schedule/v1/message.rbi +2377 -0
- data/rbi/temporalio/api/sdk/v1/enhanced_stack_trace.rbi +478 -0
- data/rbi/temporalio/api/sdk/v1/event_group_marker.rbi +337 -0
- data/rbi/temporalio/api/sdk/v1/external_storage.rbi +85 -0
- data/rbi/temporalio/api/sdk/v1/task_complete_metadata.rbi +206 -0
- data/rbi/temporalio/api/sdk/v1/user_metadata.rbi +98 -0
- data/rbi/temporalio/api/sdk/v1/worker_config.rbi +255 -0
- data/rbi/temporalio/api/sdk/v1/workflow_metadata.rbi +297 -0
- data/rbi/temporalio/api/taskqueue/v1/message.rbi +2460 -0
- data/rbi/temporalio/api/testservice/v1/request_response.rbi +380 -0
- data/rbi/temporalio/api/testservice/v1/service.rbi +3 -0
- data/rbi/temporalio/api/testservice/v1/service_services.rbi +100 -0
- data/rbi/temporalio/api/update/v1/message.rbi +800 -0
- data/rbi/temporalio/api/version/v1/message.rbi +281 -0
- data/rbi/temporalio/api/worker/v1/message.rbi +1565 -0
- data/rbi/temporalio/api/workflow/v1/message.rbi +5011 -0
- data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +30477 -0
- data/rbi/temporalio/api/workflowservice/v1/service.rbi +3 -0
- data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +1571 -0
- data/rbi/temporalio/api/workflowservice.rbi +5 -0
- data/rbi/temporalio/api.rbi +7 -0
- data/rbi/temporalio/cancellation.rbi +40 -0
- data/rbi/temporalio/client/activity_execution.rbi +134 -0
- data/rbi/temporalio/client/activity_execution_count.rbi +23 -0
- data/rbi/temporalio/client/activity_execution_status.rbi +11 -0
- data/rbi/temporalio/client/activity_handle.rbi +49 -0
- data/rbi/temporalio/client/activity_id_reference.rbi +24 -0
- data/rbi/temporalio/client/async_activity_handle.rbi +49 -0
- data/rbi/temporalio/client/connection/cloud_service.rbi +239 -0
- data/rbi/temporalio/client/connection/operator_service.rbi +47 -0
- data/rbi/temporalio/client/connection/service.rbi +19 -0
- data/rbi/temporalio/client/connection/test_service.rbi +29 -0
- data/rbi/temporalio/client/connection/workflow_service.rbi +377 -0
- data/rbi/temporalio/client/connection.rbi +284 -0
- data/rbi/temporalio/client/interceptor.rbi +1067 -0
- data/rbi/temporalio/client/pending_activity_state.rbi +9 -0
- data/rbi/temporalio/client/plugin.rbi +17 -0
- data/rbi/temporalio/client/schedule.rbi +677 -0
- data/rbi/temporalio/client/schedule_handle.rbi +40 -0
- data/rbi/temporalio/client/with_start_workflow_operation.rbi +126 -0
- data/rbi/temporalio/client/workflow_execution.rbi +62 -0
- data/rbi/temporalio/client/workflow_execution_count.rbi +23 -0
- data/rbi/temporalio/client/workflow_execution_status.rbi +11 -0
- data/rbi/temporalio/client/workflow_handle.rbi +148 -0
- data/rbi/temporalio/client/workflow_query_reject_condition.rbi +7 -0
- data/rbi/temporalio/client/workflow_update_handle.rbi +38 -0
- data/rbi/temporalio/client/workflow_update_wait_stage.rbi +7 -0
- data/rbi/temporalio/client.rbi +534 -0
- data/rbi/temporalio/common_enums.rbi +45 -0
- data/rbi/temporalio/contrib/open_telemetry.rbi +73 -0
- data/rbi/temporalio/converters/data_converter.rbi +44 -0
- data/rbi/temporalio/converters/failure_converter.rbi +20 -0
- data/rbi/temporalio/converters/payload_codec.rbi +11 -0
- data/rbi/temporalio/converters/payload_converter/binary_null.rbi +5 -0
- data/rbi/temporalio/converters/payload_converter/binary_plain.rbi +5 -0
- data/rbi/temporalio/converters/payload_converter/binary_protobuf.rbi +5 -0
- data/rbi/temporalio/converters/payload_converter/composite.rbi +20 -0
- data/rbi/temporalio/converters/payload_converter/encoding.rbi +14 -0
- data/rbi/temporalio/converters/payload_converter/json_plain.rbi +10 -0
- data/rbi/temporalio/converters/payload_converter/json_protobuf.rbi +5 -0
- data/rbi/temporalio/converters/payload_converter.rbi +28 -0
- data/rbi/temporalio/converters/raw_value.rbi +11 -0
- data/rbi/temporalio/converters.rbi +3 -0
- data/rbi/temporalio/env_config.rbi +156 -0
- data/rbi/temporalio/error/failure.rbi +3 -0
- data/rbi/temporalio/error.rbi +313 -0
- data/rbi/temporalio/internal/bridge/api/activity_result/activity_result.rbi +547 -0
- data/rbi/temporalio/internal/bridge/api/activity_task/activity_task.rbi +705 -0
- data/rbi/temporalio/internal/bridge/api/child_workflow/child_workflow.rbi +332 -0
- data/rbi/temporalio/internal/bridge/api/common/common.rbi +191 -0
- data/rbi/temporalio/internal/bridge/api/core_interface.rbi +567 -0
- data/rbi/temporalio/internal/bridge/api/external_data/external_data.rbi +255 -0
- data/rbi/temporalio/internal/bridge/api/nexus/nexus.rbi +527 -0
- data/rbi/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbi +2808 -0
- data/rbi/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbi +3309 -0
- data/rbi/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbi +272 -0
- data/rbi/temporalio/internal/bridge/api.rbi +3 -0
- data/rbi/temporalio/internal/bridge/client.rbi +346 -0
- data/rbi/temporalio/internal/bridge/runtime.rbi +231 -0
- data/rbi/temporalio/internal/bridge/testing.rbi +109 -0
- data/rbi/temporalio/internal/bridge/worker.rbi +250 -0
- data/rbi/temporalio/internal/bridge.rbi +47 -0
- data/rbi/temporalio/internal/client/implementation.rbi +53 -0
- data/rbi/temporalio/internal/google_protobuf.rbi +8 -0
- data/rbi/temporalio/internal/metric.rbi +55 -0
- data/rbi/temporalio/internal/proto_utils.rbi +148 -0
- data/rbi/temporalio/internal/worker/activity_worker.rbi +108 -0
- data/rbi/temporalio/internal/worker/multi_runner.rbi +175 -0
- data/rbi/temporalio/internal/worker/workflow_instance/child_workflow_handle.rbi +20 -0
- data/rbi/temporalio/internal/worker/workflow_instance/context.rbi +290 -0
- data/rbi/temporalio/internal/worker/workflow_instance/details.rbi +87 -0
- data/rbi/temporalio/internal/worker/workflow_instance/external_workflow_handle.rbi +14 -0
- data/rbi/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rbi +17 -0
- data/rbi/temporalio/internal/worker/workflow_instance/handler_execution.rbi +17 -0
- data/rbi/temporalio/internal/worker/workflow_instance/handler_hash.rbi +24 -0
- data/rbi/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rbi +17 -0
- data/rbi/temporalio/internal/worker/workflow_instance/inbound_implementation.rbi +21 -0
- data/rbi/temporalio/internal/worker/workflow_instance/nexus_client.rbi +47 -0
- data/rbi/temporalio/internal/worker/workflow_instance/nexus_operation_handle.rbi +19 -0
- data/rbi/temporalio/internal/worker/workflow_instance/outbound_implementation.rbi +43 -0
- data/rbi/temporalio/internal/worker/workflow_instance/replay_safe_logger.rbi +11 -0
- data/rbi/temporalio/internal/worker/workflow_instance/replay_safe_metric.rbi +15 -0
- data/rbi/temporalio/internal/worker/workflow_instance/scheduler.rbi +36 -0
- data/rbi/temporalio/internal/worker/workflow_instance.rbi +231 -0
- data/rbi/temporalio/internal/worker/workflow_worker.rbi +199 -0
- data/rbi/temporalio/internal/workflow_task_failure_error.rbi +3 -0
- data/rbi/temporalio/internal.rbi +3 -0
- data/rbi/temporalio/metric.rbi +56 -0
- data/rbi/temporalio/priority.rbi +38 -0
- data/rbi/temporalio/retry_policy.rbi +40 -0
- data/rbi/temporalio/runtime/metric_buffer.rbi +45 -0
- data/rbi/temporalio/runtime.rbi +185 -0
- data/rbi/temporalio/scoped_logger.rbi +50 -0
- data/rbi/temporalio/search_attributes.rbi +94 -0
- data/rbi/temporalio/simple_plugin.rbi +41 -0
- data/rbi/temporalio/testing/activity_environment.rbi +43 -0
- data/rbi/temporalio/testing/workflow_environment.rbi +116 -0
- data/rbi/temporalio/testing.rbi +3 -0
- data/rbi/temporalio/version.rbi +5 -0
- data/rbi/temporalio/versioning_override.rbi +13 -0
- data/rbi/temporalio/worker/activity_executor/fiber.rbi +20 -0
- data/rbi/temporalio/worker/activity_executor/thread_pool.rbi +20 -0
- data/rbi/temporalio/worker/activity_executor.rbi +20 -0
- data/rbi/temporalio/worker/deployment_options.rbi +23 -0
- data/rbi/temporalio/worker/illegal_workflow_call_validator.rbi +33 -0
- data/rbi/temporalio/worker/interceptor.rbi +489 -0
- data/rbi/temporalio/worker/plugin.rbi +49 -0
- data/rbi/temporalio/worker/poller_behavior.rbi +29 -0
- data/rbi/temporalio/worker/thread_pool.rbi +38 -0
- data/rbi/temporalio/worker/tuner.rbi +221 -0
- data/rbi/temporalio/worker/workflow_executor/thread_pool.rbi +15 -0
- data/rbi/temporalio/worker/workflow_executor.rbi +8 -0
- data/rbi/temporalio/worker/workflow_replayer.rbi +152 -0
- data/rbi/temporalio/worker.rbi +258 -0
- data/rbi/temporalio/worker_deployment_version.rbi +29 -0
- data/rbi/temporalio/workflow/activity_cancellation_type.rbi +7 -0
- data/rbi/temporalio/workflow/child_workflow_cancellation_type.rbi +8 -0
- data/rbi/temporalio/workflow/child_workflow_handle.rbi +27 -0
- data/rbi/temporalio/workflow/definition.rbi +305 -0
- data/rbi/temporalio/workflow/external_workflow_handle.rbi +24 -0
- data/rbi/temporalio/workflow/future.rbi +62 -0
- data/rbi/temporalio/workflow/handler_unfinished_policy.rbi +6 -0
- data/rbi/temporalio/workflow/info.rbi +100 -0
- data/rbi/temporalio/workflow/nexus_client.rbi +65 -0
- data/rbi/temporalio/workflow/nexus_operation_cancellation_type.rbi +8 -0
- data/rbi/temporalio/workflow/nexus_operation_handle.rbi +14 -0
- data/rbi/temporalio/workflow/parent_close_policy.rbi +8 -0
- data/rbi/temporalio/workflow/update_info.rbi +14 -0
- data/rbi/temporalio/workflow.rbi +393 -0
- data/rbi/temporalio/workflow_history.rbi +21 -0
- data/rbi/temporalio.rbi +5 -0
- data/sig/common.rbs +1 -0
- data/sig/google/protobuf_compat.rbs +17 -0
- data/sig/open_telemetry.rbs +47 -0
- data/sig/temporalio/activity/cancellation_details.rbs +21 -0
- data/sig/temporalio/activity/complete_async_error.rbs +6 -0
- data/sig/temporalio/activity/context.rbs +26 -0
- data/sig/temporalio/activity/definition.rbs +60 -0
- data/sig/temporalio/activity/info.rbs +57 -0
- data/sig/temporalio/activity.rbs +4 -0
- data/sig/temporalio/api/activity/v1/message.rbs +708 -0
- data/sig/temporalio/api/batch/v1/message.rbs +594 -0
- data/sig/temporalio/api/callback/v1/message.rbs +112 -0
- data/sig/temporalio/api/cloud/account/v1/message.rbs +314 -0
- data/sig/temporalio/api/cloud/auditlog/v1/message.rbs +168 -0
- data/sig/temporalio/api/cloud/billing/v1/message.rbs +279 -0
- data/sig/temporalio/api/cloud/cloudservice/v1/request_response.rbs +4726 -0
- data/sig/temporalio/api/cloud/cloudservice/v1/service.rbs +25 -0
- data/sig/temporalio/api/cloud/cloudservice.rbs +8 -0
- data/sig/temporalio/api/cloud/connectivityrule/v1/message.rbs +191 -0
- data/sig/temporalio/api/cloud/identity/v1/message.rbs +1372 -0
- data/sig/temporalio/api/cloud/namespace/v1/message.rbs +1571 -0
- data/sig/temporalio/api/cloud/nexus/v1/message.rbs +269 -0
- data/sig/temporalio/api/cloud/operation/v1/message.rbs +156 -0
- data/sig/temporalio/api/cloud/region/v1/message.rbs +109 -0
- data/sig/temporalio/api/cloud/resource/v1/message.rbs +61 -0
- data/sig/temporalio/api/cloud/sink/v1/message.rbs +207 -0
- data/sig/temporalio/api/cloud/usage/v1/message.rbs +230 -0
- data/sig/temporalio/api/command/v1/message.rbs +1211 -0
- data/sig/temporalio/api/common/v1/grpc_status.rbs +59 -0
- data/sig/temporalio/api/common/v1/message.rbs +1238 -0
- data/sig/temporalio/api/compute/v1/config.rbs +176 -0
- data/sig/temporalio/api/compute/v1/provider.rbs +73 -0
- data/sig/temporalio/api/compute/v1/scaler.rbs +60 -0
- data/sig/temporalio/api/deployment/v1/message.rbs +1063 -0
- data/sig/temporalio/api/enums/v1/activity.rbs +134 -0
- data/sig/temporalio/api/enums/v1/batch_operation.rbs +80 -0
- data/sig/temporalio/api/enums/v1/command_type.rbs +74 -0
- data/sig/temporalio/api/enums/v1/common.rbs +271 -0
- data/sig/temporalio/api/enums/v1/deployment.rbs +177 -0
- data/sig/temporalio/api/enums/v1/event_type.rbs +263 -0
- data/sig/temporalio/api/enums/v1/failed_cause.rbs +281 -0
- data/sig/temporalio/api/enums/v1/namespace.rbs +87 -0
- data/sig/temporalio/api/enums/v1/nexus.rbs +172 -0
- data/sig/temporalio/api/enums/v1/query.rbs +69 -0
- data/sig/temporalio/api/enums/v1/reset.rbs +106 -0
- data/sig/temporalio/api/enums/v1/schedule.rbs +68 -0
- data/sig/temporalio/api/enums/v1/task_queue.rbs +238 -0
- data/sig/temporalio/api/enums/v1/update.rbs +87 -0
- data/sig/temporalio/api/enums/v1/workflow.rbs +435 -0
- data/sig/temporalio/api/errordetails/v1/message.rbs +532 -0
- data/sig/temporalio/api/export/v1/message.rbs +63 -0
- data/sig/temporalio/api/failure/v1/message.rbs +579 -0
- data/sig/temporalio/api/filter/v1/message.rbs +121 -0
- data/sig/temporalio/api/history/v1/message.rbs +4928 -0
- data/sig/temporalio/api/namespace/v1/message.rbs +465 -0
- data/sig/temporalio/api/nexus/v1/message.rbs +1268 -0
- data/sig/temporalio/api/nexusannotations/v1/options.rbs +76 -0
- data/sig/temporalio/api/nexusservices/workerservice/v1/request_response.rbs +65 -0
- data/sig/temporalio/api/operatorservice/v1/request_response.rbs +679 -0
- data/sig/temporalio/api/operatorservice/v1/service.rbs +23 -0
- data/sig/temporalio/api/operatorservice.rbs +6 -0
- data/sig/temporalio/api/payload_visitor.rbs +298 -0
- data/sig/temporalio/api/protoc_gen_openapiv2/options/annotations.rbs +23 -0
- data/sig/temporalio/api/protoc_gen_openapiv2/options/openapiv2.rbs +1691 -0
- data/sig/temporalio/api/protocol/v1/message.rbs +90 -0
- data/sig/temporalio/api/protometa/v1/annotations.rbs +62 -0
- data/sig/temporalio/api/query/v1/message.rbs +138 -0
- data/sig/temporalio/api/replication/v1/message.rbs +109 -0
- data/sig/temporalio/api/rules/v1/message.rbs +213 -0
- data/sig/temporalio/api/schedule/v1/message.rbs +1066 -0
- data/sig/temporalio/api/sdk/v1/enhanced_stack_trace.rbs +210 -0
- data/sig/temporalio/api/sdk/v1/event_group_marker.rbs +154 -0
- data/sig/temporalio/api/sdk/v1/external_storage.rbs +54 -0
- data/sig/temporalio/api/sdk/v1/task_complete_metadata.rbs +92 -0
- data/sig/temporalio/api/sdk/v1/user_metadata.rbs +58 -0
- data/sig/temporalio/api/sdk/v1/worker_config.rbs +122 -0
- data/sig/temporalio/api/sdk/v1/workflow_metadata.rbs +138 -0
- data/sig/temporalio/api/taskqueue/v1/message.rbs +1013 -0
- data/sig/temporalio/api/testservice/v1/request_response.rbs +125 -0
- data/sig/temporalio/api/testservice/v1/service.rbs +23 -0
- data/sig/temporalio/api/update/v1/message.rbs +349 -0
- data/sig/temporalio/api/version/v1/message.rbs +143 -0
- data/sig/temporalio/api/worker/v1/message.rbs +716 -0
- data/sig/temporalio/api/workflow/v1/message.rbs +2322 -0
- data/sig/temporalio/api/workflowservice/v1/request_response.rbs +12735 -0
- data/sig/temporalio/api/workflowservice/v1/service.rbs +23 -0
- data/sig/temporalio/api/workflowservice.rbs +6 -0
- data/sig/temporalio/api.rbs +4 -0
- data/sig/temporalio/cancellation.rbs +20 -0
- data/sig/temporalio/client/activity_execution.rbs +50 -0
- data/sig/temporalio/client/activity_execution_count.rbs +17 -0
- data/sig/temporalio/client/activity_execution_status.rbs +15 -0
- data/sig/temporalio/client/activity_handle.rbs +26 -0
- data/sig/temporalio/client/activity_id_reference.rbs +16 -0
- data/sig/temporalio/client/async_activity_handle.rbs +41 -0
- data/sig/temporalio/client/connection/cloud_service.rbs +315 -0
- data/sig/temporalio/client/connection/operator_service.rbs +59 -0
- data/sig/temporalio/client/connection/service.rbs +17 -0
- data/sig/temporalio/client/connection/test_service.rbs +35 -0
- data/sig/temporalio/client/connection/workflow_service.rbs +499 -0
- data/sig/temporalio/client/connection.rbs +143 -0
- data/sig/temporalio/client/interceptor.rbs +622 -0
- data/sig/temporalio/client/pending_activity_state.rbs +14 -0
- data/sig/temporalio/client/plugin.rbs +14 -0
- data/sig/temporalio/client/schedule.rbs +337 -0
- data/sig/temporalio/client/schedule_handle.rbs +44 -0
- data/sig/temporalio/client/with_start_workflow_operation.rbs +82 -0
- data/sig/temporalio/client/workflow_execution.rbs +37 -0
- data/sig/temporalio/client/workflow_execution_count.rbs +17 -0
- data/sig/temporalio/client/workflow_execution_status.rbs +16 -0
- data/sig/temporalio/client/workflow_handle.rbs +95 -0
- data/sig/temporalio/client/workflow_query_reject_condition.rbs +12 -0
- data/sig/temporalio/client/workflow_update_handle.rbs +26 -0
- data/sig/temporalio/client/workflow_update_wait_stage.rbs +12 -0
- data/sig/temporalio/client.rbs +271 -0
- data/sig/temporalio/common_enums.rbs +60 -0
- data/sig/temporalio/contrib/open_telemetry.rbs +74 -0
- data/sig/temporalio/converters/data_converter.rbs +32 -0
- data/sig/temporalio/converters/failure_converter.rbs +12 -0
- data/sig/temporalio/converters/payload_codec.rbs +8 -0
- data/sig/temporalio/converters/payload_converter/binary_null.rbs +9 -0
- data/sig/temporalio/converters/payload_converter/binary_plain.rbs +9 -0
- data/sig/temporalio/converters/payload_converter/binary_protobuf.rbs +9 -0
- data/sig/temporalio/converters/payload_converter/composite.rbs +16 -0
- data/sig/temporalio/converters/payload_converter/encoding.rbs +13 -0
- data/sig/temporalio/converters/payload_converter/json_plain.rbs +14 -0
- data/sig/temporalio/converters/payload_converter/json_protobuf.rbs +9 -0
- data/sig/temporalio/converters/payload_converter.rbs +24 -0
- data/sig/temporalio/converters/raw_value.rbs +9 -0
- data/sig/temporalio/converters.rbs +4 -0
- data/sig/temporalio/env_config.rbs +86 -0
- data/sig/temporalio/error/failure.rbs +170 -0
- data/sig/temporalio/error.rbs +88 -0
- data/sig/temporalio/internal/bridge/api/activity_result/activity_result.rbs +247 -0
- data/sig/temporalio/internal/bridge/api/activity_task/activity_task.rbs +372 -0
- data/sig/temporalio/internal/bridge/api/child_workflow/child_workflow.rbs +207 -0
- data/sig/temporalio/internal/bridge/api/common/common.rbs +123 -0
- data/sig/temporalio/internal/bridge/api/core_interface.rbs +231 -0
- data/sig/temporalio/internal/bridge/api/external_data/external_data.rbs +134 -0
- data/sig/temporalio/internal/bridge/api/nexus/nexus.rbs +285 -0
- data/sig/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rbs +1304 -0
- data/sig/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rbs +1526 -0
- data/sig/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbs +136 -0
- data/sig/temporalio/internal/bridge/api.rbs +8 -0
- data/sig/temporalio/internal/bridge/client.rbs +144 -0
- data/sig/temporalio/internal/bridge/metric.rbs +28 -0
- data/sig/temporalio/internal/bridge/runtime.rbs +97 -0
- data/sig/temporalio/internal/bridge/testing.rbs +91 -0
- data/sig/temporalio/internal/bridge/worker.rbs +199 -0
- data/sig/temporalio/internal/bridge.rbs +36 -0
- data/sig/temporalio/internal/client/implementation.rbs +33 -0
- data/sig/temporalio/internal/google_protobuf.rbs +7 -0
- data/sig/temporalio/internal/metric.rbs +35 -0
- data/sig/temporalio/internal/proto_utils.rbs +94 -0
- data/sig/temporalio/internal/worker/activity_worker.rbs +64 -0
- data/sig/temporalio/internal/worker/multi_runner.rbs +132 -0
- data/sig/temporalio/internal/worker/workflow_instance/child_workflow_handle.rbs +22 -0
- data/sig/temporalio/internal/worker/workflow_instance/context.rbs +172 -0
- data/sig/temporalio/internal/worker/workflow_instance/details.rbs +43 -0
- data/sig/temporalio/internal/worker/workflow_instance/external_workflow_handle.rbs +15 -0
- data/sig/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rbs +16 -0
- data/sig/temporalio/internal/worker/workflow_instance/handler_execution.rbs +19 -0
- data/sig/temporalio/internal/worker/workflow_instance/handler_hash.rbs +14 -0
- data/sig/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rbs +20 -0
- data/sig/temporalio/internal/worker/workflow_instance/inbound_implementation.rbs +19 -0
- data/sig/temporalio/internal/worker/workflow_instance/nexus_client.rbs +25 -0
- data/sig/temporalio/internal/worker/workflow_instance/nexus_operation_handle.rbs +19 -0
- data/sig/temporalio/internal/worker/workflow_instance/outbound_implementation.rbs +35 -0
- data/sig/temporalio/internal/worker/workflow_instance/replay_safe_logger.rbs +16 -0
- data/sig/temporalio/internal/worker/workflow_instance/replay_safe_metric.rbs +15 -0
- data/sig/temporalio/internal/worker/workflow_instance/scheduler.rbs +52 -0
- data/sig/temporalio/internal/worker/workflow_instance.rbs +111 -0
- data/sig/temporalio/internal/worker/workflow_worker.rbs +99 -0
- data/sig/temporalio/internal/workflow_task_failure_error.rbs +6 -0
- data/sig/temporalio/internal.rbs +4 -0
- data/sig/temporalio/metric.rbs +55 -0
- data/sig/temporalio/priority.rbs +17 -0
- data/sig/temporalio/retry_policy.rbs +21 -0
- data/sig/temporalio/runtime/metric_buffer.rbs +49 -0
- data/sig/temporalio/runtime.rbs +118 -0
- data/sig/temporalio/scoped_logger.rbs +15 -0
- data/sig/temporalio/search_attributes.rbs +82 -0
- data/sig/temporalio/simple_plugin.rbs +65 -0
- data/sig/temporalio/testing/activity_environment.rbs +52 -0
- data/sig/temporalio/testing/workflow_environment.rbs +141 -0
- data/sig/temporalio/testing.rbs +4 -0
- data/sig/temporalio/version.rbs +3 -0
- data/sig/temporalio/versioning_override.rbs +17 -0
- data/sig/temporalio/worker/activity_executor/fiber.rbs +9 -0
- data/sig/temporalio/worker/activity_executor/thread_pool.rbs +11 -0
- data/sig/temporalio/worker/activity_executor.rbs +12 -0
- data/sig/temporalio/worker/deployment_options.rbs +17 -0
- data/sig/temporalio/worker/illegal_workflow_call_validator.rbs +25 -0
- data/sig/temporalio/worker/interceptor.rbs +373 -0
- data/sig/temporalio/worker/plugin.rbs +47 -0
- data/sig/temporalio/worker/poller_behavior.rbs +23 -0
- data/sig/temporalio/worker/thread_pool.rbs +44 -0
- data/sig/temporalio/worker/tuner.rbs +121 -0
- data/sig/temporalio/worker/workflow_executor/thread_pool.rbs +58 -0
- data/sig/temporalio/worker/workflow_executor.rbs +15 -0
- data/sig/temporalio/worker/workflow_replayer.rbs +105 -0
- data/sig/temporalio/worker.rbs +168 -0
- data/sig/temporalio/worker_deployment_version.rbs +17 -0
- data/sig/temporalio/workflow/activity_cancellation_type.rbs +11 -0
- data/sig/temporalio/workflow/child_workflow_cancellation_type.rbs +12 -0
- data/sig/temporalio/workflow/child_workflow_handle.rbs +18 -0
- data/sig/temporalio/workflow/definition.rbs +181 -0
- data/sig/temporalio/workflow/external_workflow_handle.rbs +17 -0
- data/sig/temporalio/workflow/future.rbs +24 -0
- data/sig/temporalio/workflow/handler_unfinished_policy.rbs +10 -0
- data/sig/temporalio/workflow/info.rbs +79 -0
- data/sig/temporalio/workflow/nexus_client.rbs +34 -0
- data/sig/temporalio/workflow/nexus_operation_cancellation_type.rbs +12 -0
- data/sig/temporalio/workflow/nexus_operation_handle.rbs +10 -0
- data/sig/temporalio/workflow/parent_close_policy.rbs +12 -0
- data/sig/temporalio/workflow/update_info.rbs +15 -0
- data/sig/temporalio/workflow.rbs +215 -0
- data/sig/temporalio/workflow_history.rbs +13 -0
- data/sig/temporalio.rbs +3 -0
- data/temporalio.gemspec +1 -1
- metadata +445 -2
|
@@ -16,7 +16,7 @@ require 'temporalio/internal/bridge/api/nexus/nexus'
|
|
|
16
16
|
require 'temporalio/internal/bridge/api/common/common'
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
descriptor_data = "\n;temporal/sdk/core/workflow_commands/workflow_commands.proto\x12\x19\x63oresdk.workflow_commands\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a#temporal/sdk/core/nexus/nexus.proto\x1a%temporal/sdk/core/common/common.proto\"\xe5\x0f\n\x0fWorkflowCommand\x12\x38\n\ruser_metadata\x18\x64 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12<\n\x0bstart_timer\x18\x01 \x01(\x0b\x32%.coresdk.workflow_commands.StartTimerH\x00\x12H\n\x11schedule_activity\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ScheduleActivityH\x00\x12\x42\n\x10respond_to_query\x18\x03 \x01(\x0b\x32&.coresdk.workflow_commands.QueryResultH\x00\x12S\n\x17request_cancel_activity\x18\x04 \x01(\x0b\x32\x30.coresdk.workflow_commands.RequestCancelActivityH\x00\x12>\n\x0c\x63\x61ncel_timer\x18\x05 \x01(\x0b\x32&.coresdk.workflow_commands.CancelTimerH\x00\x12[\n\x1b\x63omplete_workflow_execution\x18\x06 \x01(\x0b\x32\x34.coresdk.workflow_commands.CompleteWorkflowExecutionH\x00\x12S\n\x17\x66\x61il_workflow_execution\x18\x07 \x01(\x0b\x32\x30.coresdk.workflow_commands.FailWorkflowExecutionH\x00\x12g\n\"continue_as_new_workflow_execution\x18\x08 \x01(\x0b\x32\x39.coresdk.workflow_commands.ContinueAsNewWorkflowExecutionH\x00\x12W\n\x19\x63\x61ncel_workflow_execution\x18\t \x01(\x0b\x32\x32.coresdk.workflow_commands.CancelWorkflowExecutionH\x00\x12\x45\n\x10set_patch_marker\x18\n \x01(\x0b\x32).coresdk.workflow_commands.SetPatchMarkerH\x00\x12`\n\x1estart_child_workflow_execution\x18\x0b \x01(\x0b\x32\x36.coresdk.workflow_commands.StartChildWorkflowExecutionH\x00\x12\x62\n\x1f\x63\x61ncel_child_workflow_execution\x18\x0c \x01(\x0b\x32\x37.coresdk.workflow_commands.CancelChildWorkflowExecutionH\x00\x12w\n*request_cancel_external_workflow_execution\x18\r \x01(\x0b\x32\x41.coresdk.workflow_commands.RequestCancelExternalWorkflowExecutionH\x00\x12h\n\"signal_external_workflow_execution\x18\x0e \x01(\x0b\x32:.coresdk.workflow_commands.SignalExternalWorkflowExecutionH\x00\x12Q\n\x16\x63\x61ncel_signal_workflow\x18\x0f \x01(\x0b\x32/.coresdk.workflow_commands.CancelSignalWorkflowH\x00\x12S\n\x17schedule_local_activity\x18\x10 \x01(\x0b\x32\x30.coresdk.workflow_commands.ScheduleLocalActivityH\x00\x12^\n\x1drequest_cancel_local_activity\x18\x11 \x01(\x0b\x32\x35.coresdk.workflow_commands.RequestCancelLocalActivityH\x00\x12\x66\n!upsert_workflow_search_attributes\x18\x12 \x01(\x0b\x32\x39.coresdk.workflow_commands.UpsertWorkflowSearchAttributesH\x00\x12Y\n\x1amodify_workflow_properties\x18\x13 \x01(\x0b\x32\x33.coresdk.workflow_commands.ModifyWorkflowPropertiesH\x00\x12\x44\n\x0fupdate_response\x18\x14 \x01(\x0b\x32).coresdk.workflow_commands.UpdateResponseH\x00\x12U\n\x18schedule_nexus_operation\x18\x15 \x01(\x0b\x32\x31.coresdk.workflow_commands.ScheduleNexusOperationH\x00\x12`\n\x1erequest_cancel_nexus_operation\x18\x16 \x01(\x0b\x32\x36.coresdk.workflow_commands.RequestCancelNexusOperationH\x00\x42\t\n\x07variant\"S\n\nStartTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x1a\n\x0b\x43\x61ncelTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\"\xb8\x06\n\x10ScheduleActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12I\n\x07headers\x18\x06 \x03(\x0b\x32\x38.coresdk.workflow_commands.ScheduleActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x0e \x01(\x08\x12;\n\x11versioning_intent\x18\x0f \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x10 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xee\x05\n\x15ScheduleLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\r\x12:\n\x16original_schedule_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12N\n\x07headers\x18\x06 \x03(\x0b\x32=.coresdk.workflow_commands.ScheduleLocalActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x38\n\x15local_retry_threshold\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"$\n\x15RequestCancelActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\")\n\x1aRequestCancelLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\"\x9c\x01\n\x0bQueryResult\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12<\n\tsucceeded\x18\x02 \x01(\x0b\x32\'.coresdk.workflow_commands.QuerySuccessH\x00\x12\x32\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\t\n\x07variant\"A\n\x0cQuerySuccess\x12\x31\n\x08response\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"L\n\x19\x43ompleteWorkflowExecution\x12/\n\x06result\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"J\n\x15\x46\x61ilWorkflowExecution\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\xd7\x06\n\x1e\x43ontinueAsNewWorkflowExecution\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12Q\n\x04memo\x18\x06 \x03(\x0b\x32\x43.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.MemoEntry\x12W\n\x07headers\x18\x07 \x03(\x0b\x32\x46.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.HeadersEntry\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12;\n\x11versioning_intent\x18\n \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12[\n\x1binitial_versioning_behavior\x18\x0b \x01(\x0e\x32\x36.temporal.api.enums.v1.ContinueAsNewVersioningBehavior\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x19\n\x17\x43\x61ncelWorkflowExecution\"6\n\x0eSetPatchMarker\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\"\x96\t\n\x1bStartChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x46\n\x13parent_close_policy\x18\n \x01(\x0e\x32).coresdk.child_workflow.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.coresdk.workflow_commands.StartChildWorkflowExecution.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.coresdk.workflow_commands.StartChildWorkflowExecution.MemoEntry\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12P\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x35.coresdk.child_workflow.ChildWorkflowCancellationType\x12;\n\x11versioning_intent\x18\x13 \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x14 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"J\n\x1c\x43\x61ncelChildWorkflowExecution\x12\x1a\n\x12\x63hild_workflow_seq\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x8e\x01\n&RequestCancelExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12G\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x8f\x03\n\x1fSignalExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12I\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecutionH\x00\x12\x1b\n\x11\x63hild_workflow_id\x18\x03 \x01(\tH\x00\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12-\n\x04\x61rgs\x18\x05 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12X\n\x07headers\x18\x06 \x03(\x0b\x32G.coresdk.workflow_commands.SignalExternalWorkflowExecution.HeadersEntry\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x08\n\x06target\"#\n\x14\x43\x61ncelSignalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\"e\n\x1eUpsertWorkflowSearchAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"O\n\x18ModifyWorkflowProperties\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xd2\x01\n\x0eUpdateResponse\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12*\n\x08\x61\x63\x63\x65pted\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x08rejected\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x12\x34\n\tcompleted\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.PayloadH\x00\x42\n\n\x08response\"\x9a\x04\n\x16ScheduleNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x11\n\toperation\x18\x04 \x01(\t\x12.\n\x05input\x18\x05 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12X\n\x0cnexus_header\x18\x07 \x03(\x0b\x32\x42.coresdk.workflow_commands.ScheduleNexusOperation.NexusHeaderEntry\x12H\n\x11\x63\x61ncellation_type\x18\x08 \x01(\x0e\x32-.coresdk.nexus.NexusOperationCancellationType\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"*\n\x1bRequestCancelNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x36\xea\x02\x33Temporalio::Internal::Bridge::Api::WorkflowCommandsb\x06proto3"
|
|
19
|
+
descriptor_data = "\n;temporal/sdk/core/workflow_commands/workflow_commands.proto\x12\x19\x63oresdk.workflow_commands\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/failure/v1/message.proto\x1a\'temporal/api/sdk/v1/user_metadata.proto\x1a\x35temporal/sdk/core/child_workflow/child_workflow.proto\x1a#temporal/sdk/core/nexus/nexus.proto\x1a%temporal/sdk/core/common/common.proto\"\xe5\x0f\n\x0fWorkflowCommand\x12\x38\n\ruser_metadata\x18\x64 \x01(\x0b\x32!.temporal.api.sdk.v1.UserMetadata\x12<\n\x0bstart_timer\x18\x01 \x01(\x0b\x32%.coresdk.workflow_commands.StartTimerH\x00\x12H\n\x11schedule_activity\x18\x02 \x01(\x0b\x32+.coresdk.workflow_commands.ScheduleActivityH\x00\x12\x42\n\x10respond_to_query\x18\x03 \x01(\x0b\x32&.coresdk.workflow_commands.QueryResultH\x00\x12S\n\x17request_cancel_activity\x18\x04 \x01(\x0b\x32\x30.coresdk.workflow_commands.RequestCancelActivityH\x00\x12>\n\x0c\x63\x61ncel_timer\x18\x05 \x01(\x0b\x32&.coresdk.workflow_commands.CancelTimerH\x00\x12[\n\x1b\x63omplete_workflow_execution\x18\x06 \x01(\x0b\x32\x34.coresdk.workflow_commands.CompleteWorkflowExecutionH\x00\x12S\n\x17\x66\x61il_workflow_execution\x18\x07 \x01(\x0b\x32\x30.coresdk.workflow_commands.FailWorkflowExecutionH\x00\x12g\n\"continue_as_new_workflow_execution\x18\x08 \x01(\x0b\x32\x39.coresdk.workflow_commands.ContinueAsNewWorkflowExecutionH\x00\x12W\n\x19\x63\x61ncel_workflow_execution\x18\t \x01(\x0b\x32\x32.coresdk.workflow_commands.CancelWorkflowExecutionH\x00\x12\x45\n\x10set_patch_marker\x18\n \x01(\x0b\x32).coresdk.workflow_commands.SetPatchMarkerH\x00\x12`\n\x1estart_child_workflow_execution\x18\x0b \x01(\x0b\x32\x36.coresdk.workflow_commands.StartChildWorkflowExecutionH\x00\x12\x62\n\x1f\x63\x61ncel_child_workflow_execution\x18\x0c \x01(\x0b\x32\x37.coresdk.workflow_commands.CancelChildWorkflowExecutionH\x00\x12w\n*request_cancel_external_workflow_execution\x18\r \x01(\x0b\x32\x41.coresdk.workflow_commands.RequestCancelExternalWorkflowExecutionH\x00\x12h\n\"signal_external_workflow_execution\x18\x0e \x01(\x0b\x32:.coresdk.workflow_commands.SignalExternalWorkflowExecutionH\x00\x12Q\n\x16\x63\x61ncel_signal_workflow\x18\x0f \x01(\x0b\x32/.coresdk.workflow_commands.CancelSignalWorkflowH\x00\x12S\n\x17schedule_local_activity\x18\x10 \x01(\x0b\x32\x30.coresdk.workflow_commands.ScheduleLocalActivityH\x00\x12^\n\x1drequest_cancel_local_activity\x18\x11 \x01(\x0b\x32\x35.coresdk.workflow_commands.RequestCancelLocalActivityH\x00\x12\x66\n!upsert_workflow_search_attributes\x18\x12 \x01(\x0b\x32\x39.coresdk.workflow_commands.UpsertWorkflowSearchAttributesH\x00\x12Y\n\x1amodify_workflow_properties\x18\x13 \x01(\x0b\x32\x33.coresdk.workflow_commands.ModifyWorkflowPropertiesH\x00\x12\x44\n\x0fupdate_response\x18\x14 \x01(\x0b\x32).coresdk.workflow_commands.UpdateResponseH\x00\x12U\n\x18schedule_nexus_operation\x18\x15 \x01(\x0b\x32\x31.coresdk.workflow_commands.ScheduleNexusOperationH\x00\x12`\n\x1erequest_cancel_nexus_operation\x18\x16 \x01(\x0b\x32\x36.coresdk.workflow_commands.RequestCancelNexusOperationH\x00\x42\t\n\x07variant\"S\n\nStartTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x38\n\x15start_to_fire_timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\"\x1a\n\x0b\x43\x61ncelTimer\x12\x0b\n\x03seq\x18\x01 \x01(\r\"\xb8\x06\n\x10ScheduleActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12I\n\x07headers\x18\x06 \x03(\x0b\x32\x38.coresdk.workflow_commands.ScheduleActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x34\n\x11heartbeat_timeout\x18\x0b \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0c \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x12\x1e\n\x16\x64o_not_eagerly_execute\x18\x0e \x01(\x08\x12;\n\x11versioning_intent\x18\x0f \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x10 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\xee\x05\n\x15ScheduleLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x13\n\x0b\x61\x63tivity_id\x18\x02 \x01(\t\x12\x15\n\ractivity_type\x18\x03 \x01(\t\x12\x0f\n\x07\x61ttempt\x18\x04 \x01(\r\x12:\n\x16original_schedule_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12N\n\x07headers\x18\x06 \x03(\x0b\x32=.coresdk.workflow_commands.ScheduleLocalActivity.HeadersEntry\x12\x32\n\targuments\x18\x07 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x0cretry_policy\x18\x0b \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x38\n\x15local_retry_threshold\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x12N\n\x11\x63\x61ncellation_type\x18\r \x01(\x0e\x32\x33.coresdk.workflow_commands.ActivityCancellationType\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"$\n\x15RequestCancelActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\")\n\x1aRequestCancelLocalActivity\x12\x0b\n\x03seq\x18\x01 \x01(\r\"\x9c\x01\n\x0bQueryResult\x12\x10\n\x08query_id\x18\x01 \x01(\t\x12<\n\tsucceeded\x18\x02 \x01(\x0b\x32\'.coresdk.workflow_commands.QuerySuccessH\x00\x12\x32\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x42\t\n\x07variant\"A\n\x0cQuerySuccess\x12\x31\n\x08response\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"L\n\x19\x43ompleteWorkflowExecution\x12/\n\x06result\x18\x01 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\"J\n\x15\x46\x61ilWorkflowExecution\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\"\x92\x07\n\x1e\x43ontinueAsNewWorkflowExecution\x12\x15\n\rworkflow_type\x18\x01 \x01(\t\x12\x12\n\ntask_queue\x18\x02 \x01(\t\x12\x32\n\targuments\x18\x03 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12\x37\n\x14workflow_run_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12Q\n\x04memo\x18\x06 \x03(\x0b\x32\x43.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.MemoEntry\x12W\n\x07headers\x18\x07 \x03(\x0b\x32\x46.coresdk.workflow_commands.ContinueAsNewWorkflowExecution.HeadersEntry\x12\x43\n\x11search_attributes\x18\x08 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12\x39\n\x0cretry_policy\x18\t \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12;\n\x11versioning_intent\x18\n \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12[\n\x1binitial_versioning_behavior\x18\x0b \x01(\x0e\x32\x36.temporal.api.enums.v1.ContinueAsNewVersioningBehavior\x12\x39\n\x16\x62\x61\x63koff_start_interval\x18\x0c \x01(\x0b\x32\x19.google.protobuf.Duration\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"\x19\n\x17\x43\x61ncelWorkflowExecution\"6\n\x0eSetPatchMarker\x12\x10\n\x08patch_id\x18\x01 \x01(\t\x12\x12\n\ndeprecated\x18\x02 \x01(\x08\"\x96\t\n\x1bStartChildWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x03 \x01(\t\x12\x15\n\rworkflow_type\x18\x04 \x01(\t\x12\x12\n\ntask_queue\x18\x05 \x01(\t\x12.\n\x05input\x18\x06 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12=\n\x1aworkflow_execution_timeout\x18\x07 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x37\n\x14workflow_run_timeout\x18\x08 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x38\n\x15workflow_task_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x46\n\x13parent_close_policy\x18\n \x01(\x0e\x32).coresdk.child_workflow.ParentClosePolicy\x12N\n\x18workflow_id_reuse_policy\x18\x0c \x01(\x0e\x32,.temporal.api.enums.v1.WorkflowIdReusePolicy\x12\x39\n\x0cretry_policy\x18\r \x01(\x0b\x32#.temporal.api.common.v1.RetryPolicy\x12\x15\n\rcron_schedule\x18\x0e \x01(\t\x12T\n\x07headers\x18\x0f \x03(\x0b\x32\x43.coresdk.workflow_commands.StartChildWorkflowExecution.HeadersEntry\x12N\n\x04memo\x18\x10 \x03(\x0b\x32@.coresdk.workflow_commands.StartChildWorkflowExecution.MemoEntry\x12\x43\n\x11search_attributes\x18\x11 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\x12P\n\x11\x63\x61ncellation_type\x18\x12 \x01(\x0e\x32\x35.coresdk.child_workflow.ChildWorkflowCancellationType\x12;\n\x11versioning_intent\x18\x13 \x01(\x0e\x32 .coresdk.common.VersioningIntent\x12\x32\n\x08priority\x18\x14 \x01(\x0b\x32 .temporal.api.common.v1.Priority\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x1aL\n\tMemoEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\"J\n\x1c\x43\x61ncelChildWorkflowExecution\x12\x1a\n\x12\x63hild_workflow_seq\x18\x01 \x01(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x8e\x01\n&RequestCancelExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12G\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecution\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x8f\x03\n\x1fSignalExternalWorkflowExecution\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12I\n\x12workflow_execution\x18\x02 \x01(\x0b\x32+.coresdk.common.NamespacedWorkflowExecutionH\x00\x12\x1b\n\x11\x63hild_workflow_id\x18\x03 \x01(\tH\x00\x12\x13\n\x0bsignal_name\x18\x04 \x01(\t\x12-\n\x04\x61rgs\x18\x05 \x03(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12X\n\x07headers\x18\x06 \x03(\x0b\x32G.coresdk.workflow_commands.SignalExternalWorkflowExecution.HeadersEntry\x1aO\n\x0cHeadersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12.\n\x05value\x18\x02 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload:\x02\x38\x01\x42\x08\n\x06target\"#\n\x14\x43\x61ncelSignalWorkflow\x12\x0b\n\x03seq\x18\x01 \x01(\r\"e\n\x1eUpsertWorkflowSearchAttributes\x12\x43\n\x11search_attributes\x18\x01 \x01(\x0b\x32(.temporal.api.common.v1.SearchAttributes\"O\n\x18ModifyWorkflowProperties\x12\x33\n\rupserted_memo\x18\x01 \x01(\x0b\x32\x1c.temporal.api.common.v1.Memo\"\xd2\x01\n\x0eUpdateResponse\x12\x1c\n\x14protocol_instance_id\x18\x01 \x01(\t\x12*\n\x08\x61\x63\x63\x65pted\x18\x02 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x34\n\x08rejected\x18\x03 \x01(\x0b\x32 .temporal.api.failure.v1.FailureH\x00\x12\x34\n\tcompleted\x18\x04 \x01(\x0b\x32\x1f.temporal.api.common.v1.PayloadH\x00\x42\n\n\x08response\"\x9a\x04\n\x16ScheduleNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\t\x12\x0f\n\x07service\x18\x03 \x01(\t\x12\x11\n\toperation\x18\x04 \x01(\t\x12.\n\x05input\x18\x05 \x01(\x0b\x32\x1f.temporal.api.common.v1.Payload\x12<\n\x19schedule_to_close_timeout\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12X\n\x0cnexus_header\x18\x07 \x03(\x0b\x32\x42.coresdk.workflow_commands.ScheduleNexusOperation.NexusHeaderEntry\x12H\n\x11\x63\x61ncellation_type\x18\x08 \x01(\x0e\x32-.coresdk.nexus.NexusOperationCancellationType\x12<\n\x19schedule_to_start_timeout\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x39\n\x16start_to_close_timeout\x18\n \x01(\x0b\x32\x19.google.protobuf.Duration\x1a\x32\n\x10NexusHeaderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"*\n\x1bRequestCancelNexusOperation\x12\x0b\n\x03seq\x18\x01 \x01(\r*X\n\x18\x41\x63tivityCancellationType\x12\x0e\n\nTRY_CANCEL\x10\x00\x12\x1f\n\x1bWAIT_CANCELLATION_COMPLETED\x10\x01\x12\x0b\n\x07\x41\x42\x41NDON\x10\x02\x42\x36\xea\x02\x33Temporalio::Internal::Bridge::Api::WorkflowCommandsb\x06proto3"
|
|
20
20
|
|
|
21
21
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
22
22
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -17,7 +17,8 @@ module Temporalio
|
|
|
17
17
|
:rpc_retry,
|
|
18
18
|
:keep_alive, # Optional
|
|
19
19
|
:http_connect_proxy, # Optional
|
|
20
|
-
:dns_load_balancing # Optional
|
|
20
|
+
:dns_load_balancing, # Optional
|
|
21
|
+
:grpc_compression
|
|
21
22
|
)
|
|
22
23
|
|
|
23
24
|
TLSOptions = Struct.new(
|
|
@@ -51,6 +52,10 @@ module Temporalio
|
|
|
51
52
|
:resolution_interval
|
|
52
53
|
)
|
|
53
54
|
|
|
55
|
+
GrpcCompressionOptions = Struct.new(
|
|
56
|
+
:codec
|
|
57
|
+
)
|
|
58
|
+
|
|
54
59
|
def self.new(runtime, options)
|
|
55
60
|
queue = Queue.new
|
|
56
61
|
async_new(runtime, options, queue)
|
|
@@ -25,6 +25,26 @@ module Temporalio
|
|
|
25
25
|
'see https://github.com/temporalio/sdk-ruby/issues/162'
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
# On FIPS builds the native crypto backend (aws-lc-rs) is FIPS-validated, but the SDK still relies on Ruby's
|
|
29
|
+
# own OpenSSL for `SecureRandom` (request IDs) and the default worker build id digest. Those are only
|
|
30
|
+
# FIPS-backed if Ruby was built against a FIPS-enabled OpenSSL with FIPS mode active. If not, warn once rather
|
|
31
|
+
# than raise. No-op on non-FIPS builds.
|
|
32
|
+
def self.assert_fips_compatibility!
|
|
33
|
+
return unless FIPS
|
|
34
|
+
return if @fips_compatibility_checked
|
|
35
|
+
|
|
36
|
+
@fips_compatibility_checked = true
|
|
37
|
+
require 'openssl'
|
|
38
|
+
return if OpenSSL.fips_mode
|
|
39
|
+
|
|
40
|
+
warn 'temporalio: built for FIPS (aws-lc-rs) but Ruby OpenSSL is not in FIPS mode; SecureRandom and the ' \
|
|
41
|
+
'default worker build id will not use a FIPS-validated module. Build Ruby against a FIPS-enabled ' \
|
|
42
|
+
'OpenSSL and enable FIPS mode for full compliance.'
|
|
43
|
+
rescue StandardError
|
|
44
|
+
# Some OpenSSL builds cannot report fips_mode; do not block usage over an unanswerable check.
|
|
45
|
+
nil
|
|
46
|
+
end
|
|
47
|
+
|
|
28
48
|
def self.fibers_supported
|
|
29
49
|
# We do not allow fibers on < 3.3 due to a bug we still need to dig
|
|
30
50
|
# into: https://github.com/temporalio/sdk-ruby/issues/162
|
|
@@ -9,7 +9,7 @@ module Temporalio
|
|
|
9
9
|
attr_reader :namespace, :task_queue, :definition, :initial_activation, :logger, :metric_meter,
|
|
10
10
|
:payload_converter, :failure_converter, :interceptors, :disable_eager_activity_execution,
|
|
11
11
|
:illegal_calls, :workflow_failure_exception_types, :unsafe_workflow_io_enabled,
|
|
12
|
-
:assert_valid_local_activity
|
|
12
|
+
:patch_activation_callback, :assert_valid_local_activity
|
|
13
13
|
|
|
14
14
|
def initialize(
|
|
15
15
|
namespace:,
|
|
@@ -25,6 +25,7 @@ module Temporalio
|
|
|
25
25
|
illegal_calls:,
|
|
26
26
|
workflow_failure_exception_types:,
|
|
27
27
|
unsafe_workflow_io_enabled:,
|
|
28
|
+
patch_activation_callback:,
|
|
28
29
|
assert_valid_local_activity:
|
|
29
30
|
)
|
|
30
31
|
@namespace = namespace
|
|
@@ -40,6 +41,7 @@ module Temporalio
|
|
|
40
41
|
@illegal_calls = illegal_calls
|
|
41
42
|
@workflow_failure_exception_types = workflow_failure_exception_types
|
|
42
43
|
@unsafe_workflow_io_enabled = unsafe_workflow_io_enabled
|
|
44
|
+
@patch_activation_callback = patch_activation_callback
|
|
43
45
|
@assert_valid_local_activity = assert_valid_local_activity
|
|
44
46
|
end
|
|
45
47
|
end
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
require 'temporalio'
|
|
4
4
|
require 'temporalio/cancellation'
|
|
5
5
|
require 'temporalio/error'
|
|
6
|
+
require 'temporalio/internal/google_protobuf'
|
|
6
7
|
require 'temporalio/internal/worker/workflow_instance'
|
|
7
8
|
require 'temporalio/workflow'
|
|
8
9
|
require 'timeout'
|
|
@@ -19,6 +20,10 @@ module Temporalio
|
|
|
19
20
|
@ready = []
|
|
20
21
|
@wait_conditions = {}
|
|
21
22
|
@wait_condition_counter = 0
|
|
23
|
+
@thread_blocking_fibers = {}
|
|
24
|
+
@thread_blocking_mutex = Mutex.new
|
|
25
|
+
@thread_blocking_condition = ConditionVariable.new
|
|
26
|
+
@workflow_thread = nil
|
|
22
27
|
end
|
|
23
28
|
|
|
24
29
|
def context
|
|
@@ -26,12 +31,17 @@ module Temporalio
|
|
|
26
31
|
end
|
|
27
32
|
|
|
28
33
|
def run_until_all_yielded
|
|
34
|
+
@workflow_thread = Thread.current
|
|
29
35
|
loop do
|
|
30
36
|
# Run all fibers until all yielded
|
|
31
37
|
while (fiber = @ready.shift)
|
|
32
38
|
fiber.resume
|
|
33
39
|
end
|
|
34
40
|
|
|
41
|
+
# Thread-blocking fibers are not durable workflow yields. Wait for them to unblock before satisfying any
|
|
42
|
+
# wait condition so the condition sees the workflow after all runnable work has settled.
|
|
43
|
+
next if wait_for_thread_blocking_fiber
|
|
44
|
+
|
|
35
45
|
# Find the _first_ resolvable wait condition and if there, resolve it, and loop again, otherwise return.
|
|
36
46
|
# It is important that we both let fibers get all settled _before_ this and only allow a _single_ wait
|
|
37
47
|
# condition to be satisfied before looping. This allows wait condition users to trust that the line of
|
|
@@ -55,6 +65,8 @@ module Temporalio
|
|
|
55
65
|
|
|
56
66
|
cond_fiber.resume(cond_result)
|
|
57
67
|
end
|
|
68
|
+
ensure
|
|
69
|
+
@workflow_thread = nil
|
|
58
70
|
end
|
|
59
71
|
|
|
60
72
|
def wait_condition(cancellation:, &block)
|
|
@@ -110,9 +122,26 @@ module Temporalio
|
|
|
110
122
|
# work inside of workflows. So we only implement the bare minimum.
|
|
111
123
|
###
|
|
112
124
|
|
|
113
|
-
def block(
|
|
125
|
+
def block(blocker, timeout = nil)
|
|
114
126
|
# TODO(cretz): Make the blocker visible in the stack trace?
|
|
115
127
|
|
|
128
|
+
# Protobuf's object cache uses a process-local Mutex. We allowlist that Mutex use, but it is not a durable
|
|
129
|
+
# workflow yield: if it blocks the only runnable workflow fiber, the workflow task must remain blocked so
|
|
130
|
+
# deadlock detection can fail it instead of completing a partial command set.
|
|
131
|
+
if timeout.nil? && thread_blocking_protobuf_mutex_wait?(blocker)
|
|
132
|
+
fiber = Fiber.current
|
|
133
|
+
synchronize_thread_blocking_fibers { @thread_blocking_fibers[fiber] = true }
|
|
134
|
+
begin
|
|
135
|
+
Fiber.yield
|
|
136
|
+
return true
|
|
137
|
+
ensure
|
|
138
|
+
synchronize_thread_blocking_fibers do
|
|
139
|
+
@thread_blocking_fibers.delete(fiber)
|
|
140
|
+
@thread_blocking_condition.broadcast
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
116
145
|
# We just yield because unblock will resume this. We will just wrap in timeout if needed.
|
|
117
146
|
if timeout
|
|
118
147
|
begin
|
|
@@ -189,7 +218,49 @@ module Temporalio
|
|
|
189
218
|
end
|
|
190
219
|
|
|
191
220
|
def unblock(_blocker, fiber)
|
|
192
|
-
|
|
221
|
+
synchronize_thread_blocking_fibers do
|
|
222
|
+
@thread_blocking_fibers.delete(fiber)
|
|
223
|
+
@ready << fiber
|
|
224
|
+
@thread_blocking_condition.broadcast
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
private
|
|
229
|
+
|
|
230
|
+
def thread_blocking_protobuf_mutex_wait?(blocker)
|
|
231
|
+
blocker.is_a?(::Mutex) &&
|
|
232
|
+
::Temporalio::Internal::GoogleProtobuf.in_call_stack?(caller_locations)
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
def wait_for_thread_blocking_fiber
|
|
236
|
+
synchronize_thread_blocking_fibers do
|
|
237
|
+
return true unless @ready.empty?
|
|
238
|
+
return false if @thread_blocking_fibers.empty?
|
|
239
|
+
|
|
240
|
+
@thread_blocking_condition.wait(@thread_blocking_mutex) while @ready.empty? &&
|
|
241
|
+
!@thread_blocking_fibers.empty?
|
|
242
|
+
true
|
|
243
|
+
end
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
def synchronize_thread_blocking_fibers(&)
|
|
247
|
+
if Thread.current == @workflow_thread
|
|
248
|
+
with_workflow_scheduler_disabled do
|
|
249
|
+
@thread_blocking_mutex.synchronize(&)
|
|
250
|
+
end
|
|
251
|
+
else
|
|
252
|
+
@thread_blocking_mutex.synchronize(&)
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
def with_workflow_scheduler_disabled
|
|
257
|
+
previous_scheduler = Fiber.scheduler
|
|
258
|
+
@instance.illegal_call_tracing_disabled do
|
|
259
|
+
Fiber.set_scheduler(nil)
|
|
260
|
+
yield
|
|
261
|
+
ensure
|
|
262
|
+
Fiber.set_scheduler(previous_scheduler)
|
|
263
|
+
end
|
|
193
264
|
end
|
|
194
265
|
end
|
|
195
266
|
end
|
|
@@ -61,7 +61,7 @@ module Temporalio
|
|
|
61
61
|
:current_deployment_version,
|
|
62
62
|
:current_history_length, :current_history_size, :replaying, :random,
|
|
63
63
|
:signal_handlers, :query_handlers, :update_handlers, :context_frozen, :assert_valid_local_activity,
|
|
64
|
-
:in_query_or_validator
|
|
64
|
+
:in_query_or_validator, :random_disabled, :patch_activation_callback
|
|
65
65
|
attr_accessor :io_enabled, :current_details
|
|
66
66
|
|
|
67
67
|
def initialize(details)
|
|
@@ -77,6 +77,7 @@ module Temporalio
|
|
|
77
77
|
@scheduler = Scheduler.new(self)
|
|
78
78
|
@payload_converter = details.payload_converter
|
|
79
79
|
@failure_converter = details.failure_converter
|
|
80
|
+
@patch_activation_callback = details.patch_activation_callback
|
|
80
81
|
@disable_eager_activity_execution = details.disable_eager_activity_execution
|
|
81
82
|
@pending_activities = {} # Keyed by sequence, value is fiber to resume with proto result
|
|
82
83
|
@pending_timers = {} # Keyed by sequence, value is fiber to resume with proto result
|
|
@@ -99,7 +100,9 @@ module Temporalio
|
|
|
99
100
|
@current_history_length = 0
|
|
100
101
|
@current_history_size = 0
|
|
101
102
|
@replaying = false
|
|
103
|
+
@context_frozen = false
|
|
102
104
|
@in_query_or_validator = false
|
|
105
|
+
@random_disabled = false
|
|
103
106
|
@workflow_failure_exception_types = details.workflow_failure_exception_types
|
|
104
107
|
@signal_handlers = HandlerHash.new(
|
|
105
108
|
details.definition.signals,
|
|
@@ -180,7 +183,9 @@ module Temporalio
|
|
|
180
183
|
@commands = []
|
|
181
184
|
@current_activation_error = nil
|
|
182
185
|
@continue_as_new_suggested = activation.continue_as_new_suggested
|
|
183
|
-
@suggest_continue_as_new_reasons = activation.suggest_continue_as_new_reasons.map
|
|
186
|
+
@suggest_continue_as_new_reasons = activation.suggest_continue_as_new_reasons.map do |reason|
|
|
187
|
+
ProtoUtils.enum_to_int(Api::Enums::V1::SuggestContinueAsNewReason, reason)
|
|
188
|
+
end
|
|
184
189
|
@target_worker_deployment_version_changed = activation.target_worker_deployment_version_changed
|
|
185
190
|
@current_deployment_version = WorkerDeploymentVersion._from_bridge(
|
|
186
191
|
activation.deployment_version_for_current_task
|
|
@@ -290,7 +295,12 @@ module Temporalio
|
|
|
290
295
|
patch_id = patch_id.to_s
|
|
291
296
|
@patches_memoized ||= {}
|
|
292
297
|
@patches_memoized.fetch(patch_id) do
|
|
293
|
-
|
|
298
|
+
# Only fresh, non-replay patches can consult rollout policy; replay and deprecation must follow history.
|
|
299
|
+
patched = if deprecated || replaying || @patches_notified.include?(patch_id)
|
|
300
|
+
!replaying || @patches_notified.include?(patch_id)
|
|
301
|
+
else
|
|
302
|
+
patch_activated?(patch_id)
|
|
303
|
+
end
|
|
294
304
|
@patches_memoized[patch_id] = patched
|
|
295
305
|
if patched
|
|
296
306
|
add_command(
|
|
@@ -303,6 +313,20 @@ module Temporalio
|
|
|
303
313
|
end
|
|
304
314
|
end
|
|
305
315
|
|
|
316
|
+
def patch_activated?(patch_id)
|
|
317
|
+
return true unless patch_activation_callback
|
|
318
|
+
|
|
319
|
+
patched = with_context_frozen(in_query_or_validator: false, random_disabled: true) do
|
|
320
|
+
patch_activation_callback.call(Temporalio::Worker::PatchActivationInput.new(
|
|
321
|
+
workflow_info: info,
|
|
322
|
+
patch_id:
|
|
323
|
+
))
|
|
324
|
+
end
|
|
325
|
+
return patched if patched == true || patched == false
|
|
326
|
+
|
|
327
|
+
raise TypeError, 'Patch activation callback must return true or false'
|
|
328
|
+
end
|
|
329
|
+
|
|
306
330
|
def metric_meter
|
|
307
331
|
@metric_meter ||= ReplaySafeMetric::Meter.new(
|
|
308
332
|
@runtime_metric_meter.with_additional_attributes(
|
|
@@ -642,6 +666,7 @@ module Temporalio
|
|
|
642
666
|
hints: err.arg_hints || defn_arg_hints),
|
|
643
667
|
workflow_run_timeout: ProtoUtils.seconds_to_duration(err.run_timeout),
|
|
644
668
|
workflow_task_timeout: ProtoUtils.seconds_to_duration(err.task_timeout),
|
|
669
|
+
backoff_start_interval: ProtoUtils.seconds_to_duration(err.backoff_start_interval),
|
|
645
670
|
memo: ProtoUtils.memo_to_proto_hash(err.memo, payload_converter),
|
|
646
671
|
headers: ProtoUtils.headers_to_proto_hash(err.headers, payload_converter),
|
|
647
672
|
search_attributes: err.search_attributes&._to_proto,
|
|
@@ -683,13 +708,18 @@ module Temporalio
|
|
|
683
708
|
@definition_options.failure_exception_types&.any? { |cls| err.is_a?(cls) }
|
|
684
709
|
end
|
|
685
710
|
|
|
686
|
-
def with_context_frozen(in_query_or_validator:, &)
|
|
711
|
+
def with_context_frozen(in_query_or_validator:, random_disabled: false, &)
|
|
712
|
+
previous_context_frozen = @context_frozen
|
|
713
|
+
previous_in_query_or_validator = @in_query_or_validator
|
|
714
|
+
previous_random_disabled = @random_disabled
|
|
687
715
|
@context_frozen = true
|
|
688
716
|
@in_query_or_validator = in_query_or_validator
|
|
717
|
+
@random_disabled = random_disabled
|
|
689
718
|
yield
|
|
690
719
|
ensure
|
|
691
|
-
@context_frozen =
|
|
692
|
-
@in_query_or_validator =
|
|
720
|
+
@context_frozen = previous_context_frozen
|
|
721
|
+
@in_query_or_validator = previous_in_query_or_validator
|
|
722
|
+
@random_disabled = previous_random_disabled
|
|
693
723
|
end
|
|
694
724
|
|
|
695
725
|
def convert_handler_args(payload_array:, defn:)
|
|
@@ -74,6 +74,7 @@ module Temporalio
|
|
|
74
74
|
workflow_failure_exception_types:,
|
|
75
75
|
workflow_payload_codec_thread_pool:,
|
|
76
76
|
unsafe_workflow_io_enabled:,
|
|
77
|
+
patch_activation_callback:,
|
|
77
78
|
debug_mode:,
|
|
78
79
|
assert_valid_local_activity:, on_eviction: nil
|
|
79
80
|
)
|
|
@@ -118,6 +119,7 @@ module Temporalio
|
|
|
118
119
|
t
|
|
119
120
|
end.freeze,
|
|
120
121
|
unsafe_workflow_io_enabled:,
|
|
122
|
+
patch_activation_callback:,
|
|
121
123
|
assert_valid_local_activity:
|
|
122
124
|
)
|
|
123
125
|
@state.on_eviction = on_eviction if on_eviction
|
|
@@ -145,6 +147,8 @@ module Temporalio
|
|
|
145
147
|
@state.logger.error(e)
|
|
146
148
|
end
|
|
147
149
|
|
|
150
|
+
# Returns whether completion was submitted to the bridge
|
|
151
|
+
# rubocop:disable Naming/PredicateMethod
|
|
148
152
|
def handle_activation_complete(runner:, activation_completion:, encoded:, completion_complete_queue:)
|
|
149
153
|
if @payload_encoding_visitor && !encoded
|
|
150
154
|
if Fiber.current_scheduler
|
|
@@ -154,12 +158,15 @@ module Temporalio
|
|
|
154
158
|
encode_activation_completion(runner, activation_completion)
|
|
155
159
|
end
|
|
156
160
|
end
|
|
161
|
+
false
|
|
157
162
|
else
|
|
158
163
|
@state.bridge_worker.async_complete_workflow_activation(
|
|
159
164
|
activation_completion.run_id, activation_completion.to_proto, completion_complete_queue
|
|
160
165
|
)
|
|
166
|
+
true
|
|
161
167
|
end
|
|
162
168
|
end
|
|
169
|
+
# rubocop:enable Naming/PredicateMethod
|
|
163
170
|
|
|
164
171
|
def on_shutdown_complete
|
|
165
172
|
@state.evict_all
|
|
@@ -194,7 +201,7 @@ module Temporalio
|
|
|
194
201
|
attr_reader :workflow_definitions, :bridge_worker, :logger, :metric_meter, :data_converter, :deadlock_timeout,
|
|
195
202
|
:illegal_calls, :namespace, :task_queue, :disable_eager_activity_execution,
|
|
196
203
|
:workflow_interceptors, :workflow_failure_exception_types, :unsafe_workflow_io_enabled,
|
|
197
|
-
:assert_valid_local_activity
|
|
204
|
+
:patch_activation_callback, :assert_valid_local_activity
|
|
198
205
|
|
|
199
206
|
attr_writer :on_eviction
|
|
200
207
|
|
|
@@ -202,7 +209,7 @@ module Temporalio
|
|
|
202
209
|
workflow_definitions:, bridge_worker:, logger:, metric_meter:, data_converter:, deadlock_timeout:,
|
|
203
210
|
illegal_calls:, namespace:, task_queue:, disable_eager_activity_execution:,
|
|
204
211
|
workflow_interceptors:, workflow_failure_exception_types:, unsafe_workflow_io_enabled:,
|
|
205
|
-
assert_valid_local_activity:
|
|
212
|
+
patch_activation_callback:, assert_valid_local_activity:
|
|
206
213
|
)
|
|
207
214
|
@workflow_definitions = workflow_definitions
|
|
208
215
|
@bridge_worker = bridge_worker
|
|
@@ -217,6 +224,7 @@ module Temporalio
|
|
|
217
224
|
@workflow_interceptors = workflow_interceptors
|
|
218
225
|
@workflow_failure_exception_types = workflow_failure_exception_types
|
|
219
226
|
@unsafe_workflow_io_enabled = unsafe_workflow_io_enabled
|
|
227
|
+
@patch_activation_callback = patch_activation_callback
|
|
220
228
|
@assert_valid_local_activity = assert_valid_local_activity
|
|
221
229
|
|
|
222
230
|
@running_workflows = {}
|
data/lib/temporalio/version.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'temporalio/internal/google_protobuf'
|
|
4
|
+
|
|
3
5
|
module Temporalio
|
|
4
6
|
class Worker
|
|
5
7
|
# Custom validator for validating illegal workflow calls.
|
|
@@ -44,7 +46,7 @@ module Temporalio
|
|
|
44
46
|
def self.known_safe_mutex_validator
|
|
45
47
|
@known_safe_mutex_validator ||= IllegalWorkflowCallValidator.new do
|
|
46
48
|
# Only Google Protobuf use of Mutex is known to be safe, fail unless any caller location path has protobuf
|
|
47
|
-
raise 'disallowed' unless
|
|
49
|
+
raise 'disallowed' unless ::Temporalio::Internal::GoogleProtobuf.in_call_stack?(caller_locations)
|
|
48
50
|
end
|
|
49
51
|
end
|
|
50
52
|
|
|
@@ -4,6 +4,7 @@ require 'etc'
|
|
|
4
4
|
require 'temporalio/internal/bridge/api'
|
|
5
5
|
require 'temporalio/internal/proto_utils'
|
|
6
6
|
require 'temporalio/internal/worker/workflow_instance'
|
|
7
|
+
require 'temporalio/internal/workflow_task_failure_error'
|
|
7
8
|
require 'temporalio/scoped_logger'
|
|
8
9
|
require 'temporalio/worker/thread_pool'
|
|
9
10
|
require 'temporalio/worker/workflow_executor'
|
|
@@ -215,6 +216,7 @@ module Temporalio
|
|
|
215
216
|
illegal_calls: worker_state.illegal_calls,
|
|
216
217
|
workflow_failure_exception_types: worker_state.workflow_failure_exception_types,
|
|
217
218
|
unsafe_workflow_io_enabled: worker_state.unsafe_workflow_io_enabled,
|
|
219
|
+
patch_activation_callback: worker_state.patch_activation_callback,
|
|
218
220
|
assert_valid_local_activity: worker_state.assert_valid_local_activity
|
|
219
221
|
)
|
|
220
222
|
)
|
|
@@ -229,7 +231,9 @@ module Temporalio
|
|
|
229
231
|
private_constant :Worker
|
|
230
232
|
|
|
231
233
|
# Error raised when a processing a workflow task takes more than the expected amount of time.
|
|
232
|
-
class DeadlockError < Exception
|
|
234
|
+
class DeadlockError < Exception # rubocop:disable Lint/InheritException
|
|
235
|
+
include Internal::WorkflowTaskFailureError
|
|
236
|
+
end
|
|
233
237
|
end
|
|
234
238
|
end
|
|
235
239
|
end
|
|
@@ -264,6 +264,7 @@ module Temporalio
|
|
|
264
264
|
workflow_failure_exception_types: options.workflow_failure_exception_types,
|
|
265
265
|
workflow_payload_codec_thread_pool: options.workflow_payload_codec_thread_pool,
|
|
266
266
|
unsafe_workflow_io_enabled: options.unsafe_workflow_io_enabled,
|
|
267
|
+
patch_activation_callback: nil,
|
|
267
268
|
debug_mode: options.debug_mode,
|
|
268
269
|
on_eviction: proc { |_, remove_job| @last_workflow_remove_job = remove_job }, # steep:ignore
|
|
269
270
|
assert_valid_local_activity: ->(_) {}
|
|
@@ -271,6 +272,8 @@ module Temporalio
|
|
|
271
272
|
|
|
272
273
|
# Create the runner
|
|
273
274
|
@runner = Internal::Worker::MultiRunner.new(workers: [self], shutdown_signals: [])
|
|
275
|
+
@pending_workflow_activations = 0
|
|
276
|
+
@pending_workflow_activation_completions = 0
|
|
274
277
|
end
|
|
275
278
|
|
|
276
279
|
# Replay a workflow history.
|
|
@@ -295,11 +298,12 @@ module Temporalio
|
|
|
295
298
|
history.workflow_id, Api::History::V1::History.new(events: history.events).to_proto
|
|
296
299
|
)
|
|
297
300
|
|
|
298
|
-
# Process events until workflow complete
|
|
299
|
-
until @last_workflow_remove_job
|
|
301
|
+
# Process events until workflow complete and all completions submitted to core have finished.
|
|
302
|
+
until @last_workflow_remove_job && workflow_activation_work_drained?
|
|
300
303
|
event = @runner.next_event
|
|
301
304
|
case event
|
|
302
305
|
when Internal::Worker::MultiRunner::Event::PollSuccess
|
|
306
|
+
@pending_workflow_activations += 1
|
|
303
307
|
@workflow_worker.handle_activation(
|
|
304
308
|
runner: @runner,
|
|
305
309
|
activation: Internal::Bridge::Api::WorkflowActivation::WorkflowActivation.decode(event.bytes),
|
|
@@ -308,14 +312,17 @@ module Temporalio
|
|
|
308
312
|
when Internal::Worker::MultiRunner::Event::WorkflowActivationDecoded
|
|
309
313
|
@workflow_worker.handle_activation(runner: @runner, activation: event.activation, decoded: true)
|
|
310
314
|
when Internal::Worker::MultiRunner::Event::WorkflowActivationComplete
|
|
311
|
-
@workflow_worker.handle_activation_complete(
|
|
315
|
+
if @workflow_worker.handle_activation_complete(
|
|
312
316
|
runner: @runner,
|
|
313
317
|
activation_completion: event.activation_completion,
|
|
314
318
|
encoded: event.encoded,
|
|
315
319
|
completion_complete_queue: event.completion_complete_queue
|
|
316
320
|
)
|
|
321
|
+
@pending_workflow_activations -= 1
|
|
322
|
+
@pending_workflow_activation_completions += 1
|
|
323
|
+
end
|
|
317
324
|
when Internal::Worker::MultiRunner::Event::WorkflowActivationCompletionComplete
|
|
318
|
-
|
|
325
|
+
@pending_workflow_activation_completions -= 1
|
|
319
326
|
else
|
|
320
327
|
raise "Unexpected event: #{event}"
|
|
321
328
|
end
|
|
@@ -365,6 +372,12 @@ module Temporalio
|
|
|
365
372
|
def _wait_all_complete
|
|
366
373
|
# Do nothing
|
|
367
374
|
end
|
|
375
|
+
|
|
376
|
+
private
|
|
377
|
+
|
|
378
|
+
def workflow_activation_work_drained?
|
|
379
|
+
@pending_workflow_activations.zero? && @pending_workflow_activation_completions.zero?
|
|
380
|
+
end
|
|
368
381
|
end
|
|
369
382
|
end
|
|
370
383
|
end
|