@temporalio/core-bridge 1.5.2 → 1.7.0

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 (194) hide show
  1. package/Cargo.lock +304 -112
  2. package/lib/index.d.ts +8 -6
  3. package/lib/index.js.map +1 -1
  4. package/package.json +9 -4
  5. package/releases/aarch64-apple-darwin/index.node +0 -0
  6. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  7. package/releases/x86_64-apple-darwin/index.node +0 -0
  8. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  9. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  10. package/sdk-core/.buildkite/docker/Dockerfile +2 -2
  11. package/sdk-core/.buildkite/docker/docker-compose.yaml +1 -1
  12. package/sdk-core/.buildkite/pipeline.yml +2 -4
  13. package/sdk-core/.cargo/config.toml +5 -2
  14. package/sdk-core/.github/workflows/heavy.yml +29 -0
  15. package/sdk-core/Cargo.toml +1 -1
  16. package/sdk-core/README.md +20 -10
  17. package/sdk-core/client/src/lib.rs +215 -39
  18. package/sdk-core/client/src/metrics.rs +17 -8
  19. package/sdk-core/client/src/raw.rs +4 -4
  20. package/sdk-core/client/src/retry.rs +32 -20
  21. package/sdk-core/core/Cargo.toml +25 -12
  22. package/sdk-core/core/src/abstractions/take_cell.rs +28 -0
  23. package/sdk-core/core/src/abstractions.rs +204 -14
  24. package/sdk-core/core/src/core_tests/activity_tasks.rs +143 -50
  25. package/sdk-core/core/src/core_tests/child_workflows.rs +6 -5
  26. package/sdk-core/core/src/core_tests/determinism.rs +165 -2
  27. package/sdk-core/core/src/core_tests/local_activities.rs +431 -43
  28. package/sdk-core/core/src/core_tests/queries.rs +34 -16
  29. package/sdk-core/core/src/core_tests/workers.rs +8 -5
  30. package/sdk-core/core/src/core_tests/workflow_tasks.rs +588 -55
  31. package/sdk-core/core/src/ephemeral_server/mod.rs +113 -12
  32. package/sdk-core/core/src/internal_flags.rs +155 -0
  33. package/sdk-core/core/src/lib.rs +16 -9
  34. package/sdk-core/core/src/protosext/mod.rs +1 -1
  35. package/sdk-core/core/src/replay/mod.rs +16 -27
  36. package/sdk-core/core/src/telemetry/log_export.rs +1 -1
  37. package/sdk-core/core/src/telemetry/metrics.rs +69 -35
  38. package/sdk-core/core/src/telemetry/mod.rs +60 -21
  39. package/sdk-core/core/src/telemetry/prometheus_server.rs +19 -13
  40. package/sdk-core/core/src/test_help/mod.rs +73 -14
  41. package/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +119 -160
  42. package/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +89 -0
  43. package/sdk-core/core/src/worker/activities/local_activities.rs +379 -129
  44. package/sdk-core/core/src/worker/activities.rs +350 -175
  45. package/sdk-core/core/src/worker/client/mocks.rs +22 -2
  46. package/sdk-core/core/src/worker/client.rs +18 -2
  47. package/sdk-core/core/src/worker/mod.rs +183 -64
  48. package/sdk-core/core/src/worker/workflow/bridge.rs +1 -3
  49. package/sdk-core/core/src/worker/workflow/driven_workflow.rs +3 -5
  50. package/sdk-core/core/src/worker/workflow/history_update.rs +916 -277
  51. package/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +216 -183
  52. package/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +9 -12
  53. package/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +7 -9
  54. package/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +160 -87
  55. package/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +13 -14
  56. package/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +7 -9
  57. package/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +14 -17
  58. package/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +242 -110
  59. package/sdk-core/core/src/worker/workflow/machines/mod.rs +27 -19
  60. package/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +9 -11
  61. package/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +321 -206
  62. package/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +13 -18
  63. package/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +20 -29
  64. package/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +2 -2
  65. package/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +257 -51
  66. package/sdk-core/core/src/worker/workflow/machines/workflow_machines/local_acts.rs +6 -17
  67. package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +310 -150
  68. package/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +17 -20
  69. package/sdk-core/core/src/worker/workflow/managed_run/managed_wf_test.rs +31 -15
  70. package/sdk-core/core/src/worker/workflow/managed_run.rs +1052 -380
  71. package/sdk-core/core/src/worker/workflow/mod.rs +598 -390
  72. package/sdk-core/core/src/worker/workflow/run_cache.rs +40 -57
  73. package/sdk-core/core/src/worker/workflow/wft_extraction.rs +137 -0
  74. package/sdk-core/core/src/worker/workflow/wft_poller.rs +1 -4
  75. package/sdk-core/core/src/worker/workflow/workflow_stream/saved_wf_inputs.rs +117 -0
  76. package/sdk-core/core/src/worker/workflow/workflow_stream/tonic_status_serde.rs +24 -0
  77. package/sdk-core/core/src/worker/workflow/workflow_stream.rs +469 -718
  78. package/sdk-core/core-api/Cargo.toml +2 -1
  79. package/sdk-core/core-api/src/errors.rs +1 -34
  80. package/sdk-core/core-api/src/lib.rs +19 -9
  81. package/sdk-core/core-api/src/telemetry.rs +4 -6
  82. package/sdk-core/core-api/src/worker.rs +19 -1
  83. package/sdk-core/etc/deps.svg +115 -140
  84. package/sdk-core/etc/regen-depgraph.sh +5 -0
  85. package/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +86 -61
  86. package/sdk-core/fsm/rustfsm_trait/src/lib.rs +29 -71
  87. package/sdk-core/histories/ends_empty_wft_complete.bin +0 -0
  88. package/sdk-core/histories/evict_while_la_running_no_interference-16_history.bin +0 -0
  89. package/sdk-core/histories/old_change_marker_format.bin +0 -0
  90. package/sdk-core/protos/api_upstream/.github/CODEOWNERS +2 -1
  91. package/sdk-core/protos/api_upstream/Makefile +6 -6
  92. package/sdk-core/protos/api_upstream/build/go.mod +7 -0
  93. package/sdk-core/protos/api_upstream/build/go.sum +5 -0
  94. package/sdk-core/protos/api_upstream/build/tools.go +29 -0
  95. package/sdk-core/protos/api_upstream/go.mod +6 -0
  96. package/sdk-core/protos/api_upstream/temporal/api/batch/v1/message.proto +9 -2
  97. package/sdk-core/protos/api_upstream/temporal/api/command/v1/message.proto +7 -26
  98. package/sdk-core/protos/api_upstream/temporal/api/common/v1/message.proto +13 -2
  99. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +3 -2
  100. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/command_type.proto +3 -7
  101. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/common.proto +3 -2
  102. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/event_type.proto +8 -8
  103. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +25 -2
  104. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/namespace.proto +2 -2
  105. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/query.proto +2 -2
  106. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/reset.proto +2 -2
  107. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/schedule.proto +2 -2
  108. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +2 -2
  109. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/update.proto +24 -19
  110. package/sdk-core/protos/api_upstream/temporal/api/enums/v1/workflow.proto +2 -2
  111. package/sdk-core/protos/api_upstream/temporal/api/errordetails/v1/message.proto +2 -2
  112. package/sdk-core/protos/api_upstream/temporal/api/failure/v1/message.proto +2 -2
  113. package/sdk-core/protos/api_upstream/temporal/api/filter/v1/message.proto +2 -2
  114. package/sdk-core/protos/api_upstream/temporal/api/history/v1/message.proto +49 -26
  115. package/sdk-core/protos/api_upstream/temporal/api/namespace/v1/message.proto +4 -2
  116. package/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +5 -2
  117. package/sdk-core/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +2 -2
  118. package/sdk-core/protos/api_upstream/temporal/api/protocol/v1/message.proto +57 -0
  119. package/sdk-core/protos/api_upstream/temporal/api/query/v1/message.proto +2 -2
  120. package/sdk-core/protos/api_upstream/temporal/api/replication/v1/message.proto +2 -2
  121. package/sdk-core/protos/api_upstream/temporal/api/schedule/v1/message.proto +2 -2
  122. package/sdk-core/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +63 -0
  123. package/sdk-core/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +2 -2
  124. package/sdk-core/protos/api_upstream/temporal/api/update/v1/message.proto +71 -6
  125. package/sdk-core/protos/api_upstream/temporal/api/version/v1/message.proto +2 -2
  126. package/sdk-core/protos/api_upstream/temporal/api/workflow/v1/message.proto +2 -2
  127. package/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +64 -28
  128. package/sdk-core/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +4 -4
  129. package/sdk-core/protos/local/temporal/sdk/core/activity_result/activity_result.proto +7 -8
  130. package/sdk-core/protos/local/temporal/sdk/core/activity_task/activity_task.proto +10 -7
  131. package/sdk-core/protos/local/temporal/sdk/core/child_workflow/child_workflow.proto +19 -30
  132. package/sdk-core/protos/local/temporal/sdk/core/common/common.proto +1 -0
  133. package/sdk-core/protos/local/temporal/sdk/core/core_interface.proto +1 -0
  134. package/sdk-core/protos/local/temporal/sdk/core/external_data/external_data.proto +8 -0
  135. package/sdk-core/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +67 -60
  136. package/sdk-core/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +85 -84
  137. package/sdk-core/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +9 -3
  138. package/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/request_response.proto +2 -2
  139. package/sdk-core/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto +2 -2
  140. package/sdk-core/sdk/Cargo.toml +5 -4
  141. package/sdk-core/sdk/src/lib.rs +108 -26
  142. package/sdk-core/sdk/src/workflow_context/options.rs +7 -1
  143. package/sdk-core/sdk/src/workflow_context.rs +24 -17
  144. package/sdk-core/sdk/src/workflow_future.rs +16 -15
  145. package/sdk-core/sdk-core-protos/Cargo.toml +5 -2
  146. package/sdk-core/sdk-core-protos/build.rs +36 -2
  147. package/sdk-core/sdk-core-protos/src/history_builder.rs +138 -106
  148. package/sdk-core/sdk-core-protos/src/history_info.rs +10 -1
  149. package/sdk-core/sdk-core-protos/src/lib.rs +272 -87
  150. package/sdk-core/sdk-core-protos/src/task_token.rs +12 -2
  151. package/sdk-core/test-utils/Cargo.toml +3 -1
  152. package/sdk-core/test-utils/src/canned_histories.rs +106 -296
  153. package/sdk-core/test-utils/src/histfetch.rs +1 -1
  154. package/sdk-core/test-utils/src/lib.rs +82 -23
  155. package/sdk-core/test-utils/src/wf_input_saver.rs +50 -0
  156. package/sdk-core/test-utils/src/workflows.rs +29 -0
  157. package/sdk-core/tests/fuzzy_workflow.rs +130 -0
  158. package/sdk-core/tests/{load_tests.rs → heavy_tests.rs} +125 -51
  159. package/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +25 -3
  160. package/sdk-core/tests/integ_tests/heartbeat_tests.rs +10 -5
  161. package/sdk-core/tests/integ_tests/metrics_tests.rs +218 -16
  162. package/sdk-core/tests/integ_tests/polling_tests.rs +4 -47
  163. package/sdk-core/tests/integ_tests/queries_tests.rs +5 -128
  164. package/sdk-core/tests/integ_tests/visibility_tests.rs +83 -25
  165. package/sdk-core/tests/integ_tests/workflow_tests/activities.rs +161 -72
  166. package/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +1 -0
  167. package/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +6 -13
  168. package/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +80 -3
  169. package/sdk-core/tests/integ_tests/workflow_tests/continue_as_new.rs +6 -2
  170. package/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +3 -10
  171. package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +94 -200
  172. package/sdk-core/tests/integ_tests/workflow_tests/modify_wf_properties.rs +2 -4
  173. package/sdk-core/tests/integ_tests/workflow_tests/patches.rs +34 -28
  174. package/sdk-core/tests/integ_tests/workflow_tests/replay.rs +76 -7
  175. package/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -0
  176. package/sdk-core/tests/integ_tests/workflow_tests/signals.rs +18 -14
  177. package/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +6 -20
  178. package/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -21
  179. package/sdk-core/tests/integ_tests/workflow_tests/upsert_search_attrs.rs +7 -8
  180. package/sdk-core/tests/integ_tests/workflow_tests.rs +13 -14
  181. package/sdk-core/tests/main.rs +3 -13
  182. package/sdk-core/tests/runner.rs +75 -36
  183. package/sdk-core/tests/wf_input_replay.rs +32 -0
  184. package/src/conversions.rs +14 -8
  185. package/src/runtime.rs +9 -8
  186. package/ts/index.ts +8 -6
  187. package/sdk-core/bridge-ffi/Cargo.toml +0 -24
  188. package/sdk-core/bridge-ffi/LICENSE.txt +0 -23
  189. package/sdk-core/bridge-ffi/build.rs +0 -25
  190. package/sdk-core/bridge-ffi/include/sdk-core-bridge.h +0 -224
  191. package/sdk-core/bridge-ffi/src/lib.rs +0 -746
  192. package/sdk-core/bridge-ffi/src/wrappers.rs +0 -221
  193. package/sdk-core/protos/local/temporal/sdk/core/bridge/bridge.proto +0 -210
  194. package/sdk-core/sdk/src/conversions.rs +0 -8
