temporalio 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -23
  3. data/bridge/Cargo.lock +168 -59
  4. data/bridge/Cargo.toml +4 -2
  5. data/bridge/sdk-core/README.md +19 -6
  6. data/bridge/sdk-core/client/src/lib.rs +215 -39
  7. data/bridge/sdk-core/client/src/metrics.rs +17 -8
  8. data/bridge/sdk-core/client/src/raw.rs +4 -4
  9. data/bridge/sdk-core/client/src/retry.rs +32 -20
  10. data/bridge/sdk-core/core/Cargo.toml +22 -9
  11. data/bridge/sdk-core/core/src/abstractions.rs +203 -14
  12. data/bridge/sdk-core/core/src/core_tests/activity_tasks.rs +76 -41
  13. data/bridge/sdk-core/core/src/core_tests/determinism.rs +165 -2
  14. data/bridge/sdk-core/core/src/core_tests/local_activities.rs +204 -83
  15. data/bridge/sdk-core/core/src/core_tests/queries.rs +3 -4
  16. data/bridge/sdk-core/core/src/core_tests/workers.rs +1 -3
  17. data/bridge/sdk-core/core/src/core_tests/workflow_tasks.rs +397 -54
  18. data/bridge/sdk-core/core/src/ephemeral_server/mod.rs +106 -12
  19. data/bridge/sdk-core/core/src/internal_flags.rs +136 -0
  20. data/bridge/sdk-core/core/src/lib.rs +16 -9
  21. data/bridge/sdk-core/core/src/telemetry/log_export.rs +1 -1
  22. data/bridge/sdk-core/core/src/telemetry/metrics.rs +69 -35
  23. data/bridge/sdk-core/core/src/telemetry/mod.rs +29 -13
  24. data/bridge/sdk-core/core/src/telemetry/prometheus_server.rs +17 -12
  25. data/bridge/sdk-core/core/src/test_help/mod.rs +62 -12
  26. data/bridge/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +112 -156
  27. data/bridge/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +89 -0
  28. data/bridge/sdk-core/core/src/worker/activities/local_activities.rs +352 -122
  29. data/bridge/sdk-core/core/src/worker/activities.rs +233 -157
  30. data/bridge/sdk-core/core/src/worker/client/mocks.rs +22 -2
  31. data/bridge/sdk-core/core/src/worker/client.rs +18 -2
  32. data/bridge/sdk-core/core/src/worker/mod.rs +165 -58
  33. data/bridge/sdk-core/core/src/worker/workflow/bridge.rs +1 -3
  34. data/bridge/sdk-core/core/src/worker/workflow/driven_workflow.rs +3 -5
  35. data/bridge/sdk-core/core/src/worker/workflow/history_update.rs +856 -277
  36. data/bridge/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +100 -43
  37. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +7 -7
  38. data/bridge/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +5 -4
  39. data/bridge/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +87 -27
  40. data/bridge/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +5 -4
  41. data/bridge/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +5 -4
  42. data/bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +5 -4
  43. data/bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +137 -62
  44. data/bridge/sdk-core/core/src/worker/workflow/machines/mod.rs +25 -17
  45. data/bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +7 -6
  46. data/bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +103 -152
  47. data/bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +7 -7
  48. data/bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +9 -9
  49. data/bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +2 -2
  50. data/bridge/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +14 -7
  51. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +5 -16
  52. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +201 -121
  53. data/bridge/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +11 -14
  54. data/bridge/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +30 -15
  55. data/bridge/sdk-core/core/src/worker/workflow/managed_run.rs +1026 -376
  56. data/bridge/sdk-core/core/src/worker/workflow/mod.rs +460 -384
  57. data/bridge/sdk-core/core/src/worker/workflow/run_cache.rs +40 -57
  58. data/bridge/sdk-core/core/src/worker/workflow/wft_extraction.rs +125 -0
  59. data/bridge/sdk-core/core/src/worker/workflow/wft_poller.rs +1 -4
  60. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +117 -0
  61. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +24 -0
  62. data/bridge/sdk-core/core/src/worker/workflow/workflow_stream.rs +448 -718
  63. data/bridge/sdk-core/core-api/Cargo.toml +2 -1
  64. data/bridge/sdk-core/core-api/src/errors.rs +1 -34
  65. data/bridge/sdk-core/core-api/src/lib.rs +6 -2
  66. data/bridge/sdk-core/core-api/src/telemetry.rs +0 -6
  67. data/bridge/sdk-core/core-api/src/worker.rs +14 -1
  68. data/bridge/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +18 -15
  69. data/bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs +8 -3
  70. data/bridge/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
  71. data/bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +5 -17
  72. data/bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +11 -0
  73. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +1 -6
  74. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +6 -6
  75. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +5 -0
  76. data/bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +22 -6
  77. data/bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +48 -19
  78. data/bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +2 -0
  79. data/bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +3 -0
  80. data/bridge/sdk-core/protos/api_upstream/temporal/api/{enums/v1/interaction_type.proto → protocol/v1/message.proto} +29 -11
  81. data/bridge/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +63 -0
  82. data/bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +111 -0
  83. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +59 -28
  84. data/bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +2 -2
  85. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +1 -0
  86. data/bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +1 -0
  87. data/bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +1 -0
  88. data/bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto +1 -0
  89. data/bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +1 -0
  90. data/bridge/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +1 -0
  91. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +7 -0
  92. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +1 -0
  93. data/bridge/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +6 -0
  94. data/bridge/sdk-core/sdk/Cargo.toml +3 -2
  95. data/bridge/sdk-core/sdk/src/lib.rs +87 -20
  96. data/bridge/sdk-core/sdk/src/workflow_future.rs +9 -8
  97. data/bridge/sdk-core/sdk-core-protos/Cargo.toml +5 -2
  98. data/bridge/sdk-core/sdk-core-protos/build.rs +36 -1
  99. data/bridge/sdk-core/sdk-core-protos/src/history_builder.rs +100 -87
  100. data/bridge/sdk-core/sdk-core-protos/src/history_info.rs +5 -1
  101. data/bridge/sdk-core/sdk-core-protos/src/lib.rs +175 -57
  102. data/bridge/sdk-core/sdk-core-protos/src/task_token.rs +12 -2
  103. data/bridge/sdk-core/test-utils/Cargo.toml +3 -1
  104. data/bridge/sdk-core/test-utils/src/canned_histories.rs +106 -296
  105. data/bridge/sdk-core/test-utils/src/histfetch.rs +1 -1
  106. data/bridge/sdk-core/test-utils/src/lib.rs +82 -23
  107. data/bridge/sdk-core/test-utils/src/wf_input_saver.rs +50 -0
  108. data/bridge/sdk-core/test-utils/src/workflows.rs +29 -0
  109. data/bridge/sdk-core/tests/fuzzy_workflow.rs +130 -0
  110. data/bridge/sdk-core/tests/{load_tests.rs → heavy_tests.rs} +125 -51
  111. data/bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +25 -3
  112. data/bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs +5 -3
  113. data/bridge/sdk-core/tests/integ_tests/metrics_tests.rs +218 -16
  114. data/bridge/sdk-core/tests/integ_tests/polling_tests.rs +4 -47
  115. data/bridge/sdk-core/tests/integ_tests/queries_tests.rs +5 -128
  116. data/bridge/sdk-core/tests/integ_tests/visibility_tests.rs +83 -25
  117. data/bridge/sdk-core/tests/integ_tests/workflow_tests/activities.rs +93 -69
  118. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +1 -0
  119. data/bridge/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +6 -13
  120. data/bridge/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +1 -0
  121. data/bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +6 -2
  122. data/bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +3 -10
  123. data/bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +72 -191
  124. data/bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +1 -0
  125. data/bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs +7 -28
  126. data/bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs +12 -7
  127. data/bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -0
  128. data/bridge/sdk-core/tests/integ_tests/workflow_tests/signals.rs +18 -14
  129. data/bridge/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +6 -20
  130. data/bridge/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -21
  131. data/bridge/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +6 -4
  132. data/bridge/sdk-core/tests/integ_tests/workflow_tests.rs +10 -11
  133. data/bridge/sdk-core/tests/main.rs +3 -13
  134. data/bridge/sdk-core/tests/runner.rs +75 -36
  135. data/bridge/sdk-core/tests/wf_input_replay.rs +32 -0
  136. data/bridge/src/connection.rs +41 -25
  137. data/bridge/src/lib.rs +269 -14
  138. data/bridge/src/runtime.rs +1 -1
  139. data/bridge/src/test_server.rs +153 -0
  140. data/bridge/src/worker.rs +89 -16
  141. data/lib/gen/temporal/api/command/v1/message_pb.rb +4 -18
  142. data/lib/gen/temporal/api/common/v1/message_pb.rb +4 -0
  143. data/lib/gen/temporal/api/enums/v1/command_type_pb.rb +1 -3
  144. data/lib/gen/temporal/api/enums/v1/event_type_pb.rb +3 -3
  145. data/lib/gen/temporal/api/enums/v1/failed_cause_pb.rb +2 -0
  146. data/lib/gen/temporal/api/enums/v1/update_pb.rb +6 -4
  147. data/lib/gen/temporal/api/history/v1/message_pb.rb +27 -19
  148. data/lib/gen/temporal/api/namespace/v1/message_pb.rb +1 -0
  149. data/lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb +3 -0
  150. data/lib/gen/temporal/api/protocol/v1/message_pb.rb +30 -0
  151. data/lib/gen/temporal/api/sdk/v1/task_complete_metadata_pb.rb +23 -0
  152. data/lib/gen/temporal/api/testservice/v1/request_response_pb.rb +49 -0
  153. data/lib/gen/temporal/api/testservice/v1/service_pb.rb +21 -0
  154. data/lib/gen/temporal/api/update/v1/message_pb.rb +72 -0
  155. data/lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb +26 -16
  156. data/lib/gen/temporal/sdk/core/activity_result/activity_result_pb.rb +13 -9
  157. data/lib/gen/temporal/sdk/core/activity_task/activity_task_pb.rb +10 -6
  158. data/lib/gen/temporal/sdk/core/child_workflow/child_workflow_pb.rb +13 -9
  159. data/lib/gen/temporal/sdk/core/common/common_pb.rb +7 -3
  160. data/lib/gen/temporal/sdk/core/core_interface_pb.rb +9 -3
  161. data/lib/gen/temporal/sdk/core/external_data/external_data_pb.rb +7 -3
  162. data/lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb +27 -21
  163. data/lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb +28 -24
  164. data/lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb +12 -5
  165. data/lib/temporalio/activity/context.rb +13 -8
  166. data/lib/temporalio/activity/info.rb +1 -1
  167. data/lib/temporalio/bridge/connect_options.rb +15 -0
  168. data/lib/temporalio/bridge/retry_config.rb +24 -0
  169. data/lib/temporalio/bridge/tls_options.rb +19 -0
  170. data/lib/temporalio/client/implementation.rb +8 -8
  171. data/lib/temporalio/connection/retry_config.rb +44 -0
  172. data/lib/temporalio/connection/service.rb +20 -0
  173. data/lib/temporalio/connection/test_service.rb +92 -0
  174. data/lib/temporalio/connection/tls_options.rb +51 -0
  175. data/lib/temporalio/connection/workflow_service.rb +731 -0
  176. data/lib/temporalio/connection.rb +55 -720
  177. data/lib/temporalio/interceptor/activity_inbound.rb +22 -0
  178. data/lib/temporalio/interceptor/activity_outbound.rb +24 -0
  179. data/lib/temporalio/interceptor/chain.rb +5 -5
  180. data/lib/temporalio/interceptor/client.rb +8 -4
  181. data/lib/temporalio/interceptor.rb +22 -0
  182. data/lib/temporalio/retry_policy.rb +13 -3
  183. data/lib/temporalio/testing/time_skipping_handle.rb +32 -0
  184. data/lib/temporalio/testing/time_skipping_interceptor.rb +23 -0
  185. data/lib/temporalio/testing/workflow_environment.rb +112 -0
  186. data/lib/temporalio/testing.rb +175 -0
  187. data/lib/temporalio/version.rb +1 -1
  188. data/lib/temporalio/worker/activity_runner.rb +26 -4
  189. data/lib/temporalio/worker/activity_worker.rb +44 -18
  190. data/lib/temporalio/worker/sync_worker.rb +47 -11
  191. data/lib/temporalio/worker.rb +27 -21
  192. data/lib/temporalio/workflow/async.rb +46 -0
  193. data/lib/temporalio/workflow/future.rb +138 -0
  194. data/lib/temporalio/workflow/info.rb +76 -0
  195. data/temporalio.gemspec +4 -3
  196. metadata +67 -17
  197. data/bridge/sdk-core/Cargo.lock +0 -2606
  198. data/bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto +0 -87
  199. data/lib/bridge.so +0 -0
  200. data/lib/gen/temporal/api/enums/v1/interaction_type_pb.rb +0 -25
  201. data/lib/gen/temporal/api/interaction/v1/message_pb.rb +0 -49
  202. data/lib/gen/temporal/sdk/core/bridge/bridge_pb.rb +0 -222
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 657f0a3bde04af32d78ce4f6b58103ba1eb5e16b6b023aea02fdd8889fe7594c
4
- data.tar.gz: 7b51a09196eb6dde92b54e31b1abad8cf7ce3a41f2c719de73d8341e83d5d95e
3
+ metadata.gz: f08577afe5170dc9e21a1fca6cf6c392fe4a15d2bcb699a452aa21ec3a7dee16
4
+ data.tar.gz: 8f36176626b07d8fd2a49e214d55c1e8f4727ad5dfbc15555d620ce88452ed93
5
5
  SHA512:
