@temporalio/workflow 0.21.0 → 1.0.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.
package/lib/trigger.js CHANGED
@@ -2,24 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Trigger = void 0;
4
4
  const cancellation_scope_1 = require("./cancellation-scope");
5
+ const stack_helpers_1 = require("./stack-helpers");
5
6
  /**
6
7
  * A `PromiseLike` helper which exposes its `resolve` and `reject` methods.
7
8
  *
8
- * Trigger is CancellationScope aware, it is linked to the current scope on
9
+ * Trigger is CancellationScope-aware: it is linked to the current scope on
9
10
  * construction and throws when that scope is cancelled.
10
11
  *
11
- * Useful for e.g. waiting for unblocking a Workflow from a signal.
12
+ * Useful for e.g. waiting for unblocking a Workflow from a Signal.
12
13
  *
13
14
  * @example
14
- * <!--SNIPSTART typescript-blocked-workflow-->
15
+ * <!--SNIPSTART typescript-trigger-workflow-->
15
16
  * <!--SNIPEND-->
16
17
  */
17
18
  class Trigger {
18
19
  constructor() {
19
- const promise = new Promise((resolve, reject) => {
20
+ this.promise = new Promise((resolve, reject) => {
20
21
  const scope = cancellation_scope_1.CancellationScope.current();
21
22
  if (scope.consideredCancelled || scope.cancellable) {
22
- scope.cancelRequested.catch(reject);
23
+ (0, stack_helpers_1.untrackPromise)(scope.cancelRequested.catch(reject));
23
24
  }
24
25
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
25
26
  // @ts-ignore
@@ -29,8 +30,10 @@ class Trigger {
29
30
  this.reject = reject;
30
31
  });
31
32
  // Avoid unhandled rejections
32
- promise.catch(() => undefined);
33
- this.then = promise.then.bind(promise);
33
+ (0, stack_helpers_1.untrackPromise)(this.promise.catch(() => undefined));
34
+ }
35
+ then(onfulfilled, onrejected) {
36
+ return this.promise.then(onfulfilled, onrejected);
34
37
  }
35
38
  }
36
39
  exports.Trigger = Trigger;
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AAEzD;;;;;;;;;;;GAWG;AACH,MAAa,OAAO;IAclB;QACE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,sCAAiB,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,WAAW,EAAE;gBAClD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACrC;YACD,6DAA6D;YAC7D,aAAa;YACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,6DAA6D;YAC7D,aAAa;YACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,6BAA6B;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AA/BD,0BA+BC"}
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../src/trigger.ts"],"names":[],"mappings":";;;AAAA,6DAAyD;AACzD,mDAAiD;AAEjD;;;;;;;;;;;GAWG;AACH,MAAa,OAAO;IAUlB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,MAAM,KAAK,GAAG,sCAAiB,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,WAAW,EAAE;gBAClD,IAAA,8BAAc,EAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACrD;YACD,6DAA6D;YAC7D,aAAa;YACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,6DAA6D;YAC7D,aAAa;YACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,6BAA6B;QAC7B,IAAA,8BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CACF,WAAiF,EACjF,UAAmF;QAEnF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AAjCD,0BAiCC"}
@@ -4,15 +4,18 @@
4
4
  * @module
5
5
  */
6
6
  import { ProtoFailure } from '@temporalio/common';
7
- import type { coresdk } from '@temporalio/proto/lib/coresdk';
7
+ import type { coresdk } from '@temporalio/proto';
8
8
  import { WorkflowInfo } from './interfaces';
9
9
  import { InterceptorsImportFunc, WorkflowsImportFunc } from './internals';
10
10
  import { SinkCall } from './sinks';
11
+ export { PromiseStackStore } from './internals';
11
12
  export interface WorkflowCreateOptions {
12
13
  info: WorkflowInfo;
13
14
  randomnessSeed: number[];
14
15
  now: number;
15
16
  patches: string[];
17
+ isReplaying: boolean;
18
+ historyLength: number;
16
19
  }
17
20
  export interface ImportFunctions {
18
21
  importWorkflows: WorkflowsImportFunc;
@@ -25,12 +28,12 @@ export declare function overrideGlobals(): void;
25
28
  *
26
29
  * Sets required internal state and instantiates the workflow and interceptors.
27
30
  */
28
- export declare function initRuntime({ info, randomnessSeed, now, patches }: WorkflowCreateOptions): Promise<void>;
31
+ export declare function initRuntime({ info, randomnessSeed, now, patches, isReplaying, historyLength, }: WorkflowCreateOptions): Promise<void>;
29
32
  /**
30
33
  * Run a chunk of activation jobs
31
34
  * @returns a boolean indicating whether job was processed or ignored
32
35
  */
33
- export declare function activate(activation: coresdk.workflow_activation.WorkflowActivation, batchIndex: number): Promise<void>;
36
+ export declare function activate(activation: coresdk.workflow_activation.WorkflowActivation, batchIndex: number): void;
34
37
  /**
35
38
  * Conclude a single activation.
36
39
  * Should be called after processing all activation jobs and queued microtasks.
@@ -100,19 +100,21 @@ exports.overrideGlobals = overrideGlobals;
100
100
  *
101
101
  * Sets required internal state and instantiates the workflow and interceptors.
102
102
  */
103
- async function initRuntime({ info, randomnessSeed, now, patches }) {
103
+ async function initRuntime({ info, randomnessSeed, now, patches, isReplaying, historyLength, }) {
104
+ const global = globalThis;
104
105
  // Set the runId globally on the context so it can be retrieved in the case
105
106
  // of an unhandled promise rejection.
106
- globalThis.__TEMPORAL__.runId = info.runId;
107
- // Globals are overridden while building the isolate before loading user code.
108
- // For some reason the `WeakRef` mock is not restored properly when creating an isolate from snapshot in node 14 (at least on ubuntu), override again.
109
- globalThis.WeakRef = function () {
110
- throw new errors_1.DeterminismViolationError('WeakRef cannot be used in Workflows because v8 GC is non-deterministic');
107
+ global.__TEMPORAL__.runId = info.runId;
108
+ // Set the promiseStackStore so promises can be tracked
109
+ global.__TEMPORAL__.promiseStackStore = {
110
+ promiseToStack: new Map(),
111
+ childToParent: new Map(),
111
112
  };
112
113
  internals_1.state.info = info;
113
114
  internals_1.state.now = now;
114
115
  internals_1.state.random = (0, alea_1.alea)(randomnessSeed);
115
- if (info.isReplaying) {
116
+ internals_1.state.historyLength = historyLength;
117
+ if (isReplaying) {
116
118
  for (const patch of patches) {
117
119
  internals_1.state.knownPresentPatches.add(patch);
118
120
  }
@@ -142,19 +144,10 @@ async function initRuntime({ info, randomnessSeed, now, patches }) {
142
144
  internals_1.state.interceptors.internals.push(...(interceptors.internals ?? []));
143
145
  }
144
146
  }
145
- let workflow;
146
- try {
147
- const mod = await importWorkflows();
148
- workflow = mod[info.workflowType];
149
- if (typeof workflow !== 'function') {
150
- throw new TypeError(`'${info.workflowType}' is not a function`);
151
- }
152
- }
153
- catch (err) {
154
- const failure = common_1.ApplicationFailure.nonRetryable((0, internal_workflow_common_1.errorMessage)(err), 'ReferenceError');
155
- failure.stack = failure.stack?.split('\n')[0];
156
- (0, internals_1.handleWorkflowFailure)(failure);
157
- return;
147
+ const mod = await importWorkflows();
148
+ const workflow = mod[info.workflowType];
149
+ if (typeof workflow !== 'function') {
150
+ throw new TypeError(`'${info.workflowType}' is not a function`);
158
151
  }
159
152
  internals_1.state.workflow = workflow;
160
153
  }
@@ -163,8 +156,8 @@ exports.initRuntime = initRuntime;
163
156
  * Run a chunk of activation jobs
164
157
  * @returns a boolean indicating whether job was processed or ignored
165
158
  */
166
- async function activate(activation, batchIndex) {
167
- const intercept = (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.internals, 'activate', async ({ activation, batchIndex }) => {
159
+ function activate(activation, batchIndex) {
160
+ const intercept = (0, internal_workflow_common_1.composeInterceptors)(internals_1.state.interceptors.internals, 'activate', ({ activation, batchIndex }) => {
168
161
  if (batchIndex === 0) {
169
162
  if (internals_1.state.info === undefined) {
170
163
  throw new internal_workflow_common_1.IllegalStateError('Workflow has not been initialized');
@@ -176,7 +169,11 @@ async function activate(activation, batchIndex) {
176
169
  // timestamp will not be updated for activation that contain only queries
177
170
  internals_1.state.now = (0, internal_workflow_common_1.tsToMs)(activation.timestamp);
178
171
  }
179
- internals_1.state.info.isReplaying = activation.isReplaying ?? false;
172
+ if (activation.historyLength == null) {
173
+ throw new TypeError('Got activation with no historyLength');
174
+ }
175
+ internals_1.state.isReplaying = activation.isReplaying ?? false;
176
+ internals_1.state.historyLength = activation.historyLength;
180
177
  }
181
178
  // Cast from the interface to the class which has the `variant` attribute.
182
179
  // This is safe because we know that activation is a proto class.
@@ -199,7 +196,7 @@ async function activate(activation, batchIndex) {
199
196
  tryUnblockConditions();
200
197
  }
201
198
  });
202
- await intercept({
199
+ intercept({
203
200
  activation,
204
201
  batchIndex,
205
202
  });
@@ -1 +1 @@
1
- {"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-interface.js","sourceRoot":"","sources":["../src/worker-interface.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { BaseWorkflowHandle, SignalDefinition, Workflow } from '@temporalio/internal-workflow-common';
2
2
  /**
3
- * Handle representing an external Workflow execution
3
+ * Handle representing an external Workflow Execution.
4
+ *
5
+ * This handle only has methods `cancel` and `signal`. To call other methods, like `query` and `result`, use
6
+ * {@link WorkflowClient.getHandle} inside an Activity.
4
7
  */
5
8
  export interface ExternalWorkflowHandle {
6
9
  /**
@@ -51,5 +54,5 @@ export interface ChildWorkflowHandle<T extends Workflow> extends BaseWorkflowHan
51
54
  /**
52
55
  * The runId of the initial run of the bound Workflow
53
56
  */
54
- readonly originalRunId: string;
57
+ readonly firstExecutionRunId: string;
55
58
  }
package/lib/workflow.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ActivityFunction, ActivityInterface, ActivityOptions, LocalActivityOptions, QueryDefinition, SignalDefinition, WithWorkflowArgs, Workflow, WorkflowResultType, WorkflowReturnType } from '@temporalio/internal-workflow-common';
1
+ import { ActivityFunction, ActivityInterface, ActivityOptions, LocalActivityOptions, QueryDefinition, SearchAttributes, SignalDefinition, WithWorkflowArgs, Workflow, WorkflowResultType, WorkflowReturnType } from '@temporalio/internal-workflow-common';
2
2
  import { ChildWorkflowOptions, ChildWorkflowOptionsWithDefaults, ContinueAsNewOptions, WorkflowInfo } from './interfaces';
3
3
  import { Sinks } from './sinks';
4
4
  import { ChildWorkflowHandle, ExternalWorkflowHandle } from './workflow-handle';
@@ -11,8 +11,8 @@ export declare function addDefaultWorkflowOptions<T extends Workflow>(opts: With
11
11
  *
12
12
  * Schedules a timer on the Temporal service.
13
13
  *
14
- * @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.
15
- *
14
+ * @param ms sleep duration - {@link https://www.npmjs.com/package/ms | ms} formatted string or number of milliseconds.
15
+ * If given a negative number or 0, value will be set to 1.
16
16
  */
17
17
  export declare function sleep(ms: number | string): Promise<void>;
18
18
  export interface ActivityInfo {
@@ -20,10 +20,6 @@ export interface ActivityInfo {
20
20
  type: string;
21
21
  }
22
22
  export declare type InternalActivityFunction<P extends any[], R> = ActivityFunction<P, R> & ActivityInfo;
23
- /**
24
- * @hidden
25
- */
26
- export declare function validateActivityOptions(options: ActivityOptions): void;
27
23
  /**
28
24
  * Schedule an activity and run outbound interceptors
29
25
  * @hidden
@@ -187,6 +183,10 @@ export declare function executeChild<T extends () => WorkflowReturnType>(workflo
187
183
  * Get information about the current Workflow
188
184
  */
189
185
  export declare function workflowInfo(): WorkflowInfo;
186
+ /**
187
+ * Returns whether or not code is executing in workflow context
188
+ */
189
+ export declare function inWorkflowContext(): boolean;
190
190
  /**
191
191
  * Get a reference to Sinks for exporting data out of the Workflow.
192
192
  *
@@ -257,7 +257,7 @@ export declare function uuid4(): string;
257
257
  /**
258
258
  * Patch or upgrade workflow code by checking or stating that this workflow has a certain patch.
259
259
  *
260
- * See [docs page](https://docs.temporal.io/docs/typescript/versioning) for info.
260
+ * See [docs page](https://docs.temporal.io/typescript/versioning) for info.
261
261
  *
262
262
  * If the workflow is replaying an existing history, then this function returns true if that
263
263
  * history was produced by a worker which also had a `patched` call with the same `patchId`.
@@ -275,7 +275,7 @@ export declare function patched(patchId: string): boolean;
275
275
  /**
276
276
  * Indicate that a patch is being phased out.
277
277
  *
278
- * See [docs page](https://docs.temporal.io/docs/typescript/versioning) for info.
278
+ * See [docs page](https://docs.temporal.io/typescript/versioning) for info.
279
279
  *
280
280
  * Workflows with this call may be deployed alongside workflows with a {@link patched} call, but
281
281
  * they must *not* be deployed while any workers still exist running old code without a
@@ -326,6 +326,65 @@ export declare type Handler<Ret, Args extends any[], T extends SignalDefinition<
326
326
  * If this function is called multiple times for a given signal or query name the last handler will overwrite any previous calls.
327
327
  *
328
328
  * @param def a {@link SignalDefinition} or {@link QueryDefinition} as returned by {@link defineSignal} or {@link defineQuery} respectively.
329
- * @param handler a compatible handler function for the given definition.
329
+ * @param handler a compatible handler function for the given definition or `undefined` to unset the handler.
330
+ */
331
+ export declare function setHandler<Ret, Args extends any[], T extends SignalDefinition<Args> | QueryDefinition<Ret, Args>>(def: T, handler: Handler<Ret, Args, T> | undefined): void;
332
+ /**
333
+ * Updates this Workflow's Search Attributes by merging the provided `searchAttributes` with the existing Search
334
+ * Attributes, `workflowInfo().searchAttributes`.
335
+ *
336
+ * For example, this Workflow code:
337
+ *
338
+ * ```ts
339
+ * upsertSearchAttributes({
340
+ * CustomIntField: [1, 2, 3],
341
+ * CustomBoolField: [true]
342
+ * });
343
+ * upsertSearchAttributes({
344
+ * CustomIntField: [42],
345
+ * CustomKeywordField: ['durable code', 'is great']
346
+ * });
347
+ * ```
348
+ *
349
+ * would result in the Workflow having these Search Attributes:
350
+ *
351
+ * ```ts
352
+ * {
353
+ * CustomIntField: [42],
354
+ * CustomBoolField: [true],
355
+ * CustomKeywordField: ['durable code', 'is great']
356
+ * }
357
+ * ```
358
+ *
359
+ * @param searchAttributes The Record to merge. Use a value of `[]` to clear a Search Attribute.
360
+ */
361
+ export declare function upsertSearchAttributes(searchAttributes: SearchAttributes): void;
362
+ /**
363
+ * Unsafe information about the currently executing Workflow Task.
364
+ *
365
+ * Never rely on this information in Workflow logic as it will cause non-deterministic behavior.
366
+ */
367
+ export interface UnsafeTaskInfo {
368
+ isReplaying: boolean;
369
+ }
370
+ /**
371
+ * Information about the currently executing Workflow Task.
372
+ *
373
+ * Meant for advanced usage.
374
+ */
375
+ export interface TaskInfo {
376
+ /**
377
+ * Length of Workflow history up until the current Workflow Task.
378
+ *
379
+ * You may safely use this information to decide when to {@link continueAsNew}.
380
+ */
381
+ historyLength: number;
382
+ unsafe: UnsafeTaskInfo;
383
+ }
384
+ /**
385
+ * Get information about the currently executing Workflow Task.
386
+ *
387
+ * See {@link TaskInfo}
330
388
  */
331
- export declare function setHandler<Ret, Args extends any[], T extends SignalDefinition<Args> | QueryDefinition<Ret, Args>>(def: T, handler: Handler<Ret, Args, T>): void;
389
+ export declare function taskInfo(): TaskInfo;
390
+ export declare const stackTraceQuery: QueryDefinition<string, []>;