faf-cli 5.0.6 → 5.1.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 (82) hide show
  1. package/README.md +62 -529
  2. package/dist/big-orange/faf-generator.js +6 -6
  3. package/dist/big-orange/faf-generator.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +17 -24
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/bi-sync.d.ts.map +1 -1
  8. package/dist/commands/bi-sync.js +9 -1
  9. package/dist/commands/bi-sync.js.map +1 -1
  10. package/dist/commands/compile.d.ts +1 -8
  11. package/dist/commands/compile.d.ts.map +1 -1
  12. package/dist/commands/compile.js +21 -84
  13. package/dist/commands/compile.js.map +1 -1
  14. package/dist/commands/decompile.d.ts +1 -5
  15. package/dist/commands/decompile.d.ts.map +1 -1
  16. package/dist/commands/decompile.js +7 -63
  17. package/dist/commands/decompile.js.map +1 -1
  18. package/dist/commands/edit-helper.js +2 -2
  19. package/dist/commands/edit-helper.js.map +1 -1
  20. package/dist/commands/enhance-real.js +10 -10
  21. package/dist/commands/enhance-real.js.map +1 -1
  22. package/dist/commands/go.js +2 -2
  23. package/dist/commands/go.js.map +1 -1
  24. package/dist/commands/ram.d.ts.map +1 -1
  25. package/dist/commands/ram.js +32 -13
  26. package/dist/commands/ram.js.map +1 -1
  27. package/dist/commands/sync.js +18 -18
  28. package/dist/commands/sync.js.map +1 -1
  29. package/dist/compiler/faf-compiler.d.ts +14 -0
  30. package/dist/compiler/faf-compiler.d.ts.map +1 -1
  31. package/dist/compiler/faf-compiler.js +160 -32
  32. package/dist/compiler/faf-compiler.js.map +1 -1
  33. package/dist/engines/fab-formats-processor.js +4 -4
  34. package/dist/engines/fab-formats-processor.js.map +1 -1
  35. package/dist/family/detectors/next.js +3 -3
  36. package/dist/family/detectors/next.js.map +1 -1
  37. package/dist/family/detectors/react.js +3 -3
  38. package/dist/family/detectors/react.js.map +1 -1
  39. package/dist/family/detectors/svelte.js +4 -4
  40. package/dist/family/detectors/svelte.js.map +1 -1
  41. package/dist/family/detectors/vite.js +2 -2
  42. package/dist/family/detectors/vite.js.map +1 -1
  43. package/dist/family/types.d.ts +12 -4
  44. package/dist/family/types.d.ts.map +1 -1
  45. package/dist/framework-detector.js +22 -11
  46. package/dist/framework-detector.js.map +1 -1
  47. package/dist/generators/faf-generator-championship.js +26 -26
  48. package/dist/generators/faf-generator-championship.js.map +1 -1
  49. package/dist/github/faf-git-generator.js +3 -3
  50. package/dist/github/faf-git-generator.js.map +1 -1
  51. package/dist/schema/faf-schema.d.ts +8 -3
  52. package/dist/schema/faf-schema.d.ts.map +1 -1
  53. package/dist/schema/faf-schema.js.map +1 -1
  54. package/dist/systems/question-system.js +3 -3
  55. package/dist/systems/question-system.js.map +1 -1
  56. package/dist/utils/agents-parser.js +7 -7
  57. package/dist/utils/agents-parser.js.map +1 -1
  58. package/dist/utils/balance-visualizer.js +3 -3
  59. package/dist/utils/balance-visualizer.js.map +1 -1
  60. package/dist/utils/cursorrules-parser.js +5 -5
  61. package/dist/utils/cursorrules-parser.js.map +1 -1
  62. package/dist/utils/fafb-compiler.d.ts +7 -6
  63. package/dist/utils/fafb-compiler.d.ts.map +1 -1
  64. package/dist/utils/fafb-compiler.js +62 -97
  65. package/dist/utils/fafb-compiler.js.map +1 -1
  66. package/dist/utils/memory-parser.js +7 -7
  67. package/dist/utils/memory-parser.js.map +1 -1
  68. package/dist/utils/memory-topic-writer.d.ts +52 -0
  69. package/dist/utils/memory-topic-writer.d.ts.map +1 -0
  70. package/dist/utils/memory-topic-writer.js +415 -0
  71. package/dist/utils/memory-topic-writer.js.map +1 -0
  72. package/dist/utils/slot-counter.js +5 -5
  73. package/dist/utils/slot-counter.js.map +1 -1
  74. package/dist/utils/turbo-cat-knowledge.d.ts +5 -5
  75. package/dist/utils/turbo-cat-knowledge.d.ts.map +1 -1
  76. package/dist/utils/turbo-cat-knowledge.js +0 -1
  77. package/dist/utils/turbo-cat-knowledge.js.map +1 -1
  78. package/dist/utils/yaml-generator.js +6 -6
  79. package/dist/utils/yaml-generator.js.map +1 -1
  80. package/package.json +4 -1
  81. package/project.faf +1 -1
  82. package/scripts/evaluate-family-member.ts +8 -8
