@particle-academy/fancy-flow 0.56.0 → 0.58.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 (57) hide show
  1. package/dist/{HumanPrompt-DlJSFi3F.d.ts → HumanPrompt-Bw09OyS3.d.ts} +1 -1
  2. package/dist/{HumanPrompt-CPl-Spmp.d.cts → HumanPrompt-DV5-xnDa.d.cts} +1 -1
  3. package/dist/{chunk-KP4TBF3A.js → chunk-A3TLZS5B.js} +3 -3
  4. package/dist/{chunk-KP4TBF3A.js.map → chunk-A3TLZS5B.js.map} +1 -1
  5. package/dist/{chunk-GB4A7DFM.js → chunk-FGYG5JVW.js} +3 -3
  6. package/dist/{chunk-GB4A7DFM.js.map → chunk-FGYG5JVW.js.map} +1 -1
  7. package/dist/{chunk-22OJOD4X.js → chunk-HBE4LVPX.js} +54 -2
  8. package/dist/chunk-HBE4LVPX.js.map +1 -0
  9. package/dist/{chunk-L4QAAGLV.js → chunk-LGLOBK6Q.js} +3 -3
  10. package/dist/{chunk-L4QAAGLV.js.map → chunk-LGLOBK6Q.js.map} +1 -1
  11. package/dist/{chunk-E3AGYTHP.js → chunk-M7M6GLFV.js} +3 -3
  12. package/dist/{chunk-E3AGYTHP.js.map → chunk-M7M6GLFV.js.map} +1 -1
  13. package/dist/{chunk-HMEI2LFU.js → chunk-MX4SJDNI.js} +4 -4
  14. package/dist/{chunk-HMEI2LFU.js.map → chunk-MX4SJDNI.js.map} +1 -1
  15. package/dist/connectors.d.cts +1 -1
  16. package/dist/connectors.d.ts +1 -1
  17. package/dist/durable.cjs +52 -0
  18. package/dist/durable.cjs.map +1 -1
  19. package/dist/durable.js +1 -1
  20. package/dist/engine.cjs +52 -0
  21. package/dist/engine.cjs.map +1 -1
  22. package/dist/engine.d.cts +2 -2
  23. package/dist/engine.d.ts +2 -2
  24. package/dist/engine.js +3 -3
  25. package/dist/fields/react-fancy.d.cts +2 -2
  26. package/dist/fields/react-fancy.d.ts +2 -2
  27. package/dist/index.cjs +52 -0
  28. package/dist/index.cjs.map +1 -1
  29. package/dist/index.d.cts +5 -5
  30. package/dist/index.d.ts +5 -5
  31. package/dist/index.js +11 -11
  32. package/dist/index.js.map +1 -1
  33. package/dist/registry/index.d.cts +3 -3
  34. package/dist/registry/index.d.ts +3 -3
  35. package/dist/{registry-C6TMfiD_.d.cts → registry-1qhmRtvC.d.cts} +1 -1
  36. package/dist/{registry-3RkSYrMi.d.ts → registry-D2qocEsY.d.ts} +1 -1
  37. package/dist/registry.cjs +52 -0
  38. package/dist/registry.cjs.map +1 -1
  39. package/dist/registry.js +2 -2
  40. package/dist/runtime.cjs +52 -0
  41. package/dist/runtime.cjs.map +1 -1
  42. package/dist/runtime.js +3 -3
  43. package/dist/schema.cjs +52 -0
  44. package/dist/schema.cjs.map +1 -1
  45. package/dist/schema.js +2 -2
  46. package/dist/screens.cjs +52 -0
  47. package/dist/screens.cjs.map +1 -1
  48. package/dist/screens.js +4 -4
  49. package/dist/{types-3sPauVRT.d.cts → types-BLVpNNLN.d.cts} +40 -1
  50. package/dist/{types-s643U1Hi.d.ts → types-CLSUZW8c.d.ts} +40 -1
  51. package/dist/ux.cjs +52 -0
  52. package/dist/ux.cjs.map +1 -1
  53. package/dist/ux.d.cts +1 -1
  54. package/dist/ux.d.ts +1 -1
  55. package/dist/ux.js +1 -1
  56. package/package.json +1 -1
  57. package/dist/chunk-22OJOD4X.js.map +0 -1
package/dist/registry.js CHANGED
@@ -1,6 +1,6 @@
1
- export { ANY_PORT_TYPE, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility } from './chunk-E3AGYTHP.js';
1
+ export { ANY_PORT_TYPE, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility } from './chunk-M7M6GLFV.js';
2
2
  export { LEGACY_PAUSE_PREFIXES, PAUSE_PREFIX, decodePause, encodePause, isPause, pauseForHuman } from './chunk-UEOE6B52.js';
