@particle-academy/fancy-flow 0.48.0 → 0.49.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 (83) hide show
  1. package/dist/{ConfigFieldRenderer-NuDjtun1.d.cts → ConfigFieldRenderer-CrXFq6Eb.d.cts} +2 -2
  2. package/dist/{ConfigFieldRenderer-DrD2-Qml.d.ts → ConfigFieldRenderer-u3nYHovX.d.ts} +2 -2
  3. package/dist/{FlowViewer-CY3_vHSg.d.cts → FlowViewer-CFSMlCqi.d.cts} +1 -1
  4. package/dist/{FlowViewer-DGW6t-80.d.ts → FlowViewer-DRgjeWJ7.d.ts} +1 -1
  5. package/dist/{capabilities-DMUhnyZD.d.ts → capabilities-B00VXLUp.d.ts} +1 -1
  6. package/dist/{capabilities-Dmd26aAs.d.cts → capabilities-VzgDApur.d.cts} +1 -1
  7. package/dist/{chunk-MJ3A3TAI.js → chunk-6FP3F5YR.js} +21 -4
  8. package/dist/chunk-6FP3F5YR.js.map +1 -0
  9. package/dist/{chunk-DRRZEAYB.js → chunk-6XKR65XM.js} +3 -3
  10. package/dist/{chunk-DRRZEAYB.js.map → chunk-6XKR65XM.js.map} +1 -1
  11. package/dist/{chunk-UVP43XU2.js → chunk-AVRGZFXG.js} +4 -4
  12. package/dist/{chunk-UVP43XU2.js.map → chunk-AVRGZFXG.js.map} +1 -1
  13. package/dist/{chunk-E6T3FZZP.js → chunk-UL3DGSSG.js} +9 -4
  14. package/dist/chunk-UL3DGSSG.js.map +1 -0
  15. package/dist/{chunk-7DTUZUTB.js → chunk-VUL7CUFW.js} +3 -3
  16. package/dist/{chunk-7DTUZUTB.js.map → chunk-VUL7CUFW.js.map} +1 -1
  17. package/dist/{chunk-KTGXZBUM.js → chunk-YOK3WKWC.js} +7 -3
  18. package/dist/chunk-YOK3WKWC.js.map +1 -0
  19. package/dist/connectors.d.cts +2 -2
  20. package/dist/connectors.d.ts +2 -2
  21. package/dist/durable/index.d.cts +2 -2
  22. package/dist/durable/index.d.ts +2 -2
  23. package/dist/durable.cjs +19 -2
  24. package/dist/durable.cjs.map +1 -1
  25. package/dist/durable.js +1 -1
  26. package/dist/engine.cjs +19 -2
  27. package/dist/engine.cjs.map +1 -1
  28. package/dist/engine.d.cts +7 -7
  29. package/dist/engine.d.ts +7 -7
  30. package/dist/engine.js +3 -3
  31. package/dist/fields/react-fancy.d.cts +3 -3
  32. package/dist/fields/react-fancy.d.ts +3 -3
  33. package/dist/index.cjs +60 -3
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +11 -11
  36. package/dist/index.d.ts +11 -11
  37. package/dist/index.js +42 -11
  38. package/dist/index.js.map +1 -1
  39. package/dist/layout/index.d.cts +1 -1
  40. package/dist/layout/index.d.ts +1 -1
  41. package/dist/llm/prism.d.cts +2 -2
  42. package/dist/llm/prism.d.ts +2 -2
  43. package/dist/llm/vercel-ai.d.cts +2 -2
  44. package/dist/llm/vercel-ai.d.ts +2 -2
  45. package/dist/registry/index.d.cts +6 -6
  46. package/dist/registry/index.d.ts +6 -6
  47. package/dist/{registry-DpARG95T.d.ts → registry-6cB5wCv6.d.ts} +1 -1
  48. package/dist/{registry-BnnifM-t.d.cts → registry-DQh7ZmnM.d.cts} +1 -1
  49. package/dist/registry.cjs +19 -2
  50. package/dist/registry.cjs.map +1 -1
  51. package/dist/registry.js +2 -2
  52. package/dist/{run-cohort-DdPPowJ3.d.cts → run-cohort-DYCL8Qv6.d.cts} +2 -2
  53. package/dist/{run-cohort-Cyeny2Uu.d.ts → run-cohort-VX4JG21l.d.ts} +2 -2
  54. package/dist/{run-flow-1KiXhy59.d.cts → run-flow-B24QUO1H.d.cts} +1 -1
  55. package/dist/{run-flow-CQvTDBYk.d.ts → run-flow-DPUPAWk6.d.ts} +1 -1
  56. package/dist/runtime/index.d.cts +18 -6
  57. package/dist/runtime/index.d.ts +18 -6
  58. package/dist/runtime.cjs +25 -3
  59. package/dist/runtime.cjs.map +1 -1
  60. package/dist/runtime.js +3 -3
  61. package/dist/schema/index.d.cts +9 -1
  62. package/dist/schema/index.d.ts +9 -1
  63. package/dist/schema.cjs +23 -2
  64. package/dist/schema.cjs.map +1 -1
  65. package/dist/schema.js +2 -2
  66. package/dist/screens.cjs +19 -2
  67. package/dist/screens.cjs.map +1 -1
  68. package/dist/screens.d.cts +2 -2
  69. package/dist/screens.d.ts +2 -2
  70. package/dist/screens.js +4 -4
  71. package/dist/{types-Jx1TwehV.d.ts → types-7cXcSQlx.d.cts} +50 -0
  72. package/dist/{types-Jx1TwehV.d.cts → types-7cXcSQlx.d.ts} +50 -0
  73. package/dist/{types-BO8TgI2M.d.cts → types-BtMOnb9I.d.cts} +1 -1
  74. package/dist/{types-DJAmfiJC.d.ts → types-CDgIIj4c.d.ts} +1 -1
  75. package/dist/ux.cjs +19 -2
  76. package/dist/ux.cjs.map +1 -1
  77. package/dist/ux.d.cts +2 -2
  78. package/dist/ux.d.ts +2 -2
  79. package/dist/ux.js +1 -1
  80. package/package.json +1 -1
  81. package/dist/chunk-E6T3FZZP.js.map +0 -1
  82. package/dist/chunk-KTGXZBUM.js.map +0 -1
  83. package/dist/chunk-MJ3A3TAI.js.map +0 -1
