temporalio 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,751 +1,86 @@
1
- require 'temporal/api/workflowservice/v1/request_response_pb'
2
1
  require 'temporalio/bridge'
2
+ require 'temporalio/bridge/connect_options'
3
+ require 'temporalio/bridge/tls_options'
4
+ require 'temporalio/connection/tls_options'
5
+ require 'temporalio/connection/test_service'
6
+ require 'temporalio/connection/workflow_service'
3
7
  require 'temporalio/errors'
4
8
  require 'temporalio/runtime'
5
9
  require 'uri'
6
10
 
7
11
  module Temporalio
8
- # A connection to the Temporal server.
12
+ # A connection to the Temporal server. It provides gRPC level communication to a Temporal server.
9
13
  #
10
- # This is used to instantiate a {Temporalio::Client}. But it also can be used for a direct
11
- # interaction with the API.
14
+ # Connections are usually used through either a {Temporalio::Client} or a {Temporalio::Worker}.
15
+ # It may also be used to perform gRPC requests to the server (see {#workflow_service}).
12
16
  class Connection
13
17
  # @api private
14
18
  attr_reader :core_connection
15
19
 
16
- # @param host [String] `host:port` for the Temporal server. For local development, this is
17
- # often `"localhost:7233"`.
18
- def initialize(host)
19
- url = parse_url(host)
20
- runtime = Temporalio::Runtime.instance
21
- @core_connection = Temporalio::Bridge::Connection.connect(runtime.core_runtime, url)
22
- end
23
-
24
- # @param request [Temporalio::Api::WorkflowService::V1::RegisterNamespaceRequest]
25
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
26
- # Keys here override client-level RPC metadata keys.
27
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
28
- #
29
- # @return [Temporalio::Api::WorkflowService::V1::RegisterNamespaceResponse]
30
- def register_namespace(request, metadata: {}, timeout: nil)
31
- encoded = Temporalio::Api::WorkflowService::V1::RegisterNamespaceRequest.encode(request)
32
- response = core_connection.call(:register_namespace, encoded, metadata, timeout)
33
-
34
- Temporalio::Api::WorkflowService::V1::RegisterNamespaceResponse.decode(response)
35
- end
36
-
37
- # @param request [Temporalio::Api::WorkflowService::V1::DescribeNamespaceRequest]
38
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
39
- # Keys here override client-level RPC metadata keys.
40
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
41
- #
42
- # @return [Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse]
43
- def describe_namespace(request, metadata: {}, timeout: nil)
44
- encoded = Temporalio::Api::WorkflowService::V1::DescribeNamespaceRequest.encode(request)
45
- response = core_connection.call(:describe_namespace, encoded, metadata, timeout)
46
-
47
- Temporalio::Api::WorkflowService::V1::DescribeNamespaceResponse.decode(response)
48
- end
49
-
50
- # @param request [Temporalio::Api::WorkflowService::V1::ListNamespacesRequest]
51
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
52
- # Keys here override client-level RPC metadata keys.
53
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
54
- #
55
- # @return [Temporalio::Api::WorkflowService::V1::ListNamespacesResponse]
56
- def list_namespaces(request, metadata: {}, timeout: nil)
57
- encoded = Temporalio::Api::WorkflowService::V1::ListNamespacesRequest.encode(request)
58
- response = core_connection.call(:list_namespaces, encoded, metadata, timeout)
59
-
60
- Temporalio::Api::WorkflowService::V1::ListNamespacesResponse.decode(response)
61
- end
62
-
63
- # @param request [Temporalio::Api::WorkflowService::V1::UpdateNamespaceRequest]
64
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
65
- # Keys here override client-level RPC metadata keys.
66
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
67
- #
68
- # @return [Temporalio::Api::WorkflowService::V1::UpdateNamespaceResponse]
69
- def update_namespace(request, metadata: {}, timeout: nil)
70
- encoded = Temporalio::Api::WorkflowService::V1::UpdateNamespaceRequest.encode(request)
71
- response = core_connection.call(:update_namespace, encoded, metadata, timeout)
72
-
73
- Temporalio::Api::WorkflowService::V1::UpdateNamespaceResponse.decode(response)
74
- end
75
-
76
- # @param request [Temporalio::Api::WorkflowService::V1::DeprecateNamespaceRequest]
77
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
78
- # Keys here override client-level RPC metadata keys.
79
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
80
- #
81
- # @return [Temporalio::Api::WorkflowService::V1::DeprecateNamespaceResponse]
82
- def deprecate_namespace(request, metadata: {}, timeout: nil)
83
- encoded = Temporalio::Api::WorkflowService::V1::DeprecateNamespaceRequest.encode(request)
84
- response = core_connection.call(:deprecate_namespace, encoded, metadata, timeout)
85
-
86
- Temporalio::Api::WorkflowService::V1::DeprecateNamespaceResponse.decode(response)
87
- end
88
-
89
- # @param request [Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest]
90
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
91
- # Keys here override client-level RPC metadata keys.
92
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
93
- #
94
- # @return [Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse]
95
- def start_workflow_execution(request, metadata: {}, timeout: nil)
96
- encoded = Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionRequest.encode(request)
97
- response = core_connection.call(:start_workflow_execution, encoded, metadata, timeout)
98
-
99
- Temporalio::Api::WorkflowService::V1::StartWorkflowExecutionResponse.decode(response)
100
- end
101
-
102
- # @param request [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest]
103
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
104
- # Keys here override client-level RPC metadata keys.
105
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
106
- #
107
- # @return [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse]
108
- def get_workflow_execution_history(request, metadata: {}, timeout: nil)
109
- encoded = Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryRequest.encode(request)
110
- response = core_connection.call(:get_workflow_execution_history, encoded, metadata, timeout)
111
-
112
- Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryResponse.decode(response)
113
- end
114
-
115
- # @param request [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest]
116
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
117
- # Keys here override client-level RPC metadata keys.
118
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
119
- #
120
- # @return [Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse]
121
- def get_workflow_execution_history_reverse(request, metadata: {}, timeout: nil)
122
- encoded = Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseRequest.encode(request)
123
- response = core_connection.call(:get_workflow_execution_history_reverse, encoded, metadata, timeout)
124
-
125
- Temporalio::Api::WorkflowService::V1::GetWorkflowExecutionHistoryReverseResponse.decode(response)
126
- end
127
-
128
- # @param request [Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest]
129
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
130
- # Keys here override client-level RPC metadata keys.
131
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
132
- #
133
- # @return [Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse]
134
- def poll_workflow_task_queue(request, metadata: {}, timeout: nil)
135
- encoded = Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueRequest.encode(request)
136
- response = core_connection.call(:poll_workflow_task_queue, encoded, metadata, timeout)
137
-
138
- Temporalio::Api::WorkflowService::V1::PollWorkflowTaskQueueResponse.decode(response)
139
- end
140
-
141
- # @param request [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest]
142
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
143
- # Keys here override client-level RPC metadata keys.
144
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
145
- #
146
- # @return [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse]
147
- def respond_workflow_task_completed(request, metadata: {}, timeout: nil)
148
- encoded = Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedRequest.encode(request)
149
- response = core_connection.call(:respond_workflow_task_completed, encoded, metadata, timeout)
150
-
151
- Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskCompletedResponse.decode(response)
152
- end
153
-
154
- # @param request [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest]
155
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
156
- # Keys here override client-level RPC metadata keys.
157
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
158
- #
159
- # @return [Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse]
160
- def respond_workflow_task_failed(request, metadata: {}, timeout: nil)
161
- encoded = Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedRequest.encode(request)
162
- response = core_connection.call(:respond_workflow_task_failed, encoded, metadata, timeout)
163
-
164
- Temporalio::Api::WorkflowService::V1::RespondWorkflowTaskFailedResponse.decode(response)
165
- end
166
-
167
- # @param request [Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueRequest]
168
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
169
- # Keys here override client-level RPC metadata keys.
170
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
171
- #
172
- # @return [Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse]
173
- def poll_activity_task_queue(request, metadata: {}, timeout: nil)
174
- encoded = Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueRequest.encode(request)
175
- response = core_connection.call(:poll_activity_task_queue, encoded, metadata, timeout)
176
-
177
- Temporalio::Api::WorkflowService::V1::PollActivityTaskQueueResponse.decode(response)
178
- end
179
-
180
- # @param request [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest]
181
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
182
- # Keys here override client-level RPC metadata keys.
183
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
184
- #
185
- # @return [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse]
186
- def record_activity_task_heartbeat(request, metadata: {}, timeout: nil)
187
- encoded = Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatRequest.encode(request)
188
- response = core_connection.call(:record_activity_task_heartbeat, encoded, metadata, timeout)
189
-
190
- Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatResponse.decode(response)
191
- end
192
-
193
- # @param request [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest]
194
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
195
- # Keys here override client-level RPC metadata keys.
196
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
197
- #
198
- # @return [Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse]
199
- def record_activity_task_heartbeat_by_id(request, metadata: {}, timeout: nil)
200
- encoded = Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdRequest.encode(request)
201
- response = core_connection.call(:record_activity_task_heartbeat_by_id, encoded, metadata, timeout)
202
-
203
- Temporalio::Api::WorkflowService::V1::RecordActivityTaskHeartbeatByIdResponse.decode(response)
204
- end
205
-
206
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest]
207
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
208
- # Keys here override client-level RPC metadata keys.
209
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
210
- #
211
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse]
212
- def respond_activity_task_completed(request, metadata: {}, timeout: nil)
213
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedRequest.encode(request)
214
- response = core_connection.call(:respond_activity_task_completed, encoded, metadata, timeout)
215
-
216
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedResponse.decode(response)
217
- end
218
-
219
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest]
220
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
221
- # Keys here override client-level RPC metadata keys.
222
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
223
- #
224
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse]
225
- def respond_activity_task_completed_by_id(request, metadata: {}, timeout: nil)
226
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdRequest.encode(request)
227
- response = core_connection.call(:respond_activity_task_completed_by_id, encoded, metadata, timeout)
228
-
229
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskCompletedByIdResponse.decode(response)
230
- end
231
-
232
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedRequest]
233
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
234
- # Keys here override client-level RPC metadata keys.
235
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
236
- #
237
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedResponse]
238
- def respond_activity_task_failed(request, metadata: {}, timeout: nil)
239
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedRequest.encode(request)
240
- response = core_connection.call(:respond_activity_task_failed, encoded, metadata, timeout)
241
-
242
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedResponse.decode(response)
243
- end
244
-
245
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest]
246
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
247
- # Keys here override client-level RPC metadata keys.
248
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
249
- #
250
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse]
251
- def respond_activity_task_failed_by_id(request, metadata: {}, timeout: nil)
252
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdRequest.encode(request)
253
- response = core_connection.call(:respond_activity_task_failed_by_id, encoded, metadata, timeout)
254
-
255
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskFailedByIdResponse.decode(response)
256
- end
257
-
258
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest]
259
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
260
- # Keys here override client-level RPC metadata keys.
261
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
262
- #
263
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse]
264
- def respond_activity_task_canceled(request, metadata: {}, timeout: nil)
265
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledRequest.encode(request)
266
- response = core_connection.call(:respond_activity_task_canceled, encoded, metadata, timeout)
267
-
268
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledResponse.decode(response)
269
- end
270
-
271
- # @param request [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest]
272
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
273
- # Keys here override client-level RPC metadata keys.
274
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
275
- #
276
- # @return [Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse]
277
- def respond_activity_task_canceled_by_id(request, metadata: {}, timeout: nil)
278
- encoded = Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdRequest.encode(request)
279
- response = core_connection.call(:respond_activity_task_canceled_by_id, encoded, metadata, timeout)
280
-
281
- Temporalio::Api::WorkflowService::V1::RespondActivityTaskCanceledByIdResponse.decode(response)
282
- end
283
-
284
- # @param request [Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest]
285
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
286
- # Keys here override client-level RPC metadata keys.
287
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
288
- #
289
- # @return [Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse]
290
- def request_cancel_workflow_execution(request, metadata: {}, timeout: nil)
291
- encoded = Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionRequest.encode(request)
292
- response = core_connection.call(:request_cancel_workflow_execution, encoded, metadata, timeout)
293
-
294
- Temporalio::Api::WorkflowService::V1::RequestCancelWorkflowExecutionResponse.decode(response)
295
- end
296
-
297
- # @param request [Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest]
298
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
299
- # Keys here override client-level RPC metadata keys.
300
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
301
- #
302
- # @return [Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionResponse]
303
- def signal_workflow_execution(request, metadata: {}, timeout: nil)
304
- encoded = Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionRequest.encode(request)
305
- response = core_connection.call(:signal_workflow_execution, encoded, metadata, timeout)
306
-
307
- Temporalio::Api::WorkflowService::V1::SignalWorkflowExecutionResponse.decode(response)
308
- end
309
-
310
- # @param request [Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest]
311
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
312
- # Keys here override client-level RPC metadata keys.
313
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
314
- #
315
- # @return [Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse]
316
- def signal_with_start_workflow_execution(request, metadata: {}, timeout: nil)
317
- encoded = Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionRequest.encode(request)
318
- response = core_connection.call(:signal_with_start_workflow_execution, encoded, metadata, timeout)
319
-
320
- Temporalio::Api::WorkflowService::V1::SignalWithStartWorkflowExecutionResponse.decode(response)
321
- end
322
-
323
- # @param request [Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionRequest]
324
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
325
- # Keys here override client-level RPC metadata keys.
326
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
327
- #
328
- # @return [Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionResponse]
329
- def reset_workflow_execution(request, metadata: {}, timeout: nil)
330
- encoded = Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionRequest.encode(request)
331
- response = core_connection.call(:reset_workflow_execution, encoded, metadata, timeout)
332
-
333
- Temporalio::Api::WorkflowService::V1::ResetWorkflowExecutionResponse.decode(response)
334
- end
335
-
336
- # @param request [Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest]
337
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
338
- # Keys here override client-level RPC metadata keys.
339
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
340
- #
341
- # @return [Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse]
342
- def terminate_workflow_execution(request, metadata: {}, timeout: nil)
343
- encoded = Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionRequest.encode(request)
344
- response = core_connection.call(:terminate_workflow_execution, encoded, metadata, timeout)
345
-
346
- Temporalio::Api::WorkflowService::V1::TerminateWorkflowExecutionResponse.decode(response)
347
- end
348
-
349
- # @param request [Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionRequest]
350
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
351
- # Keys here override client-level RPC metadata keys.
352
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
353
- #
354
- # @return [Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionResponse]
355
- def delete_workflow_execution(request, metadata: {}, timeout: nil)
356
- encoded = Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionRequest.encode(request)
357
- response = core_connection.call(:delete_workflow_execution, encoded, metadata, timeout)
358
-
359
- Temporalio::Api::WorkflowService::V1::DeleteWorkflowExecutionResponse.decode(response)
360
- end
361
-
362
- # @param request [Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest]
363
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
364
- # Keys here override client-level RPC metadata keys.
365
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
366
- #
367
- # @return [Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse]
368
- def list_open_workflow_executions(request, metadata: {}, timeout: nil)
369
- encoded = Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsRequest.encode(request)
370
- response = core_connection.call(:list_open_workflow_executions, encoded, metadata, timeout)
20
+ # @param address [String | nil] `host[:port]` for the Temporal server. Defaults to `localhost:7233`.
21
+ # @param tls [Temporalio::Connection::TlsOptions | nil] TLS/mTLS options for the connection.
22
+ # By default, TLS is disabled.
23
+ # @param metadata [Hash | nil] gRPC metadata (ie. HTTP headers) to send with each request to the server. Optional.
24
+ # @param retry_config [Temporalio::Connection::RetryConfig | nil] gRPC retry configuration to use by default on this
25
+ # connection.
26
+ def initialize(
27
+ address = nil,
28
+ tls: nil,
29
+ metadata: nil,
30
+ retry_config: nil
31
+ )
32
+ host, port = parse_url(address)
371
33
 
