@temporalio/workflow 1.4.4 → 1.5.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.
@@ -114,10 +114,9 @@ export declare class CancellationScope {
114
114
  */
115
115
  export declare const storage: ALS<CancellationScope>;
116
116
  export declare class RootCancellationScope extends CancellationScope {
117
+ constructor();
117
118
  cancel(): void;
118
119
  }
119
- /** There can only be one of these */
120
- export declare const ROOT_SCOPE: RootCancellationScope;
121
120
  /** This function is here to avoid a circular dependency between this module and workflow.ts */
122
121
  declare let sleep: (_: number | string) => Promise<void>;
123
122
  export declare function registerSleepImplementation(fn: typeof sleep): void;
@@ -12,7 +12,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  };
13
13
  var _CancellationScope_cancelRequested;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.registerSleepImplementation = exports.ROOT_SCOPE = exports.RootCancellationScope = exports.storage = exports.CancellationScope = exports.AsyncLocalStorage = void 0;
15
+ exports.registerSleepImplementation = exports.RootCancellationScope = exports.storage = exports.CancellationScope = exports.AsyncLocalStorage = void 0;
16
16
  const common_1 = require("@temporalio/common");
17
17
  const stack_helpers_1 = require("./stack-helpers");
18
18
  // AsyncLocalStorage is injected via vm module into global scope.
