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,386 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module ActivityTask
5
+ class ActivityCancelReason < ::Protobuf::Enum
6
+ type names = :NOT_FOUND | :CANCELLED | :TIMED_OUT
7
+
8
+ type strings = "NOT_FOUND" | "CANCELLED" | "TIMED_OUT"
9
+
10
+ type tags = 0 | 1 | 2
11
+
12
+ type values = names | strings | tags
13
+
14
+ attr_reader name(): names
15
+
16
+ attr_reader tag(): tags
17
+
18
+ # / The activity no longer exists according to server (may be already completed)
19
+ #
20
+ NOT_FOUND: ActivityCancelReason
21
+
22
+ # / Activity was explicitly cancelled
23
+ #
24
+ CANCELLED: ActivityCancelReason
25
+
26
+ # / Activity timed out
27
+ #
28
+ TIMED_OUT: ActivityCancelReason
29
+
30
+ # The type of `#initialize` parameter.
31
+ type init = ActivityCancelReason | values
32
+
33
+ # The type of `repeated` field.
34
+ type field_array = ::Protobuf::Field::FieldArray[ActivityCancelReason, ActivityCancelReason | values]
35
+
36
+ # The type of `map` field.
37
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityCancelReason, ActivityCancelReason | values]
38
+
39
+ type array = ::Array[ActivityCancelReason | values]
40
+
41
+ type hash[KEY] = ::Hash[KEY, ActivityCancelReason | values]
42
+ end
43
+
44
+ class ActivityTask < ::Protobuf::Message
45
+ # Encode the message to a binary string
46
+ #
47
+ def self.encode: (ActivityTask) -> String
48
+
49
+ # / A unique identifier for this task
50
+ #
51
+ attr_accessor task_token(): ::String
52
+
53
+ def task_token!: () -> ::String?
54
+
55
+ # / Start activity execution.
56
+ #
57
+ attr_accessor start(): ::Temporalio::Bridge::Api::ActivityTask::Start?
58
+
59
+ # / Start activity execution.
60
+ #
61
+ def start=: [M < ::Temporalio::Bridge::Api::ActivityTask::Start::_ToProto] (M?) -> M?
62
+ | ...
63
+
64
+ def start!: () -> ::Temporalio::Bridge::Api::ActivityTask::Start?
65
+
66
+ # / Attempt to cancel activity execution.
67
+ #
68
+ attr_accessor cancel(): ::Temporalio::Bridge::Api::ActivityTask::Cancel?
69
+
70
+ # / Attempt to cancel activity execution.
71
+ #
72
+ def cancel=: [M < ::Temporalio::Bridge::Api::ActivityTask::Cancel::_ToProto] (M?) -> M?
73
+ | ...
74
+
75
+ def cancel!: () -> ::Temporalio::Bridge::Api::ActivityTask::Cancel?
76
+
77
+ def initialize: (?task_token: ::String, ?start: ::Temporalio::Bridge::Api::ActivityTask::Start::init?, ?cancel: ::Temporalio::Bridge::Api::ActivityTask::Cancel::init?) -> void
78
+
79
+ def []: (:task_token) -> ::String
80
+ | (:start) -> ::Temporalio::Bridge::Api::ActivityTask::Start?
81
+ | (:cancel) -> ::Temporalio::Bridge::Api::ActivityTask::Cancel?
82
+ | (::Symbol) -> untyped
83
+
84
+ def []=: (:task_token, ::String) -> ::String
85
+ | (:start, ::Temporalio::Bridge::Api::ActivityTask::Start?) -> ::Temporalio::Bridge::Api::ActivityTask::Start?
86
+ | [M < ::Temporalio::Bridge::Api::ActivityTask::Start::_ToProto] (:start, M?) -> M?
87
+ | (:cancel, ::Temporalio::Bridge::Api::ActivityTask::Cancel?) -> ::Temporalio::Bridge::Api::ActivityTask::Cancel?
88
+ | [M < ::Temporalio::Bridge::Api::ActivityTask::Cancel::_ToProto] (:cancel, M?) -> M?
89
+ | (::Symbol, untyped) -> untyped
90
+
91
+ interface _ToProto
92
+ def to_proto: () -> ActivityTask
93
+ end
94
+
95
+ # The type of `#initialize` parameter.
96
+ type init = ActivityTask | _ToProto
97
+
98
+ # The type of `repeated` field.
99
+ type field_array = ::Protobuf::Field::FieldArray[ActivityTask, ActivityTask | _ToProto]
100
+
101
+ # The type of `map` field.
102
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityTask, ActivityTask | _ToProto]
103
+
104
+ type array = ::Array[ActivityTask | _ToProto]
105
+
106
+ type hash[KEY] = ::Hash[KEY, ActivityTask | _ToProto]
107
+ end
108
+
109
+ # Begin executing an activity
110
+ #
111
+ class Start < ::Protobuf::Message
112
+ # Encode the message to a binary string
113
+ #
114
+ def self.encode: (Start) -> String
115
+
116
+ # The namespace the workflow lives in
117
+ #
118
+ attr_accessor workflow_namespace(): ::String
119
+
120
+ def workflow_namespace!: () -> ::String?
121
+
122
+ # The workflow's type name or function identifier
123
+ #
124
+ attr_accessor workflow_type(): ::String
125
+
126
+ def workflow_type!: () -> ::String?
127
+
128
+ # The workflow execution which requested this activity
129
+ #
130
+ attr_accessor workflow_execution(): ::Temporalio::Api::Common::V1::WorkflowExecution?
131
+
132
+ # The workflow execution which requested this activity
133
+ #
134
+ def workflow_execution=: [M < ::Temporalio::Api::Common::V1::WorkflowExecution::_ToProto] (M?) -> M?
135
+ | ...
136
+
137
+ def workflow_execution!: () -> ::Temporalio::Api::Common::V1::WorkflowExecution?
138
+
139
+ # The activity's ID
140
+ #
141
+ attr_accessor activity_id(): ::String
142
+
143
+ def activity_id!: () -> ::String?
144
+
145
+ # The activity's type name or function identifier
146
+ #
147
+ attr_accessor activity_type(): ::String
148
+
149
+ def activity_type!: () -> ::String?
150
+
151
+ attr_accessor header_fields(): ::Temporalio::Api::Common::V1::Payload::field_hash[::String]
152
+
153
+ def header_fields=: (::Temporalio::Api::Common::V1::Payload::hash[::String]) -> ::Temporalio::Api::Common::V1::Payload::hash[::String]
154
+ | ...
155
+
156
+ def header_fields!: () -> ::Temporalio::Api::Common::V1::Payload::field_hash[::String]?
157
+
158
+ # Arguments to the activity
159
+ #
160
+ attr_accessor input(): ::Temporalio::Api::Common::V1::Payload::field_array
161
+
162
+ # Arguments to the activity
163
+ #
164
+ def input=: (::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
165
+ | ...
166
+
167
+ def input!: () -> ::Temporalio::Api::Common::V1::Payload::field_array?
168
+
169
+ # The last details that were recorded by a heartbeat when this task was generated
170
+ #
171
+ attr_accessor heartbeat_details(): ::Temporalio::Api::Common::V1::Payload::field_array
172
+
173
+ # The last details that were recorded by a heartbeat when this task was generated
174
+ #
175
+ def heartbeat_details=: (::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
176
+ | ...
177
+
178
+ def heartbeat_details!: () -> ::Temporalio::Api::Common::V1::Payload::field_array?
179
+
180
+ # When the task was *first* scheduled
181
+ #
182
+ attr_accessor scheduled_time(): ::Google::Protobuf::Timestamp?
183
+
184
+ # When the task was *first* scheduled
185
+ #
186
+ def scheduled_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
187
+ | ...
188
+
189
+ def scheduled_time!: () -> ::Google::Protobuf::Timestamp?
190
+
191
+ # When this current attempt at the task was scheduled
192
+ #
193
+ attr_accessor current_attempt_scheduled_time(): ::Google::Protobuf::Timestamp?
194
+
195
+ # When this current attempt at the task was scheduled
196
+ #
197
+ def current_attempt_scheduled_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
198
+ | ...
199
+
200
+ def current_attempt_scheduled_time!: () -> ::Google::Protobuf::Timestamp?
201
+
202
+ # When this attempt was started, which is to say when core received it by polling.
203
+ #
204
+ attr_accessor started_time(): ::Google::Protobuf::Timestamp?
205
+
206
+ # When this attempt was started, which is to say when core received it by polling.
207
+ #
208
+ def started_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
209
+ | ...
210
+
211
+ def started_time!: () -> ::Google::Protobuf::Timestamp?
212
+
213
+ attr_accessor attempt(): ::Integer
214
+
215
+ def attempt!: () -> ::Integer?
216
+
217
+ # Timeout from the first schedule time to completion
218
+ #
219
+ attr_accessor schedule_to_close_timeout(): ::Google::Protobuf::Duration?
220
+
221
+ # Timeout from the first schedule time to completion
222
+ #
223
+ def schedule_to_close_timeout=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
224
+ | ...
225
+
226
+ def schedule_to_close_timeout!: () -> ::Google::Protobuf::Duration?
227
+
228
+ # Timeout from starting an attempt to reporting its result
229
+ #
230
+ attr_accessor start_to_close_timeout(): ::Google::Protobuf::Duration?
231
+
232
+ # Timeout from starting an attempt to reporting its result
233
+ #
234
+ def start_to_close_timeout=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
235
+ | ...
236
+
237
+ def start_to_close_timeout!: () -> ::Google::Protobuf::Duration?
238
+
239
+ # If set a heartbeat must be reported within this interval
240
+ #
241
+ attr_accessor heartbeat_timeout(): ::Google::Protobuf::Duration?
242
+
243
+ # If set a heartbeat must be reported within this interval
244
+ #
245
+ def heartbeat_timeout=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
246
+ | ...
247
+
248
+ def heartbeat_timeout!: () -> ::Google::Protobuf::Duration?
249
+
250
+ # This is an actual retry policy the service uses. It can be different from the one provided
251
+ # (or not) during activity scheduling as the service can override the provided one in case its
252
+ # values are not specified or exceed configured system limits.
253
+ #
254
+ attr_accessor retry_policy(): ::Temporalio::Api::Common::V1::RetryPolicy?
255
+
256
+ # This is an actual retry policy the service uses. It can be different from the one provided
257
+ # (or not) during activity scheduling as the service can override the provided one in case its
258
+ # values are not specified or exceed configured system limits.
259
+ #
260
+ def retry_policy=: [M < ::Temporalio::Api::Common::V1::RetryPolicy::_ToProto] (M?) -> M?
261
+ | ...
262
+
263
+ def retry_policy!: () -> ::Temporalio::Api::Common::V1::RetryPolicy?
264
+
265
+ # Set to true if this is a local activity. Note that heartbeating does not apply to local
266
+ # activities.
267
+ #
268
+ attr_accessor is_local(): bool
269
+
270
+ def is_local!: () -> bool?
271
+
272
+ def initialize: (?workflow_namespace: ::String, ?workflow_type: ::String, ?workflow_execution: ::Temporalio::Api::Common::V1::WorkflowExecution::init?, ?activity_id: ::String, ?activity_type: ::String, ?header_fields: ::Temporalio::Api::Common::V1::Payload::hash[::String], ?input: ::Temporalio::Api::Common::V1::Payload::array, ?heartbeat_details: ::Temporalio::Api::Common::V1::Payload::array, ?scheduled_time: ::Google::Protobuf::Timestamp::init?, ?current_attempt_scheduled_time: ::Google::Protobuf::Timestamp::init?, ?started_time: ::Google::Protobuf::Timestamp::init?, ?attempt: ::Integer, ?schedule_to_close_timeout: ::Google::Protobuf::Duration::init?, ?start_to_close_timeout: ::Google::Protobuf::Duration::init?, ?heartbeat_timeout: ::Google::Protobuf::Duration::init?, ?retry_policy: ::Temporalio::Api::Common::V1::RetryPolicy::init?, ?is_local: bool) -> void
273
+
274
+ def []: (:workflow_namespace) -> ::String
275
+ | (:workflow_type) -> ::String
276
+ | (:workflow_execution) -> ::Temporalio::Api::Common::V1::WorkflowExecution?
277
+ | (:activity_id) -> ::String
278
+ | (:activity_type) -> ::String
279
+ | (:header_fields) -> ::Temporalio::Api::Common::V1::Payload::field_hash[::String]
280
+ | (:input) -> ::Temporalio::Api::Common::V1::Payload::field_array
281
+ | (:heartbeat_details) -> ::Temporalio::Api::Common::V1::Payload::field_array
282
+ | (:scheduled_time) -> ::Google::Protobuf::Timestamp?
283
+ | (:current_attempt_scheduled_time) -> ::Google::Protobuf::Timestamp?
284
+ | (:started_time) -> ::Google::Protobuf::Timestamp?
285
+ | (:attempt) -> ::Integer
286
+ | (:schedule_to_close_timeout) -> ::Google::Protobuf::Duration?
287
+ | (:start_to_close_timeout) -> ::Google::Protobuf::Duration?
288
+ | (:heartbeat_timeout) -> ::Google::Protobuf::Duration?
289
+ | (:retry_policy) -> ::Temporalio::Api::Common::V1::RetryPolicy?
290
+ | (:is_local) -> bool
291
+ | (::Symbol) -> untyped
292
+
293
+ def []=: (:workflow_namespace, ::String) -> ::String
294
+ | (:workflow_type, ::String) -> ::String
295
+ | (:workflow_execution, ::Temporalio::Api::Common::V1::WorkflowExecution?) -> ::Temporalio::Api::Common::V1::WorkflowExecution?
296
+ | [M < ::Temporalio::Api::Common::V1::WorkflowExecution::_ToProto] (:workflow_execution, M?) -> M?
297
+ | (:activity_id, ::String) -> ::String
298
+ | (:activity_type, ::String) -> ::String
299
+ | (:header_fields, ::Temporalio::Api::Common::V1::Payload::field_hash[::String]) -> ::Temporalio::Api::Common::V1::Payload::field_hash[::String]
300
+ | (:header_fields, ::Temporalio::Api::Common::V1::Payload::hash[::String]) -> ::Temporalio::Api::Common::V1::Payload::hash[::String]
301
+ | (:input, ::Temporalio::Api::Common::V1::Payload::field_array) -> ::Temporalio::Api::Common::V1::Payload::field_array
302
+ | (:input, ::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
303
+ | (:heartbeat_details, ::Temporalio::Api::Common::V1::Payload::field_array) -> ::Temporalio::Api::Common::V1::Payload::field_array
304
+ | (:heartbeat_details, ::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
305
+ | (:scheduled_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
306
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:scheduled_time, M?) -> M?
307
+ | (:current_attempt_scheduled_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
308
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:current_attempt_scheduled_time, M?) -> M?
309
+ | (:started_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
310
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:started_time, M?) -> M?
311
+ | (:attempt, ::Integer) -> ::Integer
312
+ | (:schedule_to_close_timeout, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
313
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:schedule_to_close_timeout, M?) -> M?
314
+ | (:start_to_close_timeout, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
315
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:start_to_close_timeout, M?) -> M?
316
+ | (:heartbeat_timeout, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
317
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:heartbeat_timeout, M?) -> M?
318
+ | (:retry_policy, ::Temporalio::Api::Common::V1::RetryPolicy?) -> ::Temporalio::Api::Common::V1::RetryPolicy?
319
+ | [M < ::Temporalio::Api::Common::V1::RetryPolicy::_ToProto] (:retry_policy, M?) -> M?
320
+ | (:is_local, bool) -> bool
321
+ | (::Symbol, untyped) -> untyped
322
+
323
+ def is_local?: () -> bool
324
+
325
+ interface _ToProto
326
+ def to_proto: () -> Start
327
+ end
328
+
329
+ # The type of `#initialize` parameter.
330
+ type init = Start | _ToProto
331
+
332
+ # The type of `repeated` field.
333
+ type field_array = ::Protobuf::Field::FieldArray[Start, Start | _ToProto]
334
+
335
+ # The type of `map` field.
336
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Start, Start | _ToProto]
337
+
338
+ type array = ::Array[Start | _ToProto]
339
+
340
+ type hash[KEY] = ::Hash[KEY, Start | _ToProto]
341
+ end
342
+
343
+ # / Attempt to cancel a running activity
344
+ #
345
+ class Cancel < ::Protobuf::Message
346
+ # Encode the message to a binary string
347
+ #
348
+ def self.encode: (Cancel) -> String
349
+
350
+ attr_accessor reason(): ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason
351
+
352
+ def reason=: (::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason::values) -> ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason::values
353
+ | ...
354
+
355
+ def reason!: () -> ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason?
356
+
357
+ def initialize: (?reason: ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason::init) -> void
358
+
359
+ def []: (:reason) -> ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason
360
+ | (::Symbol) -> untyped
361
+
362
+ def []=: (:reason, ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason) -> ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason
363
+ | (:reason, ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason::values) -> ::Temporalio::Bridge::Api::ActivityTask::ActivityCancelReason::values
364
+ | (::Symbol, untyped) -> untyped
365
+
366
+ interface _ToProto
367
+ def to_proto: () -> Cancel
368
+ end
369
+
370
+ # The type of `#initialize` parameter.
371
+ type init = Cancel | _ToProto
372
+
373
+ # The type of `repeated` field.
374
+ type field_array = ::Protobuf::Field::FieldArray[Cancel, Cancel | _ToProto]
375
+
376
+ # The type of `map` field.
377
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Cancel, Cancel | _ToProto]
378
+
379
+ type array = ::Array[Cancel | _ToProto]
380
+
381
+ type hash[KEY] = ::Hash[KEY, Cancel | _ToProto]
382
+ end
383
+ end
384
+ end
385
+ end
386
+ end