temporalio 0.2.0-arm64-darwin → 0.4.0-arm64-darwin
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/.yardopts +2 -0
- data/Gemfile +7 -3
- data/Rakefile +10 -296
- data/lib/temporalio/activity/complete_async_error.rb +1 -1
- data/lib/temporalio/activity/context.rb +18 -2
- data/lib/temporalio/activity/definition.rb +180 -65
- data/lib/temporalio/activity/info.rb +25 -21
- data/lib/temporalio/activity.rb +2 -59
- data/lib/temporalio/api/activity/v1/message.rb +25 -0
- data/lib/temporalio/api/batch/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/account/v1/message.rb +28 -0
- data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +34 -1
- data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +1 -1
- data/lib/temporalio/api/cloud/identity/v1/message.rb +6 -1
- data/lib/temporalio/api/cloud/namespace/v1/message.rb +8 -1
- data/lib/temporalio/api/cloud/nexus/v1/message.rb +31 -0
- data/lib/temporalio/api/cloud/operation/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/region/v1/message.rb +2 -1
- data/lib/temporalio/api/cloud/resource/v1/message.rb +23 -0
- data/lib/temporalio/api/cloud/sink/v1/message.rb +24 -0
- data/lib/temporalio/api/cloud/usage/v1/message.rb +31 -0
- data/lib/temporalio/api/command/v1/message.rb +1 -1
- data/lib/temporalio/api/common/v1/message.rb +8 -1
- data/lib/temporalio/api/deployment/v1/message.rb +38 -0
- data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
- data/lib/temporalio/api/enums/v1/common.rb +1 -1
- data/lib/temporalio/api/enums/v1/deployment.rb +23 -0
- data/lib/temporalio/api/enums/v1/event_type.rb +1 -1
- data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
- data/lib/temporalio/api/enums/v1/nexus.rb +21 -0
- data/lib/temporalio/api/enums/v1/reset.rb +1 -1
- data/lib/temporalio/api/enums/v1/workflow.rb +2 -1
- data/lib/temporalio/api/errordetails/v1/message.rb +3 -1
- data/lib/temporalio/api/failure/v1/message.rb +3 -1
- data/lib/temporalio/api/history/v1/message.rb +3 -1
- data/lib/temporalio/api/nexus/v1/message.rb +3 -2
- data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
- data/lib/temporalio/api/payload_visitor.rb +1581 -0
- data/lib/temporalio/api/query/v1/message.rb +2 -1
- data/lib/temporalio/api/schedule/v1/message.rb +2 -1
- data/lib/temporalio/api/taskqueue/v1/message.rb +4 -1
- data/lib/temporalio/api/testservice/v1/request_response.rb +31 -0
- data/lib/temporalio/api/testservice/v1/service.rb +23 -0
- data/lib/temporalio/api/workflow/v1/message.rb +9 -1
- data/lib/temporalio/api/workflowservice/v1/request_response.rb +46 -2
- data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
- data/lib/temporalio/api.rb +2 -0
- data/lib/temporalio/cancellation.rb +34 -14
- data/lib/temporalio/client/async_activity_handle.rb +12 -37
- data/lib/temporalio/client/connection/cloud_service.rb +309 -231
- data/lib/temporalio/client/connection/operator_service.rb +36 -84
- data/lib/temporalio/client/connection/service.rb +6 -5
- data/lib/temporalio/client/connection/test_service.rb +111 -0
- data/lib/temporalio/client/connection/workflow_service.rb +474 -441
- data/lib/temporalio/client/connection.rb +90 -44
- data/lib/temporalio/client/interceptor.rb +199 -60
- data/lib/temporalio/client/schedule.rb +991 -0
- data/lib/temporalio/client/schedule_handle.rb +126 -0
- data/lib/temporalio/client/with_start_workflow_operation.rb +115 -0
- data/lib/temporalio/client/workflow_execution.rb +26 -10
- data/lib/temporalio/client/workflow_handle.rb +41 -98
- data/lib/temporalio/client/workflow_update_handle.rb +3 -5
- data/lib/temporalio/client.rb +247 -44
- data/lib/temporalio/common_enums.rb +17 -0
- data/lib/temporalio/contrib/open_telemetry.rb +470 -0
- data/lib/temporalio/converters/data_converter.rb +4 -7
- data/lib/temporalio/converters/failure_converter.rb +5 -3
- data/lib/temporalio/converters/payload_converter/composite.rb +4 -0
- data/lib/temporalio/converters/payload_converter.rb +6 -8
- data/lib/temporalio/converters/raw_value.rb +20 -0
- data/lib/temporalio/error/failure.rb +1 -1
- data/lib/temporalio/error.rb +11 -2
- data/lib/temporalio/internal/bridge/3.2/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/3.3/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/{3.1 → 3.4}/temporalio_bridge.bundle +0 -0
- data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +1 -1
- data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
- data/lib/temporalio/internal/bridge/api/core_interface.rb +5 -1
- data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +33 -0
- data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +5 -1
- data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +4 -1
- data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +2 -1
- data/lib/temporalio/internal/bridge/client.rb +11 -6
- data/lib/temporalio/internal/bridge/runtime.rb +3 -0
- data/lib/temporalio/internal/bridge/testing.rb +23 -0
- data/lib/temporalio/internal/bridge/worker.rb +2 -0
- data/lib/temporalio/internal/bridge.rb +1 -1
- data/lib/temporalio/internal/client/implementation.rb +468 -71
- data/lib/temporalio/internal/metric.rb +122 -0
- data/lib/temporalio/internal/proto_utils.rb +118 -7
- data/lib/temporalio/internal/worker/activity_worker.rb +69 -29
- data/lib/temporalio/internal/worker/multi_runner.rb +53 -9
- data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +54 -0
- data/lib/temporalio/internal/worker/workflow_instance/context.rb +383 -0
- data/lib/temporalio/internal/worker/workflow_instance/details.rb +46 -0
- data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +32 -0
- data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +22 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_execution.rb +25 -0
- data/lib/temporalio/internal/worker/workflow_instance/handler_hash.rb +41 -0
- data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +97 -0
- data/lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb +62 -0
- data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +400 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +37 -0
- data/lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb +40 -0
- data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +183 -0
- data/lib/temporalio/internal/worker/workflow_instance.rb +774 -0
- data/lib/temporalio/internal/worker/workflow_worker.rb +239 -0
- data/lib/temporalio/metric.rb +109 -0
- data/lib/temporalio/retry_policy.rb +37 -14
- data/lib/temporalio/runtime/metric_buffer.rb +94 -0
- data/lib/temporalio/runtime.rb +160 -79
- data/lib/temporalio/search_attributes.rb +93 -37
- data/lib/temporalio/testing/activity_environment.rb +44 -16
- data/lib/temporalio/testing/workflow_environment.rb +276 -7
- data/lib/temporalio/version.rb +1 -1
- data/lib/temporalio/worker/activity_executor/thread_pool.rb +9 -217
- data/lib/temporalio/worker/activity_executor.rb +3 -3
- data/lib/temporalio/worker/interceptor.rb +343 -66
- data/lib/temporalio/worker/thread_pool.rb +237 -0
- data/lib/temporalio/worker/tuner.rb +38 -0
- data/lib/temporalio/worker/workflow_executor/thread_pool.rb +235 -0
- data/lib/temporalio/worker/workflow_executor.rb +26 -0
- data/lib/temporalio/worker/workflow_replayer.rb +350 -0
- data/lib/temporalio/worker.rb +235 -58
- data/lib/temporalio/workflow/activity_cancellation_type.rb +20 -0
- data/lib/temporalio/workflow/child_workflow_cancellation_type.rb +21 -0
- data/lib/temporalio/workflow/child_workflow_handle.rb +43 -0
- data/lib/temporalio/workflow/definition.rb +598 -0
- data/lib/temporalio/workflow/external_workflow_handle.rb +41 -0
- data/lib/temporalio/workflow/future.rb +151 -0
- data/lib/temporalio/workflow/handler_unfinished_policy.rb +13 -0
- data/lib/temporalio/workflow/info.rb +104 -0
- data/lib/temporalio/workflow/parent_close_policy.rb +19 -0
- data/lib/temporalio/workflow/update_info.rb +20 -0
- data/lib/temporalio/workflow.rb +575 -0
- data/lib/temporalio/workflow_history.rb +26 -1
- data/lib/temporalio.rb +4 -0
- data/temporalio.gemspec +4 -3
- metadata +75 -8
| @@ -8,7 +8,7 @@ require 'temporalio/api/workflowservice/v1/request_response' | |
| 8 8 | 
             
            require 'google/api/annotations_pb'
         | 
