temporalio 0.0.2 → 0.1.1

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 (320) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -23
  3. data/bridge/Cargo.lock +185 -76
  4. data/bridge/Cargo.toml +6 -4
  5. data/bridge/sdk-core/README.md +19 -6
  6. data/bridge/sdk-core/client/src/lib.rs +215 -39
  7. data/bridge/sdk-core/client/src/metrics.rs +17 -8
  8. data/bridge/sdk-core/client/src/raw.rs +4 -4
  9. data/bridge/sdk-core/client/src/retry.rs +32 -20
  10. data/bridge/sdk-core/core/Cargo.toml +22 -9
  11. data/bridge/sdk-core/core/src/abstractions.rs +203 -14
  12. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +76 -41
  13. data/bridge/sdk-core/core/src/core_tests/determinism.rs +165 -2
  14. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +204 -83
  15. data/bridge/sdk-core/core/src/core_tests/queries.rs +3 -4
  16. data/bridge/sdk-core/core/src/core_tests/workers.rs +1 -3
  17. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +397 -54
  18. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +106 -12
  19. data/bridge/sdk-core/core/src/internal_flags.rs +136 -0
  20. data/bridge/sdk-core/core/src/lib.rs +16 -9
  21. data/bridge/sdk-core/core/src/telemetry/log_export.rs +1 -1
  22. data/bridge/sdk-core/core/src/telemetry/metrics.rs +69 -35
  23. data/bridge/sdk-core/core/src/telemetry/mod.rs +29 -13
  24. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +17 -12
  25. data/bridge/sdk-core/core/src/test_help/mod.rs +62 -12
  26. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +112 -156
  27. data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +89 -0
  28. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +352 -122
  29. data/bridge/sdk-core/core/src/worker/activities.rs +233 -157
  30. data/bridge/sdk-core/core/src/worker/client/mocks.rs +22 -2
  31. data/bridge/sdk-core/core/src/worker/client.rs +18 -2
  32. data/bridge/sdk-core/core/src/worker/mod.rs +165 -58
  33. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +1 -3
  34. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +3 -5
  35. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +856 -277
  36. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +100 -43
  37. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +7 -7
  38. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +5 -4
  39. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +87 -27
  40. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +5 -4
  41. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +5 -4
  42. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +5 -4
  43. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +137 -62
  44. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +25 -17
  45. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +7 -6
  46. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +103 -152
  47. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +7 -7
  48. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +9 -9
  49. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +2 -2
  50. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +14 -7
  51. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +5 -16
  52. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +201 -121
  53. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +11 -14
  54. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +30 -15
  55. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +1026 -376
  56. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +460 -384
  57. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +40 -57
  58. data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +125 -0
  59. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +1 -4
  60. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +117 -0
  61. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +24 -0
  62. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +448 -718
  63. data/bridge/sdk-core/core-api/Cargo.toml +2 -1
  64. data/bridge/sdk-core/core-api/src/errors.rs +1 -34
  65. data/bridge/sdk-core/core-api/src/lib.rs +6 -2
  66. data/bridge/sdk-core/core-api/src/telemetry.rs +0 -6
  67. data/bridge/sdk-core/core-api/src/worker.rs +14 -1
  68. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +18 -15
  69. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +8 -3
  70. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
  71. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +5 -17
  72. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +11 -0
  73. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +1 -6
  74. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +6 -6
  75. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +5 -0
  76. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +22 -6
  77. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +48 -19
  78. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +2 -0
  79. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +3 -0
  80. data/bridge/sdk-core/protos/api_upstream/temporal/api/{enums/v1/interaction_type.proto → protocol/v1/message.proto} +29 -11
  81. data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +63 -0
  82. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +111 -0
  83. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +59 -28
  84. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +2 -2
  85. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +1 -0
  86. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +1 -0
  87. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +1 -0
  88. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +1 -0
  89. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +1 -0
  90. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +1 -0
  91. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +7 -0
  92. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +1 -0
  93. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +6 -0
  94. data/bridge/sdk-core/sdk/Cargo.toml +3 -2
  95. data/bridge/sdk-core/sdk/src/lib.rs +87 -20
  96. data/bridge/sdk-core/sdk/src/workflow_future.rs +9 -8
  97. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +5 -2
  98. data/bridge/sdk-core/sdk-core-protos/build.rs +36 -1
  99. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +100 -87
  100. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +5 -1
  101. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +175 -57
  102. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +12 -2
  103. data/bridge/sdk-core/test-utils/Cargo.toml +3 -1
  104. data/bridge/sdk-core/test-utils/src/canned_histories.rs +106 -296
  105. data/bridge/sdk-core/test-utils/src/histfetch.rs +1 -1
  106. data/bridge/sdk-core/test-utils/src/lib.rs +82 -23
  107. data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +50 -0
  108. data/bridge/sdk-core/test-utils/src/workflows.rs +29 -0
  109. data/bridge/sdk-core/tests/fuzzy_workflow.rs +130 -0
  110. data/bridge/sdk-core/tests/{load_tests.rs → heavy_tests.rs} +125 -51
  111. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +25 -3
  112. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +5 -3
  113. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +218 -16
  114. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +4 -47
  115. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +5 -128
  116. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +83 -25
  117. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +93 -69
  118. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +1 -0
  119. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +6 -13
  120. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +1 -0
  121. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +6 -2
  122. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +3 -10
  123. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +72 -191
  124. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +1 -0
  125. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +7 -28
  126. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +12 -7
  127. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -0
  128. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +18 -14
  129. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +6 -20
  130. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -21
  131. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +6 -4
  132. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +10 -11
  133. data/bridge/sdk-core/tests/main.rs +3 -13
  134. data/bridge/sdk-core/tests/runner.rs +75 -36
  135. data/bridge/sdk-core/tests/wf_input_replay.rs +32 -0
  136. data/bridge/src/connection.rs +41 -25
  137. data/bridge/src/lib.rs +269 -14
  138. data/bridge/src/runtime.rs +1 -1
  139. data/bridge/src/test_server.rs +153 -0
  140. data/bridge/src/worker.rs +89 -16
  141. data/lib/gen/temporal/api/command/v1/message_pb.rb +4 -18
  142. data/lib/gen/temporal/api/common/v1/message_pb.rb +4 -0
  143. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +1 -3
  144. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +3 -3
  145. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +2 -0
  146. data/lib/gen/temporal/api/enums/v1/update_pb.rb +6 -4
  147. data/lib/gen/temporal/api/history/v1/message_pb.rb +27 -19
  148. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +1 -0
  149. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +3 -0
  150. data/lib/gen/temporal/api/protocol/v1/message_pb.rb +30 -0
  151. data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +23 -0
  152. data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +49 -0
  153. data/lib/gen/temporal/api/testservice/v1/service_pb.rb +21 -0
  154. data/lib/gen/temporal/api/update/v1/message_pb.rb +72 -0
  155. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +26 -16
  156. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +13 -9
  157. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +10 -6
  158. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +13 -9
  159. data/lib/gen/temporal/sdk/core/common/common_pb.rb +7 -3
  160. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +9 -3
  161. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +7 -3
  162. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +27 -21
  163. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +28 -24
  164. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +12 -5
  165. data/lib/temporalio/activity/context.rb +13 -8
  166. data/lib/temporalio/activity/info.rb +1 -1
  167. data/lib/temporalio/bridge/connect_options.rb +15 -0
  168. data/lib/temporalio/bridge/retry_config.rb +24 -0
  169. data/lib/temporalio/bridge/tls_options.rb +19 -0
  170. data/lib/temporalio/bridge.rb +1 -1
  171. data/lib/temporalio/client/implementation.rb +8 -8
  172. data/lib/temporalio/connection/retry_config.rb +44 -0
  173. data/lib/temporalio/connection/service.rb +20 -0
  174. data/lib/temporalio/connection/test_service.rb +92 -0
  175. data/lib/temporalio/connection/tls_options.rb +51 -0
  176. data/lib/temporalio/connection/workflow_service.rb +731 -0
  177. data/lib/temporalio/connection.rb +55 -720
  178. data/lib/temporalio/interceptor/activity_inbound.rb +22 -0
  179. data/lib/temporalio/interceptor/activity_outbound.rb +24 -0
  180. data/lib/temporalio/interceptor/chain.rb +5 -5
  181. data/lib/temporalio/interceptor/client.rb +8 -4
  182. data/lib/temporalio/interceptor.rb +22 -0
  183. data/lib/temporalio/retry_policy.rb +13 -3
  184. data/lib/temporalio/testing/time_skipping_handle.rb +32 -0
  185. data/lib/temporalio/testing/time_skipping_interceptor.rb +23 -0
  186. data/lib/temporalio/testing/workflow_environment.rb +112 -0
  187. data/lib/temporalio/testing.rb +175 -0
  188. data/lib/temporalio/version.rb +1 -1
  189. data/lib/temporalio/worker/activity_runner.rb +26 -4
  190. data/lib/temporalio/worker/activity_worker.rb +44 -18
  191. data/lib/temporalio/worker/sync_worker.rb +47 -11
  192. data/lib/temporalio/worker.rb +27 -21
  193. data/lib/temporalio/workflow/async.rb +46 -0
  194. data/lib/temporalio/workflow/future.rb +138 -0
  195. data/lib/temporalio/workflow/info.rb +76 -0
  196. data/lib/thermite_patch.rb +10 -0
  197. data/sig/async.rbs +17 -0
  198. data/sig/protobuf.rbs +16 -0
  199. data/sig/protos/dependencies/gogoproto/gogo.rbs +914 -0
  200. data/sig/protos/google/protobuf/any.rbs +157 -0
  201. data/sig/protos/google/protobuf/descriptor.rbs +2825 -0
  202. data/sig/protos/google/protobuf/duration.rbs +114 -0
  203. data/sig/protos/google/protobuf/empty.rbs +36 -0
  204. data/sig/protos/google/protobuf/timestamp.rbs +145 -0
  205. data/sig/protos/google/protobuf/wrappers.rbs +358 -0
  206. data/sig/protos/temporal/api/batch/v1/message.rbs +300 -0
  207. data/sig/protos/temporal/api/command/v1/message.rbs +1399 -0
  208. data/sig/protos/temporal/api/common/v1/message.rbs +528 -0
  209. data/sig/protos/temporal/api/enums/v1/batch_operation.rbs +79 -0
  210. data/sig/protos/temporal/api/enums/v1/command_type.rbs +68 -0
  211. data/sig/protos/temporal/api/enums/v1/common.rbs +118 -0
  212. data/sig/protos/temporal/api/enums/v1/event_type.rbs +264 -0
  213. data/sig/protos/temporal/api/enums/v1/failed_cause.rbs +277 -0
  214. data/sig/protos/temporal/api/enums/v1/namespace.rbs +108 -0
  215. data/sig/protos/temporal/api/enums/v1/query.rbs +81 -0
  216. data/sig/protos/temporal/api/enums/v1/reset.rbs +44 -0
  217. data/sig/protos/temporal/api/enums/v1/schedule.rbs +72 -0
  218. data/sig/protos/temporal/api/enums/v1/task_queue.rbs +92 -0
  219. data/sig/protos/temporal/api/enums/v1/update.rbs +64 -0
  220. data/sig/protos/temporal/api/enums/v1/workflow.rbs +371 -0
  221. data/sig/protos/temporal/api/errordetails/v1/message.rbs +551 -0
  222. data/sig/protos/temporal/api/failure/v1/message.rbs +581 -0
  223. data/sig/protos/temporal/api/filter/v1/message.rbs +171 -0
  224. data/sig/protos/temporal/api/history/v1/message.rbs +4609 -0
  225. data/sig/protos/temporal/api/namespace/v1/message.rbs +410 -0
  226. data/sig/protos/temporal/api/operatorservice/v1/request_response.rbs +643 -0
  227. data/sig/protos/temporal/api/operatorservice/v1/service.rbs +17 -0
  228. data/sig/protos/temporal/api/protocol/v1/message.rbs +84 -0
  229. data/sig/protos/temporal/api/query/v1/message.rbs +182 -0
  230. data/sig/protos/temporal/api/replication/v1/message.rbs +148 -0
  231. data/sig/protos/temporal/api/schedule/v1/message.rbs +1488 -0
  232. data/sig/protos/temporal/api/sdk/v1/task_complete_metadata.rbs +110 -0
  233. data/sig/protos/temporal/api/taskqueue/v1/message.rbs +486 -0
  234. data/sig/protos/temporal/api/testservice/v1/request_response.rbs +249 -0
  235. data/sig/protos/temporal/api/testservice/v1/service.rbs +15 -0
  236. data/sig/protos/temporal/api/update/v1/message.rbs +489 -0
  237. data/sig/protos/temporal/api/version/v1/message.rbs +184 -0
  238. data/sig/protos/temporal/api/workflow/v1/message.rbs +824 -0
  239. data/sig/protos/temporal/api/workflowservice/v1/request_response.rbs +7250 -0
  240. data/sig/protos/temporal/api/workflowservice/v1/service.rbs +22 -0
  241. data/sig/protos/temporal/sdk/core/activity_result/activity_result.rbs +380 -0
  242. data/sig/protos/temporal/sdk/core/activity_task/activity_task.rbs +386 -0
  243. data/sig/protos/temporal/sdk/core/child_workflow/child_workflow.rbs +323 -0
  244. data/sig/protos/temporal/sdk/core/common/common.rbs +62 -0
  245. data/sig/protos/temporal/sdk/core/core_interface.rbs +101 -0
  246. data/sig/protos/temporal/sdk/core/external_data/external_data.rbs +119 -0
  247. data/sig/protos/temporal/sdk/core/workflow_activation/workflow_activation.rbs +1473 -0
  248. data/sig/protos/temporal/sdk/core/workflow_commands/workflow_commands.rbs +1784 -0
  249. data/sig/protos/temporal/sdk/core/workflow_completion/workflow_completion.rbs +180 -0
  250. data/sig/ruby.rbs +12 -0
  251. data/sig/temporalio/activity/context.rbs +29 -0
  252. data/sig/temporalio/activity/info.rbs +43 -0
  253. data/sig/temporalio/activity.rbs +19 -0
  254. data/sig/temporalio/bridge/connect_options.rbs +19 -0
  255. data/sig/temporalio/bridge/error.rbs +8 -0
  256. data/sig/temporalio/bridge/retry_config.rbs +21 -0
  257. data/sig/temporalio/bridge/tls_options.rbs +17 -0
  258. data/sig/temporalio/bridge.rbs +71 -0
  259. data/sig/temporalio/client/implementation.rbs +38 -0
  260. data/sig/temporalio/client/workflow_handle.rbs +41 -0
  261. data/sig/temporalio/client.rbs +35 -0
  262. data/sig/temporalio/connection/retry_config.rbs +37 -0
  263. data/sig/temporalio/connection/service.rbs +14 -0
  264. data/sig/temporalio/connection/test_service.rbs +13 -0
  265. data/sig/temporalio/connection/tls_options.rbs +43 -0
  266. data/sig/temporalio/connection/workflow_service.rbs +48 -0
  267. data/sig/temporalio/connection.rbs +30 -0
  268. data/sig/temporalio/data_converter.rbs +35 -0
  269. data/sig/temporalio/error/failure.rbs +121 -0
  270. data/sig/temporalio/error/workflow_failure.rbs +9 -0
  271. data/sig/temporalio/errors.rbs +36 -0
  272. data/sig/temporalio/failure_converter/base.rbs +12 -0
  273. data/sig/temporalio/failure_converter/basic.rbs +86 -0
  274. data/sig/temporalio/failure_converter.rbs +5 -0
  275. data/sig/temporalio/interceptor/activity_inbound.rbs +21 -0
  276. data/sig/temporalio/interceptor/activity_outbound.rbs +10 -0
  277. data/sig/temporalio/interceptor/chain.rbs +24 -0
  278. data/sig/temporalio/interceptor/client.rbs +148 -0
  279. data/sig/temporalio/interceptor.rbs +6 -0
  280. data/sig/temporalio/payload_codec/base.rbs +12 -0
  281. data/sig/temporalio/payload_converter/base.rbs +12 -0
  282. data/sig/temporalio/payload_converter/bytes.rbs +9 -0
  283. data/sig/temporalio/payload_converter/composite.rbs +19 -0
  284. data/sig/temporalio/payload_converter/encoding_base.rbs +14 -0
  285. data/sig/temporalio/payload_converter/json.rbs +9 -0
  286. data/sig/temporalio/payload_converter/nil.rbs +9 -0
  287. data/sig/temporalio/payload_converter.rbs +5 -0
  288. data/sig/temporalio/retry_policy.rbs +25 -0
  289. data/sig/temporalio/retry_state.rbs +20 -0
  290. data/sig/temporalio/runtime.rbs +12 -0
  291. data/sig/temporalio/testing/time_skipping_handle.rbs +15 -0
  292. data/sig/temporalio/testing/time_skipping_interceptor.rbs +13 -0
  293. data/sig/temporalio/testing/workflow_environment.rbs +22 -0
  294. data/sig/temporalio/testing.rbs +35 -0
  295. data/sig/temporalio/timeout_type.rbs +15 -0
  296. data/sig/temporalio/version.rbs +3 -0
  297. data/sig/temporalio/worker/activity_runner.rbs +35 -0
  298. data/sig/temporalio/worker/activity_worker.rbs +44 -0
  299. data/sig/temporalio/worker/reactor.rbs +22 -0
  300. data/sig/temporalio/worker/runner.rbs +21 -0
  301. data/sig/temporalio/worker/sync_worker.rbs +23 -0
  302. data/sig/temporalio/worker/thread_pool_executor.rbs +23 -0
  303. data/sig/temporalio/worker.rbs +46 -0
  304. data/sig/temporalio/workflow/async.rbs +9 -0
  305. data/sig/temporalio/workflow/execution_info.rbs +55 -0
  306. data/sig/temporalio/workflow/execution_status.rbs +21 -0
  307. data/sig/temporalio/workflow/future.rbs +40 -0
  308. data/sig/temporalio/workflow/id_reuse_policy.rbs +15 -0
  309. data/sig/temporalio/workflow/info.rbs +55 -0
  310. data/sig/temporalio/workflow/query_reject_condition.rbs +14 -0
  311. data/sig/temporalio.rbs +2 -0
  312. data/sig/thermite_patch.rbs +15 -0
  313. data/temporalio.gemspec +6 -4
  314. metadata +183 -17
  315. data/bridge/sdk-core/Cargo.lock +0 -2606
  316. data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +0 -87
  317. data/lib/bridge.so +0 -0
  318. data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +0 -25
  319. data/lib/gen/temporal/api/interaction/v1/message_pb.rb +0 -49
  320. data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +0 -222