6
- metadata.gz: 768d7983132b8a4bc3bd359be90a621463f9abd0e3a6de51dbd13256c86e9f60f916142b3301d22082e7ffacba156b5a97666b4f189299e976bc890c224fe2bb
7
- data.tar.gz: 7602428c63547f9de4da9dcbd4180d58617eae04fb5478a58fbfc16c2d7f27fda8894134ab1a7d37dfe3c79f0c67d97eabf5f2f7f50e0112f19dbcc12f32d1d3
6
+ metadata.gz: 072a450775661734eb6fdc176a09e64ada9616d17769ce723e12182e59603e08df6cdd58e095f92673ec09b041bb9e9e508b0f079ec4d83b6acdc31f460bb667
7
+ data.tar.gz: e4e8c7b38410a2ba9f2eb8256d26dbb5f02fd936e650e3cd75c4fdc36c09d2f172aa3b06b819bac41ea11bf6e2e9d8eec3cb29873643ca149759ed58c8c40a71
data/README.md CHANGED
@@ -21,7 +21,6 @@ At this point the SDK only supports the **Temporal Client** capabilities:
21
21
  - Interacting with a workflow (cancelling, querying, signalling, etc)
22
22
  - Interceptor and Data Conversion support
23
23
  - gRPC access to Temporal Server
