@n8n/ai-utilities 0.19.1 → 0.20.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.
@@ -8,6 +8,7 @@ export declare const SCORE_WEIGHTS: {
8
8
  export declare class CodeBuilderNodeSearchEngine {
9
9
  private readonly nodeTypes;
10
10
  constructor(nodeTypes: Array<INodeTypeDescription | LeanNodeTypeDescription>);
11
+ private fuzzySearchNodes;
11
12
  searchByName(query: string, limit?: number, nodeFilter?: (nodeId: string) => boolean): CodeBuilderNodeSearchResult[];
12
13
  searchByConnectionType(connectionType: NodeConnectionType, limit?: number, nameFilter?: string): CodeBuilderNodeSearchResult[];
13
14
  formatResult(result: CodeBuilderNodeSearchResult): string;
@@ -29,7 +29,6 @@
29
29
  { key: 'displayName', weight: 1.5 },
30
30
  { key: 'name', weight: 1.3 },
31
31
  { key: 'codex.alias', weight: 1.0 },
32
- { key: 'description', weight: 0.7 },
33
32
  ];
34
33
  function getTypeName(nodeName) {
35
34
  if (!nodeName)
@@ -37,6 +36,19 @@
37
36
  const lastDotIndex = nodeName.lastIndexOf('.');
38
37
  return lastDotIndex >= 0 ? nodeName.substring(lastDotIndex + 1) : nodeName;
39
38
  }
39
+ function descriptionMatchScore(description, queryLower, queryTerms) {
40
+ if (!description)
41
+ return 0;
42
+ const descriptionLower = description.toLowerCase();
43
+ if (queryTerms.length === 0)
44
+ return descriptionLower.includes(queryLower) ? 1 : 0;
45
+ let matches = 0;
46
+ for (const term of queryTerms) {
47
+ if (descriptionLower.includes(term))
48
+ matches += 1;
49
+ }
50
+ return matches;
51
+ }
40
52
  exports.SCORE_WEIGHTS = {
41
53
  CONNECTION_EXACT: 100,
42
54
  CONNECTION_IN_EXPRESSION: 50,
@@ -47,7 +59,9 @@
47
59
  function extractSubnodeRequirements(inputs) {
48
60
  if (!inputs)
49
61
  return [];
50
- return Object.entries(inputs).map(([connectionType, config]) => ({
62
+ return Object.entries(inputs)
63
+ .filter((entry) => entry[1] !== null && entry[1] !== undefined)
64
+ .map(([connectionType, config]) => ({
51
65
  connectionType,
52
66
  required: config.required,
53
67
  ...(config.displayOptions && { displayOptions: config.displayOptions }),
@@ -74,31 +88,83 @@
74
88
  const lean = nodeTypes.map((n) => (isLeanNodeType(n) ? n : (0, lean_node_type_1.toLeanNodeType)(n)));
75
89
  this.nodeTypes = dedupeNodes(lean);
76
90
  }
77
- searchByName(query, limit = 20, nodeFilter) {
78
- const nodeTypes = nodeFilter
79
- ? this.nodeTypes.filter((node) => nodeFilter(node.name))
80
- : this.nodeTypes;
81
- const searchResults = (0, utils_1.sublimeSearch)(query, nodeTypes, NODE_SEARCH_KEYS);
91
+ fuzzySearchNodes(query, candidates, limit) {
82
92
  const queryLower = query.toLowerCase().trim();
93
+ const queryTerms = queryLower.split(/\s+/).filter((t) => t.length > 1);
94
+ const isMultiWord = queryTerms.length > 1;
95
+ let searchResults;
96
+ if (isMultiWord) {
97
+ const scoreMap = new Map();
98
+ for (const term of queryTerms) {
99
+ const termResults = (0, utils_1.sublimeSearch)(term, candidates, NODE_SEARCH_KEYS).slice(0, limit);
100
+ for (const r of termResults) {
101
+ const existing = scoreMap.get(r.item.name);
102
+ if (!existing || r.score > existing.score) {
103
+ scoreMap.set(r.item.name, { item: r.item, score: r.score });
104
+ }
105
+ }
106
+ }
107
+ searchResults = [...scoreMap.values()];
108
+ }
109
+ else {
110
+ searchResults = (0, utils_1.sublimeSearch)(query, candidates, NODE_SEARCH_KEYS);
111
+ }
83
112
  const fuzzyResultNames = new Set(searchResults.map((r) => r.item.name));
84
- const typeNameMatches = nodeTypes
113
+ const remainingDescriptionMatches = limit === undefined ? Number.POSITIVE_INFINITY : Math.max(0, limit - searchResults.length);
114
+ if (remainingDescriptionMatches > 0) {
115
+ const descriptionResults = [];
116
+ for (const item of candidates) {
117
+ if (fuzzyResultNames.has(item.name))
118
+ continue;
119
+ const score = descriptionMatchScore(item.description, queryLower, queryTerms);
120
+ if (score === 0)
121
+ continue;
122
+ descriptionResults.push({ item, score });
123
+ fuzzyResultNames.add(item.name);
124
+ if (descriptionResults.length >= remainingDescriptionMatches)
125
+ break;
126
+ }
127
+ searchResults = [...searchResults, ...descriptionResults];
128
+ }
129
+ const typeNameMatches = candidates
85
130
  .filter((node) => {
86
131
  if (fuzzyResultNames.has(node.name))
87
132
  return false;
88
- return getTypeName(node.name).toLowerCase() === queryLower;
133
+ const typeName = getTypeName(node.name).toLowerCase();
134
+ const displayName = (node.displayName ?? '').toLowerCase();
135
+ if (typeName === queryLower || displayName === queryLower)
136
+ return true;
137
+ return queryTerms.some((term) => typeName === term ||
138
+ typeName.includes(term) ||
139
+ displayName === term ||
140
+ displayName.includes(term));
89
141
  })
90
142
  .map((item) => ({ item, score: 0 }));
91
143
  const allResults = [...searchResults, ...typeNameMatches];
92
144
  allResults.sort((a, b) => {
93
- const exactA = getTypeName(a.item.name).toLowerCase() === queryLower;
94
- const exactB = getTypeName(b.item.name).toLowerCase() === queryLower;
145
+ const typeNameA = getTypeName(a.item.name).toLowerCase();
146
+ const displayNameA = (a.item.displayName ?? '').toLowerCase();
147
+ const typeNameB = getTypeName(b.item.name).toLowerCase();
148
+ const displayNameB = (b.item.displayName ?? '').toLowerCase();
149
+ const exactA = typeNameA === queryLower ||
150
+ displayNameA === queryLower ||
151
+ queryTerms.some((t) => typeNameA === t || displayNameA === t);
152
+ const exactB = typeNameB === queryLower ||
153
+ displayNameB === queryLower ||
154
+ queryTerms.some((t) => typeNameB === t || displayNameB === t);
95
155
  if (exactA && !exactB)
96
156
  return -1;
97
157
  if (!exactA && exactB)
98
158
  return 1;
99
159
  return b.score - a.score;
100
160
  });
101
- return allResults
161
+ return allResults;
162
+ }
163
+ searchByName(query, limit = 20, nodeFilter) {
164
+ const nodeTypes = nodeFilter
165
+ ? this.nodeTypes.filter((node) => nodeFilter(node.name))
166
+ : this.nodeTypes;
167
+ return this.fuzzySearchNodes(query, nodeTypes, limit)
102
168
  .slice(0, limit)
103
169
  .map(({ item, score, }) => {
104
170
  const subnodeRequirements = extractSubnodeRequirements(item.builderHint?.inputs);
@@ -146,7 +212,7 @@
146
212
  });
147
213
  }
148
214
  const nodeTypesOnly = nodesWithConnectionType.map((result) => result.nodeType);
149
- const nameFilteredResults = (0, utils_1.sublimeSearch)(nameFilter, nodeTypesOnly, NODE_SEARCH_KEYS);
215
+ const nameFilteredResults = this.fuzzySearchNodes(nameFilter, nodeTypesOnly, limit);
150
216
  return nameFilteredResults
151
217
  .slice(0, limit)
152
218
  .map(({ item, score: nameScore }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"search-engine.js","sourceRoot":"","sources":["../../../src/node-catalog/search-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-engine.js","sourceRoot":"","sources":["../../../src/node-catalog/search-engine.ts"],"names":[],"mappings":"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"}