temporalio 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +37 -67
  3. data/Gemfile +3 -0
  4. data/README.md +25 -2
  5. data/Rakefile +20 -1
  6. data/ext/Cargo.toml +3 -3
  7. data/lib/temporalio/api/activity/v1/message.rb +1 -1
  8. data/lib/temporalio/api/batch/v1/message.rb +4 -1
  9. data/lib/temporalio/api/command/v1/message.rb +2 -1
  10. data/lib/temporalio/api/common/v1/message.rb +5 -1
  11. data/lib/temporalio/api/enums/v1/activity.rb +1 -1
  12. data/lib/temporalio/api/enums/v1/batch_operation.rb +1 -1
  13. data/lib/temporalio/api/enums/v1/common.rb +2 -1
  14. data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
  15. data/lib/temporalio/api/enums/v1/time_skipping.rb +21 -0
  16. data/lib/temporalio/api/errordetails/v1/message.rb +2 -1
  17. data/lib/temporalio/api/history/v1/message.rb +1 -1
  18. data/lib/temporalio/api/namespace/v1/message.rb +1 -1
  19. data/lib/temporalio/api/taskqueue/v1/message.rb +2 -1
  20. data/lib/temporalio/api/worker/v1/message.rb +13 -1
  21. data/lib/temporalio/api/workflow/v1/message.rb +1 -1
  22. data/lib/temporalio/api/workflowservice/v1/request_response.rb +4 -1
  23. data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
  24. data/lib/temporalio/client/activity_execution.rb +82 -1
  25. data/lib/temporalio/client/activity_execution_options.rb +39 -0
  26. data/lib/temporalio/client/activity_execution_status.rb +1 -0
  27. data/lib/temporalio/client/activity_handle.rb +122 -1
  28. data/lib/temporalio/client/activity_options.rb +113 -0
  29. data/lib/temporalio/client/connection/workflow_service.rb +15 -0
  30. data/lib/temporalio/client/connection.rb +33 -3
  31. data/lib/temporalio/client/interceptor.rb +65 -0
  32. data/lib/temporalio/client/schedule.rb +4 -5
  33. data/lib/temporalio/client/workflow_execution.rb +2 -2
  34. data/lib/temporalio/client/workflow_handle.rb +2 -1
  35. data/lib/temporalio/client.rb +4 -6
  36. data/lib/temporalio/converters/data_converter.rb +1 -0
  37. data/lib/temporalio/converters/failure_converter.rb +7 -4
  38. data/lib/temporalio/internal/bridge/api/common/common.rb +2 -1
  39. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +1 -1
  40. data/lib/temporalio/internal/bridge/client.rb +3 -1
  41. data/lib/temporalio/internal/bridge/runtime.rb +4 -1
  42. data/lib/temporalio/internal/bridge/worker.rb +3 -1
  43. data/lib/temporalio/internal/client/implementation.rb +54 -2
  44. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +9 -0
  45. data/lib/temporalio/runtime.rb +25 -7
  46. data/lib/temporalio/scoped_logger.rb +18 -0
  47. data/lib/temporalio/version.rb +1 -1
  48. data/lib/temporalio/worker/activity_executor/fiber.rb +11 -1
  49. data/lib/temporalio/worker/workflow_replayer.rb +2 -0
  50. data/lib/temporalio/worker.rb +24 -4
  51. data/lib/temporalio/workflow.rb +8 -9
  52. data/rbi/temporalio/api/activity/v1/message.rbi +100 -14
  53. data/rbi/temporalio/api/batch/v1/message.rbi +229 -2
  54. data/rbi/temporalio/api/command/v1/message.rbi +22 -2
  55. data/rbi/temporalio/api/common/v1/message.rbi +548 -74
  56. data/rbi/temporalio/api/enums/v1/activity.rbi +1 -0
  57. data/rbi/temporalio/api/enums/v1/batch_operation.rbi +9 -0
  58. data/rbi/temporalio/api/enums/v1/common.rbi +18 -0
  59. data/rbi/temporalio/api/enums/v1/failed_cause.rbi +4 -0
  60. data/rbi/temporalio/api/enums/v1/time_skipping.rbi +22 -0
  61. data/rbi/temporalio/api/errordetails/v1/message.rbi +59 -2
  62. data/rbi/temporalio/api/history/v1/message.rbi +27 -7
  63. data/rbi/temporalio/api/namespace/v1/message.rbi +95 -4
  64. data/rbi/temporalio/api/taskqueue/v1/message.rbi +113 -2
  65. data/rbi/temporalio/api/worker/v1/message.rbi +742 -2
  66. data/rbi/temporalio/api/workflow/v1/message.rbi +22 -2
  67. data/rbi/temporalio/api/workflowservice/v1/request_response.rbi +701 -117
  68. data/rbi/temporalio/api/workflowservice/v1/service_services.rbi +8 -0
  69. data/rbi/temporalio/client/activity_execution.rbi +27 -0
  70. data/rbi/temporalio/client/activity_execution_options.rbi +58 -0
  71. data/rbi/temporalio/client/activity_execution_status.rbi +1 -0
  72. data/rbi/temporalio/client/activity_handle.rbi +43 -2
  73. data/rbi/temporalio/client/activity_options.rbi +49 -0
  74. data/rbi/temporalio/client/connection/workflow_service.rbi +3 -0
  75. data/rbi/temporalio/client/connection.rbi +2 -0
  76. data/rbi/temporalio/client/interceptor.rbi +107 -0
  77. data/rbi/temporalio/converters/failure_converter.rbi +7 -2
  78. data/rbi/temporalio/internal/bridge/api/common/common.rbi +115 -0
  79. data/rbi/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbi +42 -2
  80. data/rbi/temporalio/internal/bridge/runtime.rbi +24 -4
  81. data/rbi/temporalio/internal/bridge/worker.rbi +2 -0
  82. data/rbi/temporalio/runtime.rbi +13 -4
  83. data/rbi/temporalio/scoped_logger.rbi +1 -1
  84. data/rbi/temporalio/worker.rbi +9 -2
  85. data/rbi/temporalio/workflow/future.rbi +1 -1
  86. data/sig/temporalio/api/activity/v1/message.rbs +48 -2
  87. data/sig/temporalio/api/batch/v1/message.rbs +86 -0
  88. data/sig/temporalio/api/command/v1/message.rbs +10 -0
  89. data/sig/temporalio/api/common/v1/message.rbs +240 -39
  90. data/sig/temporalio/api/enums/v1/activity.rbs +9 -5
  91. data/sig/temporalio/api/enums/v1/batch_operation.rbs +33 -3
  92. data/sig/temporalio/api/enums/v1/common.rbs +23 -0
  93. data/sig/temporalio/api/enums/v1/failed_cause.rbs +18 -6
  94. data/sig/temporalio/api/enums/v1/time_skipping.rbs +58 -0
  95. data/sig/temporalio/api/errordetails/v1/message.rbs +19 -0
  96. data/sig/temporalio/api/history/v1/message.rbs +13 -3
  97. data/sig/temporalio/api/namespace/v1/message.rbs +43 -0
  98. data/sig/temporalio/api/taskqueue/v1/message.rbs +44 -0
  99. data/sig/temporalio/api/worker/v1/message.rbs +410 -0
  100. data/sig/temporalio/api/workflow/v1/message.rbs +10 -0
  101. data/sig/temporalio/api/workflowservice/v1/request_response.rbs +311 -40
  102. data/sig/temporalio/client/activity_execution.rbs +10 -0
  103. data/sig/temporalio/client/activity_execution_options.rbs +27 -0
  104. data/sig/temporalio/client/activity_execution_status.rbs +1 -0
  105. data/sig/temporalio/client/activity_handle.rbs +23 -1
  106. data/sig/temporalio/client/activity_options.rbs +30 -0
  107. data/sig/temporalio/client/connection/workflow_service.rbs +4 -0
  108. data/sig/temporalio/client/connection.rbs +14 -1
  109. data/sig/temporalio/client/interceptor.rbs +62 -0
  110. data/sig/temporalio/converters/failure_converter.rbs +4 -1
  111. data/sig/temporalio/internal/bridge/api/common/common.rbs +50 -0
  112. data/sig/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rbs +20 -0
  113. data/sig/temporalio/internal/bridge/client.rbs +5 -1
  114. data/sig/temporalio/internal/bridge/runtime.rbs +9 -3
  115. data/sig/temporalio/internal/bridge/worker.rbs +5 -1
  116. data/sig/temporalio/internal/client/implementation.rbs +7 -0
  117. data/sig/temporalio/runtime.rbs +14 -3
  118. data/sig/temporalio/scoped_logger.rbs +1 -1
  119. data/sig/temporalio/worker.rbs +8 -2
  120. metadata +10 -1
