mcp-code-context 3.9.1 → 7.0.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 (208) hide show
  1. package/CHANGELOG.md +288 -215
  2. package/INSTRUCTIONS.md +28 -11
  3. package/README.md +124 -11
  4. package/dist/src/core/engine.d.ts +1 -1
  5. package/dist/src/core/engine.js +1 -1
  6. package/dist/src/core/indexManager.d.ts +1 -1
  7. package/dist/src/core/indexManager.js +26 -26
  8. package/dist/src/core/sessionManager.d.ts +1 -1
  9. package/dist/src/core/sessionManager.js +1 -1
  10. package/dist/src/core/validator.d.ts +2 -2
  11. package/dist/src/core/validator.js +8 -2
  12. package/dist/src/core/validator.js.map +1 -1
  13. package/dist/src/index.d.ts +4 -2
  14. package/dist/src/index.js +119 -14
  15. package/dist/src/index.js.map +1 -1
  16. package/dist/src/operations/apiRoutes.d.ts +31 -0
  17. package/dist/src/operations/apiRoutes.js +170 -0
  18. package/dist/src/operations/apiRoutes.js.map +1 -0
  19. package/dist/src/operations/architectureLinter.d.ts +45 -0
  20. package/dist/src/operations/architectureLinter.js +223 -0
  21. package/dist/src/operations/architectureLinter.js.map +1 -0
  22. package/dist/src/operations/astComplexity.d.ts +38 -0
  23. package/dist/src/operations/astComplexity.js +243 -0
  24. package/dist/src/operations/astComplexity.js.map +1 -0
  25. package/dist/src/operations/astMockGenerator.d.ts +34 -0
  26. package/dist/src/operations/astMockGenerator.js +203 -0
  27. package/dist/src/operations/astMockGenerator.js.map +1 -0
  28. package/dist/src/operations/astQuery.d.ts +47 -0
  29. package/dist/src/operations/astQuery.js +169 -0
  30. package/dist/src/operations/astQuery.js.map +1 -0
  31. package/dist/src/operations/astTransform.d.ts +1 -1
  32. package/dist/src/operations/astTransform.js +11 -2
  33. package/dist/src/operations/astTransform.js.map +1 -1
  34. package/dist/src/operations/asyncBlockers.d.ts +33 -0
  35. package/dist/src/operations/asyncBlockers.js +162 -0
  36. package/dist/src/operations/asyncBlockers.js.map +1 -0
  37. package/dist/src/operations/blastRadiusReport.d.ts +43 -0
  38. package/dist/src/operations/blastRadiusReport.js +236 -0
  39. package/dist/src/operations/blastRadiusReport.js.map +1 -0
  40. package/dist/src/operations/callHierarchy.d.ts +28 -0
  41. package/dist/src/operations/callHierarchy.js +166 -0
  42. package/dist/src/operations/callHierarchy.js.map +1 -0
  43. package/dist/src/operations/circularDependencies.d.ts +28 -0
  44. package/dist/src/operations/circularDependencies.js +201 -0
  45. package/dist/src/operations/circularDependencies.js.map +1 -0
  46. package/dist/src/operations/classHierarchyFlattener.d.ts +35 -0
  47. package/dist/src/operations/classHierarchyFlattener.js +185 -0
  48. package/dist/src/operations/classHierarchyFlattener.js.map +1 -0
  49. package/dist/src/operations/compress.d.ts +2 -2
  50. package/dist/src/operations/compress.js +154 -20
  51. package/dist/src/operations/compress.js.map +1 -1
  52. package/dist/src/operations/conceptSearch.d.ts +19 -0
  53. package/dist/src/operations/conceptSearch.js +176 -0
  54. package/dist/src/operations/conceptSearch.js.map +1 -0
  55. package/dist/src/operations/confirmationStore.d.ts +1 -1
  56. package/dist/src/operations/confirmationStore.js +1 -1
  57. package/dist/src/operations/conflictPredictor.d.ts +21 -0
  58. package/dist/src/operations/conflictPredictor.js +139 -0
  59. package/dist/src/operations/conflictPredictor.js.map +1 -0
  60. package/dist/src/operations/contextCompactor.d.ts +38 -0
  61. package/dist/src/operations/contextCompactor.js +348 -0
  62. package/dist/src/operations/contextCompactor.js.map +1 -0
  63. package/dist/src/operations/cstCodemod.d.ts +34 -0
  64. package/dist/src/operations/cstCodemod.js +205 -0
  65. package/dist/src/operations/cstCodemod.js.map +1 -0
  66. package/dist/src/operations/deadSymbols.d.ts +32 -0
  67. package/dist/src/operations/deadSymbols.js +178 -0
  68. package/dist/src/operations/deadSymbols.js.map +1 -0
  69. package/dist/src/operations/envContract.d.ts +35 -0
  70. package/dist/src/operations/envContract.js +194 -0
  71. package/dist/src/operations/envContract.js.map +1 -0
  72. package/dist/src/operations/errorAudit.d.ts +36 -0
  73. package/dist/src/operations/errorAudit.js +201 -0
  74. package/dist/src/operations/errorAudit.js.map +1 -0
  75. package/dist/src/operations/importIntegrity.d.ts +48 -0
  76. package/dist/src/operations/importIntegrity.js +395 -0
  77. package/dist/src/operations/importIntegrity.js.map +1 -0
  78. package/dist/src/operations/incrementalDiff.d.ts +47 -0
  79. package/dist/src/operations/incrementalDiff.js +216 -0
  80. package/dist/src/operations/incrementalDiff.js.map +1 -0
  81. package/dist/src/operations/lexicalScope.d.ts +51 -0
  82. package/dist/src/operations/lexicalScope.js +212 -0
  83. package/dist/src/operations/lexicalScope.js.map +1 -0
  84. package/dist/src/operations/read.d.ts +21 -0
  85. package/dist/src/operations/read.js +21 -0
  86. package/dist/src/operations/read.js.map +1 -1
  87. package/dist/src/operations/readCore.js +37 -17
  88. package/dist/src/operations/readCore.js.map +1 -1
  89. package/dist/src/operations/rename.js +35 -24
  90. package/dist/src/operations/rename.js.map +1 -1
  91. package/dist/src/operations/sqlValidator.d.ts +36 -0
  92. package/dist/src/operations/sqlValidator.js +202 -0
  93. package/dist/src/operations/sqlValidator.js.map +1 -0
  94. package/dist/src/operations/symbolQuery.js +112 -23
  95. package/dist/src/operations/symbolQuery.js.map +1 -1
  96. package/dist/src/operations/taintAnalysis.d.ts +46 -0
  97. package/dist/src/operations/taintAnalysis.js +220 -0
  98. package/dist/src/operations/taintAnalysis.js.map +1 -0
  99. package/dist/src/operations/testImpact.d.ts +31 -0
  100. package/dist/src/operations/testImpact.js +179 -0
  101. package/dist/src/operations/testImpact.js.map +1 -0
  102. package/dist/src/operations/typeInference.d.ts +54 -0
  103. package/dist/src/operations/typeInference.js +565 -0
  104. package/dist/src/operations/typeInference.js.map +1 -0
  105. package/dist/src/operations/wireContract.d.ts +34 -0
  106. package/dist/src/operations/wireContract.js +185 -0
  107. package/dist/src/operations/wireContract.js.map +1 -0
  108. package/dist/src/operations/write.d.ts +2 -2
  109. package/dist/src/operations/write.js +151 -82
  110. package/dist/src/operations/write.js.map +1 -1
  111. package/dist/src/parsers/base.d.ts +9 -1
  112. package/dist/src/parsers/base.js +61 -1
  113. package/dist/src/parsers/base.js.map +1 -1
  114. package/dist/src/parsers/csharp.d.ts +1 -1
  115. package/dist/src/parsers/csharp.js +1 -1
  116. package/dist/src/parsers/dartTreeSitter.d.ts +1 -1
  117. package/dist/src/parsers/dartTreeSitter.js +1 -1
  118. package/dist/src/parsers/go.d.ts +1 -1
  119. package/dist/src/parsers/go.js +1 -1
  120. package/dist/src/parsers/java.d.ts +1 -1
  121. package/dist/src/parsers/java.js +1 -1
  122. package/dist/src/parsers/kotlin.d.ts +1 -1
  123. package/dist/src/parsers/kotlin.js +1 -1
  124. package/dist/src/parsers/php.d.ts +1 -1
  125. package/dist/src/parsers/php.js +1 -1
  126. package/dist/src/parsers/python.d.ts +1 -1
  127. package/dist/src/parsers/python.js +1 -1
  128. package/dist/src/parsers/registry.d.ts +1 -1
  129. package/dist/src/parsers/registry.js +1 -1
  130. package/dist/src/parsers/ruby.d.ts +1 -1
  131. package/dist/src/parsers/ruby.js +1 -1
  132. package/dist/src/parsers/rust.d.ts +1 -1
  133. package/dist/src/parsers/rust.js +1 -1
  134. package/dist/src/parsers/typescript.d.ts +1 -1
  135. package/dist/src/parsers/typescript.js +1 -1
  136. package/dist/src/tools/adminHandlers.js +8 -7
  137. package/dist/src/tools/adminHandlers.js.map +1 -1
  138. package/dist/src/tools/context.d.ts +4 -0
  139. package/dist/src/tools/context.js +14 -0
  140. package/dist/src/tools/context.js.map +1 -1
  141. package/dist/src/tools/pipeline.js +27 -1
  142. package/dist/src/tools/pipeline.js.map +1 -1
  143. package/dist/src/tools/readHandlers.d.ts +150 -0
  144. package/dist/src/tools/readHandlers.js +642 -35
  145. package/dist/src/tools/readHandlers.js.map +1 -1
  146. package/dist/src/tools/toolDefinitions.d.ts +2190 -1
  147. package/dist/src/tools/toolDefinitionsAdmin.d.ts +1 -1
  148. package/dist/src/tools/toolDefinitionsAdmin.js +12 -12
  149. package/dist/src/tools/toolDefinitionsAdmin.js.map +1 -1
  150. package/dist/src/tools/toolDefinitionsCore.d.ts +2189 -0
  151. package/dist/src/tools/toolDefinitionsCore.js +422 -42
  152. package/dist/src/tools/toolDefinitionsCore.js.map +1 -1
  153. package/dist/src/tools/writeHandlers.js +31 -17
  154. package/dist/src/tools/writeHandlers.js.map +1 -1
  155. package/dist/src/utils/appDir.d.ts +1 -1
  156. package/dist/src/utils/appDir.js +1 -1
  157. package/dist/src/utils/auditLogger.d.ts +1 -1
  158. package/dist/src/utils/auditLogger.js +1 -1
  159. package/dist/src/utils/backupManager.d.ts +1 -1
  160. package/dist/src/utils/backupManager.js +1 -1
  161. package/dist/src/utils/conceptEngine.d.ts +56 -0
  162. package/dist/src/utils/conceptEngine.js +234 -0
  163. package/dist/src/utils/conceptEngine.js.map +1 -0
  164. package/dist/src/utils/constants.d.ts +1 -1
  165. package/dist/src/utils/constants.js +2 -1
  166. package/dist/src/utils/constants.js.map +1 -1
  167. package/dist/src/utils/diff.d.ts +1 -1
  168. package/dist/src/utils/diff.js +1 -1
  169. package/dist/src/utils/fileLock.d.ts +1 -1
  170. package/dist/src/utils/fileLock.js +1 -1
  171. package/dist/src/utils/fileWalker.d.ts +1 -1
  172. package/dist/src/utils/fileWalker.js +1 -1
  173. package/dist/src/utils/fileWatcher.d.ts +1 -1
  174. package/dist/src/utils/fileWatcher.js +1 -1
  175. package/dist/src/utils/fuzzySearch.d.ts +1 -1
  176. package/dist/src/utils/fuzzySearch.js +1 -1
  177. package/dist/src/utils/gemfileParser.d.ts +1 -1
  178. package/dist/src/utils/gemfileParser.js +1 -1
  179. package/dist/src/utils/logger.d.ts +1 -1
  180. package/dist/src/utils/logger.js +1 -1
  181. package/dist/src/utils/metaprogramming.d.ts +1 -1
  182. package/dist/src/utils/metaprogramming.js +1 -1
  183. package/dist/src/utils/projectRoot.d.ts +9 -0
  184. package/dist/src/utils/projectRoot.js +94 -0
  185. package/dist/src/utils/projectRoot.js.map +1 -0
  186. package/dist/src/utils/railsRoutes.d.ts +1 -1
  187. package/dist/src/utils/railsRoutes.js +1 -1
  188. package/dist/src/utils/rateLimiter.d.ts +26 -1
  189. package/dist/src/utils/rateLimiter.js +26 -1
  190. package/dist/src/utils/rateLimiter.js.map +1 -1
  191. package/dist/src/utils/streaming.d.ts +1 -1
  192. package/dist/src/utils/streaming.js +1 -1
  193. package/dist/src/utils/telemetry.d.ts +1 -1
  194. package/dist/src/utils/telemetry.js +1 -1
  195. package/dist/src/utils/virtualSchema.d.ts +31 -0
  196. package/dist/src/utils/virtualSchema.js +367 -0
  197. package/dist/src/utils/virtualSchema.js.map +1 -0
  198. package/llms.txt +24 -6
  199. package/package.json +4 -2
  200. package/skills/code-context-logo.png +0 -0
  201. package/skills/code-context-pro/SKILL.md +149 -0
  202. package/skills/code-context-pro/references/benchmarks.md +25 -0
  203. package/skills/code-context-pro/references/decision-tree.md +32 -0
  204. package/skills/code-context-pro/references/multi-ide-setup.md +104 -0
  205. package/skills/code-context-pro.zip +0 -0
  206. package/HIRE_ME.md +0 -234
  207. package/SPONSORS.md +0 -104
  208. package/vitest.config.ts +0 -37
