@nxuss/lemma 1.32.0 → 1.33.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 (165) hide show
  1. package/README.md +14 -2
  2. package/dist/cjs/language-core/contracts/CapabilityMatrix.d.ts +10 -0
  3. package/dist/cjs/language-core/contracts/CapabilityMatrix.d.ts.map +1 -0
  4. package/dist/cjs/language-core/contracts/CapabilityMatrix.js +70 -0
  5. package/dist/cjs/language-core/contracts/CapabilityMatrix.js.map +1 -0
  6. package/dist/cjs/language-core/detection/detectProjectType.d.ts +17 -0
  7. package/dist/cjs/language-core/detection/detectProjectType.d.ts.map +1 -0
  8. package/dist/cjs/language-core/detection/detectProjectType.js +186 -0
  9. package/dist/cjs/language-core/detection/detectProjectType.js.map +1 -0
  10. package/dist/cjs/language-core/registry/adapterRegistry.d.ts +11 -0
  11. package/dist/cjs/language-core/registry/adapterRegistry.d.ts.map +1 -0
  12. package/dist/cjs/language-core/registry/adapterRegistry.js +45 -0
  13. package/dist/cjs/language-core/registry/adapterRegistry.js.map +1 -0
  14. package/dist/cjs/languages/adapters/dotnet/DotNetDependencyGraph.d.ts +24 -0
  15. package/dist/cjs/languages/adapters/dotnet/DotNetDependencyGraph.d.ts.map +1 -0
  16. package/dist/cjs/languages/adapters/dotnet/DotNetDependencyGraph.js +199 -0
  17. package/dist/cjs/languages/adapters/dotnet/DotNetDependencyGraph.js.map +1 -0
  18. package/dist/cjs/languages/adapters/dotnet/DotNetLanguageAdapter.d.ts +37 -0
  19. package/dist/cjs/languages/adapters/dotnet/DotNetLanguageAdapter.d.ts.map +1 -0
  20. package/dist/cjs/languages/adapters/dotnet/DotNetLanguageAdapter.js +51 -0
  21. package/dist/cjs/languages/adapters/dotnet/DotNetLanguageAdapter.js.map +1 -0
  22. package/dist/cjs/languages/adapters/dotnet/DotNetPatchValidator.d.ts +25 -0
  23. package/dist/cjs/languages/adapters/dotnet/DotNetPatchValidator.d.ts.map +1 -0
  24. package/dist/cjs/languages/adapters/dotnet/DotNetPatchValidator.js +241 -0
  25. package/dist/cjs/languages/adapters/dotnet/DotNetPatchValidator.js.map +1 -0
  26. package/dist/cjs/languages/adapters/dotnet/DotNetSymbolGraph.d.ts +18 -0
  27. package/dist/cjs/languages/adapters/dotnet/DotNetSymbolGraph.d.ts.map +1 -0
  28. package/dist/cjs/languages/adapters/dotnet/DotNetSymbolGraph.js +214 -0
  29. package/dist/cjs/languages/adapters/dotnet/DotNetSymbolGraph.js.map +1 -0
  30. package/dist/cjs/languages/csharp/csharpSymbols.d.ts +33 -0
  31. package/dist/cjs/languages/csharp/csharpSymbols.d.ts.map +1 -0
  32. package/dist/cjs/languages/csharp/csharpSymbols.js +274 -0
  33. package/dist/cjs/languages/csharp/csharpSymbols.js.map +1 -0
  34. package/dist/cjs/mcp/cognitiveMap.d.ts +39 -10
  35. package/dist/cjs/mcp/cognitiveMap.d.ts.map +1 -1
  36. package/dist/cjs/mcp/cognitiveMap.js +488 -31
  37. package/dist/cjs/mcp/cognitiveMap.js.map +1 -1
  38. package/dist/cjs/mcp/index.js +6 -0
  39. package/dist/cjs/mcp/index.js.map +1 -1
  40. package/dist/cjs/mcp/tools/analysis.d.ts.map +1 -1
  41. package/dist/cjs/mcp/tools/analysis.js +9 -0
  42. package/dist/cjs/mcp/tools/analysis.js.map +1 -1
  43. package/dist/cjs/mcp/tools/codenav.d.ts.map +1 -1
  44. package/dist/cjs/mcp/tools/codenav.js +45 -76
  45. package/dist/cjs/mcp/tools/codenav.js.map +1 -1
  46. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  47. package/dist/cjs/mcp/tools/context-tools.js +28 -0
  48. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  49. package/dist/cjs/mcp/tools/depgraph.d.ts.map +1 -1
  50. package/dist/cjs/mcp/tools/depgraph.js +15 -0
  51. package/dist/cjs/mcp/tools/depgraph.js.map +1 -1
  52. package/dist/cjs/mcp/tools/dev-utils.d.ts.map +1 -1
  53. package/dist/cjs/mcp/tools/dev-utils.js +6 -0
  54. package/dist/cjs/mcp/tools/dev-utils.js.map +1 -1
  55. package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -1
  56. package/dist/cjs/mcp/tools/devtools.js +51 -39
  57. package/dist/cjs/mcp/tools/devtools.js.map +1 -1
  58. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  59. package/dist/cjs/mcp/tools/memory.js +10 -0
  60. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  61. package/dist/cjs/mcp/tools/misc.d.ts.map +1 -1
  62. package/dist/cjs/mcp/tools/misc.js +11 -0
  63. package/dist/cjs/mcp/tools/misc.js.map +1 -1
  64. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
  65. package/dist/cjs/mcp/tools/refactor.js +9 -0
  66. package/dist/cjs/mcp/tools/refactor.js.map +1 -1
  67. package/dist/cjs/mcp/tools.d.ts +1 -0
  68. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  69. package/dist/cjs/mcp/tools.js +44 -7
  70. package/dist/cjs/mcp/tools.js.map +1 -1
  71. package/dist/cjs/subconscious/TheBrainV2.d.ts +11 -0
  72. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  73. package/dist/cjs/subconscious/TheBrainV2.js +8 -0
  74. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  75. package/dist/cjs/utils/SearchCache.d.ts +2 -2
  76. package/dist/cjs/utils/SearchCache.d.ts.map +1 -1
  77. package/dist/cjs/utils/SearchCache.js +6 -6
  78. package/dist/cjs/utils/SearchCache.js.map +1 -1
  79. package/dist/cjs/utils/WorkspaceSearch.d.ts +3 -1
  80. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  81. package/dist/cjs/utils/WorkspaceSearch.js +5 -2
  82. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  83. package/dist/esm/language-core/contracts/CapabilityMatrix.d.ts +10 -0
  84. package/dist/esm/language-core/contracts/CapabilityMatrix.d.ts.map +1 -0
  85. package/dist/esm/language-core/contracts/CapabilityMatrix.js +66 -0
  86. package/dist/esm/language-core/contracts/CapabilityMatrix.js.map +1 -0
  87. package/dist/esm/language-core/detection/detectProjectType.d.ts +17 -0
  88. package/dist/esm/language-core/detection/detectProjectType.d.ts.map +1 -0
  89. package/dist/esm/language-core/detection/detectProjectType.js +150 -0
  90. package/dist/esm/language-core/detection/detectProjectType.js.map +1 -0
  91. package/dist/esm/language-core/registry/adapterRegistry.d.ts +11 -0
  92. package/dist/esm/language-core/registry/adapterRegistry.d.ts.map +1 -0
  93. package/dist/esm/language-core/registry/adapterRegistry.js +41 -0
  94. package/dist/esm/language-core/registry/adapterRegistry.js.map +1 -0
  95. package/dist/esm/languages/adapters/dotnet/DotNetDependencyGraph.d.ts +24 -0
  96. package/dist/esm/languages/adapters/dotnet/DotNetDependencyGraph.d.ts.map +1 -0
  97. package/dist/esm/languages/adapters/dotnet/DotNetDependencyGraph.js +162 -0
  98. package/dist/esm/languages/adapters/dotnet/DotNetDependencyGraph.js.map +1 -0
  99. package/dist/esm/languages/adapters/dotnet/DotNetLanguageAdapter.d.ts +37 -0
  100. package/dist/esm/languages/adapters/dotnet/DotNetLanguageAdapter.d.ts.map +1 -0
  101. package/dist/esm/languages/adapters/dotnet/DotNetLanguageAdapter.js +44 -0
  102. package/dist/esm/languages/adapters/dotnet/DotNetLanguageAdapter.js.map +1 -0
  103. package/dist/esm/languages/adapters/dotnet/DotNetPatchValidator.d.ts +25 -0
  104. package/dist/esm/languages/adapters/dotnet/DotNetPatchValidator.d.ts.map +1 -0
  105. package/dist/esm/languages/adapters/dotnet/DotNetPatchValidator.js +201 -0
  106. package/dist/esm/languages/adapters/dotnet/DotNetPatchValidator.js.map +1 -0
  107. package/dist/esm/languages/adapters/dotnet/DotNetSymbolGraph.d.ts +18 -0
  108. package/dist/esm/languages/adapters/dotnet/DotNetSymbolGraph.d.ts.map +1 -0
  109. package/dist/esm/languages/adapters/dotnet/DotNetSymbolGraph.js +175 -0
  110. package/dist/esm/languages/adapters/dotnet/DotNetSymbolGraph.js.map +1 -0
  111. package/dist/esm/languages/csharp/csharpSymbols.d.ts +33 -0
  112. package/dist/esm/languages/csharp/csharpSymbols.d.ts.map +1 -0
  113. package/dist/esm/languages/csharp/csharpSymbols.js +268 -0
  114. package/dist/esm/languages/csharp/csharpSymbols.js.map +1 -0
  115. package/dist/esm/mcp/cognitiveMap.d.ts +39 -10
  116. package/dist/esm/mcp/cognitiveMap.d.ts.map +1 -1
  117. package/dist/esm/mcp/cognitiveMap.js +442 -25
  118. package/dist/esm/mcp/cognitiveMap.js.map +1 -1
  119. package/dist/esm/mcp/index.js +6 -0
  120. package/dist/esm/mcp/index.js.map +1 -1
  121. package/dist/esm/mcp/tools/analysis.d.ts.map +1 -1
  122. package/dist/esm/mcp/tools/analysis.js +9 -0
  123. package/dist/esm/mcp/tools/analysis.js.map +1 -1
  124. package/dist/esm/mcp/tools/codenav.d.ts.map +1 -1
  125. package/dist/esm/mcp/tools/codenav.js +46 -77
  126. package/dist/esm/mcp/tools/codenav.js.map +1 -1
  127. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  128. package/dist/esm/mcp/tools/context-tools.js +28 -0
  129. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  130. package/dist/esm/mcp/tools/depgraph.d.ts.map +1 -1
  131. package/dist/esm/mcp/tools/depgraph.js +15 -0
  132. package/dist/esm/mcp/tools/depgraph.js.map +1 -1
  133. package/dist/esm/mcp/tools/dev-utils.d.ts.map +1 -1
  134. package/dist/esm/mcp/tools/dev-utils.js +6 -0
  135. package/dist/esm/mcp/tools/dev-utils.js.map +1 -1
  136. package/dist/esm/mcp/tools/devtools.d.ts.map +1 -1
  137. package/dist/esm/mcp/tools/devtools.js +51 -39
  138. package/dist/esm/mcp/tools/devtools.js.map +1 -1
  139. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  140. package/dist/esm/mcp/tools/memory.js +10 -0
  141. package/dist/esm/mcp/tools/memory.js.map +1 -1
  142. package/dist/esm/mcp/tools/misc.d.ts.map +1 -1
  143. package/dist/esm/mcp/tools/misc.js +11 -0
  144. package/dist/esm/mcp/tools/misc.js.map +1 -1
  145. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
  146. package/dist/esm/mcp/tools/refactor.js +9 -0
  147. package/dist/esm/mcp/tools/refactor.js.map +1 -1
  148. package/dist/esm/mcp/tools.d.ts +1 -0
  149. package/dist/esm/mcp/tools.d.ts.map +1 -1
  150. package/dist/esm/mcp/tools.js +45 -9
  151. package/dist/esm/mcp/tools.js.map +1 -1
  152. package/dist/esm/subconscious/TheBrainV2.d.ts +11 -0
  153. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  154. package/dist/esm/subconscious/TheBrainV2.js +8 -0
  155. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  156. package/dist/esm/utils/SearchCache.d.ts +2 -2
  157. package/dist/esm/utils/SearchCache.d.ts.map +1 -1
  158. package/dist/esm/utils/SearchCache.js +6 -6
  159. package/dist/esm/utils/SearchCache.js.map +1 -1
  160. package/dist/esm/utils/WorkspaceSearch.d.ts +3 -1
  161. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  162. package/dist/esm/utils/WorkspaceSearch.js +5 -2
  163. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  164. package/mcp-server.js +1 -1
  165. package/package.json +1 -1
