@temporalio/client 1.13.1 → 1.13.2

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.
package/lib/client.d.ts CHANGED
@@ -12,6 +12,15 @@ export interface ClientOptions extends BaseClientOptions {
12
12
  * Useful for injecting auth headers and tracing Workflow executions
13
13
  */
14
14
  interceptors?: ClientInterceptors;
15
+ /**
16
+ * List of plugins to register with the client.
17
+ *
18
+ * Plugins allow you to extend and customize the behavior of Temporal clients.
19
+ * They can intercept and modify client creation.
20
+ *
21
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
22
+ */
23
+ plugins?: ClientPlugin[];
15
24
  workflow?: {
16
25
  /**
17
26
  * Should a query be rejected by closed and failed workflows
@@ -54,3 +63,21 @@ export declare class Client extends BaseClient {
54
63
  */
55
64
  get workflowService(): WorkflowService;
56
65
  }
66
+ /**
67
+ * Plugin to control the configuration of a native connection.
68
+ *
69
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
70
+ */
71
+ export interface ClientPlugin {
72
+ /**
73
+ * Gets the name of this plugin.
74
+ */
75
+ get name(): string;
76
+ /**
77
+ * Hook called when creating a client to allow modification of configuration.
78
+ *
79
+ * This method is called during client creation and allows plugins to modify
80
+ * the client configuration before the client is fully initialized.
81
+ */
82
+ configureClient?(options: Omit<ClientOptions, 'plugins'>): Omit<ClientOptions, 'plugins'>;
83
+ }
package/lib/client.js CHANGED
@@ -31,8 +31,17 @@ class Client extends base_client_1.BaseClient {
31
31
  */
32
32
  taskQueue;
33
33
  constructor(options) {
34
+ options = options ?? {};
35
+ // Add client plugins from the connection
36
+ options.plugins = (options.plugins ?? []).concat(options.connection?.plugins ?? []);
37
+ // Process plugins first to allow them to modify connect configuration
38
+ for (const plugin of options.plugins) {
39
+ if (plugin.configureClient !== undefined) {
40
+ options = plugin.configureClient(options);
41
+ }
42
+ }
34
43
  super(options);
35
- const { interceptors, workflow, ...commonOptions } = options ?? {};
44
+ const { interceptors, workflow, plugins, ...commonOptions } = options;
36
45
  this.workflow = new workflow_client_1.WorkflowClient({
37
46
  ...commonOptions,
38
47
  ...(workflow ?? {}),
@@ -68,6 +77,7 @@ class Client extends base_client_1.BaseClient {
68
77
  workflow: {
69
78
  queryRejectCondition: this.workflow.options.queryRejectCondition,
70
79
  },
80
+ plugins: plugins ?? [],
71
81
  };
72
82
  }
73
83
  /**
package/lib/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,gFAAkF;AAClF,uEAAkE;AAClE,+CAA4G;AAE5G,uDAAmD;AAEnD,uDAAmD;AACnD,2DAAsD;AAsBtD;;GAEG;AACH,MAAa,MAAO,SAAQ,wBAAU;IACpB,OAAO,CAAsB;IAC7C;;OAEG;IACa,QAAQ,CAAiB;IACzC;;OAEG;IACa,QAAQ,CAAwB;IAChD;;OAEG;IACa,QAAQ,CAAiB;IACzC;;;;OAIG;IACa,SAAS,CAAkB;IAE3C,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAEnE,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAAC;YACjC,GAAG,aAAa;YAChB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,YAAY,EAAE,QAAQ;YACpC,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAqB,CAAC;YACxC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAAC;YACjC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,YAAY,EAAE,QAAQ;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,mCAAe,CAAC;YACnC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAA,sCAAwB,GAAE;YAC7B,GAAG,IAAA,0CAAsB,EAAC,aAAa,CAAC;YACxC,mBAAmB,EAAE,IAAI,CAAC,aAAa;YACvC,YAAY,EAAE;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY;gBAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY;aAC7C;YACD,QAAQ,EAAE;gBACR,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;aACjE;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;IACzC,CAAC;CACF;AA7ED,wBA6EC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,gFAAkF;AAClF,uEAAkE;AAClE,+CAA4G;AAE5G,uDAAmD;AAEnD,uDAAmD;AACnD,2DAAsD;AAgCtD;;GAEG;AACH,MAAa,MAAO,SAAQ,wBAAU;IACpB,OAAO,CAAsB;IAE7C;;OAEG;IACa,QAAQ,CAAiB;IACzC;;OAEG;IACa,QAAQ,CAAwB;IAChD;;OAEG;IACa,QAAQ,CAAiB;IACzC;;;;OAIG;IACa,SAAS,CAAkB;IAE3C,YAAY,OAAuB;QACjC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAExB,yCAAyC;QACzC,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAEpF,sEAAsE;QACtE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;gBACzC,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;QAEtE,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAAC;YACjC,GAAG,aAAa;YAChB,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,YAAY,EAAE,QAAQ;YACpC,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAqB,CAAC;YACxC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,gCAAc,CAAC;YACjC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,YAAY,EAAE,QAAQ;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,mCAAe,CAAC;YACnC,GAAG,aAAa;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,IAAA,sCAAwB,GAAE;YAC7B,GAAG,IAAA,0CAAsB,EAAC,aAAa,CAAC;YACxC,mBAAmB,EAAE,IAAI,CAAC,aAAa;YACvC,YAAY,EAAE;gBACZ,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY;gBAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY;aAC7C;YACD,QAAQ,EAAE;gBACR,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;aACjE;YACD,OAAO,EAAE,OAAO,IAAI,EAAE;SACvB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;IACzC,CAAC;CACF;AA3FD,wBA2FC"}
@@ -107,6 +107,15 @@ export interface ConnectionOptions {
107
107
  * @default 10 seconds
108
108
  */
109
109
  connectTimeout?: Duration;
110
+ /**
111
+ * List of plugins to register with the connection.
112
+ *
113
+ * Plugins allow you to configure the connection options.
114
+ * Any plugins provided will also be passed to any client built from this connection.
115
+ *
116
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
117
+ */
118
+ plugins?: ConnectionPlugin[];
110
119
  }
111
120
  export type ConnectionOptionsWithDefaults = Required<Omit<ConnectionOptions, 'tls' | 'connectTimeout' | 'callCredentials' | 'apiKey'>> & {
112
121
  connectTimeoutMs: number;
@@ -209,9 +218,10 @@ export declare class Connection {
209
218
  * Raw gRPC access to the standard gRPC {@link https://github.com/grpc/grpc/blob/92f58c18a8da2728f571138c37760a721c8915a2/doc/health-checking.md | health service}.
210
219
  */
211
220
  readonly healthService: HealthService;
221
+ readonly plugins: ConnectionPlugin[];
212
222
  readonly callContextStorage: AsyncLocalStorage<CallContext>;
213
223
  private readonly apiKeyFnRef;
214
- protected static createCtorOptions(options?: ConnectionOptions): ConnectionCtorOptions;
224
+ protected static createCtorOptions(options: ConnectionOptions): ConnectionCtorOptions;
215
225
  /**
216
226
  * Ensure connection can be established.
217
227
  *
@@ -244,7 +254,7 @@ export declare class Connection {
244
254
  * this will locally result in the request call throwing a {@link grpc.ServiceError|ServiceError}
245
255
  * with code {@link grpc.status.DEADLINE_EXCEEDED|DEADLINE_EXCEEDED}; see {@link isGrpcDeadlineError}.
246
256
  *
247
- * It is stronly recommended to explicitly set deadlines. If no deadline is set, then it is
257
+ * It is strongly recommended to explicitly set deadlines. If no deadline is set, then it is
248
258
  * possible for the client to end up waiting forever for a response.
249
259
  *
250
260
  * @param deadline a point in time after which the request will be considered as failed; either a
@@ -325,3 +335,18 @@ export declare class Connection {
325
335
  close(): Promise<void>;
326
336
  private withNamespaceHeaderInjector;
327
337
  }
338
+ /**
339
+ * Plugin to control the configuration of a connection.
340
+ *
341
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
342
+ */
343
+ export interface ConnectionPlugin {
344
+ /**
345
+ * Gets the name of this plugin.
346
+ */
347
+ get name(): string;
348
+ /**
349
+ * Hook called when creating a connection to allow modification of configuration.
350
+ */
351
+ configureConnection?(options: ConnectionOptions): ConnectionOptions;
352
+ }
package/lib/connection.js CHANGED
@@ -63,6 +63,7 @@ function addDefaults(options) {
63
63
  interceptors: interceptors ?? [(0, grpc_retry_1.makeGrpcRetryInterceptor)((0, grpc_retry_1.defaultGrpcRetryOptions)())],
64
64
  metadata: {},
65
65
  connectTimeoutMs: (0, time_1.msOptionalToNumber)(connectTimeout) ?? 10_000,
66
+ plugins: [],
66
67
  ...(0, internal_workflow_1.filterNullAndUndefined)(rest),
67
68
  };
68
69
  }
@@ -73,7 +74,7 @@ function addDefaults(options) {
73
74
  * - Set `Authorization` header based on {@link ConnectionOptions.apiKey}
74
75
  */
75
76
  function normalizeGRPCConfig(options) {
76
- const { tls: tlsFromConfig, credentials, callCredentials, ...rest } = options || {};
77
+ const { tls: tlsFromConfig, credentials, callCredentials, ...rest } = options;
77
78
  if (rest.apiKey) {
78
79
  if (rest.metadata?.['Authorization']) {
79
80
  throw new TypeError('Both `apiKey` option and `Authorization` header were provided, but only one makes sense to use at a time.');
@@ -90,9 +91,12 @@ function normalizeGRPCConfig(options) {
90
91
  if (credentials) {
91
92
  throw new TypeError('Both `tls` and `credentials` ConnectionOptions were provided');
92
93
  }
94
+ const serverRootCert = tls.serverRootCACertificate && Buffer.from(tls.serverRootCACertificate);
95
+ const clientCertKey = tls.clientCertPair?.key && Buffer.from(tls.clientCertPair?.key);
96
+ const clientCertCrt = tls.clientCertPair?.crt && Buffer.from(tls.clientCertPair?.crt);
93
97
  return {
94
98
  ...rest,
95
- credentials: grpc.credentials.combineChannelCredentials(grpc.credentials.createSsl(tls.serverRootCACertificate, tls.clientCertPair?.key, tls.clientCertPair?.crt), ...(callCredentials ?? [])),
99
+ credentials: grpc.credentials.combineChannelCredentials(grpc.credentials.createSsl(serverRootCert, clientCertKey, clientCertCrt), ...(callCredentials ?? [])),
96
100
  channelArgs: {
97
101
  ...rest.channelArgs,
98
102
  ...(tls.serverNameOverride
@@ -154,6 +158,7 @@ class Connection {
154
158
  * Raw gRPC access to the standard gRPC {@link https://github.com/grpc/grpc/blob/92f58c18a8da2728f571138c37760a721c8915a2/doc/health-checking.md | health service}.
155
159
  */
156
160
  healthService;
161
+ plugins;
157
162
  callContextStorage;
158
163
  apiKeyFnRef;
159
164
  static createCtorOptions(options) {
@@ -262,6 +267,12 @@ class Connection {
262
267
  * This method does not verify connectivity with the server. We recommend using {@link connect} instead.
263
268
  */
264
269
  static lazy(options) {
270
+ options = options ?? {};
271
+ for (const plugin of options.plugins ?? []) {
272
+ if (plugin.configureConnection !== undefined) {
273
+ options = plugin.configureConnection(options);
274
+ }
275
+ }
265
276
  return new this(this.createCtorOptions(options));
266
277
  }
267
278
  /**
@@ -284,6 +295,7 @@ class Connection {
284
295
  this.healthService = healthService;
285
296
  this.callContextStorage = callContextStorage;
286
297
  this.apiKeyFnRef = apiKeyFnRef;
298
+ this.plugins = options.plugins ?? [];
287
299
  }
288
300
  static generateRPCImplementation({ serviceName, client, callContextStorage, interceptors, staticMetadata, apiKeyFnRef, }) {
289
301
  return (method, requestData, callback) => {
@@ -316,7 +328,7 @@ class Connection {
316
328
  * this will locally result in the request call throwing a {@link grpc.ServiceError|ServiceError}
317
329
  * with code {@link grpc.status.DEADLINE_EXCEEDED|DEADLINE_EXCEEDED}; see {@link isGrpcDeadlineError}.
318
330
  *
319
- * It is stronly recommended to explicitly set deadlines. If no deadline is set, then it is
331
+ * It is strongly recommended to explicitly set deadlines. If no deadline is set, then it is
320
332
  * possible for the client to end up waiting forever for a response.
321
333
  *
322
334
  * @param deadline a point in time after which the request will be considered as failed; either a
@@ -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/lib/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export * from '@temporalio/common/lib/interfaces';
15
15
  export * from '@temporalio/common/lib/workflow-handle';
16
16
  export * from './async-completion-client';
17
17
  export * from './client';
18
- export { Connection, ConnectionOptions, ConnectionOptionsWithDefaults, LOCAL_TARGET } from './connection';
18
+ export { Connection, ConnectionOptions, ConnectionOptionsWithDefaults, ConnectionPlugin, LOCAL_TARGET, } from './connection';
19
19
  export * from './errors';
20
20
  export * from './grpc-retry';
21
21
  export * from './interceptors';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;AAEH,6CAc4B;AAb1B,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AAEpB,iHAAA,uBAAuB,OAAA;AAGvB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,8HAAA,oCAAoC,OAAA;AAGtC,gEAA8C;AAC9C,oEAAkD;AAClD,yEAAuD;AACvD,4DAA0C;AAC1C,2CAAyB;AACzB,2CAA0G;AAAjG,wGAAA,UAAU,OAAA;AAAoD,0GAAA,YAAY,OAAA;AACnF,2CAAyB;AACzB,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;AAEH,6CAc4B;AAb1B,yGAAA,eAAe,OAAA;AACf,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AAEpB,iHAAA,uBAAuB,OAAA;AAGvB,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AACd,8HAAA,oCAAoC,OAAA;AAGtC,gEAA8C;AAC9C,oEAAkD;AAClD,yEAAuD;AACvD,4DAA0C;AAC1C,2CAAyB;AACzB,2CAMsB;AALpB,wGAAA,UAAU,OAAA;AAIV,0GAAA,YAAY,OAAA;AAEd,2CAAyB;AACzB,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA"}
package/lib/types.d.ts CHANGED
@@ -2,6 +2,7 @@ import type * as grpc from '@grpc/grpc-js';
2
2
  import type { TypedSearchAttributes, SearchAttributes, SearchAttributeValue, Priority } from '@temporalio/common';
3
3
  import * as proto from '@temporalio/proto';
4
4
  import { Replace } from '@temporalio/common/lib/type-helpers';
5
+ import type { ConnectionPlugin } from './connection';
5
6
  export interface WorkflowExecution {
6
7
  workflowId: string;
7
8
  runId?: string;
@@ -97,6 +98,7 @@ export interface CallContext {
97
98
  */
98
99
  export interface ConnectionLike {
99
100
  workflowService: WorkflowService;
101
+ plugins: ConnectionPlugin[];
100
102
  close(): Promise<void>;
101
103
  ensureConnected(): Promise<void>;
102
104
  /**
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gFAAmF;AACnF,yDAA2C;AAuF5B,uBAAe,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iBAAC;AAE1D,uBAAe,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iBAAC;AAE1D,mBAAW,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAC;AAE1C,qBAAa,GAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAC;AAsEjD,QAAA,4BAA4B,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAC;AAW7E,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,qBAAqB,EAAE,uBAAuB;IAE9C,4CAA4C;IAC5C,2BAA2B,EAAE,MAAM,EAAE,8CAA8C;IAEnF,gDAAgD;IAChD,+BAA+B,EAAE,UAAU,EAAE,8CAA8C;IAE3F,6DAA6D;IAC7D,4CAA4C,EAAE,uBAAuB,EAAE,8CAA8C;IAErH,2CAA2C;IAC3C,kCAAkC,EAAE,SAAS,EAAE,8CAA8C;CACrF,CAAC;AAGE,KAA2D,IAAA,2CAAuB,EAO7F;IACE,CAAC,4BAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9B,CAAC,4BAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,CAAC,4BAAoB,CAAC,qBAAqB,CAAC,EAAE,CAAC;IAC/C,WAAW,EAAE,CAAC;CACN,EACV,yBAAyB,CAC1B,EAda,kCAA0B,UAAE,kCAA0B,SAclE"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gFAAmF;AACnF,yDAA2C;AAwF5B,uBAAe,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iBAAC;AAE1D,uBAAe,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iBAAC;AAE1D,mBAAW,GAAK,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,aAAC;AAE1C,qBAAa,GAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAC;AAuEjD,QAAA,4BAA4B,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAC;AAW7E,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,qBAAqB,EAAE,uBAAuB;IAE9C,4CAA4C;IAC5C,2BAA2B,EAAE,MAAM,EAAE,8CAA8C;IAEnF,gDAAgD;IAChD,+BAA+B,EAAE,UAAU,EAAE,8CAA8C;IAE3F,6DAA6D;IAC7D,4CAA4C,EAAE,uBAAuB,EAAE,8CAA8C;IAErH,2CAA2C;IAC3C,kCAAkC,EAAE,SAAS,EAAE,8CAA8C;CACrF,CAAC;AAGE,KAA2D,IAAA,2CAAuB,EAO7F;IACE,CAAC,4BAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9B,CAAC,4BAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,CAAC,4BAAoB,CAAC,qBAAqB,CAAC,EAAE,CAAC;IAC/C,WAAW,EAAE,CAAC;CACN,EACV,yBAAyB,CAC1B,EAda,kCAA0B,UAAE,kCAA0B,SAclE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@temporalio/client",
3
- "version": "1.13.1",
3
+ "version": "1.13.2",
4
4
  "description": "Temporal.io SDK Client sub-package",
5
5
  "main": "lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -14,11 +14,11 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@grpc/grpc-js": "^1.12.4",
17
- "@temporalio/common": "1.13.1",
18
- "@temporalio/proto": "1.13.1",
17
+ "@temporalio/common": "1.13.2",
18
+ "@temporalio/proto": "1.13.2",
19
19
  "abort-controller": "^3.0.0",
20
20
  "long": "^5.2.3",
21
- "uuid": "^9.0.1"
21
+ "uuid": "^11.1.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "protobufjs": "^7.2.5"
@@ -42,5 +42,5 @@
42
42
  "engines": {
43
43
  "node": ">= 18.0.0"
44
44
  },
45
- "gitHead": "7904e19bc72dcdf9eb0275ecaa585a2ff2fec072"
45
+ "gitHead": "524b1bcf72b36fbf3148fe5adb0ddbe036293f6d"
46
46
  }
package/src/client.ts CHANGED
@@ -15,6 +15,16 @@ export interface ClientOptions extends BaseClientOptions {
15
15
  */
16
16
  interceptors?: ClientInterceptors;
17
17
 
18
+ /**
19
+ * List of plugins to register with the client.
20
+ *
21
+ * Plugins allow you to extend and customize the behavior of Temporal clients.
22
+ * They can intercept and modify client creation.
23
+ *
24
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
25
+ */
26
+ plugins?: ClientPlugin[];
27
+
18
28
  workflow?: {
19
29
  /**
20
30
  * Should a query be rejected by closed and failed workflows
@@ -32,6 +42,7 @@ export type LoadedClientOptions = LoadedWithDefaults<ClientOptions>;
32
42
  */
33
43
  export class Client extends BaseClient {
34
44
  public readonly options: LoadedClientOptions;
45
+
35
46
  /**
36
47
  * Workflow sub-client - use to start and interact with Workflows
37
48
  */
@@ -52,9 +63,21 @@ export class Client extends BaseClient {
52
63
  public readonly taskQueue: TaskQueueClient;
53
64
 
54
65
  constructor(options?: ClientOptions) {
66
+ options = options ?? {};
67
+
68
+ // Add client plugins from the connection
69
+ options.plugins = (options.plugins ?? []).concat(options.connection?.plugins ?? []);
70
+
71
+ // Process plugins first to allow them to modify connect configuration
72
+ for (const plugin of options.plugins) {
73
+ if (plugin.configureClient !== undefined) {
74
+ options = plugin.configureClient(options);
75
+ }
76
+ }
77
+
55
78
  super(options);
56
79
 
57
- const { interceptors, workflow, ...commonOptions } = options ?? {};
80
+ const { interceptors, workflow, plugins, ...commonOptions } = options;
58
81
 
59
82
  this.workflow = new WorkflowClient({
60
83
  ...commonOptions,
@@ -95,6 +118,7 @@ export class Client extends BaseClient {
95
118
  workflow: {
96
119
  queryRejectCondition: this.workflow.options.queryRejectCondition,
97
120
  },
121
+ plugins: plugins ?? [],
98
122
  };
99
123
  }
100
124
 
@@ -108,3 +132,23 @@ export class Client extends BaseClient {
108
132
  return this.connection.workflowService;
109
133
  }
110
134
  }
135
+
136
+ /**
137
+ * Plugin to control the configuration of a native connection.
138
+ *
139
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
140
+ */
141
+ export interface ClientPlugin {
142
+ /**
143
+ * Gets the name of this plugin.
144
+ */
145
+ get name(): string;
146
+
147
+ /**
148
+ * Hook called when creating a client to allow modification of configuration.
149
+ *
150
+ * This method is called during client creation and allows plugins to modify
151
+ * the client configuration before the client is fully initialized.
152
+ */
153
+ configureClient?(options: Omit<ClientOptions, 'plugins'>): Omit<ClientOptions, 'plugins'>;
154
+ }
package/src/connection.ts CHANGED
@@ -130,6 +130,16 @@ export interface ConnectionOptions {
130
130
  * @default 10 seconds
131
131
  */
132
132
  connectTimeout?: Duration;
133
+
134
+ /**
135
+ * List of plugins to register with the connection.
136
+ *
137
+ * Plugins allow you to configure the connection options.
138
+ * Any plugins provided will also be passed to any client built from this connection.
139
+ *
140
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
141
+ */
142
+ plugins?: ConnectionPlugin[];
133
143
  }
134
144
 
135
145
  export type ConnectionOptionsWithDefaults = Required<
@@ -172,6 +182,7 @@ function addDefaults(options: ConnectionOptions): ConnectionOptionsWithDefaults
172
182
  interceptors: interceptors ?? [makeGrpcRetryInterceptor(defaultGrpcRetryOptions())],
173
183
  metadata: {},
174
184
  connectTimeoutMs: msOptionalToNumber(connectTimeout) ?? 10_000,
185
+ plugins: [],
175
186
  ...filterNullAndUndefined(rest),
176
187
  };
177
188
  }
@@ -182,8 +193,8 @@ function addDefaults(options: ConnectionOptions): ConnectionOptionsWithDefaults
182
193
  * - Add default port to address if port not specified
183
194
  * - Set `Authorization` header based on {@link ConnectionOptions.apiKey}
184
195
  */
185
- function normalizeGRPCConfig(options?: ConnectionOptions): ConnectionOptions {
186
- const { tls: tlsFromConfig, credentials, callCredentials, ...rest } = options || {};
196
+ function normalizeGRPCConfig(options: ConnectionOptions): ConnectionOptions {
197
+ const { tls: tlsFromConfig, credentials, callCredentials, ...rest } = options;
187
198
  if (rest.apiKey) {
188
199
  if (rest.metadata?.['Authorization']) {
189
200
  throw new TypeError(
@@ -204,10 +215,13 @@ function normalizeGRPCConfig(options?: ConnectionOptions): ConnectionOptions {
204
215
  if (credentials) {
205
216
  throw new TypeError('Both `tls` and `credentials` ConnectionOptions were provided');
206
217
  }
218
+ const serverRootCert = tls.serverRootCACertificate && Buffer.from(tls.serverRootCACertificate);
219
+ const clientCertKey = tls.clientCertPair?.key && Buffer.from(tls.clientCertPair?.key);
220
+ const clientCertCrt = tls.clientCertPair?.crt && Buffer.from(tls.clientCertPair?.crt);
207
221
  return {
208
222
  ...rest,
209
223
  credentials: grpc.credentials.combineChannelCredentials(
210
- grpc.credentials.createSsl(tls.serverRootCACertificate, tls.clientCertPair?.key, tls.clientCertPair?.crt),
224
+ grpc.credentials.createSsl(serverRootCert, clientCertKey, clientCertCrt),
211
225
  ...(callCredentials ?? [])
212
226
  ),
213
227
  channelArgs: {
@@ -322,10 +336,12 @@ export class Connection {
322
336
  */
323
337
  public readonly healthService: HealthService;
324
338
 
339
+ public readonly plugins: ConnectionPlugin[];
340
+
325
341
  readonly callContextStorage: AsyncLocalStorage<CallContext>;
326
342
  private readonly apiKeyFnRef: { fn?: () => string };
327
343
 
328
- protected static createCtorOptions(options?: ConnectionOptions): ConnectionCtorOptions {
344
+ protected static createCtorOptions(options: ConnectionOptions): ConnectionCtorOptions {
329
345
  const normalizedOptions = normalizeGRPCConfig(options);
330
346
  const apiKeyFnRef: { fn?: () => string } = {};
331
347
  if (normalizedOptions.apiKey) {
@@ -441,6 +457,12 @@ export class Connection {
441
457
  * This method does not verify connectivity with the server. We recommend using {@link connect} instead.
442
458
  */
443
459
  static lazy(options?: ConnectionOptions): Connection {
460
+ options = options ?? {};
461
+ for (const plugin of options.plugins ?? []) {
462
+ if (plugin.configureConnection !== undefined) {
463
+ options = plugin.configureConnection(options);
464
+ }
465
+ }
444
466
  return new this(this.createCtorOptions(options));
445
467
  }
446
468
 
@@ -474,6 +496,7 @@ export class Connection {
474
496
  this.healthService = healthService;
475
497
  this.callContextStorage = callContextStorage;
476
498
  this.apiKeyFnRef = apiKeyFnRef;
499
+ this.plugins = options.plugins ?? [];
477
500
  }
478
501
 
479
502
  protected static generateRPCImplementation({
@@ -529,7 +552,7 @@ export class Connection {
529
552
  * this will locally result in the request call throwing a {@link grpc.ServiceError|ServiceError}
530
553
  * with code {@link grpc.status.DEADLINE_EXCEEDED|DEADLINE_EXCEEDED}; see {@link isGrpcDeadlineError}.
531
554
  *
532
- * It is stronly recommended to explicitly set deadlines. If no deadline is set, then it is
555
+ * It is strongly recommended to explicitly set deadlines. If no deadline is set, then it is
533
556
  * possible for the client to end up waiting forever for a response.
534
557
  *
535
558
  * @param deadline a point in time after which the request will be considered as failed; either a
@@ -685,3 +708,20 @@ export class Connection {
685
708
  return wrapper as WorkflowService;
686
709
  }
687
710
  }
711
+
712
+ /**
713
+ * Plugin to control the configuration of a connection.
714
+ *
715
+ * @experimental Plugins is an experimental feature; APIs may change without notice.
716
+ */
717
+ export interface ConnectionPlugin {
718
+ /**
719
+ * Gets the name of this plugin.
720
+ */
721
+ get name(): string;
722
+
723
+ /**
724
+ * Hook called when creating a connection to allow modification of configuration.
725
+ */
726
+ configureConnection?(options: ConnectionOptions): ConnectionOptions;
727
+ }
package/src/index.ts CHANGED
@@ -30,7 +30,13 @@ export * from '@temporalio/common/lib/interfaces';
30
30
  export * from '@temporalio/common/lib/workflow-handle';
31
31
  export * from './async-completion-client';
32
32
  export * from './client';
33
- export { Connection, ConnectionOptions, ConnectionOptionsWithDefaults, LOCAL_TARGET } from './connection';
33
+ export {
34
+ Connection,
35
+ ConnectionOptions,
36
+ ConnectionOptionsWithDefaults,
37
+ ConnectionPlugin,
38
+ LOCAL_TARGET,
39
+ } from './connection';
34
40
  export * from './errors';
35
41
  export * from './grpc-retry';
36
42
  export * from './interceptors';
package/src/types.ts CHANGED
@@ -3,6 +3,7 @@ import type { TypedSearchAttributes, SearchAttributes, SearchAttributeValue, Pri
3
3
  import { makeProtoEnumConverters } from '@temporalio/common/lib/internal-workflow';
4
4
  import * as proto from '@temporalio/proto';
5
5
  import { Replace } from '@temporalio/common/lib/type-helpers';
6
+ import type { ConnectionPlugin } from './connection';
6
7
 
7
8
  export interface WorkflowExecution {
8
9
  workflowId: string;
@@ -122,6 +123,7 @@ export interface CallContext {
122
123
  */
123
124
  export interface ConnectionLike {
124
125
  workflowService: WorkflowService;
126
+ plugins: ConnectionPlugin[];
125
127
  close(): Promise<void>;
126
128
  ensureConnected(): Promise<void>;
127
129