temporalio 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/Cargo.lock +659 -370
  4. data/Cargo.toml +2 -2
  5. data/Gemfile +3 -3
  6. data/README.md +589 -47
  7. data/Rakefile +10 -296
  8. data/ext/Cargo.toml +1 -0
  9. data/lib/temporalio/activity/complete_async_error.rb +1 -1
  10. data/lib/temporalio/activity/context.rb +5 -2
  11. data/lib/temporalio/activity/definition.rb +163 -65
  12. data/lib/temporalio/activity/info.rb +22 -21
  13. data/lib/temporalio/activity.rb +2 -59
  14. data/lib/temporalio/api/activity/v1/message.rb +25 -0
  15. data/lib/temporalio/api/cloud/account/v1/message.rb +28 -0
  16. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +34 -1
  17. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +1 -1
  18. data/lib/temporalio/api/cloud/identity/v1/message.rb +6 -1
  19. data/lib/temporalio/api/cloud/namespace/v1/message.rb +8 -1
  20. data/lib/temporalio/api/cloud/nexus/v1/message.rb +31 -0
  21. data/lib/temporalio/api/cloud/operation/v1/message.rb +2 -1
  22. data/lib/temporalio/api/cloud/region/v1/message.rb +2 -1
  23. data/lib/temporalio/api/cloud/resource/v1/message.rb +23 -0
  24. data/lib/temporalio/api/cloud/sink/v1/message.rb +24 -0
  25. data/lib/temporalio/api/cloud/usage/v1/message.rb +31 -0
  26. data/lib/temporalio/api/common/v1/message.rb +7 -1
  27. data/lib/temporalio/api/enums/v1/event_type.rb +1 -1
  28. data/lib/temporalio/api/enums/v1/failed_cause.rb +1 -1
  29. data/lib/temporalio/api/enums/v1/reset.rb +1 -1
  30. data/lib/temporalio/api/history/v1/message.rb +1 -1
  31. data/lib/temporalio/api/nexus/v1/message.rb +2 -2
  32. data/lib/temporalio/api/operatorservice/v1/service.rb +1 -1
  33. data/lib/temporalio/api/payload_visitor.rb +1513 -0
  34. data/lib/temporalio/api/schedule/v1/message.rb +2 -1
  35. data/lib/temporalio/api/testservice/v1/request_response.rb +31 -0
  36. data/lib/temporalio/api/testservice/v1/service.rb +23 -0
  37. data/lib/temporalio/api/workflow/v1/message.rb +1 -1
  38. data/lib/temporalio/api/workflowservice/v1/request_response.rb +17 -2
  39. data/lib/temporalio/api/workflowservice/v1/service.rb +1 -1
  40. data/lib/temporalio/api.rb +1 -0
  41. data/lib/temporalio/cancellation.rb +34 -14
  42. data/lib/temporalio/client/async_activity_handle.rb +12 -37
  43. data/lib/temporalio/client/connection/cloud_service.rb +309 -231
  44. data/lib/temporalio/client/connection/operator_service.rb +36 -84
  45. data/lib/temporalio/client/connection/service.rb +6 -5
  46. data/lib/temporalio/client/connection/test_service.rb +111 -0
  47. data/lib/temporalio/client/connection/workflow_service.rb +264 -441
  48. data/lib/temporalio/client/connection.rb +90 -44
  49. data/lib/temporalio/client/interceptor.rb +160 -60
  50. data/lib/temporalio/client/schedule.rb +967 -0
  51. data/lib/temporalio/client/schedule_handle.rb +126 -0
  52. data/lib/temporalio/client/workflow_execution.rb +7 -10
  53. data/lib/temporalio/client/workflow_handle.rb +38 -95
  54. data/lib/temporalio/client/workflow_update_handle.rb +3 -5
  55. data/lib/temporalio/client.rb +122 -42
  56. data/lib/temporalio/common_enums.rb +17 -0
  57. data/lib/temporalio/converters/data_converter.rb +4 -7
  58. data/lib/temporalio/converters/failure_converter.rb +5 -3
  59. data/lib/temporalio/converters/payload_converter/composite.rb +4 -0
  60. data/lib/temporalio/converters/payload_converter.rb +6 -8
  61. data/lib/temporalio/converters/raw_value.rb +20 -0
  62. data/lib/temporalio/error/failure.rb +1 -1
  63. data/lib/temporalio/error.rb +10 -2
  64. data/lib/temporalio/internal/bridge/api/core_interface.rb +5 -1
  65. data/lib/temporalio/internal/bridge/api/nexus/nexus.rb +33 -0
  66. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +5 -1
  67. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +4 -1
  68. data/lib/temporalio/internal/bridge/client.rb +11 -6
  69. data/lib/temporalio/internal/bridge/testing.rb +20 -0
  70. data/lib/temporalio/internal/bridge/worker.rb +2 -0
  71. data/lib/temporalio/internal/bridge.rb +1 -1
  72. data/lib/temporalio/internal/client/implementation.rb +245 -70
  73. data/lib/temporalio/internal/metric.rb +122 -0
  74. data/lib/temporalio/internal/proto_utils.rb +86 -7
  75. data/lib/temporalio/internal/worker/activity_worker.rb +52 -24
  76. data/lib/temporalio/internal/worker/multi_runner.rb +51 -7
  77. data/lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb +54 -0
  78. data/lib/temporalio/internal/worker/workflow_instance/context.rb +329 -0
  79. data/lib/temporalio/internal/worker/workflow_instance/details.rb +44 -0
  80. data/lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb +32 -0
  81. data/lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb +22 -0
  82. data/lib/temporalio/internal/worker/workflow_instance/handler_execution.rb +25 -0
  83. data/lib/temporalio/internal/worker/workflow_instance/handler_hash.rb +41 -0
  84. data/lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb +97 -0
  85. data/lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb +62 -0
  86. data/lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb +415 -0
  87. data/lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb +37 -0
  88. data/lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb +40 -0
  89. data/lib/temporalio/internal/worker/workflow_instance/scheduler.rb +163 -0
  90. data/lib/temporalio/internal/worker/workflow_instance.rb +730 -0
  91. data/lib/temporalio/internal/worker/workflow_worker.rb +196 -0
  92. data/lib/temporalio/metric.rb +109 -0
  93. data/lib/temporalio/retry_policy.rb +37 -14
  94. data/lib/temporalio/runtime.rb +118 -75
  95. data/lib/temporalio/search_attributes.rb +80 -37
  96. data/lib/temporalio/testing/activity_environment.rb +2 -2
  97. data/lib/temporalio/testing/workflow_environment.rb +251 -5
  98. data/lib/temporalio/version.rb +1 -1
  99. data/lib/temporalio/worker/activity_executor/thread_pool.rb +9 -217
  100. data/lib/temporalio/worker/activity_executor.rb +3 -3
  101. data/lib/temporalio/worker/interceptor.rb +340 -66
  102. data/lib/temporalio/worker/thread_pool.rb +237 -0
  103. data/lib/temporalio/worker/workflow_executor/thread_pool.rb +230 -0
  104. data/lib/temporalio/worker/workflow_executor.rb +26 -0
  105. data/lib/temporalio/worker.rb +201 -30
  106. data/lib/temporalio/workflow/activity_cancellation_type.rb +20 -0
  107. data/lib/temporalio/workflow/child_workflow_cancellation_type.rb +21 -0
  108. data/lib/temporalio/workflow/child_workflow_handle.rb +43 -0
  109. data/lib/temporalio/workflow/definition.rb +566 -0
  110. data/lib/temporalio/workflow/external_workflow_handle.rb +41 -0
  111. data/lib/temporalio/workflow/future.rb +151 -0
  112. data/lib/temporalio/workflow/handler_unfinished_policy.rb +13 -0
  113. data/lib/temporalio/workflow/info.rb +82 -0
  114. data/lib/temporalio/workflow/parent_close_policy.rb +19 -0
  115. data/lib/temporalio/workflow/update_info.rb +20 -0
  116. data/lib/temporalio/workflow.rb +523 -0
  117. data/lib/temporalio.rb +4 -0
  118. data/temporalio.gemspec +2 -2
  119. metadata +50 -8
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: temporalio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Temporal Technologies Inc
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-10-18 00:00:00.000000000 Z
10
+ date: 2025-01-22 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: google-protobuf
@@ -24,7 +23,6 @@ dependencies:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
25
  version: 3.27.0