@@ -1,6 +1,7 @@
1
1
  syntax = "proto3";
2
2
 
3
3
  package coresdk.external_data;
4
+ option ruby_package = "Temporalio::Bridge::Api::ExternalData";
4
5
 
5
6
  import "google/protobuf/duration.proto";
6
7
  import "google/protobuf/timestamp.proto";
@@ -27,4 +28,11 @@ message LocalActivityMarkerData {
27
28
  // The time the LA was originally scheduled (wall clock time). This is used to track
28
29
  // schedule-to-close timeouts when timer-based backoffs are used
29
30
  google.protobuf.Timestamp original_schedule_time = 7;
31
+ }
32
+
33
+ message PatchedMarkerData {
34
+ // The patch id
35
+ string id = 1;
36
+ // Whether or not the patch is marked deprecated.
37
+ bool deprecated = 2;
30
38
  }
@@ -5,6 +5,7 @@ syntax = "proto3";
5
5
  * lang SDK applies these activation jobs to drive workflows.
6
6
  */
7
7
  package coresdk.workflow_activation;
8
+ option ruby_package = "Temporalio::Bridge::Api::WorkflowActivation";
8
9
 
9
10
  import "google/protobuf/timestamp.proto";
10
11
  import "google/protobuf/duration.proto";
@@ -15,56 +16,60 @@ import "temporal/sdk/core/activity_result/activity_result.proto";
15
16
  import "temporal/sdk/core/child_workflow/child_workflow.proto";
