temporalio 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (232) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +175 -4
  3. data/bridge/Cargo.lock +44 -21
  4. data/bridge/Cargo.toml +1 -0
  5. data/bridge/sdk-core/Cargo.toml +1 -1
  6. data/bridge/sdk-core/README.md +1 -4
  7. data/bridge/sdk-core/client/Cargo.toml +1 -1
  8. data/bridge/sdk-core/client/src/lib.rs +12 -20
  9. data/bridge/sdk-core/client/src/raw.rs +9 -8
  10. data/bridge/sdk-core/client/src/retry.rs +100 -23
  11. data/bridge/sdk-core/core/Cargo.toml +7 -7
  12. data/bridge/sdk-core/core/benches/workflow_replay.rs +13 -10
  13. data/bridge/sdk-core/core/src/abstractions.rs +22 -22
  14. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +146 -43
  15. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +419 -9
  16. data/bridge/sdk-core/core/src/core_tests/queries.rs +247 -89
  17. data/bridge/sdk-core/core/src/core_tests/workers.rs +2 -2
  18. data/bridge/sdk-core/core/src/core_tests/workflow_cancels.rs +1 -1
  19. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +47 -27
  20. data/bridge/sdk-core/core/src/lib.rs +139 -32
  21. data/bridge/sdk-core/core/src/protosext/mod.rs +1 -1
  22. data/bridge/sdk-core/core/src/replay/mod.rs +185 -41
  23. data/bridge/sdk-core/core/src/telemetry/log_export.rs +190 -0
  24. data/bridge/sdk-core/core/src/telemetry/metrics.rs +184 -139
  25. data/bridge/sdk-core/core/src/telemetry/mod.rs +310 -315
  26. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +4 -3
  27. data/bridge/sdk-core/core/src/test_help/mod.rs +23 -9
  28. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +12 -6
  29. data/bridge/sdk-core/core/src/worker/activities.rs +40 -23
  30. data/bridge/sdk-core/core/src/worker/client/mocks.rs +1 -1
  31. data/bridge/sdk-core/core/src/worker/client.rs +30 -4
  32. data/bridge/sdk-core/core/src/worker/mod.rs +23 -19
  33. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +10 -19
  34. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +99 -25
  35. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +1 -5
  36. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +1 -5
  37. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +1 -5
  38. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +3 -5
  39. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +1 -5
  40. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +2 -6
  41. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +1 -5
  42. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +24 -22
  43. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +12 -38
  44. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +178 -0
  45. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +1 -5
  46. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +1 -5
  47. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +1 -5
  48. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +8 -2
  49. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +1 -5
  50. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +1 -1
  51. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +233 -217
  52. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +1 -6
  53. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +4 -4
  54. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +13 -5
  55. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +86 -29
  56. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +2 -2
  57. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +56 -11
  58. data/bridge/sdk-core/core-api/Cargo.toml +4 -3
  59. data/bridge/sdk-core/core-api/src/lib.rs +1 -43
  60. data/bridge/sdk-core/core-api/src/telemetry.rs +147 -0
  61. data/bridge/sdk-core/core-api/src/worker.rs +13 -0
  62. data/bridge/sdk-core/etc/deps.svg +115 -140
  63. data/bridge/sdk-core/etc/regen-depgraph.sh +5 -0
  64. data/bridge/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +1 -1
  65. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin +0 -0
  66. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin +0 -0
  67. data/bridge/sdk-core/protos/api_upstream/buf.yaml +0 -3
  68. data/bridge/sdk-core/protos/api_upstream/build/go.mod +7 -0
  69. data/bridge/sdk-core/protos/api_upstream/build/go.sum +5 -0
  70. data/bridge/sdk-core/protos/api_upstream/{temporal/api/update/v1/message.proto → build/tools.go} +6 -23
  71. data/bridge/sdk-core/protos/api_upstream/go.mod +6 -0
  72. data/bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +12 -9
  73. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +20 -19
  74. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +2 -2
  75. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +3 -2
  76. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +4 -4
  77. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +3 -2
  78. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +5 -3
  79. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +23 -2
  80. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/{cluster.proto → interaction_type.proto} +10 -11
  81. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +2 -2
  82. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +2 -2
  83. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +2 -2
  84. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +2 -2
  85. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +2 -2
  86. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +2 -13
  87. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +2 -2
  88. data/bridge/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +2 -2
  89. data/bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +2 -2
  90. data/bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +2 -2
  91. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +26 -19
  92. data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +87 -0
  93. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +2 -2
  94. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +21 -61
  95. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +2 -21
  96. data/bridge/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +2 -2
  97. data/bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +2 -2
  98. data/bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +110 -31
  99. data/bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +4 -4
  100. data/bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +2 -2
  101. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +3 -2
  102. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +60 -16
  103. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +17 -3
  104. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +2 -0
  105. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +8 -1
  106. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +2 -2
  107. data/bridge/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +2 -2
  108. data/bridge/sdk-core/sdk/Cargo.toml +2 -2
  109. data/bridge/sdk-core/sdk/src/interceptors.rs +36 -3
  110. data/bridge/sdk-core/sdk/src/lib.rs +7 -5
  111. data/bridge/sdk-core/sdk/src/workflow_context.rs +13 -2
  112. data/bridge/sdk-core/sdk/src/workflow_future.rs +3 -7
  113. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +1 -1
  114. data/bridge/sdk-core/sdk-core-protos/build.rs +0 -1
  115. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +65 -18
  116. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +22 -22
  117. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +104 -44
  118. data/bridge/sdk-core/test-utils/Cargo.toml +2 -1
  119. data/bridge/sdk-core/test-utils/src/lib.rs +81 -29
  120. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +5 -2
  121. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +37 -0
  122. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +0 -13
  123. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +167 -13
  124. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +53 -0
  125. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +106 -20
  126. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +18 -8
  127. data/bridge/sdk-core/tests/main.rs +6 -4
  128. data/bridge/src/connection.rs +81 -62
  129. data/bridge/src/lib.rs +92 -33
  130. data/bridge/src/runtime.rs +9 -2
  131. data/bridge/src/worker.rs +53 -2
  132. data/lib/bridge.so +0 -0
  133. data/lib/gen/temporal/api/batch/v1/message_pb.rb +8 -6
  134. data/lib/gen/temporal/api/command/v1/message_pb.rb +17 -9
  135. data/lib/gen/temporal/api/common/v1/message_pb.rb +1 -1
  136. data/lib/gen/temporal/api/enums/v1/batch_operation_pb.rb +2 -1
  137. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +3 -1
  138. data/lib/gen/temporal/api/enums/v1/common_pb.rb +2 -1
  139. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +3 -2
  140. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +7 -1
  141. data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +25 -0
  142. data/lib/gen/temporal/api/enums/v1/namespace_pb.rb +1 -1
  143. data/lib/gen/temporal/api/enums/v1/query_pb.rb +1 -1
  144. data/lib/gen/temporal/api/enums/v1/reset_pb.rb +1 -1
  145. data/lib/gen/temporal/api/enums/v1/schedule_pb.rb +1 -1
  146. data/lib/gen/temporal/api/enums/v1/task_queue_pb.rb +1 -1
  147. data/lib/gen/temporal/api/enums/v1/update_pb.rb +1 -6
  148. data/lib/gen/temporal/api/enums/v1/workflow_pb.rb +1 -1
  149. data/lib/gen/temporal/api/errordetails/v1/message_pb.rb +1 -1
  150. data/lib/gen/temporal/api/failure/v1/message_pb.rb +1 -1
  151. data/lib/gen/temporal/api/filter/v1/message_pb.rb +1 -1
  152. data/lib/gen/temporal/api/history/v1/message_pb.rb +19 -18
  153. data/lib/gen/temporal/api/interaction/v1/message_pb.rb +49 -0
  154. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +1 -1
  155. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +11 -51
  156. data/lib/gen/temporal/api/operatorservice/v1/service_pb.rb +1 -1
  157. data/lib/gen/temporal/api/query/v1/message_pb.rb +1 -1
  158. data/lib/gen/temporal/api/replication/v1/message_pb.rb +1 -1
  159. data/lib/gen/temporal/api/schedule/v1/message_pb.rb +22 -1
  160. data/lib/gen/temporal/api/taskqueue/v1/message_pb.rb +2 -2
  161. data/lib/gen/temporal/api/version/v1/message_pb.rb +1 -1
  162. data/lib/gen/temporal/api/workflow/v1/message_pb.rb +2 -1
  163. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +27 -10
  164. data/lib/gen/temporal/api/workflowservice/v1/service_pb.rb +1 -1
  165. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +1 -0
  166. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +5 -1
  167. data/lib/temporalio/activity/context.rb +97 -0
  168. data/lib/temporalio/activity/info.rb +67 -0
  169. data/lib/temporalio/activity.rb +85 -0
  170. data/lib/temporalio/bridge/error.rb +8 -0
  171. data/lib/temporalio/bridge.rb +14 -0
  172. data/lib/{temporal → temporalio}/client/implementation.rb +49 -48
  173. data/lib/{temporal → temporalio}/client/workflow_handle.rb +35 -35
  174. data/lib/{temporal → temporalio}/client.rb +19 -32
  175. data/lib/{temporal → temporalio}/connection.rb +238 -223
  176. data/lib/{temporal → temporalio}/data_converter.rb +76 -35
  177. data/lib/{temporal → temporalio}/error/failure.rb +6 -6
  178. data/lib/{temporal → temporalio}/error/workflow_failure.rb +4 -2
  179. data/lib/{temporal → temporalio}/errors.rb +19 -1
  180. data/lib/{temporal → temporalio}/failure_converter/base.rb +5 -5
  181. data/lib/{temporal → temporalio}/failure_converter/basic.rb +58 -52
  182. data/lib/temporalio/failure_converter.rb +7 -0
  183. data/lib/{temporal → temporalio}/interceptor/chain.rb +2 -1
  184. data/lib/{temporal → temporalio}/interceptor/client.rb +22 -1
  185. data/lib/{temporal → temporalio}/payload_codec/base.rb +5 -5
  186. data/lib/{temporal → temporalio}/payload_converter/base.rb +3 -3
  187. data/lib/{temporal → temporalio}/payload_converter/bytes.rb +4 -3
  188. data/lib/{temporal → temporalio}/payload_converter/composite.rb +7 -5
  189. data/lib/{temporal → temporalio}/payload_converter/encoding_base.rb +4 -4
  190. data/lib/{temporal → temporalio}/payload_converter/json.rb +4 -3
  191. data/lib/{temporal → temporalio}/payload_converter/nil.rb +4 -3
  192. data/lib/temporalio/payload_converter.rb +14 -0
  193. data/lib/{temporal → temporalio}/retry_policy.rb +4 -4
  194. data/lib/{temporal → temporalio}/retry_state.rb +1 -1
  195. data/lib/temporalio/runtime.rb +25 -0
  196. data/lib/{temporal → temporalio}/timeout_type.rb +2 -2
  197. data/lib/temporalio/version.rb +3 -0
  198. data/lib/temporalio/worker/activity_runner.rb +92 -0
  199. data/lib/temporalio/worker/activity_worker.rb +138 -0
  200. data/lib/temporalio/worker/reactor.rb +46 -0
  201. data/lib/temporalio/worker/runner.rb +63 -0
  202. data/lib/temporalio/worker/sync_worker.rb +88 -0
  203. data/lib/temporalio/worker/thread_pool_executor.rb +51 -0
  204. data/lib/temporalio/worker.rb +198 -0
  205. data/lib/{temporal → temporalio}/workflow/execution_info.rb +4 -4
  206. data/lib/{temporal → temporalio}/workflow/execution_status.rb +1 -1
  207. data/lib/{temporal → temporalio}/workflow/id_reuse_policy.rb +6 -6
  208. data/lib/{temporal → temporalio}/workflow/query_reject_condition.rb +5 -5
  209. data/lib/temporalio.rb +12 -3
  210. data/temporalio.gemspec +7 -3
  211. metadata +79 -56
  212. data/bridge/sdk-core/bridge-ffi/Cargo.toml +0 -24
  213. data/bridge/sdk-core/bridge-ffi/LICENSE.txt +0 -23
  214. data/bridge/sdk-core/bridge-ffi/build.rs +0 -25
  215. data/bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h +0 -249
  216. data/bridge/sdk-core/bridge-ffi/src/lib.rs +0 -825
  217. data/bridge/sdk-core/bridge-ffi/src/wrappers.rs +0 -211
  218. data/bridge/sdk-core/core/src/log_export.rs +0 -62
  219. data/bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs +0 -127
  220. data/bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs +0 -71
  221. data/bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto +0 -83
  222. data/bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +0 -210
  223. data/bridge/sdk-core/sdk/src/conversions.rs +0 -8
  224. data/lib/gen/temporal/api/cluster/v1/message_pb.rb +0 -67
  225. data/lib/gen/temporal/api/enums/v1/cluster_pb.rb +0 -26
  226. data/lib/gen/temporal/api/update/v1/message_pb.rb +0 -26
  227. data/lib/temporal/bridge.rb +0 -14
  228. data/lib/temporal/failure_converter.rb +0 -8
  229. data/lib/temporal/payload_converter.rb +0 -14
  230. data/lib/temporal/runtime.rb +0 -22
  231. data/lib/temporal/version.rb +0 -3
  232. data/lib/temporal.rb +0 -8