@@ -118,7 +118,8 @@ class CancellationScope {
118
118
  * Get the current "active" scope
119
119
  */
120
120
  static current() {
121
- return exports.storage.getStore() ?? exports.ROOT_SCOPE;
121
+ // Using globals directly instead of a helper function to avoid circular import
122
+ return exports.storage.getStore() ?? globalThis.__TEMPORAL__.activator.rootScope;
122
123
  }
123
124
  /** Alias to `new CancellationScope({ cancellable: true }).run(fn)` */
124
125
  static cancellable(fn) {
@@ -140,13 +141,14 @@ _CancellationScope_cancelRequested = new WeakMap();
140
141
  */
141
142
  exports.storage = new exports.AsyncLocalStorage();
142
143
  class RootCancellationScope extends CancellationScope {
144
+ constructor() {
145
+ super({ cancellable: true, parent: NO_PARENT });
146
+ }
143
147
  cancel() {
144
148
  this.reject(new common_1.CancelledFailure('Workflow cancelled'));
145
149
  }
146
150
  }
147
151
  exports.RootCancellationScope = RootCancellationScope;
148
- /** There can only be one of these */
149
- exports.ROOT_SCOPE = new RootCancellationScope({ cancellable: true, parent: NO_PARENT });
150
152
  /** This function is here to avoid a circular dependency between this module and workflow.ts */
151
153
  let sleep = (_) => {
152
154
  throw new common_1.IllegalStateError('Workflow has not been properly initialized');
@@ -1 +1 @@
1
- {"version":3,"file":"cancellation-scope.js","sourceRoot":"","sources":["../src/cancellation-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cancellation-scope.js","sourceRoot":"","sources":["../src/cancellation-scope.ts"],"names":[],"mappings":"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"}
package/lib/errors.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export { WorkflowExecutionAlreadyStartedError } from '@temporalio/common';
2
1
  /**
3
2
  * Base class for all workflow errors
4
3
  */
package/lib/errors.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCancellation = exports.DeterminismViolationError = exports.WorkflowError = exports.WorkflowExecutionAlreadyStartedError = void 0;
4
- var common_1 = require("@temporalio/common");
5
- Object.defineProperty(exports, "WorkflowExecutionAlreadyStartedError", { enumerable: true, get: function () { return common_1.WorkflowExecutionAlreadyStartedError; } });
3
+ exports.isCancellation = exports.DeterminismViolationError = exports.WorkflowError = void 0;
6
4
  /**
7
5
  * Base class for all workflow errors
8
6
  */
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0E;AAAjE,8HAAA,oCAAoC,OAAA;AAE7C;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IAAxC;;QACkB,SAAI,GAAW,eAAe,CAAC;IACjD,CAAC;CAAA;AAFD,sCAEC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,aAAa;IAA5D;;QACkB,SAAI,GAAW,2BAA2B,CAAC;IAC7D,CAAC;CAAA;AAFD,8DAEC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC;YACtE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CACzC,CAAC;AACJ,CAAC;AARD,wCAQC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IAAxC;;QACkB,SAAI,GAAW,eAAe,CAAC;IACjD,CAAC;CAAA;AAFD,sCAEC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,aAAa;IAA5D;;QACkB,SAAI,GAAW,2BAA2B,CAAC;IAC7D,CAAC;CAAA;AAFD,8DAEC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrG,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,kBAAkB;QAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC;YACtE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CACzC,CAAC;AACJ,CAAC;AARD,wCAQC"}
package/lib/index.d.ts CHANGED
@@ -45,12 +45,13 @@
45
45
  *
46
46
  * @module
47
47
  */
48
- export { ActivityCancellationType, ActivityFailure, ActivityFunction, ActivityInterface, ActivityOptions, ApplicationFailure, CancelledFailure, ChildWorkflowFailure, defaultPayloadConverter, PayloadConverter, RetryPolicy, rootCause, ServerFailure, TemporalFailure, TerminatedFailure, TimeoutFailure, UntypedActivities, } from '@temporalio/common';
48
+ export { ActivityCancellationType, ActivityFailure, ActivityOptions, ApplicationFailure, CancelledFailure, ChildWorkflowFailure, defaultPayloadConverter, PayloadConverter, RetryPolicy, rootCause, ServerFailure, TemporalFailure, TerminatedFailure, TimeoutFailure, } from '@temporalio/common';
49
49
  export * from '@temporalio/common/lib/errors';
50
- export * from '@temporalio/common/lib/interfaces';
50
+ export { ActivityFunction, ActivityInterface, // eslint-disable-line deprecation/deprecation
51
+ Payload, QueryDefinition, SearchAttributes, SearchAttributeValue, SignalDefinition, UntypedActivities, Workflow, WorkflowQueryType, WorkflowResultType, WorkflowReturnType, WorkflowSignalType, } from '@temporalio/common/lib/interfaces';
51
52
  export * from '@temporalio/common/lib/workflow-handle';
52
53
  export * from '@temporalio/common/lib/workflow-options';
53
- export { AsyncLocalStorage, CancellationScope, CancellationScopeOptions, ROOT_SCOPE } from './cancellation-scope';
54
+ export { AsyncLocalStorage, CancellationScope, CancellationScopeOptions } from './cancellation-scope';
54
55
  export * from './errors';
55
56
  export * from './interceptors';
56
57
  export { ChildWorkflowCancellationType, ChildWorkflowOptions, ContinueAsNew, ContinueAsNewOptions, EnhancedStackTrace, FileLocation, FileSlice, ParentClosePolicy, ParentWorkflowInfo, SDKInfo, StackTrace, UnsafeWorkflowInfo, WorkflowInfo, } from './interfaces';
package/lib/index.js CHANGED
@@ -61,7 +61,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
61
61
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
62
62
  };
63
63
  Object.defineProperty(exports, "__esModule", { value: true });
64
- exports.Trigger = exports.ParentClosePolicy = exports.ContinueAsNew = exports.ChildWorkflowCancellationType = exports.ROOT_SCOPE = exports.CancellationScope = exports.AsyncLocalStorage = exports.TimeoutFailure = exports.TerminatedFailure = exports.TemporalFailure = exports.ServerFailure = exports.rootCause = exports.defaultPayloadConverter = exports.ChildWorkflowFailure = exports.CancelledFailure = exports.ApplicationFailure = exports.ActivityFailure = exports.ActivityCancellationType = void 0;
64
+ exports.Trigger = exports.ParentClosePolicy = exports.ContinueAsNew = exports.ChildWorkflowCancellationType = exports.CancellationScope = exports.AsyncLocalStorage = exports.TimeoutFailure = exports.TerminatedFailure = exports.TemporalFailure = exports.ServerFailure = exports.rootCause = exports.defaultPayloadConverter = exports.ChildWorkflowFailure = exports.CancelledFailure = exports.ApplicationFailure = exports.ActivityFailure = exports.ActivityCancellationType = void 0;
65
65
  var common_1 = require("@temporalio/common");
66
66
  Object.defineProperty(exports, "ActivityCancellationType", { enumerable: true, get: function () { return common_1.ActivityCancellationType; } });
67
67
  Object.defineProperty(exports, "ActivityFailure", { enumerable: true, get: function () { return common_1.ActivityFailure; } });
@@ -75,13 +75,11 @@ Object.defineProperty(exports, "TemporalFailure", { enumerable: true, get: funct
75
75
  Object.defineProperty(exports, "TerminatedFailure", { enumerable: true, get: function () { return common_1.TerminatedFailure; } });
76
76
  Object.defineProperty(exports, "TimeoutFailure", { enumerable: true, get: function () { return common_1.TimeoutFailure; } });
77
77
  __exportStar(require("@temporalio/common/lib/errors"), exports);
78
- __exportStar(require("@temporalio/common/lib/interfaces"), exports);
79
78
  __exportStar(require("@temporalio/common/lib/workflow-handle"), exports);
80
79
  __exportStar(require("@temporalio/common/lib/workflow-options"), exports);
81
80
  var cancellation_scope_1 = require("./cancellation-scope");
82
81
  Object.defineProperty(exports, "AsyncLocalStorage", { enumerable: true, get: function () { return cancellation_scope_1.AsyncLocalStorage; } });
83
82
  Object.defineProperty(exports, "CancellationScope", { enumerable: true, get: function () { return cancellation_scope_1.CancellationScope; } });
84
- Object.defineProperty(exports, "ROOT_SCOPE", { enumerable: true, get: function () { return cancellation_scope_1.ROOT_SCOPE; } });
85
83
  __exportStar(require("./errors"), exports);
86
84
  __exportStar(require("./interceptors"), exports);
87
85
  var interfaces_1 = require("./interfaces");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;;;;;;;;;;;;;;;AAEH,6CAkB4B;AAjB1B,kHAAA,wBAAwB,OAAA;AACxB,yGAAA,eAAe,OAAA;AAIf,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,iHAAA,uBAAuB,OAAA;AAGvB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AAGhB,gEAA8C;AAC9C,oEAAkD;AAClD,yEAAuD;AACvD,0EAAwD;AACxD,2DAAkH;AAAzG,uHAAA,iBAAiB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAA4B,gHAAA,UAAU,OAAA;AACnF,2CAAyB;AACzB,iDAA+B;AAC/B,2CAcsB;AAbpB,2HAAA,6BAA6B,OAAA;AAE7B,2GAAA,aAAa,OAAA;AAKb,+GAAA,iBAAiB,OAAA;AAQnB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;;;;;;;;;;;;;;;;;AAEH,6CAe4B;AAd1B,kHAAA,wBAAwB,OAAA;AACxB,yGAAA,eAAe,OAAA;AAEf,4GAAA,kBAAkB,OAAA;AAClB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AACpB,iHAAA,uBAAuB,OAAA;AAGvB,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AAEhB,gEAA8C;AAgB9C,yEAAuD;AACvD,0EAAwD;AACxD,2DAAsG;AAA7F,uHAAA,iBAAiB,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAC7C,2CAAyB;AACzB,iDAA+B;AAC/B,2CAcsB;AAbpB,2HAAA,6BAA6B,OAAA;AAE7B,2GAAA,aAAa,OAAA;AAKb,+GAAA,iBAAiB,OAAA;AAQnB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,6CAA2B"}
@@ -173,7 +173,7 @@ export interface WorkflowInternalsInterceptor {
173
173
  *
174
174
  * Implement this method to perform any resource cleanup.
175
175
  */
176
- dispose?(input: DisposeInput, next: Next<this, 'dispose'>): Promise<void>;
176
+ dispose?(input: DisposeInput, next: Next<this, 'dispose'>): void;
177
177
  }
178
178
  /**
179
179
  * A mapping from interceptor type to an optional list of interceptor implementations
@@ -1,5 +1,5 @@
1
- import { RetryPolicy, TemporalFailure } from '@temporalio/common';
2
- import { CommonWorkflowOptions, SearchAttributes } from '@temporalio/common';
1
+ import type { RawSourceMap } from 'source-map';
2
+ import { RetryPolicy, TemporalFailure, CommonWorkflowOptions, SearchAttributes } from '@temporalio/common';
3
3
  import type { coresdk } from '@temporalio/proto';
4
4
  /**
5
5
  * Workflow Execution information
@@ -156,7 +156,7 @@ export interface ContinueAsNewOptions {
156
156
  /**
157
157
  * Non-searchable attributes to attach to next Workflow run
158
158
  */
159
- memo?: Record<string, any>;
159
+ memo?: Record<string, unknown>;
160
160
  /**
161
161
  * Searchable attributes to attach to next Workflow run
162
162
  */
@@ -306,3 +306,13 @@ export interface EnhancedStackTrace {
306
306
  sources: Record<string, FileSlice[]>;
307
307
  stacks: StackTrace[];
308
308
  }
309
+ export interface WorkflowCreateOptions {
310
+ info: WorkflowInfo;
311
+ randomnessSeed: number[];
312
+ now: number;
313
+ patches: string[];
314
+ showStackTraceSources: boolean;
315
+ }
316
+ export interface WorkflowCreateOptionsWithSourceMap extends WorkflowCreateOptions {
317
+ sourceMap: RawSourceMap;
318
+ }
@@ -1,10 +1,10 @@
1
- import { FailureConverter, PayloadConverter } from '@temporalio/common';
2
1
  import type { RawSourceMap } from 'source-map';
3
- import { Workflow, WorkflowQueryType, WorkflowSignalType } from '@temporalio/common';
2
+ import { FailureConverter, PayloadConverter, Workflow, WorkflowQueryType, WorkflowSignalType, ProtoFailure } from '@temporalio/common';
4
3
  import type { coresdk } from '@temporalio/proto';
5
4
  import { RNG } from './alea';
6
- import { QueryInput, SignalInput, WorkflowExecuteInput, WorkflowInterceptors, WorkflowInterceptorsFactory } from './interceptors';
7
- import { FileLocation, WorkflowInfo } from './interfaces';
5
+ import { RootCancellationScope } from './cancellation-scope';
6
+ import { QueryInput, SignalInput, WorkflowExecuteInput, WorkflowInterceptors } from './interceptors';
7
+ import { FileLocation, WorkflowInfo, WorkflowCreateOptionsWithSourceMap } from './interfaces';
8
8
  import { SinkCall } from './sinks';
9
9
  export interface Stack {
10
10
  formatted: string;
@@ -17,11 +17,9 @@ export interface PromiseStackStore {
17
17
  childToParent: Map<Promise<unknown>, Set<Promise<unknown>>>;
18
18
  promiseToStack: Map<Promise<unknown>, Stack>;
19
19
  }
20
- export declare type ResolveFunction<T = any> = (val: T) => any;
21
- export declare type RejectFunction<E = any> = (val: E) => any;
22
20
  export interface Completion {
23
- resolve: ResolveFunction;
24
- reject: RejectFunction;
21
+ resolve(val: unknown): unknown;
22
+ reject(reason: unknown): unknown;
25
23
  }
26
24
  export interface Condition {
27
25
  fn(): boolean;
@@ -36,43 +34,27 @@ export declare class LocalActivityDoBackoff {
36
34
  constructor(backoff: coresdk.activity_result.IDoBackoff);
37
35
  }
38
36
  export declare type ActivationHandlerFunction<K extends keyof coresdk.workflow_activation.IWorkflowActivationJob> = (activation: NonNullable<coresdk.workflow_activation.IWorkflowActivationJob[K]>) => void;
37
+ /**
38
+ * Verifies all activation job handling methods are implemented
39
+ */
39
40
  export declare type ActivationHandler = {
40
41
  [P in keyof coresdk.workflow_activation.IWorkflowActivationJob]: ActivationHandlerFunction<P>;
41
42
  };
42
- export declare class Activator implements ActivationHandler {
43
- workflowFunctionWasCalled: boolean;
44
- startWorkflowNextHandler({ args }: WorkflowExecuteInput): Promise<any>;
45
- startWorkflow(activation: coresdk.workflow_activation.IStartWorkflow): void;
46
- cancelWorkflow(_activation: coresdk.workflow_activation.ICancelWorkflow): void;
47
- fireTimer(activation: coresdk.workflow_activation.IFireTimer): void;
48
- resolveActivity(activation: coresdk.workflow_activation.IResolveActivity): void;
49
- resolveChildWorkflowExecutionStart(activation: coresdk.workflow_activation.IResolveChildWorkflowExecutionStart): void;
50
- resolveChildWorkflowExecution(activation: coresdk.workflow_activation.IResolveChildWorkflowExecution): void;
51
- protected queryWorkflowNextHandler({ queryName, args }: QueryInput): Promise<unknown>;
52
- queryWorkflow(activation: coresdk.workflow_activation.IQueryWorkflow): void;
53
- signalWorkflowNextHandler({ signalName, args }: SignalInput): Promise<void>;
54
- signalWorkflow(activation: coresdk.workflow_activation.ISignalWorkflow): void;
55
- resolveSignalExternalWorkflow(activation: coresdk.workflow_activation.IResolveSignalExternalWorkflow): void;
56
- resolveRequestCancelExternalWorkflow(activation: coresdk.workflow_activation.IResolveRequestCancelExternalWorkflow): void;
57
- updateRandomSeed(activation: coresdk.workflow_activation.IUpdateRandomSeed): void;
58
- notifyHasPatch(activation: coresdk.workflow_activation.INotifyHasPatch): void;
59
- removeFromCache(): void;
60
- }
61
- export declare type WorkflowsImportFunc = () => Promise<Record<string, any>>;
62
- export declare type InterceptorsImportFunc = () => Promise<Array<{
63
- interceptors: WorkflowInterceptorsFactory;
64
- }>>;
65
43
  /**
66
- * Keeps all of the Workflow runtime state like pending completions for activities and timers and the scope stack.
44
+ * SDK Internal Patches are created by the SDK to avoid breaking history when behaviour
45
+ * of existing API need to be modified. This is the patch number supported by the current
46
+ * version of the SDK.
67
47
  *
68
- * State mutates each time the Workflow is activated.
48
+ * History:
49
+ * 1: Fix `condition(..., 0)` is not the same as `condition(..., undefined)`
69
50
  */
70
- export declare class State {
71
- #private;
72
- /**
73
- * Activator executes activation jobs
74
- */
75
- readonly activator: Activator;
51
+ export declare const LATEST_INTERNAL_PATCH_NUMBER = 1;
52
+ /**
53
+ * Keeps all of the Workflow runtime state like pending completions for activities and timers.
54
+ *
55
+ * Implements handlers for all workflow activation jobs.
56
+ */
57
+ export declare class Activator implements ActivationHandler {
76
58
  /**
77
59
  * Map of task sequence to a Completion
78
60
  */
@@ -95,7 +77,7 @@ export declare class State {
95
77
  * This is required because async interceptors might block workflow function invocation
96
78
  * which delays query handler registration.
97
79
  */
98
- readonly bufferedQueries: coresdk.workflow_activation.IQueryWorkflow[];
80
+ protected readonly bufferedQueries: coresdk.workflow_activation.IQueryWorkflow[];
99
81
  /**
100
82
  * Mapping of signal name to handler
101
83
  */
@@ -103,12 +85,13 @@ export declare class State {
103
85
  /**
104
86
  * Source map file for looking up the source files in response to __enhanced_stack_trace
105
87
  */
106
- sourceMap: RawSourceMap | undefined;
88
+ protected readonly sourceMap: RawSourceMap;
107
89
  /**
108
90
  * Whether or not to send the sources in enhanced stack trace query responses
109
91
  */
110
- showStackTraceSources: boolean;
111
- protected getStackTraces(): Stack[];
92
+ protected readonly showStackTraceSources: boolean;
93
+ protected readonly promiseStackStore: PromiseStackStore;
94
+ readonly rootScope: RootCancellationScope;
112
95
  /**
113
96
  * Mapping of query name to handler
114
97
  */
@@ -116,15 +99,15 @@ export declare class State {
116
99
  /**
117
100
  * Loaded in {@link initRuntime}
118
101
  */
119
- interceptors: Required<WorkflowInterceptors>;
102
+ readonly interceptors: Required<WorkflowInterceptors>;
120
103
  /**
121
104
  * Buffer that stores all generated commands, reset after each activation
122
105
  */
123
- commands: coresdk.workflow_commands.IWorkflowCommand[];
106
+ protected commands: coresdk.workflow_commands.IWorkflowCommand[];
124
107
  /**
125
108
  * Stores all {@link condition}s that haven't been unblocked yet
126
109
  */
127
- blockedConditions: Map<number, Condition>;
110
+ readonly blockedConditions: Map<number, Condition>;
128
111
  /**
129
112
  * Is this Workflow completed?
130
113
  *
@@ -136,7 +119,13 @@ export declare class State {
136
119
  /**
137
120
  * Was this Workflow cancelled?
138
121
  */
139
- cancelled: boolean;
122
+ protected cancelled: boolean;
123
+ /**
124
+ * This is tracked to allow buffering queries until a workflow function is called.
125
+ * TODO(bergundy): I don't think this makes sense since queries run last in an activation and must be responded to in
126
+ * the same activation.
127
+ */
128
+ protected workflowFunctionWasCalled: boolean;
140
129
  /**
141
130
  * The next (incremental) sequence to assign when generating completable commands
142
131
  */
@@ -149,8 +138,10 @@ export declare class State {
149
138
  condition: number;
150
139
  stack: number;
151
140
  };
152
- get now(): number;
153
- set now(value: number);
141
+ /**
142
+ * This is set every time the workflow executes an activation
143
+ */
144
+ now: number;
154
145
  /**
155
146
  * Reference to the current Workflow, initialized when a Workflow is started
156
147
  */
@@ -158,23 +149,11 @@ export declare class State {
158
149
  /**
159
150
  * Information about the current Workflow
160
151
  */
161
- info?: WorkflowInfo;
152
+ readonly info: WorkflowInfo;
162
153
  /**
163
154
  * A deterministic RNG, used by the isolate's overridden Math.random
164
155
  */
165
156
  random: RNG;
166
- /**
167
- * Used to import the user workflows
168
- *
169
- * Injected on isolate context startup
170
- */
171
- importWorkflows?: WorkflowsImportFunc;
172
- /**
173
- * Used to import the user interceptors
174
- *
175
- * Injected on isolate context startup
176
- */
177
- importInterceptors?: InterceptorsImportFunc;
178
157
  payloadConverter: PayloadConverter;
179
158
  failureConverter: FailureConverter;
180
159
  /**
@@ -185,7 +164,14 @@ export declare class State {
185
164
  * Patches we sent to core {@link patched}
186
165
  */
187
166
  readonly sentPatches: Set<string>;
167
+ /**
168
+ * SDK Internal Patches are created by the SDK to avoid breaking history when behaviour
169
+ * of existing API need to be modified.
170
+ */
171
+ internalPatchNumber: number;
188
172
  sinkCalls: SinkCall[];
173
+ constructor({ info, now, showStackTraceSources, sourceMap, randomnessSeed, patches, }: WorkflowCreateOptionsWithSourceMap);
174
+ protected getStackTraces(): Stack[];
189
175
  getAndResetSinkCalls(): SinkCall[];
190
176
  /**
191
177
  * Buffer a Workflow command to be collected at the end of the current activation.
@@ -193,14 +179,37 @@ export declare class State {
193
179
  * Prevents commands from being added after Workflow completion.
194
180
  */
195
181
  pushCommand(cmd: coresdk.workflow_commands.IWorkflowCommand, complete?: boolean): void;
182
+ getAndResetCommands(): coresdk.workflow_commands.IWorkflowCommand[];
183
+ startWorkflowNextHandler({ args }: WorkflowExecuteInput): Promise<any>;
184
+ startWorkflow(activation: coresdk.workflow_activation.IStartWorkflow): void;
185
+ cancelWorkflow(_activation: coresdk.workflow_activation.ICancelWorkflow): void;
186
+ fireTimer(activation: coresdk.workflow_activation.IFireTimer): void;
187
+ resolveActivity(activation: coresdk.workflow_activation.IResolveActivity): void;
188
+ resolveChildWorkflowExecutionStart(activation: coresdk.workflow_activation.IResolveChildWorkflowExecutionStart): void;
189
+ resolveChildWorkflowExecution(activation: coresdk.workflow_activation.IResolveChildWorkflowExecution): void;
190
+ protected queryWorkflowNextHandler({ queryName, args }: QueryInput): Promise<unknown>;
191
+ queryWorkflow(activation: coresdk.workflow_activation.IQueryWorkflow): void;
192
+ signalWorkflowNextHandler({ signalName, args }: SignalInput): Promise<void>;
193
+ signalWorkflow(activation: coresdk.workflow_activation.ISignalWorkflow): void;
194
+ resolveSignalExternalWorkflow(activation: coresdk.workflow_activation.IResolveSignalExternalWorkflow): void;
195
+ resolveRequestCancelExternalWorkflow(activation: coresdk.workflow_activation.IResolveRequestCancelExternalWorkflow): void;
196
+ updateRandomSeed(activation: coresdk.workflow_activation.IUpdateRandomSeed): void;
197
+ notifyHasPatch(activation: coresdk.workflow_activation.INotifyHasPatch): void;
198
+ checkInternalPatchAtLeast(minimumPatchNumber: number): boolean;
199
+ removeFromCache(): void;
200
+ /**
201
+ * Transforms failures into a command to be sent to the server.
202
+ * Used to handle any failure emitted by the Workflow.
203
+ */
204
+ handleWorkflowFailure(error: unknown): Promise<void>;
205
+ private completeQuery;
206
+ private failQuery;
207
+ /** Consume a completion if it exists in Workflow state */
208
+ private maybeConsumeCompletion;
209
+ /** Consume a completion if it exists in Workflow state, throws if it doesn't */
210
+ private consumeCompletion;
211
+ private completeWorkflow;
212
+ errorToFailure(err: unknown): ProtoFailure;
213
+ failureToError(failure: ProtoFailure): Error;
196
214
  }
197
- export declare const state: State;
198
- /**
199
- * Transforms failures into a command to be sent to the server.
200
- * Used to handle any failure emitted by the Workflow.
201
- */
202
- export declare function handleWorkflowFailure(error: unknown): Promise<void>;
203
- /** Consume a completion if it exists in Workflow state */
204
- export declare function maybeConsumeCompletion(type: keyof State['completions'], taskSeq: number): Completion | undefined;
205
- /** Consume a completion if it exists in Workflow state, throws if it doesn't */
206
- export declare function consumeCompletion(type: keyof State['completions'], taskSeq: number): Completion;
215
+ export declare function getActivator(): Activator;