@@ -32,7 +32,7 @@ export declare const ADMIN_TOOLS: ({
32
32
  action?: undefined;
33
33
  debounceMs?: undefined;
34
34
  };
35
- required: string[];
35
+ required: never[];
36
36
  };
37
37
  } | {
38
38
  name: string;
@@ -7,9 +7,9 @@ export const ADMIN_TOOLS = [
7
7
  type: "object",
8
8
  properties: {
9
9
  filePath: { type: "string", description: "Absolute path to file" },
10
- projectRoot: { type: "string", description: "Project root (REQUIRED)" },
10
+ projectRoot: { type: "string", description: "Project root for security boundary (optional, defaults to file project root)" },
11
11
  },
12
- required: ["filePath", "projectRoot"],
12
+ required: ["filePath"],
13
13
  },
14
14
  },
15
15
  {
@@ -18,9 +18,9 @@ export const ADMIN_TOOLS = [
18
18
  inputSchema: {
19
19
  type: "object",
20
20
  properties: {
21
- projectRoot: { type: "string", description: "Project root directory" },
21
+ projectRoot: { type: "string", description: "Project root directory (optional, defaults to current directory)" },
22
22
  },
23
- required: ["projectRoot"],
23
+ required: [],
24
24
  },
25
25
  },
26
26
  {
@@ -37,9 +37,9 @@ export const ADMIN_TOOLS = [
37
37
  inputSchema: {
38
38
  type: "object",
39
39
  properties: {
40
- projectRoot: { type: "string", description: "Project root directory" },
40
+ projectRoot: { type: "string", description: "Project root directory (optional, defaults to current directory)" },
41
41
  },
42
- required: ["projectRoot"],
42
+ required: [],
43
43
  },
44
44
  },
45
45
  {
@@ -48,9 +48,9 @@ export const ADMIN_TOOLS = [
48
48
  inputSchema: {
49
49
  type: "object",
50
50
  properties: {
51
- projectRoot: { type: "string", description: "Project root directory" },
51
+ projectRoot: { type: "string", description: "Project root directory (optional, defaults to current directory)" },
52
52
  },
53
- required: ["projectRoot"],
53
+ required: [],
54
54
  },
55
55
  },
56
56
  {
@@ -59,11 +59,11 @@ export const ADMIN_TOOLS = [
59
59
  inputSchema: {
60
60
  type: "object",
61
61
  properties: {
62
- projectRoot: { type: "string", description: "Project root directory" },
62
+ projectRoot: { type: "string", description: "Project root directory (optional, defaults to current directory)" },
63
63
  action: { type: "string", enum: ["start", "stop"], description: "Action to perform" },
64
64
  debounceMs: { type: "number", description: "Debounce delay in ms (default: 500)" },
65
65
  },
66
- required: ["projectRoot", "action"],
66
+ required: ["action"],
67
67
  },
68
68
  },
69
69
  {
@@ -72,9 +72,9 @@ export const ADMIN_TOOLS = [
72
72
  inputSchema: {
73
73
  type: "object",
74
74
  properties: {
75
- projectRoot: { type: "string", description: "Project root directory" },
75
+ projectRoot: { type: "string", description: "Project root directory (optional, defaults to current directory)" },
76
76
  },
77
- required: ["projectRoot"],
77
+ required: [],
78
78
  },
79
79
  },
80
80
  {
@@ -1 +1 @@
1
- {"version":3,"file":"toolDefinitionsAdmin.js","sourceRoot":"","sources":["../../../src/tools/toolDefinitionsAdmin.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG;IAC3B;QACI,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAClE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;aACxE;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC;SACtC;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,4DAA4D;QACzE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;gBACtE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE;gBACrF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aACnF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACpC;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,aAAa,CAAC;SAC1B;KACF;IAED;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;KACzD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,sCAAsC;QACnD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE;SACtF;KACF;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,UAAU,EAAE,EAAE,EAAE;KACzD;CACF,CAAC"}
1
+ {"version":3,"file":"toolDefinitionsAdmin.js","sourceRoot":"","sources":["../../../src/tools/toolDefinitionsAdmin.ts"],"names":[],"mappings":"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"}