@particle-academy/fancy-flow 0.74.0 → 0.75.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 (42) hide show
  1. package/dist/{chunk-XV5L4JQH.js → chunk-2H5H2DDP.js} +10 -9
  2. package/dist/chunk-2H5H2DDP.js.map +1 -0
  3. package/dist/{chunk-3RXQGYGH.js → chunk-4BPCA3ZO.js} +3 -3
  4. package/dist/{chunk-3RXQGYGH.js.map → chunk-4BPCA3ZO.js.map} +1 -1
  5. package/dist/{chunk-K7KO3UJ3.js → chunk-LKEDPVR3.js} +3 -3
  6. package/dist/{chunk-K7KO3UJ3.js.map → chunk-LKEDPVR3.js.map} +1 -1
  7. package/dist/{chunk-7DJ56PUA.js → chunk-T7E7QPHI.js} +4 -4
  8. package/dist/{chunk-7DJ56PUA.js.map → chunk-T7E7QPHI.js.map} +1 -1
  9. package/dist/{chunk-EX34GCKK.js → chunk-W7DMO3H7.js} +18 -6
  10. package/dist/chunk-W7DMO3H7.js.map +1 -0
  11. package/dist/{chunk-VAF2SWTC.js → chunk-XZFLPKO2.js} +3 -3
  12. package/dist/{chunk-VAF2SWTC.js.map → chunk-XZFLPKO2.js.map} +1 -1
  13. package/dist/{chunk-GQ5LEA7Q.js → chunk-ZBHIEKCN.js} +3 -3
  14. package/dist/{chunk-GQ5LEA7Q.js.map → chunk-ZBHIEKCN.js.map} +1 -1
  15. package/dist/durable.cjs +16 -4
  16. package/dist/durable.cjs.map +1 -1
  17. package/dist/durable.js +1 -1
  18. package/dist/engine.cjs +16 -4
  19. package/dist/engine.cjs.map +1 -1
  20. package/dist/engine.js +4 -4
  21. package/dist/index.cjs +22 -9
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +12 -12
  24. package/dist/registry.cjs +16 -4
  25. package/dist/registry.cjs.map +1 -1
  26. package/dist/registry.js +2 -2
  27. package/dist/runtime.cjs +16 -4
  28. package/dist/runtime.cjs.map +1 -1
  29. package/dist/runtime.js +3 -3
  30. package/dist/schema.cjs +16 -4
  31. package/dist/schema.cjs.map +1 -1
  32. package/dist/schema.js +3 -3
  33. package/dist/screens.cjs +22 -9
  34. package/dist/screens.cjs.map +1 -1
  35. package/dist/screens.js +4 -4
  36. package/dist/ux.cjs +17 -5
  37. package/dist/ux.cjs.map +1 -1
  38. package/dist/ux.js +2 -2
  39. package/dist/ux.js.map +1 -1
  40. package/package.json +2 -2
  41. package/dist/chunk-EX34GCKK.js.map +0 -1
  42. package/dist/chunk-XV5L4JQH.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
