@particle-academy/fancy-flow 0.51.0 → 0.52.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 (38) hide show
  1. package/dist/{chunk-6AI6CBNL.js → chunk-I7ZDPY7C.js} +3 -3
  2. package/dist/{chunk-6AI6CBNL.js.map → chunk-I7ZDPY7C.js.map} +1 -1
  3. package/dist/{chunk-XCT2CJ5O.js → chunk-JOXMAWAI.js} +27 -14
  4. package/dist/chunk-JOXMAWAI.js.map +1 -0
  5. package/dist/{chunk-HXGGCMR7.js → chunk-PEX3ZGCO.js} +3 -3
  6. package/dist/{chunk-HXGGCMR7.js.map → chunk-PEX3ZGCO.js.map} +1 -1
  7. package/dist/{chunk-LH76EIFL.js → chunk-PU3CLTAG.js} +3 -3
  8. package/dist/{chunk-LH76EIFL.js.map → chunk-PU3CLTAG.js.map} +1 -1
  9. package/dist/{chunk-7XTTXMGB.js → chunk-PWIHOR57.js} +4 -4
  10. package/dist/{chunk-7XTTXMGB.js.map → chunk-PWIHOR57.js.map} +1 -1
  11. package/dist/{chunk-SKEZ5AGI.js → chunk-RR7A6IUW.js} +3 -3
  12. package/dist/{chunk-SKEZ5AGI.js.map → chunk-RR7A6IUW.js.map} +1 -1
  13. package/dist/durable.cjs +26 -13
  14. package/dist/durable.cjs.map +1 -1
  15. package/dist/durable.js +1 -1
  16. package/dist/engine.cjs +26 -13
  17. package/dist/engine.cjs.map +1 -1
  18. package/dist/engine.js +3 -3
  19. package/dist/index.cjs +26 -13
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.js +11 -11
  22. package/dist/registry.cjs +26 -13
  23. package/dist/registry.cjs.map +1 -1
  24. package/dist/registry.js +2 -2
  25. package/dist/runtime.cjs +26 -13
  26. package/dist/runtime.cjs.map +1 -1
  27. package/dist/runtime.js +3 -3
  28. package/dist/schema.cjs +26 -13
  29. package/dist/schema.cjs.map +1 -1
  30. package/dist/schema.js +2 -2
  31. package/dist/screens.cjs +26 -13
  32. package/dist/screens.cjs.map +1 -1
  33. package/dist/screens.js +4 -4
  34. package/dist/ux.cjs +26 -13
  35. package/dist/ux.cjs.map +1 -1
  36. package/dist/ux.js +1 -1
  37. package/package.json +2 -2
  38. package/dist/chunk-XCT2CJ5O.js.map +0 -1
package/dist/engine.js CHANGED
@@ -1,8 +1,8 @@
1
- export { runCohort } from './chunk-SKEZ5AGI.js';
1
+ export { runCohort } from './chunk-RR7A6IUW.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
- import { runFlow, getNodeKind, resolveNodePorts } from './chunk-XCT2CJ5O.js';
5
- export { RunIdentity, defaultConfigFor, escapeSegment, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, runFlow, validateConfig } from './chunk-XCT2CJ5O.js';
4
+ import { runFlow, getNodeKind, resolveNodePorts } from './chunk-JOXMAWAI.js';
5
+ export { RunIdentity, defaultConfigFor, escapeSegment, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, runFlow, validateConfig } from './chunk-JOXMAWAI.js';
6
6
  import './chunk-F5RPRB7A.js';
7
7
  import { isResolutionFailure, registerLlmClient, registerWorkflowResolver } from './chunk-USL4FMFU.js';
8
8
 
package/dist/index.cjs CHANGED
@@ -11219,7 +11219,8 @@ async function runFlow(graph, executors, onEvent = () => {
11219
11219
  const inputs = collectInputs(node, incoming, portValues, initialInputs, props, declaresProps);
11220
11220
  const exec = pickExecutor(executors, node);
11221
11221
  if (!exec) {
11222
- const msg = `No executor registered for kind=${node.type}`;
11222
+ const tried = executorLookupIds(node);
11223
+ const msg = `No executor registered for kind=${node.type} \u2014 tried ${tried.map((id2) => `"${id2}"`).join(", ")}. Key your registry by one of those.`;
11223
11224
  errors.push(msg);
11224
11225
  onEvent({ type: "node-status", nodeId: node.id, status: "error", text: msg });
11225
11226
  onEvent({ type: "log", nodeId: node.id, level: "error", message: msg });
@@ -11312,19 +11313,31 @@ function collectInputs(node, incoming, portValues, initial, props, declaresProps
11312
11313
  if (declaresProps) inputs.$props = props;
11313
11314
  return inputs;
11314
11315
  }
11316
+ function executorLookupIds(node) {
11317
+ const ids = [node.id];
11318
+ if (node.type) ids.push(node.type);
11319
+ const typeKind = node.type ? getNodeKind(node.type) : null;
11320
+ if (typeKind) {
11321
+ for (const id2 of kindIds(typeKind)) ids.push(id2);
11322
+ } else {
11323
+ const declared = node.data?.kind;
11324
+ const kindName = typeof declared === "string" && declared !== "" ? declared : null;
11325
+ if (kindName) {
11326
+ ids.push(kindName);
11327
+ const dataKind = getNodeKind(kindName);
11328
+ if (dataKind) {
11329
+ for (const id2 of kindIds(dataKind)) ids.push(id2);
11330
+ }
11331
+ }
11332
+ }
11333
+ ids.push("*");
11334
+ return [...new Set(ids)];
11335
+ }
11315
11336
  function pickExecutor(executors, node) {
11316
- if (executors[node.id]) return executors[node.id];
11317
- if (node.type && executors[node.type]) return executors[node.type];
11318
- const declared = node.data?.kind;
11319
- const kindName = typeof declared === "string" && declared !== "" ? declared : node.type;
11320
- if (kindName && kindName !== node.type && executors[kindName]) return executors[kindName];
11321
- const kind = kindName ? getNodeKind(kindName) : null;
11322
- if (kind) {
11323
- for (const id2 of kindIds(kind)) {
11324
- if (executors[id2]) return executors[id2];
11325
- }
11326
- }
11327
- return executors["*"];
11337
+ for (const id2 of executorLookupIds(node)) {
11338
+ if (executors[id2]) return executors[id2];
11339
+ }
11340
+ return void 0;
11328
11341
  }
11329
11342
  function activatedPorts(node, result) {
11330
11343
  if (result && typeof result === "object") {