@temporalio/core-bridge 1.11.7 → 1.11.8

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 (191) hide show
  1. package/Cargo.lock +504 -341
  2. package/package.json +3 -3
  3. package/releases/aarch64-apple-darwin/index.node +0 -0
  4. package/releases/aarch64-unknown-linux-gnu/index.node +0 -0
  5. package/releases/x86_64-apple-darwin/index.node +0 -0
  6. package/releases/x86_64-pc-windows-msvc/index.node +0 -0
  7. package/releases/x86_64-unknown-linux-gnu/index.node +0 -0
  8. package/sdk-core/.cargo/config.toml +5 -0
  9. package/sdk-core/.github/workflows/per-pr.yml +59 -5
  10. package/sdk-core/Cargo.toml +3 -2
  11. package/sdk-core/client/Cargo.toml +3 -3
  12. package/sdk-core/client/src/lib.rs +154 -161
  13. package/sdk-core/client/src/metrics.rs +15 -8
  14. package/sdk-core/client/src/proxy.rs +1 -1
  15. package/sdk-core/client/src/raw.rs +176 -33
  16. package/sdk-core/client/src/retry.rs +102 -465
  17. package/sdk-core/client/src/worker_registry/mod.rs +2 -2
  18. package/sdk-core/client/src/workflow_handle/mod.rs +19 -1
  19. package/sdk-core/core/Cargo.toml +12 -14
  20. package/sdk-core/core/benches/workflow_replay.rs +1 -1
  21. package/sdk-core/core/src/abstractions.rs +2 -2
  22. package/sdk-core/core/src/core_tests/activity_tasks.rs +99 -46
  23. package/sdk-core/core/src/core_tests/child_workflows.rs +68 -9
  24. package/sdk-core/core/src/core_tests/determinism.rs +2 -2
  25. package/sdk-core/core/src/core_tests/local_activities.rs +20 -33
  26. package/sdk-core/core/src/core_tests/mod.rs +7 -8
  27. package/sdk-core/core/src/core_tests/queries.rs +79 -79
  28. package/sdk-core/core/src/core_tests/replay_flag.rs +5 -5
  29. package/sdk-core/core/src/core_tests/updates.rs +6 -6
  30. package/sdk-core/core/src/core_tests/workers.rs +19 -22
  31. package/sdk-core/core/src/core_tests/workflow_cancels.rs +3 -3
  32. package/sdk-core/core/src/core_tests/workflow_tasks.rs +154 -106
  33. package/sdk-core/core/src/ephemeral_server/mod.rs +66 -10
  34. package/sdk-core/core/src/internal_flags.rs +103 -12
  35. package/sdk-core/core/src/lib.rs +21 -13
  36. package/sdk-core/core/src/pollers/mod.rs +200 -6
  37. package/sdk-core/core/src/pollers/poll_buffer.rs +32 -8
  38. package/sdk-core/core/src/protosext/mod.rs +7 -7
  39. package/sdk-core/core/src/protosext/protocol_messages.rs +2 -2
  40. package/sdk-core/core/src/replay/mod.rs +8 -9
  41. package/sdk-core/core/src/retry_logic.rs +8 -6
  42. package/sdk-core/core/src/telemetry/log_export.rs +4 -4
  43. package/sdk-core/core/src/telemetry/metrics.rs +111 -25
  44. package/sdk-core/core/src/telemetry/mod.rs +11 -4
  45. package/sdk-core/core/src/telemetry/otel.rs +108 -144
  46. package/sdk-core/core/src/telemetry/prometheus_server.rs +1 -4
  47. package/sdk-core/core/src/test_help/mod.rs +27 -21
  48. package/sdk-core/core/src/worker/activities/activity_heartbeat_manager.rs +7 -5
  49. package/sdk-core/core/src/worker/activities/local_activities.rs +9 -9
  50. package/sdk-core/core/src/worker/activities.rs +34 -46
  51. package/sdk-core/core/src/worker/client/mocks.rs +24 -2
  52. package/sdk-core/core/src/worker/client.rs +169 -33
  53. package/sdk-core/core/src/worker/mod.rs +132 -56
  54. package/sdk-core/core/src/worker/nexus.rs +410 -0
  55. package/sdk-core/core/src/worker/tuner/resource_based.rs +27 -5
  56. package/sdk-core/core/src/worker/tuner.rs +29 -2
  57. package/sdk-core/core/src/worker/workflow/driven_workflow.rs +8 -3
  58. package/sdk-core/core/src/worker/workflow/history_update.rs +5 -8
  59. package/sdk-core/core/src/worker/workflow/machines/activity_state_machine.rs +83 -87
  60. package/sdk-core/core/src/worker/workflow/machines/cancel_external_state_machine.rs +38 -38
  61. package/sdk-core/core/src/worker/workflow/machines/cancel_nexus_op_state_machine.rs +117 -0
  62. package/sdk-core/core/src/worker/workflow/machines/cancel_workflow_state_machine.rs +8 -18
  63. package/sdk-core/core/src/worker/workflow/machines/child_workflow_state_machine.rs +114 -108
  64. package/sdk-core/core/src/worker/workflow/machines/complete_workflow_state_machine.rs +16 -31
  65. package/sdk-core/core/src/worker/workflow/machines/continue_as_new_workflow_state_machine.rs +7 -14
  66. package/sdk-core/core/src/worker/workflow/machines/fail_workflow_state_machine.rs +8 -15
  67. package/sdk-core/core/src/worker/workflow/machines/local_activity_state_machine.rs +34 -75
  68. package/sdk-core/core/src/worker/workflow/machines/mod.rs +26 -48
  69. package/sdk-core/core/src/worker/workflow/machines/modify_workflow_properties_state_machine.rs +10 -17
  70. package/sdk-core/core/src/worker/workflow/machines/nexus_operation_state_machine.rs +543 -0
  71. package/sdk-core/core/src/worker/workflow/machines/patch_state_machine.rs +22 -31
  72. package/sdk-core/core/src/worker/workflow/machines/signal_external_state_machine.rs +53 -51
  73. package/sdk-core/core/src/worker/workflow/machines/timer_state_machine.rs +40 -45
  74. package/sdk-core/core/src/worker/workflow/machines/transition_coverage.rs +2 -2
  75. package/sdk-core/core/src/worker/workflow/machines/update_state_machine.rs +8 -10
  76. package/sdk-core/core/src/worker/workflow/machines/upsert_search_attributes_state_machine.rs +24 -30
  77. package/sdk-core/core/src/worker/workflow/machines/workflow_machines.rs +182 -116
  78. package/sdk-core/core/src/worker/workflow/machines/workflow_task_state_machine.rs +4 -8
  79. package/sdk-core/core/src/worker/workflow/managed_run.rs +75 -45
  80. package/sdk-core/core/src/worker/workflow/mod.rs +104 -55
  81. package/sdk-core/core/src/worker/workflow/run_cache.rs +23 -4
  82. package/sdk-core/core/src/worker/workflow/wft_extraction.rs +4 -4
  83. package/sdk-core/core/src/worker/workflow/wft_poller.rs +3 -3
  84. package/sdk-core/core/src/worker/workflow/workflow_stream.rs +32 -13
  85. package/sdk-core/core-api/Cargo.toml +2 -3
  86. package/sdk-core/core-api/src/errors.rs +22 -20
  87. package/sdk-core/core-api/src/lib.rs +24 -5
  88. package/sdk-core/core-api/src/telemetry/metrics.rs +27 -1
  89. package/sdk-core/core-api/src/telemetry.rs +37 -3
  90. package/sdk-core/core-api/src/worker.rs +36 -3
  91. package/sdk-core/docker/docker-compose-ci.yaml +25 -0
  92. package/sdk-core/etc/otel-collector-ci.yaml +36 -0
  93. package/sdk-core/etc/otel-collector-config.yaml +3 -3
  94. package/sdk-core/etc/prometheus.yaml +1 -1
  95. package/sdk-core/fsm/Cargo.toml +1 -1
  96. package/sdk-core/fsm/rustfsm_procmacro/Cargo.toml +1 -1
  97. package/sdk-core/fsm/rustfsm_procmacro/src/lib.rs +3 -4
  98. package/sdk-core/fsm/rustfsm_procmacro/tests/trybuild/no_handle_conversions_require_into_fail.stderr +1 -1
  99. package/sdk-core/fsm/rustfsm_trait/Cargo.toml +1 -1
  100. package/sdk-core/sdk/Cargo.toml +1 -2
  101. package/sdk-core/sdk/src/activity_context.rs +1 -1
  102. package/sdk-core/sdk/src/interceptors.rs +1 -1
  103. package/sdk-core/sdk/src/lib.rs +126 -54
  104. package/sdk-core/sdk/src/workflow_context/options.rs +184 -74
  105. package/sdk-core/sdk/src/workflow_context.rs +193 -79
  106. package/sdk-core/sdk/src/workflow_future.rs +151 -131
  107. package/sdk-core/sdk-core-protos/Cargo.toml +3 -4
  108. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/VERSION +1 -1
  109. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/account/v1/message.proto +46 -0
  110. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/request_response.proto +254 -5
  111. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto +108 -2
  112. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/identity/v1/message.proto +94 -15
  113. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/namespace/v1/message.proto +102 -4
  114. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/nexus/v1/message.proto +84 -0
  115. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/operation/v1/message.proto +25 -10
  116. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/region/v1/message.proto +14 -1
  117. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/resource/v1/message.proto +25 -0
  118. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/sink/v1/message.proto +41 -0
  119. package/sdk-core/sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/usage/v1/message.proto +59 -0
  120. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/PULL_REQUEST_TEMPLATE.md +2 -0
  121. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/create-release.yml +135 -0
  122. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/push-to-buf.yml +20 -0
  123. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/trigger-api-go-delete-release.yml +13 -0
  124. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/trigger-api-go-publish-release.yml +13 -0
  125. package/sdk-core/sdk-core-protos/protos/api_upstream/.github/workflows/trigger-api-go-update.yml +13 -21
  126. package/sdk-core/sdk-core-protos/protos/api_upstream/Makefile +2 -2
  127. package/sdk-core/sdk-core-protos/protos/api_upstream/buf.yaml +1 -0
  128. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv2.json +3386 -1047
  129. package/sdk-core/sdk-core-protos/protos/api_upstream/openapi/openapiv3.yaml +3529 -1144
  130. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/batch/v1/message.proto +39 -1
  131. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/command/v1/message.proto +6 -0
  132. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/common/v1/message.proto +39 -1
  133. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/deployment/v1/message.proto +252 -0
  134. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/batch_operation.proto +1 -0
  135. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/common.proto +6 -0
  136. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/deployment.proto +96 -0
  137. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/event_type.proto +2 -0
  138. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/failed_cause.proto +2 -0
  139. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/nexus.proto +42 -0
  140. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/reset.proto +2 -0
  141. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/enums/v1/workflow.proto +43 -2
  142. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/errordetails/v1/message.proto +13 -1
  143. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/failure/v1/message.proto +14 -0
  144. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/history/v1/message.proto +70 -12
  145. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/nexus/v1/message.proto +12 -0
  146. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/query/v1/message.proto +9 -2
  147. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/taskqueue/v1/message.proto +46 -2
  148. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflow/v1/message.proto +206 -0
  149. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/request_response.proto +482 -97
  150. package/sdk-core/sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto +230 -43
  151. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/core_interface.proto +6 -0
  152. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/nexus/nexus.proto +71 -0
  153. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/workflow_activation/workflow_activation.proto +46 -2
  154. package/sdk-core/sdk-core-protos/protos/local/temporal/sdk/core/workflow_commands/workflow_commands.proto +55 -9
  155. package/sdk-core/sdk-core-protos/src/history_builder.rs +5 -5
  156. package/sdk-core/sdk-core-protos/src/history_info.rs +5 -6
  157. package/sdk-core/sdk-core-protos/src/lib.rs +414 -34
  158. package/sdk-core/sdk-core-protos/src/task_token.rs +1 -1
  159. package/sdk-core/test-utils/Cargo.toml +3 -11
  160. package/sdk-core/test-utils/src/canned_histories.rs +1 -1
  161. package/sdk-core/test-utils/src/lib.rs +159 -85
  162. package/sdk-core/tests/fuzzy_workflow.rs +3 -3
  163. package/sdk-core/tests/heavy_tests.rs +3 -3
  164. package/sdk-core/tests/integ_tests/client_tests.rs +171 -20
  165. package/sdk-core/tests/integ_tests/ephemeral_server_tests.rs +45 -39
  166. package/sdk-core/tests/integ_tests/heartbeat_tests.rs +7 -6
  167. package/sdk-core/tests/integ_tests/metrics_tests.rs +492 -35
  168. package/sdk-core/tests/integ_tests/polling_tests.rs +7 -5
  169. package/sdk-core/tests/integ_tests/queries_tests.rs +14 -17
  170. package/sdk-core/tests/integ_tests/update_tests.rs +47 -44
  171. package/sdk-core/tests/integ_tests/visibility_tests.rs +4 -3
  172. package/sdk-core/tests/integ_tests/worker_tests.rs +5 -5
  173. package/sdk-core/tests/integ_tests/workflow_tests/activities.rs +15 -13
  174. package/sdk-core/tests/integ_tests/workflow_tests/cancel_external.rs +28 -14
  175. package/sdk-core/tests/integ_tests/workflow_tests/cancel_wf.rs +7 -1
  176. package/sdk-core/tests/integ_tests/workflow_tests/child_workflows.rs +57 -4
  177. package/sdk-core/tests/integ_tests/workflow_tests/eager.rs +1 -1
  178. package/sdk-core/tests/integ_tests/workflow_tests/local_activities.rs +24 -18
  179. package/sdk-core/tests/integ_tests/workflow_tests/nexus.rs +506 -0
  180. package/sdk-core/tests/integ_tests/workflow_tests/patches.rs +1 -1
  181. package/sdk-core/tests/integ_tests/workflow_tests/priority.rs +104 -0
  182. package/sdk-core/tests/integ_tests/workflow_tests/replay.rs +34 -31
  183. package/sdk-core/tests/integ_tests/workflow_tests/resets.rs +1 -1
  184. package/sdk-core/tests/integ_tests/workflow_tests/timers.rs +10 -7
  185. package/sdk-core/tests/integ_tests/workflow_tests.rs +152 -116
  186. package/sdk-core/tests/main.rs +36 -6
  187. package/sdk-core/tests/runner.rs +30 -9
  188. package/src/conversions/slot_supplier_bridge.rs +4 -0
  189. package/src/conversions.rs +1 -0
  190. package/src/worker.rs +5 -7
  191. package/sdk-core/core/src/worker/activities/activity_task_poller_stream.rs +0 -78
