@saluzi/codegraph 0.1.0 → 0.2.1

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 (712) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +885 -0
  3. package/dist/bin/codegraph.d.ts +2 -1
  4. package/dist/bin/codegraph.d.ts.map +1 -0
  5. package/dist/bin/codegraph.js +2248 -0
  6. package/dist/bin/codegraph.js.map +1 -0
  7. package/dist/bin/command-supervision.d.ts +49 -0
  8. package/dist/bin/command-supervision.d.ts.map +1 -0
  9. package/dist/bin/command-supervision.js +95 -0
  10. package/dist/bin/command-supervision.js.map +1 -0
  11. package/dist/bin/fatal-handler.d.ts +20 -0
  12. package/dist/bin/fatal-handler.d.ts.map +1 -0
  13. package/dist/bin/fatal-handler.js +118 -0
  14. package/dist/bin/fatal-handler.js.map +1 -0
  15. package/dist/bin/node-version-check.d.ts.map +1 -0
  16. package/dist/bin/node-version-check.js +79 -0
  17. package/dist/bin/node-version-check.js.map +1 -0
  18. package/dist/bin/uninstall.d.ts.map +1 -0
  19. package/dist/bin/uninstall.js +36 -0
  20. package/dist/bin/uninstall.js.map +1 -0
  21. package/dist/context/formatter.d.ts +6 -9
  22. package/dist/context/formatter.d.ts.map +1 -0
  23. package/dist/context/formatter.js +25 -6
  24. package/dist/context/formatter.js.map +1 -0
  25. package/dist/context/index.d.ts +102 -100
  26. package/dist/context/index.d.ts.map +1 -0
  27. package/dist/context/index.js +252 -6
  28. package/dist/context/index.js.map +1 -0
  29. package/dist/context/markers.d.ts +19 -0
  30. package/dist/context/markers.d.ts.map +1 -0
  31. package/dist/context/markers.js +22 -0
  32. package/dist/context/markers.js.map +1 -0
  33. package/dist/db/index.d.ts +185 -85
  34. package/dist/db/index.d.ts.map +1 -0
  35. package/dist/db/index.js +257 -14
  36. package/dist/db/index.js.map +1 -0
  37. package/dist/db/migrations.d.ts +15 -18
  38. package/dist/db/migrations.d.ts.map +1 -0
  39. package/dist/db/migrations.js +82 -1
  40. package/dist/db/migrations.js.map +1 -0
  41. package/dist/db/queries.d.ts +503 -281
  42. package/dist/db/queries.d.ts.map +1 -0
  43. package/dist/db/queries.js +644 -107
  44. package/dist/db/queries.js.map +1 -0
  45. package/dist/db/schema.sql +69 -26
  46. package/dist/db/sqlite-adapter.d.ts +26 -22
  47. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  48. package/dist/db/sqlite-adapter.js +11 -35
  49. package/dist/db/sqlite-adapter.js.map +1 -0
  50. package/dist/db/wal-valve.d.ts +106 -0
  51. package/dist/db/wal-valve.d.ts.map +1 -0
  52. package/dist/db/wal-valve.js +208 -0
  53. package/dist/db/wal-valve.js.map +1 -0
  54. package/dist/directory.d.ts +140 -19
  55. package/dist/directory.d.ts.map +1 -0
  56. package/dist/directory.js +568 -35
  57. package/dist/directory.js.map +1 -0
  58. package/dist/errors.d.ts +32 -45
  59. package/dist/errors.d.ts.map +1 -0
  60. package/dist/errors.js.map +1 -0
  61. package/dist/extraction/astro-extractor.d.ts +79 -0
  62. package/dist/extraction/astro-extractor.d.ts.map +1 -0
  63. package/dist/extraction/astro-extractor.js +320 -0
  64. package/dist/extraction/astro-extractor.js.map +1 -0
  65. package/dist/extraction/cfml-extractor.d.ts +107 -0
  66. package/dist/extraction/cfml-extractor.d.ts.map +1 -0
  67. package/dist/extraction/cfml-extractor.js +494 -0
  68. package/dist/extraction/cfml-extractor.js.map +1 -0
  69. package/dist/extraction/dfm-extractor.d.ts +17 -17
  70. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  71. package/dist/extraction/dfm-extractor.js.map +1 -0
  72. package/dist/extraction/extraction-version.d.ts +25 -0
  73. package/dist/extraction/extraction-version.d.ts.map +1 -0
  74. package/dist/extraction/extraction-version.js +28 -0
  75. package/dist/extraction/extraction-version.js.map +1 -0
  76. package/dist/extraction/function-ref.d.ts +118 -0
  77. package/dist/extraction/function-ref.d.ts.map +1 -0
  78. package/dist/extraction/function-ref.js +727 -0
  79. package/dist/extraction/function-ref.js.map +1 -0
  80. package/dist/extraction/generated-detection.d.ts +30 -0
  81. package/dist/extraction/generated-detection.d.ts.map +1 -0
  82. package/dist/extraction/generated-detection.js +83 -0
  83. package/dist/extraction/generated-detection.js.map +1 -0
  84. package/dist/extraction/grammars.d.ts +74 -30
  85. package/dist/extraction/grammars.d.ts.map +1 -0
  86. package/dist/extraction/grammars.js +289 -15
  87. package/dist/extraction/grammars.js.map +1 -0
  88. package/dist/extraction/index.d.ts +193 -109
  89. package/dist/extraction/index.d.ts.map +1 -0
  90. package/dist/extraction/index.js +1485 -362
  91. package/dist/extraction/index.js.map +1 -0
  92. package/dist/extraction/languages/arkts.d.ts +3 -0
  93. package/dist/extraction/languages/arkts.d.ts.map +1 -0
  94. package/dist/extraction/languages/arkts.js +127 -0
  95. package/dist/extraction/languages/arkts.js.map +1 -0
  96. package/dist/extraction/languages/c-cpp.d.ts +110 -4
  97. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  98. package/dist/extraction/languages/c-cpp.js +713 -2
  99. package/dist/extraction/languages/c-cpp.js.map +1 -0
  100. package/dist/extraction/languages/cfquery.d.ts +12 -0
  101. package/dist/extraction/languages/cfquery.d.ts.map +1 -0
  102. package/dist/extraction/languages/cfquery.js +28 -0
  103. package/dist/extraction/languages/cfquery.js.map +1 -0
  104. package/dist/extraction/languages/cfscript.d.ts +3 -0
  105. package/dist/extraction/languages/cfscript.d.ts.map +1 -0
  106. package/dist/extraction/languages/cfscript.js +73 -0
  107. package/dist/extraction/languages/cfscript.js.map +1 -0
  108. package/dist/extraction/languages/cobol.d.ts +33 -0
  109. package/dist/extraction/languages/cobol.d.ts.map +1 -0
  110. package/dist/extraction/languages/cobol.js +499 -0
  111. package/dist/extraction/languages/cobol.js.map +1 -0
  112. package/dist/extraction/languages/csharp.d.ts +25 -3
  113. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  114. package/dist/extraction/languages/csharp.js +106 -3
  115. package/dist/extraction/languages/csharp.js.map +1 -0
  116. package/dist/extraction/languages/dart.d.ts +3 -3
  117. package/dist/extraction/languages/dart.d.ts.map +1 -0
  118. package/dist/extraction/languages/dart.js +183 -1
  119. package/dist/extraction/languages/dart.js.map +1 -0
  120. package/dist/extraction/languages/erlang.d.ts +3 -0
  121. package/dist/extraction/languages/erlang.d.ts.map +1 -0
  122. package/dist/extraction/languages/erlang.js +350 -0
  123. package/dist/extraction/languages/erlang.js.map +1 -0
  124. package/dist/extraction/languages/go.d.ts +3 -3
  125. package/dist/extraction/languages/go.d.ts.map +1 -0
  126. package/dist/extraction/languages/go.js +55 -2
  127. package/dist/extraction/languages/go.js.map +1 -0
  128. package/dist/extraction/languages/index.d.ts +4 -4
  129. package/dist/extraction/languages/index.d.ts.map +1 -0
  130. package/dist/extraction/languages/index.js +22 -0
  131. package/dist/extraction/languages/index.js.map +1 -0
  132. package/dist/extraction/languages/java.d.ts +3 -3
  133. package/dist/extraction/languages/java.d.ts.map +1 -0
  134. package/dist/extraction/languages/java.js +252 -1
  135. package/dist/extraction/languages/java.js.map +1 -0
  136. package/dist/extraction/languages/javascript.d.ts +3 -3
  137. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  138. package/dist/extraction/languages/javascript.js +16 -0
  139. package/dist/extraction/languages/javascript.js.map +1 -0
  140. package/dist/extraction/languages/kotlin.d.ts +3 -3
  141. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  142. package/dist/extraction/languages/kotlin.js +126 -0
  143. package/dist/extraction/languages/kotlin.js.map +1 -0
  144. package/dist/extraction/languages/lua.d.ts +3 -3
  145. package/dist/extraction/languages/lua.d.ts.map +1 -0
  146. package/dist/extraction/languages/lua.js.map +1 -0
  147. package/dist/extraction/languages/luau.d.ts +3 -3
  148. package/dist/extraction/languages/luau.d.ts.map +1 -0
  149. package/dist/extraction/languages/luau.js.map +1 -0
  150. package/dist/extraction/languages/nix.d.ts +3 -0
  151. package/dist/extraction/languages/nix.d.ts.map +1 -0
  152. package/dist/extraction/languages/nix.js +294 -0
  153. package/dist/extraction/languages/nix.js.map +1 -0
  154. package/dist/extraction/languages/objc.d.ts +3 -0
  155. package/dist/extraction/languages/objc.d.ts.map +1 -0
  156. package/dist/extraction/languages/objc.js +175 -0
  157. package/dist/extraction/languages/objc.js.map +1 -0
  158. package/dist/extraction/languages/pascal.d.ts +3 -3
  159. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  160. package/dist/extraction/languages/pascal.js +11 -0
  161. package/dist/extraction/languages/pascal.js.map +1 -0
  162. package/dist/extraction/languages/php.d.ts +3 -3
  163. package/dist/extraction/languages/php.d.ts.map +1 -0
  164. package/dist/extraction/languages/php.js +90 -1
  165. package/dist/extraction/languages/php.js.map +1 -0
  166. package/dist/extraction/languages/python.d.ts +3 -3
  167. package/dist/extraction/languages/python.d.ts.map +1 -0
  168. package/dist/extraction/languages/python.js.map +1 -0
  169. package/dist/extraction/languages/r.d.ts +3 -0
  170. package/dist/extraction/languages/r.d.ts.map +1 -0
  171. package/dist/extraction/languages/r.js +314 -0
  172. package/dist/extraction/languages/r.js.map +1 -0
  173. package/dist/extraction/languages/ruby.d.ts +3 -3
  174. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  175. package/dist/extraction/languages/ruby.js +35 -0
  176. package/dist/extraction/languages/ruby.js.map +1 -0
  177. package/dist/extraction/languages/rust.d.ts +3 -3
  178. package/dist/extraction/languages/rust.d.ts.map +1 -0
  179. package/dist/extraction/languages/rust.js +35 -2
  180. package/dist/extraction/languages/rust.js.map +1 -0
  181. package/dist/extraction/languages/scala.d.ts +3 -3
  182. package/dist/extraction/languages/scala.d.ts.map +1 -0
  183. package/dist/extraction/languages/scala.js +80 -10
  184. package/dist/extraction/languages/scala.js.map +1 -0
  185. package/dist/extraction/languages/solidity.d.ts +3 -0
  186. package/dist/extraction/languages/solidity.d.ts.map +1 -0
  187. package/dist/extraction/languages/solidity.js +293 -0
  188. package/dist/extraction/languages/solidity.js.map +1 -0
  189. package/dist/extraction/languages/swift.d.ts +3 -3
  190. package/dist/extraction/languages/swift.d.ts.map +1 -0
  191. package/dist/extraction/languages/swift.js +61 -0
  192. package/dist/extraction/languages/swift.js.map +1 -0
  193. package/dist/extraction/languages/terraform.d.ts +3 -0
  194. package/dist/extraction/languages/terraform.d.ts.map +1 -0
  195. package/dist/extraction/languages/terraform.js +641 -0
  196. package/dist/extraction/languages/terraform.js.map +1 -0
  197. package/dist/extraction/languages/typescript.d.ts +16 -3
  198. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  199. package/dist/extraction/languages/typescript.js +38 -0
  200. package/dist/extraction/languages/typescript.js.map +1 -0
  201. package/dist/extraction/languages/vbnet.d.ts +11 -0
  202. package/dist/extraction/languages/vbnet.d.ts.map +1 -0
  203. package/dist/extraction/languages/vbnet.js +141 -0
  204. package/dist/extraction/languages/vbnet.js.map +1 -0
  205. package/dist/extraction/liquid-extractor.d.ts +48 -41
  206. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  207. package/dist/extraction/liquid-extractor.js +53 -9
  208. package/dist/extraction/liquid-extractor.js.map +1 -0
  209. package/dist/extraction/mybatis-extractor.d.ts +68 -0
  210. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  211. package/dist/extraction/mybatis-extractor.js +300 -0
  212. package/dist/extraction/mybatis-extractor.js.map +1 -0
  213. package/dist/extraction/parse-pool.d.ts +152 -0
  214. package/dist/extraction/parse-pool.d.ts.map +1 -0
  215. package/dist/extraction/parse-pool.js +387 -0
  216. package/dist/extraction/parse-pool.js.map +1 -0
  217. package/dist/extraction/parse-worker.d.ts +2 -2
  218. package/dist/extraction/parse-worker.d.ts.map +1 -0
  219. package/dist/extraction/parse-worker.js +13 -3
  220. package/dist/extraction/parse-worker.js.map +1 -0
  221. package/dist/extraction/razor-extractor.d.ts +42 -0
  222. package/dist/extraction/razor-extractor.d.ts.map +1 -0
  223. package/dist/extraction/razor-extractor.js +285 -0
  224. package/dist/extraction/razor-extractor.js.map +1 -0
  225. package/dist/extraction/svelte-extractor.d.ts +42 -42
  226. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  227. package/dist/extraction/svelte-extractor.js +6 -3
  228. package/dist/extraction/svelte-extractor.js.map +1 -0
  229. package/dist/extraction/tree-sitter-helpers.d.ts +7 -18
  230. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  231. package/dist/extraction/tree-sitter-helpers.js +60 -10
  232. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  233. package/dist/extraction/tree-sitter-types.d.ts +224 -157
  234. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  235. package/dist/extraction/tree-sitter-types.js.map +1 -0
  236. package/dist/extraction/tree-sitter.d.ts +689 -221
  237. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  238. package/dist/extraction/tree-sitter.js +4193 -117
  239. package/dist/extraction/tree-sitter.js.map +1 -0
  240. package/dist/extraction/vue-extractor.d.ts +40 -25
  241. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  242. package/dist/extraction/vue-extractor.js +94 -3
  243. package/dist/extraction/vue-extractor.js.map +1 -0
  244. package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  245. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  246. package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  247. package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  248. package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  249. package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  250. package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  251. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  252. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  253. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  254. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  255. package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  256. package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  257. package/dist/extraction/wasm-runtime-flags.d.ts +6 -14
  258. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  259. package/dist/extraction/wasm-runtime-flags.js +1 -0
  260. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  261. package/dist/graph/index.d.ts +3 -3
  262. package/dist/graph/index.d.ts.map +1 -0
  263. package/dist/graph/index.js.map +1 -0
  264. package/dist/graph/queries.d.ts +96 -99
  265. package/dist/graph/queries.d.ts.map +1 -0
  266. package/dist/graph/queries.js +13 -40
  267. package/dist/graph/queries.js.map +1 -0
  268. package/dist/graph/traversal.d.ts +117 -127
  269. package/dist/graph/traversal.d.ts.map +1 -0
  270. package/dist/graph/traversal.js +92 -21
  271. package/dist/graph/traversal.js.map +1 -0
  272. package/dist/index.d.ts +615 -481
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +709 -18
  275. package/dist/index.js.map +1 -0
  276. package/dist/installer/config-writer.d.ts +13 -14
  277. package/dist/installer/config-writer.d.ts.map +1 -0
  278. package/dist/installer/config-writer.js +91 -0
  279. package/dist/installer/config-writer.js.map +1 -0
  280. package/dist/installer/index.d.ts +84 -82
  281. package/dist/installer/index.d.ts.map +1 -0
  282. package/dist/installer/index.js +619 -0
  283. package/dist/installer/index.js.map +1 -0
  284. package/dist/installer/instructions-template.d.ts +35 -24
  285. package/dist/installer/instructions-template.d.ts.map +1 -0
  286. package/dist/installer/instructions-template.js +53 -0
  287. package/dist/installer/instructions-template.js.map +1 -0
  288. package/dist/installer/targets/antigravity.d.ts +57 -0
  289. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  290. package/dist/installer/targets/antigravity.js +308 -0
  291. package/dist/installer/targets/antigravity.js.map +1 -0
  292. package/dist/installer/targets/claude.d.ts +34 -27
  293. package/dist/installer/targets/claude.d.ts.map +1 -0
  294. package/dist/installer/targets/claude.js +454 -0
  295. package/dist/installer/targets/claude.js.map +1 -0
  296. package/dist/installer/targets/codex.d.ts +3 -3
  297. package/dist/installer/targets/codex.d.ts.map +1 -0
  298. package/dist/installer/targets/codex.js +185 -0
  299. package/dist/installer/targets/codex.js.map +1 -0
  300. package/dist/installer/targets/cursor.d.ts +3 -3
  301. package/dist/installer/targets/cursor.d.ts.map +1 -0
  302. package/dist/installer/targets/cursor.js +254 -0
  303. package/dist/installer/targets/cursor.js.map +1 -0
  304. package/dist/installer/targets/gemini.d.ts +26 -0
  305. package/dist/installer/targets/gemini.d.ts.map +1 -0
  306. package/dist/installer/targets/gemini.js +165 -0
  307. package/dist/installer/targets/gemini.js.map +1 -0
  308. package/dist/installer/targets/hermes.d.ts +3 -3
  309. package/dist/installer/targets/hermes.d.ts.map +1 -0
  310. package/dist/installer/targets/hermes.js +359 -0
  311. package/dist/installer/targets/hermes.js.map +1 -0
  312. package/dist/installer/targets/kiro.d.ts +27 -0
  313. package/dist/installer/targets/kiro.d.ts.map +1 -0
  314. package/dist/installer/targets/kiro.js +178 -0
  315. package/dist/installer/targets/kiro.js.map +1 -0
  316. package/dist/installer/targets/opencode.d.ts +12 -4
  317. package/dist/installer/targets/opencode.d.ts.map +1 -0
  318. package/dist/installer/targets/opencode.js +288 -0
  319. package/dist/installer/targets/opencode.js.map +1 -0
  320. package/dist/installer/targets/registry.d.ts +9 -12
  321. package/dist/installer/targets/registry.d.ts.map +1 -0
  322. package/dist/installer/targets/registry.js +91 -0
  323. package/dist/installer/targets/registry.js.map +1 -0
  324. package/dist/installer/targets/shared.d.ts +38 -29
  325. package/dist/installer/targets/shared.d.ts.map +1 -0
  326. package/dist/installer/targets/shared.js +264 -0
  327. package/dist/installer/targets/shared.js.map +1 -0
  328. package/dist/installer/targets/toml.d.ts +11 -23
  329. package/dist/installer/targets/toml.d.ts.map +1 -0
  330. package/dist/installer/targets/toml.js +147 -0
  331. package/dist/installer/targets/toml.js.map +1 -0
  332. package/dist/installer/targets/types.d.ts +62 -76
  333. package/dist/installer/targets/types.d.ts.map +1 -0
  334. package/dist/installer/targets/types.js +16 -0
  335. package/dist/installer/targets/types.js.map +1 -0
  336. package/dist/mcp/daemon-manager.d.ts +42 -0
  337. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  338. package/dist/mcp/daemon-manager.js +129 -0
  339. package/dist/mcp/daemon-manager.js.map +1 -0
  340. package/dist/mcp/daemon-paths.d.ts +73 -0
  341. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  342. package/dist/mcp/daemon-paths.js +165 -0
  343. package/dist/mcp/daemon-paths.js.map +1 -0
  344. package/dist/mcp/daemon-registry.d.ts +47 -0
  345. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  346. package/dist/mcp/daemon-registry.js +233 -0
  347. package/dist/mcp/daemon-registry.js.map +1 -0
  348. package/dist/mcp/daemon.d.ts +290 -0
  349. package/dist/mcp/daemon.d.ts.map +1 -0
  350. package/dist/mcp/daemon.js +862 -0
  351. package/dist/mcp/daemon.js.map +1 -0
  352. package/dist/mcp/dynamic-boundaries.d.ts +41 -0
  353. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  354. package/dist/mcp/dynamic-boundaries.js +360 -0
  355. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  356. package/dist/mcp/early-ppid.d.ts +26 -0
  357. package/dist/mcp/early-ppid.d.ts.map +1 -0
  358. package/dist/mcp/early-ppid.js +29 -0
  359. package/dist/mcp/early-ppid.js.map +1 -0
  360. package/dist/mcp/engine.d.ts +122 -0
  361. package/dist/mcp/engine.d.ts.map +1 -0
  362. package/dist/mcp/engine.js +350 -0
  363. package/dist/mcp/engine.js.map +1 -0
  364. package/dist/mcp/index.d.ts +89 -74
  365. package/dist/mcp/index.d.ts.map +1 -0
  366. package/dist/mcp/index.js +506 -0
  367. package/dist/mcp/index.js.map +1 -0
  368. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  369. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  370. package/dist/mcp/liveness-watchdog.js +267 -0
  371. package/dist/mcp/liveness-watchdog.js.map +1 -0
  372. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  373. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  374. package/dist/mcp/ppid-watchdog.js +64 -0
  375. package/dist/mcp/ppid-watchdog.js.map +1 -0
  376. package/dist/mcp/proxy.d.ts +87 -0
  377. package/dist/mcp/proxy.d.ts.map +1 -0
  378. package/dist/mcp/proxy.js +667 -0
  379. package/dist/mcp/proxy.js.map +1 -0
  380. package/dist/mcp/query-pool.d.ts +108 -0
  381. package/dist/mcp/query-pool.d.ts.map +1 -0
  382. package/dist/mcp/query-pool.js +315 -0
  383. package/dist/mcp/query-pool.js.map +1 -0
  384. package/dist/mcp/query-worker.d.ts +24 -0
  385. package/dist/mcp/query-worker.d.ts.map +1 -0
  386. package/dist/mcp/query-worker.js +87 -0
  387. package/dist/mcp/query-worker.js.map +1 -0
  388. package/dist/mcp/server-instructions.d.ts +22 -8
  389. package/dist/mcp/server-instructions.d.ts.map +1 -0
  390. package/dist/mcp/server-instructions.js +106 -0
  391. package/dist/mcp/server-instructions.js.map +1 -0
  392. package/dist/mcp/session.d.ts +93 -0
  393. package/dist/mcp/session.d.ts.map +1 -0
  394. package/dist/mcp/session.js +357 -0
  395. package/dist/mcp/session.js.map +1 -0
  396. package/dist/mcp/startup-handshake.d.ts +44 -0
  397. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  398. package/dist/mcp/startup-handshake.js +73 -0
  399. package/dist/mcp/startup-handshake.js.map +1 -0
  400. package/dist/mcp/stdin-teardown.d.ts +27 -0
  401. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  402. package/dist/mcp/stdin-teardown.js +49 -0
  403. package/dist/mcp/stdin-teardown.js.map +1 -0
  404. package/dist/mcp/tools.d.ts +557 -213
  405. package/dist/mcp/tools.d.ts.map +1 -0
  406. package/dist/mcp/tools.js +4477 -0
  407. package/dist/mcp/tools.js.map +1 -0
  408. package/dist/mcp/transport.d.ts +158 -87
  409. package/dist/mcp/transport.d.ts.map +1 -0
  410. package/dist/mcp/transport.js +377 -0
  411. package/dist/mcp/transport.js.map +1 -0
  412. package/dist/mcp/version.d.ts +19 -0
  413. package/dist/mcp/version.d.ts.map +1 -0
  414. package/dist/mcp/version.js +71 -0
  415. package/dist/mcp/version.js.map +1 -0
  416. package/dist/project-config.d.ts +94 -0
  417. package/dist/project-config.d.ts.map +1 -0
  418. package/dist/project-config.js +374 -0
  419. package/dist/project-config.js.map +1 -0
  420. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  421. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  422. package/dist/resolution/c-fnptr-synthesizer.js +1062 -0
  423. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  424. package/dist/resolution/callback-synthesizer.d.ts +15 -0
  425. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  426. package/dist/resolution/callback-synthesizer.js +3938 -0
  427. package/dist/resolution/callback-synthesizer.js.map +1 -0
  428. package/dist/resolution/cooperative-yield.d.ts +32 -0
  429. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  430. package/dist/resolution/cooperative-yield.js +42 -0
  431. package/dist/resolution/cooperative-yield.js.map +1 -0
  432. package/dist/resolution/frameworks/astro.d.ts +9 -0
  433. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  434. package/dist/resolution/frameworks/astro.js +169 -0
  435. package/dist/resolution/frameworks/astro.js.map +1 -0
  436. package/dist/resolution/frameworks/cargo-workspace.d.ts +3 -5
  437. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  438. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  439. package/dist/resolution/frameworks/cics.d.ts +20 -0
  440. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  441. package/dist/resolution/frameworks/cics.js +90 -0
  442. package/dist/resolution/frameworks/cics.js.map +1 -0
  443. package/dist/resolution/frameworks/csharp.d.ts +3 -3
  444. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  445. package/dist/resolution/frameworks/csharp.js +36 -8
  446. package/dist/resolution/frameworks/csharp.js.map +1 -0
  447. package/dist/resolution/frameworks/drupal.d.ts +3 -3
  448. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  449. package/dist/resolution/frameworks/drupal.js +44 -12
  450. package/dist/resolution/frameworks/drupal.js.map +1 -0
  451. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  452. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  453. package/dist/resolution/frameworks/expo-modules.js +148 -0
  454. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  455. package/dist/resolution/frameworks/express.d.ts +3 -3
  456. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  457. package/dist/resolution/frameworks/express.js +102 -19
  458. package/dist/resolution/frameworks/express.js.map +1 -0
  459. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  460. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  461. package/dist/resolution/frameworks/fabric.js +354 -0
  462. package/dist/resolution/frameworks/fabric.js.map +1 -0
  463. package/dist/resolution/frameworks/go.d.ts +3 -3
  464. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  465. package/dist/resolution/frameworks/go.js +6 -3
  466. package/dist/resolution/frameworks/go.js.map +1 -0
  467. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  468. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  469. package/dist/resolution/frameworks/goframe.js +112 -0
  470. package/dist/resolution/frameworks/goframe.js.map +1 -0
  471. package/dist/resolution/frameworks/index.d.ts +29 -31
  472. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  473. package/dist/resolution/frameworks/index.js +39 -1
  474. package/dist/resolution/frameworks/index.js.map +1 -0
  475. package/dist/resolution/frameworks/java.d.ts +3 -3
  476. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  477. package/dist/resolution/frameworks/java.js +352 -12
  478. package/dist/resolution/frameworks/java.js.map +1 -0
  479. package/dist/resolution/frameworks/laravel.d.ts +4 -4
  480. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  481. package/dist/resolution/frameworks/laravel.js +17 -8
  482. package/dist/resolution/frameworks/laravel.js.map +1 -0
  483. package/dist/resolution/frameworks/nestjs.d.ts +3 -3
  484. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  485. package/dist/resolution/frameworks/nestjs.js +324 -0
  486. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  487. package/dist/resolution/frameworks/play.d.ts +19 -0
  488. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  489. package/dist/resolution/frameworks/play.js +111 -0
  490. package/dist/resolution/frameworks/play.js.map +1 -0
  491. package/dist/resolution/frameworks/python.d.ts +5 -5
  492. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  493. package/dist/resolution/frameworks/python.js +138 -16
  494. package/dist/resolution/frameworks/python.js.map +1 -0
  495. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  496. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  497. package/dist/resolution/frameworks/react-native.js +410 -0
  498. package/dist/resolution/frameworks/react-native.js.map +1 -0
  499. package/dist/resolution/frameworks/react.d.ts +3 -3
  500. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  501. package/dist/resolution/frameworks/react.js +122 -60
  502. package/dist/resolution/frameworks/react.js.map +1 -0
  503. package/dist/resolution/frameworks/ruby.d.ts +3 -3
  504. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  505. package/dist/resolution/frameworks/ruby.js +106 -2
  506. package/dist/resolution/frameworks/ruby.js.map +1 -0
  507. package/dist/resolution/frameworks/rust.d.ts +3 -3
  508. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  509. package/dist/resolution/frameworks/rust.js +102 -5
  510. package/dist/resolution/frameworks/rust.js.map +1 -0
  511. package/dist/resolution/frameworks/svelte.d.ts +3 -3
  512. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  513. package/dist/resolution/frameworks/svelte.js +5 -1
  514. package/dist/resolution/frameworks/svelte.js.map +1 -0
  515. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  516. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  517. package/dist/resolution/frameworks/swift-objc.js +252 -0
  518. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  519. package/dist/resolution/frameworks/swift.d.ts +5 -5
  520. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  521. package/dist/resolution/frameworks/swift.js +30 -6
  522. package/dist/resolution/frameworks/swift.js.map +1 -0
  523. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  524. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  525. package/dist/resolution/frameworks/terraform.js +277 -0
  526. package/dist/resolution/frameworks/terraform.js.map +1 -0
  527. package/dist/resolution/frameworks/vue.d.ts +3 -3
  528. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  529. package/dist/resolution/frameworks/vue.js +24 -27
  530. package/dist/resolution/frameworks/vue.js.map +1 -0
  531. package/dist/resolution/go-module.d.ts +26 -0
  532. package/dist/resolution/go-module.d.ts.map +1 -0
  533. package/dist/resolution/go-module.js +78 -0
  534. package/dist/resolution/go-module.js.map +1 -0
  535. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  536. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  537. package/dist/resolution/goframe-synthesizer.js +163 -0
  538. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  539. package/dist/resolution/import-resolver.d.ts +53 -29
  540. package/dist/resolution/import-resolver.d.ts.map +1 -0
  541. package/dist/resolution/import-resolver.js +1319 -8
  542. package/dist/resolution/import-resolver.js.map +1 -0
  543. package/dist/resolution/index.d.ts +243 -103
  544. package/dist/resolution/index.d.ts.map +1 -0
  545. package/dist/resolution/index.js +1055 -53
  546. package/dist/resolution/index.js.map +1 -0
  547. package/dist/resolution/lru-cache.d.ts +9 -9
  548. package/dist/resolution/lru-cache.d.ts.map +1 -0
  549. package/dist/resolution/lru-cache.js.map +1 -0
  550. package/dist/resolution/name-matcher.d.ts +91 -29
  551. package/dist/resolution/name-matcher.d.ts.map +1 -0
  552. package/dist/resolution/name-matcher.js +1478 -32
  553. package/dist/resolution/name-matcher.js.map +1 -0
  554. package/dist/resolution/path-aliases.d.ts +23 -27
  555. package/dist/resolution/path-aliases.d.ts.map +1 -0
  556. package/dist/resolution/path-aliases.js.map +1 -0
  557. package/dist/resolution/strip-comments.d.ts +3 -16
  558. package/dist/resolution/strip-comments.d.ts.map +1 -0
  559. package/dist/resolution/strip-comments.js +51 -0
  560. package/dist/resolution/strip-comments.js.map +1 -0
  561. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  562. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  563. package/dist/resolution/swift-objc-bridge.js +256 -0
  564. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  565. package/dist/resolution/types.d.ts +217 -136
  566. package/dist/resolution/types.d.ts.map +1 -0
  567. package/dist/resolution/types.js.map +1 -0
  568. package/dist/resolution/workspace-packages.d.ts +58 -0
  569. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  570. package/dist/resolution/workspace-packages.js +346 -0
  571. package/dist/resolution/workspace-packages.js.map +1 -0
  572. package/dist/search/identifier-segments.d.ts +60 -0
  573. package/dist/search/identifier-segments.d.ts.map +1 -0
  574. package/dist/search/identifier-segments.js +176 -0
  575. package/dist/search/identifier-segments.js.map +1 -0
  576. package/dist/search/query-parser.d.ts +14 -18
  577. package/dist/search/query-parser.d.ts.map +1 -0
  578. package/dist/search/query-parser.js.map +1 -0
  579. package/dist/search/query-utils.d.ts +45 -17
  580. package/dist/search/query-utils.d.ts.map +1 -0
  581. package/dist/search/query-utils.js +113 -47
  582. package/dist/search/query-utils.js.map +1 -0
  583. package/dist/sync/git-hooks.d.ts +13 -22
  584. package/dist/sync/git-hooks.d.ts.map +1 -0
  585. package/dist/sync/git-hooks.js +4 -0
  586. package/dist/sync/git-hooks.js.map +1 -0
  587. package/dist/sync/index.d.ts +6 -12
  588. package/dist/sync/index.d.ts.map +1 -0
  589. package/dist/sync/index.js +8 -1
  590. package/dist/sync/index.js.map +1 -0
  591. package/dist/sync/watch-policy.d.ts +8 -11
  592. package/dist/sync/watch-policy.d.ts.map +1 -0
  593. package/dist/sync/watch-policy.js.map +1 -0
  594. package/dist/sync/watcher.d.ts +335 -63
  595. package/dist/sync/watcher.d.ts.map +1 -0
  596. package/dist/sync/watcher.js +709 -53
  597. package/dist/sync/watcher.js.map +1 -0
  598. package/dist/sync/worktree.d.ts +63 -0
  599. package/dist/sync/worktree.d.ts.map +1 -0
  600. package/dist/sync/worktree.js +182 -0
  601. package/dist/sync/worktree.js.map +1 -0
  602. package/dist/telemetry/index.d.ts +143 -0
  603. package/dist/telemetry/index.d.ts.map +1 -0
  604. package/dist/telemetry/index.js +541 -0
  605. package/dist/telemetry/index.js.map +1 -0
  606. package/dist/types.d.ts +308 -326
  607. package/dist/types.d.ts.map +1 -0
  608. package/dist/types.js +16 -0
  609. package/dist/types.js.map +1 -0
  610. package/dist/ui/glyphs.d.ts +20 -20
  611. package/dist/ui/glyphs.d.ts.map +1 -0
  612. package/dist/ui/glyphs.js +78 -0
  613. package/dist/ui/glyphs.js.map +1 -0
  614. package/dist/ui/shimmer-progress.d.ts +7 -7
  615. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  616. package/dist/ui/shimmer-progress.js +90 -0
  617. package/dist/ui/shimmer-progress.js.map +1 -0
  618. package/dist/ui/shimmer-worker.d.ts +2 -2
  619. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  620. package/dist/ui/shimmer-worker.js +118 -0
  621. package/dist/ui/shimmer-worker.js.map +1 -0
  622. package/dist/ui/types.d.ts +14 -17
  623. package/dist/ui/types.d.ts.map +1 -0
  624. package/dist/ui/types.js +3 -0
  625. package/dist/ui/types.js.map +1 -0
  626. package/dist/upgrade/index.d.ts +164 -0
  627. package/dist/upgrade/index.d.ts.map +1 -0
  628. package/dist/upgrade/index.js +646 -0
  629. package/dist/upgrade/index.js.map +1 -0
  630. package/dist/upgrade/remove-binary.d.ts +87 -0
  631. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  632. package/dist/upgrade/remove-binary.js +289 -0
  633. package/dist/upgrade/remove-binary.js.map +1 -0
  634. package/dist/upgrade/update-check.d.ts +92 -0
  635. package/dist/upgrade/update-check.d.ts.map +1 -0
  636. package/dist/upgrade/update-check.js +258 -0
  637. package/dist/upgrade/update-check.js.map +1 -0
  638. package/dist/utils.d.ts +116 -123
  639. package/dist/utils.d.ts.map +1 -0
  640. package/dist/utils.js +83 -49
  641. package/dist/utils.js.map +1 -0
  642. package/package.json +42 -10
  643. package/scripts/add-lang/bench.sh +60 -0
  644. package/scripts/add-lang/check-grammar.mjs +75 -0
  645. package/scripts/add-lang/dump-ast.mjs +103 -0
  646. package/scripts/add-lang/verify-extraction.mjs +70 -0
  647. package/scripts/agent-eval/ab-adoption.sh +91 -0
  648. package/scripts/agent-eval/ab-hook.sh +86 -0
  649. package/scripts/agent-eval/ab-impl.sh +78 -0
  650. package/scripts/agent-eval/ab-new-vs-baseline.sh +102 -0
  651. package/scripts/agent-eval/ab-sufficiency.sh +78 -0
  652. package/scripts/agent-eval/arms-F.sh +21 -0
  653. package/scripts/agent-eval/arms-matrix.sh +37 -0
  654. package/scripts/agent-eval/audit.sh +68 -0
  655. package/scripts/agent-eval/bench-readme.sh +28 -0
  656. package/scripts/agent-eval/bench-why-repo.sh +22 -0
  657. package/scripts/agent-eval/block-read-hook.sh +19 -0
  658. package/scripts/agent-eval/hook-settings.json +15 -0
  659. package/scripts/agent-eval/itrun.sh +120 -0
  660. package/scripts/agent-eval/offload-eval-3arm.sh +72 -0
  661. package/scripts/agent-eval/offload-eval-cost.mjs +133 -0
  662. package/scripts/agent-eval/offload-eval-effort.mjs +108 -0
  663. package/scripts/agent-eval/offload-eval-frontload-matrix.sh +25 -0
  664. package/scripts/agent-eval/offload-eval-frontload.sh +47 -0
  665. package/scripts/agent-eval/offload-eval-ground-truth.json +18 -0
  666. package/scripts/agent-eval/offload-eval-hook.mjs +84 -0
  667. package/scripts/agent-eval/offload-eval-judge.mjs +103 -0
  668. package/scripts/agent-eval/offload-eval-matrix.sh +20 -0
  669. package/scripts/agent-eval/offload-eval-metrics.mjs +94 -0
  670. package/scripts/agent-eval/offload-eval-refs1.sh +50 -0
  671. package/scripts/agent-eval/offload-eval-setup.sh +24 -0
  672. package/scripts/agent-eval/offload-eval-styles.sh +72 -0
  673. package/scripts/agent-eval/offload-eval-summarize.mjs +68 -0
  674. package/scripts/agent-eval/offload-eval.md +76 -0
  675. package/scripts/agent-eval/parse-arms.mjs +116 -0
  676. package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
  677. package/scripts/agent-eval/parse-run.mjs +45 -0
  678. package/scripts/agent-eval/parse-session.mjs +93 -0
  679. package/scripts/agent-eval/probe-context.mjs +21 -0
  680. package/scripts/agent-eval/probe-explore.mjs +40 -0
  681. package/scripts/agent-eval/probe-node.mjs +20 -0
  682. package/scripts/agent-eval/probe-sweep.mjs +119 -0
  683. package/scripts/agent-eval/probe-trace.mjs +20 -0
  684. package/scripts/agent-eval/redirect-read-hook.sh +38 -0
  685. package/scripts/agent-eval/repro-concurrent-explore.mjs +119 -0
  686. package/scripts/agent-eval/repro-daemon-clients.mjs +125 -0
  687. package/scripts/agent-eval/run-agent.sh +34 -0
  688. package/scripts/agent-eval/run-all.sh +75 -0
  689. package/scripts/agent-eval/run-arms.sh +56 -0
  690. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  691. package/scripts/build-bundle.sh +123 -0
  692. package/scripts/extract-release-notes.mjs +130 -0
  693. package/scripts/local-install.sh +41 -0
  694. package/scripts/npm-sdk.js +75 -0
  695. package/scripts/npm-shim.js +275 -0
  696. package/scripts/pack-npm.sh +119 -0
  697. package/scripts/prepare-release.mjs +270 -0
  698. package/dist/extraction/wasm/tree-sitter-c.wasm +0 -0
  699. package/dist/extraction/wasm/tree-sitter-cpp.wasm +0 -0
  700. package/dist/extraction/wasm/tree-sitter-dart.wasm +0 -0
  701. package/dist/extraction/wasm/tree-sitter-go.wasm +0 -0
  702. package/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
  703. package/dist/extraction/wasm/tree-sitter-javascript.wasm +0 -0
  704. package/dist/extraction/wasm/tree-sitter-kotlin.wasm +0 -0
  705. package/dist/extraction/wasm/tree-sitter-php.wasm +0 -0
  706. package/dist/extraction/wasm/tree-sitter-python.wasm +0 -0
  707. package/dist/extraction/wasm/tree-sitter-ruby.wasm +0 -0
  708. package/dist/extraction/wasm/tree-sitter-rust.wasm +0 -0
  709. package/dist/extraction/wasm/tree-sitter-swift.wasm +0 -0
  710. package/dist/extraction/wasm/tree-sitter-tsx.wasm +0 -0
  711. package/dist/extraction/wasm/tree-sitter-typescript.wasm +0 -0
  712. package/dist/installer/claude-md-template.d.ts +0 -19
