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
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Allow-list of C++ registration macros whose first argument is a symbol name.
3
+ * Extend this table to add project-specific macro families without touching the handler.
4
+ *
5
+ * Pattern semantics:
6
+ * - string: exact macro name match
7
+ * - RegExp: regex tested against the macro name
8
+ *
9
+ * argKind: 'identifier' → first argument is an identifier (e.g. FunctionAbs)
10
+ * 'string' → first argument is a string literal (e.g. "Abs")
11
+ * 'any' → try identifier first, then string literal
12
+ */
13
+ export const MACRO_REGISTRY = [
14
+ // ── ClickHouse ───────────────────────────────────────────────────────────────
15
+ { pattern: 'FUNCTION_REGISTER', argKind: 'identifier', symbolKind: 'function' },
16
+ { pattern: 'FUNCTION_FORWARD_DECLARE', argKind: 'identifier', symbolKind: 'function' },
17
+ { pattern: 'DECLARE_AGGREGATE_FUNCTION', argKind: 'identifier', symbolKind: 'function' },
18
+ { pattern: /^REGISTER_FUNCTION$/, argKind: 'identifier', symbolKind: 'function' },
19
+ { pattern: /^REGISTER_AGGREGATE_FUNCTION$/, argKind: 'identifier', symbolKind: 'function' },
20
+ // ── Folly ────────────────────────────────────────────────────────────────────
21
+ { pattern: 'FOLLY_DEFINE_KERNEL', argKind: 'identifier', symbolKind: 'class' },
22
+ { pattern: 'DEFINE_FOLLY_FUTURE', argKind: 'identifier', symbolKind: 'type' },
23
+ { pattern: 'FOLLY_CLASS_INIT', argKind: 'identifier', symbolKind: 'class' },
24
+ { pattern: 'FOLLY_DECLARE_REUSED', argKind: 'identifier', symbolKind: 'function' },
25
+ // ── TensorFlow ───────────────────────────────────────────────────────────────
26
+ { pattern: 'REGISTER_OP', argKind: 'string', symbolKind: 'function' },
27
+ { pattern: /^REGISTER_KERNEL_BUILDER$/, argKind: 'any', symbolKind: 'function' },
28
+ { pattern: /^TF_CALL_ALL_TYPES$/, argKind: 'identifier', symbolKind: 'function' },
29
+ ];
30
+ /** Returns the matching registry entry for a macro name, or null if not in the allow-list. */
31
+ export function findMacroEntry(macroName) {
32
+ for (const entry of MACRO_REGISTRY) {
33
+ if (typeof entry.pattern === 'string') {
34
+ if (entry.pattern === macroName)
35
+ return entry;
36
+ }
37
+ else {
38
+ if (entry.pattern.test(macroName))
39
+ return entry;
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+ //# sourceMappingURL=cpp-macro-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp-macro-registry.js","sourceRoot":"","sources":["../../src/handlers/cpp-macro-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,gFAAgF;IAChF,EAAE,OAAO,EAAE,mBAAmB,EAAe,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5F,EAAE,OAAO,EAAE,0BAA0B,EAAQ,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5F,EAAE,OAAO,EAAE,4BAA4B,EAAM,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5F,EAAE,OAAO,EAAE,qBAAqB,EAAa,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAC5F,EAAE,OAAO,EAAE,+BAA+B,EAAG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAE5F,gFAAgF;IAChF,EAAE,OAAO,EAAE,qBAAqB,EAAI,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAK;IACnF,EAAE,OAAO,EAAE,qBAAqB,EAAI,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAM;IACnF,EAAE,OAAO,EAAE,kBAAkB,EAAO,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAK;IACnF,EAAE,OAAO,EAAE,sBAAsB,EAAG,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;IAEnF,gFAAgF;IAChF,EAAE,OAAO,EAAE,aAAa,EAAc,OAAO,EAAE,QAAQ,EAAM,UAAU,EAAE,UAAU,EAAE;IACrF,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,KAAK,EAAO,UAAU,EAAE,UAAU,EAAE;IACrF,EAAE,OAAO,EAAE,qBAAqB,EAAM,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE;CACtF,CAAC;AAEF,8FAA8F;AAC9F,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../src/handlers/cpp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,kBAAkB,CAAC;AAy0B1B,eAAO,MAAM,UAAU,EAAE,eAMxB,CAAC"}
1
+ {"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../src/handlers/cpp.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,kBAAkB,CAAC;AAm8C1B,eAAO,MAAM,UAAU,EAAE,eAMxB,CAAC"}