flowcraft 1.0.0 → 2.0.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/README.md +37 -134
- package/dist/analysis.d.ts +43 -0
- package/dist/analysis.js +3 -0
- package/dist/chunk-55J6XMHW.js +3 -0
- package/dist/{chunk-7XUN3OQT.js.map → chunk-55J6XMHW.js.map} +1 -1
- package/dist/chunk-6DNEDIIT.js +123 -0
- package/dist/chunk-6DNEDIIT.js.map +1 -0
- package/dist/chunk-734J4PTM.js +100 -0
- package/dist/chunk-734J4PTM.js.map +1 -0
- package/dist/chunk-DSZSR7UE.js +40 -0
- package/dist/chunk-DSZSR7UE.js.map +1 -0
- package/dist/chunk-GTZC6PQI.js +22 -0
- package/dist/chunk-GTZC6PQI.js.map +1 -0
- package/dist/chunk-HMR2GEGE.js +3 -0
- package/dist/{chunk-F2RSES6P.js.map → chunk-HMR2GEGE.js.map} +1 -1
- package/dist/chunk-J3RNCPED.js +27 -0
- package/dist/chunk-J3RNCPED.js.map +1 -0
- package/dist/chunk-M23P46ZL.js +105 -0
- package/dist/chunk-M23P46ZL.js.map +1 -0
- package/dist/chunk-MICPMOTW.js +49 -0
- package/dist/chunk-MICPMOTW.js.map +1 -0
- package/dist/chunk-NPAJNLXQ.js +106 -0
- package/dist/chunk-NPAJNLXQ.js.map +1 -0
- package/dist/chunk-RAZXOMZC.js +64 -0
- package/dist/chunk-RAZXOMZC.js.map +1 -0
- package/dist/chunk-REH55ZXV.js +13 -0
- package/dist/chunk-REH55ZXV.js.map +1 -0
- package/dist/chunk-RW4FH7IL.js +135 -0
- package/dist/chunk-RW4FH7IL.js.map +1 -0
- package/dist/chunk-RYTIQZIB.js +303 -0
- package/dist/chunk-RYTIQZIB.js.map +1 -0
- package/dist/chunk-UYPIWXZG.js +62 -0
- package/dist/chunk-UYPIWXZG.js.map +1 -0
- package/dist/chunk-VFC342WL.js +29 -0
- package/dist/chunk-VFC342WL.js.map +1 -0
- package/dist/chunk-WXT3YEWU.js +28 -0
- package/dist/chunk-WXT3YEWU.js.map +1 -0
- package/dist/context.d.ts +23 -105
- package/dist/context.js +1 -1
- package/dist/errors.d.ts +15 -31
- package/dist/errors.js +1 -1
- package/dist/evaluator.d.ts +22 -0
- package/dist/evaluator.js +3 -0
- package/dist/evaluator.js.map +1 -0
- package/dist/flow.d.ts +54 -0
- package/dist/flow.js +4 -0
- package/dist/flow.js.map +1 -0
- package/dist/index.d.ts +14 -16
- package/dist/index.js +17 -25
- package/dist/linter.d.ts +24 -0
- package/dist/linter.js +4 -0
- package/dist/linter.js.map +1 -0
- package/dist/logger.d.ts +11 -36
- package/dist/logger.js +1 -1
- package/dist/node.d.ts +1 -0
- package/dist/node.js +3 -0
- package/dist/node.js.map +1 -0
- package/dist/runtime/adapter.d.ts +78 -0
- package/dist/runtime/adapter.js +15 -0
- package/dist/runtime/adapter.js.map +1 -0
- package/dist/runtime/executors.d.ts +26 -0
- package/dist/runtime/executors.js +4 -0
- package/dist/runtime/executors.js.map +1 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.js +16 -0
- package/dist/runtime/runtime.d.ts +33 -0
- package/dist/runtime/runtime.js +14 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/state.d.ts +21 -0
- package/dist/runtime/state.js +4 -0
- package/dist/runtime/state.js.map +1 -0
- package/dist/runtime/traverser.d.ts +24 -0
- package/dist/runtime/traverser.js +5 -0
- package/dist/runtime/traverser.js.map +1 -0
- package/dist/runtime/types.d.ts +15 -0
- package/dist/runtime/types.js +3 -0
- package/dist/sanitizer.d.ts +10 -0
- package/dist/sanitizer.js +3 -0
- package/dist/{utils/sanitize.js.map → sanitizer.js.map} +1 -1
- package/dist/serializer.d.ts +15 -0
- package/dist/serializer.js +3 -0
- package/dist/serializer.js.map +1 -0
- package/dist/types-CZN_FcB6.d.ts +201 -0
- package/dist/types.d.ts +1 -3
- package/dist/types.js +1 -1
- package/package.json +9 -20
- package/LICENSE +0 -21
- package/dist/builder/graph/graph.d.ts +0 -57
- package/dist/builder/graph/graph.js +0 -21
- package/dist/builder/graph/graph.js.map +0 -1
- package/dist/builder/graph/index.d.ts +0 -8
- package/dist/builder/graph/index.js +0 -23
- package/dist/builder/graph/internal-nodes.d.ts +0 -59
- package/dist/builder/graph/internal-nodes.js +0 -20
- package/dist/builder/graph/internal-nodes.js.map +0 -1
- package/dist/builder/graph/runner.d.ts +0 -51
- package/dist/builder/graph/runner.js +0 -21
- package/dist/builder/graph/runner.js.map +0 -1
- package/dist/builder/graph/types.d.ts +0 -3
- package/dist/builder/graph/types.js +0 -3
- package/dist/builder/index.d.ts +0 -8
- package/dist/builder/index.js +0 -24
- package/dist/builder/index.js.map +0 -1
- package/dist/builder/patterns.d.ts +0 -136
- package/dist/builder/patterns.js +0 -19
- package/dist/builder/patterns.js.map +0 -1
- package/dist/chunk-3YMBNZ77.js +0 -441
- package/dist/chunk-3YMBNZ77.js.map +0 -1
- package/dist/chunk-64DNBF5W.js +0 -36
- package/dist/chunk-64DNBF5W.js.map +0 -1
- package/dist/chunk-6QCXIRLA.js +0 -18
- package/dist/chunk-6QCXIRLA.js.map +0 -1
- package/dist/chunk-7XUN3OQT.js +0 -3
- package/dist/chunk-AOHBHYF6.js +0 -7
- package/dist/chunk-AOHBHYF6.js.map +0 -1
- package/dist/chunk-BRFMFLR6.js +0 -85
- package/dist/chunk-BRFMFLR6.js.map +0 -1
- package/dist/chunk-ELEHMJPM.js +0 -13
- package/dist/chunk-ELEHMJPM.js.map +0 -1
- package/dist/chunk-F2RSES6P.js +0 -3
- package/dist/chunk-F6C6J7HK.js +0 -3
- package/dist/chunk-F6C6J7HK.js.map +0 -1
- package/dist/chunk-GMKJ34T2.js +0 -3
- package/dist/chunk-GMKJ34T2.js.map +0 -1
- package/dist/chunk-HEO3XL4Z.js +0 -328
- package/dist/chunk-HEO3XL4Z.js.map +0 -1
- package/dist/chunk-IIKTTIW5.js +0 -56
- package/dist/chunk-IIKTTIW5.js.map +0 -1
- package/dist/chunk-KOBEU2EM.js +0 -3
- package/dist/chunk-KOBEU2EM.js.map +0 -1
- package/dist/chunk-L5PK5VL2.js +0 -178
- package/dist/chunk-L5PK5VL2.js.map +0 -1
- package/dist/chunk-P3RPDZHO.js +0 -36
- package/dist/chunk-P3RPDZHO.js.map +0 -1
- package/dist/chunk-PNWOW52F.js +0 -19
- package/dist/chunk-PNWOW52F.js.map +0 -1
- package/dist/chunk-R27FIYR5.js +0 -62
- package/dist/chunk-R27FIYR5.js.map +0 -1
- package/dist/chunk-S4WFNGQG.js +0 -17
- package/dist/chunk-S4WFNGQG.js.map +0 -1
- package/dist/chunk-TS3M7MWA.js +0 -3
- package/dist/chunk-TS3M7MWA.js.map +0 -1
- package/dist/chunk-UY4PNPBX.js +0 -156
- package/dist/chunk-UY4PNPBX.js.map +0 -1
- package/dist/chunk-VMH2LRM6.js +0 -114
- package/dist/chunk-VMH2LRM6.js.map +0 -1
- package/dist/chunk-VZDHIOCH.js +0 -76
- package/dist/chunk-VZDHIOCH.js.map +0 -1
- package/dist/chunk-WGVHM7DU.js +0 -66
- package/dist/chunk-WGVHM7DU.js.map +0 -1
- package/dist/chunk-WR5PDOPP.js +0 -91
- package/dist/chunk-WR5PDOPP.js.map +0 -1
- package/dist/chunk-YR433ZDA.js +0 -20
- package/dist/chunk-YR433ZDA.js.map +0 -1
- package/dist/executors/in-memory.d.ts +0 -39
- package/dist/executors/in-memory.js +0 -6
- package/dist/executors/in-memory.js.map +0 -1
- package/dist/executors/types.d.ts +0 -3
- package/dist/executors/types.js +0 -3
- package/dist/executors/types.js.map +0 -1
- package/dist/functions.d.ts +0 -88
- package/dist/functions.js +0 -21
- package/dist/functions.js.map +0 -1
- package/dist/types-U76Ukj96.d.ts +0 -609
- package/dist/utils/analysis.d.ts +0 -75
- package/dist/utils/analysis.js +0 -3
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.js +0 -10
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/mermaid.d.ts +0 -46
- package/dist/utils/mermaid.js +0 -4
- package/dist/utils/mermaid.js.map +0 -1
- package/dist/utils/middleware.d.ts +0 -11
- package/dist/utils/middleware.js +0 -3
- package/dist/utils/middleware.js.map +0 -1
- package/dist/utils/sanitize.d.ts +0 -19
- package/dist/utils/sanitize.js +0 -3
- package/dist/utils/sleep.d.ts +0 -9
- package/dist/utils/sleep.js +0 -4
- package/dist/utils/sleep.js.map +0 -1
- package/dist/workflow/AbstractNode.d.ts +0 -3
- package/dist/workflow/AbstractNode.js +0 -4
- package/dist/workflow/AbstractNode.js.map +0 -1
- package/dist/workflow/Flow.d.ts +0 -3
- package/dist/workflow/Flow.js +0 -16
- package/dist/workflow/Flow.js.map +0 -1
- package/dist/workflow/Node.d.ts +0 -3
- package/dist/workflow/Node.js +0 -15
- package/dist/workflow/Node.js.map +0 -1
- package/dist/workflow/index.d.ts +0 -4
- package/dist/workflow/index.js +0 -18
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/node-patterns.d.ts +0 -55
- package/dist/workflow/node-patterns.js +0 -16
- package/dist/workflow/node-patterns.js.map +0 -1
- package/dist/workflow/registry.d.ts +0 -17
- package/dist/workflow/registry.js +0 -3
- package/dist/workflow/registry.js.map +0 -1
- /package/dist/{utils/analysis.js.map → analysis.js.map} +0 -0
- /package/dist/{builder/graph → runtime}/index.js.map +0 -0
- /package/dist/{builder/graph → runtime}/types.js.map +0 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import '../chunk-HMR2GEGE.js';
|
|
2
|
+
export { BaseDistributedAdapter } from '../chunk-NPAJNLXQ.js';
|
|
3
|
+
export { FlowRuntime } from '../chunk-RYTIQZIB.js';
|
|
4
|
+
export { WorkflowState } from '../chunk-UYPIWXZG.js';
|
|
5
|
+
export { GraphTraverser } from '../chunk-RW4FH7IL.js';
|
|
6
|
+
import '../chunk-J3RNCPED.js';
|
|
7
|
+
import '../chunk-REH55ZXV.js';
|
|
8
|
+
export { BuiltInNodeExecutor, ClassNodeExecutor, FunctionNodeExecutor } from '../chunk-734J4PTM.js';
|
|
9
|
+
import '../chunk-MICPMOTW.js';
|
|
10
|
+
import '../chunk-WXT3YEWU.js';
|
|
11
|
+
import '../chunk-GTZC6PQI.js';
|
|
12
|
+
import '../chunk-DSZSR7UE.js';
|
|
13
|
+
import '../chunk-M23P46ZL.js';
|
|
14
|
+
import '../chunk-VFC342WL.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { j as RuntimeOptions, W as WorkflowBlueprint, p as WorkflowResult, b as NodeResult, C as ContextImplementation, N as NodeDefinition, E as EdgeDefinition } from '../types-CZN_FcB6.js';
|
|
2
|
+
import { IRuntime } from './types.js';
|
|
3
|
+
import { WorkflowState } from './state.js';
|
|
4
|
+
|
|
5
|
+
declare class FlowRuntime<TContext extends Record<string, any>, TDependencies extends Record<string, any>> implements IRuntime<TContext, TDependencies> {
|
|
6
|
+
private registry;
|
|
7
|
+
private blueprints;
|
|
8
|
+
private dependencies;
|
|
9
|
+
private logger;
|
|
10
|
+
private eventBus;
|
|
11
|
+
private serializer;
|
|
12
|
+
private middleware;
|
|
13
|
+
private evaluator;
|
|
14
|
+
options: RuntimeOptions<TDependencies>;
|
|
15
|
+
constructor(options: RuntimeOptions<TDependencies>);
|
|
16
|
+
run(blueprint: WorkflowBlueprint, initialState?: Partial<TContext> | string, options?: {
|
|
17
|
+
functionRegistry?: Map<string, any>;
|
|
18
|
+
strict?: boolean;
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
}): Promise<WorkflowResult<TContext>>;
|
|
21
|
+
executeNode(blueprint: WorkflowBlueprint, nodeId: string, state: WorkflowState<TContext>, allPredecessors?: Map<string, Set<string>>, functionRegistry?: Map<string, any>, executionId?: string, signal?: AbortSignal): Promise<NodeResult>;
|
|
22
|
+
private getExecutor;
|
|
23
|
+
private executeWithFallback;
|
|
24
|
+
determineNextNodes(blueprint: WorkflowBlueprint, nodeId: string, result: NodeResult, context: ContextImplementation<TContext>): Promise<{
|
|
25
|
+
node: NodeDefinition;
|
|
26
|
+
edge: EdgeDefinition;
|
|
27
|
+
}[]>;
|
|
28
|
+
applyEdgeTransform(edge: EdgeDefinition, sourceResult: NodeResult, targetNode: NodeDefinition, context: ContextImplementation<TContext>, allPredecessors?: Map<string, Set<string>>): Promise<void>;
|
|
29
|
+
private _resolveNodeInput;
|
|
30
|
+
protected _executeBuiltInNode(nodeDef: NodeDefinition, contextImpl: ContextImplementation<TContext>): Promise<NodeResult>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { FlowRuntime };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { FlowRuntime } from '../chunk-RYTIQZIB.js';
|
|
2
|
+
import '../chunk-UYPIWXZG.js';
|
|
3
|
+
import '../chunk-RW4FH7IL.js';
|
|
4
|
+
import '../chunk-J3RNCPED.js';
|
|
5
|
+
import '../chunk-REH55ZXV.js';
|
|
6
|
+
import '../chunk-734J4PTM.js';
|
|
7
|
+
import '../chunk-MICPMOTW.js';
|
|
8
|
+
import '../chunk-WXT3YEWU.js';
|
|
9
|
+
import '../chunk-GTZC6PQI.js';
|
|
10
|
+
import '../chunk-DSZSR7UE.js';
|
|
11
|
+
import '../chunk-M23P46ZL.js';
|
|
12
|
+
import '../chunk-VFC342WL.js';
|
|
13
|
+
//# sourceMappingURL=runtime.js.map
|
|
14
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"runtime.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { C as ContextImplementation, o as WorkflowError, p as WorkflowResult, n as ISerializer } from '../types-CZN_FcB6.js';
|
|
2
|
+
|
|
3
|
+
declare class WorkflowState<TContext extends Record<string, any>> {
|
|
4
|
+
private _completedNodes;
|
|
5
|
+
private errors;
|
|
6
|
+
private anyFallbackExecuted;
|
|
7
|
+
private context;
|
|
8
|
+
constructor(initialData: Partial<TContext>);
|
|
9
|
+
addCompletedNode(nodeId: string, output: any): void;
|
|
10
|
+
addError(nodeId: string, error: Error): void;
|
|
11
|
+
clearError(nodeId: string): void;
|
|
12
|
+
markFallbackExecuted(): void;
|
|
13
|
+
getContext(): ContextImplementation<TContext>;
|
|
14
|
+
getCompletedNodes(): Set<string>;
|
|
15
|
+
getErrors(): WorkflowError[];
|
|
16
|
+
getAnyFallbackExecuted(): boolean;
|
|
17
|
+
getStatus(allNodeIds: Set<string>, fallbackNodeIds: Set<string>): WorkflowResult['status'];
|
|
18
|
+
toResult(serializer: ISerializer): WorkflowResult<TContext>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { WorkflowState };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"state.js"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { W as WorkflowBlueprint } from '../types-CZN_FcB6.js';
|
|
2
|
+
import { WorkflowState } from './state.js';
|
|
3
|
+
import { IRuntime } from './types.js';
|
|
4
|
+
|
|
5
|
+
declare class GraphTraverser<TContext extends Record<string, any>, TDependencies extends Record<string, any>> {
|
|
6
|
+
private blueprint;
|
|
7
|
+
private runtime;
|
|
8
|
+
private state;
|
|
9
|
+
private functionRegistry;
|
|
10
|
+
private executionId;
|
|
11
|
+
private signal?;
|
|
12
|
+
private frontier;
|
|
13
|
+
private allPredecessors;
|
|
14
|
+
private dynamicBlueprint;
|
|
15
|
+
constructor(blueprint: WorkflowBlueprint, runtime: IRuntime<TContext, TDependencies>, state: WorkflowState<TContext>, functionRegistry: Map<string, any> | undefined, executionId: string, signal?: AbortSignal | undefined);
|
|
16
|
+
private isFallbackNode;
|
|
17
|
+
traverse(): Promise<void>;
|
|
18
|
+
private handleDynamicNodes;
|
|
19
|
+
getAllNodeIds(): Set<string>;
|
|
20
|
+
getFallbackNodeIds(): Set<string>;
|
|
21
|
+
getDynamicBlueprint(): WorkflowBlueprint;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { GraphTraverser };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"traverser.js"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { R as RuntimeDependencies, j as RuntimeOptions, W as WorkflowBlueprint, b as NodeResult, C as ContextImplementation, N as NodeDefinition, E as EdgeDefinition } from '../types-CZN_FcB6.js';
|
|
2
|
+
import { WorkflowState } from './state.js';
|
|
3
|
+
|
|
4
|
+
/** Interface for the core runtime operations used by the traverser. */
|
|
5
|
+
interface IRuntime<TContext extends Record<string, any> = Record<string, any>, TDependencies extends RuntimeDependencies = RuntimeDependencies> {
|
|
6
|
+
options: RuntimeOptions<TDependencies>;
|
|
7
|
+
executeNode: (blueprint: WorkflowBlueprint, nodeId: string, state: WorkflowState<TContext>, allPredecessors?: Map<string, Set<string>>, functionRegistry?: Map<string, any>, executionId?: string, signal?: AbortSignal) => Promise<NodeResult>;
|
|
8
|
+
determineNextNodes: (blueprint: WorkflowBlueprint, nodeId: string, result: NodeResult, context: ContextImplementation<TContext>) => Promise<{
|
|
9
|
+
node: NodeDefinition;
|
|
10
|
+
edge: EdgeDefinition;
|
|
11
|
+
}[]>;
|
|
12
|
+
applyEdgeTransform: (edge: EdgeDefinition, sourceResult: NodeResult, targetNode: NodeDefinition, context: ContextImplementation<TContext>, allPredecessors?: Map<string, Set<string>>) => Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type { IRuntime };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { W as WorkflowBlueprint } from './types-CZN_FcB6.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Sanitizes a raw workflow blueprint by removing extra properties
|
|
5
|
+
* added by UI tools (e.g., position, style) and keeping only the
|
|
6
|
+
* properties defined in NodeDefinition and EdgeDefinition.
|
|
7
|
+
*/
|
|
8
|
+
declare function sanitizeBlueprint(raw: any): WorkflowBlueprint;
|
|
9
|
+
|
|
10
|
+
export { sanitizeBlueprint };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"sanitizer.js"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { n as ISerializer } from './types-CZN_FcB6.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A default serializer using standard JSON.
|
|
5
|
+
*
|
|
6
|
+
* @warning This implementation is lossy and does not handle complex data types
|
|
7
|
+
* like `Date`, `Map`, `Set`, `undefined`, etc. It is recommended to provide a robust
|
|
8
|
+
* serializer like `superjson` if working with complex data types.
|
|
9
|
+
*/
|
|
10
|
+
declare class JsonSerializer implements ISerializer {
|
|
11
|
+
serialize(data: Record<string, any>): string;
|
|
12
|
+
deserialize(text: string): Record<string, any>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { JsonSerializer };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"serializer.js"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/** eslint-disable unused-imports/no-unused-vars */
|
|
2
|
+
|
|
3
|
+
/** A type guard to reliably distinguish a NodeClass from a NodeFunction. */
|
|
4
|
+
declare function isNodeClass(impl: any): impl is NodeClass;
|
|
5
|
+
/**
|
|
6
|
+
* A structured, class-based node for complex logic with a safe, granular lifecycle.
|
|
7
|
+
* This class is generic, allowing implementations to specify the exact context
|
|
8
|
+
* and dependency types they expect.
|
|
9
|
+
*/
|
|
10
|
+
declare abstract class BaseNode<TContext extends Record<string, any> = Record<string, any>, TDependencies extends RuntimeDependencies = RuntimeDependencies> {
|
|
11
|
+
protected params: Record<string, any>;
|
|
12
|
+
/**
|
|
13
|
+
* @param params Static parameters for this node instance, passed from the blueprint.
|
|
14
|
+
*/
|
|
15
|
+
constructor(params: Record<string, any>);
|
|
16
|
+
/**
|
|
17
|
+
* Phase 1: Gathers and prepares data for execution. This phase is NOT retried on failure.
|
|
18
|
+
* @param context The node's execution context.
|
|
19
|
+
* @returns The data needed for the `exec` phase.
|
|
20
|
+
*/
|
|
21
|
+
prep(context: NodeContext<TContext, TDependencies>): Promise<any>;
|
|
22
|
+
/**
|
|
23
|
+
* Phase 2: Performs the core, isolated logic. This is the ONLY phase that is retried.
|
|
24
|
+
* @param prepResult The data returned from the `prep` phase.
|
|
25
|
+
* @param context The node's execution context.
|
|
26
|
+
*/
|
|
27
|
+
abstract exec(prepResult: any, context: NodeContext<TContext, TDependencies>): Promise<Omit<NodeResult, 'error'>>;
|
|
28
|
+
/**
|
|
29
|
+
* Phase 3: Processes the result and saves state. This phase is NOT retried.
|
|
30
|
+
* @param execResult The successful result from the `exec` or `fallback` phase.
|
|
31
|
+
* @param _context The node's execution context.
|
|
32
|
+
*/
|
|
33
|
+
post(execResult: Omit<NodeResult, 'error'>, _context: NodeContext<TContext, TDependencies>): Promise<NodeResult>;
|
|
34
|
+
/**
|
|
35
|
+
* An optional safety net that runs if all `exec` retries fail.
|
|
36
|
+
* @param error The final error from the last `exec` attempt.
|
|
37
|
+
* @param _context The node's execution context.
|
|
38
|
+
*/
|
|
39
|
+
fallback(error: Error, _context: NodeContext<TContext, TDependencies>): Promise<Omit<NodeResult, 'error'>>;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** The central, serializable representation of a workflow. */
|
|
43
|
+
interface WorkflowBlueprint {
|
|
44
|
+
id: string;
|
|
45
|
+
nodes: NodeDefinition[];
|
|
46
|
+
edges: EdgeDefinition[];
|
|
47
|
+
metadata?: Record<string, any>;
|
|
48
|
+
}
|
|
49
|
+
/** Defines a single step in the workflow. */
|
|
50
|
+
interface NodeDefinition {
|
|
51
|
+
id: string;
|
|
52
|
+
/** A key that resolves to an implementation in a registry. */
|
|
53
|
+
uses: string;
|
|
54
|
+
/** Static parameters for the node. */
|
|
55
|
+
params?: Record<string, any>;
|
|
56
|
+
/** Maps context data to this node's `input`. */
|
|
57
|
+
inputs?: string | Record<string, string>;
|
|
58
|
+
/** Configuration for retries, timeouts, etc. */
|
|
59
|
+
config?: NodeConfig;
|
|
60
|
+
}
|
|
61
|
+
/** Defines the connection and data flow between two nodes. */
|
|
62
|
+
interface EdgeDefinition {
|
|
63
|
+
source: string;
|
|
64
|
+
target: string;
|
|
65
|
+
/** An 'action' from the source node that triggers this edge. */
|
|
66
|
+
action?: string;
|
|
67
|
+
/** A condition that must be met for this edge to be taken. */
|
|
68
|
+
condition?: string;
|
|
69
|
+
/** A string expression to transform the data before passing it to the target node. */
|
|
70
|
+
transform?: string;
|
|
71
|
+
}
|
|
72
|
+
/** Configuration for a node's resiliency and behavior. */
|
|
73
|
+
interface NodeConfig {
|
|
74
|
+
maxRetries?: number;
|
|
75
|
+
retryDelay?: number;
|
|
76
|
+
timeout?: number;
|
|
77
|
+
/** The `uses` key of another node implementation for fallback. */
|
|
78
|
+
fallback?: string;
|
|
79
|
+
/** Determines how a node with multiple incoming edges should be triggered. */
|
|
80
|
+
joinStrategy?: 'all' | 'any';
|
|
81
|
+
}
|
|
82
|
+
/** The required return type for any node implementation. */
|
|
83
|
+
interface NodeResult<TOutput = any> {
|
|
84
|
+
output?: TOutput;
|
|
85
|
+
action?: string;
|
|
86
|
+
error?: {
|
|
87
|
+
message: string;
|
|
88
|
+
[key: string]: any;
|
|
89
|
+
};
|
|
90
|
+
/** Allows a node to dynamically schedule new nodes for the orchestrator to execute. */
|
|
91
|
+
dynamicNodes?: NodeDefinition[];
|
|
92
|
+
/** Internal flag: Indicates that this result came from a fallback execution. */
|
|
93
|
+
_fallbackExecuted?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/** The context object passed to every node's execution logic. */
|
|
96
|
+
interface NodeContext<TContext extends Record<string, any> = Record<string, any>, TDependencies extends RuntimeDependencies = RuntimeDependencies> {
|
|
97
|
+
/** The async-only interface for interacting with the workflow's state. */
|
|
98
|
+
context: IAsyncContext<TContext>;
|
|
99
|
+
/** The primary input data for this node, typically from its predecessor. */
|
|
100
|
+
input?: any;
|
|
101
|
+
/** Static parameters defined in the blueprint. */
|
|
102
|
+
params: Record<string, any>;
|
|
103
|
+
/** Shared, runtime-level dependencies (e.g., database clients, loggers). */
|
|
104
|
+
dependencies: TDependencies;
|
|
105
|
+
/** A signal to gracefully cancel long-running node operations. */
|
|
106
|
+
signal?: AbortSignal;
|
|
107
|
+
}
|
|
108
|
+
/** A simple function-based node implementation. */
|
|
109
|
+
type NodeFunction<TContext extends Record<string, any> = Record<string, any>, TDependencies extends RuntimeDependencies = RuntimeDependencies> = (context: NodeContext<TContext, TDependencies>) => Promise<NodeResult>;
|
|
110
|
+
/** Represents a constructor for any concrete class that extends the abstract BaseNode. */
|
|
111
|
+
type NodeClass = new (params?: any) => BaseNode<any, any>;
|
|
112
|
+
/** A union of all possible node implementation types. */
|
|
113
|
+
type NodeImplementation = NodeFunction | NodeClass;
|
|
114
|
+
/** A registry mapping node types to their implementations. */
|
|
115
|
+
type NodeRegistry = Record<string, NodeImplementation>;
|
|
116
|
+
/** A discriminated union for all possible context implementations. */
|
|
117
|
+
type ContextImplementation<T extends Record<string, any>> = ISyncContext<T> | IAsyncContext<T>;
|
|
118
|
+
/** The synchronous context interface for high-performance, in-memory state. */
|
|
119
|
+
interface ISyncContext<TContext extends Record<string, any> = Record<string, any>> {
|
|
120
|
+
readonly type: 'sync';
|
|
121
|
+
get: <K extends keyof TContext>(key: K) => TContext[K] | undefined;
|
|
122
|
+
set: <K extends keyof TContext>(key: K, value: TContext[K]) => void;
|
|
123
|
+
has: (key: keyof TContext) => boolean;
|
|
124
|
+
delete: (key: keyof TContext) => boolean;
|
|
125
|
+
toJSON: () => Record<string, any>;
|
|
126
|
+
}
|
|
127
|
+
/** The asynchronous context interface for remote or distributed state. */
|
|
128
|
+
interface IAsyncContext<TContext extends Record<string, any> = Record<string, any>> {
|
|
129
|
+
readonly type: 'async';
|
|
130
|
+
get: <K extends keyof TContext>(key: K) => Promise<TContext[K] | undefined>;
|
|
131
|
+
set: <K extends keyof TContext>(key: K, value: TContext[K]) => Promise<void>;
|
|
132
|
+
has: (key: keyof TContext) => Promise<boolean>;
|
|
133
|
+
delete: (key: keyof TContext) => Promise<boolean>;
|
|
134
|
+
toJSON: () => Promise<Record<string, any>>;
|
|
135
|
+
}
|
|
136
|
+
/** Generic for any set of dependencies. */
|
|
137
|
+
interface RuntimeDependencies {
|
|
138
|
+
[key: string]: any;
|
|
139
|
+
}
|
|
140
|
+
/** Configuration options for the FlowRuntime. */
|
|
141
|
+
interface RuntimeOptions<TDependencies extends RuntimeDependencies = RuntimeDependencies> {
|
|
142
|
+
/** A registry of globally available node implementations. */
|
|
143
|
+
registry?: Record<string, NodeFunction | NodeClass>;
|
|
144
|
+
/** A registry of all available workflow blueprints for subflow execution. */
|
|
145
|
+
blueprints?: Record<string, WorkflowBlueprint>;
|
|
146
|
+
/** Shared dependencies to be injected into every node. */
|
|
147
|
+
dependencies?: TDependencies;
|
|
148
|
+
/** A pluggable logger for consistent output. */
|
|
149
|
+
logger?: ILogger;
|
|
150
|
+
/** A pluggable event bus for observability. */
|
|
151
|
+
eventBus?: IEventBus;
|
|
152
|
+
/** A pluggable evaluator for edge conditions and transforms. */
|
|
153
|
+
evaluator?: IEvaluator;
|
|
154
|
+
/** An array of middleware to wrap node execution. */
|
|
155
|
+
middleware?: Middleware[];
|
|
156
|
+
/** A pluggable serializer for handling complex data types in the context. */
|
|
157
|
+
serializer?: ISerializer;
|
|
158
|
+
/** A flag to enforce strictness in the workflow. */
|
|
159
|
+
strict?: boolean;
|
|
160
|
+
}
|
|
161
|
+
/** Interface for a pluggable expression evaluator for conditions and transforms. */
|
|
162
|
+
interface IEvaluator {
|
|
163
|
+
evaluate: (expression: string, context: Record<string, any>) => any;
|
|
164
|
+
}
|
|
165
|
+
/** Interface for a pluggable logger. */
|
|
166
|
+
interface ILogger {
|
|
167
|
+
debug: (message: string, meta?: Record<string, any>) => void;
|
|
168
|
+
info: (message: string, meta?: Record<string, any>) => void;
|
|
169
|
+
warn: (message: string, meta?: Record<string, any>) => void;
|
|
170
|
+
error: (message: string, meta?: Record<string, any>) => void;
|
|
171
|
+
}
|
|
172
|
+
/** Interface for a pluggable event bus. */
|
|
173
|
+
interface IEventBus {
|
|
174
|
+
emit: (eventName: string, payload: Record<string, any>) => void | Promise<void>;
|
|
175
|
+
}
|
|
176
|
+
/** Interface for a pluggable serializer. */
|
|
177
|
+
interface ISerializer {
|
|
178
|
+
serialize: (data: Record<string, any>) => string;
|
|
179
|
+
deserialize: (text: string) => Record<string, any>;
|
|
180
|
+
}
|
|
181
|
+
/** Interface for middleware to handle cross-cutting concerns. */
|
|
182
|
+
interface Middleware<TContext extends Record<string, any> = Record<string, any>> {
|
|
183
|
+
beforeNode?: (ctx: ContextImplementation<TContext>, nodeId: string) => void | Promise<void>;
|
|
184
|
+
afterNode?: (ctx: ContextImplementation<TContext>, nodeId: string, result: NodeResult | undefined, error: Error | undefined) => void | Promise<void>;
|
|
185
|
+
aroundNode?: (ctx: ContextImplementation<TContext>, nodeId: string, next: () => Promise<NodeResult>) => Promise<NodeResult>;
|
|
186
|
+
}
|
|
187
|
+
/** A structured error object returned from a failed workflow execution. */
|
|
188
|
+
interface WorkflowError {
|
|
189
|
+
nodeId: string;
|
|
190
|
+
message: string;
|
|
191
|
+
originalError?: any;
|
|
192
|
+
}
|
|
193
|
+
/** The final result of a workflow execution. */
|
|
194
|
+
interface WorkflowResult<TContext = any> {
|
|
195
|
+
context: TContext;
|
|
196
|
+
serializedContext: string;
|
|
197
|
+
status: 'completed' | 'failed' | 'stalled' | 'cancelled';
|
|
198
|
+
errors?: WorkflowError[];
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export { BaseNode as B, type ContextImplementation as C, type EdgeDefinition as E, type ISyncContext as I, type Middleware as M, type NodeDefinition as N, type RuntimeDependencies as R, type WorkflowBlueprint as W, type NodeConfig as a, type NodeResult as b, type NodeContext as c, type NodeFunction as d, type NodeClass as e, type NodeImplementation as f, type NodeRegistry as g, type IAsyncContext as h, isNodeClass as i, type RuntimeOptions as j, type IEvaluator as k, type ILogger as l, type IEventBus as m, type ISerializer as n, type WorkflowError as o, type WorkflowResult as p };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { D as DEFAULT_ACTION, a as FILTER_FAILED, e as Middleware, M as MiddlewareNext, b as NodeArgs, d as NodeOptions, c as NodeRunContext, P as Params, R as RunOptions } from './types-U76Ukj96.js';
|
|
3
|
-
import './logger.js';
|
|
1
|
+
export { C as ContextImplementation, E as EdgeDefinition, h as IAsyncContext, k as IEvaluator, m as IEventBus, l as ILogger, n as ISerializer, I as ISyncContext, M as Middleware, e as NodeClass, a as NodeConfig, c as NodeContext, N as NodeDefinition, d as NodeFunction, f as NodeImplementation, g as NodeRegistry, b as NodeResult, R as RuntimeDependencies, j as RuntimeOptions, W as WorkflowBlueprint, o as WorkflowError, p as WorkflowResult } from './types-CZN_FcB6.js';
|
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flowcraft",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
5
|
-
"
|
|
6
|
-
"description": "A flexible workflow framework",
|
|
4
|
+
"version": "2.0.0",
|
|
5
|
+
"description": "A lightweight workflow framework",
|
|
7
6
|
"license": "MIT",
|
|
8
7
|
"homepage": "https://github.com/gorango/flowcraft",
|
|
9
8
|
"repository": {
|
|
@@ -36,28 +35,18 @@
|
|
|
36
35
|
"dist"
|
|
37
36
|
],
|
|
38
37
|
"scripts": {
|
|
39
|
-
"dev": "tsup --watch
|
|
40
|
-
"build": "tsup
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"test": "vitest
|
|
44
|
-
"test:
|
|
45
|
-
"test:coverage": "vitest run --coverage --config config/vitest.config.ts",
|
|
46
|
-
"docs:dev": "vitepress dev docs",
|
|
47
|
-
"docs:build": "vitepress build docs",
|
|
48
|
-
"docs:preview": "vitepress preview docs"
|
|
38
|
+
"dev": "tsup --watch",
|
|
39
|
+
"build": "tsup",
|
|
40
|
+
"typecheck": "tsc --noEmit",
|
|
41
|
+
"test": "vitest run",
|
|
42
|
+
"test:watch": "vitest",
|
|
43
|
+
"test:coverage": "vitest run --coverage"
|
|
49
44
|
},
|
|
50
45
|
"devDependencies": {
|
|
51
|
-
"@
|
|
52
|
-
"@types/node": "^24.7.0",
|
|
46
|
+
"@types/node": "^24.7.2",
|
|
53
47
|
"@vitest/coverage-v8": "3.2.4",
|
|
54
|
-
"eslint": "^9.37.0",
|
|
55
|
-
"jiti": "^2.6.1",
|
|
56
|
-
"mermaid": "^11.12.0",
|
|
57
48
|
"tsup": "^8.5.0",
|
|
58
49
|
"typescript": "^5.9.3",
|
|
59
|
-
"vitepress": "^1.6.4",
|
|
60
|
-
"vitepress-plugin-mermaid": "^2.0.17",
|
|
61
50
|
"vitest": "^3.2.4"
|
|
62
51
|
}
|
|
63
52
|
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 Feathers
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { Logger } from '../../logger.js';
|
|
2
|
-
import { f as NodeTypeMap, i as TypedNodeRegistry, n as NodeRegistry, o as GraphBuilderOptions, h as TypedWorkflowGraph, k as BuildResult, m as WorkflowGraph, B as BlueprintBuildResult } from '../../types-U76Ukj96.js';
|
|
3
|
-
import '../../context.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A smart factory that takes an object of custom node classes and returns a fully
|
|
7
|
-
* prepared `NodeRegistry` map with all internal nodes required by the GraphBuilder.
|
|
8
|
-
*
|
|
9
|
-
* @param registry An object where keys are node type strings and values are the corresponding Node constructors.
|
|
10
|
-
* @returns A `Map` instance ready to be used by the `GraphBuilder` or a custom executor.
|
|
11
|
-
*/
|
|
12
|
-
declare function createNodeRegistry<TNodeMap extends NodeTypeMap, TContext = object>(registry: TypedNodeRegistry<TNodeMap, TContext>): NodeRegistry;
|
|
13
|
-
/**
|
|
14
|
-
* Constructs a serializable `WorkflowBlueprint` from a declarative `WorkflowGraph` definition.
|
|
15
|
-
* The blueprint is a static, storable artifact that can be executed by a `BlueprintExecutor`.
|
|
16
|
-
* @template TNodeMap A `NodeTypeMap` for validating type-safe graph definitions.
|
|
17
|
-
* @template TContext The shape of the dependency injection context object.
|
|
18
|
-
*/
|
|
19
|
-
declare class GraphBuilder<TNodeMap extends NodeTypeMap, TContext extends object = object> {
|
|
20
|
-
private nodeOptionsContext;
|
|
21
|
-
private registry;
|
|
22
|
-
private subWorkflowNodeTypes;
|
|
23
|
-
private conditionalNodeTypes;
|
|
24
|
-
private subWorkflowResolver?;
|
|
25
|
-
private logger;
|
|
26
|
-
/**
|
|
27
|
-
* @param registry A type-safe object or a `Map` where keys are node `type` strings and
|
|
28
|
-
* values are the corresponding `Node` class constructors. For type-safety, use `createNodeRegistry`.
|
|
29
|
-
* @param nodeOptionsContext An optional object that is passed to every node's
|
|
30
|
-
* constructor, useful for dependency injection (e.g., passing a database client or the builder itself).
|
|
31
|
-
*/
|
|
32
|
-
constructor(registry: TypedNodeRegistry<TNodeMap, TContext>, nodeOptionsContext?: TContext, options?: GraphBuilderOptions, logger?: Logger);
|
|
33
|
-
constructor(registry: NodeRegistry, nodeOptionsContext?: Record<string, any>, options?: GraphBuilderOptions, logger?: Logger);
|
|
34
|
-
private _logMermaid;
|
|
35
|
-
private _flattenGraph;
|
|
36
|
-
/**
|
|
37
|
-
* Builds a runnable `Flow` from a graph definition for immediate in-memory execution.
|
|
38
|
-
* @param graph The `WorkflowGraph` object describing the flow.
|
|
39
|
-
* @param log Whether to log the graph after flattening. Defaults to `false`.
|
|
40
|
-
* @returns A `BuildResult` object containing the executable `flow` and a `nodeMap`.
|
|
41
|
-
*/
|
|
42
|
-
build(graph: TypedWorkflowGraph<TNodeMap>, log?: boolean): BuildResult;
|
|
43
|
-
build(graph: WorkflowGraph, log?: boolean): BuildResult;
|
|
44
|
-
/**
|
|
45
|
-
* Builds a serializable `WorkflowBlueprint` from a graph definition.
|
|
46
|
-
* This is the recommended method for preparing a workflow for a distributed environment.
|
|
47
|
-
* @param graph The `WorkflowGraph` object describing the flow.
|
|
48
|
-
* @returns A `BlueprintBuildResult` object containing the serializable `blueprint`.
|
|
49
|
-
*/
|
|
50
|
-
buildBlueprint(graph: TypedWorkflowGraph<TNodeMap>): BlueprintBuildResult;
|
|
51
|
-
buildBlueprint(graph: WorkflowGraph): BlueprintBuildResult;
|
|
52
|
-
private _createPredecessorIdMaps;
|
|
53
|
-
private _findBranchTerminals;
|
|
54
|
-
private _findConditionalConvergence;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { GraphBuilder, createNodeRegistry };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export { GraphBuilder, createNodeRegistry } from '../../chunk-3YMBNZ77.js';
|
|
2
|
-
import '../../chunk-WGVHM7DU.js';
|
|
3
|
-
import '../../chunk-L5PK5VL2.js';
|
|
4
|
-
import '../../chunk-F6C6J7HK.js';
|
|
5
|
-
import '../../chunk-UY4PNPBX.js';
|
|
6
|
-
import '../../chunk-ELEHMJPM.js';
|
|
7
|
-
import '../../chunk-HEO3XL4Z.js';
|
|
8
|
-
import '../../chunk-7XUN3OQT.js';
|
|
9
|
-
import '../../chunk-WR5PDOPP.js';
|
|
10
|
-
import '../../chunk-VMH2LRM6.js';
|
|
11
|
-
import '../../chunk-YR433ZDA.js';
|
|
12
|
-
import '../../chunk-6QCXIRLA.js';
|
|
13
|
-
import '../../chunk-BRFMFLR6.js';
|
|
14
|
-
import '../../chunk-PNWOW52F.js';
|
|
15
|
-
import '../../chunk-VZDHIOCH.js';
|
|
16
|
-
import '../../chunk-S4WFNGQG.js';
|
|
17
|
-
import '../../chunk-64DNBF5W.js';
|
|
18
|
-
import '../../chunk-IIKTTIW5.js';
|
|
19
|
-
import '../../chunk-AOHBHYF6.js';
|
|
20
|
-
//# sourceMappingURL=graph.js.map
|
|
21
|
-
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"graph.js"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { GraphBuilder, createNodeRegistry } from './graph.js';
|
|
2
|
-
export { ConditionalJoinNode, InputMappingNode, OutputMappingNode, ParallelBranchContainer, SubWorkflowContainerNode } from './internal-nodes.js';
|
|
3
|
-
export { BlueprintExecutor } from './runner.js';
|
|
4
|
-
export { B as BlueprintBuildResult, k as BuildResult, o as GraphBuilderOptions, G as GraphEdge, l as GraphNode, g as NodeConstructorOptions, n as NodeRegistry, f as NodeTypeMap, O as OriginalPredecessorIdMap, j as PredecessorIdMap, S as SubWorkflowResolver, T as TypedGraphNode, i as TypedNodeRegistry, h as TypedWorkflowGraph, W as WorkflowBlueprint, m as WorkflowGraph } from '../../types-U76Ukj96.js';
|
|
5
|
-
import '../patterns.js';
|
|
6
|
-
import '../../logger.js';
|
|
7
|
-
import '../../context.js';
|
|
8
|
-
import '../../functions.js';
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import '../../chunk-GMKJ34T2.js';
|
|
2
|
-
import '../../chunk-KOBEU2EM.js';
|
|
3
|
-
export { BlueprintExecutor, GraphBuilder, createNodeRegistry } from '../../chunk-3YMBNZ77.js';
|
|
4
|
-
export { ConditionalJoinNode, InputMappingNode, OutputMappingNode, ParallelBranchContainer, SubWorkflowContainerNode } from '../../chunk-WGVHM7DU.js';
|
|
5
|
-
import '../../chunk-L5PK5VL2.js';
|
|
6
|
-
import '../../chunk-F6C6J7HK.js';
|
|
7
|
-
import '../../chunk-UY4PNPBX.js';
|
|
8
|
-
import '../../chunk-ELEHMJPM.js';
|
|
9
|
-
import '../../chunk-HEO3XL4Z.js';
|
|
10
|
-
import '../../chunk-7XUN3OQT.js';
|
|
11
|
-
import '../../chunk-WR5PDOPP.js';
|
|
12
|
-
import '../../chunk-VMH2LRM6.js';
|
|
13
|
-
import '../../chunk-YR433ZDA.js';
|
|
14
|
-
import '../../chunk-6QCXIRLA.js';
|
|
15
|
-
import '../../chunk-BRFMFLR6.js';
|
|
16
|
-
import '../../chunk-PNWOW52F.js';
|
|
17
|
-
import '../../chunk-VZDHIOCH.js';
|
|
18
|
-
import '../../chunk-S4WFNGQG.js';
|
|
19
|
-
import '../../chunk-64DNBF5W.js';
|
|
20
|
-
import '../../chunk-IIKTTIW5.js';
|
|
21
|
-
import '../../chunk-AOHBHYF6.js';
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
23
|
-
//# sourceMappingURL=index.js.map
|