27
- description:
28
26
  email:
29
27
  - sdk@temporal.io
30
28
  executables: []
@@ -32,6 +30,7 @@ extensions:
32
30
  - ext/Cargo.toml
33
31
  extra_rdoc_files: []
34
32
  files:
33
+ - ".yardopts"
35
34
  - Cargo.lock
36
35
  - Cargo.toml
37
36
  - Gemfile
@@ -46,14 +45,20 @@ files:
46
45
  - lib/temporalio/activity/definition.rb
47
46
  - lib/temporalio/activity/info.rb
48
47
  - lib/temporalio/api.rb
48
+ - lib/temporalio/api/activity/v1/message.rb
49
49
  - lib/temporalio/api/batch/v1/message.rb
50
+ - lib/temporalio/api/cloud/account/v1/message.rb
50
51
  - lib/temporalio/api/cloud/cloudservice.rb
51
52
  - lib/temporalio/api/cloud/cloudservice/v1/request_response.rb
52
53
  - lib/temporalio/api/cloud/cloudservice/v1/service.rb
53
54
  - lib/temporalio/api/cloud/identity/v1/message.rb
54
55
  - lib/temporalio/api/cloud/namespace/v1/message.rb
56
+ - lib/temporalio/api/cloud/nexus/v1/message.rb
55
57
  - lib/temporalio/api/cloud/operation/v1/message.rb