- import { removeNodes, removeEdges, cloneSubgraph, alignNodes, distributeNodes, reconnectEdge, assignToLane, removeFromLane, duplicateNode, setEdgeLabel, FlowCanvas } from './chunk-XV5L4JQH.js';
2
- export { ActionNode, DecisionNode, FlowCanvas, FlowViewer, NodeShell, OutputNode, SubgraphNode, TriggerNode, alignNodes, cloneSubgraph, defaultNodeTypes, distributeNodes, reconnectEdge } from './chunk-XV5L4JQH.js';
3
- import { useFlowState, useFlowRun, useFlowHistory, applyOutputsToNodes, applyStatusesToNodes } from './chunk-GQ5LEA7Q.js';
4
- export { applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './chunk-GQ5LEA7Q.js';
5
- export { runCohort } from './chunk-K7KO3UJ3.js';
6
- import { buildNodeTypes, FlowEditorProvider, registerBuiltinKinds } from './chunk-3RXQGYGH.js';
7
- export { ANY_PORT_TYPE, BUILTIN_KINDS, LaneNode, NoteNode, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds, useFlowEditor, useFlowEditorOptional } from './chunk-3RXQGYGH.js';
1
+ import { removeNodes, removeEdges, cloneSubgraph, alignNodes, distributeNodes, reconnectEdge, assignToLane, removeFromLane, duplicateNode, setEdgeLabel, FlowCanvas } from './chunk-2H5H2DDP.js';
2
+ export { ActionNode, DecisionNode, FlowCanvas, FlowViewer, NodeShell, OutputNode, SubgraphNode, TriggerNode, alignNodes, cloneSubgraph, defaultNodeTypes, distributeNodes, reconnectEdge } from './chunk-2H5H2DDP.js';
3
+ import { useFlowState, useFlowRun, useFlowHistory, applyOutputsToNodes, applyStatusesToNodes } from './chunk-ZBHIEKCN.js';
4
+ export { applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './chunk-ZBHIEKCN.js';
5
+ export { runCohort } from './chunk-LKEDPVR3.js';
6
+ import { buildNodeTypes, FlowEditorProvider, registerBuiltinKinds } from './chunk-4BPCA3ZO.js';
7
+ export { ANY_PORT_TYPE, BUILTIN_KINDS, LaneNode, NoteNode, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds, useFlowEditor, useFlowEditorOptional } from './chunk-4BPCA3ZO.js';
8
8
  import { getRichInputAdapter } from './chunk-F5RPRB7A.js';
9
9
  export { RichInputPreview, getRichInputAdapter, isRichInputEnabled, onRichInputAdapterChanged, registerRichInputAdapter } from './chunk-F5RPRB7A.js';
10
10
  import { ReactFlowProvider, useReactFlow, addEdge, applyEdgeChanges, applyNodeChanges, Position, Handle } from './chunk-OWENS2H5.js';
11
11
  export { LEGACY_PAUSE_PREFIXES, PAUSE_PREFIX, decodePause, encodePause, isPause, pauseForHuman } from './chunk-UEOE6B52.js';
12
- import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-7DJ56PUA.js';
13
- export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './chunk-7DJ56PUA.js';
14
- import './chunk-VAF2SWTC.js';
15
- import { humanInputFields, onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, ensureBuiltinKinds, validateConfig, categoryAccent, availableVariables, baseVariables, describeExpressionGrammar } from './chunk-EX34GCKK.js';
16
- export { UnresolvedPathError, applyKindSchemaOverlay, availableVariables, baseVariables, categoryAccent, clearKindSchemaOverlays, clearNodeKindOverrides, defaultConfigFor, describeExpressionGrammar, ensureBuiltinKinds, evaluateConfig, evaluateExpression, getNodeKind, listNodeKinds, onNodeKindsChanged, outputFieldsFor, overrideNodeKind, registerNodeKind, resolveNodePorts, resolvePath, resolvePortSpec, runFlow, text, truthy, tryResolvePath, unregisterNodeKind, validateConfig } from './chunk-EX34GCKK.js';
12
+ import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-T7E7QPHI.js';
13
+ export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './chunk-T7E7QPHI.js';
14
+ import './chunk-XZFLPKO2.js';
15
+ import { humanInputFields, onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, ensureBuiltinKinds, validateConfig, categoryAccent, availableVariables, baseVariables, describeExpressionGrammar } from './chunk-W7DMO3H7.js';
16
+ export { UnresolvedPathError, applyKindSchemaOverlay, availableVariables, baseVariables, categoryAccent, clearKindSchemaOverlays, clearNodeKindOverrides, defaultConfigFor, describeExpressionGrammar, ensureBuiltinKinds, evaluateConfig, evaluateExpression, getNodeKind, listNodeKinds, onNodeKindsChanged, outputFieldsFor, overrideNodeKind, registerNodeKind, resolveNodePorts, resolvePath, resolvePortSpec, runFlow, text, truthy, tryResolvePath, unregisterNodeKind, validateConfig } from './chunk-W7DMO3H7.js';
17
17
  import './chunk-2QXKDLGT.js';
18
18
  import { forwardRef, useState, useMemo, useEffect, useCallback, useRef, useImperativeHandle, useId, memo } from 'react';
19
19
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
package/dist/registry.cjs CHANGED
@@ -724,8 +724,9 @@ async function runFlow(graph, executors, onEvent = () => {
724
724
  outputs[node.id] = stored;
725
725
  const activated = activatedPorts(node, stored);
726
726
  for (const portId of activated.ports) {
727
- portValues.set(`${node.id}:${portId}`, activated.value);
728
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
727
+ const value = portValueOf(activated, portId);
728
+ portValues.set(`${node.id}:${portId}`, value);
729
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
729
730
  }
730
731
  completed.add(node.id);
731
732
  onEvent({ type: "node-status", nodeId: node.id, status: "done", text: "resumed" });
@@ -788,8 +789,9 @@ async function runFlow(graph, executors, onEvent = () => {
788
789
  outputs[node.id] = result;
789
790
  const activated = activatedPorts(node, result);
790
791
  for (const portId of activated.ports) {
791
- portValues.set(`${node.id}:${portId}`, activated.value);
792
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
792
+ const value = portValueOf(activated, portId);
793
+ portValues.set(`${node.id}:${portId}`, value);
794
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
793
795
  }
794
796
  completed.add(node.id);
795
797
  onEvent({ type: "node-status", nodeId: node.id, status: "done" });
@@ -895,6 +897,13 @@ function activatedPorts(node, result) {
895
897
  if (typeof r.__port === "string") {
896
898
  return { ports: [r.__port], value: r.value };
897
899
  }
900
+ if (Array.isArray(r.__ports)) {
901
+ return { ports: r.__ports.filter((p) => typeof p === "string"), value: r.value };
902
+ }
903
+ if (r.__ports && typeof r.__ports === "object") {
904
+ const values = r.__ports;
905
+ return { ports: Object.keys(values), value: r.value, values };
906
+ }
898
907
  if (typeof r.branch === "string") {
899
908
  return { ports: [r.branch], value: Object.prototype.hasOwnProperty.call(r, "value") ? r.value : r };
900
909
  }
@@ -903,6 +912,9 @@ function activatedPorts(node, result) {
903
912
  const declared = resolveNodePorts(node, kind).outputs?.map((p) => p.id);
904
913
  return { ports: declared?.length ? declared : ["out"], value: result };
905
914
  }
915
+ function portValueOf(activated, portId) {
916
+ return activated.values && Object.prototype.hasOwnProperty.call(activated.values, portId) ? activated.values[portId] : activated.value;
917
+ }
906
918
  function announce(onEvent, node, phase) {
907
919
  const data = node.data;
908
920
  const raw = phase === "start" ? data?.startingMsg : data?.stoppingMsg;