@superdurable/dex 0.1.5 → 0.1.10
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/README.md +102 -6
- package/dist/src/client.d.ts +18 -23
- package/dist/src/client.js +94 -65
- package/dist/src/client.js.map +1 -1
- package/dist/src/codec.d.ts +1 -1
- package/dist/src/context.d.ts +7 -0
- package/dist/src/errors.d.ts +2 -33
- package/dist/src/errors.js +2 -45
- package/dist/src/errors.js.map +1 -1
- package/dist/src/flow-result.d.ts +47 -0
- package/dist/src/flow-result.js +82 -0
- package/dist/src/flow-result.js.map +1 -0
- package/dist/src/flow.d.ts +13 -1
- package/dist/src/flow.js +1 -0
- package/dist/src/flow.js.map +1 -1
- package/dist/src/gen/dex.d.ts +209 -33
- package/dist/src/gen/dex.js +1619 -213
- package/dist/src/gen/dex.js.map +1 -1
- package/dist/src/grpc-status.js +6 -5
- package/dist/src/grpc-status.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/invocation-context.d.ts +5 -1
- package/dist/src/invocation-context.js +23 -1
- package/dist/src/invocation-context.js.map +1 -1
- package/dist/src/options.d.ts +42 -19
- package/dist/src/options.js +20 -4
- package/dist/src/options.js.map +1 -1
- package/dist/src/rpc.d.ts +3 -1
- package/dist/src/rpc.js.map +1 -1
- package/dist/src/step.d.ts +32 -2
- package/dist/src/step.js +37 -0
- package/dist/src/step.js.map +1 -1
- package/dist/src/subflow.d.ts +62 -0
- package/dist/src/subflow.js +62 -0
- package/dist/src/subflow.js.map +1 -0
- package/dist/src/wait.d.ts +10 -2
- package/dist/src/wait.js.map +1 -1
- package/dist/src/worker-dispatcher.d.ts +4 -3
- package/dist/src/worker-dispatcher.js +256 -28
- package/dist/src/worker-dispatcher.js.map +1 -1
- package/dist/src/worker.js +21 -5
- package/dist/src/worker.js.map +1 -1
- package/native/linux-aarch64/dex_blob_cache_node.node +0 -0
- package/native/linux-x86_64/dex_blob_cache_node.node +0 -0
- package/native/macos-aarch64/dex_blob_cache_node.node +0 -0
- package/native/macos-x86_64/dex_blob_cache_node.node +0 -0
- package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
- package/package.json +1 -1
package/dist/src/grpc-status.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
8
|
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
|
|
9
9
|
import { Metadata, status } from "@grpc/grpc-js";
|
|
10
|
-
import {
|
|
10
|
+
import { ServiceErrorResponse, ErrorSubStatus as ProtoErrorSubStatus, WorkerErrorResponse, } from "./gen/dex.js";
|
|
11
11
|
import { DexServiceError, ErrorSubStatus, FlowAlreadyStartedError, FlowNotActiveError, FlowNotFoundError, LongPollTimeoutError, RpcLockConflictError, WorkerInvocationError, } from "./errors.js";
|
|
12
12
|
const statusDetailsKey = "grpc-status-details-bin";
|
|
13
13
|
export function workerServiceError(failure) {
|
|
@@ -17,6 +17,7 @@ export function workerServiceError(failure) {
|
|
|
17
17
|
detail,
|
|
18
18
|
errorType: cause.name,
|
|
19
19
|
stackTrace: cause.stack ?? "",
|
|
20
|
+
retryAfterSeconds: 0,
|
|
20
21
|
}).finish();
|
|
21
22
|
const metadata = new Metadata();
|
|
22
23
|
metadata.set(statusDetailsKey, Buffer.from(encodeStatus(status.UNKNOWN, detail, [
|
|
@@ -31,7 +32,7 @@ export function workerServiceError(failure) {
|
|
|
31
32
|
export function translateServiceError(error, operation, flowId, requirement) {
|
|
32
33
|
let response;
|
|
33
34
|
try {
|
|
34
|
-
response =
|
|
35
|
+
response = serviceErrorResponse(error);
|
|
35
36
|
}
|
|
36
37
|
catch (failure) {
|
|
37
38
|
return new DexServiceError(error.code, ErrorSubStatus.UNCATEGORIZED, `Dex returned malformed error details: ${failure instanceof Error ? failure.message : String(failure)}`, operation, flowId, { cause: error });
|
|
@@ -68,14 +69,14 @@ export function translateServiceError(error, operation, flowId, requirement) {
|
|
|
68
69
|
return new DexServiceError(...parameters);
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
|
-
function
|
|
72
|
+
function serviceErrorResponse(error) {
|
|
72
73
|
const encoded = error.metadata.get(statusDetailsKey)[0];
|
|
73
74
|
if (!(encoded instanceof Buffer)) {
|
|
74
75
|
return undefined;
|
|
75
76
|
}
|
|
76
77
|
const decoded = decodeStatus(encoded);
|
|
77
|
-
const detail = decoded.details.find((candidate) => candidate.typeUrl.endsWith("/dex.
|
|
78
|
-
return detail === undefined ? undefined :
|
|
78
|
+
const detail = decoded.details.find((candidate) => candidate.typeUrl.endsWith("/dex.ServiceErrorResponse"));
|
|
79
|
+
return detail === undefined ? undefined : ServiceErrorResponse.decode(detail.value);
|
|
79
80
|
}
|
|
80
81
|
function workerCode(response) {
|
|
81
82
|
if (response === undefined || response.originalWorkerErrorStatus === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grpc-status.js","sourceRoot":"","sources":["../../src/grpc-status.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAExD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAyC,MAAM,eAAe,CAAC;AAExF,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"grpc-status.js","sourceRoot":"","sources":["../../src/grpc-status.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,10 +5,12 @@ export * from "./context.js";
|
|
|
5
5
|
export * from "./errors.js";
|
|
6
6
|
export { Registry } from "./flow.js";
|
|
7
7
|
export type { Flow } from "./flow.js";
|
|
8
|
+
export type { FlowResult, StepCompletion } from "./flow-result.js";
|
|
8
9
|
export * from "./options.js";
|
|
9
10
|
export * from "./persistence.js";
|
|
10
11
|
export { rpc } from "./rpc.js";
|
|
11
12
|
export type { RPC, RPCOptions, RPCResult } from "./rpc.js";
|
|
12
13
|
export * from "./step.js";
|
|
14
|
+
export * from "./subflow.js";
|
|
13
15
|
export * from "./wait.js";
|
|
14
16
|
export * from "./worker.js";
|
package/dist/src/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./options.js";
|
|
|
15
15
|
export * from "./persistence.js";
|
|
16
16
|
export { rpc } from "./rpc.js";
|
|
17
17
|
export * from "./step.js";
|
|
18
|
+
export * from "./subflow.js";
|
|
18
19
|
export * from "./wait.js";
|
|
19
20
|
export * from "./worker.js";
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAExD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAExD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { Codec } from "./codec.js";
|
|
|
2
2
|
import type { Context } from "./context.js";
|
|
3
3
|
import { type AttributeWrite, type ChannelInfo, type ChannelMessage, type ConditionResults, type Context as ProtoContext, type KV } from "./gen/dex.js";
|
|
4
4
|
import type { RegisteredFlow } from "./flow.js";
|
|
5
|
+
import { type FlowResult } from "./flow-result.js";
|
|
5
6
|
import { AttributeMap, type Attribute } from "./persistence.js";
|
|
6
7
|
import { ChannelMap, type Channel } from "./wait.js";
|
|
7
8
|
export type InvocationMethod = "waitFor" | "execute" | "rpc";
|
|
@@ -16,6 +17,7 @@ export declare class InvocationContext implements Context {
|
|
|
16
17
|
readonly fromStepExecutionId: string;
|
|
17
18
|
readonly firstAttemptAt: Date;
|
|
18
19
|
readonly attempt: number;
|
|
20
|
+
readonly cancellationSignal: AbortSignal;
|
|
19
21
|
private readonly attributes;
|
|
20
22
|
private readonly locals;
|
|
21
23
|
private readonly channelInfos;
|
|
@@ -24,9 +26,11 @@ export declare class InvocationContext implements Context {
|
|
|
24
26
|
private readonly events;
|
|
25
27
|
private readonly eventNames;
|
|
26
28
|
private readonly publications;
|
|
27
|
-
constructor(method: InvocationMethod, flow: RegisteredFlow, metadata: ProtoContext | undefined, attributes: readonly KV[], locals?: readonly KV[], conditionResults?: ConditionResults | undefined, channelInfos?: Readonly<Record<string, ChannelInfo
|
|
29
|
+
constructor(method: InvocationMethod, flow: RegisteredFlow, metadata: ProtoContext | undefined, attributes: readonly KV[], locals?: readonly KV[], conditionResults?: ConditionResults | undefined, channelInfos?: Readonly<Record<string, ChannelInfo>>, cancellationSignal?: AbortSignal);
|
|
28
30
|
hasTimerFired(index?: number): boolean;
|
|
29
31
|
waitForMethodFailed(): boolean;
|
|
32
|
+
subFlowResult(index?: number): FlowResult;
|
|
33
|
+
subFlowId(index?: number): string;
|
|
30
34
|
setStepExecutionLocal<T>(key: string, value: T, codec: Codec<T>): void;
|
|
31
35
|
getStepExecutionLocal<T>(key: string, codec: Codec<T>): T | undefined;
|
|
32
36
|
recordEvent<T>(name: string, value: T, codec: Codec<T>): void;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
8
|
import { mapAttributeStoreSync } from "./attribute-store-sync.js";
|
|
9
9
|
import { ConditionStatus, IndexType as ProtoIndexType, } from "./gen/dex.js";
|
|
10
|
+
import { createFlowResultFromProto } from "./flow-result.js";
|
|
10
11
|
import { AttributeMap, IndexType } from "./persistence.js";
|
|
11
12
|
import { decodeValue, deletionValue, encodeValue } from "./value-mapper.js";
|
|
12
13
|
import { requireName } from "./validation.js";
|
|
@@ -22,6 +23,7 @@ export class InvocationContext {
|
|
|
22
23
|
fromStepExecutionId;
|
|
23
24
|
firstAttemptAt;
|
|
24
25
|
attempt;
|
|
26
|
+
cancellationSignal;
|
|
25
27
|
attributes;
|
|
26
28
|
locals;
|
|
27
29
|
channelInfos;
|
|
@@ -30,7 +32,7 @@ export class InvocationContext {
|
|
|
30
32
|
events = [];
|
|
31
33
|
eventNames = new Set();
|
|
32
34
|
publications = [];
|
|
33
|
-
constructor(method, flow, metadata, attributes, locals = [], conditionResults, channelInfos = {}) {
|
|
35
|
+
constructor(method, flow, metadata, attributes, locals = [], conditionResults, channelInfos = {}, cancellationSignal = new AbortController().signal) {
|
|
34
36
|
this.method = method;
|
|
35
37
|
this.flow = flow;
|
|
36
38
|
this.conditionResults = conditionResults;
|
|
@@ -44,6 +46,7 @@ export class InvocationContext {
|
|
|
44
46
|
this.fromStepExecutionId = metadata.fromStepExecutionId;
|
|
45
47
|
this.firstAttemptAt = secondsDate(metadata.firstAttemptTimestamp);
|
|
46
48
|
this.attempt = metadata.attempt;
|
|
49
|
+
this.cancellationSignal = cancellationSignal;
|
|
47
50
|
this.attributes = mapValues("Attribute", attributes);
|
|
48
51
|
this.locals = mapValues("step-execution local", locals);
|
|
49
52
|
this.channelInfos = new Map(Object.entries(channelInfos));
|
|
@@ -58,6 +61,25 @@ export class InvocationContext {
|
|
|
58
61
|
waitForMethodFailed() {
|
|
59
62
|
return this.conditionResults?.waitForFailed ?? false;
|
|
60
63
|
}
|
|
64
|
+
subFlowResult(index = 0) {
|
|
65
|
+
if (this.method !== "execute") {
|
|
66
|
+
throw new TypeError("SubFlow results are available only during execute");
|
|
67
|
+
}
|
|
68
|
+
const result = this.conditionResults?.subFlowResults[index];
|
|
69
|
+
if (index < 0 || result === undefined) {
|
|
70
|
+
throw new RangeError(`SubFlow result index is unavailable: ${index}`);
|
|
71
|
+
}
|
|
72
|
+
return createFlowResultFromProto(result, result.results.map((completion) => {
|
|
73
|
+
if (completion.completedStepOutput === undefined) {
|
|
74
|
+
throw new TypeError("SubFlow Step completion output is required");
|
|
75
|
+
}
|
|
76
|
+
return completion.completedStepOutput;
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
subFlowId(index = 0) {
|
|
80
|
+
this.subFlowResult(index);
|
|
81
|
+
return `SubFlow:${this.flowId}-${this.stepExecutionId}-${index}`;
|
|
82
|
+
}
|
|
61
83
|
setStepExecutionLocal(key, value, codec) {
|
|
62
84
|
requireName(key);
|
|
63
85
|
this.localWrites.set(key, { key, value: encodeValue(codec, value) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../../src/invocation-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invocation-context.js","sourceRoot":"","sources":["../../src/invocation-context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAGxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EACL,eAAe,EACf,SAAS,IAAI,cAAc,GAS5B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,yBAAyB,EAAmB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgB,MAAM,WAAW,CAAC;AAIrD,MAAM,OAAO,iBAAiB;IAoBT;IACA;IAIA;IAxBH,MAAM,CAAS;IACf,KAAK,CAAS;IACd,aAAa,CAAO;IACpB,eAAe,CAAS;IACxB,mBAAmB,CAAS;IAC5B,cAAc,CAAO;IACrB,OAAO,CAAS;IAChB,kBAAkB,CAAc;IAE/B,UAAU,CAAqB;IAC/B,MAAM,CAAqB;IAC3B,YAAY,CAA2B;IACvC,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,WAAW,GAAG,IAAI,GAAG,EAAc,CAAC;IACpC,MAAM,GAAS,EAAE,CAAC;IAClB,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,YAAY,GAAqB,EAAE,CAAC;IAErD,YACmB,MAAwB,EACxB,IAAoB,EACrC,QAAkC,EAClC,UAAyB,EACzB,SAAwB,EAAE,EACT,gBAAmC,EACpD,eAAsD,EAAE,EACxD,qBAAkC,IAAI,eAAe,EAAE,CAAC,MAAM;QAP7C,WAAM,GAAN,MAAM,CAAkB;QACxB,SAAI,GAAJ,IAAI,CAAgB;QAIpB,qBAAgB,GAAhB,gBAAgB,CAAmB;QAIpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5D,CAAC;IAEM,aAAa,CAAC,KAAc;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,YAAY,IAAI,EAAE,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,eAAe,KAAK,eAAe,CAAC,0BAA0B,CAAC;QACxF,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,eAAe,CAAC,0BAA0B,CAClF,CAAC;IACJ,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,EAAE,aAAa,IAAI,KAAK,CAAC;IACvD,CAAC;IAEM,aAAa,CAAC,KAAK,GAAG,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,UAAU,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,yBAAyB,CAC9B,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAChC,IAAI,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;YACpE,CAAC;YACD,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACxC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,SAAS,CAAC,KAAK,GAAG,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,WAAW,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC;IACnE,CAAC;IAEM,qBAAqB,CAAI,GAAW,EAAE,KAAQ,EAAE,KAAe;QACpE,WAAW,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,qBAAqB,CAAI,GAAW,EAAE,KAAe;QAC1D,WAAW,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvE,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAEM,WAAW,CAAI,IAAY,EAAE,KAAQ,EAAE,KAAe;QAC3D,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,YAAY,CACjB,SAAyC,EACzC,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QACnD,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnG,CAAC;IAEM,YAAY,CACjB,SAAyC,EACzC,KAAQ,EACR,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;YAC5B,GAAG;YACH,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;YAC1C,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,qBAAqB,CAAC,SAAS,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CACpB,SAAqD,EACrD,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;YAC5B,GAAG;YACH,KAAK,EAAE,aAAa,EAAE;YACtB,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;YACtC,UAAU,EAAE,qBAAqB,CAAC,SAAS,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAC,SAAgC;QACtD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CACpE,CAAC;QACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC7C,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,YAAY,CAAC;aACrB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC1D,IAAI,EAAE,CAAC;IACZ,CAAC;IAEM,OAAO,CAAI,OAAmC,EAAE,KAAQ,EAAE,QAAiB;QAChF,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAEM,WAAW,CAChB,OAA+C,EAC/C,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC7E,CAAC;IAEM,cAAc,CAAC,OAA4B;QAChD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC;QAClC,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;aAChE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aAC5D,IAAI,EAAE,CAAC;IACZ,CAAC;IAEM,cAAc,CACnB,OAAmC,EACnC,QAAiB;QAEjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,IAAI,EAAE,CAAC;aACjD,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,WAAW,KAAK,IAAI;YAC3B,MAAM,CAAC,eAAe,KAAK,eAAe,CAAC,0BAA0B,CACxE;aACA,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,kBAAkB;QACvB,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,cAAc;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CACvB,UAIuB;QAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;YAC9D,MAAM,IAAI,SAAS,CAAC,mDAAmD,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;CACF;AAED,SAAS,cAAc,CACrB,UAIuB,EACvB,QAAiB;IAEjB,IAAI,UAAU,YAAY,YAAY,IAAI,UAAU,YAAY,UAAU,EAAE,CAAC;QAC3E,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,kBAAkB,UAAU,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAChF,CAAC;QACD,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,SAAS,CAAC,qBAAqB,UAAU,CAAC,IAAI,yBAAyB,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,SAAiB;IACxC,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,OAAsB;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,SAAS,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAI,KAAe;IACtC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,KAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,CAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,EAAO,CAAC;QACjB;YACE,OAAO,SAAc,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8C;IAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAsC;QAC/C,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,kBAAkB;QACtD,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,eAAe;QACrD,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,wBAAwB;QAClE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,cAAc;QAC9C,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,iBAAiB;QACpD,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,eAAe;QAChD,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,mBAAmB;KACzD,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,GAAG,KAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/src/options.d.ts
CHANGED
|
@@ -31,6 +31,19 @@ export declare const IdReusePolicy: Readonly<{
|
|
|
31
31
|
}>;
|
|
32
32
|
/** Represents a value from {@link IdReusePolicy}. */
|
|
33
33
|
export type IdReusePolicy = (typeof IdReusePolicy)[keyof typeof IdReusePolicy];
|
|
34
|
+
/** Controls how Dex responds when a positive soft Flow timeout expires. */
|
|
35
|
+
export declare const FlowTimeoutPolicy: Readonly<{
|
|
36
|
+
/** Invokes `Flow.handleTimeout` when present, and fails otherwise. */
|
|
37
|
+
readonly DEFAULT: "default";
|
|
38
|
+
/** Fails with `FlowErrorType.FLOW_TIMEOUT` and permits Flow retries. */
|
|
39
|
+
readonly FAIL: "fail";
|
|
40
|
+
/** Cancels without retrying the Flow. */
|
|
41
|
+
readonly CANCEL: "cancel";
|
|
42
|
+
/** Invokes `Flow.handleTimeout` once after the durable timer fires or is skipped. */
|
|
43
|
+
readonly HANDLER: "handler";
|
|
44
|
+
}>;
|
|
45
|
+
/** Represents a value from {@link FlowTimeoutPolicy}. */
|
|
46
|
+
export type FlowTimeoutPolicy = (typeof FlowTimeoutPolicy)[keyof typeof FlowTimeoutPolicy];
|
|
34
47
|
/** Overrides mutable server behavior for one Flow execution. */
|
|
35
48
|
export interface FlowConfig {
|
|
36
49
|
/** Optional active-Step visibility indexing policy. */
|
|
@@ -99,8 +112,10 @@ export declare const InitialAttribute: Readonly<{
|
|
|
99
112
|
* ```
|
|
100
113
|
*/
|
|
101
114
|
export interface StartFlowOptions {
|
|
102
|
-
/**
|
|
115
|
+
/** Dex durable soft timeout in milliseconds; omitted or zero disables it. */
|
|
103
116
|
readonly timeoutMs?: number;
|
|
117
|
+
/** Action taken when a positive timeout expires; defaults from the Flow's hook. */
|
|
118
|
+
readonly timeoutPolicy?: FlowTimeoutPolicy;
|
|
104
119
|
/** Delay before the starting Step becomes eligible, in milliseconds. */
|
|
105
120
|
readonly startDelayMs?: number;
|
|
106
121
|
/** Flow ID reuse policy; uses `DEFAULT` when omitted. */
|
|
@@ -118,8 +133,11 @@ export interface StartFlowOptions {
|
|
|
118
133
|
/** Non-empty idempotency key; generates a UUID when omitted. */
|
|
119
134
|
readonly requestId?: string;
|
|
120
135
|
}
|
|
121
|
-
/**
|
|
122
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Describes the lifecycle state of one Flow run.
|
|
138
|
+
* `serverSideTimeoutInternalOnly` is reserved for backend hard-timeout reporting.
|
|
139
|
+
*/
|
|
140
|
+
export type FlowStatus = "running" | "completed" | "failed" | "cancelled" | "terminated" | "serverSideTimeoutInternalOnly" | "continuedAsNew";
|
|
123
141
|
/** Summarizes the current or latest run for one Flow ID. */
|
|
124
142
|
export interface FlowInfo {
|
|
125
143
|
/** Stable application-assigned Flow ID. */
|
|
@@ -196,12 +214,10 @@ export declare const TimerId: Readonly<{
|
|
|
196
214
|
*/
|
|
197
215
|
byConditionIndex(conditionIndex: number): TimerId;
|
|
198
216
|
}>;
|
|
199
|
-
/** Selects the
|
|
200
|
-
export declare const
|
|
217
|
+
/** Selects the historical point from which time travel creates a new run. */
|
|
218
|
+
export declare const TimeTravelType: Readonly<{
|
|
201
219
|
/** Restarts from the beginning of the Flow. */
|
|
202
220
|
readonly BEGINNING: "beginning";
|
|
203
|
-
/** Resumes at a specific history event ID. */
|
|
204
|
-
readonly HISTORY_EVENT_ID: "historyEventId";
|
|
205
221
|
/** Resumes at the first event at or after a timestamp. */
|
|
206
222
|
readonly HISTORY_EVENT_TIME: "historyEventTime";
|
|
207
223
|
/** Resumes at the latest execution of a Step type. */
|
|
@@ -209,26 +225,33 @@ export declare const ResetType: Readonly<{
|
|
|
209
225
|
/** Resumes at one exact Step execution ID. */
|
|
210
226
|
readonly STEP_EXECUTION_ID: "stepExecutionId";
|
|
211
227
|
}>;
|
|
212
|
-
/** Represents a value from {@link
|
|
213
|
-
export type
|
|
228
|
+
/** Represents a value from {@link TimeTravelType}. */
|
|
229
|
+
export type TimeTravelType = (typeof TimeTravelType)[keyof typeof TimeTravelType];
|
|
230
|
+
/** Selects the Step method used as a Step execution time travel boundary. */
|
|
231
|
+
export declare const TimeTravelStepMethod: Readonly<{
|
|
232
|
+
/** Reruns WaitFor and everything after it. */
|
|
233
|
+
readonly WAIT_FOR: "waitFor";
|
|
234
|
+
/** Keeps the WaitFor result and reruns Execute and everything after it. */
|
|
235
|
+
readonly EXECUTE: "execute";
|
|
236
|
+
}>;
|
|
237
|
+
/** Represents a value from {@link TimeTravelStepMethod}. */
|
|
238
|
+
export type TimeTravelStepMethod = (typeof TimeTravelStepMethod)[keyof typeof TimeTravelStepMethod];
|
|
214
239
|
/** Configures creation of a new run from existing Flow history. */
|
|
215
|
-
export interface
|
|
216
|
-
/**
|
|
217
|
-
readonly type:
|
|
218
|
-
/** Event ID used with `HISTORY_EVENT_ID`. */
|
|
219
|
-
readonly historyEventId?: bigint;
|
|
240
|
+
export interface TimeTravelOptions {
|
|
241
|
+
/** Time travel point selector kind. */
|
|
242
|
+
readonly type: TimeTravelType;
|
|
220
243
|
/** Timestamp used with `HISTORY_EVENT_TIME`. */
|
|
221
244
|
readonly historyEventTime?: Date;
|
|
222
245
|
/** Registered Step type used with `STEP_TYPE`. */
|
|
223
246
|
readonly stepType?: string;
|
|
224
247
|
/** Exact execution ID used with `STEP_EXECUTION_ID`. */
|
|
225
248
|
readonly stepExecutionId?: string;
|
|
226
|
-
/**
|
|
249
|
+
/** WaitFor or Execute boundary required with `STEP_EXECUTION_ID`. */
|
|
250
|
+
readonly stepMethod?: TimeTravelStepMethod;
|
|
251
|
+
/** Optional operator-readable time travel reason. */
|
|
227
252
|
readonly reason?: string;
|
|
228
|
-
/** Prevents reapplication of Channel
|
|
229
|
-
readonly
|
|
230
|
-
/** Prevents reapplication of locking RPC effects after the reset point. */
|
|
231
|
-
readonly skipLockingRpcReapply?: boolean;
|
|
253
|
+
/** Prevents reapplication of RPCs, Channel publications, and Attribute writes after the selected point. */
|
|
254
|
+
readonly skipWritesReapply?: boolean;
|
|
232
255
|
}
|
|
233
256
|
/** Selects how an active Flow should close. */
|
|
234
257
|
export declare const StopType: Readonly<{
|
package/dist/src/options.js
CHANGED
|
@@ -26,6 +26,17 @@ export const IdReusePolicy = Object.freeze({
|
|
|
26
26
|
/** Rejects every previously used Flow ID. */
|
|
27
27
|
DISALLOW: "disallow",
|
|
28
28
|
});
|
|
29
|
+
/** Controls how Dex responds when a positive soft Flow timeout expires. */
|
|
30
|
+
export const FlowTimeoutPolicy = Object.freeze({
|
|
31
|
+
/** Invokes `Flow.handleTimeout` when present, and fails otherwise. */
|
|
32
|
+
DEFAULT: "default",
|
|
33
|
+
/** Fails with `FlowErrorType.FLOW_TIMEOUT` and permits Flow retries. */
|
|
34
|
+
FAIL: "fail",
|
|
35
|
+
/** Cancels without retrying the Flow. */
|
|
36
|
+
CANCEL: "cancel",
|
|
37
|
+
/** Invokes `Flow.handleTimeout` once after the durable timer fires or is skipped. */
|
|
38
|
+
HANDLER: "handler",
|
|
39
|
+
});
|
|
29
40
|
/** Creates type-safe initial Attribute writes for {@link StartFlowOptions}. */
|
|
30
41
|
export const InitialAttribute = Object.freeze({
|
|
31
42
|
/**
|
|
@@ -83,12 +94,10 @@ export const TimerId = Object.freeze({
|
|
|
83
94
|
return { conditionIndex };
|
|
84
95
|
},
|
|
85
96
|
});
|
|
86
|
-
/** Selects the
|
|
87
|
-
export const
|
|
97
|
+
/** Selects the historical point from which time travel creates a new run. */
|
|
98
|
+
export const TimeTravelType = Object.freeze({
|
|
88
99
|
/** Restarts from the beginning of the Flow. */
|
|
89
100
|
BEGINNING: "beginning",
|
|
90
|
-
/** Resumes at a specific history event ID. */
|
|
91
|
-
HISTORY_EVENT_ID: "historyEventId",
|
|
92
101
|
/** Resumes at the first event at or after a timestamp. */
|
|
93
102
|
HISTORY_EVENT_TIME: "historyEventTime",
|
|
94
103
|
/** Resumes at the latest execution of a Step type. */
|
|
@@ -96,6 +105,13 @@ export const ResetType = Object.freeze({
|
|
|
96
105
|
/** Resumes at one exact Step execution ID. */
|
|
97
106
|
STEP_EXECUTION_ID: "stepExecutionId",
|
|
98
107
|
});
|
|
108
|
+
/** Selects the Step method used as a Step execution time travel boundary. */
|
|
109
|
+
export const TimeTravelStepMethod = Object.freeze({
|
|
110
|
+
/** Reruns WaitFor and everything after it. */
|
|
111
|
+
WAIT_FOR: "waitFor",
|
|
112
|
+
/** Keeps the WaitFor result and reruns Execute and everything after it. */
|
|
113
|
+
EXECUTE: "execute",
|
|
114
|
+
});
|
|
99
115
|
/** Selects how an active Flow should close. */
|
|
100
116
|
export const StopType = Object.freeze({
|
|
101
117
|
/** Requests cooperative cancellation. */
|
package/dist/src/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAIxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAU9C,wEAAwE;AACxE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,oDAAoD;IACpD,OAAO,EAAE,SAAS;IAClB,iCAAiC;IACjC,GAAG,EAAE,KAAK;CACF,CAAC,CAAC;AAMZ,wEAAwE;AACxE,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,kDAAkD;IAClD,OAAO,EAAE,SAAS;IAClB,0DAA0D;IAC1D,wBAAwB,EAAE,uBAAuB;IACjD,yCAAyC;IACzC,oBAAoB,EAAE,mBAAmB;IACzC,gEAAgE;IAChE,0BAA0B,EAAE,yBAAyB;IACrD,6CAA6C;IAC7C,QAAQ,EAAE,UAAU;CACZ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":"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"}
|
package/dist/src/rpc.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { Codec } from "./codec.js";
|
|
|
2
2
|
import type { Context } from "./context.js";
|
|
3
3
|
import type { Flow } from "./flow.js";
|
|
4
4
|
import type { AttributeLock } from "./persistence.js";
|
|
5
|
-
import type { StepMovement } from "./step.js";
|
|
5
|
+
import type { Step, StepMovement } from "./step.js";
|
|
6
6
|
/**
|
|
7
7
|
* Contains a typed RPC output and optional next-Step movements.
|
|
8
8
|
* @typeParam Output - Value decoded for the Client caller.
|
|
@@ -12,6 +12,8 @@ export interface RPCResult<Output> {
|
|
|
12
12
|
readonly output: Output;
|
|
13
13
|
/** Step movements applied atomically with handler persistence writes. */
|
|
14
14
|
readonly nextSteps?: readonly StepMovement<unknown>[];
|
|
15
|
+
/** Registered Step types canceled before `nextSteps` are scheduled. */
|
|
16
|
+
readonly cancelingSteps?: readonly Step<any>[];
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Describes a typed, possibly asynchronous RPC handler.
|
package/dist/src/rpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAOxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../src/rpc.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAOxD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAiD9C,MAAM,UAAU,GAAG,IAAI,OAAO,EAAkC,CAAC;AAmFjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,GAAG,CAAC,UAAgC,EAAE;IACpD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACvD,OAAO,UACL,MAAc,EACd,QAAmD;QAEnD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAmB;IAChD,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,IAAI,SAAS,GAAkB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAkB,CAAC;IAC5E,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,IAAI,IAAI,KAAK,aAAa,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,KAAgB,CAAC;YAClF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAkB,CAAC;IAChE,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/src/step.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export interface StepOptions {
|
|
|
43
43
|
readonly waitForMethodTimeoutMs?: number;
|
|
44
44
|
/** Maximum duration of one `execute` attempt in milliseconds. */
|
|
45
45
|
readonly executeMethodTimeoutMs?: number;
|
|
46
|
+
/** Regular-activity heartbeat in milliseconds; must represent whole seconds. */
|
|
47
|
+
readonly heartbeatTimeoutMs?: number;
|
|
46
48
|
/** Optional retry policy for `waitFor`. */
|
|
47
49
|
readonly waitForRetry?: RetryPolicy;
|
|
48
50
|
/** Optional retry policy for `execute`. */
|
|
@@ -177,8 +179,15 @@ export declare const StepMovement: Readonly<{
|
|
|
177
179
|
*/
|
|
178
180
|
of<Input>(step: Step<Input>, input: Input, options?: StepOptions): StepMovement<Input>;
|
|
179
181
|
}>;
|
|
182
|
+
/** Selects queued or active Step executions canceled by a decision. */
|
|
183
|
+
export interface StepCancellationSelection {
|
|
184
|
+
/** Registered Step types canceled across the current Flow. */
|
|
185
|
+
readonly cancelingSteps?: readonly Step<any>[];
|
|
186
|
+
/** Registered Step types canceled only when they share the current scheduling source. */
|
|
187
|
+
readonly cancelingSiblingSteps?: readonly Step<any>[];
|
|
188
|
+
}
|
|
180
189
|
/** Describes the durable transition returned by `Step.execute`. */
|
|
181
|
-
export type StepDecision = Readonly<{
|
|
190
|
+
export type StepDecision = (Readonly<{
|
|
182
191
|
/** Schedules next Step movements. */
|
|
183
192
|
kind: "next";
|
|
184
193
|
/** Ordered destination movements. */
|
|
@@ -205,7 +214,7 @@ export type StepDecision = Readonly<{
|
|
|
205
214
|
}> | Readonly<{
|
|
206
215
|
/** Ends this path without scheduling work or closing the Flow. */
|
|
207
216
|
kind: "deadEnd";
|
|
208
|
-
}>;
|
|
217
|
+
}>) & Readonly<StepCancellationSelection>;
|
|
209
218
|
/**
|
|
210
219
|
* Creates a decision scheduling one next Step.
|
|
211
220
|
* @typeParam Input - Destination Step input type.
|
|
@@ -251,4 +260,25 @@ export declare const forceFail: (reason: string) => StepDecision;
|
|
|
251
260
|
* @returns A decision ending this path without closing the Flow.
|
|
252
261
|
*/
|
|
253
262
|
export declare const deadEnd: () => StepDecision;
|
|
263
|
+
/**
|
|
264
|
+
* Returns a copy selecting every current execution of the supplied Step types.
|
|
265
|
+
*
|
|
266
|
+
* Dex resolves one snapshot after `execute` succeeds. Finished, already-canceled,
|
|
267
|
+
* and absent executions are no-ops. Steps scheduled by the same decision are excluded.
|
|
268
|
+
* Repeated calls take the union, and Flow-wide selection supersedes sibling selection.
|
|
269
|
+
* @param decision - Decision to copy.
|
|
270
|
+
* @param steps - Exact Step instances registered with the current Flow.
|
|
271
|
+
* @returns A new decision containing the combined Flow-wide selectors.
|
|
272
|
+
*/
|
|
273
|
+
export declare const withCancelingSteps: (decision: StepDecision, ...steps: readonly Step<any>[]) => StepDecision;
|
|
274
|
+
/**
|
|
275
|
+
* Returns a copy selecting same-source executions of the supplied Step types.
|
|
276
|
+
*
|
|
277
|
+
* A sibling has the same `Context.fromStepExecutionId` as the execution returning
|
|
278
|
+
* the decision. Snapshot and no-op behavior match {@link withCancelingSteps}.
|
|
279
|
+
* @param decision - Decision to copy.
|
|
280
|
+
* @param steps - Exact Step instances registered with the current Flow.
|
|
281
|
+
* @returns A new decision containing the combined sibling selectors.
|
|
282
|
+
*/
|
|
283
|
+
export declare const withCancelingSiblingSteps: (decision: StepDecision, ...steps: readonly Step<any>[]) => StepDecision;
|
|
254
284
|
export {};
|
package/dist/src/step.js
CHANGED
|
@@ -144,4 +144,41 @@ export const forceFail = (reason) => ({ kind: "forceFail", reason });
|
|
|
144
144
|
* @returns A decision ending this path without closing the Flow.
|
|
145
145
|
*/
|
|
146
146
|
export const deadEnd = () => ({ kind: "deadEnd" });
|
|
147
|
+
/**
|
|
148
|
+
* Returns a copy selecting every current execution of the supplied Step types.
|
|
149
|
+
*
|
|
150
|
+
* Dex resolves one snapshot after `execute` succeeds. Finished, already-canceled,
|
|
151
|
+
* and absent executions are no-ops. Steps scheduled by the same decision are excluded.
|
|
152
|
+
* Repeated calls take the union, and Flow-wide selection supersedes sibling selection.
|
|
153
|
+
* @param decision - Decision to copy.
|
|
154
|
+
* @param steps - Exact Step instances registered with the current Flow.
|
|
155
|
+
* @returns A new decision containing the combined Flow-wide selectors.
|
|
156
|
+
*/
|
|
157
|
+
export const withCancelingSteps = (decision, ...steps) => {
|
|
158
|
+
const cancelingSteps = unionSteps(decision.cancelingSteps, steps);
|
|
159
|
+
const cancelingSiblingSteps = (decision.cancelingSiblingSteps ?? []).filter((step) => !cancelingSteps.includes(step));
|
|
160
|
+
return { ...decision, cancelingSteps, cancelingSiblingSteps };
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Returns a copy selecting same-source executions of the supplied Step types.
|
|
164
|
+
*
|
|
165
|
+
* A sibling has the same `Context.fromStepExecutionId` as the execution returning
|
|
166
|
+
* the decision. Snapshot and no-op behavior match {@link withCancelingSteps}.
|
|
167
|
+
* @param decision - Decision to copy.
|
|
168
|
+
* @param steps - Exact Step instances registered with the current Flow.
|
|
169
|
+
* @returns A new decision containing the combined sibling selectors.
|
|
170
|
+
*/
|
|
171
|
+
export const withCancelingSiblingSteps = (decision, ...steps) => ({
|
|
172
|
+
...decision,
|
|
173
|
+
cancelingSiblingSteps: unionSteps(decision.cancelingSiblingSteps, steps).filter((step) => !(decision.cancelingSteps ?? []).includes(step)),
|
|
174
|
+
});
|
|
175
|
+
function unionSteps(existing, added) {
|
|
176
|
+
const combined = [...(existing ?? [])];
|
|
177
|
+
for (const step of added) {
|
|
178
|
+
if (!combined.includes(step)) {
|
|
179
|
+
combined.push(step);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return combined;
|
|
183
|
+
}
|
|
147
184
|
//# sourceMappingURL=step.js.map
|
package/dist/src/step.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/step.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD;AAkCxD,gDAAgD;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C;;;;;;OAMG;IACH,SAAS,CAAQ,IAAiB,EAAE,OAAqB;QACvD,OAAO;YACL,IAAI,EAAE,IAAqB;YAC3B,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/step.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { Context } from "./context.js";
|
|
2
|
+
import type { Flow } from "./flow.js";
|
|
3
|
+
import type { FlowResult } from "./flow-result.js";
|
|
4
|
+
import type { FlowConfig, FlowTimeoutPolicy, InitialAttribute } from "./options.js";
|
|
5
|
+
import type { RetryPolicy } from "./step.js";
|
|
6
|
+
import type { Condition } from "./wait.js";
|
|
7
|
+
/** Controls how a generated SubFlow Flow ID resolves an existing execution. */
|
|
8
|
+
export declare const SubFlowReusePolicy: Readonly<{
|
|
9
|
+
/** Attaches to a running execution or returns its existing terminal result. */
|
|
10
|
+
readonly ATTACH: "attach";
|
|
11
|
+
/** Restarts abnormal executions, attaches while running, and returns completed results. */
|
|
12
|
+
readonly RESTART_IF_PREVIOUS_EXITS_ABNORMALLY: "restartIfPreviousExitsAbnormally";
|
|
13
|
+
/** Replaces any different existing execution, including a running one. */
|
|
14
|
+
readonly ALWAYS_RESTART: "alwaysRestart";
|
|
15
|
+
}>;
|
|
16
|
+
/** Represents a value from {@link SubFlowReusePolicy}. */
|
|
17
|
+
export type SubFlowReusePolicy = (typeof SubFlowReusePolicy)[keyof typeof SubFlowReusePolicy];
|
|
18
|
+
/** Configures one durable SubFlow condition. All durations use milliseconds. */
|
|
19
|
+
export interface SubFlowOptions {
|
|
20
|
+
/** Maximum SubFlow lifetime; normal Flow defaults apply when omitted. */
|
|
21
|
+
readonly timeoutMs?: number;
|
|
22
|
+
/** Action taken when a positive timeout expires; defaults from the target Flow's hook. */
|
|
23
|
+
readonly timeoutPolicy?: FlowTimeoutPolicy;
|
|
24
|
+
/** Delay before the SubFlow starting Step, in milliseconds. */
|
|
25
|
+
readonly startDelayMs?: number;
|
|
26
|
+
/** Whole-Flow retry behavior after abnormal completion. */
|
|
27
|
+
readonly retryPolicy?: RetryPolicy;
|
|
28
|
+
/** Initial Attributes owned by the target SubFlow. */
|
|
29
|
+
readonly attributes?: readonly InitialAttribute<any>[];
|
|
30
|
+
/** Fields applied over the inherited parent Flow configuration. */
|
|
31
|
+
readonly configOverride?: FlowConfig;
|
|
32
|
+
/** Existing-execution policy; defaults to abnormal restart. */
|
|
33
|
+
readonly reusePolicy?: SubFlowReusePolicy;
|
|
34
|
+
/** Stable condition ID required by `Wait.anyCombinationOf`. */
|
|
35
|
+
readonly conditionId?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Creates durable SubFlow conditions and reads their Execute results. */
|
|
38
|
+
export declare const SubFlow: Readonly<{
|
|
39
|
+
/**
|
|
40
|
+
* Creates a condition that starts or reuses a registered Flow and awaits completion.
|
|
41
|
+
* @typeParam Input - Target starting Step input type.
|
|
42
|
+
* @param flow - Exact target Flow instance registered by the Worker.
|
|
43
|
+
* @param input - Input accepted by its starting Step.
|
|
44
|
+
* @param options - Optional timing, retry, Attribute, configuration, reuse, and ID settings.
|
|
45
|
+
* @returns A durable SubFlow condition accepted by Wait factories.
|
|
46
|
+
*/
|
|
47
|
+
run<Input>(flow: Flow<Input>, input: Input, options?: SubFlowOptions): Condition;
|
|
48
|
+
/**
|
|
49
|
+
* Returns one stable-indexed SubFlow result during Step execute.
|
|
50
|
+
* @param context - Current Dex Execute context.
|
|
51
|
+
* @param index - Zero-based SubFlow order; defaults to zero.
|
|
52
|
+
* @returns A terminal result or an AnyOf loser's running snapshot.
|
|
53
|
+
*/
|
|
54
|
+
getConditionResults(context: Context, index?: number): FlowResult;
|
|
55
|
+
/**
|
|
56
|
+
* Returns one generated SubFlow Flow ID during Step execute.
|
|
57
|
+
* @param context - Current Dex Execute context.
|
|
58
|
+
* @param index - Zero-based SubFlow order; defaults to zero.
|
|
59
|
+
* @returns An addressable Flow ID suitable for `Client.stopFlow`.
|
|
60
|
+
*/
|
|
61
|
+
getFlowId(context: Context, index?: number): string;
|
|
62
|
+
}>;
|