temporalio 1.6.0 → 1.6.1.test.only.rc2

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.

Potentially problematic release.


This version of temporalio might be problematic. Click here for more details.

Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +9 -17
  3. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  4. data/lib/temporalio/api/batch/v1/message.rb +4 -1
  5. data/lib/temporalio/api/command/v1/message.rb +2 -1
  6. data/lib/temporalio/api/common/v1/message.rb +2 -1
  7. data/lib/temporalio/api/enums/v1/activity.rb +1 -1
  8. data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
  9. data/lib/temporalio/api/enums/v1/common.rb +2 -1
  10. data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
  11. data/lib/temporalio/api/errordetails/v1/message.rb +2 -1
  12. data/lib/temporalio/api/history/v1/message.rb +1 -1
  13. data/lib/temporalio/api/namespace/v1/message.rb +1 -1
  14. data/lib/temporalio/api/taskqueue/v1/message.rb +2 -1
  15. data/lib/temporalio/api/workflowservice/v1/request_response.rb +1 -1
  16. data/lib/temporalio/client/connection.rb +33 -3
  17. data/lib/temporalio/client/schedule.rb +4 -5
  18. data/lib/temporalio/client/workflow_execution.rb +2 -2
  19. data/lib/temporalio/client/workflow_handle.rb +13 -7
  20. data/lib/temporalio/client.rb +4 -6
  21. data/lib/temporalio/internal/bridge/client.rb +3 -1
  22. data/lib/temporalio/internal/bridge/worker.rb +3 -1
  23. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +9 -0
  24. data/lib/temporalio/runtime.rb +2 -2
  25. data/lib/temporalio/version.rb +1 -1
  26. data/lib/temporalio/worker/workflow_replayer.rb +2 -0
  27. data/lib/temporalio/worker.rb +24 -4
  28. data/lib/temporalio/workflow.rb +8 -9
  29. data/rbi/temporalio/api/activity/v1/message.rbi +78 -12
  30. data/rbi/temporalio/api/batch/v1/message.rbi +229 -2
  31. data/rbi/temporalio/api/command/v1/message.rbi +22 -2
  32. data/rbi/temporalio/api/common/v1/message.rbi +100 -8
  33. data/rbi/temporalio/api/enums/v1/activity.rbi +1 -0
  34. data/rbi/temporalio/api/enums/v1/batch_operation.rbi +9 -0
  35. data/rbi/temporalio/api/enums/v1/common.rbi +18 -0
  36. data/rbi/temporalio/api/enums/v1/failed_cause.rbi +3 -0
  37. data/rbi/temporalio/api/errordetails/v1/message.rbi +59 -2
  38. data/rbi/temporalio/api/history/v1/message.rbi +22 -2
  39. data/rbi/temporalio/api/namespace/v1/message.rbi +70 -2
  40. data/rbi/temporalio/api/taskqueue/v1/message.rbi +113 -2
  41. data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +379 -57
  42. data/rbi/temporalio/client/connection.rbi +2 -0
  43. data/rbi/temporalio/internal/bridge/worker.rbi +2 -0
  44. data/rbi/temporalio/worker.rbi +9 -2
  45. data/rbi/temporalio/workflow/future.rbi +1 -1
  46. data/sig/temporalio/api/activity/v1/message.rbs +37 -2
  47. data/sig/temporalio/api/batch/v1/message.rbs +86 -0
  48. data/sig/temporalio/api/command/v1/message.rbs +10 -0
  49. data/sig/temporalio/api/common/v1/message.rbs +47 -7
  50. data/sig/temporalio/api/enums/v1/activity.rbs +9 -5
  51. data/sig/temporalio/api/enums/v1/batch_operation.rbs +33 -3
  52. data/sig/temporalio/api/enums/v1/common.rbs +23 -0
  53. data/sig/temporalio/api/enums/v1/failed_cause.rbs +15 -6
  54. data/sig/temporalio/api/errordetails/v1/message.rbs +19 -0
  55. data/sig/temporalio/api/history/v1/message.rbs +10 -0
  56. data/sig/temporalio/api/namespace/v1/message.rbs +32 -0
  57. data/sig/temporalio/api/taskqueue/v1/message.rbs +44 -0
  58. data/sig/temporalio/api/workflowservice/v1/request_response.rbs +174 -18
  59. data/sig/temporalio/client/connection.rbs +14 -1
  60. data/sig/temporalio/internal/bridge/client.rbs +5 -1
  61. data/sig/temporalio/internal/bridge/worker.rbs +5 -1
  62. data/sig/temporalio/worker.rbs +8 -2
  63. metadata +1 -1
@@ -549,7 +549,8 @@ class Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse
549
549
  failover_version: T.nilable(Integer),
550
550
  is_global_namespace: T.nilable(T::Boolean),
551
551
  failover_history: T.nilable(T::Array[T.nilable(Temporalio::Api::Replication::V1::FailoverStatus)]),