24
- - Temporal Cloud is not yet supported due to the lack of TLS support, but it's coming soon
25
24
 
26
25
  As well as **Activity Worker** capabilities:
27
26
 
@@ -43,7 +42,6 @@ The SDK is now ready for use. To build from source, see [Dev Setup](#dev-setup).
43
42
 
44
43
  **NOTE: This README is for the current branch and not necessarily what's released on RubyGems.**
45
44
 
46
-
47
45
  ## Usage
48
46
 
49
47
  ### Client
@@ -54,6 +52,12 @@ A client can be created and used to start a workflow like so:
54
52
  # Establish a gRPC connection to the server
55
53
  connection = Temporalio::Connection.new('localhost:7233')
56
54
 
55
+ # To enable TLS, simply add the `tls:` argument:
56
+ # Temporalio::Connection.new(
57
+ # 'localhost:7233',
58
+ # tls: Temporalio::Connection::TlsOptions.new(client_cert, client_private_key)
59
+ # )
60
+
57
61
  # Initialize a Client with a namespace
58
62
  client = Temporalio::Client.new(connection, 'my-namespace')
59
63
 
@@ -68,7 +72,6 @@ puts "Result: #{result}"
68
72
  Some things to note about the above code:
69
73
 
70
74
  - A `Client` does not have an explicit "close"
71
- - TLS is not yet supported
72
75
  - All positional arguments after the workflow name are treated as workflow arguments
73
76
  - The `handle` represents the workflow that was started and can be used for more than just getting
74
77
  the result
@@ -98,13 +101,13 @@ different SDKs. A custom payload converter can be implemented to support these.
98
101
  Workers host workflows (coming soon) and/or activities. Here's how to run a worker:
99
102
 
100
103
  ```ruby
101
- require 'temporal'
104
+ require 'temporalio'
102
105
 
103
106
  # Establish a gRPC connection to the server
104
- connection = Temporal::Connection.new('localhost:7233')
107
+ connection = Temporalio::Connection.new('localhost:7233')
105
108
 
106
109
  # Initialize a new worker with your activities
107
- worker = Temporal::Worker.new(connection, 'my-namespace', 'my-task-queue', activities: [MyActivity])
110
+ worker = Temporalio::Worker.new(connection, 'my-namespace', 'my-task-queue', activities: [MyActivity])
108
111
 
109
112
  # Occupy the thread by running the worker
110
113
  worker.run
@@ -125,7 +128,7 @@ which the worker will shut itself down:
125
128
  worker_1.run { sleep 5 }
126
129
 
127
130
  # Or shut the worker down when a workflow completes (very useful for running specs):
128
- client = Temporal::Client.new(connection, 'my-namespace')
131
+ client = Temporalio::Client.new(connection, 'my-namespace')
129
132
  handle = client.start_workflow('MyWorkflow', 'some input', id: 'my-id', task_queue: 'my-task-queue')
130
133
  worker_2.run { handle.result }
131
134
 
@@ -135,34 +138,34 @@ Signal.trap('USR1') { stop_queue.close }
135
138
  worker_3.run { stop_queue.pop }
136
139
  ```
137
140
 
138
- You can also shut down a running worker by calling `Temporal::Worker#shutdown` from a separate
141
+ You can also shut down a running worker by calling `Temporalio::Worker#shutdown` from a separate
139
142
  thread at any time.
140
143
 
141
144
  #### Running multiple workers
142
145
 
143
- In order to run multiple workers in the same thread you can use the `Temporal::Worker.run` method:
146
+ In order to run multiple workers in the same thread you can use the `Temporalio::Worker.run` method:
144
147
 
145
148
  ```ruby
146
149
  # Initialize workers
147
- worker_1 = Temporal::Worker.new(connection, 'my-namespace-1', 'my-task-queue-1', activities: [MyActivity1, MyActivity2])
148
- worker_2 = Temporal::Worker.new(connection, 'my-namespace-2', 'my-task-queue-1', activities: [MyActivity3])
149
- worker_3 = Temporal::Worker.new(connection, 'my-namespace-1', 'my-task-queue-2', activities: [MyActivity4])
150
+ worker_1 = Temporalio::Worker.new(connection, 'my-namespace-1', 'my-task-queue-1', activities: [MyActivity1, MyActivity2])
151
+ worker_2 = Temporalio::Worker.new(connection, 'my-namespace-2', 'my-task-queue-1', activities: [MyActivity3])
152
+ worker_3 = Temporalio::Worker.new(connection, 'my-namespace-1', 'my-task-queue-2', activities: [MyActivity4])
150
153
 
151
- Temporal::Worker.run(worker_1, worker_2, worker_3)
154
+ Temporalio::Worker.run(worker_1, worker_2, worker_3)
152
155
  ```
153
156
 
154
- Please note that similar to `Temporal::Worker#run`, `Temporal::Worker.run` accepts a block that
157
+ Please note that similar to `Temporalio::Worker#run`, `Temporalio::Worker.run` accepts a block that
155
158
  behaves the same way — the workers will be shut down when the block finishes.
156
159
 
157
160
  You can also configure your worker to listen on process signals to initiate a shutdown:
158
161
 
159
162
  ```ruby
160
- Temporal::Worker.run(worker_1, worker_2, worker_3, shutdown_signals: %w[INT TERM])
163
+ Temporalio::Worker.run(worker_1, worker_2, worker_3, shutdown_signals: %w[INT TERM])
161
164
  ```
162
165
 
163
166
  #### Worker Shutdown
164
167
 
165
- The `Temporal::Worker#run` (as well as `Temporal::Worker#shutdown`) invocation will wait on all
168
+ The `Temporalio::Worker#run` (as well as `Temporalio::Worker#shutdown`) invocation will wait on all
166
169
  activities to complete, so if a long-running activity does not at least respect cancellation, the
167
170
  shutdown may never complete.
168
171
 
@@ -175,10 +178,10 @@ Cancellation](#heartbeating-and-cancellation).
175
178
 
176
179
  #### Definition
177
180
 
178
- Activities are defined by subclassing `Temporal::Activity` class:
181
+ Activities are defined by subclassing `Temporalio::Activity` class:
179
182
 
180
183
  ```ruby
181
- class SayHelloActivity < Temporal::Activity
184
+ class SayHelloActivity < Temporalio::Activity
182
185
  # Optionally specify a custom activity name:
183
186
  # (The class name `SayHelloActivity` will be used by default)
184
187
  activity_name 'say-hello'
@@ -197,7 +200,7 @@ Some things to note about activity definitions:
197
200
 
198
201
  #### Activity Context
199
202
 
200
- Activity classes have access to `Temporal::Activity::Context` via the `activity` method. Which
203
+ Activity classes have access to `Temporalio::Activity::Context` via the `activity` method. Which
201
204
  itself provides access to useful methods, specifically:
202
205
 
203
206
  - `info` - Returns the immutable info of the currently running activity
@@ -217,12 +220,12 @@ persisted on the server for retrieval during activity retry. If an activity call
217
220
  return an array containing `123` and `456` on the next run.
218
221
 
219
222
  A cancellation is implemented using the `Thread#raise` method, which will raise a
220
- `Temporal::Error::ActivityCancelled` during the execution of an activity. This means that your code
223
+ `Temporalio::Error::ActivityCancelled` during the execution of an activity. This means that your code
221
224
  might get interrupted at any point and never complete. In order to protect critical parts of your
222
225
  activities wrap them in `activity.shield`:
223
226
 
224
227
  ```ruby
225
- class ActivityWithCriticalLogic < Temporal::Activity
228
+ class ActivityWithCriticalLogic < Temporalio::Activity
226
229
  def execute
227
230
  activity.shield do
228
231
  run_business_critical_logic_1
@@ -244,7 +247,7 @@ In case the entire activity is considered critical, you can mark it as `shielded
244
247
  cancellation requests altogether:
245
248
 
246
249
  ```ruby
247
- class CriticalActivity < Temporal::Activity
250
+ class CriticalActivity < Temporalio::Activity
248
251
  shielded!
249
252
 
250
253
  def execute
@@ -259,7 +262,6 @@ For any long-running activity using this approach it is recommended to periodica
259
262
  Please note that your activities can also get cancelled during a worker shutdown process ([if
260
263
  configured accordingly](#worker-shutdown)).
261
264
 
262
-
263
265
  ## Dev Setup
264
266
 
265
267
  Once you've forked/cloned the repository you want to make sure all the submodules are fetched as
data/bridge/Cargo.lock CHANGED
@@ -22,11 +22,11 @@ dependencies = [
22
22
 
23
23
  [[package]]
24
24
  name = "ahash"
25
- version = "0.7.6"
25
+ version = "0.8.3"
26
26
  source = "registry+https://github.com/rust-lang/crates.io-index"
27
- checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
27
+ checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
28
28
  dependencies = [
29
- "getrandom",
29
+ "cfg-if",
30
30
  "once_cell",
31
31
  "version_check",
32
32
  ]
@@ -52,17 +52,6 @@ version = "1.5.1"
52
52
  source = "registry+https://github.com/rust-lang/crates.io-index"
53
53
  checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164"
54
54
 
55
- [[package]]
56
- name = "async-channel"
57
- version = "1.7.1"
58
- source = "registry+https://github.com/rust-lang/crates.io-index"
59
- checksum = "e14485364214912d3b19cc3435dde4df66065127f05fa0d75c712f36f12c2f28"
60
- dependencies = [
61
- "concurrent-queue",
62
- "event-listener",
63
- "futures-core",
64
- ]
65
-
66
55
  [[package]]
67
56
  name = "async-stream"
68
57
  version = "0.3.3"
@@ -165,9 +154,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
165
154
 
166
155
  [[package]]
167
156
  name = "base64"
168
- version = "0.20.0"
157
+ version = "0.21.0"
169
158
  source = "registry+https://github.com/rust-lang/crates.io-index"
170
- checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
159
+ checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
171
160
 
172
161
  [[package]]
173
162
  name = "base64ct"
@@ -192,9 +181,11 @@ dependencies = [
192
181
 
193
182
  [[package]]
194
183
  name = "bridge"
195
- version = "0.0.1"
184
+ version = "0.1.0"
196
185
  dependencies = [
186
+ "anyhow",
197
187
  "lazy_static",
188
+ "parking_lot",
198
189
  "prost",
199
190
  "rutie",
200
191
  "temporal-client",
@@ -228,9 +219,9 @@ checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
228
219
 
229
220
  [[package]]
230
221
  name = "bzip2"
231
- version = "0.4.3"
222
+ version = "0.4.4"
232
223
  source = "registry+https://github.com/rust-lang/crates.io-index"
233
- checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0"
224
+ checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
234
225
  dependencies = [
235
226
  "bzip2-sys",
236
227
  "libc",
@@ -247,12 +238,6 @@ dependencies = [
247
238
  "pkg-config",
248
239
  ]
249
240
 
250
- [[package]]
251
- name = "cache-padded"
252
- version = "1.2.0"
253
- source = "registry+https://github.com/rust-lang/crates.io-index"
254
- checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
255
-
256
241
  [[package]]
257
242
  name = "cc"
258
243
  version = "1.0.76"
@@ -269,21 +254,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
269
254
  checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
270
255
 
271
256
  [[package]]
272
- name = "cipher"
273
- version = "0.3.0"
257
+ name = "chrono"
258
+ version = "0.4.23"
274
259
  source = "registry+https://github.com/rust-lang/crates.io-index"
275
- checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
260
+ checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f"
276
261
  dependencies = [
277
- "generic-array",
262
+ "num-integer",
263
+ "num-traits",
264
+ "serde",
278
265
  ]
279
266
 
280
267
  [[package]]
281
- name = "concurrent-queue"
282
- version = "1.2.4"
268
+ name = "cipher"
269
+ version = "0.3.0"
283
270
  source = "registry+https://github.com/rust-lang/crates.io-index"
284
- checksum = "af4780a44ab5696ea9e28294517f1fffb421a83a25af521333c838635509db9c"
271
+ checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
285
272
  dependencies = [
286
- "cache-padded",
273
+ "generic-array",
287
274
  ]
288
275
 
289
276
  [[package]]
@@ -409,6 +396,16 @@ dependencies = [
409
396
  "typenum",
410
397
  ]
411
398
 
399
+ [[package]]
400
+ name = "ctor"
401
+ version = "0.1.26"
402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
403
+ checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
404
+ dependencies = [
405
+ "quote",
406
+ "syn",
407
+ ]
408
+
412
409
  [[package]]
413
410
  name = "darling"
414
411
  version = "0.14.2"
@@ -451,7 +448,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
451
448
  checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
452
449
  dependencies = [
453
450
  "cfg-if",
454
- "hashbrown",
451
+ "hashbrown 0.12.3",
455
452
  "lock_api",
456
453
  "once_cell",
457
454
  "parking_lot_core",
@@ -552,10 +549,13 @@ dependencies = [
552
549
  ]
553
550
 
554
551
  [[package]]
555
- name = "event-listener"
556
- version = "2.5.3"
552
+ name = "erased-serde"
553
+ version = "0.3.24"
557
554
  source = "registry+https://github.com/rust-lang/crates.io-index"
558
- checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
555
+ checksum = "e4ca605381c017ec7a5fef5e548f1cfaa419ed0f6df6367339300db74c92aa7d"
556
+ dependencies = [
557
+ "serde",
558
+ ]
559
559
 
560
560
  [[package]]
561
561
  name = "fastrand"
@@ -751,6 +751,17 @@ dependencies = [
751
751
  "wasi 0.11.0+wasi-snapshot-preview1",
752
752
  ]
753
753
 
754
+ [[package]]
755
+ name = "ghost"
756
+ version = "0.1.7"
757
+ source = "registry+https://github.com/rust-lang/crates.io-index"
758
+ checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
759
+ dependencies = [
760
+ "proc-macro2",
761
+ "quote",
762
+ "syn",
763
+ ]
764
+
754
765
  [[package]]
755
766
  name = "governor"
756
767
  version = "0.5.0"
@@ -793,6 +804,12 @@ name = "hashbrown"
793
804
  version = "0.12.3"
794
805
  source = "registry+https://github.com/rust-lang/crates.io-index"
795
806
  checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
807
+
808
+ [[package]]
809
+ name = "hashbrown"
810
+ version = "0.13.2"
811
+ source = "registry+https://github.com/rust-lang/crates.io-index"
812
+ checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
796
813
  dependencies = [
797
814
  "ahash",
798
815
  ]
@@ -933,7 +950,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
933
950
  checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
934
951
  dependencies = [
935
952
  "autocfg",
936
- "hashbrown",
953
+ "hashbrown 0.12.3",
937
954
  ]
938
955
 
939
956
  [[package]]
@@ -945,6 +962,16 @@ dependencies = [
945
962
  "cfg-if",
946
963
  ]
947
964
 
965
+ [[package]]
966
+ name = "inventory"
967
+ version = "0.3.3"
968
+ source = "registry+https://github.com/rust-lang/crates.io-index"
969
+ checksum = "16fe3b35d64bd1f72917f06425e7573a2f63f74f42c8f56e53ea6826dde3a2b5"
970
+ dependencies = [
971
+ "ctor",
972
+ "ghost",
973
+ ]
974
+
948
975
  [[package]]
949
976
  name = "ipnet"
950
977
  version = "2.5.1"
@@ -1017,11 +1044,11 @@ dependencies = [
1017
1044
 
1018
1045
  [[package]]
1019
1046
  name = "lru"
1020
- version = "0.8.1"
1047
+ version = "0.9.0"
1021
1048
  source = "registry+https://github.com/rust-lang/crates.io-index"
1022
- checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909"
1049
+ checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17"
1023
1050
  dependencies = [
1024
- "hashbrown",
1051
+ "hashbrown 0.13.2",
1025
1052
  ]
1026
1053
 
1027
1054
  [[package]]
@@ -1174,6 +1201,16 @@ dependencies = [
1174
1201
  "winapi",
1175
1202
  ]
1176
1203
 
1204
+ [[package]]
1205
+ name = "num-integer"
1206
+ version = "0.1.45"
1207
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1208
+ checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
1209
+ dependencies = [
1210
+ "autocfg",
1211
+ "num-traits",
1212
+ ]
1213
+
1177
1214
  [[package]]
1178
1215
  name = "num-traits"
1179
1216
  version = "0.2.15"
@@ -1480,9 +1517,9 @@ dependencies = [
1480
1517
 
1481
1518
  [[package]]
1482
1519
  name = "prost"
1483
- version = "0.11.2"
1520
+ version = "0.11.6"
1484
1521
  source = "registry+https://github.com/rust-lang/crates.io-index"
1485
- checksum = "a0841812012b2d4a6145fae9a6af1534873c32aa67fff26bd09f8fa42c83f95a"
1522
+ checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698"
1486
1523
  dependencies = [
1487
1524
  "bytes",
1488
1525
  "prost-derive",
@@ -1490,9 +1527,9 @@ dependencies = [
1490
1527
 
1491
1528
  [[package]]
1492
1529
  name = "prost-build"
1493
- version = "0.11.2"
1530
+ version = "0.11.6"
1494
1531
  source = "registry+https://github.com/rust-lang/crates.io-index"
1495
- checksum = "1d8b442418ea0822409d9e7d047cbf1e7e9e1760b172bf9982cf29d517c93511"
1532
+ checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e"
1496
1533
  dependencies = [
1497
1534
  "bytes",
1498
1535
  "heck",
@@ -1512,9 +1549,9 @@ dependencies = [
1512
1549
 
1513
1550
  [[package]]
1514
1551
  name = "prost-derive"
1515
- version = "0.11.2"
1552
+ version = "0.11.6"
1516
1553
  source = "registry+https://github.com/rust-lang/crates.io-index"
1517
- checksum = "164ae68b6587001ca506d3bf7f1000bfa248d0e1217b618108fba4ec1d0cc306"
1554
+ checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d"
1518
1555
  dependencies = [
1519
1556
  "anyhow",
1520
1557
  "itertools",
@@ -1525,14 +1562,60 @@ dependencies = [
1525
1562
 
1526
1563
  [[package]]
1527
1564
  name = "prost-types"
1528
- version = "0.11.2"
1565
+ version = "0.11.6"
1529
1566
  source = "registry+https://github.com/rust-lang/crates.io-index"
1530
- checksum = "747761bc3dc48f9a34553bf65605cf6cb6288ba219f3450b4275dbd81539551a"
1567
+ checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788"
1531
1568
  dependencies = [
1532
1569
  "bytes",
1533
1570
  "prost",
1534
1571
  ]
1535
1572
 
1573
+ [[package]]
1574
+ name = "prost-wkt"
1575
+ version = "0.4.0"
1576
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1577
+ checksum = "81d27933a63f4fa7586c2eac76179e7a9b782a7165aa309028adbec626a33100"
1578
+ dependencies = [
1579
+ "chrono",
1580
+ "inventory",
1581
+ "prost",
1582
+ "serde",
1583
+ "serde_derive",
1584
+ "serde_json",
1585
+ "typetag",
1586
+ ]
1587
+
1588
+ [[package]]
1589
+ name = "prost-wkt-build"
1590
+ version = "0.4.0"
1591
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1592
+ checksum = "edf268948bef41c2f9bb879e8868c155412d28d6ba4295c5b8d6d6639e47f9cf"
1593
+ dependencies = [
1594
+ "heck",
1595
+ "prost",
1596
+ "prost-build",
1597
+ "prost-types",
1598
+ "quote",
1599
+ ]
1600
+
1601
+ [[package]]
1602
+ name = "prost-wkt-types"
1603
+ version = "0.4.0"
1604
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1605
+ checksum = "4e240034fe46986ab9f84d669ed9bd46ad0c6adb8777ef28f5c44b94b43a3743"
1606
+ dependencies = [
1607
+ "chrono",
1608
+ "prost",
1609
+ "prost-build",
1610
+ "prost-types",
1611
+ "prost-wkt",
1612
+ "prost-wkt-build",
1613
+ "regex",
1614
+ "serde",
1615
+ "serde_derive",
1616
+ "serde_json",
1617
+ ]
1618
+
1536
1619
  [[package]]
1537
1620
  name = "protobuf"
1538
1621
  version = "2.28.0"
@@ -2068,9 +2151,8 @@ version = "0.1.0"
2068
2151
  dependencies = [
2069
2152
  "anyhow",
2070
2153
  "arc-swap",
2071
- "async-channel",
2072
2154
  "async-trait",
2073
- "base64 0.20.0",
2155
+ "base64 0.21.0",
2074
2156
  "crossbeam",
2075
2157
  "dashmap",
2076
2158
  "derive_builder",
@@ -2084,7 +2166,6 @@ dependencies = [
2084
2166
  "hyper",
2085
2167
  "itertools",
2086
2168
  "lazy_static",
2087
- "log",
2088
2169
  "lru",
2089
2170
  "mockall",
2090
2171
  "nix",
@@ -2093,9 +2174,10 @@ dependencies = [
2093
2174
  "opentelemetry-otlp",
2094
2175
  "opentelemetry-prometheus",
2095
2176
  "parking_lot",
2177
+ "pin-project",
2096
2178
  "prometheus",
2097
2179
  "prost",
2098
- "prost-types",
2180
+ "prost-wkt-types",
2099
2181
  "rand",
2100
2182
  "reqwest",
2101
2183
  "ringbuf",
@@ -2129,12 +2211,13 @@ version = "0.1.0"
2129
2211
  dependencies = [
2130
2212
  "async-trait",
2131
2213
  "derive_builder",
2132
- "opentelemetry",
2133
2214
  "prost-types",
2215
+ "serde",
2134
2216
  "serde_json",
2135
2217
  "temporal-client",
2136
2218
  "temporal-sdk-core-protos",
2137
2219
  "thiserror",
2220
+ "tokio",
2138
2221
  "tonic",
2139
2222
  "tracing-core",
2140
2223
  "url",
@@ -2145,10 +2228,12 @@ name = "temporal-sdk-core-protos"
2145
2228
  version = "0.1.0"
2146
2229
  dependencies = [
2147
2230
  "anyhow",
2148
- "base64 0.20.0",
2231
+ "base64 0.21.0",
2149
2232
  "derive_more",
2150
2233
  "prost",
2151
- "prost-types",
2234
+ "prost-wkt",
2235
+ "prost-wkt-build",
2236
+ "prost-wkt-types",
2152
2237
  "rand",
2153
2238
  "serde",
2154
2239
  "serde_json",
@@ -2237,9 +2322,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
2237
2322
 
2238
2323
  [[package]]
2239
2324
  name = "tokio"
2240
- version = "1.21.2"
2325
+ version = "1.25.0"
2241
2326
  source = "registry+https://github.com/rust-lang/crates.io-index"
2242
- checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
2327
+ checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af"
2243
2328
  dependencies = [
2244
2329
  "autocfg",
2245
2330
  "bytes",
@@ -2252,7 +2337,7 @@ dependencies = [
2252
2337
  "signal-hook-registry",
2253
2338
  "socket2",
2254
2339
  "tokio-macros",
2255
- "winapi",
2340
+ "windows-sys 0.42.0",
2256
2341
  ]
2257
2342
 
2258
2343
  [[package]]
@@ -2511,6 +2596,30 @@ version = "1.15.0"
2511
2596
  source = "registry+https://github.com/rust-lang/crates.io-index"
2512
2597
  checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
2513
2598
 
2599
+ [[package]]
2600
+ name = "typetag"
2601
+ version = "0.2.5"
2602
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2603
+ checksum = "8eecd98403ae5ea2813689125cf5b3f99c40b8abed46c0a8945c81eadb673b31"
2604
+ dependencies = [
2605
+ "erased-serde",
2606
+ "inventory",
2607
+ "once_cell",
2608
+ "serde",
2609
+ "typetag-impl",
2610
+ ]
2611
+
2612
+ [[package]]
2613
+ name = "typetag-impl"
2614
+ version = "0.2.5"
2615
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2616
+ checksum = "8f9568611f0de5e83e0993b85c54679cd0afd659adcfcb0233f16280b980492e"
2617
+ dependencies = [
2618
+ "proc-macro2",
2619
+ "quote",
2620
+ "syn",
2621
+ ]
2622
+
2514
2623
  [[package]]
2515
2624
  name = "unicode-bidi"
2516
2625
  version = "0.3.8"
data/bridge/Cargo.toml CHANGED
@@ -1,12 +1,14 @@
1
1
  [package]
2
2
  name = "bridge"
3
- version = "0.0.1"
3
+ version = "0.1.0"
4
4
  authors = ["Anthony D <anthony@temporal.io>"]
5
5
  edition = "2021"
6
6
  repository = "https://github.com/temporalio/sdk-ruby"
7
7
 
8
8
  [dependencies]
9
+ anyhow = "1.0"
9
10
  lazy_static = "1.4.0"
11
+ parking_lot = { version = "0.12", features = ["send_guard"] }
10
12
  prost = "0.11"
11
13
  rutie = { version = "0.8.4", features = ["no-link"] }
12
14
  temporal-client = { version = "0.1.0", path = "./sdk-core/client" }
@@ -14,7 +16,7 @@ temporal-sdk-core = { version = "0.1.0", path = "./sdk-core/core" }
14
16
  temporal-sdk-core-api = { version = "0.1.0", path = "./sdk-core/core-api" }
15
17
  temporal-sdk-core-protos = { version = "0.1.0", path = "./sdk-core/sdk-core-protos" }
16
18
  thiserror = "1.0.31"
17
- tokio = "1.15"
19
+ tokio = "1.23"
18
20
  tokio-util = "0.7.4"
19
21
  tonic = "0.8"
20
22
  url = "2.2"