purecontext-mcp 1.2.0 → 1.5.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 (177) hide show
  1. package/AGENT_INSTRUCTIONS.md +110 -784
  2. package/AGENT_REFERENCE.md +561 -0
  3. package/CHANGELOG.md +177 -6
  4. package/FRAMEWORK-ADAPTERS.md +351 -0
  5. package/LANGUAGE-SUPPORT.md +144 -0
  6. package/README.md +92 -12
  7. package/USER-GUIDE.md +8 -0
  8. package/dist/cli/hooks.d.ts +28 -0
  9. package/dist/cli/hooks.d.ts.map +1 -0
  10. package/dist/cli/hooks.js +570 -0
  11. package/dist/cli/hooks.js.map +1 -0
  12. package/dist/cli/install-detect.d.ts +16 -0
  13. package/dist/cli/install-detect.d.ts.map +1 -0
  14. package/dist/cli/install-detect.js +70 -0
  15. package/dist/cli/install-detect.js.map +1 -0
  16. package/dist/cli/install-writers.d.ts +59 -0
  17. package/dist/cli/install-writers.d.ts.map +1 -0
  18. package/dist/cli/install-writers.js +292 -0
  19. package/dist/cli/install-writers.js.map +1 -0
  20. package/dist/cli/install.d.ts +14 -0
  21. package/dist/cli/install.d.ts.map +1 -0
  22. package/dist/cli/install.js +150 -0
  23. package/dist/cli/install.js.map +1 -0
  24. package/dist/config/config-loader.js +3 -0
  25. package/dist/config/config-loader.js.map +1 -1
  26. package/dist/config/config-schema.d.ts +11 -0
  27. package/dist/config/config-schema.d.ts.map +1 -1
  28. package/dist/config/config-schema.js +15 -0
  29. package/dist/config/config-schema.js.map +1 -1
  30. package/dist/core/db/symbol-store.d.ts +1 -0
  31. package/dist/core/db/symbol-store.d.ts.map +1 -1
  32. package/dist/core/db/symbol-store.js +120 -6
  33. package/dist/core/db/symbol-store.js.map +1 -1
  34. package/dist/core/file-discovery.d.ts +6 -0
  35. package/dist/core/file-discovery.d.ts.map +1 -1
  36. package/dist/core/file-discovery.js +20 -13
  37. package/dist/core/file-discovery.js.map +1 -1
  38. package/dist/core/file-processor.d.ts.map +1 -1
  39. package/dist/core/file-processor.js +26 -1
  40. package/dist/core/file-processor.js.map +1 -1
  41. package/dist/core/git-log-reader.d.ts.map +1 -1
  42. package/dist/core/git-log-reader.js +21 -0
  43. package/dist/core/git-log-reader.js.map +1 -1
  44. package/dist/core/index-manager.d.ts.map +1 -1
  45. package/dist/core/index-manager.js +21 -7
  46. package/dist/core/index-manager.js.map +1 -1
  47. package/dist/core/indexing-worker.d.ts.map +1 -1
  48. package/dist/core/indexing-worker.js +14 -0
  49. package/dist/core/indexing-worker.js.map +1 -1
  50. package/dist/core/parse-dispatcher.d.ts.map +1 -1
  51. package/dist/core/parse-dispatcher.js +20 -5
  52. package/dist/core/parse-dispatcher.js.map +1 -1
  53. package/dist/core/search/query-preprocessor.d.ts +69 -3
  54. package/dist/core/search/query-preprocessor.d.ts.map +1 -1
  55. package/dist/core/search/query-preprocessor.js +450 -17
  56. package/dist/core/search/query-preprocessor.js.map +1 -1
  57. package/dist/core/search/relevance-ranker.d.ts +60 -5
  58. package/dist/core/search/relevance-ranker.d.ts.map +1 -1
  59. package/dist/core/search/relevance-ranker.js +931 -33
  60. package/dist/core/search/relevance-ranker.js.map +1 -1
  61. package/dist/core/test-mapper.d.ts.map +1 -1
  62. package/dist/core/test-mapper.js +7 -1
  63. package/dist/core/test-mapper.js.map +1 -1
  64. package/dist/core/types.d.ts +28 -1
  65. package/dist/core/types.d.ts.map +1 -1
  66. package/dist/handlers/angular-html.d.ts +3 -0
  67. package/dist/handlers/angular-html.d.ts.map +1 -0
  68. package/dist/handlers/angular-html.js +215 -0
  69. package/dist/handlers/angular-html.js.map +1 -0
  70. package/dist/handlers/c.d.ts.map +1 -1
  71. package/dist/handlers/c.js +19 -0
  72. package/dist/handlers/c.js.map +1 -1
  73. package/dist/handlers/cpp-macro-registry.d.ts +21 -0
  74. package/dist/handlers/cpp-macro-registry.d.ts.map +1 -0
  75. package/dist/handlers/cpp-macro-registry.js +44 -0
  76. package/dist/handlers/cpp-macro-registry.js.map +1 -0
  77. package/dist/handlers/cpp.d.ts.map +1 -1
  78. package/dist/handlers/cpp.js +579 -10
  79. package/dist/handlers/cpp.js.map +1 -1
  80. package/dist/handlers/csharp.d.ts.map +1 -1
  81. package/dist/handlers/csharp.js +39 -2
  82. package/dist/handlers/csharp.js.map +1 -1
  83. package/dist/handlers/css.d.ts +3 -0
  84. package/dist/handlers/css.d.ts.map +1 -0
  85. package/dist/handlers/css.js +154 -0
  86. package/dist/handlers/css.js.map +1 -0
  87. package/dist/handlers/erlang.d.ts.map +1 -1
  88. package/dist/handlers/erlang.js +8 -1
  89. package/dist/handlers/erlang.js.map +1 -1
  90. package/dist/handlers/fortran.js +1 -1
  91. package/dist/handlers/fortran.js.map +1 -1
  92. package/dist/handlers/go.d.ts.map +1 -1
  93. package/dist/handlers/go.js +87 -2
  94. package/dist/handlers/go.js.map +1 -1
  95. package/dist/handlers/handler-registry.d.ts.map +1 -1
  96. package/dist/handlers/handler-registry.js +4 -0
  97. package/dist/handlers/handler-registry.js.map +1 -1
  98. package/dist/handlers/hcl.d.ts +3 -0
  99. package/dist/handlers/hcl.d.ts.map +1 -0
  100. package/dist/handlers/hcl.js +193 -0
  101. package/dist/handlers/hcl.js.map +1 -0
  102. package/dist/handlers/java.d.ts.map +1 -1
  103. package/dist/handlers/java.js +33 -16
  104. package/dist/handlers/java.js.map +1 -1
  105. package/dist/handlers/kotlin.d.ts.map +1 -1
  106. package/dist/handlers/kotlin.js +48 -3
  107. package/dist/handlers/kotlin.js.map +1 -1
  108. package/dist/handlers/less.d.ts +3 -0
  109. package/dist/handlers/less.d.ts.map +1 -0
  110. package/dist/handlers/less.js +255 -0
  111. package/dist/handlers/less.js.map +1 -0
  112. package/dist/handlers/objective-c.d.ts.map +1 -1
  113. package/dist/handlers/objective-c.js +122 -64
  114. package/dist/handlers/objective-c.js.map +1 -1
  115. package/dist/handlers/openapi.d.ts.map +1 -1
  116. package/dist/handlers/openapi.js +30 -5
  117. package/dist/handlers/openapi.js.map +1 -1
  118. package/dist/handlers/php.d.ts.map +1 -1
  119. package/dist/handlers/php.js +287 -41
  120. package/dist/handlers/php.js.map +1 -1
  121. package/dist/handlers/protobuf.d.ts.map +1 -1
  122. package/dist/handlers/protobuf.js +1 -0
  123. package/dist/handlers/protobuf.js.map +1 -1
  124. package/dist/handlers/python.d.ts.map +1 -1
  125. package/dist/handlers/python.js +1 -3
  126. package/dist/handlers/python.js.map +1 -1
  127. package/dist/handlers/ruby-dsl.d.ts +23 -0
  128. package/dist/handlers/ruby-dsl.d.ts.map +1 -0
  129. package/dist/handlers/ruby-dsl.js +251 -0
  130. package/dist/handlers/ruby-dsl.js.map +1 -0
  131. package/dist/handlers/ruby.d.ts.map +1 -1
  132. package/dist/handlers/ruby.js +29 -4
  133. package/dist/handlers/ruby.js.map +1 -1
  134. package/dist/handlers/rust.d.ts.map +1 -1
  135. package/dist/handlers/rust.js +98 -2
  136. package/dist/handlers/rust.js.map +1 -1
  137. package/dist/handlers/scss.d.ts +3 -0
  138. package/dist/handlers/scss.d.ts.map +1 -0
  139. package/dist/handlers/scss.js +290 -0
  140. package/dist/handlers/scss.js.map +1 -0
  141. package/dist/handlers/sql.d.ts.map +1 -1
  142. package/dist/handlers/sql.js +37 -18
  143. package/dist/handlers/sql.js.map +1 -1
  144. package/dist/handlers/typescript.d.ts.map +1 -1
  145. package/dist/handlers/typescript.js +65 -17
  146. package/dist/handlers/typescript.js.map +1 -1
  147. package/dist/handlers/xml.d.ts.map +1 -1
  148. package/dist/handlers/xml.js +35 -2
  149. package/dist/handlers/xml.js.map +1 -1
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +91 -0
  152. package/dist/index.js.map +1 -1
  153. package/dist/server/mcp-server.d.ts.map +1 -1
  154. package/dist/server/mcp-server.js +10 -0
  155. package/dist/server/mcp-server.js.map +1 -1
  156. package/dist/server/tools/detect-antipatterns.d.ts +1 -1
  157. package/dist/server/tools/get-architecture-snapshot.d.ts +1 -1
  158. package/dist/server/tools/get-entry-points.d.ts +1 -1
  159. package/dist/server/tools/get-lexical-scope-matches.d.ts +54 -0
  160. package/dist/server/tools/get-lexical-scope-matches.d.ts.map +1 -0
  161. package/dist/server/tools/get-lexical-scope-matches.js +470 -0
  162. package/dist/server/tools/get-lexical-scope-matches.js.map +1 -0
  163. package/dist/server/tools/search-symbols.d.ts +10 -0
  164. package/dist/server/tools/search-symbols.d.ts.map +1 -1
  165. package/dist/server/tools/search-symbols.js +353 -8
  166. package/dist/server/tools/search-symbols.js.map +1 -1
  167. package/dist/server/tools/trace-invocation-chain.d.ts +53 -0
  168. package/dist/server/tools/trace-invocation-chain.d.ts.map +1 -0
  169. package/dist/server/tools/trace-invocation-chain.js +280 -0
  170. package/dist/server/tools/trace-invocation-chain.js.map +1 -0
  171. package/dist/version.d.ts +1 -1
  172. package/dist/version.js +1 -1
  173. package/docs/02-installation.md +89 -17
  174. package/docs/05-cli-reference.md +89 -0
  175. package/docs/dev/benchmark-findings-eu-za-tebe.md +210 -0
  176. package/docs/dev/phase-35-coverage-audit.md +469 -0
  177. package/package.json +4 -1
