cortex-mcp 1.2.4 → 1.4.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 (63) hide show
  1. package/dist/db/memory-store.d.ts +2 -2
  2. package/dist/db/memory-store.d.ts.map +1 -1
  3. package/dist/db/memory-store.js +26 -4
  4. package/dist/db/memory-store.js.map +1 -1
  5. package/dist/memory/auto-learner.d.ts.map +1 -1
  6. package/dist/memory/auto-learner.js +16 -0
  7. package/dist/memory/auto-learner.js.map +1 -1
  8. package/dist/memory/convention-detector.d.ts +11 -0
  9. package/dist/memory/convention-detector.d.ts.map +1 -0
  10. package/dist/memory/convention-detector.js +294 -0
  11. package/dist/memory/convention-detector.js.map +1 -0
  12. package/dist/memory/correction-detector.d.ts +33 -0
  13. package/dist/memory/correction-detector.d.ts.map +1 -0
  14. package/dist/memory/correction-detector.js +129 -0
  15. package/dist/memory/correction-detector.js.map +1 -0
  16. package/dist/memory/error-learner.d.ts +26 -0
  17. package/dist/memory/error-learner.d.ts.map +1 -0
  18. package/dist/memory/error-learner.js +145 -0
  19. package/dist/memory/error-learner.js.map +1 -0
  20. package/dist/memory/file-relationships.d.ts +47 -0
  21. package/dist/memory/file-relationships.d.ts.map +1 -0
  22. package/dist/memory/file-relationships.js +130 -0
  23. package/dist/memory/file-relationships.js.map +1 -0
  24. package/dist/memory/impact-analyzer.d.ts +16 -0
  25. package/dist/memory/impact-analyzer.d.ts.map +1 -0
  26. package/dist/memory/impact-analyzer.js +189 -0
  27. package/dist/memory/impact-analyzer.js.map +1 -0
  28. package/dist/memory/instructions-generator.d.ts +30 -0
  29. package/dist/memory/instructions-generator.d.ts.map +1 -0
  30. package/dist/memory/instructions-generator.js +117 -0
  31. package/dist/memory/instructions-generator.js.map +1 -0
  32. package/dist/memory/pre-flight.d.ts +24 -0
  33. package/dist/memory/pre-flight.d.ts.map +1 -0
  34. package/dist/memory/pre-flight.js +121 -0
  35. package/dist/memory/pre-flight.js.map +1 -0
  36. package/dist/memory/preference-learner.d.ts +28 -0
  37. package/dist/memory/preference-learner.d.ts.map +1 -0
  38. package/dist/memory/preference-learner.js +144 -0
  39. package/dist/memory/preference-learner.js.map +1 -0
  40. package/dist/memory/regression-guard.d.ts +35 -0
  41. package/dist/memory/regression-guard.d.ts.map +1 -0
  42. package/dist/memory/regression-guard.js +90 -0
  43. package/dist/memory/regression-guard.js.map +1 -0
  44. package/dist/memory/resume-work.d.ts +37 -0
  45. package/dist/memory/resume-work.d.ts.map +1 -0
  46. package/dist/memory/resume-work.js +122 -0
  47. package/dist/memory/resume-work.js.map +1 -0
  48. package/dist/memory/success-tracker.d.ts +33 -0
  49. package/dist/memory/success-tracker.d.ts.map +1 -0
  50. package/dist/memory/success-tracker.js +75 -0
  51. package/dist/memory/success-tracker.js.map +1 -0
  52. package/dist/memory/tool-recommender.d.ts +29 -0
  53. package/dist/memory/tool-recommender.d.ts.map +1 -0
  54. package/dist/memory/tool-recommender.js +117 -0
  55. package/dist/memory/tool-recommender.js.map +1 -0
  56. package/dist/memory/usage-stats.d.ts +59 -0
  57. package/dist/memory/usage-stats.d.ts.map +1 -0
  58. package/dist/memory/usage-stats.js +122 -0
  59. package/dist/memory/usage-stats.js.map +1 -0
  60. package/dist/server/mcp-handler.d.ts.map +1 -1
  61. package/dist/server/mcp-handler.js +634 -14
  62. package/dist/server/mcp-handler.js.map +1 -1
  63. package/package.json +1 -1