@@ -0,0 +1,371 @@
1
+ module Temporalio
2
+ module Api
3
+ module Enums
4
+ module V1
5
+ # Defines how new runs of a workflow with a particular ID may or may not be allowed. Note that
6
+ # it is *never* valid to have two actively running instances of the same workflow id.
7
+ #
8
+ class WorkflowIdReusePolicy < ::Protobuf::Enum
9
+ type names = :WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED | :WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE | :WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY | :WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE | :WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING
10
+
11
+ type strings = "WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED" | "WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE" | "WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY" | "WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE" | "WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING"
12
+
13
+ type tags = 0 | 1 | 2 | 3 | 4
14
+
15
+ type values = names | strings | tags
16
+
17
+ attr_reader name(): names
18
+
19
+ attr_reader tag(): tags
20
+
21
+ WORKFLOW_ID_REUSE_POLICY_UNSPECIFIED: WorkflowIdReusePolicy
22
+
23
+ # Allow starting a workflow execution using the same workflow id.
24
+ #
25
+ WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE: WorkflowIdReusePolicy
26
+
27
+ # Allow starting a workflow execution using the same workflow id, only when the last
28
+ # execution's final state is one of [terminated, cancelled, timed out, failed].
29
+ #
30
+ WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY: WorkflowIdReusePolicy
31
+
32
+ # Do not permit re-use of the workflow id for this workflow. Future start workflow requests
33
+ # could potentially change the policy, allowing re-use of the workflow id.
34
+ #
35
+ WORKFLOW_ID_REUSE_POLICY_REJECT_DUPLICATE: WorkflowIdReusePolicy
36
+
37
+ # If a workflow is running using the same workflow ID, terminate it and start a new one.
38
+ # If no running workflow, then the behavior is the same as ALLOW_DUPLICATE
39
+ #
40
+ WORKFLOW_ID_REUSE_POLICY_TERMINATE_IF_RUNNING: WorkflowIdReusePolicy
41
+
42
+ # The type of `#initialize` parameter.
43
+ type init = WorkflowIdReusePolicy | values
44
+
45
+ # The type of `repeated` field.
46
+ type field_array = ::Protobuf::Field::FieldArray[WorkflowIdReusePolicy, WorkflowIdReusePolicy | values]
47
+
48
+ # The type of `map` field.
49
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WorkflowIdReusePolicy, WorkflowIdReusePolicy | values]
50
+
51
+ type array = ::Array[WorkflowIdReusePolicy | values]
52
+
53
+ type hash[KEY] = ::Hash[KEY, WorkflowIdReusePolicy | values]
54
+ end
55
+
56
+ # Defines how child workflows will react to their parent completing
57
+ #
58
+ class ParentClosePolicy < ::Protobuf::Enum
59
+ type names = :PARENT_CLOSE_POLICY_UNSPECIFIED | :PARENT_CLOSE_POLICY_TERMINATE | :PARENT_CLOSE_POLICY_ABANDON | :PARENT_CLOSE_POLICY_REQUEST_CANCEL
60
+
61
+ type strings = "PARENT_CLOSE_POLICY_UNSPECIFIED" | "PARENT_CLOSE_POLICY_TERMINATE" | "PARENT_CLOSE_POLICY_ABANDON" | "PARENT_CLOSE_POLICY_REQUEST_CANCEL"
62
+
63
+ type tags = 0 | 1 | 2 | 3
64
+
65
+ type values = names | strings | tags
66
+
67
+ attr_reader name(): names
68
+
69
+ attr_reader tag(): tags
70
+
71
+ PARENT_CLOSE_POLICY_UNSPECIFIED: ParentClosePolicy
72
+
73
+ # The child workflow will also terminate
74
+ #
75
+ PARENT_CLOSE_POLICY_TERMINATE: ParentClosePolicy
76
+
77
+ # The child workflow will do nothing
78
+ #
79
+ PARENT_CLOSE_POLICY_ABANDON: ParentClosePolicy
80
+
81
+ # Cancellation will be requested of the child workflow
82
+ #
83
+ PARENT_CLOSE_POLICY_REQUEST_CANCEL: ParentClosePolicy
84
+
85
+ # The type of `#initialize` parameter.
86
+ type init = ParentClosePolicy | values
87
+
88
+ # The type of `repeated` field.
89
+ type field_array = ::Protobuf::Field::FieldArray[ParentClosePolicy, ParentClosePolicy | values]
90
+
91
+ # The type of `map` field.
92
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ParentClosePolicy, ParentClosePolicy | values]
93
+
94
+ type array = ::Array[ParentClosePolicy | values]
95
+
96
+ type hash[KEY] = ::Hash[KEY, ParentClosePolicy | values]
97
+ end
98
+
99
+ class ContinueAsNewInitiator < ::Protobuf::Enum
100
+ type names = :CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED | :CONTINUE_AS_NEW_INITIATOR_WORKFLOW | :CONTINUE_AS_NEW_INITIATOR_RETRY | :CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE
101
+
102
+ type strings = "CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED" | "CONTINUE_AS_NEW_INITIATOR_WORKFLOW" | "CONTINUE_AS_NEW_INITIATOR_RETRY" | "CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE"
103
+
104
+ type tags = 0 | 1 | 2 | 3
105
+
106
+ type values = names | strings | tags
107
+
108
+ attr_reader name(): names
109
+
110
+ attr_reader tag(): tags
111
+
112
+ CONTINUE_AS_NEW_INITIATOR_UNSPECIFIED: ContinueAsNewInitiator
113
+
114
+ # The workflow itself requested to continue as new
115
+ #
116
+ CONTINUE_AS_NEW_INITIATOR_WORKFLOW: ContinueAsNewInitiator
117
+
118
+ # The workflow continued as new because it is retrying
119
+ #
120
+ CONTINUE_AS_NEW_INITIATOR_RETRY: ContinueAsNewInitiator
121
+
122
+ # The workflow continued as new because cron has triggered a new execution
123
+ #
124
+ CONTINUE_AS_NEW_INITIATOR_CRON_SCHEDULE: ContinueAsNewInitiator
125
+
126
+ # The type of `#initialize` parameter.
127
+ type init = ContinueAsNewInitiator | values
128
+
129
+ # The type of `repeated` field.
130
+ type field_array = ::Protobuf::Field::FieldArray[ContinueAsNewInitiator, ContinueAsNewInitiator | values]
131
+
132
+ # The type of `map` field.
133
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ContinueAsNewInitiator, ContinueAsNewInitiator | values]
134
+
135
+ type array = ::Array[ContinueAsNewInitiator | values]
136
+
137
+ type hash[KEY] = ::Hash[KEY, ContinueAsNewInitiator | values]
138
+ end
139
+
140
+ # (-- api-linter: core::0216::synonyms=disabled
141
+ # aip.dev/not-precedent: There is WorkflowExecutionState already in another package. --)
142
+ #
143
+ class WorkflowExecutionStatus < ::Protobuf::Enum
144
+ type names = :WORKFLOW_EXECUTION_STATUS_UNSPECIFIED | :WORKFLOW_EXECUTION_STATUS_RUNNING | :WORKFLOW_EXECUTION_STATUS_COMPLETED | :WORKFLOW_EXECUTION_STATUS_FAILED | :WORKFLOW_EXECUTION_STATUS_CANCELED | :WORKFLOW_EXECUTION_STATUS_TERMINATED | :WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW | :WORKFLOW_EXECUTION_STATUS_TIMED_OUT
145
+
146
+ type strings = "WORKFLOW_EXECUTION_STATUS_UNSPECIFIED" | "WORKFLOW_EXECUTION_STATUS_RUNNING" | "WORKFLOW_EXECUTION_STATUS_COMPLETED" | "WORKFLOW_EXECUTION_STATUS_FAILED" | "WORKFLOW_EXECUTION_STATUS_CANCELED" | "WORKFLOW_EXECUTION_STATUS_TERMINATED" | "WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW" | "WORKFLOW_EXECUTION_STATUS_TIMED_OUT"
147
+
148
+ type tags = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
149
+
150
+ type values = names | strings | tags
151
+
152
+ attr_reader name(): names
153
+
154
+ attr_reader tag(): tags
155
+
156
+ WORKFLOW_EXECUTION_STATUS_UNSPECIFIED: WorkflowExecutionStatus
157
+
158
+ # Value 1 is hardcoded in SQL persistence.
159
+ #
160
+ WORKFLOW_EXECUTION_STATUS_RUNNING: WorkflowExecutionStatus
161
+
162
+ WORKFLOW_EXECUTION_STATUS_COMPLETED: WorkflowExecutionStatus
163
+
164
+ WORKFLOW_EXECUTION_STATUS_FAILED: WorkflowExecutionStatus
165
+
166
+ WORKFLOW_EXECUTION_STATUS_CANCELED: WorkflowExecutionStatus
167
+
168
+ WORKFLOW_EXECUTION_STATUS_TERMINATED: WorkflowExecutionStatus
169
+
170
+ WORKFLOW_EXECUTION_STATUS_CONTINUED_AS_NEW: WorkflowExecutionStatus
171
+
172
+ WORKFLOW_EXECUTION_STATUS_TIMED_OUT: WorkflowExecutionStatus
173
+
174
+ # The type of `#initialize` parameter.
175
+ type init = WorkflowExecutionStatus | values
176
+
177
+ # The type of `repeated` field.
178
+ type field_array = ::Protobuf::Field::FieldArray[WorkflowExecutionStatus, WorkflowExecutionStatus | values]
179
+
180
+ # The type of `map` field.
181
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WorkflowExecutionStatus, WorkflowExecutionStatus | values]
182
+
183
+ type array = ::Array[WorkflowExecutionStatus | values]
184
+
185
+ type hash[KEY] = ::Hash[KEY, WorkflowExecutionStatus | values]
186
+ end
187
+
188
+ class PendingActivityState < ::Protobuf::Enum
189
+ type names = :PENDING_ACTIVITY_STATE_UNSPECIFIED | :PENDING_ACTIVITY_STATE_SCHEDULED | :PENDING_ACTIVITY_STATE_STARTED | :PENDING_ACTIVITY_STATE_CANCEL_REQUESTED
190
+
191
+ type strings = "PENDING_ACTIVITY_STATE_UNSPECIFIED" | "PENDING_ACTIVITY_STATE_SCHEDULED" | "PENDING_ACTIVITY_STATE_STARTED" | "PENDING_ACTIVITY_STATE_CANCEL_REQUESTED"
192
+
193
+ type tags = 0 | 1 | 2 | 3
194
+
195
+ type values = names | strings | tags
196
+
197
+ attr_reader name(): names
198
+
199
+ attr_reader tag(): tags
200
+
201
+ PENDING_ACTIVITY_STATE_UNSPECIFIED: PendingActivityState
202
+
203
+ PENDING_ACTIVITY_STATE_SCHEDULED: PendingActivityState
204
+
205
+ PENDING_ACTIVITY_STATE_STARTED: PendingActivityState
206
+
207
+ PENDING_ACTIVITY_STATE_CANCEL_REQUESTED: PendingActivityState
208
+
209
+ # The type of `#initialize` parameter.
210
+ type init = PendingActivityState | values
211
+
212
+ # The type of `repeated` field.
213
+ type field_array = ::Protobuf::Field::FieldArray[PendingActivityState, PendingActivityState | values]
214
+
215
+ # The type of `map` field.
216
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, PendingActivityState, PendingActivityState | values]
217
+
218
+ type array = ::Array[PendingActivityState | values]
219
+
220
+ type hash[KEY] = ::Hash[KEY, PendingActivityState | values]
221
+ end
222
+
223
+ class PendingWorkflowTaskState < ::Protobuf::Enum
224
+ type names = :PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED | :PENDING_WORKFLOW_TASK_STATE_SCHEDULED | :PENDING_WORKFLOW_TASK_STATE_STARTED
225
+
226
+ type strings = "PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED" | "PENDING_WORKFLOW_TASK_STATE_SCHEDULED" | "PENDING_WORKFLOW_TASK_STATE_STARTED"
227
+
228
+ type tags = 0 | 1 | 2
229
+
230
+ type values = names | strings | tags
231
+
232
+ attr_reader name(): names
233
+
234
+ attr_reader tag(): tags
235
+
236
+ PENDING_WORKFLOW_TASK_STATE_UNSPECIFIED: PendingWorkflowTaskState
237
+
238
+ PENDING_WORKFLOW_TASK_STATE_SCHEDULED: PendingWorkflowTaskState
239
+
240
+ PENDING_WORKFLOW_TASK_STATE_STARTED: PendingWorkflowTaskState
241
+
242
+ # The type of `#initialize` parameter.
243
+ type init = PendingWorkflowTaskState | values
244
+
245
+ # The type of `repeated` field.
246
+ type field_array = ::Protobuf::Field::FieldArray[PendingWorkflowTaskState, PendingWorkflowTaskState | values]
247
+
248
+ # The type of `map` field.
249
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, PendingWorkflowTaskState, PendingWorkflowTaskState | values]
250
+
251
+ type array = ::Array[PendingWorkflowTaskState | values]
252
+
253
+ type hash[KEY] = ::Hash[KEY, PendingWorkflowTaskState | values]
254
+ end
255
+
256
+ class HistoryEventFilterType < ::Protobuf::Enum
257
+ type names = :HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED | :HISTORY_EVENT_FILTER_TYPE_ALL_EVENT | :HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT
258
+
259
+ type strings = "HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED" | "HISTORY_EVENT_FILTER_TYPE_ALL_EVENT" | "HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT"
260
+
261
+ type tags = 0 | 1 | 2
262
+
263
+ type values = names | strings | tags
264
+
265
+ attr_reader name(): names
266
+
267
+ attr_reader tag(): tags
268
+
269
+ HISTORY_EVENT_FILTER_TYPE_UNSPECIFIED: HistoryEventFilterType
270
+
271
+ HISTORY_EVENT_FILTER_TYPE_ALL_EVENT: HistoryEventFilterType
272
+
273
+ HISTORY_EVENT_FILTER_TYPE_CLOSE_EVENT: HistoryEventFilterType
274
+
275
+ # The type of `#initialize` parameter.
276
+ type init = HistoryEventFilterType | values
277
+
278
+ # The type of `repeated` field.
279
+ type field_array = ::Protobuf::Field::FieldArray[HistoryEventFilterType, HistoryEventFilterType | values]
280
+
281
+ # The type of `map` field.
282
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, HistoryEventFilterType, HistoryEventFilterType | values]
283
+
284
+ type array = ::Array[HistoryEventFilterType | values]
285
+
286
+ type hash[KEY] = ::Hash[KEY, HistoryEventFilterType | values]
287
+ end
288
+
289
+ class RetryState < ::Protobuf::Enum
290
+ type names = :RETRY_STATE_UNSPECIFIED | :RETRY_STATE_IN_PROGRESS | :RETRY_STATE_NON_RETRYABLE_FAILURE | :RETRY_STATE_TIMEOUT | :RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED | :RETRY_STATE_RETRY_POLICY_NOT_SET | :RETRY_STATE_INTERNAL_SERVER_ERROR | :RETRY_STATE_CANCEL_REQUESTED
291
+
292
+ type strings = "RETRY_STATE_UNSPECIFIED" | "RETRY_STATE_IN_PROGRESS" | "RETRY_STATE_NON_RETRYABLE_FAILURE" | "RETRY_STATE_TIMEOUT" | "RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED" | "RETRY_STATE_RETRY_POLICY_NOT_SET" | "RETRY_STATE_INTERNAL_SERVER_ERROR" | "RETRY_STATE_CANCEL_REQUESTED"
293
+
294
+ type tags = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
295
+
296
+ type values = names | strings | tags
297
+
298
+ attr_reader name(): names
299
+
300
+ attr_reader tag(): tags
301
+
302
+ RETRY_STATE_UNSPECIFIED: RetryState
303
+
304
+ RETRY_STATE_IN_PROGRESS: RetryState
305
+
306
+ RETRY_STATE_NON_RETRYABLE_FAILURE: RetryState
307
+
308
+ RETRY_STATE_TIMEOUT: RetryState
309
+
310
+ RETRY_STATE_MAXIMUM_ATTEMPTS_REACHED: RetryState
311
+
312
+ RETRY_STATE_RETRY_POLICY_NOT_SET: RetryState
313
+
314
+ RETRY_STATE_INTERNAL_SERVER_ERROR: RetryState
315
+
316
+ RETRY_STATE_CANCEL_REQUESTED: RetryState
317
+
318
+ # The type of `#initialize` parameter.
319
+ type init = RetryState | values
320
+
321
+ # The type of `repeated` field.
322
+ type field_array = ::Protobuf::Field::FieldArray[RetryState, RetryState | values]
323
+
324
+ # The type of `map` field.
325
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, RetryState, RetryState | values]
326
+
327
+ type array = ::Array[RetryState | values]
328
+
329
+ type hash[KEY] = ::Hash[KEY, RetryState | values]
330
+ end
331
+
332
+ class TimeoutType < ::Protobuf::Enum
333
+ type names = :TIMEOUT_TYPE_UNSPECIFIED | :TIMEOUT_TYPE_START_TO_CLOSE | :TIMEOUT_TYPE_SCHEDULE_TO_START | :TIMEOUT_TYPE_SCHEDULE_TO_CLOSE | :TIMEOUT_TYPE_HEARTBEAT
334
+
335
+ type strings = "TIMEOUT_TYPE_UNSPECIFIED" | "TIMEOUT_TYPE_START_TO_CLOSE" | "TIMEOUT_TYPE_SCHEDULE_TO_START" | "TIMEOUT_TYPE_SCHEDULE_TO_CLOSE" | "TIMEOUT_TYPE_HEARTBEAT"
336
+
337
+ type tags = 0 | 1 | 2 | 3 | 4
338
+
339
+ type values = names | strings | tags
340
+
341
+ attr_reader name(): names
342
+
343
+ attr_reader tag(): tags
344
+
345
+ TIMEOUT_TYPE_UNSPECIFIED: TimeoutType
346
+
347
+ TIMEOUT_TYPE_START_TO_CLOSE: TimeoutType
348
+
349
+ TIMEOUT_TYPE_SCHEDULE_TO_START: TimeoutType
350
+
351
+ TIMEOUT_TYPE_SCHEDULE_TO_CLOSE: TimeoutType
352
+
353
+ TIMEOUT_TYPE_HEARTBEAT: TimeoutType
354
+
355
+ # The type of `#initialize` parameter.
356
+ type init = TimeoutType | values
357
+
358
+ # The type of `repeated` field.
359
+ type field_array = ::Protobuf::Field::FieldArray[TimeoutType, TimeoutType | values]
360
+
361
+ # The type of `map` field.
362
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TimeoutType, TimeoutType | values]
363
+
364
+ type array = ::Array[TimeoutType | values]
365
+
366
+ type hash[KEY] = ::Hash[KEY, TimeoutType | values]
367
+ end
368
+ end
369
+ end
370
+ end
371
+ end