temporalio 0.0.1 → 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 (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
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: temporalio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony D
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-18 00:00:00.000000000 Z
11
+ date: 2023-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: async
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: google-protobuf
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -256,12 +270,6 @@ files:
256
270
  - bridge/sdk-core/arch_docs/diagrams/sticky_queues.puml
257
271
  - bridge/sdk-core/arch_docs/diagrams/workflow_internals.svg
258
272
  - bridge/sdk-core/arch_docs/sticky_queues.md
259
- - bridge/sdk-core/bridge-ffi/Cargo.toml
260
- - bridge/sdk-core/bridge-ffi/LICENSE.txt
261
- - bridge/sdk-core/bridge-ffi/build.rs
262
- - bridge/sdk-core/bridge-ffi/include/sdk-core-bridge.h
263
- - bridge/sdk-core/bridge-ffi/src/lib.rs
264
- - bridge/sdk-core/bridge-ffi/src/wrappers.rs
265
273
  - bridge/sdk-core/client/Cargo.toml
266
274
  - bridge/sdk-core/client/LICENSE.txt
267
275
  - bridge/sdk-core/client/src/lib.rs
@@ -273,6 +281,7 @@ files:
273
281
  - bridge/sdk-core/core-api/LICENSE.txt
274
282
  - bridge/sdk-core/core-api/src/errors.rs
275
283
  - bridge/sdk-core/core-api/src/lib.rs
284
+ - bridge/sdk-core/core-api/src/telemetry.rs
276
285
  - bridge/sdk-core/core-api/src/worker.rs
277
286
  - bridge/sdk-core/core/Cargo.toml
278
287
  - bridge/sdk-core/core/LICENSE.txt
@@ -290,12 +299,12 @@ files:
290
299
  - bridge/sdk-core/core/src/core_tests/workflow_tasks.rs
291
300
  - bridge/sdk-core/core/src/ephemeral_server/mod.rs
292
301
  - bridge/sdk-core/core/src/lib.rs
293
- - bridge/sdk-core/core/src/log_export.rs
294
302
  - bridge/sdk-core/core/src/pollers/mod.rs
295
303
  - bridge/sdk-core/core/src/pollers/poll_buffer.rs
296
304
  - bridge/sdk-core/core/src/protosext/mod.rs
297
305
  - bridge/sdk-core/core/src/replay/mod.rs
298
306
  - bridge/sdk-core/core/src/retry_logic.rs
307
+ - bridge/sdk-core/core/src/telemetry/log_export.rs
299
308
  - bridge/sdk-core/core/src/telemetry/metrics.rs
300
309
  - bridge/sdk-core/core/src/telemetry/mod.rs
301
310
  - bridge/sdk-core/core/src/telemetry/prometheus_server.rs
@@ -318,9 +327,8 @@ files:
318
327
  - bridge/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs
319
328
  - bridge/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs
320
329
  - bridge/sdk-core/core/src/worker/workflow/machines/mod.rs
321
- - bridge/sdk-core/core/src/worker/workflow/machines/mutable_side_effect_state_machine.rs
330
+ - bridge/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs
322
331
  - bridge/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs
323
- - bridge/sdk-core/core/src/worker/workflow/machines/side_effect_state_machine.rs
324
332
  - bridge/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs
325
333
  - bridge/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs
326
334
  - bridge/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs
@@ -338,6 +346,7 @@ files:
338
346
  - bridge/sdk-core/etc/dynamic-config.yaml
339
347
  - bridge/sdk-core/etc/otel-collector-config.yaml
340
348
  - bridge/sdk-core/etc/prometheus.yaml
349
+ - bridge/sdk-core/etc/regen-depgraph.sh
341
350
  - bridge/sdk-core/fsm/Cargo.toml
342
351
  - bridge/sdk-core/fsm/LICENSE.txt
343
352
  - bridge/sdk-core/fsm/README.md
@@ -366,23 +375,28 @@ files:
366
375
  - bridge/sdk-core/fsm/rustfsm_trait/LICENSE.txt
367
376
  - bridge/sdk-core/fsm/rustfsm_trait/src/lib.rs
368
377
  - bridge/sdk-core/fsm/src/lib.rs
378
+ - bridge/sdk-core/histories/evict_while_la_running_no_interference-23_history.bin
379
+ - bridge/sdk-core/histories/evict_while_la_running_no_interference-85_history.bin
369
380
  - bridge/sdk-core/histories/fail_wf_task.bin
370
381
  - bridge/sdk-core/histories/timer_workflow_history.bin
371
382
  - bridge/sdk-core/integ-with-otel.sh
372
383
  - bridge/sdk-core/protos/api_upstream/README.md
373
384
  - bridge/sdk-core/protos/api_upstream/api-linter.yaml
374
385
  - bridge/sdk-core/protos/api_upstream/buf.yaml
386
+ - bridge/sdk-core/protos/api_upstream/build/go.mod
387
+ - bridge/sdk-core/protos/api_upstream/build/go.sum
388
+ - bridge/sdk-core/protos/api_upstream/build/tools.go
375
389
  - bridge/sdk-core/protos/api_upstream/dependencies/gogoproto/gogo.proto
390
+ - bridge/sdk-core/protos/api_upstream/go.mod
376
391
  - bridge/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto
377
- - bridge/sdk-core/protos/api_upstream/temporal/api/cluster/v1/message.proto
378
392
  - bridge/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto
379
393
  - bridge/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto
380
394
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto
381
- - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/cluster.proto
382
395
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto
383
396
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto
384
397
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto
385
398
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto
399
+ - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/interaction_type.proto
386
400
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto
387
401
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto
388
402
  - bridge/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto
@@ -394,6 +408,7 @@ files:
394
408
  - bridge/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto
395
409
  - bridge/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto
396
410
  - bridge/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto
411
+ - bridge/sdk-core/protos/api_upstream/temporal/api/interaction/v1/message.proto
397
412
  - bridge/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto
398
413
  - bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto
399
414
  - bridge/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto
@@ -401,7 +416,6 @@ files:
401
416
  - bridge/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto
402
417
  - bridge/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto
403
418
  - bridge/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto
404
- - bridge/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto
405
419
  - bridge/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto
406
420
  - bridge/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto
407
421
  - bridge/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto
@@ -409,7 +423,6 @@ files:
409
423
  - bridge/sdk-core/protos/grpc/health/v1/health.proto
410
424
  - bridge/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto
411
425
  - bridge/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto
412
- - bridge/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto
413
426
  - bridge/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto
414
427
  - bridge/sdk-core/protos/local/temporal/sdk/core/common/common.proto
415
428
  - bridge/sdk-core/protos/local/temporal/sdk/core/core_interface.proto
@@ -436,7 +449,6 @@ files:
436
449
  - bridge/sdk-core/sdk/LICENSE.txt
437
450
  - bridge/sdk-core/sdk/src/activity_context.rs
438
451
  - bridge/sdk-core/sdk/src/app_data.rs
439
- - bridge/sdk-core/sdk/src/conversions.rs
440
452
  - bridge/sdk-core/sdk/src/interceptors.rs
441
453
  - bridge/sdk-core/sdk/src/lib.rs
442
454
  - bridge/sdk-core/sdk/src/payload_converter.rs
@@ -450,6 +462,7 @@ files:
450
462
  - bridge/sdk-core/tests/integ_tests/client_tests.rs
451
463
  - bridge/sdk-core/tests/integ_tests/ephemeral_server_tests.rs
452
464
  - bridge/sdk-core/tests/integ_tests/heartbeat_tests.rs
465
+ - bridge/sdk-core/tests/integ_tests/metrics_tests.rs
453
466
  - bridge/sdk-core/tests/integ_tests/polling_tests.rs
454
467
  - bridge/sdk-core/tests/integ_tests/queries_tests.rs
455
468
  - bridge/sdk-core/tests/integ_tests/visibility_tests.rs
@@ -462,6 +475,7 @@ files:
462
475
  - bridge/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs
463
476
  - bridge/sdk-core/tests/integ_tests/workflow_tests/determinism.rs
464
477
  - bridge/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs
478
+ - bridge/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs
465
479
  - bridge/sdk-core/tests/integ_tests/workflow_tests/patches.rs
466
480
  - bridge/sdk-core/tests/integ_tests/workflow_tests/replay.rs
467
481
  - bridge/sdk-core/tests/integ_tests/workflow_tests/resets.rs
@@ -480,15 +494,14 @@ files:
480
494
  - lib/bridge.so
481
495
  - lib/gen/dependencies/gogoproto/gogo_pb.rb
482
496
  - lib/gen/temporal/api/batch/v1/message_pb.rb
483
- - lib/gen/temporal/api/cluster/v1/message_pb.rb
484
497
  - lib/gen/temporal/api/command/v1/message_pb.rb
485
498
  - lib/gen/temporal/api/common/v1/message_pb.rb
486
499
  - lib/gen/temporal/api/enums/v1/batch_operation_pb.rb
487
- - lib/gen/temporal/api/enums/v1/cluster_pb.rb
488
500
  - lib/gen/temporal/api/enums/v1/command_type_pb.rb
489
501
  - lib/gen/temporal/api/enums/v1/common_pb.rb
490
502
  - lib/gen/temporal/api/enums/v1/event_type_pb.rb
491
503
  - lib/gen/temporal/api/enums/v1/failed_cause_pb.rb
504
+ - lib/gen/temporal/api/enums/v1/interaction_type_pb.rb
492
505
  - lib/gen/temporal/api/enums/v1/namespace_pb.rb
493
506
  - lib/gen/temporal/api/enums/v1/query_pb.rb
494
507
  - lib/gen/temporal/api/enums/v1/reset_pb.rb
@@ -500,6 +513,7 @@ files:
500
513
  - lib/gen/temporal/api/failure/v1/message_pb.rb
501
514
  - lib/gen/temporal/api/filter/v1/message_pb.rb
502
515
  - lib/gen/temporal/api/history/v1/message_pb.rb
516
+ - lib/gen/temporal/api/interaction/v1/message_pb.rb
503
517
  - lib/gen/temporal/api/namespace/v1/message_pb.rb
504
518
  - lib/gen/temporal/api/operatorservice/v1/request_response_pb.rb
505
519
  - lib/gen/temporal/api/operatorservice/v1/service_pb.rb
@@ -507,7 +521,6 @@ files:
507
521
  - lib/gen/temporal/api/replication/v1/message_pb.rb
508
522
  - lib/gen/temporal/api/schedule/v1/message_pb.rb
509
523
  - lib/gen/temporal/api/taskqueue/v1/message_pb.rb
510
- - lib/gen/temporal/api/update/v1/message_pb.rb
511
524
  - lib/gen/temporal/api/version/v1/message_pb.rb
512
525
  - lib/gen/temporal/api/workflow/v1/message_pb.rb
513
526
  - lib/gen/temporal/api/workflowservice/v1/request_response_pb.rb
@@ -522,46 +535,56 @@ files:
522
535
  - lib/gen/temporal/sdk/core/workflow_activation/workflow_activation_pb.rb
523
536
  - lib/gen/temporal/sdk/core/workflow_commands/workflow_commands_pb.rb
524
537
  - lib/gen/temporal/sdk/core/workflow_completion/workflow_completion_pb.rb
525
- - lib/temporal.rb
526
- - lib/temporal/bridge.rb
527
- - lib/temporal/client.rb
528
- - lib/temporal/client/implementation.rb
529
- - lib/temporal/client/workflow_handle.rb
530
- - lib/temporal/connection.rb
531
- - lib/temporal/data_converter.rb
532
- - lib/temporal/error/failure.rb
533
- - lib/temporal/error/workflow_failure.rb
534
- - lib/temporal/errors.rb
535
- - lib/temporal/failure_converter.rb
536
- - lib/temporal/failure_converter/base.rb
537
- - lib/temporal/failure_converter/basic.rb
538
- - lib/temporal/interceptor/chain.rb
539
- - lib/temporal/interceptor/client.rb
540
- - lib/temporal/payload_codec/base.rb
541
- - lib/temporal/payload_converter.rb
542
- - lib/temporal/payload_converter/base.rb
543
- - lib/temporal/payload_converter/bytes.rb
544
- - lib/temporal/payload_converter/composite.rb
545
- - lib/temporal/payload_converter/encoding_base.rb
546
- - lib/temporal/payload_converter/json.rb
547
- - lib/temporal/payload_converter/nil.rb
548
- - lib/temporal/retry_policy.rb
549
- - lib/temporal/retry_state.rb
550
- - lib/temporal/runtime.rb
551
- - lib/temporal/timeout_type.rb
552
- - lib/temporal/version.rb
553
- - lib/temporal/workflow/execution_info.rb
554
- - lib/temporal/workflow/execution_status.rb
555
- - lib/temporal/workflow/id_reuse_policy.rb
556
- - lib/temporal/workflow/query_reject_condition.rb
557
538
  - lib/temporalio.rb
539
+ - lib/temporalio/activity.rb
540
+ - lib/temporalio/activity/context.rb
541
+ - lib/temporalio/activity/info.rb
542
+ - lib/temporalio/bridge.rb
543
+ - lib/temporalio/bridge/error.rb
544
+ - lib/temporalio/client.rb
545
+ - lib/temporalio/client/implementation.rb
546
+ - lib/temporalio/client/workflow_handle.rb
547
+ - lib/temporalio/connection.rb
548
+ - lib/temporalio/data_converter.rb
549
+ - lib/temporalio/error/failure.rb
550
+ - lib/temporalio/error/workflow_failure.rb
551
+ - lib/temporalio/errors.rb
552
+ - lib/temporalio/failure_converter.rb
553
+ - lib/temporalio/failure_converter/base.rb
554
+ - lib/temporalio/failure_converter/basic.rb
555
+ - lib/temporalio/interceptor/chain.rb
556
+ - lib/temporalio/interceptor/client.rb
557
+ - lib/temporalio/payload_codec/base.rb
558
+ - lib/temporalio/payload_converter.rb
559
+ - lib/temporalio/payload_converter/base.rb
560
+ - lib/temporalio/payload_converter/bytes.rb
561
+ - lib/temporalio/payload_converter/composite.rb
562
+ - lib/temporalio/payload_converter/encoding_base.rb
563
+ - lib/temporalio/payload_converter/json.rb
564
+ - lib/temporalio/payload_converter/nil.rb
565
+ - lib/temporalio/retry_policy.rb
566
+ - lib/temporalio/retry_state.rb
567
+ - lib/temporalio/runtime.rb
568
+ - lib/temporalio/timeout_type.rb
569
+ - lib/temporalio/version.rb
570
+ - lib/temporalio/worker.rb
571
+ - lib/temporalio/worker/activity_runner.rb
572
+ - lib/temporalio/worker/activity_worker.rb
573
+ - lib/temporalio/worker/reactor.rb
574
+ - lib/temporalio/worker/runner.rb
575
+ - lib/temporalio/worker/sync_worker.rb
576
+ - lib/temporalio/worker/thread_pool_executor.rb
577
+ - lib/temporalio/workflow/execution_info.rb
578
+ - lib/temporalio/workflow/execution_status.rb
579
+ - lib/temporalio/workflow/id_reuse_policy.rb
580
+ - lib/temporalio/workflow/query_reject_condition.rb
558
581
  - lib/thermite_patch.rb
559
582
  - temporalio.gemspec
560
583
  homepage: https://github.com/temporalio/sdk-ruby
561
584
  licenses:
562
585
  - MIT
563
586
  metadata: {}
564
- post_install_message:
587
+ post_install_message:
565
588
  rdoc_options: []
566
589
  require_paths:
567
590
  - lib
@@ -569,15 +592,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
569
592
  requirements:
570
593
  - - ">="
571
594
  - !ruby/object:Gem::Version
572
- version: 2.7.0
595
+ version: 3.0.2
573
596
  required_rubygems_version: !ruby/object:Gem::Requirement
574
597
  requirements:
575
598
  - - ">="
576
599
  - !ruby/object:Gem::Version
577
600
  version: '0'
578
601
  requirements: []
579
- rubygems_version: 3.1.6
580
- signing_key:
602
+ rubygems_version: 3.3.7
603
+ signing_key:
581
604
  specification_version: 4
582
605
  summary: Temporal.io Ruby SDK
583
606
  test_files: []
@@ -1,24 +0,0 @@
1
- [package]
2
- name = "temporal-sdk-core-bridge-ffi"
3
- version = "0.1.0"
4
- edition = "2021"
5
- license-file = "LICENSE.txt"
6
- description = "FFI Bridge for Core"
7
- homepage = "https://temporal.io/"
8
- repository = "https://github.com/temporalio/sdk-core"
9
-
10
- [lib]
11
- crate-type = ["staticlib"]
12
-
13
- [dependencies]
14
- lazy_static = "1.4"
15
- libc = "0.2"
16
- log = "0.4"
17
- prost = "0.11"
18
- temporal-sdk-core = { version = "0.1", path = "../core" }
19
- temporal-sdk-core-api = { version = "0.1", path = "../core-api" }
20
- temporal-sdk-core-protos = { version = "0.1", path = "../sdk-core-protos" }
21
- tokio = "1"
22
-
23
- [build-dependencies]
24
- cbindgen = "0.24"
@@ -1,23 +0,0 @@
1
- Temporal Core SDK
2
-
3
- The MIT License
4
-
5
- Copyright (c) 2022 Temporal Technologies, Inc. All Rights Reserved
6
-
7
- Permission is hereby granted, free of charge, to any person obtaining a copy
8
- of this software and associated documentation files (the "Software"), to deal
9
- in the Software without restriction, including without limitation the rights
10
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
- copies of the Software, and to permit persons to whom the Software is
12
- furnished to do so, subject to the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be included in all
15
- copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
- SOFTWARE.
@@ -1,25 +0,0 @@
1
- extern crate cbindgen;
2
-
3
- use std::env;
4
-
5
- fn main() {
6
- let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
7
-
8
- let changed = cbindgen::Builder::new()
9
- .with_crate(crate_dir)
10
- .with_pragma_once(true)
11
- .with_language(cbindgen::Language::C)
12
- .generate()
13
- .expect("Unable to generate bindings")
14
- .write_to_file("include/sdk-core-bridge.h");
15
-
16
- // If this changed and an env var disallows change, error
17
- if let Ok(env_val) = env::var("TEMPORAL_SDK_CORE_BRIDGE_FFI_DISABLE_HEADER_CHANGE") {
18
- if changed && env_val == "true" {
19
- println!(
20
- "cargo:warning=bridge-ffi's header file changed unexpectedly from what's on disk"
21
- );
22
- std::process::exit(1);
23
- }
24
- }
25
- }
@@ -1,249 +0,0 @@
1
- #pragma once
2
-
3
- #include <stdarg.h>
4
- #include <stdbool.h>
5
- #include <stdint.h>
6
- #include <stdlib.h>
7
-
8
- /**
9
- * A client instance owned by Core. This must be passed to [tmprl_client_free]
10
- * when no longer in use which will free the resources.
11
- */
12
- typedef struct tmprl_client_t tmprl_client_t;
13
-
14
- /**
15
- * A runtime owned by Core. This must be passed to [tmprl_runtime_free] when no longer in use. This
16
- * should not be freed until every call to every [tmprl_worker_t] instance created with this
17
- * runtime has been shutdown. In practice, since the actual runtime is behind an [Arc], it's
18
- * currently OK, but that's an implementation detail.
19
- */
20
- typedef struct tmprl_runtime_t tmprl_runtime_t;
21
-
22
- /**
23
- * A worker instance owned by Core. This must be passed to [tmprl_worker_shutdown]
24
- * when no longer in use which will free the resources.
25
- */
26
- typedef struct tmprl_worker_t tmprl_worker_t;
27
-
28
- /**
29
- * A set of bytes owned by Core. No fields within nor any bytes references must
30
- * ever be mutated outside of Core. This must always be passed to
31
- * tmprl_bytes_free when no longer in use.
32
- */
33
- typedef struct tmprl_bytes_t {
34
- const uint8_t *bytes;
35
- size_t len;
36
- /**
37
- * For internal use only.
38
- */
39
- size_t cap;
40
- /**
41
- * For internal use only.
42
- */
43
- bool disable_free;
44
- } tmprl_bytes_t;
45
-
46
- /**
47
- * Callback called by [tmprl_worker_init] on completion. The first parameter of the
48
- * callback is user data passed into the original function. The second
49
- * parameter is a worker instance if the call is successful or null if not. If
50
- * present, the worker instance must be freed via [tmprl_worker_shutdown] when no
51
- * longer in use. The third parameter of the callback is a byte array for a
52
- * [InitResponse] protobuf message which must be freed via [tmprl_bytes_free].
53
- */
54
- typedef void (*tmprl_worker_init_callback)(void *user_data, struct tmprl_worker_t *worker, const struct tmprl_bytes_t *resp);
55
-
56
- /**
57
- * Callback called on function completion. The first parameter of the callback
58
- * is user data passed into the original function. The second parameter of the
59
- * callback is a never-null byte array for a response protobuf message which
60
- * must be freed via [tmprl_bytes_free].
61
- */
62
- typedef void (*tmprl_callback)(void *user_data, const struct tmprl_bytes_t *core);
63
-
64
- /**
65
- * Callback called by [tmprl_client_init] on completion. The first parameter of the
66
- * callback is user data passed into the original function. The second
67
- * parameter is a client instance if the call is successful or null if not. If
68
- * present, the client instance must be freed via [tmprl_client_free] when no
69
- * longer in use. The third parameter of the callback is a byte array for a
70
- * [InitResponse] protobuf message which must be freed via [tmprl_bytes_free].
71
- */
72
- typedef void (*tmprl_client_init_callback)(void *user_data, struct tmprl_client_t *client, const struct tmprl_bytes_t *resp);
73
-
74
- /**
75
- * Free a set of bytes. The first parameter can be null in cases where a [tmprl_worker_t] instance
76
- * isn't available. If the second parameter is null, this is a no-op.
77
- */
78
- void tmprl_bytes_free(struct tmprl_worker_t *worker, const struct tmprl_bytes_t *bytes);
79
-
80
- /**
81
- * Create a new runtime. The result is never null and must be freed via
82
- * tmprl_runtime_free when no longer in use.
83
- */
84
- struct tmprl_runtime_t *tmprl_runtime_new(void);
85
-
86
- /**
87
- * Free a previously created runtime.
88
- */
89
- void tmprl_runtime_free(struct tmprl_runtime_t *runtime);
90
-
91
- /**
92
- * Create a new worker instance.
93
- *
94
- * `runtime` and `client` are both required and must outlive this instance.
95
- * `req_proto` and `req_proto_len` represent a byte array for a [CreateWorkerRequest] protobuf
96
- * message.
97
- * The callback is invoked on completion.
98
- */
99
- void tmprl_worker_init(struct tmprl_runtime_t *runtime,
100
- struct tmprl_client_t *client,
101
- const uint8_t *req_proto,
102
- size_t req_proto_len,
103
- void *user_data,
104
- tmprl_worker_init_callback callback);
105
-
106
- /**
107
- * Shutdown and free a previously created worker.
108
- *
109
- * The req_proto and req_proto_len represent a byte array for a [bridge::ShutdownWorkerRequest]
110
- * protobuf message, which currently contains nothing and are unused, but the parameters are kept
111
- * for now.
112
- *
113
- * The callback is invoked on completion with a ShutdownWorkerResponse protobuf message.
114
- *
115
- * After the callback has been called, the worker struct will be freed and the pointer will no
116
- * longer be valid.
117
- */
118
- void tmprl_worker_shutdown(struct tmprl_worker_t *worker,
119
- const uint8_t *req_proto,
120
- size_t req_proto_len,
121
- void *user_data,
122
- tmprl_callback callback);
123
-
124
- /**
125
- * Initialize process-wide telemetry. Should only be called once, subsequent calls will be ignored
126
- * by core.
127
- *
128
- * Unlike the other functions in this bridge, this blocks until initting is complete, as telemetry
129
- * should typically be initialized before doing other work.
130
- *
131
- * Returns a byte array for a [InitResponse] protobuf message which must be freed via
132
- * tmprl_bytes_free.
133
- */
134
- const struct tmprl_bytes_t *tmprl_telemetry_init(const uint8_t *req_proto, size_t req_proto_len);
135
-
136
- /**
137
- * Initialize a client connection to the Temporal service.
138
- *
139
- * The runtime is required and must outlive this instance. The `req_proto` and `req_proto_len`
140
- * represent a byte array for a [CreateClientRequest] protobuf message. The callback is invoked on
141
- * completion.
142
- */
143
- void tmprl_client_init(struct tmprl_runtime_t *runtime,
144
- const uint8_t *req_proto,
145
- size_t req_proto_len,
146
- void *user_data,
147
- tmprl_client_init_callback callback);
148
-
149
- /**
150
- * Free a previously created client
151
- */
152
- void tmprl_client_free(struct tmprl_client_t *client);
153
-
154
- /**
155
- * Poll for a workflow activation.
156
- *
157
- * The `req_proto` and `req_proto_len` represent a byte array for a
158
- * [bridge::PollWorkflowActivationRequest] protobuf message, which currently contains nothing and
159
- * is unused, but the parameters are kept for now.
160
- *
161
- * The callback is invoked on completion with a [bridge::PollWorkflowActivationResponse] protobuf
162
- * message.
163
- */
164
- void tmprl_poll_workflow_activation(struct tmprl_worker_t *worker,
165
- const uint8_t *req_proto,
166
- size_t req_proto_len,
167
- void *user_data,
168
- tmprl_callback callback);
169
-
170
- /**
171
- * Poll for an activity task.
172
- *
173
- * The `req_proto` and `req_proto_len` represent a byte array for a
174
- * [bridge::PollActivityTaskRequest] protobuf message, which currently contains nothing and is
175
- * unused, but the parameters are kept for now.
176
- *
177
- * The callback is invoked on completion with a [bridge::PollActivityTaskResponse] protobuf
178
- * message.
179
- */
180
- void tmprl_poll_activity_task(struct tmprl_worker_t *worker,
181
- const uint8_t *req_proto,
182
- size_t req_proto_len,
183
- void *user_data,
184
- tmprl_callback callback);
185
-
186
- /**
187
- * Complete a workflow activation.
188
- *
189
- * The `req_proto` and `req_proto_len` represent a byte array for a
190
- * [bridge::CompleteWorkflowActivationRequest] protobuf message. The callback is invoked on
191
- * completion with a [bridge::CompleteWorkflowActivationResponse] protobuf message.
192
- */
193
- void tmprl_complete_workflow_activation(struct tmprl_worker_t *worker,
194
- const uint8_t *req_proto,
195
- size_t req_proto_len,
196
- void *user_data,
197
- tmprl_callback callback);
198
-
199
- /**
200
- * Complete an activity task.
201
- *
202
- * The `req_proto` and `req_proto_len` represent a byte array for a
203
- * [bridge::CompleteActivityTaskRequest] protobuf message. The callback is invoked on completion
204
- * with a [bridge::CompleteActivityTaskResponse] protobuf message.
205
- */
206
- void tmprl_complete_activity_task(struct tmprl_worker_t *worker,
207
- const uint8_t *req_proto,
208
- size_t req_proto_len,
209
- void *user_data,
210
- tmprl_callback callback);
211
-
212
- /**
213
- * Record an activity heartbeat.
214
- *
215
- * `req_proto` and `req_proto_len` represent a byte array for a
216
- * [bridge::RecordActivityHeartbeatRequest] protobuf message. The callback is invoked on completion
217
- * with a RecordActivityHeartbeatResponse protobuf message.
218
- */
219
- void tmprl_record_activity_heartbeat(struct tmprl_worker_t *worker,
220
- const uint8_t *req_proto,
221
- size_t req_proto_len,
222
- void *user_data,
223
- tmprl_callback callback);
224
-
225
- /**
226
- * Request a workflow eviction.
227
- *
228
- * The `req_proto` and `req_proto_len` represent a byte array for a
229
- * [bridge::RequestWorkflowEvictionRequest] protobuf message. The callback is invoked on completion
230
- * with a [bridge::RequestWorkflowEvictionResponse] protobuf message.
231
- */
232
- void tmprl_request_workflow_eviction(struct tmprl_worker_t *worker,
233
- const uint8_t *req_proto,
234
- size_t req_proto_len,
235
- void *user_data,
236
- tmprl_callback callback);
237
-
238
- /**
239
- * Fetch buffered logs. Blocks until complete. This is still using the callback since we might
240
- * reasonably change log fetching to be async in the future.
241
- *
242
- * The `req_proto` and `req_proto_len` represent a byte array for a
243
- * [bridge::FetchBufferedLogsRequest] protobuf message. The callback is invoked on completion with
244
- * a [bridge::FetchBufferedLogsResponse] protobuf message.
245
- */
246
- void tmprl_fetch_buffered_logs(const uint8_t *req_proto,
247
- size_t req_proto_len,
248
- void *user_data,
249
- tmprl_callback callback);