3
- export { BUILTIN_KINDS, DEFAULT_MAX_DEPTH, categoryAccent, clearNodeKindOverrides, declaredRoutes, defaultConfigFor, ensureBuiltinKinds, getNodeKind, kindIds, listNodeKinds, llmRouterExecutor as llmBranchExecutor, llmRouterExecutor, nodeConfig, onNodeKindsChanged, overrideNodeKind, registerBuiltinKinds, registerNodeKind, resolveFallbackPort, resolveKindId, resolveNodePorts, resolvePortSpec, subflowExecutor, subflowMode, subflowPorts, validateConfig } from './chunk-22OJOD4X.js';
3
+ export { BUILTIN_KINDS, DEFAULT_MAX_DEPTH, categoryAccent, clearNodeKindOverrides, declaredRoutes, defaultConfigFor, ensureBuiltinKinds, getNodeKind, kindIds, listNodeKinds, llmRouterExecutor as llmBranchExecutor, llmRouterExecutor, nodeConfig, onNodeKindsChanged, overrideNodeKind, registerBuiltinKinds, registerNodeKind, resolveFallbackPort, resolveKindId, resolveNodePorts, resolvePortSpec, subflowExecutor, subflowMode, subflowPorts, validateConfig } from './chunk-HBE4LVPX.js';
4
4
  export { RichInputPreview, getRichInputAdapter, isRichInputEnabled, onRichInputAdapterChanged, registerRichInputAdapter } from './chunk-F5RPRB7A.js';
5
5
  export { capabilityStatus, getLlmClient, getWorkflowResolver, isResolutionFailure, registerLlmClient, registerWorkflowResolver } from './chunk-USL4FMFU.js';
6
6
  //# sourceMappingURL=registry.js.map
