@temporalio/workflow 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.
@@ -28,10 +28,10 @@ function overrideGlobals() {
28
28
  if (args.length > 0) {
29
29
  return new OriginalDate(...args);
30
30
  }
31
- return new OriginalDate((0, internals_1.getActivator)().now);
31
+ return new OriginalDate((0, global_attributes_1.getActivator)().now);
32
32
  };
33
33
  global.Date.now = function () {
34
- return (0, internals_1.getActivator)().now;
34
+ return (0, global_attributes_1.getActivator)().now;
35
35
  };
36
36
  global.Date.parse = OriginalDate.parse.bind(OriginalDate);
37
37
  global.Date.UTC = OriginalDate.UTC.bind(OriginalDate);
@@ -40,7 +40,7 @@ function overrideGlobals() {
40
40
  * @param ms sleep duration - number of milliseconds. If given a negative number, value will be set to 1.
41
41
  */
42
42
  global.setTimeout = function (cb, ms, ...args) {
43
- const activator = (0, internals_1.getActivator)();
43
+ const activator = (0, global_attributes_1.getActivator)();
44
44
  ms = Math.max(1, ms);
45
45
  const seq = activator.nextSeqs.timer++;
46
46
  // Create a Promise for AsyncLocalStorage to be able to track this completion using promise hooks.
@@ -56,7 +56,7 @@ function overrideGlobals() {
56
56
  return seq;
57
57
  };
58
58
  global.clearTimeout = function (handle) {
59
- const activator = (0, internals_1.getActivator)();
59
+ const activator = (0, global_attributes_1.getActivator)();
60
60
  activator.nextSeqs.timer++;
61
61
  activator.completions.timer.delete(handle);
62
62
  activator.pushCommand({
@@ -66,7 +66,7 @@ function overrideGlobals() {
66
66
  });
67
67
  };
68
68
  // activator.random is mutable, don't hardcode its reference
69
- Math.random = () => (0, internals_1.getActivator)().random();
69
+ Math.random = () => (0, global_attributes_1.getActivator)().random();
70
70
  }
71
71
  exports.overrideGlobals = overrideGlobals;
72
72
  /**
@@ -75,9 +75,13 @@ exports.overrideGlobals = overrideGlobals;
75
75
  * Sets required internal state and instantiates the workflow and interceptors.
76
76
  */
77
77
  function initRuntime(options) {
78
- const info = fixPrototypes(options.info);
79
- info.unsafe.now = OriginalDate.now;
80
- const activator = new internals_1.Activator({ ...options, info });
78
+ const activator = new internals_1.Activator({
79
+ ...options,
80
+ info: fixPrototypes({
81
+ ...options.info,
82
+ unsafe: { ...options.info.unsafe, now: OriginalDate.now },
83
+ }),
84
+ });
81
85
  // There's on activator per workflow instance, set it globally on the context.
82
86
  // We do this before importing any user code so user code can statically reference @temporalio/workflow functions
83
87
  // as well as Date and Math.random.
@@ -114,7 +118,7 @@ function initRuntime(options) {
114
118
  }
115
119
  }
116
120
  const mod = importWorkflows();
117
- const workflowFn = mod[info.workflowType];
121
+ const workflowFn = mod[activator.info.workflowType];
118
122
  const defaultWorkflowFn = mod['default'];
119
123
  if (typeof workflowFn === 'function') {
120
124
  activator.workflow = workflowFn;
@@ -126,7 +130,7 @@ function initRuntime(options) {
126
130
  const details = workflowFn === undefined
127
131
  ? 'no such function is exported by the workflow bundle'
128
132
  : `expected a function, but got: '${typeof workflowFn}'`;
129
- throw new TypeError(`Failed to initialize workflow of type '${info.workflowType}': ${details}`);
133
+ throw new TypeError(`Failed to initialize workflow of type '${activator.info.workflowType}': ${details}`);
130
134
  }
131
135
  }
132
136
  exports.initRuntime = initRuntime;
@@ -155,7 +159,7 @@ function fixPrototypes(obj) {
155
159
  * @returns a boolean indicating whether job was processed or ignored
156
160
  */
157
161
  function activate(activation, batchIndex) {
158
- const activator = (0, internals_1.getActivator)();
162
+ const activator = (0, global_attributes_1.getActivator)();
159
163
  const intercept = (0, interceptors_1.composeInterceptors)(activator.interceptors.internals, 'activate', ({ activation, batchIndex }) => {
160
164
  if (batchIndex === 0) {
161
165
  if (!activation.jobs) {
@@ -166,12 +170,18 @@ function activate(activation, batchIndex) {
166
170
  activator.now = (0, time_1.tsToMs)(activation.timestamp);
167
171
  }
168
172
  // The Rust Core ensures that these activation fields are not null
169
- activator.info.unsafe.isReplaying = activation.isReplaying ?? false;
170
- activator.info.historyLength = activation.historyLength;
171
- // Exact truncation for multi-petabyte histories
172
- // historySize === 0 means WFT was generated by pre-1.20.0 server, and the history size is unknown
173
- activator.info.historySize = activation.historySizeBytes?.toNumber() || 0;
174
- activator.info.continueAsNewSuggested = activation.continueAsNewSuggested ?? false;
173
+ activator.mutateWorkflowInfo((info) => ({
174
+ ...info,
175
+ historyLength: activation.historyLength,
176
+ // Exact truncation for multi-petabyte histories
177
+ // historySize === 0 means WFT was generated by pre-1.20.0 server, and the history size is unknown
178
+ historySize: activation.historySizeBytes?.toNumber() || 0,
179
+ continueAsNewSuggested: activation.continueAsNewSuggested ?? false,
180
+ unsafe: {
181
+ ...info.unsafe,
182
+ isReplaying: activation.isReplaying ?? false,
183
+ },
184
+ }));
175
185
  }
176
186
  // Cast from the interface to the class which has the `variant` attribute.
177
187
  // This is safe because we know that activation is a proto class.
@@ -209,7 +219,8 @@ exports.activate = activate;
209
219
  * Activation failures are handled in the main Node.js isolate.
210
220
  */
211
221
  function concludeActivation() {
212
- const activator = (0, internals_1.getActivator)();
222
+ const activator = (0, global_attributes_1.getActivator)();
223
+ activator.rejectBufferedUpdates();
213
224
  const intercept = (0, interceptors_1.composeInterceptors)(activator.interceptors.internals, 'concludeActivation', (input) => input);
214
225
  const { info } = activator;
215
226
  const { commands } = intercept({ commands: activator.getAndResetCommands() });
@@ -220,7 +231,7 @@ function concludeActivation() {
220
231
  }
221
232
  exports.concludeActivation = concludeActivation;
222
233
  function getAndResetSinkCalls() {
223
- return (0, internals_1.getActivator)().getAndResetSinkCalls();
234
+ return (0, global_attributes_1.getActivator)().getAndResetSinkCalls();
224
235
  }
225
236
  exports.getAndResetSinkCalls = getAndResetSinkCalls;
226
237
  /**
@@ -232,12 +243,12 @@ function tryUnblockConditions() {
232
243
  let numUnblocked = 0;
233
244
  for (;;) {
234
245
  const prevUnblocked = numUnblocked;
235
- for (const [seq, cond] of (0, internals_1.getActivator)().blockedConditions.entries()) {
246
+ for (const [seq, cond] of (0, global_attributes_1.getActivator)().blockedConditions.entries()) {
236
247
  if (cond.fn()) {
237
248
  cond.resolve();
238
249
  numUnblocked++;
239
250
  // It is safe to delete elements during map iteration
240
- (0, internals_1.getActivator)().blockedConditions.delete(seq);
251
+ (0, global_attributes_1.getActivator)().blockedConditions.delete(seq);
241
252
  }
242
253
  }
243
254
  if (prevUnblocked === numUnblocked) {
@@ -255,7 +266,7 @@ function shouldUnblockConditions(job) {
255
266
  }
256
267
  exports.shouldUnblockConditions = shouldUnblockConditions;
257
268
  function dispose() {
258
- const dispose = (0, interceptors_1.composeInterceptors)((0, internals_1.getActivator)().interceptors.internals, 'dispose', async () => {
269
+ const dispose = (0, interceptors_1.composeInterceptors)((0, global_attributes_1.getActivator)().interceptors.internals, 'dispose', async () => {
259
270
  (0, cancellation_scope_1.disableStorage)();
260
271
  });
261
272
  dispose({});
@@ -1 +1 @@
1
- {"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+CAAuD;AACvD,sDAA6D;AAC7D,sEAA0E;AAE1E,6DAAsD;AACtD,qCAAqD;AAGrD,2CAAsD;AAEtD,2DAA0D;AAK1D,MAAM,MAAM,GAAG,UAAiB,CAAC;AACjC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;AAErC,SAAgB,eAAe;IAC7B,0GAA0G;IAC1G,+EAA+E;IAC/E,MAAM,CAAC,OAAO,GAAG;QACf,MAAM,IAAI,kCAAyB,CAAC,wEAAwE,CAAC,CAAC;IAChH,CAAC,CAAC;IACF,MAAM,CAAC,oBAAoB,GAAG;QAC5B,MAAM,IAAI,kCAAyB,CACjC,qFAAqF,CACtF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,GAAG,UAAU,GAAG,IAAe;QACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,OAAO,IAAK,YAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,YAAY,CAAC,IAAA,wBAAY,GAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG;QAChB,OAAO,IAAA,wBAAY,GAAE,CAAC,GAAG,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEtD,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,UAAU,GAAG,UAAU,EAA2B,EAAE,EAAU,EAAE,GAAG,IAAW;QACnF,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;QACjC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvC,kGAAkG;QAClG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,SAAS,CAAC,WAAW,CAAC;gBACpB,UAAU,EAAE;oBACV,GAAG;oBACH,kBAAkB,EAAE,IAAA,aAAM,EAAC,EAAE,CAAC;iBAC/B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EACjB,GAAG,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAC1C,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,CAAC,YAAY,GAAG,UAAU,MAAc;QAC5C,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;QACjC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC3B,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,SAAS,CAAC,WAAW,CAAC;YACpB,WAAW,EAAE;gBACX,GAAG,EAAE,MAAM;aACZ;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,4DAA4D;IAC5D,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAA,wBAAY,GAAE,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAhED,0CAgEC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,OAAsC;IAChE,MAAM,IAAI,GAAiB,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,8EAA8E;IAC9E,iHAAiH;IACjH,mCAAmC;IACnC,IAAA,uCAAmB,EAAC,SAAS,CAAC,CAAC;IAE/B,wCAAwC;IACxC,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC,gBAAgB,CAAC;IAC/F,2DAA2D;IAC3D,IAAI,sBAAsB,IAAI,IAAI,EAAE;QAClC,SAAS,CAAC,gBAAgB,GAAG,sBAAsB,CAAC;KACrD;IACD,wCAAwC;IACxC,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC,gBAAgB,CAAC;IAC/F,2DAA2D;IAC3D,IAAI,sBAAsB,IAAI,IAAI,EAAE;QAClC,SAAS,CAAC,gBAAgB,GAAG,sBAAsB,CAAC;KACrD;IAED,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC;IACpE,IAAI,eAAe,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACrE,MAAM,IAAI,0BAAiB,CAAC,+CAA+C,CAAC,CAAC;KAC9E;IAED,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,MAAM,OAAO,GAAgC,GAAG,CAAC,YAAY,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;gBACjC,MAAM,IAAI,SAAS,CAAC,+EAA+E,OAAO,GAAG,CAAC,CAAC;aAChH;YACD,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;YAC/B,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACrE,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YACvE,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;SAC1E;KACF;IAED,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAEzC,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QACpC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC;KACjC;SAAM,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;QAClD,SAAS,CAAC,QAAQ,GAAG,iBAAiB,CAAC;KACxC;SAAM;QACL,MAAM,OAAO,GACX,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,qDAAqD;YACvD,CAAC,CAAC,kCAAkC,OAAO,UAAU,GAAG,CAAC;QAC7D,MAAM,IAAI,SAAS,CAAC,0CAA0C,IAAI,CAAC,YAAY,MAAM,OAAO,EAAE,CAAC,CAAC;KACjG;AACH,CAAC;AA1DD,kCA0DC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAI,GAAM;IAC9B,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC1C,QAAQ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;YACrD,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC,IAAI,CAAE,GAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAM,CAAC;YACrE,KAAK,MAAM;gBACT,OAAO,IAAI,IAAI,CAAC,GAAsB,CAAM,CAAC;YAC/C;gBACE,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAM,CAAC;SAC7G;KACF;;QAAM,OAAO,GAAG,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,UAA0D,EAAE,UAAkB;IACrG,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,kCAAmB,EAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;QACjH,IAAI,UAAU,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;gBACpB,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAC;aACpD;YACD,IAAI,UAAU,CAAC,SAAS,IAAI,IAAI,EAAE;gBAChC,yEAAyE;gBACzE,SAAS,CAAC,GAAG,GAAG,IAAA,aAAM,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC;aAC9C;YAED,kEAAkE;YAClE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC;YACpE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAuB,CAAC;YAClE,gDAAgD;YAChD,kGAAkG;YAClG,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1E,SAAS,CAAC,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAC,sBAAsB,IAAI,KAAK,CAAC;SACpF;QAED,0EAA0E;QAC1E,iEAAiE;QACjE,MAAM,IAAI,GAAG,UAAU,CAAC,IAA2D,CAAC;QAEpF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC7B,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;aAC3D;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,SAAS,CAAC,gBAAgB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC;aAC9D;YACD,wEAAwE;YACxE,sEAAsE;YACtE,8EAA8E;YAC9E,IAAI,SAAS,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe,EAAE;gBAC1D,OAAO;aACR;YACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAc,CAAC,8BAA8B,CAAC,CAAC;YACtE,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE;gBAChC,oBAAoB,EAAE,CAAC;aACxB;SACF;IACH,CAAC,CAAC,CAAC;IACH,SAAS,CAAC;QACR,UAAU;QACV,UAAU;KACX,CAAC,CAAC;AACL,CAAC;AAlDD,4BAkDC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB;IAChC,MAAM,SAAS,GAAG,IAAA,wBAAY,GAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAA,kCAAmB,EAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAChH,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,UAAU,EAAE,EAAE,QAAQ,EAAE;KACzB,CAAC;AACJ,CAAC;AATD,gDASC;AAED,SAAgB,oBAAoB;IAClC,OAAO,IAAA,wBAAY,GAAE,CAAC,oBAAoB,EAAE,CAAC;AAC/C,CAAC;AAFD,oDAEC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,SAAS;QACP,MAAM,aAAa,GAAG,YAAY,CAAC;QACnC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAA,wBAAY,GAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE;YACpE,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,qDAAqD;gBACrD,IAAA,wBAAY,GAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC9C;SACF;QACD,IAAI,aAAa,KAAK,YAAY,EAAE;YAClC,MAAM;SACP;KACF;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAjBD,oDAiBC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,GAAuD;IAC7F,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;AACnD,CAAC;AAFD,0DAEC;AAED,SAAgB,OAAO;IACrB,MAAM,OAAO,GAAG,IAAA,kCAAmB,EAAC,IAAA,wBAAY,GAAE,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/F,IAAA,mCAAc,GAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AALD,0BAKC"}
1
+ {"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":"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"}
package/lib/workflow.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { ActivityFunction, ActivityOptions, LocalActivityOptions, QueryDefinition, SearchAttributes, SignalDefinition, UntypedActivities, WithWorkflowArgs, Workflow, WorkflowResultType, WorkflowReturnType } from '@temporalio/common';
1
+ import { ActivityFunction, ActivityOptions, LocalActivityOptions, QueryDefinition, SearchAttributes, SignalDefinition, UntypedActivities, UpdateDefinition, WithWorkflowArgs, Workflow, WorkflowResultType, WorkflowReturnType } from '@temporalio/common';
2
2
  import { Duration } from '@temporalio/common/lib/time';
3
- import { ChildWorkflowOptions, ChildWorkflowOptionsWithDefaults, ContinueAsNewOptions, DefaultSignalHandler, EnhancedStackTrace, Handler, WorkflowInfo } from './interfaces';
4
- import { LoggerSinks, Sinks } from './sinks';
3
+ import { ChildWorkflowOptions, ChildWorkflowOptionsWithDefaults, ContinueAsNewOptions, DefaultSignalHandler, EnhancedStackTrace, Handler, UpdateValidator, WorkflowInfo } from './interfaces';
5
4
  import { ChildWorkflowHandle, ExternalWorkflowHandle } from './workflow-handle';
6
5
  /**
7
6
  * Adds default values to `workflowId` and `workflowIdReusePolicy` to given workflow options.
@@ -207,9 +206,11 @@ export declare function executeChild<T extends () => WorkflowReturnType>(workflo
207
206
  /**
208
207
  * Get information about the current Workflow.
209
208
  *
210
- * ⚠️ We recommend calling `workflowInfo()` whenever accessing {@link WorkflowInfo} fields. Some WorkflowInfo fields
211
- * change during the lifetime of an Execution—like {@link WorkflowInfo.historyLength} and
212
- * {@link WorkflowInfo.searchAttributes}—and some may be changeable in the future—like {@link WorkflowInfo.taskQueue}.
209
+ * WARNING: This function returns a frozen copy of WorkflowInfo, at the point where this method has been called.
210
+ * Changes happening at later point in workflow execution will not be reflected in the returned object.
211
+ *
212
+ * For this reason, we recommend calling `workflowInfo()` on every access to {@link WorkflowInfo}'s fields,
213
+ * rather than caching the `WorkflowInfo` object (or part of it) in a local variable. For example:
213
214
  *
214
215
  * ```ts
215
216
  * // GOOD
@@ -220,6 +221,8 @@ export declare function executeChild<T extends () => WorkflowReturnType>(workflo
220
221
  * }
221
222
  * ```
222
223
  *
224
+ * vs
225
+ *
223
226
  * ```ts
224
227
  * // BAD
225
228
  * function myWorkflow() {
@@ -228,43 +231,13 @@ export declare function executeChild<T extends () => WorkflowReturnType>(workflo
228
231
  * ...
229
232
  * doSomethingElse(attributes)
230
233
  * }
234
+ * ```
231
235
  */
232
236
  export declare function workflowInfo(): WorkflowInfo;
233
237
  /**
234
238
  * Returns whether or not code is executing in workflow context
235
239
  */
236
240
  export declare function inWorkflowContext(): boolean;
237
- /**
238
- * Get a reference to Sinks for exporting data out of the Workflow.
239
- *
240
- * These Sinks **must** be registered with the Worker in order for this
241
- * mechanism to work.
242
- *
243
- * @example
244
- * ```ts
245
- * import { proxySinks, Sinks } from '@temporalio/workflow';
246
- *
247
- * interface MySinks extends Sinks {
248
- * logger: {
249
- * info(message: string): void;
250
- * error(message: string): void;
251
- * };
252
- * }
253
- *
254
- * const { logger } = proxySinks<MyDependencies>();
255
- * logger.info('setting up');
256
- *
257
- * export function myWorkflow() {
258
- * return {
259
- * async execute() {
260
- * logger.info("hey ho");
261
- * logger.error("lets go");
262
- * }
263
- * };
264
- * }
265
- * ```
266
- */
267
- export declare function proxySinks<T extends Sinks>(): T;
268
241
  /**
269
242
  * Returns a function `f` that will cause the current Workflow to ContinueAsNew when called.
270
243
  *
@@ -346,6 +319,13 @@ export declare function condition(fn: () => boolean, timeout: Duration): Promise
346
319
  * Returns a Promise that resolves when `fn` evaluates to `true`.
347
320
  */
348
321
  export declare function condition(fn: () => boolean): Promise<void>;
322
+ /**
323
+ * Define an update method for a Workflow.
324
+ *
325
+ * Definitions are used to register handler in the Workflow via {@link setHandler} and to update Workflows using a {@link WorkflowHandle}, {@link ChildWorkflowHandle} or {@link ExternalWorkflowHandle}.
326
+ * Definitions can be reused in multiple Workflows.
327
+ */
328
+ export declare function defineUpdate<Ret, Args extends any[] = [], Name extends string = string>(name: Name): UpdateDefinition<Ret, Args, Name>;
349
329
  /**
350
330
  * Define a signal method for a Workflow.
351
331
  *
@@ -361,14 +341,17 @@ export declare function defineSignal<Args extends any[] = [], Name extends strin
361
341
  */
362
342
  export declare function defineQuery<Ret, Args extends any[] = [], Name extends string = string>(name: Name): QueryDefinition<Ret, Args, Name>;
363
343
  /**
364
- * Set a handler function for a Workflow query or signal.
344
+ * Set a handler function for a Workflow update, signal, or query.
365
345
  *
366
- * If this function is called multiple times for a given signal or query name the last handler will overwrite any previous calls.
346
+ * If this function is called multiple times for a given update, signal, or query name the last handler will overwrite any previous calls.
367
347
  *
368
- * @param def a {@link SignalDefinition} or {@link QueryDefinition} as returned by {@link defineSignal} or {@link defineQuery} respectively.
348
+ * @param def an {@link UpdateDefinition}, {@link SignalDefinition}, or {@link QueryDefinition} as returned by {@link defineUpdate}, {@link defineSignal}, or {@link defineQuery} respectively.
369
349
  * @param handler a compatible handler function for the given definition or `undefined` to unset the handler.
370
350
  */
371
351
  export declare function setHandler<Ret, Args extends any[], T extends SignalDefinition<Args> | QueryDefinition<Ret, Args>>(def: T, handler: Handler<Ret, Args, T> | undefined): void;
352
+ export declare function setHandler<Ret, Args extends any[], T extends UpdateDefinition<Ret, Args>>(def: T, handler: Handler<Ret, Args, T> | undefined, options?: {
353
+ validator: UpdateValidator<Args>;
354
+ }): void;
372
355
  /**
373
356
  * Set a signal handler function that will handle signals calls for non-registered signal names.
374
357
  *
@@ -411,17 +394,3 @@ export declare function setDefaultSignalHandler(handler: DefaultSignalHandler |
411
394
  export declare function upsertSearchAttributes(searchAttributes: SearchAttributes): void;
412
395
  export declare const stackTraceQuery: QueryDefinition<string, [], string>;
413
396
  export declare const enhancedStackTraceQuery: QueryDefinition<EnhancedStackTrace, [], string>;
414
- /**
415
- * Default workflow logger.
416
- * This logger is replay-aware and will omit log messages on workflow replay.
417
- * The messages emitted by this logger are funnelled to the worker's `defaultSinks`, which are installed by default.
418
- *
419
- * Note that since sinks are used to power this logger, any log attributes must be transferable via the
420
- * {@link https://nodejs.org/api/worker_threads.html#worker_threads_port_postmessage_value_transferlist | postMessage}
421
- * API.
422
- *
423
- * `defaultSinks` accepts a user logger and defaults to the `Runtime`'s logger.
424
- *
425
- * See the documentation for `WorkerOptions`, `defaultSinks`, and `Runtime` for more information.
426
- */
427
- export declare const log: LoggerSinks['defaultWorkerLogger'];