@temporalio/core-bridge 1.11.8 → 1.12.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 (205) hide show
  1. package/Cargo.lock +219 -193
  2. package/Cargo.toml +27 -8
  3. package/README.md +5 -0
  4. package/index.js +72 -12
  5. package/lib/errors.d.ts +25 -0
  6. package/lib/errors.js +76 -1
  7. package/lib/errors.js.map +1 -1
  8. package/lib/index.d.ts +11 -478
  9. package/lib/index.js +28 -5
  10. package/lib/index.js.map +1 -1
  11. package/lib/native.d.ts +330 -0
  12. package/lib/{worker-tuner.js → native.js} +1 -1
  13. package/lib/native.js.map +1 -0
  14. package/package.json +7 -3
  15. package/releases/aarch64-apple-darwin/index.node +0 -0
  16. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  17. package/releases/x86_64-apple-darwin/index.node +0 -0
  18. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  19. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  20. package/sdk-core/.cargo/config.toml +8 -2
  21. package/sdk-core/.cargo/multi-worker-manual-test +15 -0
  22. package/sdk-core/.github/workflows/per-pr.yml +40 -11
  23. package/sdk-core/AGENTS.md +73 -0
  24. package/sdk-core/ARCHITECTURE.md +71 -23
  25. package/sdk-core/Cargo.toml +1 -1
  26. package/sdk-core/README.md +4 -4
  27. package/sdk-core/arch_docs/workflow_task_chunking.md +51 -0
  28. package/sdk-core/client/Cargo.toml +1 -1
  29. package/sdk-core/client/src/lib.rs +49 -13
  30. package/sdk-core/client/src/metrics.rs +15 -16
  31. package/sdk-core/client/src/proxy.rs +2 -2
  32. package/sdk-core/client/src/raw.rs +54 -8
  33. package/sdk-core/client/src/retry.rs +109 -13
  34. package/sdk-core/client/src/worker_registry/mod.rs +4 -4
  35. package/sdk-core/client/src/workflow_handle/mod.rs +1 -1
  36. package/sdk-core/core/Cargo.toml +28 -8
  37. package/sdk-core/core/src/abstractions.rs +62 -10
  38. package/sdk-core/core/src/core_tests/activity_tasks.rs +180 -8
  39. package/sdk-core/core/src/core_tests/mod.rs +4 -4
  40. package/sdk-core/core/src/core_tests/queries.rs +18 -4
  41. package/sdk-core/core/src/core_tests/workers.rs +3 -3
  42. package/sdk-core/core/src/core_tests/workflow_tasks.rs +191 -25
  43. package/sdk-core/core/src/ephemeral_server/mod.rs +10 -3
  44. package/sdk-core/core/src/internal_flags.rs +14 -14
  45. package/sdk-core/core/src/lib.rs +5 -2
  46. package/sdk-core/core/src/pollers/mod.rs +1 -1
  47. package/sdk-core/core/src/pollers/poll_buffer.rs +495 -164
  48. package/sdk-core/core/src/protosext/mod.rs +3 -3
  49. package/sdk-core/core/src/replay/mod.rs +3 -3
  50. package/sdk-core/core/src/telemetry/metrics.rs +13 -4
  51. package/sdk-core/core/src/telemetry/mod.rs +72 -70
  52. package/sdk-core/core/src/telemetry/otel.rs +51 -54
  53. package/sdk-core/core/src/test_help/mod.rs +9 -3
  54. package/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +31 -11
  55. package/sdk-core/core/src/worker/activities/local_activities.rs +35 -28
  56. package/sdk-core/core/src/worker/activities.rs +58 -30
  57. package/sdk-core/core/src/worker/client/mocks.rs +3 -3
  58. package/sdk-core/core/src/worker/client.rs +155 -53
  59. package/sdk-core/core/src/worker/mod.rs +103 -95
  60. package/sdk-core/core/src/worker/nexus.rs +100 -73
  61. package/sdk-core/core/src/worker/tuner/resource_based.rs +14 -6
  62. package/sdk-core/core/src/worker/tuner.rs +4 -13
  63. package/sdk-core/core/src/worker/workflow/history_update.rs +47 -51
  64. package/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +1 -4
  65. package/sdk-core/core/src/worker/workflow/machines/nexus_operation_state_machine.rs +127 -32
  66. package/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +1 -2
  67. package/sdk-core/core/src/worker/workflow/machines/update_state_machine.rs +1 -1
  68. package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +55 -42
  69. package/sdk-core/core/src/worker/workflow/managed_run.rs +45 -35
  70. package/sdk-core/core/src/worker/workflow/mod.rs +200 -97
  71. package/sdk-core/core/src/worker/workflow/wft_poller.rs +175 -4
  72. package/sdk-core/core/src/worker/workflow/workflow_stream.rs +38 -36
  73. package/sdk-core/core-api/Cargo.toml +8 -0
  74. package/sdk-core/core-api/src/envconfig.rs +1544 -0
  75. package/sdk-core/core-api/src/lib.rs +2 -0
  76. package/sdk-core/core-api/src/telemetry/metrics.rs +8 -0
  77. package/sdk-core/core-api/src/telemetry.rs +36 -3
  78. package/sdk-core/core-api/src/worker.rs +301 -75
  79. package/sdk-core/docker/docker-compose-telem.yaml +1 -0
  80. package/sdk-core/etc/prometheus.yaml +6 -2
  81. package/sdk-core/histories/long_local_activity_with_update-0_history.bin +0 -0
  82. package/sdk-core/histories/long_local_activity_with_update-1_history.bin +0 -0
  83. package/sdk-core/histories/long_local_activity_with_update-2_history.bin +0 -0
  84. package/sdk-core/histories/long_local_activity_with_update-3_history.bin +0 -0
  85. package/sdk-core/sdk/src/activity_context.rs +5 -0
  86. package/sdk-core/sdk/src/interceptors.rs +73 -3
  87. package/sdk-core/sdk/src/lib.rs +15 -16
  88. package/sdk-core/sdk/src/workflow_context/options.rs +10 -0
  89. package/sdk-core/sdk/src/workflow_context.rs +48 -29
  90. package/sdk-core/sdk/src/workflow_future.rs +5 -6
  91. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/.github/workflows/push-to-buf.yml +20 -0
  92. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/CODEOWNERS +6 -0
  93. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/README.md +17 -6
  94. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +1 -1
  95. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.lock +7 -2
  96. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/buf.yaml +2 -0
  97. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +78 -0
  98. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +29 -0
  99. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +74 -32
  100. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +45 -15
  101. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/nexus/v1/message.proto +7 -1
  102. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +3 -3
  103. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +3 -3
  104. package/sdk-core/sdk-core-protos/protos/api_upstream/LICENSE +1 -1
  105. package/sdk-core/sdk-core-protos/protos/api_upstream/buf.yaml +2 -0
  106. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv2.json +1103 -88
  107. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv3.yaml +1233 -151
  108. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/activity/v1/message.proto +0 -22
  109. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/batch/v1/message.proto +19 -24
  110. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/command/v1/message.proto +0 -22
  111. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/common/v1/message.proto +12 -22
  112. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/deployment/v1/message.proto +45 -45
  113. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +0 -22
  114. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/command_type.proto +0 -22
  115. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/common.proto +15 -22
  116. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/deployment.proto +0 -22
  117. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/event_type.proto +4 -22
  118. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +0 -22
  119. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/namespace.proto +0 -22
  120. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/nexus.proto +0 -20
  121. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/query.proto +0 -22
  122. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/reset.proto +0 -22
  123. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/schedule.proto +0 -22
  124. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/task_queue.proto +0 -22
  125. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/update.proto +0 -22
  126. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/workflow.proto +4 -22
  127. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/errordetails/v1/message.proto +0 -22
  128. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/export/v1/message.proto +0 -22
  129. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/failure/v1/message.proto +2 -22
  130. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/filter/v1/message.proto +0 -22
  131. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/history/v1/message.proto +75 -49
  132. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/namespace/v1/message.proto +0 -22
  133. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/nexus/v1/message.proto +0 -20
  134. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/request_response.proto +0 -22
  135. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/service.proto +0 -22
  136. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/protocol/v1/message.proto +0 -22
  137. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/query/v1/message.proto +0 -22
  138. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/replication/v1/message.proto +0 -22
  139. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/rules/v1/message.proto +90 -0
  140. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/schedule/v1/message.proto +0 -22
  141. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/enhanced_stack_trace.proto +0 -22
  142. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/task_complete_metadata.proto +0 -22
  143. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/user_metadata.proto +0 -22
  144. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/sdk/v1/workflow_metadata.proto +0 -22
  145. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +17 -38
  146. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/update/v1/message.proto +0 -22
  147. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/version/v1/message.proto +0 -22
  148. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflow/v1/message.proto +151 -44
  149. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +172 -65
  150. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +69 -28
  151. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/activity_task/activity_task.proto +18 -0
  152. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/common/common.proto +5 -0
  153. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/nexus/nexus.proto +16 -1
  154. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +21 -15
  155. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +3 -0
  156. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/workflow_completion/workflow_completion.proto +3 -0
  157. package/sdk-core/sdk-core-protos/src/lib.rs +60 -16
  158. package/sdk-core/test-utils/src/lib.rs +157 -39
  159. package/sdk-core/tests/cloud_tests.rs +86 -0
  160. package/sdk-core/tests/fuzzy_workflow.rs +23 -26
  161. package/sdk-core/tests/global_metric_tests.rs +116 -0
  162. package/sdk-core/tests/heavy_tests.rs +127 -7
  163. package/sdk-core/tests/integ_tests/client_tests.rs +2 -8
  164. package/sdk-core/tests/integ_tests/metrics_tests.rs +100 -106
  165. package/sdk-core/tests/integ_tests/polling_tests.rs +94 -8
  166. package/sdk-core/tests/integ_tests/update_tests.rs +75 -6
  167. package/sdk-core/tests/integ_tests/worker_tests.rs +54 -5
  168. package/sdk-core/tests/integ_tests/worker_versioning_tests.rs +240 -0
  169. package/sdk-core/tests/integ_tests/workflow_tests/determinism.rs +41 -3
  170. package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +168 -8
  171. package/sdk-core/tests/integ_tests/workflow_tests/nexus.rs +285 -15
  172. package/sdk-core/tests/integ_tests/workflow_tests/priority.rs +12 -4
  173. package/sdk-core/tests/integ_tests/workflow_tests/stickyness.rs +3 -2
  174. package/sdk-core/tests/integ_tests/workflow_tests.rs +124 -74
  175. package/sdk-core/tests/main.rs +3 -51
  176. package/sdk-core/tests/manual_tests.rs +430 -0
  177. package/sdk-core/tests/runner.rs +28 -2
  178. package/src/client.rs +565 -0
  179. package/src/helpers/abort_controller.rs +204 -0
  180. package/src/helpers/callbacks.rs +299 -0
  181. package/src/helpers/errors.rs +302 -0
  182. package/src/helpers/future.rs +44 -0
  183. package/src/helpers/handles.rs +191 -0
  184. package/src/helpers/inspect.rs +18 -0
  185. package/src/helpers/json_string.rs +58 -0
  186. package/src/helpers/mod.rs +20 -0
  187. package/src/helpers/properties.rs +71 -0
  188. package/src/helpers/try_from_js.rs +213 -0
  189. package/src/helpers/try_into_js.rs +129 -0
  190. package/src/lib.rs +28 -40
  191. package/src/logs.rs +111 -0
  192. package/src/metrics.rs +325 -0
  193. package/src/runtime.rs +409 -498
  194. package/src/testing.rs +315 -57
  195. package/src/worker.rs +907 -378
  196. package/ts/errors.ts +57 -0
  197. package/ts/index.ts +10 -596
  198. package/ts/native.ts +496 -0
  199. package/lib/worker-tuner.d.ts +0 -167
  200. package/lib/worker-tuner.js.map +0 -1
  201. package/src/conversions/slot_supplier_bridge.rs +0 -291
  202. package/src/conversions.rs +0 -618
  203. package/src/errors.rs +0 -38
  204. package/src/helpers.rs +0 -297
  205. package/ts/worker-tuner.ts +0 -193