@@ -1567,5 +1567,13 @@ module Temporalio::Api::WorkflowService::V1::WorkflowService
1567
1567
  end
1568
1568
  def delete_nexus_operation_execution(request)
1569
1569
  end
1570
+
1571
+ sig do
1572
+ params(
1573
+ request: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingRequest
1574
+ ).returns(Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingResponse)
1575
+ end
1576
+ def poll_workflow_execution_time_skipping(request)
1577
+ end
1570
1578
  end
1571
1579
  end
@@ -33,6 +33,9 @@ class Temporalio::Client::ActivityExecution
33
33
  sig { returns(T.nilable(Time)) }
34
34
  def schedule_time; end
35
35
 
36
+ sig { returns(T.nilable(Time)) }
37
+ def execution_time; end
38
+
36
39
  sig { returns(T.nilable(Time)) }
37
40
  def close_time; end
38
41
 
@@ -76,9 +79,30 @@ class Temporalio::Client::ActivityExecution::Description < ::Temporalio::Client:
76
79
  sig { returns(T.nilable(Float)) }
77
80
  def heartbeat_timeout; end
78
81
 
82
+ sig { returns(T.nilable(Float)) }
83
+ def start_delay; end
84
+
79
85
  sig { returns(T::Boolean) }
80
86
  def has_heartbeat_details?; end