16
17
  import "temporal/sdk/core/common/common.proto";
17
18
 
18
- /// An instruction to the lang sdk to run some workflow code, whether for the first time or from
19
- /// a cached state.
19
+ // An instruction to the lang sdk to run some workflow code, whether for the first time or from
20
+ // a cached state.
20
21
  message WorkflowActivation {
21
- /// The id of the currently active run of the workflow. Also used as a cache key. There may
22
- /// only ever be one active workflow task (and hence activation) of a run at one time.
22
+ // The id of the currently active run of the workflow. Also used as a cache key. There may
23
+ // only ever be one active workflow task (and hence activation) of a run at one time.
23
24
  string run_id = 1;
24
- /// The current time as understood by the workflow, which is set by workflow task started events
25
+ // The current time as understood by the workflow, which is set by workflow task started events
25
26
  google.protobuf.Timestamp timestamp = 2;
26
- /// Whether or not the activation is replaying past events
27
+ // Whether or not the activation is replaying past events
27
28
  bool is_replaying = 3;
28
- /// Current history length as determined by the event id of the most recently processed event.
29
- /// This ensures that the number is always deterministic
29
+ // Current history length as determined by the event id of the most recently processed event.
30
+ // This ensures that the number is always deterministic
30
31
  uint32 history_length = 4;
31
- /// The things to do upon activating the workflow
32
+ // The things to do upon activating the workflow
32
33
  repeated WorkflowActivationJob jobs = 5;
34
+ // Internal flags which are available for use by lang. If `is_replaying` is false, all
35
+ // internal flags may be used. This is not a delta - all previously used flags always
36
+ // appear since this representation is cheap.
37
+ repeated uint32 available_internal_flags = 6;
33
38
  }
34
39
 