@@ -1,30 +1,41 @@
1
1
  /**
2
- * Agent-instructions template the markdown body each agent target
3
- * writes into its conventional instructions file (CLAUDE.md /
4
- * AGENTS.md / codegraph.mdc / etc.).
2
+ * The marker-fenced agent-instructions block the installer writes into each
3
+ * agent's instructions file (CLAUDE.md / AGENTS.md / GEMINI.md).
5
4
  *
6
- * The body content is identical across agents because the codegraph
7
- * usage advice is agent-agnostic only the destination filename and
8
- * any optional frontmatter (Cursor `.mdc`) varies per target.
5
+ * History: pre-#529 the installer wrote a full usage playbook here, which
6
+ * duplicated the MCP `initialize` instructions for the main agent — so it
7
+ * was removed and `mcp/server-instructions.ts` became the single source of
8
+ * truth. A much smaller block returned for #704, because the MCP
9
+ * instructions cannot reach two audiences that the instructions FILE does
10
+ * reach:
9
11
  *
10
- * The legacy `claude-md-template.ts` re-exports these names for
11
- * backwards compatibility with downstream importers.
12
- */
13
- /** Markers used by the marker-based section replacement. */
14
- export declare const CODEGRAPH_SECTION_START = '<!-- CODEGRAPH_START -->'
15
- export declare const CODEGRAPH_SECTION_END = '<!-- CODEGRAPH_END -->'
16
- /**
17
- * The full marker-delimited block written into each agent's
18
- * instructions file. Includes the start/end markers so the section
19
- * can be detected and replaced on re-install.
12
+ * - **Task-tool subagents** they receive the project instructions file
13
+ * in their context but NOT the MCP initialize instructions. They hold
14
+ * the codegraph MCP tools only as deferred names and rarely think to
15
+ * load them: measured on a forced-delegation flow question (excalidraw,
16
+ * sonnet, high effort), subagents loaded + used codegraph in ~1 of 9
17
+ * runs without this block, and consistently with it — including runs
18
+ * with zero Read/grep fallback.
19
+ * - **Non-MCP harnesses** agents with no MCP client at all can still
20
+ * run the `codegraph explore` CLI, which prints the same output as the
21
+ * MCP tool.
22
+ *
23
+ * Keep this block SHORT. The main agent reads it every turn on top of the
24
+ * server instructions — the #529 duplication-cost argument still bounds
25
+ * its size. Command names and the two surfaces, nothing more.
20
26
  */
