@particle-academy/fancy-flow 0.48.1 → 0.50.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-ACGCHWCM.js → chunk-3W26FA7Q.js} +7 -3
  8. package/dist/chunk-3W26FA7Q.js.map +1 -0
  9. package/dist/{chunk-6HGXAU5L.js → chunk-BAHJVX3S.js} +9 -4
  10. package/dist/chunk-BAHJVX3S.js.map +1 -0
  11. package/dist/{chunk-54SN6LML.js → chunk-DQJIU55F.js} +3 -3
  12. package/dist/{chunk-54SN6LML.js.map → chunk-DQJIU55F.js.map} +1 -1
  13. package/dist/{chunk-HHGU7JXJ.js → chunk-I4F6GI3A.js} +3 -3
  14. package/dist/{chunk-HHGU7JXJ.js.map → chunk-I4F6GI3A.js.map} +1 -1
  15. package/dist/{chunk-FCCGV52I.js → chunk-OWDSPRAF.js} +4 -4
  16. package/dist/{chunk-FCCGV52I.js.map → chunk-OWDSPRAF.js.map} +1 -1
  17. package/dist/{chunk-M7H3ASBI.js → chunk-XJMWMU4J.js} +20 -3
  18. package/dist/chunk-XJMWMU4J.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 +18 -1
  24. package/dist/durable.cjs.map +1 -1
  25. package/dist/durable.js +1 -1
  26. package/dist/engine.cjs +18 -1
  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 +59 -2
  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 +18 -1
  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 +24 -2
  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 +22 -1
  64. package/dist/schema.cjs.map +1 -1
  65. package/dist/schema.js +2 -2
  66. package/dist/screens.cjs +18 -1
  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.cts → types-7cXcSQlx.d.cts} +50 -0
  72. package/dist/{types-Jx1TwehV.d.ts → 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 +18 -1
  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-6HGXAU5L.js.map +0 -1
  82. package/dist/chunk-ACGCHWCM.js.map +0 -1
  83. package/dist/chunk-M7H3ASBI.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { C as ConfigField, N as NodeKindDefinition, O as OutputField } from './types-BO8TgI2M.cjs';
1
+ import { C as ConfigField, N as NodeKindDefinition, O as OutputField } from './types-BtMOnb9I.cjs';
2
2
  import 'react';
3
- import './types-Jx1TwehV.cjs';
3
+ import './types-7cXcSQlx.cjs';
4
4
  import '@xyflow/react';
5
5
  import './pause-9iT4tCEV.cjs';
6
6
 
@@ -1,6 +1,6 @@
1
- import { C as ConfigField, N as NodeKindDefinition, O as OutputField } from './types-DJAmfiJC.js';
1
+ import { C as ConfigField, N as NodeKindDefinition, O as OutputField } from './types-CDgIIj4c.js';
2
2
  import 'react';
3
- import './types-Jx1TwehV.js';
3
+ import './types-7cXcSQlx.js';
4
4
  import '@xyflow/react';
5
5
  import './pause-9iT4tCEV.js';
6
6
 
@@ -1,5 +1,5 @@
1
- import { F as FlowGraph, R as RunEvent, b as RunIdentity, E as ExecutorRegistry, a as FlowNode, N as NodeExecutor, c as RunIdentityJson } from '../types-Jx1TwehV.cjs';
2
- import { a as RunResult } from '../run-flow-1KiXhy59.cjs';
1
+ import { F as FlowGraph, R as RunEvent, b as RunIdentity, E as ExecutorRegistry, a as FlowNode, N as NodeExecutor, c as RunIdentityJson } from '../types-7cXcSQlx.cjs';
2
+ import { a as RunResult } from '../run-flow-B24QUO1H.cjs';
3
3
  import { b as PauseSignal } from '../pause-9iT4tCEV.cjs';
4
4
  import '@xyflow/react';
5
5
 
@@ -1,5 +1,5 @@
1
- import { F as FlowGraph, R as RunEvent, b as RunIdentity, E as ExecutorRegistry, a as FlowNode, N as NodeExecutor, c as RunIdentityJson } from '../types-Jx1TwehV.js';
2
- import { a as RunResult } from '../run-flow-CQvTDBYk.js';
1
+ import { F as FlowGraph, R as RunEvent, b as RunIdentity, E as ExecutorRegistry, a as FlowNode, N as NodeExecutor, c as RunIdentityJson } from '../types-7cXcSQlx.js';
2
+ import { a as RunResult } from '../run-flow-DPUPAWk6.js';
3
3
  import { b as PauseSignal } from '../pause-9iT4tCEV.js';
4
4
  import '@xyflow/react';
5
5
 
package/dist/durable.cjs CHANGED
@@ -9384,6 +9384,7 @@ async function runFlow(graph, executors, onEvent = () => {
9384
9384
  continue;
9385
9385
  }
9386
9386
  onEvent({ type: "node-status", nodeId: node.id, status: "running" });
9387
+ announce(onEvent, node, "start");
9387
9388
  const inputs = collectInputs(node, incoming, portValues, initialInputs);
9388
9389
  const exec = pickExecutor(executors, node);
9389
9390
  if (!exec) {
@@ -9402,6 +9403,7 @@ async function runFlow(graph, executors, onEvent = () => {
9402
9403
  throw new Error(reason ?? "aborted");
9403
9404
  },
9404
9405
  emit: onEvent,
9406
+ executors,
9405
9407
  depth,
9406
9408
  run
9407
9409
  })
@@ -9414,6 +9416,7 @@ async function runFlow(graph, executors, onEvent = () => {
9414
9416
  }
9415
9417
  completed.add(node.id);
9416
9418
  onEvent({ type: "node-status", nodeId: node.id, status: "done" });
9419
+ announce(onEvent, node, "end");
9417
9420
  } catch (e) {
9418
9421
  const msg = e instanceof Error ? e.message : String(e);
9419
9422
  errors.push(msg);
@@ -9466,6 +9469,9 @@ function collectInputs(node, incoming, portValues, initial) {
9466
9469
  const key = `${e.source}:${e.sourceHandle ?? "out"}`;
9467
9470
  if (!portValues.has(key)) continue;
9468
9471
  inputs[portId] = portValues.get(key);
9472
+ if (e.targetHandle == null && !(e.source in inputs)) {
9473
+ inputs[e.source] = portValues.get(key);
9474
+ }
9469
9475
  }
9470
9476
  return inputs;
9471
9477
  }
@@ -9497,6 +9503,14 @@ function activatedPorts(node, result) {
9497
9503
  const declared = resolveNodePorts(node, kind).outputs?.map((p) => p.id);
9498
9504
  return { ports: declared?.length ? declared : ["out"], value: result };
9499
9505
  }
9506
+ function announce(onEvent, node, phase) {
9507
+ const data = node.data;
9508
+ const raw = phase === "start" ? data?.startingMsg : data?.stoppingMsg;
9509
+ if (typeof raw !== "string") return;
9510
+ const message = raw.trim();
9511
+ if (message === "") return;
9512
+ onEvent({ type: "node-message", nodeId: node.id, phase, message });
9513
+ }
9500
9514
 
9501
9515
  // src/registry/subflow.ts
9502
9516
  var DEFAULT_MAX_DEPTH = 8;
@@ -9550,7 +9564,10 @@ var subflowExecutor = async (ctx) => {
9550
9564
  };
9551
9565
  const result = await runFlow(
9552
9566
  child,
9553
- config.executors ?? {},
9567
+ // Inherit the parent's registry, then let the graph layer its own on top.
9568
+ // The inherited half is the fix; the layered half keeps a graph that
9569
+ // deliberately hands its child extra or different executors working.
9570
+ { ...ctx.executors ?? {}, ...config.executors ?? {} },
9554
9571
  forward,
9555
9572
  {
9556
9573
  initialInputs: config.inputs ?? {