@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
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/command/v1;command";
28
28
  option java_package = "io.temporal.api.command.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Command::V1";
32
- option csharp_namespace = "Temporal.Api.Command.V1";
31
+ option ruby_package = "Temporalio::Api::Command::V1";
32
+ option csharp_namespace = "Temporalio.Api.Command.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
 
@@ -37,7 +37,6 @@ import "dependencies/gogoproto/gogo.proto";
37
37
 
38
38
  import "temporal/api/enums/v1/workflow.proto";
39
39
  import "temporal/api/enums/v1/command_type.proto";
40
- import "temporal/api/enums/v1/update.proto";
41
40
  import "temporal/api/common/v1/message.proto";
42
41
  import "temporal/api/failure/v1/message.proto";
43
42
  import "temporal/api/taskqueue/v1/message.proto";
@@ -221,27 +220,9 @@ message StartChildWorkflowExecutionCommandAttributes {
221
220
  temporal.api.common.v1.SearchAttributes search_attributes = 16;
222
221
  }
223
222
 
224
- message AcceptWorkflowUpdateCommandAttributes {
225
- // A unique identifier for an update within a given workflow context
226
- string update_id = 1;
227
- }
228
-
229
- message CompleteWorkflowUpdateCommandAttributes {
230
- // A unique identifier for an update within a given workflow context
231
- string update_id = 1;
232
-
233
- // Whether the server should attempt to bypass making this update rejection
234
- // durable in history. This field is only consulted when the result field
235
- // indicates failure. Leaving this field in its default state (i.e.
236
- // UPDATE_WORKFLOW_REJECTION_DURABILITY_PREFERENCE_UNSPECIFIED) will result
237
- // in making the rejection durable.
238
- temporal.api.enums.v1.WorkflowUpdateDurabilityPreference durability_preference = 2;
239
-
240
- // The success or failure output of the update
241
- oneof result {
242
- temporal.api.common.v1.Payloads success = 3;
243
- temporal.api.failure.v1.Failure failure = 4;
244
- }
223
+ message ProtocolMessageCommandAttributes {
224
+ // The message ID of the message to which this command is a pointer.
225
+ string message_id = 1;
245
226
  }
246
227
 
247
228
  message Command {
@@ -260,8 +241,8 @@ message Command {
260
241
  StartChildWorkflowExecutionCommandAttributes start_child_workflow_execution_command_attributes = 12;
261
242
  SignalExternalWorkflowExecutionCommandAttributes signal_external_workflow_execution_command_attributes = 13;
262
243
  UpsertWorkflowSearchAttributesCommandAttributes upsert_workflow_search_attributes_command_attributes = 14;
263
- AcceptWorkflowUpdateCommandAttributes accept_workflow_update_command_attributes = 15;
264
- CompleteWorkflowUpdateCommandAttributes complete_workflow_update_command_attributes = 16;
244
+ ProtocolMessageCommandAttributes protocol_message_command_attributes = 15;
245
+ // 16 is available for use - it was used as part of a prototype that never made it into a release
265
246
  ModifyWorkflowPropertiesCommandAttributes modify_workflow_properties_command_attributes = 17;
266
247
  }
267
248
  }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/common/v1;common";
28
28
  option java_package = "io.temporal.api.common.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Common::V1";
32
- option csharp_namespace = "Temporal.Api.Common.V1";
31
+ option ruby_package = "Temporalio::Api::Common::V1";
32
+ option csharp_namespace = "Temporalio.Api.Common.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
 
@@ -110,3 +110,14 @@ message RetryPolicy {
110
110
  // this is not a substring match, the error *type* (not message) must match exactly.
111
111
  repeated string non_retryable_error_types = 5;
112
112
  }
113
+
114
+ // Metadata relevant for metering purposes
115
+ message MeteringMetadata {
116
+ // Count of local activities which have begun an execution attempt during this workflow task,
117
+ // and whose first attempt occurred in some previous task. This is used for metering
118
+ // purposes, and does not affect workflow state.
119
+ //
120
+ // (-- api-linter: core::0141::forbidden-types=disabled
121
+ // aip.dev/not-precedent: Negative values make no sense to represent. --)
122
+ uint32 nonfirst_local_activity_execution_attempts = 13;
123
+ }
@@ -28,14 +28,15 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "BatchOperationProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum BatchOperationType {
35
35
  BATCH_OPERATION_TYPE_UNSPECIFIED = 0;
36
36
  BATCH_OPERATION_TYPE_TERMINATE = 1;
37
37
  BATCH_OPERATION_TYPE_CANCEL = 2;
38
38
  BATCH_OPERATION_TYPE_SIGNAL = 3;
39
+ BATCH_OPERATION_TYPE_DELETE = 4;
39
40
  }
