@superdurable/dex 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +145 -0
- package/dist/src/blob-cache.d.ts +14 -0
- package/dist/src/blob-cache.js +22 -0
- package/dist/src/blob-cache.js.map +1 -0
- package/dist/src/client.d.ts +36 -0
- package/dist/src/client.js +441 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/codec.d.ts +38 -0
- package/dist/src/codec.js +86 -0
- package/dist/src/codec.js.map +1 -0
- package/dist/src/context.d.ts +23 -0
- package/dist/src/context.js +9 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/errors.d.ts +44 -0
- package/dist/src/errors.js +73 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/flow.d.ts +31 -0
- package/dist/src/flow.js +155 -0
- package/dist/src/flow.js.map +1 -0
- package/dist/src/gen/dex.d.ts +1529 -0
- package/dist/src/gen/dex.js +10661 -0
- package/dist/src/gen/dex.js.map +1 -0
- package/dist/src/gen/google/protobuf/duration.d.ts +103 -0
- package/dist/src/gen/google/protobuf/duration.js +64 -0
- package/dist/src/gen/google/protobuf/duration.js.map +1 -0
- package/dist/src/gen/google/protobuf/empty.d.ts +37 -0
- package/dist/src/gen/google/protobuf/empty.js +39 -0
- package/dist/src/gen/google/protobuf/empty.js.map +1 -0
- package/dist/src/gen/google/protobuf/struct.d.ts +140 -0
- package/dist/src/gen/google/protobuf/struct.js +359 -0
- package/dist/src/gen/google/protobuf/struct.js.map +1 -0
- package/dist/src/gen/google/protobuf/timestamp.d.ts +133 -0
- package/dist/src/gen/google/protobuf/timestamp.js +64 -0
- package/dist/src/gen/google/protobuf/timestamp.js.map +1 -0
- package/dist/src/grpc-status.d.ts +4 -0
- package/dist/src/grpc-status.js +105 -0
- package/dist/src/grpc-status.js.map +1 -0
- package/dist/src/index.d.ts +14 -0
- package/dist/src/index.js +20 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/invocation-context.d.ts +44 -0
- package/dist/src/invocation-context.js +203 -0
- package/dist/src/invocation-context.js.map +1 -0
- package/dist/src/options.d.ts +106 -0
- package/dist/src/options.js +55 -0
- package/dist/src/options.js.map +1 -0
- package/dist/src/persistence.d.ts +45 -0
- package/dist/src/persistence.js +65 -0
- package/dist/src/persistence.js.map +1 -0
- package/dist/src/rpc.d.ts +39 -0
- package/dist/src/rpc.js +50 -0
- package/dist/src/rpc.js.map +1 -0
- package/dist/src/step.d.ts +92 -0
- package/dist/src/step.js +62 -0
- package/dist/src/step.js.map +1 -0
- package/dist/src/validation.d.ts +3 -0
- package/dist/src/validation.js +33 -0
- package/dist/src/validation.js.map +1 -0
- package/dist/src/value-mapper.d.ts +14 -0
- package/dist/src/value-mapper.js +199 -0
- package/dist/src/value-mapper.js.map +1 -0
- package/dist/src/wait.d.ts +57 -0
- package/dist/src/wait.js +124 -0
- package/dist/src/wait.js.map +1 -0
- package/dist/src/worker-dispatcher.d.ts +14 -0
- package/dist/src/worker-dispatcher.js +374 -0
- package/dist/src/worker-dispatcher.js.map +1 -0
- package/dist/src/worker.d.ts +18 -0
- package/dist/src/worker.js +139 -0
- package/dist/src/worker.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type WireKind = "string" | "bool" | "int64" | "double" | "bytes" | "json";
|
|
2
|
+
export type Value = Readonly<{
|
|
3
|
+
kind: "string";
|
|
4
|
+
data: string;
|
|
5
|
+
}> | Readonly<{
|
|
6
|
+
kind: "bool";
|
|
7
|
+
data: boolean;
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
kind: "int64";
|
|
10
|
+
data: bigint;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
kind: "double";
|
|
13
|
+
data: number;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
kind: "bytes";
|
|
16
|
+
data: Uint8Array;
|
|
17
|
+
}> | Readonly<{
|
|
18
|
+
kind: "json";
|
|
19
|
+
data: string;
|
|
20
|
+
}>;
|
|
21
|
+
export interface Codec<T> {
|
|
22
|
+
readonly typeName: string;
|
|
23
|
+
readonly wireKind: WireKind;
|
|
24
|
+
encode(value: T): Value;
|
|
25
|
+
decode(value: Value): T;
|
|
26
|
+
}
|
|
27
|
+
export declare const stringCodec: Codec<string>;
|
|
28
|
+
export declare const booleanCodec: Codec<boolean>;
|
|
29
|
+
export declare const int64Codec: Codec<bigint>;
|
|
30
|
+
export declare const doubleCodec: Codec<number>;
|
|
31
|
+
export declare const bytesCodec: Codec<Uint8Array>;
|
|
32
|
+
export declare const voidCodec: Codec<void>;
|
|
33
|
+
export declare function optionalCodec<T>(codec: Codec<T>): Codec<T | undefined>;
|
|
34
|
+
export declare function jsonCodec<T>(options: {
|
|
35
|
+
readonly typeName: string;
|
|
36
|
+
readonly decode: (value: unknown) => T;
|
|
37
|
+
readonly encode?: (value: T) => unknown;
|
|
38
|
+
}): Codec<T>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Super Durable Source License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
|
+
export const stringCodec = {
|
|
9
|
+
typeName: "string",
|
|
10
|
+
wireKind: "string",
|
|
11
|
+
encode: (value) => ({ kind: "string", data: value }),
|
|
12
|
+
decode: (value) => requireKind(value, "string").data,
|
|
13
|
+
};
|
|
14
|
+
export const booleanCodec = {
|
|
15
|
+
typeName: "boolean",
|
|
16
|
+
wireKind: "bool",
|
|
17
|
+
encode: (value) => ({ kind: "bool", data: value }),
|
|
18
|
+
decode: (value) => requireKind(value, "bool").data,
|
|
19
|
+
};
|
|
20
|
+
export const int64Codec = {
|
|
21
|
+
typeName: "bigint",
|
|
22
|
+
wireKind: "int64",
|
|
23
|
+
encode: (value) => {
|
|
24
|
+
if (value < -(2n ** 63n) || value > 2n ** 63n - 1n) {
|
|
25
|
+
throw new RangeError(`${value} exceeds int64`);
|
|
26
|
+
}
|
|
27
|
+
return { kind: "int64", data: value };
|
|
28
|
+
},
|
|
29
|
+
decode: (value) => requireKind(value, "int64").data,
|
|
30
|
+
};
|
|
31
|
+
export const doubleCodec = {
|
|
32
|
+
typeName: "number",
|
|
33
|
+
wireKind: "double",
|
|
34
|
+
encode: (value) => {
|
|
35
|
+
if (!Number.isFinite(value)) {
|
|
36
|
+
throw new RangeError("non-finite numbers are unsupported");
|
|
37
|
+
}
|
|
38
|
+
return { kind: "double", data: value };
|
|
39
|
+
},
|
|
40
|
+
decode: (value) => requireKind(value, "double").data,
|
|
41
|
+
};
|
|
42
|
+
export const bytesCodec = {
|
|
43
|
+
typeName: "Uint8Array",
|
|
44
|
+
wireKind: "bytes",
|
|
45
|
+
encode: (value) => ({ kind: "bytes", data: value.slice() }),
|
|
46
|
+
decode: (value) => requireKind(value, "bytes").data.slice(),
|
|
47
|
+
};
|
|
48
|
+
export const voidCodec = {
|
|
49
|
+
typeName: "void",
|
|
50
|
+
wireKind: "json",
|
|
51
|
+
encode: () => ({ kind: "json", data: "null" }),
|
|
52
|
+
decode: (value) => {
|
|
53
|
+
if (requireKind(value, "json").data !== "null") {
|
|
54
|
+
throw new TypeError("void requires JSON null");
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
export function optionalCodec(codec) {
|
|
59
|
+
return {
|
|
60
|
+
typeName: `${codec.typeName} | undefined`,
|
|
61
|
+
wireKind: "json",
|
|
62
|
+
encode: (value) => value === undefined ? { kind: "json", data: "null" } : codec.encode(value),
|
|
63
|
+
decode: (value) => value.kind === "json" && value.data === "null" ? undefined : codec.decode(value),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function jsonCodec(options) {
|
|
67
|
+
return {
|
|
68
|
+
typeName: options.typeName,
|
|
69
|
+
wireKind: "json",
|
|
70
|
+
encode: (value) => {
|
|
71
|
+
const data = JSON.stringify(options.encode?.(value) ?? value);
|
|
72
|
+
if (data === undefined) {
|
|
73
|
+
throw new TypeError("JSON codec cannot encode undefined");
|
|
74
|
+
}
|
|
75
|
+
return { kind: "json", data };
|
|
76
|
+
},
|
|
77
|
+
decode: (value) => options.decode(JSON.parse(requireKind(value, "json").data)),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function requireKind(value, kind) {
|
|
81
|
+
if (value.kind !== kind) {
|
|
82
|
+
throw new TypeError(`expected ${kind}, got ${value.kind}`);
|
|
83
|
+
}
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Attribute, AttributeMap } from "./persistence.js";
|
|
2
|
+
import type { Channel, ChannelMap } from "./wait.js";
|
|
3
|
+
import type { Codec } from "./codec.js";
|
|
4
|
+
export interface Context {
|
|
5
|
+
readonly flowId: string;
|
|
6
|
+
readonly runId: string;
|
|
7
|
+
readonly flowStartedAt: Date;
|
|
8
|
+
readonly stepExecutionId: string;
|
|
9
|
+
readonly fromStepExecutionId: string;
|
|
10
|
+
readonly firstAttemptAt: Date;
|
|
11
|
+
readonly attempt: number;
|
|
12
|
+
hasTimerFired(index?: number): boolean;
|
|
13
|
+
waitForMethodFailed(): boolean;
|
|
14
|
+
setStepExecutionLocal<T>(key: string, value: T, codec: Codec<T>): void;
|
|
15
|
+
getStepExecutionLocal<T>(key: string, codec: Codec<T>): T | undefined;
|
|
16
|
+
recordEvent<T>(name: string, value: T, codec: Codec<T>): void;
|
|
17
|
+
getAttribute<T>(attribute: Attribute<T> | AttributeMap<T>, instance?: string): T;
|
|
18
|
+
setAttribute<T>(attribute: Attribute<T> | AttributeMap<T>, value: T, instance?: string): void;
|
|
19
|
+
deleteAttribute(attribute: Attribute<unknown> | AttributeMap<unknown>, instance?: string): void;
|
|
20
|
+
publish<T>(channel: Channel<T> | ChannelMap<T>, value: T, instance?: string): void;
|
|
21
|
+
channelSize(channel: Channel<unknown> | ChannelMap<unknown>, instance?: string): number;
|
|
22
|
+
channelResults<T>(channel: Channel<T> | ChannelMap<T>, instance?: string): readonly T[];
|
|
23
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Super Durable Source License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,EAAE;AACF,uDAAuD;AACvD,mEAAmE;AACnE,+CAA+C;AAC/C,EAAE;AACF,wDAAwD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { status } from "@grpc/grpc-js";
|
|
2
|
+
import type { Codec } from "./codec.js";
|
|
3
|
+
import type { Value } from "./gen/dex.js";
|
|
4
|
+
import type { FlowStatus } from "./options.js";
|
|
5
|
+
export declare class PhaseNotImplementedError extends Error {
|
|
6
|
+
}
|
|
7
|
+
export declare const ErrorSubStatus: Readonly<{
|
|
8
|
+
readonly UNCATEGORIZED: "uncategorized";
|
|
9
|
+
readonly FLOW_ALREADY_STARTED: "flowAlreadyStarted";
|
|
10
|
+
readonly FLOW_NOT_EXISTS: "flowNotExists";
|
|
11
|
+
readonly WORKER_API_ERROR: "workerApiError";
|
|
12
|
+
readonly LONG_POLL_TIMEOUT: "longPollTimeout";
|
|
13
|
+
}>;
|
|
14
|
+
export type ErrorSubStatus = (typeof ErrorSubStatus)[keyof typeof ErrorSubStatus];
|
|
15
|
+
export declare const FlowErrorType: Readonly<{
|
|
16
|
+
readonly STEP_DECISION_FAILED: "stepDecisionFailed";
|
|
17
|
+
readonly CLIENT_API_FAILED: "clientApiFailed";
|
|
18
|
+
readonly WORKER_API_FAILED: "workerApiFailed";
|
|
19
|
+
readonly INVALID_USER_FLOW_CODE: "invalidUserFlowCode";
|
|
20
|
+
readonly INTERNAL: "internal";
|
|
21
|
+
}>;
|
|
22
|
+
export type FlowErrorType = (typeof FlowErrorType)[keyof typeof FlowErrorType];
|
|
23
|
+
export declare class DexError extends Error {
|
|
24
|
+
readonly code: status;
|
|
25
|
+
readonly subStatus: ErrorSubStatus | undefined;
|
|
26
|
+
readonly detail: string;
|
|
27
|
+
readonly workerErrorType: string;
|
|
28
|
+
readonly workerErrorDetail: string;
|
|
29
|
+
constructor(code: status, subStatus: ErrorSubStatus | undefined, detail: string, workerErrorType: string, workerErrorDetail: string, options?: ErrorOptions);
|
|
30
|
+
}
|
|
31
|
+
export declare class LongPollTimeoutError extends Error {
|
|
32
|
+
readonly flowId: string;
|
|
33
|
+
constructor(flowId: string, options?: ErrorOptions);
|
|
34
|
+
}
|
|
35
|
+
export declare class FlowUncompletedError extends Error {
|
|
36
|
+
readonly runId: string;
|
|
37
|
+
readonly status: FlowStatus;
|
|
38
|
+
readonly errorType: FlowErrorType | undefined;
|
|
39
|
+
private readonly results;
|
|
40
|
+
constructor(runId: string, status: FlowStatus, errorType: FlowErrorType | undefined, message: string | undefined, results: readonly Value[]);
|
|
41
|
+
get resultCount(): number;
|
|
42
|
+
getResult<T>(index: number, codec: Codec<T>): T;
|
|
43
|
+
}
|
|
44
|
+
export declare function laterPhase(component: string): PhaseNotImplementedError;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Super Durable Source License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
|
+
import { decodeValue } from "./value-mapper.js";
|
|
9
|
+
export class PhaseNotImplementedError extends Error {
|
|
10
|
+
}
|
|
11
|
+
export const ErrorSubStatus = Object.freeze({
|
|
12
|
+
UNCATEGORIZED: "uncategorized",
|
|
13
|
+
FLOW_ALREADY_STARTED: "flowAlreadyStarted",
|
|
14
|
+
FLOW_NOT_EXISTS: "flowNotExists",
|
|
15
|
+
WORKER_API_ERROR: "workerApiError",
|
|
16
|
+
LONG_POLL_TIMEOUT: "longPollTimeout",
|
|
17
|
+
});
|
|
18
|
+
export const FlowErrorType = Object.freeze({
|
|
19
|
+
STEP_DECISION_FAILED: "stepDecisionFailed",
|
|
20
|
+
CLIENT_API_FAILED: "clientApiFailed",
|
|
21
|
+
WORKER_API_FAILED: "workerApiFailed",
|
|
22
|
+
INVALID_USER_FLOW_CODE: "invalidUserFlowCode",
|
|
23
|
+
INTERNAL: "internal",
|
|
24
|
+
});
|
|
25
|
+
export class DexError extends Error {
|
|
26
|
+
code;
|
|
27
|
+
subStatus;
|
|
28
|
+
detail;
|
|
29
|
+
workerErrorType;
|
|
30
|
+
workerErrorDetail;
|
|
31
|
+
constructor(code, subStatus, detail, workerErrorType, workerErrorDetail, options) {
|
|
32
|
+
super(detail, options);
|
|
33
|
+
this.code = code;
|
|
34
|
+
this.subStatus = subStatus;
|
|
35
|
+
this.detail = detail;
|
|
36
|
+
this.workerErrorType = workerErrorType;
|
|
37
|
+
this.workerErrorDetail = workerErrorDetail;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class LongPollTimeoutError extends Error {
|
|
41
|
+
flowId;
|
|
42
|
+
constructor(flowId, options) {
|
|
43
|
+
super(`Flow is still running: ${flowId}`, options);
|
|
44
|
+
this.flowId = flowId;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class FlowUncompletedError extends Error {
|
|
48
|
+
runId;
|
|
49
|
+
status;
|
|
50
|
+
errorType;
|
|
51
|
+
results;
|
|
52
|
+
constructor(runId, status, errorType, message, results) {
|
|
53
|
+
super(message);
|
|
54
|
+
this.runId = runId;
|
|
55
|
+
this.status = status;
|
|
56
|
+
this.errorType = errorType;
|
|
57
|
+
this.results = results;
|
|
58
|
+
}
|
|
59
|
+
get resultCount() {
|
|
60
|
+
return this.results.length;
|
|
61
|
+
}
|
|
62
|
+
getResult(index, codec) {
|
|
63
|
+
const value = this.results[index];
|
|
64
|
+
if (value === undefined) {
|
|
65
|
+
throw new RangeError(`result index ${index} is out of range`);
|
|
66
|
+
}
|
|
67
|
+
return decodeValue(codec, value);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export function laterPhase(component) {
|
|
71
|
+
return new PhaseNotImplementedError(`${component} belongs to a later phase`);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.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,mBAAmB,CAAC;AAEhD,MAAM,OAAO,wBAAyB,SAAQ,KAAK;CAAG;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,aAAa,EAAE,eAAe;IAC9B,oBAAoB,EAAE,oBAAoB;IAC1C,eAAe,EAAE,eAAe;IAChC,gBAAgB,EAAE,gBAAgB;IAClC,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC,CAAC;AAIZ,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,oBAAoB,EAAE,oBAAoB;IAC1C,iBAAiB,EAAE,iBAAiB;IACpC,iBAAiB,EAAE,iBAAiB;IACpC,sBAAsB,EAAE,qBAAqB;IAC7C,QAAQ,EAAE,UAAU;CACZ,CAAC,CAAC;AAIZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEf;IACA;IACA;IACA;IACA;IALlB,YACkB,IAAY,EACZ,SAAqC,EACrC,MAAc,EACd,eAAuB,EACvB,iBAAyB,EACzC,OAAsB;QAEtB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAPP,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAA4B;QACrC,WAAM,GAAN,MAAM,CAAQ;QACd,oBAAe,GAAf,eAAe,CAAQ;QACvB,sBAAiB,GAAjB,iBAAiB,CAAQ;IAI3C,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAE3B;IADlB,YACkB,MAAc,EAC9B,OAAsB;QAEtB,KAAK,CAAC,0BAA0B,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAHnC,WAAM,GAAN,MAAM,CAAQ;IAIhC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAE3B;IACA;IACA;IAEC;IALnB,YACkB,KAAa,EACb,MAAkB,EAClB,SAAoC,EACpD,OAA2B,EACV,OAAyB;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAC;QANC,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAY;QAClB,cAAS,GAAT,SAAS,CAA2B;QAEnC,YAAO,GAAP,OAAO,CAAkB;IAG5C,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAI,KAAa,EAAE,KAAe;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,UAAU,CAAC,gBAAgB,KAAK,kBAAkB,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,OAAO,IAAI,wBAAwB,CAAC,GAAG,SAAS,2BAA2B,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Attribute, AttributeMap, PersistenceSchema } from "./persistence.js";
|
|
2
|
+
import { type RegisteredRPC } from "./rpc.js";
|
|
3
|
+
import { StepList, type Step } from "./step.js";
|
|
4
|
+
import type { Channel, ChannelMap } from "./wait.js";
|
|
5
|
+
export interface Flow<StartInput = void> {
|
|
6
|
+
getFlowType(): string;
|
|
7
|
+
getSteps(): StepList<StartInput>;
|
|
8
|
+
getPersistenceSchema?(): PersistenceSchema;
|
|
9
|
+
}
|
|
10
|
+
export declare class Registry {
|
|
11
|
+
readonly flows: readonly Flow<any>[];
|
|
12
|
+
constructor(flows: readonly Flow<any>[]);
|
|
13
|
+
}
|
|
14
|
+
export interface RegisteredStep {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly step: Step<unknown>;
|
|
17
|
+
readonly isStartStep: boolean;
|
|
18
|
+
}
|
|
19
|
+
export interface RegisteredFlow {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly flow: Flow<any>;
|
|
22
|
+
readonly steps: readonly RegisteredStep[];
|
|
23
|
+
readonly startStep?: RegisteredStep;
|
|
24
|
+
readonly rpcs: readonly RegisteredRPC[];
|
|
25
|
+
readonly persistence: ReadonlyMap<string, Attribute<unknown> | AttributeMap<unknown> | Channel<unknown> | ChannelMap<unknown>>;
|
|
26
|
+
}
|
|
27
|
+
export declare function registeredFlow(registry: Registry, flow: Flow<any>): RegisteredFlow;
|
|
28
|
+
export declare function registeredRPC(registry: Registry, method: Function): RegisteredRPC;
|
|
29
|
+
export declare function registeredFlowByName(registry: Registry, name: string): RegisteredFlow;
|
|
30
|
+
export declare function registeredStep(flow: RegisteredFlow, name: string): RegisteredStep;
|
|
31
|
+
export declare function registeredRPCByName(flow: RegisteredFlow, name: string): RegisteredRPC;
|
package/dist/src/flow.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
// Copyright (c) 2026 Super Durable, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Licensed under the Super Durable Source License 1.0.
|
|
4
|
+
// You may not use this file except in compliance with the License.
|
|
5
|
+
// See the LICENSE file in the repository root.
|
|
6
|
+
//
|
|
7
|
+
// SPDX-License-Identifier: LicenseRef-Super-Durable-1.0
|
|
8
|
+
import { registeredRPCs } from "./rpc.js";
|
|
9
|
+
import { StepList } from "./step.js";
|
|
10
|
+
import { requireName } from "./validation.js";
|
|
11
|
+
export class Registry {
|
|
12
|
+
flows;
|
|
13
|
+
constructor(flows) {
|
|
14
|
+
const flowsByInstance = new Map();
|
|
15
|
+
const flowsByName = new Map();
|
|
16
|
+
const rpcsByMethod = new Map();
|
|
17
|
+
const flowNames = new Set();
|
|
18
|
+
for (const flow of flows) {
|
|
19
|
+
const name = flowType(flow);
|
|
20
|
+
if (flowNames.has(name)) {
|
|
21
|
+
throw new TypeError(`duplicate Flow ${name}`);
|
|
22
|
+
}
|
|
23
|
+
flowNames.add(name);
|
|
24
|
+
const registered = registerFlow(flow, name);
|
|
25
|
+
flowsByInstance.set(flow, registered);
|
|
26
|
+
flowsByName.set(name, registered);
|
|
27
|
+
for (const rpc of registered.rpcs) {
|
|
28
|
+
if (rpcsByMethod.has(rpc.method)) {
|
|
29
|
+
throw new TypeError(`RPC method ${rpc.name} is registered by multiple Flows`);
|
|
30
|
+
}
|
|
31
|
+
rpcsByMethod.set(rpc.method, rpc);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
this.flows = Object.freeze([...flows]);
|
|
35
|
+
registryMetadata.set(this, { flowsByInstance, flowsByName, rpcsByMethod });
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const registryMetadata = new WeakMap();
|
|
39
|
+
export function registeredFlow(registry, flow) {
|
|
40
|
+
const registered = metadata(registry).flowsByInstance.get(flow);
|
|
41
|
+
if (registered === undefined) {
|
|
42
|
+
throw new TypeError("Flow instance is not registered");
|
|
43
|
+
}
|
|
44
|
+
return registered;
|
|
45
|
+
}
|
|
46
|
+
export function registeredRPC(registry, method) {
|
|
47
|
+
const registered = metadata(registry).rpcsByMethod.get(method);
|
|
48
|
+
if (registered === undefined) {
|
|
49
|
+
throw new TypeError("RPC method is not registered");
|
|
50
|
+
}
|
|
51
|
+
return registered;
|
|
52
|
+
}
|
|
53
|
+
export function registeredFlowByName(registry, name) {
|
|
54
|
+
const registered = metadata(registry).flowsByName.get(name);
|
|
55
|
+
if (registered === undefined) {
|
|
56
|
+
throw new TypeError(`Flow is not registered: ${name}`);
|
|
57
|
+
}
|
|
58
|
+
return registered;
|
|
59
|
+
}
|
|
60
|
+
export function registeredStep(flow, name) {
|
|
61
|
+
const registered = flow.steps.find((step) => step.name === name);
|
|
62
|
+
if (registered === undefined) {
|
|
63
|
+
throw new TypeError(`Step is not registered: ${name}`);
|
|
64
|
+
}
|
|
65
|
+
return registered;
|
|
66
|
+
}
|
|
67
|
+
export function registeredRPCByName(flow, name) {
|
|
68
|
+
const registered = flow.rpcs.find((rpc) => rpc.name === name);
|
|
69
|
+
if (registered === undefined) {
|
|
70
|
+
throw new TypeError(`RPC is not registered: ${name}`);
|
|
71
|
+
}
|
|
72
|
+
return registered;
|
|
73
|
+
}
|
|
74
|
+
function metadata(registry) {
|
|
75
|
+
const value = registryMetadata.get(registry);
|
|
76
|
+
if (value === undefined) {
|
|
77
|
+
throw new TypeError("Registry was not initialized by the Dex SDK");
|
|
78
|
+
}
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
function flowType(flow) {
|
|
82
|
+
if (typeof flow.getFlowType !== "function") {
|
|
83
|
+
throw new TypeError("Flow must implement getFlowType");
|
|
84
|
+
}
|
|
85
|
+
const name = flow.getFlowType();
|
|
86
|
+
requireName(name);
|
|
87
|
+
return name;
|
|
88
|
+
}
|
|
89
|
+
function stepType(step) {
|
|
90
|
+
if (typeof step.getStepType !== "function") {
|
|
91
|
+
throw new TypeError("Step must implement getStepType");
|
|
92
|
+
}
|
|
93
|
+
const name = step.getStepType();
|
|
94
|
+
requireName(name);
|
|
95
|
+
return name;
|
|
96
|
+
}
|
|
97
|
+
function registerFlow(flow, name) {
|
|
98
|
+
const stepDefinitions = flow.getSteps();
|
|
99
|
+
if (!(stepDefinitions instanceof StepList)) {
|
|
100
|
+
throw new TypeError("Flow steps must be a StepList");
|
|
101
|
+
}
|
|
102
|
+
const stepNames = new Set();
|
|
103
|
+
const steps = [];
|
|
104
|
+
let startStep;
|
|
105
|
+
let hasStartStep = false;
|
|
106
|
+
for (const definition of stepDefinitions) {
|
|
107
|
+
if (definition.isStartStep) {
|
|
108
|
+
if (hasStartStep) {
|
|
109
|
+
throw new TypeError("Flow must not have multiple start Steps");
|
|
110
|
+
}
|
|
111
|
+
hasStartStep = true;
|
|
112
|
+
}
|
|
113
|
+
const step = definition.step;
|
|
114
|
+
const name = stepType(step);
|
|
115
|
+
if (stepNames.has(name)) {
|
|
116
|
+
throw new TypeError(`duplicate Step ${name}`);
|
|
117
|
+
}
|
|
118
|
+
stepNames.add(name);
|
|
119
|
+
const registered = { name, step, isStartStep: definition.isStartStep };
|
|
120
|
+
steps.push(registered);
|
|
121
|
+
if (definition.isStartStep) {
|
|
122
|
+
startStep = registered;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const schema = flow.getPersistenceSchema?.() ?? {};
|
|
126
|
+
const persistenceDefinitions = [...(schema.attributes ?? []), ...(schema.channels ?? [])];
|
|
127
|
+
const persistence = new Map();
|
|
128
|
+
for (const definition of persistenceDefinitions) {
|
|
129
|
+
if (persistence.has(definition.name)) {
|
|
130
|
+
throw new TypeError(`duplicate persistence definition ${definition.name}`);
|
|
131
|
+
}
|
|
132
|
+
persistence.set(definition.name, definition);
|
|
133
|
+
}
|
|
134
|
+
const rpcNames = new Set();
|
|
135
|
+
const attributes = new Set(schema.attributes ?? []);
|
|
136
|
+
const rpcs = registeredRPCs(flow);
|
|
137
|
+
for (const registeredRPC of rpcs) {
|
|
138
|
+
if (rpcNames.has(registeredRPC.name)) {
|
|
139
|
+
throw new TypeError(`duplicate RPC ${registeredRPC.name}`);
|
|
140
|
+
}
|
|
141
|
+
rpcNames.add(registeredRPC.name);
|
|
142
|
+
if (registeredRPC.options.lockAttributes?.some((lock) => !attributes.has(lock.attribute)) === true) {
|
|
143
|
+
throw new TypeError(`RPC ${registeredRPC.name} locks an unregistered attribute`);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return Object.freeze({
|
|
147
|
+
name,
|
|
148
|
+
flow,
|
|
149
|
+
steps: Object.freeze(steps),
|
|
150
|
+
...(startStep === undefined ? {} : { startStep }),
|
|
151
|
+
rpcs,
|
|
152
|
+
persistence,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=flow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/flow.ts"],"names":[],"mappings":"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"}
|