temporalio 0.1.1 → 0.2.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 (585) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +4035 -0
  3. data/Cargo.toml +25 -0
  4. data/Gemfile +20 -0
  5. data/LICENSE +16 -15
  6. data/README.md +455 -195
  7. data/Rakefile +387 -0
  8. data/ext/Cargo.toml +25 -0
  9. data/lib/temporalio/activity/complete_async_error.rb +11 -0
  10. data/lib/temporalio/activity/context.rb +82 -77
  11. data/lib/temporalio/activity/definition.rb +77 -0
  12. data/lib/temporalio/activity/info.rb +42 -46
  13. data/lib/temporalio/activity.rb +49 -65
  14. data/lib/temporalio/api/batch/v1/message.rb +31 -0
  15. data/lib/temporalio/api/cloud/cloudservice/v1/request_response.rb +93 -0
  16. data/lib/temporalio/api/cloud/cloudservice/v1/service.rb +25 -0
  17. data/lib/temporalio/api/cloud/cloudservice.rb +3 -0
  18. data/lib/temporalio/api/cloud/identity/v1/message.rb +36 -0
  19. data/lib/temporalio/api/cloud/namespace/v1/message.rb +35 -0
  20. data/lib/temporalio/api/cloud/operation/v1/message.rb +27 -0
  21. data/lib/temporalio/api/cloud/region/v1/message.rb +23 -0
  22. data/lib/temporalio/api/command/v1/message.rb +46 -0
  23. data/lib/temporalio/api/common/v1/grpc_status.rb +23 -0
  24. data/lib/temporalio/api/common/v1/message.rb +41 -0
  25. data/lib/temporalio/api/enums/v1/batch_operation.rb +22 -0
  26. data/lib/temporalio/api/enums/v1/command_type.rb +21 -0
  27. data/lib/temporalio/api/enums/v1/common.rb +26 -0
  28. data/lib/temporalio/api/enums/v1/event_type.rb +21 -0
  29. data/lib/temporalio/api/enums/v1/failed_cause.rb +26 -0
  30. data/lib/temporalio/api/enums/v1/namespace.rb +23 -0
  31. data/lib/temporalio/api/enums/v1/query.rb +22 -0
  32. data/lib/temporalio/api/enums/v1/reset.rb +23 -0
  33. data/lib/temporalio/api/enums/v1/schedule.rb +21 -0
  34. data/lib/temporalio/api/enums/v1/task_queue.rb +25 -0
  35. data/lib/temporalio/api/enums/v1/update.rb +22 -0
  36. data/lib/temporalio/api/enums/v1/workflow.rb +30 -0
  37. data/lib/temporalio/api/errordetails/v1/message.rb +42 -0
  38. data/lib/temporalio/api/export/v1/message.rb +24 -0
  39. data/lib/temporalio/api/failure/v1/message.rb +35 -0
  40. data/lib/temporalio/api/filter/v1/message.rb +27 -0
  41. data/lib/temporalio/api/history/v1/message.rb +90 -0
  42. data/lib/temporalio/api/namespace/v1/message.rb +31 -0
  43. data/lib/temporalio/api/nexus/v1/message.rb +40 -0
  44. data/lib/temporalio/api/operatorservice/v1/request_response.rb +49 -0
  45. data/lib/temporalio/api/operatorservice/v1/service.rb +23 -0
  46. data/lib/temporalio/api/operatorservice.rb +3 -0
  47. data/lib/temporalio/api/protocol/v1/message.rb +23 -0
  48. data/lib/temporalio/api/query/v1/message.rb +27 -0
  49. data/lib/temporalio/api/replication/v1/message.rb +26 -0
  50. data/lib/temporalio/api/schedule/v1/message.rb +42 -0
  51. data/lib/temporalio/api/sdk/v1/enhanced_stack_trace.rb +25 -0
  52. data/lib/temporalio/api/sdk/v1/task_complete_metadata.rb +21 -0
  53. data/lib/temporalio/api/sdk/v1/user_metadata.rb +23 -0
  54. data/lib/temporalio/api/sdk/v1/workflow_metadata.rb +23 -0
  55. data/lib/temporalio/api/taskqueue/v1/message.rb +45 -0
  56. data/lib/temporalio/api/update/v1/message.rb +33 -0
  57. data/lib/temporalio/api/version/v1/message.rb +26 -0
  58. data/lib/temporalio/api/workflow/v1/message.rb +43 -0
  59. data/lib/temporalio/api/workflowservice/v1/request_response.rb +189 -0
  60. data/lib/temporalio/api/workflowservice/v1/service.rb +23 -0
  61. data/lib/temporalio/api/workflowservice.rb +3 -0
  62. data/lib/temporalio/api.rb +13 -0
  63. data/lib/temporalio/cancellation.rb +150 -0
  64. data/lib/temporalio/client/activity_id_reference.rb +32 -0
  65. data/lib/temporalio/client/async_activity_handle.rb +110 -0
  66. data/lib/temporalio/client/connection/cloud_service.rb +648 -0
  67. data/lib/temporalio/client/connection/operator_service.rb +249 -0
  68. data/lib/temporalio/client/connection/service.rb +41 -0
  69. data/lib/temporalio/client/connection/workflow_service.rb +1218 -0
  70. data/lib/temporalio/client/connection.rb +270 -0
  71. data/lib/temporalio/client/interceptor.rb +316 -0
  72. data/lib/temporalio/client/workflow_execution.rb +103 -0
  73. data/lib/temporalio/client/workflow_execution_count.rb +36 -0
  74. data/lib/temporalio/client/workflow_execution_status.rb +18 -0
  75. data/lib/temporalio/client/workflow_handle.rb +380 -177
  76. data/lib/temporalio/client/workflow_query_reject_condition.rb +14 -0
  77. data/lib/temporalio/client/workflow_update_handle.rb +67 -0
  78. data/lib/temporalio/client/workflow_update_wait_stage.rb +17 -0
  79. data/lib/temporalio/client.rb +366 -93
  80. data/lib/temporalio/common_enums.rb +24 -0
  81. data/lib/temporalio/converters/data_converter.rb +102 -0
  82. data/lib/temporalio/converters/failure_converter.rb +200 -0
  83. data/lib/temporalio/converters/payload_codec.rb +26 -0
  84. data/lib/temporalio/converters/payload_converter/binary_null.rb +34 -0
  85. data/lib/temporalio/converters/payload_converter/binary_plain.rb +35 -0
  86. data/lib/temporalio/converters/payload_converter/binary_protobuf.rb +42 -0
  87. data/lib/temporalio/converters/payload_converter/composite.rb +62 -0
  88. data/lib/temporalio/converters/payload_converter/encoding.rb +35 -0
  89. data/lib/temporalio/converters/payload_converter/json_plain.rb +44 -0
  90. data/lib/temporalio/converters/payload_converter/json_protobuf.rb +41 -0
  91. data/lib/temporalio/converters/payload_converter.rb +73 -0
  92. data/lib/temporalio/converters.rb +9 -0
  93. data/lib/temporalio/error/failure.rb +119 -94
  94. data/lib/temporalio/error.rb +147 -0
  95. data/lib/temporalio/internal/bridge/api/activity_result/activity_result.rb +34 -0
  96. data/lib/temporalio/internal/bridge/api/activity_task/activity_task.rb +31 -0
  97. data/lib/temporalio/internal/bridge/api/child_workflow/child_workflow.rb +33 -0
  98. data/lib/temporalio/internal/bridge/api/common/common.rb +26 -0
  99. data/lib/temporalio/internal/bridge/api/core_interface.rb +36 -0
  100. data/lib/temporalio/internal/bridge/api/external_data/external_data.rb +27 -0
  101. data/lib/temporalio/internal/bridge/api/workflow_activation/workflow_activation.rb +52 -0
  102. data/lib/temporalio/internal/bridge/api/workflow_commands/workflow_commands.rb +54 -0
  103. data/lib/temporalio/internal/bridge/api/workflow_completion/workflow_completion.rb +30 -0
  104. data/lib/temporalio/internal/bridge/api.rb +3 -0
  105. data/lib/temporalio/internal/bridge/client.rb +90 -0
  106. data/lib/temporalio/internal/bridge/runtime.rb +53 -0
  107. data/lib/temporalio/internal/bridge/testing.rb +46 -0
  108. data/lib/temporalio/internal/bridge/worker.rb +83 -0
  109. data/lib/temporalio/internal/bridge.rb +36 -0
  110. data/lib/temporalio/internal/client/implementation.rb +525 -0
  111. data/lib/temporalio/internal/proto_utils.rb +54 -0
  112. data/lib/temporalio/internal/worker/activity_worker.rb +345 -0
  113. data/lib/temporalio/internal/worker/multi_runner.rb +169 -0
  114. data/lib/temporalio/internal.rb +7 -0
  115. data/lib/temporalio/retry_policy.rb +39 -80
  116. data/lib/temporalio/runtime.rb +259 -13
  117. data/lib/temporalio/scoped_logger.rb +96 -0
  118. data/lib/temporalio/search_attributes.rb +300 -0
  119. data/lib/temporalio/testing/activity_environment.rb +132 -0
  120. data/lib/temporalio/testing/workflow_environment.rb +113 -88
  121. data/lib/temporalio/testing.rb +4 -169
  122. data/lib/temporalio/version.rb +3 -1
  123. data/lib/temporalio/worker/activity_executor/fiber.rb +49 -0
  124. data/lib/temporalio/worker/activity_executor/thread_pool.rb +254 -0
  125. data/lib/temporalio/worker/activity_executor.rb +55 -0
  126. data/lib/temporalio/worker/interceptor.rb +88 -0
  127. data/lib/temporalio/worker/tuner.rb +151 -0
  128. data/lib/temporalio/worker.rb +385 -163
  129. data/lib/temporalio/workflow_history.rb +22 -0
  130. data/lib/temporalio.rb +2 -7
  131. data/temporalio.gemspec +20 -39
  132. metadata +131 -712
  133. data/bridge/Cargo.lock +0 -2997
  134. data/bridge/Cargo.toml +0 -29
  135. data/bridge/sdk-core/ARCHITECTURE.md +0 -76
  136. data/bridge/sdk-core/Cargo.toml +0 -2
  137. data/bridge/sdk-core/LICENSE.txt +0 -23
  138. data/bridge/sdk-core/README.md +0 -117
  139. data/bridge/sdk-core/arch_docs/diagrams/README.md +0 -10
  140. data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +0 -40
  141. data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +0 -1
  142. data/bridge/sdk-core/arch_docs/sticky_queues.md +0 -51
  143. data/bridge/sdk-core/client/Cargo.toml +0 -40
  144. data/bridge/sdk-core/client/LICENSE.txt +0 -23
  145. data/bridge/sdk-core/client/src/lib.rs +0 -1462
  146. data/bridge/sdk-core/client/src/metrics.rs +0 -174
  147. data/bridge/sdk-core/client/src/raw.rs +0 -932
  148. data/bridge/sdk-core/client/src/retry.rs +0 -763
  149. data/bridge/sdk-core/client/src/workflow_handle/mod.rs +0 -185
  150. data/bridge/sdk-core/core/Cargo.toml +0 -129
  151. data/bridge/sdk-core/core/LICENSE.txt +0 -23
  152. data/bridge/sdk-core/core/benches/workflow_replay.rs +0 -76
  153. data/bridge/sdk-core/core/src/abstractions.rs +0 -355
  154. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +0 -1049
  155. data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +0 -221
  156. data/bridge/sdk-core/core/src/core_tests/determinism.rs +0 -270
  157. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +0 -1046
  158. data/bridge/sdk-core/core/src/core_tests/mod.rs +0 -100
  159. data/bridge/sdk-core/core/src/core_tests/queries.rs +0 -893
  160. data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +0 -65
  161. data/bridge/sdk-core/core/src/core_tests/workers.rs +0 -257
  162. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +0 -124
  163. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +0 -2433
  164. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +0 -609
  165. data/bridge/sdk-core/core/src/internal_flags.rs +0 -136
  166. data/bridge/sdk-core/core/src/lib.rs +0 -289
  167. data/bridge/sdk-core/core/src/pollers/mod.rs +0 -54
  168. data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +0 -297
  169. data/bridge/sdk-core/core/src/protosext/mod.rs +0 -428
  170. data/bridge/sdk-core/core/src/replay/mod.rs +0 -215
  171. data/bridge/sdk-core/core/src/retry_logic.rs +0 -202
  172. data/bridge/sdk-core/core/src/telemetry/log_export.rs +0 -190
  173. data/bridge/sdk-core/core/src/telemetry/metrics.rs +0 -462
  174. data/bridge/sdk-core/core/src/telemetry/mod.rs +0 -423
  175. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +0 -83
  176. data/bridge/sdk-core/core/src/test_help/mod.rs +0 -939
  177. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +0 -536
  178. data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +0 -89
  179. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +0 -1278
  180. data/bridge/sdk-core/core/src/worker/activities.rs +0 -557
  181. data/bridge/sdk-core/core/src/worker/client/mocks.rs +0 -107
  182. data/bridge/sdk-core/core/src/worker/client.rs +0 -389
  183. data/bridge/sdk-core/core/src/worker/mod.rs +0 -677
  184. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +0 -35
  185. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +0 -99
  186. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +0 -1111
  187. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +0 -964
  188. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +0 -294
  189. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +0 -168
  190. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +0 -918
  191. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +0 -137
  192. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +0 -158
  193. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +0 -130
  194. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +0 -1525
  195. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +0 -324
  196. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +0 -179
  197. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +0 -659
  198. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +0 -439
  199. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +0 -435
  200. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +0 -175
  201. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +0 -249
  202. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +0 -85
  203. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +0 -1280
  204. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +0 -269
  205. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +0 -213
  206. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +0 -1305
  207. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +0 -1276
  208. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +0 -128
  209. data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +0 -125
  210. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +0 -85
  211. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +0 -117
  212. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +0 -24
  213. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +0 -715
  214. data/bridge/sdk-core/core-api/Cargo.toml +0 -33
  215. data/bridge/sdk-core/core-api/LICENSE.txt +0 -23
  216. data/bridge/sdk-core/core-api/src/errors.rs +0 -62
  217. data/bridge/sdk-core/core-api/src/lib.rs +0 -113
  218. data/bridge/sdk-core/core-api/src/telemetry.rs +0 -141
  219. data/bridge/sdk-core/core-api/src/worker.rs +0 -161
  220. data/bridge/sdk-core/etc/deps.svg +0 -162
  221. data/bridge/sdk-core/etc/dynamic-config.yaml +0 -2
  222. data/bridge/sdk-core/etc/otel-collector-config.yaml +0 -36
  223. data/bridge/sdk-core/etc/prometheus.yaml +0 -6
  224. data/bridge/sdk-core/etc/regen-depgraph.sh +0 -5
  225. data/bridge/sdk-core/fsm/Cargo.toml +0 -18
  226. data/bridge/sdk-core/fsm/LICENSE.txt +0 -23
  227. data/bridge/sdk-core/fsm/README.md +0 -3
  228. data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +0 -27
  229. data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +0 -23
  230. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +0 -650
  231. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +0 -8
  232. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +0 -18
  233. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +0 -12
  234. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +0 -41
  235. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +0 -14
  236. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +0 -11
  237. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +0 -32
  238. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +0 -31
  239. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +0 -46
  240. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +0 -29
  241. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +0 -12
  242. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +0 -32
  243. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +0 -18
  244. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +0 -5
  245. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +0 -11
  246. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +0 -5
  247. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +0 -11
  248. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +0 -5
  249. data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +0 -14
  250. data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +0 -23
  251. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +0 -254
  252. data/bridge/sdk-core/fsm/src/lib.rs +0 -2
  253. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
  254. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
  255. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
  256. data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
  257. data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
  258. data/bridge/sdk-core/integ-with-otel.sh +0 -7
  259. data/bridge/sdk-core/protos/api_upstream/README.md +0 -9
  260. data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +0 -40
  261. data/bridge/sdk-core/protos/api_upstream/buf.yaml +0 -9
  262. data/bridge/sdk-core/protos/api_upstream/build/go.mod +0 -7
  263. data/bridge/sdk-core/protos/api_upstream/build/go.sum +0 -5
  264. data/bridge/sdk-core/protos/api_upstream/build/tools.go +0 -29
  265. data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +0 -141
  266. data/bridge/sdk-core/protos/api_upstream/go.mod +0 -6
  267. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +0 -89
  268. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +0 -248
  269. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +0 -123
  270. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -47
  271. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -52
  272. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +0 -56
  273. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +0 -170
  274. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -123
  275. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -51
  276. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -50
  277. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -41
  278. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -60
  279. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -59
  280. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -56
  281. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +0 -122
  282. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -108
  283. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +0 -114
  284. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -56
  285. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +0 -787
  286. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +0 -99
  287. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -124
  288. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -80
  289. data/bridge/sdk-core/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -57
  290. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +0 -61
  291. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -55
  292. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -379
  293. data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -63
  294. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +0 -108
  295. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +0 -111
  296. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +0 -59
  297. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +0 -146
  298. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +0 -1199
  299. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +0 -415
  300. data/bridge/sdk-core/protos/grpc/health/v1/health.proto +0 -63
  301. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +0 -79
  302. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +0 -80
  303. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +0 -78
  304. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +0 -16
  305. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +0 -31
  306. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +0 -31
  307. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +0 -270
  308. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +0 -305
  309. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +0 -35
  310. data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +0 -38
  311. data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +0 -13
  312. data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +0 -141
  313. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +0 -63
  314. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +0 -90
  315. data/bridge/sdk-core/rustfmt.toml +0 -1
  316. data/bridge/sdk-core/sdk/Cargo.toml +0 -48
  317. data/bridge/sdk-core/sdk/LICENSE.txt +0 -23
  318. data/bridge/sdk-core/sdk/src/activity_context.rs +0 -230
  319. data/bridge/sdk-core/sdk/src/app_data.rs +0 -37
  320. data/bridge/sdk-core/sdk/src/interceptors.rs +0 -50
  321. data/bridge/sdk-core/sdk/src/lib.rs +0 -861
  322. data/bridge/sdk-core/sdk/src/payload_converter.rs +0 -11
  323. data/bridge/sdk-core/sdk/src/workflow_context/options.rs +0 -295
  324. data/bridge/sdk-core/sdk/src/workflow_context.rs +0 -694
  325. data/bridge/sdk-core/sdk/src/workflow_future.rs +0 -500
  326. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +0 -33
  327. data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +0 -23
  328. data/bridge/sdk-core/sdk-core-protos/build.rs +0 -142
  329. data/bridge/sdk-core/sdk-core-protos/src/constants.rs +0 -7
  330. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +0 -557
  331. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +0 -234
  332. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +0 -2088
  333. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +0 -48
  334. data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +0 -14
  335. data/bridge/sdk-core/test-utils/Cargo.toml +0 -38
  336. data/bridge/sdk-core/test-utils/src/canned_histories.rs +0 -1389
  337. data/bridge/sdk-core/test-utils/src/histfetch.rs +0 -28
  338. data/bridge/sdk-core/test-utils/src/lib.rs +0 -709
  339. data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +0 -50
  340. data/bridge/sdk-core/test-utils/src/workflows.rs +0 -29
  341. data/bridge/sdk-core/tests/fuzzy_workflow.rs +0 -130
  342. data/bridge/sdk-core/tests/heavy_tests.rs +0 -265
  343. data/bridge/sdk-core/tests/integ_tests/client_tests.rs +0 -36
  344. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +0 -150
  345. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +0 -223
  346. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +0 -239
  347. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +0 -90
  348. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +0 -314
  349. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +0 -151
  350. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +0 -902
  351. data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +0 -61
  352. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +0 -60
  353. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +0 -51
  354. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +0 -51
  355. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +0 -64
  356. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +0 -47
  357. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +0 -669
  358. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +0 -54
  359. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +0 -92
  360. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +0 -228
  361. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +0 -94
  362. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +0 -171
  363. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +0 -85
  364. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +0 -120
  365. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +0 -77
  366. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +0 -596
  367. data/bridge/sdk-core/tests/main.rs +0 -103
  368. data/bridge/sdk-core/tests/runner.rs +0 -132
  369. data/bridge/sdk-core/tests/wf_input_replay.rs +0 -32
  370. data/bridge/src/connection.rs +0 -202
  371. data/bridge/src/lib.rs +0 -494
  372. data/bridge/src/runtime.rs +0 -54
  373. data/bridge/src/test_server.rs +0 -153
  374. data/bridge/src/worker.rs +0 -197
  375. data/ext/Rakefile +0 -9
  376. data/lib/gen/dependencies/gogoproto/gogo_pb.rb +0 -14
  377. data/lib/gen/temporal/api/batch/v1/message_pb.rb +0 -50
  378. data/lib/gen/temporal/api/command/v1/message_pb.rb +0 -160
  379. data/lib/gen/temporal/api/common/v1/message_pb.rb +0 -73
  380. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +0 -33
  381. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +0 -37
  382. data/lib/gen/temporal/api/enums/v1/common_pb.rb +0 -42
  383. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +0 -68
  384. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +0 -79
  385. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +0 -37
  386. data/lib/gen/temporal/api/enums/v1/query_pb.rb +0 -31
  387. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +0 -24
  388. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +0 -28
  389. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +0 -30
  390. data/lib/gen/temporal/api/enums/v1/update_pb.rb +0 -25
  391. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +0 -89
  392. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +0 -84
  393. data/lib/gen/temporal/api/failure/v1/message_pb.rb +0 -83
  394. data/lib/gen/temporal/api/filter/v1/message_pb.rb +0 -40
  395. data/lib/gen/temporal/api/history/v1/message_pb.rb +0 -498
  396. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +0 -64
  397. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +0 -88
  398. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +0 -20
  399. data/lib/gen/temporal/api/protocol/v1/message_pb.rb +0 -30
  400. data/lib/gen/temporal/api/query/v1/message_pb.rb +0 -38
  401. data/lib/gen/temporal/api/replication/v1/message_pb.rb +0 -37
  402. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +0 -149
  403. data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +0 -23
  404. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +0 -73
  405. data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +0 -49
  406. data/lib/gen/temporal/api/testservice/v1/service_pb.rb +0 -21
  407. data/lib/gen/temporal/api/update/v1/message_pb.rb +0 -72
  408. data/lib/gen/temporal/api/version/v1/message_pb.rb +0 -41
  409. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +0 -111
  410. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +0 -798
  411. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +0 -20
  412. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +0 -62
  413. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +0 -61
  414. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +0 -61
  415. data/lib/gen/temporal/sdk/core/common/common_pb.rb +0 -26
  416. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +0 -40
  417. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +0 -31
  418. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +0 -171
  419. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +0 -200
  420. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +0 -41
  421. data/lib/temporalio/bridge/connect_options.rb +0 -15
  422. data/lib/temporalio/bridge/error.rb +0 -8
  423. data/lib/temporalio/bridge/retry_config.rb +0 -24
  424. data/lib/temporalio/bridge/tls_options.rb +0 -19
  425. data/lib/temporalio/bridge.rb +0 -14
  426. data/lib/temporalio/client/implementation.rb +0 -340
  427. data/lib/temporalio/connection/retry_config.rb +0 -44
  428. data/lib/temporalio/connection/service.rb +0 -20
  429. data/lib/temporalio/connection/test_service.rb +0 -92
  430. data/lib/temporalio/connection/tls_options.rb +0 -51
  431. data/lib/temporalio/connection/workflow_service.rb +0 -731
  432. data/lib/temporalio/connection.rb +0 -86
  433. data/lib/temporalio/data_converter.rb +0 -191
  434. data/lib/temporalio/error/workflow_failure.rb +0 -19
  435. data/lib/temporalio/errors.rb +0 -40
  436. data/lib/temporalio/failure_converter/base.rb +0 -26
  437. data/lib/temporalio/failure_converter/basic.rb +0 -319
  438. data/lib/temporalio/failure_converter.rb +0 -7
  439. data/lib/temporalio/interceptor/activity_inbound.rb +0 -22
  440. data/lib/temporalio/interceptor/activity_outbound.rb +0 -24
  441. data/lib/temporalio/interceptor/chain.rb +0 -28
  442. data/lib/temporalio/interceptor/client.rb +0 -127
  443. data/lib/temporalio/interceptor.rb +0 -22
  444. data/lib/temporalio/payload_codec/base.rb +0 -32
  445. data/lib/temporalio/payload_converter/base.rb +0 -24
  446. data/lib/temporalio/payload_converter/bytes.rb +0 -27
  447. data/lib/temporalio/payload_converter/composite.rb +0 -49
  448. data/lib/temporalio/payload_converter/encoding_base.rb +0 -35
  449. data/lib/temporalio/payload_converter/json.rb +0 -26
  450. data/lib/temporalio/payload_converter/nil.rb +0 -26
  451. data/lib/temporalio/payload_converter.rb +0 -14
  452. data/lib/temporalio/retry_state.rb +0 -35
  453. data/lib/temporalio/testing/time_skipping_handle.rb +0 -32
  454. data/lib/temporalio/testing/time_skipping_interceptor.rb +0 -23
  455. data/lib/temporalio/timeout_type.rb +0 -29
  456. data/lib/temporalio/worker/activity_runner.rb +0 -114
  457. data/lib/temporalio/worker/activity_worker.rb +0 -164
  458. data/lib/temporalio/worker/reactor.rb +0 -46
  459. data/lib/temporalio/worker/runner.rb +0 -63
  460. data/lib/temporalio/worker/sync_worker.rb +0 -124
  461. data/lib/temporalio/worker/thread_pool_executor.rb +0 -51
  462. data/lib/temporalio/workflow/async.rb +0 -46
  463. data/lib/temporalio/workflow/execution_info.rb +0 -54
  464. data/lib/temporalio/workflow/execution_status.rb +0 -36
  465. data/lib/temporalio/workflow/future.rb +0 -138
  466. data/lib/temporalio/workflow/id_reuse_policy.rb +0 -36
  467. data/lib/temporalio/workflow/info.rb +0 -76
  468. data/lib/temporalio/workflow/query_reject_condition.rb +0 -33
  469. data/lib/thermite_patch.rb +0 -33
  470. data/sig/async.rbs +0 -17
  471. data/sig/protobuf.rbs +0 -16
  472. data/sig/protos/dependencies/gogoproto/gogo.rbs +0 -914
  473. data/sig/protos/google/protobuf/any.rbs +0 -157
  474. data/sig/protos/google/protobuf/descriptor.rbs +0 -2825
  475. data/sig/protos/google/protobuf/duration.rbs +0 -114
  476. data/sig/protos/google/protobuf/empty.rbs +0 -36
  477. data/sig/protos/google/protobuf/timestamp.rbs +0 -145
  478. data/sig/protos/google/protobuf/wrappers.rbs +0 -358
  479. data/sig/protos/temporal/api/batch/v1/message.rbs +0 -300
  480. data/sig/protos/temporal/api/command/v1/message.rbs +0 -1399
  481. data/sig/protos/temporal/api/common/v1/message.rbs +0 -528
  482. data/sig/protos/temporal/api/enums/v1/batch_operation.rbs +0 -79
  483. data/sig/protos/temporal/api/enums/v1/command_type.rbs +0 -68
  484. data/sig/protos/temporal/api/enums/v1/common.rbs +0 -118
  485. data/sig/protos/temporal/api/enums/v1/event_type.rbs +0 -264
  486. data/sig/protos/temporal/api/enums/v1/failed_cause.rbs +0 -277
  487. data/sig/protos/temporal/api/enums/v1/namespace.rbs +0 -108
  488. data/sig/protos/temporal/api/enums/v1/query.rbs +0 -81
  489. data/sig/protos/temporal/api/enums/v1/reset.rbs +0 -44
  490. data/sig/protos/temporal/api/enums/v1/schedule.rbs +0 -72
  491. data/sig/protos/temporal/api/enums/v1/task_queue.rbs +0 -92
  492. data/sig/protos/temporal/api/enums/v1/update.rbs +0 -64
  493. data/sig/protos/temporal/api/enums/v1/workflow.rbs +0 -371
  494. data/sig/protos/temporal/api/errordetails/v1/message.rbs +0 -551
  495. data/sig/protos/temporal/api/failure/v1/message.rbs +0 -581
  496. data/sig/protos/temporal/api/filter/v1/message.rbs +0 -171
  497. data/sig/protos/temporal/api/history/v1/message.rbs +0 -4609
  498. data/sig/protos/temporal/api/namespace/v1/message.rbs +0 -410
  499. data/sig/protos/temporal/api/operatorservice/v1/request_response.rbs +0 -643
  500. data/sig/protos/temporal/api/operatorservice/v1/service.rbs +0 -17
  501. data/sig/protos/temporal/api/protocol/v1/message.rbs +0 -84
  502. data/sig/protos/temporal/api/query/v1/message.rbs +0 -182
  503. data/sig/protos/temporal/api/replication/v1/message.rbs +0 -148
  504. data/sig/protos/temporal/api/schedule/v1/message.rbs +0 -1488
  505. data/sig/protos/temporal/api/sdk/v1/task_complete_metadata.rbs +0 -110
  506. data/sig/protos/temporal/api/taskqueue/v1/message.rbs +0 -486
  507. data/sig/protos/temporal/api/testservice/v1/request_response.rbs +0 -249
  508. data/sig/protos/temporal/api/testservice/v1/service.rbs +0 -15
  509. data/sig/protos/temporal/api/update/v1/message.rbs +0 -489
  510. data/sig/protos/temporal/api/version/v1/message.rbs +0 -184
  511. data/sig/protos/temporal/api/workflow/v1/message.rbs +0 -824
  512. data/sig/protos/temporal/api/workflowservice/v1/request_response.rbs +0 -7250
  513. data/sig/protos/temporal/api/workflowservice/v1/service.rbs +0 -22
  514. data/sig/protos/temporal/sdk/core/activity_result/activity_result.rbs +0 -380
  515. data/sig/protos/temporal/sdk/core/activity_task/activity_task.rbs +0 -386
  516. data/sig/protos/temporal/sdk/core/child_workflow/child_workflow.rbs +0 -323
  517. data/sig/protos/temporal/sdk/core/common/common.rbs +0 -62
  518. data/sig/protos/temporal/sdk/core/core_interface.rbs +0 -101
  519. data/sig/protos/temporal/sdk/core/external_data/external_data.rbs +0 -119
  520. data/sig/protos/temporal/sdk/core/workflow_activation/workflow_activation.rbs +0 -1473
  521. data/sig/protos/temporal/sdk/core/workflow_commands/workflow_commands.rbs +0 -1784
  522. data/sig/protos/temporal/sdk/core/workflow_completion/workflow_completion.rbs +0 -180
  523. data/sig/ruby.rbs +0 -12
  524. data/sig/temporalio/activity/context.rbs +0 -29
  525. data/sig/temporalio/activity/info.rbs +0 -43
  526. data/sig/temporalio/activity.rbs +0 -19
  527. data/sig/temporalio/bridge/connect_options.rbs +0 -19
  528. data/sig/temporalio/bridge/error.rbs +0 -8
  529. data/sig/temporalio/bridge/retry_config.rbs +0 -21
  530. data/sig/temporalio/bridge/tls_options.rbs +0 -17
  531. data/sig/temporalio/bridge.rbs +0 -71
  532. data/sig/temporalio/client/implementation.rbs +0 -38
  533. data/sig/temporalio/client/workflow_handle.rbs +0 -41
  534. data/sig/temporalio/client.rbs +0 -35
  535. data/sig/temporalio/connection/retry_config.rbs +0 -37
  536. data/sig/temporalio/connection/service.rbs +0 -14
  537. data/sig/temporalio/connection/test_service.rbs +0 -13
  538. data/sig/temporalio/connection/tls_options.rbs +0 -43
  539. data/sig/temporalio/connection/workflow_service.rbs +0 -48
  540. data/sig/temporalio/connection.rbs +0 -30
  541. data/sig/temporalio/data_converter.rbs +0 -35
  542. data/sig/temporalio/error/failure.rbs +0 -121
  543. data/sig/temporalio/error/workflow_failure.rbs +0 -9
  544. data/sig/temporalio/errors.rbs +0 -36
  545. data/sig/temporalio/failure_converter/base.rbs +0 -12
  546. data/sig/temporalio/failure_converter/basic.rbs +0 -86
  547. data/sig/temporalio/failure_converter.rbs +0 -5
  548. data/sig/temporalio/interceptor/activity_inbound.rbs +0 -21
  549. data/sig/temporalio/interceptor/activity_outbound.rbs +0 -10
  550. data/sig/temporalio/interceptor/chain.rbs +0 -24
  551. data/sig/temporalio/interceptor/client.rbs +0 -148
  552. data/sig/temporalio/interceptor.rbs +0 -6
  553. data/sig/temporalio/payload_codec/base.rbs +0 -12
  554. data/sig/temporalio/payload_converter/base.rbs +0 -12
  555. data/sig/temporalio/payload_converter/bytes.rbs +0 -9
  556. data/sig/temporalio/payload_converter/composite.rbs +0 -19
  557. data/sig/temporalio/payload_converter/encoding_base.rbs +0 -14
  558. data/sig/temporalio/payload_converter/json.rbs +0 -9
  559. data/sig/temporalio/payload_converter/nil.rbs +0 -9
  560. data/sig/temporalio/payload_converter.rbs +0 -5
  561. data/sig/temporalio/retry_policy.rbs +0 -25
  562. data/sig/temporalio/retry_state.rbs +0 -20
  563. data/sig/temporalio/runtime.rbs +0 -12
  564. data/sig/temporalio/testing/time_skipping_handle.rbs +0 -15
  565. data/sig/temporalio/testing/time_skipping_interceptor.rbs +0 -13
  566. data/sig/temporalio/testing/workflow_environment.rbs +0 -22
  567. data/sig/temporalio/testing.rbs +0 -35
  568. data/sig/temporalio/timeout_type.rbs +0 -15
  569. data/sig/temporalio/version.rbs +0 -3
  570. data/sig/temporalio/worker/activity_runner.rbs +0 -35
  571. data/sig/temporalio/worker/activity_worker.rbs +0 -44
  572. data/sig/temporalio/worker/reactor.rbs +0 -22
  573. data/sig/temporalio/worker/runner.rbs +0 -21
  574. data/sig/temporalio/worker/sync_worker.rbs +0 -23
  575. data/sig/temporalio/worker/thread_pool_executor.rbs +0 -23
  576. data/sig/temporalio/worker.rbs +0 -46
  577. data/sig/temporalio/workflow/async.rbs +0 -9
  578. data/sig/temporalio/workflow/execution_info.rbs +0 -55
  579. data/sig/temporalio/workflow/execution_status.rbs +0 -21
  580. data/sig/temporalio/workflow/future.rbs +0 -40
  581. data/sig/temporalio/workflow/id_reuse_policy.rbs +0 -15
  582. data/sig/temporalio/workflow/info.rbs +0 -55
  583. data/sig/temporalio/workflow/query_reject_condition.rbs +0 -14
  584. data/sig/temporalio.rbs +0 -2
  585. data/sig/thermite_patch.rbs +0 -15