40
41
 
41
42
  enum BatchOperationState {
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "CommandTypeProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  // Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering.
35
35
  enum CommandType {
@@ -47,10 +47,6 @@ enum CommandType {
47
47
  COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION = 11;
48
48
  COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION = 12;
49
49
  COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 13;
50
- // Indicates that an update has been accepted for processing workflow code
51
- COMMAND_TYPE_ACCEPT_WORKFLOW_UPDATE = 14;
52
- // Indicates that an update has completed and carries either the success or
53
- // failure outcome of said update.
54
- COMMAND_TYPE_COMPLETE_WORKFLOW_UPDATE = 15;
50
+ COMMAND_TYPE_PROTOCOL_MESSAGE = 14;
55
51
  COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES = 16;
56
52
  }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "CommonProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum EncodingType {
35
35
  ENCODING_TYPE_UNSPECIFIED = 0;
@@ -45,6 +45,7 @@ enum IndexedValueType {
45
45
  INDEXED_VALUE_TYPE_DOUBLE = 4;
46
46
  INDEXED_VALUE_TYPE_BOOL = 5;
47
47
  INDEXED_VALUE_TYPE_DATETIME = 6;
48
+ INDEXED_VALUE_TYPE_KEYWORD_LIST = 7;
48
49
  }
49
50
 
50
51
  enum Severity {
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "EventTypeProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  // Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering
35
35
  enum EventType {
@@ -151,12 +151,12 @@ enum EventType {
151
151
  EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED = 39;
152
152
  // Workflow search attributes should be updated and synchronized with the visibility store
153
153
  EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES = 40;
154
- // Workflow update request has been received
155
- EVENT_TYPE_WORKFLOW_UPDATE_REQUESTED = 41;
156
- // Workflow update request has been accepted by user workflow code
157
- EVENT_TYPE_WORKFLOW_UPDATE_ACCEPTED = 42;
158
- // Workflow update has been completed
159
- EVENT_TYPE_WORKFLOW_UPDATE_COMPLETED = 43;
154
+ // An update was accepted (i.e. validated)
155
+ EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED = 41;
156
+ // An update was rejected (i.e. failed validation)
157
+ EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED = 42;
158
+ // An update completed
159
+ EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED = 43;
160
160
  // Some property or properties of the workflow as a whole have changed by non-workflow code.
161
161
  // The distinction of external vs. command-based modification is important so the SDK can
162
162
  // maintain determinism when using the command-based approach.
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "FailedCauseProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  // Workflow tasks can fail for various reasons. Note that some of these reasons can only originate
35
35
  // from the server, and some of them can only originate from the SDK/worker.
@@ -67,6 +67,29 @@ enum WorkflowTaskFailedCause {
67
67
  // what the workflow code actually did.
68
68
  WORKFLOW_TASK_FAILED_CAUSE_NON_DETERMINISTIC_ERROR = 24;
69
69
  WORKFLOW_TASK_FAILED_CAUSE_BAD_MODIFY_WORKFLOW_PROPERTIES_ATTRIBUTES = 25;
70
+
71
+ // We send the below error codes to users when their requests would violate a size constraint
72
+ // of their workflow. We do this to ensure that the state of their workflow does not become too
73
+ // large because that can cause severe performance degradation. You can modify the thresholds for
74
+ // each of these errors within your dynamic config.
75
+ //
76
+ // Spawning a new child workflow would cause this workflow to exceed its limit of pending child
77
+ // workflows.
78
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_CHILD_WORKFLOWS_LIMIT_EXCEEDED = 26;
79
+ // Starting a new activity would cause this workflow to exceed its limit of pending activities
80
+ // that we track.
81
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_ACTIVITIES_LIMIT_EXCEEDED = 27;
82
+ // A workflow has a buffer of signals that have not yet reached their destination. We return this
83
+ // error when sending a new signal would exceed the capacity of this buffer.
84
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_SIGNALS_LIMIT_EXCEEDED = 28;
85
+ // Similarly, we have a buffer of pending requests to cancel other workflows. We return this error
86
+ // when our capacity for pending cancel requests is already reached.
87
+ WORKFLOW_TASK_FAILED_CAUSE_PENDING_REQUEST_CANCEL_LIMIT_EXCEEDED = 29;
88
+ // Workflow execution update message (update.Acceptance, update.Rejection, or update.Response)
89
+ // has wrong format, or missing required fields.
90
+ WORKFLOW_TASK_FAILED_CAUSE_BAD_UPDATE_WORKFLOW_EXECUTION_MESSAGE = 30;
91
+ // Similar to WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_COMMAND, but for updates.
92
+ WORKFLOW_TASK_FAILED_CAUSE_UNHANDLED_UPDATE = 31;
70
93
  }
71
94
 
72
95
  enum StartChildWorkflowExecutionFailedCause {
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "NamespaceProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum NamespaceState {
35
35
  NAMESPACE_STATE_UNSPECIFIED = 0;
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "QueryProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum QueryResultType {
35
35
  QUERY_RESULT_TYPE_UNSPECIFIED = 0;
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "ResetProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  // Reset reapplay(replay) options
35
35
  // * RESET_REAPPLY_TYPE_SIGNAL (default) - Signals are reapplied when workflow is reset
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "ScheduleProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
 
35
35
  // ScheduleOverlapPolicy controls what happens when a workflow would be started
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "TaskQueueProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  enum TaskQueueKind {
35
35
  TASK_QUEUE_KIND_UNSPECIFIED = 0;
@@ -28,24 +28,29 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "UpdateProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
- enum WorkflowUpdateResultAccessStyle {
35
- WORKFLOW_UPDATE_RESULT_ACCESS_STYLE_UNSPECIFIED = 0;
36
-
37
- // Indicates that the update response _must_ be included as part of the gRPC
38
- // response body
39
- WORKFLOW_UPDATE_RESULT_ACCESS_STYLE_REQUIRE_INLINE = 1;
40
- }
41
-
42
- enum WorkflowUpdateDurabilityPreference {
43
- // The workflow expresses no preference as to the durability of the
44
- // the associated update.
45
- WORKFLOW_UPDATE_DURABILITY_PREFERENCE_UNSPECIFIED = 0;
46
-
47
- // Used by a workflow to indicate that no workflow state mutation occurred
48
- // while processing the update and that it wishes that the update not be
49
- // made durable (and thus not take up space in workflow history).
50
- WORKFLOW_UPDATE_DURABILITY_PREFERENCE_BYPASS = 1;
34
+ // UpdateWorkflowExecutionLifecycleStage is specified by clients invoking
35
+ // workflow execution updates and used to indicate to the server how long the
36
+ // client wishes to wait for a return value from the RPC. If any value other
37
+ // than UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED is sent by the
38
+ // client then the RPC will complete before the update is finished and will
39
+ // return a handle to the running update so that it can later be polled for
40
+ // completion.
41
+ enum UpdateWorkflowExecutionLifecycleStage {
42
+ // An unspecified vale for this enum.
43
+ UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED = 0;
44
+ // The gRPC call will not return until the update request has been admitted
45
+ // by the server - it may be the case that due to a considerations like load
46
+ // or resource limits that an update is made to wait before the server will
47
+ // indicate that it has been received and will be processed. This value
48
+ // does not wait for any sort of acknowledgement from a worker.
49
+ UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED = 1;
50
+ // The gRPC call will not return until the update has passed validation on
51
+ // a worker.
52
+ UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED = 2;
53
+ // The gRPC call will not return until the update has executed to completion
54
+ // on a worker and has either been rejected or returned a value or an error.
55
+ UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED = 3;
51
56
  }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/enums/v1;enums";
28
28
  option java_package = "io.temporal.api.enums.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "WorkflowProto";
31
- option ruby_package = "Temporal::Api::Enums::V1";
32
- option csharp_namespace = "Temporal.Api.Enums.V1";
31
+ option ruby_package = "Temporalio::Api::Enums::V1";
32
+ option csharp_namespace = "Temporalio.Api.Enums.V1";
33
33
 
34
34
  // Defines how new runs of a workflow with a particular ID may or may not be allowed. Note that
35
35
  // it is *never* valid to have two actively running instances of the same workflow id.
@@ -31,8 +31,8 @@ option go_package = "go.temporal.io/api/errordetails/v1;errordetails";
31
31
  option java_package = "io.temporal.api.errordetails.v1";
32
32
  option java_multiple_files = true;
33
33
  option java_outer_classname = "MessageProto";
34
- option ruby_package = "Temporal::Api::ErrorDetails::V1";
35
- option csharp_namespace = "Temporal.Api.ErrorDetails.V1";
34
+ option ruby_package = "Temporalio::Api::ErrorDetails::V1";
35
+ option csharp_namespace = "Temporalio.Api.ErrorDetails.V1";
36
36
 
37
37
  import "temporal/api/common/v1/message.proto";
38
38
 
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/failure/v1;failure";
28
28
  option java_package = "io.temporal.api.failure.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Failure::V1";
32
- option csharp_namespace = "Temporal.Api.Failure.V1";
31
+ option ruby_package = "Temporalio::Api::Failure::V1";
32
+ option csharp_namespace = "Temporalio.Api.Failure.V1";
33
33
 
34
34
  import "temporal/api/common/v1/message.proto";
35
35
  import "temporal/api/enums/v1/workflow.proto";
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/filter/v1;filter";
28
28
  option java_package = "io.temporal.api.filter.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Filter::V1";
32
- option csharp_namespace = "Temporal.Api.Filter.V1";
31
+ option ruby_package = "Temporalio::Api::Filter::V1";
32
+ option csharp_namespace = "Temporalio.Api.Filter.V1";
33
33
 
34
34
  import "google/protobuf/timestamp.proto";
35
35
 
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/history/v1;history";
28
28
  option java_package = "io.temporal.api.history.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::History::V1";
32
- option csharp_namespace = "Temporal.Api.History.V1";
31
+ option ruby_package = "Temporalio::Api::History::V1";
32
+ option csharp_namespace = "Temporalio.Api.History.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
  import "google/protobuf/timestamp.proto";
@@ -44,6 +44,7 @@ import "temporal/api/failure/v1/message.proto";
44
44
  import "temporal/api/taskqueue/v1/message.proto";
45
45
  import "temporal/api/update/v1/message.proto";
46
46
  import "temporal/api/workflow/v1/message.proto";
47
+ import "temporal/api/sdk/v1/task_complete_metadata.proto";
47
48
 
48
49
  // Always the first event in workflow history
49
50
  message WorkflowExecutionStartedEventAttributes {
@@ -195,6 +196,11 @@ message WorkflowTaskCompletedEventAttributes {
195
196
  // ID of the worker who picked up this workflow task, or missing if worker
196
197
  // is not using versioning.
197
198
  temporal.api.taskqueue.v1.VersionId worker_versioning_id = 5;
199
+ // Data the SDK wishes to record for itself, but server need not interpret, and does not
200
+ // directly impact workflow state.
201
+ temporal.api.sdk.v1.WorkflowTaskCompletedMetadata sdk_metadata = 6;
202
+ // Local usage data sent during workflow task completion and recorded here for posterity
203
+ temporal.api.common.v1.MeteringMetadata metering_metadata = 13;
198
204
  }
199
205
 
200
206
  message WorkflowTaskTimedOutEventAttributes {
@@ -647,27 +653,6 @@ message ChildWorkflowExecutionTerminatedEventAttributes {
647
653
  int64 started_event_id = 5;
648
654
  }
649
655
 
650
- message WorkflowUpdateRequestedEventAttributes {
651
- temporal.api.common.v1.Header header = 1;
652
- string request_id = 2;
653
- string update_id = 3;
654
- temporal.api.update.v1.WorkflowUpdate update = 4;
655
- }
656
-
657
- message WorkflowUpdateAcceptedEventAttributes {
658
- temporal.api.common.v1.Header header = 1;
659
- string update_id = 2;
660
- }
661
-
662
- message WorkflowUpdateCompletedEventAttributes {
663
- temporal.api.common.v1.Header system_header = 1;
664
- string update_id = 3;
665
- oneof result {
666
- temporal.api.common.v1.Payloads success = 4;
667
- temporal.api.failure.v1.Failure failure = 5;
668
- }
669
- }
670
-
671
656
  message WorkflowPropertiesModifiedExternallyEventAttributes {
672
657
  // If set to a nonempty string, future workflow tasks for this workflow shall be dispatched on
673
658
  // the provided queue.
@@ -692,6 +677,44 @@ message ActivityPropertiesModifiedExternallyEventAttributes {
692
677
  temporal.api.common.v1.RetryPolicy new_retry_policy = 2;
693
678
  }
694
679
 
680
+ message WorkflowExecutionUpdateAcceptedEventAttributes {
681
+ // The instance ID of the update protocol that generated this event.
682
+ string protocol_instance_id = 1;
683
+ // The message ID of the original request message that initiated this
684
+ // update. Needed so that the worker can recreate and deliver that same
685
+ // message as part of replay.
686
+ string accepted_request_message_id = 2;
687
+ // The event ID used to sequence the original request message.
688
+ int64 accepted_request_sequencing_event_id = 3;
689
+ // The message payload of the original request message that initiated this
690
+ // update.
691
+ temporal.api.update.v1.Request accepted_request = 4;
692
+ }
693
+
694
+ message WorkflowExecutionUpdateCompletedEventAttributes {
695
+ // The metadata about this update.
696
+ temporal.api.update.v1.Meta meta = 1;
697
+ // The outcome of executing the workflow update function.
698
+ temporal.api.update.v1.Outcome outcome = 2;
699
+ }
700
+
701
+ message WorkflowExecutionUpdateRejectedEventAttributes {
702
+ // The instance ID of the update protocol that generated this event.
703
+ string protocol_instance_id = 1;
704
+ // The message ID of the original request message that initiated this
705
+ // update. Needed so that the worker can recreate and deliver that same
706
+ // message as part of replay.
707
+ string rejected_request_message_id = 2;
708
+ // The event ID used to sequence the original request message.
709
+ int64 rejected_request_sequencing_event_id = 3;
710
+ // The message payload of the original request message that initiated this
711
+ // update.
712
+ temporal.api.update.v1.Request rejected_request = 4;
713
+ // The cause of rejection.
714
+ temporal.api.failure.v1.Failure failure = 5;
715
+ }
716
+
717
+
695
718
  // History events are the method by which Temporal SDKs advance (or recreate) workflow state.
696
719
  // See the `EventType` enum for more info about what each event is for.
697
720
  message HistoryEvent {
@@ -750,9 +773,9 @@ message HistoryEvent {
750
773
  SignalExternalWorkflowExecutionFailedEventAttributes signal_external_workflow_execution_failed_event_attributes = 43;
751
774
  ExternalWorkflowExecutionSignaledEventAttributes external_workflow_execution_signaled_event_attributes = 44;
752
775
  UpsertWorkflowSearchAttributesEventAttributes upsert_workflow_search_attributes_event_attributes = 45;
753
- WorkflowUpdateRequestedEventAttributes workflow_update_requested_event_attributes = 46;
754
- WorkflowUpdateAcceptedEventAttributes workflow_update_accepted_event_attributes = 47;
755
- WorkflowUpdateCompletedEventAttributes workflow_update_completed_event_attributes = 48;
776
+ WorkflowExecutionUpdateAcceptedEventAttributes workflow_execution_update_accepted_event_attributes = 46;
777
+ WorkflowExecutionUpdateRejectedEventAttributes workflow_execution_update_rejected_event_attributes = 47;
778
+ WorkflowExecutionUpdateCompletedEventAttributes workflow_execution_update_completed_event_attributes = 48;
756
779
  WorkflowPropertiesModifiedExternallyEventAttributes workflow_properties_modified_externally_event_attributes = 49;
757
780
  ActivityPropertiesModifiedExternallyEventAttributes activity_properties_modified_externally_event_attributes = 50;
758
781
  WorkflowPropertiesModifiedEventAttributes workflow_properties_modified_event_attributes = 51;
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/namespace/v1;namespace";
28
28
  option java_package = "io.temporal.api.namespace.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Namespace::V1";
32
- option csharp_namespace = "Temporal.Api.Namespace.V1";
31
+ option ruby_package = "Temporalio::Api::Namespace::V1";
32
+ option csharp_namespace = "Temporalio.Api.Namespace.V1";
33
33
 
34
34
  import "google/protobuf/duration.proto";
35
35
  import "google/protobuf/timestamp.proto";
@@ -62,6 +62,8 @@ message NamespaceConfig {
62
62
  // If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used.
63
63
  temporal.api.enums.v1.ArchivalState visibility_archival_state = 5;
64
64
  string visibility_archival_uri = 6;
65
+ // Map from field name to alias.
66
+ map<string, string> custom_search_attribute_aliases = 7;
65
67
  }
66
68
 
67
69
  message BadBinaries {
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/operatorservice/v1;operatorservice";
28
28
  option java_package = "io.temporal.api.operatorservice.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "RequestResponseProto";
31
- option ruby_package = "Temporal::Api::OperatorService::V1";
32
- option csharp_namespace = "Temporal.Api.OperatorService.V1";
31
+ option ruby_package = "Temporalio::Api::OperatorService::V1";
32
+ option csharp_namespace = "Temporalio.Api.OperatorService.V1";
33
33
 
34
34
  import "temporal/api/enums/v1/common.proto";
35
35
 
@@ -38,6 +38,7 @@ import "temporal/api/enums/v1/common.proto";
38
38
  message AddSearchAttributesRequest {
39
39
  // Mapping between search attribute name and its IndexedValueType.
40
40
  map<string, temporal.api.enums.v1.IndexedValueType> search_attributes = 1;
41
+ string namespace = 2;
41
42
  }
42
43
 
43
44
  message AddSearchAttributesResponse {
@@ -46,12 +47,14 @@ message AddSearchAttributesResponse {
46
47
  message RemoveSearchAttributesRequest {
47
48
  // Search attribute names to delete.
48
49
  repeated string search_attributes = 1;
50
+ string namespace = 2;
49
51
  }
50
52
 
51
53
  message RemoveSearchAttributesResponse {
52
54
  }
53
55
 
54
56
  message ListSearchAttributesRequest {
57
+ string namespace = 1;
55
58
  }
56
59
 
57
60
  message ListSearchAttributesResponse {
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/operatorservice/v1;operatorservice";
28
28
  option java_package = "io.temporal.api.operatorservice.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "ServiceProto";
31
- option ruby_package = "Temporal::Api::OperatorService::V1";
32
- option csharp_namespace = "Temporal.Api.OperatorService.V1";
31
+ option ruby_package = "Temporalio::Api::OperatorService::V1";
32
+ option csharp_namespace = "Temporalio.Api.OperatorService.V1";
33
33
 
34
34
 
35
35
  import "temporal/api/operatorservice/v1/request_response.proto";
@@ -0,0 +1,57 @@
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
+ syntax = "proto3";
24
+
25
+ package temporal.api.protocol.v1;
26
+
27
+ option go_package = "go.temporal.io/api/protocol/v1;protocol";
28
+ option java_package = "io.temporal.api.protocol.v1";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "MessageProto";
31
+ option ruby_package = "Temporalio::Api::Protocol::V1";
32
+ option csharp_namespace = "Temporalt.Api.Protocol.V1";
33
+
34
+ import "google/protobuf/any.proto";
35
+
36
+ // (-- api-linter: core::0146::any=disabled
37
+ // aip.dev/not-precedent: We want runtime extensibility for the body field --)
38
+ message Message {
39
+ // An ID for this specific message.
40
+ string id = 1;
41
+
42
+ // Identifies the specific instance of a protocol to which this message
43
+ // belongs.
44
+ string protocol_instance_id = 2;
45
+
46
+ // The event ID or command ID after which this message can be delivered. The
47
+ // effects of history up to and including this event ID should be visible to
48
+ // the code that handles this message. Omit to opt out of sequencing.
49
+ oneof sequencing_id {
50
+ int64 event_id = 3;
51
+ int64 command_index = 4;
52
+ };
53
+
54
+ // The opaque data carried by this message. The protocol type can be
55
+ // extracted from the package name of the message carried inside the Any.
56
+ google.protobuf.Any body = 5;
57
+ }
@@ -28,8 +28,8 @@ option go_package = "go.temporal.io/api/query/v1;query";
28
28
  option java_package = "io.temporal.api.query.v1";
29
29
  option java_multiple_files = true;
30
30
  option java_outer_classname = "MessageProto";
31
- option ruby_package = "Temporal::Api::Query::V1";
32
- option csharp_namespace = "Temporal.Api.Query.V1";
31
+ option ruby_package = "Temporalio::Api::Query::V1";
32
+ option csharp_namespace = "Temporalio.Api.Query.V1";
33
33
 
34
34
  import "temporal/api/enums/v1/query.proto";
35
35
  import "temporal/api/enums/v1/workflow.proto";