@@ -36,8 +36,8 @@ export declare class MemoryStore {
36
36
  }): MemoryUnit;
37
37
  /**
38
38
  * Find a duplicate memory by type + intent similarity.
39
- * Uses word-overlap (Jaccard similarity) no ML needed.
40
- * Returns existing memory if similarity > 0.7, else undefined.
39
+ * Uses HYBRID approach: Jaccard word-overlap + cosine similarity (when vectors available).
40
+ * Returns existing memory if similarity > threshold, else undefined.
41
41
  */
42
42
  private findDuplicate;
43
43
  /** Tokenize text into lowercase words (stop-word filtered) */
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKpD,qBAAa,WAAW;IACpB,OAAO,CAAC,EAAE,CAAiB;IAK3B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,gBAAgB,CAAM;IAE9B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,uBAAuB,CAAM;IACrC,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,cAAc,CAAM;IAG5B,OAAO,CAAC,OAAO,CAAwC;IAGvD,OAAO,CAAC,YAAY,CAAM;gBAEd,QAAQ,EAAE,iBAAiB;IA0HvC,8FAA8F;IAC9F,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAMpC,oDAAoD;IACpD,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU;IAuDnG;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAkBrB,8DAA8D;IAC9D,OAAO,CAAC,QAAQ;IAShB,gCAAgC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAoBtD,yBAAyB;IACzB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAKvC,wCAAwC;IACxC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAInD,iDAAiD;IACjD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIvB,8BAA8B;IAC9B,SAAS,CAAC,KAAK,GAAE,MAAa,GAAG,UAAU,EAAE;IAK7C,2BAA2B;IAC3B,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAK9D,qCAAqC;IACrC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAK7D,0DAA0D;IAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAuB5D,+BAA+B;IAC/B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI;IAMtD,kCAAkC;IAClC,YAAY,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAoB9E,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,WAAW;IAWnB,mCAAmC;IACnC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAU9B,qCAAqC;IACrC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAI3C,mCAAmC;IACnC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE;IAIzC,4DAA4D;IAC5D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAU,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAgCrF,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAKxD,mDAAmD;IACnD,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAKxF,4EAA4E;IAC5E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,UAAU,EAAE;IAKnE,+DAA+D;IAC/D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAY,GAAG,UAAU,EAAE;IAMrE,yEAAyE;IACzE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAO9C,4BAA4B;IAC5B,WAAW,IAAI,MAAM;IAKrB,0CAA0C;IAC1C,UAAU,IAAI,MAAM;IAOpB,OAAO,CAAC,WAAW;IAwBZ,YAAY,IAAI,IAAI;CAU9B"}
1
+ {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
@@ -171,22 +171,44 @@ class MemoryStore {
171
171
  }
172
172
  /**
173
173
  * Find a duplicate memory by type + intent similarity.
174
- * Uses word-overlap (Jaccard similarity) no ML needed.
175
- * Returns existing memory if similarity > 0.7, else undefined.
174
+ * Uses HYBRID approach: Jaccard word-overlap + cosine similarity (when vectors available).
175
+ * Returns existing memory if similarity > threshold, else undefined.
176
176
  */
177
177
  findDuplicate(type, intent) {
178
178
  const candidates = this.findDuplicateStmt.all(type);
179
179
  const newWords = new Set(this.tokenize(intent));
180
180
  if (newWords.size === 0)
181
181
  return undefined;
182
+ let bestMatch;
182
183
  for (const row of candidates) {
183
184
  const existingWords = new Set(this.tokenize(row.intent));
184
185
  const intersection = [...newWords].filter(w => existingWords.has(w)).length;
185
186
  const union = new Set([...newWords, ...existingWords]).size;
186
- const similarity = union > 0 ? intersection / union : 0;
187
- if (similarity >= 0.7) {
187
+ const jaccardScore = union > 0 ? intersection / union : 0;
188
+ if (jaccardScore >= 0.7) {
188
189
  return this.rowToMemory(row);
189
190
  }
191
+ // Track best match for semantic/stem check (candidates with partial Jaccard overlap)
192
+ if (jaccardScore >= 0.35 && (!bestMatch || jaccardScore > bestMatch.score)) {
193
+ bestMatch = { memory: this.rowToMemory(row), score: jaccardScore };
194
+ }
195
+ }
196
+ // Semantic dedup pass: for partial Jaccard matches, check stem similarity
197
+ if (bestMatch && bestMatch.score >= 0.35) {
198
+ const bestId = bestMatch.memory.id;
199
+ const newTokens = this.tokenize(intent);
200
+ const existingTokens = this.tokenize(bestMatch.memory.intent);
201
+ // Enhanced overlap: check for semantic synonyms via shared stems
202
+ const newStems = new Set(newTokens.map(w => w.slice(0, Math.min(w.length, 5))));
203
+ const existStems = new Set(existingTokens.map(w => w.slice(0, Math.min(w.length, 5))));
204
+ const stemOverlap = [...newStems].filter(s => existStems.has(s)).length;
205
+ const stemUnion = new Set([...newStems, ...existStems]).size;
206
+ const stemScore = stemUnion > 0 ? stemOverlap / stemUnion : 0;
207
+ // If stem similarity is high enough, treat as duplicate
208
+ if (stemScore >= 0.6) {
209
+ this.touch(bestId);
210
+ return bestMatch.memory;
211
+ }
190
212
  }
191
213
  return undefined;
192
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/db/memory-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-learner.d.ts","sourceRoot":"","sources":["../../src/memory/auto-learner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GACnF,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAiJD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CA8C/D"}
1
+ {"version":3,"file":"auto-learner.d.ts","sourceRoot":"","sources":["../../src/memory/auto-learner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GACnF,gBAAgB,GAAG,eAAe,GAAG,QAAQ,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAiKD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CA8C/D"}
@@ -21,6 +21,9 @@ const PATTERNS = [
21
21
  /\b(don'?t|do not|never|avoid|stop using|instead of|rather than)\b.{5,80}/gi,
22
22
  /\b(wrong|incorrect|mistake|bug|error|issue|problem)\b.{5,60}(fix|correct|should|use|replace)/gi,
23
23
  /\b(fixed|corrected|resolved)\b.{5,60}/gi,
24
+ /\b(should have|should've|that was wrong|my bad|oops|actually no)\b.{5,80}/gi,
25
+ /\b(I was wrong|we were wrong|that's not right|not correct)\b.{5,60}/gi,
26
+ /\b(better approach|better way|improved by|changed to)\b.{5,80}/gi,
24
27
  ],
25
28
  confidence: 0.75,
26
29
  reason: 'Auto-detected correction pattern',
@@ -32,6 +35,9 @@ const PATTERNS = [
32
35
  /\b(we('ll| will| are going to| decided to)?)\s+(use|adopt|switch|go with|choose|pick|implement)\b.{5,80}/gi,
33
36
  /\b(decided|chosen|selected|picked|going with|sticking with)\b.{5,80}/gi,
34
37
  /\b(use|using)\s+\w+\s+(instead of|over|rather than)\s+\w+/gi,
38
+ /\b(chose|opted for|went with|settled on|landed on)\b.{5,80}/gi,
39
+ /\b(changed? from|switch(ed|ing) from|migrat(ed|ing) from)\b.{5,80}/gi,
40
+ /\b(the plan is|approach is|strategy is|our approach)\b.{5,80}/gi,
35
41
  ],
36
42
  confidence: 0.70,
37
43
  reason: 'Auto-detected decision pattern',
@@ -43,6 +49,9 @@ const PATTERNS = [
43
49
  /\b(always|must|should always|make sure to|remember to|convention|standard|rule)\b.{5,80}/gi,
44
50
  /\b(format|naming|style|pattern|structure)\b.{5,60}(should|must|always|use)/gi,
45
51
  /\b(use\s+\w+\s+for\s+all|every\s+\w+\s+should|all\s+\w+\s+must)\b.{5,60}/gi,
52
+ /\b(we always|our convention|preferred way|house rule|team rule)\b.{5,80}/gi,
53
+ /\b(best practice|recommended|idiomatic|canonical|proper way)\b.{5,80}/gi,
54
+ /\b(in this (project|codebase|repo)|across the (project|codebase))\b.{5,80}/gi,
46
55
  ],
47
56
  confidence: 0.65,
48
57
  reason: 'Auto-detected convention pattern',
@@ -54,6 +63,9 @@ const PATTERNS = [
54
63
  /\b(bug|the (issue|problem|cause) was|root cause|was causing|the fix)\b.{5,80}/gi,
55
64
  /\b(fixed by|resolved by|the solution (is|was))\b.{5,80}/gi,
56
65
  /\b(crash|exception|error|fail(ed|ure)?)\b.{5,60}(because|due to|caused by|fixed)/gi,
66
+ /\b(the fix was|worked after|the trick was|solved by)\b.{5,80}/gi,
67
+ /\b(turns out|it was because|the real issue)\b.{5,80}/gi,
68
+ /\b(workaround|hack|temporary fix|quick fix)\b.{5,80}/gi,
57
69
  ],
58
70
  confidence: 0.80,
59
71
  reason: 'Auto-detected bug fix pattern',
@@ -64,6 +76,10 @@ const PATTERNS = [
64
76
  signals: [
65
77
  /\b(key insight|important(ly)?|worth (noting|remembering)|note that|keep in mind)\b.{5,80}/gi,
66
78
  /\b(the reason (is|why)|this (works|happens) because)\b.{5,80}/gi,
79
+ /\b(learned that|realized|discovered|found out|it turns out)\b.{5,80}/gi,
80
+ /\b(the key is|the secret is|the trick is|pro tip)\b.{5,80}/gi,
81
+ /\b(interestingly|surprisingly|counterintuitively|unexpectedly)\b.{5,80}/gi,
82
+ /\b(for future reference|next time|in the future)\b.{5,80}/gi,
67
83
  ],
68
84
  confidence: 0.55,
69
85
  reason: 'Auto-detected insight pattern',
@@ -1 +1 @@
1
- {"version":3,"file":"auto-learner.js","sourceRoot":"","sources":["../../src/memory/auto-learner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-learner.js","sourceRoot":"","sources":["../../src/memory/auto-learner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface DetectedConvention {
2
+ pattern: string;
3
+ evidence: string;
4
+ confidence: number;
5
+ category: 'functions' | 'variables' | 'imports' | 'errors' | 'naming' | 'structure';
6
+ }
7
+ /**
8
+ * Scan source files and detect coding conventions.
9
+ */
10
+ export declare function detectConventions(workspaceRoot: string): DetectedConvention[];
11
+ //# sourceMappingURL=convention-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convention-detector.d.ts","sourceRoot":"","sources":["../../src/memory/convention-detector.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CACvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAuN7E"}
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.detectConventions = detectConventions;
37
+ /**
38
+ * Convention Detector — Auto-discovers coding patterns from source code.
39
+ *
40
+ * Scans actual project code to detect coding conventions:
41
+ * - Arrow functions vs function declarations
42
+ * - const vs let vs var usage
43
+ * - Error handling patterns (try/catch, .catch(), Result type)
44
+ * - Import style (named vs default, relative vs absolute)
45
+ * - Naming conventions (camelCase, PascalCase, snake_case)
46
+ * - File organization patterns
47
+ *
48
+ * Stores detected patterns as CONVENTION memories so the AI follows
49
+ * the project's actual style, not generic defaults.
50
+ */
51
+ const fs = __importStar(require("fs"));
52
+ const path = __importStar(require("path"));
53
+ /**
54
+ * Scan source files and detect coding conventions.
55
+ */
56
+ function detectConventions(workspaceRoot) {
57
+ const conventions = [];
58
+ const files = getSourceFiles(workspaceRoot);
59
+ if (files.length === 0)
60
+ return conventions;
61
+ // Counters for pattern detection
62
+ const counts = {
63
+ arrowFunctions: 0,
64
+ functionDeclarations: 0,
65
+ constUsage: 0,
66
+ letUsage: 0,
67
+ varUsage: 0,
68
+ tryCatch: 0,
69
+ dotCatch: 0,
70
+ namedImports: 0,
71
+ defaultImports: 0,
72
+ relativeImports: 0,
73
+ absoluteImports: 0,
74
+ semicolons: 0,
75
+ noSemicolons: 0,
76
+ singleQuotes: 0,
77
+ doubleQuotes: 0,
78
+ asyncAwait: 0,
79
+ thenChain: 0,
80
+ typeAnnotations: 0,
81
+ interfaceCount: 0,
82
+ enumCount: 0,
83
+ classCount: 0,
84
+ };
85
+ // Sample up to 20 files for speed
86
+ const sampleFiles = files.slice(0, 20);
87
+ let totalLines = 0;
88
+ for (const file of sampleFiles) {
89
+ try {
90
+ const content = fs.readFileSync(path.join(workspaceRoot, file), 'utf-8');
91
+ const lines = content.split('\n');
92
+ totalLines += lines.length;
93
+ // Count patterns
94
+ counts.arrowFunctions += (content.match(/=>\s*{/g) || []).length;
95
+ counts.functionDeclarations += (content.match(/function\s+\w+/g) || []).length;
96
+ counts.constUsage += (content.match(/\bconst\s+/g) || []).length;
97
+ counts.letUsage += (content.match(/\blet\s+/g) || []).length;
98
+ counts.varUsage += (content.match(/\bvar\s+/g) || []).length;
99
+ counts.tryCatch += (content.match(/try\s*{/g) || []).length;
100
+ counts.dotCatch += (content.match(/\.catch\(/g) || []).length;
101
+ counts.namedImports += (content.match(/import\s+{/g) || []).length;
102
+ counts.defaultImports += (content.match(/import\s+\w+\s+from/g) || []).length;
103
+ counts.relativeImports += (content.match(/from\s+['"]\.\//g) || []).length;
104
+ counts.absoluteImports += (content.match(/from\s+['"](?!\.)/g) || []).length;
105
+ counts.asyncAwait += (content.match(/\basync\s+/g) || []).length;
106
+ counts.thenChain += (content.match(/\.then\(/g) || []).length;
107
+ counts.typeAnnotations += (content.match(/:\s*(string|number|boolean|any|void|never)/g) || []).length;
108
+ counts.interfaceCount += (content.match(/\binterface\s+\w+/g) || []).length;
109
+ counts.enumCount += (content.match(/\benum\s+\w+/g) || []).length;
110
+ counts.classCount += (content.match(/\bclass\s+\w+/g) || []).length;
111
+ // Sample lines for semicolon and quote detection
112
+ for (const line of lines.slice(0, 50)) {
113
+ const trimmed = line.trim();
114
+ if (trimmed.length > 5 && !trimmed.startsWith('//') && !trimmed.startsWith('*')) {
115
+ if (trimmed.endsWith(';'))
116
+ counts.semicolons++;
117
+ else
118
+ counts.noSemicolons++;
119
+ if (trimmed.includes("'"))
120
+ counts.singleQuotes++;
121
+ if (trimmed.includes('"'))
122
+ counts.doubleQuotes++;
123
+ }
124
+ }
125
+ }
126
+ catch { /* skip unreadable files */ }
127
+ }
128
+ // ─── Derive Conventions ──────────────────────────────────────────────────
129
+ const total = (a, b) => a + b || 1;
130
+ const ratio = (a, b) => a / total(a, b);
131
+ // Function style
132
+ const arrowRatio = ratio(counts.arrowFunctions, counts.functionDeclarations);
133
+ if (arrowRatio > 0.7) {
134
+ conventions.push({
135
+ pattern: 'Use arrow functions (=>) — this project strongly prefers arrow functions over function declarations',
136
+ evidence: `${counts.arrowFunctions} arrow functions vs ${counts.functionDeclarations} function declarations (${Math.round(arrowRatio * 100)}% arrow)`,
137
+ confidence: Math.min(0.9, 0.6 + arrowRatio * 0.3),
138
+ category: 'functions',
139
+ });
140
+ }
141
+ else if (arrowRatio < 0.3) {
142
+ conventions.push({
143
+ pattern: 'Use function declarations — this project prefers traditional function declarations over arrow functions',
144
+ evidence: `${counts.functionDeclarations} function declarations vs ${counts.arrowFunctions} arrow functions`,
145
+ confidence: Math.min(0.9, 0.6 + (1 - arrowRatio) * 0.3),
146
+ category: 'functions',
147
+ });
148
+ }
149
+ // Variable declarations
150
+ if (counts.varUsage > 0 && counts.constUsage + counts.letUsage > 0) {
151
+ const varRatio = counts.varUsage / total(counts.varUsage, counts.constUsage + counts.letUsage);
152
+ if (varRatio < 0.1) {
153
+ conventions.push({
154
+ pattern: 'Never use var — this project uses const/let exclusively',
155
+ evidence: `${counts.constUsage} const, ${counts.letUsage} let, only ${counts.varUsage} var`,
156
+ confidence: 0.90,
157
+ category: 'variables',
158
+ });
159
+ }
160
+ }
161
+ if (counts.constUsage > 0 && counts.letUsage > 0) {
162
+ const constRatio = ratio(counts.constUsage, counts.letUsage);
163
+ if (constRatio > 0.8) {
164
+ conventions.push({
165
+ pattern: 'Prefer const over let — this project heavily favors immutable bindings',
166
+ evidence: `${counts.constUsage} const vs ${counts.letUsage} let (${Math.round(constRatio * 100)}% const)`,
167
+ confidence: 0.80,
168
+ category: 'variables',
169
+ });
170
+ }
171
+ }
172
+ // Async patterns
173
+ const asyncRatio = ratio(counts.asyncAwait, counts.thenChain);
174
+ if (asyncRatio > 0.8 && counts.asyncAwait > 3) {
175
+ conventions.push({
176
+ pattern: 'Use async/await — this project uses async/await pattern, avoid .then() chains',
177
+ evidence: `${counts.asyncAwait} async/await vs ${counts.thenChain} .then() chains`,
178
+ confidence: 0.85,
179
+ category: 'functions',
180
+ });
181
+ }
182
+ // Error handling
183
+ if (counts.tryCatch > 3) {
184
+ conventions.push({
185
+ pattern: 'Use try/catch for error handling — project uses structured error handling',
186
+ evidence: `${counts.tryCatch} try/catch blocks, ${counts.dotCatch} .catch() handlers`,
187
+ confidence: 0.75,
188
+ category: 'errors',
189
+ });
190
+ }
191
+ // Import style
192
+ if (counts.namedImports > counts.defaultImports * 2) {
193
+ conventions.push({
194
+ pattern: 'Prefer named imports over default imports: import { X } from "..."',
195
+ evidence: `${counts.namedImports} named imports vs ${counts.defaultImports} default imports`,
196
+ confidence: 0.75,
197
+ category: 'imports',
198
+ });
199
+ }
200
+ // TypeScript strictness
201
+ if (counts.typeAnnotations > 10 && counts.interfaceCount > 3) {
202
+ conventions.push({
203
+ pattern: 'Use explicit TypeScript types — project uses strong typing with interfaces',
204
+ evidence: `${counts.typeAnnotations} type annotations, ${counts.interfaceCount} interfaces, ${counts.enumCount} enums`,
205
+ confidence: 0.85,
206
+ category: 'naming',
207
+ });
208
+ }
209
+ // Semicolons
210
+ const semiRatio = ratio(counts.semicolons, counts.noSemicolons);
211
+ if (semiRatio > 0.8) {
212
+ conventions.push({
213
+ pattern: 'Always use semicolons at end of statements',
214
+ evidence: `${Math.round(semiRatio * 100)}% of lines end with semicolons`,
215
+ confidence: 0.80,
216
+ category: 'structure',
217
+ });
218
+ }
219
+ else if (semiRatio < 0.2) {
220
+ conventions.push({
221
+ pattern: 'No semicolons — project uses ASI (automatic semicolon insertion)',
222
+ evidence: `Only ${Math.round(semiRatio * 100)}% of lines have semicolons`,
223
+ confidence: 0.80,
224
+ category: 'structure',
225
+ });
226
+ }
227
+ // Quote style
228
+ const quoteRatio = ratio(counts.singleQuotes, counts.doubleQuotes);
229
+ if (quoteRatio > 0.7) {
230
+ conventions.push({
231
+ pattern: 'Use single quotes for strings',
232
+ evidence: `${counts.singleQuotes} single-quoted vs ${counts.doubleQuotes} double-quoted strings`,
233
+ confidence: 0.75,
234
+ category: 'structure',
235
+ });
236
+ }
237
+ else if (quoteRatio < 0.3) {
238
+ conventions.push({
239
+ pattern: 'Use double quotes for strings',
240
+ evidence: `${counts.doubleQuotes} double-quoted vs ${counts.singleQuotes} single-quoted strings`,
241
+ confidence: 0.75,
242
+ category: 'structure',
243
+ });
244
+ }
245
+ // Class vs functional style
246
+ if (counts.classCount > 5) {
247
+ conventions.push({
248
+ pattern: 'Uses class-based architecture (OOP style)',
249
+ evidence: `${counts.classCount} classes found across ${sampleFiles.length} files`,
250
+ confidence: 0.70,
251
+ category: 'structure',
252
+ });
253
+ }
254
+ else if (counts.classCount === 0 && counts.arrowFunctions > 10) {
255
+ conventions.push({
256
+ pattern: 'Uses functional architecture — no classes, prefer pure functions',
257
+ evidence: `0 classes, ${counts.arrowFunctions} arrow functions`,
258
+ confidence: 0.70,
259
+ category: 'structure',
260
+ });
261
+ }
262
+ return conventions;
263
+ }
264
+ // ─── Helpers ─────────────────────────────────────────────────────────────────
265
+ function getSourceFiles(root) {
266
+ const files = [];
267
+ const ignore = new Set(['node_modules', '.git', 'dist', 'coverage', '.next', 'build']);
268
+ const exts = new Set(['.ts', '.tsx', '.js', '.jsx']);
269
+ function walk(dir, depth) {
270
+ if (depth > 3 || files.length >= 30)
271
+ return;
272
+ try {
273
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
274
+ for (const entry of entries) {
275
+ if (ignore.has(entry.name) || entry.name.startsWith('.'))
276
+ continue;
277
+ const full = path.join(dir, entry.name);
278
+ if (entry.isDirectory()) {
279
+ walk(full, depth + 1);
280
+ }
281
+ else {
282
+ const ext = path.extname(entry.name);
283
+ if (exts.has(ext) && !entry.name.endsWith('.d.ts')) {
284
+ files.push(path.relative(root, full).replace(/\\/g, '/'));
285
+ }
286
+ }
287
+ }
288
+ }
289
+ catch { /* ignore */ }
290
+ }
291
+ walk(root, 0);
292
+ return files;
293
+ }
294
+ //# sourceMappingURL=convention-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convention-detector.js","sourceRoot":"","sources":["../../src/memory/convention-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Correction Detector — Catches user corrections automatically.
3
+ *
4
+ * The #1 gap in Cortex: when a user says "no, use X instead of Y",
5
+ * that correction is LOST when the conversation ends.
6
+ *
7
+ * This module scans text (both AI responses and user context) for
8
+ * correction patterns and auto-stores them as high-importance CORRECTION memories.
9
+ *
10
+ * Examples it catches:
11
+ * - "no, use vectors not vectorCache"
12
+ * - "that's wrong, it should be const"
13
+ * - "actually the file is in src/db/"
14
+ * - "I meant to use path.join"
15
+ */
16
+ export interface DetectedCorrection {
17
+ original: string;
18
+ corrected: string;
19
+ fullContext: string;
20
+ confidence: number;
21
+ source: 'user_correction' | 'ai_acknowledgment';
22
+ }
23
+ /**
24
+ * Detect corrections from user context text.
25
+ * Call this when auto_learn receives context about what the user said.
26
+ */
27
+ export declare function detectUserCorrections(userText: string): DetectedCorrection[];
28
+ /**
29
+ * Detect when the AI acknowledges a mistake in its own response.
30
+ * Call this from auto_learn on the AI's response text.
31
+ */
32
+ export declare function detectAIAcknowledgments(aiText: string): DetectedCorrection[];
33
+ //# sourceMappingURL=correction-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"correction-detector.d.ts","sourceRoot":"","sources":["../../src/memory/correction-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;CACnD;AA4DD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAyB5E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAuB5E"}