@temporalio/workflow 1.17.3 → 1.18.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.
package/lib/internals.js CHANGED
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Activator = void 0;
7
7
  const common_1 = require("@temporalio/common");
8
8
  const payload_search_attributes_1 = require("@temporalio/common/lib/converter/payload-search-attributes");
9
- const interceptors_1 = require("@temporalio/common/lib/interceptors");
10
9
  const internal_workflow_1 = require("@temporalio/common/lib/internal-workflow");
11
10
  const reserved_1 = require("@temporalio/common/lib/reserved");
12
11
  const alea_1 = require("./alea");
13
12
  const cancellation_scope_1 = require("./cancellation-scope");
13
+ const interceptor_composition_1 = require("./interceptor-composition");
14
14
  const update_scope_1 = require("./update-scope");
15
+ const random_stream_seed_1 = require("./random-stream-seed");
15
16
  const errors_1 = require("./errors");
16
17
  const interfaces_1 = require("./interfaces");
17
18
  const stack_helpers_1 = require("./stack-helpers");
@@ -138,6 +139,20 @@ class Activator {
138
139
  * the first captured error is preserved).
139
140
  */
140
141
  workflowTaskError;
142
+ /**
143
+ * Error type _names_ (from {@link WorkerOptions.workflowFailureErrorTypes}) that
144
+ * should cause Workflow Execution failure rather than WFT failure.
145
+ *
146
+ * Set at workflow creation time from the worker options.
147
+ */
148
+ failureExceptionTypeNames = [];
149
+ /**
150
+ * Error _types_ (from {@link WorkflowDefinitionOptions.failureExceptionTypes})
151
+ * that should cause Workflow Execution failure rather than WFT failure.
152
+ *
153
+ * Set in `worker-interface.ts` after the workflow definition options are read.
154
+ */
155
+ workflowDefinitionFailureExceptionTypes = undefined;
141
156
  /**
142
157
  * Set to true when running synchronous code (e.g. while processing activation jobs and when calling
143
158
  * `tryUnblockConditions()`). While this flag is set, it is safe to let errors bubble up.
@@ -277,9 +292,20 @@ class Activator {
277
292
  */
278
293
  info;
279
294
  /**
280
- * A deterministic RNG, used by the isolate's overridden Math.random
295
+ * The main deterministic RNG for this workflow execution.
296
+ *
297
+ * Scoped overrides used by `WorkflowRandomStream.with(...)` are layered on top of this RNG.
281
298
  */
282
299
  random;
300
+ /**
301
+ * The current seed material for this workflow execution's deterministic RNGs.
302
+ */
303
+ randomnessSeed;
304
+ /**
305
+ * Additional deterministic RNG streams keyed by stable stream name.
306
+ */
307
+ namedRandomStreams = new Map();
308
+ currentRandomStorage;
283
309
  payloadConverter = common_1.defaultPayloadConverter;
284
310
  failureConverter = common_1.defaultFailureConverter;
