@particle-academy/fancy-flow 0.10.1 → 0.11.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/dist/{chunk-HNBO4HP3.js → chunk-2NQT2A3I.js} +9 -3
- package/dist/chunk-2NQT2A3I.js.map +1 -0
- package/dist/{chunk-VEI743ZX.js → chunk-3GMBLHTM.js} +3 -3
- package/dist/{chunk-VEI743ZX.js.map → chunk-3GMBLHTM.js.map} +1 -1
- package/dist/{chunk-2DMBJN2O.js → chunk-D6W5FMCT.js} +6 -5
- package/dist/chunk-D6W5FMCT.js.map +1 -0
- package/dist/{chunk-CPSOC27D.js → chunk-U5F22BHV.js} +18 -4
- package/dist/chunk-U5F22BHV.js.map +1 -0
- package/dist/{chunk-NCPQDVUE.js → chunk-YNOI7ONN.js} +54 -28
- package/dist/chunk-YNOI7ONN.js.map +1 -0
- package/dist/engine.cjs +17 -1
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +2 -2
- package/dist/index.cjs +75 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +9 -9
- package/dist/registry/index.d.cts +20 -4
- package/dist/registry/index.d.ts +20 -4
- package/dist/registry.cjs +68 -26
- package/dist/registry.cjs.map +1 -1
- package/dist/registry.js +2 -2
- package/dist/runtime.cjs +17 -1
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.js +3 -3
- package/dist/schema.cjs +11 -3
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.js +2 -2
- package/dist/{types-DKqaUjF_.d.cts → types-BwLr5tZV.d.cts} +15 -1
- package/dist/{types-BocBFh6l.d.ts → types-CsEe3EQl.d.ts} +15 -1
- package/dist/ux.cjs +5 -0
- package/dist/ux.cjs.map +1 -1
- package/dist/ux.d.cts +1 -1
- package/dist/ux.d.ts +1 -1
- package/dist/ux.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2DMBJN2O.js.map +0 -1
- package/dist/chunk-CPSOC27D.js.map +0 -1
- package/dist/chunk-HNBO4HP3.js.map +0 -1
- package/dist/chunk-NCPQDVUE.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -5,8 +5,8 @@ import { F as FlowNode, a as FlowGraph, b as NodeRunStatus, E as ExecutorRegistr
|
|
|
5
5
|
export { A as ActionNodeData, B as BaseNodeData, D as DecisionNodeData, c as FlowEdge, d as FlowNodeData, e as FlowNodeKind, N as NodeExecutor, f as NoteNodeData, O as OutputNodeData, P as PortDescriptor, R as RunEvent, S as SubgraphNodeData, T as TriggerNodeData } from './types-BS3Gwnkq.cjs';
|
|
6
6
|
import { WorkflowSchema, WorkflowMetadata } from './schema/index.cjs';
|
|
7
7
|
export { ImportIssue, ImportOptions, ImportResult, WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, WorkflowSchemaEdge, WorkflowSchemaNode, exportWorkflow, importWorkflow, workflowToBlob } from './schema/index.cjs';
|
|
8
|
-
import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-
|
|
9
|
-
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-
|
|
8
|
+
import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-BwLr5tZV.cjs';
|
|
9
|
+
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-BwLr5tZV.cjs';
|
|
10
10
|
import { FlowRunFeedEntry } from './runtime/index.cjs';
|
|
11
11
|
export { UseFlowRunOptions, UseFlowRunReturn, UseFlowStateReturn, applyStatusesToNodes, useFlowRun, useFlowState } from './runtime/index.cjs';
|
|
12
12
|
export { BUILTIN_KINDS, RegistryNode, RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, listNodeKinds, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveNodePorts, resolvePortSpec, validateConfig } from './registry/index.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import { F as FlowNode, a as FlowGraph, b as NodeRunStatus, E as ExecutorRegistr
|
|
|
5
5
|
export { A as ActionNodeData, B as BaseNodeData, D as DecisionNodeData, c as FlowEdge, d as FlowNodeData, e as FlowNodeKind, N as NodeExecutor, f as NoteNodeData, O as OutputNodeData, P as PortDescriptor, R as RunEvent, S as SubgraphNodeData, T as TriggerNodeData } from './types-BS3Gwnkq.js';
|
|
6
6
|
import { WorkflowSchema, WorkflowMetadata } from './schema/index.js';
|
|
7
7
|
export { ImportIssue, ImportOptions, ImportResult, WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, WorkflowSchemaEdge, WorkflowSchemaNode, exportWorkflow, importWorkflow, workflowToBlob } from './schema/index.js';
|
|
8
|
-
import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-
|
|
9
|
-
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-
|
|
8
|
+
import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-CsEe3EQl.js';
|
|
9
|
+
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-CsEe3EQl.js';
|
|
10
10
|
import { FlowRunFeedEntry } from './runtime/index.js';
|
|
11
11
|
export { UseFlowRunOptions, UseFlowRunReturn, UseFlowStateReturn, applyStatusesToNodes, useFlowRun, useFlowState } from './runtime/index.js';
|
|
12
12
|
export { BUILTIN_KINDS, RegistryNode, RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, listNodeKinds, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveNodePorts, resolvePortSpec, validateConfig } from './registry/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { useFlowState, useFlowRun, applyStatusesToNodes } from './chunk-
|
|
2
|
-
export { applyStatusesToNodes, useFlowRun, useFlowState } from './chunk-
|
|
3
|
-
export { runFlow } from './chunk-
|
|
4
|
-
import { buildNodeTypes, registerBuiltinKinds } from './chunk-
|
|
5
|
-
export { BUILTIN_KINDS, RegistryNode, buildNodeTypes, registerBuiltinKinds } from './chunk-
|
|
1
|
+
import { useFlowState, useFlowRun, applyStatusesToNodes } from './chunk-3GMBLHTM.js';
|
|
2
|
+
export { applyStatusesToNodes, useFlowRun, useFlowState } from './chunk-3GMBLHTM.js';
|
|
3
|
+
export { runFlow } from './chunk-2NQT2A3I.js';
|
|
4
|
+
import { buildNodeTypes, registerBuiltinKinds } from './chunk-YNOI7ONN.js';
|
|
5
|
+
export { BUILTIN_KINDS, RegistryNode, buildNodeTypes, registerBuiltinKinds } from './chunk-YNOI7ONN.js';
|
|
6
6
|
import { ReactFlowProvider, useReactFlow, addEdge, applyEdgeChanges, applyNodeChanges, Position, Handle, index, BackgroundVariant, Background, Controls, MiniMap } from './chunk-NF6NPY5N.js';
|
|
7
|
-
import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-
|
|
8
|
-
export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, workflowToBlob } from './chunk-
|
|
7
|
+
import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-D6W5FMCT.js';
|
|
8
|
+
export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, workflowToBlob } from './chunk-D6W5FMCT.js';
|
|
9
9
|
export { resolveNodePorts, resolvePortSpec } from './chunk-TITD5W4Y.js';
|
|
10
|
-
import { onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, validateConfig, categoryAccent } from './chunk-
|
|
11
|
-
export { categoryAccent, defaultConfigFor, getNodeKind, listNodeKinds, onNodeKindsChanged, registerNodeKind, validateConfig } from './chunk-
|
|
10
|
+
import { onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, validateConfig, categoryAccent } from './chunk-U5F22BHV.js';
|
|
11
|
+
export { categoryAccent, defaultConfigFor, getNodeKind, listNodeKinds, onNodeKindsChanged, registerNodeKind, validateConfig } from './chunk-U5F22BHV.js';
|
|
12
12
|
import { getRichInputAdapter } from './chunk-F5RPRB7A.js';
|
|
13
13
|
export { RichInputPreview, getRichInputAdapter, isRichInputEnabled, onRichInputAdapterChanged, registerRichInputAdapter } from './chunk-F5RPRB7A.js';
|
|
14
14
|
import { memo, createContext, forwardRef, useState, useEffect, useMemo, useCallback, useImperativeHandle, useRef, useContext } from 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as NodeKindDefinition, P as PortSpec } from '../types-
|
|
2
|
-
export { C as ConfigField, b as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, N as NodeCategory, c as NumberConfigField, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField, S as SelectConfigField, f as SwitchConfigField, T as TextConfigField, g as TextareaConfigField } from '../types-
|
|
1
|
+
import { a as NodeKindDefinition, P as PortSpec } from '../types-BwLr5tZV.cjs';
|
|
2
|
+
export { C as ConfigField, b as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, N as NodeCategory, c as NumberConfigField, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField, S as SelectConfigField, f as SwitchConfigField, T as TextConfigField, g as TextareaConfigField } from '../types-BwLr5tZV.cjs';
|
|
3
3
|
import { F as FlowNode, P as PortDescriptor } from '../types-BS3Gwnkq.cjs';
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import { ComponentType, ReactNode } from 'react';
|
|
@@ -116,10 +116,26 @@ declare function RichInputPreview({ config }: {
|
|
|
116
116
|
* registerNodeKind — install a node kind in the global registry. Returns
|
|
117
117
|
* an `unregister` function. Calling with the same name replaces the prior
|
|
118
118
|
* registration (handy for HMR).
|
|
119
|
+
*
|
|
120
|
+
* A kind's `name` is its CANONICAL id and is what gets written into saved
|
|
121
|
+
* documents. Publish namespaced (`@fancy/llm_branch`, `@acme/salesforce_upsert`)
|
|
122
|
+
* and list any previous bare names in `aliases`, so graphs saved before the
|
|
123
|
+
* rename keep resolving.
|
|
119
124
|
*/
|
|
120
125
|
declare function registerNodeKind<TC = any, TI = any, TO = any>(definition: NodeKindDefinition<TC, TI, TO>): () => void;
|
|
121
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Resolve any id — canonical or alias — to the canonical one, or null.
|
|
128
|
+
*
|
|
129
|
+
* `kind` is persisted inside every saved graph, so a bare name that two
|
|
130
|
+
* packages could both claim is unfixable after the fact: the ambiguous string
|
|
131
|
+
* is already in the document. Canonical ids are namespaced; aliases exist so
|
|
132
|
+
* documents written before namespacing keep opening.
|
|
133
|
+
*/
|
|
134
|
+
declare function resolveKindId(id: string): string | null;
|
|
135
|
+
/** Get a single kind by canonical id or alias, or null. */
|
|
122
136
|
declare function getNodeKind(name: string): NodeKindDefinition | null;
|
|
137
|
+
/** Every id a kind answers to — canonical first. Used to key node-type maps. */
|
|
138
|
+
declare function kindIds(kind: NodeKindDefinition): string[];
|
|
123
139
|
/** List every registered kind, optionally filtered by category. */
|
|
124
140
|
declare function listNodeKinds(category?: string): NodeKindDefinition[];
|
|
125
141
|
/** Subscribe to registry changes. Returns an unsubscribe function. */
|
|
@@ -158,4 +174,4 @@ declare const BUILTIN_KINDS: NodeKindDefinition[];
|
|
|
158
174
|
*/
|
|
159
175
|
declare function buildNodeTypes(): NodeTypes;
|
|
160
176
|
|
|
161
|
-
export { BUILTIN_KINDS, NodeKindDefinition, PortSpec, RegistryNode, type RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, listNodeKinds, nodeConfig, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveNodePorts, resolvePortSpec, validateConfig };
|
|
177
|
+
export { BUILTIN_KINDS, NodeKindDefinition, PortSpec, RegistryNode, type RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, kindIds, listNodeKinds, nodeConfig, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveKindId, resolveNodePorts, resolvePortSpec, validateConfig };
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as NodeKindDefinition, P as PortSpec } from '../types-
|
|
2
|
-
export { C as ConfigField, b as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, N as NodeCategory, c as NumberConfigField, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField, S as SelectConfigField, f as SwitchConfigField, T as TextConfigField, g as TextareaConfigField } from '../types-
|
|
1
|
+
import { a as NodeKindDefinition, P as PortSpec } from '../types-CsEe3EQl.js';
|
|
2
|
+
export { C as ConfigField, b as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, N as NodeCategory, c as NumberConfigField, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField, S as SelectConfigField, f as SwitchConfigField, T as TextConfigField, g as TextareaConfigField } from '../types-CsEe3EQl.js';
|
|
3
3
|
import { F as FlowNode, P as PortDescriptor } from '../types-BS3Gwnkq.js';
|
|
4
4
|
import * as react from 'react';
|
|
5
5
|
import { ComponentType, ReactNode } from 'react';
|
|
@@ -116,10 +116,26 @@ declare function RichInputPreview({ config }: {
|
|
|
116
116
|
* registerNodeKind — install a node kind in the global registry. Returns
|
|
117
117
|
* an `unregister` function. Calling with the same name replaces the prior
|
|
118
118
|
* registration (handy for HMR).
|
|
119
|
+
*
|
|
120
|
+
* A kind's `name` is its CANONICAL id and is what gets written into saved
|
|
121
|
+
* documents. Publish namespaced (`@fancy/llm_branch`, `@acme/salesforce_upsert`)
|
|
122
|
+
* and list any previous bare names in `aliases`, so graphs saved before the
|
|
123
|
+
* rename keep resolving.
|
|
119
124
|
*/
|
|
120
125
|
declare function registerNodeKind<TC = any, TI = any, TO = any>(definition: NodeKindDefinition<TC, TI, TO>): () => void;
|
|
121
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Resolve any id — canonical or alias — to the canonical one, or null.
|
|
128
|
+
*
|
|
129
|
+
* `kind` is persisted inside every saved graph, so a bare name that two
|
|
130
|
+
* packages could both claim is unfixable after the fact: the ambiguous string
|
|
131
|
+
* is already in the document. Canonical ids are namespaced; aliases exist so
|
|
132
|
+
* documents written before namespacing keep opening.
|
|
133
|
+
*/
|
|
134
|
+
declare function resolveKindId(id: string): string | null;
|
|
135
|
+
/** Get a single kind by canonical id or alias, or null. */
|
|
122
136
|
declare function getNodeKind(name: string): NodeKindDefinition | null;
|
|
137
|
+
/** Every id a kind answers to — canonical first. Used to key node-type maps. */
|
|
138
|
+
declare function kindIds(kind: NodeKindDefinition): string[];
|
|
123
139
|
/** List every registered kind, optionally filtered by category. */
|
|
124
140
|
declare function listNodeKinds(category?: string): NodeKindDefinition[];
|
|
125
141
|
/** Subscribe to registry changes. Returns an unsubscribe function. */
|
|
@@ -158,4 +174,4 @@ declare const BUILTIN_KINDS: NodeKindDefinition[];
|
|
|
158
174
|
*/
|
|
159
175
|
declare function buildNodeTypes(): NodeTypes;
|
|
160
176
|
|
|
161
|
-
export { BUILTIN_KINDS, NodeKindDefinition, PortSpec, RegistryNode, type RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, listNodeKinds, nodeConfig, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveNodePorts, resolvePortSpec, validateConfig };
|
|
177
|
+
export { BUILTIN_KINDS, NodeKindDefinition, PortSpec, RegistryNode, type RichInputAdapter, RichInputPreview, buildNodeTypes, categoryAccent, defaultConfigFor, getNodeKind, getRichInputAdapter, isRichInputEnabled, kindIds, listNodeKinds, nodeConfig, onNodeKindsChanged, onRichInputAdapterChanged, registerBuiltinKinds, registerNodeKind, registerRichInputAdapter, resolveKindId, resolveNodePorts, resolvePortSpec, validateConfig };
|
package/dist/registry.cjs
CHANGED
|
@@ -82,19 +82,33 @@ function RichInputPreview({ config }) {
|
|
|
82
82
|
|
|
83
83
|
// src/registry/registry.ts
|
|
84
84
|
var kinds = /* @__PURE__ */ new Map();
|
|
85
|
+
var aliases = /* @__PURE__ */ new Map();
|
|
85
86
|
var listeners2 = /* @__PURE__ */ new Set();
|
|
86
87
|
function registerNodeKind(definition) {
|
|
87
88
|
kinds.set(definition.name, definition);
|
|
89
|
+
for (const alias of definition.aliases ?? []) aliases.set(alias, definition.name);
|
|
88
90
|
notify();
|
|
89
91
|
return () => {
|
|
90
92
|
if (kinds.get(definition.name) === definition) {
|
|
91
93
|
kinds.delete(definition.name);
|
|
94
|
+
for (const alias of definition.aliases ?? []) {
|
|
95
|
+
if (aliases.get(alias) === definition.name) aliases.delete(alias);
|
|
96
|
+
}
|
|
92
97
|
notify();
|
|
93
98
|
}
|
|
94
99
|
};
|
|
95
100
|
}
|
|
101
|
+
function resolveKindId(id2) {
|
|
102
|
+
if (kinds.has(id2)) return id2;
|
|
103
|
+
const canonical = aliases.get(id2);
|
|
104
|
+
return canonical && kinds.has(canonical) ? canonical : null;
|
|
105
|
+
}
|
|
96
106
|
function getNodeKind(name) {
|
|
97
|
-
|
|
107
|
+
const canonical = resolveKindId(name);
|
|
108
|
+
return canonical ? kinds.get(canonical) ?? null : null;
|
|
109
|
+
}
|
|
110
|
+
function kindIds(kind) {
|
|
111
|
+
return [kind.name, ...kind.aliases ?? []];
|
|
98
112
|
}
|
|
99
113
|
function listNodeKinds(category) {
|
|
100
114
|
const all = Array.from(kinds.values());
|
|
@@ -9276,7 +9290,8 @@ var HTTP_METHODS = [
|
|
|
9276
9290
|
var KINDS = [
|
|
9277
9291
|
// ───────────── Triggers ─────────────
|
|
9278
9292
|
{
|
|
9279
|
-
name: "manual_trigger",
|
|
9293
|
+
name: "@fancy/manual_trigger",
|
|
9294
|
+
aliases: ["manual_trigger"],
|
|
9280
9295
|
category: "trigger",
|
|
9281
9296
|
label: "Manual",
|
|
9282
9297
|
description: "Entry point fired when the user clicks Run.",
|
|
@@ -9285,7 +9300,8 @@ var KINDS = [
|
|
|
9285
9300
|
outputs: [{ id: "out" }]
|
|
9286
9301
|
},
|
|
9287
9302
|
{
|
|
9288
|
-
name: "webhook_trigger",
|
|
9303
|
+
name: "@fancy/webhook_trigger",
|
|
9304
|
+
aliases: ["webhook_trigger"],
|
|
9289
9305
|
category: "trigger",
|
|
9290
9306
|
label: "Webhook",
|
|
9291
9307
|
description: "Triggered by an inbound HTTP request to a host-provided URL.",
|
|
@@ -9302,7 +9318,8 @@ var KINDS = [
|
|
|
9302
9318
|
]
|
|
9303
9319
|
},
|
|
9304
9320
|
{
|
|
9305
|
-
name: "schedule_trigger",
|
|
9321
|
+
name: "@fancy/schedule_trigger",
|
|
9322
|
+
aliases: ["schedule_trigger"],
|
|
9306
9323
|
category: "trigger",
|
|
9307
9324
|
label: "Schedule",
|
|
9308
9325
|
description: "Fires on a cron schedule (host-implemented).",
|
|
@@ -9322,7 +9339,8 @@ var KINDS = [
|
|
|
9322
9339
|
]
|
|
9323
9340
|
},
|
|
9324
9341
|
{
|
|
9325
|
-
name: "user_input",
|
|
9342
|
+
name: "@fancy/user_input",
|
|
9343
|
+
aliases: ["user_input"],
|
|
9326
9344
|
category: "human",
|
|
9327
9345
|
label: "User Input",
|
|
9328
9346
|
description: "Pause the flow until the user submits the configured form.",
|
|
@@ -9362,7 +9380,8 @@ var KINDS = [
|
|
|
9362
9380
|
]
|
|
9363
9381
|
},
|
|
9364
9382
|
{
|
|
9365
|
-
name: "rich_user_input",
|
|
9383
|
+
name: "@fancy/rich_user_input",
|
|
9384
|
+
aliases: ["rich_user_input"],
|
|
9366
9385
|
category: "human",
|
|
9367
9386
|
label: "Rich User Input",
|
|
9368
9387
|
description: "Pause the flow on a fully authored page \u2014 content, required reading, multi-section forms.",
|
|
@@ -9387,7 +9406,8 @@ var KINDS = [
|
|
|
9387
9406
|
},
|
|
9388
9407
|
// ───────────── Logic ─────────────
|
|
9389
9408
|
{
|
|
9390
|
-
name: "branch",
|
|
9409
|
+
name: "@fancy/branch",
|
|
9410
|
+
aliases: ["branch"],
|
|
9391
9411
|
category: "logic",
|
|
9392
9412
|
label: "Branch",
|
|
9393
9413
|
description: "Multi-way branch on a condition or value.",
|
|
@@ -9399,7 +9419,8 @@ var KINDS = [
|
|
|
9399
9419
|
]
|
|
9400
9420
|
},
|
|
9401
9421
|
{
|
|
9402
|
-
name: "switch_case",
|
|
9422
|
+
name: "@fancy/switch_case",
|
|
9423
|
+
aliases: ["switch_case"],
|
|
9403
9424
|
category: "logic",
|
|
9404
9425
|
label: "Switch",
|
|
9405
9426
|
description: "Route to one of N labelled outputs based on a key.",
|
|
@@ -9426,7 +9447,8 @@ var KINDS = [
|
|
|
9426
9447
|
]
|
|
9427
9448
|
},
|
|
9428
9449
|
{
|
|
9429
|
-
name: "for_each",
|
|
9450
|
+
name: "@fancy/for_each",
|
|
9451
|
+
aliases: ["for_each"],
|
|
9430
9452
|
category: "logic",
|
|
9431
9453
|
label: "For Each",
|
|
9432
9454
|
description: "Iterate over a list, emitting each item on `item`.",
|
|
@@ -9439,7 +9461,8 @@ var KINDS = [
|
|
|
9439
9461
|
]
|
|
9440
9462
|
},
|
|
9441
9463
|
{
|
|
9442
|
-
name: "merge",
|
|
9464
|
+
name: "@fancy/merge",
|
|
9465
|
+
aliases: ["merge"],
|
|
9443
9466
|
category: "logic",
|
|
9444
9467
|
label: "Merge",
|
|
9445
9468
|
description: "Combine multiple inputs into one object or array.",
|
|
@@ -9457,7 +9480,8 @@ var KINDS = [
|
|
|
9457
9480
|
]
|
|
9458
9481
|
},
|
|
9459
9482
|
{
|
|
9460
|
-
name: "wait",
|
|
9483
|
+
name: "@fancy/wait",
|
|
9484
|
+
aliases: ["wait"],
|
|
9461
9485
|
category: "logic",
|
|
9462
9486
|
label: "Wait",
|
|
9463
9487
|
description: "Sleep or wait for an external event.",
|
|
@@ -9474,7 +9498,8 @@ var KINDS = [
|
|
|
9474
9498
|
]
|
|
9475
9499
|
},
|
|
9476
9500
|
{
|
|
9477
|
-
name: "transform",
|
|
9501
|
+
name: "@fancy/transform",
|
|
9502
|
+
aliases: ["transform"],
|
|
9478
9503
|
category: "logic",
|
|
9479
9504
|
label: "Transform",
|
|
9480
9505
|
description: "Reshape data with an expression.",
|
|
@@ -9491,7 +9516,8 @@ var KINDS = [
|
|
|
9491
9516
|
},
|
|
9492
9517
|
// ───────────── Data ─────────────
|
|
9493
9518
|
{
|
|
9494
|
-
name: "memory_store",
|
|
9519
|
+
name: "@fancy/memory_store",
|
|
9520
|
+
aliases: ["memory_store"],
|
|
9495
9521
|
category: "data",
|
|
9496
9522
|
label: "Memory Store",
|
|
9497
9523
|
description: "Read or write per-conversation memory.",
|
|
@@ -9511,7 +9537,8 @@ var KINDS = [
|
|
|
9511
9537
|
]
|
|
9512
9538
|
},
|
|
9513
9539
|
{
|
|
9514
|
-
name: "data_store",
|
|
9540
|
+
name: "@fancy/data_store",
|
|
9541
|
+
aliases: ["data_store"],
|
|
9515
9542
|
category: "data",
|
|
9516
9543
|
label: "Data Store",
|
|
9517
9544
|
description: "Key-value or table read/write against a host store.",
|
|
@@ -9539,7 +9566,8 @@ var KINDS = [
|
|
|
9539
9566
|
]
|
|
9540
9567
|
},
|
|
9541
9568
|
{
|
|
9542
|
-
name: "variable",
|
|
9569
|
+
name: "@fancy/variable",
|
|
9570
|
+
aliases: ["variable"],
|
|
9543
9571
|
category: "data",
|
|
9544
9572
|
label: "Variable",
|
|
9545
9573
|
description: "Workflow-scoped value used by other nodes.",
|
|
@@ -9551,7 +9579,8 @@ var KINDS = [
|
|
|
9551
9579
|
},
|
|
9552
9580
|
// ───────────── AI ─────────────
|
|
9553
9581
|
{
|
|
9554
|
-
name: "llm_call",
|
|
9582
|
+
name: "@fancy/llm_call",
|
|
9583
|
+
aliases: ["llm_call"],
|
|
9555
9584
|
category: "ai",
|
|
9556
9585
|
label: "LLM Call",
|
|
9557
9586
|
description: "Send a prompt + context to a model and receive a response.",
|
|
@@ -9578,7 +9607,8 @@ var KINDS = [
|
|
|
9578
9607
|
]
|
|
9579
9608
|
},
|
|
9580
9609
|
{
|
|
9581
|
-
name: "llm_branch",
|
|
9610
|
+
name: "@fancy/llm_branch",
|
|
9611
|
+
aliases: ["llm_branch"],
|
|
9582
9612
|
category: "ai",
|
|
9583
9613
|
label: "LLM Router",
|
|
9584
9614
|
description: "Let a model choose which route the flow takes.",
|
|
@@ -9648,7 +9678,8 @@ var KINDS = [
|
|
|
9648
9678
|
]
|
|
9649
9679
|
},
|
|
9650
9680
|
{
|
|
9651
|
-
name: "tool_use",
|
|
9681
|
+
name: "@fancy/tool_use",
|
|
9682
|
+
aliases: ["tool_use"],
|
|
9652
9683
|
category: "ai",
|
|
9653
9684
|
label: "Tool Use",
|
|
9654
9685
|
description: "Hand control to a host-registered tool by name.",
|
|
@@ -9659,7 +9690,8 @@ var KINDS = [
|
|
|
9659
9690
|
]
|
|
9660
9691
|
},
|
|
9661
9692
|
{
|
|
9662
|
-
name: "embed_search",
|
|
9693
|
+
name: "@fancy/embed_search",
|
|
9694
|
+
aliases: ["embed_search"],
|
|
9663
9695
|
category: "ai",
|
|
9664
9696
|
label: "Embed & Search",
|
|
9665
9697
|
description: "Embed a query and search a vector store.",
|
|
@@ -9672,7 +9704,8 @@ var KINDS = [
|
|
|
9672
9704
|
},
|
|
9673
9705
|
// ───────────── IO ─────────────
|
|
9674
9706
|
{
|
|
9675
|
-
name: "api_request",
|
|
9707
|
+
name: "@fancy/api_request",
|
|
9708
|
+
aliases: ["api_request"],
|
|
9676
9709
|
category: "io",
|
|
9677
9710
|
label: "API Request",
|
|
9678
9711
|
description: "HTTP request to any URL.",
|
|
@@ -9686,7 +9719,8 @@ var KINDS = [
|
|
|
9686
9719
|
]
|
|
9687
9720
|
},
|
|
9688
9721
|
{
|
|
9689
|
-
name: "webhook_out",
|
|
9722
|
+
name: "@fancy/webhook_out",
|
|
9723
|
+
aliases: ["webhook_out"],
|
|
9690
9724
|
category: "io",
|
|
9691
9725
|
label: "Send Webhook",
|
|
9692
9726
|
description: "POST a payload to a configured URL.",
|
|
@@ -9699,7 +9733,8 @@ var KINDS = [
|
|
|
9699
9733
|
},
|
|
9700
9734
|
// ───────────── Human ─────────────
|
|
9701
9735
|
{
|
|
9702
|
-
name: "human_approval",
|
|
9736
|
+
name: "@fancy/human_approval",
|
|
9737
|
+
aliases: ["human_approval"],
|
|
9703
9738
|
category: "human",
|
|
9704
9739
|
label: "Human Approval",
|
|
9705
9740
|
description: "Pause until a human approves or denies.",
|
|
@@ -9713,7 +9748,8 @@ var KINDS = [
|
|
|
9713
9748
|
]
|
|
9714
9749
|
},
|
|
9715
9750
|
{
|
|
9716
|
-
name: "notify",
|
|
9751
|
+
name: "@fancy/notify",
|
|
9752
|
+
aliases: ["notify"],
|
|
9717
9753
|
category: "human",
|
|
9718
9754
|
label: "Notify",
|
|
9719
9755
|
description: "Send a message via Slack / email / SMS / etc.",
|
|
@@ -9737,7 +9773,8 @@ var KINDS = [
|
|
|
9737
9773
|
},
|
|
9738
9774
|
// ───────────── Output ─────────────
|
|
9739
9775
|
{
|
|
9740
|
-
name: "output",
|
|
9776
|
+
name: "@fancy/output",
|
|
9777
|
+
aliases: ["output"],
|
|
9741
9778
|
category: "output",
|
|
9742
9779
|
label: "Output",
|
|
9743
9780
|
description: "Terminal node \u2014 captures the workflow's result.",
|
|
@@ -9746,7 +9783,8 @@ var KINDS = [
|
|
|
9746
9783
|
outputs: []
|
|
9747
9784
|
},
|
|
9748
9785
|
{
|
|
9749
|
-
name: "log",
|
|
9786
|
+
name: "@fancy/log",
|
|
9787
|
+
aliases: ["log"],
|
|
9750
9788
|
category: "output",
|
|
9751
9789
|
label: "Log",
|
|
9752
9790
|
description: "Send to the run feed.",
|
|
@@ -9773,7 +9811,9 @@ var BUILTIN_KINDS = KINDS;
|
|
|
9773
9811
|
// src/registry/index.ts
|
|
9774
9812
|
function buildNodeTypes() {
|
|
9775
9813
|
const map = {};
|
|
9776
|
-
for (const k of listNodeKinds())
|
|
9814
|
+
for (const k of listNodeKinds()) {
|
|
9815
|
+
for (const id2 of kindIds(k)) map[id2] = RegistryNode;
|
|
9816
|
+
}
|
|
9777
9817
|
return map;
|
|
9778
9818
|
}
|
|
9779
9819
|
|
|
@@ -9786,6 +9826,7 @@ exports.defaultConfigFor = defaultConfigFor;
|
|
|
9786
9826
|
exports.getNodeKind = getNodeKind;
|
|
9787
9827
|
exports.getRichInputAdapter = getRichInputAdapter;
|
|
9788
9828
|
exports.isRichInputEnabled = isRichInputEnabled;
|
|
9829
|
+
exports.kindIds = kindIds;
|
|
9789
9830
|
exports.listNodeKinds = listNodeKinds;
|
|
9790
9831
|
exports.nodeConfig = nodeConfig;
|
|
9791
9832
|
exports.onNodeKindsChanged = onNodeKindsChanged;
|
|
@@ -9793,6 +9834,7 @@ exports.onRichInputAdapterChanged = onRichInputAdapterChanged;
|
|
|
9793
9834
|
exports.registerBuiltinKinds = registerBuiltinKinds;
|
|
9794
9835
|
exports.registerNodeKind = registerNodeKind;
|
|
9795
9836
|
exports.registerRichInputAdapter = registerRichInputAdapter;
|
|
9837
|
+
exports.resolveKindId = resolveKindId;
|
|
9796
9838
|
exports.resolveNodePorts = resolveNodePorts;
|
|
9797
9839
|
exports.resolvePortSpec = resolvePortSpec;
|
|
9798
9840
|
exports.validateConfig = validateConfig;
|