package/dist/runtime.cjs CHANGED
@@ -9292,6 +9292,8 @@ var KINDS = [
9292
9292
  // ───────────── Triggers ─────────────
9293
9293
  {
9294
9294
  name: "@particle-academy/manual_trigger",
9295
+ // returns the inputs it was started with
9296
+ emits: "input",
9295
9297
  aliases: ["manual_trigger", "@fancy/manual_trigger"],
9296
9298
  category: "trigger",
9297
9299
  label: "Manual",
@@ -9320,6 +9322,12 @@ var KINDS = [
9320
9322
  },
9321
9323
  {
9322
9324
  name: "@particle-academy/schedule_trigger",
9325
+ outputShape: [
9326
+ { path: "cron", type: "string", description: "The cron expression that fired." },
9327
+ { path: "timezone", type: "string", description: "The timezone it was evaluated in." }
9328
+ ],
9329
+ // merges its inputs into the TOP level beside cron/timezone
9330
+ emits: "inputs-merged",
9323
9331
  aliases: ["schedule_trigger", "@fancy/schedule_trigger"],
9324
9332
  category: "trigger",
9325
9333
  label: "Schedule",
@@ -9507,6 +9515,8 @@ var KINDS = [
9507
9515
  // ───────────── Logic ─────────────
9508
9516
  {
9509
9517
  name: "@particle-academy/branch",
9518
+ // returns its input on the chosen port
9519
+ emits: "input",
9510
9520
  aliases: ["branch", "@fancy/branch"],
9511
9521
  category: "logic",
9512
9522
  label: "Branch",
@@ -9570,6 +9580,8 @@ var KINDS = [
9570
9580
  },
9571
9581
  {
9572
9582
  name: "@particle-academy/switch_case",
9583
+ // returns its input on the chosen port
9584
+ emits: "input",
9573
9585
  aliases: ["switch_case", "@fancy/switch_case"],
9574
9586
  category: "logic",
9575
9587
  label: "Switch",
@@ -9616,6 +9628,12 @@ var KINDS = [
9616
9628
  },
9617
9629
  {
9618
9630
  name: "@particle-academy/merge",
9631
+ // `merge` mode unions every object input at the TOP level; `concat` builds
9632
+ // a list instead, whose elements are not addressable as fields. So concat
9633
+ // declares NOTHING rather than an empty list -- `[]` would claim "emits no
9634
+ // fields" of a kind that emits a list, which is false and refuses every
9635
+ // reference.
9636
+ emits: (config) => (config?.mode ?? "merge") === "concat" ? null : "inputs-merged",
9619
9637
  aliases: ["merge", "@fancy/merge"],
9620
9638
  category: "logic",
9621
9639
  label: "Merge",
@@ -9635,6 +9653,11 @@ var KINDS = [
9635
9653
  },
9636
9654
  {
9637
9655
  name: "@particle-academy/wait",
9656
+ outputShape: [
9657
+ { path: "waited", type: "string", description: "Which wait mode ran." },
9658
+ { path: "duration", type: "number", description: "How long it waited." },
9659
+ { path: "input", type: "unknown", description: "The value that arrived, carried forward." }
9660
+ ],
9638
9661
  aliases: ["wait", "@fancy/wait"],
9639
9662
  category: "logic",
9640
9663
  label: "Wait",
@@ -9653,6 +9676,9 @@ var KINDS = [
9653
9676
  },
9654
9677
  {
9655
9678
  name: "@particle-academy/transform",
9679
+ // Two behaviours: the input unchanged when no expression is configured,
9680
+ // else the shape that expression names. So the RELATION is config-dependent.
9681
+ emits: (config) => (config?.expression ?? "") === "" ? "input" : "expression:expression",
9656
9682
  aliases: ["transform", "@fancy/transform"],
9657
9683
  category: "logic",
9658
9684
  label: "Transform",
@@ -9752,6 +9778,8 @@ var KINDS = [
9752
9778
  },
9753
9779
  {
9754
9780
  name: "@particle-academy/variable",
9781
+ // evaluates the expression in config.value
9782
+ emits: "expression:value",
9755
9783
  aliases: ["variable", "@fancy/variable"],
9756
9784
  category: "data",
9757
9785
  label: "Variable",
@@ -9832,6 +9860,11 @@ var KINDS = [
9832
9860
  },
9833
9861
  {
9834
9862
  name: "@particle-academy/llm_router",
9863
+ outputShape: [
9864
+ { path: "route", type: "string", description: "The port the model chose." },
9865
+ { path: "reason", type: "string", description: "Why the model chose it." },
9866
+ { path: "input", type: "unknown", description: "The value that arrived, carried forward." }
9867
+ ],
9835
9868
  // Every id this node has ever shipped under keeps resolving — MOIC's saved
9836
9869
  // flows carry the bare `llm_branch`.
9837
9870
  aliases: ["llm_router", "llm_branch", "@fancy/llm_branch", "@fancy/llm_router"],
@@ -9970,6 +10003,11 @@ var KINDS = [
9970
10003
  },
9971
10004
  {
9972
10005
  name: "@particle-academy/webhook_out",
10006
+ outputShape: [
10007
+ { path: "sent", type: "boolean", description: "True once the request was made." },
10008
+ { path: "status", type: "number", description: "HTTP status, when the transport reported one." },
10009
+ { path: "response", type: "unknown", description: "The response body, when there was one." }
10010
+ ],
9973
10011
  aliases: ["webhook_out", "@fancy/webhook_out"],
9974
10012
  category: "io",
9975
10013
  label: "Send Webhook",
@@ -9991,6 +10029,8 @@ var KINDS = [
9991
10029
  // ───────────── Human ─────────────
9992
10030
  {
9993
10031
  name: "@particle-academy/human_approval",
10032
+ // returns its input on approved/denied
10033
+ emits: "input",
9994
10034
  aliases: ["human_approval", "@fancy/human_approval"],
9995
10035
  pausesForHuman: "approval",
9996
10036
  category: "human",
@@ -10007,6 +10047,12 @@ var KINDS = [
10007
10047
  },
10008
10048
  {
10009
10049
  name: "@particle-academy/notify",
10050
+ outputShape: [
10051
+ { path: "sent", type: "boolean", description: "True once the message was handed to the channel." },
10052
+ { path: "channel", type: "string", description: "The channel it went to." },
10053
+ { path: "to", type: "string", description: "The recipient." },
10054
+ { path: "message", type: "string", description: "The rendered message." }
10055
+ ],
10010
10056
  aliases: ["notify", "@fancy/notify"],
10011
10057
  category: "human",
10012
10058
  label: "Notify",
@@ -10032,6 +10078,8 @@ var KINDS = [
10032
10078
  // ───────────── Output ─────────────
10033
10079
  {
10034
10080
  name: "@particle-academy/output",
10081
+ // returns its input unchanged
10082
+ emits: "input",
10035
10083
  aliases: ["output", "@fancy/output"],
10036
10084
  category: "output",
10037
10085
  label: "Output",
@@ -10042,6 +10090,10 @@ var KINDS = [
10042
10090
  },
10043
10091
  {
10044
10092
  name: "@particle-academy/log",
10093
+ outputShape: [
10094
+ { path: "logged", type: "string", description: "The message that was written." },
10095
+ { path: "level", type: "string", description: "The level it was written at." }
10096
+ ],
10045
10097
  aliases: ["log", "@fancy/log"],
10046
10098
  category: "output",
10047
10099
  label: "Log",