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,48 @@
1
+ module Temporalio
2
+ class Connection
3
+ class WorkflowService < Service
4
+ def initialize: (Temporalio::Bridge::Connection core_connectio) -> void
5
+ def register_namespace: (Temporalio::Api::WorkflowService::V1::RegisterNamespaceRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RegisterNamespaceResponse
6
+ def describe_namespace: (Temporalio::Api::WorkflowService::V1::DescribeNamespaceRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse
7
+ def list_namespaces: (Temporalio::Api::WorkflowService::V1::ListNamespacesRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListNamespacesResponse
8
+ def update_namespace: (Temporalio::Api::WorkflowService::V1::UpdateNamespaceRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::UpdateNamespaceResponse
9
+ def deprecate_namespace: (Temporalio::Api::WorkflowService::V1::DeprecateNamespaceRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::DeprecateNamespaceResponse
10
+ def start_workflow_execution: (Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse
11
+ def get_workflow_execution_history: (Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse
12
+ def get_workflow_execution_history_reverse: (Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse
13
+ def poll_workflow_task_queue: (Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse
14
+ def respond_workflow_task_completed: (Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse
15
+ def respond_workflow_task_failed: (Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse
16
+ def poll_activity_task_queue: (Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse
17
+ def record_activity_task_heartbeat: (Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse
18
+ def record_activity_task_heartbeat_by_id: (Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse
19
+ def respond_activity_task_completed: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse
20
+ def respond_activity_task_completed_by_id: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse
21
+ def respond_activity_task_failed: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedResponse
22
+ def respond_activity_task_failed_by_id: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse
23
+ def respond_activity_task_canceled: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse
24
+ def respond_activity_task_canceled_by_id: (Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse
25
+ def request_cancel_workflow_execution: (Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse
26
+ def signal_workflow_execution: (Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionResponse
27
+ def signal_with_start_workflow_execution: (Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse
28
+ def reset_workflow_execution: (Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionResponse
29
+ def terminate_workflow_execution: (Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse
30
+ def delete_workflow_execution: (Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionResponse
31
+ def list_open_workflow_executions: (Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse
32
+ def list_closed_workflow_executions: (Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse
33
+ def list_workflow_executions: (Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsResponse
34
+ def list_archived_workflow_executions: (Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse
35
+ def scan_workflow_executions: (Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse
36
+ def count_workflow_executions: (Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsResponse
37
+ def get_search_attributes: (Temporalio::Api::WorkflowService::V1::GetSearchAttributesRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::GetSearchAttributesResponse
38
+ def respond_query_task_completed: (Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse
39
+ def reset_sticky_task_queue: (Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueResponse
40
+ def query_workflow: (Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::QueryWorkflowResponse
41
+ def describe_workflow_execution: (Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse
42
+ def describe_task_queue: (Temporalio::Api::WorkflowService::V1::DescribeTaskQueueRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::DescribeTaskQueueResponse
43
+ def get_cluster_info: (Temporalio::Api::WorkflowService::V1::GetClusterInfoRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::GetClusterInfoResponse
44
+ def get_system_info: (Temporalio::Api::WorkflowService::V1::GetSystemInfoRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse
45
+ def list_task_queue_partitions: (Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest request, ?metadata: Hash[String, String], ?timeout: Integer?) -> Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,30 @@
1
+ module Temporalio
2
+ # A connection to the Temporal server. It provides gRPC level communication to a Temporal server.
3
+ #
4
+ # Connections are usually used through either {Temporalio::Client} or a {Temporalio::Worker}.
5
+ # It may also be used to perform gRPC requests to the server (see {#workflow_service}).
6
+ class Connection
7
+ # @api private
8
+ attr_reader core_connection: Temporalio::Bridge::Connection
9
+
10
+ # @param address [String | nil] `host[:port]` for the Temporal server. Defaults to `localhost:7233`.
11
+ # @param tls [Temporalio::Connection::TlsOptions | nil] TLS/mTLS options for the connection. By default, TLS is disabled.
12
+ # @param metadata [Hash | nil] gRPC metadata (ie. HTTP headers) to send with each request to the server. Optional.
13
+ # @param retry_config [Temporalio::Connection::RetryConfig | nil] gRPC retry configuration to use by default on this connection.
14
+ def initialize: (
15
+ ?String? address,
16
+ ?tls: TlsOptions?,
17
+ ?metadata: Hash[String, String]?,
18
+ ?retry_config: RetryConfig?,
19
+ ) -> void
20
+ def workflow_service: -> Temporalio::Connection::WorkflowService
21
+ def test_service: -> Temporalio::Connection::TestService
22
+
23
+ private
24
+
25
+ @workflow_service: Temporalio::Connection::WorkflowService?
26
+ @test_service: Temporalio::Connection::TestService?
27
+
28
+ def parse_url: (String?) -> [String, Integer]
29
+ end
30
+ end
@@ -0,0 +1,35 @@
1
+ module Temporalio
2
+ class DataConverter
3
+ class MissingPayload < Temporalio::Error
4
+ end
5
+
6
+ def initialize: (
7
+ ?payload_converter: Temporalio::PayloadConverter::_PayloadConverter,
8
+ ?payload_codecs: Array[Temporalio::PayloadCodec::_PayloadCodec],
9
+ ?failure_converter: Temporalio::FailureConverter::_FailureConverter,
10
+ ) -> void
11
+ def to_payload: (untyped value) -> Temporalio::Api::Common::V1::Payload
12
+ def to_payload_array: (Array[untyped]? data) -> Array[Temporalio::Api::Common::V1::Payload]
13
+ def to_payloads: (Array[untyped]? data) -> Temporalio::Api::Common::V1::Payloads?
14
+ def to_payload_map: (Hash[String | Symbol, untyped] data) -> Hash[String, Temporalio::Api::Common::V1::Payload]
15
+ def to_failure: (Exception error) -> Temporalio::Api::Failure::V1::Failure
16
+ def from_payload: (Temporalio::Api::Common::V1::Payload payload) -> untyped
17
+ def from_payload_array: (Array[Temporalio::Api::Common::V1::Payload] payloads) -> Array[untyped]
18
+ def from_payloads: (Temporalio::Api::Common::V1::Payloads? payloads) -> Array[untyped]?
19
+ def from_payload_map: (Temporalio::Api::Common::V1::Payload::field_hash[::String]? payload_map) -> Hash[String, untyped]?
20
+ def from_failure: (Temporalio::Api::Failure::V1::Failure? failure) -> Exception
21
+
22
+ private
23
+
24
+ attr_reader payload_converter: Temporalio::PayloadConverter::_PayloadConverter
25
+ attr_reader payload_codecs: Array[Temporalio::PayloadCodec::_PayloadCodec]
26
+ attr_reader failure_converter: Temporalio::FailureConverter::_FailureConverter
27
+
28
+ def value_to_payload: (untyped value) -> Temporalio::Api::Common::V1::Payload
29
+ def payload_to_value: (Temporalio::Api::Common::V1::Payload payload) -> untyped
30
+ def encode: (Array[Temporalio::Api::Common::V1::Payload]?) -> Array[Temporalio::Api::Common::V1::Payload]
31
+ def decode: (Array[Temporalio::Api::Common::V1::Payload]?) -> Array[Temporalio::Api::Common::V1::Payload]
32
+ def encode_failure: (Temporalio::Api::Failure::V1::Failure failure) -> Temporalio::Api::Failure::V1::Failure
33
+ def decode_failure: (Temporalio::Api::Failure::V1::Failure failure) -> Temporalio::Api::Failure::V1::Failure
34
+ end
35
+ end
@@ -0,0 +1,121 @@
1
+ module Temporalio
2
+ class Error < StandardError
3
+ class Failure < Error
4
+ @cause: Failure?
5
+ attr_reader raw: Temporalio::Api::Failure::V1::Failure?
6
+
7
+ def initialize: (String message, ?raw: Temporalio::Api::Failure::V1::Failure?, ?cause: Failure?) -> void
8
+ def cause: -> (Failure | Exception)?
9
+ end
10
+
11
+ class ApplicationError < Failure
12
+ attr_reader type: String
13
+ attr_reader details: Array[untyped]
14
+ attr_reader non_retryable: bool
15
+
16
+ def initialize: (
17
+ String message,
18
+ type: String,
19
+ ?details: Array[untyped],
20
+ ?non_retryable: bool,
21
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
22
+ ?cause: Failure?
23
+ ) -> void
24
+ def retryable?: -> bool
25
+ end
26
+
27
+ class TimeoutError < Failure
28
+ attr_reader type: Temporalio::TimeoutType::values
29
+ attr_reader last_heartbeat_details: Array[untyped]
30
+
31
+ def initialize: (
32
+ String message,
33
+ type: Temporalio::TimeoutType::values,
34
+ ?last_heartbeat_details: Array[untyped],
35
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
36
+ ?cause: Failure?
37
+ ) -> void
38
+ end
39
+
40
+ class CancelledError < Failure
41
+ attr_reader details: Array[untyped]?
42
+
43
+ def initialize: (
44
+ String message,
45
+ ?details: Array[untyped]?,
46
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
47
+ ?cause: Failure?
48
+ ) -> void
49
+ end
50
+
51
+ class TerminatedError < Failure
52
+ end
53
+
54
+ class ServerError < Failure
55
+ attr_reader non_retryable: bool
56
+
57
+ def initialize: (
58
+ String message,
59
+ non_retryable: bool,
60
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
61
+ ?cause: Failure?
62
+ ) -> void
63
+ def retryable?: -> bool
64
+ end
65
+
66
+ class ResetWorkflowError < Failure
67
+ attr_reader last_heartbeat_details: Array[untyped]
68
+
69
+ def initialize: (
70
+ String message,
71
+ ?last_heartbeat_details: Array[untyped],
72
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
73
+ ?cause: Failure?
74
+ ) -> void
75
+ end
76
+
77
+ class ActivityError < Failure
78
+ attr_reader scheduled_event_id: Integer
79
+ attr_reader started_event_id: Integer
80
+ attr_reader identity: String
81
+ attr_reader activity_name: String?
82
+ attr_reader activity_id: String
83
+ attr_reader retry_state: Temporalio::RetryState::values
84
+
85
+ def initialize: (
86
+ String message,
87
+ scheduled_event_id: Integer,
88
+ started_event_id: Integer,
89
+ identity: String,
90
+ activity_name: String?,
91
+ activity_id: String,
92
+ retry_state: Temporalio::RetryState::values,
93
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
94
+ ?cause: Failure?
95
+ ) -> void
96
+ end
97
+
98
+ class ChildWorkflowError < Failure
99
+ attr_reader namespace: String
100
+ attr_reader workflow_id: String?
101
+ attr_reader run_id: String?
102
+ attr_reader workflow_name: String?
103
+ attr_reader initiated_event_id: Integer
104
+ attr_reader started_event_id: Integer
105
+ attr_reader retry_state: Temporalio::RetryState::values
106
+
107
+ def initialize: (
108
+ String message,
109
+ namespace: String,
110
+ workflow_id: String?,
111
+ run_id: String?,
112
+ workflow_name: String?,
113
+ initiated_event_id: Integer,
114
+ started_event_id: Integer,
115
+ retry_state: Temporalio::RetryState::values,
116
+ ?raw: Temporalio::Api::Failure::V1::Failure?,
117
+ ?cause: Failure?
118
+ ) -> void
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,9 @@
1
+ module Temporalio
2
+ class Error < StandardError
3
+ class WorkflowFailure < Error
4
+ attr_reader cause: Exception
5
+
6
+ def initialize: (cause: Exception) -> void
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,36 @@
1
+ module Temporalio
2
+ class Error < StandardError
3
+ class RPCError < Error
4
+ end
5
+
6
+ class UnexpectedResponse < RPCError
7
+ end
8
+
9
+ class WorkflowExecutionAlreadyStarted < RPCError
10
+ end
11
+
12
+ class QueryFailed < RPCError
13
+ end
14
+
15
+ class QueryRejected < RPCError
16
+ attr_reader status: Temporalio::Workflow::ExecutionStatus::values
17
+
18
+ def initialize: (Temporalio::Workflow::ExecutionStatus::values) -> void
19
+ end
20
+
21
+ class Internal < Error
22
+ end
23
+
24
+ class WorkerShutdown < Internal
25
+ end
26
+
27
+ class ActivityCancelled < Internal
28
+ def initialize: (String reason, bool by_request) -> void
29
+ def by_request?: -> bool
30
+
31
+ private
32
+
33
+ @by_request: bool
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,12 @@
1
+ module Temporalio
2
+ module FailureConverter
3
+ interface _FailureConverter
4
+ def to_failure: (Exception, Temporalio::PayloadConverter::_PayloadConverter) -> Temporalio::Api::Failure::V1::Failure
5
+ def from_failure: (Temporalio::Api::Failure::V1::Failure, Temporalio::PayloadConverter::_PayloadConverter) -> Exception
6
+ end
7
+
8
+ class Base
9
+ include _FailureConverter
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,86 @@
1
+ module Temporalio
2
+ module FailureConverter
3
+ class Basic < Base
4
+ type payload_converter = Temporalio::PayloadConverter::_PayloadConverter
5
+ type failure_proto = Temporalio::Api::Failure::V1::Failure
6
+ type payloads_proto = Temporalio::Api::Common::V1::Payloads
7
+
8
+ def initialize: (?encode_common_attributes: bool) -> void
9
+ def to_failure: (Exception, payload_converter) -> failure_proto
10
+ def from_failure: (failure_proto, payload_converter) -> Temporalio::Error::Failure
11
+
12
+ private
13
+
14
+ @encode_common_attributes: bool
15
+
16
+ def encode_common_attributes?: -> bool
17
+ def to_payloads: (Array[untyped]?, payload_converter) -> payloads_proto?
18
+ def from_payloads: (payloads_proto?, payload_converter) -> Array[untyped]
19
+ def apply_from_encoded_attributes: (failure_proto, payload_converter) -> failure_proto
20
+
21
+ def to_application_failure: (Temporalio::Error::ApplicationError, payload_converter) -> failure_proto
22
+ def to_timeout_failure: (Temporalio::Error::TimeoutError, payload_converter) -> failure_proto
23
+ def to_cancelled_failure: (Temporalio::Error::CancelledError, payload_converter) -> failure_proto
24
+ def to_terminated_failure: (Temporalio::Error::TerminatedError, payload_converter) -> failure_proto
25
+ def to_server_failure: (Temporalio::Error::ServerError, payload_converter) -> failure_proto
26
+ def to_reset_workflow_failure: (Temporalio::Error::ResetWorkflowError, payload_converter) -> failure_proto
27
+ def to_activity_failure: (Temporalio::Error::ActivityError, payload_converter) -> failure_proto
28
+ def to_child_workflow_execution_failure: (Temporalio::Error::ChildWorkflowError, payload_converter) -> failure_proto
29
+ def to_generic_failure: (Exception, payload_converter) -> failure_proto
30
+
31
+ def from_application_failure: (
32
+ failure_proto,
33
+ Temporalio::Api::Failure::V1::ApplicationFailureInfo,
34
+ Temporalio::Error::Failure?,
35
+ payload_converter
36
+ ) -> Temporalio::Error::ApplicationError
37
+ def from_timeout_failure: (
38
+ failure_proto,
39
+ Temporalio::Api::Failure::V1::TimeoutFailureInfo,
40
+ Temporalio::Error::Failure?,
41
+ payload_converter
42
+ ) -> Temporalio::Error::TimeoutError
43
+ def from_cancelled_failure: (
44
+ failure_proto,
45
+ Temporalio::Api::Failure::V1::CanceledFailureInfo,
46
+ Temporalio::Error::Failure?,
47
+ payload_converter
48
+ ) -> Temporalio::Error::CancelledError
49
+ def from_terminated_failure: (
50
+ failure_proto,
51
+ Temporalio::Api::Failure::V1::TerminatedFailureInfo,
52
+ Temporalio::Error::Failure?,
53
+ payload_converter
54
+ ) -> Temporalio::Error::TerminatedError
55
+ def from_server_failure: (
56
+ failure_proto,
57
+ Temporalio::Api::Failure::V1::ServerFailureInfo,
58
+ Temporalio::Error::Failure?,
59
+ payload_converter
60
+ ) -> Temporalio::Error::ServerError
61
+ def from_reset_workflow_failure: (
62
+ failure_proto,
63
+ Temporalio::Api::Failure::V1::ResetWorkflowFailureInfo,
64
+ Temporalio::Error::Failure?,
65
+ payload_converter
66
+ ) -> Temporalio::Error::ResetWorkflowError
67
+ def from_activity_failure: (
68
+ failure_proto,
69
+ Temporalio::Api::Failure::V1::ActivityFailureInfo,
70
+ Temporalio::Error::Failure?,
71
+ payload_converter
72
+ ) -> Temporalio::Error::ActivityError
73
+ def from_child_workflow_execution_failure: (
74
+ failure_proto,
75
+ Temporalio::Api::Failure::V1::ChildWorkflowExecutionFailureInfo,
76
+ Temporalio::Error::Failure?,
77
+ payload_converter
78
+ ) -> Temporalio::Error::ChildWorkflowError
79
+ def from_generic_failure: (
80
+ failure_proto,
81
+ Temporalio::Error::Failure?,
82
+ payload_converter
83
+ ) -> Temporalio::Error::Failure
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,5 @@
1
+ module Temporalio
2
+ module FailureConverter
3
+ DEFAULT: _FailureConverter
4
+ end
5
+ end
@@ -0,0 +1,21 @@
1
+ module Temporalio
2
+ module Interceptor
3
+ module ActivityInbound
4
+ type methods = (:execute_activity)
5
+
6
+ def execute_activity: (ExecuteActivityInput input) ?{ (ExecuteActivityInput) -> untyped } -> untyped
7
+
8
+ class ExecuteActivityInput < Struct[untyped]
9
+ attr_accessor activity: singleton(Temporalio::Activity)
10
+ attr_accessor args: Array[untyped]
11
+ attr_accessor headers: Hash[String, Temporalio::Api::Common::V1::Payload]
12
+
13
+ def self.new: (
14
+ activity: singleton(Temporalio::Activity),
15
+ args: Array[untyped],
16
+ headers: Hash[String, Temporalio::Api::Common::V1::Payload],
17
+ ) -> ExecuteActivityInput
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,10 @@
1
+ module Temporalio
2
+ module Interceptor
3
+ module ActivityOutbound
4
+ type methods = (:activity_info | :heartbeat)
5
+
6
+ def activity_info: ?{ () -> Temporalio::Activity::Info } -> Temporalio::Activity::Info
7
+ def heartbeat: (*untyped details) ?{ (*untyped) -> void } -> void
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,24 @@
1
+ module Temporalio
2
+ module Interceptor
3
+ class Chain[T < _PublicSend]
4
+ type interceptor_methods =
5
+ Temporalio::Interceptor::Client::methods |
6
+ Temporalio::Interceptor::ActivityInbound::methods |
7
+ Temporalio::Interceptor::ActivityOutbound::methods
8
+
9
+ # NOTE: RBS is not smart enough to figure out which methods are callable per each interceptor
10
+ # class, so we're just allowing any of them to be called on any interceptor.
11
+ interface _PublicSend
12
+ def public_send: (interceptor_methods, *untyped) { (*untyped) -> untyped } -> untyped
13
+ end
14
+
15
+ def initialize: (?Array[T]) -> void
16
+ # TODO: RBS fails to interpret the inline block defined in #invoke
17
+ def invoke: (interceptor_methods, *untyped) { (*untyped) -> untyped } -> untyped
18
+
19
+ private
20
+
21
+ attr_reader interceptors: Array[T]
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,148 @@
1
+ module Temporalio
2
+ module Interceptor
3
+ module Client
4
+ type methods = (:start_workflow | :describe_workflow | :query_workflow | :signal_workflow | :cancel_workflow | :terminate_workflow)
5
+
6
+ def start_workflow: (StartWorkflowInput input) { (StartWorkflowInput) -> Temporalio::Client::WorkflowHandle } -> Temporalio::Client::WorkflowHandle::_Interface
7
+ def describe_workflow: (DescribeWorkflowInput input) { (DescribeWorkflowInput) -> Temporalio::Workflow::ExecutionInfo } -> Temporalio::Workflow::ExecutionInfo
8
+ def query_workflow: (QueryWorkflowInput input) { (QueryWorkflowInput) -> untyped } -> untyped
9
+ def signal_workflow: (SignalWorkflowInput input) { (SignalWorkflowInput) -> void } -> void
10
+ def cancel_workflow: (CancelWorkflowInput input) { (CancelWorkflowInput) -> void } -> void
11
+ def terminate_workflow: (TerminateWorkflowInput input) { (TerminateWorkflowInput) -> void } -> void
12
+
13
+ class StartWorkflowInput < Struct[untyped]
14
+ attr_accessor workflow(): String
15
+ attr_accessor args(): Array[untyped]
16
+ attr_accessor id(): String
17
+ attr_accessor task_queue(): String | Symbol
18
+ attr_accessor execution_timeout(): Integer?
19
+ attr_accessor run_timeout(): Integer?
20
+ attr_accessor task_timeout(): Integer?
21
+ attr_accessor id_reuse_policy(): Symbol
22
+ attr_accessor retry_policy(): Temporalio::RetryPolicy
23
+ attr_accessor cron_schedule(): String?
24
+ attr_accessor memo(): Hash[Symbol | String, untyped]
25
+ attr_accessor search_attributes(): Hash[Symbol | String, untyped]
26
+ attr_accessor headers(): Hash[Symbol | String, untyped]
27
+ attr_accessor start_signal(): String? | Symbol?
28
+ attr_accessor start_signal_args(): Array[untyped]?
29
+ attr_accessor rpc_metadata(): Hash[String, String]
30
+ attr_accessor rpc_timeout(): Integer?
31
+
32
+ def self.new: (
33
+ workflow: String,
34
+ args: Array[untyped],
35
+ id: String,
36
+ task_queue: String | Symbol,
37
+ execution_timeout: Integer?,
38
+ run_timeout: Integer?,
39
+ task_timeout: Integer?,
40
+ id_reuse_policy: Symbol?,
41
+ retry_policy: Temporalio::RetryPolicy?,
42
+ cron_schedule: String?,
43
+ memo: Hash[Symbol | String, untyped]?,
44
+ search_attributes: Hash[Symbol | String, untyped]?,
45
+ headers: Hash[Symbol | String, untyped]?,
46
+ start_signal: String | Symbol?,
47
+ start_signal_args: Array[untyped]?,
48
+ rpc_metadata: Hash[String, String],
49
+ rpc_timeout: Integer?
50
+ ) -> StartWorkflowInput
51
+ end
52
+
53
+ class DescribeWorkflowInput < Struct[untyped]
54
+ attr_accessor id(): String
55
+ attr_accessor run_id(): String
56
+ attr_accessor rpc_metadata(): Hash[String, String]
57
+ attr_accessor rpc_timeout(): Integer?
58
+
59
+ def self.new: (
60
+ id: String,
61
+ run_id: String?,
62
+ rpc_metadata: Hash[String, String],
63
+ rpc_timeout: Integer?
64
+ ) -> DescribeWorkflowInput
65
+ end
66
+
67
+ class QueryWorkflowInput < Struct[untyped]
68
+ attr_accessor id(): String
69
+ attr_accessor run_id(): String
70
+ attr_accessor query(): String | Symbol
71
+ attr_accessor args(): Array[untyped]
72
+ attr_accessor reject_condition(): Symbol
73
+ attr_accessor headers(): Hash[Symbol | String, untyped]
74
+ attr_accessor rpc_metadata(): Hash[String, String]
75
+ attr_accessor rpc_timeout(): Integer?
76
+
77
+ def self.new: (
78
+ id: String,
79
+ run_id: String?,
80
+ query: String | Symbol,
81
+ args: Array[untyped]?,
82
+ reject_condition: Symbol,
83
+ headers: Hash[Symbol | String, untyped]?,
84
+ rpc_metadata: Hash[String, String],
85
+ rpc_timeout: Integer?
86
+ ) -> QueryWorkflowInput
87
+ end
88
+
89
+ class SignalWorkflowInput < Struct[untyped]
90
+ attr_accessor id(): String
91
+ attr_accessor run_id(): String
92
+ attr_accessor signal(): String | Symbol
93
+ attr_accessor args(): Array[untyped]
94
+ attr_accessor headers(): Hash[Symbol | String, untyped]
95
+ attr_accessor rpc_metadata(): Hash[String, String]
96
+ attr_accessor rpc_timeout(): Integer?
97
+
98
+ def self.new: (
99
+ id: String,
100
+ run_id: String?,
101
+ signal: String | Symbol,
102
+ args: Array[untyped]?,
103
+ headers: Hash[Symbol | String, untyped]?,
104
+ rpc_metadata: Hash[String, String],
105
+ rpc_timeout: Integer?
106
+ ) -> SignalWorkflowInput
107
+ end
108
+
109
+ class CancelWorkflowInput < Struct[untyped]
110
+ attr_accessor id(): String
111
+ attr_accessor run_id(): String
112
+ attr_accessor first_execution_run_id(): String
113
+ attr_accessor reason(): String
114
+ attr_accessor rpc_metadata(): Hash[String, String]
115
+ attr_accessor rpc_timeout(): Integer?
116
+
117
+ def self.new: (
118
+ id: String,
119
+ run_id: String?,
120
+ first_execution_run_id: String?,
121
+ reason: String?,
122
+ rpc_metadata: Hash[String, String],
123
+ rpc_timeout: Integer?
124
+ ) -> CancelWorkflowInput
125
+ end
126
+
127
+ class TerminateWorkflowInput < Struct[untyped]
128
+ attr_accessor id(): String
129
+ attr_accessor run_id(): String
130
+ attr_accessor first_execution_run_id(): String
131
+ attr_accessor reason(): String
132
+ attr_accessor args(): Array[untyped]
133
+ attr_accessor rpc_metadata(): Hash[String, String]
134
+ attr_accessor rpc_timeout(): Integer?
135
+
136
+ def self.new: (
137
+ id: String,
138
+ run_id: String?,
139
+ first_execution_run_id: String?,
140
+ reason: String?,
141
+ args: Array[untyped],
142
+ rpc_metadata: Hash[String, String],
143
+ rpc_timeout: Integer?
144
+ ) -> TerminateWorkflowInput
145
+ end
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,6 @@
1
+ module Temporalio
2
+ module Interceptor
3
+ def self.filter: (Array[Temporalio::Worker::worker_interceptor], :activity_inbound) -> Array[Temporalio::Interceptor::ActivityInbound]
4
+ | (Array[Temporalio::Worker::worker_interceptor], :activity_outbound) -> Array[Temporalio::Interceptor::ActivityOutbound]
5
+ end
6
+ end
@@ -0,0 +1,12 @@
1
+ module Temporalio
2
+ module PayloadCodec
3
+ interface _PayloadCodec
4
+ def encode: (Array[Temporalio::Api::Common::V1::Payload]) -> Array[Temporalio::Api::Common::V1::Payload]
5
+ def decode: (Array[Temporalio::Api::Common::V1::Payload]) -> Array[Temporalio::Api::Common::V1::Payload]
6
+ end
7
+
8
+ class Base
9
+ include _PayloadCodec
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module Temporalio
2
+ module PayloadConverter
3
+ interface _PayloadConverter
4
+ def to_payload: (untyped) -> Temporalio::Api::Common::V1::Payload
5
+ def from_payload: (Temporalio::Api::Common::V1::Payload) -> untyped
6
+ end
7
+
8
+ class Base
9
+ include _PayloadConverter
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ module Temporalio
2
+ module PayloadConverter
3
+ class Bytes
4
+ include _EncodingPayloadConverter
5
+
6
+ ENCODING: String
7
+ end
8
+ end
9
+ end