81
87
 
88
+ sig { returns(T::Boolean) }
89
+ def has_last_failure?; end
90
+
91
+ sig { returns(T::Boolean) }
92
+ def has_input?; end
93
+
94
+ sig { params(hints: T.nilable(T::Array[Object])).returns(T::Array[T.nilable(Object)]) }
95
+ def input(hints: T.unsafe(nil)); end
96
+
97
+ sig { returns(T::Boolean) }
98
+ def has_result?; end
99
+
100
+ sig { params(result_hint: T.nilable(Object)).returns(T.nilable(Object)) }
101
+ def result(result_hint: T.unsafe(nil)); end
102
+
103
+ sig { returns(T.nilable(Temporalio::Error::Failure)) }
104
+ def failure; end
105
+
82
106
  sig { params(hints: T.nilable(T::Array[Object])).returns(T::Array[T.nilable(Object)]) }
83
107
  def heartbeat_details(hints: T.unsafe(nil)); end
84
108
 
@@ -94,6 +118,9 @@ class Temporalio::Client::ActivityExecution::Description < ::Temporalio::Client:
94
118
  sig { returns(Integer) }
95
119
  def attempt; end
96
120
 
121
+ sig { returns(Integer) }
122
+ def total_heartbeat_count; end
123
+
97
124
  sig { returns(T.nilable(Temporalio::Error::Failure)) }
98
125
  def last_failure; end
99
126
 
@@ -0,0 +1,58 @@
1
+ # typed: true
2
+
3
+ class Temporalio::Client::ActivityExecutionOptions
4
+ class << self
5
+ sig do
6
+ params(options: Temporalio::Api::Activity::V1::ActivityOptions)
7
+ .returns(Temporalio::Client::ActivityExecutionOptions)
8
+ end
9
+ def _from_proto(options); end
10
+ end
11
+
12
+ sig do
13
+ params(
14
+ task_queue: T.nilable(String),
15
+ schedule_to_close_timeout: T.nilable(Float),
16
+ schedule_to_start_timeout: T.nilable(Float),
17
+ start_to_close_timeout: T.nilable(Float),
18
+ heartbeat_timeout: T.nilable(Float),
19
+ retry_policy: T.nilable(Temporalio::RetryPolicy),
20
+ priority: Temporalio::Priority,
21
+ start_delay: T.nilable(Float)
22
+ ).void
23
+ end
24
+ def initialize(
25
+ task_queue:,
26
+ schedule_to_close_timeout:,
27
+ schedule_to_start_timeout:,
28
+ start_to_close_timeout:,
29
+ heartbeat_timeout:,
30
+ retry_policy:,
31
+ priority:,
32
+ start_delay:
33
+ ); end
34
+
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :task_queue
37
+
38
+ sig { returns(T.nilable(Float)) }
39
+ attr_reader :schedule_to_close_timeout
40
+
41
+ sig { returns(T.nilable(Float)) }
42
+ attr_reader :schedule_to_start_timeout
43
+
44
+ sig { returns(T.nilable(Float)) }
45
+ attr_reader :start_to_close_timeout
46
+
47
+ sig { returns(T.nilable(Float)) }
48
+ attr_reader :heartbeat_timeout
49
+
50
+ sig { returns(T.nilable(Temporalio::RetryPolicy)) }
51
+ attr_reader :retry_policy
52
+
53
+ sig { returns(Temporalio::Priority) }
54
+ attr_reader :priority
55
+
56
+ sig { returns(T.nilable(Float)) }
57
+ attr_reader :start_delay
58
+ end
@@ -8,4 +8,5 @@ module Temporalio::Client::ActivityExecutionStatus
8
8
  CANCELED = T.let(T.unsafe(nil), Integer)
9
9
  TERMINATED = T.let(T.unsafe(nil), Integer)
10
10
  TIMED_OUT = T.let(T.unsafe(nil), Integer)
11
+ PAUSED = T.let(T.unsafe(nil), Integer)
11
12
  end
@@ -1,6 +1,8 @@
1
1
  # typed: true
