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,84 @@
1
+ module Temporalio
2
+ module Api
3
+ module Protocol
4
+ module V1
5
+ # (-- api-linter: core::0146::any=disabled
6
+ # aip.dev/not-precedent: We want runtime extensibility for the body field --)
7
+ #
8
+ class Message < ::Protobuf::Message
9
+ # Encode the message to a binary string
10
+ #
11
+ def self.encode: (Message) -> String
12
+
13
+ # An ID for this specific message.
14
+ #
15
+ attr_accessor id(): ::String
16
+
17
+ def id!: () -> ::String?
18
+
19
+ # Identifies the specific instance of a protocol to which this message
20
+ # belongs.
21
+ #
22
+ attr_accessor protocol_instance_id(): ::String
23
+
24
+ def protocol_instance_id!: () -> ::String?
25
+
26
+ attr_accessor event_id(): ::Integer
27
+
28
+ def event_id!: () -> ::Integer?
29
+
30
+ attr_accessor command_index(): ::Integer
31
+
32
+ def command_index!: () -> ::Integer?
33
+
34
+ # The opaque data carried by this message. The protocol type can be
35
+ # extracted from the package name of the message carried inside the Any.
36
+ #
37
+ attr_accessor body(): ::Google::Protobuf::Any?
38
+
39
+ # The opaque data carried by this message. The protocol type can be
40
+ # extracted from the package name of the message carried inside the Any.
41
+ #
42
+ def body=: [M < ::Google::Protobuf::Any::_ToProto] (M?) -> M?
43
+ | ...
44
+
45
+ def body!: () -> ::Google::Protobuf::Any?
46
+
47
+ def initialize: (?id: ::String, ?protocol_instance_id: ::String, ?event_id: ::Integer, ?command_index: ::Integer, ?body: ::Google::Protobuf::Any::init?) -> void
48
+
49
+ def []: (:id) -> ::String
50
+ | (:protocol_instance_id) -> ::String
51
+ | (:event_id) -> ::Integer
52
+ | (:command_index) -> ::Integer
53
+ | (:body) -> ::Google::Protobuf::Any?
54
+ | (::Symbol) -> untyped
55
+
56
+ def []=: (:id, ::String) -> ::String
57
+ | (:protocol_instance_id, ::String) -> ::String
58
+ | (:event_id, ::Integer) -> ::Integer
59
+ | (:command_index, ::Integer) -> ::Integer
60
+ | (:body, ::Google::Protobuf::Any?) -> ::Google::Protobuf::Any?
61
+ | [M < ::Google::Protobuf::Any::_ToProto] (:body, M?) -> M?
62
+ | (::Symbol, untyped) -> untyped
63
+
64
+ interface _ToProto
65
+ def to_proto: () -> Message
66
+ end
67
+
68
+ # The type of `#initialize` parameter.
69
+ type init = Message | _ToProto
70
+
71
+ # The type of `repeated` field.
72
+ type field_array = ::Protobuf::Field::FieldArray[Message, Message | _ToProto]
73
+
74
+ # The type of `map` field.
75
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Message, Message | _ToProto]
76
+
77
+ type array = ::Array[Message | _ToProto]
78
+
79
+ type hash[KEY] = ::Hash[KEY, Message | _ToProto]
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,182 @@
1
+ module Temporalio
2
+ module Api
3
+ module Query
4
+ module V1
5
+ # See https://docs.temporal.io/docs/concepts/queries/
6
+ #
7
+ class WorkflowQuery < ::Protobuf::Message
8
+ # Encode the message to a binary string
9
+ #
10
+ def self.encode: (WorkflowQuery) -> String
11
+
12
+ # The workflow-author-defined identifier of the query. Typically a function name.
13
+ #
14
+ attr_accessor query_type(): ::String
15
+
16
+ def query_type!: () -> ::String?
17
+
18
+ # Serialized arguments that will be provided to the query handler.
19
+ #
20
+ attr_accessor query_args(): ::Temporalio::Api::Common::V1::Payloads?
21
+
22
+ # Serialized arguments that will be provided to the query handler.
23
+ #
24
+ def query_args=: [M < ::Temporalio::Api::Common::V1::Payloads::_ToProto] (M?) -> M?
25
+ | ...
26
+
27
+ def query_args!: () -> ::Temporalio::Api::Common::V1::Payloads?
28
+
29
+ # Headers that were passed by the caller of the query and copied by temporal
30
+ # server into the workflow task.
31
+ #
32
+ attr_accessor header(): ::Temporalio::Api::Common::V1::Header?
33
+
34
+ # Headers that were passed by the caller of the query and copied by temporal
35
+ # server into the workflow task.
36
+ #
37
+ def header=: [M < ::Temporalio::Api::Common::V1::Header::_ToProto] (M?) -> M?
38
+ | ...
39
+
40
+ def header!: () -> ::Temporalio::Api::Common::V1::Header?
41
+
42
+ def initialize: (?query_type: ::String, ?query_args: ::Temporalio::Api::Common::V1::Payloads::init?, ?header: ::Temporalio::Api::Common::V1::Header::init?) -> void
43
+
44
+ def []: (:query_type) -> ::String
45
+ | (:query_args) -> ::Temporalio::Api::Common::V1::Payloads?
46
+ | (:header) -> ::Temporalio::Api::Common::V1::Header?
47
+ | (::Symbol) -> untyped
48
+
49
+ def []=: (:query_type, ::String) -> ::String
50
+ | (:query_args, ::Temporalio::Api::Common::V1::Payloads?) -> ::Temporalio::Api::Common::V1::Payloads?
51
+ | [M < ::Temporalio::Api::Common::V1::Payloads::_ToProto] (:query_args, M?) -> M?
52
+ | (:header, ::Temporalio::Api::Common::V1::Header?) -> ::Temporalio::Api::Common::V1::Header?
53
+ | [M < ::Temporalio::Api::Common::V1::Header::_ToProto] (:header, M?) -> M?
54
+ | (::Symbol, untyped) -> untyped
55
+
56
+ interface _ToProto
57
+ def to_proto: () -> WorkflowQuery
58
+ end
59
+
60
+ # The type of `#initialize` parameter.
61
+ type init = WorkflowQuery | _ToProto
62
+
63
+ # The type of `repeated` field.
64
+ type field_array = ::Protobuf::Field::FieldArray[WorkflowQuery, WorkflowQuery | _ToProto]
65
+
66
+ # The type of `map` field.
67
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WorkflowQuery, WorkflowQuery | _ToProto]
68
+
69
+ type array = ::Array[WorkflowQuery | _ToProto]
70
+
71
+ type hash[KEY] = ::Hash[KEY, WorkflowQuery | _ToProto]
72
+ end
73
+
74
+ # Answer to a `WorkflowQuery`
75
+ #
76
+ class WorkflowQueryResult < ::Protobuf::Message
77
+ # Encode the message to a binary string
78
+ #
79
+ def self.encode: (WorkflowQueryResult) -> String
80
+
81
+ # Did the query succeed or fail?
82
+ #
83
+ attr_accessor result_type(): ::Temporalio::Api::Enums::V1::QueryResultType
84
+
85
+ # Did the query succeed or fail?
86
+ #
87
+ def result_type=: (::Temporalio::Api::Enums::V1::QueryResultType::values) -> ::Temporalio::Api::Enums::V1::QueryResultType::values
88
+ | ...
89
+
90
+ def result_type!: () -> ::Temporalio::Api::Enums::V1::QueryResultType?
91
+
92
+ # Set when the query succeeds with the results
93
+ #
94
+ attr_accessor answer(): ::Temporalio::Api::Common::V1::Payloads?
95
+
96
+ # Set when the query succeeds with the results
97
+ #
98
+ def answer=: [M < ::Temporalio::Api::Common::V1::Payloads::_ToProto] (M?) -> M?
99
+ | ...
100
+
101
+ def answer!: () -> ::Temporalio::Api::Common::V1::Payloads?
102
+
103
+ # Mutually exclusive with `answer`. Set when the query fails.
104
+ #
105
+ attr_accessor error_message(): ::String
106
+
107
+ def error_message!: () -> ::String?
108
+
109
+ def initialize: (?result_type: ::Temporalio::Api::Enums::V1::QueryResultType::init, ?answer: ::Temporalio::Api::Common::V1::Payloads::init?, ?error_message: ::String) -> void
110
+
111
+ def []: (:result_type) -> ::Temporalio::Api::Enums::V1::QueryResultType
112
+ | (:answer) -> ::Temporalio::Api::Common::V1::Payloads?
113
+ | (:error_message) -> ::String
114
+ | (::Symbol) -> untyped
115
+
116
+ def []=: (:result_type, ::Temporalio::Api::Enums::V1::QueryResultType) -> ::Temporalio::Api::Enums::V1::QueryResultType
117
+ | (:result_type, ::Temporalio::Api::Enums::V1::QueryResultType::values) -> ::Temporalio::Api::Enums::V1::QueryResultType::values
118
+ | (:answer, ::Temporalio::Api::Common::V1::Payloads?) -> ::Temporalio::Api::Common::V1::Payloads?
119
+ | [M < ::Temporalio::Api::Common::V1::Payloads::_ToProto] (:answer, M?) -> M?
120
+ | (:error_message, ::String) -> ::String
121
+ | (::Symbol, untyped) -> untyped
122
+
123
+ interface _ToProto
124
+ def to_proto: () -> WorkflowQueryResult
125
+ end
126
+
127
+ # The type of `#initialize` parameter.
128
+ type init = WorkflowQueryResult | _ToProto
129
+
130
+ # The type of `repeated` field.
131
+ type field_array = ::Protobuf::Field::FieldArray[WorkflowQueryResult, WorkflowQueryResult | _ToProto]
132
+
133
+ # The type of `map` field.
134
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WorkflowQueryResult, WorkflowQueryResult | _ToProto]
135
+
136
+ type array = ::Array[WorkflowQueryResult | _ToProto]
137
+
138
+ type hash[KEY] = ::Hash[KEY, WorkflowQueryResult | _ToProto]
139
+ end
140
+
141
+ class QueryRejected < ::Protobuf::Message
142
+ # Encode the message to a binary string
143
+ #
144
+ def self.encode: (QueryRejected) -> String
145
+
146
+ attr_accessor status(): ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus
147
+
148
+ def status=: (::Temporalio::Api::Enums::V1::WorkflowExecutionStatus::values) -> ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus::values
149
+ | ...
150
+
151
+ def status!: () -> ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus?
152
+
153
+ def initialize: (?status: ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus::init) -> void
154
+
155
+ def []: (:status) -> ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus
156
+ | (::Symbol) -> untyped
157
+
158
+ def []=: (:status, ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus) -> ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus
159
+ | (:status, ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus::values) -> ::Temporalio::Api::Enums::V1::WorkflowExecutionStatus::values
160
+ | (::Symbol, untyped) -> untyped
161
+
162
+ interface _ToProto
163
+ def to_proto: () -> QueryRejected
164
+ end
165
+
166
+ # The type of `#initialize` parameter.
167
+ type init = QueryRejected | _ToProto
168
+
169
+ # The type of `repeated` field.
170
+ type field_array = ::Protobuf::Field::FieldArray[QueryRejected, QueryRejected | _ToProto]
171
+
172
+ # The type of `map` field.
173
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, QueryRejected, QueryRejected | _ToProto]
174
+
175
+ type array = ::Array[QueryRejected | _ToProto]
176
+
177
+ type hash[KEY] = ::Hash[KEY, QueryRejected | _ToProto]
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,148 @@
1
+ module Temporalio
2
+ module Api
3
+ module Replication
4
+ module V1
5
+ class ClusterReplicationConfig < ::Protobuf::Message
6
+ # Encode the message to a binary string
7
+ #
8
+ def self.encode: (ClusterReplicationConfig) -> String
9
+
10
+ attr_accessor cluster_name(): ::String
11
+
12
+ def cluster_name!: () -> ::String?
13
+
14
+ def initialize: (?cluster_name: ::String) -> void
15
+
16
+ def []: (:cluster_name) -> ::String
17
+ | (::Symbol) -> untyped
18
+
19
+ def []=: (:cluster_name, ::String) -> ::String
20
+ | (::Symbol, untyped) -> untyped
21
+
22
+ interface _ToProto
23
+ def to_proto: () -> ClusterReplicationConfig
24
+ end
25
+
26
+ # The type of `#initialize` parameter.
27
+ type init = ClusterReplicationConfig | _ToProto
28
+
29
+ # The type of `repeated` field.
30
+ type field_array = ::Protobuf::Field::FieldArray[ClusterReplicationConfig, ClusterReplicationConfig | _ToProto]
31
+
32
+ # The type of `map` field.
33
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ClusterReplicationConfig, ClusterReplicationConfig | _ToProto]
34
+
35
+ type array = ::Array[ClusterReplicationConfig | _ToProto]
36
+
37
+ type hash[KEY] = ::Hash[KEY, ClusterReplicationConfig | _ToProto]
38
+ end
39
+
40
+ class NamespaceReplicationConfig < ::Protobuf::Message
41
+ # Encode the message to a binary string
42
+ #
43
+ def self.encode: (NamespaceReplicationConfig) -> String
44
+
45
+ attr_accessor active_cluster_name(): ::String
46
+
47
+ def active_cluster_name!: () -> ::String?
48
+
49
+ attr_accessor clusters(): ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::field_array
50
+
51
+ def clusters=: (::Temporalio::Api::Replication::V1::ClusterReplicationConfig::array) -> ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::array
52
+ | ...
53
+
54
+ def clusters!: () -> ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::field_array?
55
+
56
+ attr_accessor state(): ::Temporalio::Api::Enums::V1::ReplicationState
57
+
58
+ def state=: (::Temporalio::Api::Enums::V1::ReplicationState::values) -> ::Temporalio::Api::Enums::V1::ReplicationState::values
59
+ | ...
60
+
61
+ def state!: () -> ::Temporalio::Api::Enums::V1::ReplicationState?
62
+
63
+ def initialize: (?active_cluster_name: ::String, ?clusters: ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::array, ?state: ::Temporalio::Api::Enums::V1::ReplicationState::init) -> void
64
+
65
+ def []: (:active_cluster_name) -> ::String
66
+ | (:clusters) -> ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::field_array
67
+ | (:state) -> ::Temporalio::Api::Enums::V1::ReplicationState
68
+ | (::Symbol) -> untyped
69
+
70
+ def []=: (:active_cluster_name, ::String) -> ::String
71
+ | (:clusters, ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::field_array) -> ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::field_array
72
+ | (:clusters, ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::array) -> ::Temporalio::Api::Replication::V1::ClusterReplicationConfig::array
73
+ | (:state, ::Temporalio::Api::Enums::V1::ReplicationState) -> ::Temporalio::Api::Enums::V1::ReplicationState
74
+ | (:state, ::Temporalio::Api::Enums::V1::ReplicationState::values) -> ::Temporalio::Api::Enums::V1::ReplicationState::values
75
+ | (::Symbol, untyped) -> untyped
76
+
77
+ interface _ToProto
78
+ def to_proto: () -> NamespaceReplicationConfig
79
+ end
80
+
81
+ # The type of `#initialize` parameter.
82
+ type init = NamespaceReplicationConfig | _ToProto
83
+
84
+ # The type of `repeated` field.
85
+ type field_array = ::Protobuf::Field::FieldArray[NamespaceReplicationConfig, NamespaceReplicationConfig | _ToProto]
86
+
87
+ # The type of `map` field.
88
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, NamespaceReplicationConfig, NamespaceReplicationConfig | _ToProto]
89
+
90
+ type array = ::Array[NamespaceReplicationConfig | _ToProto]
91
+
92
+ type hash[KEY] = ::Hash[KEY, NamespaceReplicationConfig | _ToProto]
93
+ end
94
+
95
+ # Represents a historical replication status of a Namespace
96
+ #
97
+ class FailoverStatus < ::Protobuf::Message
98
+ # Encode the message to a binary string
99
+ #
100
+ def self.encode: (FailoverStatus) -> String
101
+
102
+ # Timestamp when the Cluster switched to the following failover_version
103
+ #
104
+ attr_accessor failover_time(): ::Google::Protobuf::Timestamp?
105
+
106
+ # Timestamp when the Cluster switched to the following failover_version
107
+ #
108
+ def failover_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
109
+ | ...
110
+
111
+ def failover_time!: () -> ::Google::Protobuf::Timestamp?
112
+
113
+ attr_accessor failover_version(): ::Integer
114
+
115
+ def failover_version!: () -> ::Integer?
116
+
117
+ def initialize: (?failover_time: ::Google::Protobuf::Timestamp::init?, ?failover_version: ::Integer) -> void
118
+
119
+ def []: (:failover_time) -> ::Google::Protobuf::Timestamp?
120
+ | (:failover_version) -> ::Integer
121
+ | (::Symbol) -> untyped
122
+
123
+ def []=: (:failover_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
124
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:failover_time, M?) -> M?
125
+ | (:failover_version, ::Integer) -> ::Integer
126
+ | (::Symbol, untyped) -> untyped
127
+
128
+ interface _ToProto
129
+ def to_proto: () -> FailoverStatus
130
+ end
131
+
132
+ # The type of `#initialize` parameter.
133
+ type init = FailoverStatus | _ToProto
134
+
135
+ # The type of `repeated` field.
136
+ type field_array = ::Protobuf::Field::FieldArray[FailoverStatus, FailoverStatus | _ToProto]
137
+
138
+ # The type of `map` field.
139
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, FailoverStatus, FailoverStatus | _ToProto]
140
+
141
+ type array = ::Array[FailoverStatus | _ToProto]
142
+
143
+ type hash[KEY] = ::Hash[KEY, FailoverStatus | _ToProto]
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end