552
- poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)])
552
+ poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]),
553
+ poller_groups_info: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)
553
554
  ).void
554
555
  end
555
556
  def initialize(
@@ -559,7 +560,8 @@ class Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse
559
560
  failover_version: 0,
560
561
  is_global_namespace: false,
561
562
  failover_history: [],
562
- poller_group_infos: []
563
+ poller_group_infos: [],
564
+ poller_groups_info: nil
563
565
  )
564
566
  end
565
567
 
@@ -641,27 +643,54 @@ class Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse
641
643
  def clear_failover_history
642
644
  end
643
645
 
644
- # The initial info that client should use for poller group assignment. This information is
646
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
647
+ # ignore stale updates.
648
+ # The initial info that client should use for poller group assignment. This information is
645
649
  # updated through poll response. Client is supposed to use the info received in the latest
646
650
  # poll response.
647
651
  sig { returns(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]) }
648
652
  def poller_group_infos
649
653
  end
650
654
 
651
- # The initial info that client should use for poller group assignment. This information is
655
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
656
+ # ignore stale updates.
657
+ # The initial info that client should use for poller group assignment. This information is
652
658
  # updated through poll response. Client is supposed to use the info received in the latest
653
659
  # poll response.
654
660
  sig { params(value: ::Google::Protobuf::RepeatedField).void }
655
661
  def poller_group_infos=(value)
656
662
  end
657
663
 
658
- # The initial info that client should use for poller group assignment. This information is
664
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
665
+ # ignore stale updates.
666
+ # The initial info that client should use for poller group assignment. This information is
659
667
  # updated through poll response. Client is supposed to use the info received in the latest
660
668
  # poll response.
661
669
  sig { void }
662
670
  def clear_poller_group_infos
663
671
  end
664
672
 
673
+ # The initial, versioned info that client should use for poller group assignment. This
674
+ # information is updated through poll responses. Client is supposed to use the info with the
675
+ # highest version it has received.
676
+ sig { returns(T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)) }
677
+ def poller_groups_info
678
+ end
679
+
680
+ # The initial, versioned info that client should use for poller group assignment. This
681
+ # information is updated through poll responses. Client is supposed to use the info with the
682
+ # highest version it has received.
683
+ sig { params(value: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)).void }
684
+ def poller_groups_info=(value)
685
+ end
686
+
687
+ # The initial, versioned info that client should use for poller group assignment. This
688
+ # information is updated through poll responses. Client is supposed to use the info with the
689
+ # highest version it has received.
690
+ sig { void }
691
+ def clear_poller_groups_info
692
+ end
693
+
665
694
  sig { params(field: String).returns(T.untyped) }
666
695
  def [](field)
667
696
  end
@@ -1453,22 +1482,22 @@ class Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest
1453
1482
  def clear_last_completion_result
1454
1483
  end
1455
1484
 
1456
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
1457
- # If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
1485
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
1486
+ # If the workflow gets a signal before the delay, a workflow task will be made available for dispatch and the rest
1458
1487
  # of the delay will be ignored.
1459
1488
  sig { returns(T.nilable(Google::Protobuf::Duration)) }
1460
1489
  def workflow_start_delay
1461
1490
  end
1462
1491
 
1463
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
1464
- # If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
1492
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
1493
+ # If the workflow gets a signal before the delay, a workflow task will be made available for dispatch and the rest
1465
1494
  # of the delay will be ignored.
1466
1495
  sig { params(value: T.nilable(Google::Protobuf::Duration)).void }
1467
1496
  def workflow_start_delay=(value)
1468
1497
  end
1469
1498
 
1470
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
1471
- # If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest
1499
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
1500
+ # If the workflow gets a signal before the delay, a workflow task will be made available for dispatch and the rest
1472
1501
  # of the delay will be ignored.
1473
1502
  sig { void }
1474
1503
  def clear_workflow_start_delay
@@ -1658,6 +1687,7 @@ class Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse
1658
1687
  sig do
1659
1688
  params(
1660
1689
  run_id: T.nilable(String),
1690
+ first_execution_run_id: T.nilable(String),
1661
1691
  started: T.nilable(T::Boolean),
1662
1692
  status: T.nilable(T.any(Symbol, String, Integer)),
1663
1693
  eager_workflow_task: T.nilable(Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse),
@@ -1666,6 +1696,7 @@ class Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse
1666
1696
  end
1667
1697
  def initialize(
1668
1698
  run_id: "",
1699
+ first_execution_run_id: "",
1669
1700
  started: false,
1670
1701
  status: :WORKFLOW_EXECUTION_STATUS_UNSPECIFIED,
1671
1702
  eager_workflow_task: nil,
@@ -1688,6 +1719,21 @@ class Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse
1688
1719
  def clear_run_id
1689
1720
  end
1690
1721
 
1722
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
1723
+ sig { returns(String) }
1724
+ def first_execution_run_id
1725
+ end
1726
+
1727
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
1728
+ sig { params(value: String).void }
1729
+ def first_execution_run_id=(value)
1730
+ end
1731
+
1732
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
1733
+ sig { void }
1734
+ def clear_first_execution_run_id
1735
+ end
1736
+
1691
1737
  # If true, a new workflow was started.
1692
1738
  sig { returns(T::Boolean) }
1693
1739
  def started
@@ -2480,7 +2526,8 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2480
2526
  messages: T.nilable(T::Array[T.nilable(Temporalio::Api::Protocol::V1::Message)]),
2481
2527
  poller_scaling_decision: T.nilable(Temporalio::Api::TaskQueue::V1::PollerScalingDecision),
2482
2528
  poller_group_id: T.nilable(String),
2483
- poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)])
2529
+ poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]),
2530
+ poller_groups_info: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)
2484
2531
  ).void