35
40
  message WorkflowActivationJob {
36
41
  oneof variant {
37
- /// Begin a workflow for the first time
42
+ // Begin a workflow for the first time
38
43
  StartWorkflow start_workflow = 1;
39
- /// A timer has fired, allowing whatever was waiting on it (if anything) to proceed
44
+ // A timer has fired, allowing whatever was waiting on it (if anything) to proceed
40
45
  FireTimer fire_timer = 2;
41
- /// Workflow was reset. The randomness seed must be updated.
46
+ // Workflow was reset. The randomness seed must be updated.
42
47
  UpdateRandomSeed update_random_seed = 4;
43
- /// A request to query the workflow was received.
48
+ // A request to query the workflow was received.
44
49
  QueryWorkflow query_workflow = 5;
45
- /// A request to cancel the workflow was received.
50
+ // A request to cancel the workflow was received.
46
51
  CancelWorkflow cancel_workflow = 6;
47
- /// A request to signal the workflow was received.
52
+ // A request to signal the workflow was received.
48
53
  SignalWorkflow signal_workflow = 7;
49
- /// An activity was resolved, result could be completed, failed or cancelled
54
+ // An activity was resolved, result could be completed, failed or cancelled
50
55
  ResolveActivity resolve_activity = 8;
51
- /// A patch marker has been detected and lang is being told that change exists. This
52
- /// job is strange in that it is sent pre-emptively to lang without any corresponding
53
- /// command being sent first.
56
+ // A patch marker has been detected and lang is being told that change exists. This
57
+ // job is strange in that it is sent pre-emptively to lang without any corresponding
58
+ // command being sent first.
54
59
  NotifyHasPatch notify_has_patch = 9;
55
- /// A child workflow execution has started or failed to start
60
+ // A child workflow execution has started or failed to start
56
61
  ResolveChildWorkflowExecutionStart resolve_child_workflow_execution_start = 10;
57
- /// A child workflow was resolved, result could be completed or failed
62
+ // A child workflow was resolved, result could be completed or failed
58
63
  ResolveChildWorkflowExecution resolve_child_workflow_execution = 11;
59
- /// An attempt to signal an external workflow resolved
64
+ // An attempt to signal an external workflow resolved
60
65
  ResolveSignalExternalWorkflow resolve_signal_external_workflow = 12;
61
- /// An attempt to cancel an external workflow resolved
66
+ // An attempt to cancel an external workflow resolved
62
67
  ResolveRequestCancelExternalWorkflow resolve_request_cancel_external_workflow = 13;
63
- /// Remove the workflow identified by the [WorkflowActivation] containing this job from the cache
64
- /// after performing the activation.
65
- ///
66
- /// If other job variant are present in the list, this variant will be the last job in the
67
- /// job list. The string value is a reason for eviction.
68
+ // Remove the workflow identified by the [WorkflowActivation] containing this job from the cache
69
+ // after performing the activation.
70
+ //
71
+ // If other job variant are present in the list, this variant will be the last job in the
72
+ // job list. The string value is a reason for eviction.
68
73
  RemoveFromCache remove_from_cache = 50;
69
74
  }
70
75
  }
@@ -123,23 +128,23 @@ message StartWorkflow {
123
128
  google.protobuf.Timestamp start_time = 23;
124
129
  }
125
130
 
126
- /// Notify a workflow that a timer has fired
131
+ // Notify a workflow that a timer has fired
127
132
  message FireTimer {
128
- /// Sequence number as provided by lang in the corresponding StartTimer command
133
+ // Sequence number as provided by lang in the corresponding StartTimer command
129
134
  uint32 seq = 1;
130
135
  }
131
136
 
132
- /// Notify a workflow that an activity has been resolved
137
+ // Notify a workflow that an activity has been resolved
133
138
  message ResolveActivity {
134
- /// Sequence number as provided by lang in the corresponding ScheduleActivity command
139
+ // Sequence number as provided by lang in the corresponding ScheduleActivity command
135
140
  uint32 seq = 1;
136
141
  activity_result.ActivityResolution result = 2;
137
142
  }
138
143
 
139
- /// Notify a workflow that a start child workflow execution request has succeeded, failed or was
140
- /// cancelled.
144
+ // Notify a workflow that a start child workflow execution request has succeeded, failed or was
145
+ // cancelled.
141
146
  message ResolveChildWorkflowExecutionStart {
142
- /// Sequence number as provided by lang in the corresponding StartChildWorkflowExecution command
147
+ // Sequence number as provided by lang in the corresponding StartChildWorkflowExecution command
143
148
  uint32 seq = 1;
144
149
  oneof status {
145
150
  ResolveChildWorkflowExecutionStartSuccess succeeded = 2;
@@ -148,54 +153,54 @@ message ResolveChildWorkflowExecutionStart {
148
153
  }
149
154
  }
150
155
 
151
- /// Simply pass the run_id to lang
156
+ // Simply pass the run_id to lang
152
157
  message ResolveChildWorkflowExecutionStartSuccess {
153
158
  string run_id = 1;
154
159
  }
155
160
 
156
- /// Provide lang the cause of failure
161
+ // Provide lang the cause of failure
157
162
  message ResolveChildWorkflowExecutionStartFailure {
158
- /// Lang should have this information but it's more convenient to pass it back
159
- /// for error construction on the lang side.
163
+ // Lang should have this information but it's more convenient to pass it back
164
+ // for error construction on the lang side.
160
165
  string workflow_id = 1;
161
166
  string workflow_type = 2;
162
167
  child_workflow.StartChildWorkflowExecutionFailedCause cause = 3;
163
168
  }
164
169
 
165
- /// `failure` should be ChildWorkflowFailure with cause set to CancelledFailure.
166
- /// The failure is constructed in core for lang's convenience.
170
+ // `failure` should be ChildWorkflowFailure with cause set to CancelledFailure.
171
+ // The failure is constructed in core for lang's convenience.
167
172
  message ResolveChildWorkflowExecutionStartCancelled {
168
173
  temporal.api.failure.v1.Failure failure = 1;
169
174
  }
170
175
 
171
- /// Notify a workflow that a child workflow execution has been resolved
176
+ // Notify a workflow that a child workflow execution has been resolved
172
177
  message ResolveChildWorkflowExecution {
173
- /// Sequence number as provided by lang in the corresponding StartChildWorkflowExecution command
178
+ // Sequence number as provided by lang in the corresponding StartChildWorkflowExecution command
174
179
  uint32 seq = 1;
175
180
  child_workflow.ChildWorkflowResult result = 2;
176
181
  }
177
182
 
178
- /// Update the workflow's random seed
183
+ // Update the workflow's random seed
179
184
  message UpdateRandomSeed {
180
185
  uint64 randomness_seed = 1;
181
186
  }
182
187
 
183
- /// Query a workflow
188
+ // Query a workflow
184
189
  message QueryWorkflow {
185
- /// For PollWFTResp `query` field, this will be set to the special value `legacy`. For the
186
- /// `queries` field, the server provides a unique identifier. If it is a `legacy` query,
187
- /// lang cannot issue any commands in response other than to answer the query.
190
+ // For PollWFTResp `query` field, this will be set to the special value `legacy`. For the
191
+ // `queries` field, the server provides a unique identifier. If it is a `legacy` query,
192
+ // lang cannot issue any commands in response other than to answer the query.
188
193
  string query_id = 1;
189
- /// The query's function/method/etc name
194
+ // The query's function/method/etc name
190
195
  string query_type = 2;
191
196
  repeated temporal.api.common.v1.Payload arguments = 3;
192
- /// Headers attached to the query
197
+ // Headers attached to the query
193
198
  map<string, temporal.api.common.v1.Payload> headers = 5;
194
199
  }
195
200
 
196
- /// Cancel a running workflow
201
+ // Cancel a running workflow
197
202
  message CancelWorkflow {
198
- /// Information from the cancellation request
203
+ // Information from the cancellation request
199
204
  repeated temporal.api.common.v1.Payload details = 1;
200
205
  }
201
206
 
@@ -216,20 +221,20 @@ message NotifyHasPatch {
216
221
  }
217
222
 
218
223
  message ResolveSignalExternalWorkflow {
219
- /// Sequence number as provided by lang in the corresponding SignalExternalWorkflowExecution
220
- /// command
224
+ // Sequence number as provided by lang in the corresponding SignalExternalWorkflowExecution
225
+ // command
221
226
  uint32 seq = 1;
222
- /// If populated, this signal either failed to be sent or was cancelled depending on failure
223
- /// type / info.
227
+ // If populated, this signal either failed to be sent or was cancelled depending on failure
228
+ // type / info.
224
229
  temporal.api.failure.v1.Failure failure = 2;
225
230
  }
226
231
 
227
232
  message ResolveRequestCancelExternalWorkflow {
228
- /// Sequence number as provided by lang in the corresponding
229
- /// RequestCancelExternalWorkflowExecution command
233
+ // Sequence number as provided by lang in the corresponding
234
+ // RequestCancelExternalWorkflowExecution command
230
235
  uint32 seq = 1;
231
- /// If populated, this signal either failed to be sent or was cancelled depending on failure
232
- /// type / info.
236
+ // If populated, this signal either failed to be sent or was cancelled depending on failure
237
+ // type / info.
233
238
  temporal.api.failure.v1.Failure failure = 2;
234
239
  }
235
240
 
@@ -258,6 +263,8 @@ message RemoveFromCache {
258
263
  // There was some fatal error processing the workflow, typically an internal error, but
259
264
  // can also happen if then network drops out while paginating. Check message string.
260
265
  FATAL = 8;
266
+ // Something went wrong attempting to fetch more history events.
267
+ PAGINATION_OR_HISTORY_FETCH = 9;
261
268
  }
262
269
  EvictionReason reason = 2;
263
270
  }