2
2
 
3
3
  class Temporalio::Client::ActivityHandle
4
+ UPDATABLE_OPTION_PATHS = T.let(T.unsafe(nil), T::Hash[Symbol, String])
5
+
4
6
  sig do
5
7
  params(
6
8
  client: Temporalio::Client,
@@ -28,8 +30,22 @@ class Temporalio::Client::ActivityHandle
28
30
  end
29
31
  def result(result_hint: T.unsafe(nil), rpc_options: T.unsafe(nil)); end
30
32
 
31
- sig { params(rpc_options: T.nilable(Temporalio::Client::RPCOptions)).returns(Temporalio::Client::ActivityExecution::Description) }
32
- def describe(rpc_options: T.unsafe(nil)); end
33
+ sig do
34
+ params(
35
+ include_input: T::Boolean,
36
+ include_outcome: T::Boolean,
37
+ include_heartbeat_details: T::Boolean,
38
+ include_last_failure: T::Boolean,
39
+ rpc_options: T.nilable(Temporalio::Client::RPCOptions)
40
+ ).returns(Temporalio::Client::ActivityExecution::Description)
41
+ end
42
+ def describe(
43
+ include_input: T.unsafe(nil),
44
+ include_outcome: T.unsafe(nil),
45
+ include_heartbeat_details: T.unsafe(nil),
46
+ include_last_failure: T.unsafe(nil),
47
+ rpc_options: T.unsafe(nil)
48
+ ); end
33
49
 
34
50
  sig { params(reason: T.nilable(String), rpc_options: T.nilable(Temporalio::Client::RPCOptions)).void }
35
51
  def cancel(reason = T.unsafe(nil), rpc_options: T.unsafe(nil)); end
@@ -37,6 +53,31 @@ class Temporalio::Client::ActivityHandle
37
53
  sig { params(reason: T.nilable(String), rpc_options: T.nilable(Temporalio::Client::RPCOptions)).void }
38
54
  def terminate(reason = T.unsafe(nil), rpc_options: T.unsafe(nil)); end
39
55
 
56
+ sig { params(reason: T.nilable(String), rpc_options: T.nilable(Temporalio::Client::RPCOptions)).void }
57
+ def pause(reason = T.unsafe(nil), rpc_options: T.unsafe(nil)); end
58
+
59
+ sig do
60
+ params(
61
+ reason: T.nilable(String),
62
+ jitter: T.nilable(Float),
63
+ rpc_options: T.nilable(Temporalio::Client::RPCOptions)
64
+ ).void
65
+ end
66
+ def unpause(reason: T.unsafe(nil), jitter: T.unsafe(nil), rpc_options: T.unsafe(nil)); end
67
+
68
+ sig do
69
+ params(
70
+ updates: Temporalio::Client::ActivityOptions::Update,
71
+ restore_original: T::Boolean,
72
+ rpc_options: T.nilable(Temporalio::Client::RPCOptions)
73
+ ).returns(Temporalio::Client::ActivityExecutionOptions)
74
+ end
75
+ def update_options(
76
+ *updates,
77
+ restore_original: T.unsafe(nil),
78
+ rpc_options: T.unsafe(nil)
79
+ ); end
80
+
40
81
  private
41
82
 
42
83
  sig do
@@ -0,0 +1,49 @@
1
+ # typed: strong
2
+
3
+ module Temporalio
4
+ class Client
5
+ module ActivityOptions
6
+ class Key
7
+ sig { returns(String) }
8
+ def name; end
9
+
10
+ sig do
11
+ params(
12
+ name: String,
13
+ to_proto: T.proc.params(proto: Temporalio::Api::Activity::V1::ActivityOptions, value: Object).void
14
+ ).void
15
+ end
16
+ def initialize(name, &to_proto); end
17
+
18
+ sig { params(value: Object).returns(Temporalio::Client::ActivityOptions::Update) }
19
+ def value_set(value); end
20
+
21
+ sig { returns(Temporalio::Client::ActivityOptions::Update) }
22
+ def value_unset; end
23
+
24
+ sig { params(proto: Temporalio::Api::Activity::V1::ActivityOptions, value: Object).void }
25
+ def _apply(proto, value); end
26
+ end
27
+
28
+ class Update
29
+ sig { returns(Temporalio::Client::ActivityOptions::Key) }
30
+ def key; end
31
+
32
+ sig { returns(T.nilable(Object)) }
33
+ def value; end
34
+
35
+ sig { params(key: Temporalio::Client::ActivityOptions::Key, value: T.nilable(Object)).void }
36
+ def initialize(key, value); end
37
+ end
38
+
39
+ TASK_QUEUE = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
40
+ SCHEDULE_TO_CLOSE_TIMEOUT = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
41
+ SCHEDULE_TO_START_TIMEOUT = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
42
+ START_TO_CLOSE_TIMEOUT = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
43
+ HEARTBEAT_TIMEOUT = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
44
+ START_DELAY = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
45
+ RETRY_POLICY = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
46
+ PRIORITY = T.let(T.unsafe(nil), Temporalio::Client::ActivityOptions::Key)
47
+ end
48
+ end
49
+ end
@@ -374,4 +374,7 @@ class Temporalio::Client::Connection::WorkflowService < ::Temporalio::Client::Co
374
374
 
375
375
  sig { params(request: Temporalio::Api::WorkflowService::V1::DeleteNexusOperationExecutionRequest, rpc_options: T.nilable(Temporalio::Client::RPCOptions)).returns(Temporalio::Api::WorkflowService::V1::DeleteNexusOperationExecutionResponse) }
376
376
  def delete_nexus_operation_execution(request, rpc_options: T.unsafe(nil)); end
377
+
378
+ sig { params(request: Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingRequest, rpc_options: T.nilable(Temporalio::Client::RPCOptions)).returns(Temporalio::Api::WorkflowService::V1::PollWorkflowExecutionTimeSkippingResponse) }
379
+ def poll_workflow_execution_time_skipping(request, rpc_options: T.unsafe(nil)); end
377
380
  end
@@ -15,6 +15,7 @@ class Temporalio::Client::Connection
15
15
  lazy_connect: T::Boolean,
16
16
  dns_load_balancing: T.nilable(Temporalio::Client::Connection::DnsLoadBalancingOptions),
17
17
  grpc_compression: T.any(Temporalio::Client::Connection::GrpcCompressionOptions::Gzip, Temporalio::Client::Connection::GrpcCompressionOptions::None),
18
+ payload_limits: Temporalio::Client::Connection::PayloadLimitsOptions,
18
19
  around_connect: T.nilable(T.proc.params(arg0: Temporalio::Client::Connection::Options, arg1: T.proc.params(arg0: Temporalio::Client::Connection::Options).void).void)
19
20
  ).void