2485
2532
  end
2486
2533
  def initialize(
@@ -2501,7 +2548,8 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2501
2548
  messages: [],
2502
2549
  poller_scaling_decision: nil,
2503
2550
  poller_group_id: "",
2504
- poller_group_infos: []
2551
+ poller_group_infos: [],
2552
+ poller_groups_info: nil
2505
2553
  )
2506
2554
  end
2507
2555
 
@@ -2820,7 +2868,9 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2820
2868
  def clear_poller_group_id
2821
2869
  end
2822
2870
 
2823
- # The weighted list of poller groups IDs that client should use for future polls to this task
2871
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
2872
+ # ignore stale updates.
2873
+ # The weighted list of poller groups IDs that client should use for future polls to this task
2824
2874
  # queue. Client is expected to:
2825
2875
  # 1. Maintain minimum number of pollers no less than the number of groups.
2826
2876
  # 2. Try to assign the next poll to a group without any pending polls,
@@ -2830,7 +2880,9 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2830
2880
  def poller_group_infos
2831
2881
  end
2832
2882
 
2833
- # The weighted list of poller groups IDs that client should use for future polls to this task
2883
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
2884
+ # ignore stale updates.
2885
+ # The weighted list of poller groups IDs that client should use for future polls to this task
2834
2886
  # queue. Client is expected to:
2835
2887
  # 1. Maintain minimum number of pollers no less than the number of groups.
2836
2888
  # 2. Try to assign the next poll to a group without any pending polls,
@@ -2840,7 +2892,9 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2840
2892
  def poller_group_infos=(value)
2841
2893
  end
2842
2894
 
2843
- # The weighted list of poller groups IDs that client should use for future polls to this task
2895
+ # Deprecated. Use `poller_groups_info` instead, which carries a version so the client can
2896
+ # ignore stale updates.
2897
+ # The weighted list of poller groups IDs that client should use for future polls to this task
2844
2898
  # queue. Client is expected to:
2845
2899
  # 1. Maintain minimum number of pollers no less than the number of groups.
2846
2900
  # 2. Try to assign the next poll to a group without any pending polls,
@@ -2850,6 +2904,39 @@ class Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
2850
2904
  def clear_poller_group_infos
2851
2905
  end
2852
2906
 
2907
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
2908
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
2909
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
2910
+ # 1. Maintain minimum number of pollers no less than the number of groups.
2911
+ # 2. Try to assign the next poll to a group without any pending polls,
2912
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
2913
+ # according to the weights.
2914
+ sig { returns(T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)) }
2915
+ def poller_groups_info
2916
+ end
2917
+
2918
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
2919
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
2920
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
2921
+ # 1. Maintain minimum number of pollers no less than the number of groups.
2922
+ # 2. Try to assign the next poll to a group without any pending polls,
2923
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
2924
+ # according to the weights.
2925
+ sig { params(value: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)).void }
2926
+ def poller_groups_info=(value)
2927
+ end
2928
+
2929
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
2930
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
2931
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
2932
+ # 1. Maintain minimum number of pollers no less than the number of groups.
2933
+ # 2. Try to assign the next poll to a group without any pending polls,
2934
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
2935
+ # according to the weights.
2936
+ sig { void }
2937
+ def clear_poller_groups_info
2938
+ end
2939
+
2853
2940
  sig { params(field: String).returns(T.untyped) }
2854
2941
  def [](field)
2855
2942
  end
@@ -2908,7 +2995,9 @@ class Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest
2908
2995
  versioning_behavior: T.nilable(T.any(Symbol, String, Integer)),
2909
2996
  deployment_options: T.nilable(Temporalio::Api::Deployment::V1::WorkerDeploymentOptions),
2910
2997
  worker_instance_key: T.nilable(String),
2911
- worker_control_task_queue: T.nilable(String)
2998
+ worker_control_task_queue: T.nilable(String),
2999
+ page_number: T.nilable(Integer),
3000
+ intermediate_page: T.nilable(T::Boolean)
2912
3001
  ).void
2913
3002
  end
