@aroman22/codegraph-vba-darwin-arm64 1.3.3

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 (800) hide show
  1. package/bin/codegraph +14 -0
  2. package/lib/dist/bin/codegraph.d.ts +26 -0
  3. package/lib/dist/bin/codegraph.d.ts.map +1 -0
  4. package/lib/dist/bin/codegraph.js +2018 -0
  5. package/lib/dist/bin/codegraph.js.map +1 -0
  6. package/lib/dist/bin/command-supervision.d.ts +12 -0
  7. package/lib/dist/bin/command-supervision.d.ts.map +1 -0
  8. package/lib/dist/bin/command-supervision.js +76 -0
  9. package/lib/dist/bin/command-supervision.js.map +1 -0
  10. package/lib/dist/bin/fatal-handler.d.ts +20 -0
  11. package/lib/dist/bin/fatal-handler.d.ts.map +1 -0
  12. package/lib/dist/bin/fatal-handler.js +118 -0
  13. package/lib/dist/bin/fatal-handler.js.map +1 -0
  14. package/lib/dist/bin/node-version-check.d.ts +37 -0
  15. package/lib/dist/bin/node-version-check.d.ts.map +1 -0
  16. package/lib/dist/bin/node-version-check.js +79 -0
  17. package/lib/dist/bin/node-version-check.js.map +1 -0
  18. package/lib/dist/bin/uninstall.d.ts +14 -0
  19. package/lib/dist/bin/uninstall.d.ts.map +1 -0
  20. package/lib/dist/bin/uninstall.js +36 -0
  21. package/lib/dist/bin/uninstall.js.map +1 -0
  22. package/lib/dist/context/formatter.d.ts +30 -0
  23. package/lib/dist/context/formatter.d.ts.map +1 -0
  24. package/lib/dist/context/formatter.js +263 -0
  25. package/lib/dist/context/formatter.js.map +1 -0
  26. package/lib/dist/context/index.d.ts +119 -0
  27. package/lib/dist/context/index.d.ts.map +1 -0
  28. package/lib/dist/context/index.js +1296 -0
  29. package/lib/dist/context/index.js.map +1 -0
  30. package/lib/dist/context/markers.d.ts +19 -0
  31. package/lib/dist/context/markers.d.ts.map +1 -0
  32. package/lib/dist/context/markers.js +22 -0
  33. package/lib/dist/context/markers.js.map +1 -0
  34. package/lib/dist/db/index.d.ts +122 -0
  35. package/lib/dist/db/index.d.ts.map +1 -0
  36. package/lib/dist/db/index.js +296 -0
  37. package/lib/dist/db/index.js.map +1 -0
  38. package/lib/dist/db/migrations.d.ts +44 -0
  39. package/lib/dist/db/migrations.d.ts.map +1 -0
  40. package/lib/dist/db/migrations.js +140 -0
  41. package/lib/dist/db/migrations.js.map +1 -0
  42. package/lib/dist/db/queries.d.ts +402 -0
  43. package/lib/dist/db/queries.d.ts.map +1 -0
  44. package/lib/dist/db/queries.js +1626 -0
  45. package/lib/dist/db/queries.js.map +1 -0
  46. package/lib/dist/db/schema.sql +152 -0
  47. package/lib/dist/db/sqlite-adapter.d.ts +53 -0
  48. package/lib/dist/db/sqlite-adapter.d.ts.map +1 -0
  49. package/lib/dist/db/sqlite-adapter.js +117 -0
  50. package/lib/dist/db/sqlite-adapter.js.map +1 -0
  51. package/lib/dist/directory.d.ts +179 -0
  52. package/lib/dist/directory.d.ts.map +1 -0
  53. package/lib/dist/directory.js +625 -0
  54. package/lib/dist/directory.js.map +1 -0
  55. package/lib/dist/errors.d.ts +136 -0
  56. package/lib/dist/errors.d.ts.map +1 -0
  57. package/lib/dist/errors.js +219 -0
  58. package/lib/dist/errors.js.map +1 -0
  59. package/lib/dist/extraction/astro-extractor.d.ts +79 -0
  60. package/lib/dist/extraction/astro-extractor.d.ts.map +1 -0
  61. package/lib/dist/extraction/astro-extractor.js +320 -0
  62. package/lib/dist/extraction/astro-extractor.js.map +1 -0
  63. package/lib/dist/extraction/dfm-extractor.d.ts +31 -0
  64. package/lib/dist/extraction/dfm-extractor.d.ts.map +1 -0
  65. package/lib/dist/extraction/dfm-extractor.js +151 -0
  66. package/lib/dist/extraction/dfm-extractor.js.map +1 -0
  67. package/lib/dist/extraction/extraction-version.d.ts +25 -0
  68. package/lib/dist/extraction/extraction-version.d.ts.map +1 -0
  69. package/lib/dist/extraction/extraction-version.js +28 -0
  70. package/lib/dist/extraction/extraction-version.js.map +1 -0
  71. package/lib/dist/extraction/function-ref.d.ts +118 -0
  72. package/lib/dist/extraction/function-ref.d.ts.map +1 -0
  73. package/lib/dist/extraction/function-ref.js +727 -0
  74. package/lib/dist/extraction/function-ref.js.map +1 -0
  75. package/lib/dist/extraction/generated-detection.d.ts +30 -0
  76. package/lib/dist/extraction/generated-detection.d.ts.map +1 -0
  77. package/lib/dist/extraction/generated-detection.js +83 -0
  78. package/lib/dist/extraction/generated-detection.js.map +1 -0
  79. package/lib/dist/extraction/grammars.d.ts +128 -0
  80. package/lib/dist/extraction/grammars.d.ts.map +1 -0
  81. package/lib/dist/extraction/grammars.js +537 -0
  82. package/lib/dist/extraction/grammars.js.map +1 -0
  83. package/lib/dist/extraction/index.d.ts +187 -0
  84. package/lib/dist/extraction/index.d.ts.map +1 -0
  85. package/lib/dist/extraction/index.js +1951 -0
  86. package/lib/dist/extraction/index.js.map +1 -0
  87. package/lib/dist/extraction/languages/c-cpp.d.ts +12 -0
  88. package/lib/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  89. package/lib/dist/extraction/languages/c-cpp.js +275 -0
  90. package/lib/dist/extraction/languages/c-cpp.js.map +1 -0
  91. package/lib/dist/extraction/languages/csharp.d.ts +25 -0
  92. package/lib/dist/extraction/languages/csharp.d.ts.map +1 -0
  93. package/lib/dist/extraction/languages/csharp.js +175 -0
  94. package/lib/dist/extraction/languages/csharp.js.map +1 -0
  95. package/lib/dist/extraction/languages/dart.d.ts +3 -0
  96. package/lib/dist/extraction/languages/dart.d.ts.map +1 -0
  97. package/lib/dist/extraction/languages/dart.js +374 -0
  98. package/lib/dist/extraction/languages/dart.js.map +1 -0
  99. package/lib/dist/extraction/languages/go.d.ts +3 -0
  100. package/lib/dist/extraction/languages/go.d.ts.map +1 -0
  101. package/lib/dist/extraction/languages/go.js +111 -0
  102. package/lib/dist/extraction/languages/go.js.map +1 -0
  103. package/lib/dist/extraction/languages/index.d.ts +10 -0
  104. package/lib/dist/extraction/languages/index.d.ts.map +1 -0
  105. package/lib/dist/extraction/languages/index.js +53 -0
  106. package/lib/dist/extraction/languages/index.js.map +1 -0
  107. package/lib/dist/extraction/languages/java.d.ts +3 -0
  108. package/lib/dist/extraction/languages/java.d.ts.map +1 -0
  109. package/lib/dist/extraction/languages/java.js +315 -0
  110. package/lib/dist/extraction/languages/java.js.map +1 -0
  111. package/lib/dist/extraction/languages/javascript.d.ts +3 -0
  112. package/lib/dist/extraction/languages/javascript.d.ts.map +1 -0
  113. package/lib/dist/extraction/languages/javascript.js +106 -0
  114. package/lib/dist/extraction/languages/javascript.js.map +1 -0
  115. package/lib/dist/extraction/languages/kotlin.d.ts +3 -0
  116. package/lib/dist/extraction/languages/kotlin.d.ts.map +1 -0
  117. package/lib/dist/extraction/languages/kotlin.js +379 -0
  118. package/lib/dist/extraction/languages/kotlin.js.map +1 -0
  119. package/lib/dist/extraction/languages/lua.d.ts +3 -0
  120. package/lib/dist/extraction/languages/lua.d.ts.map +1 -0
  121. package/lib/dist/extraction/languages/lua.js +150 -0
  122. package/lib/dist/extraction/languages/lua.js.map +1 -0
  123. package/lib/dist/extraction/languages/luau.d.ts +3 -0
  124. package/lib/dist/extraction/languages/luau.d.ts.map +1 -0
  125. package/lib/dist/extraction/languages/luau.js +37 -0
  126. package/lib/dist/extraction/languages/luau.js.map +1 -0
  127. package/lib/dist/extraction/languages/objc.d.ts +3 -0
  128. package/lib/dist/extraction/languages/objc.d.ts.map +1 -0
  129. package/lib/dist/extraction/languages/objc.js +175 -0
  130. package/lib/dist/extraction/languages/objc.js.map +1 -0
  131. package/lib/dist/extraction/languages/pascal.d.ts +3 -0
  132. package/lib/dist/extraction/languages/pascal.d.ts.map +1 -0
  133. package/lib/dist/extraction/languages/pascal.js +77 -0
  134. package/lib/dist/extraction/languages/pascal.js.map +1 -0
  135. package/lib/dist/extraction/languages/php.d.ts +3 -0
  136. package/lib/dist/extraction/languages/php.d.ts.map +1 -0
  137. package/lib/dist/extraction/languages/php.js +196 -0
  138. package/lib/dist/extraction/languages/php.js.map +1 -0
  139. package/lib/dist/extraction/languages/python.d.ts +3 -0
  140. package/lib/dist/extraction/languages/python.d.ts.map +1 -0
  141. package/lib/dist/extraction/languages/python.js +56 -0
  142. package/lib/dist/extraction/languages/python.js.map +1 -0
  143. package/lib/dist/extraction/languages/r.d.ts +3 -0
  144. package/lib/dist/extraction/languages/r.d.ts.map +1 -0
  145. package/lib/dist/extraction/languages/r.js +314 -0
  146. package/lib/dist/extraction/languages/r.js.map +1 -0
  147. package/lib/dist/extraction/languages/ruby.d.ts +3 -0
  148. package/lib/dist/extraction/languages/ruby.d.ts.map +1 -0
  149. package/lib/dist/extraction/languages/ruby.js +149 -0
  150. package/lib/dist/extraction/languages/ruby.js.map +1 -0
  151. package/lib/dist/extraction/languages/rust.d.ts +3 -0
  152. package/lib/dist/extraction/languages/rust.d.ts.map +1 -0
  153. package/lib/dist/extraction/languages/rust.js +142 -0
  154. package/lib/dist/extraction/languages/rust.js.map +1 -0
  155. package/lib/dist/extraction/languages/scala.d.ts +3 -0
  156. package/lib/dist/extraction/languages/scala.d.ts.map +1 -0
  157. package/lib/dist/extraction/languages/scala.js +209 -0
  158. package/lib/dist/extraction/languages/scala.js.map +1 -0
  159. package/lib/dist/extraction/languages/swift.d.ts +3 -0
  160. package/lib/dist/extraction/languages/swift.d.ts.map +1 -0
  161. package/lib/dist/extraction/languages/swift.js +152 -0
  162. package/lib/dist/extraction/languages/swift.js.map +1 -0
  163. package/lib/dist/extraction/languages/typescript.d.ts +16 -0
  164. package/lib/dist/extraction/languages/typescript.d.ts.map +1 -0
  165. package/lib/dist/extraction/languages/typescript.js +167 -0
  166. package/lib/dist/extraction/languages/typescript.js.map +1 -0
  167. package/lib/dist/extraction/liquid-extractor.d.ts +59 -0
  168. package/lib/dist/extraction/liquid-extractor.d.ts.map +1 -0
  169. package/lib/dist/extraction/liquid-extractor.js +357 -0
  170. package/lib/dist/extraction/liquid-extractor.js.map +1 -0
  171. package/lib/dist/extraction/mybatis-extractor.d.ts +48 -0
  172. package/lib/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  173. package/lib/dist/extraction/mybatis-extractor.js +198 -0
  174. package/lib/dist/extraction/mybatis-extractor.js.map +1 -0
  175. package/lib/dist/extraction/parse-pool.d.ts +126 -0
  176. package/lib/dist/extraction/parse-pool.d.ts.map +1 -0
  177. package/lib/dist/extraction/parse-pool.js +319 -0
  178. package/lib/dist/extraction/parse-pool.js.map +1 -0
  179. package/lib/dist/extraction/parse-worker.d.ts +8 -0
  180. package/lib/dist/extraction/parse-worker.d.ts.map +1 -0
  181. package/lib/dist/extraction/parse-worker.js +97 -0
  182. package/lib/dist/extraction/parse-worker.js.map +1 -0
  183. package/lib/dist/extraction/razor-extractor.d.ts +42 -0
  184. package/lib/dist/extraction/razor-extractor.d.ts.map +1 -0
  185. package/lib/dist/extraction/razor-extractor.js +285 -0
  186. package/lib/dist/extraction/razor-extractor.js.map +1 -0
  187. package/lib/dist/extraction/sql-query-extractor.d.ts +25 -0
  188. package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -0
  189. package/lib/dist/extraction/sql-query-extractor.js +177 -0
  190. package/lib/dist/extraction/sql-query-extractor.js.map +1 -0
  191. package/lib/dist/extraction/svelte-extractor.d.ts +56 -0
  192. package/lib/dist/extraction/svelte-extractor.d.ts.map +1 -0
  193. package/lib/dist/extraction/svelte-extractor.js +275 -0
  194. package/lib/dist/extraction/svelte-extractor.js.map +1 -0
  195. package/lib/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  196. package/lib/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  197. package/lib/dist/extraction/tree-sitter-helpers.js +152 -0
  198. package/lib/dist/extraction/tree-sitter-helpers.js.map +1 -0
  199. package/lib/dist/extraction/tree-sitter-types.d.ts +239 -0
  200. package/lib/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  201. package/lib/dist/extraction/tree-sitter-types.js +10 -0
  202. package/lib/dist/extraction/tree-sitter-types.js.map +1 -0
  203. package/lib/dist/extraction/tree-sitter.d.ts +647 -0
  204. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -0
  205. package/lib/dist/extraction/tree-sitter.js +5647 -0
  206. package/lib/dist/extraction/tree-sitter.js.map +1 -0
  207. package/lib/dist/extraction/vba-extractor.d.ts +394 -0
  208. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -0
  209. package/lib/dist/extraction/vba-extractor.js +1716 -0
  210. package/lib/dist/extraction/vba-extractor.js.map +1 -0
  211. package/lib/dist/extraction/vba-form-extractor.d.ts +89 -0
  212. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -0
  213. package/lib/dist/extraction/vba-form-extractor.js +367 -0
  214. package/lib/dist/extraction/vba-form-extractor.js.map +1 -0
  215. package/lib/dist/extraction/vba-preprocess.d.ts +81 -0
  216. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -0
  217. package/lib/dist/extraction/vba-preprocess.js +287 -0
  218. package/lib/dist/extraction/vba-preprocess.js.map +1 -0
  219. package/lib/dist/extraction/vue-extractor.d.ts +51 -0
  220. package/lib/dist/extraction/vue-extractor.d.ts.map +1 -0
  221. package/lib/dist/extraction/vue-extractor.js +254 -0
  222. package/lib/dist/extraction/vue-extractor.js.map +1 -0
  223. package/lib/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  224. package/lib/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  225. package/lib/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  226. package/lib/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  227. package/lib/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  228. package/lib/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  229. package/lib/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  230. package/lib/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  231. package/lib/dist/extraction/wasm-runtime-flags.js +106 -0
  232. package/lib/dist/extraction/wasm-runtime-flags.js.map +1 -0
  233. package/lib/dist/graph/index.d.ts +8 -0
  234. package/lib/dist/graph/index.d.ts.map +1 -0
  235. package/lib/dist/graph/index.js +13 -0
  236. package/lib/dist/graph/index.js.map +1 -0
  237. package/lib/dist/graph/queries.d.ts +106 -0
  238. package/lib/dist/graph/queries.d.ts.map +1 -0
  239. package/lib/dist/graph/queries.js +339 -0
  240. package/lib/dist/graph/queries.js.map +1 -0
  241. package/lib/dist/graph/traversal.d.ts +127 -0
  242. package/lib/dist/graph/traversal.d.ts.map +1 -0
  243. package/lib/dist/graph/traversal.js +540 -0
  244. package/lib/dist/graph/traversal.js.map +1 -0
  245. package/lib/dist/index.d.ts +563 -0
  246. package/lib/dist/index.d.ts.map +1 -0
  247. package/lib/dist/index.js +1041 -0
  248. package/lib/dist/index.js.map +1 -0
  249. package/lib/dist/installer/config-writer.d.ts +28 -0
  250. package/lib/dist/installer/config-writer.d.ts.map +1 -0
  251. package/lib/dist/installer/config-writer.js +91 -0
  252. package/lib/dist/installer/config-writer.js.map +1 -0
  253. package/lib/dist/installer/index.d.ts +100 -0
  254. package/lib/dist/installer/index.d.ts.map +1 -0
  255. package/lib/dist/installer/index.js +524 -0
  256. package/lib/dist/installer/index.js.map +1 -0
  257. package/lib/dist/installer/instructions-template.d.ts +41 -0
  258. package/lib/dist/installer/instructions-template.d.ts.map +1 -0
  259. package/lib/dist/installer/instructions-template.js +53 -0
  260. package/lib/dist/installer/instructions-template.js.map +1 -0
  261. package/lib/dist/installer/targets/antigravity.d.ts +57 -0
  262. package/lib/dist/installer/targets/antigravity.d.ts.map +1 -0
  263. package/lib/dist/installer/targets/antigravity.js +308 -0
  264. package/lib/dist/installer/targets/antigravity.js.map +1 -0
  265. package/lib/dist/installer/targets/claude.d.ts +62 -0
  266. package/lib/dist/installer/targets/claude.d.ts.map +1 -0
  267. package/lib/dist/installer/targets/claude.js +454 -0
  268. package/lib/dist/installer/targets/claude.js.map +1 -0
  269. package/lib/dist/installer/targets/codex.d.ts +18 -0
  270. package/lib/dist/installer/targets/codex.d.ts.map +1 -0
  271. package/lib/dist/installer/targets/codex.js +185 -0
  272. package/lib/dist/installer/targets/codex.js.map +1 -0
  273. package/lib/dist/installer/targets/cursor.d.ts +35 -0
  274. package/lib/dist/installer/targets/cursor.d.ts.map +1 -0
  275. package/lib/dist/installer/targets/cursor.js +254 -0
  276. package/lib/dist/installer/targets/cursor.js.map +1 -0
  277. package/lib/dist/installer/targets/gemini.d.ts +26 -0
  278. package/lib/dist/installer/targets/gemini.d.ts.map +1 -0
  279. package/lib/dist/installer/targets/gemini.js +165 -0
  280. package/lib/dist/installer/targets/gemini.js.map +1 -0
  281. package/lib/dist/installer/targets/hermes.d.ts +18 -0
  282. package/lib/dist/installer/targets/hermes.d.ts.map +1 -0
  283. package/lib/dist/installer/targets/hermes.js +359 -0
  284. package/lib/dist/installer/targets/hermes.js.map +1 -0
  285. package/lib/dist/installer/targets/kiro.d.ts +27 -0
  286. package/lib/dist/installer/targets/kiro.d.ts.map +1 -0
  287. package/lib/dist/installer/targets/kiro.js +178 -0
  288. package/lib/dist/installer/targets/kiro.js.map +1 -0
  289. package/lib/dist/installer/targets/opencode.d.ts +38 -0
  290. package/lib/dist/installer/targets/opencode.d.ts.map +1 -0
  291. package/lib/dist/installer/targets/opencode.js +307 -0
  292. package/lib/dist/installer/targets/opencode.js.map +1 -0
  293. package/lib/dist/installer/targets/registry.d.ts +35 -0
  294. package/lib/dist/installer/targets/registry.d.ts.map +1 -0
  295. package/lib/dist/installer/targets/registry.js +91 -0
  296. package/lib/dist/installer/targets/registry.js.map +1 -0
  297. package/lib/dist/installer/targets/shared.d.ts +101 -0
  298. package/lib/dist/installer/targets/shared.d.ts.map +1 -0
  299. package/lib/dist/installer/targets/shared.js +264 -0
  300. package/lib/dist/installer/targets/shared.js.map +1 -0
  301. package/lib/dist/installer/targets/toml.d.ts +52 -0
  302. package/lib/dist/installer/targets/toml.d.ts.map +1 -0
  303. package/lib/dist/installer/targets/toml.js +147 -0
  304. package/lib/dist/installer/targets/toml.js.map +1 -0
  305. package/lib/dist/installer/targets/types.d.ts +108 -0
  306. package/lib/dist/installer/targets/types.d.ts.map +1 -0
  307. package/lib/dist/installer/targets/types.js +16 -0
  308. package/lib/dist/installer/targets/types.js.map +1 -0
  309. package/lib/dist/mcp/daemon-manager.d.ts +42 -0
  310. package/lib/dist/mcp/daemon-manager.d.ts.map +1 -0
  311. package/lib/dist/mcp/daemon-manager.js +129 -0
  312. package/lib/dist/mcp/daemon-manager.js.map +1 -0
  313. package/lib/dist/mcp/daemon-paths.d.ts +73 -0
  314. package/lib/dist/mcp/daemon-paths.d.ts.map +1 -0
  315. package/lib/dist/mcp/daemon-paths.js +165 -0
  316. package/lib/dist/mcp/daemon-paths.js.map +1 -0
  317. package/lib/dist/mcp/daemon-registry.d.ts +47 -0
  318. package/lib/dist/mcp/daemon-registry.d.ts.map +1 -0
  319. package/lib/dist/mcp/daemon-registry.js +233 -0
  320. package/lib/dist/mcp/daemon-registry.js.map +1 -0
  321. package/lib/dist/mcp/daemon.d.ts +258 -0
  322. package/lib/dist/mcp/daemon.d.ts.map +1 -0
  323. package/lib/dist/mcp/daemon.js +770 -0
  324. package/lib/dist/mcp/daemon.js.map +1 -0
  325. package/lib/dist/mcp/dynamic-boundaries.d.ts +41 -0
  326. package/lib/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  327. package/lib/dist/mcp/dynamic-boundaries.js +359 -0
  328. package/lib/dist/mcp/dynamic-boundaries.js.map +1 -0
  329. package/lib/dist/mcp/engine.d.ts +122 -0
  330. package/lib/dist/mcp/engine.d.ts.map +1 -0
  331. package/lib/dist/mcp/engine.js +350 -0
  332. package/lib/dist/mcp/engine.js.map +1 -0
  333. package/lib/dist/mcp/index.d.ts +113 -0
  334. package/lib/dist/mcp/index.d.ts.map +1 -0
  335. package/lib/dist/mcp/index.js +481 -0
  336. package/lib/dist/mcp/index.js.map +1 -0
  337. package/lib/dist/mcp/liveness-watchdog.d.ts +18 -0
  338. package/lib/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  339. package/lib/dist/mcp/liveness-watchdog.js +207 -0
  340. package/lib/dist/mcp/liveness-watchdog.js.map +1 -0
  341. package/lib/dist/mcp/ppid-watchdog.d.ts +62 -0
  342. package/lib/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  343. package/lib/dist/mcp/ppid-watchdog.js +64 -0
  344. package/lib/dist/mcp/ppid-watchdog.js.map +1 -0
  345. package/lib/dist/mcp/proxy.d.ts +87 -0
  346. package/lib/dist/mcp/proxy.d.ts.map +1 -0
  347. package/lib/dist/mcp/proxy.js +641 -0
  348. package/lib/dist/mcp/proxy.js.map +1 -0
  349. package/lib/dist/mcp/query-pool.d.ts +94 -0
  350. package/lib/dist/mcp/query-pool.d.ts.map +1 -0
  351. package/lib/dist/mcp/query-pool.js +297 -0
  352. package/lib/dist/mcp/query-pool.js.map +1 -0
  353. package/lib/dist/mcp/query-worker.d.ts +24 -0
  354. package/lib/dist/mcp/query-worker.d.ts.map +1 -0
  355. package/lib/dist/mcp/query-worker.js +87 -0
  356. package/lib/dist/mcp/query-worker.js.map +1 -0
  357. package/lib/dist/mcp/server-instructions.d.ts +34 -0
  358. package/lib/dist/mcp/server-instructions.d.ts.map +1 -0
  359. package/lib/dist/mcp/server-instructions.js +126 -0
  360. package/lib/dist/mcp/server-instructions.js.map +1 -0
  361. package/lib/dist/mcp/session.d.ts +79 -0
  362. package/lib/dist/mcp/session.d.ts.map +1 -0
  363. package/lib/dist/mcp/session.js +330 -0
  364. package/lib/dist/mcp/session.js.map +1 -0
  365. package/lib/dist/mcp/stdin-teardown.d.ts +27 -0
  366. package/lib/dist/mcp/stdin-teardown.d.ts.map +1 -0
  367. package/lib/dist/mcp/stdin-teardown.js +49 -0
  368. package/lib/dist/mcp/stdin-teardown.js.map +1 -0
  369. package/lib/dist/mcp/tools.d.ts +591 -0
  370. package/lib/dist/mcp/tools.d.ts.map +1 -0
  371. package/lib/dist/mcp/tools.js +4211 -0
  372. package/lib/dist/mcp/tools.js.map +1 -0
  373. package/lib/dist/mcp/transport.d.ts +188 -0
  374. package/lib/dist/mcp/transport.d.ts.map +1 -0
  375. package/lib/dist/mcp/transport.js +359 -0
  376. package/lib/dist/mcp/transport.js.map +1 -0
  377. package/lib/dist/mcp/version.d.ts +19 -0
  378. package/lib/dist/mcp/version.d.ts.map +1 -0
  379. package/lib/dist/mcp/version.js +71 -0
  380. package/lib/dist/mcp/version.js.map +1 -0
  381. package/lib/dist/project-config.d.ts +56 -0
  382. package/lib/dist/project-config.d.ts.map +1 -0
  383. package/lib/dist/project-config.js +297 -0
  384. package/lib/dist/project-config.js.map +1 -0
  385. package/lib/dist/reasoning/config.d.ts +45 -0
  386. package/lib/dist/reasoning/config.d.ts.map +1 -0
  387. package/lib/dist/reasoning/config.js +171 -0
  388. package/lib/dist/reasoning/config.js.map +1 -0
  389. package/lib/dist/reasoning/credentials.d.ts +5 -0
  390. package/lib/dist/reasoning/credentials.d.ts.map +1 -0
  391. package/lib/dist/reasoning/credentials.js +83 -0
  392. package/lib/dist/reasoning/credentials.js.map +1 -0
  393. package/lib/dist/reasoning/login.d.ts +21 -0
  394. package/lib/dist/reasoning/login.d.ts.map +1 -0
  395. package/lib/dist/reasoning/login.js +85 -0
  396. package/lib/dist/reasoning/login.js.map +1 -0
  397. package/lib/dist/reasoning/reasoner.d.ts +43 -0
  398. package/lib/dist/reasoning/reasoner.d.ts.map +1 -0
  399. package/lib/dist/reasoning/reasoner.js +308 -0
  400. package/lib/dist/reasoning/reasoner.js.map +1 -0
  401. package/lib/dist/resolution/c-fnptr-synthesizer.d.ts +5 -0
  402. package/lib/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  403. package/lib/dist/resolution/c-fnptr-synthesizer.js +1038 -0
  404. package/lib/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  405. package/lib/dist/resolution/callback-synthesizer.d.ts +15 -0
  406. package/lib/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  407. package/lib/dist/resolution/callback-synthesizer.js +2926 -0
  408. package/lib/dist/resolution/callback-synthesizer.js.map +1 -0
  409. package/lib/dist/resolution/frameworks/astro.d.ts +9 -0
  410. package/lib/dist/resolution/frameworks/astro.d.ts.map +1 -0
  411. package/lib/dist/resolution/frameworks/astro.js +169 -0
  412. package/lib/dist/resolution/frameworks/astro.js.map +1 -0
  413. package/lib/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  414. package/lib/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  415. package/lib/dist/resolution/frameworks/cargo-workspace.js +225 -0
  416. package/lib/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  417. package/lib/dist/resolution/frameworks/csharp.d.ts +8 -0
  418. package/lib/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  419. package/lib/dist/resolution/frameworks/csharp.js +241 -0
  420. package/lib/dist/resolution/frameworks/csharp.js.map +1 -0
  421. package/lib/dist/resolution/frameworks/drupal.d.ts +51 -0
  422. package/lib/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  423. package/lib/dist/resolution/frameworks/drupal.js +367 -0
  424. package/lib/dist/resolution/frameworks/drupal.js.map +1 -0
  425. package/lib/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  426. package/lib/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  427. package/lib/dist/resolution/frameworks/expo-modules.js +148 -0
  428. package/lib/dist/resolution/frameworks/expo-modules.js.map +1 -0
  429. package/lib/dist/resolution/frameworks/express.d.ts +8 -0
  430. package/lib/dist/resolution/frameworks/express.d.ts.map +1 -0
  431. package/lib/dist/resolution/frameworks/express.js +308 -0
  432. package/lib/dist/resolution/frameworks/express.js.map +1 -0
  433. package/lib/dist/resolution/frameworks/fabric.d.ts +3 -0
  434. package/lib/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  435. package/lib/dist/resolution/frameworks/fabric.js +354 -0
  436. package/lib/dist/resolution/frameworks/fabric.js.map +1 -0
  437. package/lib/dist/resolution/frameworks/go.d.ts +8 -0
  438. package/lib/dist/resolution/frameworks/go.d.ts.map +1 -0
  439. package/lib/dist/resolution/frameworks/go.js +161 -0
  440. package/lib/dist/resolution/frameworks/go.js.map +1 -0
  441. package/lib/dist/resolution/frameworks/goframe.d.ts +41 -0
  442. package/lib/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  443. package/lib/dist/resolution/frameworks/goframe.js +112 -0
  444. package/lib/dist/resolution/frameworks/goframe.js.map +1 -0
  445. package/lib/dist/resolution/frameworks/index.d.ts +50 -0
  446. package/lib/dist/resolution/frameworks/index.d.ts.map +1 -0
  447. package/lib/dist/resolution/frameworks/index.js +169 -0
  448. package/lib/dist/resolution/frameworks/index.js.map +1 -0
  449. package/lib/dist/resolution/frameworks/java.d.ts +8 -0
  450. package/lib/dist/resolution/frameworks/java.d.ts.map +1 -0
  451. package/lib/dist/resolution/frameworks/java.js +509 -0
  452. package/lib/dist/resolution/frameworks/java.js.map +1 -0
  453. package/lib/dist/resolution/frameworks/laravel.d.ts +13 -0
  454. package/lib/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  455. package/lib/dist/resolution/frameworks/laravel.js +257 -0
  456. package/lib/dist/resolution/frameworks/laravel.js.map +1 -0
  457. package/lib/dist/resolution/frameworks/nestjs.d.ts +26 -0
  458. package/lib/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  459. package/lib/dist/resolution/frameworks/nestjs.js +698 -0
  460. package/lib/dist/resolution/frameworks/nestjs.js.map +1 -0
  461. package/lib/dist/resolution/frameworks/play.d.ts +19 -0
  462. package/lib/dist/resolution/frameworks/play.d.ts.map +1 -0
  463. package/lib/dist/resolution/frameworks/play.js +111 -0
  464. package/lib/dist/resolution/frameworks/play.js.map +1 -0
  465. package/lib/dist/resolution/frameworks/python.d.ts +10 -0
  466. package/lib/dist/resolution/frameworks/python.d.ts.map +1 -0
  467. package/lib/dist/resolution/frameworks/python.js +400 -0
  468. package/lib/dist/resolution/frameworks/python.js.map +1 -0
  469. package/lib/dist/resolution/frameworks/react-native.d.ts +3 -0
  470. package/lib/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  471. package/lib/dist/resolution/frameworks/react-native.js +410 -0
  472. package/lib/dist/resolution/frameworks/react-native.js.map +1 -0
  473. package/lib/dist/resolution/frameworks/react.d.ts +8 -0
  474. package/lib/dist/resolution/frameworks/react.d.ts.map +1 -0
  475. package/lib/dist/resolution/frameworks/react.js +334 -0
  476. package/lib/dist/resolution/frameworks/react.js.map +1 -0
  477. package/lib/dist/resolution/frameworks/ruby.d.ts +8 -0
  478. package/lib/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  479. package/lib/dist/resolution/frameworks/ruby.js +302 -0
  480. package/lib/dist/resolution/frameworks/ruby.js.map +1 -0
  481. package/lib/dist/resolution/frameworks/rust.d.ts +8 -0
  482. package/lib/dist/resolution/frameworks/rust.d.ts.map +1 -0
  483. package/lib/dist/resolution/frameworks/rust.js +304 -0
  484. package/lib/dist/resolution/frameworks/rust.js.map +1 -0
  485. package/lib/dist/resolution/frameworks/svelte.d.ts +9 -0
  486. package/lib/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  487. package/lib/dist/resolution/frameworks/svelte.js +253 -0
  488. package/lib/dist/resolution/frameworks/svelte.js.map +1 -0
  489. package/lib/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  490. package/lib/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  491. package/lib/dist/resolution/frameworks/swift-objc.js +252 -0
  492. package/lib/dist/resolution/frameworks/swift-objc.js.map +1 -0
  493. package/lib/dist/resolution/frameworks/swift.d.ts +10 -0
  494. package/lib/dist/resolution/frameworks/swift.d.ts.map +1 -0
  495. package/lib/dist/resolution/frameworks/swift.js +400 -0
  496. package/lib/dist/resolution/frameworks/swift.js.map +1 -0
  497. package/lib/dist/resolution/frameworks/vue.d.ts +9 -0
  498. package/lib/dist/resolution/frameworks/vue.d.ts.map +1 -0
  499. package/lib/dist/resolution/frameworks/vue.js +303 -0
  500. package/lib/dist/resolution/frameworks/vue.js.map +1 -0
  501. package/lib/dist/resolution/go-module.d.ts +26 -0
  502. package/lib/dist/resolution/go-module.d.ts.map +1 -0
  503. package/lib/dist/resolution/go-module.js +78 -0
  504. package/lib/dist/resolution/go-module.js.map +1 -0
  505. package/lib/dist/resolution/goframe-synthesizer.d.ts +28 -0
  506. package/lib/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  507. package/lib/dist/resolution/goframe-synthesizer.js +158 -0
  508. package/lib/dist/resolution/goframe-synthesizer.js.map +1 -0
  509. package/lib/dist/resolution/import-resolver.d.ts +78 -0
  510. package/lib/dist/resolution/import-resolver.d.ts.map +1 -0
  511. package/lib/dist/resolution/import-resolver.js +1849 -0
  512. package/lib/dist/resolution/import-resolver.js.map +1 -0
  513. package/lib/dist/resolution/index.d.ts +196 -0
  514. package/lib/dist/resolution/index.d.ts.map +1 -0
  515. package/lib/dist/resolution/index.js +1328 -0
  516. package/lib/dist/resolution/index.js.map +1 -0
  517. package/lib/dist/resolution/lru-cache.d.ts +24 -0
  518. package/lib/dist/resolution/lru-cache.d.ts.map +1 -0
  519. package/lib/dist/resolution/lru-cache.js +62 -0
  520. package/lib/dist/resolution/lru-cache.js.map +1 -0
  521. package/lib/dist/resolution/name-matcher.d.ts +93 -0
  522. package/lib/dist/resolution/name-matcher.d.ts.map +1 -0
  523. package/lib/dist/resolution/name-matcher.js +1256 -0
  524. package/lib/dist/resolution/name-matcher.js.map +1 -0
  525. package/lib/dist/resolution/path-aliases.d.ts +68 -0
  526. package/lib/dist/resolution/path-aliases.d.ts.map +1 -0
  527. package/lib/dist/resolution/path-aliases.js +238 -0
  528. package/lib/dist/resolution/path-aliases.js.map +1 -0
  529. package/lib/dist/resolution/strip-comments.d.ts +27 -0
  530. package/lib/dist/resolution/strip-comments.d.ts.map +1 -0
  531. package/lib/dist/resolution/strip-comments.js +443 -0
  532. package/lib/dist/resolution/strip-comments.js.map +1 -0
  533. package/lib/dist/resolution/swift-objc-bridge.d.ts +134 -0
  534. package/lib/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  535. package/lib/dist/resolution/swift-objc-bridge.js +256 -0
  536. package/lib/dist/resolution/swift-objc-bridge.js.map +1 -0
  537. package/lib/dist/resolution/types.d.ts +233 -0
  538. package/lib/dist/resolution/types.d.ts.map +1 -0
  539. package/lib/dist/resolution/types.js +8 -0
  540. package/lib/dist/resolution/types.js.map +1 -0
  541. package/lib/dist/resolution/workspace-packages.d.ts +48 -0
  542. package/lib/dist/resolution/workspace-packages.d.ts.map +1 -0
  543. package/lib/dist/resolution/workspace-packages.js +208 -0
  544. package/lib/dist/resolution/workspace-packages.js.map +1 -0
  545. package/lib/dist/search/query-parser.d.ts +57 -0
  546. package/lib/dist/search/query-parser.d.ts.map +1 -0
  547. package/lib/dist/search/query-parser.js +177 -0
  548. package/lib/dist/search/query-parser.js.map +1 -0
  549. package/lib/dist/search/query-utils.d.ts +87 -0
  550. package/lib/dist/search/query-utils.d.ts.map +1 -0
  551. package/lib/dist/search/query-utils.js +449 -0
  552. package/lib/dist/search/query-utils.js.map +1 -0
  553. package/lib/dist/sync/git-hooks.d.ts +45 -0
  554. package/lib/dist/sync/git-hooks.d.ts.map +1 -0
  555. package/lib/dist/sync/git-hooks.js +225 -0
  556. package/lib/dist/sync/git-hooks.js.map +1 -0
  557. package/lib/dist/sync/index.d.ts +19 -0
  558. package/lib/dist/sync/index.d.ts.map +1 -0
  559. package/lib/dist/sync/index.js +35 -0
  560. package/lib/dist/sync/index.js.map +1 -0
  561. package/lib/dist/sync/watch-policy.d.ts +48 -0
  562. package/lib/dist/sync/watch-policy.d.ts.map +1 -0
  563. package/lib/dist/sync/watch-policy.js +124 -0
  564. package/lib/dist/sync/watch-policy.js.map +1 -0
  565. package/lib/dist/sync/watcher.d.ts +358 -0
  566. package/lib/dist/sync/watcher.d.ts.map +1 -0
  567. package/lib/dist/sync/watcher.js +829 -0
  568. package/lib/dist/sync/watcher.js.map +1 -0
  569. package/lib/dist/sync/worktree.d.ts +54 -0
  570. package/lib/dist/sync/worktree.d.ts.map +1 -0
  571. package/lib/dist/sync/worktree.js +145 -0
  572. package/lib/dist/sync/worktree.js.map +1 -0
  573. package/lib/dist/telemetry/index.d.ts +143 -0
  574. package/lib/dist/telemetry/index.d.ts.map +1 -0
  575. package/lib/dist/telemetry/index.js +541 -0
  576. package/lib/dist/telemetry/index.js.map +1 -0
  577. package/lib/dist/types.d.ts +409 -0
  578. package/lib/dist/types.d.ts.map +1 -0
  579. package/lib/dist/types.js +101 -0
  580. package/lib/dist/types.js.map +1 -0
  581. package/lib/dist/ui/glyphs.d.ts +42 -0
  582. package/lib/dist/ui/glyphs.d.ts.map +1 -0
  583. package/lib/dist/ui/glyphs.js +78 -0
  584. package/lib/dist/ui/glyphs.js.map +1 -0
  585. package/lib/dist/ui/shimmer-progress.d.ts +11 -0
  586. package/lib/dist/ui/shimmer-progress.d.ts.map +1 -0
  587. package/lib/dist/ui/shimmer-progress.js +90 -0
  588. package/lib/dist/ui/shimmer-progress.js.map +1 -0
  589. package/lib/dist/ui/shimmer-worker.d.ts +2 -0
  590. package/lib/dist/ui/shimmer-worker.d.ts.map +1 -0
  591. package/lib/dist/ui/shimmer-worker.js +118 -0
  592. package/lib/dist/ui/shimmer-worker.js.map +1 -0
  593. package/lib/dist/ui/types.d.ts +17 -0
  594. package/lib/dist/ui/types.d.ts.map +1 -0
  595. package/lib/dist/ui/types.js +3 -0
  596. package/lib/dist/ui/types.js.map +1 -0
  597. package/lib/dist/upgrade/index.d.ts +132 -0
  598. package/lib/dist/upgrade/index.d.ts.map +1 -0
  599. package/lib/dist/upgrade/index.js +576 -0
  600. package/lib/dist/upgrade/index.js.map +1 -0
  601. package/lib/dist/utils.d.ts +224 -0
  602. package/lib/dist/utils.d.ts.map +1 -0
  603. package/lib/dist/utils.js +583 -0
  604. package/lib/dist/utils.js.map +1 -0
  605. package/lib/node_modules/.modules.yaml +45 -0
  606. package/lib/node_modules/.pnpm/lock.yaml +126 -0
  607. package/lib/node_modules/.pnpm-workspace-state-v1.json +25 -0
  608. package/lib/node_modules/@clack/core/CHANGELOG.md +397 -0
  609. package/lib/node_modules/@clack/core/LICENSE +9 -0
  610. package/lib/node_modules/@clack/core/README.md +22 -0
  611. package/lib/node_modules/@clack/core/dist/index.d.mts +469 -0
  612. package/lib/node_modules/@clack/core/dist/index.mjs +981 -0
  613. package/lib/node_modules/@clack/core/package.json +64 -0
  614. package/lib/node_modules/@clack/prompts/CHANGELOG.md +672 -0
  615. package/lib/node_modules/@clack/prompts/LICENSE +9 -0
  616. package/lib/node_modules/@clack/prompts/README.md +396 -0
  617. package/lib/node_modules/@clack/prompts/dist/index.d.mts +928 -0
  618. package/lib/node_modules/@clack/prompts/dist/index.mjs +1398 -0
  619. package/lib/node_modules/@clack/prompts/package.json +68 -0
  620. package/lib/node_modules/commander/LICENSE +22 -0
  621. package/lib/node_modules/commander/Readme.md +1176 -0
  622. package/lib/node_modules/commander/esm.mjs +16 -0
  623. package/lib/node_modules/commander/index.js +24 -0
  624. package/lib/node_modules/commander/lib/argument.js +150 -0
  625. package/lib/node_modules/commander/lib/command.js +2777 -0
  626. package/lib/node_modules/commander/lib/error.js +39 -0
  627. package/lib/node_modules/commander/lib/help.js +747 -0
  628. package/lib/node_modules/commander/lib/option.js +380 -0
  629. package/lib/node_modules/commander/lib/suggestSimilar.js +101 -0
  630. package/lib/node_modules/commander/package-support.json +19 -0
  631. package/lib/node_modules/commander/package.json +82 -0
  632. package/lib/node_modules/commander/typings/esm.d.mts +3 -0
  633. package/lib/node_modules/commander/typings/index.d.ts +1113 -0
  634. package/lib/node_modules/fast-string-truncated-width/dist/index.d.ts +4 -0
  635. package/lib/node_modules/fast-string-truncated-width/dist/index.js +111 -0
  636. package/lib/node_modules/fast-string-truncated-width/dist/types.d.ts +19 -0
  637. package/lib/node_modules/fast-string-truncated-width/dist/types.js +2 -0
  638. package/lib/node_modules/fast-string-truncated-width/dist/utils.d.ts +4 -0
  639. package/lib/node_modules/fast-string-truncated-width/dist/utils.js +20 -0
  640. package/lib/node_modules/fast-string-truncated-width/license +21 -0
  641. package/lib/node_modules/fast-string-truncated-width/package.json +35 -0
  642. package/lib/node_modules/fast-string-truncated-width/readme.md +59 -0
  643. package/lib/node_modules/fast-string-width/dist/index.d.ts +4 -0
  644. package/lib/node_modules/fast-string-width/dist/index.js +14 -0
  645. package/lib/node_modules/fast-string-width/license +21 -0
  646. package/lib/node_modules/fast-string-width/package.json +34 -0
  647. package/lib/node_modules/fast-string-width/readme.md +42 -0
  648. package/lib/node_modules/fast-wrap-ansi/LICENSE +23 -0
  649. package/lib/node_modules/fast-wrap-ansi/README.md +26 -0
  650. package/lib/node_modules/fast-wrap-ansi/lib/main.d.ts +6 -0
  651. package/lib/node_modules/fast-wrap-ansi/lib/main.js +218 -0
  652. package/lib/node_modules/fast-wrap-ansi/package.json +51 -0
  653. package/lib/node_modules/ignore/LICENSE-MIT +21 -0
  654. package/lib/node_modules/ignore/README.md +452 -0
  655. package/lib/node_modules/ignore/index.d.ts +81 -0
  656. package/lib/node_modules/ignore/index.js +784 -0
  657. package/lib/node_modules/ignore/legacy.js +681 -0
  658. package/lib/node_modules/ignore/package.json +87 -0
  659. package/lib/node_modules/jsonc-parser/CHANGELOG.md +76 -0
  660. package/lib/node_modules/jsonc-parser/LICENSE.md +21 -0
  661. package/lib/node_modules/jsonc-parser/README.md +364 -0
  662. package/lib/node_modules/jsonc-parser/SECURITY.md +41 -0
  663. package/lib/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
  664. package/lib/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
  665. package/lib/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
  666. package/lib/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
  667. package/lib/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
  668. package/lib/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
  669. package/lib/node_modules/jsonc-parser/lib/esm/main.js +178 -0
  670. package/lib/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
  671. package/lib/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
  672. package/lib/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
  673. package/lib/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
  674. package/lib/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
  675. package/lib/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
  676. package/lib/node_modules/jsonc-parser/lib/umd/main.js +194 -0
  677. package/lib/node_modules/jsonc-parser/package.json +37 -0
  678. package/lib/node_modules/picomatch/LICENSE +21 -0
  679. package/lib/node_modules/picomatch/README.md +749 -0
  680. package/lib/node_modules/picomatch/index.js +17 -0
  681. package/lib/node_modules/picomatch/lib/constants.js +184 -0
  682. package/lib/node_modules/picomatch/lib/parse.js +1386 -0
  683. package/lib/node_modules/picomatch/lib/picomatch.js +349 -0
  684. package/lib/node_modules/picomatch/lib/scan.js +391 -0
  685. package/lib/node_modules/picomatch/lib/utils.js +72 -0
  686. package/lib/node_modules/picomatch/package.json +82 -0
  687. package/lib/node_modules/picomatch/posix.js +3 -0
  688. package/lib/node_modules/sisteransi/license +21 -0
  689. package/lib/node_modules/sisteransi/package.json +34 -0
  690. package/lib/node_modules/sisteransi/readme.md +113 -0
  691. package/lib/node_modules/sisteransi/src/index.js +58 -0
  692. package/lib/node_modules/sisteransi/src/sisteransi.d.ts +35 -0
  693. package/lib/node_modules/tree-sitter-wasms/LICENSE +24 -0
  694. package/lib/node_modules/tree-sitter-wasms/README.md +23 -0
  695. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-bash.wasm +0 -0
  696. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-c.wasm +0 -0
  697. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-c_sharp.wasm +0 -0
  698. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-cpp.wasm +0 -0
  699. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-css.wasm +0 -0
  700. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-dart.wasm +0 -0
  701. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-elisp.wasm +0 -0
  702. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-elixir.wasm +0 -0
  703. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-elm.wasm +0 -0
  704. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-embedded_template.wasm +0 -0
  705. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-go.wasm +0 -0
  706. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-html.wasm +0 -0
  707. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-java.wasm +0 -0
  708. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-javascript.wasm +0 -0
  709. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-json.wasm +0 -0
  710. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-kotlin.wasm +0 -0
  711. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-lua.wasm +0 -0
  712. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-objc.wasm +0 -0
  713. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-ocaml.wasm +0 -0
  714. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-php.wasm +0 -0
  715. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-python.wasm +0 -0
  716. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-ql.wasm +0 -0
  717. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-rescript.wasm +0 -0
  718. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-ruby.wasm +0 -0
  719. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-rust.wasm +0 -0
  720. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-scala.wasm +0 -0
  721. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-solidity.wasm +0 -0
  722. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-swift.wasm +0 -0
  723. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-systemrdl.wasm +0 -0
  724. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-tlaplus.wasm +0 -0
  725. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-toml.wasm +0 -0
  726. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-tsx.wasm +0 -0
  727. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-typescript.wasm +0 -0
  728. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-vue.wasm +0 -0
  729. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-yaml.wasm +0 -0
  730. package/lib/node_modules/tree-sitter-wasms/out/tree-sitter-zig.wasm +0 -0
  731. package/lib/node_modules/tree-sitter-wasms/package.json +64 -0
  732. package/lib/node_modules/web-tree-sitter/LICENSE +21 -0
  733. package/lib/node_modules/web-tree-sitter/README.md +269 -0
  734. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.cjs +4558 -0
  735. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.cjs.map +7 -0
  736. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.js +4516 -0
  737. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.js.map +7 -0
  738. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.wasm +0 -0
  739. package/lib/node_modules/web-tree-sitter/debug/tree-sitter.wasm.map +31 -0
  740. package/lib/node_modules/web-tree-sitter/lib/alloc.c +48 -0
  741. package/lib/node_modules/web-tree-sitter/lib/alloc.h +41 -0
  742. package/lib/node_modules/web-tree-sitter/lib/array.h +291 -0
  743. package/lib/node_modules/web-tree-sitter/lib/atomic.h +68 -0
  744. package/lib/node_modules/web-tree-sitter/lib/clock.h +146 -0
  745. package/lib/node_modules/web-tree-sitter/lib/error_costs.h +11 -0
  746. package/lib/node_modules/web-tree-sitter/lib/get_changed_ranges.c +523 -0
  747. package/lib/node_modules/web-tree-sitter/lib/get_changed_ranges.h +36 -0
  748. package/lib/node_modules/web-tree-sitter/lib/host.h +21 -0
  749. package/lib/node_modules/web-tree-sitter/lib/language.c +293 -0
  750. package/lib/node_modules/web-tree-sitter/lib/language.h +293 -0
  751. package/lib/node_modules/web-tree-sitter/lib/length.h +52 -0
  752. package/lib/node_modules/web-tree-sitter/lib/lexer.c +483 -0
  753. package/lib/node_modules/web-tree-sitter/lib/lexer.h +54 -0
  754. package/lib/node_modules/web-tree-sitter/lib/lib.c +12 -0
  755. package/lib/node_modules/web-tree-sitter/lib/node.c +875 -0
  756. package/lib/node_modules/web-tree-sitter/lib/parser.c +2297 -0
  757. package/lib/node_modules/web-tree-sitter/lib/parser.h +286 -0
  758. package/lib/node_modules/web-tree-sitter/lib/point.h +48 -0
  759. package/lib/node_modules/web-tree-sitter/lib/query.c +4347 -0
  760. package/lib/node_modules/web-tree-sitter/lib/reduce_action.h +34 -0
  761. package/lib/node_modules/web-tree-sitter/lib/reusable_node.h +95 -0
  762. package/lib/node_modules/web-tree-sitter/lib/stack.c +912 -0
  763. package/lib/node_modules/web-tree-sitter/lib/stack.h +133 -0
  764. package/lib/node_modules/web-tree-sitter/lib/subtree.c +1034 -0
  765. package/lib/node_modules/web-tree-sitter/lib/subtree.h +399 -0
  766. package/lib/node_modules/web-tree-sitter/lib/tree-sitter.c +987 -0
  767. package/lib/node_modules/web-tree-sitter/lib/tree-sitter.cjs +2988 -0
  768. package/lib/node_modules/web-tree-sitter/lib/tree-sitter.wasm +0 -0
  769. package/lib/node_modules/web-tree-sitter/lib/tree-sitter.wasm.map +1 -0
  770. package/lib/node_modules/web-tree-sitter/lib/tree.c +170 -0
  771. package/lib/node_modules/web-tree-sitter/lib/tree.h +31 -0
  772. package/lib/node_modules/web-tree-sitter/lib/tree_cursor.c +716 -0
  773. package/lib/node_modules/web-tree-sitter/lib/tree_cursor.h +48 -0
  774. package/lib/node_modules/web-tree-sitter/lib/ts_assert.h +11 -0
  775. package/lib/node_modules/web-tree-sitter/lib/unicode.h +75 -0
  776. package/lib/node_modules/web-tree-sitter/lib/wasm_store.c +1937 -0
  777. package/lib/node_modules/web-tree-sitter/lib/wasm_store.h +31 -0
  778. package/lib/node_modules/web-tree-sitter/package.json +98 -0
  779. package/lib/node_modules/web-tree-sitter/src/bindings.ts +26 -0
  780. package/lib/node_modules/web-tree-sitter/src/constants.ts +133 -0
  781. package/lib/node_modules/web-tree-sitter/src/index.ts +31 -0
  782. package/lib/node_modules/web-tree-sitter/src/language.ts +291 -0
  783. package/lib/node_modules/web-tree-sitter/src/lookahead_iterator.ts +75 -0
  784. package/lib/node_modules/web-tree-sitter/src/marshal.ts +176 -0
  785. package/lib/node_modules/web-tree-sitter/src/node.ts +646 -0
  786. package/lib/node_modules/web-tree-sitter/src/parser.ts +325 -0
  787. package/lib/node_modules/web-tree-sitter/src/query.ts +973 -0
  788. package/lib/node_modules/web-tree-sitter/src/tree.ts +145 -0
  789. package/lib/node_modules/web-tree-sitter/src/tree_cursor.ts +318 -0
  790. package/lib/node_modules/web-tree-sitter/tree-sitter.cjs +4031 -0
  791. package/lib/node_modules/web-tree-sitter/tree-sitter.cjs.map +7 -0
  792. package/lib/node_modules/web-tree-sitter/tree-sitter.js +3980 -0
  793. package/lib/node_modules/web-tree-sitter/tree-sitter.js.map +7 -0
  794. package/lib/node_modules/web-tree-sitter/tree-sitter.wasm +0 -0
  795. package/lib/node_modules/web-tree-sitter/tree-sitter.wasm.map +30 -0
  796. package/lib/node_modules/web-tree-sitter/web-tree-sitter.d.ts +1030 -0
  797. package/lib/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +56 -0
  798. package/lib/package.json +57 -0
  799. package/node +0 -0
  800. package/package.json +17 -0