@@ -139,6 +139,82 @@ function extractImplTypeName(node, sourceStr) {
139
139
  }
140
140
  return '';
141
141
  }
142
+ /** Parse a token_tree node (the parens content) into predicates, best-effort. */
143
+ function parseTokenTree(node, sourceStr) {
144
+ const result = [];
145
+ const children = node.children.filter((c) => c.type !== '(' && c.type !== ')' && c.type !== ',');
146
+ let i = 0;
147
+ while (i < children.length) {
148
+ const child = children[i];
149
+ if (child.type === 'identifier') {
150
+ const name = nodeText(child, sourceStr);
151
+ const next = children[i + 1];
152
+ // `key = "value"` pattern
153
+ if (next && !next.isNamed && nodeText(next, sourceStr) === '=') {
154
+ const valNode = children[i + 2];
155
+ if (valNode && (valNode.type === 'string_literal' || valNode.type === 'raw_string_literal')) {
156
+ const content = valNode.children.find((c) => c.type === 'string_content');
157
+ const value = content ? nodeText(content, sourceStr) : nodeText(valNode, sourceStr).replace(/^["']|["']$/g, '');
158
+ result.push({ kind: 'eq', key: name, value });
159
+ i += 3;
160
+ continue;
161
+ }
162
+ }
163
+ // `all(...)`, `any(...)`, `not(...)` — identifier followed by token_tree
164
+ if (next && next.type === 'token_tree') {
165
+ const innerKind = (name === 'all' || name === 'any' || name === 'not') ? name : 'unknown';
166
+ const inner = parseTokenTree(next, sourceStr);
167
+ result.push({ kind: innerKind, key: innerKind === 'unknown' ? name : undefined, children: inner });
168
+ i += 2;
169
+ continue;
170
+ }
171
+ // Bare identifier (feature flag): `unix`, `windows`, `feature = "foo"` checked above
172
+ result.push({ kind: 'flag', key: name });
173
+ i++;
174
+ continue;
175
+ }
176
+ // token_tree nested directly (shouldn't normally happen at top level, but handle gracefully)
177
+ if (child.type === 'token_tree') {
178
+ result.push({ kind: 'unknown', children: parseTokenTree(child, sourceStr) });
179
+ }
180
+ i++;
181
+ }
182
+ return result;
183
+ }
184
+ /**
185
+ * Walk preceding attribute_item siblings to collect #[cfg(...)] and #[cfg_attr(...)] metadata.
186
+ * Returns an array of CfgMeta (one per cfg/cfg_attr attribute), or empty if none.
187
+ */
188
+ function extractCfgAttributes(node, sourceStr) {
189
+ const result = [];
190
+ let prev = node.previousNamedSibling;
191
+ while (prev !== null && prev.type === 'attribute_item') {
192
+ const attr = prev.children.find((c) => c.type === 'attribute');
193
+ if (!attr) {
194
+ prev = prev.previousNamedSibling;
195
+ continue;
196
+ }
197
+ const attrName = childText(attr, sourceStr, 'identifier');
198
+ if (attrName !== 'cfg' && attrName !== 'cfg_attr') {
199
+ prev = prev.previousNamedSibling;
200
+ continue;
201
+ }
202
+ const tokenTree = attr.children.find((c) => c.type === 'token_tree');
203
+ const raw = nodeText(prev, sourceStr);
204
+ let predicates = [];
205
+ if (tokenTree) {
206
+ try {
207
+ predicates = parseTokenTree(tokenTree, sourceStr);
208
+ }
209
+ catch {
210
+ // Degrade gracefully — store raw only
211
+ }
212
+ }
213
+ result.unshift({ raw, isCfgAttr: attrName === 'cfg_attr', predicates });
214
+ prev = prev.previousNamedSibling;
215
+ }
216
+ return result;
217
+ }
142
218
  // ─── Symbol extraction ────────────────────────────────────────────────────────
143
219
  function extractSymbols(tree, source, filePath) {
144
220
  const symbols = [];
@@ -151,6 +227,7 @@ function extractSymbols(tree, source, filePath) {
151
227
  const name = childText(node, sourceStr, 'identifier');
152
228
  if (!name)
153
229
  continue;
230
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
154
231
  symbols.push({
155
232
  id: makeId(filePath, name, 'function'),
156
233
  name,
@@ -160,6 +237,7 @@ function extractSymbols(tree, source, filePath) {
160
237
  endByte: node.endIndex,
161
238
  signature: buildSignature(node, sourceStr),
162
239
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
240
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
163
241
  });
164
242
  continue;
165
243
  }
@@ -170,6 +248,7 @@ function extractSymbols(tree, source, filePath) {
170
248
  const name = childText(node, sourceStr, 'type_identifier');
171
249
  if (!name)
172
250
  continue;
251
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
173
252
  symbols.push({
174
253
  id: makeId(filePath, name, 'class'),
175
254
  name,
@@ -179,6 +258,7 @@ function extractSymbols(tree, source, filePath) {
179
258
  endByte: node.endIndex,
180
259
  signature: buildSignature(node, sourceStr),
181
260
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
261
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
182
262
  });
183
263
  continue;
184
264
  }
@@ -189,6 +269,7 @@ function extractSymbols(tree, source, filePath) {
189
269
  const name = childText(node, sourceStr, 'type_identifier');
190
270
  if (!name)
191
271
  continue;
272
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
192
273
  symbols.push({
193
274
  id: makeId(filePath, name, 'enum'),
194
275
  name,
@@ -198,6 +279,7 @@ function extractSymbols(tree, source, filePath) {
198
279
  endByte: node.endIndex,
199
280
  signature: buildSignature(node, sourceStr),
200
281
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
282
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
201
283
  });
202
284
  continue;
203
285
  }
@@ -208,6 +290,7 @@ function extractSymbols(tree, source, filePath) {
208
290
  const name = childText(node, sourceStr, 'type_identifier');
209
291
  if (!name)
210
292
  continue;
293
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
211
294
  symbols.push({
212
295
  id: makeId(filePath, name, 'interface'),
213
296
  name,
@@ -217,6 +300,7 @@ function extractSymbols(tree, source, filePath) {
217
300
  endByte: node.endIndex,
218
301
  signature: buildSignature(node, sourceStr),
219
302
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
303
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
220
304
  });
221
305
  continue;
222
306
  }
@@ -227,6 +311,7 @@ function extractSymbols(tree, source, filePath) {
227
311
  const name = childText(node, sourceStr, 'identifier');
228
312
  if (!name)
229
313
  continue;
314
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
230
315
  symbols.push({
231
316
  id: makeId(filePath, name, 'const'),
232
317
  name,
@@ -240,6 +325,7 @@ function extractSymbols(tree, source, filePath) {
240
325
  .trim()
241
326
  .slice(0, 120),
242
327
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
328
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
243
329
  });
244
330
  continue;
245
331
  }
@@ -250,6 +336,7 @@ function extractSymbols(tree, source, filePath) {
250
336
  const name = childText(node, sourceStr, 'type_identifier');
251
337
  if (!name)
252
338
  continue;
339
+ const cfgAttrs = extractCfgAttributes(node, sourceStr);
253
340
  symbols.push({
254
341
  id: makeId(filePath, name, 'type'),
255
342
  name,
@@ -263,6 +350,7 @@ function extractSymbols(tree, source, filePath) {
263
350
  .trim()
264
351
  .slice(0, 120),
265
352
  summary: extractDocstringWithSource(node, sourceStr) ?? '',
353
+ ...(cfgAttrs.length > 0 ? { frameworkMeta: { cfg: cfgAttrs.length === 1 ? cfgAttrs[0] : cfgAttrs } } : {}),
266
354
  });
267
355
  continue;
268
356
  }
@@ -274,22 +362,30 @@ function extractSymbols(tree, source, filePath) {
274
362
  const body = node.children.find((c) => c.type === 'declaration_list');
275
363
  if (!body)
276
364
  continue;
365
+ const implCfgAttrs = extractCfgAttributes(node, sourceStr);
277
366
  for (const member of body.children) {
278
367
  if (member.type !== 'function_item')
279
368
  continue;
369
+ if (!isPublic(member, sourceStr))
370
+ continue;
280
371
  const methodName = childText(member, sourceStr, 'identifier');
281
372
  if (!methodName)
282
373
  continue;
283
374
  const qualifiedName = `${typeName}.${methodName}`;
375
+ const methodSig = buildSignature(member, sourceStr);
376
+ const sigWithContext = `${typeName}::${methodSig}`.slice(0, 120);
377
+ const memberCfgAttrs = extractCfgAttributes(member, sourceStr);
378
+ const allCfg = [...implCfgAttrs, ...memberCfgAttrs];
284
379
  symbols.push({
285
380
  id: makeId(filePath, qualifiedName, 'method'),
286
- name: qualifiedName,
381
+ name: methodName,
287
382
  kind: 'method',
288
383
  filePath,
289
384
  startByte: member.startIndex,
290
385
  endByte: member.endIndex,
291
- signature: buildSignature(member, sourceStr),
386
+ signature: sigWithContext,
292
387
  summary: extractDocstringWithSource(member, sourceStr) ?? '',
388
+ ...(allCfg.length > 0 ? { frameworkMeta: { cfg: allCfg.length === 1 ? allCfg[0] : allCfg } } : {}),
293
389
  });
294
390
  }
295
391
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/handlers/rust.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rust.js","sourceRoot":"","sources":["../../src/handlers/rust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { LanguageHandler } from '../core/types.js';
2
+ export declare const scssHandler: LanguageHandler;
3
+ //# sourceMappingURL=scss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scss.d.ts","sourceRoot":"","sources":["../../src/handlers/scss.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,kBAAkB,CAAC;AA6R1B,eAAO,MAAM,WAAW,EAAE,eAMzB,CAAC"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * SCSS / SASS language handler — regex-based.
3
+ *
4
+ * Handles: .scss (SCSS syntax), .sass (indented Sass syntax)
5
+ *
6
+ * Symbols extracted:
7
+ * @mixin name(params) → kind: 'function'
8
+ * @function name(params) → kind: 'function'
9
+ * $variable: value → kind: 'const' (top-level only)
10
+ * %placeholder → kind: 'class'
11
+ * @keyframes name → kind: 'type'
12
+ *
13
+ * Imports:
14
+ * @import 'path' → ImportRecord
15
+ * @use 'path' → ImportRecord
16
+ * @forward 'path' → ImportRecord
17
+ *
18
+ * Note: plain selectors (.class, #id, element) are intentionally not indexed —
19
+ * they are not reusable named symbols. Only mixins, functions, variables,
20
+ * placeholders, and keyframes qualify as navigable constructs.
21
+ */
22
+ import { createHash } from 'crypto';
23
+ // ─── Symbol ID ────────────────────────────────────────────────────────────────
24
+ function makeId(filePath, name, kind) {
25
+ return createHash('sha256')
26
+ .update(`${filePath}:${name}:${kind}`)
27
+ .digest('hex')
28
+ .slice(0, 16);
29
+ }
30
+ // ─── Text helpers ─────────────────────────────────────────────────────────────
31
+ function trunc(s, max = 120) {
32
+ s = s.replace(/\s+/g, ' ').trim();
33
+ return s.length > max ? s.slice(0, max - 3) + '...' : s;
34
+ }
35
+ function buildLineIndex(source) {
36
+ const lines = [];
37
+ let byteOffset = 0;
38
+ for (const line of source.toString('utf8').split('\n')) {
39
+ const lineBytes = Buffer.byteLength(line, 'utf8');
40
+ lines.push({ text: line, startByte: byteOffset, endByte: byteOffset + lineBytes });
41
+ byteOffset += lineBytes + 1; // +1 for the \n
42
+ }
43
+ return lines;
44
+ }
45
+ /**
46
+ * Find block end by counting braces. Returns the endByte of the line that
47
+ * contains the closing `}` for the block opened at startLineIdx.
48
+ * Used for .scss files only — .sass uses indentation, not braces.
49
+ */
50
+ function findScssBlockEnd(lines, startLineIdx) {
51
+ let depth = 0;
52
+ let foundOpen = false;
53
+ for (let i = startLineIdx; i < lines.length; i++) {
54
+ for (const ch of lines[i].text) {
55
+ if (ch === '{') {
56
+ depth++;
57
+ foundOpen = true;
58
+ }
59
+ else if (ch === '}') {
60
+ if (depth > 0)
61
+ depth--;
62
+ if (foundOpen && depth === 0)
63
+ return lines[i].endByte;
64
+ }
65
+ }
66
+ }
67
+ return lines[startLineIdx].endByte;
68
+ }
69
+ /**
70
+ * Find the nearest CSS-style comment preceding lineIdx.
71
+ * Supports // single-line and /* ... * / block comments.
72
+ */
73
+ function precedingComment(lines, lineIdx) {
74
+ let i = lineIdx - 1;
75
+ while (i >= 0 && lines[i].text.trim() === '')
76
+ i--;
77
+ if (i < 0)
78
+ return null;
79
+ const above = lines[i].text;
80
+ // Single-line comment: // text
81
+ const slMatch = /\/\/\s*(.+)/.exec(above);
82
+ if (slMatch)
83
+ return trunc(slMatch[1]);
84
+ // Inline block comment: /* text */
85
+ const inlineMatch = /\/\*\s*(.*?)\s*\*\//.exec(above);
86
+ if (inlineMatch)
87
+ return trunc(inlineMatch[1]);
88
+ // End of multi-line block comment
89
+ if (above.trimEnd().endsWith('*/')) {
90
+ const docLines = [];
91
+ while (i >= 0) {
92
+ const t = lines[i].text;
93
+ const cleaned = t
94
+ .replace(/^\s*\/\*+/, '')
95
+ .replace(/\*+\/\s*$/, '')
96
+ .replace(/^\s*\*\s?/, '')
97
+ .trim();
98
+ if (cleaned)
99
+ docLines.unshift(cleaned);
100
+ if (t.includes('/*'))
101
+ break;
102
+ i--;
103
+ }
104
+ return docLines.length > 0 ? trunc(docLines.join(' ')) || null : null;
105
+ }
106
+ return null;
107
+ }
108
+ // ─── Symbol extraction ────────────────────────────────────────────────────────
109
+ function extractSymbols(_tree, source, filePath) {
110
+ const lines = buildLineIndex(source);
111
+ const symbols = [];
112
+ const isSass = filePath.endsWith('.sass');
113
+ let depth = 0; // {} nesting depth (tracked for .scss only)
114
+ let inBlockComment = false;
115
+ for (let i = 0; i < lines.length; i++) {
116
+ const line = lines[i];
117
+ let lineText = line.text;
118
+ // ── Handle ongoing block comments ────────────────────────────────────────
119
+ if (inBlockComment) {
120
+ const closeIdx = lineText.indexOf('*/');
121
+ if (closeIdx !== -1) {
122
+ inBlockComment = false;
123
+ lineText = lineText.slice(closeIdx + 2);
124
+ }
125
+ else {
126
+ continue;
127
+ }
128
+ }
129
+ // Strip // single-line comments (simplified: first occurrence not inside string)
130
+ const slIdx = lineText.indexOf('//');
131
+ if (slIdx !== -1)
132
+ lineText = lineText.slice(0, slIdx);
133
+ // Handle /* ... */ on the current line
134
+ const bsIdx = lineText.indexOf('/*');
135
+ if (bsIdx !== -1) {
136
+ const beIdx = lineText.indexOf('*/', bsIdx + 2);
137
+ if (beIdx === -1) {
138
+ inBlockComment = true;
139
+ lineText = lineText.slice(0, bsIdx);
140
+ }
141
+ else {
142
+ lineText = lineText.slice(0, bsIdx) + lineText.slice(beIdx + 2);
143
+ }
144
+ }
145
+ const trimmed = lineText.trim();
146
+ // ── Depth tracking (.scss only — .sass uses indentation) ─────────────────
147
+ const prevDepth = depth;
148
+ if (!isSass) {
149
+ for (const ch of lineText) {
150
+ if (ch === '{')
151
+ depth++;
152
+ else if (ch === '}') {
153
+ if (depth > 0)
154
+ depth--;
155
+ }
156
+ }
157
+ }
158
+ if (!trimmed)
159
+ continue;
160
+ // ── @mixin ───────────────────────────────────────────────────────────────
161
+ let m = /^@mixin\s+([\w-]+)\s*(\([^)]*\))?/.exec(trimmed);
162
+ if (m) {
163
+ const name = m[1];
164
+ const params = m[2] ?? '';
165
+ symbols.push({
166
+ id: makeId(filePath, name, 'function'),
167
+ name,
168
+ kind: 'function',
169
+ filePath,
170
+ startByte: line.startByte,
171
+ endByte: isSass ? line.endByte : findScssBlockEnd(lines, i),
172
+ signature: trunc(`@mixin ${name}${params}`),
173
+ summary: precedingComment(lines, i) ?? `SCSS mixin: ${name}`,
174
+ });
175
+ continue;
176
+ }
177
+ // ── @function ────────────────────────────────────────────────────────────
178
+ m = /^@function\s+([\w-]+)\s*(\([^)]*\))?/.exec(trimmed);
179
+ if (m) {
180
+ const name = m[1];
181
+ const params = m[2] ?? '';
182
+ symbols.push({
183
+ id: makeId(filePath, name, 'function'),
184
+ name,
185
+ kind: 'function',
186
+ filePath,
187
+ startByte: line.startByte,
188
+ endByte: isSass ? line.endByte : findScssBlockEnd(lines, i),
189
+ signature: trunc(`@function ${name}${params}`),
190
+ summary: precedingComment(lines, i) ?? `SCSS function: ${name}`,
191
+ });
192
+ continue;
193
+ }
194
+ // ── @keyframes (including vendor-prefixed) ───────────────────────────────
195
+ m = /^@(?:-\w+-)?keyframes\s+([\w-]+)/.exec(trimmed);
196
+ if (m) {
197
+ const name = m[1];
198
+ symbols.push({
199
+ id: makeId(filePath, name, 'type'),
200
+ name,
201
+ kind: 'type',
202
+ filePath,
203
+ startByte: line.startByte,
204
+ endByte: isSass ? line.endByte : findScssBlockEnd(lines, i),
205
+ signature: trunc(`@keyframes ${name}`),
206
+ summary: precedingComment(lines, i) ?? `CSS keyframes: ${name}`,
207
+ });
208
+ continue;
209
+ }
210
+ // ── %placeholder ─────────────────────────────────────────────────────────
211
+ m = /^(%[\w-]+)/.exec(trimmed);
212
+ if (m) {
213
+ const name = m[1];
214
+ symbols.push({
215
+ id: makeId(filePath, name, 'class'),
216
+ name,
217
+ kind: 'class',
218
+ filePath,
219
+ startByte: line.startByte,
220
+ endByte: isSass ? line.endByte : findScssBlockEnd(lines, i),
221
+ signature: trunc(name),
222
+ summary: precedingComment(lines, i) ?? `SCSS placeholder: ${name}`,
223
+ });
224
+ continue;
225
+ }
226
+ // ── $variable (top-level only) ────────────────────────────────────────────
227
+ // For .scss: use brace depth (prevDepth === 0 means before any open block).
228
+ // For .sass: use indentation — no leading whitespace means top-level.
229
+ const isTopLevel = isSass
230
+ ? !/^\s/.test(line.text)
231
+ : prevDepth === 0;
232
+ if (isTopLevel) {
233
+ m = /^(\$[\w-]+)\s*:(.+)$/.exec(trimmed);
234
+ if (m) {
235
+ const name = m[1];
236
+ const rawValue = m[2]
237
+ .replace(/\s*!(?:default|global|important)\s*/g, '')
238
+ .replace(/;\s*$/, '')
239
+ .trim();
240
+ symbols.push({
241
+ id: makeId(filePath, name, 'const'),
242
+ name,
243
+ kind: 'const',
244
+ filePath,
245
+ startByte: line.startByte,
246
+ endByte: line.endByte,
247
+ signature: trunc(`${name}: ${rawValue}`),
248
+ summary: precedingComment(lines, i) ?? `SCSS variable: ${name}`,
249
+ });
250
+ }
251
+ }
252
+ }
253
+ return symbols;
254
+ }
255
+ // ─── Import extraction ────────────────────────────────────────────────────────
256
+ function extractImports(_tree, source) {
257
+ const lines = buildLineIndex(source);
258
+ const imports = [];
259
+ const seen = new Set();
260
+ for (const { text } of lines) {
261
+ const m = /^\s*@(?:import|use|forward)\s+['"]([^'"]+)['"]/.exec(text);
262
+ if (!m)
263
+ continue;
264
+ const specifier = m[1];
265
+ if (seen.has(specifier))
266
+ continue;
267
+ seen.add(specifier);
268
+ imports.push({
269
+ sourceFile: '',
270
+ specifier,
271
+ resolvedPath: /^https?:\/\//.test(specifier) ? null : specifier,
272
+ importedNames: [],
273
+ isTypeOnly: false,
274
+ });
275
+ }
276
+ return imports;
277
+ }
278
+ // ─── extractDocstring ─────────────────────────────────────────────────────────
279
+ function extractDocstring(_node) {
280
+ return null; // regex-based; no tree-sitter nodes
281
+ }
282
+ // ─── Handler export ───────────────────────────────────────────────────────────
283
+ export const scssHandler = {
284
+ extensions: () => ['.scss', '.sass'],
285
+ grammarPath: () => null, // regex-based; no WASM grammar needed
286
+ extractSymbols,
287
+ extractImports,
288
+ extractDocstring,
289
+ };
290
+ //# sourceMappingURL=scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../src/handlers/scss.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/handlers/sql.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,kBAAkB,CAAC;AAoJ1B,eAAO,MAAM,UAAU,EAAE,eA+DxB,CAAC"}
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/handlers/sql.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,kBAAkB,CAAC;AAoJ1B,eAAO,MAAM,UAAU,EAAE,eAoFxB,CAAC"}