@@ -1,25 +1,3 @@
1
- // The MIT License
2
- //
3
- // Copyright (c) 2020 Temporal Technologies Inc. All rights reserved.
4
- //
5
- // Permission is hereby granted, free of charge, to any person obtaining a copy
6
- // of this software and associated documentation files (the "Software"), to deal
7
- // in the Software without restriction, including without limitation the rights
8
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- // copies of the Software, and to permit persons to whom the Software is
10
- // furnished to do so, subject to the following conditions:
11
- //
12
- // The above copyright notice and this permission notice shall be included in
13
- // all copies or substantial portions of the Software.
14
- //
15
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- // THE SOFTWARE.
22
-
23
1
  syntax = "proto3";
24
2
 
25
3
  package temporal.api.workflow.v1;
@@ -34,8 +12,11 @@ option csharp_namespace = "Temporalio.Api.Workflow.V1";
34
12
  import "google/protobuf/duration.proto";
35
13
  import "google/protobuf/empty.proto";
36
14
  import "google/protobuf/timestamp.proto";
15
+ import "google/protobuf/field_mask.proto";
37
16
 
17
+ import "temporal/api/activity/v1/message.proto";
38
18
  import "temporal/api/enums/v1/common.proto";
19
+ import "temporal/api/enums/v1/event_type.proto";
39
20
  import "temporal/api/enums/v1/workflow.proto";
