@hostwebhook/node-types 1.51.0 → 1.52.1

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.
package/dist/types.d.ts CHANGED
@@ -68,6 +68,19 @@ export interface NodeUIConfig {
68
68
  name: string;
69
69
  field: string;
70
70
  }>;
71
+ /**
72
+ * Optional content-aware gate — the output-group modal only opens
73
+ * when `entity[gate.field] === gate.value`. Lets a node opt into
74
+ * multi-branch routing only in some modes (e.g. AI Node in
75
+ * classifier mode) without trapping every connection in the
76
+ * picker the rest of the time. When the gate fails, the
77
+ * FlowCanvas falls through to the universal
78
+ * `entity.outputNodes` connect path.
79
+ */
80
+ gate?: {
81
+ field: string;
82
+ value: unknown;
83
+ };
71
84
  };
72
85
  /**
73
86
  * Maps output fields to alternate payload fields on the source entity.
package/dist/ui.js CHANGED
@@ -28,7 +28,15 @@ exports.NODE_UI = {
28
28
  aggregator: { fromNodes: true, toNodes: true, special: { loopBackAllowed: true } },
29
29
  cache: { fromNodes: true, toNodes: true },
30
30
  code: { fromNodes: true, toNodes: true, special: { loopBackAllowed: true } },
31
- ai: { fromNodes: true, toNodes: true },
31
+ // AI Node: in classifier mode (entity.outputMode === 'classifier') the
32
+ // node fans out to N output handles — one per category in
33
+ // `entity.categories[]` plus an optional synthesized "Other" handle
34
+ // (controlled by `entity.includeOtherBranch`). Wiring lives in
35
+ // `categories[].outputNodes` + `otherOutputNodes`, mirroring
36
+ // ConditionalNode's `branches[]` + `elseOutputNodes`. In any other
37
+ // outputMode the node falls back to the single right-out handle
38
+ // NodeShell renders when no dynamic outputs materialize.
39
+ ai: { fromNodes: true, toNodes: true, outputHandles: ['right'], special: { loopBackAllowed: true, connectModal: 'output-group', outputGroups: { field: 'categories', nameField: 'name', summaryField: 'description', label: 'category', elseField: 'otherOutputNodes', gate: { field: 'outputMode', value: 'classifier' } } } },
32
40
  markdown: { fromNodes: true, toNodes: true, special: { loopBackAllowed: true } },
33
41
  fileTransform: { fromNodes: true, toNodes: true },
34
42
  limit: { fromNodes: true, toNodes: true, special: { loopBackAllowed: true } },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostwebhook/node-types",
3
- "version": "1.51.0",
3
+ "version": "1.52.1",
4
4
  "description": "Shared node type definitions, connection rules, and dispatch config for HostWebhook",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",