2914
3003
  def initialize(
@@ -2931,7 +3020,9 @@ class Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest
2931
3020
  versioning_behavior: :VERSIONING_BEHAVIOR_UNSPECIFIED,
2932
3021
  deployment_options: nil,
2933
3022
  worker_instance_key: "",
2934
- worker_control_task_queue: ""
3023
+ worker_control_task_queue: "",
3024
+ page_number: 0,
3025
+ intermediate_page: false
2935
3026
  )
2936
3027
  end
2937
3028
 
@@ -3277,6 +3368,48 @@ class Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest
3277
3368
  def clear_worker_control_task_queue
3278
3369
  end
3279
3370
 
3371
+ # 0-indexed page number when the workflow task completion is split across multiple
3372
+ # requests ("pages"). 0 for single-page requests. May only be set to non-zero value
3373
+ # when the namespace capability workflow_task_completion_pagination is true.
3374
+ sig { returns(Integer) }
3375
+ def page_number
3376
+ end
3377
+
3378
+ # 0-indexed page number when the workflow task completion is split across multiple
3379
+ # requests ("pages"). 0 for single-page requests. May only be set to non-zero value
3380
+ # when the namespace capability workflow_task_completion_pagination is true.
3381
+ sig { params(value: Integer).void }
3382
+ def page_number=(value)
3383
+ end
3384
+
3385
+ # 0-indexed page number when the workflow task completion is split across multiple
3386
+ # requests ("pages"). 0 for single-page requests. May only be set to non-zero value
3387
+ # when the namespace capability workflow_task_completion_pagination is true.
3388
+ sig { void }
3389
+ def clear_page_number
3390
+ end
3391
+
3392
+ # True for non-final pages of a paginated workflow task completion. The final page's
3393
+ # `page_number` tells the server how many intermediate pages (0..page_number-1) preceded it.
3394
+ # May only be used when the namespace capability workflow_task_completion_pagination is true.
3395
+ sig { returns(T::Boolean) }
3396
+ def intermediate_page
3397
+ end
3398
+
3399
+ # True for non-final pages of a paginated workflow task completion. The final page's
3400
+ # `page_number` tells the server how many intermediate pages (0..page_number-1) preceded it.
3401
+ # May only be used when the namespace capability workflow_task_completion_pagination is true.
3402
+ sig { params(value: T::Boolean).void }
3403
+ def intermediate_page=(value)
3404
+ end
3405
+
3406
+ # True for non-final pages of a paginated workflow task completion. The final page's
3407
+ # `page_number` tells the server how many intermediate pages (0..page_number-1) preceded it.
3408
+ # May only be used when the namespace capability workflow_task_completion_pagination is true.
3409
+ sig { void }
3410
+ def clear_intermediate_page
3411
+ end
3412
+
3280
3413
  sig { params(field: String).returns(T.untyped) }
3281
3414
  def [](field)
3282
3415
  end
@@ -3938,7 +4071,8 @@ class Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse
3938
4071
  poller_scaling_decision: T.nilable(Temporalio::Api::TaskQueue::V1::PollerScalingDecision),
3939
4072
  priority: T.nilable(Temporalio::Api::Common::V1::Priority),
3940
4073
  activity_run_id: T.nilable(String),
3941
- poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)])
4074
+ poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]),
4075
+ poller_groups_info: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)
3942
4076
  ).void
3943
4077
  end
3944
4078
  def initialize(
@@ -3962,7 +4096,8 @@ class Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse
3962
4096
  poller_scaling_decision: nil,
3963
4097
  priority: nil,
3964
4098
  activity_run_id: "",
3965
- poller_group_infos: []
4099
+ poller_group_infos: [],
4100
+ poller_groups_info: nil
3966
4101
  )
3967
4102
  end
3968
4103
 
@@ -4338,6 +4473,39 @@ class Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse
4338
4473
  def clear_poller_group_infos
4339
4474
  end
4340
4475
 
4476
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
4477
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
4478
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
4479
+ # 1. Maintain minimum number of pollers no less than the number of groups.
4480
+ # 2. Try to assign the next poll to a group without any pending polls,
4481
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
4482
+ # according to the weights.
4483
+ sig { returns(T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)) }
4484
+ def poller_groups_info
4485
+ end
4486
+
4487
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
4488
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
4489
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
4490
+ # 1. Maintain minimum number of pollers no less than the number of groups.
4491
+ # 2. Try to assign the next poll to a group without any pending polls,
4492
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
4493
+ # according to the weights.
4494
+ sig { params(value: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)).void }
4495
+ def poller_groups_info=(value)
4496
+ end
4497
+
4498
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
4499
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
4500
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
4501
+ # 1. Maintain minimum number of pollers no less than the number of groups.
4502
+ # 2. Try to assign the next poll to a group without any pending polls,
4503
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
4504
+ # according to the weights.
4505
+ sig { void }
4506
+ def clear_poller_groups_info
4507
+ end
4508
+
4341
4509
  sig { params(field: String).returns(T.untyped) }