@@ -95,6 +95,16 @@ pub struct WorkerConfig {
95
95
  /// todo: link to feature docs
96
96
  #[builder(default = "false")]
97
97
  pub use_worker_versioning: bool,
98
+
99
+ /// If set false (default), shutdown will not finish until all pending evictions have been
100
+ /// issued and replied to. If set true shutdown will be considered complete when the only
101
+ /// remaining work is pending evictions.
102
+ ///
103
+ /// This flag is useful during tests to avoid needing to deal with lots of uninteresting
104
+ /// evictions during shutdown. Alternatively, if a lang implementation finds it easy to clean
105
+ /// up during shutdown, setting this true saves some back-and-forth.
106
+ #[builder(default = "false")]
107
+ pub ignore_evicts_on_shutdown: bool,
98
108
  }
99
109
 
100
110
  impl WorkerConfig {
@@ -114,6 +124,9 @@ impl WorkerConfigBuilder {
114
124
  if self.max_concurrent_wft_polls == Some(0) {
115
125
  return Err("`max_concurrent_wft_polls` must be at least 1".to_owned());
116
126
  }
127
+ if self.max_concurrent_at_polls == Some(0) {
128
+ return Err("`max_concurrent_at_polls` must be at least 1".to_owned());
129
+ }
117
130
  if self.max_cached_workflows > Some(0)
118
131
  && self.max_outstanding_workflow_tasks > self.max_cached_workflows
119
132
  {
@@ -1,187 +1,162 @@
1
1
  <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
2
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
3
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
- <!-- Generated by graphviz version 2.43.0 (0)
4
+ <!-- Generated by graphviz version 7.0.4 (0)
5
5
  -->
6
- <!-- Title: %3 Pages: 1 -->
7
- <svg width="525pt" height="476pt"
8
- viewBox="0.00 0.00 524.50 476.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
- <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 472)">
10
- <title>%3</title>
11
- <polygon fill="white" stroke="transparent" points="-4,4 -4,-472 520.5,-472 520.5,4 -4,4"/>
6
+ <!-- Pages: 1 -->
7
+ <svg width="436pt" height="404pt"
8
+ viewBox="0.00 0.00 436.26 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
10
+ <polygon fill="white" stroke="none" points="-4,4 -4,-400 432.26,-400 432.26,4 -4,4"/>
12
11
  <!-- 0 -->
13
12
  <g id="node1" class="node">
14
13
  <title>0</title>
15
- <polygon fill="none" stroke="black" points="173,-468 0,-468 0,-432 173,-432 173,-468"/>
16
- <text text-anchor="middle" x="86.5" y="-446.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;bridge&#45;ffi</text>
14
+ <polygon fill="none" stroke="black" points="255,-396 139,-396 139,-360 255,-360 255,-396"/>
15
+ <text text-anchor="middle" x="197" y="-374.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core</text>
17
16
  </g>
18
17
  <!-- 1 -->
19
18
  <g id="node2" class="node">
20
19
  <title>1</title>
21
- <polygon fill="none" stroke="black" points="369.5,-396 253.5,-396 253.5,-360 369.5,-360 369.5,-396"/>
22
- <text text-anchor="middle" x="311.5" y="-374.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core</text>
20
+ <polygon fill="none" stroke="black" points="58,-324 0,-324 0,-288 58,-288 58,-324"/>
21
+ <text text-anchor="middle" x="29" y="-302.3" font-family="Times,serif" font-size="14.00">rustfsm</text>
23
22
  </g>
24
23
  <!-- 0&#45;&gt;1 -->
25
24
  <g id="edge1" class="edge">
26
25
  <title>0&#45;&gt;1</title>
27
- <path fill="none" stroke="black" d="M141.25,-431.97C173.1,-422.06 213.42,-409.51 246.83,-399.12"/>
28
- <polygon fill="black" stroke="black" points="247.99,-402.42 256.5,-396.11 245.91,-395.74 247.99,-402.42"/>
26
+ <path fill="none" stroke="black" d="M155.04,-359.52C128.68,-348.53 94.87,-334.45 68.91,-323.63"/>
27
+ <polygon fill="black" stroke="black" points="70.28,-320.41 59.7,-319.79 67.59,-326.87 70.28,-320.41"/>
29
28
  </g>
30
- <!-- 6 -->
31
- <g id="node5" class="node">
32
- <title>6</title>
33
- <polygon fill="none" stroke="black" points="401,-36 246,-36 246,0 401,0 401,-36"/>
34
- <text text-anchor="middle" x="323.5" y="-14.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;protos</text>
35
- </g>
36
- <!-- 0&#45;&gt;6 -->
37
- <g id="edge3" class="edge">
38
- <title>0&#45;&gt;6</title>
39
- <path fill="none" stroke="black" d="M78.81,-431.91C67.71,-405.62 48.5,-353.45 48.5,-307 48.5,-307 48.5,-307 48.5,-161 48.5,-75.33 155.16,-41.29 235.63,-27.8"/>
40
- <polygon fill="black" stroke="black" points="236.47,-31.21 245.8,-26.18 235.37,-24.3 236.47,-31.21"/>
41
- </g>
42
- <!-- 7 -->
43
- <g id="node6" class="node">
44
- <title>7</title>
45
- <polygon fill="none" stroke="black" points="266,-180 129,-180 129,-144 266,-144 266,-180"/>
46
- <text text-anchor="middle" x="197.5" y="-158.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;api</text>
29
+ <!-- 3 -->
30
+ <g id="node3" class="node">
31
+ <title>3</title>
32
+ <polygon fill="none" stroke="black" points="368,-108 268,-108 268,-72 368,-72 368,-108"/>
33
+ <text text-anchor="middle" x="318" y="-86.3" font-family="Times,serif" font-size="14.00">temporal&#45;client</text>
47
34
  </g>
48
- <!-- 0&#45;&gt;7 -->
35
+ <!-- 0&#45;&gt;3 -->
49
36
  <g id="edge2" class="edge">
50
- <title>0&#45;&gt;7</title>
51
- <path fill="none" stroke="black" d="M85.71,-431.86C84.92,-401.65 85.97,-337.48 105.5,-288 120.88,-249.04 151.5,-211.31 173.18,-187.68"/>
52
- <polygon fill="black" stroke="black" points="175.88,-189.92 180.16,-180.23 170.77,-185.14 175.88,-189.92"/>
37
+ <title>0&#45;&gt;3</title>
38
+ <path fill="none" stroke="black" d="M255.43,-370.58C312.02,-363.02 391.98,-348.3 411,-324 461.94,-258.91 386.25,-162.28 343.68,-116.65"/>
39
+ <polygon fill="black" stroke="black" points="346.38,-114.4 336.95,-109.58 341.31,-119.23 346.38,-114.4"/>
53
40
  </g>
54
- <!-- 2 -->
55
- <g id="node3" class="node">
56
- <title>2</title>
57
- <polygon fill="none" stroke="black" points="172.5,-324 114.5,-324 114.5,-288 172.5,-288 172.5,-324"/>
58
- <text text-anchor="middle" x="143.5" y="-302.3" font-family="Times,serif" font-size="14.00">rustfsm</text>
41
+ <!-- 4 -->
42
+ <g id="node4" class="node">
43
+ <title>4</title>
44
+ <polygon fill="none" stroke="black" points="298.5,-36 143.5,-36 143.5,0 298.5,0 298.5,-36"/>
45
+ <text text-anchor="middle" x="221" y="-14.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;protos</text>
59
46
  </g>
60
- <!-- 1&#45;&gt;2 -->
61
- <g id="edge4" class="edge">
62
- <title>1&#45;&gt;2</title>
63
- <path fill="none" stroke="black" d="M270.4,-359.88C243.41,-348.63 208.34,-334.02 181.91,-323"/>
64
- <polygon fill="black" stroke="black" points="183.17,-319.74 172.59,-319.12 180.47,-326.2 183.17,-319.74"/>
47
+ <!-- 0&#45;&gt;4 -->
48
+ <g id="edge5" class="edge">
49
+ <title>0&#45;&gt;4</title>
50
+ <path fill="none" stroke="black" d="M170.41,-359.59C137.57,-335.74 86,-289.6 86,-235 86,-235 86,-235 86,-161 86,-107.38 137.19,-65.95 176.53,-42.03"/>
51
+ <polygon fill="black" stroke="black" points="178.08,-45.18 184.93,-37.1 174.53,-39.14 178.08,-45.18"/>
65
52
  </g>
66
53
  <!-- 5 -->
67
- <g id="node4" class="node">
54
+ <g id="node5" class="node">
68
55
  <title>5</title>
69
- <polygon fill="none" stroke="black" points="412.5,-108 312.5,-108 312.5,-72 412.5,-72 412.5,-108"/>
70
- <text text-anchor="middle" x="362.5" y="-86.3" font-family="Times,serif" font-size="14.00">temporal&#45;client</text>
56
+ <polygon fill="none" stroke="black" points="289.5,-180 152.5,-180 152.5,-144 289.5,-144 289.5,-180"/>
57
+ <text text-anchor="middle" x="221" y="-158.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;api</text>
71
58
  </g>
72
- <!-- 1&#45;&gt;5 -->
73
- <g id="edge5" class="edge">
74
- <title>1&#45;&gt;5</title>
75
- <path fill="none" stroke="black" d="M369.63,-361.71C391.38,-353.54 414.82,-341.45 431.5,-324 455.23,-299.18 453.17,-285.75 459.5,-252 462.45,-236.27 464.68,-231.14 459.5,-216 445.69,-175.67 412.97,-138.29 389.35,-115.12"/>
76
- <polygon fill="black" stroke="black" points="391.67,-112.5 382.03,-108.11 386.83,-117.55 391.67,-112.5"/>
59
+ <!-- 0&#45;&gt;5 -->
60
+ <g id="edge4" class="edge">
61
+ <title>0&#45;&gt;5</title>
62
+ <path fill="none" stroke="black" d="M188.08,-359.89C173.64,-329.74 148.72,-265.64 169,-216 173.27,-205.55 180.7,-196.05 188.64,-188.07"/>
63
+ <polygon fill="black" stroke="black" points="190.92,-190.72 195.87,-181.35 186.16,-185.59 190.92,-190.72"/>
77
64
  </g>
78
- <!-- 1&#45;&gt;6 -->
79
- <g id="edge8" class="edge">
80
- <title>1&#45;&gt;6</title>
81
- <path fill="none" stroke="black" d="M369.7,-363.34C430.3,-345.24 516.5,-306.87 516.5,-235 516.5,-235 516.5,-235 516.5,-161 516.5,-98.28 449.55,-60.18 394.51,-39.46"/>
82
- <polygon fill="black" stroke="black" points="395.69,-36.16 385.1,-36.04 393.3,-42.74 395.69,-36.16"/>
65
+ <!-- 6 -->
66
+ <g id="node6" class="node">
67
+ <title>6</title>
68
+ <polygon fill="none" stroke="black" points="266.5,-252 177.5,-252 177.5,-216 266.5,-216 266.5,-252"/>
69
+ <text text-anchor="middle" x="222" y="-230.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk</text>
83
70
  </g>
84
- <!-- 1&#45;&gt;7 -->
85
- <g id="edge7" class="edge">
86
- <title>1&#45;&gt;7</title>
87
- <path fill="none" stroke="black" d="M264.03,-359.96C247.39,-351.64 230.2,-339.91 219.5,-324 192.37,-283.65 191.8,-224.66 194.32,-190.41"/>
88
- <polygon fill="black" stroke="black" points="197.83,-190.49 195.22,-180.22 190.86,-189.87 197.83,-190.49"/>
71
+ <!-- 0&#45;&gt;6 -->
72
+ <g id="edge3" class="edge">
73
+ <title>0&#45;&gt;6</title>
74
+ <path fill="none" stroke="blue" d="M195.45,-359.59C197.18,-335.5 204.59,-291.75 211.56,-263.03"/>
75
+ <polygon fill="blue" stroke="blue" points="214.89,-264.13 214.02,-253.58 208.12,-262.37 214.89,-264.13"/>
89
76
  </g>
90
- <!-- 8 -->
77
+ <!-- 7 -->
91
78
  <g id="node7" class="node">
92
- <title>8</title>
93
- <polygon fill="none" stroke="black" points="450,-252 361,-252 361,-216 450,-216 450,-252"/>
94
- <text text-anchor="middle" x="405.5" y="-230.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk</text>
79
+ <title>7</title>
80
+ <polygon fill="none" stroke="black" points="401.5,-324 234.5,-324 234.5,-288 401.5,-288 401.5,-324"/>
81
+ <text text-anchor="middle" x="318" y="-302.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;test&#45;utils</text>
95
82
  </g>
96
- <!-- 1&#45;&gt;8 -->
83
+ <!-- 0&#45;&gt;7 -->
97
84
  <g id="edge6" class="edge">
98
- <title>1&#45;&gt;8</title>
99
- <path fill="none" stroke="blue" d="M354.05,-359.78C369.82,-351.61 386.07,-340.02 395.5,-324 406.38,-305.52 405.76,-280.93 404.34,-262.27"/>
100
- <polygon fill="blue" stroke="blue" points="407.81,-261.75 403.49,-252.07 400.83,-262.32 407.81,-261.75"/>
85
+ <title>0&#45;&gt;7</title>
86
+ <path fill="none" stroke="blue" d="M221.29,-359.52C235.94,-350.51 254.96,-339.42 272.29,-329.76"/>
87
+ <polygon fill="blue" stroke="blue" points="273.86,-332.89 280.93,-324.99 270.48,-326.76 273.86,-332.89"/>
101
88
  </g>
102
- <!-- 9 -->
103
- <g id="node8" class="node">
104
- <title>9</title>
105
- <polygon fill="none" stroke="black" points="395,-324 228,-324 228,-288 395,-288 395,-324"/>
106
- <text text-anchor="middle" x="311.5" y="-302.3" font-family="Times,serif" font-size="14.00">temporal&#45;sdk&#45;core&#45;test&#45;utils</text>
89
+ <!-- 3&#45;&gt;4 -->
90
+ <g id="edge7" class="edge">
91
+ <title>3&#45;&gt;4</title>
92
+ <path fill="none" stroke="black" d="M294.02,-71.7C282.01,-63.03 267.28,-52.4 254.21,-42.96"/>
93
+ <polygon fill="black" stroke="black" points="256.42,-40.25 246.27,-37.23 252.33,-45.92 256.42,-40.25"/>
107
94
  </g>
108
- <!-- 1&#45;&gt;9 -->
109
- <g id="edge9" class="edge">
110
- <title>1&#45;&gt;9</title>
111
- <path fill="none" stroke="blue" d="M305.58,-359.7C304.79,-351.98 304.56,-342.71 304.9,-334.11"/>
112
- <polygon fill="blue" stroke="blue" points="308.4,-334.32 305.6,-324.1 301.42,-333.84 308.4,-334.32"/>
95
+ <!-- 5&#45;&gt;3 -->
96
+ <g id="edge8" class="edge">
97
+ <title>5&#45;&gt;3</title>
98
+ <path fill="none" stroke="black" d="M244.98,-143.7C256.99,-135.03 271.72,-124.4 284.79,-114.96"/>
99
+ <polygon fill="black" stroke="black" points="286.67,-117.92 292.73,-109.23 282.58,-112.25 286.67,-117.92"/>
113
100
  </g>
114
- <!-- 5&#45;&gt;6 -->
115
- <g id="edge10" class="edge">
116
- <title>5&#45;&gt;6</title>
117
- <path fill="none" stroke="black" d="M352.86,-71.7C348.37,-63.64 342.94,-53.89 337.98,-44.98"/>
118
- <polygon fill="black" stroke="black" points="340.95,-43.14 333.03,-36.1 334.84,-46.54 340.95,-43.14"/>
101
+ <!-- 5&#45;&gt;4 -->
102
+ <g id="edge9" class="edge">
103
+ <title>5&#45;&gt;4</title>
104
+ <path fill="none" stroke="black" d="M221,-143.59C221,-119.61 221,-76.14 221,-47.42"/>
105
+ <polygon fill="black" stroke="black" points="224.5,-47.62 221,-37.62 217.5,-47.62 224.5,-47.62"/>
119
106
  </g>
120
- <!-- 7&#45;&gt;5 -->
107
+ <!-- 6&#45;&gt;0 -->
121
108
  <g id="edge11" class="edge">
122
- <title>7&#45;&gt;5</title>
123
- <path fill="none" stroke="black" d="M237.86,-143.88C260.52,-134.26 288.97,-122.19 312.97,-112.01"/>
124
- <polygon fill="black" stroke="black" points="314.43,-115.2 322.27,-108.07 311.69,-108.75 314.43,-115.2"/>
125
- </g>
126
- <!-- 7&#45;&gt;6 -->
127
- <g id="edge12" class="edge">
128
- <title>7&#45;&gt;6</title>
129
- <path fill="none" stroke="black" d="M210.74,-143.85C225.01,-125.62 248.63,-96.14 270.5,-72 279.24,-62.36 289.24,-52.16 298.18,-43.31"/>
130
- <polygon fill="black" stroke="black" points="300.7,-45.74 305.39,-36.24 295.8,-40.75 300.7,-45.74"/>
109
+ <title>6&#45;&gt;0</title>
110
+ <path fill="none" stroke="black" d="M223.57,-252.11C221.89,-276.03 214.51,-319.76 207.53,-348.6"/>
111
+ <polygon fill="black" stroke="black" points="204.18,-347.56 205.06,-358.12 210.96,-349.32 204.18,-347.56"/>
131
112
  </g>
132
- <!-- 8&#45;&gt;1 -->
133
- <g id="edge14" class="edge">
134
- <title>8&#45;&gt;1</title>
135
- <path fill="none" stroke="black" d="M416.59,-252.07C423.07,-271.04 426.51,-301.89 413.5,-324 405.57,-337.47 392.82,-347.8 378.95,-355.62"/>
136
- <polygon fill="black" stroke="black" points="376.99,-352.69 369.71,-360.39 380.2,-358.91 376.99,-352.69"/>
113
+ <!-- 6&#45;&gt;3 -->
114
+ <g id="edge10" class="edge">
115
+ <title>6&#45;&gt;3</title>
116
+ <path fill="none" stroke="black" d="M258.49,-215.67C273.19,-206.93 288.99,-194.98 299,-180 310.95,-162.11 315.57,-138.07 317.27,-119.49"/>
117
+ <polygon fill="black" stroke="black" points="320.75,-119.9 317.91,-109.69 313.76,-119.44 320.75,-119.9"/>
137
118
  </g>
138
- <!-- 8&#45;&gt;5 -->
119
+ <!-- 6&#45;&gt;4 -->
139
120
  <g id="edge13" class="edge">
140
- <title>8&#45;&gt;5</title>
141
- <path fill="none" stroke="black" d="M400.31,-215.87C392.95,-191.56 379.4,-146.82 370.68,-118.01"/>
142
- <polygon fill="black" stroke="black" points="373.95,-116.75 367.71,-108.19 367.25,-118.77 373.95,-116.75"/>
121
+ <title>6&#45;&gt;4</title>
122
+ <path fill="none" stroke="black" d="M181.41,-215.53C166.89,-207.06 152.12,-195.34 144,-180 136.51,-165.86 139.64,-159.39 144,-144 154.67,-106.33 180.26,-68.86 199.02,-44.92"/>
123
+ <polygon fill="black" stroke="black" points="201.6,-47.29 205.13,-37.31 196.14,-42.91 201.6,-47.29"/>
124
+ </g>
125
+ <!-- 6&#45;&gt;5 -->
126
+ <g id="edge12" class="edge">
127
+ <title>6&#45;&gt;5</title>
128
+ <path fill="none" stroke="black" d="M221.75,-215.7C221.65,-208.41 221.52,-199.73 221.41,-191.54"/>
129
+ <polygon fill="black" stroke="black" points="224.91,-191.57 221.27,-181.62 217.91,-191.67 224.91,-191.57"/>
143
130
  </g>
144
- <!-- 8&#45;&gt;6 -->
131
+ <!-- 7&#45;&gt;0 -->
145
132
  <g id="edge16" class="edge">
146
- <title>8&#45;&gt;6</title>
147
- <path fill="none" stroke="black" d="M413.59,-215.56C426.78,-184.32 448.83,-117.84 421.5,-72 413.54,-58.64 400.91,-48.45 387.34,-40.75"/>
148
- <polygon fill="black" stroke="black" points="388.8,-37.56 378.32,-36.04 385.56,-43.77 388.8,-37.56"/>
133
+ <title>7&#45;&gt;0</title>
134
+ <path fill="none" stroke="black" d="M294.08,-324.26C279.5,-333.23 260.5,-344.31 243.14,-354"/>
135
+ <polygon fill="black" stroke="black" points="241.54,-350.89 234.48,-358.78 244.93,-357.01 241.54,-350.89"/>
149
136
  </g>
150
- <!-- 8&#45;&gt;7 -->
151
- <g id="edge15" class="edge">
152
- <title>8&#45;&gt;7</title>
153
- <path fill="none" stroke="black" d="M360.88,-217.98C330.78,-207.86 290.71,-194.37 257.79,-183.29"/>
154
- <polygon fill="black" stroke="black" points="258.86,-179.96 248.26,-180.08 256.62,-186.59 258.86,-179.96"/>
137
+ <!-- 7&#45;&gt;3 -->
138
+ <g id="edge14" class="edge">
139
+ <title>7&#45;&gt;3</title>
140
+ <path fill="none" stroke="black" d="M318.57,-287.61C319.46,-258.08 320.99,-196.26 320,-144 319.85,-136.05 319.57,-127.44 319.27,-119.51"/>
141
+ <polygon fill="black" stroke="black" points="322.78,-119.54 318.87,-109.69 315.78,-119.83 322.78,-119.54"/>
155
142
  </g>
156
- <!-- 9&#45;&gt;1 -->
157
- <g id="edge19" class="edge">
158
- <title>9&#45;&gt;1</title>
159
- <path fill="none" stroke="black" d="M317.4,-324.1C318.2,-331.79 318.44,-341.05 318.1,-349.67"/>
160
- <polygon fill="black" stroke="black" points="314.61,-349.48 317.42,-359.7 321.59,-349.96 314.61,-349.48"/>
143
+ <!-- 7&#45;&gt;4 -->
144
+ <g id="edge18" class="edge">
145
+ <title>7&#45;&gt;4</title>
146
+ <path fill="none" stroke="black" d="M331.1,-287.73C360.65,-246.5 426.21,-140.69 377,-72 361.19,-49.92 335.65,-36.93 309.77,-29.32"/>
147
+ <polygon fill="black" stroke="black" points="310.71,-25.95 300.15,-26.77 308.92,-32.72 310.71,-25.95"/>
161
148
  </g>
162
- <!-- 9&#45;&gt;5 -->
149
+ <!-- 7&#45;&gt;5 -->
163
150
  <g id="edge17" class="edge">
164
- <title>9&#45;&gt;5</title>
165
- <path fill="none" stroke="black" d="M315.59,-287.85C324.43,-250.75 345.39,-162.81 356.04,-118.1"/>
166
- <polygon fill="black" stroke="black" points="359.48,-118.77 358.39,-108.23 352.67,-117.15 359.48,-118.77"/>
167
- </g>
168
- <!-- 9&#45;&gt;6 -->
169
- <g id="edge21" class="edge">
170
- <title>9&#45;&gt;6</title>
171
- <path fill="none" stroke="black" d="M308.43,-287.86C302.03,-249.05 288.97,-151.64 303.5,-72 305.11,-63.2 308.1,-53.95 311.29,-45.7"/>
172
- <polygon fill="black" stroke="black" points="314.62,-46.79 315.19,-36.21 308.15,-44.12 314.62,-46.79"/>
173
- </g>
174
- <!-- 9&#45;&gt;7 -->
175
- <g id="edge20" class="edge">
176
- <title>9&#45;&gt;7</title>
177
- <path fill="none" stroke="black" d="M297.75,-287.87C277.81,-263.03 240.73,-216.85 217.68,-188.14"/>
178
- <polygon fill="black" stroke="black" points="220.29,-185.8 211.3,-180.19 214.83,-190.18 220.29,-185.8"/>
179
- </g>
180
- <!-- 9&#45;&gt;8 -->
181
- <g id="edge18" class="edge">
182
- <title>9&#45;&gt;8</title>
183
- <path fill="none" stroke="black" d="M334.74,-287.7C346.69,-278.8 361.42,-267.82 374.35,-258.2"/>
184
- <polygon fill="black" stroke="black" points="376.6,-260.88 382.53,-252.1 372.42,-255.27 376.6,-260.88"/>
151
+ <title>7&#45;&gt;5</title>
152
+ <path fill="none" stroke="black" d="M311.96,-287.6C304.98,-268.89 292.34,-238.77 276,-216 268.79,-205.96 259.54,-196.2 250.69,-187.86"/>
153
+ <polygon fill="black" stroke="black" points="253.28,-185.48 243.53,-181.34 248.57,-190.66 253.28,-185.48"/>
154
+ </g>
155
+ <!-- 7&#45;&gt;6 -->
156
+ <g id="edge15" class="edge">
157
+ <title>7&#45;&gt;6</title>
158
+ <path fill="none" stroke="black" d="M294.27,-287.7C282.38,-279.03 267.81,-268.4 254.86,-258.96"/>
159
+ <polygon fill="black" stroke="black" points="257.16,-256.3 247.01,-253.24 253.03,-261.96 257.16,-256.3"/>
185
160
  </g>
186
161
  </g>
187
162
  </svg>
@@ -0,0 +1,5 @@
1
+ # Run this from the repo root
2
+ cargo depgraph \
3
+ --focus temporal-sdk,temporal-sdk-core-protos,temporal-client,temporal-sdk-core-api,temporal-sdk-core,rustfsm \
4
+ --dev-deps \
5
+ | dot -Tsvg > etc/deps.svg
@@ -4,7 +4,7 @@ error[E0277]: the trait bound `One: From<Two>` is not satisfied
4
4
  11 | Two --(B)--> One;
5
5
  | ^^^ the trait `From<Two>` is not implemented for `One`
6
6
  |
7
- = note: required because of the requirements on the impl of `Into<One>` for `Two`
7
+ = note: required for `Two` to implement `Into<One>`
8
8
  note: required by a bound in `TransitionResult::<Sm, Ds>::from`
9
9
  --> $WORKSPACE/fsm/rustfsm_trait/src/lib.rs
10
10
  |
@@ -1,8 +1,5 @@
1
1
  version: v1
2
2
  breaking:
3
- ignore:
4
- - temporal/api/schedule/v1
5
- - temporal/api/update/v1
6
3
  use:
7
4
  - PACKAGE
8
5
  lint:
@@ -0,0 +1,7 @@
1
+ module build
2
+
3
+ go 1.18
4
+
5
+ require (
6
+ github.com/temporalio/gogo-protobuf v1.22.1
7
+ )
@@ -0,0 +1,5 @@
1
+ github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
2
+ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
3
+ github.com/temporalio/gogo-protobuf v1.22.1 h1:K5ja5MqmCQKo4tlX7u3g+ZJqbvRr0589ss2cZQx2dSM=
4
+ github.com/temporalio/gogo-protobuf v1.22.1/go.mod h1:tCaEv+fB8tsyLgoaqKr78K/JOhdRe684yyo0z30SHyA=
5
+ golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -2,6 +2,8 @@
2
2
  //
3
3
  // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
4
  //
5
+ // Copyright (c) 2020 Uber Technologies, Inc.
6
+ //
5
7
  // Permission is hereby granted, free of charge, to any person obtaining a copy
6
8
  // of this software and associated documentation files (the "Software"), to deal
7
9
  // in the Software without restriction, including without limitation the rights
@@ -20,27 +22,8 @@
20
22
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
23
  // THE SOFTWARE.
22
24
 
23
- syntax = "proto3";
24
-
25
- package temporal.api.update.v1;
26
-
27
- option go_package = "go.temporal.io/api/update/v1;update";
28
- option java_package = "io.temporal.api.update.v1";
29
- option java_multiple_files = true;
30
- option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Update::V1";
32
- option csharp_namespace = "Temporal.Api.Update.V1";
33
-
34
- import "temporal/api/common/v1/message.proto";
35
-
36
- message WorkflowUpdate {
37
- // Headers that are passed with the update to the processing workflow.
38
- // These can include things like auth or tracing tokens.
39
- temporal.api.common.v1.Header header = 1;
40
-
41
- // The name of the update function to invoke on the target workflow.
42
- string name = 2;
25
+ package build
43
26
 
44
- // The arguments to pass to the named update function.
45
- temporal.api.common.v1.Payloads args = 3;
46
- }
27
+ import (
28
+ _ "github.com/temporalio/gogo-protobuf/gogoproto" // gogoproto is just a random package name for module.
29
+ )
@@ -0,0 +1,6 @@
1
+ // There is special go module in `build` directory that is used to control tools versions.
2
+ // This file exists because go 1.18 doesn't allow go sub modules if root dirrectory is not a go module.
3
+
4
+ module api
5
+
6
+ go 1.18
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/batch/v1;batch";
28
28
  option java_package = "io.temporal.api.batch.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Batch::V1";
32
- option csharp_namespace = "Temporal.Api.Batch.V1";
31
+ option ruby_package = "Temporalio::Api::Batch::V1";
32
+ option csharp_namespace = "Temporalio.Api.Batch.V1";
33
33
 
34
34
  import "dependencies/gogoproto/gogo.proto";
35
35
  import "google/protobuf/timestamp.proto";
@@ -53,12 +53,10 @@ message BatchOperationInfo {
53
53
  // Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.
54
54
  // Ignore first_execution_run_id because this is used for single workflow operation.
55
55
  message BatchOperationTermination {
56
- // Reason of terminate workflows
57
- string reason = 1;
58
56
  // Serialized value(s) to provide to the termination event
59
- temporal.api.common.v1.Payloads details = 2;
57
+ temporal.api.common.v1.Payloads details = 1;
60
58
  // The identity of the worker/client
61
- string identity = 3;
59
+ string identity = 2;
62
60
  }
63
61
 
64
62
  // BatchOperationSignal sends signals to batch workflows.
@@ -79,8 +77,13 @@ message BatchOperationSignal {
79
77
  // Keep the parameter in sync with temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest.
80
78
  // Ignore first_execution_run_id because this is used for single workflow operation.
81
79
  message BatchOperationCancellation {
82
- // Reason of cancel workflows
83
- string reason = 1;
84
80
  // The identity of the worker/client
85
- string identity = 2;
81
+ string identity = 1;
82
+ }
83
+
84
+ // BatchOperationDeletion sends deletion requests to batch workflows.
85
+ // Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.
86
+ message BatchOperationDeletion {
87
+ // The identity of the worker/client
88
+ string identity = 1;
86
89
  }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/command/v1;command";
28
28
  option java_package = "io.temporal.api.command.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Command::V1";
32
- option csharp_namespace = "Temporal.Api.Command.V1";
31
+ option ruby_package = "Temporalio::Api::Command::V1";
32
+ option csharp_namespace = "Temporalio.Api.Command.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
 
@@ -37,9 +37,9 @@ import "dependencies/gogoproto/gogo.proto";
37
37
 
38
38
  import "temporal/api/enums/v1/workflow.proto";
39
39
  import "temporal/api/enums/v1/command_type.proto";
40
- import "temporal/api/enums/v1/update.proto";
41
40
  import "temporal/api/common/v1/message.proto";
42
41
  import "temporal/api/failure/v1/message.proto";
42
+ import "temporal/api/interaction/v1/message.proto";
43
43
  import "temporal/api/taskqueue/v1/message.proto";
44
44
 
45
45
  message ScheduleActivityTaskCommandAttributes {
@@ -155,6 +155,13 @@ message UpsertWorkflowSearchAttributesCommandAttributes {
155
155
  temporal.api.common.v1.SearchAttributes search_attributes = 1;
156
156
  }
157
157
 
158
+ message ModifyWorkflowPropertiesCommandAttributes {
159
+ // If set, update the workflow memo with the provided values. The values will be merged with
160
+ // the existing memo. If the user wants to delete values, a default/empty Payload should be
161
+ // used as the value for the key being deleted.
162
+ temporal.api.common.v1.Memo upserted_memo = 1;
163
+ }
164
+
158
165
  message RecordMarkerCommandAttributes {
159
166
  string marker_name = 1;
160
167
  map<string, temporal.api.common.v1.Payloads> details = 2;
@@ -215,26 +222,18 @@ message StartChildWorkflowExecutionCommandAttributes {
215
222
  }
216
223
 
217
224
  message AcceptWorkflowUpdateCommandAttributes {
218
- // A unique identifier for an update within a given workflow context
219
- string update_id = 1;
225
+ temporal.api.interaction.v1.Meta meta = 1;
226
+ temporal.api.interaction.v1.Input input = 2;
220
227
  }
221
228
 
222
229
  message CompleteWorkflowUpdateCommandAttributes {
223
- // A unique identifier for an update within a given workflow context
224
- string update_id = 1;
225
-
226
- // Whether the server should attempt to bypass making this update rejection
227
- // durable in history. This field is only consulted when the result field
228
- // indicates failure. Leaving this field in its default state (i.e.
229
- // UPDATE_WORKFLOW_REJECTION_DURABILITY_PREFERENCE_UNSPECIFIED) will result
230
- // in making the rejection durable.
231
- temporal.api.enums.v1.WorkflowUpdateDurabilityPreference durability_preference = 2;
230
+ temporal.api.interaction.v1.Meta meta = 1;
231
+ temporal.api.interaction.v1.Output output = 2;
232
+ }
232
233
 
233
- // The success or failure output of the update
234
- oneof result {
235
- temporal.api.common.v1.Payloads success = 3;
236
- temporal.api.failure.v1.Failure failure = 4;
237
- }
234
+ message RejectWorkflowUpdateCommandAttributes {
235
+ temporal.api.interaction.v1.Meta meta = 1;
236
+ temporal.api.failure.v1.Failure failure = 2;
238
237
  }
239
238
 
240
239
  message Command {
@@ -255,5 +254,7 @@ message Command {
255
254
  UpsertWorkflowSearchAttributesCommandAttributes upsert_workflow_search_attributes_command_attributes = 14;
256
255
  AcceptWorkflowUpdateCommandAttributes accept_workflow_update_command_attributes = 15;
257
256
  CompleteWorkflowUpdateCommandAttributes complete_workflow_update_command_attributes = 16;
257
+ ModifyWorkflowPropertiesCommandAttributes modify_workflow_properties_command_attributes = 17;
258
+ RejectWorkflowUpdateCommandAttributes reject_workflow_update_command_attributes = 18;
258
259
  }
259
260
  }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/common/v1;common";
28
28
  option java_package = "io.temporal.api.common.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Common::V1";
32
- option csharp_namespace = "Temporal.Api.Common.V1";
31
+ option ruby_package = "Temporalio::Api::Common::V1";
32
+ option csharp_namespace = "Temporalio.Api.Common.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
 
@@ -28,14 +28,15 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "BatchOperationProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum BatchOperationType {
35
35
  BATCH_OPERATION_TYPE_UNSPECIFIED = 0;
36
36
  BATCH_OPERATION_TYPE_TERMINATE = 1;
37
37
  BATCH_OPERATION_TYPE_CANCEL = 2;
38
38
  BATCH_OPERATION_TYPE_SIGNAL = 3;
39
+ BATCH_OPERATION_TYPE_DELETE = 4;
39
40
  }
40
41
 
41
42
  enum BatchOperationState {