@temporalio/workflow 0.22.0 → 1.0.0-rc.1

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/workflow.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setHandler = exports.defineQuery = exports.defineSignal = exports.condition = exports.deprecatePatch = exports.patched = exports.uuid4 = exports.continueAsNew = exports.makeContinueAsNewFunc = exports.proxySinks = exports.inWorkflowContext = exports.workflowInfo = exports.executeChild = exports.startChild = exports.getExternalWorkflowHandle = exports.proxyLocalActivities = exports.proxyActivities = exports.scheduleLocalActivity = exports.scheduleActivity = exports.validateActivityOptions = exports.sleep = exports.addDefaultWorkflowOptions = void 0;
3
+ exports.stackTraceQuery = exports.taskInfo = exports.upsertSearchAttributes = exports.setHandler = exports.defineQuery = exports.defineSignal = exports.condition = exports.deprecatePatch = exports.patched = exports.uuid4 = exports.continueAsNew = exports.makeContinueAsNewFunc = exports.proxySinks = exports.inWorkflowContext = exports.workflowInfo = exports.executeChild = exports.startChild = exports.getExternalWorkflowHandle = exports.proxyLocalActivities = exports.proxyActivities = exports.NotAnActivityMethod = exports.scheduleLocalActivity = exports.scheduleActivity = exports.sleep = exports.addDefaultWorkflowOptions = void 0;
4
4
  const common_1 = require("@temporalio/common");
5
5
  const internal_workflow_common_1 = require("@temporalio/internal-workflow-common");
6
6
  const cancellation_scope_1 = require("./cancellation-scope");
7
7
  const interfaces_1 = require("./interfaces");
8
8
  const internals_1 = require("./internals");
9
+ const stack_helpers_1 = require("./stack-helpers");
9
10
  // Avoid a circular dependency
10
11
  (0, cancellation_scope_1.registerSleepImplementation)(sleep);
11
12
  /**
@@ -28,11 +29,11 @@ function timerNextHandler(input) {
28
29
  return new Promise((resolve, reject) => {
29
30
  const scope = cancellation_scope_1.CancellationScope.current();
30
31
  if (scope.consideredCancelled) {
31
- scope.cancelRequested.catch(reject);
32
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
32
33
  return;
33
34
  }
34
35
  if (scope.cancellable) {
35
- scope.cancelRequested.catch((err) => {
36
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch((err) => {
36
37
  if (!internals_1.state.completions.timer.delete(input.seq)) {
37
38
  return; // Already resolved or never scheduled
38
39
  }
@@ -42,7 +43,7 @@ function timerNextHandler(input) {
42
43
  },
43
44
  });
44
45
  reject(err);
45
- });
46
+ }));
46
47
  }
47
48
  internals_1.state.pushCommand({
48
49
  startTimer: {
@@ -61,28 +62,24 @@ function timerNextHandler(input) {
61
62
  *
62
63
  * Schedules a timer on the Temporal service.
63
64
  *
64
- * @param ms sleep duration - {@link https://www.npmjs.com/package/ms | ms} formatted string or number of milliseconds. If given a negative number, value will be set to 1.
65
- *
65
+ * @param ms sleep duration - {@link https://www.npmjs.com/package/ms | ms} formatted string or number of milliseconds.
66
+ * If given a negative number or 0, value will be set to 1.
66
67
  */
67
68
  function sleep(ms) {
68
69
  const seq = internals_1.state.nextSeqs.timer++;
69
- const execute = (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.outbound, 'startTimer', timerNextHandler);
70
70
  const durationMs = Math.max(1, (0, internal_workflow_common_1.msToNumber)(ms));
71
+ const execute = (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.outbound, 'startTimer', timerNextHandler);
71
72
  return execute({
72
73
  durationMs,
73
74
  seq,
74
75
  });
75
76
  }
76
77
  exports.sleep = sleep;