4342
4510
  def [](field)
4343
4511
  end
@@ -7127,27 +7295,27 @@ class Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequ
7127
7295
  def clear_header
7128
7296
  end
7129
7297
 
7130
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
7298
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
7131
7299
  # Note that the signal will be delivered with the first workflow task. If the workflow gets
7132
- # another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately
7300
+ # another SignalWithStartWorkflow before the delay a workflow task will be made available for dispatch immediately
7133
7301
  # and the rest of the delay period will be ignored, even if that request also had a delay.
7134
7302
  # Signal via SignalWorkflowExecution will not unblock the workflow.
7135
7303
  sig { returns(T.nilable(Google::Protobuf::Duration)) }
7136
7304
  def workflow_start_delay
7137
7305
  end
7138
7306
 
7139
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
7307
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
7140
7308
  # Note that the signal will be delivered with the first workflow task. If the workflow gets
7141
- # another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately
7309
+ # another SignalWithStartWorkflow before the delay a workflow task will be made available for dispatch immediately
7142
7310
  # and the rest of the delay period will be ignored, even if that request also had a delay.
7143
7311
  # Signal via SignalWorkflowExecution will not unblock the workflow.
7144
7312
  sig { params(value: T.nilable(Google::Protobuf::Duration)).void }
7145
7313
  def workflow_start_delay=(value)
7146
7314
  end
7147
7315
 
7148
- # Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`.
7316
+ # Time to wait before making the first workflow task available for dispatch. Cannot be used with `cron_schedule`.
7149
7317
  # Note that the signal will be delivered with the first workflow task. If the workflow gets
7150
- # another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately
7318
+ # another SignalWithStartWorkflow before the delay a workflow task will be made available for dispatch immediately
7151
7319
  # and the rest of the delay period will be ignored, even if that request also had a delay.
7152
7320
  # Signal via SignalWorkflowExecution will not unblock the workflow.
7153
7321
  sig { void }
@@ -7278,12 +7446,14 @@ class Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResp
7278
7446
  sig do
7279
7447
  params(
7280
7448
  run_id: T.nilable(String),
7449
+ first_execution_run_id: T.nilable(String),
7281
7450
  started: T.nilable(T::Boolean),
7282
7451
  signal_link: T.nilable(Temporalio::Api::Common::V1::Link)
7283
7452
  ).void
7284
7453
  end
7285
7454
  def initialize(
7286
7455
  run_id: "",
7456
+ first_execution_run_id: "",
7287
7457
  started: false,
7288
7458
  signal_link: nil
7289
7459
  )
@@ -7304,6 +7474,21 @@ class Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResp
7304
7474
  def clear_run_id
7305
7475
  end
7306
7476
 
7477
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
7478
+ sig { returns(String) }
7479
+ def first_execution_run_id
7480
+ end
7481
+
7482
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
7483
+ sig { params(value: String).void }
7484
+ def first_execution_run_id=(value)
7485
+ end
7486
+
7487
+ # If the workflow was started as a result of a de-dupe, this field will contain the run id of the first execution in the chain.
7488
+ sig { void }
7489
+ def clear_first_execution_run_id
7490
+ end
7491
+
7307
7492
  # If true, a new workflow was started.
7308
7493
  sig { returns(T::Boolean) }
7309
7494
  def started
@@ -14170,6 +14355,7 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14170
14355
  job_id: T.nilable(String),
14171
14356
  reason: T.nilable(String),
14172
14357
  executions: T.nilable(T::Array[T.nilable(Temporalio::Api::Common::V1::WorkflowExecution)]),
14358
+ target_executions: T.nilable(T::Array[T.nilable(Temporalio::Api::Common::V1::Execution)]),
14173
14359
  max_operations_per_second: T.nilable(Float),
14174
14360
  termination_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationTermination),
14175
14361
  signal_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationSignal),
@@ -14179,7 +14365,10 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14179
14365
  update_workflow_options_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationUpdateWorkflowExecutionOptions),
14180
14366
  unpause_activities_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationUnpauseActivities),
14181
14367
  reset_activities_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationResetActivities),
14182
- update_activity_options_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationUpdateActivityOptions)
14368
+ update_activity_options_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationUpdateActivityOptions),
14369
+ cancel_activities_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationCancelActivities),
14370
+ terminate_activities_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationTerminateActivities),
14371
+ delete_activities_operation: T.nilable(Temporalio::Api::Batch::V1::BatchOperationDeleteActivities)
14183
14372
  ).void
14184
14373
  end
