temporalio 1.5.0 → 1.7.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 +1469 -659
- data/Cargo.toml +1 -1
- data/Gemfile +9 -5
- data/README.md +59 -3
- data/Rakefile +1 -1
- data/ext/Cargo.toml +9 -3
- data/lib/temporalio/api/activity/v1/message.rb +1 -1
- data/lib/temporalio/api/batch/v1/message.rb +4 -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 +3 -1
- data/lib/temporalio/api/common/v1/message.rb +9 -1
- data/lib/temporalio/api/deployment/v1/message.rb +3 -1
- data/lib/temporalio/api/enums/v1/activity.rb +1 -1
- data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
- data/lib/temporalio/api/enums/v1/common.rb +2 -1
- data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
- data/lib/temporalio/api/enums/v1/time_skipping.rb +21 -0
- data/lib/temporalio/api/errordetails/v1/message.rb +2 -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/taskqueue/v1/message.rb +2 -1
- data/lib/temporalio/api/update/v1/message.rb +1 -1
- data/lib/temporalio/api/worker/v1/message.rb +13 -1
- data/lib/temporalio/api/workflow/v1/message.rb +3 -2
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +14 -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 +90 -0
- data/lib/temporalio/client/connection.rb +68 -3
- data/lib/temporalio/client/schedule.rb +4 -5
- data/lib/temporalio/client/workflow_execution.rb +2 -2
- data/lib/temporalio/client/workflow_handle.rb +2 -1
- data/lib/temporalio/client.rb +14 -11
- data/lib/temporalio/converters/data_converter.rb +1 -0
- data/lib/temporalio/converters/failure_converter.rb +7 -4
- data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +1 -1
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +1 -1
- data/lib/temporalio/internal/bridge/client.rb +8 -1
- data/lib/temporalio/internal/bridge/runtime.rb +4 -1
- data/lib/temporalio/internal/bridge/worker.rb +3 -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/illegal_call_tracer.rb +9 -0
- 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/runtime.rb +25 -7
- data/lib/temporalio/scoped_logger.rb +15 -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 +19 -4
- data/lib/temporalio/worker.rb +54 -9
- data/lib/temporalio/workflow/future.rb +5 -0
- data/lib/temporalio/workflow/nexus_operation_cancellation_type.rb +4 -2
- data/lib/temporalio/workflow.rb +16 -9
- 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 +1539 -0
- data/rbi/temporalio/api/batch/v1/message.rbi +1510 -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 +2675 -0
- data/rbi/temporalio/api/common/v1/grpc_status.rbi +92 -0
- data/rbi/temporalio/api/common/v1/message.rbi +3457 -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 +63 -0
- data/rbi/temporalio/api/enums/v1/batch_operation.rbi +56 -0
- data/rbi/temporalio/api/enums/v1/command_type.rbi +36 -0
- data/rbi/temporalio/api/enums/v1/common.rbi +199 -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 +159 -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/time_skipping.rbi +22 -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 +1446 -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 +10757 -0
- data/rbi/temporalio/api/namespace/v1/message.rbi +1135 -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 +2571 -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 +2305 -0
- data/rbi/temporalio/api/workflow/v1/message.rbi +5031 -0
- data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +31061 -0
- data/rbi/temporalio/api/workflowservice/v1/service.rbi +3 -0
- data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +1579 -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 +380 -0
- data/rbi/temporalio/client/connection.rbi +286 -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 +25 -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 +306 -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 +312 -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 +251 -0
- data/rbi/temporalio/internal/bridge/testing.rbi +109 -0
- data/rbi/temporalio/internal/bridge/worker.rbi +252 -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 +194 -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 +265 -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 +754 -0
- data/sig/temporalio/api/batch/v1/message.rbs +680 -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 +1221 -0
- data/sig/temporalio/api/common/v1/grpc_status.rbs +59 -0
- data/sig/temporalio/api/common/v1/message.rbs +1439 -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 +138 -0
- data/sig/temporalio/api/enums/v1/batch_operation.rbs +110 -0
- data/sig/temporalio/api/enums/v1/command_type.rbs +74 -0
- data/sig/temporalio/api/enums/v1/common.rbs +294 -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 +293 -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/time_skipping.rbs +58 -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 +551 -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 +4938 -0
- data/sig/temporalio/api/namespace/v1/message.rbs +508 -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 +1057 -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 +1126 -0
- data/sig/temporalio/api/workflow/v1/message.rbs +2332 -0
- data/sig/temporalio/api/workflowservice/v1/request_response.rbs +13006 -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 +503 -0
- data/sig/temporalio/client/connection.rbs +156 -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 +15 -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 +173 -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 +156 -0
- data/sig/temporalio/internal/bridge/api.rbs +8 -0
- data/sig/temporalio/internal/bridge/client.rbs +148 -0
- data/sig/temporalio/internal/bridge/metric.rbs +28 -0
- data/sig/temporalio/internal/bridge/runtime.rbs +103 -0
- data/sig/temporalio/internal/bridge/testing.rbs +91 -0
- data/sig/temporalio/internal/bridge/worker.rbs +203 -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 +129 -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 +174 -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 +448 -2
|
@@ -193,12 +193,11 @@ module Temporalio
|
|
|
193
193
|
# @return [String] Task queue to run the workflow on.
|
|
194
194
|
# @!attribute static_summary
|
|
195
195
|
# @return [String, nil] Fixed single-line summary for this workflow execution that may appear in CLI/UI.
|
|
196
|
-
# This can be in single-line Temporal markdown format.
|
|
196
|
+
# This can be in single-line Temporal markdown format.
|
|
197
197
|
# @!attribute static_details
|
|
198
198
|
# @return [String, nil] Fixed details for this workflow execution that may appear in CLI/UI. This can be in
|
|
199
199
|
# Temporal markdown format and can be multiple lines. This is a fixed value on the workflow that cannot be
|
|
200
|
-
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
201
|
-
# currently experimental.
|
|
200
|
+
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
202
201
|
# @!attribute execution_timeout
|
|
203
202
|
# @return [Float, nil] Total workflow execution timeout in seconds including retries and continue as new.
|
|
204
203
|
# @!attribute run_timeout
|
|
@@ -231,11 +230,11 @@ module Temporalio
|
|
|
231
230
|
# @param id [String] Unique identifier for the workflow execution.
|
|
232
231
|
# @param task_queue [String] Task queue to run the workflow on.
|
|
233
232
|
# @param static_summary [String, nil] Fixed single-line summary for this workflow execution that may appear
|
|
234
|
-
# in CLI/UI. This can be in single-line Temporal markdown format.
|
|
233
|
+
# in CLI/UI. This can be in single-line Temporal markdown format.
|
|
235
234
|
# @param static_details [String, nil] Fixed details for this workflow execution that may appear in CLI/UI.
|
|
236
235
|
# This can be in Temporal markdown format and can be multiple lines. This is a fixed value on the workflow
|
|
237
236
|
# that cannot be updated. For details that can be updated, use {Workflow.current_details=} within the
|
|
238
|
-
# workflow.
|
|
237
|
+
# workflow.
|
|
239
238
|
# @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and
|
|
240
239
|
# continue as new.
|
|
241
240
|
# @param run_timeout [Float, nil] Timeout of a single workflow run in seconds.
|
|
@@ -96,12 +96,12 @@ module Temporalio
|
|
|
96
96
|
@data_converter = data_converter
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
# @return [String, nil] Static summary configured on the workflow.
|
|
99
|
+
# @return [String, nil] Static summary configured on the workflow.
|
|
100
100
|
def static_summary
|
|
101
101
|
user_metadata.first
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
-
# @return [String, nil] Static details configured on the workflow.
|
|
104
|
+
# @return [String, nil] Static details configured on the workflow.
|
|
105
105
|
def static_details
|
|
106
106
|
user_metadata.last
|
|
107
107
|
end
|
data/lib/temporalio/client.rb
CHANGED
|
@@ -99,6 +99,9 @@ module Temporalio
|
|
|
99
99
|
# @param dns_load_balancing [Connection::DnsLoadBalancingOptions, nil] DNS load balancing options for the
|
|
100
100
|
# connection. Default is +nil+ (disabled). Silently disabled when +http_connect_proxy+ is set, since the two are
|
|
101
101
|
# mutually exclusive.
|
|
102
|
+
# @param grpc_compression [Connection::GrpcCompressionOptions::Gzip, Connection::GrpcCompressionOptions::None]
|
|
103
|
+
# Transport-level gRPC compression. Defaults to gzip. Set to {Connection::GrpcCompressionOptions::None} to opt
|
|
104
|
+
# out.
|
|
102
105
|
#
|
|
103
106
|
# @return [Client] Connected client.
|
|
104
107
|
#
|
|
@@ -121,7 +124,8 @@ module Temporalio
|
|
|
121
124
|
http_connect_proxy: nil,
|
|
122
125
|
runtime: Runtime.default,
|
|
123
126
|
lazy_connect: false,
|
|
124
|
-
dns_load_balancing: nil
|
|
127
|
+
dns_load_balancing: nil,
|
|
128
|
+
grpc_compression: Connection::GrpcCompressionOptions::Gzip.new
|
|
125
129
|
)
|
|
126
130
|
# Prepare connection. The connection var is needed here so it can be used in callback for plugin.
|
|
127
131
|
base_connection = nil
|
|
@@ -138,16 +142,16 @@ module Temporalio
|
|
|
138
142
|
|
|
139
143
|
# Root next call
|
|
140
144
|
next_call_called = false
|
|
141
|
-
next_call = proc do |
|
|
145
|
+
next_call = proc do |call_options|
|
|
142
146
|
raise 'next_call called more than once' if next_call_called
|
|
143
147
|
|
|
144
148
|
next_call_called = true
|
|
145
|
-
block&.call(
|
|
149
|
+
block&.call(call_options)
|
|
146
150
|
base_connection
|
|
147
151
|
end
|
|
148
152
|
# Go backwards, building up new next_call invocations on plugins
|
|
149
|
-
next_call = plugins.reverse_each.reduce(next_call) do |
|
|
150
|
-
proc { |
|
|
153
|
+
next_call = plugins.reverse_each.reduce(next_call) do |inner_next_call, plugin|
|
|
154
|
+
proc { |call_options| plugin.connect_client(call_options, inner_next_call) }
|
|
151
155
|
end
|
|
152
156
|
# Do call
|
|
153
157
|
final_connection = next_call.call(options)
|
|
@@ -168,6 +172,7 @@ module Temporalio
|
|
|
168
172
|
runtime:,
|
|
169
173
|
lazy_connect:,
|
|
170
174
|
dns_load_balancing:,
|
|
175
|
+
grpc_compression:,
|
|
171
176
|
around_connect: # steep:ignore
|
|
172
177
|
)
|
|
173
178
|
|
|
@@ -282,11 +287,10 @@ module Temporalio
|
|
|
282
287
|
# @param id [String] Unique identifier for the workflow execution.
|
|
283
288
|
# @param task_queue [String] Task queue to run the workflow on.
|
|
284
289
|
# @param static_summary [String, nil] Fixed single-line summary for this workflow execution that may appear in
|
|
285
|
-
# CLI/UI. This can be in single-line Temporal markdown format.
|
|
290
|
+
# CLI/UI. This can be in single-line Temporal markdown format.
|
|
286
291
|
# @param static_details [String, nil] Fixed details for this workflow execution that may appear in CLI/UI. This can
|
|
287
292
|
# be in Temporal markdown format and can be multiple lines. This is a fixed value on the workflow that cannot be
|
|
288
|
-
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
289
|
-
# experimental.
|
|
293
|
+
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
290
294
|
# @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and continue
|
|
291
295
|
# as new.
|
|
292
296
|
# @param run_timeout [Float, nil] Timeout of a single workflow run in seconds.
|
|
@@ -375,11 +379,10 @@ module Temporalio
|
|
|
375
379
|
# @param id [String] Unique identifier for the workflow execution.
|
|
376
380
|
# @param task_queue [String] Task queue to run the workflow on.
|
|
377
381
|
# @param static_summary [String, nil] Fixed single-line summary for this workflow execution that may appear in
|
|
378
|
-
# CLI/UI. This can be in single-line Temporal markdown format.
|
|
382
|
+
# CLI/UI. This can be in single-line Temporal markdown format.
|
|
379
383
|
# @param static_details [String, nil] Fixed details for this workflow execution that may appear in CLI/UI. This can
|
|
380
384
|
# be in Temporal markdown format and can be multiple lines. This is a fixed value on the workflow that cannot be
|
|
381
|
-
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
382
|
-
# experimental.
|
|
385
|
+
# updated. For details that can be updated, use {Workflow.current_details=} within the workflow.
|
|
383
386
|
# @param execution_timeout [Float, nil] Total workflow execution timeout in seconds including retries and continue
|
|
384
387
|
# as new.
|
|
385
388
|
# @param run_timeout [Float, nil] Timeout of a single workflow run in seconds.
|
|
@@ -21,8 +21,11 @@ module Temporalio
|
|
|
21
21
|
#
|
|
22
22
|
# @param encode_common_attributes [Boolean] If +true+, the message and stack trace of the failure will be moved
|
|
23
23
|
# into the encoded attribute section of the failure which can be encoded with a codec.
|
|
24
|
-
|
|
24
|
+
# @param process_common_attributes [Proc, nil] If present, called with the message and stack trace of failure
|
|
25
|
+
# before they are converted to a payload.
|
|
26
|
+
def initialize(encode_common_attributes: false, process_common_attributes: nil)
|
|
25
27
|
@encode_common_attributes = encode_common_attributes
|
|
28
|
+
@process_common_attributes = process_common_attributes
|
|
26
29
|
end
|
|
27
30
|
|
|
28
31
|
# Convert a Ruby error to a Temporal failure.
|
|
@@ -104,9 +107,9 @@ module Temporalio
|
|
|
104
107
|
|
|
105
108
|
# If encoding common attributes, move message and stack trace
|
|
106
109
|
if @encode_common_attributes
|
|
107
|
-
failure.
|
|
108
|
-
|
|
109
|
-
)
|
|
110
|
+
common_attributes = { message: failure.message, stack_trace: failure.stack_trace }
|
|
111
|
+
common_attributes = @process_common_attributes.call(common_attributes) if @process_common_attributes
|
|
112
|
+
failure.encoded_attributes = converter.to_payload(common_attributes)
|
|
110
113
|
failure.message = 'Encoded failure'
|
|
111
114
|
failure.stack_trace = ''
|
|
112
115
|
end
|
|
@@ -7,7 +7,7 @@ require 'google/protobuf'
|
|
|
7
7
|
require 'google/protobuf/duration_pb'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
descriptor_data = "\n%temporal/sdk/core/common/common.proto\x12\x0e\x63oresdk.common\x1a\x1egoogle/protobuf/duration.proto\"U\n\x1bNamespacedWorkflowExecution\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\"D\n\x17WorkerDeploymentVersion\x12\x17\n\x0f\x64\x65ployment_name\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02\x42,\xea\x02)Temporalio::Internal::Bridge::Api::Commonb\x06proto3"
|
|
10
|
+
descriptor_data = "\n%temporal/sdk/core/common/common.proto\x12\x0e\x63oresdk.common\x1a\x1egoogle/protobuf/duration.proto\"U\n\x1bNamespacedWorkflowExecution\x12\x11\n\tnamespace\x18\x01 \x01(\t\x12\x13\n\x0bworkflow_id\x18\x02 \x01(\t\x12\x0e\n\x06run_id\x18\x03 \x01(\t\"D\n\x17WorkerDeploymentVersion\x12\x17\n\x0f\x64\x65ployment_name\x18\x01 \x01(\t\x12\x10\n\x08\x62uild_id\x18\x02 \x01(\t\"\x92\x01\n\x16\x45xternalStorageMetrics\x12\x15\n\rpayload_count\x18\x01 \x01(\x04\x12\x18\n\x10total_size_bytes\x18\x02 \x01(\x04\x12\x31\n\x0etotal_duration\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0c\x64river_names\x18\x04 \x03(\t*@\n\x10VersioningIntent\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x0e\n\nCOMPATIBLE\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02\x42,\xea\x02)Temporalio::Internal::Bridge::Api::Commonb\x06proto3"
|
|
11
11
|
|
|
12
12
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
13
13
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -19,6 +19,7 @@ module Temporalio
|
|
|
19
19
|
module Common
|
|
20
20
|
NamespacedWorkflowExecution = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.common.NamespacedWorkflowExecution").msgclass
|
|
21
21
|
WorkerDeploymentVersion = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.common.WorkerDeploymentVersion").msgclass
|
|
22
|
+
ExternalStorageMetrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.common.ExternalStorageMetrics").msgclass
|
|
22
23
|
VersioningIntent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("coresdk.common.VersioningIntent").enummodule
|
|
23
24
|
end
|
|
24
25
|
end
|
|
@@ -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)
|
|
@@ -11,7 +11,7 @@ require 'temporalio/internal/bridge/api/common/common'
|
|
|
11
11
|
require 'temporalio/internal/bridge/api/workflow_commands/workflow_commands'
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
descriptor_data = "\n?temporal/sdk/core/workflow_completion/workflow_completion.proto\x12\x1b\x63oresdk.workflow_completion\x1a%temporal/api/failure/v1/message.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/sdk/core/common/common.proto\x1a;temporal/sdk/core/workflow_commands/workflow_commands.proto\"\
|
|
14
|
+
descriptor_data = "\n?temporal/sdk/core/workflow_completion/workflow_completion.proto\x12\x1b\x63oresdk.workflow_completion\x1a%temporal/api/failure/v1/message.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/sdk/core/common/common.proto\x1a;temporal/sdk/core/workflow_commands/workflow_commands.proto\"\xbe\x02\n\x1cWorkflowActivationCompletion\x12\x0e\n\x06run_id\x18\x01 \x01(\t\x12:\n\nsuccessful\x18\x02 \x01(\x0b\x32$.coresdk.workflow_completion.SuccessH\x00\x12\x36\n\x06\x66\x61iled\x18\x03 \x01(\x0b\x32$.coresdk.workflow_completion.FailureH\x00\x12H\n\x18payload_download_metrics\x18\x04 \x01(\x0b\x32&.coresdk.common.ExternalStorageMetrics\x12\x46\n\x16payload_upload_metrics\x18\x05 \x01(\x0b\x32&.coresdk.common.ExternalStorageMetricsB\x08\n\x06status\"\xac\x01\n\x07Success\x12<\n\x08\x63ommands\x18\x01 \x03(\x0b\x32*.coresdk.workflow_commands.WorkflowCommand\x12\x1b\n\x13used_internal_flags\x18\x06 \x03(\r\x12\x46\n\x13versioning_behavior\x18\x07 \x01(\x0e\x32).temporal.api.enums.v1.VersioningBehavior\"\x81\x01\n\x07\x46\x61ilure\x12\x31\n\x07\x66\x61ilure\x18\x01 \x01(\x0b\x32 .temporal.api.failure.v1.Failure\x12\x43\n\x0b\x66orce_cause\x18\x02 \x01(\x0e\x32..temporal.api.enums.v1.WorkflowTaskFailedCauseB8\xea\x02\x35Temporalio::Internal::Bridge::Api::WorkflowCompletionb\x06proto3"
|
|
15
15
|
|
|
16
16
|
pool = ::Google::Protobuf::DescriptorPool.generated_pool
|
|
17
17
|
pool.add_serialized_file(descriptor_data)
|
|
@@ -17,7 +17,10 @@ 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,
|
|
22
|
+
:payloads_warn_size,
|
|
23
|
+
:memo_warn_size
|
|
21
24
|
)
|
|
22
25
|
|
|
23
26
|
TLSOptions = Struct.new(
|
|
@@ -51,6 +54,10 @@ module Temporalio
|
|
|
51
54
|
:resolution_interval
|
|
52
55
|
)
|
|
53
56
|
|
|
57
|
+
GrpcCompressionOptions = Struct.new(
|
|
58
|
+
:codec
|
|
59
|
+
)
|
|
60
|
+
|
|
54
61
|
def self.new(runtime, options)
|
|
55
62
|
queue = Queue.new
|
|
56
63
|
async_new(runtime, options, queue)
|
|
@@ -6,7 +6,9 @@ module Temporalio
|
|
|
6
6
|
class Runtime
|
|
7
7
|
Options = Struct.new(
|
|
8
8
|
:telemetry,
|
|
9
|
-
:worker_heartbeat_interval
|
|
9
|
+
:worker_heartbeat_interval,
|
|
10
|
+
:disable_environment_info,
|
|
11
|
+
:runtime_version
|
|
10
12
|
)
|
|
11
13
|
|
|
12
14
|
TelemetryOptions = Struct.new(
|
|
@@ -16,6 +18,7 @@ module Temporalio
|
|
|
16
18
|
|
|
17
19
|
LoggingOptions = Struct.new(
|
|
18
20
|
:log_filter,
|
|
21
|
+
:log_format,
|
|
19
22
|
:forward_to # Optional
|
|
20
23
|
)
|
|
21
24
|
|
|
@@ -24,11 +24,13 @@ module Temporalio
|
|
|
24
24
|
:default_heartbeat_throttle_interval,
|
|
25
25
|
:max_worker_activities_per_second,
|
|
26
26
|
:max_task_queue_activities_per_second,
|
|
27
|
+
:max_eager_activity_reservations_per_workflow_task,
|
|
27
28
|
:graceful_shutdown_period,
|
|
28
29
|
:nondeterminism_as_workflow_fail,
|
|
29
30
|
:nondeterminism_as_workflow_fail_for_types,
|
|
30
31
|
:deployment_options,
|
|
31
|
-
:plugins
|
|
32
|
+
:plugins,
|
|
33
|
+
:disable_payload_error_limit
|
|
32
34
|
)
|
|
33
35
|
|
|
34
36
|
TunerOptions = Struct.new(
|
|
@@ -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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'temporalio/internal/workflow_task_failure_error'
|
|
3
4
|
require 'temporalio/worker/illegal_workflow_call_validator'
|
|
4
5
|
require 'temporalio/workflow'
|
|
5
6
|
|
|
@@ -92,6 +93,11 @@ module Temporalio
|
|
|
92
93
|
))
|
|
93
94
|
nil
|
|
94
95
|
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
96
|
+
# Errors that invalidate the whole workflow task (e.g. an async DeadlockError landing while the
|
|
97
|
+
# validator runs) must propagate with their class intact so they fail the task instead of being
|
|
98
|
+
# flattened into a NondeterminismError message that futures may store
|
|
99
|
+
raise if e.is_a?(Internal::WorkflowTaskFailureError)
|
|
100
|
+
|
|
95
101
|
", reason: #{e}"
|
|
96
102
|
end
|
|
97
103
|
else
|
|
@@ -108,6 +114,9 @@ module Temporalio
|
|
|
108
114
|
))
|
|
109
115
|
nil
|
|
110
116
|
rescue Exception => e # rubocop:disable Lint/RescueException
|
|
117
|
+
# See workflow-task-failure comment on the class-level validator rescue above
|
|
118
|
+
raise if e.is_a?(Internal::WorkflowTaskFailureError)
|
|
119
|
+
|
|
111
120
|
", reason: #{e}"
|
|
112
121
|
end
|
|
113
122
|
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
|