77
- /**
78
- * @hidden
79
- */
80
78
  function validateActivityOptions(options) {
81
79
  if (options.scheduleToCloseTimeout === undefined && options.startToCloseTimeout === undefined) {
82
80
  throw new TypeError('Required either scheduleToCloseTimeout or startToCloseTimeout');
83
81
  }
84
82
  }
85
- exports.validateActivityOptions = validateActivityOptions;
86
83
  // Use same validation we use for normal activities
87
84
  const validateLocalActivityOptions = validateActivityOptions;
88
85
  /**
@@ -93,16 +90,16 @@ const validateLocalActivityOptions = validateActivityOptions;
93
90
  /**
94
91
  * Push a scheduleActivity command into state accumulator and register completion
95
92
  */
96
- async function scheduleActivityNextHandler({ options, args, headers, seq, activityType, }) {
93
+ function scheduleActivityNextHandler({ options, args, headers, seq, activityType }) {
97
94
  validateActivityOptions(options);
98
95
  return new Promise((resolve, reject) => {
99
96
  const scope = cancellation_scope_1.CancellationScope.current();
100
97
  if (scope.consideredCancelled) {
101
- scope.cancelRequested.catch(reject);
98
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
102
99
  return;
103
100
  }
104
101
  if (scope.cancellable) {
105
- scope.cancelRequested.catch(() => {
102
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(() => {
106
103
  if (!internals_1.state.completions.activity.has(seq)) {
107
104
  return; // Already resolved or never scheduled
108
105
  }
@@ -111,7 +108,7 @@ async function scheduleActivityNextHandler({ options, args, headers, seq, activi
111
108
  seq,
112
109
  },
113
110
  });
114
- });
111
+ }));
115
112
  }
116
113
  internals_1.state.pushCommand({
117
114
  scheduleActivity: {
@@ -143,11 +140,11 @@ async function scheduleLocalActivityNextHandler({ options, args, headers, seq, a
143
140
  return new Promise((resolve, reject) => {
144
141
  const scope = cancellation_scope_1.CancellationScope.current();
145
142
  if (scope.consideredCancelled) {
146
- scope.cancelRequested.catch(reject);
143
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
147
144
  return;
148
145
  }
149
146
  if (scope.cancellable) {
150
- scope.cancelRequested.catch(() => {
147
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(() => {
151
148
  if (!internals_1.state.completions.activity.has(seq)) {
152
149
  return; // Already resolved or never scheduled
153
150
  }
@@ -156,7 +153,7 @@ async function scheduleLocalActivityNextHandler({ options, args, headers, seq, a
156
153
  seq,
157
154
  },
158
155
  });
159
- });
156
+ }));
160
157
  }
161
158
  internals_1.state.pushCommand({
162
159
  scheduleLocalActivity: {
@@ -167,7 +164,7 @@ async function scheduleLocalActivityNextHandler({ options, args, headers, seq, a
167
164
  activityId: `${seq}`,
168
165
  activityType,
169
166
  arguments: (0, common_1.toPayloads)(internals_1.state.payloadConverter, ...args),
170
- retryPolicy: options.retry ? (0, internal_workflow_common_1.compileRetryPolicy)(options.retry) : {},
167
+ retryPolicy: options.retry ? (0, internal_workflow_common_1.compileRetryPolicy)(options.retry) : undefined,
171
168
  scheduleToCloseTimeout: (0, internal_workflow_common_1.msOptionalToTs)(options.scheduleToCloseTimeout),
172
169
  startToCloseTimeout: (0, internal_workflow_common_1.msOptionalToTs)(options.startToCloseTimeout),
173
170
  scheduleToStartTimeout: (0, internal_workflow_common_1.msOptionalToTs)(options.scheduleToStartTimeout),
@@ -241,16 +238,16 @@ async function scheduleLocalActivity(activityType, args, options) {
241
238
  }
242
239
  }
243
240
  exports.scheduleLocalActivity = scheduleLocalActivity;
244
- async function startChildWorkflowExecutionNextHandler({ options, headers, workflowType, seq, }) {
241
+ function startChildWorkflowExecutionNextHandler({ options, headers, workflowType, seq, }) {
245
242
  const workflowId = options.workflowId ?? uuid4();
246
243
  const startPromise = new Promise((resolve, reject) => {
247
244
  const scope = cancellation_scope_1.CancellationScope.current();
248
245
  if (scope.consideredCancelled) {
249
- scope.cancelRequested.catch(reject);
246
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
250
247
  return;
251
248
  }
252
249
  if (scope.cancellable) {
253
- scope.cancelRequested.catch(() => {
250
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(() => {
254
251
  const complete = !internals_1.state.completions.childWorkflowComplete.has(seq);
255
252
  const started = !internals_1.state.completions.childWorkflowStart.has(seq);
256
253
  if (started && !complete) {
@@ -270,7 +267,7 @@ async function startChildWorkflowExecutionNextHandler({ options, headers, workfl
270
267
  });
271
268
  }
272
269
  // Nothing to cancel otherwise
273
- });
270
+ }));
274
271
  }
275
272
  internals_1.state.pushCommand({
276
273
  startChildWorkflowExecution: {
@@ -304,15 +301,19 @@ async function startChildWorkflowExecutionNextHandler({ options, headers, workfl
304
301
  // if the Workflow code will await it to capture the result in case it does.
305
302
  const completePromise = new Promise((resolve, reject) => {
306
303
  // Chain start Promise rejection to the complete Promise.
307
- startPromise.catch(reject);
304
+ (0, stack_helpers_1.untrackPromise)(startPromise.catch(reject));
308
305
  internals_1.state.completions.childWorkflowComplete.set(seq, {
309
306
  resolve,
310
307
  reject,
311
308
  });
312
309
  });
310
+ (0, stack_helpers_1.untrackPromise)(startPromise);
311
+ (0, stack_helpers_1.untrackPromise)(completePromise);
313
312
  // Prevent unhandled rejection because the completion might not be awaited
314
- completePromise.catch(() => undefined);
315
- return [startPromise, completePromise];
313
+ (0, stack_helpers_1.untrackPromise)(completePromise.catch(() => undefined));
314
+ const ret = new Promise((resolve) => resolve([startPromise, completePromise]));
315
+ (0, stack_helpers_1.untrackPromise)(ret);
316
+ return ret;
316
317
  }
317
318
  function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
318
319
  return new Promise((resolve, reject) => {
@@ -321,16 +322,16 @@ function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
321
322
  }
322
323
  const scope = cancellation_scope_1.CancellationScope.current();
323
324
  if (scope.consideredCancelled) {
324
- scope.cancelRequested.catch(reject);
325
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
325
326
  return;
326
327
  }
327
328
  if (scope.cancellable) {
328
- scope.cancelRequested.catch(() => {
329
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(() => {
329
330
  if (!internals_1.state.completions.signalWorkflow.has(seq)) {
330
331
  return;
331
332
  }
332
333
  internals_1.state.pushCommand({ cancelSignalWorkflow: { seq } });
333
- });
334
+ }));
334
335
  }
335
336
  internals_1.state.pushCommand({
336
337
  signalExternalWorkflowExecution: {
@@ -353,19 +354,25 @@ function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
353
354
  internals_1.state.completions.signalWorkflow.set(seq, { resolve, reject });
354
355
  });
355
356
  }
357
+ /**
358
+ * Symbol used in the return type of proxy methods to mark that an attribute on the source type is not a method.
359
+ *
360
+ * @see {@link ActivityInterfaceFor}
361
+ * @see {@link proxyActivities}
362
+ * @see {@link proxyLocalActivities}
363
+ */
364
+ exports.NotAnActivityMethod = Symbol.for('__TEMPORAL_NOT_AN_ACTIVITY_METHOD');
356
365
  /**
357
366
  * Configure Activity functions with given {@link ActivityOptions}.
358
367
  *
359
368
  * This method may be called multiple times to setup Activities with different options.
360
369
  *
361
- * @return a [Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy)
362
- * for which each attribute is a callable Activity function
363
- *
364
- * @typeparam A An {@link ActivityInterface} - mapping of name to function
370
+ * @return a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy | Proxy} for
371
+ * which each attribute is a callable Activity function
365
372
  *
366
373
  * @example
367
374
  * ```ts
368
- * import { proxyActivities, ActivityInterface } from '@temporalio/workflow';
375
+ * import { proxyActivities } from '@temporalio/workflow';
369
376
  * import * as activities from '../activities';
370
377
  *
371
378
  * // Setup Activities from module exports
@@ -374,7 +381,7 @@ function signalWorkflowNextHandler({ seq, signalName, args, target, headers }) {
374
381
  * });
375
382
  *
376
383
  * // Setup Activities from an explicit interface (e.g. when defined by another SDK)
377
- * interface JavaActivities extends ActivityInterface {
384
+ * interface JavaActivities {
378
385
  * httpGetFromJava(url: string): Promise<string>
379
386
  * someOtherJavaActivity(arg1: number, arg2: string): Promise<string>;
380
387
  * }
@@ -404,7 +411,7 @@ function proxyActivities(options) {
404
411
  if (typeof activityType !== 'string') {
405
412
  throw new TypeError(`Only strings are supported for Activity types, got: ${String(activityType)}`);
406
413
  }
407
- return (...args) => {
414
+ return function activityProxyFunction(...args) {
408
415
  return scheduleActivity(activityType, args, options);
409
416
  };
410
417
  },
@@ -416,14 +423,12 @@ exports.proxyActivities = proxyActivities;
416
423
  *
417
424
  * This method may be called multiple times to setup Activities with different options.
418
425
  *
419
- * @return a [Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy)
426
+ * @return a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy | Proxy}
420
427
  * for which each attribute is a callable Activity function
421
428
  *
422
- * @typeparam A An {@link ActivityInterface} - mapping of name to function
423
- *
424
429
  * @experimental
425
430
  *
426
- * See {@link proxyActivities} for examples
431
+ * @see {@link proxyActivities} for examples
427
432
  */
428
433
  function proxyLocalActivities(options) {
429
434
  if (options === undefined) {
@@ -436,13 +441,15 @@ function proxyLocalActivities(options) {
436
441
  if (typeof activityType !== 'string') {
437
442
  throw new TypeError(`Only strings are supported for Activity types, got: ${String(activityType)}`);
438
443
  }
439
- return (...args) => {
444
+ return function localActivityProxyFunction(...args) {
440
445
  return scheduleLocalActivity(activityType, args, options);
441
446
  };
442
447
  },
443
448
  });
444
449
  }
445
450
  exports.proxyLocalActivities = proxyLocalActivities;
451
+ // TODO: deprecate this patch after "enough" time has passed
452
+ const EXTERNAL_WF_CANCEL_PATCH = '__temporal_internal_connect_external_handle_cancel_to_scope';
446
453
  /**
447
454
  * Returns a client-side handle that can be used to signal and cancel an existing Workflow execution.
448
455
  * It takes a Workflow ID and optional run ID.
@@ -456,6 +463,26 @@ function getExternalWorkflowHandle(workflowId, runId) {
456
463
  if (internals_1.state.info === undefined) {
457
464
  throw new internal_workflow_common_1.IllegalStateError('Uninitialized workflow');
458
465
  }
466
+ // Connect this cancel operation to the current cancellation scope.
467
+ // This is behavior was introduced after v0.22.0 and is incompatible
468
+ // with histories generated with previous SDK versions and thus requires
469
+ // patching.
470
+ //
471
+ // We try to delay patching as much as possible to avoid polluting
472
+ // histories unless strictly required.
473
+ const scope = cancellation_scope_1.CancellationScope.current();
474
+ if (scope.cancellable) {
475
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch((err) => {
476
+ if (patched(EXTERNAL_WF_CANCEL_PATCH)) {
477
+ reject(err);
478
+ }
479
+ }));
480
+ }
481
+ if (scope.consideredCancelled) {
482
+ if (patched(EXTERNAL_WF_CANCEL_PATCH)) {
483
+ return;
484
+ }
485
+ }
459
486
  const seq = internals_1.state.nextSeqs.cancelWorkflow++;
460
487
  internals_1.state.pushCommand({
461
488
  requestCancelExternalWorkflowExecution: {
@@ -470,7 +497,7 @@ function getExternalWorkflowHandle(workflowId, runId) {
470
497
  internals_1.state.completions.cancelWorkflow.set(seq, { resolve, reject });
471
498
  });
472
499
  },
473
- async signal(def, ...args) {
500
+ signal(def, ...args) {
474
501
  return (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.outbound, 'signalWorkflow', signalWorkflowNextHandler)({
475
502
  seq: internals_1.state.nextSeqs.signalWorkflow++,
476
503
  signalName: typeof def === 'string' ? def : def.name,
@@ -495,20 +522,14 @@ async function startChild(workflowTypeOrFunc, options) {
495
522
  headers: {},
496
523
  workflowType,
497
524
  });
498
- const originalRunId = await started;
525
+ const firstExecutionRunId = await started;
499
526
  return {
500
527
  workflowId: optionsWithDefaults.workflowId,
501
- originalRunId,
502
- result() {
503
- if (completed === undefined) {
504
- throw new internal_workflow_common_1.IllegalStateError('Child Workflow was not started');
505
- }
506
- return completed;
528
+ firstExecutionRunId,
529
+ async result() {
530
+ return (await completed);
507
531
  },
508
532
  async signal(def, ...args) {
509
- if (started === undefined) {
510
- throw new internal_workflow_common_1.IllegalStateError('Workflow execution not started');
511
- }
512
533
  return (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.outbound, 'signalWorkflow', signalWorkflowNextHandler)({
513
534
  seq: internals_1.state.nextSeqs.signalWorkflow++,
514
535
  signalName: typeof def === 'string' ? def : def.name,
@@ -527,13 +548,16 @@ async function executeChild(workflowTypeOrFunc, options) {
527
548
  const optionsWithDefaults = addDefaultWorkflowOptions(options ?? {});
528
549
  const workflowType = typeof workflowTypeOrFunc === 'string' ? workflowTypeOrFunc : workflowTypeOrFunc.name;
529
550
  const execute = (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.outbound, 'startChildWorkflowExecution', startChildWorkflowExecutionNextHandler);
530
- const [_started, completed] = await execute({
551
+ const execPromise = execute({
531
552
  seq: internals_1.state.nextSeqs.childWorkflow++,
532
553
  options: optionsWithDefaults,
533
554
  headers: {},
534
555
  workflowType,
535
556
  });
536
- return (await completed);
557
+ (0, stack_helpers_1.untrackPromise)(execPromise);
558
+ const completedPromise = execPromise.then(([_started, completed]) => completed);
559
+ (0, stack_helpers_1.untrackPromise)(completedPromise);
560
+ return completedPromise;
537
561
  }
538
562
  exports.executeChild = executeChild;
539
563
  /**
@@ -617,9 +641,9 @@ exports.proxySinks = proxySinks;
617
641
  /**
618
642
  * Returns a function `f` that will cause the current Workflow to ContinueAsNew when called.
619
643
  *
620
- * `f` takes the same arguments as the Workflow execute function supplied to typeparam `F`.
644
+ * `f` takes the same arguments as the Workflow function supplied to typeparam `F`.
621
645
  *
622
- * Once `f` is called, Workflow execution immediately completes.
646
+ * Once `f` is called, Workflow Execution immediately completes.
623
647
  */
624
648
  function makeContinueAsNewFunc(options) {
625
649
  const info = workflowInfo();
@@ -638,7 +662,9 @@ function makeContinueAsNewFunc(options) {
638
662
  headers,
639
663
  taskQueue: options.taskQueue,
640
664
  memo: options.memo,
641
- searchAttributes: options.searchAttributes,
665
+ searchAttributes: options.searchAttributes
666
+ ? (0, common_1.mapToPayloads)(common_1.searchAttributePayloadConverter, options.searchAttributes)
667
+ : undefined,
642
668
  workflowRunTimeout: (0, internal_workflow_common_1.msOptionalToTs)(options.workflowRunTimeout),
643
669
  workflowTaskTimeout: (0, internal_workflow_common_1.msOptionalToTs)(options.workflowTaskTimeout),
644
670
  });
@@ -652,24 +678,21 @@ function makeContinueAsNewFunc(options) {
652
678
  }
653
679
  exports.makeContinueAsNewFunc = makeContinueAsNewFunc;
654
680
  /**
655
- * Continues current Workflow execution as new with default options.
681
+ * {@link https://docs.temporal.io/concepts/what-is-continue-as-new/ | Continues-As-New} the current Workflow Execution
682
+ * with default options.
656
683
  *
657
- * Shorthand for `makeContinueAsNewFunc<F>()(...args)`.
684
+ * Shorthand for `makeContinueAsNewFunc<F>()(...args)`. (See: {@link makeContinueAsNewFunc}.)
658
685
  *
659
686
  * @example
660
687
  *
661
- * ```ts
662
- * import { continueAsNew } from '@temporalio/workflow';
688
+ *```ts
689
+ *import { continueAsNew } from '@temporalio/workflow';
663
690
  *
664
- * export function myWorkflow(n: number) {
665
- * return {
666
- * async execute() {
667
- * // ... Workflow logic
668
- * await continueAsNew<typeof myWorkflow>(n + 1);
669
- * }
670
- * };
671
- * }
672
- * ```
691
+ *export async function myWorkflow(n: number): Promise<void> {
692
+ * // ... Workflow logic
693
+ * await continueAsNew<typeof myWorkflow>(n + 1);
694
+ *}
695
+ *```
673
696
  */
674
697
  function continueAsNew(...args) {
675
698
  return makeContinueAsNewFunc()(...args);
@@ -702,7 +725,7 @@ exports.uuid4 = uuid4;
702
725
  /**
703
726
  * Patch or upgrade workflow code by checking or stating that this workflow has a certain patch.
704
727
  *
705
- * See [docs page](https://docs.temporal.io/docs/typescript/versioning) for info.
728
+ * See {@link https://docs.temporal.io/typescript/versioning | docs page} for info.
706
729
  *
707
730
  * If the workflow is replaying an existing history, then this function returns true if that
708
731
  * history was produced by a worker which also had a `patched` call with the same `patchId`.
@@ -723,7 +746,7 @@ exports.patched = patched;
723
746
  /**
724
747
  * Indicate that a patch is being phased out.
725
748
  *
726
- * See [docs page](https://docs.temporal.io/docs/typescript/versioning) for info.
749
+ * See {@link https://docs.temporal.io/typescript/versioning | docs page} for info.
727
750
  *
728
751
  * Workflows with this call may be deployed alongside workflows with a {@link patched} call, but
729
752
  * they must *not* be deployed while any workers still exist running old code without a
@@ -744,11 +767,10 @@ exports.deprecatePatch = deprecatePatch;
744
767
  function patchInternal(patchId, deprecated) {
745
768
  // Patch operation does not support interception at the moment, if it did,
746
769
  // this would be the place to start the interception chain
747
- const { isReplaying } = workflowInfo();
748
770
  if (internals_1.state.workflow === undefined) {
749
771
  throw new internal_workflow_common_1.IllegalStateError('Patches cannot be used before Workflow starts');
750
772
  }
751
- const usePatch = !isReplaying || internals_1.state.knownPresentPatches.has(patchId);
773
+ const usePatch = !internals_1.state.isReplaying || internals_1.state.knownPresentPatches.has(patchId);
752
774
  // Avoid sending commands for patches core already knows about.
753
775
  // This optimization enables development of automatic patching tools.
754
776
  if (usePatch && !internals_1.state.sentPatches.has(patchId)) {
@@ -761,7 +783,7 @@ function patchInternal(patchId, deprecated) {
761
783
  }
762
784
  async function condition(fn, timeout) {
763
785
  if (timeout) {
764
- return await cancellation_scope_1.CancellationScope.cancellable(async () => {
786
+ return cancellation_scope_1.CancellationScope.cancellable(async () => {
765
787
  try {
766
788
  return await Promise.race([sleep(timeout).then(() => false), conditionInner(fn).then(() => true)]);
767
789
  }
@@ -777,15 +799,15 @@ function conditionInner(fn) {
777
799
  return new Promise((resolve, reject) => {
778
800
  const scope = cancellation_scope_1.CancellationScope.current();
779
801
  if (scope.consideredCancelled) {
780
- scope.cancelRequested.catch(reject);
802
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
781
803
  return;
782
804
  }
783
805
  const seq = internals_1.state.nextSeqs.condition++;
784
806
  if (scope.cancellable) {
785
- scope.cancelRequested.catch((err) => {
807
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch((err) => {
786
808
  internals_1.state.blockedConditions.delete(seq);
787
809
  reject(err);
788
- });
810
+ }));
789
811
  }
790
812
  // Eager evaluation
791
813
  if (fn()) {
@@ -848,4 +870,68 @@ function setHandler(def, handler) {
848
870
  }
849
871
  }
850
872
  exports.setHandler = setHandler;
873
+ /**
874
+ * Updates this Workflow's Search Attributes by merging the provided `searchAttributes` with the existing Search
875
+ * Attributes, `workflowInfo().searchAttributes`.
876
+ *
877
+ * For example, this Workflow code:
878
+ *
879
+ * ```ts
880
+ * upsertSearchAttributes({
881
+ * CustomIntField: [1, 2, 3],
882
+ * CustomBoolField: [true]
883
+ * });
884
+ * upsertSearchAttributes({
885
+ * CustomIntField: [42],
886
+ * CustomKeywordField: ['durable code', 'is great']
887
+ * });
888
+ * ```
889
+ *
890
+ * would result in the Workflow having these Search Attributes:
891
+ *
892
+ * ```ts
893
+ * {
894
+ * CustomIntField: [42],
895
+ * CustomBoolField: [true],
896
+ * CustomKeywordField: ['durable code', 'is great']
897
+ * }
898
+ * ```
899
+ *
900
+ * @param searchAttributes The Record to merge. Use a value of `[]` to clear a Search Attribute.
901
+ */
902
+ function upsertSearchAttributes(searchAttributes) {
903
+ if (!internals_1.state.info) {
904
+ throw new internal_workflow_common_1.IllegalStateError('`state.info` should be defined');
905
+ }
906
+ const mergedSearchAttributes = { ...internals_1.state.info.searchAttributes, ...searchAttributes };
907
+ if (!mergedSearchAttributes) {
908
+ throw new Error('searchAttributes must be a non-null SearchAttributes');
909
+ }
910
+ internals_1.state.pushCommand({
911
+ upsertWorkflowSearchAttributes: {
912
+ searchAttributes: (0, common_1.mapToPayloads)(common_1.searchAttributePayloadConverter, searchAttributes),
913
+ },
914
+ });
915
+ internals_1.state.info.searchAttributes = mergedSearchAttributes;
916
+ }
917
+ exports.upsertSearchAttributes = upsertSearchAttributes;
918
+ /**
919
+ * Get information about the currently executing Workflow Task.
920
+ *
921
+ * See {@link TaskInfo}
922
+ */
923
+ function taskInfo() {
924
+ const { isReplaying, historyLength } = internals_1.state;
925
+ if (isReplaying == null || historyLength == null) {
926
+ throw new internal_workflow_common_1.IllegalStateError('Workflow uninitialized');
927
+ }
928
+ return {
929
+ historyLength,
930
+ unsafe: {
931
+ isReplaying,
932
+ },
933
+ };
934
+ }
935
+ exports.taskInfo = taskInfo;
936
+ exports.stackTraceQuery = defineQuery('__stack_trace');
851
937
  //# sourceMappingURL=workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}