| 9 9 |  | 
| 10 10 |  | 
| 11 | 
            -
            descriptor_data = "\n-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a\x36temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xbb\x63\n\x0fWorkflowService\x12\xa2\x01\n\x11RegisterNamespace\x12\x39.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"\x16\x82\xd3\xe4\x93\x02\x10\"\x0b/namespaces:\x01*\x12\xab\x01\n\x11\x44\x65scribeNamespace\x12\x39.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/namespaces/{namespace}\x12\x96\x01\n\x0eListNamespaces\x12\x36.temporal.api.workflowservice.v1.ListNamespacesRequest\x1a\x37.temporal.api.workflowservice.v1.ListNamespacesResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/namespaces\x12\xaf\x01\n\x0fUpdateNamespace\x12\x37.temporal.api.workflowservice.v1.UpdateNamespaceRequest\x1a\x38.temporal.api.workflowservice.v1.UpdateNamespaceResponse\")\x82\xd3\xe4\x93\x02#\"\x1e/namespaces/{namespace}/update:\x01*\x12\x8f\x01\n\x12\x44\x65precateNamespace\x12:.temporal.api.workflowservice.v1.DeprecateNamespaceRequest\x1a;.temporal.api.workflowservice.v1.DeprecateNamespaceResponse\"\x00\x12\xd5\x01\n\x16StartWorkflowExecution\x12>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/workflows/{workflow_id}:\x01*\x12\xdc\x01\n\x15\x45xecuteMultiOperation\x12=.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest\x1a>.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse\"D\x82\xd3\xe4\x93\x02>\"9/namespaces/{namespace}/workflows/execute-multi-operation:\x01*\x12\xf3\x01\n\x1bGetWorkflowExecutionHistory\x12\x43.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest\x1a\x44.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12\x90\x02\n\"GetWorkflowExecutionHistoryReverse\x12J.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest\x1aK.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12\x98\x01\n\x15PollWorkflowTaskQueue\x12=.temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\x00\x12\xad\x01\n\x1cRespondWorkflowTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse\"\x00\x12\xa4\x01\n\x19RespondWorkflowTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse\"\x00\x12\x98\x01\n\x15PollActivityTaskQueue\x12=.temporal.api.workflowservice.v1.PollActivityTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\"\x00\x12\xe1\x01\n\x1bRecordActivityTaskHeartbeat\x12\x43.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest\x1a\x44.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse\"7\x82\xd3\xe4\x93\x02\x31\",/namespaces/{namespace}/activities/heartbeat:\x01*\x12\xf3\x01\n\x1fRecordActivityTaskHeartbeatById\x12G.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest\x1aH.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse\"=\x82\xd3\xe4\x93\x02\x37\"2/namespaces/{namespace}/activities/heartbeat-by-id:\x01*\x12\xe3\x01\n\x1cRespondActivityTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/namespaces/{namespace}/activities/complete:\x01*\x12\xf5\x01\n RespondActivityTaskCompletedById\x12H.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest\x1aI.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse\"<\x82\xd3\xe4\x93\x02\x36\"1/namespaces/{namespace}/activities/complete-by-id:\x01*\x12\xd6\x01\n\x19RespondActivityTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse\"2\x82\xd3\xe4\x93\x02,\"\'/namespaces/{namespace}/activities/fail:\x01*\x12\xe8\x01\n\x1dRespondActivityTaskFailedById\x12\x45.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest\x1a\x46.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse\"8\x82\xd3\xe4\x93\x02\x32\"-/namespaces/{namespace}/activities/fail-by-id:\x01*\x12\xde\x01\n\x1bRespondActivityTaskCanceled\x12\x43.temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest\x1a\x44.temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse\"4\x82\xd3\xe4\x93\x02.\")/namespaces/{namespace}/activities/cancel:\x01*\x12\xf0\x01\n\x1fRespondActivityTaskCanceledById\x12G.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest\x1aH.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/activities/cancel-by-id:\x01*\x12\x87\x02\n\x1eRequestCancelWorkflowExecution\x12\x46.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse\"T\x82\xd3\xe4\x93\x02N\"I/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:\x01*\x12\x80\x02\n\x17SignalWorkflowExecution\x12?.temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse\"b\x82\xd3\xe4\x93\x02\\\"W/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}:\x01*\x12\x93\x02\n SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"Z\x82\xd3\xe4\x93\x02T\"O/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}:\x01*\x12\xee\x01\n\x16ResetWorkflowExecution\x12>.temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"S\x82\xd3\xe4\x93\x02M\"H/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:\x01*\x12\xfe\x01\n\x1aTerminateWorkflowExecution\x12\x42.temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest\x1a\x43.temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse\"W\x82\xd3\xe4\x93\x02Q\"L/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:\x01*\x12\x9e\x01\n\x17\x44\x65leteWorkflowExecution\x12?.temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse\"\x00\x12\xa7\x01\n\x1aListOpenWorkflowExecutions\x12\x42.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest\x1a\x43.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse\"\x00\x12\xad\x01\n\x1cListClosedWorkflowExecutions\x12\x44.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest\x1a\x45.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse\"\x00\x12\xc4\x01\n\x16ListWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse\")\x82\xd3\xe4\x93\x02#\x12!/namespaces/{namespace}/workflows\x12\xe5\x01\n\x1eListArchivedWorkflowExecutions\x12\x46.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest\x1aG.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/namespaces/{namespace}/archived-workflows\x12\x9b\x01\n\x16ScanWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse\"\x00\x12\xcc\x01\n\x17\x43ountWorkflowExecutions\x12?.temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse\".\x82\xd3\xe4\x93\x02(\x12&/namespaces/{namespace}/workflow-count\x12\x92\x01\n\x13GetSearchAttributes\x12;.temporal.api.workflowservice.v1.GetSearchAttributesRequest\x1a<.temporal.api.workflowservice.v1.GetSearchAttributesResponse\"\x00\x12\xa4\x01\n\x19RespondQueryTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse\"\x00\x12\x95\x01\n\x14ResetStickyTaskQueue\x12<.temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest\x1a=.temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse\"\x00\x12\xdd\x01\n\rQueryWorkflow\x12\x35.temporal.api.workflowservice.v1.QueryWorkflowRequest\x1a\x36.temporal.api.workflowservice.v1.QueryWorkflowResponse\"]\x82\xd3\xe4\x93\x02W\"R/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:\x01*\x12\xe5\x01\n\x19\x44\x65scribeWorkflowExecution\x12\x41.temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest\x1a\x42.temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/namespaces/{namespace}/workflows/{execution.workflow_id}\x12\xc9\x01\n\x11\x44\x65scribeTaskQueue\x12\x39.temporal.api.workflowservice.v1.DescribeTaskQueueRequest\x1a:.temporal.api.workflowservice.v1.DescribeTaskQueueResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/namespaces/{namespace}/task-queues/{task_queue.name}\x12\x98\x01\n\x0eGetClusterInfo\x12\x36.temporal.api.workflowservice.v1.GetClusterInfoRequest\x1a\x37.temporal.api.workflowservice.v1.GetClusterInfoResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/cluster-info\x12\x94\x01\n\rGetSystemInfo\x12\x35.temporal.api.workflowservice.v1.GetSystemInfoRequest\x1a\x36.temporal.api.workflowservice.v1.GetSystemInfoResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/system-info\x12\x9e\x01\n\x17ListTaskQueuePartitions\x12?.temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest\x1a@.temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse\"\x00\x12\xbd\x01\n\x0e\x43reateSchedule\x12\x36.temporal.api.workflowservice.v1.CreateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.CreateScheduleResponse\":\x82\xd3\xe4\x93\x02\x34\"//namespaces/{namespace}/schedules/{schedule_id}:\x01*\x12\xc0\x01\n\x10\x44\x65scribeSchedule\x12\x38.temporal.api.workflowservice.v1.DescribeScheduleRequest\x1a\x39.temporal.api.workflowservice.v1.DescribeScheduleResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//namespaces/{namespace}/schedules/{schedule_id}\x12\xc4\x01\n\x0eUpdateSchedule\x12\x36.temporal.api.workflowservice.v1.UpdateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.UpdateScheduleResponse\"A\x82\xd3\xe4\x93\x02;\"6/namespaces/{namespace}/schedules/{schedule_id}/update:\x01*\x12\xc0\x01\n\rPatchSchedule\x12\x35.temporal.api.workflowservice.v1.PatchScheduleRequest\x1a\x36.temporal.api.workflowservice.v1.PatchScheduleResponse\"@\x82\xd3\xe4\x93\x02:\"5/namespaces/{namespace}/schedules/{schedule_id}/patch:\x01*\x12\xea\x01\n\x19ListScheduleMatchingTimes\x12\x41.temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest\x1a\x42.temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse\"F\x82\xd3\xe4\x93\x02@\x12>/namespaces/{namespace}/schedules/{schedule_id}/matching-times\x12\xba\x01\n\x0e\x44\x65leteSchedule\x12\x36.temporal.api.workflowservice.v1.DeleteScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.DeleteScheduleResponse\"7\x82\xd3\xe4\x93\x02\x31*//namespaces/{namespace}/schedules/{schedule_id}\x12\xa9\x01\n\rListSchedules\x12\x35.temporal.api.workflowservice.v1.ListSchedulesRequest\x1a\x36.temporal.api.workflowservice.v1.ListSchedulesResponse\")\x82\xd3\xe4\x93\x02#\x12!/namespaces/{namespace}/schedules\x12\xb9\x01\n UpdateWorkerBuildIdCompatibility\x12H.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest\x1aI.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse\"\x00\x12\x86\x02\n\x1dGetWorkerBuildIdCompatibility\x12\x45.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest\x1a\x46.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse\"V\x82\xd3\xe4\x93\x02P\x12N/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12\xaa\x01\n\x1bUpdateWorkerVersioningRules\x12\x43.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest\x1a\x44.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse\"\x00\x12\xf1\x01\n\x18GetWorkerVersioningRules\x12@.temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest\x1a\x41.temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse\"P\x82\xd3\xe4\x93\x02J\x12H/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules\x12\xdc\x01\n\x19GetWorkerTaskReachability\x12\x41.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest\x1a\x42.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/namespaces/{namespace}/worker-task-reachability\x12\x87\x02\n\x17UpdateWorkflowExecution\x12?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse\"i\x82\xd3\xe4\x93\x02\x63\"^/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:\x01*\x12\xaa\x01\n\x1bPollWorkflowExecutionUpdate\x12\x43.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest\x1a\x44.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse\"\x00\x12\xce\x01\n\x13StartBatchOperation\x12;.temporal.api.workflowservice.v1.StartBatchOperationRequest\x1a<.temporal.api.workflowservice.v1.StartBatchOperationResponse\"<\x82\xd3\xe4\x93\x02\x36\"1/namespaces/{namespace}/batch-operations/{job_id}:\x01*\x12\xd0\x01\n\x12StopBatchOperation\x12:.temporal.api.workflowservice.v1.StopBatchOperationRequest\x1a;.temporal.api.workflowservice.v1.StopBatchOperationResponse\"A\x82\xd3\xe4\x93\x02;\"6/namespaces/{namespace}/batch-operations/{job_id}/stop:\x01*\x12\xd4\x01\n\x16\x44\x65scribeBatchOperation\x12>.temporal.api.workflowservice.v1.DescribeBatchOperationRequest\x1a?.temporal.api.workflowservice.v1.DescribeBatchOperationResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/namespaces/{namespace}/batch-operations/{job_id}\x12\xc2\x01\n\x13ListBatchOperations\x12;.temporal.api.workflowservice.v1.ListBatchOperationsRequest\x1a<.temporal.api.workflowservice.v1.ListBatchOperationsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/namespaces/{namespace}/batch-operations\x12\x8f\x01\n\x12PollNexusTaskQueue\x12:.temporal.api.workflowservice.v1.PollNexusTaskQueueRequest\x1a;.temporal.api.workflowservice.v1.PollNexusTaskQueueResponse\"\x00\x12\xa4\x01\n\x19RespondNexusTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse\"\x00\x12\x9b\x01\n\x16RespondNexusTaskFailed\x12>.temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest\x1a?.temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse\"\x00\x42\xb6\x01\n\"io.temporal.api.workflowservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3"
         | 