21
- export declare const INSTRUCTIONS_TEMPLATE =
22
- '<!-- CODEGRAPH_START -->\n## CodeGraph\n\nThis project has a CodeGraph MCP server (`codegraph_*` tools) configured. CodeGraph is a tree-sitter-parsed knowledge graph of every symbol, edge, and file. Reads are sub-millisecond and return structural information grep cannot.\n\n### When to prefer codegraph over native search\n\nUse codegraph for **structural** questions \u2014 what calls what, what would break, where is X defined, what is X\'s signature. Use native grep/read only for **literal text** queries (string contents, comments, log messages) or after you already have a specific file open.\n\n| Question | Tool |\n|---|---|\n| "Where is X defined?" / "Find symbol named X" | `codegraph_search` |\n| "What calls function Y?" | `codegraph_callers` |\n| "What does Y call?" | `codegraph_callees` |\n| "What would break if I changed Z?" | `codegraph_impact` |\n| "Show me Y\'s signature / source / docstring" | `codegraph_node` |\n| "Give me focused context for a task/area" | `codegraph_context` |\n| "See several related symbols\' source at once" | `codegraph_explore` |\n| "What files exist under path/" | `codegraph_files` |\n| "Is the index healthy?" | `codegraph_status` |\n\n### Rules of thumb\n\n- **Answer directly \u2014 don\'t delegate exploration.** For "how does X work" / architecture / trace questions, answer with 2-3 codegraph calls: `codegraph_context` first, then ONE `codegraph_explore` for the source of the symbols it surfaces. Codegraph IS the pre-built index, so spawning a separate file-reading sub-task/agent \u2014 or running a grep + read loop \u2014 repeats work codegraph already did and costs more for the same answer.\n- **Trust codegraph results.** They come from a full AST parse. Do NOT re-verify them with grep \u2014 that\'s slower, less accurate, and wastes context.\n- **Don\'t grep first** when looking up a symbol by name. `codegraph_search` is faster and returns kind + location + signature in one call.\n- **Don\'t chain `codegraph_search` + `codegraph_node`** when you just want context \u2014 `codegraph_context` is one call.\n- **Don\'t loop `codegraph_node` over many symbols** \u2014 one `codegraph_explore` call returns several symbols\' source grouped in a single capped call, while each separate node/Read call re-reads the whole context and costs far more.\n- **Index lag**: the file watcher debounces ~500ms behind writes; don\'t re-query immediately after editing a file in the same turn.\n\n### If `.codegraph/` doesn\'t exist\n\nThe MCP server returns "not initialized." Ask the user: *"I notice this project doesn\'t have CodeGraph initialized. Want me to run `codegraph init -i` to build the index?"*\n<!-- CODEGRAPH_END -->'
27
+ /** Markers used by the marker-based section write/removal. */
28
+ export declare const CODEGRAPH_SECTION_START = "<!-- CODEGRAPH_START -->";
29
+ export declare const CODEGRAPH_SECTION_END = "<!-- CODEGRAPH_END -->";
23
30
  /**
24
- * Backwards-compat alias. Existing downstream code may import
25
- * `CLAUDE_MD_TEMPLATE` from this module via the re-export shim in
26
- * `claude-md-template.ts`.
31
+ * The full block, markers included, exactly as written to disk.
32
+ *
33
+ * The wording is deliberately CONDITIONAL ("in repositories indexed by…"):
34
+ * a global install writes this into a user-scope file (~/.claude/CLAUDE.md,
35
+ * ~/.codex/AGENTS.md) that applies to every project the user opens —
36
+ * including unindexed ones, where an unconditional "this repository is
37
+ * indexed" claim would send subagents into failing codegraph calls (the
38
+ * noise the unindexed-session policy exists to prevent).
27
39
  */
