@skenora/flow 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-runtime.js","sourceRoot":"","sources":["../../src/core/flow-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./core/flow-runtime.js";
2
+ export * from "./model/node-registry.js";
3
+ export * from "./model/types.js";
4
+ export * from "./model/validation.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./core/flow-runtime.js";
2
+ export * from "./model/node-registry.js";
3
+ export * from "./model/types.js";
4
+ export * from "./model/validation.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type FlowNode } from "./types.js";
2
+ export type FlowValueType = "any" | "boolean" | "number" | "string" | "object" | "transform";
3
+ export interface FlowPortDefinition {
4
+ name: string;
5
+ kind: "control" | "value";
6
+ valueType?: FlowValueType;
7
+ required?: boolean;
8
+ multiple?: boolean;
9
+ }
10
+ export interface FlowNodeDefinition {
11
+ type: string;
12
+ category: "trigger" | "value" | "control" | "action";
13
+ inputs: readonly FlowPortDefinition[];
14
+ outputs: readonly FlowPortDefinition[];
15
+ validateConfig?: (node: Readonly<FlowNode>) => readonly string[];
16
+ }
17
+ export declare class FlowNodeRegistry {
18
+ #private;
19
+ register(definition: FlowNodeDefinition): () => void;
20
+ get(type: string): FlowNodeDefinition | undefined;
21
+ has(type: string): boolean;
22
+ list(): readonly FlowNodeDefinition[];
23
+ }
24
+ export declare function createBuiltInFlowNodeRegistry(): FlowNodeRegistry;
25
+ export declare function createBuiltInFlowNodeDefinitions(): readonly FlowNodeDefinition[];
26
+ //# sourceMappingURL=node-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-registry.d.ts","sourceRoot":"","sources":["../../src/model/node-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAElE,MAAM,MAAM,aAAa,GACvB,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,MAAM,EAAE,CAAC;CAClE;AAED,qBAAa,gBAAgB;;IAG3B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAiDpD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIjD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,SAAS,kBAAkB,EAAE;CAGtC;AAMD,wBAAgB,6BAA6B,IAAI,gBAAgB,CAMhE;AAED,wBAAgB,gCAAgC,IAAI,SAAS,kBAAkB,EAAE,CA0LhF"}
@@ -0,0 +1,252 @@
1
+ import { FLOW_MATERIAL_PROPERTIES } from "./types.js";
2
+ export class FlowNodeRegistry {
3
+ #definitions = new Map();
4
+ register(definition) {
5
+ if (typeof definition.type !== "string" ||
6
+ !definition.type.trim() ||
7
+ definition.type !== definition.type.trim()) {
8
+ throw new Error("Flow node definition requires a type");
9
+ }
10
+ if (!["trigger", "value", "control", "action"].includes(definition.category)) {
11
+ throw new Error(`Flow node ${definition.type} has an invalid category`);
12
+ }
13
+ if (!Array.isArray(definition.inputs) ||
14
+ !Array.isArray(definition.outputs)) {
15
+ throw new Error(`Flow node ${definition.type} inputs and outputs must be arrays`);
16
+ }
17
+ if (definition.validateConfig !== undefined &&
18
+ typeof definition.validateConfig !== "function") {
19
+ throw new Error(`Flow node ${definition.type} validateConfig must be a function`);
20
+ }
21
+ assertPortDefinitions(definition.type, "input", definition.inputs);
22
+ assertPortDefinitions(definition.type, "output", definition.outputs);
23
+ if (this.#definitions.has(definition.type)) {
24
+ throw new Error(`Flow node definition is already registered: ${definition.type}`);
25
+ }
26
+ const owned = Object.freeze({
27
+ ...definition,
28
+ inputs: Object.freeze(definition.inputs.map(ownPort)),
29
+ outputs: Object.freeze(definition.outputs.map(ownPort)),
30
+ });
31
+ this.#definitions.set(definition.type, owned);
32
+ return () => {
33
+ if (this.#definitions.get(definition.type) === owned) {
34
+ this.#definitions.delete(definition.type);
35
+ }
36
+ };
37
+ }
38
+ get(type) {
39
+ return this.#definitions.get(type);
40
+ }
41
+ has(type) {
42
+ return this.#definitions.has(type);
43
+ }
44
+ list() {
45
+ return [...this.#definitions.values()];
46
+ }
47
+ }
48
+ const controlInput = controlPort("in");
49
+ const nextOutput = controlPort("next");
50
+ const anyValueOutput = valuePort("value", "any");
51
+ export function createBuiltInFlowNodeRegistry() {
52
+ const registry = new FlowNodeRegistry();
53
+ for (const definition of createBuiltInFlowNodeDefinitions()) {
54
+ registry.register(definition);
55
+ }
56
+ return registry;
57
+ }
58
+ export function createBuiltInFlowNodeDefinitions() {
59
+ const entityConfig = requireStringConfigs("entityId");
60
+ return [
61
+ triggerDefinition("trigger.scene.ready"),
62
+ triggerDefinition("trigger.event", requireStringConfigs("event")),
63
+ triggerDefinition("trigger.timer", combineConfigValidators(optionalFiniteConfig("intervalMs", (value) => value > 0), optionalBooleanConfig("repeat"))),
64
+ triggerDefinition("trigger.pointer", optionalEnumConfig("event", [
65
+ "pick",
66
+ "move",
67
+ "down",
68
+ "up",
69
+ "enter",
70
+ "leave",
71
+ ])),
72
+ triggerDefinition("trigger.animation", optionalEnumConfig("event", ["started", "completed"])),
73
+ triggerDefinition("trigger.variable"),
74
+ valueDefinition("value.constant"),
75
+ valueDefinition("value.variable", [], "any", requireStringConfigs("name")),
76
+ valueDefinition("value.entity.state", [], "object", requireStringConfigs("entityId")),
77
+ valueDefinition("value.object.get", [valuePort("object", "any")], "any", requireStringConfigs("path")),
78
+ valueDefinition("value.math", [
79
+ requiredValuePort("left", "number"),
80
+ requiredValuePort("right", "number"),
81
+ ], "number", optionalEnumConfig("operator", [
82
+ "add",
83
+ "subtract",
84
+ "multiply",
85
+ "divide",
86
+ "min",
87
+ "max",
88
+ "modulo",
89
+ ])),
90
+ valueDefinition("value.logic", [
91
+ requiredValuePort("left", "boolean"),
92
+ requiredValuePort("right", "boolean"),
93
+ ], "boolean", optionalEnumConfig("operator", ["not", "and", "or", "xor"])),
94
+ valueDefinition("value.compare", [requiredValuePort("left", "any"), requiredValuePort("right", "any")], "boolean", optionalEnumConfig("operator", [
95
+ "equals",
96
+ "notEquals",
97
+ "contains",
98
+ "greater",
99
+ "greaterOrEqual",
100
+ "less",
101
+ "lessOrEqual",
102
+ "isEmpty",
103
+ ])),
104
+ {
105
+ type: "control.branch",
106
+ category: "control",
107
+ inputs: [controlInput, requiredValuePort("condition", "boolean")],
108
+ outputs: [controlPort("true"), controlPort("false")],
109
+ },
110
+ {
111
+ type: "control.delay",
112
+ category: "control",
113
+ inputs: [controlInput, valuePort("durationMs", "number")],
114
+ outputs: [nextOutput],
115
+ validateConfig: optionalFiniteConfig("durationMs", (value) => value >= 0),
116
+ },
117
+ actionDefinition("action.variable.set", [requiredValuePort("value", "any")], requireStringConfigs("name")),
118
+ actionDefinition("action.entity.setEnabled", [requiredValuePort("enabled", "boolean")], entityConfig),
119
+ actionDefinition("action.entity.setVisible", [requiredValuePort("visible", "boolean")], entityConfig),
120
+ actionDefinition("action.entity.setTransform", [requiredValuePort("transform", "transform")], entityConfig),
121
+ actionDefinition("action.entity.setTransparent", [valuePort("alpha", "number")], combineConfigValidators(entityConfig, optionalFiniteConfig("alpha", (value) => value >= 0 && value <= 1))),
122
+ actionDefinition("action.entity.clearTransparent", [], entityConfig),
123
+ actionDefinition("action.entity.setOutline", [valuePort("color", "string")], entityConfig),
124
+ actionDefinition("action.entity.clearOutline", [], entityConfig),
125
+ actionDefinition("action.material.set", [requiredValuePort("value", "any")], combineConfigValidators(requireStringConfigs("materialId", "property"), optionalEnumConfig("property", FLOW_MATERIAL_PROPERTIES))),
126
+ ...["play", "pause", "resume", "stop", "reset"].map((action) => actionDefinition(`action.materialAnimation.${action}`, [], requireStringConfigs("materialId", "animationId"))),
127
+ actionDefinition("action.camera.frame", [valuePort("entityId", "string")]),
128
+ actionDefinition("action.camera.activateEntity", [
129
+ requiredValuePort("entityId", "string"),
130
+ valuePort("controls", "boolean"),
131
+ ]),
132
+ actionDefinition("action.camera.restoreViewport"),
133
+ actionDefinition("action.camera.playPath", [
134
+ requiredValuePort("pathId", "string"),
135
+ ]),
136
+ actionDefinition("action.camera.pausePath"),
137
+ actionDefinition("action.camera.resumePath"),
138
+ actionDefinition("action.camera.stopPath"),
139
+ actionDefinition("action.animation.play", [valuePort("animation", "string")], entityConfig),
140
+ actionDefinition("action.animation.stop", [valuePort("animation", "string")], entityConfig),
141
+ actionDefinition("action.particle.start", [], entityConfig),
142
+ actionDefinition("action.particle.stop", [], entityConfig),
143
+ actionDefinition("action.textureAnimation.play", [], requireStringConfigs("animationId")),
144
+ actionDefinition("action.textureAnimation.stop", [], requireStringConfigs("animationId")),
145
+ actionDefinition("action.event.emit", [valuePort("payload", "any")], requireStringConfigs("event")),
146
+ ];
147
+ }
148
+ function triggerDefinition(type, validateConfig) {
149
+ return {
150
+ type,
151
+ category: "trigger",
152
+ inputs: [],
153
+ outputs: [nextOutput, valuePort("payload", "any")],
154
+ ...(validateConfig ? { validateConfig } : {}),
155
+ };
156
+ }
157
+ function valueDefinition(type, inputs = [], outputType = "any", validateConfig) {
158
+ return {
159
+ type,
160
+ category: "value",
161
+ inputs,
162
+ outputs: outputType === "any"
163
+ ? [anyValueOutput]
164
+ : [valuePort("value", outputType)],
165
+ ...(validateConfig ? { validateConfig } : {}),
166
+ };
167
+ }
168
+ function actionDefinition(type, inputs = [], validateConfig) {
169
+ return {
170
+ type,
171
+ category: "action",
172
+ inputs: [controlInput, ...inputs],
173
+ outputs: [nextOutput],
174
+ ...(validateConfig ? { validateConfig } : {}),
175
+ };
176
+ }
177
+ function controlPort(name) {
178
+ return Object.freeze({ name, kind: "control" });
179
+ }
180
+ function valuePort(name, valueType) {
181
+ return Object.freeze({ name, kind: "value", valueType });
182
+ }
183
+ function requiredValuePort(name, valueType) {
184
+ return Object.freeze({ name, kind: "value", valueType, required: true });
185
+ }
186
+ function ownPort(port) {
187
+ return Object.freeze({ ...port });
188
+ }
189
+ function assertPortDefinitions(nodeType, direction, ports) {
190
+ const names = new Set();
191
+ for (const port of ports) {
192
+ if (typeof port.name !== "string" || !port.name.trim()) {
193
+ throw new Error(`Flow ${nodeType} has an unnamed ${direction} port`);
194
+ }
195
+ if (port.kind !== "control" && port.kind !== "value") {
196
+ throw new Error(`Flow ${nodeType} has an invalid ${direction} port kind: ${port.name}`);
197
+ }
198
+ if (port.valueType !== undefined &&
199
+ !["any", "boolean", "number", "string", "object", "transform"].includes(port.valueType)) {
200
+ throw new Error(`Flow ${nodeType} has an invalid ${direction} value type: ${port.name}`);
201
+ }
202
+ if ((port.required !== undefined && typeof port.required !== "boolean") ||
203
+ (port.multiple !== undefined && typeof port.multiple !== "boolean")) {
204
+ throw new Error(`Flow ${nodeType} has invalid ${direction} port flags: ${port.name}`);
205
+ }
206
+ if (names.has(port.name)) {
207
+ throw new Error(`Flow ${nodeType} has a duplicate ${direction} port: ${port.name}`);
208
+ }
209
+ names.add(port.name);
210
+ if (port.kind === "control" && port.valueType !== undefined) {
211
+ throw new Error(`Flow ${nodeType} control port cannot declare a value type: ${port.name}`);
212
+ }
213
+ }
214
+ }
215
+ function requireStringConfigs(...keys) {
216
+ return (node) => keys.flatMap((key) => typeof node.config[key] === "string" && node.config[key].trim()
217
+ ? []
218
+ : [`Flow node ${node.id} requires string config: ${key}`]);
219
+ }
220
+ function combineConfigValidators(...validators) {
221
+ return (node) => validators.flatMap((validate) => validate(node));
222
+ }
223
+ function optionalEnumConfig(key, values) {
224
+ return (node) => {
225
+ const value = node.config[key];
226
+ if (value === undefined || values.includes(value))
227
+ return [];
228
+ return [
229
+ `Flow node ${node.id} config ${key} must be one of: ${values.join(", ")}`,
230
+ ];
231
+ };
232
+ }
233
+ function optionalFiniteConfig(key, accept) {
234
+ return (node) => {
235
+ const value = node.config[key];
236
+ if (value === undefined)
237
+ return [];
238
+ if (typeof value === "number" && Number.isFinite(value) && accept(value)) {
239
+ return [];
240
+ }
241
+ return [`Flow node ${node.id} config ${key} is invalid`];
242
+ };
243
+ }
244
+ function optionalBooleanConfig(key) {
245
+ return (node) => {
246
+ const value = node.config[key];
247
+ return value === undefined || typeof value === "boolean"
248
+ ? []
249
+ : [`Flow node ${node.id} config ${key} must be a boolean`];
250
+ };
251
+ }
252
+ //# sourceMappingURL=node-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-registry.js","sourceRoot":"","sources":["../../src/model/node-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ /** Serializable Flow model and host execution contracts. */
2
+ import type { EventMetadata, EventSubscriber } from "@skenora/events";
3
+ import type { FlowEdgeRecord, FlowGraphRecord, FlowNodeRecord, MaterialRuntimeProperty, TransformUpdate } from "@skenora/contracts";
4
+ export type BuiltInFlowNodeType = "trigger.scene.ready" | "trigger.event" | "trigger.timer" | "trigger.pointer" | "trigger.animation" | "trigger.variable" | "value.constant" | "value.variable" | "value.entity.state" | "value.object.get" | "value.math" | "value.logic" | "value.compare" | "control.branch" | "control.delay" | "action.variable.set" | "action.entity.setEnabled" | "action.entity.setVisible" | "action.entity.setTransform" | "action.entity.setTransparent" | "action.entity.clearTransparent" | "action.entity.setOutline" | "action.entity.clearOutline" | "action.material.set" | "action.materialAnimation.play" | "action.materialAnimation.pause" | "action.materialAnimation.resume" | "action.materialAnimation.stop" | "action.materialAnimation.reset" | "action.camera.frame" | "action.camera.activateEntity" | "action.camera.restoreViewport" | "action.camera.playPath" | "action.camera.pausePath" | "action.camera.resumePath" | "action.camera.stopPath" | "action.animation.play" | "action.animation.stop" | "action.particle.start" | "action.particle.stop" | "action.textureAnimation.play" | "action.textureAnimation.stop" | "action.event.emit";
5
+ export type FlowNode = FlowNodeRecord & {
6
+ type: BuiltInFlowNodeType | (string & {});
7
+ };
8
+ export type FlowEdge = FlowEdgeRecord;
9
+ export type FlowGraph = FlowGraphRecord;
10
+ export interface FlowExecutionContext {
11
+ runId: string;
12
+ graphId: string;
13
+ triggerNodeId: string;
14
+ payload: unknown;
15
+ correlationId: string;
16
+ causationId?: string;
17
+ signal: AbortSignal;
18
+ }
19
+ export interface FlowEventPort {
20
+ readonly source: EventSubscriber<Record<string, unknown>>;
21
+ emit(type: string, payload: unknown, metadata?: EventMetadata): void | Promise<void>;
22
+ }
23
+ export interface FlowVariablePort {
24
+ getVariable(name: string): unknown;
25
+ setVariable(name: string, value: unknown): void | Promise<void>;
26
+ }
27
+ export interface FlowEntityPort {
28
+ getEntityState(entityId: string): FlowEntityState | null;
29
+ setEntityEnabled(entityId: string, enabled: boolean): void | Promise<void>;
30
+ setEntityVisible(entityId: string, visible: boolean): void | Promise<void>;
31
+ setEntityTransform(entityId: string, transform: TransformUpdate): void | Promise<void>;
32
+ setEntityTransparent(entityId: string, alpha: number | null): void | Promise<void>;
33
+ setEntityOutline(entityId: string, color: string | null): void | Promise<void>;
34
+ }
35
+ export interface FlowMaterialPort {
36
+ setMaterialProperty(materialId: string, property: FlowMaterialProperty, value: unknown): void | Promise<void>;
37
+ }
38
+ export interface FlowCameraPort {
39
+ frameEntity(entityId: string | null): void | Promise<void>;
40
+ activateCameraEntity(entityId: string, controls: boolean): void | Promise<void>;
41
+ restoreViewportCamera(): void | Promise<void>;
42
+ playCameraPath(pathId: string): void | Promise<void>;
43
+ pauseCameraPath(): void | Promise<void>;
44
+ resumeCameraPath(): void | Promise<void>;
45
+ stopCameraPath(): void | Promise<void>;
46
+ }
47
+ export interface FlowAnimationPort {
48
+ playAnimation(entityId: string, animation: string | null): void | Promise<void>;
49
+ stopAnimation(entityId: string, animation: string | null): void | Promise<void>;
50
+ }
51
+ export interface FlowParticlePort {
52
+ setParticleRunning(entityId: string, running: boolean): void | Promise<void>;
53
+ }
54
+ export interface FlowTextureAnimationPort {
55
+ playTextureAnimation(animationId: string, options?: {
56
+ signal?: AbortSignal;
57
+ }): void | Promise<void>;
58
+ stopTextureAnimation(animationId: string): void | Promise<void>;
59
+ }
60
+ export interface FlowMaterialAnimationPort {
61
+ playMaterialAnimation(materialId: string, animationId: string, options?: {
62
+ signal?: AbortSignal;
63
+ }): void | Promise<void>;
64
+ pauseMaterialAnimation(materialId: string, animationId: string): void | Promise<void>;
65
+ resumeMaterialAnimation(materialId: string, animationId: string): void | Promise<void>;
66
+ stopMaterialAnimation(materialId: string, animationId: string): void | Promise<void>;
67
+ resetMaterialAnimation(materialId: string, animationId: string): void | Promise<void>;
68
+ }
69
+ /**
70
+ * Capability-oriented Flow host. Core execution depends on ports rather than a
71
+ * concrete runtime, renderer, or event hub.
72
+ */
73
+ export interface FlowHost {
74
+ readonly events: FlowEventPort;
75
+ readonly variables: FlowVariablePort;
76
+ readonly entities: FlowEntityPort;
77
+ readonly materials: FlowMaterialPort;
78
+ /** Optional for existing custom hosts; an animation action fails if absent. */
79
+ readonly materialAnimations?: FlowMaterialAnimationPort;
80
+ readonly camera: FlowCameraPort;
81
+ readonly animations: FlowAnimationPort;
82
+ readonly particles: FlowParticlePort;
83
+ readonly textureAnimations: FlowTextureAnimationPort;
84
+ }
85
+ export interface FlowEntityState {
86
+ id: string;
87
+ enabled: boolean;
88
+ visible: boolean;
89
+ transform?: TransformUpdate;
90
+ }
91
+ export declare const FLOW_MATERIAL_PROPERTIES: readonly ["baseColor", "emissiveColor", "metallic", "roughness", "microSurface", "metallicF0Factor", "alpha", "emissiveIntensity", "indexOfRefraction", "alphaCutOff", "transparencyMode", "doubleSided", "clearCoatIntensity", "clearCoatRoughness", "sheenIntensity", "sheenRoughness", ...("gradientColorStart" | "gradientColorEnd" | "gradientStart" | "gradientEnd" | "gradientStrength" | "rimColor" | "rimIntensity" | "rimPower" | "dissolveProgress" | "dissolveScale" | "dissolveEdgeWidth" | "dissolveEdgeColor" | "dissolveEdgeIntensity" | "clipPlaneNormal" | "clipOffset" | "clipEdgeWidth" | "clipEdgeColor" | "clipEdgeIntensity" | "neonColor" | "neonIntensity" | "neonScale" | "neonWidth" | "neonPhase" | "neonPulseStrength")[]];
92
+ export type FlowMaterialProperty = MaterialRuntimeProperty;
93
+ export interface FlowRuntimeEventMap {
94
+ "flow.run.started": {
95
+ runId: string;
96
+ graphId: string;
97
+ triggerNodeId: string;
98
+ };
99
+ "flow.node.started": {
100
+ runId: string;
101
+ graphId: string;
102
+ nodeId: string;
103
+ };
104
+ "flow.node.completed": {
105
+ runId: string;
106
+ graphId: string;
107
+ nodeId: string;
108
+ };
109
+ "flow.node.failed": {
110
+ runId: string;
111
+ graphId: string;
112
+ nodeId: string;
113
+ error: unknown;
114
+ };
115
+ "flow.run.completed": {
116
+ runId: string;
117
+ graphId: string;
118
+ steps: number;
119
+ };
120
+ "flow.run.failed": {
121
+ runId: string;
122
+ graphId: string;
123
+ error: unknown;
124
+ };
125
+ "flow.run.cancelled": {
126
+ runId: string;
127
+ graphId: string;
128
+ };
129
+ }
130
+ export interface FlowNodeExecutionInput {
131
+ node: FlowNode;
132
+ values: Readonly<Record<string, unknown>>;
133
+ context: FlowExecutionContext;
134
+ host: FlowHost;
135
+ }
136
+ export interface FlowNodeExecutionResult {
137
+ /** Control output port names to continue through. Defaults to ["next"]. */
138
+ control?: readonly string[];
139
+ /** Values exposed by output port name. */
140
+ values?: Readonly<Record<string, unknown>>;
141
+ }
142
+ export type FlowNodeExecutor = (input: FlowNodeExecutionInput) => FlowNodeExecutionResult | Promise<FlowNodeExecutionResult>;
143
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { MATERIAL_RUNTIME_PROPERTIES } from "@skenora/contracts";
2
+ export const FLOW_MATERIAL_PROPERTIES = MATERIAL_RUNTIME_PROPERTIES;
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAoMjE,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { FlowGraph } from "./types.js";
2
+ import { type FlowNodeRegistry } from "./node-registry.js";
3
+ export interface FlowValidationIssue {
4
+ code: "duplicate-node" | "duplicate-edge" | "missing-node" | "invalid-edge" | "missing-trigger" | "unknown-node" | "unknown-port" | "port-kind-mismatch" | "port-type-mismatch" | "multiple-input" | "missing-input" | "invalid-config";
5
+ message: string;
6
+ nodeId?: string;
7
+ edgeId?: string;
8
+ }
9
+ export interface FlowValidationResult {
10
+ valid: boolean;
11
+ issues: readonly FlowValidationIssue[];
12
+ }
13
+ export declare class FlowValidationError extends Error {
14
+ readonly issues: readonly FlowValidationIssue[];
15
+ constructor(issues: readonly FlowValidationIssue[]);
16
+ }
17
+ export declare function validateFlowGraph(graph: FlowGraph, registry?: FlowNodeRegistry): FlowValidationResult;
18
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/model/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,SAAS,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EACA,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACxC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;gBAEpC,MAAM,EAAE,SAAS,mBAAmB,EAAE;CAMnD;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,QAAQ,GAAE,gBAAkD,GAC3D,oBAAoB,CA8FtB"}