@@ -0,0 +1,33 @@
1
+ export interface CSharpFileSymbols {
2
+ namespaces: string[];
3
+ usings: string[];
4
+ classes: string[];
5
+ interfaces: string[];
6
+ enums: string[];
7
+ records: string[];
8
+ structs: string[];
9
+ /** Best-effort `TypeName.MethodName`; methods that cannot be attributed appear bare. */
10
+ methods: string[];
11
+ }
12
+ export interface CsprojInfo {
13
+ targetFrameworks: string[];
14
+ projectReferences: string[];
15
+ packageReferences: Array<{
16
+ name: string;
17
+ version?: string;
18
+ }>;
19
+ }
20
+ export declare const CSHARP_MAX_FILE_BYTES = 300000;
21
+ /**
22
+ * Replace comments and string/char literals with spaces (newlines preserved)
23
+ * so declaration regexes never match inside them.
24
+ */
25
+ export declare function maskNonCode(content: string): string;
26
+ /**
27
+ * Deterministic line-based C# symbol extraction. Documented limits:
28
+ * methods are attributed to the innermost lexically-open type; expression edge
29
+ * cases (local functions, lambdas assigned to fields) are ignored by design.
30
+ */
31
+ export declare function parseCSharpFile(content: string): CSharpFileSymbols;
32
+ export declare function parseCsproj(content: string): CsprojInfo;
33
+ //# sourceMappingURL=csharpSymbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csharpSymbols.d.ts","sourceRoot":"","sources":["../../../../src/languages/csharp/csharpSymbols.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wFAAwF;IACxF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,qBAAqB,SAAU,CAAC;AA8B7C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4GnD;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAgGlE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAgCvD"}
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CSHARP_MAX_FILE_BYTES = void 0;
4
+ exports.maskNonCode = maskNonCode;
5
+ exports.parseCSharpFile = parseCSharpFile;
6
+ exports.parseCsproj = parseCsproj;
7
+ exports.CSHARP_MAX_FILE_BYTES = 300000;
8
+ const TYPE_RE = /^\s*(?:\[[^\]]*\]\s*)?(?:(?:public|private|protected|internal|static|sealed|abstract|partial|unsafe|readonly|ref)\s+)*(class|interface|enum|record|struct)\s+(\w+)/;
9
+ const USING_RE = /^\s*using\s+([\w.]+)\s*;/;
10
+ const NAMESPACE_RE = /^\s*namespace\s+([\w.]+)\s*[;{]?/;
11
+ const METHOD_RE = /^\s*(?:(?:public|private|protected|internal|static|virtual|override|abstract|async|sealed|extern|unsafe|new|partial|readonly)\s+)+([\w<>[\],\s?.]+?)\s+(\w+)\s*\(/;
12
+ const CTOR_RE = /^\s*(?:(?:public|private|protected|internal|static|extern|unsafe)\s+)+(\w+)\s*\([^;=]*\)\s*({)?\s*$/;
13
+ const NON_METHOD_NAMES = new Set([
14
+ "if",
15
+ "for",
16
+ "foreach",
17
+ "while",
18
+ "switch",
19
+ "catch",
20
+ "using",
21
+ "lock",
22
+ "fixed",
23
+ "return",
24
+ "new",
25
+ "where",
26
+ "else",
27
+ "do",
28
+ "try",
29
+ "get",
30
+ "set",
31
+ ]);
32
+ /**
33
+ * Replace comments and string/char literals with spaces (newlines preserved)
34
+ * so declaration regexes never match inside them.
35
+ */
36
+ function maskNonCode(content) {
37
+ const out = [];
38
+ let i = 0;
39
+ const n = content.length;
40
+ while (i < n) {
41
+ const c = content[i];
42
+ const next = content[i + 1];
43
+ // line comment
44
+ if (c === "/" && next === "/") {
45
+ while (i < n && content[i] !== "\n") {
46
+ out.push(" ");
47
+ i++;
48
+ }
49
+ continue;
50
+ }
51
+ // block comment
52
+ if (c === "/" && next === "*") {
53
+ out.push(" ", " ");
54
+ i += 2;
55
+ while (i < n && !(content[i] === "*" && content[i + 1] === "/")) {
56
+ out.push(content[i] === "\n" ? "\n" : " ");
57
+ i++;
58
+ }
59
+ out.push(" ", " ");
60
+ i += 2;
61
+ continue;
62
+ }
63
+ // verbatim / interpolated-verbatim strings @".." $@"" $".."
64
+ if ((c === "@" && next === '"') ||
65
+ (c === "$" && (next === "@" || next === '"'))) {
66
+ // find opening quote
67
+ let j = i;
68
+ if (content[j] === "$" && content[j + 1] === "@")
69
+ j += 2;
70
+ else
71
+ j += 1;
72
+ if (content[j] !== '"') {
73
+ // not actually a string literal — emit and advance, never stall
74
+ out.push(" ".repeat(j - i));
75
+ i = j;
76
+ continue;
77
+ }
78
+ out.push(" ".repeat(j - i + 1));
79
+ i = j + 1;
80
+ while (i < n) {
81
+ if (content[i] === '"' && content[i + 1] === '"') {
82
+ out.push(" ", " ");
83
+ i += 2;
84
+ continue;
85
+ }
86
+ if (content[i] === '"') {
87
+ out.push(" ");
88
+ i++;
89
+ break;
90
+ }
91
+ out.push(content[i] === "\n" ? "\n" : " ");
92
+ i++;
93
+ }
94
+ continue;
95
+ }
96
+ // regular / interpolated string "..."
97
+ if (c === '"') {
98
+ out.push(" ");
99
+ i++;
100
+ while (i < n) {
101
+ if (content[i] === "\\" && i + 1 < n) {
102
+ out.push(content[i] === "\n" ? "\n" : " ", " ");
103
+ i += 2;
104
+ continue;
105
+ }
106
+ if (content[i] === '"') {
107
+ out.push(" ");
108
+ i++;
109
+ break;
110
+ }
111
+ if (content[i] === "\n") {
112
+ out.push("\n");
113
+ i++;
114
+ break;
115
+ }
116
+ out.push(" ");
117
+ i++;
118
+ }
119
+ continue;
120
+ }
121
+ // char literal '.'
122
+ if (c === "'") {
123
+ out.push(" ");
124
+ i++;
125
+ while (i < n && content[i] !== "\n") {
126
+ if (content[i] === "\\" && i + 1 < n) {
127
+ out.push(" ", " ");
128
+ i += 2;
129
+ continue;
130
+ }
131
+ out.push(" ");
132
+ if (content[i] === "'") {
133
+ i++;
134
+ break;
135
+ }
136
+ i++;
137
+ }
138
+ continue;
139
+ }
140
+ out.push(c);
141
+ i++;
142
+ }
143
+ return out.join("");
144
+ }
145
+ function pushUnique(list, item) {
146
+ if (item && !list.includes(item))
147
+ list.push(item);
148
+ }
149
+ /**
150
+ * Deterministic line-based C# symbol extraction. Documented limits:
151
+ * methods are attributed to the innermost lexically-open type; expression edge
152
+ * cases (local functions, lambdas assigned to fields) are ignored by design.
153
+ */
154
+ function parseCSharpFile(content) {
155
+ const result = {
156
+ namespaces: [],
157
+ usings: [],
158
+ classes: [],
159
+ interfaces: [],
160
+ enums: [],
161
+ records: [],
162
+ structs: [],
163
+ methods: [],
164
+ };
165
+ if (content.length > exports.CSHARP_MAX_FILE_BYTES)
166
+ return result;
167
+ const masked = maskNonCode(content);
168
+ const typeStack = [];
169
+ let depth = 0;
170
+ for (const rawLine of masked.split("\n")) {
171
+ const line = rawLine;
172
+ const usingMatch = line.match(USING_RE);
173
+ // `using (...)` and `using var x =` are statements, not directives.
174
+ if (usingMatch &&
175
+ !/^\s*using\s*\(/.test(line) &&
176
+ !/^\s*using\s+\w+\s+\w+\s*=/.test(line)) {
177
+ pushUnique(result.usings, usingMatch[1]);
178
+ }
179
+ const nsMatch = line.match(NAMESPACE_RE);
180
+ if (nsMatch)
181
+ pushUnique(result.namespaces, nsMatch[1]);
182
+ const typeMatch = line.match(TYPE_RE);
183
+ if (typeMatch && !NON_METHOD_NAMES.has(typeMatch[2])) {
184
+ const [, kind, name] = typeMatch;
185
+ if (kind === "class")
186
+ pushUnique(result.classes, name);
187
+ else if (kind === "interface")
188
+ pushUnique(result.interfaces, name);
189
+ else if (kind === "enum")
190
+ pushUnique(result.enums, name);
191
+ else if (kind === "record")
192
+ pushUnique(result.records, name);
193
+ else if (kind === "struct")
194
+ pushUnique(result.structs, name);
195
+ typeStack.push({ name, kind, depth });
196
+ }
197
+ else {
198
+ const methodMatch = line.match(METHOD_RE);
199
+ if (methodMatch) {
200
+ const name = methodMatch[2];
201
+ if (!NON_METHOD_NAMES.has(name)) {
202
+ while (typeStack.length > 0 &&
203
+ typeStack[typeStack.length - 1].depth > depth)
204
+ typeStack.pop();
205
+ const owner = typeStack.length > 0 ? typeStack[typeStack.length - 1].name : null;
206
+ pushUnique(result.methods, owner ? `${owner}.${name}` : name);
207
+ }
208
+ }
209
+ else {
210
+ const ctorMatch = line.match(CTOR_RE);
211
+ if (ctorMatch && !NON_METHOD_NAMES.has(ctorMatch[1])) {
212
+ while (typeStack.length > 0 &&
213
+ typeStack[typeStack.length - 1].depth > depth)
214
+ typeStack.pop();
215
+ const owner = typeStack.length > 0 ? typeStack[typeStack.length - 1].name : null;
216
+ if (owner && ctorMatch[1] === owner)
217
+ pushUnique(result.methods, `${owner}.${owner}`);
218
+ else if (!owner)
219
+ pushUnique(result.methods, ctorMatch[1]);
220
+ }
221
+ else {
222
+ // Modifier-less declarations only occur in interfaces
223
+ // (`Order? Find(int id);`). Anywhere else `Foo(x);` is a call.
224
+ const top = typeStack.length > 0 ? typeStack[typeStack.length - 1] : null;
225
+ if (top && top.kind === "interface" && top.depth < depth) {
226
+ const im = line.match(/^\s*([\w<>[\],\s?.]+?)\s+(\w+)\s*\([^;{}]*\)\s*;\s*$/);
227
+ if (im && !NON_METHOD_NAMES.has(im[2])) {
228
+ pushUnique(result.methods, `${top.name}.${im[2]}`);
229
+ }
230
+ }
231
+ }
232
+ }
233
+ }
234
+ for (const ch of line) {
235
+ if (ch === "{")
236
+ depth++;
237
+ else if (ch === "}") {
238
+ depth = Math.max(0, depth - 1);
239
+ while (typeStack.length > 0 &&
240
+ typeStack[typeStack.length - 1].depth >= depth)
241
+ typeStack.pop();
242
+ }
243
+ }
244
+ }
245
+ return result;
246
+ }
247
+ function parseCsproj(content) {
248
+ const info = {
249
+ targetFrameworks: [],
250
+ projectReferences: [],
251
+ packageReferences: [],
252
+ };
253
+ const tfm = content.match(/<TargetFramework>\s*([^<]+?)\s*<\/TargetFramework>/i);
254
+ if (tfm)
255
+ pushUnique(info.targetFrameworks, tfm[1].trim());
256
+ const tfms = content.match(/<TargetFrameworks>\s*([^<]+?)\s*<\/TargetFrameworks>/i);
257
+ if (tfms)
258
+ tfms[1]
259
+ .split(";")
260
+ .map((s) => s.trim())
261
+ .filter(Boolean)
262
+ .forEach((f) => pushUnique(info.targetFrameworks, f));
263
+ const projRef = content.matchAll(/<ProjectReference\s+Include="([^"]+)"/gi);
264
+ for (const m of projRef)
265
+ pushUnique(info.projectReferences, m[1]);
266
+ const pkgRef = content.matchAll(/<PackageReference\s+Include="([^"]+)"(?:\s+Version="([^"]+)")?/gi);
267
+ for (const m of pkgRef) {
268
+ if (!info.packageReferences.some((p) => p.name === m[1])) {
269
+ info.packageReferences.push(m[2] ? { name: m[1], version: m[2] } : { name: m[1] });
270
+ }
271
+ }
272
+ return info;
273
+ }
274
+ //# sourceMappingURL=csharpSymbols.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csharpSymbols.js","sourceRoot":"","sources":["../../../../src/languages/csharp/csharpSymbols.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,51 @@ export interface CognitiveDomain {
6
6
  decisions: string[];
7
7
  symbols: string[];
8
8
  }
9
+ export type CanonIntentBucket = "config" | "routing" | "schemas" | "mcp" | "security" | "subconscious" | "others";
10
+ export type CanonIntent = Record<CanonIntentBucket, string[]>;
11
+ export interface CanonStamp {
12
+ fileCount: number;
13
+ fingerprint: string;
14
+ gitHead: string;
15
+ }
9
16
  export interface CognitiveMapSchema {
10
17
  workspace: string;
11
18
  lastBuilt: string;
19
+ /** Canon format version. Legacy global maps have no version. */
20
+ version?: number;
21
+ projectRoot?: string;
22
+ projectId?: string;
23
+ stamp?: CanonStamp;
24
+ intent?: CanonIntent;
12
25
  nodes: Record<string, CognitiveDomain>;
26
+ /** True when curated fields were carried over from the legacy global map. */
27
+ migrated?: boolean;
13
28
  }
29
+ export declare const CANON_VERSION = 1;
30
+ /** Legacy global map (pre-canon). Kept as read-only migration source. */
14
31
  export declare const COG_MAP_FILE: string;
32
+ export declare function canonFileFor(workspaceRoot: string): string;
33
+ export declare function classifyDomain(relPath: string): string;
34
+ export declare function classifyIntent(relPath: string): CanonIntentBucket;
35
+ export declare function emptyIntent(): CanonIntent;
36
+ export declare function buildCanonMap(workspaceRoot: string, prev?: CognitiveMapSchema): CognitiveMapSchema;
37
+ export declare function loadCanonMap(workspaceRoot: string): CognitiveMapSchema | null;
38
+ export declare function saveCanonMap(workspaceRoot: string, map: CognitiveMapSchema): void;
39
+ export interface CanonStatus {
40
+ map: CognitiveMapSchema;
41
+ fresh: boolean;
42
+ rebuilt: boolean;
43
+ reason: string;
44
+ }
15
45
  /**
16
- * Best-effort domain for a repo-relative file path, so store_memory and the test-oracle
17
- * auto-store below don't require a human to type `domain` by hand every time.
18
- *
19
- * Prefers the persisted Cognitive Map (built via `cognitive_map` action "build") when it
20
- * has this exact file listed — that reflects an actual workspace scan. Falls back to the
21
- * same lightweight substring heuristic "build" uses, so a project that never ran "build"
22
- * still gets a reasonable tag instead of none at all. Returns undefined rather than
23
- * "general" when nothing matches — an absent domain stays visible to every domain-scoped
24
- * search (see BrainEntry.domain), while a wrong guess would actively mislead one.
46
+ * Single entry point for reads. Cheap when fresh: one traversal for the
47
+ * fingerprint (readdir only, no content reads) + one JSON read. Rebuilds
48
+ * (with content reads) only when the file set or git HEAD actually changed.
25
49
  */
26
- export declare function deriveDomainForFile(relPath: string): string | undefined;
50
+ export declare function ensureCanonMap(workspaceRoot: string, opts?: {
51
+ autoBuild?: boolean;
52
+ }): CanonStatus;
53
+ export declare function briefCanon(map: CognitiveMapSchema): string;
54
+ export declare function summarizeIntent(intent: CanonIntent): string;
55
+ export declare function deriveDomainForFile(relPath: string, workspaceRoot?: string): string | undefined;
27
56
  //# sourceMappingURL=cognitiveMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cognitiveMap.d.ts","sourceRoot":"","sources":["../../../src/mcp/cognitiveMap.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,QAA0D,CAAC;AAEpF;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBvE"}
1
+ {"version":3,"file":"cognitiveMap.d.ts","sourceRoot":"","sources":["../../../src/mcp/cognitiveMap.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,SAAS,GACT,SAAS,GACT,KAAK,GACL,UAAU,GACV,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,yEAAyE;AACzE,eAAO,MAAM,YAAY,QAA0D,CAAC;AAEpF,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE1D;AAyBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAmCjE;AAED,wBAAgB,WAAW,IAAI,WAAW,CAUzC;AAkID,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,kBAAkB,GACxB,kBAAkB,CA2EpB;AAeD,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,GACpB,kBAAkB,GAAG,IAAI,CAY3B;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,kBAAkB,GACtB,IAAI,CAIN;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,kBAAkB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACjC,WAAW,CAiDb;AAMD,wBAAgB,UAAU,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAqB1D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAW3D;AAMD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,aAAa,GAAE,MAAsB,GACpC,MAAM,GAAG,SAAS,CA2CpB"}