@temporalio/client 1.11.6 → 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.
@@ -1,6 +1,6 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import * as grpc from '@grpc/grpc-js';
3
- import type { RPCImpl } from 'protobufjs';
3
+ import type * as proto from 'protobufjs';
4
4
  import { TLSConfig } from '@temporalio/common/lib/internal-non-workflow';
5
5
  import { Duration } from '@temporalio/common/lib/time';
6
6
  import { CallContext, HealthService, Metadata, OperatorService, WorkflowService } from './types';
@@ -208,7 +208,7 @@ export declare class Connection {
208
208
  */
209
209
  static connect(options?: ConnectionOptions): Promise<Connection>;
210
210
  protected constructor({ options, client, workflowService, operatorService, healthService, callContextStorage, apiKeyFnRef, }: ConnectionCtorOptions);
211
- protected static generateRPCImplementation({ serviceName, client, callContextStorage, interceptors, staticMetadata, apiKeyFnRef, }: RPCImplOptions): RPCImpl;
211
+ protected static generateRPCImplementation({ serviceName, client, callContextStorage, interceptors, staticMetadata, apiKeyFnRef, }: RPCImplOptions): proto.RPCImpl;
212
212
  /**
213
213
  * Set a deadline for any service requests executed in `fn`'s scope.
214
214
  *
@@ -295,4 +295,5 @@ export declare class Connection {
295
295
  * Make sure to call this method to ensure proper resource cleanup.
296
296
  */
297
297
  close(): Promise<void>;
298
+ private withNamespaceHeaderInjector;
298
299
  }
