faf-cli 2.5.4 → 3.0.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.
- package/README.md +506 -246
- package/assets/AI-Context /342/232/241/357/270/217 FASF AF.png +0 -0
- package/assets/Orange-Smiley copy.png +0 -0
- package/assets/Project-DNA-for-ANY-AI-1200x630.png +0 -0
- package/assets/ai-human-balance-50-50.png +0 -0
- package/assets/prd-balance-perfect-green.png +0 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/ai-analyze.js +2 -35
- package/dist/commands/ai-analyze.js.map +1 -1
- package/dist/commands/ai-enhance.d.ts.map +1 -1
- package/dist/commands/ai-enhance.js +5 -40
- package/dist/commands/ai-enhance.js.map +1 -1
- package/dist/commands/audit.js +2 -35
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/bi-sync.d.ts +1 -1
- package/dist/commands/bi-sync.js +5 -5
- package/dist/commands/bi-sync.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +11 -2
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/create.d.ts +13 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +78 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/edit.js +6 -6
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/enhance-real.js +13 -3
- package/dist/commands/enhance-real.js.map +1 -1
- package/dist/commands/faf-recover.js +3 -3
- package/dist/commands/faf-recover.js.map +1 -1
- package/dist/commands/init.js +3 -36
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.js +4 -37
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/search.js +2 -2
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/share.js +3 -3
- package/dist/commands/share.js.map +1 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +3 -39
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/sync.js +4 -37
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/todo.js +2 -2
- package/dist/commands/todo.js.map +1 -1
- package/dist/commands/trust.d.ts +1 -1
- package/dist/commands/trust.js +3 -3
- package/dist/commands/trust.js.map +1 -1
- package/dist/commands/validate.js +2 -35
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.js +2 -2
- package/dist/commands/verify.js.map +1 -1
- package/dist/compiler/faf-compiler.js +2 -2
- package/dist/compiler/faf-compiler.js.map +1 -1
- package/dist/converters/faf-converters.js +3 -3
- package/dist/converters/faf-converters.js.map +1 -1
- package/dist/engines/c-mirror/core/claude-to-faf.js +2 -35
- package/dist/engines/c-mirror/core/claude-to-faf.js.map +1 -1
- package/dist/engines/c-mirror/core/faf-to-claude.js +2 -35
- package/dist/engines/c-mirror/core/faf-to-claude.js.map +1 -1
- package/dist/engines/c-mirror/core/mirror-engine.js +3 -3
- package/dist/engines/c-mirror/core/mirror-engine.js.map +1 -1
- package/dist/engines/c-mirror/strategies/atomic-write.d.ts +3 -3
- package/dist/engines/c-mirror/strategies/atomic-write.js +4 -4
- package/dist/engines/c-mirror/strategies/atomic-write.js.map +1 -1
- package/dist/enrichment/auto-corrector.d.ts +28 -0
- package/dist/enrichment/auto-corrector.d.ts.map +1 -0
- package/dist/enrichment/auto-corrector.js +106 -0
- package/dist/enrichment/auto-corrector.js.map +1 -0
- package/dist/enrichment/n8n-analyzer.d.ts +259 -0
- package/dist/enrichment/n8n-analyzer.d.ts.map +1 -0
- package/dist/enrichment/n8n-analyzer.js +346 -0
- package/dist/enrichment/n8n-analyzer.js.map +1 -0
- package/dist/enrichment/n8n-faf-generator.d.ts +68 -0
- package/dist/enrichment/n8n-faf-generator.d.ts.map +1 -0
- package/dist/enrichment/n8n-faf-generator.js +354 -0
- package/dist/enrichment/n8n-faf-generator.js.map +1 -0
- package/dist/enrichment/question-asker.d.ts +22 -0
- package/dist/enrichment/question-asker.d.ts.map +1 -0
- package/dist/enrichment/question-asker.js +113 -0
- package/dist/enrichment/question-asker.js.map +1 -0
- package/dist/enrichment/slot-filler.d.ts +73 -0
- package/dist/enrichment/slot-filler.d.ts.map +1 -0
- package/dist/enrichment/slot-filler.js +253 -0
- package/dist/enrichment/slot-filler.js.map +1 -0
- package/dist/fix-once/yaml.d.ts +39 -36
- package/dist/fix-once/yaml.d.ts.map +1 -1
- package/dist/fix-once/yaml.js +117 -39
- package/dist/fix-once/yaml.js.map +1 -1
- package/dist/generators/faf-generator-championship.d.ts.map +1 -1
- package/dist/generators/faf-generator-championship.js +73 -3
- package/dist/generators/faf-generator-championship.js.map +1 -1
- package/dist/utils/announcements.d.ts.map +1 -1
- package/dist/utils/announcements.js +0 -5
- package/dist/utils/announcements.js.map +1 -1
- package/dist/utils/championship-style.js +1 -1
- package/dist/utils/championship-style.js.map +1 -1
- package/dist/utils/chrome-extension-confirmer.d.ts.map +1 -1
- package/dist/utils/chrome-extension-confirmer.js +15 -0
- package/dist/utils/chrome-extension-confirmer.js.map +1 -1
- package/dist/utils/email-opt-in.d.ts.map +1 -1
- package/dist/utils/email-opt-in.js +4 -2
- package/dist/utils/email-opt-in.js.map +1 -1
- package/dist/utils/file-utils.d.ts.map +1 -1
- package/dist/utils/file-utils.js +12 -0
- package/dist/utils/file-utils.js.map +1 -1
- package/dist/utils/vibe-sync.d.ts.map +1 -1
- package/dist/utils/vibe-sync.js +2 -1
- package/dist/utils/vibe-sync.js.map +1 -1
- package/package.json +13 -14
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 🏎️ n8n Workflow Analyzer - THE Standard
|
|
4
|
+
*
|
|
5
|
+
* CHAMPIONSHIP: We're defining THE canonical .faf schema for n8n workflows
|
|
6
|
+
*
|
|
7
|
+
* What makes this AMAZING:
|
|
8
|
+
* 1. First official .faf schema for n8n (they don't have one!)
|
|
9
|
+
* 2. AI-Agent ready (autonomous agents can read our format)
|
|
10
|
+
* 3. Self-healing ready (captures error handling, retries)
|
|
11
|
+
* 4. Multi-agent ready (documents decision points, tools)
|
|
12
|
+
* 5. FAB-FORMATS compatible (plugs in later with zero work)
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.N8nWorkflowAnalyzer = void 0;
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// ANALYZER - Championship Intelligence
|
|
19
|
+
// ============================================================================
|
|
20
|
+
class N8nWorkflowAnalyzer {
|
|
21
|
+
/**
|
|
22
|
+
* Detect if file is n8n workflow JSON
|
|
23
|
+
*/
|
|
24
|
+
static async detect(filePath) {
|
|
25
|
+
try {
|
|
26
|
+
const content = await fs_1.promises.readFile(filePath, 'utf-8');
|
|
27
|
+
const data = JSON.parse(content);
|
|
28
|
+
// n8n workflows have specific structure
|
|
29
|
+
return !!(data.nodes && data.connections && Array.isArray(data.nodes));
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Parse n8n workflow JSON
|
|
37
|
+
*/
|
|
38
|
+
static async parse(filePath) {
|
|
39
|
+
const content = await fs_1.promises.readFile(filePath, 'utf-8');
|
|
40
|
+
return JSON.parse(content);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Detect workflow pattern (AMAZING: AI-agent ready)
|
|
44
|
+
*/
|
|
45
|
+
static detectPattern(workflow) {
|
|
46
|
+
const nodeTypes = workflow.nodes.map(n => n.type.toLowerCase());
|
|
47
|
+
// Check for RAG pattern
|
|
48
|
+
const hasVectorStore = nodeTypes.some(t => t.includes('pinecone') ||
|
|
49
|
+
t.includes('weaviate') ||
|
|
50
|
+
t.includes('qdrant') ||
|
|
51
|
+
t.includes('vectorstore'));
|
|
52
|
+
const hasAIAgent = nodeTypes.some(t => t.includes('agent') ||
|
|
53
|
+
t.includes('lmchat') ||
|
|
54
|
+
t.includes('anthropic') ||
|
|
55
|
+
t.includes('openai'));
|
|
56
|
+
if (hasVectorStore && hasAIAgent) {
|
|
57
|
+
return 'RAG';
|
|
58
|
+
}
|
|
59
|
+
// Check for Multi-Agent (multiple AI nodes)
|
|
60
|
+
const aiNodeCount = workflow.nodes.filter(n => n.type.toLowerCase().includes('agent') ||
|
|
61
|
+
n.type.toLowerCase().includes('lmchat')).length;
|
|
62
|
+
if (aiNodeCount > 1) {
|
|
63
|
+
return 'Multi-Agent';
|
|
64
|
+
}
|
|
65
|
+
// Check for ETL (has data transformation nodes)
|
|
66
|
+
const hasETL = nodeTypes.some(t => t.includes('code') ||
|
|
67
|
+
t.includes('function') ||
|
|
68
|
+
t.includes('set') ||
|
|
69
|
+
t.includes('split'));
|
|
70
|
+
const hasDatabase = nodeTypes.some(t => t.includes('postgres') ||
|
|
71
|
+
t.includes('mysql') ||
|
|
72
|
+
t.includes('mongodb'));
|
|
73
|
+
if (hasETL && hasDatabase) {
|
|
74
|
+
return 'ETL';
|
|
75
|
+
}
|
|
76
|
+
// Check for triggers
|
|
77
|
+
const triggerTypes = workflow.nodes
|
|
78
|
+
.filter(n => n.type.toLowerCase().includes('trigger'))
|
|
79
|
+
.map(n => n.type.toLowerCase());
|
|
80
|
+
if (triggerTypes.some(t => t.includes('webhook'))) {
|
|
81
|
+
return 'Webhook';
|
|
82
|
+
}
|
|
83
|
+
if (triggerTypes.some(t => t.includes('schedule') || t.includes('cron'))) {
|
|
84
|
+
return 'Scheduled';
|
|
85
|
+
}
|
|
86
|
+
if (triggerTypes.some(t => t.includes('form'))) {
|
|
87
|
+
return 'Form';
|
|
88
|
+
}
|
|
89
|
+
// Check for API orchestration
|
|
90
|
+
const httpNodes = workflow.nodes.filter(n => n.type.toLowerCase().includes('httprequest'));
|
|
91
|
+
if (httpNodes.length > 2) {
|
|
92
|
+
return 'API';
|
|
93
|
+
}
|
|
94
|
+
return 'Unknown';
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Extract AI models used
|
|
98
|
+
*/
|
|
99
|
+
static extractAIModels(workflow) {
|
|
100
|
+
const models = [];
|
|
101
|
+
for (const node of workflow.nodes) {
|
|
102
|
+
const type = node.type.toLowerCase();
|
|
103
|
+
const params = node.parameters || {};
|
|
104
|
+
// Claude
|
|
105
|
+
if (type.includes('anthropic')) {
|
|
106
|
+
const model = params.model || 'claude-sonnet-4-20250514';
|
|
107
|
+
models.push(model);
|
|
108
|
+
}
|
|
109
|
+
// OpenAI
|
|
110
|
+
if (type.includes('openai')) {
|
|
111
|
+
const model = params.model || 'gpt-4';
|
|
112
|
+
models.push(model);
|
|
113
|
+
}
|
|
114
|
+
// Embeddings
|
|
115
|
+
if (type.includes('embedding')) {
|
|
116
|
+
if (params.model) {
|
|
117
|
+
models.push(params.model);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Reranker
|
|
121
|
+
if (type.includes('rerank')) {
|
|
122
|
+
models.push('cohere reranker');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return [...new Set(models)]; // Dedupe
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Extract databases/infrastructure
|
|
129
|
+
*/
|
|
130
|
+
static extractInfrastructure(workflow) {
|
|
131
|
+
const infra = [];
|
|
132
|
+
for (const node of workflow.nodes) {
|
|
133
|
+
const type = node.type.toLowerCase();
|
|
134
|
+
if (type.includes('pinecone'))
|
|
135
|
+
infra.push('Pinecone vector database');
|
|
136
|
+
if (type.includes('weaviate'))
|
|
137
|
+
infra.push('Weaviate vector database');
|
|
138
|
+
if (type.includes('qdrant'))
|
|
139
|
+
infra.push('Qdrant vector database');
|
|
140
|
+
if (type.includes('postgres'))
|
|
141
|
+
infra.push('PostgreSQL');
|
|
142
|
+
if (type.includes('mysql'))
|
|
143
|
+
infra.push('MySQL');
|
|
144
|
+
if (type.includes('mongodb'))
|
|
145
|
+
infra.push('MongoDB');
|
|
146
|
+
if (type.includes('redis'))
|
|
147
|
+
infra.push('Redis');
|
|
148
|
+
if (type.includes('webhook'))
|
|
149
|
+
infra.push('n8n webhook endpoints');
|
|
150
|
+
}
|
|
151
|
+
return [...new Set(infra)];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Extract triggers
|
|
155
|
+
*/
|
|
156
|
+
static extractTriggers(workflow) {
|
|
157
|
+
const triggers = [];
|
|
158
|
+
for (const node of workflow.nodes) {
|
|
159
|
+
const type = node.type.toLowerCase();
|
|
160
|
+
if (type.includes('trigger')) {
|
|
161
|
+
const trigger = {
|
|
162
|
+
type: node.type,
|
|
163
|
+
id: node.id,
|
|
164
|
+
purpose: node.notes || `${node.name} trigger`
|
|
165
|
+
};
|
|
166
|
+
// Webhook details
|
|
167
|
+
if (type.includes('webhook')) {
|
|
168
|
+
trigger.path = node.parameters?.path || node.id;
|
|
169
|
+
trigger.method = node.parameters?.method || 'POST';
|
|
170
|
+
}
|
|
171
|
+
// Form details
|
|
172
|
+
if (type.includes('form')) {
|
|
173
|
+
const webhookId = node.parameters?.options?.webhookId;
|
|
174
|
+
if (webhookId) {
|
|
175
|
+
trigger.webhook_id = webhookId;
|
|
176
|
+
}
|
|
177
|
+
const formFields = node.parameters?.formFields?.values;
|
|
178
|
+
if (formFields && Array.isArray(formFields)) {
|
|
179
|
+
trigger.fields = formFields.map((f) => ({
|
|
180
|
+
name: f.fieldLabel || f.fieldId,
|
|
181
|
+
type: f.fieldType
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
triggers.push(trigger);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return triggers;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Group nodes by category
|
|
192
|
+
*/
|
|
193
|
+
static groupNodes(workflow) {
|
|
194
|
+
const groups = {
|
|
195
|
+
core_agent: [],
|
|
196
|
+
knowledge_ingestion: [],
|
|
197
|
+
retrieval: [],
|
|
198
|
+
organization: [],
|
|
199
|
+
transformation: [],
|
|
200
|
+
integration: []
|
|
201
|
+
};
|
|
202
|
+
for (const node of workflow.nodes) {
|
|
203
|
+
const type = node.type.toLowerCase();
|
|
204
|
+
const name = node.name;
|
|
205
|
+
// Core AI agent
|
|
206
|
+
if (type.includes('agent') || type.includes('lmchat') || type.includes('anthropic') || type.includes('openai')) {
|
|
207
|
+
groups.core_agent.push(name);
|
|
208
|
+
}
|
|
209
|
+
// Knowledge ingestion
|
|
210
|
+
else if (type.includes('loader') || type.includes('splitter') || type.includes('embedding') || (type.includes('vectorstore') && type.includes('insert'))) {
|
|
211
|
+
groups.knowledge_ingestion.push(name);
|
|
212
|
+
}
|
|
213
|
+
// Retrieval
|
|
214
|
+
else if (type.includes('vectorstore') || type.includes('rerank')) {
|
|
215
|
+
groups.retrieval.push(name);
|
|
216
|
+
}
|
|
217
|
+
// Organization
|
|
218
|
+
else if (type.includes('sticky')) {
|
|
219
|
+
groups.organization.push(name);
|
|
220
|
+
}
|
|
221
|
+
// Transformation
|
|
222
|
+
else if (type.includes('code') || type.includes('set') || type.includes('function')) {
|
|
223
|
+
groups.transformation.push(name);
|
|
224
|
+
}
|
|
225
|
+
// Integration
|
|
226
|
+
else {
|
|
227
|
+
groups.integration.push(name);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Remove empty groups
|
|
231
|
+
return Object.fromEntries(Object.entries(groups).filter(([_, nodes]) => nodes.length > 0));
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Generate flow description (AMAZING: Makes it readable for AI agents)
|
|
235
|
+
*/
|
|
236
|
+
static generateFlowDescription(workflow, pattern) {
|
|
237
|
+
// We'll generate this based on pattern + node analysis
|
|
238
|
+
// For now, placeholder
|
|
239
|
+
return `Workflow pattern: ${pattern}. Detailed flow analysis coming soon.`;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* AMAZING: Extract tool capabilities for AI agents
|
|
243
|
+
*/
|
|
244
|
+
static extractToolCapabilities(workflow) {
|
|
245
|
+
const tools = [];
|
|
246
|
+
for (const node of workflow.nodes) {
|
|
247
|
+
const type = node.type;
|
|
248
|
+
// Vector search tools
|
|
249
|
+
if (type.toLowerCase().includes('vectorstore')) {
|
|
250
|
+
tools.push({
|
|
251
|
+
toolName: node.name,
|
|
252
|
+
nodeType: type,
|
|
253
|
+
purpose: 'Search vector database for relevant context',
|
|
254
|
+
parameters: ['query', 'topK', 'filter']
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
// HTTP request tools
|
|
258
|
+
if (type.toLowerCase().includes('httprequest')) {
|
|
259
|
+
tools.push({
|
|
260
|
+
toolName: node.name,
|
|
261
|
+
nodeType: type,
|
|
262
|
+
purpose: 'Make HTTP API requests',
|
|
263
|
+
parameters: ['url', 'method', 'body', 'headers']
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
// Code execution tools
|
|
267
|
+
if (type.toLowerCase().includes('code')) {
|
|
268
|
+
tools.push({
|
|
269
|
+
toolName: node.name,
|
|
270
|
+
nodeType: type,
|
|
271
|
+
purpose: 'Execute custom logic',
|
|
272
|
+
parameters: ['code', 'items']
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return tools;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* AMAZING: Extract decision points for autonomous agents
|
|
280
|
+
*/
|
|
281
|
+
static extractDecisionPoints(workflow) {
|
|
282
|
+
const decisions = [];
|
|
283
|
+
for (const node of workflow.nodes) {
|
|
284
|
+
const type = node.type.toLowerCase();
|
|
285
|
+
if (type.includes('if')) {
|
|
286
|
+
const connections = workflow.connections[node.name];
|
|
287
|
+
const branches = connections ? Object.keys(connections) : [];
|
|
288
|
+
decisions.push({
|
|
289
|
+
nodeId: node.id,
|
|
290
|
+
nodeName: node.name,
|
|
291
|
+
type: 'IF',
|
|
292
|
+
condition: JSON.stringify(node.parameters?.conditions || {}),
|
|
293
|
+
branches
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
if (type.includes('switch')) {
|
|
297
|
+
const connections = workflow.connections[node.name];
|
|
298
|
+
const branches = connections ? Object.keys(connections) : [];
|
|
299
|
+
decisions.push({
|
|
300
|
+
nodeId: node.id,
|
|
301
|
+
nodeName: node.name,
|
|
302
|
+
type: 'Switch',
|
|
303
|
+
condition: JSON.stringify(node.parameters?.rules || {}),
|
|
304
|
+
branches
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return decisions;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* AMAZING: Extract memory requirements
|
|
312
|
+
*/
|
|
313
|
+
static extractMemoryRequirements(workflow) {
|
|
314
|
+
const memory = [];
|
|
315
|
+
for (const node of workflow.nodes) {
|
|
316
|
+
const type = node.type.toLowerCase();
|
|
317
|
+
if (type.includes('pinecone') || type.includes('weaviate') || type.includes('qdrant')) {
|
|
318
|
+
memory.push({
|
|
319
|
+
nodeId: node.id,
|
|
320
|
+
nodeName: node.name,
|
|
321
|
+
type: 'vector-store',
|
|
322
|
+
purpose: 'Store and retrieve embeddings for RAG'
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
if (type.includes('redis')) {
|
|
326
|
+
memory.push({
|
|
327
|
+
nodeId: node.id,
|
|
328
|
+
nodeName: node.name,
|
|
329
|
+
type: 'cache',
|
|
330
|
+
purpose: 'Cache frequently accessed data'
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
if (type.includes('postgres') || type.includes('mysql') || type.includes('mongodb')) {
|
|
334
|
+
memory.push({
|
|
335
|
+
nodeId: node.id,
|
|
336
|
+
nodeName: node.name,
|
|
337
|
+
type: 'database',
|
|
338
|
+
purpose: 'Persistent data storage'
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return memory;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
exports.N8nWorkflowAnalyzer = N8nWorkflowAnalyzer;
|
|
346
|
+
//# sourceMappingURL=n8n-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n8n-analyzer.js","sourceRoot":"","sources":["../../src/enrichment/n8n-analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🏎️ n8n .faf Generator - THE Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Brings everything together:
|
|
5
|
+
* 1. Analyzes n8n workflow (structure, pattern, tech stack)
|
|
6
|
+
* 2. Asks 3 questions (minimal friction)
|
|
7
|
+
* 3. Auto-corrects typos (helpful, non-invasive)
|
|
8
|
+
* 4. Fills 6 W's (POOR → RICH transformation)
|
|
9
|
+
* 5. Generates championship .faf (85%+ score)
|
|
10
|
+
*
|
|
11
|
+
* This is where the magic happens.
|
|
12
|
+
*/
|
|
13
|
+
export interface GenerateOptions {
|
|
14
|
+
workflowFile: string;
|
|
15
|
+
outputFile?: string;
|
|
16
|
+
quiet?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export declare class N8nFafGenerator {
|
|
19
|
+
private asker;
|
|
20
|
+
private corrector;
|
|
21
|
+
private filler;
|
|
22
|
+
constructor();
|
|
23
|
+
/**
|
|
24
|
+
* Generate RICH .faf from n8n workflow JSON
|
|
25
|
+
*/
|
|
26
|
+
generate(options: GenerateOptions): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Generate the complete .faf document
|
|
29
|
+
*/
|
|
30
|
+
private generateFafDocument;
|
|
31
|
+
/**
|
|
32
|
+
* Generate architecture components list
|
|
33
|
+
*/
|
|
34
|
+
private generateComponents;
|
|
35
|
+
/**
|
|
36
|
+
* Extract credentials from workflow
|
|
37
|
+
*/
|
|
38
|
+
private extractCredentials;
|
|
39
|
+
/**
|
|
40
|
+
* Generate flow description
|
|
41
|
+
*/
|
|
42
|
+
private generateFlowDescription;
|
|
43
|
+
/**
|
|
44
|
+
* Build AI models map
|
|
45
|
+
*/
|
|
46
|
+
private buildAIModelsMap;
|
|
47
|
+
/**
|
|
48
|
+
* Build infrastructure map
|
|
49
|
+
*/
|
|
50
|
+
private buildInfrastructureMap;
|
|
51
|
+
/**
|
|
52
|
+
* Extract integrations (unique service types)
|
|
53
|
+
*/
|
|
54
|
+
private extractIntegrations;
|
|
55
|
+
/**
|
|
56
|
+
* Generate known issues from Q2
|
|
57
|
+
*/
|
|
58
|
+
private generateKnownIssues;
|
|
59
|
+
/**
|
|
60
|
+
* Generate AI instructions
|
|
61
|
+
*/
|
|
62
|
+
private generateAIInstructions;
|
|
63
|
+
/**
|
|
64
|
+
* Calculate FAF scores
|
|
65
|
+
*/
|
|
66
|
+
private calculateScores;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=n8n-faf-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"n8n-faf-generator.d.ts","sourceRoot":"","sources":["../../src/enrichment/n8n-faf-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAa;;IAQ3B;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA8FzD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8F3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,eAAe;CA0BxB"}
|