28
- export declare const CLAUDE_MD_TEMPLATE =
29
- '<!-- CODEGRAPH_START -->\n## CodeGraph\n\nThis project has a CodeGraph MCP server (`codegraph_*` tools) configured. CodeGraph is a tree-sitter-parsed knowledge graph of every symbol, edge, and file. Reads are sub-millisecond and return structural information grep cannot.\n\n### When to prefer codegraph over native search\n\nUse codegraph for **structural** questions \u2014 what calls what, what would break, where is X defined, what is X\'s signature. Use native grep/read only for **literal text** queries (string contents, comments, log messages) or after you already have a specific file open.\n\n| Question | Tool |\n|---|---|\n| "Where is X defined?" / "Find symbol named X" | `codegraph_search` |\n| "What calls function Y?" | `codegraph_callers` |\n| "What does Y call?" | `codegraph_callees` |\n| "What would break if I changed Z?" | `codegraph_impact` |\n| "Show me Y\'s signature / source / docstring" | `codegraph_node` |\n| "Give me focused context for a task/area" | `codegraph_context` |\n| "See several related symbols\' source at once" | `codegraph_explore` |\n| "What files exist under path/" | `codegraph_files` |\n| "Is the index healthy?" | `codegraph_status` |\n\n### Rules of thumb\n\n- **Answer directly \u2014 don\'t delegate exploration.** For "how does X work" / architecture / trace questions, answer with 2-3 codegraph calls: `codegraph_context` first, then ONE `codegraph_explore` for the source of the symbols it surfaces. Codegraph IS the pre-built index, so spawning a separate file-reading sub-task/agent \u2014 or running a grep + read loop \u2014 repeats work codegraph already did and costs more for the same answer.\n- **Trust codegraph results.** They come from a full AST parse. Do NOT re-verify them with grep \u2014 that\'s slower, less accurate, and wastes context.\n- **Don\'t grep first** when looking up a symbol by name. `codegraph_search` is faster and returns kind + location + signature in one call.\n- **Don\'t chain `codegraph_search` + `codegraph_node`** when you just want context \u2014 `codegraph_context` is one call.\n- **Don\'t loop `codegraph_node` over many symbols** \u2014 one `codegraph_explore` call returns several symbols\' source grouped in a single capped call, while each separate node/Read call re-reads the whole context and costs far more.\n- **Index lag**: the file watcher debounces ~500ms behind writes; don\'t re-query immediately after editing a file in the same turn.\n\n### If `.codegraph/` doesn\'t exist\n\nThe MCP server returns "not initialized." Ask the user: *"I notice this project doesn\'t have CodeGraph initialized. Want me to run `codegraph init -i` to build the index?"*\n<!-- CODEGRAPH_END -->'
30
- //# sourceMappingURL=instructions-template.d.ts.map
40
+ export declare const CODEGRAPH_INSTRUCTIONS_BLOCK = "<!-- CODEGRAPH_START -->\n## CodeGraph\n\nIn repositories indexed by CodeGraph (a `.codegraph/` directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:\n\n- **MCP tool** (when available): `codegraph_explore` answers most code questions in one call \u2014 the relevant symbols' verbatim source plus the call paths between them, including dynamic-dispatch hops grep can't follow. Name a file or symbol in the query to read its current line-numbered source. If it's listed but deferred, load it by name via tool search.\n- **Shell** (always works): `codegraph explore \"<symbol names or question>\"` prints the same output.\n\nIf there is no `.codegraph/` directory, skip CodeGraph entirely \u2014 indexing is the user's decision.\n<!-- CODEGRAPH_END -->";
41
+ //# sourceMappingURL=instructions-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions-template.d.ts","sourceRoot":"","sources":["../../src/installer/instructions-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,8DAA8D;AAC9D,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAClE,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B,2zBAShB,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * The marker-fenced agent-instructions block the installer writes into each
4
+ * agent's instructions file (CLAUDE.md / AGENTS.md / GEMINI.md).
5
+ *
6
+ * History: pre-#529 the installer wrote a full usage playbook here, which
7
+ * duplicated the MCP `initialize` instructions for the main agent — so it
8
+ * was removed and `mcp/server-instructions.ts` became the single source of
9
+ * truth. A much smaller block returned for #704, because the MCP
10
+ * instructions cannot reach two audiences that the instructions FILE does
11
+ * reach:
12
+ *
13
+ * - **Task-tool subagents** — they receive the project instructions file
14
+ * in their context but NOT the MCP initialize instructions. They hold
15
+ * the codegraph MCP tools only as deferred names and rarely think to
16
+ * load them: measured on a forced-delegation flow question (excalidraw,
17
+ * sonnet, high effort), subagents loaded + used codegraph in ~1 of 9
18
+ * runs without this block, and consistently with it — including runs
19
+ * with zero Read/grep fallback.
20
+ * - **Non-MCP harnesses** — agents with no MCP client at all can still
21
+ * run the `codegraph explore` CLI, which prints the same output as the
22
+ * MCP tool.
23
+ *
24
+ * Keep this block SHORT. The main agent reads it every turn on top of the
25
+ * server instructions — the #529 duplication-cost argument still bounds
26
+ * its size. Command names and the two surfaces, nothing more.
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.CODEGRAPH_INSTRUCTIONS_BLOCK = exports.CODEGRAPH_SECTION_END = exports.CODEGRAPH_SECTION_START = void 0;
30
+ /** Markers used by the marker-based section write/removal. */
31
+ exports.CODEGRAPH_SECTION_START = '<!-- CODEGRAPH_START -->';
32
+ exports.CODEGRAPH_SECTION_END = '<!-- CODEGRAPH_END -->';
33
+ /**
34
+ * The full block, markers included, exactly as written to disk.
35
+ *
36
+ * The wording is deliberately CONDITIONAL ("in repositories indexed by…"):
37
+ * a global install writes this into a user-scope file (~/.claude/CLAUDE.md,
38
+ * ~/.codex/AGENTS.md) that applies to every project the user opens —
39
+ * including unindexed ones, where an unconditional "this repository is
40
+ * indexed" claim would send subagents into failing codegraph calls (the
41
+ * noise the unindexed-session policy exists to prevent).
42
+ */
43
+ exports.CODEGRAPH_INSTRUCTIONS_BLOCK = `${exports.CODEGRAPH_SECTION_START}
44
+ ## CodeGraph
45
+
46
+ In repositories indexed by CodeGraph (a \`.codegraph/\` directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:
47
+
48
+ - **MCP tool** (when available): \`codegraph_explore\` answers most code questions in one call — the relevant symbols' verbatim source plus the call paths between them, including dynamic-dispatch hops grep can't follow. Name a file or symbol in the query to read its current line-numbered source. If it's listed but deferred, load it by name via tool search.
49
+ - **Shell** (always works): \`codegraph explore "<symbol names or question>"\` prints the same output.
50
+
51
+ If there is no \`.codegraph/\` directory, skip CodeGraph entirely — indexing is the user's decision.
52
+ ${exports.CODEGRAPH_SECTION_END}`;
53
+ //# sourceMappingURL=instructions-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions-template.js","sourceRoot":"","sources":["../../src/installer/instructions-template.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAEH,8DAA8D;AACjD,QAAA,uBAAuB,GAAG,0BAA0B,CAAC;AACrD,QAAA,qBAAqB,GAAG,wBAAwB,CAAC;AAE9D;;;;;;;;;GASG;AACU,QAAA,4BAA4B,GAAG,GAAG,+BAAuB;;;;;;;;;EASpE,6BAAqB,EAAE,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Google Antigravity IDE target. Antigravity is Google's VS Code-derived
3
+ * multi-agent IDE; the Gemini CLI is in the process of consolidating with
4
+ * it under a single agent platform. Antigravity reads MCP server
5
+ * definitions from a separate config file from the CLI.
6
+ *
7
+ * ## Config path: unified vs legacy
8
+ *
9
+ * Antigravity recently migrated to a **unified** MCP config path shared
10
+ * across all Antigravity tools:
11
+ *
12
+ * - **Unified** (post-migration, current): `~/.gemini/config/mcp_config.json`
13
+ * — signalled by the `~/.gemini/config/.migrated` marker file.
14
+ * - **Legacy** (pre-migration): `~/.gemini/antigravity/mcp_config.json`
15
+ * — what the github-mcp-server install guide still documents.
16
+ *
17
+ * We detect the marker at install time and write to the right path. On
18
+ * uninstall we sweep BOTH — so a user who installed on the legacy path,
19
+ * was then auto-migrated by Antigravity, and re-ran `codegraph install`
20
+ * doesn't end up with stale codegraph entries in two files.
21
+ *
22
+ * ## Entry shape: no `type: stdio` field
23
+ *
24
+ * Antigravity rejects MCP entries that carry the `type: "stdio"` field
25
+ * the rest of our targets use — the working entries it manages itself
26
+ * (e.g. `code-review-graph`) omit it, and dropping it was load-bearing
27
+ * to get codegraph to appear in the Customizations UI. We build the
28
+ * entry locally instead of routing through `getMcpServerConfig()`.
29
+ *
30
+ * ## macOS GUI app PATH resolution
31
+ *
32
+ * Antigravity is a GUI Electron app. macOS gives Dock/Finder-launched
33
+ * apps a stripped PATH (`/usr/bin:/bin:/usr/sbin:/sbin`) — nvm-managed
34
+ * tools live outside that, so a bare `codegraph` command fails to spawn
35
+ * even when `which codegraph` resolves in the user's shell. We resolve
36
+ * `codegraph` to its absolute path on macOS at install time. (Linux GUI
37
+ * apps inherit user PATH; Windows uses `PATH` env directly — both are
38
+ * fine with the bare command.)
39
+ *
40
+ * ## Shared instructions (no GEMINI.md from here)
41
+ *
42
+ * The IDE shares `~/.gemini/GEMINI.md` with Gemini CLI for instructions
43
+ * — written by the `./gemini.ts` target. We deliberately don't touch it
44
+ * here so uninstalling Antigravity without uninstalling Gemini CLI
45
+ * leaves CLI instructions intact. Users who install only Antigravity
46
+ * still get a working MCP integration; the prefer-codegraph-over-grep
47
+ * guidance just won't be present unless they also install the gemini
48
+ * target.
49
+ *
50
+ * ## Location
51
+ *
52
+ * `supportsLocation('local')` returns false — Antigravity has no
53
+ * project-scoped config concept as of 2026-05.
54
+ */
55
+ import { AgentTarget } from './types';
56
+ export declare const antigravityTarget: AgentTarget;
57
+ //# sourceMappingURL=antigravity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/antigravity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAMH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AA+NjB,eAAO,MAAM,iBAAiB,EAAE,WAAqC,CAAC"}
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ /**
3
+ * Google Antigravity IDE target. Antigravity is Google's VS Code-derived
4
+ * multi-agent IDE; the Gemini CLI is in the process of consolidating with
5
+ * it under a single agent platform. Antigravity reads MCP server
6
+ * definitions from a separate config file from the CLI.
7
+ *
8
+ * ## Config path: unified vs legacy
9
+ *
10
+ * Antigravity recently migrated to a **unified** MCP config path shared
11
+ * across all Antigravity tools:
12
+ *
13
+ * - **Unified** (post-migration, current): `~/.gemini/config/mcp_config.json`
14
+ * — signalled by the `~/.gemini/config/.migrated` marker file.
15
+ * - **Legacy** (pre-migration): `~/.gemini/antigravity/mcp_config.json`
16
+ * — what the github-mcp-server install guide still documents.
17
+ *
18
+ * We detect the marker at install time and write to the right path. On
19
+ * uninstall we sweep BOTH — so a user who installed on the legacy path,
20
+ * was then auto-migrated by Antigravity, and re-ran `codegraph install`
21
+ * doesn't end up with stale codegraph entries in two files.
22
+ *
23
+ * ## Entry shape: no `type: stdio` field
24
+ *
25
+ * Antigravity rejects MCP entries that carry the `type: "stdio"` field
26
+ * the rest of our targets use — the working entries it manages itself
27
+ * (e.g. `code-review-graph`) omit it, and dropping it was load-bearing
28
+ * to get codegraph to appear in the Customizations UI. We build the
29
+ * entry locally instead of routing through `getMcpServerConfig()`.
30
+ *
31
+ * ## macOS GUI app PATH resolution
32
+ *
33
+ * Antigravity is a GUI Electron app. macOS gives Dock/Finder-launched
34
+ * apps a stripped PATH (`/usr/bin:/bin:/usr/sbin:/sbin`) — nvm-managed
35
+ * tools live outside that, so a bare `codegraph` command fails to spawn
36
+ * even when `which codegraph` resolves in the user's shell. We resolve
37
+ * `codegraph` to its absolute path on macOS at install time. (Linux GUI
38
+ * apps inherit user PATH; Windows uses `PATH` env directly — both are
39
+ * fine with the bare command.)
40
+ *
41
+ * ## Shared instructions (no GEMINI.md from here)
42
+ *
43
+ * The IDE shares `~/.gemini/GEMINI.md` with Gemini CLI for instructions
44
+ * — written by the `./gemini.ts` target. We deliberately don't touch it
45
+ * here so uninstalling Antigravity without uninstalling Gemini CLI
46
+ * leaves CLI instructions intact. Users who install only Antigravity
47
+ * still get a working MCP integration; the prefer-codegraph-over-grep
48
+ * guidance just won't be present unless they also install the gemini
49
+ * target.
50
+ *
51
+ * ## Location
52
+ *
53
+ * `supportsLocation('local')` returns false — Antigravity has no
54
+ * project-scoped config concept as of 2026-05.
55
+ */
56
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
57
+ if (k2 === undefined) k2 = k;
58
+ var desc = Object.getOwnPropertyDescriptor(m, k);
59
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
60
+ desc = { enumerable: true, get: function() { return m[k]; } };
61
+ }
62
+ Object.defineProperty(o, k2, desc);
63
+ }) : (function(o, m, k, k2) {
64
+ if (k2 === undefined) k2 = k;
65
+ o[k2] = m[k];
66
+ }));
67
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
68
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
69
+ }) : function(o, v) {
70
+ o["default"] = v;
71
+ });
72
+ var __importStar = (this && this.__importStar) || (function () {
73
+ var ownKeys = function(o) {
74
+ ownKeys = Object.getOwnPropertyNames || function (o) {
75
+ var ar = [];
76
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
77
+ return ar;
78
+ };
79
+ return ownKeys(o);
80
+ };
81
+ return function (mod) {
82
+ if (mod && mod.__esModule) return mod;
83
+ var result = {};
84
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
85
+ __setModuleDefault(result, mod);
86
+ return result;
87
+ };
88
+ })();
89
+ Object.defineProperty(exports, "__esModule", { value: true });
90
+ exports.antigravityTarget = void 0;
91
+ const fs = __importStar(require("fs"));
92
+ const path = __importStar(require("path"));
93
+ const os = __importStar(require("os"));
94
+ const child_process_1 = require("child_process");
95
+ const shared_1 = require("./shared");
96
+ function unifiedConfigDir() {
97
+ return path.join(os.homedir(), '.gemini', 'config');
98
+ }
99
+ function unifiedMcpConfigPath() {
100
+ return path.join(unifiedConfigDir(), 'mcp_config.json');
101
+ }
102
+ function legacyConfigDir() {
103
+ return path.join(os.homedir(), '.gemini', 'antigravity');
104
+ }
105
+ function legacyMcpConfigPath() {
106
+ return path.join(legacyConfigDir(), 'mcp_config.json');
107
+ }
108
+ function migratedMarkerPath() {
109
+ return path.join(unifiedConfigDir(), '.migrated');
110
+ }
111
+ /**
112
+ * Pick the right MCP config path to write to.
113
+ *
114
+ * Prefers the unified `~/.gemini/config/mcp_config.json` when Antigravity
115
+ * has signalled it's migrated (`.migrated` marker present, OR the
116
+ * unified file already exists — Antigravity creates it on first
117
+ * launch post-migration). Falls back to the legacy
118
+ * `~/.gemini/antigravity/mcp_config.json` for users on a pre-migration
119
+ * Antigravity build.
120
+ */
121
+ function preferredMcpConfigPath() {
122
+ if (fs.existsSync(migratedMarkerPath()))
123
+ return unifiedMcpConfigPath();
124
+ if (fs.existsSync(unifiedMcpConfigPath()))
125
+ return unifiedMcpConfigPath();
126
+ return legacyMcpConfigPath();
127
+ }
128
+ /**
129
+ * Resolve the on-disk path of the `codegraph` binary so a Mac GUI app
130
+ * launched from Dock/Finder (with a stripped PATH) can find it. Falls
131
+ * back to the bare `codegraph` name when:
132
+ *
133
+ * - we're not on macOS (Linux GUI apps inherit user PATH; Windows
134
+ * uses env PATH directly), OR
135
+ * - the lookup fails for any reason (preserving install in restricted
136
+ * environments where `which`/`command -v` aren't available).
137
+ *
138
+ * Resolution prefers `command -v` (built-in, no PATH manipulation),
139
+ * with `which` as a fallback. Both are read via the user's interactive
140
+ * shell PATH at install time — that's the right PATH for finding
141
+ * nvm-managed tools like ours.
142
+ */
143
+ function resolveCodegraphCommand() {
144
+ if (process.platform !== 'darwin')
145
+ return 'codegraph';
146
+ try {
147
+ const resolved = (0, child_process_1.execSync)('command -v codegraph || which codegraph', {
148
+ encoding: 'utf-8',
149
+ stdio: ['ignore', 'pipe', 'ignore'],
150
+ shell: '/bin/bash',
151
+ windowsHide: true,
152
+ }).trim();
153
+ if (resolved && fs.existsSync(resolved))
154
+ return resolved;
155
+ }
156
+ catch {
157
+ /* fall through to bare name */
158
+ }
159
+ return 'codegraph';
160
+ }
161
+ /**
162
+ * Build the codegraph MCP-server entry for Antigravity. Distinct from
163
+ * `getMcpServerConfig()` because Antigravity (a) rejects the `type`
164
+ * field and (b) needs an absolute command path on macOS — see file
165
+ * header.
166
+ */
167
+ function buildAntigravityEntry() {
168
+ return {
169
+ command: resolveCodegraphCommand(),
170
+ args: ['serve', '--mcp'],
171
+ };
172
+ }
173
+ class AntigravityTarget {
174
+ id = 'antigravity';
175
+ displayName = 'Antigravity IDE';
176
+ docsUrl = 'https://antigravity.google';
177
+ supportsLocation(loc) {
178
+ return loc === 'global';
179
+ }
180
+ detect(loc) {
181
+ if (loc !== 'global') {
182
+ return { installed: false, alreadyConfigured: false };
183
+ }
184
+ const file = preferredMcpConfigPath();
185
+ const config = (0, shared_1.readJsonFile)(file);
186
+ const alreadyConfigured = !!config.mcpServers?.codegraph;
187
+ // "Installed" heuristic: either the unified config dir, the legacy
188
+ // config dir, or one of the config files exists. Antigravity creates
189
+ // ~/.gemini/ on first launch even before MCP configs.
190
+ const installed = fs.existsSync(unifiedConfigDir()) ||
191
+ fs.existsSync(legacyConfigDir()) ||
192
+ fs.existsSync(file);
193
+ return { installed, alreadyConfigured, configPath: file };
194
+ }
195
+ install(loc, _opts) {
196
+ if (loc !== 'global') {
197
+ return {
198
+ files: [],
199
+ notes: ['Antigravity IDE has no project-local config — re-run with --location=global.'],
200
+ };
201
+ }
202
+ const files = [];
203
+ files.push(writeMcpEntry());
204
+ // If the user originally installed on the legacy path and Antigravity
205
+ // has since migrated, strip the stale legacy entry so they don't
206
+ // wind up with two competing codegraph configs.
207
+ const legacyCleanup = cleanupLegacyEntry();
208
+ if (legacyCleanup)
209
+ files.push(legacyCleanup);
210
+ return {
211
+ files,
212
+ notes: ['Restart Antigravity for MCP changes to take effect.'],
213
+ };
214
+ }
215
+ uninstall(loc) {
216
+ if (loc !== 'global')
217
+ return { files: [] };
218
+ const files = [];
219
+ // Remove from the preferred path.
220
+ const preferred = preferredMcpConfigPath();
221
+ files.push(removeCodegraphFromFile(preferred));
222
+ // Also sweep the OTHER path (legacy when preferred is unified, and
223
+ // vice versa) — handles the migration-half-state case where codegraph
224
+ // got written to one file but Antigravity now reads from the other.
225
+ const other = preferred === unifiedMcpConfigPath()
226
+ ? legacyMcpConfigPath()
227
+ : unifiedMcpConfigPath();
228
+ if (preferred !== other) {
229
+ const otherResult = removeCodegraphFromFile(other);
230
+ // Only surface the secondary file if we actually touched it —
231
+ // a `not-found` on a file the user never had is noise.
232
+ if (otherResult.action === 'removed')
233
+ files.push(otherResult);
234
+ }
235
+ return { files };
236
+ }
237
+ printConfig(loc) {
238
+ if (loc !== 'global') {
239
+ return '# Antigravity IDE has no project-local config — use --location=global.\n';
240
+ }
241
+ const file = preferredMcpConfigPath();
242
+ const snippet = JSON.stringify({ mcpServers: { codegraph: buildAntigravityEntry() } }, null, 2);
243
+ return `# Add to ${file}\n\n${snippet}\n`;
244
+ }
245
+ describePaths(loc) {
246
+ if (loc !== 'global')
247
+ return [];
248
+ return [preferredMcpConfigPath()];
249
+ }
250
+ }
251
+ function writeMcpEntry() {
252
+ const file = preferredMcpConfigPath();
253
+ const dir = path.dirname(file);
254
+ if (!fs.existsSync(dir))
255
+ fs.mkdirSync(dir, { recursive: true });
256
+ const existing = (0, shared_1.readJsonFile)(file);
257
+ const before = existing.mcpServers?.codegraph;
258
+ const after = buildAntigravityEntry();
259
+ if ((0, shared_1.jsonDeepEqual)(before, after)) {
260
+ return { path: file, action: 'unchanged' };
261
+ }
262
+ const action = before ? 'updated' : (fs.existsSync(file) ? 'updated' : 'created');
263
+ if (!existing.mcpServers)
264
+ existing.mcpServers = {};
265
+ existing.mcpServers.codegraph = after;
266
+ (0, shared_1.writeJsonFile)(file, existing);
267
+ return { path: file, action };
268
+ }
269
+ /**
270
+ * Strip the codegraph entry from the legacy `~/.gemini/antigravity/mcp_config.json`
271
+ * if it's present AND we're writing to the unified path. Used by install
272
+ * to migrate users who had codegraph configured on the legacy path
273
+ * before Antigravity migrated their config. Returns the file action for
274
+ * reporting, or `null` when there's nothing to clean up.
275
+ */
276
+ function cleanupLegacyEntry() {
277
+ if (preferredMcpConfigPath() !== unifiedMcpConfigPath())
278
+ return null;
279
+ const legacy = legacyMcpConfigPath();
280
+ if (!fs.existsSync(legacy))
281
+ return null;
282
+ const config = (0, shared_1.readJsonFile)(legacy);
283
+ if (!config.mcpServers?.codegraph)
284
+ return null;
285
+ delete config.mcpServers.codegraph;
286
+ if (Object.keys(config.mcpServers).length === 0) {
287
+ delete config.mcpServers;
288
+ }
289
+ (0, shared_1.writeJsonFile)(legacy, config);
290
+ return { path: legacy, action: 'removed' };
291
+ }
292
+ function removeCodegraphFromFile(file) {
293
+ if (!fs.existsSync(file))
294
+ return { path: file, action: 'not-found' };
295
+ const config = (0, shared_1.readJsonFile)(file);
296
+ if (!config.mcpServers?.codegraph)
297
+ return { path: file, action: 'not-found' };
298
+ delete config.mcpServers.codegraph;
299
+ if (Object.keys(config.mcpServers).length === 0) {
300
+ delete config.mcpServers;
301
+ }
302
+ // Leave a now-empty `{}` in place — Antigravity manages this file and
303
+ // a stray empty file is less surprising than a deletion.
304
+ (0, shared_1.writeJsonFile)(file, config);
305
+ return { path: file, action: 'removed' };
306
+ }
307
+ exports.antigravityTarget = new AntigravityTarget();
308
+ //# sourceMappingURL=antigravity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../src/installer/targets/antigravity.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAAyC;AAQzC,qCAIkB;AAElB,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACtD,CAAC;AACD,SAAS,oBAAoB;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,iBAAiB,CAAC,CAAC;AAC1D,CAAC;AACD,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AACD,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACzD,CAAC;AACD,SAAS,kBAAkB;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,sBAAsB;IAC7B,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAAE,OAAO,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAAE,OAAO,oBAAoB,EAAE,CAAC;IACzE,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,uBAAuB;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,wBAAQ,EAAC,yCAAyC,EAAE;YACnE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,QAAQ,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB;IAC5B,OAAO;QACL,OAAO,EAAE,uBAAuB,EAAE;QAClC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,iBAAiB;IACZ,EAAE,GAAG,aAAsB,CAAC;IAC5B,WAAW,GAAG,iBAAiB,CAAC;IAChC,OAAO,GAAG,4BAA4B,CAAC;IAEhD,gBAAgB,CAAC,GAAa;QAC5B,OAAO,GAAG,KAAK,QAAQ,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAa;QAClB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;QAClC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;QACzD,mEAAmE;QACnE,qEAAqE;QACrE,sDAAsD;QACtD,MAAM,SAAS,GACb,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,GAAa,EAAE,KAAqB;QAC1C,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO;gBACL,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,CAAC,8EAA8E,CAAC;aACxF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAyB,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5B,sEAAsE;QACtE,iEAAiE;QACjE,gDAAgD;QAChD,MAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC;QAC3C,IAAI,aAAa;YAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO;YACL,KAAK;YACL,KAAK,EAAE,CAAC,qDAAqD,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,GAAa;QACrB,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAyB,EAAE,CAAC;QAEvC,kCAAkC;QAClC,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC;QAE/C,mEAAmE;QACnE,sEAAsE;QACtE,oEAAoE;QACpE,MAAM,KAAK,GAAG,SAAS,KAAK,oBAAoB,EAAE;YAChD,CAAC,CAAC,mBAAmB,EAAE;YACvB,CAAC,CAAC,oBAAoB,EAAE,CAAC;QAC3B,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACnD,8DAA8D;YAC9D,uDAAuD;YACvD,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,GAAa;QACvB,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,0EAA0E,CAAC;QACpF,CAAC;QACD,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChG,OAAO,YAAY,IAAI,OAAO,OAAO,IAAI,CAAC;IAC5C,CAAC;IAED,aAAa,CAAC,GAAa;QACzB,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACpC,CAAC;CACF;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,sBAAsB,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IAEtC,IAAI,IAAA,sBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GACV,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,CAAC,UAAU;QAAE,QAAQ,CAAC,UAAU,GAAG,EAAE,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;IACtC,IAAA,sBAAa,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB;IACzB,IAAI,sBAAsB,EAAE,KAAK,oBAAoB,EAAE;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,IAAA,sBAAa,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACrE,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9E,OAAO,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,sEAAsE;IACtE,yDAAyD;IACzD,IAAA,sBAAa,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAEY,QAAA,iBAAiB,GAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -16,7 +16,7 @@
16
16
  * now write `./.mcp.json` and migrate any stale `./.claude.json` entry
