@superdurable/dex 0.1.4 → 0.1.6
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 +115 -5
- package/dist/src/client.d.ts +35 -18
- package/dist/src/client.js +121 -43
- package/dist/src/client.js.map +1 -1
- package/dist/src/codec.d.ts +1 -1
- package/dist/src/context.d.ts +20 -1
- 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 +7 -1
- package/dist/src/invocation-context.js +53 -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/persistence.d.ts +12 -0
- package/dist/src/persistence.js +16 -0
- package/dist/src/persistence.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 +33 -3
- package/dist/src/step.js +38 -1
- 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 +23 -2
- package/dist/src/wait.js +17 -0
- package/dist/src/wait.js.map +1 -1
- package/dist/src/worker-dispatcher.d.ts +4 -3
- package/dist/src/worker-dispatcher.js +271 -37
- 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,17 +26,21 @@ 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;
|
|
33
37
|
getAttribute<T>(attribute: Attribute<T> | AttributeMap<T>, instance?: string): T;
|
|
34
38
|
setAttribute<T>(attribute: Attribute<T> | AttributeMap<T>, value: T, instance?: string): void;
|
|
35
39
|
deleteAttribute(attribute: Attribute<unknown> | AttributeMap<unknown>, instance?: string): void;
|
|
40
|
+
attributeMapKeys(attribute: AttributeMap<unknown>): readonly string[];
|
|
36
41
|
publish<T>(channel: Channel<T> | ChannelMap<T>, value: T, instance?: string): void;
|
|
37
42
|
channelSize(channel: Channel<unknown> | ChannelMap<unknown>, instance?: string): number;
|
|
43
|
+
channelMapKeys(channel: ChannelMap<unknown>): readonly string[];
|
|
38
44
|
channelResults<T>(channel: Channel<T> | ChannelMap<T>, instance?: string): readonly T[];
|
|
39
45
|
getAttributeWrites(): readonly AttributeWrite[];
|
|
40
46
|
getLocalWrites(): readonly KV[];
|
|
@@ -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) });
|
|
@@ -105,6 +127,25 @@ export class InvocationContext {
|
|
|
105
127
|
syncConfig: mapAttributeStoreSync(attribute),
|
|
106
128
|
});
|
|
107
129
|
}
|
|
130
|
+
attributeMapKeys(attribute) {
|
|
131
|
+
this.requireRegistered(attribute);
|
|
132
|
+
const prefix = `${attribute.name}/`;
|
|
133
|
+
const physicalKeys = new Set([...this.attributes.keys()].filter((key) => key.startsWith(prefix)));
|
|
134
|
+
for (const [key, write] of this.attributeWrites) {
|
|
135
|
+
if (!key.startsWith(prefix)) {
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
if (write.value?.kind?.$case === "nullValue") {
|
|
139
|
+
physicalKeys.delete(key);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
physicalKeys.add(key);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return [...physicalKeys]
|
|
146
|
+
.map((key) => decodeURIComponent(key.slice(prefix.length)))
|
|
147
|
+
.sort();
|
|
148
|
+
}
|
|
108
149
|
publish(channel, value, instance) {
|
|
109
150
|
this.requireRegistered(channel);
|
|
110
151
|
const name = definitionName(channel, instance);
|
|
@@ -117,6 +158,17 @@ export class InvocationContext {
|
|
|
117
158
|
this.requireRegistered(channel);
|
|
118
159
|
return this.channelInfos.get(definitionName(channel, instance))?.size ?? 0;
|
|
119
160
|
}
|
|
161
|
+
channelMapKeys(channel) {
|
|
162
|
+
this.requireRegistered(channel);
|
|
163
|
+
if (this.method !== "rpc") {
|
|
164
|
+
throw new TypeError("ChannelMap introspection requires an RPC invocation");
|
|
165
|
+
}
|
|
166
|
+
const prefix = `${channel.name}/`;
|
|
167
|
+
return [...this.channelInfos]
|
|
168
|
+
.filter(([key, info]) => key.startsWith(prefix) && info.size > 0)
|
|
169
|
+
.map(([key]) => decodeURIComponent(key.slice(prefix.length)))
|
|
170
|
+
.sort();
|
|
171
|
+
}
|
|
120
172
|
channelResults(channel, instance) {
|
|
121
173
|
this.requireRegistered(channel);
|
|
122
174
|
const name = definitionName(channel, instance);
|
|
@@ -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":"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"}
|
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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"}
|
|
@@ -123,6 +123,18 @@ export declare class AttributeMap<T> {
|
|
|
123
123
|
* @param instance - Non-empty logical map key.
|
|
124
124
|
*/
|
|
125
125
|
delete(context: Context, instance: string): void;
|
|
126
|
+
/**
|
|
127
|
+
* Returns the number of existing instances, including buffered writes.
|
|
128
|
+
* @param context - Current Step or RPC Context.
|
|
129
|
+
* @returns The number of keys visible after decision-local writes and deletions.
|
|
130
|
+
*/
|
|
131
|
+
getMapSize(context: Context): number;
|
|
132
|
+
/**
|
|
133
|
+
* Returns decoded existing instance keys in ascending order.
|
|
134
|
+
* @param context - Current Step or RPC Context.
|
|
135
|
+
* @returns Keys visible after decision-local writes and deletions.
|
|
136
|
+
*/
|
|
137
|
+
getAllInstanceKeys(context: Context): readonly string[];
|
|
126
138
|
/**
|
|
127
139
|
* Returns an immutable AttributeMap definition whose writes are projected to the Flow's Attribute Store.
|
|
128
140
|
*
|
package/dist/src/persistence.js
CHANGED
|
@@ -139,6 +139,22 @@ export class AttributeMap {
|
|
|
139
139
|
delete(context, instance) {
|
|
140
140
|
context.deleteAttribute(this, instance);
|
|
141
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Returns the number of existing instances, including buffered writes.
|
|
144
|
+
* @param context - Current Step or RPC Context.
|
|
145
|
+
* @returns The number of keys visible after decision-local writes and deletions.
|
|
146
|
+
*/
|
|
147
|
+
getMapSize(context) {
|
|
148
|
+
return this.getAllInstanceKeys(context).length;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Returns decoded existing instance keys in ascending order.
|
|
152
|
+
* @param context - Current Step or RPC Context.
|
|
153
|
+
* @returns Keys visible after decision-local writes and deletions.
|
|
154
|
+
*/
|
|
155
|
+
getAllInstanceKeys(context) {
|
|
156
|
+
return context.attributeMapKeys(this);
|
|
157
|
+
}
|
|
142
158
|
/**
|
|
143
159
|
* Returns an immutable AttributeMap definition whose writes are projected to the Flow's Attribute Store.
|
|
144
160
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.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.
|
|
@@ -239,7 +248,7 @@ export declare const forceComplete: (output?: unknown) => StepDecision;
|
|
|
239
248
|
* @param channels - Registered Channel definitions to inspect.
|
|
240
249
|
* @returns A conditional force-completion decision.
|
|
241
250
|
*/
|
|
242
|
-
export declare const
|
|
251
|
+
export declare const forceCompleteIfChannelsEmpty: (output: unknown, fallback: StepMovement<unknown>, ...channels: readonly (Channel<unknown> | ChannelMap<unknown>)[]) => StepDecision;
|
|
243
252
|
/**
|
|
244
253
|
* Requests immediate Flow failure.
|
|
245
254
|
* @param reason - Non-empty application-readable failure detail.
|
|
@@ -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 {};
|