56
58
  - lib/temporalio/api/cloud/region/v1/message.rb
59
+ - lib/temporalio/api/cloud/resource/v1/message.rb
60
+ - lib/temporalio/api/cloud/sink/v1/message.rb
61
+ - lib/temporalio/api/cloud/usage/v1/message.rb
57
62
  - lib/temporalio/api/command/v1/message.rb
58
63
  - lib/temporalio/api/common/v1/grpc_status.rb
59
64
  - lib/temporalio/api/common/v1/message.rb
@@ -79,6 +84,7 @@ files:
79
84
  - lib/temporalio/api/operatorservice.rb
80
85
  - lib/temporalio/api/operatorservice/v1/request_response.rb
81
86
  - lib/temporalio/api/operatorservice/v1/service.rb
87
+ - lib/temporalio/api/payload_visitor.rb
82
88
  - lib/temporalio/api/protocol/v1/message.rb
83
89
  - lib/temporalio/api/query/v1/message.rb
84
90
  - lib/temporalio/api/replication/v1/message.rb
@@ -88,6 +94,8 @@ files:
88
94
  - lib/temporalio/api/sdk/v1/user_metadata.rb
89
95
  - lib/temporalio/api/sdk/v1/workflow_metadata.rb
90
96
  - lib/temporalio/api/taskqueue/v1/message.rb
97
+ - lib/temporalio/api/testservice/v1/request_response.rb
98
+ - lib/temporalio/api/testservice/v1/service.rb
91
99
  - lib/temporalio/api/update/v1/message.rb
92
100
  - lib/temporalio/api/version/v1/message.rb
93
101
  - lib/temporalio/api/workflow/v1/message.rb
@@ -102,8 +110,11 @@ files:
102
110
  - lib/temporalio/client/connection/cloud_service.rb
103
111
  - lib/temporalio/client/connection/operator_service.rb
104
112
  - lib/temporalio/client/connection/service.rb
113
+ - lib/temporalio/client/connection/test_service.rb
105
114
  - lib/temporalio/client/connection/workflow_service.rb
106
115
  - lib/temporalio/client/interceptor.rb
116
+ - lib/temporalio/client/schedule.rb
117
+ - lib/temporalio/client/schedule_handle.rb
107
118
  - lib/temporalio/client/workflow_execution.rb
108
119
  - lib/temporalio/client/workflow_execution_count.rb
109
120
  - lib/temporalio/client/workflow_execution_status.rb
@@ -124,6 +135,7 @@ files:
124
135
  - lib/temporalio/converters/payload_converter/encoding.rb
125
136
  - lib/temporalio/converters/payload_converter/json_plain.rb
126
137
  - lib/temporalio/converters/payload_converter/json_protobuf.rb
138
+ - lib/temporalio/converters/raw_value.rb
127
139
  - lib/temporalio/error.rb
128
140
  - lib/temporalio/error/failure.rb
129
141
  - lib/temporalio/internal.rb
@@ -135,6 +147,7 @@ files:
135
147
  - lib/temporalio/internal/bridge/api/common/common.rb
136
148
  - lib/temporalio/internal/bridge/api/core_interface.rb
137
149
  - lib/temporalio/internal/bridge/api/external_data/external_data.rb
150
+ - lib/temporalio/internal/bridge/api/nexus/nexus.rb
138
151
  - lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb
139
152
  - lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb
140
153
  - lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb
@@ -143,9 +156,26 @@ files:
143
156
  - lib/temporalio/internal/bridge/testing.rb