372
- Temporalio::Api::WorkflowService::V1::ListOpenWorkflowExecutionsResponse.decode(response)
373
- end
374
-
375
- # @param request [Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest]
376
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
377
- # Keys here override client-level RPC metadata keys.
378
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
379
- #
380
- # @return [Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse]
381
- def list_closed_workflow_executions(request, metadata: {}, timeout: nil)
382
- encoded = Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsRequest.encode(request)
383
- response = core_connection.call(:list_closed_workflow_executions, encoded, metadata, timeout)
384
-
385
- Temporalio::Api::WorkflowService::V1::ListClosedWorkflowExecutionsResponse.decode(response)
386
- end
387
-
388
- # @param request [Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsRequest]
389
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
390
- # Keys here override client-level RPC metadata keys.
391
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
392
- #
393
- # @return [Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsResponse]
394
- def list_workflow_executions(request, metadata: {}, timeout: nil)
395
- encoded = Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsRequest.encode(request)
396
- response = core_connection.call(:list_workflow_executions, encoded, metadata, timeout)
397
-
398
- Temporalio::Api::WorkflowService::V1::ListWorkflowExecutionsResponse.decode(response)
399
- end
400
-
401
- # @param request [Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest]
402
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
403
- # Keys here override client-level RPC metadata keys.
404
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
405
- #
406
- # @return [Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse]
407
- def list_archived_workflow_executions(request, metadata: {}, timeout: nil)
408
- encoded = Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsRequest.encode(request)
409
- response = core_connection.call(:list_archived_workflow_executions, encoded, metadata, timeout)
410
-
411
- Temporalio::Api::WorkflowService::V1::ListArchivedWorkflowExecutionsResponse.decode(response)
412
- end
413
-
414
- # @param request [Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest]
415
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
416
- # Keys here override client-level RPC metadata keys.
417
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
418
- #
419
- # @return [Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse]
420
- def scan_workflow_executions(request, metadata: {}, timeout: nil)
421
- encoded = Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsRequest.encode(request)
422
- response = core_connection.call(:scan_workflow_executions, encoded, metadata, timeout)
423
-
424
- Temporalio::Api::WorkflowService::V1::ScanWorkflowExecutionsResponse.decode(response)
425
- end
426
-
427
- # @param request [Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsRequest]
428
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
429
- # Keys here override client-level RPC metadata keys.
430
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
431
- #
432
- # @return [Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsResponse]
433
- def count_workflow_executions(request, metadata: {}, timeout: nil)
434
- encoded = Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsRequest.encode(request)
435
- response = core_connection.call(:count_workflow_executions, encoded, metadata, timeout)
436
-
437
- Temporalio::Api::WorkflowService::V1::CountWorkflowExecutionsResponse.decode(response)
438
- end
439
-
440
- # @param request [Temporalio::Api::WorkflowService::V1::GetSearchAttributesRequest]
441
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
442
- # Keys here override client-level RPC metadata keys.
443
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
444
- #
445
- # @return [Temporalio::Api::WorkflowService::V1::GetSearchAttributesResponse]
446
- def get_search_attributes(request, metadata: {}, timeout: nil)
447
- encoded = Temporalio::Api::WorkflowService::V1::GetSearchAttributesRequest.encode(request)
448
- response = core_connection.call(:get_search_attributes, encoded, metadata, timeout)
449
-
450
- Temporalio::Api::WorkflowService::V1::GetSearchAttributesResponse.decode(response)
451
- end
452
-
453
- # @param request [Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest]
454
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
455
- # Keys here override client-level RPC metadata keys.
456
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
457
- #
458
- # @return [Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse]
459
- def respond_query_task_completed(request, metadata: {}, timeout: nil)
460
- encoded = Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedRequest.encode(request)
461
- response = core_connection.call(:respond_query_task_completed, encoded, metadata, timeout)
462
-
463
- Temporalio::Api::WorkflowService::V1::RespondQueryTaskCompletedResponse.decode(response)
464
- end
465
-
466
- # @param request [Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueRequest]
467
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
468
- # Keys here override client-level RPC metadata keys.
469
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
470
- #
471
- # @return [Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueResponse]
472
- def reset_sticky_task_queue(request, metadata: {}, timeout: nil)
473
- encoded = Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueRequest.encode(request)
474
- response = core_connection.call(:reset_sticky_task_queue, encoded, metadata, timeout)
475
-
476
- Temporalio::Api::WorkflowService::V1::ResetStickyTaskQueueResponse.decode(response)
477
- end
478
-
479
- # @param request [Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest]
480
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
481
- # Keys here override client-level RPC metadata keys.
482
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
483
- #
484
- # @return [Temporalio::Api::WorkflowService::V1::QueryWorkflowResponse]
485
- def query_workflow(request, metadata: {}, timeout: nil)
486
- encoded = Temporalio::Api::WorkflowService::V1::QueryWorkflowRequest.encode(request)
487
- response = core_connection.call(:query_workflow, encoded, metadata, timeout)
488
-
489
- Temporalio::Api::WorkflowService::V1::QueryWorkflowResponse.decode(response)
490
- end
491
-
492
- # @param request [Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest]
493
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
494
- # Keys here override client-level RPC metadata keys.
495
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
496
- #
497
- # @return [Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse]
498
- def describe_workflow_execution(request, metadata: {}, timeout: nil)
499
- encoded = Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionRequest.encode(request)
500
- response = core_connection.call(:describe_workflow_execution, encoded, metadata, timeout)
501
-
502
- Temporalio::Api::WorkflowService::V1::DescribeWorkflowExecutionResponse.decode(response)
503
- end
504
-
505
- # @param request [Temporalio::Api::WorkflowService::V1::DescribeTaskQueueRequest]
506
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
507
- # Keys here override client-level RPC metadata keys.
508
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
509
- #
510
- # @return [Temporalio::Api::WorkflowService::V1::DescribeTaskQueueResponse]
511
- def describe_task_queue(request, metadata: {}, timeout: nil)
512
- encoded = Temporalio::Api::WorkflowService::V1::DescribeTaskQueueRequest.encode(request)
513
- response = core_connection.call(:describe_task_queue, encoded, metadata, timeout)
514
-
515
- Temporalio::Api::WorkflowService::V1::DescribeTaskQueueResponse.decode(response)
516
- end
517
-
518
- # @param request [Temporalio::Api::WorkflowService::V1::GetClusterInfoRequest]
519
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
520
- # Keys here override client-level RPC metadata keys.
521
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
522
- #
523
- # @return [Temporalio::Api::WorkflowService::V1::GetClusterInfoResponse]
524
- def get_cluster_info(request, metadata: {}, timeout: nil)
525
- encoded = Temporalio::Api::WorkflowService::V1::GetClusterInfoRequest.encode(request)
526
- response = core_connection.call(:get_cluster_info, encoded, metadata, timeout)
527
-
528
- Temporalio::Api::WorkflowService::V1::GetClusterInfoResponse.decode(response)
529
- end
530
-
531
- # @param request [Temporalio::Api::WorkflowService::V1::GetSystemInfoRequest]
532
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
533
- # Keys here override client-level RPC metadata keys.
534
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
535
- #
536
- # @return [Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse]
537
- def get_system_info(request, metadata: {}, timeout: nil)
538
- encoded = Temporalio::Api::WorkflowService::V1::GetSystemInfoRequest.encode(request)
539
- response = core_connection.call(:get_system_info, encoded, metadata, timeout)
540
-
541
- Temporalio::Api::WorkflowService::V1::GetSystemInfoResponse.decode(response)
542
- end
543
-
544
- # @param request [Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest]
545
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
546
- # Keys here override client-level RPC metadata keys.
547
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
548
- #
549
- # @return [Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse]
550
- def list_task_queue_partitions(request, metadata: {}, timeout: nil)
551
- encoded = Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsRequest.encode(request)
552
- response = core_connection.call(:list_task_queue_partitions, encoded, metadata, timeout)
553
-
554
- Temporalio::Api::WorkflowService::V1::ListTaskQueuePartitionsResponse.decode(response)
555
- end
556
-
557
- # @param request [Temporalio::Api::WorkflowService::V1::CreateScheduleRequest]
558
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
559
- # Keys here override client-level RPC metadata keys.
560
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
561
- #
562
- # @return [Temporalio::Api::WorkflowService::V1::CreateScheduleResponse]
563
- def create_schedule(request, metadata: {}, timeout: nil)
564
- encoded = Temporalio::Api::WorkflowService::V1::CreateScheduleRequest.encode(request)
565
- response = core_connection.call(:create_schedule, encoded, metadata, timeout)
566
-
567
- Temporalio::Api::WorkflowService::V1::CreateScheduleResponse.decode(response)
568
- end
569
-
570
- # @param request [Temporalio::Api::WorkflowService::V1::DescribeScheduleRequest]
571
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
572
- # Keys here override client-level RPC metadata keys.
573
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
574
- #
575
- # @return [Temporalio::Api::WorkflowService::V1::DescribeScheduleResponse]
576
- def describe_schedule(request, metadata: {}, timeout: nil)
577
- encoded = Temporalio::Api::WorkflowService::V1::DescribeScheduleRequest.encode(request)
578
- response = core_connection.call(:describe_schedule, encoded, metadata, timeout)
579
-
580
- Temporalio::Api::WorkflowService::V1::DescribeScheduleResponse.decode(response)
581
- end
582
-
583
- # @param request [Temporalio::Api::WorkflowService::V1::UpdateScheduleRequest]
584
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
585
- # Keys here override client-level RPC metadata keys.
586
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
587
- #
588
- # @return [Temporalio::Api::WorkflowService::V1::UpdateScheduleResponse]
589
- def update_schedule(request, metadata: {}, timeout: nil)
590
- encoded = Temporalio::Api::WorkflowService::V1::UpdateScheduleRequest.encode(request)
591
- response = core_connection.call(:update_schedule, encoded, metadata, timeout)
592
-
593
- Temporalio::Api::WorkflowService::V1::UpdateScheduleResponse.decode(response)
594
- end
595
-
596
- # @param request [Temporalio::Api::WorkflowService::V1::PatchScheduleRequest]
597
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
598
- # Keys here override client-level RPC metadata keys.
599
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
600
- #
601
- # @return [Temporalio::Api::WorkflowService::V1::PatchScheduleResponse]
602
- def patch_schedule(request, metadata: {}, timeout: nil)
603
- encoded = Temporalio::Api::WorkflowService::V1::PatchScheduleRequest.encode(request)
604
- response = core_connection.call(:patch_schedule, encoded, metadata, timeout)
605
-
606
- Temporalio::Api::WorkflowService::V1::PatchScheduleResponse.decode(response)
607
- end
608
-
609
- # @param request [Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest]
610
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
611
- # Keys here override client-level RPC metadata keys.
612
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
613
- #
614
- # @return [Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse]
615
- def list_schedule_matching_times(request, metadata: {}, timeout: nil)
616
- encoded = Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesRequest.encode(request)
617
- response = core_connection.call(:list_schedule_matching_times, encoded, metadata, timeout)
618
-
619
- Temporalio::Api::WorkflowService::V1::ListScheduleMatchingTimesResponse.decode(response)
620
- end
621
-
622
- # @param request [Temporalio::Api::WorkflowService::V1::DeleteScheduleRequest]
623
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
624
- # Keys here override client-level RPC metadata keys.
625
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
626
- #
627
- # @return [Temporalio::Api::WorkflowService::V1::DeleteScheduleResponse]
628
- def delete_schedule(request, metadata: {}, timeout: nil)
629
- encoded = Temporalio::Api::WorkflowService::V1::DeleteScheduleRequest.encode(request)
630
- response = core_connection.call(:delete_schedule, encoded, metadata, timeout)
631
-
632
- Temporalio::Api::WorkflowService::V1::DeleteScheduleResponse.decode(response)
633
- end
634
-
635
- # @param request [Temporalio::Api::WorkflowService::V1::ListSchedulesRequest]
636
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
637
- # Keys here override client-level RPC metadata keys.
638
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
639
- #
640
- # @return [Temporalio::Api::WorkflowService::V1::ListSchedulesResponse]
641
- def list_schedules(request, metadata: {}, timeout: nil)
642
- encoded = Temporalio::Api::WorkflowService::V1::ListSchedulesRequest.encode(request)
643
- response = core_connection.call(:list_schedules, encoded, metadata, timeout)
644
-
645
- Temporalio::Api::WorkflowService::V1::ListSchedulesResponse.decode(response)
646
- end
647
-
648
- # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingRequest]
649
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
650
- # Keys here override client-level RPC metadata keys.
651
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
652
- #
653
- # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingResponse]
654
- def update_worker_build_id_ordering(request, metadata: {}, timeout: nil)
655
- encoded = Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingRequest.encode(request)
656
- response = core_connection.call(:update_worker_build_id_ordering, encoded, metadata, timeout)
657
-
658
- Temporalio::Api::WorkflowService::V1::UpdateWorkerBuildIdOrderingResponse.decode(response)
659
- end
660
-
661
- # @param request [Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdOrderingRequest]
662
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
663
- # Keys here override client-level RPC metadata keys.
664
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
665
- #
666
- # @return [Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdOrderingResponse]
667
- def get_worker_build_id_ordering(request, metadata: {}, timeout: nil)
668
- encoded = Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdOrderingRequest.encode(request)
669
- response = core_connection.call(:get_worker_build_id_ordering, encoded, metadata, timeout)
670
-
671
- Temporalio::Api::WorkflowService::V1::GetWorkerBuildIdOrderingResponse.decode(response)
672
- end
673
-
674
- # @param request [Temporalio::Api::WorkflowService::V1::UpdateWorkflowRequest]
675
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
676
- # Keys here override client-level RPC metadata keys.
677
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
678
- #
679
- # @return [Temporalio::Api::WorkflowService::V1::UpdateWorkflowResponse]
680
- def update_workflow(request, metadata: {}, timeout: nil)
681
- encoded = Temporalio::Api::WorkflowService::V1::UpdateWorkflowRequest.encode(request)
682
- response = core_connection.call(:update_workflow, encoded, metadata, timeout)
683
-
684
- Temporalio::Api::WorkflowService::V1::UpdateWorkflowResponse.decode(response)
685
- end
686
-
687
- # @param request [Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest]
688
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
689
- # Keys here override client-level RPC metadata keys.
690
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
691
- #
692
- # @return [Temporalio::Api::WorkflowService::V1::StartBatchOperationResponse]
693
- def start_batch_operation(request, metadata: {}, timeout: nil)
694
- encoded = Temporalio::Api::WorkflowService::V1::StartBatchOperationRequest.encode(request)
695
- response = core_connection.call(:start_batch_operation, encoded, metadata, timeout)
696
-
697
- Temporalio::Api::WorkflowService::V1::StartBatchOperationResponse.decode(response)
698
- end
699
-
700
- # @param request [Temporalio::Api::WorkflowService::V1::StopBatchOperationRequest]
701
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
702
- # Keys here override client-level RPC metadata keys.
703
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
704
- #
705
- # @return [Temporalio::Api::WorkflowService::V1::StopBatchOperationResponse]
706
- def stop_batch_operation(request, metadata: {}, timeout: nil)
707
- encoded = Temporalio::Api::WorkflowService::V1::StopBatchOperationRequest.encode(request)
708
- response = core_connection.call(:stop_batch_operation, encoded, metadata, timeout)
34
+ runtime = Temporalio::Runtime.instance
709
35
 