@@ -1,5 +1,5 @@
1
- use crate::{AttachMetricLabels, LONG_POLL_METHOD_NAMES};
2
- use futures_util::{future::BoxFuture, FutureExt};
1
+ use crate::{AttachMetricLabels, CallType};
2
+ use futures_util::{FutureExt, future::BoxFuture};
3
3
  use std::{
4
4
  sync::Arc,
5
5
  task::{Context, Poll},
@@ -9,9 +9,14 @@ use temporal_sdk_core_api::telemetry::metrics::{
9
9
  CoreMeter, Counter, HistogramDuration, MetricAttributes, MetricKeyValue, MetricParameters,
10
10
  TemporalMeter,
11
11
  };
12
- use tonic::{body::BoxBody, transport::Channel, Code};
12
+ use tonic::{Code, body::BoxBody, transport::Channel};
13
13
  use tower::Service;
14
14
 
15
+ /// The string name (which may be prefixed) for this metric
16
+ pub static REQUEST_LATENCY_HISTOGRAM_NAME: &str = "request_latency";
17
+ /// The string name (which may be prefixed) for this metric
18
+ pub static LONG_REQUEST_LATENCY_HISTOGRAM_NAME: &str = "long_request_latency";
19
+
15
20
  /// Used to track context associated with metrics, and record/update them
16
21
  // Possible improvement: make generic over some type tag so that methods are only exposed if the
17
22
  // appropriate k/vs have already been set.
@@ -58,12 +63,12 @@ impl MetricsContext {
58
63
  unit: "".into(),
59
64
  }),