17
17
  * out of the way on install and uninstall.
18
18
  */
19
- import { AgentTarget, Location, WriteResult } from './types'
19
+ import { AgentTarget, Location, WriteResult } from './types';
20
20
  /**
21
21
  * Per-file write helpers, exported so the legacy `config-writer.ts`
22
22
  * shim can call only the named operation (writeMcpConfig writes ONLY
@@ -24,32 +24,39 @@ import { AgentTarget, Location, WriteResult } from './types'
24
24
  * writes all three files. Without this split the shims silently
25
25
  * cause side effects callers don't expect.
26
26
  */
27
- export declare function writeMcpEntry(
28
- loc: Location,
29
- ): WriteResult['files'][number]
27
+ export declare function writeMcpEntry(loc: Location): WriteResult['files'][number];
30
28
  /**
31
- * Remove stale codegraph auto-sync hooks from Claude `settings.json`.
32
- *
33
- * Surgical at the individual-command level: only entries matching
34
- * `isLegacyCodegraphHookCommand` are dropped, so a sibling hook sharing
35
- * a matcher group (or the Stop event) with ours survives. We prune a
36
- * matcher group only once its `hooks` array is empty, an event only
37
- * once it has no groups left, and `hooks` itself only once every event
38
- * is gone — and none of that runs unless we actually removed a
39
- * codegraph command, so a settings.json with no legacy hooks is left
40
- * byte-for-byte untouched and reported `unchanged`.
41
- *
42
- * Exported so it can be unit-tested directly and reused by both
29
+ * Remove stale codegraph auto-sync hooks (`mark-dirty` / `sync-if-dirty`) that a
30
+ * pre-0.8 install wrote. Exported for direct unit-testing; reused by both
43
31
  * `install` (an upgrade self-heals) and `uninstall`.
44
32
  */