710
- Temporalio::Api::WorkflowService::V1::StopBatchOperationResponse.decode(response)
36
+ @core_connection = Temporalio::Bridge::Connection.connect(
37
+ runtime.core_runtime,
38
+ Temporalio::Bridge::ConnectOptions.new(
39
+ url: tls ? "https://#{host}:#{port}" : "http://#{host}:#{port}",
40
+ tls: tls && Temporalio::Bridge::TlsOptions.new(
41
+ server_root_ca_cert: tls.server_root_ca_cert,
42
+ client_cert: tls.client_cert,
43
+ client_private_key: tls.client_private_key,
44
+ server_name_override: tls.server_name_override,
45
+ ),
46
+ metadata: metadata,
47
+ retry_config: retry_config && Temporalio::Bridge::RetryConfig.new(
48
+ initial_interval_millis: retry_config.initial_interval_millis,
49
+ randomization_factor: retry_config.randomization_factor,
50
+ multiplier: retry_config.multiplier,
51
+ max_interval_millis: retry_config.max_interval_millis,
52
+ max_elapsed_time_millis: retry_config.max_elapsed_time_millis,
53
+ max_retries: retry_config.max_retries,
54
+ ),
55
+ client_version: Temporalio::VERSION,
56
+ ),
57
+ )
711
58
  end
