@particle-academy/fancy-flow 0.40.4 → 0.42.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.
Files changed (36) hide show
  1. package/dist/ConfigFieldRenderer-BHQDZer6.d.ts +92 -0
  2. package/dist/ConfigFieldRenderer-LotNHeG8.d.cts +92 -0
  3. package/dist/{chunk-UX65ML3J.js → chunk-55KQS3LK.js} +25 -2
  4. package/dist/chunk-55KQS3LK.js.map +1 -0
  5. package/dist/{chunk-WOO4B7M5.js → chunk-T3VQX3XB.js} +3 -3
  6. package/dist/{chunk-WOO4B7M5.js.map → chunk-T3VQX3XB.js.map} +1 -1
  7. package/dist/engine.d.cts +3 -3
  8. package/dist/engine.d.ts +3 -3
  9. package/dist/fields/react-fancy.cjs +40 -0
  10. package/dist/fields/react-fancy.cjs.map +1 -0
  11. package/dist/fields/react-fancy.d.cts +20 -0
  12. package/dist/fields/react-fancy.d.ts +20 -0
  13. package/dist/fields/react-fancy.js +37 -0
  14. package/dist/fields/react-fancy.js.map +1 -0
  15. package/dist/index.cjs +343 -33
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +105 -127
  18. package/dist/index.d.ts +105 -127
  19. package/dist/index.js +320 -38
  20. package/dist/index.js.map +1 -1
  21. package/dist/registry/index.d.cts +3 -3
  22. package/dist/registry/index.d.ts +3 -3
  23. package/dist/{registry-BADFn97n.d.cts → registry-C9KMVpn7.d.cts} +1 -1
  24. package/dist/{registry-DYbFLEcW.d.ts → registry-FGCBprcn.d.ts} +1 -1
  25. package/dist/registry.cjs +23 -0
  26. package/dist/registry.cjs.map +1 -1
  27. package/dist/registry.js +1 -1
  28. package/dist/screens.js +3 -3
  29. package/dist/styles.css +99 -0
  30. package/dist/styles.css.map +1 -1
  31. package/dist/{types-D8Dezh9v.d.cts → types-B78Rm69S.d.cts} +94 -2
  32. package/dist/{types-D6lsIGoe.d.ts → types-JViq8reb.d.ts} +94 -2
  33. package/dist/ux.d.cts +1 -1
  34. package/dist/ux.d.ts +1 -1
  35. package/package.json +12 -2
  36. package/dist/chunk-UX65ML3J.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { d as NodeKindDefinition, j as PortSpec } from '../types-D8Dezh9v.cjs';
2
- export { a as ConfigField, q as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, L as LEGACY_PAUSE_PREFIXES, c as NodeCategory, r as NumberConfigField, h as PAUSE_PREFIX, P as PauseAwaiting, i as PauseSignal, R as RenderBodyContext, t as RepeaterConfigField, u as RepeaterRowField, w as SelectConfigField, x as SwitchConfigField, T as TextConfigField, y as TextareaConfigField, m as decodePause, n as encodePause, o as isPause, p as pauseForHuman } from '../types-D8Dezh9v.cjs';
1
+ import { d as NodeKindDefinition, j as PortSpec } from '../types-B78Rm69S.cjs';
2
+ export { a as ConfigField, q as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, L as LEGACY_PAUSE_PREFIXES, c as NodeCategory, r as NumberConfigField, h as PAUSE_PREFIX, P as PauseAwaiting, i as PauseSignal, R as RenderBodyContext, t as RepeaterConfigField, u as RepeaterRowField, w as SelectConfigField, x as SwitchConfigField, T as TextConfigField, y as TextareaConfigField, m as decodePause, n as encodePause, o as isPause, p as pauseForHuman } from '../types-B78Rm69S.cjs';
3
3
  import { P as PortDescriptor, b as FlowNode, N as NodeExecutor } from '../types-sOmpCitB.cjs';
4
4
  import { Connection, Edge, NodeProps, NodeTypes } from '@xyflow/react';