| 11 | 
            +
            descriptor_data = "\n-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a\x36temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xfa\xa5\x01\n\x0fWorkflowService\x12\xc3\x01\n\x11RegisterNamespace\x12\x39.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"7\x82\xd3\xe4\x93\x02\x31\"\x13/cluster/namespaces:\x01*Z\x17\"\x12/api/v1/namespaces:\x01*\x12\xd5\x01\n\x11\x44\x65scribeNamespace\x12\x39.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x1f/cluster/namespaces/{namespace}Z \x12\x1e/api/v1/namespaces/{namespace}\x12\xb4\x01\n\x0eListNamespaces\x12\x36.temporal.api.workflowservice.v1.ListNamespacesRequest\x1a\x37.temporal.api.workflowservice.v1.ListNamespacesResponse\"1\x82\xd3\xe4\x93\x02+\x12\x13/cluster/namespacesZ\x14\x12\x12/api/v1/namespaces\x12\xe3\x01\n\x0fUpdateNamespace\x12\x37.temporal.api.workflowservice.v1.UpdateNamespaceRequest\x1a\x38.temporal.api.workflowservice.v1.UpdateNamespaceResponse\"]\x82\xd3\xe4\x93\x02W\"&/cluster/namespaces/{namespace}/update:\x01*Z*\"%/api/v1/namespaces/{namespace}/update:\x01*\x12\x8f\x01\n\x12\x44\x65precateNamespace\x12:.temporal.api.workflowservice.v1.DeprecateNamespaceRequest\x1a;.temporal.api.workflowservice.v1.DeprecateNamespaceResponse\"\x00\x12\x92\x02\n\x16StartWorkflowExecution\x12>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponse\"w\x82\xd3\xe4\x93\x02q\"//namespaces/{namespace}/workflows/{workflow_id}:\x01*Z;\"6/api/v1/namespaces/{namespace}/workflows/{workflow_id}:\x01*\x12\xa5\x02\n\x15\x45xecuteMultiOperation\x12=.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest\x1a>.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01\"9/namespaces/{namespace}/workflows/execute-multi-operation:\x01*ZE\"@/api/v1/namespaces/{namespace}/workflows/execute-multi-operation:\x01*\x12\xc1\x02\n\x1bGetWorkflowExecutionHistory\x12\x43.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest\x1a\x44.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse\"\x96\x01\x82\xd3\xe4\x93\x02\x8f\x01\x12\x41/namespaces/{namespace}/workflows/{execution.workflow_id}/historyZJ\x12H/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12\xe6\x02\n\"GetWorkflowExecutionHistoryReverse\x12J.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest\x1aK.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse\"\xa6\x01\x82\xd3\xe4\x93\x02\x9f\x01\x12I/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverseZR\x12P/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12\x98\x01\n\x15PollWorkflowTaskQueue\x12=.temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"\x00\x12\xad\x01\n\x1cRespondWorkflowTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse\"\x00\x12\xa4\x01\n\x19RespondWorkflowTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse\"\x00\x12\x98\x01\n\x15PollActivityTaskQueue\x12=.temporal.api.workflowservice.v1.PollActivityTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\"\x00\x12\x9b\x02\n\x1bRecordActivityTaskHeartbeat\x12\x43.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest\x1a\x44.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse\"q\x82\xd3\xe4\x93\x02k\",/namespaces/{namespace}/activities/heartbeat:\x01*Z8\"3/api/v1/namespaces/{namespace}/activities/heartbeat:\x01*\x12\xb3\x02\n\x1fRecordActivityTaskHeartbeatById\x12G.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest\x1aH.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse\"}\x82\xd3\xe4\x93\x02w\"2/namespaces/{namespace}/activities/heartbeat-by-id:\x01*Z>\"9/api/v1/namespaces/{namespace}/activities/heartbeat-by-id:\x01*\x12\x9c\x02\n\x1cRespondActivityTaskCompleted\x12\x44.temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest\x1a\x45.temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse\"o\x82\xd3\xe4\x93\x02i\"+/namespaces/{namespace}/activities/complete:\x01*Z7\"2/api/v1/namespaces/{namespace}/activities/complete:\x01*\x12\xb4\x02\n RespondActivityTaskCompletedById\x12H.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest\x1aI.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse\"{\x82\xd3\xe4\x93\x02u\"1/namespaces/{namespace}/activities/complete-by-id:\x01*Z=\"8/api/v1/namespaces/{namespace}/activities/complete-by-id:\x01*\x12\x8b\x02\n\x19RespondActivityTaskFailed\x12\x41.temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse\"g\x82\xd3\xe4\x93\x02\x61\"\'/namespaces/{namespace}/activities/fail:\x01*Z3\"./api/v1/namespaces/{namespace}/activities/fail:\x01*\x12\xa3\x02\n\x1dRespondActivityTaskFailedById\x12\x45.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest\x1a\x46.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse\"s\x82\xd3\xe4\x93\x02m\"-/namespaces/{namespace}/activities/fail-by-id:\x01*Z9\"4/api/v1/namespaces/{namespace}/activities/fail-by-id:\x01*\x12\x95\x02\n\x1bRespondActivityTaskCanceled\x12\x43.temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest\x1a\x44.temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse\"k\x82\xd3\xe4\x93\x02\x65\")/namespaces/{namespace}/activities/cancel:\x01*Z5\"0/api/v1/namespaces/{namespace}/activities/cancel:\x01*\x12\xad\x02\n\x1fRespondActivityTaskCanceledById\x12G.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest\x1aH.temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse\"w\x82\xd3\xe4\x93\x02q\"//namespaces/{namespace}/activities/cancel-by-id:\x01*Z;\"6/api/v1/namespaces/{namespace}/activities/cancel-by-id:\x01*\x12\xe0\x02\n\x1eRequestCancelWorkflowExecution\x12\x46.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse\"\xac\x01\x82\xd3\xe4\x93\x02\xa5\x01\"I/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:\x01*ZU\"P/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel:\x01*\x12\xe7\x02\n\x17SignalWorkflowExecution\x12?.temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse\"\xc8\x01\x82\xd3\xe4\x93\x02\xc1\x01\"W/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}:\x01*Zc\"^/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}:\x01*\x12\xf2\x02\n SignalWithStartWorkflowExecution\x12H.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest\x1aI.temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse\"\xb8\x01\x82\xd3\xe4\x93\x02\xb1\x01\"O/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}:\x01*Z[\"V/api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}:\x01*\x12\xc6\x02\n\x16ResetWorkflowExecution\x12>.temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"\xaa\x01\x82\xd3\xe4\x93\x02\xa3\x01\"H/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:\x01*ZT\"O/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset:\x01*\x12\xda\x02\n\x1aTerminateWorkflowExecution\x12\x42.temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest\x1a\x43.temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse\"\xb2\x01\x82\xd3\xe4\x93\x02\xab\x01\"L/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:\x01*ZX\"S/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate:\x01*\x12\x9e\x01\n\x17\x44\x65leteWorkflowExecution\x12?.temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse\"\x00\x12\xa7\x01\n\x1aListOpenWorkflowExecutions\x12\x42.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest\x1a\x43.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse\"\x00\x12\xad\x01\n\x1cListClosedWorkflowExecutions\x12\x44.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest\x1a\x45.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse\"\x00\x12\xf0\x01\n\x16ListWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse\"U\x82\xd3\xe4\x93\x02O\x12!/namespaces/{namespace}/workflowsZ*\x12(/api/v1/namespaces/{namespace}/workflows\x12\x9a\x02\n\x1eListArchivedWorkflowExecutions\x12\x46.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest\x1aG.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse\"g\x82\xd3\xe4\x93\x02\x61\x12*/namespaces/{namespace}/archived-workflowsZ3\x12\x31/api/v1/namespaces/{namespace}/archived-workflows\x12\x9b\x01\n\x16ScanWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse\"\x00\x12\xfd\x01\n\x17\x43ountWorkflowExecutions\x12?.temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse\"_\x82\xd3\xe4\x93\x02Y\x12&/namespaces/{namespace}/workflow-countZ/\x12-/api/v1/namespaces/{namespace}/workflow-count\x12\x92\x01\n\x13GetSearchAttributes\x12;.temporal.api.workflowservice.v1.GetSearchAttributesRequest\x1a<.temporal.api.workflowservice.v1.GetSearchAttributesResponse\"\x00\x12\xa4\x01\n\x19RespondQueryTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse\"\x00\x12\x95\x01\n\x14ResetStickyTaskQueue\x12<.temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest\x1a=.temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse\"\x00\x12\x83\x01\n\x0eShutdownWorker\x12\x36.temporal.api.workflowservice.v1.ShutdownWorkerRequest\x1a\x37.temporal.api.workflowservice.v1.ShutdownWorkerResponse\"\x00\x12\xbf\x02\n\rQueryWorkflow\x12\x35.temporal.api.workflowservice.v1.QueryWorkflowRequest\x1a\x36.temporal.api.workflowservice.v1.QueryWorkflowResponse\"\xbe\x01\x82\xd3\xe4\x93\x02\xb7\x01\"R/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:\x01*Z^\"Y/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}:\x01*\x12\xaa\x02\n\x19\x44\x65scribeWorkflowExecution\x12\x41.temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest\x1a\x42.temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse\"\x85\x01\x82\xd3\xe4\x93\x02\x7f\x12\x39/namespaces/{namespace}/workflows/{execution.workflow_id}ZB\x12@/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}\x12\x89\x02\n\x11\x44\x65scribeTaskQueue\x12\x39.temporal.api.workflowservice.v1.DescribeTaskQueueRequest\x1a:.temporal.api.workflowservice.v1.DescribeTaskQueueResponse\"}\x82\xd3\xe4\x93\x02w\x12\x35/namespaces/{namespace}/task-queues/{task_queue.name}Z>\x12</api/v1/namespaces/{namespace}/task-queues/{task_queue.name}\x12\xab\x01\n\x0eGetClusterInfo\x12\x36.temporal.api.workflowservice.v1.GetClusterInfoRequest\x1a\x37.temporal.api.workflowservice.v1.GetClusterInfoResponse\"(\x82\xd3\xe4\x93\x02\"\x12\x08/clusterZ\x16\x12\x14/api/v1/cluster-info\x12\xab\x01\n\rGetSystemInfo\x12\x35.temporal.api.workflowservice.v1.GetSystemInfoRequest\x1a\x36.temporal.api.workflowservice.v1.GetSystemInfoResponse\"+\x82\xd3\xe4\x93\x02%\x12\x0c/system-infoZ\x15\x12\x13/api/v1/system-info\x12\x9e\x01\n\x17ListTaskQueuePartitions\x12?.temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest\x1a@.temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse\"\x00\x12\xfa\x01\n\x0e\x43reateSchedule\x12\x36.temporal.api.workflowservice.v1.CreateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.CreateScheduleResponse\"w\x82\xd3\xe4\x93\x02q\"//namespaces/{namespace}/schedules/{schedule_id}:\x01*Z;\"6/api/v1/namespaces/{namespace}/schedules/{schedule_id}:\x01*\x12\xfa\x01\n\x10\x44\x65scribeSchedule\x12\x38.temporal.api.workflowservice.v1.DescribeScheduleRequest\x1a\x39.temporal.api.workflowservice.v1.DescribeScheduleResponse\"q\x82\xd3\xe4\x93\x02k\x12//namespaces/{namespace}/schedules/{schedule_id}Z8\x12\x36/api/v1/namespaces/{namespace}/schedules/{schedule_id}\x12\x89\x02\n\x0eUpdateSchedule\x12\x36.temporal.api.workflowservice.v1.UpdateScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.UpdateScheduleResponse\"\x85\x01\x82\xd3\xe4\x93\x02\x7f\"6/namespaces/{namespace}/schedules/{schedule_id}/update:\x01*ZB\"=/api/v1/namespaces/{namespace}/schedules/{schedule_id}/update:\x01*\x12\x84\x02\n\rPatchSchedule\x12\x35.temporal.api.workflowservice.v1.PatchScheduleRequest\x1a\x36.temporal.api.workflowservice.v1.PatchScheduleResponse\"\x83\x01\x82\xd3\xe4\x93\x02}\"5/namespaces/{namespace}/schedules/{schedule_id}/patch:\x01*ZA\"</api/v1/namespaces/{namespace}/schedules/{schedule_id}/patch:\x01*\x12\xb5\x02\n\x19ListScheduleMatchingTimes\x12\x41.temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest\x1a\x42.temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse\"\x90\x01\x82\xd3\xe4\x93\x02\x89\x01\x12>/namespaces/{namespace}/schedules/{schedule_id}/matching-timesZG\x12\x45/api/v1/namespaces/{namespace}/schedules/{schedule_id}/matching-times\x12\xf4\x01\n\x0e\x44\x65leteSchedule\x12\x36.temporal.api.workflowservice.v1.DeleteScheduleRequest\x1a\x37.temporal.api.workflowservice.v1.DeleteScheduleResponse\"q\x82\xd3\xe4\x93\x02k*//namespaces/{namespace}/schedules/{schedule_id}Z8*6/api/v1/namespaces/{namespace}/schedules/{schedule_id}\x12\xd5\x01\n\rListSchedules\x12\x35.temporal.api.workflowservice.v1.ListSchedulesRequest\x1a\x36.temporal.api.workflowservice.v1.ListSchedulesResponse\"U\x82\xd3\xe4\x93\x02O\x12!/namespaces/{namespace}/schedulesZ*\x12(/api/v1/namespaces/{namespace}/schedules\x12\xb9\x01\n UpdateWorkerBuildIdCompatibility\x12H.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest\x1aI.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse\"\x00\x12\xe1\x02\n\x1dGetWorkerBuildIdCompatibility\x12\x45.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest\x1a\x46.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse\"\xb0\x01\x82\xd3\xe4\x93\x02\xa9\x01\x12N/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibilityZW\x12U/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12\xaa\x01\n\x1bUpdateWorkerVersioningRules\x12\x43.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest\x1a\x44.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse\"\x00\x12\xc6\x02\n\x18GetWorkerVersioningRules\x12@.temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest\x1a\x41.temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse\"\xa4\x01\x82\xd3\xe4\x93\x02\x9d\x01\x12H/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rulesZQ\x12O/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules\x12\x97\x02\n\x19GetWorkerTaskReachability\x12\x41.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest\x1a\x42.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse\"s\x82\xd3\xe4\x93\x02m\x12\x30/namespaces/{namespace}/worker-task-reachabilityZ9\x12\x37/api/v1/namespaces/{namespace}/worker-task-reachability\x12\xc8\x02\n\x12\x44\x65scribeDeployment\x12:.temporal.api.workflowservice.v1.DescribeDeploymentRequest\x1a;.temporal.api.workflowservice.v1.DescribeDeploymentResponse\"\xb8\x01\x82\xd3\xe4\x93\x02\xb1\x01\x12R/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}Z[\x12Y/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}\x12\xc3\x02\n\x1f\x44\x65scribeWorkerDeploymentVersion\x12G.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest\x1aH.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01\x12</namespaces/{namespace}/worker-deployment-versions/{version}ZE\x12\x43/api/v1/namespaces/{namespace}/worker-deployment-versions/{version}\x12\xdf\x01\n\x0fListDeployments\x12\x37.temporal.api.workflowservice.v1.ListDeploymentsRequest\x1a\x38.temporal.api.workflowservice.v1.ListDeploymentsResponse\"Y\x82\xd3\xe4\x93\x02S\x12#/namespaces/{namespace}/deploymentsZ,\x12*/api/v1/namespaces/{namespace}/deployments\x12\xf7\x02\n\x19GetDeploymentReachability\x12\x41.temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest\x1a\x42.temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse\"\xd2\x01\x82\xd3\xe4\x93\x02\xcb\x01\x12_/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachabilityZh\x12\x66/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability\x12\x99\x02\n\x14GetCurrentDeployment\x12<.temporal.api.workflowservice.v1.GetCurrentDeploymentRequest\x1a=.temporal.api.workflowservice.v1.GetCurrentDeploymentResponse\"\x83\x01\x82\xd3\xe4\x93\x02}\x12\x38/namespaces/{namespace}/current-deployment/{series_name}ZA\x12?/api/v1/namespaces/{namespace}/current-deployment/{series_name}\x12\xb6\x02\n\x14SetCurrentDeployment\x12<.temporal.api.workflowservice.v1.SetCurrentDeploymentRequest\x1a=.temporal.api.workflowservice.v1.SetCurrentDeploymentResponse\"\xa0\x01\x82\xd3\xe4\x93\x02\x99\x01\"C/namespaces/{namespace}/current-deployment/{deployment.series_name}:\x01*ZO\"J/api/v1/namespaces/{namespace}/current-deployment/{deployment.series_name}:\x01*\x12\xf7\x02\n!SetWorkerDeploymentCurrentVersion\x12I.temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionRequest\x1aJ.temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse\"\xba\x01\x82\xd3\xe4\x93\x02\xb3\x01\"P/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version:\x01*Z\\\"W/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version:\x01*\x12\xae\x02\n\x18\x44\x65scribeWorkerDeployment\x12@.temporal.api.workflowservice.v1.DescribeWorkerDeploymentRequest\x1a\x41.temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01\x12</namespaces/{namespace}/worker-deployments/{deployment_name}ZE\x12\x43/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}\x12\xa8\x02\n\x16\x44\x65leteWorkerDeployment\x12>.temporal.api.workflowservice.v1.DeleteWorkerDeploymentRequest\x1a?.temporal.api.workflowservice.v1.DeleteWorkerDeploymentResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01*</namespaces/{namespace}/worker-deployments/{deployment_name}ZE*C/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}\x12\xbd\x02\n\x1d\x44\x65leteWorkerDeploymentVersion\x12\x45.temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionRequest\x1a\x46.temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01*</namespaces/{namespace}/worker-deployment-versions/{version}ZE*C/api/v1/namespaces/{namespace}/worker-deployment-versions/{version}\x12\xf7\x02\n!SetWorkerDeploymentRampingVersion\x12I.temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionRequest\x1aJ.temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionResponse\"\xba\x01\x82\xd3\xe4\x93\x02\xb3\x01\"P/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version:\x01*Z\\\"W/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version:\x01*\x12\xff\x01\n\x15ListWorkerDeployments\x12=.temporal.api.workflowservice.v1.ListWorkerDeploymentsRequest\x1a>.temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse\"g\x82\xd3\xe4\x93\x02\x61\x12*/namespaces/{namespace}/worker-deploymentsZ3\x12\x31/api/v1/namespaces/{namespace}/worker-deployments\x12\xfb\x02\n%UpdateWorkerDeploymentVersionMetadata\x12M.temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest\x1aN.temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataResponse\"\xb2\x01\x82\xd3\xe4\x93\x02\xab\x01\"L/namespaces/{namespace}/worker-deployment-versions/{version}/update-metadata:\x01*ZX\"S/api/v1/namespaces/{namespace}/worker-deployment-versions/{version}/update-metadata:\x01*\x12\xf5\x02\n\x17UpdateWorkflowExecution\x12?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse\"\xd6\x01\x82\xd3\xe4\x93\x02\xcf\x01\"^/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:\x01*Zj\"e/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}:\x01*\x12\xaa\x01\n\x1bPollWorkflowExecutionUpdate\x12\x43.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest\x1a\x44.temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse\"\x00\x12\x8d\x02\n\x13StartBatchOperation\x12;.temporal.api.workflowservice.v1.StartBatchOperationRequest\x1a<.temporal.api.workflowservice.v1.StartBatchOperationResponse\"{\x82\xd3\xe4\x93\x02u\"1/namespaces/{namespace}/batch-operations/{job_id}:\x01*Z=\"8/api/v1/namespaces/{namespace}/batch-operations/{job_id}:\x01*\x12\x95\x02\n\x12StopBatchOperation\x12:.temporal.api.workflowservice.v1.StopBatchOperationRequest\x1a;.temporal.api.workflowservice.v1.StopBatchOperationResponse\"\x85\x01\x82\xd3\xe4\x93\x02\x7f\"6/namespaces/{namespace}/batch-operations/{job_id}/stop:\x01*ZB\"=/api/v1/namespaces/{namespace}/batch-operations/{job_id}/stop:\x01*\x12\x90\x02\n\x16\x44\x65scribeBatchOperation\x12>.temporal.api.workflowservice.v1.DescribeBatchOperationRequest\x1a?.temporal.api.workflowservice.v1.DescribeBatchOperationResponse\"u\x82\xd3\xe4\x93\x02o\x12\x31/namespaces/{namespace}/batch-operations/{job_id}Z:\x12\x38/api/v1/namespaces/{namespace}/batch-operations/{job_id}\x12\xf5\x01\n\x13ListBatchOperations\x12;.temporal.api.workflowservice.v1.ListBatchOperationsRequest\x1a<.temporal.api.workflowservice.v1.ListBatchOperationsResponse\"c\x82\xd3\xe4\x93\x02]\x12(/namespaces/{namespace}/batch-operationsZ1\x12//api/v1/namespaces/{namespace}/batch-operations\x12\x8f\x01\n\x12PollNexusTaskQueue\x12:.temporal.api.workflowservice.v1.PollNexusTaskQueueRequest\x1a;.temporal.api.workflowservice.v1.PollNexusTaskQueueResponse\"\x00\x12\xa4\x01\n\x19RespondNexusTaskCompleted\x12\x41.temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest\x1a\x42.temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse\"\x00\x12\x9b\x01\n\x16RespondNexusTaskFailed\x12>.temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest\x1a?.temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse\"\x00\x12\x93\x02\n\x15UpdateActivityOptions\x12=.temporal.api.workflowservice.v1.UpdateActivityOptionsRequest\x1a>.temporal.api.workflowservice.v1.UpdateActivityOptionsResponse\"{\x82\xd3\xe4\x93\x02u\"1/namespaces/{namespace}/activities/update-options:\x01*Z=\"8/api/v1/namespaces/{namespace}/activities/update-options:\x01*\x12\xf0\x02\n\x1eUpdateWorkflowExecutionOptions\x12\x46.temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest\x1aG.temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsResponse\"\xbc\x01\x82\xd3\xe4\x93\x02\xb5\x01\"Q/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options:\x01*Z]\"X/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options:\x01*\x12\xe9\x01\n\rPauseActivity\x12\x35.temporal.api.workflowservice.v1.PauseActivityRequest\x1a\x36.temporal.api.workflowservice.v1.PauseActivityResponse\"i\x82\xd3\xe4\x93\x02\x63\"(/namespaces/{namespace}/activities/pause:\x01*Z4\"//api/v1/namespaces/{namespace}/activities/pause:\x01*\x12\xf3\x01\n\x0fUnpauseActivity\x12\x37.temporal.api.workflowservice.v1.UnpauseActivityRequest\x1a\x38.temporal.api.workflowservice.v1.UnpauseActivityResponse\"m\x82\xd3\xe4\x93\x02g\"*/namespaces/{namespace}/activities/unpause:\x01*Z6\"1/api/v1/namespaces/{namespace}/activities/unpause:\x01*\x12\xe9\x01\n\rResetActivity\x12\x35.temporal.api.workflowservice.v1.ResetActivityRequest\x1a\x36.temporal.api.workflowservice.v1.ResetActivityResponse\"i\x82\xd3\xe4\x93\x02\x63\"(/namespaces/{namespace}/activities/reset:\x01*Z4\"//api/v1/namespaces/{namespace}/activities/reset:\x01*B\xb6\x01\n\"io.temporal.api.workflowservice.v1B\x0cServiceProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3"
         | 
