@temporalio/client 1.8.5 → 1.9.0-rc.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.
@@ -295,6 +295,97 @@ class WorkflowClient extends base_client_1.BaseClient {
295
295
  // We ignore anything but the first result
296
296
  return await (0, internal_non_workflow_1.decodeFromPayloadsAtIndex)(this.dataConverter, 0, response.queryResult?.payloads);
297
297
  }
298
+ /**
299
+ * Start the Update.
300
+ *
301
+ * Used as the final function of the interceptor chain during startUpdate and executeUpdate.
302
+ */
303
+ async _startUpdateHandler(waitForStage, input) {
304
+ const updateId = input.options?.updateId ?? (0, uuid_1.v4)();
305
+ const req = {
306
+ namespace: this.options.namespace,
307
+ workflowExecution: input.workflowExecution,
308
+ firstExecutionRunId: input.firstExecutionRunId,
309
+ waitPolicy: { lifecycleStage: waitForStage },
310
+ request: {
311
+ meta: {
312
+ updateId,
313
+ identity: this.options.identity,
314
+ },
315
+ input: {
316
+ header: { fields: input.headers },
317
+ name: input.updateName,
318
+ args: { payloads: await (0, internal_non_workflow_1.encodeToPayloads)(this.dataConverter, ...input.args) },
319
+ },
320
+ },
321
+ };
322
+ let response;
323
+ try {
324
+ response = await this.workflowService.updateWorkflowExecution(req);
325
+ }
326
+ catch (err) {
327
+ this.rethrowGrpcError(err, 'Workflow Update failed', input.workflowExecution);
328
+ }
329
+ return {
330
+ updateId,
331
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
332
+ workflowRunId: response.updateRef.workflowExecution.runId,
333
+ outcome: response.outcome ?? undefined,
334
+ };
335
+ }
336
+ createWorkflowUpdateHandle(updateId, workflowId, options, outcome) {
337
+ const workflowRunId = options?.workflowRunId;
338
+ return {
339
+ updateId,
340
+ workflowId,
341
+ workflowRunId,
342
+ result: async () => {
343
+ const completedOutcome = outcome ?? (await this._pollForUpdateOutcome(updateId, { workflowId, runId: workflowRunId }));
344
+ if (completedOutcome.failure) {
345
+ throw new errors_1.WorkflowUpdateFailedError('Workflow Update failed', await (0, internal_non_workflow_1.decodeOptionalFailureToOptionalError)(this.dataConverter, completedOutcome.failure));
346
+ }
347
+ else {
348
+ return await (0, internal_non_workflow_1.decodeFromPayloadsAtIndex)(this.dataConverter, 0, completedOutcome.success?.payloads);
349
+ }
350
+ },
351
+ };
352
+ }
353
+ /**
354
+ * Poll Update until a response with an outcome is received; return that outcome.
355
+ * This is used directly; no interceptor is available.
356
+ */
357
+ async _pollForUpdateOutcome(updateId, workflowExecution) {
358
+ const req = {
359
+ namespace: this.options.namespace,
360
+ updateRef: { workflowExecution, updateId },
361
+ identity: this.options.identity,
362
+ waitPolicy: {
363
+ lifecycleStage: proto_1.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage
364
+ .UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED,
365
+ },
366
+ };
367
+ // TODO: Users should be able to use client.withDeadline(timestamp) with a
368
+ // Date (as opposed to a duration) to control the total amount of time
369
+ // allowed for polling. However, this requires a server change such that the
370
+ // server swallows the gRPC timeout and instead responds with a well-formed
371
+ // PollWorkflowExecutionUpdateResponse, indicating that the requested
372
+ // lifecycle stage has not yet been reached at the time of the deadline
373
+ // expiry. See https://github.com/temporalio/temporal/issues/4742
374
+ // TODO: When temporal#4742 is released, stop catching DEADLINE_EXCEEDED.
375
+ for (;;) {
376
+ try {
377
+ const response = await this.workflowService.pollWorkflowExecutionUpdate(req);
378
+ if (response.outcome) {
379
+ return response.outcome;
380
+ }
381
+ }
382
+ catch (err) {
383
+ if (!((0, errors_1.isGrpcServiceError)(err) && err.code === grpc_js_1.status.DEADLINE_EXCEEDED)) {
384
+ throw err;
385
+ }
386
+ }
387
+ }
388
+ }
298
389
  /**
299
390
  * Uses given input to make a signalWorkflowExecution call to the service
300
391
  *
@@ -343,6 +434,7 @@ class WorkflowClient extends base_client_1.BaseClient {
343
434
  workflowExecutionTimeout: options.workflowExecutionTimeout,
344
435
  workflowRunTimeout: options.workflowRunTimeout,
345
436
  workflowTaskTimeout: options.workflowTaskTimeout,
437
+ workflowStartDelay: options.startDelay,
346
438
  retryPolicy: options.retry ? (0, common_1.compileRetryPolicy)(options.retry) : undefined,
347
439
  memo: options.memo ? { fields: await (0, internal_non_workflow_1.encodeMapToPayloads)(this.dataConverter, options.memo) } : undefined,
348
440
  searchAttributes: options.searchAttributes
@@ -386,6 +478,7 @@ class WorkflowClient extends base_client_1.BaseClient {
386
478
  workflowExecutionTimeout: opts.workflowExecutionTimeout,
387
479
  workflowRunTimeout: opts.workflowRunTimeout,
388
480
  workflowTaskTimeout: opts.workflowTaskTimeout,
481
+ workflowStartDelay: opts.startDelay,
389
482
  retryPolicy: opts.retry ? (0, common_1.compileRetryPolicy)(opts.retry) : undefined,
390
483
  memo: opts.memo ? { fields: await (0, internal_non_workflow_1.encodeMapToPayloads)(this.dataConverter, opts.memo) } : undefined,
391
484
  searchAttributes: opts.searchAttributes
@@ -467,6 +560,23 @@ class WorkflowClient extends base_client_1.BaseClient {
467
560
  * Create a new workflow handle for new or existing Workflow execution
468
561
  */