@@ -1,11 +1,12 @@
1
1
  syntax = "proto3";
2
2
 
3
- /**
3
+ /*
4
4
  * Definitions for commands from a workflow in lang SDK to core. While a workflow processes a batch
5
5
  * of activation jobs, it accumulates these commands to be sent back to core to conclude that
6
6
  * activation.
7
7
  */
8
8
  package coresdk.workflow_commands;
9
+ option ruby_package = "Temporalio::Bridge::Api::WorkflowCommands";
9
10
 
10
11
  import "google/protobuf/duration.proto";
11
12
  import "google/protobuf/timestamp.proto";
@@ -40,118 +41,118 @@ message WorkflowCommand {
40
41
  }
41
42
 
42
43
  message StartTimer {
43
- /// Lang's incremental sequence number, used as the operation identifier
44
+ // Lang's incremental sequence number, used as the operation identifier
44
45
  uint32 seq = 1;
45
46
  google.protobuf.Duration start_to_fire_timeout = 2;
46
47
  }
47
48
 
48
49
  message CancelTimer {
49
- /// Lang's incremental sequence number as passed to `StartTimer`
50
+ // Lang's incremental sequence number as passed to `StartTimer`
50
51
  uint32 seq = 1;
51
52
  }
52
53
 
53
54
  message ScheduleActivity {
54
- /// Lang's incremental sequence number, used as the operation identifier
55
+ // Lang's incremental sequence number, used as the operation identifier
55
56
  uint32 seq = 1;
56
57
  string activity_id = 2;
57
58
  string activity_type = 3;
58
59
  // The name of the task queue to place this activity request in
59
60
  string task_queue = 5;
60
61
  map<string, temporal.api.common.v1.Payload> headers = 6;
61
- /// Arguments/input to the activity. Called "input" upstream.
62
+ // Arguments/input to the activity. Called "input" upstream.
62
63
  repeated temporal.api.common.v1.Payload arguments = 7;
63
- /// Indicates how long the caller is willing to wait for an activity completion. Limits how long
64
- /// retries will be attempted. Either this or start_to_close_timeout_seconds must be specified.
65
- /// When not specified defaults to the workflow execution timeout.
64
+ // Indicates how long the caller is willing to wait for an activity completion. Limits how long
65
+ // retries will be attempted. Either this or start_to_close_timeout_seconds must be specified.
66
+ // When not specified defaults to the workflow execution timeout.
66
67
  google.protobuf.Duration schedule_to_close_timeout = 8;
67
- /// Limits time an activity task can stay in a task queue before a worker picks it up. This
68
- /// timeout is always non retryable as all a retry would achieve is to put it back into the same
69
- /// queue. Defaults to schedule_to_close_timeout or workflow execution timeout if not specified.
68
+ // Limits time an activity task can stay in a task queue before a worker picks it up. This
69
+ // timeout is always non retryable as all a retry would achieve is to put it back into the same
70
+ // queue. Defaults to schedule_to_close_timeout or workflow execution timeout if not specified.
70
71
  google.protobuf.Duration schedule_to_start_timeout = 9;
71
- /// Maximum time an activity is allowed to execute after a pick up by a worker. This timeout is
72
- /// always retryable. Either this or schedule_to_close_timeout must be specified.
72
+ // Maximum time an activity is allowed to execute after a pick up by a worker. This timeout is
73
+ // always retryable. Either this or schedule_to_close_timeout must be specified.
73
74
  google.protobuf.Duration start_to_close_timeout = 10;
74
- /// Maximum time allowed between successful worker heartbeats.
75
+ // Maximum time allowed between successful worker heartbeats.
75
76
  google.protobuf.Duration heartbeat_timeout = 11;
76
- /// Activities are provided by a default retry policy controlled through the service dynamic
77
- /// configuration. Retries are happening up to schedule_to_close_timeout. To disable retries set
78
- /// retry_policy.maximum_attempts to 1.
77
+ // Activities are provided by a default retry policy controlled through the service dynamic
78
+ // configuration. Retries are happening up to schedule_to_close_timeout. To disable retries set
79
+ // retry_policy.maximum_attempts to 1.
79
80
  temporal.api.common.v1.RetryPolicy retry_policy = 12;
80
- /// Defines how the workflow will wait (or not) for cancellation of the activity to be confirmed
81
+ // Defines how the workflow will wait (or not) for cancellation of the activity to be confirmed
81
82
  ActivityCancellationType cancellation_type = 13;
82
- /// If set, the worker will not tell the service that it can immediately start executing this
83
- /// activity. When unset/default, workers will always attempt to do so if activity execution
84
- /// slots are available.
83
+ // If set, the worker will not tell the service that it can immediately start executing this
84
+ // activity. When unset/default, workers will always attempt to do so if activity execution
85
+ // slots are available.
85
86
  bool do_not_eagerly_execute = 14;
86
87
  }