| 12 12 |  | 
| 13 13 | 
             
            pool = Google::Protobuf::DescriptorPool.generated_pool
         | 
| 14 14 | 
             
            pool.add_serialized_file(descriptor_data)
         | 
    
        data/lib/temporalio/api.rb
    CHANGED
    
    | @@ -3,7 +3,9 @@ | |
| 3 3 | 
             
            require 'temporalio/api/cloud/cloudservice'
         | 
| 4 4 | 
             
            require 'temporalio/api/common/v1/grpc_status'
         | 
| 5 5 | 
             
            require 'temporalio/api/errordetails/v1/message'
         | 
| 6 | 
            +
            require 'temporalio/api/export/v1/message'
         | 
| 6 7 | 
             
            require 'temporalio/api/operatorservice'
         | 
| 8 | 
            +
            require 'temporalio/api/sdk/v1/workflow_metadata'
         | 
| 7 9 | 
             
            require 'temporalio/api/workflowservice'
         | 
| 8 10 |  | 
| 9 11 | 
             
            module Temporalio
         | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            require 'temporalio/error'
         | 
| 4 | 
            +
            require 'temporalio/workflow'
         | 
| 4 5 |  | 
| 5 6 | 
             
            module Temporalio
         | 
| 6 7 | 
             
              # Cancellation representation, often known as a "cancellation token". This is used by clients, activities, and
         | 
