@saluzi/codegraph 0.2.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 (657) hide show
  1. package/dist/bin/codegraph.d.ts +26 -0
  2. package/dist/bin/codegraph.d.ts.map +1 -0
  3. package/dist/bin/codegraph.js +2248 -0
  4. package/dist/bin/codegraph.js.map +1 -0
  5. package/dist/bin/command-supervision.d.ts +49 -0
  6. package/dist/bin/command-supervision.d.ts.map +1 -0
  7. package/dist/bin/command-supervision.js +95 -0
  8. package/dist/bin/command-supervision.js.map +1 -0
  9. package/dist/bin/fatal-handler.d.ts +20 -0
  10. package/dist/bin/fatal-handler.d.ts.map +1 -0
  11. package/dist/bin/fatal-handler.js +118 -0
  12. package/dist/bin/fatal-handler.js.map +1 -0
  13. package/dist/bin/node-version-check.d.ts +37 -0
  14. package/dist/bin/node-version-check.d.ts.map +1 -0
  15. package/dist/bin/node-version-check.js +79 -0
  16. package/dist/bin/node-version-check.js.map +1 -0
  17. package/dist/bin/uninstall.d.ts +14 -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 +30 -0
  22. package/dist/context/formatter.d.ts.map +1 -0
  23. package/dist/context/formatter.js +263 -0
  24. package/dist/context/formatter.js.map +1 -0
  25. package/dist/context/index.d.ts +119 -0
  26. package/dist/context/index.d.ts.map +1 -0
  27. package/dist/context/index.js +1296 -0
  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 +201 -0
  34. package/dist/db/index.d.ts.map +1 -0
  35. package/dist/db/index.js +493 -0
  36. package/dist/db/index.js.map +1 -0
  37. package/dist/db/migrations.d.ts +44 -0
  38. package/dist/db/migrations.d.ts.map +1 -0
  39. package/dist/db/migrations.js +212 -0
  40. package/dist/db/migrations.js.map +1 -0
  41. package/dist/db/queries.d.ts +513 -0
  42. package/dist/db/queries.d.ts.map +1 -0
  43. package/dist/db/queries.js +1886 -0
  44. package/dist/db/queries.js.map +1 -0
  45. package/dist/db/schema.sql +194 -0
  46. package/dist/db/sqlite-adapter.d.ts +53 -0
  47. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  48. package/dist/db/sqlite-adapter.js +117 -0
  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 +183 -0
  55. package/dist/directory.d.ts.map +1 -0
  56. package/dist/directory.js +797 -0
  57. package/dist/directory.js.map +1 -0
  58. package/dist/errors.d.ts +136 -0
  59. package/dist/errors.d.ts.map +1 -0
  60. package/dist/errors.js +219 -0
  61. package/dist/errors.js.map +1 -0
  62. package/dist/extraction/astro-extractor.d.ts +79 -0
  63. package/dist/extraction/astro-extractor.d.ts.map +1 -0
  64. package/dist/extraction/astro-extractor.js +320 -0
  65. package/dist/extraction/astro-extractor.js.map +1 -0
  66. package/dist/extraction/cfml-extractor.d.ts +107 -0
  67. package/dist/extraction/cfml-extractor.d.ts.map +1 -0
  68. package/dist/extraction/cfml-extractor.js +494 -0
  69. package/dist/extraction/cfml-extractor.js.map +1 -0
  70. package/dist/extraction/dfm-extractor.d.ts +31 -0
  71. package/dist/extraction/dfm-extractor.d.ts.map +1 -0
  72. package/dist/extraction/dfm-extractor.js +151 -0
  73. package/dist/extraction/dfm-extractor.js.map +1 -0
  74. package/dist/extraction/extraction-version.d.ts +25 -0
  75. package/dist/extraction/extraction-version.d.ts.map +1 -0
  76. package/dist/extraction/extraction-version.js +28 -0
  77. package/dist/extraction/extraction-version.js.map +1 -0
  78. package/dist/extraction/function-ref.d.ts +118 -0
  79. package/dist/extraction/function-ref.d.ts.map +1 -0
  80. package/dist/extraction/function-ref.js +727 -0
  81. package/dist/extraction/function-ref.js.map +1 -0
  82. package/dist/extraction/generated-detection.d.ts +30 -0
  83. package/dist/extraction/generated-detection.d.ts.map +1 -0
  84. package/dist/extraction/generated-detection.js +83 -0
  85. package/dist/extraction/generated-detection.js.map +1 -0
  86. package/dist/extraction/grammars.d.ts +138 -0
  87. package/dist/extraction/grammars.d.ts.map +1 -0
  88. package/dist/extraction/grammars.js +631 -0
  89. package/dist/extraction/grammars.js.map +1 -0
  90. package/dist/extraction/index.d.ts +232 -0
  91. package/dist/extraction/index.d.ts.map +1 -0
  92. package/dist/extraction/index.js +2409 -0
  93. package/dist/extraction/index.js.map +1 -0
  94. package/dist/extraction/languages/arkts.d.ts +3 -0
  95. package/dist/extraction/languages/arkts.d.ts.map +1 -0
  96. package/dist/extraction/languages/arkts.js +127 -0
  97. package/dist/extraction/languages/arkts.js.map +1 -0
  98. package/dist/extraction/languages/c-cpp.d.ts +110 -0
  99. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  100. package/dist/extraction/languages/c-cpp.js +837 -0
  101. package/dist/extraction/languages/c-cpp.js.map +1 -0
  102. package/dist/extraction/languages/cfquery.d.ts +12 -0
  103. package/dist/extraction/languages/cfquery.d.ts.map +1 -0
  104. package/dist/extraction/languages/cfquery.js +28 -0
  105. package/dist/extraction/languages/cfquery.js.map +1 -0
  106. package/dist/extraction/languages/cfscript.d.ts +3 -0
  107. package/dist/extraction/languages/cfscript.d.ts.map +1 -0
  108. package/dist/extraction/languages/cfscript.js +73 -0
  109. package/dist/extraction/languages/cfscript.js.map +1 -0
  110. package/dist/extraction/languages/cobol.d.ts +33 -0
  111. package/dist/extraction/languages/cobol.d.ts.map +1 -0
  112. package/dist/extraction/languages/cobol.js +499 -0
  113. package/dist/extraction/languages/cobol.js.map +1 -0
  114. package/dist/extraction/languages/csharp.d.ts +25 -0
  115. package/dist/extraction/languages/csharp.d.ts.map +1 -0
  116. package/dist/extraction/languages/csharp.js +175 -0
  117. package/dist/extraction/languages/csharp.js.map +1 -0
  118. package/dist/extraction/languages/dart.d.ts +3 -0
  119. package/dist/extraction/languages/dart.d.ts.map +1 -0
  120. package/dist/extraction/languages/dart.js +374 -0
  121. package/dist/extraction/languages/dart.js.map +1 -0
  122. package/dist/extraction/languages/erlang.d.ts +3 -0
  123. package/dist/extraction/languages/erlang.d.ts.map +1 -0
  124. package/dist/extraction/languages/erlang.js +350 -0
  125. package/dist/extraction/languages/erlang.js.map +1 -0
  126. package/dist/extraction/languages/go.d.ts +3 -0
  127. package/dist/extraction/languages/go.d.ts.map +1 -0
  128. package/dist/extraction/languages/go.js +111 -0
  129. package/dist/extraction/languages/go.js.map +1 -0
  130. package/dist/extraction/languages/index.d.ts +10 -0
  131. package/dist/extraction/languages/index.d.ts.map +1 -0
  132. package/dist/extraction/languages/index.js +71 -0
  133. package/dist/extraction/languages/index.js.map +1 -0
  134. package/dist/extraction/languages/java.d.ts +3 -0
  135. package/dist/extraction/languages/java.d.ts.map +1 -0
  136. package/dist/extraction/languages/java.js +315 -0
  137. package/dist/extraction/languages/java.js.map +1 -0
  138. package/dist/extraction/languages/javascript.d.ts +3 -0
  139. package/dist/extraction/languages/javascript.d.ts.map +1 -0
  140. package/dist/extraction/languages/javascript.js +106 -0
  141. package/dist/extraction/languages/javascript.js.map +1 -0
  142. package/dist/extraction/languages/kotlin.d.ts +3 -0
  143. package/dist/extraction/languages/kotlin.d.ts.map +1 -0
  144. package/dist/extraction/languages/kotlin.js +379 -0
  145. package/dist/extraction/languages/kotlin.js.map +1 -0
  146. package/dist/extraction/languages/lua.d.ts +3 -0
  147. package/dist/extraction/languages/lua.d.ts.map +1 -0
  148. package/dist/extraction/languages/lua.js +150 -0
  149. package/dist/extraction/languages/lua.js.map +1 -0
  150. package/dist/extraction/languages/luau.d.ts +3 -0
  151. package/dist/extraction/languages/luau.d.ts.map +1 -0
  152. package/dist/extraction/languages/luau.js +37 -0
  153. package/dist/extraction/languages/luau.js.map +1 -0
  154. package/dist/extraction/languages/nix.d.ts +3 -0
  155. package/dist/extraction/languages/nix.d.ts.map +1 -0
  156. package/dist/extraction/languages/nix.js +294 -0
  157. package/dist/extraction/languages/nix.js.map +1 -0
  158. package/dist/extraction/languages/objc.d.ts +3 -0
  159. package/dist/extraction/languages/objc.d.ts.map +1 -0
  160. package/dist/extraction/languages/objc.js +175 -0
  161. package/dist/extraction/languages/objc.js.map +1 -0
  162. package/dist/extraction/languages/pascal.d.ts +3 -0
  163. package/dist/extraction/languages/pascal.d.ts.map +1 -0
  164. package/dist/extraction/languages/pascal.js +77 -0
  165. package/dist/extraction/languages/pascal.js.map +1 -0
  166. package/dist/extraction/languages/php.d.ts +3 -0
  167. package/dist/extraction/languages/php.d.ts.map +1 -0
  168. package/dist/extraction/languages/php.js +196 -0
  169. package/dist/extraction/languages/php.js.map +1 -0
  170. package/dist/extraction/languages/python.d.ts +3 -0
  171. package/dist/extraction/languages/python.d.ts.map +1 -0
  172. package/dist/extraction/languages/python.js +56 -0
  173. package/dist/extraction/languages/python.js.map +1 -0
  174. package/dist/extraction/languages/r.d.ts +3 -0
  175. package/dist/extraction/languages/r.d.ts.map +1 -0
  176. package/dist/extraction/languages/r.js +314 -0
  177. package/dist/extraction/languages/r.js.map +1 -0
  178. package/dist/extraction/languages/ruby.d.ts +3 -0
  179. package/dist/extraction/languages/ruby.d.ts.map +1 -0
  180. package/dist/extraction/languages/ruby.js +149 -0
  181. package/dist/extraction/languages/ruby.js.map +1 -0
  182. package/dist/extraction/languages/rust.d.ts +3 -0
  183. package/dist/extraction/languages/rust.d.ts.map +1 -0
  184. package/dist/extraction/languages/rust.js +142 -0
  185. package/dist/extraction/languages/rust.js.map +1 -0
  186. package/dist/extraction/languages/scala.d.ts +3 -0
  187. package/dist/extraction/languages/scala.d.ts.map +1 -0
  188. package/dist/extraction/languages/scala.js +209 -0
  189. package/dist/extraction/languages/scala.js.map +1 -0
  190. package/dist/extraction/languages/solidity.d.ts +3 -0
  191. package/dist/extraction/languages/solidity.d.ts.map +1 -0
  192. package/dist/extraction/languages/solidity.js +293 -0
  193. package/dist/extraction/languages/solidity.js.map +1 -0
  194. package/dist/extraction/languages/swift.d.ts +3 -0
  195. package/dist/extraction/languages/swift.d.ts.map +1 -0
  196. package/dist/extraction/languages/swift.js +152 -0
  197. package/dist/extraction/languages/swift.js.map +1 -0
  198. package/dist/extraction/languages/terraform.d.ts +3 -0
  199. package/dist/extraction/languages/terraform.d.ts.map +1 -0
  200. package/dist/extraction/languages/terraform.js +641 -0
  201. package/dist/extraction/languages/terraform.js.map +1 -0
  202. package/dist/extraction/languages/typescript.d.ts +16 -0
  203. package/dist/extraction/languages/typescript.d.ts.map +1 -0
  204. package/dist/extraction/languages/typescript.js +167 -0
  205. package/dist/extraction/languages/typescript.js.map +1 -0
  206. package/dist/extraction/languages/vbnet.d.ts +11 -0
  207. package/dist/extraction/languages/vbnet.d.ts.map +1 -0
  208. package/dist/extraction/languages/vbnet.js +141 -0
  209. package/dist/extraction/languages/vbnet.js.map +1 -0
  210. package/dist/extraction/liquid-extractor.d.ts +59 -0
  211. package/dist/extraction/liquid-extractor.d.ts.map +1 -0
  212. package/dist/extraction/liquid-extractor.js +357 -0
  213. package/dist/extraction/liquid-extractor.js.map +1 -0
  214. package/dist/extraction/mybatis-extractor.d.ts +68 -0
  215. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  216. package/dist/extraction/mybatis-extractor.js +300 -0
  217. package/dist/extraction/mybatis-extractor.js.map +1 -0
  218. package/dist/extraction/parse-pool.d.ts +152 -0
  219. package/dist/extraction/parse-pool.d.ts.map +1 -0
  220. package/dist/extraction/parse-pool.js +387 -0
  221. package/dist/extraction/parse-pool.js.map +1 -0
  222. package/dist/extraction/parse-worker.d.ts +8 -0
  223. package/dist/extraction/parse-worker.d.ts.map +1 -0
  224. package/dist/extraction/parse-worker.js +104 -0
  225. package/dist/extraction/parse-worker.js.map +1 -0
  226. package/dist/extraction/razor-extractor.d.ts +42 -0
  227. package/dist/extraction/razor-extractor.d.ts.map +1 -0
  228. package/dist/extraction/razor-extractor.js +285 -0
  229. package/dist/extraction/razor-extractor.js.map +1 -0
  230. package/dist/extraction/svelte-extractor.d.ts +56 -0
  231. package/dist/extraction/svelte-extractor.d.ts.map +1 -0
  232. package/dist/extraction/svelte-extractor.js +275 -0
  233. package/dist/extraction/svelte-extractor.js.map +1 -0
  234. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  235. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  236. package/dist/extraction/tree-sitter-helpers.js +153 -0
  237. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  238. package/dist/extraction/tree-sitter-types.d.ts +258 -0
  239. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  240. package/dist/extraction/tree-sitter-types.js +10 -0
  241. package/dist/extraction/tree-sitter-types.js.map +1 -0
  242. package/dist/extraction/tree-sitter.d.ts +706 -0
  243. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  244. package/dist/extraction/tree-sitter.js +6506 -0
  245. package/dist/extraction/tree-sitter.js.map +1 -0
  246. package/dist/extraction/vue-extractor.d.ts +51 -0
  247. package/dist/extraction/vue-extractor.d.ts.map +1 -0
  248. package/dist/extraction/vue-extractor.js +254 -0
  249. package/dist/extraction/vue-extractor.js.map +1 -0
  250. package/dist/extraction/wasm/tree-sitter-arkts.wasm +0 -0
  251. package/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  252. package/dist/extraction/wasm/tree-sitter-cfml.wasm +0 -0
  253. package/dist/extraction/wasm/tree-sitter-cfquery.wasm +0 -0
  254. package/dist/extraction/wasm/tree-sitter-cfscript.wasm +0 -0
  255. package/dist/extraction/wasm/tree-sitter-cobol.wasm +0 -0
  256. package/dist/extraction/wasm/tree-sitter-erlang.wasm +0 -0
  257. package/dist/extraction/wasm/tree-sitter-lua.wasm +0 -0
  258. package/dist/extraction/wasm/tree-sitter-luau.wasm +0 -0
  259. package/dist/extraction/wasm/tree-sitter-nix.wasm +0 -0
  260. package/dist/extraction/wasm/tree-sitter-pascal.wasm +0 -0
  261. package/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  262. package/dist/extraction/wasm/tree-sitter-scala.wasm +0 -0
  263. package/dist/extraction/wasm/tree-sitter-terraform.wasm +0 -0
  264. package/dist/extraction/wasm/tree-sitter-vbnet.wasm +0 -0
  265. package/dist/extraction/wasm-runtime-flags.d.ts +38 -0
  266. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  267. package/dist/extraction/wasm-runtime-flags.js +106 -0
  268. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  269. package/dist/graph/index.d.ts +8 -0
  270. package/dist/graph/index.d.ts.map +1 -0
  271. package/dist/graph/index.js +13 -0
  272. package/dist/graph/index.js.map +1 -0
  273. package/dist/graph/queries.d.ts +106 -0
  274. package/dist/graph/queries.d.ts.map +1 -0
  275. package/dist/graph/queries.js +339 -0
  276. package/dist/graph/queries.js.map +1 -0
  277. package/dist/graph/traversal.d.ts +127 -0
  278. package/dist/graph/traversal.d.ts.map +1 -0
  279. package/dist/graph/traversal.js +599 -0
  280. package/dist/graph/traversal.js.map +1 -0
  281. package/dist/index.d.ts +643 -0
  282. package/dist/index.d.ts.map +1 -0
  283. package/dist/index.js +1491 -0
  284. package/dist/index.js.map +1 -0
  285. package/dist/installer/config-writer.d.ts +28 -0
  286. package/dist/installer/config-writer.d.ts.map +1 -0
  287. package/dist/installer/config-writer.js +91 -0
  288. package/dist/installer/config-writer.js.map +1 -0
  289. package/dist/installer/index.d.ts +142 -0
  290. package/dist/installer/index.d.ts.map +1 -0
  291. package/dist/installer/index.js +619 -0
  292. package/dist/installer/index.js.map +1 -0
  293. package/dist/installer/instructions-template.d.ts +41 -0
  294. package/dist/installer/instructions-template.d.ts.map +1 -0
  295. package/dist/installer/instructions-template.js +53 -0
  296. package/dist/installer/instructions-template.js.map +1 -0
  297. package/dist/installer/targets/antigravity.d.ts +57 -0
  298. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  299. package/dist/installer/targets/antigravity.js +308 -0
  300. package/dist/installer/targets/antigravity.js.map +1 -0
  301. package/dist/installer/targets/claude.d.ts +62 -0
  302. package/dist/installer/targets/claude.d.ts.map +1 -0
  303. package/dist/installer/targets/claude.js +454 -0
  304. package/dist/installer/targets/claude.js.map +1 -0
  305. package/dist/installer/targets/codex.d.ts +18 -0
  306. package/dist/installer/targets/codex.d.ts.map +1 -0
  307. package/dist/installer/targets/codex.js +185 -0
  308. package/dist/installer/targets/codex.js.map +1 -0
  309. package/dist/installer/targets/cursor.d.ts +35 -0
  310. package/dist/installer/targets/cursor.d.ts.map +1 -0
  311. package/dist/installer/targets/cursor.js +254 -0
  312. package/dist/installer/targets/cursor.js.map +1 -0
  313. package/dist/installer/targets/gemini.d.ts +26 -0
  314. package/dist/installer/targets/gemini.d.ts.map +1 -0
  315. package/dist/installer/targets/gemini.js +165 -0
  316. package/dist/installer/targets/gemini.js.map +1 -0
  317. package/dist/installer/targets/hermes.d.ts +18 -0
  318. package/dist/installer/targets/hermes.d.ts.map +1 -0
  319. package/dist/installer/targets/hermes.js +359 -0
  320. package/dist/installer/targets/hermes.js.map +1 -0
  321. package/dist/installer/targets/kiro.d.ts +27 -0
  322. package/dist/installer/targets/kiro.d.ts.map +1 -0
  323. package/dist/installer/targets/kiro.js +178 -0
  324. package/dist/installer/targets/kiro.js.map +1 -0
  325. package/dist/installer/targets/opencode.d.ts +38 -0
  326. package/dist/installer/targets/opencode.d.ts.map +1 -0
  327. package/dist/installer/targets/opencode.js +288 -0
  328. package/dist/installer/targets/opencode.js.map +1 -0
  329. package/dist/installer/targets/registry.d.ts +35 -0
  330. package/dist/installer/targets/registry.d.ts.map +1 -0
  331. package/dist/installer/targets/registry.js +91 -0
  332. package/dist/installer/targets/registry.js.map +1 -0
  333. package/dist/installer/targets/shared.d.ts +101 -0
  334. package/dist/installer/targets/shared.d.ts.map +1 -0
  335. package/dist/installer/targets/shared.js +264 -0
  336. package/dist/installer/targets/shared.js.map +1 -0
  337. package/dist/installer/targets/toml.d.ts +52 -0
  338. package/dist/installer/targets/toml.d.ts.map +1 -0
  339. package/dist/installer/targets/toml.js +147 -0
  340. package/dist/installer/targets/toml.js.map +1 -0
  341. package/dist/installer/targets/types.d.ts +108 -0
  342. package/dist/installer/targets/types.d.ts.map +1 -0
  343. package/dist/installer/targets/types.js +16 -0
  344. package/dist/installer/targets/types.js.map +1 -0
  345. package/dist/mcp/daemon-manager.d.ts +42 -0
  346. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  347. package/dist/mcp/daemon-manager.js +129 -0
  348. package/dist/mcp/daemon-manager.js.map +1 -0
  349. package/dist/mcp/daemon-paths.d.ts +73 -0
  350. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  351. package/dist/mcp/daemon-paths.js +165 -0
  352. package/dist/mcp/daemon-paths.js.map +1 -0
  353. package/dist/mcp/daemon-registry.d.ts +47 -0
  354. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  355. package/dist/mcp/daemon-registry.js +233 -0
  356. package/dist/mcp/daemon-registry.js.map +1 -0
  357. package/dist/mcp/daemon.d.ts +290 -0
  358. package/dist/mcp/daemon.d.ts.map +1 -0
  359. package/dist/mcp/daemon.js +862 -0
  360. package/dist/mcp/daemon.js.map +1 -0
  361. package/dist/mcp/dynamic-boundaries.d.ts +41 -0
  362. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  363. package/dist/mcp/dynamic-boundaries.js +360 -0
  364. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  365. package/dist/mcp/early-ppid.d.ts +26 -0
  366. package/dist/mcp/early-ppid.d.ts.map +1 -0
  367. package/dist/mcp/early-ppid.js +29 -0
  368. package/dist/mcp/early-ppid.js.map +1 -0
  369. package/dist/mcp/engine.d.ts +122 -0
  370. package/dist/mcp/engine.d.ts.map +1 -0
  371. package/dist/mcp/engine.js +350 -0
  372. package/dist/mcp/engine.js.map +1 -0
  373. package/dist/mcp/index.d.ts +113 -0
  374. package/dist/mcp/index.d.ts.map +1 -0
  375. package/dist/mcp/index.js +506 -0
  376. package/dist/mcp/index.js.map +1 -0
  377. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  378. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  379. package/dist/mcp/liveness-watchdog.js +267 -0
  380. package/dist/mcp/liveness-watchdog.js.map +1 -0
  381. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  382. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  383. package/dist/mcp/ppid-watchdog.js +64 -0
  384. package/dist/mcp/ppid-watchdog.js.map +1 -0
  385. package/dist/mcp/proxy.d.ts +87 -0
  386. package/dist/mcp/proxy.d.ts.map +1 -0
  387. package/dist/mcp/proxy.js +667 -0
  388. package/dist/mcp/proxy.js.map +1 -0
  389. package/dist/mcp/query-pool.d.ts +108 -0
  390. package/dist/mcp/query-pool.d.ts.map +1 -0
  391. package/dist/mcp/query-pool.js +315 -0
  392. package/dist/mcp/query-pool.js.map +1 -0
  393. package/dist/mcp/query-worker.d.ts +24 -0
  394. package/dist/mcp/query-worker.d.ts.map +1 -0
  395. package/dist/mcp/query-worker.js +87 -0
  396. package/dist/mcp/query-worker.js.map +1 -0
  397. package/dist/mcp/server-instructions.d.ts +34 -0
  398. package/dist/mcp/server-instructions.d.ts.map +1 -0
  399. package/dist/mcp/server-instructions.js +106 -0
  400. package/dist/mcp/server-instructions.js.map +1 -0
  401. package/dist/mcp/session.d.ts +93 -0
  402. package/dist/mcp/session.d.ts.map +1 -0
  403. package/dist/mcp/session.js +357 -0
  404. package/dist/mcp/session.js.map +1 -0
  405. package/dist/mcp/startup-handshake.d.ts +44 -0
  406. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  407. package/dist/mcp/startup-handshake.js +73 -0
  408. package/dist/mcp/startup-handshake.js.map +1 -0
  409. package/dist/mcp/stdin-teardown.d.ts +27 -0
  410. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  411. package/dist/mcp/stdin-teardown.js +49 -0
  412. package/dist/mcp/stdin-teardown.js.map +1 -0
  413. package/dist/mcp/tools.d.ts +613 -0
  414. package/dist/mcp/tools.d.ts.map +1 -0
  415. package/dist/mcp/tools.js +4477 -0
  416. package/dist/mcp/tools.js.map +1 -0
  417. package/dist/mcp/transport.d.ts +188 -0
  418. package/dist/mcp/transport.d.ts.map +1 -0
  419. package/dist/mcp/transport.js +377 -0
  420. package/dist/mcp/transport.js.map +1 -0
  421. package/dist/mcp/version.d.ts +19 -0
  422. package/dist/mcp/version.d.ts.map +1 -0
  423. package/dist/mcp/version.js +71 -0
  424. package/dist/mcp/version.js.map +1 -0
  425. package/dist/project-config.d.ts +94 -0
  426. package/dist/project-config.d.ts.map +1 -0
  427. package/dist/project-config.js +374 -0
  428. package/dist/project-config.js.map +1 -0
  429. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  430. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  431. package/dist/resolution/c-fnptr-synthesizer.js +1062 -0
  432. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  433. package/dist/resolution/callback-synthesizer.d.ts +15 -0
  434. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  435. package/dist/resolution/callback-synthesizer.js +3938 -0
  436. package/dist/resolution/callback-synthesizer.js.map +1 -0
  437. package/dist/resolution/cooperative-yield.d.ts +32 -0
  438. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  439. package/dist/resolution/cooperative-yield.js +42 -0
  440. package/dist/resolution/cooperative-yield.js.map +1 -0
  441. package/dist/resolution/frameworks/astro.d.ts +9 -0
  442. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  443. package/dist/resolution/frameworks/astro.js +169 -0
  444. package/dist/resolution/frameworks/astro.js.map +1 -0
  445. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  446. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  447. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  448. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  449. package/dist/resolution/frameworks/cics.d.ts +20 -0
  450. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  451. package/dist/resolution/frameworks/cics.js +90 -0
  452. package/dist/resolution/frameworks/cics.js.map +1 -0
  453. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  454. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  455. package/dist/resolution/frameworks/csharp.js +241 -0
  456. package/dist/resolution/frameworks/csharp.js.map +1 -0
  457. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  458. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  459. package/dist/resolution/frameworks/drupal.js +367 -0
  460. package/dist/resolution/frameworks/drupal.js.map +1 -0
  461. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  462. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  463. package/dist/resolution/frameworks/expo-modules.js +148 -0
  464. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  465. package/dist/resolution/frameworks/express.d.ts +8 -0
  466. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  467. package/dist/resolution/frameworks/express.js +308 -0
  468. package/dist/resolution/frameworks/express.js.map +1 -0
  469. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  470. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  471. package/dist/resolution/frameworks/fabric.js +354 -0
  472. package/dist/resolution/frameworks/fabric.js.map +1 -0
  473. package/dist/resolution/frameworks/go.d.ts +8 -0
  474. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  475. package/dist/resolution/frameworks/go.js +161 -0
  476. package/dist/resolution/frameworks/go.js.map +1 -0
  477. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  478. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  479. package/dist/resolution/frameworks/goframe.js +112 -0
  480. package/dist/resolution/frameworks/goframe.js.map +1 -0
  481. package/dist/resolution/frameworks/index.d.ts +50 -0
  482. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  483. package/dist/resolution/frameworks/index.js +175 -0
  484. package/dist/resolution/frameworks/index.js.map +1 -0
  485. package/dist/resolution/frameworks/java.d.ts +8 -0
  486. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  487. package/dist/resolution/frameworks/java.js +517 -0
  488. package/dist/resolution/frameworks/java.js.map +1 -0
  489. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  490. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  491. package/dist/resolution/frameworks/laravel.js +257 -0
  492. package/dist/resolution/frameworks/laravel.js.map +1 -0
  493. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  494. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  495. package/dist/resolution/frameworks/nestjs.js +698 -0
  496. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  497. package/dist/resolution/frameworks/play.d.ts +19 -0
  498. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  499. package/dist/resolution/frameworks/play.js +111 -0
  500. package/dist/resolution/frameworks/play.js.map +1 -0
  501. package/dist/resolution/frameworks/python.d.ts +10 -0
  502. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  503. package/dist/resolution/frameworks/python.js +400 -0
  504. package/dist/resolution/frameworks/python.js.map +1 -0
  505. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  506. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  507. package/dist/resolution/frameworks/react-native.js +410 -0
  508. package/dist/resolution/frameworks/react-native.js.map +1 -0
  509. package/dist/resolution/frameworks/react.d.ts +8 -0
  510. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  511. package/dist/resolution/frameworks/react.js +334 -0
  512. package/dist/resolution/frameworks/react.js.map +1 -0
  513. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  514. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  515. package/dist/resolution/frameworks/ruby.js +302 -0
  516. package/dist/resolution/frameworks/ruby.js.map +1 -0
  517. package/dist/resolution/frameworks/rust.d.ts +8 -0
  518. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  519. package/dist/resolution/frameworks/rust.js +304 -0
  520. package/dist/resolution/frameworks/rust.js.map +1 -0
  521. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  522. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  523. package/dist/resolution/frameworks/svelte.js +253 -0
  524. package/dist/resolution/frameworks/svelte.js.map +1 -0
  525. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  526. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  527. package/dist/resolution/frameworks/swift-objc.js +252 -0
  528. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  529. package/dist/resolution/frameworks/swift.d.ts +10 -0
  530. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  531. package/dist/resolution/frameworks/swift.js +400 -0
  532. package/dist/resolution/frameworks/swift.js.map +1 -0
  533. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  534. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  535. package/dist/resolution/frameworks/terraform.js +277 -0
  536. package/dist/resolution/frameworks/terraform.js.map +1 -0
  537. package/dist/resolution/frameworks/vue.d.ts +9 -0
  538. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  539. package/dist/resolution/frameworks/vue.js +303 -0
  540. package/dist/resolution/frameworks/vue.js.map +1 -0
  541. package/dist/resolution/go-module.d.ts +26 -0
  542. package/dist/resolution/go-module.d.ts.map +1 -0
  543. package/dist/resolution/go-module.js +78 -0
  544. package/dist/resolution/go-module.js.map +1 -0
  545. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  546. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  547. package/dist/resolution/goframe-synthesizer.js +163 -0
  548. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  549. package/dist/resolution/import-resolver.d.ts +85 -0
  550. package/dist/resolution/import-resolver.d.ts.map +1 -0
  551. package/dist/resolution/import-resolver.js +1974 -0
  552. package/dist/resolution/import-resolver.js.map +1 -0
  553. package/dist/resolution/index.d.ts +258 -0
  554. package/dist/resolution/index.d.ts.map +1 -0
  555. package/dist/resolution/index.js +1746 -0
  556. package/dist/resolution/index.js.map +1 -0
  557. package/dist/resolution/lru-cache.d.ts +24 -0
  558. package/dist/resolution/lru-cache.d.ts.map +1 -0
  559. package/dist/resolution/lru-cache.js +62 -0
  560. package/dist/resolution/lru-cache.js.map +1 -0
  561. package/dist/resolution/name-matcher.d.ts +112 -0
  562. package/dist/resolution/name-matcher.d.ts.map +1 -0
  563. package/dist/resolution/name-matcher.js +1830 -0
  564. package/dist/resolution/name-matcher.js.map +1 -0
  565. package/dist/resolution/path-aliases.d.ts +68 -0
  566. package/dist/resolution/path-aliases.d.ts.map +1 -0
  567. package/dist/resolution/path-aliases.js +238 -0
  568. package/dist/resolution/path-aliases.js.map +1 -0
  569. package/dist/resolution/strip-comments.d.ts +27 -0
  570. package/dist/resolution/strip-comments.d.ts.map +1 -0
  571. package/dist/resolution/strip-comments.js +492 -0
  572. package/dist/resolution/strip-comments.js.map +1 -0
  573. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  574. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  575. package/dist/resolution/swift-objc-bridge.js +256 -0
  576. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  577. package/dist/resolution/types.d.ts +262 -0
  578. package/dist/resolution/types.d.ts.map +1 -0
  579. package/dist/resolution/types.js +8 -0
  580. package/dist/resolution/types.js.map +1 -0
  581. package/dist/resolution/workspace-packages.d.ts +58 -0
  582. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  583. package/dist/resolution/workspace-packages.js +346 -0
  584. package/dist/resolution/workspace-packages.js.map +1 -0
  585. package/dist/search/identifier-segments.d.ts +60 -0
  586. package/dist/search/identifier-segments.d.ts.map +1 -0
  587. package/dist/search/identifier-segments.js +176 -0
  588. package/dist/search/identifier-segments.js.map +1 -0
  589. package/dist/search/query-parser.d.ts +57 -0
  590. package/dist/search/query-parser.d.ts.map +1 -0
  591. package/dist/search/query-parser.js +177 -0
  592. package/dist/search/query-parser.js.map +1 -0
  593. package/dist/search/query-utils.d.ts +87 -0
  594. package/dist/search/query-utils.d.ts.map +1 -0
  595. package/dist/search/query-utils.js +449 -0
  596. package/dist/search/query-utils.js.map +1 -0
  597. package/dist/sync/git-hooks.d.ts +45 -0
  598. package/dist/sync/git-hooks.d.ts.map +1 -0
  599. package/dist/sync/git-hooks.js +227 -0
  600. package/dist/sync/git-hooks.js.map +1 -0
  601. package/dist/sync/index.d.ts +19 -0
  602. package/dist/sync/index.d.ts.map +1 -0
  603. package/dist/sync/index.js +35 -0
  604. package/dist/sync/index.js.map +1 -0
  605. package/dist/sync/watch-policy.d.ts +48 -0
  606. package/dist/sync/watch-policy.d.ts.map +1 -0
  607. package/dist/sync/watch-policy.js +124 -0
  608. package/dist/sync/watch-policy.js.map +1 -0
  609. package/dist/sync/watcher.d.ts +355 -0
  610. package/dist/sync/watcher.d.ts.map +1 -0
  611. package/dist/sync/watcher.js +848 -0
  612. package/dist/sync/watcher.js.map +1 -0
  613. package/dist/sync/worktree.d.ts +63 -0
  614. package/dist/sync/worktree.d.ts.map +1 -0
  615. package/dist/sync/worktree.js +182 -0
  616. package/dist/sync/worktree.js.map +1 -0
  617. package/dist/telemetry/index.d.ts +143 -0
  618. package/dist/telemetry/index.d.ts.map +1 -0
  619. package/dist/telemetry/index.js +541 -0
  620. package/dist/telemetry/index.js.map +1 -0
  621. package/dist/types.d.ts +415 -0
  622. package/dist/types.d.ts.map +1 -0
  623. package/dist/types.js +91 -0
  624. package/dist/types.js.map +1 -0
  625. package/dist/ui/glyphs.d.ts +42 -0
  626. package/dist/ui/glyphs.d.ts.map +1 -0
  627. package/dist/ui/glyphs.js +78 -0
  628. package/dist/ui/glyphs.js.map +1 -0
  629. package/dist/ui/shimmer-progress.d.ts +11 -0
  630. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  631. package/dist/ui/shimmer-progress.js +90 -0
  632. package/dist/ui/shimmer-progress.js.map +1 -0
  633. package/dist/ui/shimmer-worker.d.ts +2 -0
  634. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  635. package/dist/ui/shimmer-worker.js +118 -0
  636. package/dist/ui/shimmer-worker.js.map +1 -0
  637. package/dist/ui/types.d.ts +17 -0
  638. package/dist/ui/types.d.ts.map +1 -0
  639. package/dist/ui/types.js +3 -0
  640. package/dist/ui/types.js.map +1 -0
  641. package/dist/upgrade/index.d.ts +164 -0
  642. package/dist/upgrade/index.d.ts.map +1 -0
  643. package/dist/upgrade/index.js +646 -0
  644. package/dist/upgrade/index.js.map +1 -0
  645. package/dist/upgrade/remove-binary.d.ts +87 -0
  646. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  647. package/dist/upgrade/remove-binary.js +289 -0
  648. package/dist/upgrade/remove-binary.js.map +1 -0
  649. package/dist/upgrade/update-check.d.ts +92 -0
  650. package/dist/upgrade/update-check.d.ts.map +1 -0
  651. package/dist/upgrade/update-check.js +258 -0
  652. package/dist/upgrade/update-check.js.map +1 -0
  653. package/dist/utils.d.ts +224 -0
  654. package/dist/utils.d.ts.map +1 -0
  655. package/dist/utils.js +583 -0
  656. package/dist/utils.js.map +1 -0
  657. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * CLI binary removal for `codegraph uninstall` (the #1071 shadow, uninstall
3
+ * edition).
4
+ *
5
+ * Before this module, three disconnected paths each removed PART of an
6
+ * installation and none removed it all: `codegraph uninstall` swept agent
7
+ * configs only, `install.sh --uninstall` deleted the bundle only, and npm's
8
+ * `preuninstall` hook cleaned configs when npm removed its own package. A
9
+ * user with more than one install method (the common drift: npm first, the
10
+ * bundle later — or vice versa) ran `codegraph uninstall` and still had a
11
+ * working `codegraph` on PATH.
12
+ *
13
+ * This module makes `codegraph uninstall` complete: PLAN every binary
14
+ * install present on the machine (bundle layout(s), the npm global package,
15
+ * the bin-dir shim), then EXECUTE the removals. Split planner/executor with
16
+ * injected side effects, same convention as the upgrade orchestrator.
17
+ *
18
+ * Safety rules:
19
+ * - A source checkout is REPORTED, never deleted — a git repo is the
20
+ * user's working tree, not an "install".
21
+ * - A project-local npm install is left alone — the project's
22
+ * package.json owns it, not the machine-level uninstaller.
23
+ * - On unix the default install dir (`~/.codegraph`) doubles as the
24
+ * machine-level state dir (telemetry choice, daemon records, the
25
+ * update-check cache) — only the install ARTIFACTS (`versions/`,
26
+ * `current`) are removed there, never the whole dir. A dedicated
27
+ * install dir (Windows `%LOCALAPPDATA%\codegraph`, or a custom
28
+ * `CODEGRAPH_INSTALL_DIR`) is removed wholesale.
29
+ * - The bin-dir shim is removed only when it verifiably points into a
30
+ * detected install dir — a user's unrelated `codegraph` file survives.
31
+ * - Windows cannot DELETE a running exe but CAN rename it (the same
32
+ * trick the in-place upgrade uses): a locked `node.exe` is renamed
33
+ * aside and reported as a leftover for the user to delete after the
34
+ * window closes, instead of failing the whole removal.
35
+ */
36
+ export interface RemoveBinaryProbes {
37
+ /** `__filename` of the running CLI entry (dist/bin/codegraph.js). */
38
+ filename: string;
39
+ platform: NodeJS.Platform;
40
+ cwd: string;
41
+ env: NodeJS.ProcessEnv;
42
+ homedir: string;
43
+ exists: (p: string) => boolean;
44
+ /** Symlink target (raw link text), or null when not a symlink / unreadable. */
45
+ readlink: (p: string) => string | null;
46
+ /** Run a command capturing stdout; null = spawn failed. */
47
+ capture: (cmd: string, args: string[]) => {
48
+ code: number;
49
+ stdout: string;
50
+ } | null;
51
+ }
52
+ export interface BinaryRemovalPlan {
53
+ /** Filesystem paths to delete (bundle dirs / artifacts, shim links). */
54
+ paths: string[];
55
+ /** The npm global package is installed and should be `npm uninstall -g`ed. */
56
+ npmGlobal: boolean;
57
+ /**
58
+ * npm's global node_modules root (for the Windows locked-exe dance — the
59
+ * vendored node.exe lives in the SIBLING per-platform package, so the
60
+ * whole root is the lock surface, not just the meta package's dir).
61
+ */
62
+ npmRoot: string | null;
63
+ /** Running from a git checkout — surfaced to the user, never deleted. */
64
+ sourceRoot: string | null;
65
+ /** One human line per planned removal, for the confirm prompt. */
66
+ summary: string[];
67
+ }
68
+ export declare function defaultProbes(filename: string): RemoveBinaryProbes;
69
+ export declare function planBinaryRemoval(p: RemoveBinaryProbes): BinaryRemovalPlan;
70
+ export interface RemoveBinaryDeps {
71
+ platform: NodeJS.Platform;
72
+ /** The running node binary — the file Windows will hold a lock on. */
73
+ execPath: string;
74
+ rm: (p: string) => void;
75
+ rename: (from: string, to: string) => void;
76
+ /** Run a command inheriting stdio; returns exit code (-1 = spawn failed). */
77
+ run: (cmd: string, args: string[]) => number;
78
+ }
79
+ export interface BinaryRemovalResult {
80
+ removed: string[];
81
+ /** Paths that could not be (fully) removed — surfaced with manual steps. */
82
+ leftovers: string[];
83
+ npm: 'removed' | 'failed' | 'skipped';
84
+ }
85
+ export declare function defaultRemoveDeps(): RemoveBinaryDeps;
86
+ export declare function executeBinaryRemoval(plan: BinaryRemovalPlan, deps?: RemoveBinaryDeps): BinaryRemovalResult;
87
+ //# sourceMappingURL=remove-binary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-binary.d.ts","sourceRoot":"","sources":["../../src/upgrade/remove-binary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAYH,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACvC,2DAA2D;IAC3D,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8EAA8E;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,yEAAyE;IACzE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,CAiBlE;AAuCD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CA0E1E;AAMD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,6EAA6E;IAC7E,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,GAAG,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,iBAAiB,IAAI,gBAAgB,CAWpD;AAqBD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,IAAI,GAAE,gBAAsC,GAC3C,mBAAmB,CAuCrB"}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ /**
3
+ * CLI binary removal for `codegraph uninstall` (the #1071 shadow, uninstall
4
+ * edition).
5
+ *
6
+ * Before this module, three disconnected paths each removed PART of an
7
+ * installation and none removed it all: `codegraph uninstall` swept agent
8
+ * configs only, `install.sh --uninstall` deleted the bundle only, and npm's
9
+ * `preuninstall` hook cleaned configs when npm removed its own package. A
10
+ * user with more than one install method (the common drift: npm first, the
11
+ * bundle later — or vice versa) ran `codegraph uninstall` and still had a
12
+ * working `codegraph` on PATH.
13
+ *
14
+ * This module makes `codegraph uninstall` complete: PLAN every binary
15
+ * install present on the machine (bundle layout(s), the npm global package,
16
+ * the bin-dir shim), then EXECUTE the removals. Split planner/executor with
17
+ * injected side effects, same convention as the upgrade orchestrator.
18
+ *
19
+ * Safety rules:
20
+ * - A source checkout is REPORTED, never deleted — a git repo is the
21
+ * user's working tree, not an "install".
22
+ * - A project-local npm install is left alone — the project's
23
+ * package.json owns it, not the machine-level uninstaller.
24
+ * - On unix the default install dir (`~/.codegraph`) doubles as the
25
+ * machine-level state dir (telemetry choice, daemon records, the
26
+ * update-check cache) — only the install ARTIFACTS (`versions/`,
27
+ * `current`) are removed there, never the whole dir. A dedicated
28
+ * install dir (Windows `%LOCALAPPDATA%\codegraph`, or a custom
29
+ * `CODEGRAPH_INSTALL_DIR`) is removed wholesale.
30
+ * - The bin-dir shim is removed only when it verifiably points into a
31
+ * detected install dir — a user's unrelated `codegraph` file survives.
32
+ * - Windows cannot DELETE a running exe but CAN rename it (the same
33
+ * trick the in-place upgrade uses): a locked `node.exe` is renamed
34
+ * aside and reported as a leftover for the user to delete after the
35
+ * window closes, instead of failing the whole removal.
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.defaultProbes = defaultProbes;
72
+ exports.planBinaryRemoval = planBinaryRemoval;
73
+ exports.defaultRemoveDeps = defaultRemoveDeps;
74
+ exports.executeBinaryRemoval = executeBinaryRemoval;
75
+ const fs = __importStar(require("fs"));
76
+ const path = __importStar(require("path"));
77
+ const os = __importStar(require("os"));
78
+ const child_process_1 = require("child_process");
79
+ const index_1 = require("./index");
80
+ function defaultProbes(filename) {
81
+ return {
82
+ filename,
83
+ platform: process.platform,
84
+ cwd: process.cwd(),
85
+ env: process.env,
86
+ homedir: os.homedir(),
87
+ exists: fs.existsSync,
88
+ readlink: (p) => {
89
+ try {
90
+ return fs.readlinkSync(p);
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ },
96
+ capture: (cmd, args) => {
97
+ const res = (0, child_process_1.spawnSync)(cmd, args, { encoding: 'utf8', windowsHide: true, timeout: 30_000 });
98
+ if (res.error || typeof res.status !== 'number')
99
+ return null;
100
+ return { code: res.status, stdout: res.stdout ?? '' };
101
+ },
102
+ };
103
+ }
104
+ /**
105
+ * Path math keyed on the TARGET platform (not the host) — same convention as
106
+ * `detectInstallMethod`, so the planner is deterministic when unit-tested with
107
+ * a win32 fixture on a POSIX host and vice versa. In production the probe's
108
+ * platform always matches the running host.
109
+ */
110
+ function pathFor(platform) {
111
+ return platform === 'win32' ? path.win32 : path.posix;
112
+ }
113
+ /** The machine-level state dir that must survive an artifacts-only removal. */
114
+ function stateDir(p) {
115
+ return pathFor(p.platform).join(p.homedir, '.codegraph');
116
+ }
117
+ /** Candidate bundle install dirs: the running binary's own, plus the defaults. */
118
+ function installDirCandidates(p) {
119
+ const P = pathFor(p.platform);
120
+ const dirs = [];
121
+ const method = (0, index_1.detectInstallMethod)({
122
+ filename: p.filename,
123
+ platform: p.platform,
124
+ cwd: p.cwd,
125
+ exists: p.exists,
126
+ });
127
+ if (method.kind === 'bundle' && method.installDir)
128
+ dirs.push(method.installDir);
129
+ if (p.env.CODEGRAPH_INSTALL_DIR)
130
+ dirs.push(p.env.CODEGRAPH_INSTALL_DIR);
131
+ // Platform defaults — probed even when the RUNNING binary is npm/source,
132
+ // because the whole point is clearing installs the user forgot about.
133
+ if (p.platform === 'win32') {
134
+ if (p.env.LOCALAPPDATA)
135
+ dirs.push(P.join(p.env.LOCALAPPDATA, 'codegraph'));
136
+ }
137
+ else {
138
+ dirs.push(stateDir(p));
139
+ }
140
+ return [...new Set(dirs.map((d) => P.resolve(d)))];
141
+ }
142
+ function planBinaryRemoval(p) {
143
+ const P = pathFor(p.platform);
144
+ const plan = {
145
+ paths: [],
146
+ npmGlobal: false,
147
+ npmRoot: null,
148
+ sourceRoot: null,
149
+ summary: [],
150
+ };
151
+ const method = (0, index_1.detectInstallMethod)({
152
+ filename: p.filename,
153
+ platform: p.platform,
154
+ cwd: p.cwd,
155
+ exists: p.exists,
156
+ });
157
+ if (method.kind === 'source') {
158
+ plan.sourceRoot = method.root;
159
+ }
160
+ // --- Bundle install(s) ----------------------------------------------------
161
+ const installDirs = [];
162
+ for (const dir of installDirCandidates(p)) {
163
+ // A dir counts as a bundle install only when it carries install artifacts.
164
+ const artifacts = ['versions', 'current']
165
+ .map((a) => P.join(dir, a))
166
+ .filter((a) => p.exists(a) || p.readlink(a) !== null); // `current` is a symlink on unix
167
+ if (artifacts.length === 0)
168
+ continue;
169
+ installDirs.push(dir);
170
+ if (P.resolve(dir) === P.resolve(stateDir(p))) {
171
+ // Shared with machine-level state: remove artifacts only.
172
+ plan.paths.push(...artifacts);
173
+ plan.summary.push(`bundle install at ${dir} (versions/ and current — state files kept)`);
174
+ }
175
+ else {
176
+ plan.paths.push(dir);
177
+ plan.summary.push(`bundle install at ${dir}`);
178
+ }
179
+ }
180
+ // --- Bin-dir shim (unix installer's symlink) --------------------------------
181
+ const binDir = p.env.CODEGRAPH_BIN_DIR
182
+ ?? (p.platform === 'win32' ? null : P.join(p.homedir, '.local', 'bin'));
183
+ if (binDir) {
184
+ const shim = P.join(binDir, 'codegraph');
185
+ const target = p.readlink(shim);
186
+ // Only when the link demonstrably points into a bundle install dir —
187
+ // resolved against the link's own directory, since install.sh links an
188
+ // absolute target but a hand-made relative link must still verify.
189
+ if (target !== null) {
190
+ const resolved = P.resolve(binDir, target);
191
+ const ours = installDirs.some((d) => resolved.startsWith(P.resolve(d) + P.sep))
192
+ || resolved.includes(`${P.sep}.codegraph${P.sep}`);
193
+ if (ours) {
194
+ plan.paths.push(shim);
195
+ plan.summary.push(`launcher link at ${shim}`);
196
+ }
197
+ }
198
+ }
199
+ // --- npm global package -----------------------------------------------------
200
+ // Asking npm (not guessing prefixes) keeps this correct under nvm/fnm/volta.
201
+ // A LOCAL npm install (project dependency) is deliberately not offered.
202
+ const rootInv = (0, index_1.npmInvocation)(p.platform, ['root', '-g']);
203
+ const rootRes = p.capture(rootInv.cmd, rootInv.args);
204
+ if (rootRes && rootRes.code === 0) {
205
+ const pkgDir = P.join(rootRes.stdout.trim(), index_1.NPM_PACKAGE);
206
+ if (rootRes.stdout.trim() && p.exists(pkgDir)) {
207
+ plan.npmGlobal = true;
208
+ plan.npmRoot = rootRes.stdout.trim();
209
+ plan.summary.push(`npm global package (${index_1.NPM_PACKAGE})`);
210
+ }
211
+ }
212
+ return plan;
213
+ }
214
+ function defaultRemoveDeps() {
215
+ return {
216
+ platform: process.platform,
217
+ execPath: process.execPath,
218
+ rm: (p) => fs.rmSync(p, { recursive: true, force: true }),
219
+ rename: (from, to) => fs.renameSync(from, to),
220
+ run: (cmd, args) => {
221
+ const res = (0, child_process_1.spawnSync)(cmd, args, { stdio: 'inherit', windowsHide: true, timeout: 120_000 });
222
+ return typeof res.status === 'number' ? res.status : -1;
223
+ },
224
+ };
225
+ }
226
+ /**
227
+ * Rename the running (locked) node.exe out of `dir` so the rest of the tree
228
+ * deletes cleanly — Windows allows renaming a mapped image, just not deleting
229
+ * it. Returns the leftover path, or null when nothing needed moving.
230
+ */
231
+ function moveLockedExeAside(dir, deps) {
232
+ if (deps.platform !== 'win32')
233
+ return null;
234
+ const P = pathFor(deps.platform);
235
+ const resolvedDir = P.resolve(dir) + P.sep;
236
+ if (!P.resolve(deps.execPath).startsWith(resolvedDir))
237
+ return null;
238
+ const leftover = P.join(P.dirname(P.resolve(dir)), `codegraph-old-node-${process.pid}.exe`);
239
+ try {
240
+ deps.rename(deps.execPath, leftover);
241
+ return leftover;
242
+ }
243
+ catch {
244
+ return null; // rename failed too — the rm error will surface the dir
245
+ }
246
+ }
247
+ function executeBinaryRemoval(plan, deps = defaultRemoveDeps()) {
248
+ const result = { removed: [], leftovers: [], npm: 'skipped' };
249
+ const P = pathFor(deps.platform);
250
+ for (const p of plan.paths) {
251
+ // Planner-emitted paths are always deep, specific artifacts; this guard
252
+ // exists so no future planner bug can ever hand the executor a root.
253
+ if (P.resolve(p) === P.parse(P.resolve(p)).root) {
254
+ result.leftovers.push(p);
255
+ continue;
256
+ }
257
+ try {
258
+ deps.rm(p);
259
+ result.removed.push(p);
260
+ }
261
+ catch {
262
+ // Windows: the running exe inside this tree is deletable-after-rename.
263
+ const moved = moveLockedExeAside(p, deps);
264
+ try {
265
+ deps.rm(p);
266
+ result.removed.push(p);
267
+ if (moved)
268
+ result.leftovers.push(moved);
269
+ }
270
+ catch {
271
+ result.leftovers.push(p);
272
+ }
273
+ }
274
+ }
275
+ if (plan.npmGlobal) {
276
+ // If we are RUNNING from the npm install on Windows, npm's delete will
277
+ // hit the same lock — move the exe aside first.
278
+ let moved = null;
279
+ if (plan.npmRoot)
280
+ moved = moveLockedExeAside(plan.npmRoot, deps);
281
+ const inv = (0, index_1.npmInvocation)(deps.platform, ['uninstall', '-g', index_1.NPM_PACKAGE]);
282
+ const code = deps.run(inv.cmd, inv.args);
283
+ result.npm = code === 0 ? 'removed' : 'failed';
284
+ if (moved)
285
+ result.leftovers.push(moved);
286
+ }
287
+ return result;
288
+ }
289
+ //# sourceMappingURL=remove-binary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-binary.js","sourceRoot":"","sources":["../../src/upgrade/remove-binary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Background update-availability check for long-lived servers (#1243).
3
+ *
4
+ * The recommended MCP config launches the LOCAL `codegraph` binary, so the
5
+ * server (and the prompt hook alongside it) silently stays on whatever version
6
+ * was last manually upgraded — users discover the drift only when something
7
+ * breaks. This module gives the running server *visibility* without changing
8
+ * behavior: a non-blocking check against the latest GitHub release, surfaced
9
+ * as a one-line notice (stderr log, MCP initialize instructions, and
10
+ * `codegraph_status`) telling the user to run `codegraph upgrade`.
11
+ *
12
+ * Invariants (mirrors the telemetry module's contract):
13
+ * - Never stdout — stdio is the MCP protocol channel.
14
+ * - Never blocking: the network refresh is fire-and-forget; every reader
15
+ * (`getUpdateNotice`) is a cheap synchronous cache read, so the #172
16
+ * respond-fast handshake contract holds.
17
+ * - Fail silent: offline / rate-limited / disk-full all degrade to "no
18
+ * notice", never an error, never a retry loop.
19
+ * - Off is off: `CODEGRAPH_NO_UPDATE_CHECK` (dedicated) or `DO_NOT_TRACK`
20
+ * (broad don't-phone-home convention — set by e.g. the Pro container's
21
+ * data plane) suppresses the network call AND the notice entirely.
22
+ *
23
+ * The check itself reuses `resolveLatestVersion` — the GitHub release-redirect
24
+ * trick with the API fallback — so version resolution can't drift from what
25
+ * `codegraph upgrade` installs. Results are cached in `~/.codegraph/` (the
26
+ * same global state dir telemetry and the daemon registry use) with a 24h TTL
27
+ * on success and a 1h backoff after failure, shared across every proxy /
28
+ * daemon process on the machine.
29
+ */
30
+ /** Re-check the release feed after this long (successful checks). */
31
+ export declare const UPDATE_CHECK_TTL_MS: number;
32
+ /** Back off this long after a failed check (offline, rate-limited). */
33
+ export declare const UPDATE_CHECK_FAILURE_BACKOFF_MS: number;
34
+ export interface UpdateCheckCacheFile {
35
+ /** Last time a network check was attempted (ms epoch). */
36
+ lastAttemptAt: number;
37
+ /** Last time a network check succeeded (ms epoch). */
38
+ lastSuccessAt?: number;
39
+ /** Latest release tag from the last successful check (e.g. `v1.4.1`). */
40
+ latest?: string;
41
+ }
42
+ export interface UpdateCheckDeps {
43
+ /** Global state dir; defaults to ~/.codegraph. Tests inject a temp dir. */
44
+ dir?: string;
45
+ env?: NodeJS.ProcessEnv;
46
+ now?: () => number;
47
+ resolveLatest?: () => Promise<string>;
48
+ currentVersion?: string;
49
+ }
50
+ /**
51
+ * True when the update check must not run at all — no network call, no
52
+ * notice. `DO_NOT_TRACK` uses the same truthiness the telemetry opt-out does.
53
+ */
54
+ export declare function updateCheckDisabled(env?: NodeJS.ProcessEnv): boolean;
55
+ export declare function updateCheckCachePath(dir: string): string;
56
+ export declare function readUpdateCheckCache(dir: string): UpdateCheckCacheFile | null;
57
+ /**
58
+ * Rebuild a canonical `vX.Y.Z[-pre]` tag from the PARSED semver fields, or
59
+ * null when the input isn't version-shaped. The notice ends up inside the MCP
60
+ * initialize instructions — agent-visible, system-prompt-adjacent text — and
61
+ * the `latest` value arrives from a network redirect via an on-disk cache, so
62
+ * only a reconstructed canonical string may ever be interpolated, never the
63
+ * raw value. (`parseSemver`'s regex is not end-anchored: a value like
64
+ * `1.2.3-x <arbitrary text>` parses "valid" while the raw string would carry
65
+ * the trailing text straight into every session's instructions.)
66
+ */
67
+ export declare function canonicalVersionTag(v: string): string | null;
68
+ /** One user-facing sentence; every surface (stderr, instructions, status) shows this. */
69
+ export declare function formatUpdateNotice(current: string, latest: string): string;
70
+ /**
71
+ * Ensure the on-disk cache is fresh (hitting the network only past the TTL /
72
+ * backoff) and return the current notice, or null. Never throws.
73
+ */
74
+ export declare function refreshUpdateCheck(deps?: UpdateCheckDeps): Promise<string | null>;
75
+ /**
76
+ * The current update notice from the on-disk cache — synchronous and cheap
77
+ * (memoized disk read), safe on the initialize respond-fast path. When the
78
+ * cache has gone stale (e.g. a daemon that has been up for weeks), kicks a
79
+ * background refresh so the NEXT reader sees a current answer; this call
80
+ * still returns immediately from the stale cache.
81
+ */
82
+ export declare function getUpdateNotice(deps?: UpdateCheckDeps): string | null;
83
+ /** Test hook: clear the per-process memo. */
84
+ export declare function resetUpdateNoticeMemo(): void;
85
+ /**
86
+ * Fire-and-forget entry point for server startup: refresh the cache in the
87
+ * background and, if an update is available, emit ONE stderr line (stderr is
88
+ * the MCP-safe channel; hosts surface it in their server logs). Never throws,
89
+ * never blocks, never writes stdout.
90
+ */
91
+ export declare function checkForUpdateInBackground(deps?: UpdateCheckDeps, log?: (line: string) => void): void;
92
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/upgrade/update-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAQH,qEAAqE;AACrE,eAAO,MAAM,mBAAmB,QAAsB,CAAC;AACvD,uEAAuE;AACvE,eAAO,MAAM,+BAA+B,QAAiB,CAAC;AAI9D,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,sDAAsD;IACtD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAyBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAS7E;AAWD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAK1E;AAyBD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2B3F;AAOD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,eAAoB,GAAG,MAAM,GAAG,IAAI,CAiBzE;AAED,6CAA6C;AAC7C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,GAAE,eAAoB,EAC1B,GAAG,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAA2C,GACjE,IAAI,CAQN"}