@particle-academy/fancy-flow 0.74.1 → 0.76.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 (41) hide show
  1. package/dist/{chunk-2GU3V2ZD.js → chunk-4KYW5BT4.js} +4 -4
  2. package/dist/{chunk-2GU3V2ZD.js.map → chunk-4KYW5BT4.js.map} +1 -1
  3. package/dist/{chunk-VAF2SWTC.js → chunk-CYVVUKHH.js} +3 -3
  4. package/dist/{chunk-VAF2SWTC.js.map → chunk-CYVVUKHH.js.map} +1 -1
  5. package/dist/{chunk-K7KO3UJ3.js → chunk-G4GKDJG5.js} +3 -3
  6. package/dist/{chunk-K7KO3UJ3.js.map → chunk-G4GKDJG5.js.map} +1 -1
  7. package/dist/{chunk-3RXQGYGH.js → chunk-M34S7XUM.js} +3 -3
  8. package/dist/{chunk-3RXQGYGH.js.map → chunk-M34S7XUM.js.map} +1 -1
  9. package/dist/{chunk-7DJ56PUA.js → chunk-PXVISCSC.js} +4 -4
  10. package/dist/{chunk-7DJ56PUA.js.map → chunk-PXVISCSC.js.map} +1 -1
  11. package/dist/{chunk-EX34GCKK.js → chunk-V2657EQG.js} +22 -9
  12. package/dist/chunk-V2657EQG.js.map +1 -0
  13. package/dist/{chunk-GQ5LEA7Q.js → chunk-ZKAPSUTL.js} +3 -3
  14. package/dist/{chunk-GQ5LEA7Q.js.map → chunk-ZKAPSUTL.js.map} +1 -1
  15. package/dist/durable.cjs +20 -7
  16. package/dist/durable.cjs.map +1 -1
  17. package/dist/durable.js +1 -1
  18. package/dist/engine.cjs +20 -7
  19. package/dist/engine.cjs.map +1 -1
  20. package/dist/engine.js +4 -4
  21. package/dist/index.cjs +20 -7
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +12 -12
  24. package/dist/registry.cjs +20 -7
  25. package/dist/registry.cjs.map +1 -1
  26. package/dist/registry.js +2 -2
  27. package/dist/runtime.cjs +20 -7
  28. package/dist/runtime.cjs.map +1 -1
  29. package/dist/runtime.js +3 -3
  30. package/dist/schema.cjs +20 -7
  31. package/dist/schema.cjs.map +1 -1
  32. package/dist/schema.js +3 -3
  33. package/dist/screens.cjs +20 -7
  34. package/dist/screens.cjs.map +1 -1
  35. package/dist/screens.js +4 -4
  36. package/dist/ux.cjs +21 -8
  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
package/dist/engine.js CHANGED
@@ -1,9 +1,9 @@
1
- export { runCohort } from './chunk-K7KO3UJ3.js';
1
+ export { runCohort } from './chunk-G4GKDJG5.js';
2
2
  import { decodePause } from './chunk-UEOE6B52.js';
3
3
  export { LEGACY_PAUSE_PREFIXES, PAUSE_PREFIX, decodePause, encodePause, isPause, pauseForHuman } from './chunk-UEOE6B52.js';
4
- export { checkGraphConnectivity, mayFloat } from './chunk-VAF2SWTC.js';
5
- import { runFlow, getNodeKind, resolveNodePorts } from './chunk-EX34GCKK.js';
6
- export { RunIdentity, UnresolvedPathError, applyKindSchemaOverlay, clearKindSchemaOverlays, defaultConfigFor, escapeSegment, evaluateConfig, evaluateExpression, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, resolvePath, runFlow, text, truthy, tryResolvePath, unregisterNodeKind, validateConfig } from './chunk-EX34GCKK.js';
4
+ export { checkGraphConnectivity, mayFloat } from './chunk-CYVVUKHH.js';
5
+ import { runFlow, getNodeKind, resolveNodePorts } from './chunk-V2657EQG.js';
6
+ export { RunIdentity, UnresolvedPathError, applyKindSchemaOverlay, clearKindSchemaOverlays, defaultConfigFor, escapeSegment, evaluateConfig, evaluateExpression, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, resolvePath, runFlow, text, truthy, tryResolvePath, unregisterNodeKind, validateConfig } from './chunk-V2657EQG.js';
7
7
  import { isResolutionFailure, registerLlmClient, registerWorkflowResolver } from './chunk-2QXKDLGT.js';
