@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/registry.js CHANGED
@@ -1,8 +1,8 @@
1
- export { ANY_PORT_TYPE, BUILTIN_KINDS, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds } from './chunk-3RXQGYGH.js';
1
+ export { ANY_PORT_TYPE, BUILTIN_KINDS, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds } from './chunk-M34S7XUM.js';
2
2
  export { RichInputPreview, getRichInputAdapter, isRichInputEnabled, onRichInputAdapterChanged, registerRichInputAdapter } from './chunk-F5RPRB7A.js';
3
3
  import './chunk-OWENS2H5.js';
4
4
  export { LEGACY_PAUSE_PREFIXES, PAUSE_PREFIX, decodePause, encodePause, isPause, pauseForHuman } from './chunk-UEOE6B52.js';
5
- export { DEFAULT_MAX_DEPTH, applyKindSchemaOverlay, categoryAccent, clearKindSchemaOverlays, clearNodeKindOverrides, declaredRoutes, defaultConfigFor, ensureBuiltinKinds, getNodeKind, kindIds, listNodeKinds, llmRouterExecutor as llmBranchExecutor, llmRouterExecutor, nodeConfig, onNodeKindsChanged, overrideNodeKind, registerNodeKind, resolveFallbackPort, resolveKindId, resolveNodePorts, resolvePortSpec, subflowExecutor, subflowMode, subflowPorts, unregisterNodeKind, validateConfig } from './chunk-EX34GCKK.js';
5
+ export { DEFAULT_MAX_DEPTH, applyKindSchemaOverlay, categoryAccent, clearKindSchemaOverlays, clearNodeKindOverrides, declaredRoutes, defaultConfigFor, ensureBuiltinKinds, getNodeKind, kindIds, listNodeKinds, llmRouterExecutor as llmBranchExecutor, llmRouterExecutor, nodeConfig, onNodeKindsChanged, overrideNodeKind, registerNodeKind, resolveFallbackPort, resolveKindId, resolveNodePorts, resolvePortSpec, subflowExecutor, subflowMode, subflowPorts, unregisterNodeKind, validateConfig } from './chunk-V2657EQG.js';
6
6
  export { capabilityStatus, getLlmClient, getTerminalHost, getWorkflowResolver, isResolutionFailure, registerLlmClient, registerTerminalHost, registerWorkflowResolver } from './chunk-2QXKDLGT.js';
7
7
  //# sourceMappingURL=registry.js.map
8
8
  //# sourceMappingURL=registry.js.map
package/dist/runtime.cjs CHANGED
@@ -2213,8 +2213,9 @@ function possiblePortIds(node) {
2213
2213
  if (!kind) return ["out"];
2214
2214
  const config = nodeConfig(node);
2215
2215
  const representative = typeof kind.outputs === "function" && !configDeclaresPorts(kind.name, config);
2216
- const ids = (resolvePortSpec(kind.outputs, representative ? defaultConfigFor(kind) : config) ?? []).map((p) => p.id);
2217
- return ids.length > 0 ? ids : ["out"];
2216
+ const resolved = resolvePortSpec(kind.outputs, representative ? defaultConfigFor(kind) : config);
2217
+ if (resolved === void 0) return ["out"];
2218
+ return resolved.map((p) => p.id);
2218
2219
  }
2219
2220
  function configDeclaresPorts(kindName, config) {
2220
2221
  const bare = kindName.startsWith("@") ? kindName.slice(kindName.lastIndexOf("/") + 1) : kindName;
@@ -2354,8 +2355,9 @@ async function runFlow(graph, executors, onEvent = () => {
2354
2355
  outputs[node.id] = stored;
2355
2356
  const activated = activatedPorts(node, stored);
2356
2357
  for (const portId of activated.ports) {
2357
- portValues.set(`${node.id}:${portId}`, activated.value);
2358
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
2358
+ const value = portValueOf(activated, portId);
2359
+ portValues.set(`${node.id}:${portId}`, value);
2360
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
2359
2361
  }
2360
2362
  completed.add(node.id);
2361
2363
  onEvent({ type: "node-status", nodeId: node.id, status: "done", text: "resumed" });
@@ -2418,8 +2420,9 @@ async function runFlow(graph, executors, onEvent = () => {
2418
2420
  outputs[node.id] = result;
2419
2421
  const activated = activatedPorts(node, result);
2420
2422
  for (const portId of activated.ports) {
2421
- portValues.set(`${node.id}:${portId}`, activated.value);
2422
- onEvent({ type: "node-output", nodeId: node.id, portId, value: activated.value });
2423
+ const value = portValueOf(activated, portId);
2424
+ portValues.set(`${node.id}:${portId}`, value);
2425
+ onEvent({ type: "node-output", nodeId: node.id, portId, value });
2423
2426
  }
2424
2427
  completed.add(node.id);
2425
2428
  onEvent({ type: "node-status", nodeId: node.id, status: "done" });
@@ -2525,13 +2528,23 @@ function activatedPorts(node, result) {
2525
2528
  if (typeof r.__port === "string") {
2526
2529
  return { ports: [r.__port], value: r.value };
2527
2530
  }
2531
+ if (Array.isArray(r.__ports)) {
2532
+ return { ports: r.__ports.filter((p) => typeof p === "string"), value: r.value };
2533
+ }
2534
+ if (r.__ports && typeof r.__ports === "object") {
2535
+ const values = r.__ports;
2536
+ return { ports: Object.keys(values), value: r.value, values };
2537
+ }
2528
2538
  if (typeof r.branch === "string") {
2529
2539
  return { ports: [r.branch], value: Object.prototype.hasOwnProperty.call(r, "value") ? r.value : r };
2530
2540
  }
2531
2541
  }
2532
2542
  const kind = getNodeKind(node.data?.kind ?? node.type ?? "") ?? void 0;
2533
2543
  const declared = resolveNodePorts(node, kind).outputs?.map((p) => p.id);
2534
- return { ports: declared?.length ? declared : ["out"], value: result };
2544
+ return { ports: declared ?? ["out"], value: result };
2545
+ }
2546
+ function portValueOf(activated, portId) {
2547
+ return activated.values && Object.prototype.hasOwnProperty.call(activated.values, portId) ? activated.values[portId] : activated.value;
2535
2548
  }
2536
2549
  function announce(onEvent, node, phase) {
2537
2550
  const data = node.data;