20
21
  end
@@ -31,6 +32,7 @@ class Temporalio::Client::Connection
31
32
  lazy_connect: T.unsafe(nil),
32
33
  dns_load_balancing: T.unsafe(nil),
33
34
  grpc_compression: T.unsafe(nil),
35
+ payload_limits: T.unsafe(nil),
34
36
  around_connect: T.unsafe(nil)
35
37
  ); end
36
38
 
@@ -834,6 +834,18 @@ class Temporalio::Client::Interceptor::DescribeActivityInput < ::Data
834
834
  sig { returns(T.nilable(String)) }
835
835
  def activity_run_id; end
836
836
 
837
+ sig { returns(T::Boolean) }
838
+ def include_input; end
839
+
840
+ sig { returns(T::Boolean) }
841
+ def include_outcome; end
842
+
843
+ sig { returns(T::Boolean) }
844
+ def include_heartbeat_details; end
845
+
846
+ sig { returns(T::Boolean) }
847
+ def include_last_failure; end
848
+
837
849
  sig { returns(T.nilable(Temporalio::Client::RPCOptions)) }
838
850
  def rpc_options; end
839
851
 
@@ -849,6 +861,88 @@ class Temporalio::Client::Interceptor::DescribeActivityInput < ::Data
849
861
  end
850
862
  end
851
863
 
