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,22 @@
1
+ module Temporalio
2
+ module Api
3
+ module WorkflowService
4
+ module V1
5
+ # WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server
6
+ # to create and interact with workflows and activities.
7
+ #
8
+ # Users are expected to call `StartWorkflowExecution` to create a new workflow execution.
9
+ #
10
+ # To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow
11
+ # and activity tasks from the service. For each workflow task, the sdk must process the
12
+ # (incremental or complete) event history and respond back with any newly generated commands.
13
+ #
14
+ # For each activity task, the worker is expected to execute the user's code which implements that
15
+ # activity, responding with completion or failure.
16
+ #
17
+ class WorkflowService < ::Protobuf::Rpc::Service
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,380 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module ActivityResult
5
+ # *
6
+ # Used to report activity completions to core
7
+ #
8
+ class ActivityExecutionResult < ::Protobuf::Message
9
+ # Encode the message to a binary string
10
+ #
11
+ def self.encode: (ActivityExecutionResult) -> String
12
+
13
+ attr_accessor completed(): ::Temporalio::Bridge::Api::ActivityResult::Success?
14
+
15
+ def completed=: [M < ::Temporalio::Bridge::Api::ActivityResult::Success::_ToProto] (M?) -> M?
16
+ | ...
17
+
18
+ def completed!: () -> ::Temporalio::Bridge::Api::ActivityResult::Success?
19
+
20
+ attr_accessor failed(): ::Temporalio::Bridge::Api::ActivityResult::Failure?
21
+
22
+ def failed=: [M < ::Temporalio::Bridge::Api::ActivityResult::Failure::_ToProto] (M?) -> M?
23
+ | ...
24
+
25
+ def failed!: () -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
26
+
27
+ attr_accessor cancelled(): ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
28
+
29
+ def cancelled=: [M < ::Temporalio::Bridge::Api::ActivityResult::Cancellation::_ToProto] (M?) -> M?
30
+ | ...
31
+
32
+ def cancelled!: () -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
33
+
34
+ attr_accessor will_complete_async(): ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync?
35
+
36
+ def will_complete_async=: [M < ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync::_ToProto] (M?) -> M?
37
+ | ...
38
+
39
+ def will_complete_async!: () -> ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync?
40
+
41
+ def initialize: (?completed: ::Temporalio::Bridge::Api::ActivityResult::Success::init?, ?failed: ::Temporalio::Bridge::Api::ActivityResult::Failure::init?, ?cancelled: ::Temporalio::Bridge::Api::ActivityResult::Cancellation::init?, ?will_complete_async: ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync::init?) -> void
42
+
43
+ def []: (:completed) -> ::Temporalio::Bridge::Api::ActivityResult::Success?
44
+ | (:failed) -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
45
+ | (:cancelled) -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
46
+ | (:will_complete_async) -> ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync?
47
+ | (::Symbol) -> untyped
48
+
49
+ def []=: (:completed, ::Temporalio::Bridge::Api::ActivityResult::Success?) -> ::Temporalio::Bridge::Api::ActivityResult::Success?
50
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Success::_ToProto] (:completed, M?) -> M?
51
+ | (:failed, ::Temporalio::Bridge::Api::ActivityResult::Failure?) -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
52
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Failure::_ToProto] (:failed, M?) -> M?
53
+ | (:cancelled, ::Temporalio::Bridge::Api::ActivityResult::Cancellation?) -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
54
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Cancellation::_ToProto] (:cancelled, M?) -> M?
55
+ | (:will_complete_async, ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync?) -> ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync?
56
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::WillCompleteAsync::_ToProto] (:will_complete_async, M?) -> M?
57
+ | (::Symbol, untyped) -> untyped
58
+
59
+ interface _ToProto
60
+ def to_proto: () -> ActivityExecutionResult
61
+ end
62
+
63
+ # The type of `#initialize` parameter.
64
+ type init = ActivityExecutionResult | _ToProto
65
+
66
+ # The type of `repeated` field.
67
+ type field_array = ::Protobuf::Field::FieldArray[ActivityExecutionResult, ActivityExecutionResult | _ToProto]
68
+
69
+ # The type of `map` field.
70
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityExecutionResult, ActivityExecutionResult | _ToProto]
71
+
72
+ type array = ::Array[ActivityExecutionResult | _ToProto]
73
+
74
+ type hash[KEY] = ::Hash[KEY, ActivityExecutionResult | _ToProto]
75
+ end
76
+
77
+ # Used to report activity resolutions to lang. IE: This is what the activities are resolved with
78
+ # in the workflow.
79
+ #
80
+ class ActivityResolution < ::Protobuf::Message
81
+ # Encode the message to a binary string
82
+ #
83
+ def self.encode: (ActivityResolution) -> String
84
+
85
+ attr_accessor completed(): ::Temporalio::Bridge::Api::ActivityResult::Success?
86
+
87
+ def completed=: [M < ::Temporalio::Bridge::Api::ActivityResult::Success::_ToProto] (M?) -> M?
88
+ | ...
89
+
90
+ def completed!: () -> ::Temporalio::Bridge::Api::ActivityResult::Success?
91
+
92
+ attr_accessor failed(): ::Temporalio::Bridge::Api::ActivityResult::Failure?
93
+
94
+ def failed=: [M < ::Temporalio::Bridge::Api::ActivityResult::Failure::_ToProto] (M?) -> M?
95
+ | ...
96
+
97
+ def failed!: () -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
98
+
99
+ attr_accessor cancelled(): ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
100
+
101
+ def cancelled=: [M < ::Temporalio::Bridge::Api::ActivityResult::Cancellation::_ToProto] (M?) -> M?
102
+ | ...
103
+
104
+ def cancelled!: () -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
105
+
106
+ attr_accessor backoff(): ::Temporalio::Bridge::Api::ActivityResult::DoBackoff?
107
+
108
+ def backoff=: [M < ::Temporalio::Bridge::Api::ActivityResult::DoBackoff::_ToProto] (M?) -> M?
109
+ | ...
110
+
111
+ def backoff!: () -> ::Temporalio::Bridge::Api::ActivityResult::DoBackoff?
112
+
113
+ def initialize: (?completed: ::Temporalio::Bridge::Api::ActivityResult::Success::init?, ?failed: ::Temporalio::Bridge::Api::ActivityResult::Failure::init?, ?cancelled: ::Temporalio::Bridge::Api::ActivityResult::Cancellation::init?, ?backoff: ::Temporalio::Bridge::Api::ActivityResult::DoBackoff::init?) -> void
114
+
115
+ def []: (:completed) -> ::Temporalio::Bridge::Api::ActivityResult::Success?
116
+ | (:failed) -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
117
+ | (:cancelled) -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
118
+ | (:backoff) -> ::Temporalio::Bridge::Api::ActivityResult::DoBackoff?
119
+ | (::Symbol) -> untyped
120
+
121
+ def []=: (:completed, ::Temporalio::Bridge::Api::ActivityResult::Success?) -> ::Temporalio::Bridge::Api::ActivityResult::Success?
122
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Success::_ToProto] (:completed, M?) -> M?
123
+ | (:failed, ::Temporalio::Bridge::Api::ActivityResult::Failure?) -> ::Temporalio::Bridge::Api::ActivityResult::Failure?
124
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Failure::_ToProto] (:failed, M?) -> M?
125
+ | (:cancelled, ::Temporalio::Bridge::Api::ActivityResult::Cancellation?) -> ::Temporalio::Bridge::Api::ActivityResult::Cancellation?
126
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::Cancellation::_ToProto] (:cancelled, M?) -> M?
127
+ | (:backoff, ::Temporalio::Bridge::Api::ActivityResult::DoBackoff?) -> ::Temporalio::Bridge::Api::ActivityResult::DoBackoff?
128
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::DoBackoff::_ToProto] (:backoff, M?) -> M?
129
+ | (::Symbol, untyped) -> untyped
130
+
131
+ interface _ToProto
132
+ def to_proto: () -> ActivityResolution
133
+ end
134
+
135
+ # The type of `#initialize` parameter.
136
+ type init = ActivityResolution | _ToProto
137
+
138
+ # The type of `repeated` field.
139
+ type field_array = ::Protobuf::Field::FieldArray[ActivityResolution, ActivityResolution | _ToProto]
140
+
141
+ # The type of `map` field.
142
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityResolution, ActivityResolution | _ToProto]
143
+
144
+ type array = ::Array[ActivityResolution | _ToProto]
145
+
146
+ type hash[KEY] = ::Hash[KEY, ActivityResolution | _ToProto]
147
+ end
148
+
149
+ # * Used to report successful completion either when executing or resolving
150
+ #
151
+ class Success < ::Protobuf::Message
152
+ # Encode the message to a binary string
153
+ #
154
+ def self.encode: (Success) -> String
155
+
156
+ attr_accessor result(): ::Temporalio::Api::Common::V1::Payload?
157
+
158
+ def result=: [M < ::Temporalio::Api::Common::V1::Payload::_ToProto] (M?) -> M?
159
+ | ...
160
+
161
+ def result!: () -> ::Temporalio::Api::Common::V1::Payload?
162
+
163
+ def initialize: (?result: ::Temporalio::Api::Common::V1::Payload::init?) -> void
164
+
165
+ def []: (:result) -> ::Temporalio::Api::Common::V1::Payload?
166
+ | (::Symbol) -> untyped
167
+
168
+ def []=: (:result, ::Temporalio::Api::Common::V1::Payload?) -> ::Temporalio::Api::Common::V1::Payload?
169
+ | [M < ::Temporalio::Api::Common::V1::Payload::_ToProto] (:result, M?) -> M?
170
+ | (::Symbol, untyped) -> untyped
171
+
172
+ interface _ToProto
173
+ def to_proto: () -> Success
174
+ end
175
+
176
+ # The type of `#initialize` parameter.
177
+ type init = Success | _ToProto
178
+
179
+ # The type of `repeated` field.
180
+ type field_array = ::Protobuf::Field::FieldArray[Success, Success | _ToProto]
181
+
182
+ # The type of `map` field.
183
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Success, Success | _ToProto]
184
+
185
+ type array = ::Array[Success | _ToProto]
186
+
187
+ type hash[KEY] = ::Hash[KEY, Success | _ToProto]
188
+ end
189
+
190
+ # * Used to report activity failure either when executing or resolving
191
+ #
192
+ class Failure < ::Protobuf::Message
193
+ # Encode the message to a binary string
194
+ #
195
+ def self.encode: (Failure) -> String
196
+
197
+ attr_accessor failure(): ::Temporalio::Api::Failure::V1::Failure?
198
+
199
+ def failure=: [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (M?) -> M?
200
+ | ...
201
+
202
+ def failure!: () -> ::Temporalio::Api::Failure::V1::Failure?
203
+
204
+ def initialize: (?failure: ::Temporalio::Api::Failure::V1::Failure::init?) -> void
205
+
206
+ def []: (:failure) -> ::Temporalio::Api::Failure::V1::Failure?
207
+ | (::Symbol) -> untyped
208
+
209
+ def []=: (:failure, ::Temporalio::Api::Failure::V1::Failure?) -> ::Temporalio::Api::Failure::V1::Failure?
210
+ | [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (:failure, M?) -> M?
211
+ | (::Symbol, untyped) -> untyped
212
+
213
+ interface _ToProto
214
+ def to_proto: () -> Failure
215
+ end
216
+
217
+ # The type of `#initialize` parameter.
218
+ type init = Failure | _ToProto
219
+
220
+ # The type of `repeated` field.
221
+ type field_array = ::Protobuf::Field::FieldArray[Failure, Failure | _ToProto]
222
+
223
+ # The type of `map` field.
224
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Failure, Failure | _ToProto]
225
+
226
+ type array = ::Array[Failure | _ToProto]
227
+
228
+ type hash[KEY] = ::Hash[KEY, Failure | _ToProto]
229
+ end
230
+
231
+ # *
232
+ # Used to report cancellation from both Core and Lang.
233
+ # When Lang reports a cancelled activity, it must put a CancelledFailure in the failure field.
234
+ # When Core reports a cancelled activity, it must put an ActivityFailure with CancelledFailure
235
+ # as the cause in the failure field.
236
+ #
237
+ class Cancellation < ::Protobuf::Message
238
+ # Encode the message to a binary string
239
+ #
240
+ def self.encode: (Cancellation) -> String
241
+
242
+ attr_accessor failure(): ::Temporalio::Api::Failure::V1::Failure?
243
+
244
+ def failure=: [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (M?) -> M?
245
+ | ...
246
+
247
+ def failure!: () -> ::Temporalio::Api::Failure::V1::Failure?
248
+
249
+ def initialize: (?failure: ::Temporalio::Api::Failure::V1::Failure::init?) -> void
250
+
251
+ def []: (:failure) -> ::Temporalio::Api::Failure::V1::Failure?
252
+ | (::Symbol) -> untyped
253
+
254
+ def []=: (:failure, ::Temporalio::Api::Failure::V1::Failure?) -> ::Temporalio::Api::Failure::V1::Failure?
255
+ | [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (:failure, M?) -> M?
256
+ | (::Symbol, untyped) -> untyped
257
+
258
+ interface _ToProto
259
+ def to_proto: () -> Cancellation
260
+ end
261
+
262
+ # The type of `#initialize` parameter.
263
+ type init = Cancellation | _ToProto
264
+
265
+ # The type of `repeated` field.
266
+ type field_array = ::Protobuf::Field::FieldArray[Cancellation, Cancellation | _ToProto]
267
+
268
+ # The type of `map` field.
269
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Cancellation, Cancellation | _ToProto]
270
+
271
+ type array = ::Array[Cancellation | _ToProto]
272
+
273
+ type hash[KEY] = ::Hash[KEY, Cancellation | _ToProto]
274
+ end
275
+
276
+ # *
277
+ # Used in ActivityExecutionResult to notify Core that this Activity will complete asynchronously.
278
+ # Core will forget about this Activity and free up resources used to track this Activity.
279
+ #
280
+ class WillCompleteAsync < ::Protobuf::Message
281
+ # Encode the message to a binary string
282
+ #
283
+ def self.encode: (WillCompleteAsync) -> String
284
+
285
+ def initialize: () -> void
286
+
287
+ interface _ToProto
288
+ def to_proto: () -> WillCompleteAsync
289
+ end
290
+
291
+ # The type of `#initialize` parameter.
292
+ type init = WillCompleteAsync | _ToProto
293
+
294
+ # The type of `repeated` field.
295
+ type field_array = ::Protobuf::Field::FieldArray[WillCompleteAsync, WillCompleteAsync | _ToProto]
296
+
297
+ # The type of `map` field.
298
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WillCompleteAsync, WillCompleteAsync | _ToProto]
299
+
300
+ type array = ::Array[WillCompleteAsync | _ToProto]
301
+
302
+ type hash[KEY] = ::Hash[KEY, WillCompleteAsync | _ToProto]
303
+ end
304
+
305
+ # *
306
+ # Issued when a local activity needs to retry but also wants to back off more than would be
307
+ # reasonable to WFT heartbeat for. Lang is expected to schedule a timer for the duration
308
+ # and then start a local activity of the same type & same inputs with the provided attempt number
309
+ # after the timer has elapsed.
310
+ #
311
+ # This exists because Core does not have a concept of starting commands by itself, they originate
312
+ # from lang. So expecting lang to start the timer / next pass of the activity fits more smoothly.
313
+ #
314
+ class DoBackoff < ::Protobuf::Message
315
+ # Encode the message to a binary string
316
+ #
317
+ def self.encode: (DoBackoff) -> String
318
+
319
+ # The attempt number that lang should provide when scheduling the retry. If the LA failed
320
+ # on attempt 4 and we told lang to back off with a timer, this number will be 5.
321
+ #
322
+ attr_accessor attempt(): ::Integer
323
+
324
+ def attempt!: () -> ::Integer?
325
+
326
+ attr_accessor backoff_duration(): ::Google::Protobuf::Duration?
327
+
328
+ def backoff_duration=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
329
+ | ...
330
+
331
+ def backoff_duration!: () -> ::Google::Protobuf::Duration?
332
+
333
+ # The time the first attempt of this local activity was scheduled. Must be passed with attempt
334
+ # to the retry LA.
335
+ #
336
+ attr_accessor original_schedule_time(): ::Google::Protobuf::Timestamp?
337
+
338
+ # The time the first attempt of this local activity was scheduled. Must be passed with attempt
339
+ # to the retry LA.
340
+ #
341
+ def original_schedule_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
342
+ | ...
343
+
344
+ def original_schedule_time!: () -> ::Google::Protobuf::Timestamp?
345
+
346
+ def initialize: (?attempt: ::Integer, ?backoff_duration: ::Google::Protobuf::Duration::init?, ?original_schedule_time: ::Google::Protobuf::Timestamp::init?) -> void
347
+
348
+ def []: (:attempt) -> ::Integer
349
+ | (:backoff_duration) -> ::Google::Protobuf::Duration?
350
+ | (:original_schedule_time) -> ::Google::Protobuf::Timestamp?
351
+ | (::Symbol) -> untyped
352
+
353
+ def []=: (:attempt, ::Integer) -> ::Integer
354
+ | (:backoff_duration, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
355
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:backoff_duration, M?) -> M?
356
+ | (:original_schedule_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
357
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:original_schedule_time, M?) -> M?
358
+ | (::Symbol, untyped) -> untyped
359
+
360
+ interface _ToProto
361
+ def to_proto: () -> DoBackoff
362
+ end
363
+
364
+ # The type of `#initialize` parameter.
365
+ type init = DoBackoff | _ToProto
366
+
367
+ # The type of `repeated` field.
368
+ type field_array = ::Protobuf::Field::FieldArray[DoBackoff, DoBackoff | _ToProto]
369
+
370
+ # The type of `map` field.
371
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, DoBackoff, DoBackoff | _ToProto]
372
+
373
+ type array = ::Array[DoBackoff | _ToProto]
374
+
375
+ type hash[KEY] = ::Hash[KEY, DoBackoff | _ToProto]
376
+ end
377
+ end
378
+ end
379
+ end
380
+ end