| @@ -19,7 +20,7 @@ module Temporalio | |
| 19 20 | 
             
                  @canceled_reason = nil
         | 
| 20 21 | 
             
                  @canceled_mutex = Mutex.new
         | 
| 21 22 | 
             
                  @canceled_cond_var = nil
         | 
| 22 | 
            -
                  @cancel_callbacks =  | 
| 23 | 
            +
                  @cancel_callbacks = {} # Keyed by sentinel value, but value iteration still is deterministic
         | 
| 23 24 | 
             
                  @shield_depth = 0
         | 
| 24 25 | 
             
                  @shield_pending_cancel = nil # When pending, set as single-reason array
         | 
| 25 26 | 
             
                  parents.each { |p| p.add_cancel_callback { on_cancel(reason: p.canceled_reason) } }
         | 
| @@ -59,15 +60,24 @@ module Temporalio | |
| 59 60 | 
             
                  [self, proc { |reason: nil| on_cancel(reason:) }]
         | 
| 60 61 | 
             
                end
         | 
| 61 62 |  | 
| 62 | 
            -
                # Wait on this to be canceled. This is backed by a {::ConditionVariable} | 
| 63 | 
            +
                # Wait on this to be canceled. This is backed by a {::ConditionVariable} outside of workflows or
         | 