864
+ class Temporalio::Client::Interceptor::PauseActivityInput < ::Data
865
+ sig { returns(String) }
866
+ def activity_id; end
867
+
868
+ sig { returns(T.nilable(String)) }
869
+ def activity_run_id; end
870
+
871
+ sig { returns(T.nilable(String)) }
872
+ def reason; end
873
+
874
+ sig { returns(T.nilable(Temporalio::Client::RPCOptions)) }
875
+ def rpc_options; end
876
+
877
+ class << self
878
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::PauseActivityInput) }
879
+ def new(*args); end
880
+
881
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::PauseActivityInput) }
882
+ def [](*args); end
883
+
884
+ sig { returns(T::Array[Symbol]) }
885
+ def members; end
886
+ end
887
+ end
888
+ class Temporalio::Client::Interceptor::UnpauseActivityInput < ::Data
889
+ sig { returns(String) }
890
+ def activity_id; end
891
+
892
+ sig { returns(T.nilable(String)) }
893
+ def activity_run_id; end
894
+
895
+ sig { returns(T.nilable(String)) }
896
+ def reason; end
897
+
898
+ sig { returns(T.nilable(Float)) }
899
+ def jitter; end
900
+
901
+ sig { returns(T.nilable(Temporalio::Client::RPCOptions)) }
902
+ def rpc_options; end
903
+
904
+ class << self
905
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::UnpauseActivityInput) }
906
+ def new(*args); end
907
+
908
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::UnpauseActivityInput) }
909
+ def [](*args); end
910
+
911
+ sig { returns(T::Array[Symbol]) }
912
+ def members; end
913
+ end
914
+ end
915
+ class Temporalio::Client::Interceptor::UpdateActivityOptionsInput < ::Data
916
+ sig { returns(String) }
917
+ def activity_id; end
918
+
919
+ sig { returns(T.nilable(String)) }
920
+ def activity_run_id; end
921
+
922
+ sig { returns(Temporalio::Api::Activity::V1::ActivityOptions) }
923
+ def activity_options; end
924
+
925
+ sig { returns(Google::Protobuf::FieldMask) }
926
+ def update_mask; end
927
+
928
+ sig { returns(T::Boolean) }
929
+ def restore_original; end
930
+
931
+ sig { returns(T.nilable(Temporalio::Client::RPCOptions)) }
932
+ def rpc_options; end
933
+
934
+ class << self
935
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::UpdateActivityOptionsInput) }
936
+ def new(*args); end
937
+
938
+ sig { params(args: T.untyped).returns(Temporalio::Client::Interceptor::UpdateActivityOptionsInput) }
939
+ def [](*args); end
940
+
941
+ sig { returns(T::Array[Symbol]) }
942
+ def members; end
943
+ end
944
+ end
945
+
852
946
  class Temporalio::Client::Interceptor::CancelActivityInput < ::Data
853
947
  sig { returns(String) }
854
948
  def activity_id; end
@@ -1056,6 +1150,19 @@ class Temporalio::Client::Interceptor::Outbound
1056
1150
  sig { params(input: Temporalio::Client::Interceptor::TerminateActivityInput).void }
1057
1151
  def terminate_activity(input); end
1058
1152
 
1153
+ sig { params(input: Temporalio::Client::Interceptor::PauseActivityInput).void }
1154
+ def pause_activity(input); end
1155
+
1156
+ sig { params(input: Temporalio::Client::Interceptor::UnpauseActivityInput).void }
1157
+ def unpause_activity(input); end
1158
+
1159
+
1160
+ sig do
1161
+ params(input: Temporalio::Client::Interceptor::UpdateActivityOptionsInput)
1162
+ .returns(Temporalio::Client::ActivityExecutionOptions)
1163
+ end
1164
+ def update_activity_options(input); end
1165
+
1059
1166
  sig { params(input: Temporalio::Client::Interceptor::ListActivitiesInput).returns(T::Enumerator[Temporalio::Client::ActivityExecution]) }
1060
1167
  def list_activities(input); end
1061
1168
 
@@ -6,8 +6,13 @@ class Temporalio::Converters::FailureConverter
6
6
  sig { returns(Temporalio::Converters::FailureConverter) }
7
7
  def self.default; end
8
8
 
9
- sig { params(encode_common_attributes: T::Boolean).void }
10
- def initialize(encode_common_attributes: T.unsafe(nil)); end
9
+ sig do
10
+ params(
11
+ encode_common_attributes: T::Boolean,
12
+ process_common_attributes: T.nilable(T.proc.params(arg0: T::Hash[Symbol, T.nilable(String)]).returns(Object))
13
+ ).void
14
+ end
15
+ def initialize(encode_common_attributes: T.unsafe(nil), process_common_attributes: T.unsafe(nil)); end
11
16
 
12
17
  sig { returns(T::Boolean) }
13
18
  attr_reader :encode_common_attributes
@@ -172,6 +172,121 @@ class Temporalio::Internal::Bridge::Api::Common::WorkerDeploymentVersion
172
172
  end
173
173
  end
174
174
 
