sdl-mcp 0.6.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 (496) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +132 -0
  3. package/config/benchmark.ci.config.json +86 -0
  4. package/config/benchmark.ci.windows.config.json +86 -0
  5. package/config/benchmark.config.example.json +86 -0
  6. package/config/benchmark.config.json +86 -0
  7. package/config/sdlmcp.config.example.json +139 -0
  8. package/config/sdlmcp.config.json +48 -0
  9. package/config/sdlmcp.config.schema.json +381 -0
  10. package/dist/agent/evidence.d.ts +18 -0
  11. package/dist/agent/evidence.d.ts.map +1 -0
  12. package/dist/agent/evidence.js +107 -0
  13. package/dist/agent/evidence.js.map +1 -0
  14. package/dist/agent/executor.d.ts +28 -0
  15. package/dist/agent/executor.d.ts.map +1 -0
  16. package/dist/agent/executor.js +261 -0
  17. package/dist/agent/executor.js.map +1 -0
  18. package/dist/agent/index.d.ts +6 -0
  19. package/dist/agent/index.d.ts.map +1 -0
  20. package/dist/agent/index.js +6 -0
  21. package/dist/agent/index.js.map +1 -0
  22. package/dist/agent/orchestrator.d.ts +14 -0
  23. package/dist/agent/orchestrator.d.ts.map +1 -0
  24. package/dist/agent/orchestrator.js +108 -0
  25. package/dist/agent/orchestrator.js.map +1 -0
  26. package/dist/agent/planner.d.ts +21 -0
  27. package/dist/agent/planner.d.ts.map +1 -0
  28. package/dist/agent/planner.js +153 -0
  29. package/dist/agent/planner.js.map +1 -0
  30. package/dist/agent/types.d.ts +86 -0
  31. package/dist/agent/types.d.ts.map +1 -0
  32. package/dist/agent/types.js +2 -0
  33. package/dist/agent/types.js.map +1 -0
  34. package/dist/benchmark/index.d.ts +4 -0
  35. package/dist/benchmark/index.d.ts.map +1 -0
  36. package/dist/benchmark/index.js +4 -0
  37. package/dist/benchmark/index.js.map +1 -0
  38. package/dist/benchmark/regression.d.ts +40 -0
  39. package/dist/benchmark/regression.d.ts.map +1 -0
  40. package/dist/benchmark/regression.js +199 -0
  41. package/dist/benchmark/regression.js.map +1 -0
  42. package/dist/benchmark/smoothing.d.ts +40 -0
  43. package/dist/benchmark/smoothing.d.ts.map +1 -0
  44. package/dist/benchmark/smoothing.js +121 -0
  45. package/dist/benchmark/smoothing.js.map +1 -0
  46. package/dist/benchmark/threshold.d.ts +64 -0
  47. package/dist/benchmark/threshold.d.ts.map +1 -0
  48. package/dist/benchmark/threshold.js +173 -0
  49. package/dist/benchmark/threshold.js.map +1 -0
  50. package/dist/cli/argParsing.d.ts +34 -0
  51. package/dist/cli/argParsing.d.ts.map +1 -0
  52. package/dist/cli/argParsing.js +329 -0
  53. package/dist/cli/argParsing.js.map +1 -0
  54. package/dist/cli/commands/benchmark.d.ts +16 -0
  55. package/dist/cli/commands/benchmark.d.ts.map +1 -0
  56. package/dist/cli/commands/benchmark.js +412 -0
  57. package/dist/cli/commands/benchmark.js.map +1 -0
  58. package/dist/cli/commands/doctor.d.ts +3 -0
  59. package/dist/cli/commands/doctor.d.ts.map +1 -0
  60. package/dist/cli/commands/doctor.js +218 -0
  61. package/dist/cli/commands/doctor.js.map +1 -0
  62. package/dist/cli/commands/export.d.ts +12 -0
  63. package/dist/cli/commands/export.d.ts.map +1 -0
  64. package/dist/cli/commands/export.js +70 -0
  65. package/dist/cli/commands/export.js.map +1 -0
  66. package/dist/cli/commands/import.d.ts +10 -0
  67. package/dist/cli/commands/import.d.ts.map +1 -0
  68. package/dist/cli/commands/import.js +40 -0
  69. package/dist/cli/commands/import.js.map +1 -0
  70. package/dist/cli/commands/index.d.ts +3 -0
  71. package/dist/cli/commands/index.d.ts.map +1 -0
  72. package/dist/cli/commands/index.js +89 -0
  73. package/dist/cli/commands/index.js.map +1 -0
  74. package/dist/cli/commands/init.d.ts +3 -0
  75. package/dist/cli/commands/init.d.ts.map +1 -0
  76. package/dist/cli/commands/init.js +221 -0
  77. package/dist/cli/commands/init.js.map +1 -0
  78. package/dist/cli/commands/pull.d.ts +11 -0
  79. package/dist/cli/commands/pull.d.ts.map +1 -0
  80. package/dist/cli/commands/pull.js +47 -0
  81. package/dist/cli/commands/pull.js.map +1 -0
  82. package/dist/cli/commands/serve.d.ts +3 -0
  83. package/dist/cli/commands/serve.d.ts.map +1 -0
  84. package/dist/cli/commands/serve.js +72 -0
  85. package/dist/cli/commands/serve.js.map +1 -0
  86. package/dist/cli/commands/version.d.ts +3 -0
  87. package/dist/cli/commands/version.d.ts.map +1 -0
  88. package/dist/cli/commands/version.js +24 -0
  89. package/dist/cli/commands/version.js.map +1 -0
  90. package/dist/cli/index.d.ts +3 -0
  91. package/dist/cli/index.d.ts.map +1 -0
  92. package/dist/cli/index.js +213 -0
  93. package/dist/cli/index.js.map +1 -0
  94. package/dist/cli/logging.d.ts +10 -0
  95. package/dist/cli/logging.d.ts.map +1 -0
  96. package/dist/cli/logging.js +48 -0
  97. package/dist/cli/logging.js.map +1 -0
  98. package/dist/cli/transport/http.d.ts +3 -0
  99. package/dist/cli/transport/http.d.ts.map +1 -0
  100. package/dist/cli/transport/http.js +106 -0
  101. package/dist/cli/transport/http.js.map +1 -0
  102. package/dist/cli/transport/stdio.d.ts +3 -0
  103. package/dist/cli/transport/stdio.d.ts.map +1 -0
  104. package/dist/cli/transport/stdio.js +6 -0
  105. package/dist/cli/transport/stdio.js.map +1 -0
  106. package/dist/cli/types.d.ts +41 -0
  107. package/dist/cli/types.d.ts.map +1 -0
  108. package/dist/cli/types.js +2 -0
  109. package/dist/cli/types.js.map +1 -0
  110. package/dist/code/gate.d.ts +11 -0
  111. package/dist/code/gate.d.ts.map +1 -0
  112. package/dist/code/gate.js +134 -0
  113. package/dist/code/gate.js.map +1 -0
  114. package/dist/code/hotpath.d.ts +17 -0
  115. package/dist/code/hotpath.d.ts.map +1 -0
  116. package/dist/code/hotpath.js +200 -0
  117. package/dist/code/hotpath.js.map +1 -0
  118. package/dist/code/redact.d.ts +19 -0
  119. package/dist/code/redact.d.ts.map +1 -0
  120. package/dist/code/redact.js +92 -0
  121. package/dist/code/redact.js.map +1 -0
  122. package/dist/code/skeleton.d.ts +32 -0
  123. package/dist/code/skeleton.d.ts.map +1 -0
  124. package/dist/code/skeleton.js +610 -0
  125. package/dist/code/skeleton.js.map +1 -0
  126. package/dist/code/windows.d.ts +18 -0
  127. package/dist/code/windows.d.ts.map +1 -0
  128. package/dist/code/windows.js +236 -0
  129. package/dist/code/windows.js.map +1 -0
  130. package/dist/config/constants.d.ts +340 -0
  131. package/dist/config/constants.d.ts.map +1 -0
  132. package/dist/config/constants.js +379 -0
  133. package/dist/config/constants.js.map +1 -0
  134. package/dist/config/loadConfig.d.ts +3 -0
  135. package/dist/config/loadConfig.d.ts.map +1 -0
  136. package/dist/config/loadConfig.js +71 -0
  137. package/dist/config/loadConfig.js.map +1 -0
  138. package/dist/config/types.d.ts +509 -0
  139. package/dist/config/types.d.ts.map +1 -0
  140. package/dist/config/types.js +139 -0
  141. package/dist/config/types.js.map +1 -0
  142. package/dist/db/db.d.ts +4 -0
  143. package/dist/db/db.d.ts.map +1 -0
  144. package/dist/db/db.js +47 -0
  145. package/dist/db/db.js.map +1 -0
  146. package/dist/db/migrations.d.ts +15 -0
  147. package/dist/db/migrations.d.ts.map +1 -0
  148. package/dist/db/migrations.js +81 -0
  149. package/dist/db/migrations.js.map +1 -0
  150. package/dist/db/queries.d.ts +440 -0
  151. package/dist/db/queries.d.ts.map +1 -0
  152. package/dist/db/queries.js +1054 -0
  153. package/dist/db/queries.js.map +1 -0
  154. package/dist/db/schema.d.ts +132 -0
  155. package/dist/db/schema.d.ts.map +1 -0
  156. package/dist/db/schema.js +2 -0
  157. package/dist/db/schema.js.map +1 -0
  158. package/dist/delta/blastRadius.d.ts +24 -0
  159. package/dist/delta/blastRadius.d.ts.map +1 -0
  160. package/dist/delta/blastRadius.js +239 -0
  161. package/dist/delta/blastRadius.js.map +1 -0
  162. package/dist/delta/diff.d.ts +16 -0
  163. package/dist/delta/diff.d.ts.map +1 -0
  164. package/dist/delta/diff.js +236 -0
  165. package/dist/delta/diff.js.map +1 -0
  166. package/dist/delta/versioning.d.ts +11 -0
  167. package/dist/delta/versioning.d.ts.map +1 -0
  168. package/dist/delta/versioning.js +68 -0
  169. package/dist/delta/versioning.js.map +1 -0
  170. package/dist/graph/buildGraph.d.ts +12 -0
  171. package/dist/graph/buildGraph.d.ts.map +1 -0
  172. package/dist/graph/buildGraph.js +81 -0
  173. package/dist/graph/buildGraph.js.map +1 -0
  174. package/dist/graph/cache.d.ts +111 -0
  175. package/dist/graph/cache.d.ts.map +1 -0
  176. package/dist/graph/cache.js +237 -0
  177. package/dist/graph/cache.js.map +1 -0
  178. package/dist/graph/metrics.d.ts +12 -0
  179. package/dist/graph/metrics.d.ts.map +1 -0
  180. package/dist/graph/metrics.js +253 -0
  181. package/dist/graph/metrics.js.map +1 -0
  182. package/dist/graph/minHeap.d.ts +91 -0
  183. package/dist/graph/minHeap.d.ts.map +1 -0
  184. package/dist/graph/minHeap.js +159 -0
  185. package/dist/graph/minHeap.js.map +1 -0
  186. package/dist/graph/overview.d.ts +22 -0
  187. package/dist/graph/overview.d.ts.map +1 -0
  188. package/dist/graph/overview.js +379 -0
  189. package/dist/graph/overview.js.map +1 -0
  190. package/dist/graph/score.d.ts +27 -0
  191. package/dist/graph/score.d.ts.map +1 -0
  192. package/dist/graph/score.js +214 -0
  193. package/dist/graph/score.js.map +1 -0
  194. package/dist/graph/slice.d.ts +51 -0
  195. package/dist/graph/slice.d.ts.map +1 -0
  196. package/dist/graph/slice.js +1047 -0
  197. package/dist/graph/slice.js.map +1 -0
  198. package/dist/graph/sliceCache.d.ts +33 -0
  199. package/dist/graph/sliceCache.d.ts.map +1 -0
  200. package/dist/graph/sliceCache.js +140 -0
  201. package/dist/graph/sliceCache.js.map +1 -0
  202. package/dist/indexer/adapter/BaseAdapter.d.ts +29 -0
  203. package/dist/indexer/adapter/BaseAdapter.d.ts.map +1 -0
  204. package/dist/indexer/adapter/BaseAdapter.js +97 -0
  205. package/dist/indexer/adapter/BaseAdapter.js.map +1 -0
  206. package/dist/indexer/adapter/LanguageAdapter.d.ts +20 -0
  207. package/dist/indexer/adapter/LanguageAdapter.d.ts.map +1 -0
  208. package/dist/indexer/adapter/LanguageAdapter.js +2 -0
  209. package/dist/indexer/adapter/LanguageAdapter.js.map +1 -0
  210. package/dist/indexer/adapter/adapters.d.ts +57 -0
  211. package/dist/indexer/adapter/adapters.d.ts.map +1 -0
  212. package/dist/indexer/adapter/adapters.js +129 -0
  213. package/dist/indexer/adapter/adapters.js.map +1 -0
  214. package/dist/indexer/adapter/c.d.ts +18 -0
  215. package/dist/indexer/adapter/c.d.ts.map +1 -0
  216. package/dist/indexer/adapter/c.js +443 -0
  217. package/dist/indexer/adapter/c.js.map +1 -0
  218. package/dist/indexer/adapter/cpp.d.ts +18 -0
  219. package/dist/indexer/adapter/cpp.d.ts.map +1 -0
  220. package/dist/indexer/adapter/cpp.js +493 -0
  221. package/dist/indexer/adapter/cpp.js.map +1 -0
  222. package/dist/indexer/adapter/csharp.d.ts +48 -0
  223. package/dist/indexer/adapter/csharp.d.ts.map +1 -0
  224. package/dist/indexer/adapter/csharp.js +638 -0
  225. package/dist/indexer/adapter/csharp.js.map +1 -0
  226. package/dist/indexer/adapter/go.d.ts +14 -0
  227. package/dist/indexer/adapter/go.d.ts.map +1 -0
  228. package/dist/indexer/adapter/go.js +400 -0
  229. package/dist/indexer/adapter/go.js.map +1 -0
  230. package/dist/indexer/adapter/index.d.ts +14 -0
  231. package/dist/indexer/adapter/index.d.ts.map +1 -0
  232. package/dist/indexer/adapter/index.js +13 -0
  233. package/dist/indexer/adapter/index.js.map +1 -0
  234. package/dist/indexer/adapter/java.d.ts +14 -0
  235. package/dist/indexer/adapter/java.d.ts.map +1 -0
  236. package/dist/indexer/adapter/java.js +391 -0
  237. package/dist/indexer/adapter/java.js.map +1 -0
  238. package/dist/indexer/adapter/kotlin.d.ts +18 -0
  239. package/dist/indexer/adapter/kotlin.d.ts.map +1 -0
  240. package/dist/indexer/adapter/kotlin.js +599 -0
  241. package/dist/indexer/adapter/kotlin.js.map +1 -0
  242. package/dist/indexer/adapter/php.d.ts +18 -0
  243. package/dist/indexer/adapter/php.d.ts.map +1 -0
  244. package/dist/indexer/adapter/php.js +574 -0
  245. package/dist/indexer/adapter/php.js.map +1 -0
  246. package/dist/indexer/adapter/plugin/index.d.ts +3 -0
  247. package/dist/indexer/adapter/plugin/index.d.ts.map +1 -0
  248. package/dist/indexer/adapter/plugin/index.js +3 -0
  249. package/dist/indexer/adapter/plugin/index.js.map +1 -0
  250. package/dist/indexer/adapter/plugin/loader.d.ts +13 -0
  251. package/dist/indexer/adapter/plugin/loader.d.ts.map +1 -0
  252. package/dist/indexer/adapter/plugin/loader.js +154 -0
  253. package/dist/indexer/adapter/plugin/loader.js.map +1 -0
  254. package/dist/indexer/adapter/plugin/types.d.ts +76 -0
  255. package/dist/indexer/adapter/plugin/types.d.ts.map +1 -0
  256. package/dist/indexer/adapter/plugin/types.js +47 -0
  257. package/dist/indexer/adapter/plugin/types.js.map +1 -0
  258. package/dist/indexer/adapter/python.d.ts +14 -0
  259. package/dist/indexer/adapter/python.d.ts.map +1 -0
  260. package/dist/indexer/adapter/python.js +511 -0
  261. package/dist/indexer/adapter/python.js.map +1 -0
  262. package/dist/indexer/adapter/registry.d.ts +17 -0
  263. package/dist/indexer/adapter/registry.d.ts.map +1 -0
  264. package/dist/indexer/adapter/registry.js +134 -0
  265. package/dist/indexer/adapter/registry.js.map +1 -0
  266. package/dist/indexer/adapter/rust.d.ts +18 -0
  267. package/dist/indexer/adapter/rust.d.ts.map +1 -0
  268. package/dist/indexer/adapter/rust.js +709 -0
  269. package/dist/indexer/adapter/rust.js.map +1 -0
  270. package/dist/indexer/adapter/shell.d.ts +18 -0
  271. package/dist/indexer/adapter/shell.d.ts.map +1 -0
  272. package/dist/indexer/adapter/shell.js +345 -0
  273. package/dist/indexer/adapter/shell.js.map +1 -0
  274. package/dist/indexer/adapter/typescript.d.ts +14 -0
  275. package/dist/indexer/adapter/typescript.d.ts.map +1 -0
  276. package/dist/indexer/adapter/typescript.js +31 -0
  277. package/dist/indexer/adapter/typescript.js.map +1 -0
  278. package/dist/indexer/configEdges.d.ts +30 -0
  279. package/dist/indexer/configEdges.d.ts.map +1 -0
  280. package/dist/indexer/configEdges.js +260 -0
  281. package/dist/indexer/configEdges.js.map +1 -0
  282. package/dist/indexer/fileScanner.d.ts +16 -0
  283. package/dist/indexer/fileScanner.d.ts.map +1 -0
  284. package/dist/indexer/fileScanner.js +90 -0
  285. package/dist/indexer/fileScanner.js.map +1 -0
  286. package/dist/indexer/fingerprints.d.ts +23 -0
  287. package/dist/indexer/fingerprints.d.ts.map +1 -0
  288. package/dist/indexer/fingerprints.js +97 -0
  289. package/dist/indexer/fingerprints.js.map +1 -0
  290. package/dist/indexer/indexer.d.ts +58 -0
  291. package/dist/indexer/indexer.d.ts.map +1 -0
  292. package/dist/indexer/indexer.js +1229 -0
  293. package/dist/indexer/indexer.js.map +1 -0
  294. package/dist/indexer/summaries.d.ts +5 -0
  295. package/dist/indexer/summaries.d.ts.map +1 -0
  296. package/dist/indexer/summaries.js +331 -0
  297. package/dist/indexer/summaries.js.map +1 -0
  298. package/dist/indexer/treesitter/extractCalls.d.ts +40 -0
  299. package/dist/indexer/treesitter/extractCalls.d.ts.map +1 -0
  300. package/dist/indexer/treesitter/extractCalls.js +561 -0
  301. package/dist/indexer/treesitter/extractCalls.js.map +1 -0
  302. package/dist/indexer/treesitter/extractImports.d.ts +12 -0
  303. package/dist/indexer/treesitter/extractImports.d.ts.map +1 -0
  304. package/dist/indexer/treesitter/extractImports.js +184 -0
  305. package/dist/indexer/treesitter/extractImports.js.map +1 -0
  306. package/dist/indexer/treesitter/extractSymbols.d.ts +24 -0
  307. package/dist/indexer/treesitter/extractSymbols.d.ts.map +1 -0
  308. package/dist/indexer/treesitter/extractSymbols.js +389 -0
  309. package/dist/indexer/treesitter/extractSymbols.js.map +1 -0
  310. package/dist/indexer/treesitter/grammarLoader.d.ts +6 -0
  311. package/dist/indexer/treesitter/grammarLoader.d.ts.map +1 -0
  312. package/dist/indexer/treesitter/grammarLoader.js +125 -0
  313. package/dist/indexer/treesitter/grammarLoader.js.map +1 -0
  314. package/dist/indexer/treesitter/symbolUtils.d.ts +4 -0
  315. package/dist/indexer/treesitter/symbolUtils.d.ts.map +1 -0
  316. package/dist/indexer/treesitter/symbolUtils.js +26 -0
  317. package/dist/indexer/treesitter/symbolUtils.js.map +1 -0
  318. package/dist/indexer/treesitter/tsTreesitter.d.ts +9 -0
  319. package/dist/indexer/treesitter/tsTreesitter.d.ts.map +1 -0
  320. package/dist/indexer/treesitter/tsTreesitter.js +54 -0
  321. package/dist/indexer/treesitter/tsTreesitter.js.map +1 -0
  322. package/dist/indexer/treesitter/types.d.ts +19 -0
  323. package/dist/indexer/treesitter/types.d.ts.map +1 -0
  324. package/dist/indexer/treesitter/types.js +7 -0
  325. package/dist/indexer/treesitter/types.js.map +1 -0
  326. package/dist/indexer/ts/tsParser.d.ts +20 -0
  327. package/dist/indexer/ts/tsParser.d.ts.map +1 -0
  328. package/dist/indexer/ts/tsParser.js +114 -0
  329. package/dist/indexer/ts/tsParser.js.map +1 -0
  330. package/dist/indexer/worker.d.ts +2 -0
  331. package/dist/indexer/worker.d.ts.map +1 -0
  332. package/dist/indexer/worker.js +59 -0
  333. package/dist/indexer/worker.js.map +1 -0
  334. package/dist/indexer/workerPool.d.ts +20 -0
  335. package/dist/indexer/workerPool.d.ts.map +1 -0
  336. package/dist/indexer/workerPool.js +93 -0
  337. package/dist/indexer/workerPool.js.map +1 -0
  338. package/dist/main.d.ts +2 -0
  339. package/dist/main.d.ts.map +1 -0
  340. package/dist/main.js +111 -0
  341. package/dist/main.js.map +1 -0
  342. package/dist/mcp/errors.d.ts +40 -0
  343. package/dist/mcp/errors.d.ts.map +1 -0
  344. package/dist/mcp/errors.js +66 -0
  345. package/dist/mcp/errors.js.map +1 -0
  346. package/dist/mcp/resources.d.ts +24 -0
  347. package/dist/mcp/resources.d.ts.map +1 -0
  348. package/dist/mcp/resources.js +140 -0
  349. package/dist/mcp/resources.js.map +1 -0
  350. package/dist/mcp/telemetry.d.ts +67 -0
  351. package/dist/mcp/telemetry.d.ts.map +1 -0
  352. package/dist/mcp/telemetry.js +128 -0
  353. package/dist/mcp/telemetry.js.map +1 -0
  354. package/dist/mcp/tools/agent.d.ts +241 -0
  355. package/dist/mcp/tools/agent.d.ts.map +1 -0
  356. package/dist/mcp/tools/agent.js +113 -0
  357. package/dist/mcp/tools/agent.js.map +1 -0
  358. package/dist/mcp/tools/code.d.ts +32 -0
  359. package/dist/mcp/tools/code.d.ts.map +1 -0
  360. package/dist/mcp/tools/code.js +388 -0
  361. package/dist/mcp/tools/code.js.map +1 -0
  362. package/dist/mcp/tools/delta.d.ts +12 -0
  363. package/dist/mcp/tools/delta.d.ts.map +1 -0
  364. package/dist/mcp/tools/delta.js +82 -0
  365. package/dist/mcp/tools/delta.js.map +1 -0
  366. package/dist/mcp/tools/index.d.ts +3 -0
  367. package/dist/mcp/tools/index.d.ts.map +1 -0
  368. package/dist/mcp/tools/index.js +35 -0
  369. package/dist/mcp/tools/index.js.map +1 -0
  370. package/dist/mcp/tools/policy.d.ts +20 -0
  371. package/dist/mcp/tools/policy.d.ts.map +1 -0
  372. package/dist/mcp/tools/policy.js +67 -0
  373. package/dist/mcp/tools/policy.js.map +1 -0
  374. package/dist/mcp/tools/prRisk.d.ts +34 -0
  375. package/dist/mcp/tools/prRisk.d.ts.map +1 -0
  376. package/dist/mcp/tools/prRisk.js +304 -0
  377. package/dist/mcp/tools/prRisk.js.map +1 -0
  378. package/dist/mcp/tools/repo.d.ts +46 -0
  379. package/dist/mcp/tools/repo.d.ts.map +1 -0
  380. package/dist/mcp/tools/repo.js +224 -0
  381. package/dist/mcp/tools/repo.js.map +1 -0
  382. package/dist/mcp/tools/slice.d.ts +44 -0
  383. package/dist/mcp/tools/slice.d.ts.map +1 -0
  384. package/dist/mcp/tools/slice.js +688 -0
  385. package/dist/mcp/tools/slice.js.map +1 -0
  386. package/dist/mcp/tools/symbol.d.ts +21 -0
  387. package/dist/mcp/tools/symbol.d.ts.map +1 -0
  388. package/dist/mcp/tools/symbol.js +416 -0
  389. package/dist/mcp/tools/symbol.js.map +1 -0
  390. package/dist/mcp/tools.d.ts +6003 -0
  391. package/dist/mcp/tools.d.ts.map +1 -0
  392. package/dist/mcp/tools.js +932 -0
  393. package/dist/mcp/tools.js.map +1 -0
  394. package/dist/mcp/types.d.ts +500 -0
  395. package/dist/mcp/types.d.ts.map +1 -0
  396. package/dist/mcp/types.js +2 -0
  397. package/dist/mcp/types.js.map +1 -0
  398. package/dist/policy/engine.d.ts +21 -0
  399. package/dist/policy/engine.d.ts.map +1 -0
  400. package/dist/policy/engine.js +477 -0
  401. package/dist/policy/engine.js.map +1 -0
  402. package/dist/policy/types.d.ts +73 -0
  403. package/dist/policy/types.d.ts.map +1 -0
  404. package/dist/policy/types.js +12 -0
  405. package/dist/policy/types.js.map +1 -0
  406. package/dist/server.d.ts +17 -0
  407. package/dist/server.d.ts.map +1 -0
  408. package/dist/server.js +136 -0
  409. package/dist/server.js.map +1 -0
  410. package/dist/sync/pull.d.ts +4 -0
  411. package/dist/sync/pull.d.ts.map +1 -0
  412. package/dist/sync/pull.js +113 -0
  413. package/dist/sync/pull.js.map +1 -0
  414. package/dist/sync/sync.d.ts +6 -0
  415. package/dist/sync/sync.d.ts.map +1 -0
  416. package/dist/sync/sync.js +244 -0
  417. package/dist/sync/sync.js.map +1 -0
  418. package/dist/sync/types.d.ts +136 -0
  419. package/dist/sync/types.d.ts.map +1 -0
  420. package/dist/sync/types.js +2 -0
  421. package/dist/sync/types.js.map +1 -0
  422. package/dist/ts/diagnostics.d.ts +61 -0
  423. package/dist/ts/diagnostics.d.ts.map +1 -0
  424. package/dist/ts/diagnostics.js +259 -0
  425. package/dist/ts/diagnostics.js.map +1 -0
  426. package/dist/ts/mapping.d.ts +27 -0
  427. package/dist/ts/mapping.d.ts.map +1 -0
  428. package/dist/ts/mapping.js +68 -0
  429. package/dist/ts/mapping.js.map +1 -0
  430. package/dist/util/asyncFs.d.ts +103 -0
  431. package/dist/util/asyncFs.d.ts.map +1 -0
  432. package/dist/util/asyncFs.js +133 -0
  433. package/dist/util/asyncFs.js.map +1 -0
  434. package/dist/util/concurrency.d.ts +77 -0
  435. package/dist/util/concurrency.d.ts.map +1 -0
  436. package/dist/util/concurrency.js +146 -0
  437. package/dist/util/concurrency.js.map +1 -0
  438. package/dist/util/depLabels.d.ts +3 -0
  439. package/dist/util/depLabels.d.ts.map +1 -0
  440. package/dist/util/depLabels.js +19 -0
  441. package/dist/util/depLabels.js.map +1 -0
  442. package/dist/util/findPackageRoot.d.ts +7 -0
  443. package/dist/util/findPackageRoot.d.ts.map +1 -0
  444. package/dist/util/findPackageRoot.js +21 -0
  445. package/dist/util/findPackageRoot.js.map +1 -0
  446. package/dist/util/hashing.d.ts +9 -0
  447. package/dist/util/hashing.d.ts.map +1 -0
  448. package/dist/util/hashing.js +37 -0
  449. package/dist/util/hashing.js.map +1 -0
  450. package/dist/util/logger.d.ts +14 -0
  451. package/dist/util/logger.d.ts.map +1 -0
  452. package/dist/util/logger.js +51 -0
  453. package/dist/util/logger.js.map +1 -0
  454. package/dist/util/paths.d.ts +6 -0
  455. package/dist/util/paths.d.ts.map +1 -0
  456. package/dist/util/paths.js +79 -0
  457. package/dist/util/paths.js.map +1 -0
  458. package/dist/util/time.d.ts +4 -0
  459. package/dist/util/time.d.ts.map +1 -0
  460. package/dist/util/time.js +20 -0
  461. package/dist/util/time.js.map +1 -0
  462. package/dist/util/tokenize.d.ts +5 -0
  463. package/dist/util/tokenize.d.ts.map +1 -0
  464. package/dist/util/tokenize.js +30 -0
  465. package/dist/util/tokenize.js.map +1 -0
  466. package/dist/util/truncation.d.ts +38 -0
  467. package/dist/util/truncation.d.ts.map +1 -0
  468. package/dist/util/truncation.js +259 -0
  469. package/dist/util/truncation.js.map +1 -0
  470. package/migrations/.gitkeep +1 -0
  471. package/migrations/0001_init.sql +61 -0
  472. package/migrations/0002_edges_indexes.sql +2 -0
  473. package/migrations/0003_versions.sql +22 -0
  474. package/migrations/0004_metrics_audit.sql +23 -0
  475. package/migrations/0005_slice_handles.sql +15 -0
  476. package/migrations/0006_content_addressed.sql +29 -0
  477. package/migrations/0007_add_language_to_symbols.sql +28 -0
  478. package/migrations/0008_performance_indexes.sql +21 -0
  479. package/migrations/0009_fix_edge_fks.sql +37 -0
  480. package/migrations/0010_standardize_fks.sql +35 -0
  481. package/migrations/0011_add_directory_column.sql +20 -0
  482. package/migrations/0012_symbol_references.sql +16 -0
  483. package/migrations/0013_sync_artifacts.sql +17 -0
  484. package/package.json +107 -0
  485. package/templates/CLAUDE.md.template +179 -0
  486. package/templates/README.md +228 -0
  487. package/templates/claude-code.json +54 -0
  488. package/templates/codex.json +55 -0
  489. package/templates/gemini.json +66 -0
  490. package/templates/opencode.json +90 -0
  491. package/templates/plugin-template/LICENSE +21 -0
  492. package/templates/plugin-template/README.md +309 -0
  493. package/templates/plugin-template/index.ts +160 -0
  494. package/templates/plugin-template/package.json +31 -0
  495. package/templates/plugin-template/test/plugin.test.ts +186 -0
  496. package/templates/plugin-template/tsconfig.json +21 -0