87
88
 
88
89
  message ScheduleLocalActivity {
89
- /// Lang's incremental sequence number, used as the operation identifier
90
+ // Lang's incremental sequence number, used as the operation identifier
90
91
  uint32 seq = 1;
91
92
  string activity_id = 2;
92
93
  string activity_type = 3;
93
- /// Local activities can start with a non-1 attempt, if lang has been told to backoff using
94
- /// a timer before retrying. It should pass the attempt number from a `DoBackoff` activity
95
- /// resolution.
94
+ // Local activities can start with a non-1 attempt, if lang has been told to backoff using
95
+ // a timer before retrying. It should pass the attempt number from a `DoBackoff` activity
96
+ // resolution.
96
97
  uint32 attempt = 4;
97
- /// If this local activity is a retry (as per the attempt field) this needs to be the original
98
- /// scheduling time (as provided in `DoBackoff`)
98
+ // If this local activity is a retry (as per the attempt field) this needs to be the original
99
+ // scheduling time (as provided in `DoBackoff`)
99
100
  google.protobuf.Timestamp original_schedule_time = 5;
100
101
  map<string, temporal.api.common.v1.Payload> headers = 6;
101
- /// Arguments/input to the activity.
102
+ // Arguments/input to the activity.
102
103
  repeated temporal.api.common.v1.Payload arguments = 7;
103
- /// Indicates how long the caller is willing to wait for local activity completion. Limits how
104
- /// long retries will be attempted. When not specified defaults to the workflow execution
105
- /// timeout (which may be unset).
104
+ // Indicates how long the caller is willing to wait for local activity completion. Limits how
105
+ // long retries will be attempted. When not specified defaults to the workflow execution
106
+ // timeout (which may be unset).
106
107
  google.protobuf.Duration schedule_to_close_timeout = 8;
107
- /// Limits time the local activity can idle internally before being executed. That can happen if
108
- /// the worker is currently at max concurrent local activity executions. This timeout is always
109
- /// non retryable as all a retry would achieve is to put it back into the same queue. Defaults
110
- /// to `schedule_to_close_timeout` if not specified and that is set. Must be <=
111
- /// `schedule_to_close_timeout` when set, otherwise, it will be clamped down.
108
+ // Limits time the local activity can idle internally before being executed. That can happen if
109
+ // the worker is currently at max concurrent local activity executions. This timeout is always
110
+ // non retryable as all a retry would achieve is to put it back into the same queue. Defaults
111
+ // to `schedule_to_close_timeout` if not specified and that is set. Must be <=
112
+ // `schedule_to_close_timeout` when set, otherwise, it will be clamped down.
112
113
  google.protobuf.Duration schedule_to_start_timeout = 9;
113
- /// Maximum time the local activity is allowed to execute after the task is dispatched. This
114
- /// timeout is always retryable. Either or both of `schedule_to_close_timeout` and this must be
115
- /// specified. If set, this must be <= `schedule_to_close_timeout`, otherwise, it will be
116
- /// clamped down.
114
+ // Maximum time the local activity is allowed to execute after the task is dispatched. This
115
+ // timeout is always retryable. Either or both of `schedule_to_close_timeout` and this must be
116
+ // specified. If set, this must be <= `schedule_to_close_timeout`, otherwise, it will be
117
+ // clamped down.
117
118
  google.protobuf.Duration start_to_close_timeout = 10;
118
- /// Specify a retry policy for the local activity. By default local activities will be retried
119
- /// indefinitely.
119
+ // Specify a retry policy for the local activity. By default local activities will be retried
120
+ // indefinitely.
120
121
  temporal.api.common.v1.RetryPolicy retry_policy = 11;
121
- /// If the activity is retrying and backoff would exceed this value, lang will be told to
122
- /// schedule a timer and retry the activity after. Otherwise, backoff will happen internally in
123
- /// core. Defaults to 1 minute.
122
+ // If the activity is retrying and backoff would exceed this value, lang will be told to
123
+ // schedule a timer and retry the activity after. Otherwise, backoff will happen internally in
124
+ // core. Defaults to 1 minute.
124
125
  google.protobuf.Duration local_retry_threshold = 12;
125
- /// Defines how the workflow will wait (or not) for cancellation of the activity to be
126
- /// confirmed. Lang should default this to `WAIT_CANCELLATION_COMPLETED`, even though proto
127
- /// will default to `TRY_CANCEL` automatically.
126
+ // Defines how the workflow will wait (or not) for cancellation of the activity to be
127
+ // confirmed. Lang should default this to `WAIT_CANCELLATION_COMPLETED`, even though proto
128
+ // will default to `TRY_CANCEL` automatically.
128
129
  ActivityCancellationType cancellation_type = 13;
129
130
  }