package/lib/connection.js CHANGED
@@ -219,7 +219,7 @@ class Connection {
219
219
  constructor({ options, client, workflowService, operatorService, healthService, callContextStorage, apiKeyFnRef, }) {
220
220
  this.options = options;
221
221
  this.client = client;
222
- this.workflowService = workflowService;
222
+ this.workflowService = this.withNamespaceHeaderInjector(workflowService);
223
223
  this.operatorService = operatorService;
224
224
  this.healthService = healthService;
225
225
  this.callContextStorage = callContextStorage;
@@ -289,6 +289,8 @@ class Connection {
289
289
  *
290
290
  * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
291
291
  */
292
+ // FIXME: `abortSignal` should be cumulative, i.e. if a signal is already set, it should be added
293
+ // to the list of signals, and both the new and existing signal should abort the request.
292
294
  async withAbortSignal(abortSignal, fn) {
293
295
  const cc = this.callContextStorage.getStore();
294
296
  return await this.callContextStorage.run({ ...cc, abortSignal }, fn);
@@ -378,6 +380,24 @@ class Connection {
378
380
  this.client.close();
379
381
  this.callContextStorage.disable();
380
382
  }
383
+ withNamespaceHeaderInjector(workflowService) {
384
+ const wrapper = {};
385
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
386
+ for (const [methodName, methodImpl] of Object.entries(workflowService)) {
387
+ if (typeof methodImpl !== 'function')
388
+ continue;
389
+ wrapper[methodName] = (...args) => {
390
+ const namespace = args[0]?.namespace;
391
+ if (namespace) {
392
+ return this.withMetadata({ 'temporal-namespace': namespace }, () => methodImpl.apply(workflowService, args));
393
+ }
394
+ else {
395
+ return methodImpl.apply(workflowService, args);
396
+ }
397
+ };
398
+ }
399
+ return wrapper;
400
+ }
381
401
  }
382
402
  exports.Connection = Connection;
383
403
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/client",
3
- "version": "1.11.6",
3
+ "version": "1.11.8",
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.10.7",
17
- "@temporalio/common": "1.11.6",
18
- "@temporalio/proto": "1.11.6",
17
+ "@temporalio/common": "1.11.8",
18
+ "@temporalio/proto": "1.11.8",
19
19
  "abort-controller": "^3.0.0",
20
20
  "long": "^5.2.3",
21
21
  "uuid": "^9.0.1"
@@ -39,5 +39,5 @@
39
39
  "src",
40
40
  "lib"
41
41
  ],
42
- "gitHead": "7b0543ade19c5432fd6013877489df28f96d9be0"
42
+ "gitHead": "0a757c370012d89babb668fbd799d83b55c83a1b"
43
43
  }
package/src/connection.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import * as grpc from '@grpc/grpc-js';
3
- import type { RPCImpl } from 'protobufjs';
3
+ import type * as proto from 'protobufjs';
4
4
  import {
5
5
  filterNullAndUndefined,
6
6
  normalizeTlsConfig,
@@ -8,6 +8,7 @@ import {
8
8
  normalizeGrpcEndpointAddress,
9
9
  } from '@temporalio/common/lib/internal-non-workflow';
10
10
  import { Duration, msOptionalToNumber } from '@temporalio/common/lib/time';
11
+ import { type temporal } from '@temporalio/proto';
11
12
  import { isGrpcServiceError, ServiceError } from './errors';
12
13
  import { defaultGrpcRetryOptions, makeGrpcRetryInterceptor } from './grpc-retry';
13
14
  import pkg from './pkg';
@@ -419,7 +420,7 @@ export class Connection {
419
420
  }: ConnectionCtorOptions) {
420
421
  this.options = options;
421
422
  this.client = client;
422
- this.workflowService = workflowService;
423
+ this.workflowService = this.withNamespaceHeaderInjector(workflowService);
423
424
  this.operatorService = operatorService;
424
425
  this.healthService = healthService;
425
426
  this.callContextStorage = callContextStorage;
@@ -433,8 +434,12 @@ export class Connection {
433
434
  interceptors,
434
435
  staticMetadata,
435
436
  apiKeyFnRef,
436
- }: RPCImplOptions): RPCImpl {
437
- return (method: { name: string }, requestData: any, callback: grpc.requestCallback<any>) => {
437
+ }: RPCImplOptions): proto.RPCImpl {
438
+ return (
439
+ method: proto.Method | proto.rpc.ServiceMethod<proto.Message<any>, proto.Message<any>>,
440
+ requestData: Uint8Array,
441
+ callback: grpc.requestCallback<any>
442
+ ) => {
438
443
  const metadataContainer = new grpc.Metadata();
439
444
  const { metadata, deadline, abortSignal } = callContextStorage.getStore() ?? {};
440
445
  if (apiKeyFnRef.fn) {
@@ -449,6 +454,7 @@ export class Connection {
449
454
  metadataContainer.set(k, v);
450
455
  }
451
456
  }
457
+
452
458
  const call = client.makeUnaryRequest(
453
459
  `/${serviceName}/${method.name}`,
454
460
  (arg: any) => arg,
@@ -458,6 +464,7 @@ export class Connection {
458
464
  { interceptors, deadline },
459
465
  callback
460
466
  );
467
+
461
468
  if (abortSignal != null) {
462
469
  abortSignal.addEventListener('abort', () => call.cancel());
463
470
  }
@@ -507,6 +514,8 @@ export class Connection {
507
514
  *
508
515
  * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
509
516
  */
517
+ // FIXME: `abortSignal` should be cumulative, i.e. if a signal is already set, it should be added
518
+ // to the list of signals, and both the new and existing signal should abort the request.
510
519
  async withAbortSignal<ReturnType>(abortSignal: AbortSignal, fn: () => Promise<ReturnType>): Promise<ReturnType> {
511
520
  const cc = this.callContextStorage.getStore();
512
521
  return await this.callContextStorage.run({ ...cc, abortSignal }, fn);
@@ -605,4 +614,25 @@ export class Connection {
605
614
  this.client.close();
606
615
  this.callContextStorage.disable();
607
616
  }
617
+
618
+ private withNamespaceHeaderInjector(
619
+ workflowService: temporal.api.workflowservice.v1.WorkflowService
620
+ ): temporal.api.workflowservice.v1.WorkflowService {
621
+ const wrapper: any = {};
622
+
623
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
624
+ for (const [methodName, methodImpl] of Object.entries(workflowService) as [string, Function][]) {
625
+ if (typeof methodImpl !== 'function') continue;
626
+
627
+ wrapper[methodName] = (...args: any[]) => {
628
+ const namespace = args[0]?.namespace;
629
+ if (namespace) {
630
+ return this.withMetadata({ 'temporal-namespace': namespace }, () => methodImpl.apply(workflowService, args));
631
+ } else {
632
+ return methodImpl.apply(workflowService, args);
633
+ }
634
+ };
635
+ }
636
+ return wrapper as WorkflowService;
637
+ }
608
638
  }