@@ -1,114 +0,0 @@
1
- require 'google/protobuf/well_known_types'
2
- require 'temporalio/activity/context'
3
- require 'temporalio/activity/info'
4
- require 'temporalio/error/failure'
5
- require 'temporalio/errors'
6
- require 'temporalio/interceptor/activity_inbound'
7
-
8
- module Temporalio
9
- class Worker
10
- # The main class for handling activity processing. It is expected to be executed from
11
- # some threaded or async executor's context since methods called here might be blocking
12
- # and this should not affect the main worker reactor.
13
- #
14
- # @api private
15
- class ActivityRunner
16
- def initialize(
17
- activity_class,
18
- start,
19
- task_queue,
20
- task_token,
21
- worker,
22
- converter,
23
- inbound_interceptors,
24
- outbound_interceptors
25
- )
26
- @activity_class = activity_class
27
- @start = start
28
- @task_queue = task_queue
29
- @task_token = task_token
30
- @worker = worker
31
- @converter = converter
32
- @inbound_interceptors = inbound_interceptors
33
- @outbound_interceptors = outbound_interceptors
34
- end
35
-
36
- def run
37
- activity = activity_class.new(context)
38
- args = converter.from_payload_array(start.input.to_a)
39
- headers = converter.from_payload_map(start.header_fields)
40
- input = Temporalio::Interceptor::ActivityInbound::ExecuteActivityInput.new(
41
- activity: activity_class,
42
- args: args,
43
- headers: headers || {},
44
- )
45
-
46
- result = inbound_interceptors.invoke(:execute_activity, input) do |i|
47
- activity.execute(*i.args)
48
- end
49
-
50
- converter.to_payload(result)
51
- rescue StandardError => e
52
- # Temporal server ignores cancellation failures that were not requested by the server.
53
- # However within the SDK cancellations are also used during the worker shutdown. In order
54
- # to provide a seamless handling experience (same error raised within the Activity) we are
55
- # using the ActivityCancelled error and then swapping it with a CancelledError here.
56
- #
57
- # In the future this will be handled by the SDK Core — https://github.com/temporalio/sdk-core/issues/461
58
- if e.is_a?(Temporalio::Error::ActivityCancelled) && e.by_request?
59
- e = Temporalio::Error::CancelledError.new(e.message)
60
- end
61
-
62
- converter.to_failure(e)
63
- end
64
-
65
- def cancel(reason, by_request:)
66
- context.cancel(reason, by_request: by_request)
67
- end
68
-
69
- private
70
-
71
- attr_reader :activity_class, :start, :task_queue, :task_token, :worker, :converter,
72
- :inbound_interceptors, :outbound_interceptors
73
-
74
- def context
75
- return @context if @context
76
-
77
- heartbeat_proc = ->(*details) { heartbeat(*details) }
78
- @context = Temporalio::Activity::Context.new(
79
- generate_activity_info,
80
- heartbeat_proc,
81
- outbound_interceptors,
82
- shielded: activity_class._shielded,
83
- )
84
- end
85
-
86
- def generate_activity_info
87
- Temporalio::Activity::Info.new(
88
- activity_id: start.activity_id,
89
- activity_type: start.activity_type,
90
- attempt: start.attempt,
91
- current_attempt_scheduled_time: start.current_attempt_scheduled_time&.to_time,
92
- heartbeat_details: converter.from_payload_array(start.heartbeat_details.to_a),
93
- heartbeat_timeout: start.heartbeat_timeout&.to_f,
94
- local: !start.is_local.nil?,
95
- schedule_to_close_timeout: start.schedule_to_close_timeout&.to_f,
96
- scheduled_time: start.scheduled_time&.to_time,
97
- start_to_close_timeout: start.start_to_close_timeout&.to_f,
98
- started_time: start.started_time&.to_time,
99
- task_queue: task_queue,
100
- task_token: task_token,
101
- workflow_id: start.workflow_execution&.workflow_id,
102
- workflow_namespace: start.workflow_namespace,
103
- workflow_run_id: start.workflow_execution&.run_id,
104
- workflow_type: start.workflow_type,
105
- ).freeze
106
- end
107
-
108
- def heartbeat(*details)
109
- payloads = converter.to_payload_array(details)
110
- worker.record_activity_heartbeat(task_token, payloads)
111
- end
112
- end
113
- end
114
- end
@@ -1,164 +0,0 @@
1
- require 'temporalio/error/failure'
2
- require 'temporalio/errors'
3
- require 'temporalio/interceptor'
4
- require 'temporalio/interceptor/chain'
5
- require 'temporalio/worker/activity_runner'
6
-
7
- module Temporalio
8
- class Worker
9
- # @api private
10
- class ActivityWorker
11
- def initialize(
12
- task_queue,
13
- worker,
14
- activities,
15
- converter,
16
- interceptors,
17
- executor,
18
- graceful_timeout
19
- )
20
- @task_queue = task_queue
21
- @worker = worker
22
- @activities = prepare_activities(activities)
23
- @converter = converter
24
- @inbound_interceptors = Temporalio::Interceptor::Chain.new(
25
- Temporalio::Interceptor.filter(interceptors, :activity_inbound),
26
- )
27
- @outbound_interceptors = Temporalio::Interceptor::Chain.new(
28
- Temporalio::Interceptor.filter(interceptors, :activity_outbound),
29
- )
30
- @executor = executor
31
- @graceful_timeout = graceful_timeout
32
- @running_activities = {}
33
- @cancellations = []
34
- @drain_queue = Queue.new
35
- end
36
-
37
- def run(reactor)
38
- # @type var outstanding_tasks: Array[Async::Task]
39
- outstanding_tasks = []
40
-
41
- loop do
42
- activity_task = worker.poll_activity_task
43
- outstanding_tasks << reactor.async do |async_task|
44
- if activity_task.start
45
- handle_start_activity(activity_task.task_token, activity_task.start)
46
- elsif activity_task.cancel
47
- handle_cancel_activity(activity_task.task_token, activity_task.cancel)
48
- end
49
- ensure
50
- outstanding_tasks.delete(async_task)
51
- end
52
- end
53
- rescue Temporalio::Bridge::Error::WorkerShutdown
54
- # No need to re-raise this error, it's a part of a normal shutdown
55
- ensure
56
- outstanding_tasks.each(&:wait)
57
- @cancelation_task&.wait
58
- drain_queue.close
59
- end
60
-
61
- def setup_graceful_shutdown_timer(reactor)
62
- if graceful_timeout
63
- reactor.async do |async_task|
64
- @cancelation_task = async_task.async do
65
- sleep graceful_timeout
66
- @running_activities.each_value do |activity_runner|
67
- activity_runner.cancel('Worker is shutting down', by_request: false)
68
- end
69
- end
70
- end
71
- end
72
- end
73
-
74
- def drain
75
- drain_queue.pop
76
- end
77
-
78
- private
79
-
80
- attr_reader :task_queue, :worker, :activities, :converter, :inbound_interceptors,
81
- :outbound_interceptors, :executor, :graceful_timeout, :running_activities,
82
- :cancellations, :drain_queue
83
-
84
- def prepare_activities(activities)
85
- activities.each_with_object({}) do |activity, result|
86
- unless activity.ancestors.include?(Temporalio::Activity)
87
- raise ArgumentError, 'Activity must be a subclass of Temporalio::Activity'
88
- end
89
-
90
- if result[activity._name]
91
- raise ArgumentError, "More than one activity named #{activity._name}"
92
- end
93
-
94
- result[activity._name] = activity
95
- result
96
- end
97
- end
98
-
99
- def lookup_activity(activity_type)
100
- activities.fetch(activity_type) do
101
- activity_names = activities.keys.sort.join(', ')
102
- raise Temporalio::Error::ApplicationError.new(
103
- "Activity #{activity_type} is not registered on this worker, available activities: #{activity_names}",
104
- type: 'NotFoundError',
105
- )
106
- end
107
- end
108
-
109
- def run_activity(token, start)
110
- activity_class = lookup_activity(start.activity_type)
111
- runner = ActivityRunner.new(
112
- activity_class,
113
- start,
114
- task_queue,
115
- token,
116
- worker,
117
- converter,
118
- inbound_interceptors,
119
- outbound_interceptors,
120
- )
121
- running_activities[token] = runner
122
- queue = Queue.new
123
-
124
- executor.schedule do
125
- queue << runner.run
126
- end
127
-
128
- queue.pop
129
- rescue StandardError => e
130
- converter.to_failure(e)
131
- end
132
-
133
- def handle_start_activity(task_token, start)
134
- result = run_activity(task_token, start)
135
-
136
- case result
137
- when Temporalio::Api::Common::V1::Payload
138
- worker.complete_activity_task_with_success(task_token, result)
139
- when Temporalio::Api::Failure::V1::Failure
140
- # only respond with a cancellation when it was requested, otherwise it's a regular failure
141
- if result.canceled_failure_info && cancellations.include?(task_token)
142
- worker.complete_activity_task_with_cancellation(task_token, result)
143
- else
144
- worker.complete_activity_task_with_failure(task_token, result)
145
- end
146
- end
147
-
148
- running_activities.delete(task_token)
149
- cancellations.delete(task_token)
150
- end
151
-
152
- def handle_cancel_activity(task_token, _cancel)
153
- runner = running_activities.fetch(task_token) do
154
- # TODO: Use logger instead when implemented
155
- warn "Cannot find activity to cancel for token #{task_token}"
156
- return # early escape
157
- end
158
-
159
- cancellations << task_token
160
- runner&.cancel('Activity cancellation requested', by_request: true)
161
- end
162
- end
163
- end
164
- end
@@ -1,46 +0,0 @@
1
- require 'async'
2
-
3
- module Temporalio
4
- class Worker
5
- # A shared async reactor.
6
- #
7
- # This class allows multiple workers to access the same Async reactor
8
- # without forcing the SDK users to wrap their execution in an Async block. This
9
- # is handled using a queue that is polled from within a running Async reactor,
10
- # so all the blocks end up being executed within it.
11
- #
12
- # @api private
13
- class Reactor
14
- def initialize
15
- @queue = Queue.new
16
- @thread = nil
17
- @mutex = Mutex.new
18
- end
19
-
20
- def async(&block)
21
- ensure_reactor_thread
22
- queue << block
23
- end
24
-
25
- private
26
-
27
- attr_reader :queue, :mutex
28
-
29
- def ensure_reactor_thread
30
- mutex.synchronize do
31
- @thread ||= Thread.new { run_loop }
32
- end
33
- end
34
-
35
- def run_loop
36
- reactor = Async::Reactor.new
37
- reactor.run do |task|
38
- loop do
39
- block = queue.pop
40
- task.async { |subtask| block.call(subtask) }
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,63 +0,0 @@
1
- require 'temporalio/errors'
2
-
3
- module Temporalio
4
- class Worker
5
- # A class used to manage the lifecycle of running any number of workers.
6
- #
7
- # @api private
8
- class Runner
9
- def initialize(*workers)
10
- if workers.empty?
11
- raise ArgumentError, 'Must be initialized with at least one worker'
12
- end
13
-
14
- @workers = workers
15
- @mutex = Mutex.new
16
- @started = false
17
- @shutdown = false
18
- end
19
-
20
- def run(&block)
21
- @thread = Thread.current
22
- @started = true
23
- workers.each { |worker| worker.start(self) }
24
-
25
- block ? block.call : sleep
26
- rescue Temporalio::Error::WorkerShutdown
27
- # Explicit shutdown requested, no need to raise
28
- ensure
29
- @shutdown = true
30
- shutdown_workers
31
- end
32
-
33
- def shutdown(exception = Temporalio::Error::WorkerShutdown.new('Manual shutdown'))
34
- mutex.synchronize do
35
- return unless running?
36
-
37
- @shutdown = true
38
- end
39
-
40
- # propagate shutdown to the running thread
41
- thread&.raise(exception)
42
- end
43
-
44
- private
45
-
46
- attr_reader :workers, :mutex, :thread
47
-
48
- def running?
49
- @started && !@shutdown
50
- end
51
-
52
- def shutdown_workers
53
- # Protect shutdown from any outside raises
54
- Thread.handle_interrupt(StandardError => :never) do
55
- workers.map do |worker|
56
- # Shut down each worker (and wait for it) concurrently in separate threads
57
- Thread.new { worker.shutdown }
58
- end.each(&:join)
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,124 +0,0 @@
1
- require 'temporal/sdk/core/activity_task/activity_task_pb'
2
- require 'temporal/sdk/core/core_interface_pb'
3
- require 'temporal/sdk/core/workflow_activation/workflow_activation_pb'
4
- require 'temporal/sdk/core/workflow_completion/workflow_completion_pb'
5
-
6
- module Temporalio
7
- class Worker
8
- # This is a wrapper class for the Core Worker (provided via the Bridge) to abstract
9
- # away its async nature allowing other modules/classes to interact with it without
10
- # any callbacks (simplifying the code).
11
- #
12
- # CAUTION: This class will block the thread its running in unless it is used from
13
- # within an Async reactor.
14
- #
15
- # @api private
16
- class SyncWorker
17
- def initialize(core_worker)
18
- @core_worker = core_worker
19
- end
20
-
21
- def poll_activity_task
22
- with_queue do |done|
23
- core_worker.poll_activity_task do |task, error|
24
- done.call(task && Temporalio::Bridge::Api::ActivityTask::ActivityTask.decode(task), error)
25
- end
26
- end
27
- end
28
-
29
- def complete_activity_task_with_success(task_token, payload)
30
- result = Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult.new(
31
- completed: Temporalio::Bridge::Api::ActivityResult::Success.new(result: payload),
32
- )
33
-
34
- complete_activity_task(task_token, result)
35
- end
36
-
37
- def complete_activity_task_with_failure(task_token, failure)
38
- result = Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult.new(
39
- failed: Temporalio::Bridge::Api::ActivityResult::Failure.new(failure: failure),
40
- )
41
-
42
- complete_activity_task(task_token, result)
43
- end
44
-
45
- def complete_activity_task_with_cancellation(task_token, failure)
46
- result = Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult.new(
47
- cancelled: Temporalio::Bridge::Api::ActivityResult::Cancellation.new(failure: failure),
48
- )
49
-
50
- complete_activity_task(task_token, result)
51
- end
52
-
53
- def record_activity_heartbeat(task_token, payloads)
54
- proto = Temporalio::Bridge::Api::CoreInterface::ActivityHeartbeat.new(
55
- task_token: task_token,
56
- details: payloads,
57
- )
58
- encoded_proto = Temporalio::Bridge::Api::CoreInterface::ActivityHeartbeat.encode(proto)
59
-
60
- core_worker.record_activity_heartbeat(encoded_proto)
61
- end
62
-
63
- def poll_workflow_activation
64
- with_queue do |done|
65
- core_worker.poll_workflow_activation do |task, error|
66
- done.call(task && Temporalio::Bridge::Api::WorkflowActivation::WorkflowActivation.decode(task), error)
67
- end
68
- end
69
- end
70
-
71
- def complete_workflow_activation_with_success(run_id, commands)
72
- proto = Temporalio::Bridge::Api::WorkflowCompletion::WorkflowActivationCompletion.new(
73
- run_id: run_id,
74
- successful: Temporalio::Bridge::Api::WorkflowCompletion::Success.new(commands: commands),
75
- )
76
-
77
- complete_workflow_activation(proto)
78
- end
79
-
80
- def complete_workflow_activation_with_failure(run_id, failure)
81
- proto = Temporalio::Bridge::Api::WorkflowCompletion::WorkflowActivationCompletion.new(
82
- run_id: run_id,
83
- failed: Temporalio::Bridge::Api::WorkflowCompletion::Failure.new(failure: failure),
84
- )
85
-
86
- complete_workflow_activation(proto)
87
- end
88
-
89
- private
90
-
91
- attr_reader :core_worker
92
-
93
- def with_queue(&block)
94
- queue = Queue.new
95
- done = ->(result, error = nil) { queue << [result, error] }
96
- block.call(done)
97
- (result, exception) = queue.pop
98
- raise exception if exception
99
-
100
- result
101
- end
102
-
103
- def complete_activity_task(task_token, result)
104
- proto = Temporalio::Bridge::Api::CoreInterface::ActivityTaskCompletion.new(
105
- task_token: task_token,
106
- result: result,
107
- )
108
- encoded_proto = Temporalio::Bridge::Api::CoreInterface::ActivityTaskCompletion.encode(proto)
109
-
110
- with_queue do |done|
111
- core_worker.complete_activity_task(encoded_proto, &done)
112
- end
113
- end
114
-
115
- def complete_workflow_activation(proto)
116
- encoded_proto = Temporalio::Bridge::Api::WorkflowCompletion::WorkflowActivationCompletion.encode(proto)
117
-
118
- with_queue do |done|
119
- core_worker.complete_workflow_activation(encoded_proto, &done)
120
- end
121
- end
122
- end
123
- end
124
- end
@@ -1,51 +0,0 @@
1
- module Temporalio
2
- class Worker
3
- # A generic fixed thread pool.
4
- #
5
- # This is used to execute multiple activities concurrently and independenty of each other.
6
- #
7
- # @note This is a fixed thread pool that allocated threads eagerly and has an infinite buffer.
8
- class ThreadPoolExecutor
9
- # Generate new thread pool executor.
10
- #
11
- # @param size [Integer] Number of concurrently executing threads.
12
- def initialize(size)
13
- @queue = Queue.new
14
- @pool = Array.new(size) do
15
- Thread.new { poll }
16
- end
17
- end
18
-
19
- # Execute a block of code inside of the threads.
20
- #
21
- # @yield Block of code to be executed.
22
- def schedule(&block)
23
- queue << block
24
- end
25
-
26
- # Stop the thread pool and wait for all threads to finish work.
27
- def shutdown
28
- pool.size.times do
29
- schedule { throw EXIT_SYMBOL }
30
- end
31
-
32
- pool.each(&:join)
33
- end
34
-
35
- private
36
-
37
- attr_reader :queue, :pool
38
-
39
- EXIT_SYMBOL = :exit
40
-
41
- def poll
42
- catch(EXIT_SYMBOL) do
43
- loop do
44
- job = queue.pop
45
- job.call
46
- end
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,46 +0,0 @@
1
- require 'temporalio/workflow/future'
2
-
3
- module Temporalio
4
- class Workflow
5
- module Async
6
- def self.run(&block)
7
- Future.new do |future, resolve, reject|
8
- Fiber.new do
9
- Future.current = future
10
- result = block.call
11
- resolve.call(result)
12
- rescue StandardError => e
13
- reject.call(e)
14
- end.resume
15
- end
16
- end
17
-
18
- def self.all(*futures)
19
- Future.new do |future, resolve, _reject|
20
- future.on_cancel { futures.each(&:cancel) }
21
-
22
- futures.each do |f|
23
- f.then do
24
- # Resolve the aggregate once all futures have been fulfilled (resolved or rejected)
25
- resolve.call(nil) if futures.none?(&:pending?)
26
- end
27
- end
28
- end
29
- end
30
-
31
- def self.any(*futures)
32
- # This future is never rejected
33
- Future.new do |future, resolve, _reject|
34
- future.on_cancel { futures.each(&:cancel) }
35
-
36
- futures.each do |f|
37
- # Resolve the aggregate once the first future fulfills (resolved or rejected)
38
- # NOTE: The the first completed future will be the resolved value and all subsequent
39
- # calls to `resolve` will have no effect.
40
- f.then { resolve.call(f) }
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,54 +0,0 @@
1
- require 'temporalio/errors'
2
- require 'temporalio/workflow/execution_status'
3
- require 'google/protobuf/well_known_types'
4
-
5
- module Temporalio
6
- class Workflow
7
- class ExecutionInfo < Struct.new(
8
- :raw,
9
- :workflow,
10
- :id,
11
- :run_id,
12
- :task_queue,
13
- :status,
14
- :parent_id,
15
- :parent_run_id,
16
- :start_time,
17
- :close_time,
18
- :execution_time,
19
- :history_length,
20
- :memo,
21
- :search_attributes,
22
- keyword_init: true,
23
- )
24
- def self.from_raw(response, converter)
25
- raw_info = response.workflow_execution_info
26
- raise Temporalio::Error::UnexpectedResponse, 'missing workflow_execution_info' unless raw_info
27
-
28
- new(
29
- raw: response,
30
- workflow: raw_info.type&.name,
31
- id: raw_info.execution&.workflow_id,
32
- run_id: raw_info.execution&.run_id,
33
- task_queue: raw_info.task_queue,
34
- status: Workflow::ExecutionStatus.from_raw(raw_info.status),
35
- parent_id: raw_info.parent_execution&.workflow_id,
36
- parent_run_id: raw_info.parent_execution&.run_id,
37
- start_time: raw_info.start_time&.to_time,
38
- close_time: raw_info.close_time&.to_time,
39
- execution_time: raw_info.execution_time&.to_time,
40
- history_length: raw_info.history_length,
41
- memo: converter.from_payload_map(raw_info.memo&.fields),
42
- search_attributes: converter.from_payload_map(raw_info.search_attributes&.indexed_fields),
43
- ).freeze
44
- end
45
-
46
- # Helper methods for checking execution status
47
- Workflow::ExecutionStatus::STATUSES.each do |status|
48
- define_method("#{status.downcase}?") do
49
- self.status == status
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,36 +0,0 @@
1
- module Temporalio
2
- class Workflow
3
- module ExecutionStatus
4
- STATUSES = [
5
- RUNNING = :RUNNING,
6
- COMPLETED = :COMPLETED,
7
- FAILED = :FAILED,
8
- CANCELED = :CANCELED,
9
- TERMINATED = :TERMINATED,
10
- CONTINUED_AS_NEW = :CONTINUED_AS_NEW,
11
- TIMED_OUT = :TIMED_OUT,
12
- ].freeze
13
-
14
- # RBS screws up style definitions when using .freeze
15
- # rubocop:disable Style/MutableConstant
16
- API_MAP = {
17
- WORKFLOW_EXECUTION_STATUS_RUNNING: RUNNING,
18
- WORKFLOW_EXECUTION_STATUS_COMPLETED: COMPLETED,
19
- WORKFLOW_EXECUTION_STATUS_FAILED: FAILED,
20
- WORKFLOW_EXECUTION_STATUS_CANCELED: CANCELED,
21
- WORKFLOW_EXECUTION_STATUS_TERMINATED: TERMINATED,
22
- WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW: CONTINUED_AS_NEW,
23
- WORKFLOW_EXECUTION_STATUS_TIMED_OUT: TIMED_OUT,
24
- }
25
- # rubocop:enable Style/MutableConstant
26
-
27
- def self.to_raw(status)
28
- API_MAP.invert[status]
29
- end
30
-
31
- def self.from_raw(raw_status)
32
- API_MAP[raw_status]
33
- end
34
- end
35
- end
36
- end