130
131
 
131
132
  enum ActivityCancellationType {
132
- /// Initiate a cancellation request and immediately report cancellation to the workflow.
133
+ // Initiate a cancellation request and immediately report cancellation to the workflow.
133
134
  TRY_CANCEL = 0;
134
- /// Wait for activity cancellation completion. Note that activity must heartbeat to receive a
135
- /// cancellation notification. This can block the cancellation for a long time if activity
136
- /// doesn't heartbeat or chooses to ignore the cancellation request.
135
+ // Wait for activity cancellation completion. Note that activity must heartbeat to receive a
136
+ // cancellation notification. This can block the cancellation for a long time if activity
137
+ // doesn't heartbeat or chooses to ignore the cancellation request.
137
138
  WAIT_CANCELLATION_COMPLETED = 1;
138
- /// Do not request cancellation of the activity and immediately report cancellation to the
139
- /// workflow
139
+ // Do not request cancellation of the activity and immediately report cancellation to the
140
+ // workflow
140
141
  ABANDON = 2;
141
142
  }
142
143
 
143
144
  message RequestCancelActivity {
144
- /// Lang's incremental sequence number as passed to `ScheduleActivity`
145
+ // Lang's incremental sequence number as passed to `ScheduleActivity`
145
146
  uint32 seq = 1;
146
147
  }
147
148
 
148
149
  message RequestCancelLocalActivity {
149
- /// Lang's incremental sequence number as passed to `ScheduleLocalActivity`
150
+ // Lang's incremental sequence number as passed to `ScheduleLocalActivity`
150
151
  uint32 seq = 1;
151
152
  }
152
153
 