14185
14374
  def initialize(
@@ -14188,6 +14377,7 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14188
14377
  job_id: "",
14189
14378
  reason: "",
14190
14379
  executions: [],
14380
+ target_executions: [],
14191
14381
  max_operations_per_second: 0.0,
14192
14382
  termination_operation: nil,
14193
14383
  signal_operation: nil,
@@ -14197,7 +14387,10 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14197
14387
  update_workflow_options_operation: nil,
14198
14388
  unpause_activities_operation: nil,
14199
14389
  reset_activities_operation: nil,
14200
- update_activity_options_operation: nil
14390
+ update_activity_options_operation: nil,
14391
+ cancel_activities_operation: nil,
14392
+ terminate_activities_operation: nil,
14393
+ delete_activities_operation: nil
14201
14394
  )
14202
14395
  end
14203
14396
 
@@ -14266,22 +14459,43 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14266
14459
 
14267
14460
  # Executions to apply the batch operation
14268
14461
  # This field and `visibility_query` are mutually exclusive
14462
+ # DEPRECATED: Use `target_executions` instead.
14269
14463
  sig { returns(T::Array[T.nilable(Temporalio::Api::Common::V1::WorkflowExecution)]) }
14270
14464
  def executions
14271
14465
  end
14272
14466
 
14273
14467
  # Executions to apply the batch operation
14274
14468
  # This field and `visibility_query` are mutually exclusive
14469
+ # DEPRECATED: Use `target_executions` instead.
14275
14470
  sig { params(value: ::Google::Protobuf::RepeatedField).void }
14276
14471
  def executions=(value)
14277
14472
  end
14278
14473
 
14279
14474
  # Executions to apply the batch operation
14280
14475
  # This field and `visibility_query` are mutually exclusive
14476
+ # DEPRECATED: Use `target_executions` instead.
14281
14477
  sig { void }
14282
14478
  def clear_executions
14283
14479
  end
14284
14480
 
14481
+ # Target executions to apply the batch operation. This field and `visibility_query`
14482
+ # are mutually exclusive.
14483
+ sig { returns(T::Array[T.nilable(Temporalio::Api::Common::V1::Execution)]) }
14484
+ def target_executions
14485
+ end
14486
+
14487
+ # Target executions to apply the batch operation. This field and `visibility_query`
14488
+ # are mutually exclusive.
14489
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
14490
+ def target_executions=(value)
14491
+ end
14492
+
14493
+ # Target executions to apply the batch operation. This field and `visibility_query`
14494
+ # are mutually exclusive.
14495
+ sig { void }
14496
+ def clear_target_executions
14497
+ end
14498
+
14285
14499
  # Limit for the number of operations processed per second within this batch.
14286
14500
  # Its purpose is to reduce the stress on the system caused by batch operations, which helps to prevent system
14287
14501
  # overload and minimize potential delays in executing ongoing tasks for user workers.
@@ -14420,6 +14634,42 @@ class Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest
14420
14634
  def clear_update_activity_options_operation
14421
14635
  end
14422
14636
 
14637
+ sig { returns(T.nilable(Temporalio::Api::Batch::V1::BatchOperationCancelActivities)) }
14638
+ def cancel_activities_operation
14639
+ end
14640
+
14641
+ sig { params(value: T.nilable(Temporalio::Api::Batch::V1::BatchOperationCancelActivities)).void }
14642
+ def cancel_activities_operation=(value)
14643
+ end
14644
+
14645
+ sig { void }
14646
+ def clear_cancel_activities_operation
14647
+ end
14648
+
14649
+ sig { returns(T.nilable(Temporalio::Api::Batch::V1::BatchOperationTerminateActivities)) }
14650
+ def terminate_activities_operation
14651
+ end
14652
+
14653
+ sig { params(value: T.nilable(Temporalio::Api::Batch::V1::BatchOperationTerminateActivities)).void }
14654
+ def terminate_activities_operation=(value)
14655
+ end
14656
+
14657
+ sig { void }
14658
+ def clear_terminate_activities_operation
14659
+ end
14660
+
14661
+ sig { returns(T.nilable(Temporalio::Api::Batch::V1::BatchOperationDeleteActivities)) }
14662
+ def delete_activities_operation
14663
+ end
14664
+
14665
+ sig { params(value: T.nilable(Temporalio::Api::Batch::V1::BatchOperationDeleteActivities)).void }
14666
+ def delete_activities_operation=(value)
14667
+ end
14668
+
14669
+ sig { void }
14670
+ def clear_delete_activities_operation
14671
+ end
14672
+
14423
14673
  sig { returns(T.nilable(Symbol)) }
14424
14674
  def operation
14425
14675
  end
@@ -14744,7 +14994,9 @@ class Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse
14744
14994
  complete_operation_count: T.nilable(Integer),
14745
14995
  failure_operation_count: T.nilable(Integer),
14746
14996
  identity: T.nilable(String),
14747
- reason: T.nilable(String)
14997
+ reason: T.nilable(String),
14998
+ query: T.nilable(String),
14999
+ executions: T.nilable(T::Array[T.nilable(Temporalio::Api::Common::V1::Execution)])
14748
15000
  ).void
14749
15001
  end
