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,114 @@
1
+ module Google
2
+ module Protobuf
3
+ # A Duration represents a signed, fixed-length span of time represented
4
+ # as a count of seconds and fractions of seconds at nanosecond
5
+ # resolution. It is independent of any calendar and concepts like "day"
6
+ # or "month". It is related to Timestamp in that the difference between
7
+ # two Timestamp values is a Duration and it can be added or subtracted
8
+ # from a Timestamp. Range is approximately +-10,000 years.
9
+ #
10
+ # # Examples
11
+ #
12
+ # Example 1: Compute Duration from two Timestamps in pseudo code.
13
+ #
14
+ # Timestamp start = ...;
15
+ # Timestamp end = ...;
16
+ # Duration duration = ...;
17
+ #
18
+ # duration.seconds = end.seconds - start.seconds;
19
+ # duration.nanos = end.nanos - start.nanos;
20
+ #
21
+ # if (duration.seconds < 0 && duration.nanos > 0) {
22
+ # duration.seconds += 1;
23
+ # duration.nanos -= 1000000000;
24
+ # } else if (duration.seconds > 0 && duration.nanos < 0) {
25
+ # duration.seconds -= 1;
26
+ # duration.nanos += 1000000000;
27
+ # }
28
+ #
29
+ # Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
30
+ #
31
+ # Timestamp start = ...;
32
+ # Duration duration = ...;
33
+ # Timestamp end = ...;
34
+ #
35
+ # end.seconds = start.seconds + duration.seconds;
36
+ # end.nanos = start.nanos + duration.nanos;
37
+ #
38
+ # if (end.nanos < 0) {
39
+ # end.seconds -= 1;
40
+ # end.nanos += 1000000000;
41
+ # } else if (end.nanos >= 1000000000) {
42
+ # end.seconds += 1;
43
+ # end.nanos -= 1000000000;
44
+ # }
45
+ #
46
+ # Example 3: Compute Duration from datetime.timedelta in Python.
47
+ #
48
+ # td = datetime.timedelta(days=3, minutes=10)
49
+ # duration = Duration()
50
+ # duration.FromTimedelta(td)
51
+ #
52
+ # # JSON Mapping
53
+ #
54
+ # In JSON format, the Duration type is encoded as a string rather than an
55
+ # object, where the string ends in the suffix "s" (indicating seconds) and
56
+ # is preceded by the number of seconds, with nanoseconds expressed as
57
+ # fractional seconds. For example, 3 seconds with 0 nanoseconds should be
58
+ # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
59
+ # be expressed in JSON format as "3.000000001s", and 3 seconds and 1
60
+ # microsecond should be expressed in JSON format as "3.000001s".
61
+ #
62
+ class Duration < ::Protobuf::Message
63
+ # Encode the message to a binary string
64
+ #
65
+ def self.encode: (Duration) -> String
66
+
67
+ # Signed seconds of the span of time. Must be from -315,576,000,000
68
+ # to +315,576,000,000 inclusive. Note: these bounds are computed from:
69
+ # 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
70
+ #
71
+ attr_accessor seconds(): ::Integer
72
+
73
+ def seconds!: () -> ::Integer?
74
+
75
+ # Signed fractions of a second at nanosecond resolution of the span
76
+ # of time. Durations less than one second are represented with a 0
77
+ # `seconds` field and a positive or negative `nanos` field. For durations
78
+ # of one second or more, a non-zero value for the `nanos` field must be
79
+ # of the same sign as the `seconds` field. Must be from -999,999,999
80
+ # to +999,999,999 inclusive.
81
+ #
82
+ attr_accessor nanos(): ::Integer
83
+
84
+ def nanos!: () -> ::Integer?
85
+
86
+ def initialize: (?seconds: ::Integer, ?nanos: ::Integer) -> void
87
+
88
+ def []: (:seconds) -> ::Integer
89
+ | (:nanos) -> ::Integer
90
+ | (::Symbol) -> untyped
91
+
92
+ def []=: (:seconds, ::Integer) -> ::Integer
93
+ | (:nanos, ::Integer) -> ::Integer
94
+ | (::Symbol, untyped) -> untyped
95
+
96
+ interface _ToProto
97
+ def to_proto: () -> Duration
98
+ end
99
+
100
+ # The type of `#initialize` parameter.
101
+ type init = Duration | _ToProto
102
+
103
+ # The type of `repeated` field.
104
+ type field_array = ::Protobuf::Field::FieldArray[Duration, Duration | _ToProto]
105
+
106
+ # The type of `map` field.
107
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Duration, Duration | _ToProto]
108
+
109
+ type array = ::Array[Duration | _ToProto]
110
+
111
+ type hash[KEY] = ::Hash[KEY, Duration | _ToProto]
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,36 @@
1
+ module Google
2
+ module Protobuf
3
+ # A generic empty message that you can re-use to avoid defining duplicated
4
+ # empty messages in your APIs. A typical example is to use it as the request
5
+ # or the response type of an API method. For instance:
6
+ #
7
+ # service Foo {
8
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
9
+ # }
10
+ #
11
+ class Empty < ::Protobuf::Message
12
+ # Encode the message to a binary string
13
+ #
14
+ def self.encode: (Empty) -> String
15
+
16
+ def initialize: () -> void
17
+
18
+ interface _ToProto
19
+ def to_proto: () -> Empty
20
+ end
21
+
22
+ # The type of `#initialize` parameter.
23
+ type init = Empty | _ToProto
24
+
25
+ # The type of `repeated` field.
26
+ type field_array = ::Protobuf::Field::FieldArray[Empty, Empty | _ToProto]
27
+
28
+ # The type of `map` field.
29
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Empty, Empty | _ToProto]
30
+
31
+ type array = ::Array[Empty | _ToProto]
32
+
33
+ type hash[KEY] = ::Hash[KEY, Empty | _ToProto]
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,145 @@
1
+ module Google
2
+ module Protobuf
3
+ # A Timestamp represents a point in time independent of any time zone or local
4
+ # calendar, encoded as a count of seconds and fractions of seconds at
5
+ # nanosecond resolution. The count is relative to an epoch at UTC midnight on
6
+ # January 1, 1970, in the proleptic Gregorian calendar which extends the
7
+ # Gregorian calendar backwards to year one.
8
+ #
9
+ # All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
10
+ # second table is needed for interpretation, using a [24-hour linear
11
+ # smear](https://developers.google.com/time/smear).
12
+ #
13
+ # The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
14
+ # restricting to that range, we ensure that we can convert to and from [RFC
15
+ # 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
16
+ #
17
+ # # Examples
18
+ #
19
+ # Example 1: Compute Timestamp from POSIX `time()`.
20
+ #
21
+ # Timestamp timestamp;
22
+ # timestamp.set_seconds(time(NULL));
23
+ # timestamp.set_nanos(0);
24
+ #
25
+ # Example 2: Compute Timestamp from POSIX `gettimeofday()`.
26
+ #
27
+ # struct timeval tv;
28
+ # gettimeofday(&tv, NULL);
29
+ #
30
+ # Timestamp timestamp;
31
+ # timestamp.set_seconds(tv.tv_sec);
32
+ # timestamp.set_nanos(tv.tv_usec * 1000);
33
+ #
34
+ # Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
35
+ #
36
+ # FILETIME ft;
37
+ # GetSystemTimeAsFileTime(&ft);
38
+ # UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
39
+ #
40
+ # // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
41
+ # // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
42
+ # Timestamp timestamp;
43
+ # timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
44
+ # timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
45
+ #
46
+ # Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
47
+ #
48
+ # long millis = System.currentTimeMillis();
49
+ #
50
+ # Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
51
+ # .setNanos((int) ((millis % 1000) * 1000000)).build();
52
+ #
53
+ #
54
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
55
+ #
56
+ # Instant now = Instant.now();
57
+ #
58
+ # Timestamp timestamp =
59
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
60
+ # .setNanos(now.getNano()).build();
61
+ #
62
+ #
63
+ # Example 6: Compute Timestamp from current time in Python.
64
+ #
65
+ # timestamp = Timestamp()
66
+ # timestamp.GetCurrentTime()
67
+ #
68
+ # # JSON Mapping
69
+ #
70
+ # In JSON format, the Timestamp type is encoded as a string in the
71
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
72
+ # format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
73
+ # where {year} is always expressed using four digits while {month}, {day},
74
+ # {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
75
+ # seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
76
+ # are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
77
+ # is required. A proto3 JSON serializer should always use UTC (as indicated by
78
+ # "Z") when printing the Timestamp type and a proto3 JSON parser should be
79
+ # able to accept both UTC and other timezones (as indicated by an offset).
80
+ #
81
+ # For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
82
+ # 01:30 UTC on January 15, 2017.
83
+ #
84
+ # In JavaScript, one can convert a Date object to this format using the
85
+ # standard
86
+ # [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
87
+ # method. In Python, a standard `datetime.datetime` object can be converted
88
+ # to this format using
89
+ # [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
90
+ # the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
91
+ # the Joda Time's [`ISODateTimeFormat.dateTime()`](
92
+ # http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
93
+ # ) to obtain a formatter capable of generating timestamps in this format.
94
+ #
95
+ class Timestamp < ::Protobuf::Message
96
+ # Encode the message to a binary string
97
+ #
98
+ def self.encode: (Timestamp) -> String
99
+
100
+ # Represents seconds of UTC time since Unix epoch
101
+ # 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
102
+ # 9999-12-31T23:59:59Z inclusive.
103
+ #
104
+ attr_accessor seconds(): ::Integer
105
+
106
+ def seconds!: () -> ::Integer?
107
+
108
+ # Non-negative fractions of a second at nanosecond resolution. Negative
109
+ # second values with fractions must still have non-negative nanos values
110
+ # that count forward in time. Must be from 0 to 999,999,999
111
+ # inclusive.
112
+ #
113
+ attr_accessor nanos(): ::Integer
114
+
115
+ def nanos!: () -> ::Integer?
116
+
117
+ def initialize: (?seconds: ::Integer, ?nanos: ::Integer) -> void
118
+
119
+ def []: (:seconds) -> ::Integer
120
+ | (:nanos) -> ::Integer
121
+ | (::Symbol) -> untyped
122
+
123
+ def []=: (:seconds, ::Integer) -> ::Integer
124
+ | (:nanos, ::Integer) -> ::Integer
125
+ | (::Symbol, untyped) -> untyped
126
+
127
+ interface _ToProto
128
+ def to_proto: () -> Timestamp
129
+ end
130
+
131
+ # The type of `#initialize` parameter.
132
+ type init = Timestamp | _ToProto
133
+
134
+ # The type of `repeated` field.
135
+ type field_array = ::Protobuf::Field::FieldArray[Timestamp, Timestamp | _ToProto]
136
+
137
+ # The type of `map` field.
138
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Timestamp, Timestamp | _ToProto]
139
+
140
+ type array = ::Array[Timestamp | _ToProto]
141
+
142
+ type hash[KEY] = ::Hash[KEY, Timestamp | _ToProto]
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,358 @@
1
+ module Google
2
+ module Protobuf
3
+ # Wrapper message for `double`.
4
+ #
5
+ # The JSON representation for `DoubleValue` is JSON number.
6
+ #
7
+ class DoubleValue < ::Protobuf::Message
8
+ # Encode the message to a binary string
9
+ #
10
+ def self.encode: (DoubleValue) -> String
11
+
12
+ # The double value.
13
+ #
14
+ attr_accessor value(): ::Float
15
+
16
+ def value!: () -> ::Float?
17
+
18
+ def initialize: (?value: ::Float) -> void
19
+
20
+ def []: (:value) -> ::Float
21
+ | (::Symbol) -> untyped
22
+
23
+ def []=: (:value, ::Float) -> ::Float
24
+ | (::Symbol, untyped) -> untyped
25
+
26
+ interface _ToProto
27
+ def to_proto: () -> DoubleValue
28
+ end
29
+
30
+ # The type of `#initialize` parameter.
31
+ type init = DoubleValue | _ToProto
32
+
33
+ # The type of `repeated` field.
34
+ type field_array = ::Protobuf::Field::FieldArray[DoubleValue, DoubleValue | _ToProto]
35
+
36
+ # The type of `map` field.
37
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, DoubleValue, DoubleValue | _ToProto]
38
+
39
+ type array = ::Array[DoubleValue | _ToProto]
40
+
41
+ type hash[KEY] = ::Hash[KEY, DoubleValue | _ToProto]
42
+ end
43
+
44
+ # Wrapper message for `float`.
45
+ #
46
+ # The JSON representation for `FloatValue` is JSON number.
47
+ #
48
+ class FloatValue < ::Protobuf::Message
49
+ # Encode the message to a binary string
50
+ #
51
+ def self.encode: (FloatValue) -> String
52
+
53
+ # The float value.
54
+ #
55
+ attr_accessor value(): ::Float
56
+
57
+ def value!: () -> ::Float?
58
+
59
+ def initialize: (?value: ::Float) -> void
60
+
61
+ def []: (:value) -> ::Float
62
+ | (::Symbol) -> untyped
63
+
64
+ def []=: (:value, ::Float) -> ::Float
65
+ | (::Symbol, untyped) -> untyped
66
+
67
+ interface _ToProto
68
+ def to_proto: () -> FloatValue
69
+ end
70
+
71
+ # The type of `#initialize` parameter.
72
+ type init = FloatValue | _ToProto
73
+
74
+ # The type of `repeated` field.
75
+ type field_array = ::Protobuf::Field::FieldArray[FloatValue, FloatValue | _ToProto]
76
+
77
+ # The type of `map` field.
78
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, FloatValue, FloatValue | _ToProto]
79
+
80
+ type array = ::Array[FloatValue | _ToProto]
81
+
82
+ type hash[KEY] = ::Hash[KEY, FloatValue | _ToProto]
83
+ end
84
+
85
+ # Wrapper message for `int64`.
86
+ #
87
+ # The JSON representation for `Int64Value` is JSON string.
88
+ #
89
+ class Int64Value < ::Protobuf::Message
90
+ # The int64 value.
91
+ #
92
+ attr_accessor value(): ::Integer
93
+
94
+ def value!: () -> ::Integer?
95
+
96
+ def initialize: (?value: ::Integer) -> void
97
+
98
+ def []: (:value) -> ::Integer
99
+ | (::Symbol) -> untyped
100
+
101
+ def []=: (:value, ::Integer) -> ::Integer
102
+ | (::Symbol, untyped) -> untyped
103
+
104
+ interface _ToProto
105
+ def to_proto: () -> Int64Value
106
+ end
107
+
108
+ # The type of `#initialize` parameter.
109
+ type init = Int64Value | _ToProto
110
+
111
+ # The type of `repeated` field.
112
+ type field_array = ::Protobuf::Field::FieldArray[Int64Value, Int64Value | _ToProto]
113
+
114
+ # The type of `map` field.
115
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Int64Value, Int64Value | _ToProto]
116
+
117
+ type array = ::Array[Int64Value | _ToProto]
118
+
119
+ type hash[KEY] = ::Hash[KEY, Int64Value | _ToProto]
120
+ end
121
+
122
+ # Wrapper message for `uint64`.
123
+ #
124
+ # The JSON representation for `UInt64Value` is JSON string.
125
+ #
126
+ class UInt64Value < ::Protobuf::Message
127
+ # The uint64 value.
128
+ #
129
+ attr_accessor value(): ::Integer
130
+
131
+ def value!: () -> ::Integer?
132
+
133
+ def initialize: (?value: ::Integer) -> void
134
+
135
+ def []: (:value) -> ::Integer
136
+ | (::Symbol) -> untyped
137
+
138
+ def []=: (:value, ::Integer) -> ::Integer
139
+ | (::Symbol, untyped) -> untyped
140
+
141
+ interface _ToProto
142
+ def to_proto: () -> UInt64Value
143
+ end
144
+
145
+ # The type of `#initialize` parameter.
146
+ type init = UInt64Value | _ToProto
147
+
148
+ # The type of `repeated` field.
149
+ type field_array = ::Protobuf::Field::FieldArray[UInt64Value, UInt64Value | _ToProto]
150
+
151
+ # The type of `map` field.
152
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, UInt64Value, UInt64Value | _ToProto]
153
+
154
+ type array = ::Array[UInt64Value | _ToProto]
155
+
156
+ type hash[KEY] = ::Hash[KEY, UInt64Value | _ToProto]
157
+ end
158
+
159
+ # Wrapper message for `int32`.
160
+ #
161
+ # The JSON representation for `Int32Value` is JSON number.
162
+ #
163
+ class Int32Value < ::Protobuf::Message
164
+ # The int32 value.
165
+ #
166
+ attr_accessor value(): ::Integer
167
+
168
+ def value!: () -> ::Integer?
169
+
170
+ def initialize: (?value: ::Integer) -> void
171
+
172
+ def []: (:value) -> ::Integer
173
+ | (::Symbol) -> untyped
174
+
175
+ def []=: (:value, ::Integer) -> ::Integer
176
+ | (::Symbol, untyped) -> untyped
177
+
178
+ interface _ToProto
179
+ def to_proto: () -> Int32Value
180
+ end
181
+
182
+ # The type of `#initialize` parameter.
183
+ type init = Int32Value | _ToProto
184
+
185
+ # The type of `repeated` field.
186
+ type field_array = ::Protobuf::Field::FieldArray[Int32Value, Int32Value | _ToProto]
187
+
188
+ # The type of `map` field.
189
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, Int32Value, Int32Value | _ToProto]
190
+
191
+ type array = ::Array[Int32Value | _ToProto]
192
+
193
+ type hash[KEY] = ::Hash[KEY, Int32Value | _ToProto]
194
+ end
195
+
196
+ # Wrapper message for `uint32`.
197
+ #
198
+ # The JSON representation for `UInt32Value` is JSON number.
199
+ #
200
+ class UInt32Value < ::Protobuf::Message
201
+ # The uint32 value.
202
+ #
203
+ attr_accessor value(): ::Integer
204
+
205
+ def value!: () -> ::Integer?
206
+
207
+ def initialize: (?value: ::Integer) -> void
208
+
209
+ def []: (:value) -> ::Integer
210
+ | (::Symbol) -> untyped
211
+
212
+ def []=: (:value, ::Integer) -> ::Integer
213
+ | (::Symbol, untyped) -> untyped
214
+
215
+ interface _ToProto
216
+ def to_proto: () -> UInt32Value
217
+ end
218
+
219
+ # The type of `#initialize` parameter.
220
+ type init = UInt32Value | _ToProto
221
+
222
+ # The type of `repeated` field.
223
+ type field_array = ::Protobuf::Field::FieldArray[UInt32Value, UInt32Value | _ToProto]
224
+
225
+ # The type of `map` field.
226
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, UInt32Value, UInt32Value | _ToProto]
227
+
228
+ type array = ::Array[UInt32Value | _ToProto]
229
+
230
+ type hash[KEY] = ::Hash[KEY, UInt32Value | _ToProto]
231
+ end
232
+
233
+ # Wrapper message for `bool`.
234
+ #
235
+ # The JSON representation for `BoolValue` is JSON `true` and `false`.
236
+ #
237
+ class BoolValue < ::Protobuf::Message
238
+ # Encode the message to a binary string
239
+ #
240
+ def self.encode: (BoolValue) -> String
241
+
242
+ # The bool value.
243
+ #
244
+ attr_accessor value(): bool
245
+
246
+ def value!: () -> bool?
247
+
248
+ def initialize: (?value: bool) -> void
249
+
250
+ def []: (:value) -> bool
251
+ | (::Symbol) -> untyped
252
+
253
+ def []=: (:value, bool) -> bool
254
+ | (::Symbol, untyped) -> untyped
255
+
256
+ def value?: () -> bool
257
+
258
+ interface _ToProto
259
+ def to_proto: () -> BoolValue
260
+ end
261
+
262
+ # The type of `#initialize` parameter.
263
+ type init = BoolValue | _ToProto
264
+
265
+ # The type of `repeated` field.
266
+ type field_array = ::Protobuf::Field::FieldArray[BoolValue, BoolValue | _ToProto]
267
+
268
+ # The type of `map` field.
269
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, BoolValue, BoolValue | _ToProto]
270
+
271
+ type array = ::Array[BoolValue | _ToProto]
272
+
273
+ type hash[KEY] = ::Hash[KEY, BoolValue | _ToProto]
274
+ end
275
+
276
+ # Wrapper message for `string`.
277
+ #
278
+ # The JSON representation for `StringValue` is JSON string.
279
+ #
280
+ class StringValue < ::Protobuf::Message
281
+ # Encode the message to a binary string
282
+ #
283
+ def self.encode: (StringValue) -> String
284
+
285
+ # The string value.
286
+ #
287
+ attr_accessor value(): ::String
288
+
289
+ def value!: () -> ::String?
290
+
291
+ def initialize: (?value: ::String) -> void
292
+
293
+ def []: (:value) -> ::String
294
+ | (::Symbol) -> untyped
295
+
296
+ def []=: (:value, ::String) -> ::String
297
+ | (::Symbol, untyped) -> untyped
298
+
299
+ interface _ToProto
300
+ def to_proto: () -> StringValue
301
+ end
302
+
303
+ # The type of `#initialize` parameter.
304
+ type init = StringValue | _ToProto
305
+
306
+ # The type of `repeated` field.
307
+ type field_array = ::Protobuf::Field::FieldArray[StringValue, StringValue | _ToProto]
308
+
309
+ # The type of `map` field.
310
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, StringValue, StringValue | _ToProto]
311
+
312
+ type array = ::Array[StringValue | _ToProto]
313
+
314
+ type hash[KEY] = ::Hash[KEY, StringValue | _ToProto]
315
+ end
316
+
317
+ # Wrapper message for `bytes`.
318
+ #
319
+ # The JSON representation for `BytesValue` is JSON string.
320
+ #
321
+ class BytesValue < ::Protobuf::Message
322
+ # Encode the message to a binary string
323
+ #
324
+ def self.encode: (BytesValue) -> String
325
+
326
+ # The bytes value.
327
+ #
328
+ attr_accessor value(): ::String
329
+
330
+ def value!: () -> ::String?
331
+
332
+ def initialize: (?value: ::String) -> void
333
+
334
+ def []: (:value) -> ::String
335
+ | (::Symbol) -> untyped
336
+
337
+ def []=: (:value, ::String) -> ::String
338
+ | (::Symbol, untyped) -> untyped
339
+
340
+ interface _ToProto
341
+ def to_proto: () -> BytesValue
342
+ end
343
+
344
+ # The type of `#initialize` parameter.
345
+ type init = BytesValue | _ToProto
346
+
347
+ # The type of `repeated` field.
348
+ type field_array = ::Protobuf::Field::FieldArray[BytesValue, BytesValue | _ToProto]
349
+
350
+ # The type of `map` field.
351
+ type field_hash[KEY] = ::Protobuf::Field::FieldHash[KEY, BytesValue, BytesValue | _ToProto]
352
+
353
+ type array = ::Array[BytesValue | _ToProto]
354
+
355
+ type hash[KEY] = ::Hash[KEY, BytesValue | _ToProto]
356
+ end
357
+ end
358
+ end