175
+ # Metrics for a set of external payload storage operations (all uploads and downloads)
176
+ # performed while processing a task, so core can emit unified logging and metrics.
177
+ class Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics
178
+ include ::Google::Protobuf::MessageExts
179
+ extend ::Google::Protobuf::MessageExts::ClassMethods
180
+
181
+ sig do
182
+ params(
183
+ payload_count: T.nilable(Integer),
184
+ total_size_bytes: T.nilable(Integer),
185
+ total_duration: T.nilable(Google::Protobuf::Duration),
186
+ driver_names: T.nilable(T::Array[String])
187
+ ).void
188
+ end
189
+ def initialize(
190
+ payload_count: 0,
191
+ total_size_bytes: 0,
192
+ total_duration: nil,
193
+ driver_names: []
194
+ )
195
+ end
196
+
197
+ # Number of payloads stored or retrieved externally.
198
+ sig { returns(Integer) }
199
+ def payload_count
200
+ end
201
+
202
+ # Number of payloads stored or retrieved externally.
203
+ sig { params(value: Integer).void }
204
+ def payload_count=(value)
205
+ end
206
+
207
+ # Number of payloads stored or retrieved externally.
208
+ sig { void }
209
+ def clear_payload_count
210
+ end
211
+
212
+ # Total size in bytes of the externally stored or retrieved payloads.
213
+ sig { returns(Integer) }
214
+ def total_size_bytes
215
+ end
216
+
217
+ # Total size in bytes of the externally stored or retrieved payloads.
218
+ sig { params(value: Integer).void }
219
+ def total_size_bytes=(value)
220
+ end
221
+
222
+ # Total size in bytes of the externally stored or retrieved payloads.
223
+ sig { void }
224
+ def clear_total_size_bytes
225
+ end
226
+
227
+ # Wall-clock time spent on the external storage operations.
228
+ sig { returns(T.nilable(Google::Protobuf::Duration)) }
229
+ def total_duration
230
+ end
231
+
232
+ # Wall-clock time spent on the external storage operations.
233
+ sig { params(value: T.nilable(Google::Protobuf::Duration)).void }
234
+ def total_duration=(value)
235
+ end
236
+
237
+ # Wall-clock time spent on the external storage operations.
238
+ sig { void }
239
+ def clear_total_duration
240
+ end
241
+
242
+ # Names of the drivers that participated in the operations.
243
+ sig { returns(T::Array[String]) }
244
+ def driver_names
245
+ end
246
+
247
+ # Names of the drivers that participated in the operations.
248
+ sig { params(value: ::Google::Protobuf::RepeatedField).void }
249
+ def driver_names=(value)
250
+ end
251
+
252
+ # Names of the drivers that participated in the operations.
253
+ sig { void }
254
+ def clear_driver_names
255
+ end
256
+
257
+ sig { params(field: String).returns(T.untyped) }
258
+ def [](field)
259
+ end
260
+
261
+ sig { params(field: String, value: T.untyped).void }
262
+ def []=(field, value)
263
+ end
264
+
265
+ sig { returns(T::Hash[Symbol, T.untyped]) }
266
+ def to_h
267
+ end
268
+
269
+ sig { params(str: String).returns(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics) }
270
+ def self.decode(str)
271
+ end
272
+
273
+ sig { params(msg: Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics).returns(String) }
274
+ def self.encode(msg)
275
+ end
276
+
277
+ sig { params(str: String, kw: T.untyped).returns(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics) }
278
+ def self.decode_json(str, **kw)
279
+ end
280
+
281
+ sig { params(msg: Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics, kw: T.untyped).returns(String) }
282
+ def self.encode_json(msg, **kw)
283
+ end
284
+
285
+ sig { returns(::Google::Protobuf::Descriptor) }
286
+ def self.descriptor
287
+ end
288
+ end
289
+
175
290
  module Temporalio::Internal::Bridge::Api::Common::VersioningIntent
176
291
  self::UNSPECIFIED = T.let(0, Integer)
177
292
  self::COMPATIBLE = T.let(1, Integer)
@@ -11,13 +11,17 @@ class Temporalio::Internal::Bridge::Api::WorkflowCompletion::WorkflowActivationC
11
11
  params(
12
12
  run_id: T.nilable(String),
13
13
  successful: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Success),
14
- failed: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Failure)
14
+ failed: T.nilable(Temporalio::Internal::Bridge::Api::WorkflowCompletion::Failure),
15
+ payload_download_metrics: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics),
16
+ payload_upload_metrics: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)
15
17
  ).void
16
18
  end
17
19
  def initialize(
18
20
  run_id: "",
19
21
  successful: nil,
20
- failed: nil
22
+ failed: nil,
23
+ payload_download_metrics: nil,
24
+ payload_upload_metrics: nil
21
25
  )
22
26
  end
23
27
 
@@ -60,6 +64,42 @@ class Temporalio::Internal::Bridge::Api::WorkflowCompletion::WorkflowActivationC
60
64
  def clear_failed
61
65
  end
62
66
 