@@ -0,0 +1,481 @@
1
+ "use strict";
2
+ /**
3
+ * CodeGraph MCP Server
4
+ *
5
+ * Model Context Protocol server that exposes CodeGraph functionality
6
+ * as tools for AI assistants like Claude.
7
+ *
8
+ * @module mcp
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { MCPServer } from 'codegraph';
13
+ *
14
+ * const server = new MCPServer('/path/to/project');
15
+ * await server.start();
16
+ * ```
17
+ *
18
+ * Runtime modes (decided in {@link MCPServer.start}):
19
+ *
20
+ * - **Direct** — one process serves one MCP client over stdio. The pre-#411
21
+ * behavior; used when the user opts out (`CODEGRAPH_NO_DAEMON=1`), no
22
+ * `.codegraph/` is reachable, or the daemon machinery fails for any reason.
23
+ * - **Proxy** — what an MCP host actually talks to when sharing is on: a thin
24
+ * stdio↔socket pipe to the shared daemon. The proxy carries the #277 PPID
25
+ * watchdog, so a SIGKILL'd host reaps its proxy promptly. See {@link ./proxy.ts}.
26
+ * - **Daemon** — a *detached* background process (its own session/process
27
+ * group) that serves N proxies over a Unix-domain socket / named pipe,
28
+ * sharing one CodeGraph + watcher + SQLite handle. Spawned on demand; never a
29
+ * child of any host, so it survives individual sessions and is reaped by
30
+ * client-refcount + idle timeout. See {@link ./daemon.ts} and issue #411.
31
+ *
32
+ * The detached-daemon + always-proxy split is the fix for the review finding
33
+ * that the original in-process daemon (a) was the first host's child, so closing
34
+ * that terminal severed every other client, and (b) disabled the PPID watchdog,
35
+ * regressing #277 (orphaned daemons on host SIGKILL).
36
+ */
37
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
38
+ if (k2 === undefined) k2 = k;
39
+ var desc = Object.getOwnPropertyDescriptor(m, k);
40
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
41
+ desc = { enumerable: true, get: function() { return m[k]; } };
42
+ }
43
+ Object.defineProperty(o, k2, desc);
44
+ }) : (function(o, m, k, k2) {
45
+ if (k2 === undefined) k2 = k;
46
+ o[k2] = m[k];
47
+ }));
48
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
49
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
50
+ }) : function(o, v) {
51
+ o["default"] = v;
52
+ });
53
+ var __importStar = (this && this.__importStar) || (function () {
54
+ var ownKeys = function(o) {
55
+ ownKeys = Object.getOwnPropertyNames || function (o) {
56
+ var ar = [];
57
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
58
+ return ar;
59
+ };
60
+ return ownKeys(o);
61
+ };
62
+ return function (mod) {
63
+ if (mod && mod.__esModule) return mod;
64
+ var result = {};
65
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
66
+ __setModuleDefault(result, mod);
67
+ return result;
68
+ };
69
+ })();
70
+ Object.defineProperty(exports, "__esModule", { value: true });
71
+ exports.CodeGraphPackageVersion = exports.Daemon = exports.ToolHandler = exports.tools = exports.StdioTransport = exports.MCPServer = void 0;
72
+ const fs = __importStar(require("fs"));
73
+ const path = __importStar(require("path"));
74
+ const child_process_1 = require("child_process");
75
+ const directory_1 = require("../directory");
76
+ const transport_1 = require("./transport");
77
+ const engine_1 = require("./engine");
78
+ const session_1 = require("./session");
79
+ const daemon_1 = require("./daemon");
80
+ const proxy_1 = require("./proxy");
81
+ const daemon_paths_1 = require("./daemon-paths");
82
+ const telemetry_1 = require("../telemetry");
83
+ const ppid_watchdog_1 = require("./ppid-watchdog");
84
+ const liveness_watchdog_1 = require("./liveness-watchdog");
85
+ const stdin_teardown_1 = require("./stdin-teardown");
86
+ const wasm_runtime_flags_1 = require("../extraction/wasm-runtime-flags");
87
+ /**
88
+ * Env var that marks a process as the *detached daemon* itself (set by
89
+ * {@link spawnDetachedDaemon} when it re-invokes the CLI). Without it a
90
+ * `serve --mcp` invocation is a launcher that connects-or-spawns; with it, the
91
+ * process IS the daemon and must never try to spawn another (infinite spawn).
92
+ */
93
+ const DAEMON_INTERNAL_ENV = 'CODEGRAPH_DAEMON_INTERNAL';
94
+ /**
95
+ * Retries for the detached daemon arbitrating the O_EXCL lock against a racing
96
+ * sibling. Tiny — the lock resolves on the first round in practice; the retries
97
+ * only cover clearing a genuinely stale (dead-pid) lockfile.
98
+ */
99
+ const TAKEOVER_MAX_RETRIES = 5;
100
+ const TAKEOVER_RETRY_DELAY_MS = 100;
101
+ /**
102
+ * How long a launcher waits for a freshly-spawned daemon to bind its socket
103
+ * before giving up and running in-process. The daemon binds the socket *before*
104
+ * the (backgrounded) engine/grammar warm-up, so this only needs to cover node
105
+ * process startup. 60 × 100ms = 6s of headroom for a cold/slow box; on the
106
+ * common path the socket appears within a few rounds.
107
+ */
108
+ // Poll finely (25ms) so the proxy attaches the instant the freshly-spawned
109
+ // daemon binds, instead of waiting up to a coarse 100ms after — shaves the
110
+ // cold-start handshake (the window the headless agent races). Same ~6s total
111
+ // give-up budget (240 × 25ms), just finer granularity; socket-connect probes
112
+ // are cheap. Paired with deferring the CodeGraph load (engine.ts) off the bind
113
+ // path, this narrows the "No such tool available" race window.
114
+ const DAEMON_CONNECT_MAX_RETRIES = 240;
115
+ const DAEMON_CONNECT_RETRY_DELAY_MS = 25;
116
+ /** Whether `CODEGRAPH_NO_DAEMON` was set to a truthy value. */
117
+ function daemonOptOutSet() {
118
+ const raw = process.env.CODEGRAPH_NO_DAEMON;
119
+ if (!raw)
120
+ return false;
121
+ return raw !== '0' && raw.toLowerCase() !== 'false';
122
+ }
123
+ /** Whether this process was spawned to BE the detached daemon. */
124
+ function daemonInternalSet() {
125
+ const raw = process.env[DAEMON_INTERNAL_ENV];
126
+ return !!raw && raw !== '0' && raw.toLowerCase() !== 'false';
127
+ }
128
+ /**
129
+ * Resolve the project root the daemon machinery should key on. Returns
130
+ * `null` when no `.codegraph/` is reachable from the candidate path — in
131
+ * that case the caller must run in direct mode, since the daemon lockfile
132
+ * and socket both live under `.codegraph/`.
133
+ *
134
+ * The result is canonicalized with `realpathSync` so every client converges on
135
+ * the same socket/lock path regardless of how it expressed the path: a client
136
+ * launched with cwd under a symlink (e.g. macOS `/var` → `/private/var`, where
137
+ * spawned `process.cwd()` is already realpath'd) and one that passed a
138
+ * symlinked `rootUri` would otherwise hash to different sockets and silently
139
+ * fail to share the daemon.
140
+ */
141
+ function resolveDaemonRoot(explicitPath) {
142
+ const candidate = explicitPath ?? process.cwd();
143
+ const root = (0, directory_1.findNearestCodeGraphRoot)(candidate);
144
+ if (!root)
145
+ return null;
146
+ try {
147
+ return fs.realpathSync(root);
148
+ }
149
+ catch {
150
+ return root;
151
+ }
152
+ }
153
+ /**
154
+ * Spawn the shared daemon as a fully detached background process: its own
155
+ * session/process group (so a SIGHUP/SIGINT to the launcher's terminal can't
156
+ * reach it) with stdio decoupled from the launcher (logs to
157
+ * `.codegraph/daemon.log`). Re-invokes the *same* CLI faithfully across dev and
158
+ * bundled launches by reusing `process.argv[0]` (the right node), the current
159
+ * `process.execArgv` (carries `--liftoff-only`, so the daemon never re-execs)
160
+ * and `process.argv[1]` (this script). The spawned process self-arbitrates the
161
+ * O_EXCL lock, so racing launchers may each spawn one — losers exit and every
162
+ * launcher proxies through the single winner.
163
+ */
164
+ function spawnDetachedDaemon(root) {
165
+ const scriptPath = process.argv[1];
166
+ if (!scriptPath) {
167
+ // No resolvable CLI entry point to re-invoke — let the caller fall back to
168
+ // direct mode rather than spawn something broken.
169
+ throw new Error('cannot resolve CLI script path to spawn the daemon');
170
+ }
171
+ let logFd = null;
172
+ let stdio = 'ignore';
173
+ try {
174
+ logFd = fs.openSync(path.join((0, directory_1.getCodeGraphDir)(root), 'daemon.log'), 'a');
175
+ stdio = ['ignore', logFd, logFd];
176
+ }
177
+ catch {
178
+ stdio = 'ignore'; // no log file — discard daemon output rather than fail
179
+ }
180
+ try {
181
+ const child = (0, child_process_1.spawn)(process.execPath, [...process.execArgv, scriptPath, 'serve', '--mcp', '--path', root], {
182
+ detached: true,
183
+ stdio,
184
+ windowsHide: true,
185
+ env: { ...process.env, [DAEMON_INTERNAL_ENV]: '1' },
186
+ });
187
+ child.unref();
188
+ }
189
+ finally {
190
+ // The child holds its own dup of the log fd now; the launcher doesn't need it.
191
+ if (logFd !== null) {
192
+ try {
193
+ fs.closeSync(logFd);
194
+ }
195
+ catch { /* ignore */ }
196
+ }
197
+ }
198
+ }
199
+ /**
200
+ * MCP Server for CodeGraph
201
+ *
202
+ * Implements the Model Context Protocol to expose CodeGraph
203
+ * functionality as tools that can be called by AI assistants.
204
+ *
205
+ * Backwards-compatible constructor and `start()` signature with the
206
+ * pre-issue-#411 implementation: callers continue to do
207
+ * `new MCPServer(path).start()`. Internally we now pick from direct / proxy /
208
+ * daemon at start time.
209
+ */
210
+ class MCPServer {
211
+ projectPath;
212
+ // Direct-mode-only state. In daemon mode the per-connection sessions live
213
+ // inside the Daemon class; in proxy mode there is no session at all.
214
+ session = null;
215
+ engine = null;
216
+ daemon = null;
217
+ ppidWatchdog = null;
218
+ // Worker-thread liveness watchdog (#850). Long-lived modes only; SIGKILLs the
219
+ // process if the main thread wedges in a non-yielding sync loop.
220
+ livenessWatchdog = null;
221
+ // PPID watchdog baseline — captured at construction so we always have a
222
+ // baseline, even if start() runs after a fork-style reparent.
223
+ originalPpid = process.ppid;
224
+ hostPpid = (0, ppid_watchdog_1.parseHostPpid)(process.env[wasm_runtime_flags_1.HOST_PPID_ENV]);
225
+ // Idempotency guard for stop().
226
+ stopped = false;
227
+ mode = 'unstarted';
228
+ constructor(projectPath) {
229
+ this.projectPath = projectPath || null;
230
+ }
231
+ /**
232
+ * Start the MCP server.
233
+ *
234
+ * Decision order:
235
+ * 1. `CODEGRAPH_NO_DAEMON=1` → direct mode (unchanged pre-#411 behavior).
236
+ * 2. `CODEGRAPH_DAEMON_INTERNAL=1` → we ARE the detached daemon; listen.
237
+ * 3. No `.codegraph/` reachable → direct mode (the daemon's lockfile and
238
+ * socket both live under `.codegraph/`).
239
+ * 4. Otherwise connect to (or spawn) the shared daemon and proxy to it.
240
+ *
241
+ * On any unexpected failure in step 4 we transparently fall back to direct
242
+ * mode — a misbehaving daemon must never block a session from starting.
243
+ */
244
+ async start() {
245
+ // Long-lived process (direct / proxy / daemon alike): flush buffered
246
+ // telemetry opportunistically. Fire-and-forget + unref'd — adds nothing
247
+ // to the handshake path and never keeps the process alive.
248
+ (0, telemetry_1.getTelemetry)().startInterval();
249
+ // The detached daemon process itself. Checked before the opt-out so the
250
+ // daemon honors the same env it was spawned with (it never sets NO_DAEMON).
251
+ if (daemonInternalSet()) {
252
+ return this.startDaemonProcess();
253
+ }
254
+ // Direct mode if the user opted out. Setting the env var is sufficient to
255
+ // get the pre-#411 single-process behavior.
256
+ if (daemonOptOutSet()) {
257
+ return this.startDirect('CODEGRAPH_NO_DAEMON set');
258
+ }
259
+ const root = resolveDaemonRoot(this.projectPath);
260
+ if (!root) {
261
+ // No initialized project found — daemon mode has nowhere to put its
262
+ // socket. The fresh-checkout / outside-project case; behave as before.
263
+ return this.startDirect('no .codegraph/ root found');
264
+ }
265
+ try {
266
+ // Answer the MCP handshake LOCALLY (instant tool registration — no waiting
267
+ // ~600ms for the daemon to spawn+bind, which produced the cold-start race)
268
+ // and forward tool CALLS to the shared daemon, connected in the background.
269
+ // Runs until the host disconnects; the proxy installs its own watchdog and
270
+ // falls back to an in-process engine if the daemon never comes up.
271
+ this.mode = 'proxy';
272
+ await this.runProxyWithLocalHandshake(root);
273
+ return;
274
+ }
275
+ catch (err) {
276
+ // Belt-and-braces: a throw during proxy SETUP (before the client was served)
277
+ // is still safe to recover from with a direct-mode session.
278
+ const msg = err instanceof Error ? err.message : String(err);
279
+ process.stderr.write(`[CodeGraph MCP] Proxy path failed (${msg}); falling back to direct mode.\n`);
280
+ return this.startDirect('proxy path threw');
281
+ }
282
+ }
283
+ /**
284
+ * Stop the server. In daemon mode this triggers graceful shutdown of every
285
+ * connected session; in direct mode it mirrors the pre-#411 behavior (close
286
+ * cg, exit). Proxy mode never routes through here — the proxy exits itself.
287
+ */
288
+ stop() {
289
+ if (this.stopped)
290
+ return;
291
+ this.stopped = true;
292
+ if (this.ppidWatchdog) {
293
+ clearInterval(this.ppidWatchdog);
294
+ this.ppidWatchdog = null;
295
+ }
296
+ if (this.livenessWatchdog) {
297
+ this.livenessWatchdog.stop();
298
+ this.livenessWatchdog = null;
299
+ }
300
+ if (this.daemon) {
301
+ void this.daemon.stop('stop()');
302
+ // Daemon.stop calls process.exit; nothing else to do.
303
+ return;
304
+ }
305
+ if (this.session) {
306
+ this.session.stop();
307
+ this.session = null;
308
+ }
309
+ if (this.engine) {
310
+ this.engine.stop();
311
+ this.engine = null;
312
+ }
313
+ process.exit(0);
314
+ }
315
+ /** Single-process stdio MCP session — the pre-issue-#411 code path. */
316
+ async startDirect(reason) {
317
+ if (reason && process.env.CODEGRAPH_MCP_DEBUG) {
318
+ process.stderr.write(`[CodeGraph MCP] Direct mode: ${reason}.\n`);
319
+ }
320
+ this.engine = new engine_1.MCPEngine();
321
+ const transport = new transport_1.StdioTransport();
322
+ this.session = new session_1.MCPSession(transport, this.engine, {
323
+ explicitProjectPath: this.projectPath,
324
+ });
325
+ if (this.projectPath) {
326
+ // Background init so the initialize response stays fast (#172).
327
+ void this.engine.ensureInitialized(this.projectPath);
328
+ }
329
+ this.session.start();
330
+ // Detect parent-process death — same logic as pre-refactor. When stdin
331
+ // closes we go through StdioTransport's `process.exit(0)` already, but
332
+ // SIGKILL of the parent doesn't reliably close stdin on Linux (#277).
333
+ // Also treat a stdin `'error'` (a socket-backed stdin can fail with
334
+ // ECONNRESET/hangup instead of a clean close) as shutdown, and destroy the
335
+ // stream so a hung fd can't busy-spin the event loop (#799).
336
+ (0, stdin_teardown_1.treatStdinFailureAsShutdown)(() => this.stop());
337
+ this.mode = 'direct';
338
+ this.installSignalHandlers();
339
+ this.installPpidWatchdog();
340
+ this.livenessWatchdog = (0, liveness_watchdog_1.installMainThreadWatchdog)();
341
+ }
342
+ /**
343
+ * Run as the detached shared daemon (process spawned with
344
+ * `CODEGRAPH_DAEMON_INTERNAL=1`). Arbitrate the O_EXCL lock, then either
345
+ * become the daemon (bind the socket, serve forever) or — if a live daemon
346
+ * already holds the lock — exit so we don't leak a redundant process.
347
+ *
348
+ * No PPID watchdog and no stdin handlers: the daemon is detached on purpose
349
+ * and reaps itself via client-refcount + idle timeout (see {@link Daemon}).
350
+ */
351
+ async startDaemonProcess() {
352
+ const root = resolveDaemonRoot(this.projectPath) ?? this.projectPath ?? process.cwd();
353
+ for (let attempt = 0; attempt < TAKEOVER_MAX_RETRIES; attempt++) {
354
+ const lock = (0, daemon_1.tryAcquireDaemonLock)(root);
355
+ if (lock.kind === 'acquired') {
356
+ const daemon = new daemon_1.Daemon(root);
357
+ await daemon.start();
358
+ this.daemon = daemon;
359
+ this.mode = 'daemon';
360
+ // The detached daemon has no PPID watchdog or stdin lifeline, so a
361
+ // wedged main thread would pin a core forever (#850). The liveness
362
+ // watchdog is its only recovery path.
363
+ this.livenessWatchdog = (0, liveness_watchdog_1.installMainThreadWatchdog)();
364
+ return; // the net.Server keeps the process alive
365
+ }
366
+ // Taken. If the holder is alive, another daemon already serves (or is
367
+ // binding) — we're redundant; exit cleanly so the launcher proxies to it.
368
+ const existing = lock.existing;
369
+ if (existing && existing.pid > 0 && (0, daemon_1.isProcessAlive)(existing.pid)) {
370
+ process.stderr.write(`[CodeGraph daemon] Another daemon (pid ${existing.pid}) already holds the lock; exiting.\n`);
371
+ process.exit(0);
372
+ }
373
+ // Holder is dead (or the record is unreadable) — clear it (pid-verified,
374
+ // so we never delete a live daemon's lock) and retry the acquire.
375
+ (0, daemon_1.clearStaleDaemonLock)(lock.pidPath, existing?.pid);
376
+ await sleep(TAKEOVER_RETRY_DELAY_MS);
377
+ }
378
+ process.stderr.write('[CodeGraph daemon] Could not acquire the daemon lock; exiting.\n');
379
+ process.exit(0);
380
+ }
381
+ /**
382
+ * Proxy mode (the common case). Serve the MCP handshake LOCALLY for instant
383
+ * tool registration, forwarding tool calls to the shared daemon — which is
384
+ * connected in the background (probed, then spawned + polled if absent) so the
385
+ * handshake never waits ~600ms on it. Runs until the host disconnects; the
386
+ * proxy falls back to an in-process engine if the daemon never binds, so this
387
+ * never wedges a session.
388
+ */
389
+ async runProxyWithLocalHandshake(root) {
390
+ // The daemon may relocate its socket past an in-project filesystem that can't
391
+ // host one (ExFAT/FAT volumes, WSL2 DrvFs; #997) to the deterministic tmpdir
392
+ // fallback. We don't read the bound path from the lockfile — both sides walk
393
+ // the SAME ordered candidate list, so we converge on whichever the daemon
394
+ // bound with zero coordination. The in-project candidate is tried first, so a
395
+ // normal repo pays nothing extra (it connects on the very first probe).
396
+ const candidates = (0, daemon_paths_1.getDaemonSocketCandidates)(root);
397
+ const connectAnyCandidate = async () => {
398
+ for (const candidate of candidates) {
399
+ const s = await (0, proxy_1.connectWithHello)(candidate);
400
+ // A wrong-version daemon IS up — definitive; propagate so the caller
401
+ // serves in-process instead of spawning + polling for 6s. Don't keep
402
+ // probing fallbacks past it.
403
+ if (s === 'version-mismatch')
404
+ return s;
405
+ if (s)
406
+ return s;
407
+ }
408
+ return null;
409
+ };
410
+ const getDaemonSocket = async () => {
411
+ // Fast path: a daemon may already be listening (on either candidate).
412
+ const probe = await connectAnyCandidate();
413
+ if (probe === 'version-mismatch')
414
+ return null; // definitive — serve in-process, don't poll for 6s
415
+ if (probe)
416
+ return probe;
417
+ // None reachable — spawn one (detached) and poll for its bind.
418
+ spawnDetachedDaemon(root);
419
+ for (let attempt = 0; attempt < DAEMON_CONNECT_MAX_RETRIES; attempt++) {
420
+ await sleep(DAEMON_CONNECT_RETRY_DELAY_MS);
421
+ const s = await connectAnyCandidate();
422
+ if (s === 'version-mismatch')
423
+ return null;
424
+ if (s)
425
+ return s;
426
+ }
427
+ return null; // never bound — the proxy serves this session in-process
428
+ };
429
+ await (0, proxy_1.runLocalHandshakeProxy)({ getDaemonSocket, makeEngine: () => new engine_1.MCPEngine(), root });
430
+ }
431
+ /** Standard SIGINT/SIGTERM handlers that route to our `stop()` (direct mode). */
432
+ installSignalHandlers() {
433
+ process.on('SIGINT', () => this.stop());
434
+ process.on('SIGTERM', () => this.stop());
435
+ }
436
+ /**
437
+ * PPID watchdog (#277) — direct mode only. Daemon mode is detached on purpose
438
+ * and reaps via idle timeout; proxy mode installs its own watchdog inside
439
+ * {@link runProxy}. So this only ever runs for an in-process direct session.
440
+ */
441
+ installPpidWatchdog() {
442
+ if (this.mode !== 'direct')
443
+ return;
444
+ const pollMs = (0, ppid_watchdog_1.parsePpidPollMs)(process.env.CODEGRAPH_PPID_POLL_MS);
445
+ if (pollMs <= 0)
446
+ return;
447
+ this.ppidWatchdog = setInterval(() => {
448
+ const reason = (0, ppid_watchdog_1.supervisionLostReason)({
449
+ originalPpid: this.originalPpid,
450
+ currentPpid: process.ppid,
451
+ hostPpid: this.hostPpid,
452
+ isAlive: daemon_1.isProcessAlive,
453
+ });
454
+ if (reason) {
455
+ process.stderr.write(`[CodeGraph MCP] Parent process exited (${reason}); shutting down.\n`);
456
+ this.stop();
457
+ }
458
+ }, pollMs);
459
+ this.ppidWatchdog.unref();
460
+ }
461
+ }
462
+ exports.MCPServer = MCPServer;
463
+ function sleep(ms) {
464
+ // Deliberately NOT unref'd. During the daemon connect/takeover retry loop we
465
+ // may be between processes — no socket bound yet, no transport, no listener
466
+ // pinning the event loop. An unref'd timer would let Node drain the loop and
467
+ // exit silently before we get a chance to try again.
468
+ return new Promise((resolve) => { setTimeout(resolve, ms); });
469
+ }
470
+ // Export for use in CLI
471
+ var transport_2 = require("./transport");
472
+ Object.defineProperty(exports, "StdioTransport", { enumerable: true, get: function () { return transport_2.StdioTransport; } });
473
+ var tools_1 = require("./tools");
474
+ Object.defineProperty(exports, "tools", { enumerable: true, get: function () { return tools_1.tools; } });
475
+ Object.defineProperty(exports, "ToolHandler", { enumerable: true, get: function () { return tools_1.ToolHandler; } });
476
+ // Surface a few daemon-mode bits for tests + diagnostics.
477
+ var daemon_2 = require("./daemon");
478
+ Object.defineProperty(exports, "Daemon", { enumerable: true, get: function () { return daemon_2.Daemon; } });
479
+ var version_1 = require("./version");
480
+ Object.defineProperty(exports, "CodeGraphPackageVersion", { enumerable: true, get: function () { return version_1.CodeGraphPackageVersion; } });
481
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /** Default: 60s — ~300× shorter than the 5h #850 wedge, far longer than any real main-thread block. */
2
+ export declare const DEFAULT_WATCHDOG_TIMEOUT_MS = 60000;
3
+ /** Parse the timeout env, falling back to the default for missing/invalid values. */
4
+ export declare function parseWatchdogTimeoutMs(raw: string | undefined, fallback?: number): number;
5
+ /** Derive a heartbeat cadence that emits several beats inside the timeout window. */
6
+ export declare function deriveCheckIntervalMs(timeoutMs: number): number;
7
+ export interface WatchdogHandle {
8
+ /** Stop heartbeating and shut the watchdog child down. Idempotent. */
9
+ stop(): void;
10
+ }
11
+ /**
12
+ * Install the main-thread liveness watchdog for a long-lived process. Returns a
13
+ * handle to stop it, or `null` when disabled or when the child can't be spawned
14
+ * (degraded, never throws — a missing watchdog must never keep a process from
15
+ * starting).
16
+ */
17
+ export declare function installMainThreadWatchdog(): WatchdogHandle | null;
18
+ //# sourceMappingURL=liveness-watchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveness-watchdog.d.ts","sourceRoot":"","sources":["../../src/mcp/liveness-watchdog.ts"],"names":[],"mappings":"AAwCA,uGAAuG;AACvG,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAQlD,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,GAAE,MAAoC,GAC7C,MAAM,CAIR;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AASD,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,IAAI,IAAI,IAAI,CAAC;CACd;AA2BD;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,cAAc,GAAG,IAAI,CA8DjE"}