@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/engine.d.cts CHANGED
@@ -2,8 +2,8 @@ export { R as RunOptions, a as RunResult, r as runFlow } from './run-flow-2XsHBw
2
2
  import { F as FlowGraph, R as RunEvent, N as NodeExecutor } from './types-JFYjPJAG.cjs';
3
3
  export { A as ActionNodeData, B as BaseNodeData, D as DecisionNodeData, E as ExecutorRegistry, d as FlowEdge, a as FlowNode, e as FlowNodeData, f as FlowNodeKind, g as NodeRunStatus, h as NoteNodeData, O as OutputNodeData, P as PortDescriptor, b as RunIdentity, c as RunIdentityJson, S as SubgraphNodeData, T as TriggerNodeData, i as escapeSegment } from './types-JFYjPJAG.cjs';
4
4
  export { C as CohortGuard, a as CohortOptions, b as CohortPolicy, c as CohortResult, r as runCohort } from './run-cohort-CBRAUj-z.cjs';
5
- export { d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, r as registerNodeKind, a as resolveKindId, v as validateConfig } from './registry-C6TMfiD_.cjs';
6
- export { b as CapabilityRequirement, C as ConfigField, M as ManifestProblem, c as ManifestValidation, d as NODE_MANIFEST_SCHEMA_VERSION, a as NodeCategory, N as NodeKindDefinition, e as NodePackageManifest, f as NodeRuntimeId, g as NodeRuntimeSpec, O as OutputField, h as OutputShape, P as PortSpec, S as SideEffects, i as checkCapabilities, j as checkRuntimeSupport, s as satisfiesRange, v as validateNodeManifest } from './types-3sPauVRT.cjs';
5
+ export { d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, r as registerNodeKind, a as resolveKindId, v as validateConfig } from './registry-1qhmRtvC.cjs';
6
+ export { b as CapabilityRequirement, C as ConfigField, E as EmitsRelation, M as ManifestProblem, c as ManifestValidation, d as NODE_MANIFEST_SCHEMA_VERSION, a as NodeCategory, N as NodeKindDefinition, e as NodePackageManifest, f as NodeRuntimeId, g as NodeRuntimeSpec, O as OutputField, h as OutputShape, P as PortSpec, S as SideEffects, i as checkCapabilities, j as checkRuntimeSupport, s as satisfiesRange, v as validateNodeManifest } from './types-BLVpNNLN.cjs';
7
7
  import { P as PauseAwaiting } from './pause-9iT4tCEV.cjs';
8
8
  export { L as LEGACY_PAUSE_PREFIXES, a as PAUSE_PREFIX, b as PauseSignal, d as decodePause, e as encodePause, i as isPause, p as pauseForHuman } from './pause-9iT4tCEV.cjs';
9
9
  import { W as WorkflowResolver } from './capabilities-BYa5p5jw.cjs';
package/dist/engine.d.ts CHANGED
@@ -2,8 +2,8 @@ export { R as RunOptions, a as RunResult, r as runFlow } from './run-flow-D7AOCc
2
2
  import { F as FlowGraph, R as RunEvent, N as NodeExecutor } from './types-JFYjPJAG.js';
3
3
  export { A as ActionNodeData, B as BaseNodeData, D as DecisionNodeData, E as ExecutorRegistry, d as FlowEdge, a as FlowNode, e as FlowNodeData, f as FlowNodeKind, g as NodeRunStatus, h as NoteNodeData, O as OutputNodeData, P as PortDescriptor, b as RunIdentity, c as RunIdentityJson, S as SubgraphNodeData, T as TriggerNodeData, i as escapeSegment } from './types-JFYjPJAG.js';
4
4
  export { C as CohortGuard, a as CohortOptions, b as CohortPolicy, c as CohortResult, r as runCohort } from './run-cohort-C1nRh_mi.js';