712
59
 
713
- # @param request [Temporalio::Api::WorkflowService::V1::DescribeBatchOperationRequest]
714
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
715
- # Keys here override client-level RPC metadata keys.
716
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
60
+ # Get an object for making WorkflowService RPCs.
717
61
  #
718
- # @return [Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse]
719
- def describe_batch_operation(request, metadata: {}, timeout: nil)
720
- encoded = Temporalio::Api::WorkflowService::V1::DescribeBatchOperationRequest.encode(request)
721
- response = core_connection.call(:describe_batch_operation, encoded, metadata, timeout)
722
-
723
- Temporalio::Api::WorkflowService::V1::DescribeBatchOperationResponse.decode(response)
62
+ # @return [Temporalio::Connection::WorkflowService]
63
+ def workflow_service
64
+ @workflow_service ||= Temporalio::Connection::WorkflowService.new(core_connection)
724
65
  end
725
66
 
726
- # @param request [Temporalio::Api::WorkflowService::V1::ListBatchOperationsRequest]
727
- # @param metadata [Hash<String, String>] Headers used on the RPC call.
728
- # Keys here override client-level RPC metadata keys.
729
- # @param timeout [Integer] Optional RPC deadline to set for each RPC call.
67
+ # Get an object for making TestService RPCs.
730
68
  #
731
- # @return [Temporalio::Api::WorkflowService::V1::ListBatchOperationsResponse]
732
- def list_batch_operations(request, metadata: {}, timeout: nil)
733
- encoded = Temporalio::Api::WorkflowService::V1::ListBatchOperationsRequest.encode(request)
734
- response = core_connection.call(:list_batch_operations, encoded, metadata, timeout)
735
-
736
- Temporalio::Api::WorkflowService::V1::ListBatchOperationsResponse.decode(response)
69
+ # @return [Temporalio::Connection::TestService]
70
+ def test_service
71
+ @test_service ||= Temporalio::Connection::TestService.new(core_connection)
737
72
  end
738
73
 
739
74
  private
740
75
 
741
76
  def parse_url(url)
77
+ url ||= 'localhost:7233'
78
+
742
79
  # Turn this into a valid URI before parsing
743
80
  uri = URI.parse(url.include?('://') ? url : "//#{url}")
744
81
  raise Temporalio::Error, 'Target host as URL with scheme are not supported' if uri.scheme
745
82
 
746
- # TODO: Add support for mTLS
747
- uri.scheme = 'http'
748
- uri.to_s
83
+ [uri.host || 'localhost', uri.port || 7233]
749
84
  end
750
85
  end
751
86
  end