8
8
 
9
9
  // src/marketplace/manifest.ts
package/dist/index.cjs CHANGED
@@ -2331,8 +2331,9 @@ function possiblePortIds(node) {
2331
2331
  if (!kind) return ["out"];
2332
2332
  const config = nodeConfig(node);
2333
2333
  const representative = typeof kind.outputs === "function" && !configDeclaresPorts(kind.name, config);
2334
- const ids = (resolvePortSpec(kind.outputs, representative ? defaultConfigFor(kind) : config) ?? []).map((p2) => p2.id);
2335
- return ids.length > 0 ? ids : ["out"];
2334
+ const resolved = resolvePortSpec(kind.outputs, representative ? defaultConfigFor(kind) : config);
2335
+ if (resolved === void 0) return ["out"];
2336
+ return resolved.map((p2) => p2.id);
2336
2337
  }
2337
2338
  function configDeclaresPorts(kindName, config) {
2338
2339
  const bare = kindName.startsWith("@") ? kindName.slice(kindName.lastIndexOf("/") + 1) : kindName;
@@ -2472,8 +2473,9 @@ async function runFlow(graph, executors, onEvent = () => {
2472
2473
  outputs[node.id] = stored;
2473
2474
  const activated = activatedPorts(node, stored);
2474
2475
  for (const portId of activated.ports) {
2475
- portValues.set(`${node.id}:${portId}`, activated.value);
2476
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
2476
+ const value = portValueOf(activated, portId);
2477
+ portValues.set(`${node.id}:${portId}`, value);
2478
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
2477
2479
  }
2478
2480
  completed.add(node.id);
2479
2481
  onEvent({ type: "node-status", nodeId: node.id, status: "done", text: "resumed" });
@@ -2536,8 +2538,9 @@ async function runFlow(graph, executors, onEvent = () => {
2536
2538
  outputs[node.id] = result;
2537
2539
  const activated = activatedPorts(node, result);
2538
2540
  for (const portId of activated.ports) {
2539
- portValues.set(`${node.id}:${portId}`, activated.value);
2540
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
2541
+ const value = portValueOf(activated, portId);
2542
+ portValues.set(`${node.id}:${portId}`, value);
2543
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
2541
2544
  }
2542
2545
  completed.add(node.id);
2543
2546
  onEvent({ type: "node-status", nodeId: node.id, status: "done" });
@@ -2643,13 +2646,23 @@ function activatedPorts(node, result) {
2643
2646
  if (typeof r.__port === "string") {
2644
2647
  return { ports: [r.__port], value: r.value };
2645
2648
  }
2649
+ if (Array.isArray(r.__ports)) {
2650
+ return { ports: r.__ports.filter((p2) => typeof p2 === "string"), value: r.value };
2651
+ }
2652
+ if (r.__ports && typeof r.__ports === "object") {
2653
+ const values = r.__ports;
2654
+ return { ports: Object.keys(values), value: r.value, values };
2655
+ }
2646
2656
  if (typeof r.branch === "string") {
2647
2657
  return { ports: [r.branch], value: Object.prototype.hasOwnProperty.call(r, "value") ? r.value : r };
2648
2658
  }
2649
2659
  }
2650
2660
  const kind = getNodeKind(node.data?.kind ?? node.type ?? "") ?? void 0;
2651
2661
  const declared = resolveNodePorts(node, kind).outputs?.map((p2) => p2.id);
2652
- return { ports: declared?.length ? declared : ["out"], value: result };
2662
+ return { ports: declared ?? ["out"], value: result };
2663
+ }
2664
+ function portValueOf(activated, portId) {
2665
+ return activated.values && Object.prototype.hasOwnProperty.call(activated.values, portId) ? activated.values[portId] : activated.value;
2653
2666
  }
2654
2667
  function announce(onEvent, node, phase) {
2655
2668
  const data = node.data;