| 64 | 
            +
                # {Workflow.wait_condition} inside of workflows.
         | 
| 63 65 | 
             
                def wait
         | 
| 66 | 
            +
                  # If this is in a workflow, just wait for the canceled. This is because ConditionVariable does a no-duration
         | 
| 67 | 
            +
                  # kernel_sleep to the fiber scheduler which ends up recursing back into this because the workflow implementation
         | 
| 68 | 
            +
                  # of kernel_sleep by default relies on cancellation.
         | 
| 69 | 
            +
                  if Workflow.in_workflow?
         | 
| 70 | 
            +
                    Workflow.wait_condition(cancellation: nil) { @canceled }
         | 
| 71 | 
            +
                    return
         | 
| 72 | 
            +
                  end
         | 
| 73 | 
            +
             | 
| 64 74 | 
             
                  @canceled_mutex.synchronize do
         | 
| 65 75 | 
             
                    break if @canceled
         | 
| 66 76 |  | 
| 67 77 | 
             
                    # Add cond var if not present
         | 
| 68 78 | 
             
                    if @canceled_cond_var.nil?
         | 
| 69 79 | 
             
                      @canceled_cond_var = ConditionVariable.new
         | 
| 70 | 
            -
                      @cancel_callbacks. | 
| 80 | 
            +
                      @cancel_callbacks[Object.new] = proc { @canceled_mutex.synchronize { @canceled_cond_var.broadcast } }
         | 