285
311
  /**
@@ -308,15 +334,44 @@ class Activator {
308
334
  workflowDefinitionOptionsGetter;
309
335
  workflowSandboxDestructors = [];
310
336
  stackTracesEnabled;
311
- constructor({ info, now, showStackTraceSources, sourceMap, getTimeOfDay, randomnessSeed, registeredActivityNames, stackTracesEnabled, }) {
337
+ constructor({ info, now, showStackTraceSources, sourceMap, getTimeOfDay, randomnessSeed, registeredActivityNames, stackTracesEnabled, failureExceptionTypeNames, }) {
312
338
  this.getTimeOfDay = getTimeOfDay;
313
339
  this.info = info;
314
340
  this.now = now;
315
341
  this.showStackTraceSources = showStackTraceSources;
316
342
  this.sourceMap = sourceMap;
317
- this.random = (0, alea_1.alea)(randomnessSeed);
343
+ this.randomnessSeed = [...randomnessSeed];
344
+ this.random = (0, alea_1.alea)(this.randomnessSeed);
318
345
  this.registeredActivityNames = registeredActivityNames;
319
346
  this.stackTracesEnabled = stackTracesEnabled;
347
+ this.failureExceptionTypeNames = failureExceptionTypeNames ?? [];
348
+ }
349
+ setRandomnessSeed(randomnessSeed) {
350
+ this.randomnessSeed = [...randomnessSeed];
351
+ this.random = (0, alea_1.alea)(this.randomnessSeed);
352
+ this.namedRandomStreams.clear();
353
+ }
354
+ getNamedRandom(name) {
355
+ const cached = this.namedRandomStreams.get(name);
356
+ if (cached !== undefined) {
357
+ return cached;
358
+ }
359
+ const random = (0, alea_1.alea)((0, random_stream_seed_1.deriveAleaSeed)(this.randomnessSeed, name));
360
+ this.namedRandomStreams.set(name, random);
361
+ return random;
362
+ }
363
+ withRandomSource(randomSource, fn) {
364
+ return (this.currentRandomStorage ??= new update_scope_1.AsyncLocalStorage()).run(randomSource, fn);
365
+ }
366
+ withCurrentRandom(randomSource, fn) {
367
+ return this.withRandomSource(randomSource, fn);
368
+ }
369
+ bindCurrentRandom(fn) {
370
+ const randomSource = this.currentRandomStorage?.getStore();
371
+ return ((...args) => this.withRandomSource(randomSource, () => fn(...args)));
372
+ }
373
+ currentRandom() {
374
+ return this.currentRandomStorage?.getStore()?.random() ?? this.random();
320
375
  }
321
376
  /**
322
377
  * May be invoked from outside the VM.
@@ -383,27 +438,31 @@ class Activator {
383
438
  return await workflow(...args);
384
439
  }
385
440
  startWorkflow(activation) {
386
- const execute = (0, interceptors_1.composeInterceptors)(this.interceptors.inbound, 'execute', this.startWorkflowNextHandler.bind(this));
441
+ const execute = (0, interceptor_composition_1.composeInterceptors)(this.interceptors.inbound, 'execute', this.startWorkflowNextHandler.bind(this));
442
+ const context = this.workflowSerializationContext();
387
443
  (0, stack_helpers_1.untrackPromise)((0, logs_1.executeWithLifecycleLogging)(() => execute({
388
444
  headers: activation.headers ?? {},
389
- args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.arguments),
445
+ args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.arguments, context),
390
446
  })).then(this.completeWorkflow.bind(this), this.handleWorkflowFailure.bind(this)));
391
447
  }
392
448
  initializeWorkflow(activation) {
393
449
  const { continuedFailure, lastCompletionResult, memo, searchAttributes } = activation;
450
+ const context = this.workflowSerializationContext();
394
451
  // Most things related to initialization have already been handled in the constructor
395
452
  this.mutateWorkflowInfo((info) => ({
396
453
  ...info,
397
454
  searchAttributes: (0, payload_search_attributes_1.decodeSearchAttributes)(searchAttributes?.indexedFields),
398
455
  typedSearchAttributes: (0, payload_search_attributes_1.decodeTypedSearchAttributes)(searchAttributes?.indexedFields),
399
- memo: (0, common_1.mapFromPayloads)(this.payloadConverter, memo?.fields),
400
- lastResult: (0, common_1.fromPayloadsAtIndex)(this.payloadConverter, 0, lastCompletionResult?.payloads),
456
+ memo: (0, common_1.mapFromPayloads)(this.payloadConverter, memo?.fields, context),
457
+ lastResult: (0, common_1.fromPayloadsAtIndex)(this.payloadConverter, 0, lastCompletionResult?.payloads, context),
401
458
  lastFailure: continuedFailure != null
402
- ? this.failureConverter.failureToError(continuedFailure, this.payloadConverter)
459
+ ? this.failureConverter.failureToError(continuedFailure, this.payloadConverter, context)
403
460
  : undefined,
404
461
  }));
405
- if (this.workflowDefinitionOptionsGetter) {
406
- this.versioningBehavior = this.workflowDefinitionOptionsGetter().versioningBehavior;
462
+ const workflowDefinitionOpts = this.workflowDefinitionOptionsGetter?.();
463
+ if (workflowDefinitionOpts) {
464
+ this.versioningBehavior = workflowDefinitionOpts.versioningBehavior;
465
+ this.workflowDefinitionFailureExceptionTypes = workflowDefinitionOpts.failureExceptionTypes;
407
466
  }
408
467
  }
409
468
  cancelWorkflow(_activation) {
@@ -420,10 +479,10 @@ class Activator {
420
479
  if (!activation.result) {
421
480
  throw new TypeError('Got ResolveActivity activation with no result');
422
481
  }
423
- const { resolve, reject } = this.consumeCompletion('activity', getSeq(activation));
482
+ const { resolve, reject, context } = this.consumeCompletion('activity', getSeq(activation));
424
483
  if (activation.result.completed) {
425
484
  const completed = activation.result.completed;
426
- const result = completed.result ? this.payloadConverter.fromPayload(completed.result) : undefined;
485
+ const result = completed.result ? this.payloadConverter.fromPayload(completed.result, context) : undefined;
427
486
  resolve(result);
428
487
  }
429
488
  else if (activation.result.failed) {
@@ -431,21 +490,21 @@ class Activator {
431
490
  if (failure == null) {
432
491
  throw new TypeError('Got failed result with no failure attribute');
433
492
  }
434
- reject(this.failureToError(failure));
493
+ reject(this.failureConverter.failureToError(failure, this.payloadConverter, context));
435
494
  }
436
495
  else if (activation.result.cancelled) {
437
496
  const { failure } = activation.result.cancelled;
438
497
  if (failure == null) {
439
498
  throw new TypeError('Got cancelled result with no failure attribute');
440
499
  }
441
- reject(this.failureToError(failure));
500
+ reject(this.failureConverter.failureToError(failure, this.payloadConverter, context));
442
501
  }
443
502
  else if (activation.result.backoff) {
444
503
  reject(new errors_1.LocalActivityDoBackoff(activation.result.backoff));
445
504
  }
446
505
  }
447
506
  resolveChildWorkflowExecutionStart(activation) {
448
- const { resolve, reject } = this.consumeCompletion('childWorkflowStart', getSeq(activation));
507
+ const { resolve, reject, context } = this.consumeCompletion('childWorkflowStart', getSeq(activation));
449
508
  if (activation.succeeded) {
450
509
  if (!activation.succeeded.runId) {
451
510
  throw new TypeError('Got ResolveChildWorkflowExecutionStart with no runId');
@@ -465,7 +524,7 @@ class Activator {
465
524
  if (!activation.cancelled.failure) {
466
525
  throw new TypeError('Got no failure in cancelled variant');
467
526
  }
468
- reject(this.failureToError(activation.cancelled.failure));
527
+ reject(this.failureConverter.failureToError(activation.cancelled.failure, this.payloadConverter, context));
469
528
  }
470
529
  else {
471
530
  throw new TypeError('Got ResolveChildWorkflowExecutionStart with no status');
@@ -475,10 +534,10 @@ class Activator {
475
534
  if (!activation.result) {
476
535
  throw new TypeError('Got ResolveChildWorkflowExecution activation with no result');
477
536
  }
478
- const { resolve, reject } = this.consumeCompletion('childWorkflowComplete', getSeq(activation));
537
+ const { resolve, reject, context } = this.consumeCompletion('childWorkflowComplete', getSeq(activation));
479
538
  if (activation.result.completed) {
480
539
  const completed = activation.result.completed;
481
- const result = completed.result ? this.payloadConverter.fromPayload(completed.result) : undefined;
540
+ const result = completed.result ? this.payloadConverter.fromPayload(completed.result, context) : undefined;
482
541
  resolve(result);
483
542
  }
484
543
  else if (activation.result.failed) {
@@ -486,14 +545,14 @@ class Activator {
486
545
  if (failure == null) {
487
546
  throw new TypeError('Got failed result with no failure attribute');
488
547
  }
489
- reject(this.failureToError(failure));
548
+ reject(this.failureConverter.failureToError(failure, this.payloadConverter, context));
490
549
  }
491
550
  else if (activation.result.cancelled) {
492
551
  const { failure } = activation.result.cancelled;
493
552
  if (failure == null) {
494
553
  throw new TypeError('Got cancelled result with no failure attribute');
495
554
  }
496
- reject(this.failureToError(failure));
555
+ reject(this.failureConverter.failureToError(failure, this.payloadConverter, context));
497
556
  }
498
557
  }
499
558
  resolveNexusOperationStart(activation) {
@@ -516,8 +575,9 @@ class Activator {
516
575
  }
517
576
  resolveNexusOperation(activation) {
518
577
  const seq = getSeq(activation);
578
+ const context = this.workflowSerializationContext();
519
579
  if (activation.result?.completed) {
520
- const result = this.payloadConverter.fromPayload(activation.result.completed);
580
+ const result = this.payloadConverter.fromPayload(activation.result.completed, context);
521
581
  // It is possible for ResolveNexusOperation to be received without a prior ResolveNexusOperationStart,
522
582
  // e.g. because the handler completed the Operation synchronously.
523
583
  const startCompletion = this.maybeConsumeCompletion('nexusOperationStart', seq);
@@ -573,8 +633,12 @@ class Activator {
573
633
  if (!(queryType && queryId)) {
574
634
  throw new TypeError('Missing query activation attributes');
575
635
  }
576
- // If query has __temporal_ prefix but no handler exists, throw error
577
- if (queryType.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) && !this.queryHandlers.has(queryType)) {
636
+ // Reject __temporal_-prefixed queries that would otherwise be routed to the
637
+ // user's default handler. A specific registered handler (e.g. from a
638
+ // contrib package) is allowed through.
639
+ if (queryType.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) &&
640
+ !this.queryHandlers.has(queryType) &&
641
+ this.defaultQueryHandler !== undefined) {
578
642
  throw new TypeError(`Cannot use query name: '${queryType}', with reserved prefix: '${reserved_1.TEMPORAL_RESERVED_PREFIX}'`);
579
643
  }
580
644
  // Skip interceptors if it's an internal query.
@@ -582,10 +646,11 @@ class Activator {
582
646
  queryType === reserved_1.STACK_TRACE_QUERY_NAME ||
583
647
  queryType === reserved_1.ENHANCED_STACK_TRACE_QUERY_NAME;
584
648
  const interceptors = isInternalQuery ? [] : this.interceptors.inbound;
585
- const execute = (0, interceptors_1.composeInterceptors)(interceptors, 'handleQuery', this.queryWorkflowNextHandler.bind(this));
649
+ const execute = (0, interceptor_composition_1.composeInterceptors)(interceptors, 'handleQuery', this.queryWorkflowNextHandler.bind(this));
650
+ const context = this.workflowSerializationContext();
586
651
  execute({
587
652
  queryName: queryType,
588
- args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.arguments),
653
+ args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.arguments, context),
589
654
  queryId,
590
655
  headers: headers ?? {},
591
656
  }).then((result) => this.completeQuery(queryId, result), (reason) => this.failQuery(queryId, reason));
@@ -601,8 +666,13 @@ class Activator {
601
666
  if (!protocolInstanceId) {
602
667
  throw new TypeError('Missing activation update protocolInstanceId');
603
668
  }
604
- // If update has __temporal_ prefix but no handler exists, throw error
605
- if (name.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) && !this.updateHandlers.get(name)) {
669
+ // Reject __temporal_-prefixed updates that would otherwise be routed to the
670
+ // user's default handler. A specific registered handler (e.g. from a
671
+ // contrib package) is allowed through, and unregistered names without a
672
+ // default handler fall through to the buffer-then-reject path below.
673
+ if (name.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) &&
674
+ !this.updateHandlers.has(name) &&
675
+ this.defaultUpdateHandler !== undefined) {
606
676
  throw new TypeError(`Cannot use update name: '${name}', with reserved prefix: '${reserved_1.TEMPORAL_RESERVED_PREFIX}'`);
607
677
  }
608
678
  // Skip interceptors if it's an internal update.
@@ -624,12 +694,15 @@ class Activator {
624
694
  this.bufferedUpdates.push(activation);
625
695
  return;
626
696
  }
627
- const makeInput = () => ({
628
- updateId,
629
- args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.input),
630
- name,
631
- headers: headers ?? {},
632
- });
697
+ const makeInput = () => {
698
+ const context = this.workflowSerializationContext();
699
+ return {
700
+ updateId,
701
+ args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.input, context),
702
+ name,
703
+ headers: headers ?? {},
704
+ };
705
+ };
633
706
  // The implementation below is responsible for upholding, and constrained
634
707
  // by, the following contract:
635
708
  //
@@ -669,7 +742,7 @@ class Activator {
669
742
  unsafe: { ...info.unsafe, isReplayingHistoryEvents: false },
670
743
  }));
671
744
  try {
672
- const validate = (0, interceptors_1.composeInterceptors)(interceptors, 'validateUpdate', this.validateUpdateNextHandler.bind(this, entry.validator));
745
+ const validate = (0, interceptor_composition_1.composeInterceptors)(interceptors, 'validateUpdate', this.validateUpdateNextHandler.bind(this, entry.validator));
673
746
  validate(makeInput());
674
747
  }
675
748
  finally {
@@ -686,7 +759,7 @@ class Activator {
686
759
  return;
687
760
  }
688
761
  this.acceptUpdate(protocolInstanceId);
689
- const execute = (0, interceptors_1.composeInterceptors)(interceptors, 'handleUpdate', this.updateNextHandler.bind(this, entry.handler));
762
+ const execute = (0, interceptor_composition_1.composeInterceptors)(interceptors, 'handleUpdate', this.updateNextHandler.bind(this, entry.handler));
690
763
  const { unfinishedPolicy } = entry;
691
764
  this.inProgressUpdates.set(updateId, { name, unfinishedPolicy, id: updateId });
692
765
  const res = execute(input)
@@ -759,8 +832,13 @@ class Activator {
759
832
  if (!signalName) {
760
833
  throw new TypeError('Missing activation signalName');
761
834
  }
762
- // If signal has __temporal_ prefix but no handler exists, throw error
763
- if (signalName.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) && !this.signalHandlers.has(signalName)) {
835
+ // Reject __temporal_-prefixed signals that would otherwise be routed to the
836
+ // user's default handler. A specific registered handler (e.g. from a
837
+ // contrib package) is allowed through, and unregistered names without a
838
+ // default handler fall through to the buffer-then-reject path below.
839
+ if (signalName.startsWith(reserved_1.TEMPORAL_RESERVED_PREFIX) &&
840
+ !this.signalHandlers.has(signalName) &&
841
+ this.defaultSignalHandler !== undefined) {
764
842
  throw new TypeError(`Cannot use signal name: '${signalName}', with reserved prefix: '${reserved_1.TEMPORAL_RESERVED_PREFIX}'`);
765
843
  }
766
844
  // Skip interceptors if it's an internal signal.
@@ -778,9 +856,10 @@ class Activator {
778
856
  const unfinishedPolicy = this.signalHandlers.get(signalName)?.unfinishedPolicy ?? common_1.HandlerUnfinishedPolicy.WARN_AND_ABANDON;
779
857
  const signalExecutionNum = this.signalHandlerExecutionSeq++;
780
858
  this.inProgressSignals.set(signalExecutionNum, { name: signalName, unfinishedPolicy });
781
- const execute = (0, interceptors_1.composeInterceptors)(interceptors, 'handleSignal', this.signalWorkflowNextHandler.bind(this));
859
+ const execute = (0, interceptor_composition_1.composeInterceptors)(interceptors, 'handleSignal', this.signalWorkflowNextHandler.bind(this));
860
+ const context = this.workflowSerializationContext();
782
861
  execute({
783
- args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.input),
862
+ args: (0, common_1.arrayFromPayloads)(this.payloadConverter, activation.input, context),
784
863
  signalName,
785
864
  headers: headers ?? {},
786
865
  })
@@ -804,18 +883,18 @@ class Activator {
804
883
  }
805
884
  }
806
885
  resolveSignalExternalWorkflow(activation) {
807
- const { resolve, reject } = this.consumeCompletion('signalWorkflow', getSeq(activation));
886
+ const { resolve, reject, context } = this.consumeCompletion('signalWorkflow', getSeq(activation));
808
887
  if (activation.failure) {
809
- reject(this.failureToError(activation.failure));
888
+ reject(this.failureConverter.failureToError(activation.failure, this.payloadConverter, context));
810
889
  }
811
890
  else {
812
891
  resolve(undefined);
813
892
  }
814
893
  }
815
894
  resolveRequestCancelExternalWorkflow(activation) {
816
- const { resolve, reject } = this.consumeCompletion('cancelWorkflow', getSeq(activation));
895
+ const { resolve, reject, context } = this.consumeCompletion('cancelWorkflow', getSeq(activation));
817
896
  if (activation.failure) {
818
- reject(this.failureToError(activation.failure));
897
+ reject(this.failureConverter.failureToError(activation.failure, this.payloadConverter, context));
819
898
  }
820
899
  else {
821
900
  resolve(undefined);
@@ -840,7 +919,7 @@ class Activator {
840
919
  if (!activation.randomnessSeed) {
841
920
  throw new TypeError('Expected activation with randomnessSeed attribute');
842
921
  }
843
- this.random = (0, alea_1.alea)(activation.randomnessSeed.toBytes());
922
+ this.setRandomnessSeed(activation.randomnessSeed.toBytes());
844
923
  }
845
924
  notifyHasPatch(activation) {
846
925
  if (!this.info.unsafe.isReplaying)
@@ -931,14 +1010,14 @@ class Activator {
931
1010
  else if (error instanceof interfaces_1.ContinueAsNew) {
932
1011
  this.pushCommand({ continueAsNewWorkflowExecution: error.command }, true);
933
1012
  }
934
- else if (error instanceof common_1.TemporalFailure) {
1013
+ else if (error instanceof common_1.TemporalFailure || this.isConfiguredFailureException(error)) {
935
1014
  // Fail the workflow. We do not want to issue unfinishedHandlers warnings. To achieve that, we
936
1015
  // mark all handlers as completed now.
937
1016
  this.inProgressSignals.clear();
938
1017
  this.inProgressUpdates.clear();
939
1018
  this.pushCommand({
940
1019
  failWorkflowExecution: {
941
- failure: this.errorToFailure(error),
1020
+ failure: this.errorToFailure((0, common_1.ensureTemporalFailure)(error)),
942
1021
  },
943
1022
  }, true);
944
1023
  }
@@ -946,6 +1025,41 @@ class Activator {
946
1025
  this.recordWorkflowTaskError(error);
947
1026
  }
948
1027
  }
1028
+ /**
1029
+ * Returns true if the given error matches any of the configured failure exception types
1030
+ * (from {@link WorkerOptions.workflowFailureErrorTypes} or
1031
+ * {@link WorkflowDefinitionOptions.failureExceptionTypes}).
1032
+ */
1033
+ isConfiguredFailureException(error) {
1034
+ // Check class references from WorkflowDefinitionOptions (instanceof-based, supports subclasses)
1035
+ if (this.workflowDefinitionFailureExceptionTypes) {
1036
+ // We guarantee that including Error in the list will catch _any_ error.
1037
+ if (this.workflowDefinitionFailureExceptionTypes.includes(Error))
1038
+ return true;
1039
+ for (const errorType of this.workflowDefinitionFailureExceptionTypes) {
1040
+ if (error instanceof errorType)
1041
+ return true;
1042
+ }
1043
+ }
1044
+ // Check class name strings from WorkerOptions (prototype-chain-based)
1045
+ if (this.failureExceptionTypeNames.length > 0) {
1046
+ // We guarantee that including 'Error' in the list will catch _any_ error.
1047
+ if (this.failureExceptionTypeNames.includes('Error'))
1048
+ return true;
1049
+ if (typeof error === 'object' && error !== null) {
1050
+ let ctor = error.constructor;
1051
+ while (ctor != null && ctor !== Function.prototype) {
1052
+ const name = ctor.name;
1053
+ if (name) {
1054
+ if (this.failureExceptionTypeNames.includes(name))
1055
+ return true;
1056
+ }
1057
+ ctor = Object.getPrototypeOf(ctor);
1058
+ }
1059
+ }
1060
+ }
1061
+ return false;
1062
+ }
949
1063
  recordWorkflowTaskError(error) {
950
1064
  // Only keep the first error that bubbles up; subsequent errors will be ignored.
951
1065
  if (this.workflowTaskError === undefined)
@@ -965,8 +1079,9 @@ class Activator {
965
1079
  throw this.workflowTaskError;
966
1080
  }
967
1081
  completeQuery(queryId, result) {
1082
+ const context = this.workflowSerializationContext();
968
1083
  this.pushCommand({
969
- respondToQuery: { queryId, succeeded: { response: this.payloadConverter.toPayload(result) } },
1084
+ respondToQuery: { queryId, succeeded: { response: this.payloadConverter.toPayload(result, context) } },
970
1085
  });
971
1086
  }
972
1087
  failQuery(queryId, error) {
@@ -981,8 +1096,9 @@ class Activator {
981
1096
  this.pushCommand({ updateResponse: { protocolInstanceId, accepted: {} } });
982
1097
  }
983
1098
  completeUpdate(protocolInstanceId, result) {
1099
+ const context = this.workflowSerializationContext();
984
1100
  this.pushCommand({
985
- updateResponse: { protocolInstanceId, completed: this.payloadConverter.toPayload(result) },
1101
+ updateResponse: { protocolInstanceId, completed: this.payloadConverter.toPayload(result, context) },
986
1102
  });
987
1103
  }
988
1104
  rejectUpdate(protocolInstanceId, error) {
@@ -1010,17 +1126,27 @@ class Activator {
1010
1126
  return completion;
1011
1127
  }
1012
1128
  completeWorkflow(result) {
1129
+ const context = this.workflowSerializationContext();
1013
1130
  this.pushCommand({
1014
1131
  completeWorkflowExecution: {
1015
- result: this.payloadConverter.toPayload(result),
1132
+ result: this.payloadConverter.toPayload(result, context),
1016
1133
  },
1017
1134
  }, true);
1018
1135
  }
1019
1136
  errorToFailure(err) {
1020
- return this.failureConverter.errorToFailure(err, this.payloadConverter);
1137
+ const context = this.workflowSerializationContext();
1138
+ return this.failureConverter.errorToFailure(err, this.payloadConverter, context);
1021
1139
  }
1022
1140
  failureToError(failure) {
1023
- return this.failureConverter.failureToError(failure, this.payloadConverter);
1141
+ const context = this.workflowSerializationContext();
1142
+ return this.failureConverter.failureToError(failure, this.payloadConverter, context);
1143
+ }
1144
+ workflowSerializationContext() {
1145
+ return {
1146
+ type: 'workflow',
1147
+ namespace: this.info.namespace,
1148
+ workflowId: this.info.workflowId,
1149
+ };
1024
1150
  }
1025
1151
  }
1026
1152
  exports.Activator = Activator;
@@ -1 +1 @@
1
- {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internals.js","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"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"}