67
+ # Metrics for external payload storage downloads (retrievals) performed while processing
68
+ # this activation. Only set when external storage retrieved payloads.
69
+ sig { returns(T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)) }
70
+ def payload_download_metrics
71
+ end
72
+
73
+ # Metrics for external payload storage downloads (retrievals) performed while processing
74
+ # this activation. Only set when external storage retrieved payloads.
75
+ sig { params(value: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)).void }
76
+ def payload_download_metrics=(value)
77
+ end
78
+
79
+ # Metrics for external payload storage downloads (retrievals) performed while processing
80
+ # this activation. Only set when external storage retrieved payloads.
81
+ sig { void }
82
+ def clear_payload_download_metrics
83
+ end
84
+
85
+ # Metrics for external payload storage uploads (stores) performed while processing this
86
+ # activation. Only set when external storage stored payloads.
87
+ sig { returns(T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)) }
88
+ def payload_upload_metrics
89
+ end
90
+
91
+ # Metrics for external payload storage uploads (stores) performed while processing this
92
+ # activation. Only set when external storage stored payloads.
93
+ sig { params(value: T.nilable(Temporalio::Internal::Bridge::Api::Common::ExternalStorageMetrics)).void }
94
+ def payload_upload_metrics=(value)
95
+ end
96
+
97
+ # Metrics for external payload storage uploads (stores) performed while processing this
98
+ # activation. Only set when external storage stored payloads.
99
+ sig { void }
100
+ def clear_payload_upload_metrics
101
+ end
102
+
63
103
  sig { returns(T.nilable(Symbol)) }
64
104
  def status
65
105
  end
@@ -19,10 +19,12 @@ class Temporalio::Internal::Bridge::Runtime::Options < ::Struct
19
19
  sig do
20
20
  params(
21
21
  telemetry: Temporalio::Internal::Bridge::Runtime::TelemetryOptions,
22
- worker_heartbeat_interval: T.nilable(T.any(Integer, Float))
22
+ worker_heartbeat_interval: T.nilable(T.any(Integer, Float)),
23
+ disable_environment_info: T::Boolean,
24
+ runtime_version: T.nilable(String)
23
25
  ).void
24
26
  end
25
- def initialize(telemetry, worker_heartbeat_interval); end
27
+ def initialize(telemetry, worker_heartbeat_interval, disable_environment_info, runtime_version); end
26
28
 
27
29
  sig { returns(Temporalio::Internal::Bridge::Runtime::TelemetryOptions) }
28
30
  def telemetry; end
@@ -35,6 +37,18 @@ class Temporalio::Internal::Bridge::Runtime::Options < ::Struct
35
37
 
36
38
  sig { params(_: T.nilable(T.any(Integer, Float))).void }
37
39
  def worker_heartbeat_interval=(_); end
40
+
41
+ sig { returns(T::Boolean) }
42
+ def disable_environment_info; end
43
+
44
+ sig { params(_: T::Boolean).void }
45
+ def disable_environment_info=(_); end
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ def runtime_version; end
49
+
50
+ sig { params(_: T.nilable(String)).void }
51
+ def runtime_version=(_); end
38
52
  end
39
53
 
40
54
  class Temporalio::Internal::Bridge::Runtime::TelemetryOptions < ::Struct
@@ -64,14 +78,20 @@ end
64
78
  class Temporalio::Internal::Bridge::Runtime::LoggingOptions < ::Struct
65
79
  extend T::Sig
66
80
 
67
- sig { params(log_filter: T.nilable(String)).void }
68
- def initialize(log_filter); end
81
+ sig { params(log_filter: T.nilable(String), log_format: T.nilable(String)).void }
82
+ def initialize(log_filter, log_format); end
69
83
 
70
84
  sig { returns(T.nilable(String)) }
71
85
  def log_filter; end
72
86
 
73
87
  sig { params(_: T.nilable(String)).void }
74
88
  def log_filter=(_); end
89
+
90
+ sig { returns(T.nilable(String)) }
91
+ def log_format; end
92
+
93
+ sig { params(_: T.nilable(String)).void }
94
+ def log_format=(_); end
75
95
  end
76
96
 
77
97
  class Temporalio::Internal::Bridge::Runtime::MetricsOptions < ::Struct
@@ -76,6 +76,7 @@ class Temporalio::Internal::Bridge::Worker::Options < ::Struct
76
76
  default_heartbeat_throttle_interval: T.any(Integer, Float),
77
77
  max_worker_activities_per_second: T.nilable(T.any(Integer, Float)),
78
78
  max_task_queue_activities_per_second: T.nilable(T.any(Integer, Float)),
79
+ max_eager_activity_reservations_per_workflow_task: Integer,
79
80
  graceful_shutdown_period: T.any(Integer, Float),
80
81
  nondeterminism_as_workflow_fail: T::Boolean,
81
82
  nondeterminism_as_workflow_fail_for_types: T::Array[String],
@@ -101,6 +102,7 @@ class Temporalio::Internal::Bridge::Worker::Options < ::Struct
101
102
  default_heartbeat_throttle_interval,
102
103
  max_worker_activities_per_second,
103
104
  max_task_queue_activities_per_second,
105
+ max_eager_activity_reservations_per_workflow_task,
104
106
  graceful_shutdown_period,
105
107
  nondeterminism_as_workflow_fail,
106
108
  nondeterminism_as_workflow_fail_for_types,