| 71 81 | 
             
                    end
         | 
| 72 82 |  | 
| 73 83 | 
             
                    # Wait on it
         | 
| @@ -105,21 +115,29 @@ module Temporalio | |
| 105 115 | 
             
                #
         | 
| 106 116 | 
             
                # @note WARNING: This is advanced API, users should use {wait} or similar.
         | 
| 107 117 | 
             
                #
         | 
| 108 | 
            -
                # @param proc [Proc, nil] Proc to invoke, or nil to use block.
         | 
| 109 118 | 
             
                # @yield Accepts block if not using `proc`.
         | 
| 110 | 
            -
                 | 
| 111 | 
            -
             | 
| 112 | 
            -
                  raise ArgumentError, ' | 
| 113 | 
            -
                  raise ArgumentError, 'Parameter not a proc' if proc && !proc.is_a?(Proc)
         | 
| 119 | 
            +
                # @return [Object] Key that can be used with {remove_cancel_callback} or `nil`` if run immediately.
         | 
| 120 | 
            +
                def add_cancel_callback(&block)
         | 
| 121 | 
            +
                  raise ArgumentError, 'Must provide block' unless block_given?
         | 
| 114 122 |  | 
| 115 | 
            -
                  callback_to_run_immediately = @canceled_mutex.synchronize do
         | 
| 116 | 
            -
                     | 
| 117 | 
            -
                    @cancel_callbacks.push(proc || block)
         | 
| 118 | 
            -
                    break nil unless @canceled
         | 
| 123 | 
            +
                  callback_to_run_immediately, key = @canceled_mutex.synchronize do
         | 
| 124 | 
            +
                    break [block, nil] if @canceled
         | 
| 119 125 |  | 
| 120 | 
            -
                     | 
| 126 | 
            +
                    key = Object.new
         | 
| 127 | 
            +
                    @cancel_callbacks[key] = block
         | 
| 128 | 
            +
                    [nil, key]
         | 