40
21
  import "temporal/api/common/v1/message.proto";
41
22
  import "temporal/api/deployment/v1/message.proto";
@@ -93,11 +74,11 @@ message WorkflowExecutionInfo {
93
74
  // Assigned build ID can also change in the middle of a execution if Compatible Redirect Rules are applied to
94
75
  // this execution.
95
76
  // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
96
- string assigned_build_id = 19;
77
+ string assigned_build_id = 19 [deprecated = true];
97
78
  // Build ID inherited from a previous/parent execution. If present, assigned_build_id will be set to this, instead
98
79
  // of using the assignment rules.
99
80
  // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
100
- string inherited_build_id = 20;
81
+ string inherited_build_id = 20 [deprecated = true];
101
82
  // The first run ID in the execution chain.
102
83
  // Executions created via the following operations are considered to be in the same chain
103
84
  // - ContinueAsNew
@@ -136,6 +117,15 @@ message WorkflowExecutionExtendedInfo {
136
117
 
137
118
  // Original workflow start time.
138
119
  google.protobuf.Timestamp original_start_time = 5;
120
+
121
+ // Reset Run ID points to the new run when this execution is reset. If the execution is reset multiple times, it points to the latest run.
122
+ string reset_run_id = 6;
123
+
124
+ // Request ID information (eg: history event information associated with the request ID).
125
+ // Note: It only contains request IDs from StartWorkflowExecution requests, including indirect
126
+ // calls (eg: if SignalWithStartWorkflowExecution starts a new workflow, then the request ID is
127
+ // used in the StartWorkflowExecution request).
128
+ map<string, RequestIdInfo> request_id_infos = 7;
139
129
  }
140
130
 
141
131
  // Holds all the information about worker versioning for a particular workflow execution.
@@ -159,17 +149,20 @@ message WorkflowExecutionVersioningInfo {
159
149
  // a deployment value which will be stored here, so the right way to check if an execution is
160
150
  // versioned if an execution is versioned or not is via the `behavior` field.
161
151
  // Note that `deployment` is overridden by `versioning_override` if the latter is present.
162
- // Deprecated. Use `version`.
152
+ // Deprecated. Use `deployment_version`.
163
153
  temporal.api.deployment.v1.Deployment deployment = 2 [deprecated = true];
164
- // The Worker Deployment Version that completed the last workflow task of this workflow
165
- // execution, in the form "<deployment_name>.<build_id>".
166
- // Must be present if and only if `behavior` is set. An absent value means no workflow task is
167
- // completed, or the workflow is unversioned.
168
- // For child workflows of Pinned parents, this will be set to parent's Pinned Version when the
169
- // the child starts so that child's first workflow task goes to the same Version as the parent.
154
+ // Deprecated. Use `deployment_version`.
155
+ string version = 5 [deprecated = true];
156
+ // The Worker Deployment Version that completed the last workflow task of this workflow execution.
157
+ // An absent value means no workflow task is completed, or the workflow is unversioned.
158
+ // If present, and `behavior` is UNSPECIFIED, the last task of this workflow execution was completed
159
+ // by a worker that is not using versioning but _is_ passing Deployment Name and Build ID.
160
+ //
161
+ // For child workflows of Pinned parents, this will be set to the parent's Pinned Version when
162
+ // the child starts, so that the child's first workflow task goes to the same Version as the parent.
170
163
  // Note that if `versioning_override.behavior` is PINNED then `versioning_override.pinned_version`
171
164
  // will override this value.
172
- string version = 5;
165
+ temporal.api.deployment.v1.WorkerDeploymentVersion deployment_version = 7;
173
166
  // Present if user has set an execution-specific versioning override. This override takes
174
167
  // precedence over SDK-sent `behavior` (and `version` when override is PINNED). An
175
168
  // override can be set when starting a new execution, as well as afterwards by calling the
@@ -230,9 +223,12 @@ message DeploymentTransition {
230
223
  // deployment version to another.
231
224
  // Experimental. Might change in the future.
232
225
  message DeploymentVersionTransition {
233
- // Required. The target Version of the transition. May be `__unversioned__` which means a
234
- // so-far-versioned workflow is transitioning to unversioned workers.
235
- string version = 1;
226
+ // Deprecated. Use `deployment_version`.
227
+ string version = 1 [deprecated = true];
228
+
229
+ // The target Version of the transition.
230
+ // If nil, a so-far-versioned workflow is transitioning to unversioned workers.
231
+ temporal.api.deployment.v1.WorkerDeploymentVersion deployment_version = 2;
236
232
 
237
233
  // Later: safe transition info
238
234
  }
@@ -265,16 +261,16 @@ message PendingActivityInfo {
265
261
  // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
266
262
  oneof assigned_build_id {
267
263
  // When present, it means this activity is assigned to the build ID of its workflow.
268
- google.protobuf.Empty use_workflow_build_id = 13;
264
+ google.protobuf.Empty use_workflow_build_id = 13 [deprecated = true];
269
265
  // This means the activity is independently versioned and not bound to the build ID of its workflow.
270
266
  // The activity will use the build id in this field instead.
271
267
  // If the task fails and is scheduled again, the assigned build ID may change according to the latest versioning
272
268
  // rules.
273
- string last_independently_assigned_build_id = 14;
269
+ string last_independently_assigned_build_id = 14 [deprecated = true];
274
270
  }
275
271
  // The version stamp of the worker to whom this activity was most recently dispatched
276
272
  // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv]
277
- temporal.api.common.v1.WorkerVersionStamp last_worker_version_stamp = 15;
273
+ temporal.api.common.v1.WorkerVersionStamp last_worker_version_stamp = 15 [deprecated = true];
278
274
 
279
275
  // The time activity will wait until the next retry.
280
276
  // If activity is currently running it will be next retry interval if activity failed.
@@ -294,13 +290,53 @@ message PendingActivityInfo {
294
290
 
295
291
  // The deployment this activity was dispatched to most recently. Present only if the activity
296
292
  // was dispatched to a versioned worker.
297
- // Deprecated. Use `last_worker_deployment_version`.
293
+ // Deprecated. Use `last_deployment_version`.
298
294
  temporal.api.deployment.v1.Deployment last_deployment = 20 [deprecated = true];
299
295
  // The Worker Deployment Version this activity was dispatched to most recently.
300
- string last_worker_deployment_version = 21;
296
+ // Deprecated. Use `last_deployment_version`.
297
+ string last_worker_deployment_version = 21 [deprecated = true];
298
+ // The Worker Deployment Version this activity was dispatched to most recently.
299
+ // If nil, the activity has not yet been dispatched or was last dispatched to an unversioned worker.
300
+ temporal.api.deployment.v1.WorkerDeploymentVersion last_deployment_version = 25;
301
+
301
302
 
302
303
  // Priority metadata
303
304
  temporal.api.common.v1.Priority priority = 22;
305
+
306
+ message PauseInfo {
307
+ // The time when the activity was paused.
308
+ google.protobuf.Timestamp pause_time = 1;
309
+
310
+ message Manual {
311
+ // The identity of the actor that paused the activity.
312
+ string identity = 1;
313
+ // Reason for pausing the activity.
314
+ string reason = 2;
315
+ }
316
+
317
+ message Rule {
318
+ // The rule that paused the activity.
319
+ string rule_id = 1;
320
+ // The identity of the actor that created the rule.
321
+ string identity = 2;
322
+ // Reason why rule was created. Populated from rule description.
323
+ string reason = 3;
324
+ }
325
+
326
+ oneof paused_by {
327
+ // activity was paused by the manual intervention
328
+ Manual manual = 2;
329
+
330
+
331
+ // activity was paused by the rule
332
+ Rule rule = 4;
333
+ }
334
+ }
335
+
336
+ PauseInfo pause_info = 23;
337
+
338
+ // Current activity options. May be different from the one used to start the activity.
339
+ temporal.api.activity.v1.ActivityOptions activity_options = 24;
304
340
  }
305
341
 
306
342
  message PendingChildExecutionInfo {
@@ -335,7 +371,7 @@ message ResetPointInfo {
335
371
  // Worker build id.
336
372
  string build_id = 7;
337
373
  // A worker binary version identifier (deprecated).
338
- string binary_checksum = 1;
374
+ string binary_checksum = 1 [deprecated = true];
339
375
  // The first run ID in the execution chain that was touched by this worker build.
340
376
  string run_id = 2;
341
377
  // Event ID of the first WorkflowTaskCompleted event processed by this worker build.
@@ -500,18 +536,44 @@ message WorkflowExecutionOptions {
500
536
  // `UpdateWorkflowExecutionOptions` with a null `VersioningOverride`, and use the `update_mask`
501
537
  // to indicate that it should be mutated.
502
538
  message VersioningOverride {
539
+ // Indicates whether to override the workflow to be AutoUpgrade or Pinned.
540
+ oneof override {
541
+ // Send the next workflow task to the Version specified in the override.
542
+ PinnedOverride pinned = 3;
543
+ // Send the next workflow task to the Current Deployment Version
544
+ // of its Task Queue when the next workflow task is dispatched.
545
+ bool auto_upgrade = 4;
546
+ }
503
547
  // Required.
504
- temporal.api.enums.v1.VersioningBehavior behavior = 1;
548
+ // Deprecated. Use `override`.
549
+ temporal.api.enums.v1.VersioningBehavior behavior = 1 [deprecated = true];
505
550
 
506
551
  // Required if behavior is `PINNED`. Must be null if behavior is `AUTO_UPGRADE`.
507
552
  // Identifies the worker deployment to pin the workflow to.
508
- // Deprecated. Use `pinned_version`.
553
+ // Deprecated. Use `override.pinned.version`.
509
554
  temporal.api.deployment.v1.Deployment deployment = 2 [deprecated = true];
510
555
 
511
556
  // Required if behavior is `PINNED`. Must be absent if behavior is not `PINNED`.
512
557
  // Identifies the worker deployment version to pin the workflow to, in the format
513
558
  // "<deployment_name>.<build_id>".
514
- string pinned_version = 9;
559
+ // Deprecated. Use `override.pinned.version`.
560
+ string pinned_version = 9 [deprecated = true];
561
+
562
+ message PinnedOverride {
563
+ // Defaults to PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED.
564
+ // See `PinnedOverrideBehavior` for details.
565
+ PinnedOverrideBehavior behavior = 1;
566
+ // Required.
567
+ temporal.api.deployment.v1.WorkerDeploymentVersion version = 2;
568
+ }
569
+
570
+ // Used to specify different sub-types of Pinned override that we plan to add in the future.
571
+ enum PinnedOverrideBehavior {
572
+ // Unspecified.
573
+ PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED = 0;
574
+ // Override workflow behavior to be Pinned.
575
+ PINNED_OVERRIDE_BEHAVIOR_PINNED = 1;
576
+ }
515
577
  }
516
578
 
517
579
  // When StartWorkflowExecution uses the conflict policy WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING and
@@ -526,3 +588,48 @@ message OnConflictOptions {
526
588
  // Attaches the links to the WorkflowExecutionOptionsUpdatedEvent history event.
527
589
  bool attach_links = 3;
528
590
  }
591
+
592
+ // RequestIdInfo contains details of a request ID.
593
+ message RequestIdInfo {
594
+ // The event type of the history event generated by the request.
595
+ temporal.api.enums.v1.EventType event_type = 1;
596
+ // The event id of the history event generated by the request. It's possible the event ID is not
597
+ // known (unflushed buffered event). In this case, the value will be zero or a negative value,
598
+ // representing an invalid ID.
599
+ int64 event_id = 2;
600
+ // Indicate if the request is still buffered. If so, the event ID is not known and its value
601
+ // will be an invalid event ID.
602
+ bool buffered = 3;
603
+ }
604
+
605
+ // PostResetOperation represents an operation to be performed on the new workflow execution after a workflow reset.
606
+ message PostResetOperation {
607
+ // SignalWorkflow represents sending a signal after a workflow reset.
608
+ // Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
609
+ message SignalWorkflow {
610
+ // The workflow author-defined name of the signal to send to the workflow.
611
+ string signal_name = 1;
612
+ // Serialized value(s) to provide with the signal.
613
+ temporal.api.common.v1.Payloads input = 2;
614
+ // Headers that are passed with the signal to the processing workflow.
615
+ temporal.api.common.v1.Header header = 3;
616
+ // Links to be associated with the WorkflowExecutionSignaled event.
617
+ repeated temporal.api.common.v1.Link links = 4;
618
+ }
619
+
620
+ // UpdateWorkflowOptions represents updating workflow execution options after a workflow reset.
621
+ // Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.
622
+ message UpdateWorkflowOptions {
623
+ // Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask.
624
+ temporal.api.workflow.v1.WorkflowExecutionOptions workflow_execution_options = 1;
625
+ // Controls which fields from `workflow_execution_options` will be applied.
626
+ // To unset a field, set it to null and use the update mask to indicate that it should be mutated.
627
+ google.protobuf.FieldMask update_mask = 2;
628
+ }
629
+
630
+ oneof variant {
631
+ SignalWorkflow signal_workflow = 1;
632
+ UpdateWorkflowOptions update_workflow_options = 2;
633
+ }
634
+ }
635
+