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,110 @@
1
+ module Temporalio
2
+ module Api
3
+ module Sdk
4
+ module V1
5
+ class WorkflowTaskCompletedMetadata < ::Protobuf::Message
6
+ # Encode the message to a binary string
7
+ #
8
+ def self.encode: (WorkflowTaskCompletedMetadata) -> String
9
+
10
+ # Internal flags used by the core SDK. SDKs using flags must comply with the following behavior:
11
+ #
12
+ # During replay:
13
+ # * If a flag is not recognized (value is too high or not defined), it must fail the workflow
14
+ # task.
15
+ # * If a flag is recognized, it is stored in a set of used flags for the run. Code checks for
16
+ # that flag during and after this WFT are allowed to assume that the flag is present.
17
+ # * If a code check for a flag does not find the flag in the set of used flags, it must take
18
+ # the branch corresponding to the absence of that flag.
19
+ #
20
+ # During non-replay execution of new WFTs:
21
+ # * The SDK is free to use all flags it knows about. It must record any newly-used (IE: not
22
+ # previously recorded) flags when completing the WFT.
23
+ #
24
+ # SDKs which are too old to even know about this field at all are considered to produce
25
+ # undefined behavior if they replay workflows which used this mechanism.
26
+ #
27
+ # (-- api-linter: core::0141::forbidden-types=disabled
28
+ # aip.dev/not-precedent: These really shouldn't have negative values. --)
29
+ #
30
+ attr_accessor core_used_flags(): ::Protobuf::field_array[::Integer]
31
+
32
+ # Internal flags used by the core SDK. SDKs using flags must comply with the following behavior:
33
+ #
34
+ # During replay:
35
+ # * If a flag is not recognized (value is too high or not defined), it must fail the workflow
36
+ # task.
37
+ # * If a flag is recognized, it is stored in a set of used flags for the run. Code checks for
38
+ # that flag during and after this WFT are allowed to assume that the flag is present.
39
+ # * If a code check for a flag does not find the flag in the set of used flags, it must take
40
+ # the branch corresponding to the absence of that flag.
41
+ #
42
+ # During non-replay execution of new WFTs:
43
+ # * The SDK is free to use all flags it knows about. It must record any newly-used (IE: not
44
+ # previously recorded) flags when completing the WFT.
45
+ #
46
+ # SDKs which are too old to even know about this field at all are considered to produce
47
+ # undefined behavior if they replay workflows which used this mechanism.
48
+ #
49
+ # (-- api-linter: core::0141::forbidden-types=disabled
50
+ # aip.dev/not-precedent: These really shouldn't have negative values. --)
51
+ #
52
+ def core_used_flags=: (::Array[::Integer]) -> ::Array[::Integer]
53
+ | ...
54
+
55
+ def core_used_flags!: () -> ::Protobuf::field_array[::Integer]?
56
+
57
+ # Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages
58
+ # here as processing a workflow with a different language than the one which authored it is
59
+ # already undefined behavior. See `core_used_patches` for more.
60
+ #
61
+ # (-- api-linter: core::0141::forbidden-types=disabled
62
+ # aip.dev/not-precedent: These really shouldn't have negative values. --)
63
+ #
64
+ attr_accessor lang_used_flags(): ::Protobuf::field_array[::Integer]
65
+
66
+ # Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages
67
+ # here as processing a workflow with a different language than the one which authored it is
68
+ # already undefined behavior. See `core_used_patches` for more.
69
+ #
70
+ # (-- api-linter: core::0141::forbidden-types=disabled
71
+ # aip.dev/not-precedent: These really shouldn't have negative values. --)
72
+ #
73
+ def lang_used_flags=: (::Array[::Integer]) -> ::Array[::Integer]
74
+ | ...
75
+
76
+ def lang_used_flags!: () -> ::Protobuf::field_array[::Integer]?
77
+
78
+ def initialize: (?core_used_flags: ::Array[::Integer], ?lang_used_flags: ::Array[::Integer]) -> void
79
+
80
+ def []: (:core_used_flags) -> ::Protobuf::field_array[::Integer]
81
+ | (:lang_used_flags) -> ::Protobuf::field_array[::Integer]
82
+ | (::Symbol) -> untyped
83
+
84
+ def []=: (:core_used_flags, ::Protobuf::field_array[::Integer]) -> ::Protobuf::field_array[::Integer]
85
+ | (:core_used_flags, ::Array[::Integer]) -> ::Array[::Integer]
86
+ | (:lang_used_flags, ::Protobuf::field_array[::Integer]) -> ::Protobuf::field_array[::Integer]
87
+ | (:lang_used_flags, ::Array[::Integer]) -> ::Array[::Integer]
88
+ | (::Symbol, untyped) -> untyped
89
+
90
+ interface _ToProto
91
+ def to_proto: () -> WorkflowTaskCompletedMetadata
92
+ end
93
+
94
+ # The type of `#initialize` parameter.
95
+ type init = WorkflowTaskCompletedMetadata | _ToProto
96
+
97
+ # The type of `repeated` field.
98
+ type field_array = ::Protobuf::Field::FieldArray[WorkflowTaskCompletedMetadata, WorkflowTaskCompletedMetadata | _ToProto]
99
+
100
+ # The type of `map` field.
101
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, WorkflowTaskCompletedMetadata, WorkflowTaskCompletedMetadata | _ToProto]
102
+
103
+ type array = ::Array[WorkflowTaskCompletedMetadata | _ToProto]
104
+
105
+ type hash[KEY] = ::Hash[KEY, WorkflowTaskCompletedMetadata | _ToProto]
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,486 @@
1
+ module Temporalio
2
+ module Api
3
+ module TaskQueue
4
+ module V1
5
+ # See https://docs.temporal.io/docs/concepts/task-queues/
6
+ #
7
+ class TaskQueue < ::Protobuf::Message
8
+ # Encode the message to a binary string
9
+ #
10
+ def self.encode: (TaskQueue) -> String
11
+
12
+ attr_accessor name(): ::String
13
+
14
+ def name!: () -> ::String?
15
+
16
+ # Default: TASK_QUEUE_KIND_NORMAL.
17
+ #
18
+ attr_accessor kind(): ::Temporalio::Api::Enums::V1::TaskQueueKind
19
+
20
+ # Default: TASK_QUEUE_KIND_NORMAL.
21
+ #
22
+ def kind=: (::Temporalio::Api::Enums::V1::TaskQueueKind::values) -> ::Temporalio::Api::Enums::V1::TaskQueueKind::values
23
+ | ...
24
+
25
+ def kind!: () -> ::Temporalio::Api::Enums::V1::TaskQueueKind?
26
+
27
+ def initialize: (?name: ::String, ?kind: ::Temporalio::Api::Enums::V1::TaskQueueKind::init) -> void
28
+
29
+ def []: (:name) -> ::String
30
+ | (:kind) -> ::Temporalio::Api::Enums::V1::TaskQueueKind
31
+ | (::Symbol) -> untyped
32
+
33
+ def []=: (:name, ::String) -> ::String
34
+ | (:kind, ::Temporalio::Api::Enums::V1::TaskQueueKind) -> ::Temporalio::Api::Enums::V1::TaskQueueKind
35
+ | (:kind, ::Temporalio::Api::Enums::V1::TaskQueueKind::values) -> ::Temporalio::Api::Enums::V1::TaskQueueKind::values
36
+ | (::Symbol, untyped) -> untyped
37
+
38
+ interface _ToProto
39
+ def to_proto: () -> TaskQueue
40
+ end
41
+
42
+ # The type of `#initialize` parameter.
43
+ type init = TaskQueue | _ToProto
44
+
45
+ # The type of `repeated` field.
46
+ type field_array = ::Protobuf::Field::FieldArray[TaskQueue, TaskQueue | _ToProto]
47
+
48
+ # The type of `map` field.
49
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TaskQueue, TaskQueue | _ToProto]
50
+
51
+ type array = ::Array[TaskQueue | _ToProto]
52
+
53
+ type hash[KEY] = ::Hash[KEY, TaskQueue | _ToProto]
54
+ end
55
+
56
+ # Only applies to activity task queues
57
+ #
58
+ class TaskQueueMetadata < ::Protobuf::Message
59
+ # Encode the message to a binary string
60
+ #
61
+ def self.encode: (TaskQueueMetadata) -> String
62
+
63
+ # Allows throttling dispatch of tasks from this queue
64
+ #
65
+ attr_accessor max_tasks_per_second(): ::Google::Protobuf::DoubleValue?
66
+
67
+ # Allows throttling dispatch of tasks from this queue
68
+ #
69
+ def max_tasks_per_second=: [M < ::Google::Protobuf::DoubleValue::_ToProto] (M?) -> M?
70
+ | ...
71
+
72
+ def max_tasks_per_second!: () -> ::Google::Protobuf::DoubleValue?
73
+
74
+ def initialize: (?max_tasks_per_second: ::Google::Protobuf::DoubleValue::init?) -> void
75
+
76
+ def []: (:max_tasks_per_second) -> ::Google::Protobuf::DoubleValue?
77
+ | (::Symbol) -> untyped
78
+
79
+ def []=: (:max_tasks_per_second, ::Google::Protobuf::DoubleValue?) -> ::Google::Protobuf::DoubleValue?
80
+ | [M < ::Google::Protobuf::DoubleValue::_ToProto] (:max_tasks_per_second, M?) -> M?
81
+ | (::Symbol, untyped) -> untyped
82
+
83
+ interface _ToProto
84
+ def to_proto: () -> TaskQueueMetadata
85
+ end
86
+
87
+ # The type of `#initialize` parameter.
88
+ type init = TaskQueueMetadata | _ToProto
89
+
90
+ # The type of `repeated` field.
91
+ type field_array = ::Protobuf::Field::FieldArray[TaskQueueMetadata, TaskQueueMetadata | _ToProto]
92
+
93
+ # The type of `map` field.
94
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TaskQueueMetadata, TaskQueueMetadata | _ToProto]
95
+
96
+ type array = ::Array[TaskQueueMetadata | _ToProto]
97
+
98
+ type hash[KEY] = ::Hash[KEY, TaskQueueMetadata | _ToProto]
99
+ end
100
+
101
+ class TaskQueueStatus < ::Protobuf::Message
102
+ # Encode the message to a binary string
103
+ #
104
+ def self.encode: (TaskQueueStatus) -> String
105
+
106
+ attr_accessor backlog_count_hint(): ::Integer
107
+
108
+ def backlog_count_hint!: () -> ::Integer?
109
+
110
+ attr_accessor read_level(): ::Integer
111
+
112
+ def read_level!: () -> ::Integer?
113
+
114
+ attr_accessor ack_level(): ::Integer
115
+
116
+ def ack_level!: () -> ::Integer?
117
+
118
+ attr_accessor rate_per_second(): ::Float
119
+
120
+ def rate_per_second!: () -> ::Float?
121
+
122
+ attr_accessor task_id_block(): ::Temporalio::Api::TaskQueue::V1::TaskIdBlock?
123
+
124
+ def task_id_block=: [M < ::Temporalio::Api::TaskQueue::V1::TaskIdBlock::_ToProto] (M?) -> M?
125
+ | ...
126
+
127
+ def task_id_block!: () -> ::Temporalio::Api::TaskQueue::V1::TaskIdBlock?
128
+
129
+ def initialize: (?backlog_count_hint: ::Integer, ?read_level: ::Integer, ?ack_level: ::Integer, ?rate_per_second: ::Float, ?task_id_block: ::Temporalio::Api::TaskQueue::V1::TaskIdBlock::init?) -> void
130
+
131
+ def []: (:backlog_count_hint) -> ::Integer
132
+ | (:read_level) -> ::Integer
133
+ | (:ack_level) -> ::Integer
134
+ | (:rate_per_second) -> ::Float
135
+ | (:task_id_block) -> ::Temporalio::Api::TaskQueue::V1::TaskIdBlock?
136
+ | (::Symbol) -> untyped
137
+
138
+ def []=: (:backlog_count_hint, ::Integer) -> ::Integer
139
+ | (:read_level, ::Integer) -> ::Integer
140
+ | (:ack_level, ::Integer) -> ::Integer
141
+ | (:rate_per_second, ::Float) -> ::Float
142
+ | (:task_id_block, ::Temporalio::Api::TaskQueue::V1::TaskIdBlock?) -> ::Temporalio::Api::TaskQueue::V1::TaskIdBlock?
143
+ | [M < ::Temporalio::Api::TaskQueue::V1::TaskIdBlock::_ToProto] (:task_id_block, M?) -> M?
144
+ | (::Symbol, untyped) -> untyped
145
+
146
+ interface _ToProto
147
+ def to_proto: () -> TaskQueueStatus
148
+ end
149
+
150
+ # The type of `#initialize` parameter.
151
+ type init = TaskQueueStatus | _ToProto
152
+
153
+ # The type of `repeated` field.
154
+ type field_array = ::Protobuf::Field::FieldArray[TaskQueueStatus, TaskQueueStatus | _ToProto]
155
+
156
+ # The type of `map` field.
157
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TaskQueueStatus, TaskQueueStatus | _ToProto]
158
+
159
+ type array = ::Array[TaskQueueStatus | _ToProto]
160
+
161
+ type hash[KEY] = ::Hash[KEY, TaskQueueStatus | _ToProto]
162
+ end
163
+
164
+ class TaskIdBlock < ::Protobuf::Message
165
+ # Encode the message to a binary string
166
+ #
167
+ def self.encode: (TaskIdBlock) -> String
168
+
169
+ attr_accessor start_id(): ::Integer
170
+
171
+ def start_id!: () -> ::Integer?
172
+
173
+ attr_accessor end_id(): ::Integer
174
+
175
+ def end_id!: () -> ::Integer?
176
+
177
+ def initialize: (?start_id: ::Integer, ?end_id: ::Integer) -> void
178
+
179
+ def []: (:start_id) -> ::Integer
180
+ | (:end_id) -> ::Integer
181
+ | (::Symbol) -> untyped
182
+
183
+ def []=: (:start_id, ::Integer) -> ::Integer
184
+ | (:end_id, ::Integer) -> ::Integer
185
+ | (::Symbol, untyped) -> untyped
186
+
187
+ interface _ToProto
188
+ def to_proto: () -> TaskIdBlock
189
+ end
190
+
191
+ # The type of `#initialize` parameter.
192
+ type init = TaskIdBlock | _ToProto
193
+
194
+ # The type of `repeated` field.
195
+ type field_array = ::Protobuf::Field::FieldArray[TaskIdBlock, TaskIdBlock | _ToProto]
196
+
197
+ # The type of `map` field.
198
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TaskIdBlock, TaskIdBlock | _ToProto]
199
+
200
+ type array = ::Array[TaskIdBlock | _ToProto]
201
+
202
+ type hash[KEY] = ::Hash[KEY, TaskIdBlock | _ToProto]
203
+ end
204
+
205
+ class TaskQueuePartitionMetadata < ::Protobuf::Message
206
+ # Encode the message to a binary string
207
+ #
208
+ def self.encode: (TaskQueuePartitionMetadata) -> String
209
+
210
+ attr_accessor key(): ::String
211
+
212
+ def key!: () -> ::String?
213
+
214
+ attr_accessor owner_host_name(): ::String
215
+
216
+ def owner_host_name!: () -> ::String?
217
+
218
+ def initialize: (?key: ::String, ?owner_host_name: ::String) -> void
219
+
220
+ def []: (:key) -> ::String
221
+ | (:owner_host_name) -> ::String
222
+ | (::Symbol) -> untyped
223
+
224
+ def []=: (:key, ::String) -> ::String
225
+ | (:owner_host_name, ::String) -> ::String
226
+ | (::Symbol, untyped) -> untyped
227
+
228
+ interface _ToProto
229
+ def to_proto: () -> TaskQueuePartitionMetadata
230
+ end
231
+
232
+ # The type of `#initialize` parameter.
233
+ type init = TaskQueuePartitionMetadata | _ToProto
234
+
235
+ # The type of `repeated` field.
236
+ type field_array = ::Protobuf::Field::FieldArray[TaskQueuePartitionMetadata, TaskQueuePartitionMetadata | _ToProto]
237
+
238
+ # The type of `map` field.
239
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, TaskQueuePartitionMetadata, TaskQueuePartitionMetadata | _ToProto]
240
+
241
+ type array = ::Array[TaskQueuePartitionMetadata | _ToProto]
242
+
243
+ type hash[KEY] = ::Hash[KEY, TaskQueuePartitionMetadata | _ToProto]
244
+ end
245
+
246
+ class PollerInfo < ::Protobuf::Message
247
+ # Encode the message to a binary string
248
+ #
249
+ def self.encode: (PollerInfo) -> String
250
+
251
+ # Unix Nano
252
+ #
253
+ attr_accessor last_access_time(): ::Google::Protobuf::Timestamp?
254
+
255
+ # Unix Nano
256
+ #
257
+ def last_access_time=: [M < ::Google::Protobuf::Timestamp::_ToProto] (M?) -> M?
258
+ | ...
259
+
260
+ def last_access_time!: () -> ::Google::Protobuf::Timestamp?
261
+
262
+ attr_accessor identity(): ::String
263
+
264
+ def identity!: () -> ::String?
265
+
266
+ attr_accessor rate_per_second(): ::Float
267
+
268
+ def rate_per_second!: () -> ::Float?
269
+
270
+ # If a worker has specified an ID for use with the worker versioning feature while polling,
271
+ # that id must appear here.
272
+ #
273
+ attr_accessor worker_versioning_id(): ::Temporalio::Api::TaskQueue::V1::VersionId?
274
+
275
+ # If a worker has specified an ID for use with the worker versioning feature while polling,
276
+ # that id must appear here.
277
+ #
278
+ def worker_versioning_id=: [M < ::Temporalio::Api::TaskQueue::V1::VersionId::_ToProto] (M?) -> M?
279
+ | ...
280
+
281
+ def worker_versioning_id!: () -> ::Temporalio::Api::TaskQueue::V1::VersionId?
282
+
283
+ def initialize: (?last_access_time: ::Google::Protobuf::Timestamp::init?, ?identity: ::String, ?rate_per_second: ::Float, ?worker_versioning_id: ::Temporalio::Api::TaskQueue::V1::VersionId::init?) -> void
284
+
285
+ def []: (:last_access_time) -> ::Google::Protobuf::Timestamp?
286
+ | (:identity) -> ::String
287
+ | (:rate_per_second) -> ::Float
288
+ | (:worker_versioning_id) -> ::Temporalio::Api::TaskQueue::V1::VersionId?
289
+ | (::Symbol) -> untyped
290
+
291
+ def []=: (:last_access_time, ::Google::Protobuf::Timestamp?) -> ::Google::Protobuf::Timestamp?
292
+ | [M < ::Google::Protobuf::Timestamp::_ToProto] (:last_access_time, M?) -> M?
293
+ | (:identity, ::String) -> ::String
294
+ | (:rate_per_second, ::Float) -> ::Float
295
+ | (:worker_versioning_id, ::Temporalio::Api::TaskQueue::V1::VersionId?) -> ::Temporalio::Api::TaskQueue::V1::VersionId?
296
+ | [M < ::Temporalio::Api::TaskQueue::V1::VersionId::_ToProto] (:worker_versioning_id, M?) -> M?
297
+ | (::Symbol, untyped) -> untyped
298
+
299
+ interface _ToProto
300
+ def to_proto: () -> PollerInfo
301
+ end
302
+
303
+ # The type of `#initialize` parameter.
304
+ type init = PollerInfo | _ToProto
305
+
306
+ # The type of `repeated` field.
307
+ type field_array = ::Protobuf::Field::FieldArray[PollerInfo, PollerInfo | _ToProto]
308
+
309
+ # The type of `map` field.
310
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, PollerInfo, PollerInfo | _ToProto]
311
+
312
+ type array = ::Array[PollerInfo | _ToProto]
313
+
314
+ type hash[KEY] = ::Hash[KEY, PollerInfo | _ToProto]
315
+ end
316
+
317
+ class StickyExecutionAttributes < ::Protobuf::Message
318
+ # Encode the message to a binary string
319
+ #
320
+ def self.encode: (StickyExecutionAttributes) -> String
321
+
322
+ attr_accessor worker_task_queue(): ::Temporalio::Api::TaskQueue::V1::TaskQueue?
323
+
324
+ def worker_task_queue=: [M < ::Temporalio::Api::TaskQueue::V1::TaskQueue::_ToProto] (M?) -> M?
325
+ | ...
326
+
327
+ def worker_task_queue!: () -> ::Temporalio::Api::TaskQueue::V1::TaskQueue?
328
+
329
+ # (-- api-linter: core::0140::prepositions=disabled
330
+ # aip.dev/not-precedent: "to" is used to indicate interval. --)
331
+ #
332
+ attr_accessor schedule_to_start_timeout(): ::Google::Protobuf::Duration?
333
+
334
+ # (-- api-linter: core::0140::prepositions=disabled
335
+ # aip.dev/not-precedent: "to" is used to indicate interval. --)
336
+ #
337
+ def schedule_to_start_timeout=: [M < ::Google::Protobuf::Duration::_ToProto] (M?) -> M?
338
+ | ...
339
+
340
+ def schedule_to_start_timeout!: () -> ::Google::Protobuf::Duration?
341
+
342
+ def initialize: (?worker_task_queue: ::Temporalio::Api::TaskQueue::V1::TaskQueue::init?, ?schedule_to_start_timeout: ::Google::Protobuf::Duration::init?) -> void
343
+
344
+ def []: (:worker_task_queue) -> ::Temporalio::Api::TaskQueue::V1::TaskQueue?
345
+ | (:schedule_to_start_timeout) -> ::Google::Protobuf::Duration?
346
+ | (::Symbol) -> untyped
347
+
348
+ def []=: (:worker_task_queue, ::Temporalio::Api::TaskQueue::V1::TaskQueue?) -> ::Temporalio::Api::TaskQueue::V1::TaskQueue?
349
+ | [M < ::Temporalio::Api::TaskQueue::V1::TaskQueue::_ToProto] (:worker_task_queue, M?) -> M?
350
+ | (:schedule_to_start_timeout, ::Google::Protobuf::Duration?) -> ::Google::Protobuf::Duration?
351
+ | [M < ::Google::Protobuf::Duration::_ToProto] (:schedule_to_start_timeout, M?) -> M?
352
+ | (::Symbol, untyped) -> untyped
353
+
354
+ interface _ToProto
355
+ def to_proto: () -> StickyExecutionAttributes
356
+ end
357
+
358
+ # The type of `#initialize` parameter.
359
+ type init = StickyExecutionAttributes | _ToProto
360
+
361
+ # The type of `repeated` field.
362
+ type field_array = ::Protobuf::Field::FieldArray[StickyExecutionAttributes, StickyExecutionAttributes | _ToProto]
363
+
364
+ # The type of `map` field.
365
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, StickyExecutionAttributes, StickyExecutionAttributes | _ToProto]
366
+
367
+ type array = ::Array[StickyExecutionAttributes | _ToProto]
368
+
369
+ type hash[KEY] = ::Hash[KEY, StickyExecutionAttributes | _ToProto]
370
+ end
371
+
372
+ # Used by the worker versioning APIs, represents a node in the version graph for a particular
373
+ # task queue
374
+ #
375
+ class VersionIdNode < ::Protobuf::Message
376
+ # Encode the message to a binary string
377
+ #
378
+ def self.encode: (VersionIdNode) -> String
379
+
380
+ attr_accessor version(): ::Temporalio::Api::TaskQueue::V1::VersionId?
381
+
382
+ def version=: [M < ::Temporalio::Api::TaskQueue::V1::VersionId::_ToProto] (M?) -> M?
383
+ | ...
384
+
385
+ def version!: () -> ::Temporalio::Api::TaskQueue::V1::VersionId?
386
+
387
+ # A pointer to the previous version this version is considered to be compatible with
388
+ #
389
+ attr_accessor previous_compatible(): ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
390
+
391
+ # A pointer to the previous version this version is considered to be compatible with
392
+ #
393
+ def previous_compatible=: [M < ::Temporalio::Api::TaskQueue::V1::VersionIdNode::_ToProto] (M?) -> M?
394
+ | ...
395
+
396
+ def previous_compatible!: () -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
397
+
398
+ # A pointer to the last incompatible version (previous major version)
399
+ #
400
+ attr_accessor previous_incompatible(): ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
401
+
402
+ # A pointer to the last incompatible version (previous major version)
403
+ #
404
+ def previous_incompatible=: [M < ::Temporalio::Api::TaskQueue::V1::VersionIdNode::_ToProto] (M?) -> M?
405
+ | ...
406
+
407
+ def previous_incompatible!: () -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
408
+
409
+ def initialize: (?version: ::Temporalio::Api::TaskQueue::V1::VersionId::init?, ?previous_compatible: ::Temporalio::Api::TaskQueue::V1::VersionIdNode::init?, ?previous_incompatible: ::Temporalio::Api::TaskQueue::V1::VersionIdNode::init?) -> void
410
+
411
+ def []: (:version) -> ::Temporalio::Api::TaskQueue::V1::VersionId?
412
+ | (:previous_compatible) -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
413
+ | (:previous_incompatible) -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
414
+ | (::Symbol) -> untyped
415
+
416
+ def []=: (:version, ::Temporalio::Api::TaskQueue::V1::VersionId?) -> ::Temporalio::Api::TaskQueue::V1::VersionId?
417
+ | [M < ::Temporalio::Api::TaskQueue::V1::VersionId::_ToProto] (:version, M?) -> M?
418
+ | (:previous_compatible, ::Temporalio::Api::TaskQueue::V1::VersionIdNode?) -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
419
+ | [M < ::Temporalio::Api::TaskQueue::V1::VersionIdNode::_ToProto] (:previous_compatible, M?) -> M?
420
+ | (:previous_incompatible, ::Temporalio::Api::TaskQueue::V1::VersionIdNode?) -> ::Temporalio::Api::TaskQueue::V1::VersionIdNode?
421
+ | [M < ::Temporalio::Api::TaskQueue::V1::VersionIdNode::_ToProto] (:previous_incompatible, M?) -> M?
422
+ | (::Symbol, untyped) -> untyped
423
+
424
+ interface _ToProto
425
+ def to_proto: () -> VersionIdNode
426
+ end
427
+
428
+ # The type of `#initialize` parameter.
429
+ type init = VersionIdNode | _ToProto
430
+
431
+ # The type of `repeated` field.
432
+ type field_array = ::Protobuf::Field::FieldArray[VersionIdNode, VersionIdNode | _ToProto]
433
+
434
+ # The type of `map` field.
435
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, VersionIdNode, VersionIdNode | _ToProto]
436
+
437
+ type array = ::Array[VersionIdNode | _ToProto]
438
+
439
+ type hash[KEY] = ::Hash[KEY, VersionIdNode | _ToProto]
440
+ end
441
+
442
+ # Used by the worker versioning APIs, represents a specific version of something
443
+ # Currently, that's just a whole-worker id. In the future, if we support
444
+ # WASM workflow bundle based versioning, for example, then the inside of this
445
+ # message may become a oneof of different version types.
446
+ #
447
+ class VersionId < ::Protobuf::Message
448
+ # Encode the message to a binary string
449
+ #
450
+ def self.encode: (VersionId) -> String
451
+
452
+ # An opaque whole-worker identifier
453
+ #
454
+ attr_accessor worker_build_id(): ::String
455
+
456
+ def worker_build_id!: () -> ::String?
457
+
458
+ def initialize: (?worker_build_id: ::String) -> void
459
+
460
+ def []: (:worker_build_id) -> ::String
461
+ | (::Symbol) -> untyped
462
+
463
+ def []=: (:worker_build_id, ::String) -> ::String
464
+ | (::Symbol, untyped) -> untyped
465
+
466
+ interface _ToProto
467
+ def to_proto: () -> VersionId
468
+ end
469
+
470
+ # The type of `#initialize` parameter.
471
+ type init = VersionId | _ToProto
472
+
473
+ # The type of `repeated` field.
474
+ type field_array = ::Protobuf::Field::FieldArray[VersionId, VersionId | _ToProto]
475
+
476
+ # The type of `map` field.
477
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, VersionId, VersionId | _ToProto]
478
+
479
+ type array = ::Array[VersionId | _ToProto]
480
+
481
+ type hash[KEY] = ::Hash[KEY, VersionId | _ToProto]
482
+ end
483
+ end
484
+ end
485
+ end
486
+ end