469
562
  _createWorkflowHandle({ workflowId, runId, firstExecutionRunId, interceptors, runIdForResult, ...resultOptions }) {
563
+ // TODO (dan): Convert to class with this as a protected method
564
+ const _startUpdate = async (def, waitForStage, options) => {
565
+ const next = this._startUpdateHandler.bind(this, waitForStage);
566
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'startUpdate', next);
567
+ const { args, ...opts } = options ?? {};
568
+ const input = {
569
+ workflowExecution: { workflowId, runId },
570
+ firstExecutionRunId,
571
+ updateName: typeof def === 'string' ? def : def.name,
572
+ args: args ?? [],
573
+ waitForStage,
574
+ headers: {},
575
+ options: opts,
576
+ };
577
+ const output = await fn(input);
578
+ return this.createWorkflowUpdateHandle(output.updateId, input.workflowExecution.workflowId, { workflowRunId: output.workflowRunId }, output.outcome);
579
+ };
470
580
  return {
471
581
  client: this,
472
582
  workflowId,
@@ -475,7 +585,7 @@ class WorkflowClient extends base_client_1.BaseClient {
475
585
  },
476
586
  async terminate(reason) {
477
587
  const next = this.client._terminateWorkflowHandler.bind(this.client);
478
- const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'terminate', next) : next;
588
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'terminate', next);
479
589
  return await fn({
480
590
  workflowExecution: { workflowId, runId },
481
591
  reason,
@@ -484,7 +594,7 @@ class WorkflowClient extends base_client_1.BaseClient {
484
594
  },
485
595
  async cancel() {
486
596
  const next = this.client._cancelWorkflowHandler.bind(this.client);
487
- const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'cancel', next) : next;
597
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'cancel', next);
488
598
  return await fn({
489
599
  workflowExecution: { workflowId, runId },
490
600
  firstExecutionRunId,
@@ -492,7 +602,7 @@ class WorkflowClient extends base_client_1.BaseClient {
492
602
  },
493
603
  async describe() {
494
604
  const next = this.client._describeWorkflowHandler.bind(this.client);
495
- const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'describe', next) : next;
605
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'describe', next);
496
606
  const raw = await fn({
497
607
  workflowExecution: { workflowId, runId },
498
608
  });
@@ -518,9 +628,21 @@ class WorkflowClient extends base_client_1.BaseClient {
518
628
  }
519
629
  return proto_1.temporal.api.history.v1.History.create({ events });
520
630
  },
631
+ async startUpdate(def, options) {
632
+ return await _startUpdate(def, proto_1.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage
633
+ .UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED, options);
634
+ },
635
+ async executeUpdate(def, options) {
636
+ const handle = await _startUpdate(def, proto_1.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage
637
+ .UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED, options);
638
+ return await handle.result();
639
+ },
640
+ getUpdateHandle(updateId, workflowId, options) {
641
+ return this.client.createWorkflowUpdateHandle(updateId, workflowId, options);
642
+ },
521
643
  async signal(def, ...args) {
522
644
  const next = this.client._signalWorkflowHandler.bind(this.client);
523
- const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'signal', next) : next;
645
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'signal', next);
524
646
  await fn({
525
647
  workflowExecution: { workflowId, runId },
526
648
  signalName: typeof def === 'string' ? def : def.name,
@@ -530,7 +652,7 @@ class WorkflowClient extends base_client_1.BaseClient {
530
652
  },
531
653
  async query(def, ...args) {
532
654
  const next = this.client._queryWorkflowHandler.bind(this.client);
533
- const fn = interceptors.length ? (0, interceptors_1.composeInterceptors)(interceptors, 'query', next) : next;
655
+ const fn = (0, interceptors_1.composeInterceptors)(interceptors, 'query', next);
534
656
  return fn({
535
657
  workflowExecution: { workflowId, runId },
536
658
  queryRejectCondition: this.client.options.queryRejectCondition,
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-client.js","sourceRoot":"","sources":["../src/workflow-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-client.js","sourceRoot":"","sources":["../src/workflow-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import { CommonWorkflowOptions, SignalDefinition, WithCompiledWorkflowOptions, WithWorkflowArgs, Workflow } from '@temporalio/common';
1
+ import { CommonWorkflowOptions, SignalDefinition, WithWorkflowArgs, Workflow } from '@temporalio/common';
2
+ import { Duration } from '@temporalio/common/lib/time';
3
+ import { Replace } from '@temporalio/common/lib/type-helpers';
4
+ import { google } from '@temporalio/proto';
2
5
  export * from '@temporalio/common/lib/workflow-options';
3
6
  export interface CompiledWorkflowOptions extends WithCompiledWorkflowOptions<WorkflowOptions> {
4
7
  args: unknown[];
@@ -26,6 +29,22 @@ export interface WorkflowOptions extends CommonWorkflowOptions {
26
29
  * @default true
27
30
  */
28
31
  followRuns?: boolean;
32
+ /**
33
+ * Amount of time to wait before starting the workflow.
34
+ *
35
+ * @experimental
36
+ */
37
+ startDelay?: Duration;
38
+ }
39
+ export type WithCompiledWorkflowOptions<T extends WorkflowOptions> = Replace<T, {
40
+ workflowExecutionTimeout?: google.protobuf.IDuration;
41
+ workflowRunTimeout?: google.protobuf.IDuration;
42
+ workflowTaskTimeout?: google.protobuf.IDuration;
43
+ startDelay?: google.protobuf.IDuration;
44
+ }>;
45
+ export declare function compileWorkflowOptions<T extends WorkflowOptions>(options: T): WithCompiledWorkflowOptions<T>;
46
+ export interface WorkflowUpdateOptions {
47
+ readonly updateId?: string;
29
48
  }
30
49
  export type WorkflowSignalWithStartOptions<SignalArgs extends any[] = []> = SignalArgs extends [any, ...any[]] ? WorkflowSignalWithStartOptionsWithArgs<SignalArgs> : WorkflowSignalWithStartOptionsWithoutArgs<SignalArgs>;
31
50
  export interface WorkflowSignalWithStartOptionsWithoutArgs<SignalArgs extends any[]> extends WorkflowOptions {
@@ -14,5 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.compileWorkflowOptions = void 0;
18
+ const time_1 = require("@temporalio/common/lib/time");
17
19
  __exportStar(require("@temporalio/common/lib/workflow-options"), exports);
20
+ function compileWorkflowOptions(options) {
21
+ const { workflowExecutionTimeout, workflowRunTimeout, workflowTaskTimeout, startDelay, ...rest } = options;
22
+ return {
23
+ ...rest,
24
+ workflowExecutionTimeout: (0, time_1.msOptionalToTs)(workflowExecutionTimeout),
25
+ workflowRunTimeout: (0, time_1.msOptionalToTs)(workflowRunTimeout),
26
+ workflowTaskTimeout: (0, time_1.msOptionalToTs)(workflowTaskTimeout),
27
+ startDelay: (0, time_1.msOptionalToTs)(startDelay),
28
+ };
29
+ }
30
+ exports.compileWorkflowOptions = compileWorkflowOptions;
18
31
  //# sourceMappingURL=workflow-options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-options.js","sourceRoot":"","sources":["../src/workflow-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAQA,0EAAwD"}
1
+ {"version":3,"file":"workflow-options.js","sourceRoot":"","sources":["../src/workflow-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,sDAAuE;AAIvE,0EAAwD;AAkDxD,SAAgB,sBAAsB,CAA4B,OAAU;IAC1E,MAAM,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE3G,OAAO;QACL,GAAG,IAAI;QACP,wBAAwB,EAAE,IAAA,qBAAc,EAAC,wBAAwB,CAAC;QAClE,kBAAkB,EAAE,IAAA,qBAAc,EAAC,kBAAkB,CAAC;QACtD,mBAAmB,EAAE,IAAA,qBAAc,EAAC,mBAAmB,CAAC;QACxD,UAAU,EAAE,IAAA,qBAAc,EAAC,UAAU,CAAC;KACvC,CAAC;AACJ,CAAC;AAVD,wDAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/client",
3
- "version": "1.8.5",
3
+ "version": "1.9.0-rc.0",
4
4
  "description": "Temporal.io SDK Client sub-package",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -14,8 +14,8 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@grpc/grpc-js": "~1.7.3",
17
- "@temporalio/common": "1.8.5",
18
- "@temporalio/proto": "1.8.5",
17
+ "@temporalio/common": "1.9.0-rc.0",
18
+ "@temporalio/proto": "1.9.0-rc.0",
19
19
  "abort-controller": "^3.0.0",
20
20
  "long": "^5.2.0",
21
21
  "uuid": "^8.3.2"
@@ -39,5 +39,5 @@
39
39
  "src",
40
40
  "lib"
41
41
  ],
42
- "gitHead": "1a03096ceb2d63345c3f2c190d975c2a54c7b4a5"
42
+ "gitHead": "ca3e508e62de02b2c9bb40d0d889003cebba282d"
43
43
  }
@@ -1,3 +1,5 @@
1
+ // Keep this around until we drop support for Node 14.
2
+ import 'abort-controller/polyfill'; // eslint-disable-line import/no-unassigned-import
1
3
  import os from 'node:os';
2
4
  import { DataConverter, LoadedDataConverter } from '@temporalio/common';
3
5
  import { isLoadedDataConverter, loadDataConverter } from '@temporalio/common/lib/internal-non-workflow';
@@ -67,6 +69,18 @@ export class BaseClient {
67
69
  return await this.connection.withDeadline(deadline, fn);
68
70
  }
69
71
 
72
+ /**
73
+ * Set an {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} that, when aborted,
74
+ * cancels any ongoing service requests executed in `fn`'s scope.
75
+ *
76
+ * @returns value returned from `fn`
77
+ *
78
+ * @see {@link Connection.withAbortSignal}
79
+ */
80
+ async withAbortSignal<R>(abortSignal: AbortSignal, fn: () => Promise<R>): Promise<R> {
81
+ return await this.connection.withAbortSignal(abortSignal, fn);
82
+ }
83
+
70
84
  /**
71
85
  * Set metadata for any service requests executed in `fn`'s scope.
72
86
  *
package/src/connection.ts CHANGED
@@ -1,3 +1,5 @@
1
+ // Keep this around until we drop support for Node 14.
2
+ import 'abort-controller/polyfill'; // eslint-disable-line import/no-unassigned-import
1
3
  import { AsyncLocalStorage } from 'node:async_hooks';
2
4
  import * as grpc from '@grpc/grpc-js';
3
5
  import type { RPCImpl } from 'protobufjs';
@@ -21,21 +23,47 @@ export interface ConnectionOptions {
21
23
  address?: string;
22
24
 
23
25
  /**
24
- * TLS configuration.
25
- * Pass a falsy value to use a non-encrypted connection or `true` or `{}` to
26
- * connect with TLS without any customization.
26
+ * TLS configuration. Pass a falsy value to use a non-encrypted connection,
27
+ * or `true` or `{}` to connect with TLS without any customization.
28
+ *
29
+ * For advanced scenario, a prebuilt {@link grpc.ChannelCredentials} object
30
+ * may instead be specified using the {@link credentials} property.
27
31
  *
28
32
  * Either {@link credentials} or this may be specified for configuring TLS
33
+ *
34
+ * @default TLS is disabled
29
35
  */
30
36
  tls?: TLSConfig | boolean | null;
31
37
 
32
38
  /**
33
- * Channel credentials, create using the factory methods defined {@link https://grpc.github.io/grpc/node/grpc.credentials.html | here}
39
+ * gRPC channel credentials.
40
+ *
41
+ * `ChannelCredentials` are things like SSL credentials that can be used to secure a connection.
42
+ * There may be only one `ChannelCredentials`. They can be created using some of the factory
43
+ * methods defined {@link https://grpc.github.io/grpc/node/grpc.credentials.html | here}
44
+ *
45
+ * Specifying a prebuilt `ChannelCredentials` should only be required for advanced use cases.
46
+ * For simple TLS use cases, using the {@link tls} property is recommended. To register
47
+ * `CallCredentials` (eg. metadata-based authentication), use the {@link callCredentials} property.
34
48
  *
35
49
  * Either {@link tls} or this may be specified for configuring TLS
36
50
  */
37
51
  credentials?: grpc.ChannelCredentials;
38
52
 
53
+ /**
54
+ * gRPC call credentials.
55
+ *
56
+ * `CallCredentials` generaly modify metadata; they can be attached to a connection to affect all method
57
+ * calls made using that connection. They can be created using some of the factory methods defined
58
+ * {@link https://grpc.github.io/grpc/node/grpc.credentials.html | here}
59
+ *
60
+ * If `callCredentials` are specified, they will be composed with channel credentials
61
+ * (either the one created implicitely by using the {@link tls} option, or the one specified
62
+ * explicitly through {@link credentials}). Notice that gRPC doesn't allow registering
63
+ * `callCredentials` on insecure connections.
64
+ */
65
+ callCredentials?: grpc.CallCredentials[];
66
+
39
67
  /**
40
68
  * GRPC Channel arguments
41
69
  *
@@ -84,7 +112,9 @@ export interface ConnectionOptions {
84
112
  connectTimeout?: Duration;
85
113
  }
86
114
 
87
- export type ConnectionOptionsWithDefaults = Required<Omit<ConnectionOptions, 'tls' | 'connectTimeout'>> & {
115
+ export type ConnectionOptionsWithDefaults = Required<
116
+ Omit<ConnectionOptions, 'tls' | 'connectTimeout' | 'callCredentials'>
117
+ > & {
88
118
  connectTimeoutMs: number;
89
119
  };
90
120
 
@@ -114,7 +144,7 @@ function addDefaults(options: ConnectionOptions): ConnectionOptionsWithDefaults
114
144
  * - Add default port to address if port not specified
115
145
  */
116
146
  function normalizeGRPCConfig(options?: ConnectionOptions): ConnectionOptions {
117
- const { tls: tlsFromConfig, credentials, ...rest } = options || {};
147
+ const { tls: tlsFromConfig, credentials, callCredentials, ...rest } = options || {};
118
148
  if (rest.address) {
119
149
  // eslint-disable-next-line prefer-const
120
150
  let [host, port] = rest.address.split(':', 2);
@@ -128,10 +158,9 @@ function normalizeGRPCConfig(options?: ConnectionOptions): ConnectionOptions {
128
158
  }
129
159
  return {
130
160
  ...rest,
131
- credentials: grpc.credentials.createSsl(
132
- tls.serverRootCACertificate,
133
- tls.clientCertPair?.key,
134
- tls.clientCertPair?.crt
161
+ credentials: grpc.credentials.combineChannelCredentials(
162
+ grpc.credentials.createSsl(tls.serverRootCACertificate, tls.clientCertPair?.key, tls.clientCertPair?.crt),
163
+ ...(callCredentials ?? [])
135
164
  ),
136
165
  channelArgs: {
137
166
  ...rest.channelArgs,
@@ -144,7 +173,13 @@ function normalizeGRPCConfig(options?: ConnectionOptions): ConnectionOptions {
144
173
  },
145
174
  };
146
175
  } else {
147
- return rest;
176
+ return {
177
+ ...rest,
178
+ credentials: grpc.credentials.combineChannelCredentials(
179
+ credentials ?? grpc.credentials.createInsecure(),
180
+ ...(callCredentials ?? [])
181
+ ),
182
+ };
148
183
  }
149
184
  }
150
185
 
@@ -205,6 +240,12 @@ export class Connection {
205
240
  /**
206
241
  * Raw gRPC access to Temporal Server's
207
242
  * {@link https://github.com/temporalio/api/blob/master/temporal/api/operatorservice/v1/service.proto | Operator service}
243
+ *
244
+ * The Operator Service API defines how Temporal SDKs and other clients interact with the Temporal
245
+ * server to perform administrative functions like registering a search attribute or a namespace.
246
+ *
247
+ * This Service API is NOT compatible with Temporal Cloud. Attempt to use it against a Temporal
248
+ * Cloud namespace will result in gRPC `unauthorized` error.
208
249
  */
209
250
  public readonly operatorService: OperatorService;
210
251
  public readonly healthService: HealthService;
@@ -336,7 +377,7 @@ export class Connection {
336
377
  }: RPCImplOptions): RPCImpl {
337
378
  return (method: { name: string }, requestData: any, callback: grpc.requestCallback<any>) => {
338
379
  const metadataContainer = new grpc.Metadata();
339
- const { metadata, deadline } = callContextStorage.getStore() ?? {};
380
+ const { metadata, deadline, abortSignal } = callContextStorage.getStore() ?? {};
340
381
  for (const [k, v] of Object.entries(staticMetadata)) {
341
382
  metadataContainer.set(k, v);
342
383
  }
@@ -345,7 +386,7 @@ export class Connection {
345
386
  metadataContainer.set(k, v);
346
387
  }
347
388
  }
348
- return client.makeUnaryRequest(
389
+ const call = client.makeUnaryRequest(
349
390
  `/${serviceName}/${method.name}`,
350
391
  (arg: any) => arg,
351
392
  (arg: any) => arg,
@@ -354,6 +395,11 @@ export class Connection {
354
395
  { interceptors, deadline },
355
396
  callback
356
397
  );
398
+ if (abortSignal != null) {
399
+ abortSignal.addEventListener('abort', () => call.cancel());
400
+ }
401
+
402
+ return call;
357
403
  };
358
404
  }
359
405
 
@@ -364,7 +410,27 @@ export class Connection {
364
410
  */
365
411
  async withDeadline<ReturnType>(deadline: number | Date, fn: () => Promise<ReturnType>): Promise<ReturnType> {
366
412
  const cc = this.callContextStorage.getStore();
367
- return await this.callContextStorage.run({ deadline, metadata: cc?.metadata }, fn);
413
+ return await this.callContextStorage.run({ ...cc, deadline }, fn);
414
+ }
415
+
416
+ /**
417
+ * Set an {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | `AbortSignal`} that, when aborted,
418
+ * cancels any ongoing requests executed in `fn`'s scope.
419
+ *
420
+ * @returns value returned from `fn`
421
+ *
422
+ * @example
423
+ *
424
+ * ```ts
425
+ * const ctrl = new AbortController();
426
+ * setTimeout(() => ctrl.abort(), 10_000);
427
+ * // 👇 throws if incomplete by the timeout.
428
+ * await conn.withAbortSignal(ctrl.signal, () => client.workflow.execute(myWorkflow, options));
429
+ * ```
430
+ */
431
+ async withAbortSignal<ReturnType>(abortSignal: AbortSignal, fn: () => Promise<ReturnType>): Promise<ReturnType> {
432
+ const cc = this.callContextStorage.getStore();
433
+ return await this.callContextStorage.run({ ...cc, abortSignal }, fn);
368
434
  }
369
435
 
370
436
  /**
@@ -377,16 +443,15 @@ export class Connection {
377
443
  *
378
444
  * @example
379
445
  *
380
- *```ts
381
- *const workflowHandle = await conn.withMetadata({ apiKey: 'secret' }, () =>
382
- * conn.withMetadata({ otherKey: 'set' }, () => client.start(options)))
383
- *);
384
- *```
446
+ * ```ts
447
+ * const workflowHandle = await conn.withMetadata({ apiKey: 'secret' }, () =>
448
+ * conn.withMetadata({ otherKey: 'set' }, () => client.start(options)))
449
+ * );
450
+ * ```
385
451
  */
386
452
  async withMetadata<ReturnType>(metadata: Metadata, fn: () => Promise<ReturnType>): Promise<ReturnType> {
387
453
  const cc = this.callContextStorage.getStore();
388
- metadata = { ...cc?.metadata, ...metadata };
389
- return await this.callContextStorage.run({ metadata, deadline: cc?.deadline }, fn);
454
+ return await this.callContextStorage.run({ ...cc, metadata: { ...cc?.metadata, ...metadata } }, fn);
390
455
  }
391
456
 
392
457
  /**
package/src/errors.ts CHANGED
@@ -35,6 +35,17 @@ export class WorkflowFailedError extends Error {
35
35
  }
36
36
  }
37
37
 
38
+ /**
39
+ * Thrown by the client while waiting on Workflow Update result if Update
40
+ * completes with failure.
41
+ */
42
+ @SymbolBasedInstanceOfError('WorkflowUpdateFailedError')
43
+ export class WorkflowUpdateFailedError extends Error {
44
+ public constructor(message: string, public readonly cause: TemporalFailure | undefined) {
45
+ super(message);
46
+ }
47
+ }
48
+
38
49
  /**
39
50
  * Thrown the by client while waiting on Workflow execution result if Workflow
40
51
  * continues as new.