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,323 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module ChildWorkflow
5
+ # *
6
+ # Used by the service to determine the fate of a child workflow
7
+ # in case its parent is closed.
8
+ #
9
+ class ParentClosePolicy < ::Protobuf::Enum
10
+ type names = :PARENT_CLOSE_POLICY_UNSPECIFIED | :PARENT_CLOSE_POLICY_TERMINATE | :PARENT_CLOSE_POLICY_ABANDON | :PARENT_CLOSE_POLICY_REQUEST_CANCEL
11
+
12
+ type strings = "PARENT_CLOSE_POLICY_UNSPECIFIED" | "PARENT_CLOSE_POLICY_TERMINATE" | "PARENT_CLOSE_POLICY_ABANDON" | "PARENT_CLOSE_POLICY_REQUEST_CANCEL"
13
+
14
+ type tags = 0 | 1 | 2 | 3
15
+
16
+ type values = names | strings | tags
17
+
18
+ attr_reader name(): names
19
+
20
+ attr_reader tag(): tags
21
+
22
+ # * Let's the server set the default.
23
+ #
24
+ PARENT_CLOSE_POLICY_UNSPECIFIED: ParentClosePolicy
25
+
26
+ # * Terminate means terminating the child workflow.
27
+ #
28
+ PARENT_CLOSE_POLICY_TERMINATE: ParentClosePolicy
29
+
30
+ # * Abandon means not doing anything on the child workflow.
31
+ #
32
+ PARENT_CLOSE_POLICY_ABANDON: ParentClosePolicy
33
+
34
+ # * Cancel means requesting cancellation on the child workflow.
35
+ #
36
+ PARENT_CLOSE_POLICY_REQUEST_CANCEL: ParentClosePolicy
37
+
38
+ # The type of `#initialize` parameter.
39
+ type init = ParentClosePolicy | values
40
+
41
+ # The type of `repeated` field.
42
+ type field_array = ::Protobuf::Field::FieldArray[ParentClosePolicy, ParentClosePolicy | values]
43
+
44
+ # The type of `map` field.
45
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ParentClosePolicy, ParentClosePolicy | values]
46
+
47
+ type array = ::Array[ParentClosePolicy | values]
48
+
49
+ type hash[KEY] = ::Hash[KEY, ParentClosePolicy | values]
50
+ end
51
+
52
+ # * Possible causes of failure to start a child workflow
53
+ #
54
+ class StartChildWorkflowExecutionFailedCause < ::Protobuf::Enum
55
+ type names = :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED | :START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS
56
+
57
+ type strings = "START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED" | "START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS"
58
+
59
+ type tags = 0 | 1
60
+
61
+ type values = names | strings | tags
62
+
63
+ attr_reader name(): names
64
+
65
+ attr_reader tag(): tags
66
+
67
+ START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED: StartChildWorkflowExecutionFailedCause
68
+
69
+ START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS: StartChildWorkflowExecutionFailedCause
70
+
71
+ # The type of `#initialize` parameter.
72
+ type init = StartChildWorkflowExecutionFailedCause | values
73
+
74
+ # The type of `repeated` field.
75
+ type field_array = ::Protobuf::Field::FieldArray[StartChildWorkflowExecutionFailedCause, StartChildWorkflowExecutionFailedCause | values]
76
+
77
+ # The type of `map` field.
78
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, StartChildWorkflowExecutionFailedCause, StartChildWorkflowExecutionFailedCause | values]
79
+
80
+ type array = ::Array[StartChildWorkflowExecutionFailedCause | values]
81
+
82
+ type hash[KEY] = ::Hash[KEY, StartChildWorkflowExecutionFailedCause | values]
83
+ end
84
+
85
+ # *
86
+ # Controls at which point to report back to lang when a child workflow is cancelled
87
+ #
88
+ class ChildWorkflowCancellationType < ::Protobuf::Enum
89
+ type names = :ABANDON | :TRY_CANCEL | :WAIT_CANCELLATION_COMPLETED | :WAIT_CANCELLATION_REQUESTED
90
+
91
+ type strings = "ABANDON" | "TRY_CANCEL" | "WAIT_CANCELLATION_COMPLETED" | "WAIT_CANCELLATION_REQUESTED"
92
+
93
+ type tags = 0 | 1 | 2 | 3
94
+
95
+ type values = names | strings | tags
96
+
97
+ attr_reader name(): names
98
+
99
+ attr_reader tag(): tags
100
+
101
+ # * Do not request cancellation of the child workflow if already scheduled
102
+ #
103
+ ABANDON: ChildWorkflowCancellationType
104
+
105
+ # * Initiate a cancellation request and immediately report cancellation to the parent.
106
+ #
107
+ TRY_CANCEL: ChildWorkflowCancellationType
108
+
109
+ # * Wait for child cancellation completion.
110
+ #
111
+ WAIT_CANCELLATION_COMPLETED: ChildWorkflowCancellationType
112
+
113
+ # * Request cancellation of the child and wait for confirmation that the request was received.
114
+ #
115
+ WAIT_CANCELLATION_REQUESTED: ChildWorkflowCancellationType
116
+
117
+ # The type of `#initialize` parameter.
118
+ type init = ChildWorkflowCancellationType | values
119
+
120
+ # The type of `repeated` field.
121
+ type field_array = ::Protobuf::Field::FieldArray[ChildWorkflowCancellationType, ChildWorkflowCancellationType | values]
122
+
123
+ # The type of `map` field.
124
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ChildWorkflowCancellationType, ChildWorkflowCancellationType | values]
125
+
126
+ type array = ::Array[ChildWorkflowCancellationType | values]
127
+
128
+ type hash[KEY] = ::Hash[KEY, ChildWorkflowCancellationType | values]
129
+ end
130
+
131
+ # *
132
+ # Used by core to resolve child workflow executions.
133
+ #
134
+ class ChildWorkflowResult < ::Protobuf::Message
135
+ # Encode the message to a binary string
136
+ #
137
+ def self.encode: (ChildWorkflowResult) -> String
138
+
139
+ attr_accessor completed(): ::Temporalio::Bridge::Api::ChildWorkflow::Success?
140
+
141
+ def completed=: [M < ::Temporalio::Bridge::Api::ChildWorkflow::Success::_ToProto] (M?) -> M?
142
+ | ...
143
+
144
+ def completed!: () -> ::Temporalio::Bridge::Api::ChildWorkflow::Success?
145
+
146
+ attr_accessor failed(): ::Temporalio::Bridge::Api::ChildWorkflow::Failure?
147
+
148
+ def failed=: [M < ::Temporalio::Bridge::Api::ChildWorkflow::Failure::_ToProto] (M?) -> M?
149
+ | ...
150
+
151
+ def failed!: () -> ::Temporalio::Bridge::Api::ChildWorkflow::Failure?
152
+
153
+ attr_accessor cancelled(): ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation?
154
+
155
+ def cancelled=: [M < ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation::_ToProto] (M?) -> M?
156
+ | ...
157
+
158
+ def cancelled!: () -> ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation?
159
+
160
+ def initialize: (?completed: ::Temporalio::Bridge::Api::ChildWorkflow::Success::init?, ?failed: ::Temporalio::Bridge::Api::ChildWorkflow::Failure::init?, ?cancelled: ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation::init?) -> void
161
+
162
+ def []: (:completed) -> ::Temporalio::Bridge::Api::ChildWorkflow::Success?
163
+ | (:failed) -> ::Temporalio::Bridge::Api::ChildWorkflow::Failure?
164
+ | (:cancelled) -> ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation?
165
+ | (::Symbol) -> untyped
166
+
167
+ def []=: (:completed, ::Temporalio::Bridge::Api::ChildWorkflow::Success?) -> ::Temporalio::Bridge::Api::ChildWorkflow::Success?
168
+ | [M < ::Temporalio::Bridge::Api::ChildWorkflow::Success::_ToProto] (:completed, M?) -> M?
169
+ | (:failed, ::Temporalio::Bridge::Api::ChildWorkflow::Failure?) -> ::Temporalio::Bridge::Api::ChildWorkflow::Failure?
170
+ | [M < ::Temporalio::Bridge::Api::ChildWorkflow::Failure::_ToProto] (:failed, M?) -> M?
171
+ | (:cancelled, ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation?) -> ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation?
172
+ | [M < ::Temporalio::Bridge::Api::ChildWorkflow::Cancellation::_ToProto] (:cancelled, M?) -> M?
173
+ | (::Symbol, untyped) -> untyped
174
+
175
+ interface _ToProto
176
+ def to_proto: () -> ChildWorkflowResult
177
+ end
178
+
179
+ # The type of `#initialize` parameter.
180
+ type init = ChildWorkflowResult | _ToProto
181
+
182
+ # The type of `repeated` field.
183
+ type field_array = ::Protobuf::Field::FieldArray[ChildWorkflowResult, ChildWorkflowResult | _ToProto]
184
+
185
+ # The type of `map` field.
186
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ChildWorkflowResult, ChildWorkflowResult | _ToProto]
187
+
188
+ type array = ::Array[ChildWorkflowResult | _ToProto]
189
+
190
+ type hash[KEY] = ::Hash[KEY, ChildWorkflowResult | _ToProto]
191
+ end
192
+
193
+ # *
194
+ # Used in ChildWorkflowResult to report successful completion.
195
+ #
196
+ class Success < ::Protobuf::Message
197
+ # Encode the message to a binary string
198
+ #
199
+ def self.encode: (Success) -> String
200
+
201
+ attr_accessor result(): ::Temporalio::Api::Common::V1::Payload?
202
+
203
+ def result=: [M < ::Temporalio::Api::Common::V1::Payload::_ToProto] (M?) -> M?
204
+ | ...
205
+
206
+ def result!: () -> ::Temporalio::Api::Common::V1::Payload?
207
+
208
+ def initialize: (?result: ::Temporalio::Api::Common::V1::Payload::init?) -> void
209
+
210
+ def []: (:result) -> ::Temporalio::Api::Common::V1::Payload?
211
+ | (::Symbol) -> untyped
212
+
213
+ def []=: (:result, ::Temporalio::Api::Common::V1::Payload?) -> ::Temporalio::Api::Common::V1::Payload?
214
+ | [M < ::Temporalio::Api::Common::V1::Payload::_ToProto] (:result, M?) -> M?
215
+ | (::Symbol, untyped) -> untyped
216
+
217
+ interface _ToProto
218
+ def to_proto: () -> Success
219
+ end
220
+
221
+ # The type of `#initialize` parameter.
222
+ type init = Success | _ToProto
223
+
224
+ # The type of `repeated` field.
225
+ type field_array = ::Protobuf::Field::FieldArray[Success, Success | _ToProto]
226
+
227
+ # The type of `map` field.
228
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Success, Success | _ToProto]
229
+
230
+ type array = ::Array[Success | _ToProto]
231
+
232
+ type hash[KEY] = ::Hash[KEY, Success | _ToProto]
233
+ end
234
+
235
+ # *
236
+ # Used in ChildWorkflowResult to report non successful outcomes such as
237
+ # application failures, timeouts, terminations, and cancellations.
238
+ #
239
+ class Failure < ::Protobuf::Message
240
+ # Encode the message to a binary string
241
+ #
242
+ def self.encode: (Failure) -> String
243
+
244
+ attr_accessor failure(): ::Temporalio::Api::Failure::V1::Failure?
245
+
246
+ def failure=: [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (M?) -> M?
247
+ | ...
248
+
249
+ def failure!: () -> ::Temporalio::Api::Failure::V1::Failure?
250
+
251
+ def initialize: (?failure: ::Temporalio::Api::Failure::V1::Failure::init?) -> void
252
+
253
+ def []: (:failure) -> ::Temporalio::Api::Failure::V1::Failure?
254
+ | (::Symbol) -> untyped
255
+
256
+ def []=: (:failure, ::Temporalio::Api::Failure::V1::Failure?) -> ::Temporalio::Api::Failure::V1::Failure?
257
+ | [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (:failure, M?) -> M?
258
+ | (::Symbol, untyped) -> untyped
259
+
260
+ interface _ToProto
261
+ def to_proto: () -> Failure
262
+ end
263
+
264
+ # The type of `#initialize` parameter.
265
+ type init = Failure | _ToProto
266
+
267
+ # The type of `repeated` field.
268
+ type field_array = ::Protobuf::Field::FieldArray[Failure, Failure | _ToProto]
269
+
270
+ # The type of `map` field.
271
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Failure, Failure | _ToProto]
272
+
273
+ type array = ::Array[Failure | _ToProto]
274
+
275
+ type hash[KEY] = ::Hash[KEY, Failure | _ToProto]
276
+ end
277
+
278
+ # *
279
+ # Used in ChildWorkflowResult to report cancellation.
280
+ # Failure should be ChildWorkflowFailure with a CanceledFailure cause.
281
+ #
282
+ class Cancellation < ::Protobuf::Message
283
+ # Encode the message to a binary string
284
+ #
285
+ def self.encode: (Cancellation) -> String
286
+
287
+ attr_accessor failure(): ::Temporalio::Api::Failure::V1::Failure?
288
+
289
+ def failure=: [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (M?) -> M?
290
+ | ...
291
+
292
+ def failure!: () -> ::Temporalio::Api::Failure::V1::Failure?
293
+
294
+ def initialize: (?failure: ::Temporalio::Api::Failure::V1::Failure::init?) -> void
295
+
296
+ def []: (:failure) -> ::Temporalio::Api::Failure::V1::Failure?
297
+ | (::Symbol) -> untyped
298
+
299
+ def []=: (:failure, ::Temporalio::Api::Failure::V1::Failure?) -> ::Temporalio::Api::Failure::V1::Failure?
300
+ | [M < ::Temporalio::Api::Failure::V1::Failure::_ToProto] (:failure, M?) -> M?
301
+ | (::Symbol, untyped) -> untyped
302
+
303
+ interface _ToProto
304
+ def to_proto: () -> Cancellation
305
+ end
306
+
307
+ # The type of `#initialize` parameter.
308
+ type init = Cancellation | _ToProto
309
+
310
+ # The type of `repeated` field.
311
+ type field_array = ::Protobuf::Field::FieldArray[Cancellation, Cancellation | _ToProto]
312
+
313
+ # The type of `map` field.
314
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Cancellation, Cancellation | _ToProto]
315
+
316
+ type array = ::Array[Cancellation | _ToProto]
317
+
318
+ type hash[KEY] = ::Hash[KEY, Cancellation | _ToProto]
319
+ end
320
+ end
321
+ end
322
+ end
323
+ end
@@ -0,0 +1,62 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module Common
5
+ # Identifying information about a particular workflow execution, including namespace
6
+ #
7
+ class NamespacedWorkflowExecution < ::Protobuf::Message
8
+ # Encode the message to a binary string
9
+ #
10
+ def self.encode: (NamespacedWorkflowExecution) -> String
11
+
12
+ # Namespace the workflow run is located in
13
+ #
14
+ attr_accessor namespace(): ::String
15
+
16
+ def namespace!: () -> ::String?
17
+
18
+ # Can never be empty
19
+ #
20
+ attr_accessor workflow_id(): ::String
21
+
22
+ def workflow_id!: () -> ::String?
23
+
24
+ # May be empty if the most recent run of the workflow with the given ID is being targeted
25
+ #
26
+ attr_accessor run_id(): ::String
27
+
28
+ def run_id!: () -> ::String?
29
+
30
+ def initialize: (?namespace: ::String, ?workflow_id: ::String, ?run_id: ::String) -> void
31
+
32
+ def []: (:namespace) -> ::String
33
+ | (:workflow_id) -> ::String
34
+ | (:run_id) -> ::String
35
+ | (::Symbol) -> untyped
36
+
37
+ def []=: (:namespace, ::String) -> ::String
38
+ | (:workflow_id, ::String) -> ::String
39
+ | (:run_id, ::String) -> ::String
40
+ | (::Symbol, untyped) -> untyped
41
+
42
+ interface _ToProto
43
+ def to_proto: () -> NamespacedWorkflowExecution
44
+ end
45
+
46
+ # The type of `#initialize` parameter.
47
+ type init = NamespacedWorkflowExecution | _ToProto
48
+
49
+ # The type of `repeated` field.
50
+ type field_array = ::Protobuf::Field::FieldArray[NamespacedWorkflowExecution, NamespacedWorkflowExecution | _ToProto]
51
+
52
+ # The type of `map` field.
53
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, NamespacedWorkflowExecution, NamespacedWorkflowExecution | _ToProto]
54
+
55
+ type array = ::Array[NamespacedWorkflowExecution | _ToProto]
56
+
57
+ type hash[KEY] = ::Hash[KEY, NamespacedWorkflowExecution | _ToProto]
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,101 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module CoreInterface
5
+ # A request as given to `record_activity_heartbeat`
6
+ #
7
+ class ActivityHeartbeat < ::Protobuf::Message
8
+ # Encode the message to a binary string
9
+ #
10
+ def self.encode: (ActivityHeartbeat) -> String
11
+
12
+ attr_accessor task_token(): ::String
13
+
14
+ def task_token!: () -> ::String?
15
+
16
+ attr_accessor details(): ::Temporalio::Api::Common::V1::Payload::field_array
17
+
18
+ def details=: (::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
19
+ | ...
20
+
21
+ def details!: () -> ::Temporalio::Api::Common::V1::Payload::field_array?
22
+
23
+ def initialize: (?task_token: ::String, ?details: ::Temporalio::Api::Common::V1::Payload::array) -> void
24
+
25
+ def []: (:task_token) -> ::String
26
+ | (:details) -> ::Temporalio::Api::Common::V1::Payload::field_array
27
+ | (::Symbol) -> untyped
28
+
29
+ def []=: (:task_token, ::String) -> ::String
30
+ | (:details, ::Temporalio::Api::Common::V1::Payload::field_array) -> ::Temporalio::Api::Common::V1::Payload::field_array
31
+ | (:details, ::Temporalio::Api::Common::V1::Payload::array) -> ::Temporalio::Api::Common::V1::Payload::array
32
+ | (::Symbol, untyped) -> untyped
33
+
34
+ interface _ToProto
35
+ def to_proto: () -> ActivityHeartbeat
36
+ end
37
+
38
+ # The type of `#initialize` parameter.
39
+ type init = ActivityHeartbeat | _ToProto
40
+
41
+ # The type of `repeated` field.
42
+ type field_array = ::Protobuf::Field::FieldArray[ActivityHeartbeat, ActivityHeartbeat | _ToProto]
43
+
44
+ # The type of `map` field.
45
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityHeartbeat, ActivityHeartbeat | _ToProto]
46
+
47
+ type array = ::Array[ActivityHeartbeat | _ToProto]
48
+
49
+ type hash[KEY] = ::Hash[KEY, ActivityHeartbeat | _ToProto]
50
+ end
51
+
52
+ # A request as given to `complete_activity_task`
53
+ #
54
+ class ActivityTaskCompletion < ::Protobuf::Message
55
+ # Encode the message to a binary string
56
+ #
57
+ def self.encode: (ActivityTaskCompletion) -> String
58
+
59
+ attr_accessor task_token(): ::String
60
+
61
+ def task_token!: () -> ::String?
62
+
63
+ attr_accessor result(): ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult?
64
+
65
+ def result=: [M < ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult::_ToProto] (M?) -> M?
66
+ | ...
67
+
68
+ def result!: () -> ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult?
69
+
70
+ def initialize: (?task_token: ::String, ?result: ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult::init?) -> void
71
+
72
+ def []: (:task_token) -> ::String
73
+ | (:result) -> ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult?
74
+ | (::Symbol) -> untyped
75
+
76
+ def []=: (:task_token, ::String) -> ::String
77
+ | (:result, ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult?) -> ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult?
78
+ | [M < ::Temporalio::Bridge::Api::ActivityResult::ActivityExecutionResult::_ToProto] (:result, M?) -> M?
79
+ | (::Symbol, untyped) -> untyped
80
+
81
+ interface _ToProto
82
+ def to_proto: () -> ActivityTaskCompletion
83
+ end
84
+
85
+ # The type of `#initialize` parameter.
86
+ type init = ActivityTaskCompletion | _ToProto
87
+
88
+ # The type of `repeated` field.
89
+ type field_array = ::Protobuf::Field::FieldArray[ActivityTaskCompletion, ActivityTaskCompletion | _ToProto]
90
+
91
+ # The type of `map` field.
92
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, ActivityTaskCompletion, ActivityTaskCompletion | _ToProto]
93
+
94
+ type array = ::Array[ActivityTaskCompletion | _ToProto]
95
+
96
+ type hash[KEY] = ::Hash[KEY, ActivityTaskCompletion | _ToProto]
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,119 @@
1
+ module Temporalio
2
+ module Bridge
3
+ module Api
4
+ module ExternalData
5
+ # This file defines data that Core might write externally. The first motivating case being
6
+ # storing data in markers in event history. Defining such data as protos provides an easy way
7
+ # for consumers which would like to just depend on the proto package to make sense of marker data.
8
+ #
9
+ class LocalActivityMarkerData < ::Protobuf::Message
10
+ # Encode the message to a binary string
11
+ #
12
+ def self.encode: (LocalActivityMarkerData) -> String
13
+
14
+ attr_accessor seq(): ::Integer
15
+
16
+ def seq!: () -> ::Integer?
17
+
18
+ # The number of attempts at execution before we recorded this result. Typically starts at 1,
19
+ # but it is possible to start at a higher number when backing off using a timer.
20
+ #
21
+ attr_accessor attempt(): ::Integer
22
+
23
+ def attempt!: () -> ::Integer?
24
+
25
+ attr_accessor activity_id(): ::String
26
+
27
+ def activity_id!: () -> ::String?
28
+
29
+ attr_accessor activity_type(): ::String
30
+
31
+ def activity_type!: () -> ::String?
32
+
33
+ # You can think of this as "perceived completion time". It is the time the local activity thought
34
+ # it was when it completed. Which could be different from wall-clock time because of workflow
35
+ # replay. It's the WFT start time + the LA's runtime
36
+ #
37
+ attr_accessor complete_time(): ::Google::Protobuf::Timestamp?
38
+
39
+ # You can think of this as "perceived completion time". It is the time the local activity thought
40
+ # it was when it completed. Which could be different from wall-clock time because of workflow
41
+ # replay. It's the WFT start time + the LA's runtime
42
+ #
43
+ def complete_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
44
+ | ...
45
+
46
+ def complete_time!: () -> ::Google::Protobuf::Timestamp?
47
+
48
+ # If set, this local activity conceptually is retrying after the specified backoff.
49
+ # Implementation wise, they are really two different LA machines, but with the same type & input.
50
+ # The retry starts with an attempt number > 1.
51
+ #
52
+ attr_accessor backoff(): ::Google::Protobuf::Duration?
53
+
54
+ # If set, this local activity conceptually is retrying after the specified backoff.
55
+ # Implementation wise, they are really two different LA machines, but with the same type & input.
56
+ # The retry starts with an attempt number > 1.
57
+ #
58
+ def backoff=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
59
+ | ...
60
+
61
+ def backoff!: () -> ::Google::Protobuf::Duration?
62
+
63
+ # The time the LA was originally scheduled (wall clock time). This is used to track
64
+ # schedule-to-close timeouts when timer-based backoffs are used
65
+ #
66
+ attr_accessor original_schedule_time(): ::Google::Protobuf::Timestamp?
67
+
68
+ # The time the LA was originally scheduled (wall clock time). This is used to track
69
+ # schedule-to-close timeouts when timer-based backoffs are used
70
+ #
71
+ def original_schedule_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
72
+ | ...
73
+
74
+ def original_schedule_time!: () -> ::Google::Protobuf::Timestamp?
75
+
76
+ def initialize: (?seq: ::Integer, ?attempt: ::Integer, ?activity_id: ::String, ?activity_type: ::String, ?complete_time: ::Google::Protobuf::Timestamp::init?, ?backoff: ::Google::Protobuf::Duration::init?, ?original_schedule_time: ::Google::Protobuf::Timestamp::init?) -> void
77
+
78
+ def []: (:seq) -> ::Integer
79
+ | (:attempt) -> ::Integer
80
+ | (:activity_id) -> ::String
81
+ | (:activity_type) -> ::String
82
+ | (:complete_time) -> ::Google::Protobuf::Timestamp?
83
+ | (:backoff) -> ::Google::Protobuf::Duration?
84
+ | (:original_schedule_time) -> ::Google::Protobuf::Timestamp?
85
+ | (::Symbol) -> untyped
86
+
87
+ def []=: (:seq, ::Integer) -> ::Integer
88
+ | (:attempt, ::Integer) -> ::Integer
89
+ | (:activity_id, ::String) -> ::String
90
+ | (:activity_type, ::String) -> ::String
91
+ | (:complete_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
92
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:complete_time, M?) -> M?
93
+ | (:backoff, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
94
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:backoff, M?) -> M?
95
+ | (:original_schedule_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
96
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:original_schedule_time, M?) -> M?
97
+ | (::Symbol, untyped) -> untyped
98
+
99
+ interface _ToProto
100
+ def to_proto: () -> LocalActivityMarkerData
101
+ end
102
+
103
+ # The type of `#initialize` parameter.
104
+ type init = LocalActivityMarkerData | _ToProto
105
+
106
+ # The type of `repeated` field.
107
+ type field_array = ::Protobuf::Field::FieldArray[LocalActivityMarkerData, LocalActivityMarkerData | _ToProto]
108
+
109
+ # The type of `map` field.
110
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, LocalActivityMarkerData, LocalActivityMarkerData | _ToProto]
111
+
112
+ type array = ::Array[LocalActivityMarkerData | _ToProto]
113
+
114
+ type hash[KEY] = ::Hash[KEY, LocalActivityMarkerData | _ToProto]
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end