60
65
  svc_request_latency: meter.histogram_duration(MetricParameters {
61
- name: "request_latency".into(),
66
+ name: REQUEST_LATENCY_HISTOGRAM_NAME.into(),
62
67
  unit: "duration".into(),
63
68
  description: "Histogram of client request latencies".into(),
64
69
  }),
65
70
  long_svc_request_latency: meter.histogram_duration(MetricParameters {
66
- name: "long_request_latency".into(),
71
+ name: LONG_REQUEST_LATENCY_HISTOGRAM_NAME.into(),
67
72
  unit: "duration".into(),
68
73
  description: "Histogram of client long-poll request latencies".into(),
69
74
  }),
@@ -190,6 +195,11 @@ impl Service<http::Request<BoxBody>> for GrpcMetricSvc {
190
195
  if let Some(other_labels) = req.extensions_mut().remove::<AttachMetricLabels>() {
191
196
  m.with_new_attrs(other_labels.labels)
192
197
  }
198
+ if let Some(ct) = req.extensions().get::<CallType>() {
199
+ if ct.is_long() {
200
+ m.set_is_long_poll();
201
+ }
202
+ }
193
203
  m
194
204
  })
195
205
  .and_then(|mut metrics| {
@@ -197,9 +207,6 @@ impl Service<http::Request<BoxBody>> for GrpcMetricSvc {
197
207
  req.uri().to_string().rsplit_once('/').map(|split_tup| {
198
208
  let method_name = split_tup.1;
199
209
  metrics.with_new_attrs([svc_operation(method_name.to_string())]);
200
- if LONG_POLL_METHOD_NAMES.contains(&method_name) {
201
- metrics.set_is_long_poll();
202
- }
203
210
  metrics.svc_request();
204
211
  metrics
205
212
  })
@@ -12,7 +12,7 @@ use std::{
12
12
  };
13
13
  use tokio::net::TcpStream;
14
14
  use tonic::transport::{Channel, Endpoint};
15
- use tower::{service_fn, Service};
15
+ use tower::{Service, service_fn};
16
16
 
17
17
  /// Options for HTTP CONNECT proxy.
18
18
  #[derive(Clone, Debug)]
@@ -3,13 +3,13 @@
3
3
  //! happen.
4
4
 
5
5
  use crate::{
6
+ Client, ConfiguredClient, InterceptedMetricsSvc, LONG_POLL_TIMEOUT, RequestExt, RetryClient,
7
+ TEMPORAL_NAMESPACE_HEADER_KEY, TemporalServiceClient,
6
8
  metrics::{namespace_kv, task_queue_kv},
7
9
  raw::sealed::RawClientLike,
8
10
  worker_registry::{Slot, SlotManager},
9
- Client, ConfiguredClient, InterceptedMetricsSvc, RequestExt, RetryClient,
10
- TemporalServiceClient, LONG_POLL_TIMEOUT, TEMPORAL_NAMESPACE_HEADER_KEY,
11
11
  };
12
- use futures_util::{future::BoxFuture, FutureExt, TryFutureExt};
12
+ use futures_util::{FutureExt, TryFutureExt, future::BoxFuture};
13
13
  use std::sync::Arc;
14
14
  use temporal_sdk_core_api::telemetry::metrics::MetricKeyValue;
15
15
  use temporal_sdk_core_protos::{
@@ -23,10 +23,10 @@ use temporal_sdk_core_protos::{
23
23
  },
24
24
  };
25
25
  use tonic::{
26
+ Request, Response, Status,
26
27
  body::BoxBody,
27
28
  client::GrpcService,
28
29
  metadata::{AsciiMetadataValue, KeyAndValueRef},
29
- Request, Response, Status,
30
30
  };
31
31
 
32
32
  pub(super) mod sealed {
@@ -142,7 +142,7 @@ where
142
142
  &mut self,
143
143
  call_name: &'static str,
144
144
  mut callfn: F,
145
- req: Request<Req>,
145
+ mut req: Request<Req>,
146
146
  ) -> Result<Response<Resp>, Status>
147
147
  where
148
148
  Req: Clone + Unpin + Send + Sync + 'static,
@@ -150,6 +150,10 @@ where
150
150
  F: Send + Sync + Unpin + 'static,
151
151
  {
152
152
  let info = self.get_call_info(call_name, Some(&req));
153
+ req.extensions_mut().insert(info.call_type);
154
+ if info.call_type.is_long() {
155
+ req.set_default_timeout(LONG_POLL_TIMEOUT);
156
+ }
153
157
  let fact = || {
154
158
  let req_clone = req_cloner(&req);
155
159
  callfn(self, req_clone)
@@ -612,9 +616,6 @@ proxier! {
612
616
  if r.get_ref().wait_new_event {
613
617
  r.extensions_mut().insert(IsUserLongPoll);
614
618
  }
615
- if r.get_ref().wait_new_event {
616
- r.set_default_timeout(LONG_POLL_TIMEOUT);
617
- }
618
619
  }
619
620
  );
620
621
  (
@@ -634,7 +635,6 @@ proxier! {
634
635
  let mut labels = namespaced_request!(r);
635
636
  labels.task_q(r.get_ref().task_queue.clone());
636
637
  r.extensions_mut().insert(labels);
637
- r.set_default_timeout(LONG_POLL_TIMEOUT);
638
638
  }
639
639
  );
640
640
  (
@@ -663,7 +663,6 @@ proxier! {
663
663
  let mut labels = namespaced_request!(r);
664
664
  labels.task_q(r.get_ref().task_queue.clone());
665
665
  r.extensions_mut().insert(labels);
666
- r.set_default_timeout(LONG_POLL_TIMEOUT);
667
666
  }
668
667
  );
669
668
  (
@@ -1017,8 +1016,9 @@ proxier! {
1017
1016
  UpdateWorkflowExecutionResponse,
1018
1017
  |r| {
1019
1018
  let labels = namespaced_request!(r);
1020
- r.extensions_mut().insert(labels);
1021
- r.set_default_timeout(LONG_POLL_TIMEOUT);
1019
+ let exts = r.extensions_mut();
1020
+ exts.insert(labels);
1021
+ exts.insert(IsUserLongPoll);
1022
1022
  }
1023
1023
  );
1024
1024
  (
@@ -1028,7 +1028,6 @@ proxier! {
1028
1028
  |r| {
1029
1029
  let labels = namespaced_request!(r);
1030
1030
  r.extensions_mut().insert(labels);
1031
- r.set_default_timeout(LONG_POLL_TIMEOUT);
1032
1031
  }
1033
1032
  );
1034
1033
  (
@@ -1058,6 +1057,15 @@ proxier! {
1058
1057
  r.extensions_mut().insert(labels);
1059
1058
  }
1060
1059
  );
1060
+ (
1061
+ describe_deployment,
1062
+ DescribeDeploymentRequest,
1063
+ DescribeDeploymentResponse,
1064
+ |r| {
1065
+ let labels = namespaced_request!(r);
1066
+ r.extensions_mut().insert(labels);
1067
+ }
1068
+ );
1061
1069
  (
1062
1070
  list_batch_operations,
1063
1071
  ListBatchOperationsRequest,
@@ -1067,6 +1075,15 @@ proxier! {
1067
1075
  r.extensions_mut().insert(labels);
1068
1076
  }
1069
1077
  );
1078
+ (
1079
+ list_deployments,
1080
+ ListDeploymentsRequest,
1081
+ ListDeploymentsResponse,
1082
+ |r| {
1083
+ let labels = namespaced_request!(r);
1084
+ r.extensions_mut().insert(labels);
1085
+ }
1086
+ );
1070
1087
  (
1071
1088
  execute_multi_operation,
1072
1089
  ExecuteMultiOperationRequest,
@@ -1076,6 +1093,24 @@ proxier! {
1076
1093
  r.extensions_mut().insert(labels);
1077
1094
  }
1078
1095
  );
1096
+ (
1097
+ get_current_deployment,
1098
+ GetCurrentDeploymentRequest,
1099
+ GetCurrentDeploymentResponse,
1100
+ |r| {
1101
+ let labels = namespaced_request!(r);
1102
+ r.extensions_mut().insert(labels);
1103
+ }
1104
+ );
1105
+ (
1106
+ get_deployment_reachability,
1107
+ GetDeploymentReachabilityRequest,
1108
+ GetDeploymentReachabilityResponse,
1109
+ |r| {
1110
+ let labels = namespaced_request!(r);
1111
+ r.extensions_mut().insert(labels);
1112
+ }
1113
+ );
1079
1114
  (
1080
1115
  get_worker_versioning_rules,
1081
1116
  GetWorkerVersioningRulesRequest,
@@ -1124,6 +1159,15 @@ proxier! {
1124
1159
  r.extensions_mut().insert(labels);
1125
1160
  }
1126
1161
  );
1162
+ (
1163
+ set_current_deployment,
1164
+ SetCurrentDeploymentRequest,
1165
+ SetCurrentDeploymentResponse,
1166
+ |r| {
1167
+ let labels = namespaced_request!(r);
1168
+ r.extensions_mut().insert(labels);
1169
+ }
1170
+ );
1127
1171
  (
1128
1172
  shutdown_worker,
1129
1173
  ShutdownWorkerRequest,
@@ -1134,36 +1178,117 @@ proxier! {
1134
1178
  }
1135
1179
  );
1136
1180
  (
1137
- update_activity_options_by_id,
1138
- UpdateActivityOptionsByIdRequest,
1139
- UpdateActivityOptionsByIdResponse,
1181
+ update_activity_options,
1182
+ UpdateActivityOptionsRequest,
1183
+ UpdateActivityOptionsResponse,
1184
+ |r| {
1185
+ let labels = namespaced_request!(r);
1186
+ r.extensions_mut().insert(labels);
1187
+ }
1188
+ );
1189
+ (
1190
+ pause_activity,
1191
+ PauseActivityRequest,
1192
+ PauseActivityResponse,
1193
+ |r| {
1194
+ let labels = namespaced_request!(r);
1195
+ r.extensions_mut().insert(labels);
1196
+ }
1197
+ );
1198
+ (
1199
+ unpause_activity,
1200
+ UnpauseActivityRequest,
1201
+ UnpauseActivityResponse,
1202
+ |r| {
1203
+ let labels = namespaced_request!(r);
1204
+ r.extensions_mut().insert(labels);
1205
+ }
1206
+ );
1207
+ (
1208
+ update_workflow_execution_options,
1209
+ UpdateWorkflowExecutionOptionsRequest,
1210
+ UpdateWorkflowExecutionOptionsResponse,
1211
+ |r| {
1212
+ let labels = namespaced_request!(r);
1213
+ r.extensions_mut().insert(labels);
1214
+ }
1215
+ );
1216
+ (
1217
+ reset_activity,
1218
+ ResetActivityRequest,
1219
+ ResetActivityResponse,
1220
+ |r| {
1221
+ let labels = namespaced_request!(r);
1222
+ r.extensions_mut().insert(labels);
1223
+ }
1224
+ );
1225
+ (
1226
+ delete_worker_deployment,
1227
+ DeleteWorkerDeploymentRequest,
1228
+ DeleteWorkerDeploymentResponse,
1140
1229
  |r| {
1141
1230
  let labels = namespaced_request!(r);
1142
1231
  r.extensions_mut().insert(labels);
1143
1232
  }
1144
1233
  );
1145
1234
  (
1146
- pause_activity_by_id,
1147
- PauseActivityByIdRequest,
1148
- PauseActivityByIdResponse,
1235
+ delete_worker_deployment_version,
1236
+ DeleteWorkerDeploymentVersionRequest,
1237
+ DeleteWorkerDeploymentVersionResponse,
1149
1238
  |r| {
1150
1239
  let labels = namespaced_request!(r);
1151
1240
  r.extensions_mut().insert(labels);
1152
1241
  }
1153
1242
  );
1154
1243
  (
1155
- unpause_activity_by_id,
1156
- UnpauseActivityByIdRequest,
1157
- UnpauseActivityByIdResponse,
1244
+ describe_worker_deployment,
1245
+ DescribeWorkerDeploymentRequest,
1246
+ DescribeWorkerDeploymentResponse,
1158
1247
  |r| {
1159
1248
  let labels = namespaced_request!(r);
1160
1249
  r.extensions_mut().insert(labels);
1161
1250
  }
1162
1251
  );
1163
1252
  (
1164
- reset_activity_by_id,
1165
- ResetActivityByIdRequest,
1166
- ResetActivityByIdResponse,
1253
+ describe_worker_deployment_version,
1254
+ DescribeWorkerDeploymentVersionRequest,
1255
+ DescribeWorkerDeploymentVersionResponse,
1256
+ |r| {
1257
+ let labels = namespaced_request!(r);
1258
+ r.extensions_mut().insert(labels);
1259
+ }
1260
+ );
1261
+ (
1262
+ list_worker_deployments,
1263
+ ListWorkerDeploymentsRequest,
1264
+ ListWorkerDeploymentsResponse,
1265
+ |r| {
1266
+ let labels = namespaced_request!(r);
1267
+ r.extensions_mut().insert(labels);
1268
+ }
1269
+ );
1270
+ (
1271
+ set_worker_deployment_current_version,
1272
+ SetWorkerDeploymentCurrentVersionRequest,
1273
+ SetWorkerDeploymentCurrentVersionResponse,
1274
+ |r| {
1275
+ let labels = namespaced_request!(r);
1276
+ r.extensions_mut().insert(labels);
1277
+ }
1278
+ );
1279
+ (
1280
+ set_worker_deployment_ramping_version,
1281
+ SetWorkerDeploymentRampingVersionRequest,
1282
+ SetWorkerDeploymentRampingVersionResponse,
1283
+ |r| {
1284
+ let labels = namespaced_request!(r);
1285
+ r.extensions_mut().insert(labels);
1286
+ }
1287
+ );
1288
+ (
1289
+ update_worker_deployment_version_metadata,
1290
+ UpdateWorkerDeploymentVersionMetadataRequest,
1291
+ UpdateWorkerDeploymentVersionMetadataResponse,
1167
1292
  |r| {
1168
1293
  let labels = namespaced_request!(r);
1169
1294
  r.extensions_mut().insert(labels);
@@ -1231,6 +1356,11 @@ proxier! {
1231
1356
  (create_api_key, cloudreq::CreateApiKeyRequest, cloudreq::CreateApiKeyResponse);
1232
1357
  (update_api_key, cloudreq::UpdateApiKeyRequest, cloudreq::UpdateApiKeyResponse);
1233
1358
  (delete_api_key, cloudreq::DeleteApiKeyRequest, cloudreq::DeleteApiKeyResponse);
1359
+ (get_nexus_endpoints, cloudreq::GetNexusEndpointsRequest, cloudreq::GetNexusEndpointsResponse);
1360
+ (get_nexus_endpoint, cloudreq::GetNexusEndpointRequest, cloudreq::GetNexusEndpointResponse);
1361
+ (create_nexus_endpoint, cloudreq::CreateNexusEndpointRequest, cloudreq::CreateNexusEndpointResponse);
1362
+ (update_nexus_endpoint, cloudreq::UpdateNexusEndpointRequest, cloudreq::UpdateNexusEndpointResponse);
1363
+ (delete_nexus_endpoint, cloudreq::DeleteNexusEndpointRequest, cloudreq::DeleteNexusEndpointResponse);
1234
1364
  (get_user_groups, cloudreq::GetUserGroupsRequest, cloudreq::GetUserGroupsResponse);
1235
1365
  (get_user_group, cloudreq::GetUserGroupRequest, cloudreq::GetUserGroupResponse);
1236
1366
  (create_user_group, cloudreq::CreateUserGroupRequest, cloudreq::CreateUserGroupResponse);
@@ -1242,6 +1372,15 @@ proxier! {
1242
1372
  (get_service_accounts, cloudreq::GetServiceAccountsRequest, cloudreq::GetServiceAccountsResponse);
1243
1373
  (update_service_account, cloudreq::UpdateServiceAccountRequest, cloudreq::UpdateServiceAccountResponse);
1244
1374
  (delete_service_account, cloudreq::DeleteServiceAccountRequest, cloudreq::DeleteServiceAccountResponse);
1375
+ (get_usage, cloudreq::GetUsageRequest, cloudreq::GetUsageResponse);
1376
+ (get_account, cloudreq::GetAccountRequest, cloudreq::GetAccountResponse);
1377
+ (update_account, cloudreq::UpdateAccountRequest, cloudreq::UpdateAccountResponse);
1378
+ (create_namespace_export_sink, cloudreq::CreateNamespaceExportSinkRequest, cloudreq::CreateNamespaceExportSinkResponse);
1379
+ (get_namespace_export_sink, cloudreq::GetNamespaceExportSinkRequest, cloudreq::GetNamespaceExportSinkResponse);
1380
+ (get_namespace_export_sinks, cloudreq::GetNamespaceExportSinksRequest, cloudreq::GetNamespaceExportSinksResponse);
1381
+ (update_namespace_export_sink, cloudreq::UpdateNamespaceExportSinkRequest, cloudreq::UpdateNamespaceExportSinkResponse);
1382
+ (delete_namespace_export_sink, cloudreq::DeleteNamespaceExportSinkRequest, cloudreq::DeleteNamespaceExportSinkResponse);
1383
+ (validate_namespace_export_sink, cloudreq::ValidateNamespaceExportSinkRequest, cloudreq::ValidateNamespaceExportSinkResponse);
1245
1384
  }
1246
1385
 
1247
1386
  proxier! {
@@ -1344,29 +1483,33 @@ mod tests {
1344
1483
  #[test]
1345
1484
  fn verify_all_workflow_service_methods_implemented() {
1346
1485
  // This is less work than trying to hook into the codegen process
1347
- let proto_def =
1348
- include_str!("../../sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto");
1486
+ let proto_def = include_str!(
1487
+ "../../sdk-core-protos/protos/api_upstream/temporal/api/workflowservice/v1/service.proto"
1488
+ );
1349
1489
  verify_methods(proto_def, ALL_IMPLEMENTED_WORKFLOW_SERVICE_RPCS);
1350
1490
  }
1351
1491
 
1352
1492
  #[test]
1353
1493
  fn verify_all_operator_service_methods_implemented() {
1354
- let proto_def =
1355
- include_str!("../../sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/service.proto");
1494
+ let proto_def = include_str!(
1495
+ "../../sdk-core-protos/protos/api_upstream/temporal/api/operatorservice/v1/service.proto"
1496
+ );
1356
1497
  verify_methods(proto_def, ALL_IMPLEMENTED_OPERATOR_SERVICE_RPCS);
1357
1498
  }
1358
1499
 
1359
1500
  #[test]
1360
1501
  fn verify_all_cloud_service_methods_implemented() {
1361
- let proto_def =
1362
- include_str!("../../sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto");
1502
+ let proto_def = include_str!(
1503
+ "../../sdk-core-protos/protos/api_cloud_upstream/temporal/api/cloud/cloudservice/v1/service.proto"
1504
+ );
1363
1505
  verify_methods(proto_def, ALL_IMPLEMENTED_CLOUD_SERVICE_RPCS);
1364
1506
  }
1365
1507
 
1366
1508
  #[test]
1367
1509
  fn verify_all_test_service_methods_implemented() {
1368
- let proto_def =
1369
- include_str!("../../sdk-core-protos/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto");
1510
+ let proto_def = include_str!(
1511
+ "../../sdk-core-protos/protos/testsrv_upstream/temporal/api/testservice/v1/service.proto"
1512
+ );
1370
1513
  verify_methods(proto_def, ALL_IMPLEMENTED_TEST_SERVICE_RPCS);
1371
1514
  }
1372
1515