temporalio 0.0.0 → 0.0.2

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 (327) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +301 -0
  3. data/bridge/Cargo.lock +2888 -0
  4. data/bridge/Cargo.toml +27 -0
  5. data/bridge/sdk-core/ARCHITECTURE.md +76 -0
  6. data/bridge/sdk-core/Cargo.lock +2606 -0
  7. data/bridge/sdk-core/Cargo.toml +2 -0
  8. data/bridge/sdk-core/LICENSE.txt +23 -0
  9. data/bridge/sdk-core/README.md +104 -0
  10. data/bridge/sdk-core/arch_docs/diagrams/README.md +10 -0
  11. data/bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml +40 -0
  12. data/bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg +1 -0
  13. data/bridge/sdk-core/arch_docs/sticky_queues.md +51 -0
  14. data/bridge/sdk-core/client/Cargo.toml +40 -0
  15. data/bridge/sdk-core/client/LICENSE.txt +23 -0
  16. data/bridge/sdk-core/client/src/lib.rs +1286 -0
  17. data/bridge/sdk-core/client/src/metrics.rs +165 -0
  18. data/bridge/sdk-core/client/src/raw.rs +932 -0
  19. data/bridge/sdk-core/client/src/retry.rs +751 -0
  20. data/bridge/sdk-core/client/src/workflow_handle/mod.rs +185 -0
  21. data/bridge/sdk-core/core/Cargo.toml +116 -0
  22. data/bridge/sdk-core/core/LICENSE.txt +23 -0
  23. data/bridge/sdk-core/core/benches/workflow_replay.rs +76 -0
  24. data/bridge/sdk-core/core/src/abstractions.rs +166 -0
  25. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +1014 -0
  26. data/bridge/sdk-core/core/src/core_tests/child_workflows.rs +221 -0
  27. data/bridge/sdk-core/core/src/core_tests/determinism.rs +107 -0
  28. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +925 -0
  29. data/bridge/sdk-core/core/src/core_tests/mod.rs +100 -0
  30. data/bridge/sdk-core/core/src/core_tests/queries.rs +894 -0
  31. data/bridge/sdk-core/core/src/core_tests/replay_flag.rs +65 -0
  32. data/bridge/sdk-core/core/src/core_tests/workers.rs +259 -0
  33. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +124 -0
  34. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +2090 -0
  35. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +515 -0
  36. data/bridge/sdk-core/core/src/lib.rs +282 -0
  37. data/bridge/sdk-core/core/src/pollers/mod.rs +54 -0
  38. data/bridge/sdk-core/core/src/pollers/poll_buffer.rs +297 -0
  39. data/bridge/sdk-core/core/src/protosext/mod.rs +428 -0
  40. data/bridge/sdk-core/core/src/replay/mod.rs +215 -0
  41. data/bridge/sdk-core/core/src/retry_logic.rs +202 -0
  42. data/bridge/sdk-core/core/src/telemetry/log_export.rs +190 -0
  43. data/bridge/sdk-core/core/src/telemetry/metrics.rs +428 -0
  44. data/bridge/sdk-core/core/src/telemetry/mod.rs +407 -0
  45. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +78 -0
  46. data/bridge/sdk-core/core/src/test_help/mod.rs +889 -0
  47. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +580 -0
  48. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +1048 -0
  49. data/bridge/sdk-core/core/src/worker/activities.rs +481 -0
  50. data/bridge/sdk-core/core/src/worker/client/mocks.rs +87 -0
  51. data/bridge/sdk-core/core/src/worker/client.rs +373 -0
  52. data/bridge/sdk-core/core/src/worker/mod.rs +570 -0
  53. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +37 -0
  54. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +101 -0
  55. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +532 -0
  56. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +907 -0
  57. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +294 -0
  58. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +167 -0
  59. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +858 -0
  60. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +136 -0
  61. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +157 -0
  62. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +129 -0
  63. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +1450 -0
  64. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +316 -0
  65. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +178 -0
  66. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +708 -0
  67. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +439 -0
  68. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +435 -0
  69. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +175 -0
  70. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +242 -0
  71. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +96 -0
  72. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +1200 -0
  73. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +272 -0
  74. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +198 -0
  75. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +655 -0
  76. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +1200 -0
  77. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +145 -0
  78. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +88 -0
  79. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +985 -0
  80. data/bridge/sdk-core/core-api/Cargo.toml +32 -0
  81. data/bridge/sdk-core/core-api/LICENSE.txt +23 -0
  82. data/bridge/sdk-core/core-api/src/errors.rs +95 -0
  83. data/bridge/sdk-core/core-api/src/lib.rs +109 -0
  84. data/bridge/sdk-core/core-api/src/telemetry.rs +147 -0
  85. data/bridge/sdk-core/core-api/src/worker.rs +148 -0
  86. data/bridge/sdk-core/etc/deps.svg +162 -0
  87. data/bridge/sdk-core/etc/dynamic-config.yaml +2 -0
  88. data/bridge/sdk-core/etc/otel-collector-config.yaml +36 -0
  89. data/bridge/sdk-core/etc/prometheus.yaml +6 -0
  90. data/bridge/sdk-core/etc/regen-depgraph.sh +5 -0
  91. data/bridge/sdk-core/fsm/Cargo.toml +18 -0
  92. data/bridge/sdk-core/fsm/LICENSE.txt +23 -0
  93. data/bridge/sdk-core/fsm/README.md +3 -0
  94. data/bridge/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +27 -0
  95. data/bridge/sdk-core/fsm/rustfsm_procmacro/LICENSE.txt +23 -0
  96. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +647 -0
  97. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/progress.rs +8 -0
  98. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.rs +18 -0
  99. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dupe_transitions_fail.stderr +12 -0
  100. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/dynamic_dest_pass.rs +41 -0
  101. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.rs +14 -0
  102. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/forgot_name_fail.stderr +11 -0
  103. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_arg_pass.rs +32 -0
  104. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/handler_pass.rs +31 -0
  105. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/medium_complex_pass.rs +46 -0
  106. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.rs +29 -0
  107. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +12 -0
  108. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/simple_pass.rs +32 -0
  109. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.rs +18 -0
  110. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/struct_event_variant_fail.stderr +5 -0
  111. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.rs +11 -0
  112. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_more_item_event_variant_fail.stderr +5 -0
  113. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.rs +11 -0
  114. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/tuple_zero_item_event_variant_fail.stderr +5 -0
  115. data/bridge/sdk-core/fsm/rustfsm_trait/Cargo.toml +14 -0
  116. data/bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt +23 -0
  117. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +249 -0
  118. data/bridge/sdk-core/fsm/src/lib.rs +2 -0
  119. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
  120. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
  121. data/bridge/sdk-core/histories/fail_wf_task.bin +0 -0
  122. data/bridge/sdk-core/histories/timer_workflow_history.bin +0 -0
  123. data/bridge/sdk-core/integ-with-otel.sh +7 -0
  124. data/bridge/sdk-core/protos/api_upstream/README.md +9 -0
  125. data/bridge/sdk-core/protos/api_upstream/api-linter.yaml +40 -0
  126. data/bridge/sdk-core/protos/api_upstream/buf.yaml +9 -0
  127. data/bridge/sdk-core/protos/api_upstream/build/go.mod +7 -0
  128. data/bridge/sdk-core/protos/api_upstream/build/go.sum +5 -0
  129. data/bridge/sdk-core/protos/api_upstream/build/tools.go +29 -0
  130. data/bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto +141 -0
  131. data/bridge/sdk-core/protos/api_upstream/go.mod +6 -0
  132. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +89 -0
  133. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +260 -0
  134. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +112 -0
  135. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +47 -0
  136. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +57 -0
  137. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +56 -0
  138. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +170 -0
  139. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +118 -0
  140. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/interaction_type.proto +39 -0
  141. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +51 -0
  142. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +50 -0
  143. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +41 -0
  144. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +60 -0
  145. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +59 -0
  146. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +40 -0
  147. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +122 -0
  148. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +108 -0
  149. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +114 -0
  150. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +56 -0
  151. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +758 -0
  152. data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +87 -0
  153. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +97 -0
  154. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +121 -0
  155. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +80 -0
  156. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +61 -0
  157. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +55 -0
  158. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +379 -0
  159. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +108 -0
  160. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +59 -0
  161. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +146 -0
  162. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +1168 -0
  163. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +415 -0
  164. data/bridge/sdk-core/protos/grpc/health/v1/health.proto +63 -0
  165. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +78 -0
  166. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +79 -0
  167. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +77 -0
  168. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +15 -0
  169. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +30 -0
  170. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +30 -0
  171. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +263 -0
  172. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +304 -0
  173. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +29 -0
  174. data/bridge/sdk-core/protos/testsrv_upstream/api-linter.yaml +38 -0
  175. data/bridge/sdk-core/protos/testsrv_upstream/buf.yaml +13 -0
  176. data/bridge/sdk-core/protos/testsrv_upstream/dependencies/gogoproto/gogo.proto +141 -0
  177. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +63 -0
  178. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +90 -0
  179. data/bridge/sdk-core/rustfmt.toml +1 -0
  180. data/bridge/sdk-core/sdk/Cargo.toml +47 -0
  181. data/bridge/sdk-core/sdk/LICENSE.txt +23 -0
  182. data/bridge/sdk-core/sdk/src/activity_context.rs +230 -0
  183. data/bridge/sdk-core/sdk/src/app_data.rs +37 -0
  184. data/bridge/sdk-core/sdk/src/interceptors.rs +50 -0
  185. data/bridge/sdk-core/sdk/src/lib.rs +794 -0
  186. data/bridge/sdk-core/sdk/src/payload_converter.rs +11 -0
  187. data/bridge/sdk-core/sdk/src/workflow_context/options.rs +295 -0
  188. data/bridge/sdk-core/sdk/src/workflow_context.rs +694 -0
  189. data/bridge/sdk-core/sdk/src/workflow_future.rs +499 -0
  190. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +30 -0
  191. data/bridge/sdk-core/sdk-core-protos/LICENSE.txt +23 -0
  192. data/bridge/sdk-core/sdk-core-protos/build.rs +107 -0
  193. data/bridge/sdk-core/sdk-core-protos/src/constants.rs +7 -0
  194. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +544 -0
  195. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +230 -0
  196. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +1970 -0
  197. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +38 -0
  198. data/bridge/sdk-core/sdk-core-protos/src/utilities.rs +14 -0
  199. data/bridge/sdk-core/test-utils/Cargo.toml +36 -0
  200. data/bridge/sdk-core/test-utils/src/canned_histories.rs +1579 -0
  201. data/bridge/sdk-core/test-utils/src/histfetch.rs +28 -0
  202. data/bridge/sdk-core/test-utils/src/lib.rs +650 -0
  203. data/bridge/sdk-core/tests/integ_tests/client_tests.rs +36 -0
  204. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +128 -0
  205. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +221 -0
  206. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +37 -0
  207. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +133 -0
  208. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +437 -0
  209. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +93 -0
  210. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +878 -0
  211. data/bridge/sdk-core/tests/integ_tests/workflow_tests/appdata_propagation.rs +61 -0
  212. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +59 -0
  213. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +58 -0
  214. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +50 -0
  215. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +60 -0
  216. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +54 -0
  217. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +788 -0
  218. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +53 -0
  219. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +113 -0
  220. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +223 -0
  221. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +93 -0
  222. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +167 -0
  223. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +99 -0
  224. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +131 -0
  225. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +75 -0
  226. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +597 -0
  227. data/bridge/sdk-core/tests/load_tests.rs +191 -0
  228. data/bridge/sdk-core/tests/main.rs +113 -0
  229. data/bridge/sdk-core/tests/runner.rs +93 -0
  230. data/bridge/src/connection.rs +186 -0
  231. data/bridge/src/lib.rs +239 -0
  232. data/bridge/src/runtime.rs +54 -0
  233. data/bridge/src/worker.rs +124 -0
  234. data/ext/Rakefile +9 -0
  235. data/lib/bridge.so +0 -0
  236. data/lib/gen/dependencies/gogoproto/gogo_pb.rb +14 -0
  237. data/lib/gen/temporal/api/batch/v1/message_pb.rb +50 -0
  238. data/lib/gen/temporal/api/command/v1/message_pb.rb +174 -0
  239. data/lib/gen/temporal/api/common/v1/message_pb.rb +69 -0
  240. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +33 -0
  241. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +39 -0
  242. data/lib/gen/temporal/api/enums/v1/common_pb.rb +42 -0
  243. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +68 -0
  244. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +77 -0
  245. data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +25 -0
  246. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +37 -0
  247. data/lib/gen/temporal/api/enums/v1/query_pb.rb +31 -0
  248. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +24 -0
  249. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +28 -0
  250. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +30 -0
  251. data/lib/gen/temporal/api/enums/v1/update_pb.rb +23 -0
  252. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +89 -0
  253. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +84 -0
  254. data/lib/gen/temporal/api/failure/v1/message_pb.rb +83 -0
  255. data/lib/gen/temporal/api/filter/v1/message_pb.rb +40 -0
  256. data/lib/gen/temporal/api/history/v1/message_pb.rb +490 -0
  257. data/lib/gen/temporal/api/interaction/v1/message_pb.rb +49 -0
  258. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +63 -0
  259. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +85 -0
  260. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +20 -0
  261. data/lib/gen/temporal/api/query/v1/message_pb.rb +38 -0
  262. data/lib/gen/temporal/api/replication/v1/message_pb.rb +37 -0
  263. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +149 -0
  264. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +73 -0
  265. data/lib/gen/temporal/api/version/v1/message_pb.rb +41 -0
  266. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +111 -0
  267. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +788 -0
  268. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +20 -0
  269. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +58 -0
  270. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +57 -0
  271. data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +222 -0
  272. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +57 -0
  273. data/lib/gen/temporal/sdk/core/common/common_pb.rb +22 -0
  274. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +34 -0
  275. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +27 -0
  276. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +165 -0
  277. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +196 -0
  278. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +34 -0
  279. data/lib/temporalio/activity/context.rb +97 -0
  280. data/lib/temporalio/activity/info.rb +67 -0
  281. data/lib/temporalio/activity.rb +85 -0
  282. data/lib/temporalio/bridge/error.rb +8 -0
  283. data/lib/temporalio/bridge.rb +14 -0
  284. data/lib/temporalio/client/implementation.rb +340 -0
  285. data/lib/temporalio/client/workflow_handle.rb +243 -0
  286. data/lib/temporalio/client.rb +131 -0
  287. data/lib/temporalio/connection.rb +751 -0
  288. data/lib/temporalio/data_converter.rb +191 -0
  289. data/lib/temporalio/error/failure.rb +194 -0
  290. data/lib/temporalio/error/workflow_failure.rb +19 -0
  291. data/lib/temporalio/errors.rb +40 -0
  292. data/lib/temporalio/failure_converter/base.rb +26 -0
  293. data/lib/temporalio/failure_converter/basic.rb +319 -0
  294. data/lib/temporalio/failure_converter.rb +7 -0
  295. data/lib/temporalio/interceptor/chain.rb +28 -0
  296. data/lib/temporalio/interceptor/client.rb +123 -0
  297. data/lib/temporalio/payload_codec/base.rb +32 -0
  298. data/lib/temporalio/payload_converter/base.rb +24 -0
  299. data/lib/temporalio/payload_converter/bytes.rb +27 -0
  300. data/lib/temporalio/payload_converter/composite.rb +49 -0
  301. data/lib/temporalio/payload_converter/encoding_base.rb +35 -0
  302. data/lib/temporalio/payload_converter/json.rb +26 -0
  303. data/lib/temporalio/payload_converter/nil.rb +26 -0
  304. data/lib/temporalio/payload_converter.rb +14 -0
  305. data/lib/temporalio/retry_policy.rb +82 -0
  306. data/lib/temporalio/retry_state.rb +35 -0
  307. data/lib/temporalio/runtime.rb +25 -0
  308. data/lib/temporalio/timeout_type.rb +29 -0
  309. data/lib/temporalio/version.rb +3 -0
  310. data/lib/temporalio/worker/activity_runner.rb +92 -0
  311. data/lib/temporalio/worker/activity_worker.rb +138 -0
  312. data/lib/temporalio/worker/reactor.rb +46 -0
  313. data/lib/temporalio/worker/runner.rb +63 -0
  314. data/lib/temporalio/worker/sync_worker.rb +88 -0
  315. data/lib/temporalio/worker/thread_pool_executor.rb +51 -0
  316. data/lib/temporalio/worker.rb +198 -0
  317. data/lib/temporalio/workflow/execution_info.rb +54 -0
  318. data/lib/temporalio/workflow/execution_status.rb +36 -0
  319. data/lib/temporalio/workflow/id_reuse_policy.rb +36 -0
  320. data/lib/temporalio/workflow/query_reject_condition.rb +33 -0
  321. data/lib/temporalio.rb +12 -1
  322. data/lib/thermite_patch.rb +23 -0
  323. data/temporalio.gemspec +45 -0
  324. metadata +566 -9
  325. data/lib/temporal/version.rb +0 -3
  326. data/lib/temporal.rb +0 -4
  327. data/temporal.gemspec +0 -20
