@n8n-as-code/agent-cli 0.2.1 → 0.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai-context-generator.d.ts","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB;;IAGvB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlF,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,qBAAqB;CAQ9B"}
1
+ {"version":3,"file":"ai-context-generator.d.ts","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB;;IAGvB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBlF,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,qBAAqB;CAQ9B"}
@@ -52,8 +52,7 @@ export class AiContextGenerator {
52
52
  ``,
53
53
  `### 🛠 Coding Standards`,
54
54
  `1. **Expressions**: Use \`{{ $json.field }}\` (modern) instead of \`{{ $node["Name"].json.field }}\` when possible.`,
55
- `2. **Nodes**: Always prefer the \`Code\` node for custom logic.`,
56
- `3. **Credentials**: NEVER hardcode API keys. Mention needed credentials by name.`,
55
+ `2. **Credentials**: NEVER hardcode API keys. Mention needed credentials by name.`,
57
56
  ``,
58
57
  `### 🔬 Research Protocol (MANDATORY)`,
59
58
  `Do NOT hallucinate node parameters. Use these tools via \`npx @n8n-as-code/agent-cli\`:`,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-context-generator.js","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-context-generator.js","sourceRoot":"","sources":["../../src/services/ai-context-generator.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,39 @@ export interface INodeSchemaStub {
3
3
  displayName: string;
4
4
  description: string;
5
5
  version: number | number[];
6
+ keywords?: string[];
7
+ operations?: string[];
8
+ useCases?: string[];
9
+ relevanceScore?: number;
10
+ }
11
+ export interface IEnrichedNode {
12
+ name: string;
13
+ displayName: string;
14
+ description: string;
15
+ version: number | number[];
16
+ group?: string[];
17
+ icon?: string;
18
+ schema: {
19
+ properties: any;
20
+ sourcePath: string;
21
+ };
22
+ metadata: {
23
+ keywords: string[];
24
+ operations: string[];
25
+ useCases: string[];
26
+ keywordScore: number;
27
+ hasDocumentation: boolean;
28
+ markdownUrl: string | null;
29
+ markdownFile: string | null;
30
+ };
6
31
  }
7
32
  export declare class NodeSchemaProvider {
8
33
  private index;
34
+ private enrichedIndex;
9
35
  private indexPath;
10
- constructor(customIndexPath?: string);
36
+ private enrichedIndexPath;
37
+ private useEnriched;
38
+ constructor(customIndexPath?: string, useEnriched?: boolean);
11
39
  private loadIndex;
12
40
  /**
13
41
  * Get the full JSON schema for a specific node by name.
@@ -15,10 +43,14 @@ export declare class NodeSchemaProvider {
15
43
  */
16
44
  getNodeSchema(nodeName: string): any | null;
17
45
  /**
18
- * Fuzzy search for nodes.
46
+ * Calculate relevance score for a node based on query
47
+ */
48
+ private calculateRelevance;
49
+ /**
50
+ * Fuzzy search for nodes with improved relevance scoring.
19
51
  * Returns a list of matches (stub only, not full schema).
20
52
  */
21
- searchNodes(query: string): INodeSchemaStub[];
53
+ searchNodes(query: string, limit?: number): INodeSchemaStub[];
22
54
  /**
23
55
  * List all available nodes (compact format).
24
56
  */
@@ -1 +1 @@
1
- {"version":3,"file":"node-schema-provider.d.ts","sourceRoot":"","sources":["../../src/services/node-schema-provider.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC9B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,SAAS,CAAS;gBAEd,eAAe,CAAC,EAAE,MAAM;IAWpC,OAAO,CAAC,SAAS;IAcjB;;;OAGG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAelD;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE;IA0BpD;;OAEG;IACI,YAAY,IAAI,eAAe,EAAE;CAS3C"}
1
+ {"version":3,"file":"node-schema-provider.d.ts","sourceRoot":"","sources":["../../src/services/node-schema-provider.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACJ,UAAU,EAAE,GAAG,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE;QACN,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC;CACL;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,WAAW,CAAiB;gBAExB,eAAe,CAAC,EAAE,MAAM,EAAE,WAAW,GAAE,OAAc;IAejE,OAAO,CAAC,SAAS;IAwCjB;;;OAGG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAelD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgF1B;;;OAGG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,eAAe,EAAE;IA6BxE;;OAEG;IACI,YAAY,IAAI,eAAe,EAAE;CAY3C"}
@@ -10,26 +10,57 @@ const _dirname = typeof __dirname !== 'undefined'
10
10
  : path.dirname(_filename);
11
11
  export class NodeSchemaProvider {
12
12
  index = null;
13
+ enrichedIndex = null;
13
14
  indexPath;
14
- constructor(customIndexPath) {
15
+ enrichedIndexPath;
16
+ useEnriched = true;
17
+ constructor(customIndexPath, useEnriched = true) {
18
+ this.useEnriched = useEnriched;
15
19
  if (customIndexPath) {
16
20
  this.indexPath = customIndexPath;
21
+ this.enrichedIndexPath = customIndexPath.replace('.json', '-enriched.json');
17
22
  }
18
23
  else {
19
24
  // Resolve path to assets/n8n-nodes-index.json
20
25
  // In dist structure: dist/services/node-schema-provider.js -> dist/assets/n8n-nodes-index.json
21
26
  this.indexPath = path.resolve(_dirname, '../assets/n8n-nodes-index.json');
27
+ this.enrichedIndexPath = path.resolve(_dirname, '../assets/n8n-nodes-enriched.json');
22
28
  }
23
29
  }
24
30
  loadIndex() {
25
31
  if (this.index)
26
32
  return;
33
+ // Try to load enriched index first
34
+ if (this.useEnriched && fs.existsSync(this.enrichedIndexPath)) {
35
+ try {
36
+ const content = fs.readFileSync(this.enrichedIndexPath, 'utf-8');
37
+ this.enrichedIndex = JSON.parse(content);
38
+ this.index = this.enrichedIndex; // Use enriched as primary
39
+ return;
40
+ }
41
+ catch (error) {
42
+ console.warn(`Failed to load enriched index: ${error.message}, falling back to basic index`);
43
+ }
44
+ }
45
+ // Fallback to basic index
27
46
  try {
28
47
  if (!fs.existsSync(this.indexPath)) {
29
48
  throw new Error(`n8n Node Index not found at: ${this.indexPath}. Run 'npm run build' in @n8n-as-code/agent-cli.`);
30
49
  }
31
50
  const content = fs.readFileSync(this.indexPath, 'utf-8');
32
- this.index = JSON.parse(content);
51
+ const basicIndex = JSON.parse(content);
52
+ // Convert basic index to enriched-like structure for compatibility
53
+ if (Array.isArray(basicIndex.nodes)) {
54
+ this.index = {
55
+ nodes: {}
56
+ };
57
+ for (const node of basicIndex.nodes) {
58
+ this.index.nodes[node.name] = node;
59
+ }
60
+ }
61
+ else {
62
+ this.index = basicIndex;
63
+ }
33
64
  }
34
65
  catch (error) {
35
66
  throw new Error(`Failed to load n8n node index: ${error.message}`);
@@ -51,30 +82,100 @@ export class NodeSchemaProvider {
51
82
  return found ? this.index.nodes[found] : null;
52
83
  }
53
84
  /**
54
- * Fuzzy search for nodes.
85
+ * Calculate relevance score for a node based on query
86
+ */
87
+ calculateRelevance(query, node, key) {
88
+ const lowerQuery = query.toLowerCase();
89
+ let score = 0;
90
+ // Exact name match (highest priority)
91
+ if (key.toLowerCase() === lowerQuery) {
92
+ score += 1000;
93
+ }
94
+ else if (key.toLowerCase().includes(lowerQuery)) {
95
+ score += 500;
96
+ }
97
+ // Display name match
98
+ const displayName = (node.displayName || '').toLowerCase();
99
+ if (displayName === lowerQuery) {
100
+ score += 800;
101
+ }
102
+ else if (displayName.includes(lowerQuery)) {
103
+ score += 400;
104
+ }
105
+ // Keyword match (from enriched metadata)
106
+ if (node.metadata?.keywords) {
107
+ const keywords = node.metadata.keywords;
108
+ if (keywords.includes(lowerQuery)) {
109
+ score += 300;
110
+ }
111
+ // Partial keyword match
112
+ const matchingKeywords = keywords.filter((k) => k.includes(lowerQuery) || lowerQuery.includes(k));
113
+ score += matchingKeywords.length * 50;
114
+ }
115
+ // Operations match
116
+ if (node.metadata?.operations) {
117
+ const matchingOps = node.metadata.operations.filter((op) => op.toLowerCase().includes(lowerQuery));
118
+ score += matchingOps.length * 100;
119
+ }
120
+ // Use cases match
121
+ if (node.metadata?.useCases) {
122
+ const matchingUseCases = node.metadata.useCases.filter((uc) => uc.toLowerCase().includes(lowerQuery));
123
+ score += matchingUseCases.length * 80;
124
+ }
125
+ // Description match (lower priority)
126
+ const description = (node.description || '').toLowerCase();
127
+ if (description.includes(lowerQuery)) {
128
+ score += 100;
129
+ }
130
+ // Bonus for nodes with high keyword scores (AI/popular nodes)
131
+ if (node.metadata?.keywordScore) {
132
+ score += node.metadata.keywordScore * 0.5;
133
+ }
134
+ // Multi-word query: check if all words match
135
+ const queryWords = lowerQuery.split(/\s+/).filter(w => w.length > 2);
136
+ if (queryWords.length > 1) {
137
+ const allFields = [
138
+ key.toLowerCase(),
139
+ displayName,
140
+ description,
141
+ ...(node.metadata?.keywords || []),
142
+ ...(node.metadata?.operations || []),
143
+ ...(node.metadata?.useCases || [])
144
+ ].join(' ');
145
+ const matchedWords = queryWords.filter(word => allFields.includes(word));
146
+ if (matchedWords.length === queryWords.length) {
147
+ score += 200 * queryWords.length;
148
+ }
149
+ }
150
+ return score;
151
+ }
152
+ /**
153
+ * Fuzzy search for nodes with improved relevance scoring.
55
154
  * Returns a list of matches (stub only, not full schema).
56
155
  */
57
- searchNodes(query) {
156
+ searchNodes(query, limit = 20) {
58
157
  this.loadIndex();
59
158
  const lowerQuery = query.toLowerCase();
60
- const results = [];
159
+ const scoredResults = [];
61
160
  for (const [key, node] of Object.entries(this.index.nodes)) {
62
- const nameMatch = key.toLowerCase().includes(lowerQuery);
63
- const displayMatch = node.displayName?.toLowerCase().includes(lowerQuery);
64
- const descMatch = node.description?.toLowerCase().includes(lowerQuery);
65
- if (nameMatch || displayMatch || descMatch) {
66
- results.push({
161
+ const score = this.calculateRelevance(query, node, key);
162
+ if (score > 0) {
163
+ scoredResults.push({
67
164
  name: node.name || key,
68
165
  displayName: node.displayName || key,
69
166
  description: node.description || '',
70
- version: node.version
167
+ version: node.version,
168
+ keywords: node.metadata?.keywords || [],
169
+ operations: node.metadata?.operations || [],
170
+ useCases: node.metadata?.useCases || [],
171
+ relevanceScore: score,
172
+ score
71
173
  });
72
174
  }
73
- // Cap results to avoid overwhelming output
74
- if (results.length >= 20)
75
- break;
76
175
  }
77
- return results;
176
+ // Sort by score (highest first) and take top results
177
+ scoredResults.sort((a, b) => b.score - a.score);
178
+ return scoredResults.slice(0, limit).map(({ score, ...rest }) => rest);
78
179
  }
79
180
  /**
80
181
  * List all available nodes (compact format).
@@ -85,7 +186,10 @@ export class NodeSchemaProvider {
85
186
  name: node.name,
86
187
  displayName: node.displayName,
87
188
  description: node.description || '',
88
- version: node.version
189
+ version: node.version,
190
+ keywords: node.metadata?.keywords || [],
191
+ operations: node.metadata?.operations || [],
192
+ useCases: node.metadata?.useCases || []
89
193
  }));
90
194
  }
91
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node-schema-provider.js","sourceRoot":"","sources":["../../src/services/node-schema-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-schema-provider.js","sourceRoot":"","sources":["../../src/services/node-schema-provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n-as-code/agent-cli",
3
- "version": "0.2.1",
3
+ "version": "0.4.1",
4
4
  "description": "AI Agent Tools for n8n-as-code (Search, Get Schema)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,9 +9,9 @@
9
9
  "n8n-agent": "./dist/cli.js"
10
10
  },
11
11
  "scripts": {
12
- "prebuild": "node ../../scripts/ensure-n8n-cache.cjs && node ../../scripts/generate-n8n-index.cjs",
12
+ "prebuild": "node ../../scripts/ensure-n8n-cache.cjs && node ../../scripts/generate-n8n-index.cjs && node ../../scripts/download-n8n-docs.cjs && node ../../scripts/enrich-nodes-index.cjs",
13
13
  "build": "tsc -b",
14
- "postbuild": "mkdir -p dist/assets && cp src/assets/n8n-nodes-index.json dist/assets/",
14
+ "postbuild": "mkdir -p dist/assets && cp src/assets/n8n-nodes-index.json dist/assets/ && (cp src/assets/n8n-nodes-enriched.json dist/assets/ 2>/dev/null || true)",
15
15
  "clean": "rm -rf dist tsconfig.tsbuildinfo",
16
16
  "test": "node --experimental-vm-modules ../../node_modules/.bin/jest"
17
17
  },
@@ -27,8 +27,7 @@
27
27
  "typescript": "^5.3.3"
28
28
  },
29
29
  "files": [
30
- "dist/",
31
- "src/assets/"
30
+ "dist/"
32
31
  ],
33
32
  "publishConfig": {
34
33
  "access": "public"