5
- export { d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, r as registerNodeKind, a as resolveKindId, v as validateConfig } from './registry-3RkSYrMi.js';
6
- export { b as CapabilityRequirement, C as ConfigField, M as ManifestProblem, c as ManifestValidation, d as NODE_MANIFEST_SCHEMA_VERSION, a as NodeCategory, N as NodeKindDefinition, e as NodePackageManifest, f as NodeRuntimeId, g as NodeRuntimeSpec, O as OutputField, h as OutputShape, P as PortSpec, S as SideEffects, i as checkCapabilities, j as checkRuntimeSupport, s as satisfiesRange, v as validateNodeManifest } from './types-s643U1Hi.js';
5
+ export { d as defaultConfigFor, g as getNodeKind, k as kindIds, l as listNodeKinds, r as registerNodeKind, a as resolveKindId, v as validateConfig } from './registry-D2qocEsY.js';
6
+ export { b as CapabilityRequirement, C as ConfigField, E as EmitsRelation, M as ManifestProblem, c as ManifestValidation, d as NODE_MANIFEST_SCHEMA_VERSION, a as NodeCategory, N as NodeKindDefinition, e as NodePackageManifest, f as NodeRuntimeId, g as NodeRuntimeSpec, O as OutputField, h as OutputShape, P as PortSpec, S as SideEffects, i as checkCapabilities, j as checkRuntimeSupport, s as satisfiesRange, v as validateNodeManifest } from './types-CLSUZW8c.js';
7
7
  import { P as PauseAwaiting } from './pause-9iT4tCEV.js';
8
8
  export { L as LEGACY_PAUSE_PREFIXES, a as PAUSE_PREFIX, b as PauseSignal, d as decodePause, e as encodePause, i as isPause, p as pauseForHuman } from './pause-9iT4tCEV.js';
9
9
  import { W as WorkflowResolver } from './capabilities-COOXRiNL.js';
package/dist/engine.js CHANGED
@@ -1,8 +1,8 @@
1
- export { runCohort } from './chunk-KP4TBF3A.js';
1
+ export { runCohort } from './chunk-A3TLZS5B.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-22OJOD4X.js';
5
- export { RunIdentity, defaultConfigFor, escapeSegment, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, runFlow, validateConfig } from './chunk-22OJOD4X.js';
4
+ import { runFlow, getNodeKind, resolveNodePorts } from './chunk-HBE4LVPX.js';
5
+ export { RunIdentity, defaultConfigFor, escapeSegment, getNodeKind, kindIds, listNodeKinds, registerNodeKind, resolveKindId, runFlow, validateConfig } from './chunk-HBE4LVPX.js';
6
6
  import './chunk-F5RPRB7A.js';
7
7
  import { isResolutionFailure, registerLlmClient, registerWorkflowResolver } from './chunk-USL4FMFU.js';
8
8
 
@@ -1,8 +1,8 @@
1
- import { H as HumanFieldRenderers, C as ConfigFieldRenderFn } from '../HumanPrompt-CPl-Spmp.cjs';
1
+ import { H as HumanFieldRenderers, C as ConfigFieldRenderFn } from '../HumanPrompt-DV5-xnDa.cjs';
2
2
  import 'react';
3
3
  import '../types-JFYjPJAG.cjs';
4
4
  import '@xyflow/react';
5
- import '../types-3sPauVRT.cjs';
5
+ import '../types-BLVpNNLN.cjs';
6
6
  import '../pause-9iT4tCEV.cjs';
7
7
 