package/dist/durable.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { truthy } from './chunk-BHM5HGXH.js';
2
2
  import { pauseForHuman, decodePause } from './chunk-UEOE6B52.js';
3
- import { getNodeKind, runFlow, resolveKindId, kindIds, RunIdentity } from './chunk-MJ3A3TAI.js';
3
+ import { getNodeKind, runFlow, resolveKindId, kindIds, RunIdentity } from './chunk-6FP3F5YR.js';
4
4
  import './chunk-F5RPRB7A.js';
5
5
  import './chunk-USL4FMFU.js';
6
6
 
package/dist/engine.cjs CHANGED
@@ -9157,7 +9157,10 @@ var subflowExecutor = async (ctx) => {
9157
9157
  };
9158
9158
  const result = await runFlow(
9159
9159
  child,
9160
- config.executors ?? {},
9160
+ // Inherit the parent's registry, then let the graph layer its own on top.
9161
+ // The inherited half is the fix; the layered half keeps a graph that
9162
+ // deliberately hands its child extra or different executors working.
9163
+ { ...ctx.executors ?? {}, ...config.executors ?? {} },
9161
9164
  forward,
9162
9165
  {
9163
9166
  initialInputs: config.inputs ?? {
@@ -10386,6 +10389,7 @@ async function runFlow(graph, executors, onEvent = () => {
10386
10389
  continue;
10387
10390
  }
10388
10391
  onEvent({ type: "node-status", nodeId: node.id, status: "running" });
10392
+ announce(onEvent, node, "start");
10389
10393
  const inputs = collectInputs(node, incoming, portValues, initialInputs);
10390
10394
  const exec = pickExecutor(executors, node);
10391
10395
  if (!exec) {
@@ -10404,6 +10408,7 @@ async function runFlow(graph, executors, onEvent = () => {
10404
10408
  throw new Error(reason ?? "aborted");
10405
10409
  },
10406
10410
  emit: onEvent,
10411
+ executors,
10407
10412
  depth,
10408
10413
  run
10409
10414
  })
@@ -10416,6 +10421,7 @@ async function runFlow(graph, executors, onEvent = () => {
10416
10421
  }
10417
10422
  completed.add(node.id);
10418
10423
  onEvent({ type: "node-status", nodeId: node.id, status: "done" });
10424
+ announce(onEvent, node, "end");
10419
10425
  } catch (e) {
10420
10426
  const msg = e instanceof Error ? e.message : String(e);
10421
10427
  errors.push(msg);
@@ -10474,7 +10480,10 @@ function collectInputs(node, incoming, portValues, initial) {
10474
10480
  function pickExecutor(executors, node) {
10475
10481
  if (executors[node.id]) return executors[node.id];
10476
10482
  if (node.type && executors[node.type]) return executors[node.type];
10477
- const kind = node.type ? getNodeKind(node.type) : null;
10483
+ const declared = node.data?.kind;
10484
+ const kindName2 = typeof declared === "string" && declared !== "" ? declared : node.type;
10485
+ if (kindName2 && kindName2 !== node.type && executors[kindName2]) return executors[kindName2];
10486
+ const kind = kindName2 ? getNodeKind(kindName2) : null;
10478
10487
  if (kind) {
10479
10488
  for (const id2 of kindIds(kind)) {
10480
10489
  if (executors[id2]) return executors[id2];
@@ -10496,6 +10505,14 @@ function activatedPorts(node, result) {
10496
10505
  const declared = resolveNodePorts(node, kind).outputs?.map((p) => p.id);
10497
10506
  return { ports: declared?.length ? declared : ["out"], value: result };
10498
10507
  }
10508
+ function announce(onEvent, node, phase) {
10509
+ const data = node.data;
10510
+ const raw = phase === "start" ? data?.startingMsg : data?.stoppingMsg;
10511
+ if (typeof raw !== "string") return;
10512
+ const message = raw.trim();
10513
+ if (message === "") return;
10514
+ onEvent({ type: "node-message", nodeId: node.id, phase, message });
10515
+ }
10499
10516
 
10500
10517
  // src/runtime/run-cohort.ts
10501
10518
  async function runCohort(flows, executors, onEvent = () => {