14750
15002
  def initialize(
@@ -14757,7 +15009,9 @@ class Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse
14757
15009
  complete_operation_count: 0,
14758
15010
  failure_operation_count: 0,
14759
15011
  identity: "",
14760
- reason: ""
15012
+ reason: "",
15013
+ query: "",
15014
+ executions: []
14761
15015
  )
14762
15016
  end
14763
15017
 
@@ -14911,6 +15165,36 @@ class Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse
14911
15165
  def clear_reason
14912
15166
  end
14913
15167
 
15168
+ # Query is the visibility query that defines the group of workflow to apply the batch operation
15169
+ sig { returns(String) }
15170
+ def query
15171
+ end
15172
+
15173
+ # Query is the visibility query that defines the group of workflow to apply the batch operation
15174
+ sig { params(value: String).void }
15175
+ def query=(value)
15176
+ end
15177
+
15178
+ # Query is the visibility query that defines the group of workflow to apply the batch operation
15179
+ sig { void }
15180
+ def clear_query
15181
+ end
15182
+
15183
+ # Executions is the list of workflow OR standalone activity executions to apply the batch operation
15184
+ sig { returns(T::Array[T.nilable(Temporalio::Api::Common::V1::Execution)]) }
15185
+ def executions
15186
+ end
15187
+
15188
+ # Executions is the list of workflow OR standalone activity executions to apply the batch operation
15189
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
15190
+ def executions=(value)
15191
+ end
15192
+
15193
+ # Executions is the list of workflow OR standalone activity executions to apply the batch operation
15194
+ sig { void }
15195
+ def clear_executions
15196
+ end
15197
+
14914
15198
  sig { params(field: String).returns(T.untyped) }
14915
15199
  def [](field)
14916
15200
  end
@@ -15573,7 +15857,8 @@ class Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueResponse
15573
15857
  request: T.nilable(Temporalio::Api::Nexus::V1::Request),
15574
15858
  poller_scaling_decision: T.nilable(Temporalio::Api::TaskQueue::V1::PollerScalingDecision),
15575
15859
  poller_group_id: T.nilable(String),
15576
- poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)])
15860
+ poller_group_infos: T.nilable(T::Array[T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupInfo)]),
15861
+ poller_groups_info: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)
15577
15862
  ).void
15578
15863
  end
15579
15864
  def initialize(
@@ -15581,7 +15866,8 @@ class Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueResponse
15581
15866
  request: nil,
15582
15867
  poller_scaling_decision: nil,
15583
15868
  poller_group_id: "",
15584
- poller_group_infos: []
15869
+ poller_group_infos: [],
15870
+ poller_groups_info: nil
15585
15871
  )
15586
15872
  end
15587
15873
 
@@ -15684,6 +15970,39 @@ class Temporalio::Api::WorkflowService::V1::PollNexusTaskQueueResponse
15684
15970
  def clear_poller_group_infos
15685
15971
  end
15686
15972
 
15973
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
15974
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
15975
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
15976
+ # 1. Maintain minimum number of pollers no less than the number of groups.
15977
+ # 2. Try to assign the next poll to a group without any pending polls,
15978
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
15979
+ # according to the weights.
15980
+ sig { returns(T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)) }
15981
+ def poller_groups_info
15982
+ end
15983
+
15984
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
15985
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
15986
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
15987
+ # 1. Maintain minimum number of pollers no less than the number of groups.
15988
+ # 2. Try to assign the next poll to a group without any pending polls,
15989
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
15990
+ # according to the weights.
15991
+ sig { params(value: T.nilable(Temporalio::Api::TaskQueue::V1::PollerGroupsInfo)).void }
15992
+ def poller_groups_info=(value)
15993
+ end
15994
+
15995
+ # The weighted, versioned list of poller groups IDs that client should use for future polls to
15996
+ # this task queue. Client should ignore this if it has already applied a snapshot with a
15997
+ # version greater than or equal to `poller_groups_info.version`. Client is expected to:
15998
+ # 1. Maintain minimum number of pollers no less than the number of groups.
15999
+ # 2. Try to assign the next poll to a group without any pending polls,
16000
+ # 3. If every group has some pending polls, assign the next poll to a group randomly
16001
+ # according to the weights.
16002
+ sig { void }
16003
+ def clear_poller_groups_info
16004
+ end
16005
+
15687
16006
  sig { params(field: String).returns(T.untyped) }
15688
16007
  def [](field)
15689
16008
  end
@@ -17990,7 +18309,6 @@ class Temporalio::Api::WorkflowService::V1::ResetActivityExecutionRequest
17990
18309
  activity_id: T.nilable(String),
17991
18310
  run_id: T.nilable(String),
17992
18311
  identity: T.nilable(String),
17993
- reset_heartbeat: T.nilable(T::Boolean),
17994
18312
  keep_paused: T.nilable(T::Boolean),
17995
18313
  jitter: T.nilable(Google::Protobuf::Duration),
17996
18314
  restore_original_options: T.nilable(T::Boolean),