153
154
  message QueryResult {
154
- /// Corresponds to the id provided in the activation job
155
+ // Corresponds to the id provided in the activation job
155
156
  string query_id = 1;
156
157
  oneof variant {
157
158
  QuerySuccess succeeded = 2;
@@ -163,12 +164,12 @@ message QuerySuccess {
163
164
  temporal.api.common.v1.Payload response = 1;
164
165
  }
165
166
 
166
- /// Issued when the workflow completes successfully
167
+ // Issued when the workflow completes successfully
167
168
  message CompleteWorkflowExecution {
168
169
  temporal.api.common.v1.Payload result = 1;
169
170
  }
170
171
 
171
- /// Issued when the workflow errors out
172
+ // Issued when the workflow errors out
172
173
  message FailWorkflowExecution {
173
174
  temporal.api.failure.v1.Failure failure = 1;
174
175
  }
@@ -199,11 +200,11 @@ message ContinueAsNewWorkflowExecution {
199
200
  temporal.api.common.v1.RetryPolicy retry_policy = 9;
200
201
  }
201
202
 
202
- /// Indicate a workflow has completed as cancelled. Generally sent as a response to an activation
203
- /// containing a cancellation job.
203
+ // Indicate a workflow has completed as cancelled. Generally sent as a response to an activation
204
+ // containing a cancellation job.
204
205
  message CancelWorkflowExecution {}
205
206
 
206
- /// A request to set/check if a certain patch is present or not
207
+ // A request to set/check if a certain patch is present or not
207
208
  message SetPatchMarker {
208
209
  // A user-chosen identifier for this patch. If the same identifier is used in multiple places in
209
210
  // the code, those places are considered to be versioned as one unit. IE: The check call will
@@ -214,47 +215,47 @@ message SetPatchMarker {
214
215
  bool deprecated = 2;
215
216
  }
216
217
 
217
- /// Start a child workflow execution
218
+ // Start a child workflow execution
218
219
  message StartChildWorkflowExecution {
219
- /// Lang's incremental sequence number, used as the operation identifier
220
+ // Lang's incremental sequence number, used as the operation identifier
220
221
  uint32 seq = 1;
221
222
  string namespace = 2;
222
223
  string workflow_id = 3;
223
224
  string workflow_type = 4;
224
225
  string task_queue = 5;
225
226
  repeated temporal.api.common.v1.Payload input = 6;
226
- /// Total workflow execution timeout including retries and continue as new.
227
+ // Total workflow execution timeout including retries and continue as new.
227
228
  google.protobuf.Duration workflow_execution_timeout = 7;
228
- /// Timeout of a single workflow run.
229
+ // Timeout of a single workflow run.
229
230
  google.protobuf.Duration workflow_run_timeout = 8;
230
- /// Timeout of a single workflow task.
231
+ // Timeout of a single workflow task.
231
232
  google.protobuf.Duration workflow_task_timeout = 9;
232
- /// Default: PARENT_CLOSE_POLICY_TERMINATE.
233
+ // Default: PARENT_CLOSE_POLICY_TERMINATE.
233
234
  child_workflow.ParentClosePolicy parent_close_policy = 10;
234
235
  // string control = 11; (unused from StartChildWorkflowExecutionCommandAttributes)
235
236
  // Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.
236
237
  temporal.api.enums.v1.WorkflowIdReusePolicy workflow_id_reuse_policy = 12;
237
238
  temporal.api.common.v1.RetryPolicy retry_policy = 13;
238
239
  string cron_schedule = 14;
239
- /// Header fields
240
+ // Header fields
240
241
  map<string, temporal.api.common.v1.Payload> headers = 15;
241
- /// Memo fields
242
+ // Memo fields
242
243
  map<string, temporal.api.common.v1.Payload> memo = 16;
243
- /// Search attributes
244
+ // Search attributes
244
245
  map<string, temporal.api.common.v1.Payload> search_attributes = 17;
245
- /// Defines behaviour of the underlying workflow when child workflow cancellation has been requested.
246
+ // Defines behaviour of the underlying workflow when child workflow cancellation has been requested.
246
247
  child_workflow.ChildWorkflowCancellationType cancellation_type = 18;
247
248
  }
248
249
 
249
- /// Cancel a child workflow
250
+ // Cancel a child workflow
250
251
  message CancelChildWorkflowExecution {
251
252
  // Sequence number as given to the `StartChildWorkflowExecution` command
252
253
  uint32 child_workflow_seq = 1;
253
254
  }
254
255
 
255
- /// Request cancellation of an external workflow execution (which may be a started child)
256
+ // Request cancellation of an external workflow execution (which may be a started child)
256
257
  message RequestCancelExternalWorkflowExecution {
257
- /// Lang's incremental sequence number, used as the operation identifier
258
+ // Lang's incremental sequence number, used as the operation identifier
258
259
  uint32 seq = 1;
259
260
  // What workflow is being targeted
260
261
  oneof target {
@@ -265,9 +266,9 @@ message RequestCancelExternalWorkflowExecution {
265
266
  }
266
267
  }
267
268
 
268
- /// Send a signal to an external or child workflow
269
+ // Send a signal to an external or child workflow
269
270
  message SignalExternalWorkflowExecution {
270
- /// Lang's incremental sequence number, used as the operation identifier
271
+ // Lang's incremental sequence number, used as the operation identifier
271
272
  uint32 seq = 1;
272
273
  // What workflow is being targeted
273
274
  oneof target {
@@ -276,23 +277,23 @@ message SignalExternalWorkflowExecution {
276
277
  // The desired target must be a child of the issuing workflow, and this is its workflow id
277
278
  string child_workflow_id = 3;
278
279
  }
279
- /// Name of the signal handler
280
+ // Name of the signal handler
280
281
  string signal_name = 4;
281
- /// Arguments for the handler
282
+ // Arguments for the handler
282
283
  repeated temporal.api.common.v1.Payload args = 5;
283
- /// Headers to attach to the signal
284
+ // Headers to attach to the signal
284
285
  map<string, temporal.api.common.v1.Payload> headers = 6;
285
286
  }
286
287
 
287
- /// Can be used to cancel not-already-sent `SignalExternalWorkflowExecution` commands
288
+ // Can be used to cancel not-already-sent `SignalExternalWorkflowExecution` commands
288
289
  message CancelSignalWorkflow {
289
- /// Lang's incremental sequence number as passed to `SignalExternalWorkflowExecution`
290
+ // Lang's incremental sequence number as passed to `SignalExternalWorkflowExecution`
290
291
  uint32 seq = 1;
291
292
  }
292
293
 
293
294
  message UpsertWorkflowSearchAttributes {
294
- /// SearchAttributes fields - equivalent to indexed_fields on api. Key = search index, Value =
295
- /// value?
295
+ // SearchAttributes fields - equivalent to indexed_fields on api. Key = search index, Value =
296
+ // value?
296
297
  map<string, temporal.api.common.v1.Payload> search_attributes = 1;
297
298
  }
298
299
 
@@ -1,12 +1,14 @@
1
1
  syntax = "proto3";
2
2
 
3
3
  package coresdk.workflow_completion;
4
+ option ruby_package = "Temporalio::Bridge::Api::WorkflowCompletion";
4
5
 
5
6
  import "temporal/api/failure/v1/message.proto";
7
+ import "temporal/api/enums/v1/failed_cause.proto";
6
8
  import "temporal/sdk/core/common/common.proto";
7
9
  import "temporal/sdk/core/workflow_commands/workflow_commands.proto";
8
10
 
9
- /// Result of a single workflow activation, reported from lang to core
11
+ // Result of a single workflow activation, reported from lang to core
10
12
  message WorkflowActivationCompletion {
11
13
  // The run id from the workflow activation you are completing
12
14
  string run_id = 1;
@@ -16,14 +18,18 @@ message WorkflowActivationCompletion {
16
18
  }
17
19
  }
18
20
 
19
- /// Successful workflow activation with a list of commands generated by the workflow execution
21
+ // Successful workflow activation with a list of commands generated by the workflow execution
20
22
  message Success {
21
23
  // A list of commands to send back to the temporal server
22
24
  repeated workflow_commands.WorkflowCommand commands = 1;
25
+ // Any internal flags which the lang SDK used in the processing of this activation
26
+ repeated uint32 used_internal_flags = 6;
23
27
  }
24
28
 
25
- /// Failure to activate or execute a workflow
29
+ // Failure to activate or execute a workflow
26
30
  message Failure {
27
31
  temporal.api.failure.v1.Failure failure = 1;
32
+ // Forces overriding the WFT failure cause
33
+ temporal.api.enums.v1.WorkflowTaskFailedCause force_cause = 2;
28
34
  }
29
35
 
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
28
28
  option java_package = "io.temporal.api.testservice.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "RequestResponseProto";
31
- option ruby_package = "Temporal::Api::TestService::V1";
32
- option csharp_namespace = "Temporal.Api.TestService.V1";
31
+ option ruby_package = "Temporalio::Api::TestService::V1";
32
+ option csharp_namespace = "Temporalio.Api.TestService.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
  import "google/protobuf/timestamp.proto";
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/testservice/v1;testservice";
28
28
  option java_package = "io.temporal.api.testservice.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "ServiceProto";
31
- option ruby_package = "Temporal::Api::TestService::V1";
32
- option csharp_namespace = "Temporal.Api.TestService.V1";
31
+ option ruby_package = "Temporalio::Api::TestService::V1";
32
+ option csharp_namespace = "Temporalio.Api.TestService.V1";
33
33
 
34
34
  import "temporal/api/testservice/v1/request_response.proto";
35
35
  import "google/protobuf/empty.proto";