| 121 129 | 
             
                  end
         | 
| 122 130 | 
             
                  callback_to_run_immediately&.call
         | 
| 131 | 
            +
                  key
         | 
| 132 | 
            +
                end
         | 
| 133 | 
            +
             | 
| 134 | 
            +
                # Remove a cancel callback using the key returned from {add_cancel_callback}.
         | 
| 135 | 
            +
                #
         | 
| 136 | 
            +
                # @param key [Object] Key returned from {add_cancel_callback}.
         | 
| 137 | 
            +
                def remove_cancel_callback(key)
         | 
| 138 | 
            +
                  @canceled_mutex.synchronize do
         | 
| 139 | 
            +
                    @cancel_callbacks.delete(key)
         | 
| 140 | 
            +
                  end
         | 
| 123 141 | 
             
                  nil
         | 
| 124 142 | 
             
                end
         | 
| 125 143 |  | 
| @@ -144,7 +162,9 @@ module Temporalio | |
| 144 162 |  | 
| 145 163 | 
             
                  @canceled = true
         | 
| 146 164 | 
             
                  @canceled_reason = reason
         | 
| 147 | 
            -
                  @cancel_callbacks.dup
         | 
| 165 | 
            +
                  to_return = @cancel_callbacks.dup
         | 
| 166 | 
            +
                  @cancel_callbacks.clear
         | 
| 167 | 
            +
                  to_return.values
         | 
| 148 168 | 
             
                end
         | 
| 149 169 | 
             
              end
         | 
| 150 170 | 
             
            end
         | 
| @@ -27,36 +27,24 @@ module Temporalio | |
| 27 27 | 
             
                  # Record a heartbeat for the activity.
         | 
| 28 28 | 
             
                  #
         | 
| 29 29 | 
             
                  # @param details [Array<Object>] Details of the heartbeat.
         | 
| 30 | 
            -
                  # @param  | 
| 31 | 
            -
                   | 
| 32 | 
            -
                  def heartbeat(
         | 
| 33 | 
            -
                    *details,
         | 
| 34 | 
            -
                    rpc_metadata: nil,
         | 
| 35 | 
            -
                    rpc_timeout: nil
         | 
| 36 | 
            -
                  )
         | 
| 30 | 
            +
                  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
         | 
| 31 | 
            +
                  def heartbeat(*details, rpc_options: nil)
         | 
| 37 32 | 
             
                    @client._impl.heartbeat_async_activity(Interceptor::HeartbeatAsyncActivityInput.new(
         | 
| 38 33 | 
             
                                                             task_token_or_id_reference:,
         | 
| 39 34 | 
             
                                                             details:,
         | 
| 40 | 
            -
                                                              | 
| 41 | 
            -
                                                             rpc_timeout:
         | 
| 35 | 
            +
                                                             rpc_options:
         | 
| 42 36 | 
             
                                                           ))
         | 
| 43 37 | 
             
                  end
         | 
| 44 38 |  | 
| 45 39 | 
             
                  # Complete the activity.
         | 
| 46 40 | 
             
                  #
         | 
| 47 41 | 
             
                  # @param result [Object, nil] Result of the activity.
         | 
| 48 | 
            -
                  # @param  | 
| 49 | 
            -
                   | 
| 50 | 
            -
                  def complete(
         | 
| 51 | 
            -
                    result = nil,
         | 
| 52 | 
            -
                    rpc_metadata: nil,
         | 
| 53 | 
            -
                    rpc_timeout: nil
         | 
| 54 | 
            -
                  )
         | 
| 42 | 
            +
                  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
         | 
| 43 | 
            +
                  def complete(result = nil, rpc_options: nil)
         | 
| 55 44 | 
             
                    @client._impl.complete_async_activity(Interceptor::CompleteAsyncActivityInput.new(
         | 
| 56 45 | 
             
                                                            task_token_or_id_reference:,
         | 
| 57 46 | 
             
                                                            result:,
         | 
| 58 | 
            -
                                                             | 
| 59 | 
            -
                                                            rpc_timeout:
         | 
| 47 | 
            +
                                                            rpc_options:
         | 
| 60 48 | 
             
                                                          ))
         | 
| 61 49 | 
             
                  end
         | 
| 62 50 |  | 
| @@ -64,39 +52,26 @@ module Temporalio | |
| 64 52 | 
             
                  #
         | 
| 65 53 | 
             
                  # @param error [Exception] Error for the activity.
         | 
| 66 54 | 
             
                  # @param last_heartbeat_details [Array<Object>] Last heartbeat details for the activity.
         | 
| 67 | 
            -
                  # @param  | 
| 68 | 
            -
                   | 
| 69 | 
            -
                  def fail(
         | 
| 70 | 
            -
                    error,
         | 
| 71 | 
            -
                    last_heartbeat_details: [],
         | 
| 72 | 
            -
                    rpc_metadata: nil,
         | 
| 73 | 
            -
                    rpc_timeout: nil
         | 
| 74 | 
            -
                  )
         | 
| 55 | 
            +
                  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
         | 
| 56 | 
            +
                  def fail(error, last_heartbeat_details: [], rpc_options: nil)
         | 
| 75 57 | 
             
                    @client._impl.fail_async_activity(Interceptor::FailAsyncActivityInput.new(
         | 
| 76 58 | 
             
                                                        task_token_or_id_reference:,
         | 
| 77 59 | 
             
                                                        error:,
         | 
| 78 60 | 
             
                                                        last_heartbeat_details:,
         | 
| 79 | 
            -
                                                         | 
| 80 | 
            -
                                                        rpc_timeout:
         | 
| 61 | 
            +
                                                        rpc_options:
         | 
| 81 62 | 
             
                                                      ))
         | 
| 82 63 | 
             
                  end
         | 
| 83 64 |  | 
| 84 65 | 
             
                  # Report the activity as canceled.
         | 
| 85 66 | 
             
                  #
         | 
| 86 67 | 
             
                  # @param details [Array<Object>] Cancellation details.
         | 
| 87 | 
            -
                  # @param  | 
| 88 | 
            -
                  # @param rpc_timeout [Float, nil] Number of seconds before timeout.
         | 
| 68 | 
            +
                  # @param rpc_options [RPCOptions, nil] Advanced RPC options.
         | 
| 89 69 | 
             
                  # @raise [AsyncActivityCanceledError] If the activity has been canceled.
         | 
| 90 | 
            -
                  def report_cancellation(
         | 
| 91 | 
            -
                    *details,
         | 
| 92 | 
            -
                    rpc_metadata: nil,
         | 
| 93 | 
            -
                    rpc_timeout: nil
         | 
| 94 | 
            -
                  )
         | 
| 70 | 
            +
                  def report_cancellation(*details, rpc_options: nil)
         | 
| 95 71 | 
             
                    @client._impl.report_cancellation_async_activity(Interceptor::ReportCancellationAsyncActivityInput.new(
         | 
| 96 72 | 
             
                                                                       task_token_or_id_reference:,
         | 
| 97 73 | 
             
                                                                       details:,
         | 
| 98 | 
            -
                                                                        | 
| 99 | 
            -
                                                                       rpc_timeout:
         | 
| 74 | 
            +
                                                                       rpc_options:
         | 
| 100 75 | 
             
                                                                     ))
         | 
| 101 76 | 
             
                  end
         | 
| 102 77 |  |