144
157
  - lib/temporalio/internal/bridge/worker.rb
145
158
  - lib/temporalio/internal/client/implementation.rb
159
+ - lib/temporalio/internal/metric.rb
146
160
  - lib/temporalio/internal/proto_utils.rb
147
161
  - lib/temporalio/internal/worker/activity_worker.rb
148
162
  - lib/temporalio/internal/worker/multi_runner.rb
163
+ - lib/temporalio/internal/worker/workflow_instance.rb
164
+ - lib/temporalio/internal/worker/workflow_instance/child_workflow_handle.rb
165
+ - lib/temporalio/internal/worker/workflow_instance/context.rb
166
+ - lib/temporalio/internal/worker/workflow_instance/details.rb
167
+ - lib/temporalio/internal/worker/workflow_instance/external_workflow_handle.rb
168
+ - lib/temporalio/internal/worker/workflow_instance/externally_immutable_hash.rb
169
+ - lib/temporalio/internal/worker/workflow_instance/handler_execution.rb
170
+ - lib/temporalio/internal/worker/workflow_instance/handler_hash.rb
171
+ - lib/temporalio/internal/worker/workflow_instance/illegal_call_tracer.rb
172
+ - lib/temporalio/internal/worker/workflow_instance/inbound_implementation.rb
173
+ - lib/temporalio/internal/worker/workflow_instance/outbound_implementation.rb
174
+ - lib/temporalio/internal/worker/workflow_instance/replay_safe_logger.rb
175
+ - lib/temporalio/internal/worker/workflow_instance/replay_safe_metric.rb
176
+ - lib/temporalio/internal/worker/workflow_instance/scheduler.rb
177
+ - lib/temporalio/internal/worker/workflow_worker.rb
178
+ - lib/temporalio/metric.rb
149
179
  - lib/temporalio/retry_policy.rb
150
180
  - lib/temporalio/runtime.rb
151
181
  - lib/temporalio/scoped_logger.rb
@@ -159,7 +189,21 @@ files:
159
189
  - lib/temporalio/worker/activity_executor/fiber.rb
160
190
  - lib/temporalio/worker/activity_executor/thread_pool.rb
161
191
  - lib/temporalio/worker/interceptor.rb
192
+ - lib/temporalio/worker/thread_pool.rb
162
193
  - lib/temporalio/worker/tuner.rb
194
+ - lib/temporalio/worker/workflow_executor.rb
195
+ - lib/temporalio/worker/workflow_executor/thread_pool.rb
196
+ - lib/temporalio/workflow.rb
197
+ - lib/temporalio/workflow/activity_cancellation_type.rb
198
+ - lib/temporalio/workflow/child_workflow_cancellation_type.rb
199
+ - lib/temporalio/workflow/child_workflow_handle.rb
200
+ - lib/temporalio/workflow/definition.rb
201
+ - lib/temporalio/workflow/external_workflow_handle.rb
202
+ - lib/temporalio/workflow/future.rb
203
+ - lib/temporalio/workflow/handler_unfinished_policy.rb
204
+ - lib/temporalio/workflow/info.rb
205
+ - lib/temporalio/workflow/parent_close_policy.rb
206
+ - lib/temporalio/workflow/update_info.rb
163
207
  - lib/temporalio/workflow_history.rb
164
208
  - temporalio.gemspec
165
209
  homepage: https://github.com/temporalio/sdk-ruby
@@ -169,7 +213,6 @@ metadata:
169
213
  homepage_uri: https://github.com/temporalio/sdk-ruby
170
214
  source_code_uri: https://github.com/temporalio/sdk-ruby
171
215
  rubygems_mfa_required: 'true'
172
- post_install_message:
173
216
  rdoc_options: []
174
217
  require_paths:
175
218
  - lib
@@ -177,15 +220,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
220
  requirements:
178
221
  - - ">="
179
222
  - !ruby/object:Gem::Version
180
- version: 3.1.0
223
+ version: '0'
181
224
  required_rubygems_version: !ruby/object:Gem::Requirement
182
225
  requirements:
183
226
  - - ">="
184
227
  - !ruby/object:Gem::Version
185
228
  version: '0'
186
229
  requirements: []
187
- rubygems_version: 3.5.16
188
- signing_key:
230
+ rubygems_version: 3.6.2
189
231
  specification_version: 4
190
232
  summary: Temporal.io Ruby SDK
191
233
  test_files: []