45
- export declare function cleanupLegacyHooks(
46
- loc: Location,
47
- ): WriteResult['files'][number]
48
- export declare function writePermissionsEntry(
49
- loc: Location,
50
- ): WriteResult['files'][number]
51
- export declare function writeInstructionsEntry(
52
- loc: Location,
53
- ): WriteResult['files'][number]
54
- export declare const claudeTarget: AgentTarget
55
- //# sourceMappingURL=claude.d.ts.map
33
+ export declare function cleanupLegacyHooks(loc: Location): WriteResult['files'][number];
34
+ /**
35
+ * Remove the front-load `UserPromptSubmit` hook this installer writes (see
36
+ * writePromptHookEntry). Used by `uninstall`, and by `install` when the user
37
+ * opts out, so the choice round-trips.
38
+ */
39
+ export declare function removePromptHookEntry(loc: Location): WriteResult['files'][number];
40
+ export declare function writePermissionsEntry(loc: Location): WriteResult['files'][number];
41
+ /**
42
+ * Write the front-load `UserPromptSubmit` hook into Claude `settings.json` —
43
+ * a `command` hook that runs `codegraph prompt-hook`, which injects
44
+ * codegraph_explore context for structural prompts so the agent reliably uses
45
+ * the graph. Idempotent: if our command is already wired under UserPromptSubmit
46
+ * the file is left byte-for-byte untouched and reported `unchanged`. Sibling
47
+ * hooks (the user's own, or other events) are preserved. Opt-in — the installer
48
+ * only calls this when the user accepts the prompt (default-yes).
49
+ */
50
+ export declare function writePromptHookEntry(loc: Location): WriteResult['files'][number];
51
+ /**
52
+ * Strip the marker-delimited CodeGraph block from CLAUDE.md if a prior
53
+ * install wrote one. Codegraph no longer maintains an instructions file
54
+ * (issue #529) — the MCP server's `initialize` instructions are the
55
+ * single source of truth — so both install (self-heal on upgrade) and
56
+ * uninstall call this. `removeMarkedSection` returns `not-found`/`kept`
57
+ * when there's nothing to strip; the install caller drops those from
58
+ * the report so a fresh install stays quiet.
59
+ */
60
+ export declare function removeInstructionsEntry(loc: Location): WriteResult['files'][number];
61
+ export declare const claudeTarget: AgentTarget;
62
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EACL,WAAW,EAGX,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAkMjB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAsBzE;AAoHD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAE9E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAEjF;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAInF;AAED,eAAO,MAAM,YAAY,EAAE,WAAoC,CAAC"}