@@ -0,0 +1,47 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2022 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "BatchOperationProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ enum BatchOperationType {
35
+ BATCH_OPERATION_TYPE_UNSPECIFIED = 0;
36
+ BATCH_OPERATION_TYPE_TERMINATE = 1;
37
+ BATCH_OPERATION_TYPE_CANCEL = 2;
38
+ BATCH_OPERATION_TYPE_SIGNAL = 3;
39
+ BATCH_OPERATION_TYPE_DELETE = 4;
40
+ }
41
+
42
+ enum BatchOperationState {
43
+ BATCH_OPERATION_STATE_UNSPECIFIED = 0;
44
+ BATCH_OPERATION_STATE_RUNNING = 1;
45
+ BATCH_OPERATION_STATE_COMPLETED = 2;
46
+ BATCH_OPERATION_STATE_FAILED = 3;
47
+ }
@@ -0,0 +1,57 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "CommandTypeProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ // Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering.
35
+ enum CommandType {
36
+ COMMAND_TYPE_UNSPECIFIED = 0;
37
+ COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK = 1;
38
+ COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK = 2;
39
+ COMMAND_TYPE_START_TIMER = 3;
40
+ COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION = 4;
41
+ COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION = 5;
42
+ COMMAND_TYPE_CANCEL_TIMER = 6;
43
+ COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION = 7;
44
+ COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION = 8;
45
+ COMMAND_TYPE_RECORD_MARKER = 9;
46
+ COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION = 10;
47
+ COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION = 11;
48
+ COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION = 12;
49
+ COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 13;
50
+ // Indicates that an update has been accepted for processing workflow code
51
+ COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE = 14;
52
+ // Indicates that an update has completed and carries either the success or
53
+ // failure outcome of said update.
54
+ COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE = 15;
55
+ COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES = 16;
56
+ COMMAND_TYPE_REJECT_WORKFLOW_UPDATE = 17;
57
+ }
@@ -0,0 +1,56 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "CommonProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ enum EncodingType {
35
+ ENCODING_TYPE_UNSPECIFIED = 0;
36
+ ENCODING_TYPE_PROTO3 = 1;
37
+ ENCODING_TYPE_JSON = 2;
38
+ }
39
+
40
+ enum IndexedValueType {
41
+ INDEXED_VALUE_TYPE_UNSPECIFIED = 0;
42
+ INDEXED_VALUE_TYPE_TEXT = 1;
43
+ INDEXED_VALUE_TYPE_KEYWORD = 2;
44
+ INDEXED_VALUE_TYPE_INT = 3;
45
+ INDEXED_VALUE_TYPE_DOUBLE = 4;
46
+ INDEXED_VALUE_TYPE_BOOL = 5;
47
+ INDEXED_VALUE_TYPE_DATETIME = 6;
48
+ INDEXED_VALUE_TYPE_KEYWORD_LIST = 7;
49
+ }
50
+
51
+ enum Severity {
52
+ SEVERITY_UNSPECIFIED = 0;
53
+ SEVERITY_HIGH = 1;
54
+ SEVERITY_MEDIUM = 2;
55
+ SEVERITY_LOW = 3;
56
+ }
@@ -0,0 +1,170 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "EventTypeProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ // Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering
35
+ enum EventType {
36
+ // Place holder and should never appear in a Workflow execution history
37
+ EVENT_TYPE_UNSPECIFIED = 0;
38
+ // Workflow execution has been triggered/started
39
+ // It contains Workflow execution inputs, as well as Workflow timeout configurations
40
+ EVENT_TYPE_WORKFLOW_EXECUTION_STARTED = 1;
41
+ // Workflow execution has successfully completed and contains Workflow execution results
42
+ EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED = 2;
43
+ // Workflow execution has unsuccessfully completed and contains the Workflow execution error
44
+ EVENT_TYPE_WORKFLOW_EXECUTION_FAILED = 3;
45
+ // Workflow execution has timed out by the Temporal Server
46
+ // Usually due to the Workflow having not been completed within timeout settings
47
+ EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT = 4;
48
+ // Workflow Task has been scheduled and the SDK client should now be able to process any new history events
49
+ EVENT_TYPE_WORKFLOW_TASK_SCHEDULED = 5;
50
+ // Workflow Task has started and the SDK client has picked up the Workflow Task and is processing new history events
51
+ EVENT_TYPE_WORKFLOW_TASK_STARTED = 6;
52
+ // Workflow Task has completed
53
+ // The SDK client picked up the Workflow Task and processed new history events
54
+ // SDK client may or may not ask the Temporal Server to do additional work, such as:
55
+ // EVENT_TYPE_ACTIVITY_TASK_SCHEDULED
56
+ // EVENT_TYPE_TIMER_STARTED
57
+ // EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES
58
+ // EVENT_TYPE_MARKER_RECORDED
59
+ // EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED
60
+ // EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
61
+ // EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED
62
+ // EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED
63
+ // EVENT_TYPE_WORKFLOW_EXECUTION_FAILED
64
+ // EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED
65
+ // EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW
66
+ EVENT_TYPE_WORKFLOW_TASK_COMPLETED = 7;
67
+ // Workflow Task encountered a timeout
68
+ // Either an SDK client with a local cache was not available at the time, or it took too long for the SDK client to process the task
69
+ EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT = 8;
70
+ // Workflow Task encountered a failure
71
+ // Usually this means that the Workflow was non-deterministic
72
+ // However, the Workflow reset functionality also uses this event
73
+ EVENT_TYPE_WORKFLOW_TASK_FAILED = 9;
74
+ // Activity Task was scheduled
75
+ // The SDK client should pick up this activity task and execute
76
+ // This event type contains activity inputs, as well as activity timeout configurations
77
+ EVENT_TYPE_ACTIVITY_TASK_SCHEDULED = 10;
78
+ // Activity Task has started executing
79
+ // The SDK client has picked up the Activity Task and is processing the Activity invocation
80
+ EVENT_TYPE_ACTIVITY_TASK_STARTED = 11;
81
+ // Activity Task has finished successfully
82
+ // The SDK client has picked up and successfully completed the Activity Task
83
+ // This event type contains Activity execution results
84
+ EVENT_TYPE_ACTIVITY_TASK_COMPLETED = 12;
85
+ // Activity Task has finished unsuccessfully
86
+ // The SDK picked up the Activity Task but unsuccessfully completed it
87
+ // This event type contains Activity execution errors
88
+ EVENT_TYPE_ACTIVITY_TASK_FAILED = 13;
89
+ // Activity has timed out according to the Temporal Server
90
+ // Activity did not complete within the timeout settings
91
+ EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT = 14;
92
+ // A request to cancel the Activity has occurred
93
+ // The SDK client will be able to confirm cancellation of an Activity during an Activity heartbeat
94
+ EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED = 15;
95
+ // Activity has been cancelled
96
+ EVENT_TYPE_ACTIVITY_TASK_CANCELED = 16;
97
+ // A timer has started
98
+ EVENT_TYPE_TIMER_STARTED = 17;
99
+ // A timer has fired
100
+ EVENT_TYPE_TIMER_FIRED = 18;
101
+ // A time has been cancelled
102
+ EVENT_TYPE_TIMER_CANCELED = 19;
103
+ // A request has been made to cancel the Workflow execution
104
+ EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED = 20;
105
+ // SDK client has confirmed the cancellation request and the Workflow execution has been cancelled
106
+ EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED = 21;
107
+ // Workflow has requested that the Temporal Server try to cancel another Workflow
108
+ EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED = 22;
109
+ // Temporal Server could not cancel the targeted Workflow
110
+ // This is usually because the target Workflow could not be found
111
+ EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED = 23;
112
+ // Temporal Server has successfully requested the cancellation of the target Workflow
113
+ EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED = 24;
114
+ // A marker has been recorded.
115
+ // This event type is transparent to the Temporal Server
116
+ // The Server will only store it and will not try to understand it.
117
+ EVENT_TYPE_MARKER_RECORDED = 25;
118
+ // Workflow has received a Signal event
119
+ // The event type contains the Signal name, as well as a Signal payload
120
+ EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED = 26;
121
+ // Workflow execution has been forcefully terminated
122
+ // This is usually because the terminate Workflow API was called
123
+ EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED = 27;
124
+ // Workflow has successfully completed and a new Workflow has been started within the same transaction
125
+ // Contains last Workflow execution results as well as new Workflow execution inputs
126
+ EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW = 28;
127
+ // Temporal Server will try to start a child Workflow
128
+ EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED = 29;
129
+ // Child Workflow execution cannot be started/triggered
130
+ // Usually due to a child Workflow ID collision
131
+ EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED = 30;
132
+ // Child Workflow execution has successfully started/triggered
133
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED = 31;
134
+ // Child Workflow execution has successfully completed
135
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED = 32;
136
+ // Child Workflow execution has unsuccessfully completed
137
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED = 33;
138
+ // Child Workflow execution has been cancelled
139
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED = 34;
140
+ // Child Workflow execution has timed out by the Temporal Server
141
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT = 35;
142
+ // Child Workflow execution has been terminated
143
+ EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED = 36;
144
+ // Temporal Server will try to Signal the targeted Workflow
145
+ // Contains the Signal name, as well as a Signal payload
146
+ EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED = 37;
147
+ // Temporal Server cannot Signal the targeted Workflow
148
+ // Usually because the Workflow could not be found
149
+ EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED = 38;
150
+ // Temporal Server has successfully Signaled the targeted Workflow
151
+ EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED = 39;
152
+ // Workflow search attributes should be updated and synchronized with the visibility store
153
+ EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 40;
154
+ // Workflow update request has been received
155
+ EVENT_TYPE_WORKFLOW_UPDATE_REJECTED = 41;
156
+ // Workflow update request has been accepted by user workflow code
157
+ EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED = 42;
158
+ // Workflow update has been completed
159
+ EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED = 43;
160
+ // Some property or properties of the workflow as a whole have changed by non-workflow code.
161
+ // The distinction of external vs. command-based modification is important so the SDK can
162
+ // maintain determinism when using the command-based approach.
163
+ EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY = 44;
164
+ // Some property or properties of an already-scheduled activity have changed by non-workflow code.
165
+ // The distinction of external vs. command-based modification is important so the SDK can
166
+ // maintain determinism when using the command-based approach.
167
+ EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY = 45;
168
+ // Workflow properties modified by user workflow code
169
+ EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED = 46;
170
+ }
@@ -0,0 +1,118 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "FailedCauseProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ // Workflow tasks can fail for various reasons. Note that some of these reasons can only originate
35
+ // from the server, and some of them can only originate from the SDK/worker.
36
+ enum WorkflowTaskFailedCause {
37
+ WORKFLOW_TASK_FAILED_CAUSE_UNSPECIFIED = 0;
38
+ // Between starting and completing the workflow task (with a workflow completion command), some
39
+ // new command (like a signal) was processed into workflow history. The outstanding task will be
40
+ // failed with this reason, and a worker must pick up a new task.
41
+ WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND = 1;
42
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_SCHEDULE_ACTIVITY_ATTRIBUTES = 2;
43
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_ACTIVITY_ATTRIBUTES = 3;
44
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_START_TIMER_ATTRIBUTES = 4;
45
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_TIMER_ATTRIBUTES = 5;
46
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_RECORD_MARKER_ATTRIBUTES = 6;
47
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_COMPLETE_WORKFLOW_EXECUTION_ATTRIBUTES = 7;
48
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_FAIL_WORKFLOW_EXECUTION_ATTRIBUTES = 8;
49
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_CANCEL_WORKFLOW_EXECUTION_ATTRIBUTES = 9;
50
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_ATTRIBUTES = 10;
51
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_CONTINUE_AS_NEW_ATTRIBUTES = 11;
52
+ WORKFLOW_TASK_FAILED_CAUSE_START_TIMER_DUPLICATE_ID = 12;
53
+ // The worker wishes to fail the task and have the next one be generated on a normal, not sticky
54
+ // queue. Generally workers should prefer to use the explicit `ResetStickyTaskQueue` RPC call.
55
+ WORKFLOW_TASK_FAILED_CAUSE_RESET_STICKY_TASK_QUEUE = 13;
56
+ WORKFLOW_TASK_FAILED_CAUSE_WORKFLOW_WORKER_UNHANDLED_FAILURE = 14;
57
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_WORKFLOW_EXECUTION_ATTRIBUTES = 15;
58
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_START_CHILD_EXECUTION_ATTRIBUTES = 16;
59
+ WORKFLOW_TASK_FAILED_CAUSE_FORCE_CLOSE_COMMAND = 17;
60
+ WORKFLOW_TASK_FAILED_CAUSE_FAILOVER_CLOSE_COMMAND = 18;
61
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_SIGNAL_INPUT_SIZE = 19;
62
+ WORKFLOW_TASK_FAILED_CAUSE_RESET_WORKFLOW = 20;
63
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_BINARY = 21;
64
+ WORKFLOW_TASK_FAILED_CAUSE_SCHEDULE_ACTIVITY_DUPLICATE_ID = 22;
65
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_SEARCH_ATTRIBUTES = 23;
66
+ // The worker encountered a mismatch while replaying history between what was expected, and
67
+ // what the workflow code actually did.
68
+ WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR = 24;
69
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES = 25;
70
+
71
+ // We send the below error codes to users when their requests would violate a size constraint
72
+ // of their workflow. We do this to ensure that the state of their workflow does not become too
73
+ // large because that can cause severe performance degradation. You can modify the thresholds for
74
+ // each of these errors within your dynamic config.
75
+ //
76
+ // Spawning a new child workflow would cause this workflow to exceed its limit of pending child
77
+ // workflows.
78
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED = 26;
79
+ // Starting a new activity would cause this workflow to exceed its limit of pending activities
80
+ // that we track.
81
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED = 27;
82
+ // A workflow has a buffer of signals that have not yet reached their destination. We return this
83
+ // error when sending a new signal would exceed the capacity of this buffer.
84
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED = 28;
85
+ // Similarly, we have a buffer of pending requests to cancel other workflows. We return this error
86
+ // when our capacity for pending cancel requests is already reached.
87
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED = 29;
88
+ }
89
+
90
+ enum StartChildWorkflowExecutionFailedCause {
91
+ START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED = 0;
92
+ START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_WORKFLOW_ALREADY_EXISTS = 1;
93
+ START_CHILD_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND = 2;
94
+ }
95
+
96
+ enum CancelExternalWorkflowExecutionFailedCause {
97
+ CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED = 0;
98
+ CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND = 1;
99
+ CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND = 2;
100
+ }
101
+
102
+ enum SignalExternalWorkflowExecutionFailedCause {
103
+ SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_UNSPECIFIED = 0;
104
+ SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_EXTERNAL_WORKFLOW_EXECUTION_NOT_FOUND = 1;
105
+ SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED_CAUSE_NAMESPACE_NOT_FOUND = 2;
106
+ }
107
+
108
+ enum ResourceExhaustedCause {
109
+ RESOURCE_EXHAUSTED_CAUSE_UNSPECIFIED = 0;
110
+ // Caller exceeds request per second limit.
111
+ RESOURCE_EXHAUSTED_CAUSE_RPS_LIMIT = 1;
112
+ // Caller exceeds max concurrent request limit.
113
+ RESOURCE_EXHAUSTED_CAUSE_CONCURRENT_LIMIT = 2;
114
+ // System overloaded.
115
+ RESOURCE_EXHAUSTED_CAUSE_SYSTEM_OVERLOADED = 3;
116
+ // Namespace exceeds persistence rate limit.
117
+ RESOURCE_EXHAUSTED_CAUSE_PERSISTENCE_LIMIT = 4;
118
+ }
@@ -0,0 +1,39 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "InteractionTypeProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ enum InteractionType {
35
+ INTERACTION_TYPE_UNSPECIFIED = 0;
36
+ INTERACTION_TYPE_WORKFLOW_QUERY = 1;
37
+ INTERACTION_TYPE_WORKFLOW_UPDATE = 2;
38
+ INTERACTION_TYPE_WORKFLOW_SIGNAL = 3;
39
+ }
@@ -0,0 +1,51 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "NamespaceProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ enum NamespaceState {
35
+ NAMESPACE_STATE_UNSPECIFIED = 0;
36
+ NAMESPACE_STATE_REGISTERED = 1;
37
+ NAMESPACE_STATE_DEPRECATED = 2;
38
+ NAMESPACE_STATE_DELETED = 3;
39
+ }
40
+
41
+ enum ArchivalState {
42
+ ARCHIVAL_STATE_UNSPECIFIED = 0;
43
+ ARCHIVAL_STATE_DISABLED = 1;
44
+ ARCHIVAL_STATE_ENABLED = 2;
45
+ }
46
+
47
+ enum ReplicationState {
48
+ REPLICATION_STATE_UNSPECIFIED = 0;
49
+ REPLICATION_STATE_NORMAL = 1;
50
+ REPLICATION_STATE_HANDOVER = 2;
51
+ }
@@ -0,0 +1,50 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "QueryProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ enum QueryResultType {
35
+ QUERY_RESULT_TYPE_UNSPECIFIED = 0;
36
+ QUERY_RESULT_TYPE_ANSWERED = 1;
37
+ QUERY_RESULT_TYPE_FAILED = 2;
38
+ }
39
+
40
+ enum QueryRejectCondition {
41
+ QUERY_REJECT_CONDITION_UNSPECIFIED = 0;
42
+ // None indicates that query should not be rejected.
43
+ QUERY_REJECT_CONDITION_NONE = 1;
44
+ // NotOpen indicates that query should be rejected if workflow is not open.
45
+ QUERY_REJECT_CONDITION_NOT_OPEN = 2;
46
+ // NotCompletedCleanly indicates that query should be rejected if workflow did not complete cleanly.
47
+ QUERY_REJECT_CONDITION_NOT_COMPLETED_CLEANLY = 3;
48
+ }
49
+
50
+
@@ -0,0 +1,41 @@
1
+ // The MIT License
2
+ //
3
+ // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
+ //
5
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ // of this software and associated documentation files (the "Software"), to deal
7
+ // in the Software without restriction, including without limitation the rights
8
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ // copies of the Software, and to permit persons to whom the Software is
10
+ // furnished to do so, subject to the following conditions:
11
+ //
12
+ // The above copyright notice and this permission notice shall be included in
13
+ // all copies or substantial portions of the Software.
14
+ //
15
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ // THE SOFTWARE.
22
+
23
+ syntax = "proto3";
24
+
25
+ package temporal.api.enums.v1;
26
+
27
+ option go_package = "go.temporal.io/api/enums/v1;enums";
28
+ option java_package = "io.temporal.api.enums.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "ResetProto";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
+
34
+ // Reset reapplay(replay) options
35
+ // * RESET_REAPPLY_TYPE_SIGNAL (default) - Signals are reapplied when workflow is reset
36
+ // * RESET_REAPPLY_TYPE_NONE - nothing is reapplied
37
+ enum ResetReapplyType {
38
+ RESET_REAPPLY_TYPE_UNSPECIFIED = 0;
39
+ RESET_REAPPLY_TYPE_SIGNAL = 1;
40
+ RESET_REAPPLY_TYPE_NONE = 2;
41
+ }