5
5
  import { b as LlmRoute } from '../capabilities-BtJQTbnw.cjs';
6
6
  export { C as CapabilityId, L as LlmClient, c as LlmRouteChoice, a as LlmRouteRequest, W as WorkflowResolution, d as WorkflowResolutionFailure, e as WorkflowResolver, f as capabilityStatus, g as getLlmClient, h as getWorkflowResolver, i as isResolutionFailure, r as registerLlmClient, j as registerWorkflowResolver } from '../capabilities-BtJQTbnw.cjs';
7
7
  import * as react from 'react';
8
8
  import { ComponentType, ReactNode } from 'react';
9
- export { N as NodeKindPresentation, c as categoryAccent, b as clearNodeKindOverrides, d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, o as onNodeKindsChanged, e as overrideNodeKind, r as registerNodeKind, a as resolveKindId, v as validateConfig } from '../registry-BADFn97n.cjs';
9
+ export { N as NodeKindPresentation, c as categoryAccent, b as clearNodeKindOverrides, d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, o as onNodeKindsChanged, e as overrideNodeKind, r as registerNodeKind, a as resolveKindId, v as validateConfig } from '../registry-C9KMVpn7.cjs';
10
10
 
11
11
  /**
12
12
  * Connection validation — the single rule that decides whether an edge between
@@ -1,12 +1,12 @@
1
- import { d as NodeKindDefinition, j as PortSpec } from '../types-D6lsIGoe.js';
2
- export { a as ConfigField, q as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, L as LEGACY_PAUSE_PREFIXES, c as NodeCategory, r as NumberConfigField, h as PAUSE_PREFIX, P as PauseAwaiting, i as PauseSignal, R as RenderBodyContext, t as RepeaterConfigField, u as RepeaterRowField, w as SelectConfigField, x as SwitchConfigField, T as TextConfigField, y as TextareaConfigField, m as decodePause, n as encodePause, o as isPause, p as pauseForHuman } from '../types-D6lsIGoe.js';
1
+ import { d as NodeKindDefinition, j as PortSpec } from '../types-JViq8reb.js';
2
+ export { a as ConfigField, q as CredentialConfigField, D as DocumentConfigField, E as ExpressionConfigField, J as JsonConfigField, K as KeyValueConfigField, L as LEGACY_PAUSE_PREFIXES, c as NodeCategory, r as NumberConfigField, h as PAUSE_PREFIX, P as PauseAwaiting, i as PauseSignal, R as RenderBodyContext, t as RepeaterConfigField, u as RepeaterRowField, w as SelectConfigField, x as SwitchConfigField, T as TextConfigField, y as TextareaConfigField, m as decodePause, n as encodePause, o as isPause, p as pauseForHuman } from '../types-JViq8reb.js';
3
3
  import { P as PortDescriptor, b as FlowNode, N as NodeExecutor } from '../types-sOmpCitB.js';
4
4
  import { Connection, Edge, NodeProps, NodeTypes } from '@xyflow/react';
5
5
  import { b as LlmRoute } from '../capabilities-CkhKj_U_.js';
6
6
  export { C as CapabilityId, L as LlmClient, c as LlmRouteChoice, a as LlmRouteRequest, W as WorkflowResolution, d as WorkflowResolutionFailure, e as WorkflowResolver, f as capabilityStatus, g as getLlmClient, h as getWorkflowResolver, i as isResolutionFailure, r as registerLlmClient, j as registerWorkflowResolver } from '../capabilities-CkhKj_U_.js';
7
7
  import * as react from 'react';
8
8
  import { ComponentType, ReactNode } from 'react';
9
- export { N as NodeKindPresentation, c as categoryAccent, b as clearNodeKindOverrides, d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, o as onNodeKindsChanged, e as overrideNodeKind, r as registerNodeKind, a as resolveKindId, v as validateConfig } from '../registry-DYbFLEcW.js';
9
+ export { N as NodeKindPresentation, c as categoryAccent, b as clearNodeKindOverrides, d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, o as onNodeKindsChanged, e as overrideNodeKind, r as registerNodeKind, a as resolveKindId, v as validateConfig } from '../registry-FGCBprcn.js';
10
10
 
11
11
  /**
12
12
  * Connection validation — the single rule that decides whether an edge between
@@ -1,4 +1,4 @@
1
- import { d as NodeKindDefinition } from './types-D8Dezh9v.cjs';
1
+ import { d as NodeKindDefinition } from './types-B78Rm69S.cjs';
2
2
 
3
3
  /**
4
4
  * The presentation fields a consumer may override on someone else's node kind.
@@ -1,4 +1,4 @@
1
- import { d as NodeKindDefinition } from './types-D6lsIGoe.js';
1
+ import { d as NodeKindDefinition } from './types-JViq8reb.js';
2
2
 
3
3
  /**
4
4
  * The presentation fields a consumer may override on someone else's node kind.
package/dist/registry.cjs CHANGED
@@ -9981,6 +9981,9 @@ var KINDS = [
9981
9981
  },
9982
9982
  {
9983
9983
  name: "@particle-academy/user_input",
9984
+ // The keys an author declared on THIS node — the case a static list cannot
9985
+ // express, and the one issue #5 named.
9986
+ outputShape: (config) => (config.fields ?? []).filter((f) => typeof f.key === "string" && f.key !== "").map((f) => ({ path: f.key, type: "string", description: f.label })),
9984
9987
  aliases: ["user_input", "@fancy/user_input"],
9985
9988
  pausesForHuman: "input",
9986
9989
  category: "human",
@@ -10201,6 +10204,10 @@ var KINDS = [
10201
10204
  },
10202
10205
  {
10203
10206
  name: "@particle-academy/for_each",
10207
+ outputShape: [
10208
+ { path: "items", type: "array" },
10209
+ { path: "count", type: "number" }
10210
+ ],
10204
10211
  aliases: ["for_each", "@fancy/for_each"],
10205
10212
  category: "logic",
10206
10213
  label: "For Each",
@@ -10364,6 +10371,12 @@ var KINDS = [
10364
10371
  // ───────────── AI ─────────────
10365
10372
  {
10366
10373
  name: "@particle-academy/llm_call",
10374
+ // LlmClient::complete() -> array{text:string,usage?:array,raw?:mixed}
10375
+ outputShape: [
10376
+ { path: "text", type: "string", description: "The model's completion." },
10377
+ { path: "usage", type: "object", description: "Token counts, when the provider reports them." },
10378
+ { path: "raw", type: "unknown", description: "The provider's untouched response." }
10379
+ ],
10367
10380
  aliases: ["llm_call", "@fancy/llm_call"],
10368
10381
  category: "ai",
10369
10382
  label: "LLM Call",
@@ -10498,6 +10511,10 @@ var KINDS = [
10498
10511
  },
10499
10512
  {
10500
10513
  name: "@particle-academy/embed_search",
10514
+ outputShape: [
10515
+ { path: "query", type: "string" },
10516
+ { path: "matches", type: "array", description: "Ranked results from the vector store." }
10517
+ ],
10501
10518
  aliases: ["embed_search", "@fancy/embed_search"],
10502
10519
  category: "ai",
10503
10520
  label: "Embed & Search",
@@ -10512,6 +10529,12 @@ var KINDS = [
10512
10529
  // ───────────── IO ─────────────
10513
10530
  {
10514
10531
  name: "@particle-academy/api_request",
10532
+ // HttpClient::send() -> array{status:int,headers:array,body:mixed}
10533
+ outputShape: [
10534
+ { path: "status", type: "number", description: "HTTP status code." },
10535
+ { path: "headers", type: "object" },
10536
+ { path: "body", type: "unknown", description: "Decoded JSON when the response is JSON, otherwise the raw body." }
10537
+ ],
10515
10538
  aliases: ["api_request", "@fancy/api_request"],
10516
10539
  category: "io",
10517
10540
  label: "API Request",