@@ -154,10 +154,10 @@ async function detectProjectChanges(fafData) {
154
154
  ...packageData.devDependencies,
155
155
  };
156
156
  // Check for framework changes (nested structure - check both for compatibility)
157
- const currentFramework = fafData.stack?.frontend || fafData.framework || "";
157
+ const currentFramework = fafData.stack?.framework || fafData.stack?.frontend || fafData.framework || "";
158
158
  if (deps.svelte && !currentFramework.includes("Svelte")) {
159
159
  changes.push({
160
- path: "stack.frontend",
160
+ path: "stack.framework",
161
161
  description: "Svelte dependency detected",
162
162
  oldValue: currentFramework,
163
163
  newValue: "Svelte",
@@ -166,7 +166,7 @@ async function detectProjectChanges(fafData) {
166
166
  }
167
167
  if (deps.react && !currentFramework.includes("React")) {
168
168
  changes.push({
169
- path: "stack.frontend",
169
+ path: "stack.framework",
170
170
  description: "React dependency detected",
171
171
  oldValue: currentFramework,
172
172
  newValue: "React",
@@ -175,7 +175,7 @@ async function detectProjectChanges(fafData) {
175
175
  }
176
176
  if (deps.vue && !currentFramework.includes("Vue")) {
177
177
  changes.push({
178
- path: "stack.frontend",
178
+ path: "stack.framework",
179
179
  description: "Vue dependency detected",
180
180
  oldValue: currentFramework,
181
181
  newValue: "Vue",
@@ -184,7 +184,7 @@ async function detectProjectChanges(fafData) {
184
184
  }
185
185
  if (deps["@angular/core"] && !currentFramework.includes("Angular")) {
186
186
  changes.push({
187
- path: "stack.frontend",
187
+ path: "stack.framework",
188
188
  description: "Angular dependency detected",
189
189
  oldValue: currentFramework,
190
190
  newValue: "Angular",
@@ -192,10 +192,10 @@ async function detectProjectChanges(fafData) {
192
192
  });
193
193
  }
194
194
  // Check for CSS frameworks (nested structure)
195
- const currentCss = fafData.stack?.css_framework || fafData.cssFramework || "";
195
+ const currentCss = fafData.stack?.css || fafData.stack?.css_framework || fafData.cssFramework || "";
196
196
  if (deps.tailwindcss && !currentCss.includes("Tailwind")) {
197
197
  changes.push({
198
- path: "stack.css_framework",
198
+ path: "stack.css",
199
199
  description: "Tailwind CSS dependency detected",
200
200
  oldValue: currentCss,
201
201
  newValue: "Tailwind CSS",
@@ -204,7 +204,7 @@ async function detectProjectChanges(fafData) {
204
204
  }
205
205
  if (deps.bootstrap && !currentCss.includes("Bootstrap")) {
206
206
  changes.push({
207
- path: "stack.css_framework",
207
+ path: "stack.css",
208
208
  description: "Bootstrap dependency detected",
209
209
  oldValue: currentCss,
210
210
  newValue: "Bootstrap",
@@ -241,10 +241,10 @@ async function detectProjectChanges(fafData) {
241
241
  });
242
242
  }
243
243
  // Check for state management (nested structure)
244
- const currentState = fafData.stack?.state_management || fafData.stateManagement || "";
244
+ const currentState = fafData.stack?.state || fafData.stack?.state_management || fafData.stateManagement || "";
245
245
  if ((deps.redux || deps["@reduxjs/toolkit"]) && !currentState.includes("Redux")) {
246
246
  changes.push({
247
- path: "stack.state_management",
247
+ path: "stack.state",
248
248
  description: "Redux dependency detected",
249
249
  oldValue: currentState,
250
250
  newValue: "Redux Toolkit",
@@ -253,7 +253,7 @@ async function detectProjectChanges(fafData) {
253
253
  }
254
254
  if (deps.zustand && !currentState.includes("Zustand")) {
255
255
  changes.push({
256
- path: "stack.state_management",
256
+ path: "stack.state",
257
257
  description: "Zustand dependency detected",
258
258
  oldValue: currentState,
259
259
  newValue: "Zustand",
@@ -262,7 +262,7 @@ async function detectProjectChanges(fafData) {
262
262
  }
263
263
  if (deps.jotai && !currentState.includes("Jotai")) {
264
264
  changes.push({
265
- path: "stack.state_management",
265
+ path: "stack.state",
266
266
  description: "Jotai dependency detected",
267
267
  oldValue: currentState,
268
268
  newValue: "Jotai",
@@ -462,16 +462,16 @@ async function convertMarkdownFafToYaml(content) {
462
462
  ]
463
463
  },
464
464
  stack: {
465
- frontend: framework !== 'None' ? framework : 'None',
466
- css_framework: 'None',
465
+ framework: framework !== 'None' ? framework : 'None',
466
+ css: 'None',
467
467
  ui_library: 'None',
468
- state_management: 'None',
468
+ state: 'None',
469
469
  backend: stackLines.find(s => s.toLowerCase().includes('node')) ? 'Node.js' : 'None',
470
470
  runtime: stackLines.find(s => s.toLowerCase().includes('node')) ? 'Node.js' : 'None',
471
- database: 'None',
471
+ db: 'None',
472
472
  build: 'Vite',
473
- package_manager: 'npm',
474
- api_type: stackLines.find(s => s.toLowerCase().includes('mcp')) ? 'MCP' : 'REST',
473
+ pkg_manager: 'npm',
474
+ api: stackLines.find(s => s.toLowerCase().includes('mcp')) ? 'MCP' : 'REST',
475
475
  hosting: 'None',
476
476
  cicd: 'None',
477
477
  testing: 'None',
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,20 @@
5
5
  * Philosophy: Like Svelte, we compile away the complexity
6
6
  * Result: Pure, traceable, reproducible scores
7
7
  */
8
+ /**
9
+ * Mk4 Slot Alias Map — Single Source of Truth
10
+ *
11
+ * Maps old slot field names to new Mk4 canonical names.
12
+ * Used throughout the codebase to accept both old and new names on read,
13
+ * while always generating new names on write.
14
+ *
15
+ * Old .faf files (36k+ downloads) use old names — they must still score correctly.
16
+ */
17
+ export declare const SLOT_ALIASES: Record<string, string>;
18
+ /**
19
+ * Reverse alias map: new → old (for reading old .faf files)
20
+ */
21
+ export declare const SLOT_ALIASES_REVERSE: Record<string, string>;
8
22
  /**
9
23
  * Get applicable slots for a project type
10
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"faf-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/faf-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faf-compiler.d.ts","sourceRoot":"","sources":["../../src/compiler/faf-compiler.ts"],"names":[],"mappings":"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"}
@@ -40,7 +40,7 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  };
41
41
  })();
42
42
  Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.FafCompiler = void 0;
43
+ exports.FafCompiler = exports.SLOT_ALIASES_REVERSE = exports.SLOT_ALIASES = void 0;
44
44
  exports.getSlotsForType = getSlotsForType;
45
45
  exports.getSlotCountForType = getSlotCountForType;
46
46
  exports.compile = compile;
@@ -57,15 +57,37 @@ const path = __importStar(require("path"));
57
57
  // Design: 21 slots always exist. Types define which slots COUNT toward scoring.
58
58
  // slot_ignore in .faf file overrides type defaults for edge cases.
59
59
  /**
60
- * All 21 slots in the FAF system
60
+ * Mk4 Slot Alias Map Single Source of Truth
61
+ *
62
+ * Maps old slot field names to new Mk4 canonical names.
63
+ * Used throughout the codebase to accept both old and new names on read,
64
+ * while always generating new names on write.
65
+ *
66
+ * Old .faf files (36k+ downloads) use old names — they must still score correctly.
67
+ */
68
+ exports.SLOT_ALIASES = {
69
+ // old → new (Mk4 canonical)
70
+ frontend: 'framework',
71
+ css_framework: 'css',
72
+ state_management: 'state',
73
+ api_type: 'api',
74
+ database: 'db',
75
+ package_manager: 'pkg_manager',
76
+ };
77
+ /**
78
+ * Reverse alias map: new → old (for reading old .faf files)
79
+ */
80
+ exports.SLOT_ALIASES_REVERSE = Object.fromEntries(Object.entries(exports.SLOT_ALIASES).map(([old, mk4]) => [mk4, old]));
81
+ /**
82
+ * All 21 slots in the FAF system (Mk4 canonical names)
61
83
  */
62
84
  const ALL_SLOTS = {
63
85
  // Project slots (3)
64
86
  project: ['project.name', 'project.goal', 'project.main_language'],
65
87
  // Frontend slots (4)
66
- frontend: ['stack.frontend', 'stack.css_framework', 'stack.ui_library', 'stack.state_management'],
88
+ frontend: ['stack.framework', 'stack.css', 'stack.ui_library', 'stack.state'],
67
89
  // Backend slots (5)
68
- backend: ['stack.backend', 'stack.api_type', 'stack.runtime', 'stack.database', 'stack.connection'],
90
+ backend: ['stack.backend', 'stack.api', 'stack.runtime', 'stack.db', 'stack.connection'],
69
91
  // Universal slots (3)
70
92
  universal: ['stack.hosting', 'stack.build', 'stack.cicd'],
71
93
  // Human context slots (6)
@@ -124,6 +146,11 @@ const TYPE_DEFINITIONS = {
124
146
  description: 'Model Context Protocol server',
125
147
  categories: ['project', 'backend', 'human']
126
148
  },
149
+ 'mcpaas': {
150
+ description: 'Context-on-demand platform — SSR, payments, email, MCP protocol',
151
+ categories: ['project', 'backend', 'universal', 'human'],
152
+ aliases: ['context-on-demand']
153
+ },
127
154
  'data-science': {
128
155
  description: 'Data science/analysis project',
129
156
  categories: ['project', 'backend', 'human'],
@@ -641,17 +668,24 @@ function parseSlotIgnore(ast) {
641
668
  return [];
642
669
  }
643
670
  /**
644
- * Normalize slot names to full path
671
+ * Normalize slot names to full path (Mk4 canonical)
645
672
  * Examples: "hosting" -> "stack.hosting", "who" -> "human.who"
673
+ * Also resolves old aliases: "frontend" -> "stack.framework", "database" -> "stack.db"
646
674
  */
647
675
  function normalizeSlotName(slot) {
648
- // Already has prefix
676
+ // Already has prefix — check for old aliased paths like "stack.frontend"
649
677
  if (slot.includes('.')) {
678
+ const [prefix, field] = slot.split('.');
679
+ if (prefix === 'stack' && exports.SLOT_ALIASES[field]) {
680
+ return `stack.${exports.SLOT_ALIASES[field]}`;
681
+ }
650
682
  return slot;
651
683
  }
684
+ // Resolve old name to new name first
685
+ const canonicalField = exports.SLOT_ALIASES[slot] || slot;
652
686
  // Check each category for the slot
653
687
  for (const [_category, slots] of Object.entries(ALL_SLOTS)) {
654
- const fullSlot = slots.find(s => s.endsWith(`.${slot}`));
688
+ const fullSlot = slots.find(s => s.endsWith(`.${canonicalField}`));
655
689
  if (fullSlot) {
656
690
  return fullSlot;
657
691
  }
@@ -793,7 +827,7 @@ class FafCompiler {
793
827
  });
794
828
  }
795
829
  // Stack validation
796
- const stackFields = ['frontend', 'backend', 'database', 'hosting'];
830
+ const stackFields = ['framework', 'frontend', 'backend', 'db', 'database', 'hosting'];
797
831
  for (const field of stackFields) {
798
832
  if (data.stack?.[field] && typeof data.stack[field] !== 'string') {
799
833
  this.addDiagnostic('error', `stack.${field} must be a string`, {
@@ -903,24 +937,107 @@ class FafCompiler {
903
937
  // ============================================================================
904
938
  generate(ast) {
905
939
  const start = Date.now();
906
- // Build IR first
940
+ // Build IR first (still needed for breakdown/trace)
907
941
  const ir = this.buildIR(ast);
908
942
  this.ir = {
909
943
  version: FafCompiler.VERSION,
910
944
  slots: ir,
911
945
  metadata: { compiled: new Date().toISOString() }
912
946
  };
913
- // Calculate from IR
947
+ // --- Mk4 Kernel Scoring (WASM) ---
948
+ // The Bouncer: type detection → applicable slots → slotignored for the rest
949
+ // Then kernel.score_faf() gets the canonical Mk4 score
950
+ let mk4Score = null;
951
+ let mk4Filled = null;
952
+ let mk4Total = null;
953
+ try {
954
+ const kernel = require('faf-scoring-kernel');
955
+ const { stringify } = require('yaml');
956
+ // Detect project type and get applicable slots
957
+ const projectType = this.detectProjectTypeFromContext(ast);
958
+ const applicableSlots = getSlotsForType(projectType);
959
+ // All 21 slot paths
960
+ const allSlotPaths = [
961
+ ...ALL_SLOTS.project,
962
+ ...ALL_SLOTS.frontend,
963
+ ...ALL_SLOTS.backend,
964
+ ...ALL_SLOTS.universal,
965
+ ...ALL_SLOTS.human
966
+ ];
967
+ // Bouncer: inject slotignored for inapplicable slots AND user slot_ignore
968
+ const normalizedAst = JSON.parse(JSON.stringify(ast));
969
+ // Remove internal fields
970
+ delete normalizedAst._discovered;
971
+ // Also parse user's slot_ignore from the .faf file
972
+ const userIgnored = parseSlotIgnore(ast);
973
+ const setSlotIgnored = (slotPath) => {
974
+ const parts = slotPath.split('.');
975
+ if (parts[0] === 'project') {
976
+ if (!normalizedAst.project) {
977
+ normalizedAst.project = {};
978
+ }
979
+ normalizedAst.project[parts[1]] = 'slotignored';
980
+ }
981
+ else if (parts[0] === 'stack') {
982
+ if (!normalizedAst.stack) {
983
+ normalizedAst.stack = {};
984
+ }
985
+ // Kernel expects old slot names — translate Mk4 back to old
986
+ const kernelField = exports.SLOT_ALIASES_REVERSE[parts[1]] || parts[1];
987
+ normalizedAst.stack[kernelField] = 'slotignored';
988
+ }
989
+ else if (parts[0] === 'human') {
990
+ if (!normalizedAst.human_context) {
991
+ normalizedAst.human_context = {};
992
+ }
993
+ normalizedAst.human_context[parts[1]] = 'slotignored';
994
+ }
995
+ };
996
+ for (const slotPath of allSlotPaths) {
997
+ if (!applicableSlots.includes(slotPath) || userIgnored.includes(slotPath)) {
998
+ setSlotIgnored(slotPath);
999
+ }
1000
+ }
1001
+ // Translate Mk4 stack field names to old names for kernel compatibility
1002
+ if (normalizedAst.stack) {
1003
+ for (const [mk4Name, oldName] of Object.entries(exports.SLOT_ALIASES_REVERSE)) {
1004
+ if (normalizedAst.stack[mk4Name] !== undefined && normalizedAst.stack[oldName] === undefined) {
1005
+ normalizedAst.stack[oldName] = normalizedAst.stack[mk4Name];
1006
+ delete normalizedAst.stack[mk4Name];
1007
+ }
1008
+ }
1009
+ }
1010
+ const normalizedYaml = stringify(normalizedAst);
1011
+ const kernelResult = JSON.parse(kernel.score_faf(normalizedYaml));
1012
+ mk4Score = kernelResult.score;
1013
+ mk4Filled = kernelResult.populated;
1014
+ mk4Total = kernelResult.active;
1015
+ if (process.env.FAF_DEBUG) {
1016
+ console.log(`[DEBUG] Mk4 kernel score: ${mk4Score}% (${mk4Filled}/${mk4Total})`);
1017
+ }
1018
+ }
1019
+ catch (err) {
1020
+ // Kernel not available — fall back to Mk3.1 TS scoring
1021
+ if (process.env.FAF_DEBUG) {
1022
+ const message = err instanceof Error ? err.message : String(err);
1023
+ console.log(`[DEBUG] Mk4 kernel unavailable, using Mk3.1: ${message}`);
1024
+ }
1025
+ }
1026
+ // Use Mk4 score if available, otherwise fall back to Mk3.1
914
1027
  const slots = this.calculateSlots(ir);
915
- const score = this.calculateScore(slots);
1028
+ const fallbackScore = this.calculateScore(slots);
1029
+ const score = mk4Score !== null ? mk4Score : Math.round(fallbackScore);
1030
+ const filled = mk4Filled !== null ? mk4Filled : slots.filled;
1031
+ const total = mk4Total !== null ? mk4Total : slots.total;
916
1032
  const result = {
917
- score: Math.round(score),
918
- filled: slots.filled,
919
- total: slots.total,
1033
+ score,
1034
+ filled,
1035
+ total,
920
1036
  breakdown: slots.breakdown
921
1037
  };
1038
+ const engine = mk4Score !== null ? 'Mk4 (WASM)' : 'Mk3.1 (TS fallback)';
922
1039
  this.recordPass('generate', start, ast, result, [
923
- `Generated score: ${result.score}% (${result.filled}/${result.total} slots)`
1040
+ `Generated score: ${result.score}% (${result.filled}/${result.total} slots) [${engine}]`
924
1041
  ]);
925
1042
  return result;
926
1043
  }
@@ -977,7 +1094,18 @@ class FafCompiler {
977
1094
  return ast[flatKey];
978
1095
  }
979
1096
  else if (parts[0] === 'stack') {
980
- return ast.stack?.[parts[1]];
1097
+ const field = parts[1];
1098
+ // Check Mk4 canonical name first
1099
+ const val = ast.stack?.[field];
1100
+ if (val !== undefined && val !== null) {
1101
+ return val;
1102
+ }
1103
+ // Fall back to old name (e.g. "framework" -> check "frontend")
1104
+ const oldName = exports.SLOT_ALIASES_REVERSE[field];
1105
+ if (oldName) {
1106
+ return ast.stack?.[oldName];
1107
+ }
1108
+ return undefined;
981
1109
  }
982
1110
  else if (parts[0] === 'human') {
983
1111
  // Check human_context first (old format), then context (compact format)
@@ -1008,17 +1136,17 @@ class FafCompiler {
1008
1136
  if (!ast.stack.hosting) {
1009
1137
  ast.stack.hosting = 'Chrome Web Store';
1010
1138
  }
1011
- if (!ast.stack.api_type) {
1012
- ast.stack.api_type = 'Chrome Extension APIs';
1139
+ if (!ast.stack.api && !ast.stack.api_type) {
1140
+ ast.stack.api = 'Chrome Extension APIs';
1013
1141
  }
1014
1142
  if (!ast.stack.backend) {
1015
1143
  ast.stack.backend = 'Service Worker';
1016
1144
  }
1017
- if (!ast.stack.database) {
1018
- ast.stack.database = 'chrome.storage API';
1145
+ if (!ast.stack.db && !ast.stack.database) {
1146
+ ast.stack.db = 'chrome.storage API';
1019
1147
  }
1020
1148
  // Add auto-filled slots (only if they're in the active slots list)
1021
- const chromeSlots = ['stack.runtime', 'stack.hosting', 'stack.api_type', 'stack.backend', 'stack.database'];
1149
+ const chromeSlots = ['stack.runtime', 'stack.hosting', 'stack.api', 'stack.backend', 'stack.db'];
1022
1150
  for (const slot of chromeSlots) {
1023
1151
  if (activeSlots.includes(slot) && !slots.find(s => s.path === slot)) {
1024
1152
  this.addSlot(slots, slot, getSlotValue(slot), 'string', 'discovered', 1);
@@ -1030,8 +1158,8 @@ class FafCompiler {
1030
1158
  if (!ast.stack) {
1031
1159
  ast.stack = {};
1032
1160
  }
1033
- if (!ast.stack.frontend) {
1034
- ast.stack.frontend = 'HTML/CSS/JavaScript';
1161
+ if (!ast.stack.framework && !ast.stack.frontend) {
1162
+ ast.stack.framework = 'HTML/CSS/JavaScript';
1035
1163
  }
1036
1164
  if (!ast.stack.runtime) {
1037
1165
  ast.stack.runtime = 'Browser';
@@ -1060,11 +1188,11 @@ class FafCompiler {
1060
1188
  if (!ast.stack.backend) {
1061
1189
  ast.stack.backend = 'Node.js (n8n server)';
1062
1190
  }
1063
- if (!ast.stack.api_type) {
1064
- ast.stack.api_type = 'Webhooks + HTTP';
1191
+ if (!ast.stack.api && !ast.stack.api_type) {
1192
+ ast.stack.api = 'Webhooks + HTTP';
1065
1193
  }
1066
- if (!ast.stack.database) {
1067
- ast.stack.database = ast.tech_stack?.infrastructure?.vector_db || 'Workflow State';
1194
+ if (!ast.stack.db && !ast.stack.database) {
1195
+ ast.stack.db = ast.tech_stack?.infrastructure?.vector_db || 'Workflow State';
1068
1196
  }
1069
1197
  if (!ast.stack.hosting) {
1070
1198
  ast.stack.hosting = 'n8n Cloud';
@@ -1079,8 +1207,8 @@ class FafCompiler {
1079
1207
  const mapping = {
1080
1208
  'projectName': 'project.name',
1081
1209
  'mainLanguage': 'project.main_language',
1082
- 'framework': 'stack.frontend',
1083
- 'database': 'stack.database',
1210
+ 'framework': 'stack.framework',
1211
+ 'database': 'stack.db',
1084
1212
  'backend': 'stack.backend',
1085
1213
  'hosting': 'stack.hosting',
1086
1214
  'buildTool': 'stack.build'
@@ -1215,13 +1343,13 @@ class FafCompiler {
1215
1343
  ast.stack?.backend && !ast.stack?.frontend) {
1216
1344
  return 'backend-api';
1217
1345
  }
1218
- // Frontend indicators
1219
- if (ast.stack?.frontend || ast.stack?.css_framework || ast.stack?.ui_library) {
1346
+ // Frontend indicators (check both Mk4 and old names)
1347
+ if (ast.stack?.framework || ast.stack?.frontend || ast.stack?.css || ast.stack?.css_framework || ast.stack?.ui_library) {
1220
1348
  return ast.stack?.backend ? 'fullstack' : 'frontend';
1221
1349
  }
1222
1350
  // Language-based defaults
1223
1351
  if (mainLanguage === 'python') {
1224
- if (ast.stack?.frontend) {
1352
+ if (ast.stack?.framework || ast.stack?.frontend) {
1225
1353
  return 'fullstack';
1226
1354
  }
1227
1355
  return 'python-app'; // Could be CLI, API, or data science