@superdurable/dex 0.2.4 → 0.2.5
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 +46 -28
- package/dist/src/client.d.ts +3 -3
- package/dist/src/client.js +7 -8
- package/dist/src/client.js.map +1 -1
- package/dist/src/context.d.ts +39 -1
- package/dist/src/flow.d.ts +1 -1
- package/dist/src/flow.js.map +1 -1
- package/dist/src/gen/dex.d.ts +52 -18
- package/dist/src/gen/dex.js +303 -16
- package/dist/src/gen/dex.js.map +1 -1
- package/dist/src/invocation-context.d.ts +14 -8
- package/dist/src/invocation-context.js +28 -36
- package/dist/src/invocation-context.js.map +1 -1
- package/dist/src/rpc.d.ts +1 -1
- package/dist/src/step.d.ts +17 -14
- package/dist/src/step.js.map +1 -1
- package/dist/src/stream.d.ts +6 -4
- package/dist/src/stream.js +5 -3
- package/dist/src/stream.js.map +1 -1
- package/dist/src/worker-dispatcher.d.ts +5 -5
- package/dist/src/worker-dispatcher.js +25 -13
- package/dist/src/worker-dispatcher.js.map +1 -1
- package/dist/src/worker.js +83 -6
- package/dist/src/worker.js.map +1 -1
- package/native/windows-x86_64/dex_blob_cache_node.node +0 -0
- package/package.json +1 -1
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import type { Codec } from "./codec.js";
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
4
|
-
import { type AttributeWrite, type ChannelInfo, type ChannelMessage, type ConditionResults, type Context as ProtoContext, type KV } from "./gen/dex.js";
|
|
2
|
+
import type { AsyncContext } from "./context.js";
|
|
3
|
+
import { type AttributeWrite, type ChannelInfo, type ChannelMessage, type ConditionResults, type Context as ProtoContext, type KV, type StepStreamWrite, type Value } from "./gen/dex.js";
|
|
5
4
|
import { type RegisteredFlow } from "./flow.js";
|
|
6
5
|
import { type FlowResult } from "./flow-result.js";
|
|
7
6
|
import { AttributeMap, type Attribute } from "./persistence.js";
|
|
8
7
|
import { ChannelMap, type Channel } from "./wait.js";
|
|
9
8
|
import type { Stream } from "./stream.js";
|
|
10
9
|
export type InvocationMethod = "waitFor" | "execute" | "rpc";
|
|
11
|
-
export
|
|
10
|
+
export interface StepOutputEmitter {
|
|
11
|
+
recordHeartbeat(value: Value | undefined): Promise<void>;
|
|
12
|
+
writeStream(write: StepStreamWrite): void;
|
|
13
|
+
}
|
|
14
|
+
export declare class InvocationContext implements AsyncContext {
|
|
12
15
|
private readonly method;
|
|
13
16
|
private readonly flow;
|
|
14
|
-
private readonly flowService;
|
|
15
17
|
private readonly conditionResults?;
|
|
18
|
+
private readonly stepOutput?;
|
|
16
19
|
readonly flowId: string;
|
|
17
20
|
readonly runId: string;
|
|
18
21
|
readonly flowStartedAt: Date;
|
|
@@ -29,9 +32,12 @@ export declare class InvocationContext implements Context {
|
|
|
29
32
|
private readonly events;
|
|
30
33
|
private readonly eventNames;
|
|
31
34
|
private readonly publications;
|
|
32
|
-
private readonly
|
|
33
|
-
constructor(method: InvocationMethod, flow: RegisteredFlow,
|
|
34
|
-
|
|
35
|
+
private readonly lastHeartbeatValue;
|
|
36
|
+
constructor(method: InvocationMethod, flow: RegisteredFlow, metadata: ProtoContext | undefined, attributes: readonly KV[], locals?: readonly KV[], conditionResults?: ConditionResults | undefined, channelInfos?: Readonly<Record<string, ChannelInfo>>, cancellationSignal?: AbortSignal, stepOutput?: StepOutputEmitter | undefined);
|
|
37
|
+
hasLastHeartbeatValue(): boolean;
|
|
38
|
+
getLastHeartbeatValue<T = unknown>(codec?: Codec<T>): T | undefined;
|
|
39
|
+
recordHeartbeat<T>(value: T | undefined, codec?: Codec<T>): Promise<void>;
|
|
40
|
+
writeStream<T>(stream: Stream<T>, value: T): void;
|
|
35
41
|
hasTimerFired(index?: number): boolean;
|
|
36
42
|
waitForMethodFailed(): boolean;
|
|
37
43
|
subFlowResult(index?: number): FlowResult;
|
|
@@ -10,14 +10,14 @@ import { ConditionStatus, IndexType as ProtoIndexType, } from "./gen/dex.js";
|
|
|
10
10
|
import { requireFlowStream } from "./flow.js";
|
|
11
11
|
import { createFlowResultFromProto } from "./flow-result.js";
|
|
12
12
|
import { AttributeMap, IndexType } from "./persistence.js";
|
|
13
|
-
import { decodeValue, deletionValue, encodeValue } from "./value-mapper.js";
|
|
13
|
+
import { codecOrJson, decodeValue, deletionValue, encodeValue } from "./value-mapper.js";
|
|
14
14
|
import { requireName } from "./validation.js";
|
|
15
15
|
import { ChannelMap } from "./wait.js";
|
|
16
16
|
export class InvocationContext {
|
|
17
17
|
method;
|
|
18
18
|
flow;
|
|
19
|
-
flowService;
|
|
20
19
|
conditionResults;
|
|
20
|
+
stepOutput;
|
|
21
21
|
flowId;
|
|
22
22
|
runId;
|
|
23
23
|
flowStartedAt;
|
|
@@ -34,12 +34,12 @@ export class InvocationContext {
|
|
|
34
34
|
events = [];
|
|
35
35
|
eventNames = new Set();
|
|
36
36
|
publications = [];
|
|
37
|
-
|
|
38
|
-
constructor(method, flow,
|
|
37
|
+
lastHeartbeatValue;
|
|
38
|
+
constructor(method, flow, metadata, attributes, locals = [], conditionResults, channelInfos = {}, cancellationSignal = new AbortController().signal, stepOutput) {
|
|
39
39
|
this.method = method;
|
|
40
40
|
this.flow = flow;
|
|
41
|
-
this.flowService = flowService;
|
|
42
41
|
this.conditionResults = conditionResults;
|
|
42
|
+
this.stepOutput = stepOutput;
|
|
43
43
|
if (metadata === undefined) {
|
|
44
44
|
throw new TypeError("Worker request Context is required");
|
|
45
45
|
}
|
|
@@ -50,34 +50,37 @@ export class InvocationContext {
|
|
|
50
50
|
this.fromStepExecutionId = metadata.fromStepExecutionId;
|
|
51
51
|
this.firstAttemptAt = secondsDate(metadata.firstAttemptTimestamp);
|
|
52
52
|
this.attempt = metadata.attempt;
|
|
53
|
+
this.lastHeartbeatValue = metadata.lastHeartbeatValue;
|
|
53
54
|
this.cancellationSignal = cancellationSignal;
|
|
54
55
|
this.attributes = mapValues("Attribute", attributes);
|
|
55
56
|
this.locals = mapValues("step-execution local", locals);
|
|
56
57
|
this.channelInfos = new Map(Object.entries(channelInfos));
|
|
57
58
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
throw new TypeError(`Stream ${stream.name} was already written by this Step execution`);
|
|
59
|
+
hasLastHeartbeatValue() {
|
|
60
|
+
return this.lastHeartbeatValue !== undefined;
|
|
61
|
+
}
|
|
62
|
+
getLastHeartbeatValue(codec) {
|
|
63
|
+
if (this.lastHeartbeatValue === undefined) {
|
|
64
|
+
return undefined;
|
|
65
65
|
}
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
streamName: stream.name,
|
|
72
|
-
streamCapacityBytes: BigInt(stream.streamCapacityBytes),
|
|
73
|
-
value: encodeValue(stream.codec, value),
|
|
74
|
-
idempotencyKey: `${this.runId}#${this.stepExecutionId}`,
|
|
75
|
-
});
|
|
66
|
+
return decodeValue(codecOrJson(codec), this.lastHeartbeatValue);
|
|
67
|
+
}
|
|
68
|
+
recordHeartbeat(value, codec) {
|
|
69
|
+
if (this.stepOutput === undefined) {
|
|
70
|
+
throw new TypeError("Heartbeats require an async Step Context");
|
|
76
71
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
return this.stepOutput.recordHeartbeat(value === undefined ? undefined : encodeValue(codecOrJson(codec), value));
|
|
73
|
+
}
|
|
74
|
+
writeStream(stream, value) {
|
|
75
|
+
if (this.stepOutput === undefined) {
|
|
76
|
+
throw new TypeError("Stream writes require a Step Context");
|
|
80
77
|
}
|
|
78
|
+
requireFlowStream(this.flow, stream);
|
|
79
|
+
this.stepOutput.writeStream({
|
|
80
|
+
streamName: stream.name,
|
|
81
|
+
streamCapacityBytes: BigInt(stream.streamCapacityBytes),
|
|
82
|
+
value: encodeValue(stream.codec, value),
|
|
83
|
+
});
|
|
81
84
|
}
|
|
82
85
|
hasTimerFired(index) {
|
|
83
86
|
const results = this.conditionResults?.timerResults ?? [];
|
|
@@ -223,17 +226,6 @@ export class InvocationContext {
|
|
|
223
226
|
}
|
|
224
227
|
}
|
|
225
228
|
}
|
|
226
|
-
function writeStream(service, request) {
|
|
227
|
-
return new Promise((resolve, reject) => {
|
|
228
|
-
service.writeStream(request, (error) => {
|
|
229
|
-
if (error !== null) {
|
|
230
|
-
reject(error);
|
|
231
|
-
return;
|
|
232
|
-
}
|
|
233
|
-
resolve();
|
|
234
|
-
});
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
229
|
function definitionName(definition, instance) {
|
|
238
230
|
if (definition instanceof AttributeMap || definition instanceof ChannelMap) {
|
|
239
231
|
if (instance === undefined) {
|
|
@@ -1 +1 @@
|
|
|
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;AAIxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EACL,eAAe,EACf,SAAS,IAAI,cAAc,GAS5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAuB,MAAM,WAAW,CAAC;AACnE,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;AAKrD,MAAM,OAAO,iBAAiB;IAqBT;IACA;IACA;IAIA;IA1BH,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;IACpC,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE3D,YACmB,MAAwB,EACxB,IAAoB,EACpB,WAAmD,EACpE,QAAkC,EAClC,UAAyB,EACzB,SAAwB,EAAE,EACT,gBAAmC,EACpD,eAAsD,EAAE,EACxD,qBAAkC,IAAI,eAAe,EAAE,CAAC,MAAM;QAR7C,WAAM,GAAN,MAAM,CAAkB;QACxB,SAAI,GAAJ,IAAI,CAAgB;QACpB,gBAAW,GAAX,WAAW,CAAwC;QAInD,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,KAAK,CAAC,WAAW,CAAI,MAAiB,EAAE,KAAQ;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAyB,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CAAC,UAAU,MAAM,CAAC,IAAI,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAyB,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACxB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;gBACvD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;gBACvC,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;aACxD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAyB,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC;QAChB,CAAC;IACH,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,WAAW,CAClB,OAA+C,EAC/C,OAA2B;IAE3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;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"}
|
|
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,GAU5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAuB,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAmB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgB,MAAM,WAAW,CAAC;AAUrD,MAAM,OAAO,iBAAiB;IAqBT;IACA;IAIA;IAGA;IA5BH,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;IACpC,kBAAkB,CAAoB;IAEvD,YACmB,MAAwB,EACxB,IAAoB,EACrC,QAAkC,EAClC,UAAyB,EACzB,SAAwB,EAAE,EACT,gBAAmC,EACpD,eAAsD,EAAE,EACxD,qBAAkC,IAAI,eAAe,EAAE,CAAC,MAAM,EAC7C,UAA8B;QAR9B,WAAM,GAAN,MAAM,CAAkB;QACxB,SAAI,GAAJ,IAAI,CAAgB;QAIpB,qBAAgB,GAAhB,gBAAgB,CAAmB;QAGnC,eAAU,GAAV,UAAU,CAAoB;QAE/C,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,QAAQ,CAAC,kBAAkB,CAAC;QACtD,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,qBAAqB;QAC1B,OAAO,IAAI,CAAC,kBAAkB,KAAK,SAAS,CAAC;IAC/C,CAAC;IAEM,qBAAqB,CAAc,KAAgB;QACxD,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAEM,eAAe,CAAI,KAAoB,EAAE,KAAgB;QAC9D,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CACpC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CACzE,CAAC;IACJ,CAAC;IAEM,WAAW,CAAI,MAAiB,EAAE,KAAQ;QAC/C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAC9D,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,mBAAmB,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACvD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;SACxC,CAAC,CAAC;IACL,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/rpc.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface RPCResult<Output> {
|
|
|
11
11
|
/** Typed application result. */
|
|
12
12
|
readonly output: Output;
|
|
13
13
|
/** Step movements applied atomically with handler persistence writes. */
|
|
14
|
-
readonly nextSteps?: readonly StepMovement<
|
|
14
|
+
readonly nextSteps?: readonly StepMovement<any>[];
|
|
15
15
|
/** Registered Step types canceled before `nextSteps` are scheduled. */
|
|
16
16
|
readonly cancelingSteps?: readonly StepClass<any>[];
|
|
17
17
|
}
|
package/dist/src/step.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Codec } from "./codec.js";
|
|
2
|
-
import type { Context } from "./context.js";
|
|
2
|
+
import type { AsyncContext, Context } from "./context.js";
|
|
3
3
|
import type { AttributeLock } from "./persistence.js";
|
|
4
4
|
import type { Channel, ChannelMap, Wait } from "./wait.js";
|
|
5
5
|
/** Controls when a Step handler result is durably acknowledged. */
|
|
@@ -16,7 +16,7 @@ export interface RetryPolicy {
|
|
|
16
16
|
readonly maximumIntervalMs?: number;
|
|
17
17
|
/** Total attempt limit including the initial call. */
|
|
18
18
|
readonly maximumAttempts?: number;
|
|
19
|
-
/** Overall elapsed-time limit in milliseconds. */
|
|
19
|
+
/** Overall elapsed-time limit in milliseconds; defaults to four hours when omitted. */
|
|
20
20
|
readonly totalDurationMs?: number;
|
|
21
21
|
}
|
|
22
22
|
/** Routes exhausted `execute` retries to a fallback Step. */
|
|
@@ -39,11 +39,11 @@ export declare const ExecuteFailure: Readonly<{
|
|
|
39
39
|
}>;
|
|
40
40
|
/** Configures timeouts, retries, durability, locks, and failure routing for a Step. */
|
|
41
41
|
export interface StepOptions {
|
|
42
|
-
/**
|
|
42
|
+
/** Regular `waitFor` attempt limit in milliseconds; defaults to two hours. */
|
|
43
43
|
readonly waitForMethodTimeoutMs?: number;
|
|
44
|
-
/**
|
|
44
|
+
/** Regular `execute` attempt limit in milliseconds; defaults to two hours. */
|
|
45
45
|
readonly executeMethodTimeoutMs?: number;
|
|
46
|
-
/** Regular
|
|
46
|
+
/** Regular heartbeat timeout in milliseconds; requires whole seconds and defaults to one minute. */
|
|
47
47
|
readonly heartbeatTimeoutMs?: number;
|
|
48
48
|
/** Optional retry policy for `waitFor`. */
|
|
49
49
|
readonly waitForRetry?: RetryPolicy;
|
|
@@ -51,9 +51,9 @@ export interface StepOptions {
|
|
|
51
51
|
readonly executeRetry?: RetryPolicy;
|
|
52
52
|
/** Behavior after all `waitFor` attempts fail. */
|
|
53
53
|
readonly waitForFailure?: WaitForFailurePolicy;
|
|
54
|
-
/**
|
|
54
|
+
/** WaitFor durability override; otherwise uses Flow configuration, then sync. */
|
|
55
55
|
readonly waitForDurability?: StepDurability;
|
|
56
|
-
/**
|
|
56
|
+
/** Execute durability override; otherwise uses Flow configuration, then sync. */
|
|
57
57
|
readonly executeDurability?: StepDurability;
|
|
58
58
|
/** Attribute locks held during `waitFor`. */
|
|
59
59
|
readonly waitForLockAttributes?: readonly AttributeLock[];
|
|
@@ -98,19 +98,22 @@ export interface Step<Input> {
|
|
|
98
98
|
getStepOptions?(): StepOptions | undefined;
|
|
99
99
|
/**
|
|
100
100
|
* Describes durable conditions required before execution.
|
|
101
|
+
* Async handlers that record heartbeats must accept AsyncContext and return a Promise.
|
|
101
102
|
* @param context - Current execution metadata and persistence operations.
|
|
102
103
|
* @param input - Decoded Step input.
|
|
103
104
|
* @returns A Wait or promise resolving to one.
|
|
104
105
|
*/
|
|
105
|
-
waitFor
|
|
106
|
+
waitFor?: StepHandler<Input, Wait>;
|
|
106
107
|
/**
|
|
107
108
|
* Runs application logic and produces the next durable decision.
|
|
109
|
+
* Async handlers that record heartbeats must accept AsyncContext and return a Promise.
|
|
108
110
|
* @param context - Current execution metadata and persistence operations.
|
|
109
111
|
* @param input - Decoded Step input.
|
|
110
112
|
* @returns A StepDecision or promise resolving to one.
|
|
111
113
|
*/
|
|
112
|
-
execute
|
|
114
|
+
execute: StepHandler<Input, StepDecision>;
|
|
113
115
|
}
|
|
116
|
+
type StepHandler<Input, Output> = ((context: Context, input: Input) => Output | Promise<Output>) | ((context: AsyncContext, input: Input) => Promise<Output>);
|
|
114
117
|
/**
|
|
115
118
|
* Identifies one registered Step implementation by its runtime class.
|
|
116
119
|
* @typeParam Input - Value accepted by the Step implementation.
|
|
@@ -121,7 +124,7 @@ interface StartStepDefinition<StartInput> {
|
|
|
121
124
|
readonly isStartStep: true;
|
|
122
125
|
}
|
|
123
126
|
interface NonStartStepDefinition {
|
|
124
|
-
readonly step: Step<
|
|
127
|
+
readonly step: Step<any>;
|
|
125
128
|
readonly isStartStep: false;
|
|
126
129
|
}
|
|
127
130
|
type StepDefinition = StartStepDefinition<unknown> | NonStartStepDefinition;
|
|
@@ -203,7 +206,7 @@ export type StepDecision = (Readonly<{
|
|
|
203
206
|
/** Schedules next Step movements. */
|
|
204
207
|
kind: "next";
|
|
205
208
|
/** Ordered destination movements. */
|
|
206
|
-
movements: readonly StepMovement<
|
|
209
|
+
movements: readonly StepMovement<any>[];
|
|
207
210
|
}> | Readonly<{
|
|
208
211
|
/** Requests graceful or immediate successful completion. */
|
|
209
212
|
kind: "gracefulComplete" | "forceComplete";
|
|
@@ -215,7 +218,7 @@ export type StepDecision = (Readonly<{
|
|
|
215
218
|
/** Codec-supported Flow result. */
|
|
216
219
|
output: unknown;
|
|
217
220
|
/** Movement scheduled when any selected Channel is non-empty. */
|
|
218
|
-
fallback: StepMovement<
|
|
221
|
+
fallback: StepMovement<any>;
|
|
219
222
|
/** Registered Channels inspected for emptiness. */
|
|
220
223
|
channels: readonly (Channel<unknown> | ChannelMap<unknown>)[];
|
|
221
224
|
}> | Readonly<{
|
|
@@ -240,7 +243,7 @@ export declare const goTo: <Input>(step: StepClass<Input>, input: Input) => Step
|
|
|
240
243
|
* @param movements - Typed movements applied in argument order.
|
|
241
244
|
* @returns A next decision containing every movement.
|
|
242
245
|
*/
|
|
243
|
-
export declare const goToMany: (...movements: readonly StepMovement<
|
|
246
|
+
export declare const goToMany: (...movements: readonly StepMovement<any>[]) => StepDecision;
|
|
244
247
|
/**
|
|
245
248
|
* Requests successful completion after already-scheduled Steps finish.
|
|
246
249
|
* @param output - Optional codec-supported Flow result.
|
|
@@ -260,7 +263,7 @@ export declare const forceComplete: (output?: unknown) => StepDecision;
|
|
|
260
263
|
* @param channels - Registered Channel definitions to inspect.
|
|
261
264
|
* @returns A conditional force-completion decision.
|
|
262
265
|
*/
|
|
263
|
-
export declare const forceCompleteIfChannelsEmpty: (output: unknown, fallback: StepMovement<
|
|
266
|
+
export declare const forceCompleteIfChannelsEmpty: (output: unknown, fallback: StepMovement<any>, ...channels: readonly (Channel<unknown> | ChannelMap<unknown>)[]) => StepDecision;
|
|
264
267
|
/**
|
|
265
268
|
* Requests immediate Flow failure.
|
|
266
269
|
* @param reason - Non-empty application-readable failure detail.
|
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,IAAsB,EAAE,OAAqB;QAC5D,OAAO;YACL,IAAI,EAAE,IAAsB;YAC5B,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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"}
|
package/dist/src/stream.d.ts
CHANGED
|
@@ -18,11 +18,13 @@ export declare class Stream<T> {
|
|
|
18
18
|
/**
|
|
19
19
|
* Appends one message immediately from the current Step execution.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
21
|
+
* The write emits a fire-and-forget frame on the current Worker response stream. One Step method
|
|
22
|
+
* invocation may write any number of messages to the same or different Streams. Dex Stream Store
|
|
23
|
+
* failures are not returned to the handler; local validation and encoding errors still throw.
|
|
22
24
|
* @param context - Current Step Context; RPC Contexts are rejected.
|
|
23
25
|
* @param value - Typed message to append.
|
|
24
26
|
*/
|
|
25
|
-
write(context: Context, value: T):
|
|
27
|
+
write(context: Context, value: T): void;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Describes one retained Stream message returned by Client.readStream.
|
|
@@ -35,6 +37,6 @@ export interface StreamMessage<T> {
|
|
|
35
37
|
readonly resumeToken: string;
|
|
36
38
|
/** Server-assigned UTC creation time. */
|
|
37
39
|
readonly createdTime: Date;
|
|
38
|
-
/** Client
|
|
39
|
-
readonly
|
|
40
|
+
/** Client-supplied source or Step-generated `#stepExecutionID` source. */
|
|
41
|
+
readonly source: string;
|
|
40
42
|
}
|
package/dist/src/stream.js
CHANGED
|
@@ -32,12 +32,14 @@ export class Stream {
|
|
|
32
32
|
/**
|
|
33
33
|
* Appends one message immediately from the current Step execution.
|
|
34
34
|
*
|
|
35
|
-
*
|
|
35
|
+
* The write emits a fire-and-forget frame on the current Worker response stream. One Step method
|
|
36
|
+
* invocation may write any number of messages to the same or different Streams. Dex Stream Store
|
|
37
|
+
* failures are not returned to the handler; local validation and encoding errors still throw.
|
|
36
38
|
* @param context - Current Step Context; RPC Contexts are rejected.
|
|
37
39
|
* @param value - Typed message to append.
|
|
38
40
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
write(context, value) {
|
|
42
|
+
context.writeStream(this, value);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
//# sourceMappingURL=stream.js.map
|
package/dist/src/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.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;AAE9C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAQC;IACA;IACA;IATlB;;;;;OAKG;IACH,YACkB,IAAY,EACZ,KAAe,EACf,mBAA2B;QAF3B,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAU;QACf,wBAAmB,GAAnB,mBAAmB,CAAQ;QAE3C,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.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;AAE9C;;;GAGG;AACH,MAAM,OAAO,MAAM;IAQC;IACA;IACA;IATlB;;;;;OAKG;IACH,YACkB,IAAY,EACZ,KAAe,EACf,mBAA2B;QAF3B,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAU;QACf,wBAAmB,GAAnB,mBAAmB,CAAQ;QAE3C,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,IAAI,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,UAAU,CAAC,4DAA4D,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,OAAgB,EAAE,KAAQ;QACrC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { InvokeExecuteMethodResponse, InvokeWaitForMethodResponse, InvokeWorkerRPCResponse,
|
|
1
|
+
import { InvokeExecuteMethodResponse, InvokeWaitForMethodResponse, InvokeWorkerRPCResponse, type InvokeExecuteMethodRequest, type InvokeWaitForMethodRequest, type InvokeWorkerRPCRequest } from "./gen/dex.js";
|
|
2
2
|
import { type Registry } from "./flow.js";
|
|
3
|
+
import { type StepOutputEmitter } from "./invocation-context.js";
|
|
3
4
|
import { type ValueHydrator } from "./value-mapper.js";
|
|
4
5
|
export declare class WorkerDispatcher {
|
|
5
6
|
private readonly registry;
|
|
6
7
|
private readonly hydrator;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
invokeExecute(original: InvokeExecuteMethodRequest, cancellationSignal?: AbortSignal): Promise<InvokeExecuteMethodResponse>;
|
|
8
|
+
constructor(registry: Registry, hydrator: ValueHydrator);
|
|
9
|
+
invokeWaitFor(original: InvokeWaitForMethodRequest, cancellationSignal?: AbortSignal, stepOutput?: StepOutputEmitter): Promise<InvokeWaitForMethodResponse>;
|
|
10
|
+
invokeExecute(original: InvokeExecuteMethodRequest, cancellationSignal?: AbortSignal, stepOutput?: StepOutputEmitter): Promise<InvokeExecuteMethodResponse>;
|
|
11
11
|
private invokeTimeoutHandler;
|
|
12
12
|
invokeRPC(original: InvokeWorkerRPCRequest, cancellationSignal?: AbortSignal): Promise<InvokeWorkerRPCResponse>;
|
|
13
13
|
private hydrateWaitFor;
|
|
@@ -19,18 +19,16 @@ const timeoutHandlerStepType = "sys:timeout_handler";
|
|
|
19
19
|
export class WorkerDispatcher {
|
|
20
20
|
registry;
|
|
21
21
|
hydrator;
|
|
22
|
-
|
|
23
|
-
constructor(registry, hydrator, flowService) {
|
|
22
|
+
constructor(registry, hydrator) {
|
|
24
23
|
this.registry = registry;
|
|
25
24
|
this.hydrator = hydrator;
|
|
26
|
-
this.flowService = flowService;
|
|
27
25
|
}
|
|
28
|
-
async invokeWaitFor(original, cancellationSignal = new AbortController().signal) {
|
|
26
|
+
async invokeWaitFor(original, cancellationSignal = new AbortController().signal, stepOutput) {
|
|
29
27
|
const request = await this.hydrateWaitFor(original);
|
|
30
28
|
cancellationSignal.throwIfAborted();
|
|
31
29
|
const flow = registeredFlowByName(this.registry, request.flowType);
|
|
32
30
|
const step = registeredStep(flow, request.stepType);
|
|
33
|
-
const context = new InvocationContext("waitFor", flow,
|
|
31
|
+
const context = new InvocationContext("waitFor", flow, request.context, request.attributes, [], undefined, {}, cancellationSignal, stepOutput);
|
|
34
32
|
const input = decodeValue(codecOrJson(step.step.inputCodec), requireValue(request.stepInput, "Step input"));
|
|
35
33
|
if (step.step.waitFor === undefined) {
|
|
36
34
|
throw new TypeError(`Step ${step.name} does not implement waitFor`);
|
|
@@ -49,7 +47,7 @@ export class WorkerDispatcher {
|
|
|
49
47
|
throw invalidStepResult(flow.name, step.name, "waitFor", failure);
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
|
-
async invokeExecute(original, cancellationSignal = new AbortController().signal) {
|
|
50
|
+
async invokeExecute(original, cancellationSignal = new AbortController().signal, stepOutput) {
|
|
53
51
|
const request = await this.hydrateExecute(original);
|
|
54
52
|
cancellationSignal.throwIfAborted();
|
|
55
53
|
const flow = registeredFlowByName(this.registry, request.flowType);
|
|
@@ -57,7 +55,7 @@ export class WorkerDispatcher {
|
|
|
57
55
|
return this.invokeTimeoutHandler(request, flow, cancellationSignal);
|
|
58
56
|
}
|
|
59
57
|
const step = registeredStep(flow, request.stepType);
|
|
60
|
-
const context = new InvocationContext("execute", flow,
|
|
58
|
+
const context = new InvocationContext("execute", flow, request.context, request.attributes, request.stepExeLocals, request.conditionResults, {}, cancellationSignal, stepOutput);
|
|
61
59
|
const input = decodeValue(codecOrJson(step.step.inputCodec), requireValue(request.stepInput, "Step input"));
|
|
62
60
|
const decision = await step.step.execute(context, input);
|
|
63
61
|
try {
|
|
@@ -81,7 +79,7 @@ export class WorkerDispatcher {
|
|
|
81
79
|
if (flow.flow.handleTimeout === undefined) {
|
|
82
80
|
throw new TypeError(`Flow ${flow.name} does not implement handleTimeout`);
|
|
83
81
|
}
|
|
84
|
-
const context = new InvocationContext("execute", flow,
|
|
82
|
+
const context = new InvocationContext("execute", flow, request.context, request.attributes, request.stepExeLocals, request.conditionResults, {}, cancellationSignal);
|
|
85
83
|
const decision = await flow.flow.handleTimeout(context);
|
|
86
84
|
return InvokeExecuteMethodResponse.create({
|
|
87
85
|
stepDecision: mapDecision(flow, decision),
|
|
@@ -100,7 +98,7 @@ export class WorkerDispatcher {
|
|
|
100
98
|
cancellationSignal.throwIfAborted();
|
|
101
99
|
const flow = registeredFlowByName(this.registry, request.flowType);
|
|
102
100
|
const rpc = registeredRPCByName(flow, request.rpcName);
|
|
103
|
-
const context = new InvocationContext("rpc", flow,
|
|
101
|
+
const context = new InvocationContext("rpc", flow, request.context, request.attributes, [], undefined, request.channelInfos, cancellationSignal);
|
|
104
102
|
const returned = await invokeRPC(flow, rpc, context, request.input);
|
|
105
103
|
try {
|
|
106
104
|
const result = rpcResult(rpc, returned);
|
|
@@ -119,34 +117,48 @@ export class WorkerDispatcher {
|
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
119
|
async hydrateWaitFor(request) {
|
|
120
|
+
const lastHeartbeatValue = request.context?.lastHeartbeatValue;
|
|
121
|
+
const hasLastHeartbeatValue = lastHeartbeatValue !== undefined;
|
|
122
122
|
const values = await this.hydrator.hydrateAll([
|
|
123
|
+
...(hasLastHeartbeatValue ? [lastHeartbeatValue] : []),
|
|
123
124
|
request.stepInput,
|
|
124
125
|
...request.attributes.map((entry) => entry.value),
|
|
125
126
|
]);
|
|
127
|
+
const offset = hasLastHeartbeatValue ? 1 : 0;
|
|
126
128
|
return {
|
|
127
129
|
...request,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
+
context: hasLastHeartbeatValue
|
|
131
|
+
? { ...request.context, lastHeartbeatValue: values[0] }
|
|
132
|
+
: request.context,
|
|
133
|
+
stepInput: values[offset],
|
|
134
|
+
attributes: replaceEntryValues(request.attributes, values.slice(offset + 1)),
|
|
130
135
|
};
|
|
131
136
|
}
|
|
132
137
|
async hydrateExecute(request) {
|
|
138
|
+
const lastHeartbeatValue = request.context?.lastHeartbeatValue;
|
|
139
|
+
const hasLastHeartbeatValue = lastHeartbeatValue !== undefined;
|
|
133
140
|
const channelValues = request.conditionResults?.channelResults.flatMap((result) => result.values) ?? [];
|
|
134
141
|
const subFlowValues = request.conditionResults?.subFlowResults.flatMap((result) => result.results.map((completion) => completion.completedStepOutput)) ?? [];
|
|
135
142
|
const hasInput = request.stepInput !== undefined;
|
|
136
143
|
const values = await this.hydrator.hydrateAll([
|
|
144
|
+
...(hasLastHeartbeatValue ? [lastHeartbeatValue] : []),
|
|
137
145
|
...(hasInput ? [request.stepInput] : []),
|
|
138
146
|
...request.attributes.map((entry) => entry.value),
|
|
139
147
|
...request.stepExeLocals.map((entry) => entry.value),
|
|
140
148
|
...channelValues,
|
|
141
149
|
...subFlowValues,
|
|
142
150
|
]);
|
|
143
|
-
let offset =
|
|
151
|
+
let offset = hasLastHeartbeatValue ? 1 : 0;
|
|
152
|
+
const stepInput = hasInput ? values[offset++] : undefined;
|
|
144
153
|
const attributes = replaceEntryValues(request.attributes, values.slice(offset, (offset += request.attributes.length)));
|
|
145
154
|
const stepExeLocals = replaceEntryValues(request.stepExeLocals, values.slice(offset, (offset += request.stepExeLocals.length)));
|
|
146
155
|
const conditionResults = replaceConditionValues(request.conditionResults, values.slice(offset));
|
|
147
156
|
return {
|
|
148
157
|
...request,
|
|
149
|
-
|
|
158
|
+
context: hasLastHeartbeatValue
|
|
159
|
+
? { ...request.context, lastHeartbeatValue: values[0] }
|
|
160
|
+
: request.context,
|
|
161
|
+
stepInput,
|
|
150
162
|
attributes,
|
|
151
163
|
stepExeLocals,
|
|
152
164
|
conditionResults,
|