8
8
  /**
@@ -1,8 +1,8 @@
1
- import { H as HumanFieldRenderers, C as ConfigFieldRenderFn } from '../HumanPrompt-DlJSFi3F.js';
1
+ import { H as HumanFieldRenderers, C as ConfigFieldRenderFn } from '../HumanPrompt-Bw09OyS3.js';
2
2
  import 'react';
3
3
  import '../types-JFYjPJAG.js';
4
4
  import '@xyflow/react';
5
- import '../types-s643U1Hi.js';
5
+ import '../types-CLSUZW8c.js';
6
6
  import '../pause-9iT4tCEV.js';
7
7
 
8
8
  /**
package/dist/index.cjs CHANGED
@@ -11607,6 +11607,8 @@ var KINDS = [
11607
11607
  // ───────────── Triggers ─────────────
11608
11608
  {
11609
11609
  name: "@particle-academy/manual_trigger",
11610
+ // returns the inputs it was started with
11611
+ emits: "input",
11610
11612
  aliases: ["manual_trigger", "@fancy/manual_trigger"],
11611
11613
  category: "trigger",
11612
11614
  label: "Manual",
@@ -11635,6 +11637,12 @@ var KINDS = [
11635
11637
  },
11636
11638
  {
11637
11639
  name: "@particle-academy/schedule_trigger",
11640
+ outputShape: [
11641
+ { path: "cron", type: "string", description: "The cron expression that fired." },
11642
+ { path: "timezone", type: "string", description: "The timezone it was evaluated in." }
11643
+ ],
11644
+ // merges its inputs into the TOP level beside cron/timezone
11645
+ emits: "inputs-merged",
11638
11646
  aliases: ["schedule_trigger", "@fancy/schedule_trigger"],
11639
11647
  category: "trigger",
11640
11648
  label: "Schedule",
@@ -11822,6 +11830,8 @@ var KINDS = [
11822
11830
  // ───────────── Logic ─────────────
11823
11831
  {
11824
11832
  name: "@particle-academy/branch",
11833
+ // returns its input on the chosen port
11834
+ emits: "input",
11825
11835
  aliases: ["branch", "@fancy/branch"],
11826
11836
  category: "logic",
11827
11837
  label: "Branch",
@@ -11885,6 +11895,8 @@ var KINDS = [
11885
11895
  },
11886
11896
  {
11887
11897
  name: "@particle-academy/switch_case",
11898
+ // returns its input on the chosen port
11899
+ emits: "input",
11888
11900
  aliases: ["switch_case", "@fancy/switch_case"],
11889
11901
  category: "logic",
11890
11902
  label: "Switch",
@@ -11931,6 +11943,12 @@ var KINDS = [
11931
11943
  },
11932
11944
  {
11933
11945
  name: "@particle-academy/merge",
11946
+ // `merge` mode unions every object input at the TOP level; `concat` builds
11947
+ // a list instead, whose elements are not addressable as fields. So concat
11948
+ // declares NOTHING rather than an empty list -- `[]` would claim "emits no
11949
+ // fields" of a kind that emits a list, which is false and refuses every
11950
+ // reference.
11951
+ emits: (config) => (config?.mode ?? "merge") === "concat" ? null : "inputs-merged",
11934
11952
  aliases: ["merge", "@fancy/merge"],
11935
11953
  category: "logic",
11936
11954
  label: "Merge",
@@ -11950,6 +11968,11 @@ var KINDS = [
11950
11968
  },
11951
11969
  {
11952
11970
  name: "@particle-academy/wait",
11971
+ outputShape: [
11972
+ { path: "waited", type: "string", description: "Which wait mode ran." },
11973
+ { path: "duration", type: "number", description: "How long it waited." },
11974
+ { path: "input", type: "unknown", description: "The value that arrived, carried forward." }
11975
+ ],
11953
11976
  aliases: ["wait", "@fancy/wait"],
11954
11977
  category: "logic",
11955
11978
  label: "Wait",
@@ -11968,6 +11991,9 @@ var KINDS = [
11968
11991
  },
11969
11992
  {
11970
11993
  name: "@particle-academy/transform",
11994
+ // Two behaviours: the input unchanged when no expression is configured,
11995
+ // else the shape that expression names. So the RELATION is config-dependent.
11996
+ emits: (config) => (config?.expression ?? "") === "" ? "input" : "expression:expression",
11971
11997
  aliases: ["transform", "@fancy/transform"],
11972
11998
  category: "logic",
11973
11999
  label: "Transform",
@@ -12067,6 +12093,8 @@ var KINDS = [
12067
12093
  },
12068
12094
  {
12069
12095
  name: "@particle-academy/variable",
12096
+ // evaluates the expression in config.value
12097
+ emits: "expression:value",
12070
12098
  aliases: ["variable", "@fancy/variable"],
12071
12099
  category: "data",
12072
12100
  label: "Variable",
@@ -12147,6 +12175,11 @@ var KINDS = [
12147
12175
  },
12148
12176
  {
12149
12177
  name: "@particle-academy/llm_router",
12178
+ outputShape: [
12179
+ { path: "route", type: "string", description: "The port the model chose." },
12180
+ { path: "reason", type: "string", description: "Why the model chose it." },
12181
+ { path: "input", type: "unknown", description: "The value that arrived, carried forward." }
12182
+ ],
12150
12183
  // Every id this node has ever shipped under keeps resolving — MOIC's saved
12151
12184
  // flows carry the bare `llm_branch`.
12152
12185
  aliases: ["llm_router", "llm_branch", "@fancy/llm_branch", "@fancy/llm_router"],
@@ -12285,6 +12318,11 @@ var KINDS = [
12285
12318
  },
12286
12319
  {
12287
12320
  name: "@particle-academy/webhook_out",
12321
+ outputShape: [
12322
+ { path: "sent", type: "boolean", description: "True once the request was made." },
12323
+ { path: "status", type: "number", description: "HTTP status, when the transport reported one." },
12324
+ { path: "response", type: "unknown", description: "The response body, when there was one." }
12325
+ ],
12288
12326
  aliases: ["webhook_out", "@fancy/webhook_out"],
12289
12327
  category: "io",
12290
12328
  label: "Send Webhook",
@@ -12306,6 +12344,8 @@ var KINDS = [
12306
12344
  // ───────────── Human ─────────────
12307
12345
  {
12308
12346
  name: "@particle-academy/human_approval",
12347
+ // returns its input on approved/denied
12348
+ emits: "input",
12309
12349
  aliases: ["human_approval", "@fancy/human_approval"],
12310
12350
  pausesForHuman: "approval",
12311
12351
  category: "human",
@@ -12322,6 +12362,12 @@ var KINDS = [
12322
12362
  },
12323
12363
  {
12324
12364
  name: "@particle-academy/notify",
12365
+ outputShape: [
12366
+ { path: "sent", type: "boolean", description: "True once the message was handed to the channel." },
12367
+ { path: "channel", type: "string", description: "The channel it went to." },
12368
+ { path: "to", type: "string", description: "The recipient." },
12369
+ { path: "message", type: "string", description: "The rendered message." }
12370
+ ],
12325
12371
  aliases: ["notify", "@fancy/notify"],
12326
12372
  category: "human",
12327
12373
  label: "Notify",
@@ -12347,6 +12393,8 @@ var KINDS = [
12347
12393
  // ───────────── Output ─────────────
12348
12394
  {
12349
12395
  name: "@particle-academy/output",
12396
+ // returns its input unchanged
12397
+ emits: "input",
12350
12398
  aliases: ["output", "@fancy/output"],
12351
12399
  category: "output",
12352
12400
  label: "Output",
@@ -12357,6 +12405,10 @@ var KINDS = [
12357
12405
  },
12358
12406
  {
12359
12407
  name: "@particle-academy/log",
12408
+ outputShape: [
12409
+ { path: "logged", type: "string", description: "The message that was written." },
12410
+ { path: "level", type: "string", description: "The level it was written at." }
12411
+ ],
12360
12412
  aliases: ["log", "@fancy/log"],
12361
12413
  category: "output",
12362
12414
  label: "Log",