@@ -0,0 +1,18 @@
1
+ import Parser from "tree-sitter";
2
+ import type { Tree } from "tree-sitter";
3
+ import type { LanguageAdapter } from "./LanguageAdapter.js";
4
+ import type { ExtractedSymbol, ExtractedCall } from "../treesitter/extractCalls.js";
5
+ import type { ExtractedImport } from "../treesitter/extractImports.js";
6
+ declare class CAdapter implements LanguageAdapter {
7
+ languageId: string;
8
+ fileExtensions: readonly [".c", ".h"];
9
+ private parser;
10
+ getParser(): Parser | null;
11
+ parse(content: string, _filePath: string): Tree | null;
12
+ extractSymbols(tree: Tree, _content: string, filePath: string): ExtractedSymbol[];
13
+ extractImports(tree: Tree, _content: string, _filePath: string): ExtractedImport[];
14
+ extractCalls(tree: Tree, _content: string, _filePath: string, extractedSymbols: ExtractedSymbol[]): ExtractedCall[];
15
+ }
16
+ declare function clearCache(): void;
17
+ export { CAdapter, clearCache };
18
+ //# sourceMappingURL=c.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/indexer/adapter/c.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AASvE,cAAM,QAAS,YAAW,eAAe;IACvC,UAAU,SAAO;IACjB,cAAc,wBAAyB;IAEvC,OAAO,CAAC,MAAM,CAAuB;IAErC,SAAS,IAAI,MAAM,GAAG,IAAI;IAO1B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiCtD,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE;IAgBpB,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE;IA6CpB,YAAY,CACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,eAAe,EAAE,GAClC,aAAa,EAAE;CAwGnB;AAgVD,iBAAS,UAAU,IAAI,IAAI,CAE1B;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,443 @@
1
+ import { getParser, clearCache as clearGrammarCache, createQuery, } from "../treesitter/grammarLoader.js";
2
+ import { logger } from "../../util/logger.js";
3
+ import { findEnclosingSymbol as findEnclosingSymbolUtil } from "../treesitter/symbolUtils.js";
4
+ class CAdapter {
5
+ languageId = "c";
6
+ fileExtensions = [".c", ".h"];
7
+ parser = null;
8
+ getParser() {
9
+ if (!this.parser) {
10
+ this.parser = getParser("c");
11
+ }
12
+ return this.parser;
13
+ }
14
+ parse(content, _filePath) {
15
+ const parser = this.getParser();
16
+ if (!parser) {
17
+ return null;
18
+ }
19
+ try {
20
+ // Use 1MB buffer to handle files >32KB (tree-sitter default limit)
21
+ const tree = parser.parse(content, undefined, {
22
+ bufferSize: 1024 * 1024,
23
+ });
24
+ if (!tree) {
25
+ return null;
26
+ }
27
+ if (tree.rootNode.hasError) {
28
+ logger.warn("Syntax errors detected in C file - attempting partial extraction", { filePath: _filePath });
29
+ }
30
+ return tree;
31
+ }
32
+ catch (error) {
33
+ logger.error("Failed to parse C file", {
34
+ filePath: _filePath,
35
+ error,
36
+ });
37
+ return null;
38
+ }
39
+ }
40
+ extractSymbols(tree, _content, filePath) {
41
+ const richSymbols = extractSymbols(tree);
42
+ const symbols = richSymbols.map((symbol, idx) => ({
43
+ nodeId: `${filePath}:${symbol.name}:${idx}`,
44
+ kind: symbol.kind,
45
+ name: symbol.name,
46
+ exported: symbol.exported,
47
+ range: symbol.range,
48
+ signature: symbol.signature,
49
+ visibility: symbol.visibility,
50
+ }));
51
+ return symbols;
52
+ }
53
+ extractImports(tree, _content, _filePath) {
54
+ const imports = [];
55
+ function traverseAST(node) {
56
+ if (node.type === "preproc_include") {
57
+ const pathNode = node.childForFieldName("path");
58
+ if (pathNode) {
59
+ const path = pathNode.text;
60
+ const isLocalInclude = path.startsWith('"') && path.endsWith('"');
61
+ const isSystemInclude = path.startsWith("<") && path.endsWith(">");
62
+ const isRelative = isLocalInclude && path.slice(1, -1).startsWith(".");
63
+ if (isLocalInclude) {
64
+ const cleanPath = path.slice(1, -1);
65
+ imports.push({
66
+ specifier: cleanPath,
67
+ isRelative,
68
+ isExternal: false,
69
+ imports: [cleanPath],
70
+ isReExport: false,
71
+ });
72
+ }
73
+ else if (isSystemInclude) {
74
+ const cleanPath = path.slice(1, -1);
75
+ imports.push({
76
+ specifier: cleanPath,
77
+ isRelative: false,
78
+ isExternal: true,
79
+ imports: [cleanPath],
80
+ isReExport: false,
81
+ });
82
+ }
83
+ }
84
+ }
85
+ for (const child of node.children) {
86
+ traverseAST(child);
87
+ }
88
+ }
89
+ traverseAST(tree.rootNode);
90
+ return imports;
91
+ }
92
+ extractCalls(tree, _content, _filePath, extractedSymbols) {
93
+ const calls = [];
94
+ const seenCallNodes = new Set();
95
+ const symbolMap = new Map();
96
+ for (const symbol of extractedSymbols) {
97
+ symbolMap.set(symbol.name, symbol);
98
+ }
99
+ const callQuery = createQuery("c", `
100
+ (call_expression
101
+ function: (identifier) @callee)
102
+
103
+ (call_expression
104
+ function: (field_expression
105
+ argument: (_) @obj
106
+ field: (field_identifier) @field))
107
+ `);
108
+ if (!callQuery) {
109
+ return [];
110
+ }
111
+ const matches = callQuery.matches(tree.rootNode);
112
+ for (const match of matches) {
113
+ const calleeCapture = match.captures.find((c) => c.name === "callee");
114
+ const objCapture = match.captures.find((c) => c.name === "obj");
115
+ const fieldCapture = match.captures.find((c) => c.name === "field");
116
+ let callNode = null;
117
+ if (calleeCapture) {
118
+ callNode = calleeCapture.node.parent;
119
+ }
120
+ else if (fieldCapture) {
121
+ callNode = fieldCapture.node.parent?.parent || null;
122
+ }
123
+ if (!callNode || callNode.type !== "call_expression")
124
+ continue;
125
+ const nodeId = callNode.id;
126
+ if (seenCallNodes.has(nodeId))
127
+ continue;
128
+ seenCallNodes.add(nodeId);
129
+ const funcNode = callNode.childForFieldName("function");
130
+ if (!funcNode)
131
+ continue;
132
+ let calleeIdentifier = "";
133
+ let callType = "function";
134
+ let isResolved = false;
135
+ let calleeSymbolId;
136
+ if (calleeCapture) {
137
+ calleeIdentifier = calleeCapture.node.text;
138
+ const symbol = symbolMap.get(calleeIdentifier);
139
+ if (symbol) {
140
+ isResolved = true;
141
+ calleeSymbolId = symbol.nodeId;
142
+ }
143
+ }
144
+ else if (fieldCapture && objCapture) {
145
+ calleeIdentifier = `${objCapture.node.text}.${fieldCapture.node.text}`;
146
+ callType = "method";
147
+ if (objCapture.node.text === "this") {
148
+ const symbol = symbolMap.get(fieldCapture.node.text);
149
+ if (symbol) {
150
+ isResolved = true;
151
+ calleeSymbolId = symbol.nodeId;
152
+ }
153
+ }
154
+ }
155
+ const callerNodeId = findEnclosingSymbolUtil(callNode, extractedSymbols);
156
+ calls.push({
157
+ callerNodeId,
158
+ calleeIdentifier,
159
+ isResolved,
160
+ callType,
161
+ calleeSymbolId,
162
+ range: extractRange(callNode),
163
+ });
164
+ if (objCapture &&
165
+ objCapture.node.type === "call_expression" &&
166
+ !seenCallNodes.has(objCapture.node.id)) {
167
+ extractNestedCall(objCapture.node, callerNodeId, symbolMap, calls, seenCallNodes, extractedSymbols);
168
+ }
169
+ }
170
+ return calls;
171
+ }
172
+ }
173
+ function extractSymbols(tree) {
174
+ const symbols = [];
175
+ function traverse(node) {
176
+ switch (node.type) {
177
+ case "function_definition": {
178
+ const name = extractFunctionName(node);
179
+ if (name) {
180
+ const params = extractParameters(node);
181
+ const returnType = extractReturnType(node);
182
+ symbols.push({
183
+ name,
184
+ kind: "function",
185
+ exported: true,
186
+ range: extractRange(node),
187
+ signature: {
188
+ params,
189
+ returns: returnType,
190
+ },
191
+ visibility: "public",
192
+ });
193
+ }
194
+ break;
195
+ }
196
+ case "struct_specifier": {
197
+ const name = extractStructName(node);
198
+ if (name) {
199
+ const members = extractStructMembers(node);
200
+ symbols.push({
201
+ name,
202
+ kind: "class",
203
+ exported: true,
204
+ range: extractRange(node),
205
+ signature: {
206
+ params: members,
207
+ },
208
+ visibility: "public",
209
+ });
210
+ }
211
+ break;
212
+ }
213
+ case "enum_specifier": {
214
+ const name = extractEnumName(node);
215
+ const values = extractEnumValues(node);
216
+ if (name) {
217
+ symbols.push({
218
+ name,
219
+ kind: "class",
220
+ exported: true,
221
+ range: extractRange(node),
222
+ signature: {
223
+ params: values.map((v) => ({ name: v })),
224
+ },
225
+ visibility: "public",
226
+ });
227
+ }
228
+ break;
229
+ }
230
+ case "type_definition": {
231
+ const name = extractTypedefName(node);
232
+ if (name) {
233
+ symbols.push({
234
+ name,
235
+ kind: "type",
236
+ exported: true,
237
+ range: extractRange(node),
238
+ visibility: "public",
239
+ });
240
+ }
241
+ break;
242
+ }
243
+ }
244
+ for (const child of node.children) {
245
+ traverse(child);
246
+ }
247
+ }
248
+ traverse(tree.rootNode);
249
+ return symbols;
250
+ }
251
+ function extractFunctionName(node) {
252
+ const declarator = node.childForFieldName("declarator");
253
+ if (!declarator)
254
+ return null;
255
+ const identifier = findIdentifier(declarator);
256
+ return identifier?.text || null;
257
+ }
258
+ function extractStructName(node) {
259
+ const name = node.childForFieldName("name");
260
+ return name?.text || null;
261
+ }
262
+ function extractEnumName(node) {
263
+ const name = node.childForFieldName("name");
264
+ return name?.text || null;
265
+ }
266
+ function extractTypedefName(node) {
267
+ for (const child of node.children) {
268
+ if (child.type === "type_identifier") {
269
+ return child.text;
270
+ }
271
+ if (child.type === "function_declarator") {
272
+ const identifier = findIdentifierInDeclarator(child);
273
+ if (identifier) {
274
+ return identifier.text;
275
+ }
276
+ }
277
+ }
278
+ return null;
279
+ }
280
+ function findIdentifierInDeclarator(node) {
281
+ if (node.type === "identifier" || node.type === "type_identifier") {
282
+ return node;
283
+ }
284
+ for (const child of node.children) {
285
+ if (child.type === "parameter_list") {
286
+ continue;
287
+ }
288
+ const result = findIdentifierInDeclarator(child);
289
+ if (result)
290
+ return result;
291
+ }
292
+ return null;
293
+ }
294
+ function findIdentifier(node) {
295
+ if (node.type === "identifier") {
296
+ return node;
297
+ }
298
+ for (const child of node.children) {
299
+ const result = findIdentifier(child);
300
+ if (result)
301
+ return result;
302
+ }
303
+ return null;
304
+ }
305
+ function extractParameters(node) {
306
+ const params = [];
307
+ const declarator = node.childForFieldName("declarator");
308
+ if (!declarator)
309
+ return params;
310
+ const parameters = declarator.childForFieldName("parameters");
311
+ if (!parameters)
312
+ return params;
313
+ for (const child of parameters.children) {
314
+ if (child.type === "parameter_declaration") {
315
+ const paramInfo = extractParameterInfo(child);
316
+ if (paramInfo) {
317
+ params.push(paramInfo);
318
+ }
319
+ }
320
+ }
321
+ return params;
322
+ }
323
+ function extractParameterInfo(node) {
324
+ const declarator = node.childForFieldName("declarator");
325
+ if (!declarator)
326
+ return null;
327
+ const identifier = findIdentifier(declarator);
328
+ if (!identifier)
329
+ return null;
330
+ const typeNode = node.children.find((c) => c.type !== "declarator");
331
+ const typeText = typeNode?.text.trim();
332
+ return {
333
+ name: identifier.text,
334
+ type: typeText,
335
+ };
336
+ }
337
+ function extractReturnType(node) {
338
+ const typeNode = node.children.find((c) => c.type !== "declarator");
339
+ return typeNode?.text.trim();
340
+ }
341
+ function extractStructMembers(node) {
342
+ const members = [];
343
+ const body = node.childForFieldName("body");
344
+ if (!body)
345
+ return members;
346
+ for (const child of body.children) {
347
+ if (child.type === "field_declaration_list") {
348
+ for (const fieldChild of child.children) {
349
+ if (fieldChild.type === "field_declaration") {
350
+ const fieldInfo = extractFieldInfo(fieldChild);
351
+ if (fieldInfo) {
352
+ members.push(fieldInfo);
353
+ }
354
+ }
355
+ }
356
+ }
357
+ }
358
+ return members;
359
+ }
360
+ function extractFieldInfo(node) {
361
+ const declarator = node.childForFieldName("declarator");
362
+ if (!declarator)
363
+ return null;
364
+ const identifier = findIdentifier(declarator);
365
+ if (!identifier)
366
+ return null;
367
+ const typeNode = node.children.find((c) => c.type !== "declarator");
368
+ const typeText = typeNode?.text.trim();
369
+ return {
370
+ name: identifier.text,
371
+ type: typeText,
372
+ };
373
+ }
374
+ function extractEnumValues(node) {
375
+ const values = [];
376
+ const body = node.childForFieldName("body");
377
+ if (!body)
378
+ return values;
379
+ for (const child of body.children) {
380
+ if (child.type === "enumerator_list") {
381
+ for (const enumChild of child.children) {
382
+ if (enumChild.type === "enumerator") {
383
+ const name = enumChild.childForFieldName("name");
384
+ if (name) {
385
+ values.push(name.text);
386
+ }
387
+ }
388
+ }
389
+ }
390
+ }
391
+ return values;
392
+ }
393
+ function extractRange(node) {
394
+ const start = node.startPosition;
395
+ const end = node.endPosition;
396
+ return {
397
+ startLine: start.row + 1,
398
+ startCol: start.column,
399
+ endLine: end.row + 1,
400
+ endCol: end.column,
401
+ };
402
+ }
403
+ function extractNestedCall(callNode, callerNodeId, symbolMap, calls, seenCallNodes, _extractedSymbols) {
404
+ if (!callNode || seenCallNodes.has(callNode.id))
405
+ return;
406
+ seenCallNodes.add(callNode.id);
407
+ const funcNode = callNode.childForFieldName("function");
408
+ if (!funcNode)
409
+ return;
410
+ let calleeIdentifier = "";
411
+ let callType = "function";
412
+ let isResolved = false;
413
+ let calleeSymbolId;
414
+ if (funcNode.type === "identifier") {
415
+ calleeIdentifier = funcNode.text;
416
+ const symbol = symbolMap.get(calleeIdentifier);
417
+ if (symbol) {
418
+ isResolved = true;
419
+ calleeSymbolId = symbol.nodeId;
420
+ }
421
+ }
422
+ else if (funcNode.type === "field_expression") {
423
+ const obj = funcNode.childForFieldName("argument");
424
+ const field = funcNode.childForFieldName("field");
425
+ if (obj && field) {
426
+ calleeIdentifier = `${obj.text}.${field.text}`;
427
+ callType = "method";
428
+ }
429
+ }
430
+ calls.push({
431
+ callerNodeId,
432
+ calleeIdentifier,
433
+ isResolved,
434
+ callType,
435
+ calleeSymbolId,
436
+ range: extractRange(callNode),
437
+ });
438
+ }
439
+ function clearCache() {
440
+ clearGrammarCache("c");
441
+ }
442
+ export { CAdapter, clearCache };
443
+ //# sourceMappingURL=c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c.js","sourceRoot":"","sources":["../../../src/indexer/adapter/c.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import Parser from "tree-sitter";
2
+ import type { Tree } from "tree-sitter";
3
+ import type { LanguageAdapter } from "./LanguageAdapter.js";
4
+ import type { ExtractedSymbol, ExtractedCall } from "../treesitter/extractCalls.js";
5
+ import type { ExtractedImport } from "../treesitter/extractImports.js";
6
+ declare class CppAdapter implements LanguageAdapter {
7
+ languageId: string;
8
+ fileExtensions: readonly [".cc", ".cpp", ".cxx", ".hh", ".hpp", ".hxx"];
9
+ private parser;
10
+ getParser(): Parser | null;
11
+ parse(content: string, filePath: string): Tree | null;
12
+ extractSymbols(tree: Tree, _content: string, filePath: string): ExtractedSymbol[];
13
+ extractImports(tree: Tree, _content: string, _filePath: string): ExtractedImport[];
14
+ extractCalls(tree: Tree, _content: string, filePath: string, extractedSymbols: ExtractedSymbol[]): ExtractedCall[];
15
+ }
16
+ declare function clearCache(): void;
17
+ export { CppAdapter, clearCache };
18
+ //# sourceMappingURL=cpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../../src/indexer/adapter/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,cAAM,UAAW,YAAW,eAAe;IACzC,UAAU,SAAS;IACnB,cAAc,0DAA2D;IAEzE,OAAO,CAAC,MAAM,CAAuB;IAErC,SAAS,IAAI,MAAM,GAAG,IAAI;IAO1B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAyBrD,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE;IAiUpB,cAAc,CACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE;IA6CpB,YAAY,CACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,eAAe,EAAE,GAClC,aAAa,EAAE;CAoKnB;AAED,iBAAS,UAAU,IAAI,IAAI,CAE1B;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}