@@ -18003,7 +18321,6 @@ class Temporalio::Api::WorkflowService::V1::ResetActivityExecutionRequest
18003
18321
  activity_id: "",
18004
18322
  run_id: "",
18005
18323
  identity: "",
18006
- reset_heartbeat: false,
18007
18324
  keep_paused: false,
18008
18325
  jitter: nil,
18009
18326
  restore_original_options: false,
@@ -18089,24 +18406,6 @@ class Temporalio::Api::WorkflowService::V1::ResetActivityExecutionRequest
18089
18406
  def clear_identity
18090
18407
  end
18091
18408
 
18092
- # Indicates that activity should reset heartbeat details.
18093
- # This flag will be applied only to the new instance of the activity.
18094
- sig { returns(T::Boolean) }
18095
- def reset_heartbeat
18096
- end
18097
-
18098
- # Indicates that activity should reset heartbeat details.
18099
- # This flag will be applied only to the new instance of the activity.
18100
- sig { params(value: T::Boolean).void }
18101
- def reset_heartbeat=(value)
18102
- end
18103
-
18104
- # Indicates that activity should reset heartbeat details.
18105
- # This flag will be applied only to the new instance of the activity.
18106
- sig { void }
18107
- def clear_reset_heartbeat
18108
- end
18109
-
18110
18409
  # If activity is paused, it will remain paused after reset
18111
18410
  sig { returns(T::Boolean) }
18112
18411
  def keep_paused
@@ -25077,17 +25376,17 @@ class Temporalio::Api::WorkflowService::V1::StartActivityExecutionRequest
25077
25376
  def clear_on_conflict_options
25078
25377
  end
25079
25378
 
25080
- # Time to wait before dispatching the first activity task. This delay is not applied to retry attempts.
25379
+ # Time to wait before making the first activity task available for dispatch. This delay is not applied to retry attempts.
25081
25380
  sig { returns(T.nilable(Google::Protobuf::Duration)) }
25082
25381
  def start_delay
25083
25382
  end
25084
25383
 
25085
- # Time to wait before dispatching the first activity task. This delay is not applied to retry attempts.
25384
+ # Time to wait before making the first activity task available for dispatch. This delay is not applied to retry attempts.
25086
25385
  sig { params(value: T.nilable(Google::Protobuf::Duration)).void }
25087
25386
  def start_delay=(value)
25088
25387
  end
25089
25388
 
25090
- # Time to wait before dispatching the first activity task. This delay is not applied to retry attempts.
25389
+ # Time to wait before making the first activity task available for dispatch. This delay is not applied to retry attempts.
25091
25390
  sig { void }
25092
25391
  def clear_start_delay
25093
25392
  end
@@ -28744,7 +29043,8 @@ class Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse::Capabilities
28744
29043
  sdk_metadata: T.nilable(T::Boolean),
28745
29044
  count_group_by_execution_status: T.nilable(T::Boolean),
28746
29045
  nexus: T.nilable(T::Boolean),
28747
- server_scaled_deployments: T.nilable(T::Boolean)
29046
+ server_scaled_deployments: T.nilable(T::Boolean),
29047
+ server_scaled_provider_cloud_run: T.nilable(T::Boolean)
28748
29048
  ).void
28749
29049
  end
28750
29050
  def initialize(
@@ -28759,7 +29059,8 @@ class Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse::Capabilities
28759
29059
  sdk_metadata: false,
28760
29060
  count_group_by_execution_status: false,
28761
29061
  nexus: false,
28762
- server_scaled_deployments: false
29062
+ server_scaled_deployments: false,
29063
+ server_scaled_provider_cloud_run: false
28763
29064
  )
28764
29065
  end
28765
29066
 
@@ -28976,6 +29277,27 @@ class Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse::Capabilities
28976
29277
  def clear_server_scaled_deployments
28977
29278
  end
28978
29279
 
29280
+ # True if the server supports the Cloud Run compute provider for
29281
+ # server-scaled deployments. Dependent on server version and the
29282
+ # provider being enabled via server configuration.
29283
+ sig { returns(T::Boolean) }
29284
+ def server_scaled_provider_cloud_run
29285
+ end
29286
+
29287
+ # True if the server supports the Cloud Run compute provider for
29288
+ # server-scaled deployments. Dependent on server version and the
29289
+ # provider being enabled via server configuration.
29290
+ sig { params(value: T::Boolean).void }
29291
+ def server_scaled_provider_cloud_run=(value)
29292
+ end
29293
+
29294
+ # True if the server supports the Cloud Run compute provider for
29295
+ # server-scaled deployments. Dependent on server version and the
29296
+ # provider being enabled via server configuration.
29297
+ sig { void }
29298
+ def clear_server_scaled_provider_cloud_run
29299
+ end
29300
+
28979
29301
  sig { params(field: String).returns(T.untyped) }
28980
29302
  def [](field)
28981
29303
  end