codegraph-java 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (866) hide show
  1. package/README.md +131 -0
  2. package/dist/base-graph/index.d.ts +57 -0
  3. package/dist/base-graph/index.d.ts.map +1 -0
  4. package/dist/base-graph/index.js +175 -0
  5. package/dist/base-graph/index.js.map +1 -0
  6. package/dist/bin/codegraph.d.ts +28 -0
  7. package/dist/bin/codegraph.d.ts.map +1 -0
  8. package/dist/bin/codegraph.js +2615 -0
  9. package/dist/bin/codegraph.js.map +1 -0
  10. package/dist/bin/command-supervision.d.ts +49 -0
  11. package/dist/bin/command-supervision.d.ts.map +1 -0
  12. package/dist/bin/command-supervision.js +95 -0
  13. package/dist/bin/command-supervision.js.map +1 -0
  14. package/dist/bin/fatal-handler.d.ts +20 -0
  15. package/dist/bin/fatal-handler.d.ts.map +1 -0
  16. package/dist/bin/fatal-handler.js +118 -0
  17. package/dist/bin/fatal-handler.js.map +1 -0
  18. package/dist/bin/node-version-check.d.ts +45 -0
  19. package/dist/bin/node-version-check.d.ts.map +1 -0
  20. package/dist/bin/node-version-check.js +98 -0
  21. package/dist/bin/node-version-check.js.map +1 -0
  22. package/dist/bin/uninstall.d.ts +14 -0
  23. package/dist/bin/uninstall.d.ts.map +1 -0
  24. package/dist/bin/uninstall.js +36 -0
  25. package/dist/bin/uninstall.js.map +1 -0
  26. package/dist/context/formatter.d.ts +36 -0
  27. package/dist/context/formatter.d.ts.map +1 -0
  28. package/dist/context/formatter.js +269 -0
  29. package/dist/context/formatter.js.map +1 -0
  30. package/dist/context/index.d.ts +131 -0
  31. package/dist/context/index.d.ts.map +1 -0
  32. package/dist/context/index.js +1378 -0
  33. package/dist/context/index.js.map +1 -0
  34. package/dist/context/markers.d.ts +19 -0
  35. package/dist/context/markers.d.ts.map +1 -0
  36. package/dist/context/markers.js +22 -0
  37. package/dist/context/markers.js.map +1 -0
  38. package/dist/db/index.d.ts +380 -0
  39. package/dist/db/index.d.ts.map +1 -0
  40. package/dist/db/index.js +854 -0
  41. package/dist/db/index.js.map +1 -0
  42. package/dist/db/migrations.d.ts +44 -0
  43. package/dist/db/migrations.d.ts.map +1 -0
  44. package/dist/db/migrations.js +255 -0
  45. package/dist/db/migrations.js.map +1 -0
  46. package/dist/db/queries.d.ts +1060 -0
  47. package/dist/db/queries.d.ts.map +1 -0
  48. package/dist/db/queries.js +3191 -0
  49. package/dist/db/queries.js.map +1 -0
  50. package/dist/db/schema.sql +209 -0
  51. package/dist/db/sqlite-adapter.d.ts +55 -0
  52. package/dist/db/sqlite-adapter.d.ts.map +1 -0
  53. package/dist/db/sqlite-adapter.js +135 -0
  54. package/dist/db/sqlite-adapter.js.map +1 -0
  55. package/dist/db/wal-valve.d.ts +119 -0
  56. package/dist/db/wal-valve.d.ts.map +1 -0
  57. package/dist/db/wal-valve.js +290 -0
  58. package/dist/db/wal-valve.js.map +1 -0
  59. package/dist/directory.d.ts +213 -0
  60. package/dist/directory.d.ts.map +1 -0
  61. package/dist/directory.js +781 -0
  62. package/dist/directory.js.map +1 -0
  63. package/dist/errors.d.ts +150 -0
  64. package/dist/errors.d.ts.map +1 -0
  65. package/dist/errors.js +234 -0
  66. package/dist/errors.js.map +1 -0
  67. package/dist/extraction/extraction-version.d.ts +25 -0
  68. package/dist/extraction/extraction-version.d.ts.map +1 -0
  69. package/dist/extraction/extraction-version.js +28 -0
  70. package/dist/extraction/extraction-version.js.map +1 -0
  71. package/dist/extraction/function-ref.d.ts +118 -0
  72. package/dist/extraction/function-ref.d.ts.map +1 -0
  73. package/dist/extraction/function-ref.js +746 -0
  74. package/dist/extraction/function-ref.js.map +1 -0
  75. package/dist/extraction/generated-detection.d.ts +66 -0
  76. package/dist/extraction/generated-detection.d.ts.map +1 -0
  77. package/dist/extraction/generated-detection.js +248 -0
  78. package/dist/extraction/generated-detection.js.map +1 -0
  79. package/dist/extraction/grammars.d.ts +148 -0
  80. package/dist/extraction/grammars.d.ts.map +1 -0
  81. package/dist/extraction/grammars.js +558 -0
  82. package/dist/extraction/grammars.js.map +1 -0
  83. package/dist/extraction/index.d.ts +367 -0
  84. package/dist/extraction/index.d.ts.map +1 -0
  85. package/dist/extraction/index.js +2833 -0
  86. package/dist/extraction/index.js.map +1 -0
  87. package/dist/extraction/kernel/decode.d.ts +9 -0
  88. package/dist/extraction/kernel/decode.d.ts.map +1 -0
  89. package/dist/extraction/kernel/decode.js +162 -0
  90. package/dist/extraction/kernel/decode.js.map +1 -0
  91. package/dist/extraction/kernel/index.d.ts +64 -0
  92. package/dist/extraction/kernel/index.d.ts.map +1 -0
  93. package/dist/extraction/kernel/index.js +204 -0
  94. package/dist/extraction/kernel/index.js.map +1 -0
  95. package/dist/extraction/kernel/layout.d.ts +101 -0
  96. package/dist/extraction/kernel/layout.d.ts.map +1 -0
  97. package/dist/extraction/kernel/layout.js +104 -0
  98. package/dist/extraction/kernel/layout.js.map +1 -0
  99. package/dist/extraction/kernel/loader.d.ts +103 -0
  100. package/dist/extraction/kernel/loader.d.ts.map +1 -0
  101. package/dist/extraction/kernel/loader.js +146 -0
  102. package/dist/extraction/kernel/loader.js.map +1 -0
  103. package/dist/extraction/languages/c-cpp.d.ts +124 -0
  104. package/dist/extraction/languages/c-cpp.d.ts.map +1 -0
  105. package/dist/extraction/languages/c-cpp.js +1689 -0
  106. package/dist/extraction/languages/c-cpp.js.map +1 -0
  107. package/dist/extraction/languages/index.d.ts +11 -0
  108. package/dist/extraction/languages/index.d.ts.map +1 -0
  109. package/dist/extraction/languages/index.js +15 -0
  110. package/dist/extraction/languages/index.js.map +1 -0
  111. package/dist/extraction/languages/java.d.ts +3 -0
  112. package/dist/extraction/languages/java.d.ts.map +1 -0
  113. package/dist/extraction/languages/java.js +315 -0
  114. package/dist/extraction/languages/java.js.map +1 -0
  115. package/dist/extraction/languages/rust.d.ts +23 -0
  116. package/dist/extraction/languages/rust.d.ts.map +1 -0
  117. package/dist/extraction/languages/rust.js +169 -0
  118. package/dist/extraction/languages/rust.js.map +1 -0
  119. package/dist/extraction/parse-pool.d.ts +167 -0
  120. package/dist/extraction/parse-pool.d.ts.map +1 -0
  121. package/dist/extraction/parse-pool.js +421 -0
  122. package/dist/extraction/parse-pool.js.map +1 -0
  123. package/dist/extraction/parse-worker.d.ts +8 -0
  124. package/dist/extraction/parse-worker.d.ts.map +1 -0
  125. package/dist/extraction/parse-worker.js +138 -0
  126. package/dist/extraction/parse-worker.js.map +1 -0
  127. package/dist/extraction/store-worker.d.ts +24 -0
  128. package/dist/extraction/store-worker.d.ts.map +1 -0
  129. package/dist/extraction/store-worker.js +139 -0
  130. package/dist/extraction/store-worker.js.map +1 -0
  131. package/dist/extraction/store-writer.d.ts +63 -0
  132. package/dist/extraction/store-writer.d.ts.map +1 -0
  133. package/dist/extraction/store-writer.js +174 -0
  134. package/dist/extraction/store-writer.js.map +1 -0
  135. package/dist/extraction/syntax-tokens.d.ts +103 -0
  136. package/dist/extraction/syntax-tokens.d.ts.map +1 -0
  137. package/dist/extraction/syntax-tokens.js +381 -0
  138. package/dist/extraction/syntax-tokens.js.map +1 -0
  139. package/dist/extraction/tree-sitter-helpers.d.ts +28 -0
  140. package/dist/extraction/tree-sitter-helpers.d.ts.map +1 -0
  141. package/dist/extraction/tree-sitter-helpers.js +153 -0
  142. package/dist/extraction/tree-sitter-helpers.js.map +1 -0
  143. package/dist/extraction/tree-sitter-types.d.ts +260 -0
  144. package/dist/extraction/tree-sitter-types.d.ts.map +1 -0
  145. package/dist/extraction/tree-sitter-types.js +10 -0
  146. package/dist/extraction/tree-sitter-types.js.map +1 -0
  147. package/dist/extraction/tree-sitter.d.ts +745 -0
  148. package/dist/extraction/tree-sitter.d.ts.map +1 -0
  149. package/dist/extraction/tree-sitter.js +6725 -0
  150. package/dist/extraction/tree-sitter.js.map +1 -0
  151. package/dist/extraction/wasm/tree-sitter-java.wasm +0 -0
  152. package/dist/extraction/wasm-runtime-flags.d.ts +53 -0
  153. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -0
  154. package/dist/extraction/wasm-runtime-flags.js +130 -0
  155. package/dist/extraction/wasm-runtime-flags.js.map +1 -0
  156. package/dist/graph/branch-guards.d.ts +248 -0
  157. package/dist/graph/branch-guards.d.ts.map +1 -0
  158. package/dist/graph/branch-guards.js +2231 -0
  159. package/dist/graph/branch-guards.js.map +1 -0
  160. package/dist/graph/dead-code.d.ts +251 -0
  161. package/dist/graph/dead-code.d.ts.map +1 -0
  162. package/dist/graph/dead-code.js +756 -0
  163. package/dist/graph/dead-code.js.map +1 -0
  164. package/dist/graph/dynamic-boundary-report.d.ts +121 -0
  165. package/dist/graph/dynamic-boundary-report.d.ts.map +1 -0
  166. package/dist/graph/dynamic-boundary-report.js +283 -0
  167. package/dist/graph/dynamic-boundary-report.js.map +1 -0
  168. package/dist/graph/index.d.ts +12 -0
  169. package/dist/graph/index.d.ts.map +1 -0
  170. package/dist/graph/index.js +28 -0
  171. package/dist/graph/index.js.map +1 -0
  172. package/dist/graph/named-symbol-flow.d.ts +153 -0
  173. package/dist/graph/named-symbol-flow.d.ts.map +1 -0
  174. package/dist/graph/named-symbol-flow.js +609 -0
  175. package/dist/graph/named-symbol-flow.js.map +1 -0
  176. package/dist/graph/queries.d.ts +106 -0
  177. package/dist/graph/queries.d.ts.map +1 -0
  178. package/dist/graph/queries.js +341 -0
  179. package/dist/graph/queries.js.map +1 -0
  180. package/dist/graph/traversal.d.ts +127 -0
  181. package/dist/graph/traversal.d.ts.map +1 -0
  182. package/dist/graph/traversal.js +599 -0
  183. package/dist/graph/traversal.js.map +1 -0
  184. package/dist/graph/type-hierarchy.d.ts +155 -0
  185. package/dist/graph/type-hierarchy.d.ts.map +1 -0
  186. package/dist/graph/type-hierarchy.js +382 -0
  187. package/dist/graph/type-hierarchy.js.map +1 -0
  188. package/dist/index.d.ts +886 -0
  189. package/dist/index.d.ts.map +1 -0
  190. package/dist/index.js +2019 -0
  191. package/dist/index.js.map +1 -0
  192. package/dist/installer/beta-signup.d.ts +54 -0
  193. package/dist/installer/beta-signup.d.ts.map +1 -0
  194. package/dist/installer/beta-signup.js +178 -0
  195. package/dist/installer/beta-signup.js.map +1 -0
  196. package/dist/installer/config-writer.d.ts +28 -0
  197. package/dist/installer/config-writer.d.ts.map +1 -0
  198. package/dist/installer/config-writer.js +91 -0
  199. package/dist/installer/config-writer.js.map +1 -0
  200. package/dist/installer/index.d.ts +143 -0
  201. package/dist/installer/index.d.ts.map +1 -0
  202. package/dist/installer/index.js +632 -0
  203. package/dist/installer/index.js.map +1 -0
  204. package/dist/installer/instructions-template.d.ts +41 -0
  205. package/dist/installer/instructions-template.d.ts.map +1 -0
  206. package/dist/installer/instructions-template.js +53 -0
  207. package/dist/installer/instructions-template.js.map +1 -0
  208. package/dist/installer/targets/antigravity.d.ts +57 -0
  209. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  210. package/dist/installer/targets/antigravity.js +308 -0
  211. package/dist/installer/targets/antigravity.js.map +1 -0
  212. package/dist/installer/targets/claude.d.ts +62 -0
  213. package/dist/installer/targets/claude.d.ts.map +1 -0
  214. package/dist/installer/targets/claude.js +486 -0
  215. package/dist/installer/targets/claude.js.map +1 -0
  216. package/dist/installer/targets/codex.d.ts +32 -0
  217. package/dist/installer/targets/codex.d.ts.map +1 -0
  218. package/dist/installer/targets/codex.js +202 -0
  219. package/dist/installer/targets/codex.js.map +1 -0
  220. package/dist/installer/targets/copilot-cli.d.ts +32 -0
  221. package/dist/installer/targets/copilot-cli.d.ts.map +1 -0
  222. package/dist/installer/targets/copilot-cli.js +209 -0
  223. package/dist/installer/targets/copilot-cli.js.map +1 -0
  224. package/dist/installer/targets/copilot-jetbrains.d.ts +42 -0
  225. package/dist/installer/targets/copilot-jetbrains.d.ts.map +1 -0
  226. package/dist/installer/targets/copilot-jetbrains.js +238 -0
  227. package/dist/installer/targets/copilot-jetbrains.js.map +1 -0
  228. package/dist/installer/targets/copilot-vscode.d.ts +47 -0
  229. package/dist/installer/targets/copilot-vscode.d.ts.map +1 -0
  230. package/dist/installer/targets/copilot-vscode.js +219 -0
  231. package/dist/installer/targets/copilot-vscode.js.map +1 -0
  232. package/dist/installer/targets/cursor.d.ts +35 -0
  233. package/dist/installer/targets/cursor.d.ts.map +1 -0
  234. package/dist/installer/targets/cursor.js +254 -0
  235. package/dist/installer/targets/cursor.js.map +1 -0
  236. package/dist/installer/targets/gemini.d.ts +26 -0
  237. package/dist/installer/targets/gemini.d.ts.map +1 -0
  238. package/dist/installer/targets/gemini.js +165 -0
  239. package/dist/installer/targets/gemini.js.map +1 -0
  240. package/dist/installer/targets/hermes.d.ts +18 -0
  241. package/dist/installer/targets/hermes.d.ts.map +1 -0
  242. package/dist/installer/targets/hermes.js +359 -0
  243. package/dist/installer/targets/hermes.js.map +1 -0
  244. package/dist/installer/targets/kiro.d.ts +27 -0
  245. package/dist/installer/targets/kiro.d.ts.map +1 -0
  246. package/dist/installer/targets/kiro.js +178 -0
  247. package/dist/installer/targets/kiro.js.map +1 -0
  248. package/dist/installer/targets/opencode.d.ts +38 -0
  249. package/dist/installer/targets/opencode.d.ts.map +1 -0
  250. package/dist/installer/targets/opencode.js +288 -0
  251. package/dist/installer/targets/opencode.js.map +1 -0
  252. package/dist/installer/targets/registry.d.ts +35 -0
  253. package/dist/installer/targets/registry.d.ts.map +1 -0
  254. package/dist/installer/targets/registry.js +101 -0
  255. package/dist/installer/targets/registry.js.map +1 -0
  256. package/dist/installer/targets/shared.d.ts +101 -0
  257. package/dist/installer/targets/shared.d.ts.map +1 -0
  258. package/dist/installer/targets/shared.js +264 -0
  259. package/dist/installer/targets/shared.js.map +1 -0
  260. package/dist/installer/targets/toml.d.ts +53 -0
  261. package/dist/installer/targets/toml.d.ts.map +1 -0
  262. package/dist/installer/targets/toml.js +226 -0
  263. package/dist/installer/targets/toml.js.map +1 -0
  264. package/dist/installer/targets/trae.d.ts +30 -0
  265. package/dist/installer/targets/trae.d.ts.map +1 -0
  266. package/dist/installer/targets/trae.js +164 -0
  267. package/dist/installer/targets/trae.js.map +1 -0
  268. package/dist/installer/targets/types.d.ts +108 -0
  269. package/dist/installer/targets/types.d.ts.map +1 -0
  270. package/dist/installer/targets/types.js +16 -0
  271. package/dist/installer/targets/types.js.map +1 -0
  272. package/dist/installer/targets/workbuddy.d.ts +29 -0
  273. package/dist/installer/targets/workbuddy.d.ts.map +1 -0
  274. package/dist/installer/targets/workbuddy.js +163 -0
  275. package/dist/installer/targets/workbuddy.js.map +1 -0
  276. package/dist/mcp/daemon-manager.d.ts +42 -0
  277. package/dist/mcp/daemon-manager.d.ts.map +1 -0
  278. package/dist/mcp/daemon-manager.js +129 -0
  279. package/dist/mcp/daemon-manager.js.map +1 -0
  280. package/dist/mcp/daemon-paths.d.ts +79 -0
  281. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  282. package/dist/mcp/daemon-paths.js +219 -0
  283. package/dist/mcp/daemon-paths.js.map +1 -0
  284. package/dist/mcp/daemon-registry.d.ts +57 -0
  285. package/dist/mcp/daemon-registry.d.ts.map +1 -0
  286. package/dist/mcp/daemon-registry.js +281 -0
  287. package/dist/mcp/daemon-registry.js.map +1 -0
  288. package/dist/mcp/daemon.d.ts +293 -0
  289. package/dist/mcp/daemon.d.ts.map +1 -0
  290. package/dist/mcp/daemon.js +864 -0
  291. package/dist/mcp/daemon.js.map +1 -0
  292. package/dist/mcp/dynamic-boundaries.d.ts +41 -0
  293. package/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  294. package/dist/mcp/dynamic-boundaries.js +360 -0
  295. package/dist/mcp/dynamic-boundaries.js.map +1 -0
  296. package/dist/mcp/early-ppid.d.ts +26 -0
  297. package/dist/mcp/early-ppid.d.ts.map +1 -0
  298. package/dist/mcp/early-ppid.js +29 -0
  299. package/dist/mcp/early-ppid.js.map +1 -0
  300. package/dist/mcp/engine.d.ts +125 -0
  301. package/dist/mcp/engine.d.ts.map +1 -0
  302. package/dist/mcp/engine.js +392 -0
  303. package/dist/mcp/engine.js.map +1 -0
  304. package/dist/mcp/explore-dedup.d.ts +137 -0
  305. package/dist/mcp/explore-dedup.d.ts.map +1 -0
  306. package/dist/mcp/explore-dedup.js +236 -0
  307. package/dist/mcp/explore-dedup.js.map +1 -0
  308. package/dist/mcp/explore-diagnostics.d.ts +289 -0
  309. package/dist/mcp/explore-diagnostics.d.ts.map +1 -0
  310. package/dist/mcp/explore-diagnostics.js +558 -0
  311. package/dist/mcp/explore-diagnostics.js.map +1 -0
  312. package/dist/mcp/explore-session-state.d.ts +217 -0
  313. package/dist/mcp/explore-session-state.d.ts.map +1 -0
  314. package/dist/mcp/explore-session-state.js +322 -0
  315. package/dist/mcp/explore-session-state.js.map +1 -0
  316. package/dist/mcp/index.d.ts +137 -0
  317. package/dist/mcp/index.d.ts.map +1 -0
  318. package/dist/mcp/index.js +567 -0
  319. package/dist/mcp/index.js.map +1 -0
  320. package/dist/mcp/liveness-watchdog.d.ts +35 -0
  321. package/dist/mcp/liveness-watchdog.d.ts.map +1 -0
  322. package/dist/mcp/liveness-watchdog.js +269 -0
  323. package/dist/mcp/liveness-watchdog.js.map +1 -0
  324. package/dist/mcp/ppid-watchdog.d.ts +62 -0
  325. package/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  326. package/dist/mcp/ppid-watchdog.js +64 -0
  327. package/dist/mcp/ppid-watchdog.js.map +1 -0
  328. package/dist/mcp/proxy.d.ts +87 -0
  329. package/dist/mcp/proxy.d.ts.map +1 -0
  330. package/dist/mcp/proxy.js +672 -0
  331. package/dist/mcp/proxy.js.map +1 -0
  332. package/dist/mcp/query-pool.d.ts +108 -0
  333. package/dist/mcp/query-pool.d.ts.map +1 -0
  334. package/dist/mcp/query-pool.js +315 -0
  335. package/dist/mcp/query-pool.js.map +1 -0
  336. package/dist/mcp/query-worker.d.ts +24 -0
  337. package/dist/mcp/query-worker.d.ts.map +1 -0
  338. package/dist/mcp/query-worker.js +87 -0
  339. package/dist/mcp/query-worker.js.map +1 -0
  340. package/dist/mcp/server-instructions.d.ts +34 -0
  341. package/dist/mcp/server-instructions.d.ts.map +1 -0
  342. package/dist/mcp/server-instructions.js +111 -0
  343. package/dist/mcp/server-instructions.js.map +1 -0
  344. package/dist/mcp/session.d.ts +109 -0
  345. package/dist/mcp/session.d.ts.map +1 -0
  346. package/dist/mcp/session.js +380 -0
  347. package/dist/mcp/session.js.map +1 -0
  348. package/dist/mcp/startup-handshake.d.ts +44 -0
  349. package/dist/mcp/startup-handshake.d.ts.map +1 -0
  350. package/dist/mcp/startup-handshake.js +73 -0
  351. package/dist/mcp/startup-handshake.js.map +1 -0
  352. package/dist/mcp/stdin-teardown.d.ts +27 -0
  353. package/dist/mcp/stdin-teardown.d.ts.map +1 -0
  354. package/dist/mcp/stdin-teardown.js +49 -0
  355. package/dist/mcp/stdin-teardown.js.map +1 -0
  356. package/dist/mcp/tools.d.ts +877 -0
  357. package/dist/mcp/tools.d.ts.map +1 -0
  358. package/dist/mcp/tools.js +6371 -0
  359. package/dist/mcp/tools.js.map +1 -0
  360. package/dist/mcp/transport.d.ts +188 -0
  361. package/dist/mcp/transport.d.ts.map +1 -0
  362. package/dist/mcp/transport.js +377 -0
  363. package/dist/mcp/transport.js.map +1 -0
  364. package/dist/mcp/version.d.ts +19 -0
  365. package/dist/mcp/version.d.ts.map +1 -0
  366. package/dist/mcp/version.js +71 -0
  367. package/dist/mcp/version.js.map +1 -0
  368. package/dist/project-config.d.ts +158 -0
  369. package/dist/project-config.d.ts.map +1 -0
  370. package/dist/project-config.js +489 -0
  371. package/dist/project-config.js.map +1 -0
  372. package/dist/resolution/c-fnptr-synthesizer.d.ts +6 -0
  373. package/dist/resolution/c-fnptr-synthesizer.d.ts.map +1 -0
  374. package/dist/resolution/c-fnptr-synthesizer.js +1506 -0
  375. package/dist/resolution/c-fnptr-synthesizer.js.map +1 -0
  376. package/dist/resolution/callback-synthesizer.d.ts +59 -0
  377. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  378. package/dist/resolution/callback-synthesizer.js +4066 -0
  379. package/dist/resolution/callback-synthesizer.js.map +1 -0
  380. package/dist/resolution/cooperative-yield.d.ts +40 -0
  381. package/dist/resolution/cooperative-yield.d.ts.map +1 -0
  382. package/dist/resolution/cooperative-yield.js +44 -0
  383. package/dist/resolution/cooperative-yield.js.map +1 -0
  384. package/dist/resolution/expo-router-synthesizer.d.ts +32 -0
  385. package/dist/resolution/expo-router-synthesizer.d.ts.map +1 -0
  386. package/dist/resolution/expo-router-synthesizer.js +189 -0
  387. package/dist/resolution/expo-router-synthesizer.js.map +1 -0
  388. package/dist/resolution/frameworks/astro.d.ts +9 -0
  389. package/dist/resolution/frameworks/astro.d.ts.map +1 -0
  390. package/dist/resolution/frameworks/astro.js +169 -0
  391. package/dist/resolution/frameworks/astro.js.map +1 -0
  392. package/dist/resolution/frameworks/cargo-workspace.d.ts +18 -0
  393. package/dist/resolution/frameworks/cargo-workspace.d.ts.map +1 -0
  394. package/dist/resolution/frameworks/cargo-workspace.js +225 -0
  395. package/dist/resolution/frameworks/cargo-workspace.js.map +1 -0
  396. package/dist/resolution/frameworks/cics.d.ts +20 -0
  397. package/dist/resolution/frameworks/cics.d.ts.map +1 -0
  398. package/dist/resolution/frameworks/cics.js +90 -0
  399. package/dist/resolution/frameworks/cics.js.map +1 -0
  400. package/dist/resolution/frameworks/csharp.d.ts +8 -0
  401. package/dist/resolution/frameworks/csharp.d.ts.map +1 -0
  402. package/dist/resolution/frameworks/csharp.js +335 -0
  403. package/dist/resolution/frameworks/csharp.js.map +1 -0
  404. package/dist/resolution/frameworks/drupal.d.ts +51 -0
  405. package/dist/resolution/frameworks/drupal.d.ts.map +1 -0
  406. package/dist/resolution/frameworks/drupal.js +367 -0
  407. package/dist/resolution/frameworks/drupal.js.map +1 -0
  408. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  409. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  410. package/dist/resolution/frameworks/expo-modules.js +148 -0
  411. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  412. package/dist/resolution/frameworks/expo-router.d.ts +189 -0
  413. package/dist/resolution/frameworks/expo-router.d.ts.map +1 -0
  414. package/dist/resolution/frameworks/expo-router.js +785 -0
  415. package/dist/resolution/frameworks/expo-router.js.map +1 -0
  416. package/dist/resolution/frameworks/express.d.ts +8 -0
  417. package/dist/resolution/frameworks/express.d.ts.map +1 -0
  418. package/dist/resolution/frameworks/express.js +540 -0
  419. package/dist/resolution/frameworks/express.js.map +1 -0
  420. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  421. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  422. package/dist/resolution/frameworks/fabric.js +354 -0
  423. package/dist/resolution/frameworks/fabric.js.map +1 -0
  424. package/dist/resolution/frameworks/go.d.ts +8 -0
  425. package/dist/resolution/frameworks/go.d.ts.map +1 -0
  426. package/dist/resolution/frameworks/go.js +184 -0
  427. package/dist/resolution/frameworks/go.js.map +1 -0
  428. package/dist/resolution/frameworks/goframe.d.ts +41 -0
  429. package/dist/resolution/frameworks/goframe.d.ts.map +1 -0
  430. package/dist/resolution/frameworks/goframe.js +112 -0
  431. package/dist/resolution/frameworks/goframe.js.map +1 -0
  432. package/dist/resolution/frameworks/index.d.ts +30 -0
  433. package/dist/resolution/frameworks/index.d.ts.map +1 -0
  434. package/dist/resolution/frameworks/index.js +72 -0
  435. package/dist/resolution/frameworks/index.js.map +1 -0
  436. package/dist/resolution/frameworks/java.d.ts +8 -0
  437. package/dist/resolution/frameworks/java.d.ts.map +1 -0
  438. package/dist/resolution/frameworks/java.js +517 -0
  439. package/dist/resolution/frameworks/java.js.map +1 -0
  440. package/dist/resolution/frameworks/laravel.d.ts +13 -0
  441. package/dist/resolution/frameworks/laravel.d.ts.map +1 -0
  442. package/dist/resolution/frameworks/laravel.js +257 -0
  443. package/dist/resolution/frameworks/laravel.js.map +1 -0
  444. package/dist/resolution/frameworks/nestjs.d.ts +26 -0
  445. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -0
  446. package/dist/resolution/frameworks/nestjs.js +690 -0
  447. package/dist/resolution/frameworks/nestjs.js.map +1 -0
  448. package/dist/resolution/frameworks/nextjs.d.ts +76 -0
  449. package/dist/resolution/frameworks/nextjs.d.ts.map +1 -0
  450. package/dist/resolution/frameworks/nextjs.js +328 -0
  451. package/dist/resolution/frameworks/nextjs.js.map +1 -0
  452. package/dist/resolution/frameworks/object-literal.d.ts +32 -0
  453. package/dist/resolution/frameworks/object-literal.d.ts.map +1 -0
  454. package/dist/resolution/frameworks/object-literal.js +139 -0
  455. package/dist/resolution/frameworks/object-literal.js.map +1 -0
  456. package/dist/resolution/frameworks/package-deps.d.ts +14 -0
  457. package/dist/resolution/frameworks/package-deps.d.ts.map +1 -0
  458. package/dist/resolution/frameworks/package-deps.js +78 -0
  459. package/dist/resolution/frameworks/package-deps.js.map +1 -0
  460. package/dist/resolution/frameworks/play.d.ts +19 -0
  461. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  462. package/dist/resolution/frameworks/play.js +111 -0
  463. package/dist/resolution/frameworks/play.js.map +1 -0
  464. package/dist/resolution/frameworks/python.d.ts +10 -0
  465. package/dist/resolution/frameworks/python.d.ts.map +1 -0
  466. package/dist/resolution/frameworks/python.js +566 -0
  467. package/dist/resolution/frameworks/python.js.map +1 -0
  468. package/dist/resolution/frameworks/react-native.d.ts +29 -0
  469. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  470. package/dist/resolution/frameworks/react-native.js +549 -0
  471. package/dist/resolution/frameworks/react-native.js.map +1 -0
  472. package/dist/resolution/frameworks/react-router.d.ts +46 -0
  473. package/dist/resolution/frameworks/react-router.d.ts.map +1 -0
  474. package/dist/resolution/frameworks/react-router.js +187 -0
  475. package/dist/resolution/frameworks/react-router.js.map +1 -0
  476. package/dist/resolution/frameworks/react.d.ts +9 -0
  477. package/dist/resolution/frameworks/react.d.ts.map +1 -0
  478. package/dist/resolution/frameworks/react.js +257 -0
  479. package/dist/resolution/frameworks/react.js.map +1 -0
  480. package/dist/resolution/frameworks/ruby.d.ts +8 -0
  481. package/dist/resolution/frameworks/ruby.d.ts.map +1 -0
  482. package/dist/resolution/frameworks/ruby.js +302 -0
  483. package/dist/resolution/frameworks/ruby.js.map +1 -0
  484. package/dist/resolution/frameworks/rust.d.ts +8 -0
  485. package/dist/resolution/frameworks/rust.d.ts.map +1 -0
  486. package/dist/resolution/frameworks/rust.js +304 -0
  487. package/dist/resolution/frameworks/rust.js.map +1 -0
  488. package/dist/resolution/frameworks/svelte.d.ts +9 -0
  489. package/dist/resolution/frameworks/svelte.d.ts.map +1 -0
  490. package/dist/resolution/frameworks/svelte.js +258 -0
  491. package/dist/resolution/frameworks/svelte.js.map +1 -0
  492. package/dist/resolution/frameworks/sveltekit-router.d.ts +36 -0
  493. package/dist/resolution/frameworks/sveltekit-router.d.ts.map +1 -0
  494. package/dist/resolution/frameworks/sveltekit-router.js +156 -0
  495. package/dist/resolution/frameworks/sveltekit-router.js.map +1 -0
  496. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  497. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  498. package/dist/resolution/frameworks/swift-objc.js +252 -0
  499. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  500. package/dist/resolution/frameworks/swift.d.ts +10 -0
  501. package/dist/resolution/frameworks/swift.d.ts.map +1 -0
  502. package/dist/resolution/frameworks/swift.js +410 -0
  503. package/dist/resolution/frameworks/swift.js.map +1 -0
  504. package/dist/resolution/frameworks/tanstack-router.d.ts +84 -0
  505. package/dist/resolution/frameworks/tanstack-router.d.ts.map +1 -0
  506. package/dist/resolution/frameworks/tanstack-router.js +437 -0
  507. package/dist/resolution/frameworks/tanstack-router.js.map +1 -0
  508. package/dist/resolution/frameworks/terraform.d.ts +38 -0
  509. package/dist/resolution/frameworks/terraform.d.ts.map +1 -0
  510. package/dist/resolution/frameworks/terraform.js +277 -0
  511. package/dist/resolution/frameworks/terraform.js.map +1 -0
  512. package/dist/resolution/frameworks/vue-router.d.ts +82 -0
  513. package/dist/resolution/frameworks/vue-router.d.ts.map +1 -0
  514. package/dist/resolution/frameworks/vue-router.js +377 -0
  515. package/dist/resolution/frameworks/vue-router.js.map +1 -0
  516. package/dist/resolution/frameworks/vue.d.ts +9 -0
  517. package/dist/resolution/frameworks/vue.d.ts.map +1 -0
  518. package/dist/resolution/frameworks/vue.js +303 -0
  519. package/dist/resolution/frameworks/vue.js.map +1 -0
  520. package/dist/resolution/go-module.d.ts +26 -0
  521. package/dist/resolution/go-module.d.ts.map +1 -0
  522. package/dist/resolution/go-module.js +78 -0
  523. package/dist/resolution/go-module.js.map +1 -0
  524. package/dist/resolution/goframe-synthesizer.d.ts +29 -0
  525. package/dist/resolution/goframe-synthesizer.d.ts.map +1 -0
  526. package/dist/resolution/goframe-synthesizer.js +163 -0
  527. package/dist/resolution/goframe-synthesizer.js.map +1 -0
  528. package/dist/resolution/import-resolver.d.ts +84 -0
  529. package/dist/resolution/import-resolver.d.ts.map +1 -0
  530. package/dist/resolution/import-resolver.js +2240 -0
  531. package/dist/resolution/import-resolver.js.map +1 -0
  532. package/dist/resolution/index.d.ts +343 -0
  533. package/dist/resolution/index.d.ts.map +1 -0
  534. package/dist/resolution/index.js +2352 -0
  535. package/dist/resolution/index.js.map +1 -0
  536. package/dist/resolution/lru-cache.d.ts +24 -0
  537. package/dist/resolution/lru-cache.d.ts.map +1 -0
  538. package/dist/resolution/lru-cache.js +62 -0
  539. package/dist/resolution/lru-cache.js.map +1 -0
  540. package/dist/resolution/memory-budget.d.ts +48 -0
  541. package/dist/resolution/memory-budget.d.ts.map +1 -0
  542. package/dist/resolution/memory-budget.js +162 -0
  543. package/dist/resolution/memory-budget.js.map +1 -0
  544. package/dist/resolution/name-matcher.d.ts +153 -0
  545. package/dist/resolution/name-matcher.d.ts.map +1 -0
  546. package/dist/resolution/name-matcher.js +2412 -0
  547. package/dist/resolution/name-matcher.js.map +1 -0
  548. package/dist/resolution/next-router-synthesizer.d.ts +27 -0
  549. package/dist/resolution/next-router-synthesizer.d.ts.map +1 -0
  550. package/dist/resolution/next-router-synthesizer.js +113 -0
  551. package/dist/resolution/next-router-synthesizer.js.map +1 -0
  552. package/dist/resolution/path-aliases.d.ts +70 -0
  553. package/dist/resolution/path-aliases.d.ts.map +1 -0
  554. package/dist/resolution/path-aliases.js +346 -0
  555. package/dist/resolution/path-aliases.js.map +1 -0
  556. package/dist/resolution/react-router-synthesizer.d.ts +33 -0
  557. package/dist/resolution/react-router-synthesizer.d.ts.map +1 -0
  558. package/dist/resolution/react-router-synthesizer.js +126 -0
  559. package/dist/resolution/react-router-synthesizer.js.map +1 -0
  560. package/dist/resolution/resolver-pool.d.ts +106 -0
  561. package/dist/resolution/resolver-pool.d.ts.map +1 -0
  562. package/dist/resolution/resolver-pool.js +344 -0
  563. package/dist/resolution/resolver-pool.js.map +1 -0
  564. package/dist/resolution/resolver-worker.d.ts +17 -0
  565. package/dist/resolution/resolver-worker.d.ts.map +1 -0
  566. package/dist/resolution/resolver-worker.js +141 -0
  567. package/dist/resolution/resolver-worker.js.map +1 -0
  568. package/dist/resolution/strip-comments.d.ts +27 -0
  569. package/dist/resolution/strip-comments.d.ts.map +1 -0
  570. package/dist/resolution/strip-comments.js +492 -0
  571. package/dist/resolution/strip-comments.js.map +1 -0
  572. package/dist/resolution/sveltekit-synthesizer.d.ts +58 -0
  573. package/dist/resolution/sveltekit-synthesizer.d.ts.map +1 -0
  574. package/dist/resolution/sveltekit-synthesizer.js +173 -0
  575. package/dist/resolution/sveltekit-synthesizer.js.map +1 -0
  576. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  577. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  578. package/dist/resolution/swift-objc-bridge.js +256 -0
  579. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  580. package/dist/resolution/synth-utils.d.ts +26 -0
  581. package/dist/resolution/synth-utils.d.ts.map +1 -0
  582. package/dist/resolution/synth-utils.js +75 -0
  583. package/dist/resolution/synth-utils.js.map +1 -0
  584. package/dist/resolution/tanstack-router-synthesizer.d.ts +31 -0
  585. package/dist/resolution/tanstack-router-synthesizer.d.ts.map +1 -0
  586. package/dist/resolution/tanstack-router-synthesizer.js +114 -0
  587. package/dist/resolution/tanstack-router-synthesizer.js.map +1 -0
  588. package/dist/resolution/tier-synthesizer.d.ts +48 -0
  589. package/dist/resolution/tier-synthesizer.d.ts.map +1 -0
  590. package/dist/resolution/tier-synthesizer.js +907 -0
  591. package/dist/resolution/tier-synthesizer.js.map +1 -0
  592. package/dist/resolution/types.d.ts +290 -0
  593. package/dist/resolution/types.d.ts.map +1 -0
  594. package/dist/resolution/types.js +8 -0
  595. package/dist/resolution/types.js.map +1 -0
  596. package/dist/resolution/vue-router-synthesizer.d.ts +30 -0
  597. package/dist/resolution/vue-router-synthesizer.d.ts.map +1 -0
  598. package/dist/resolution/vue-router-synthesizer.js +115 -0
  599. package/dist/resolution/vue-router-synthesizer.js.map +1 -0
  600. package/dist/resolution/workspace-packages.d.ts +58 -0
  601. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  602. package/dist/resolution/workspace-packages.js +346 -0
  603. package/dist/resolution/workspace-packages.js.map +1 -0
  604. package/dist/search/identifier-segments.d.ts +70 -0
  605. package/dist/search/identifier-segments.d.ts.map +1 -0
  606. package/dist/search/identifier-segments.js +205 -0
  607. package/dist/search/identifier-segments.js.map +1 -0
  608. package/dist/search/query-parser.d.ts +57 -0
  609. package/dist/search/query-parser.d.ts.map +1 -0
  610. package/dist/search/query-parser.js +177 -0
  611. package/dist/search/query-parser.js.map +1 -0
  612. package/dist/search/query-paths.d.ts +57 -0
  613. package/dist/search/query-paths.d.ts.map +1 -0
  614. package/dist/search/query-paths.js +298 -0
  615. package/dist/search/query-paths.js.map +1 -0
  616. package/dist/search/query-utils.d.ts +102 -0
  617. package/dist/search/query-utils.d.ts.map +1 -0
  618. package/dist/search/query-utils.js +487 -0
  619. package/dist/search/query-utils.js.map +1 -0
  620. package/dist/sync/git-hooks.d.ts +45 -0
  621. package/dist/sync/git-hooks.d.ts.map +1 -0
  622. package/dist/sync/git-hooks.js +227 -0
  623. package/dist/sync/git-hooks.js.map +1 -0
  624. package/dist/sync/index.d.ts +19 -0
  625. package/dist/sync/index.d.ts.map +1 -0
  626. package/dist/sync/index.js +35 -0
  627. package/dist/sync/index.js.map +1 -0
  628. package/dist/sync/watch-policy.d.ts +48 -0
  629. package/dist/sync/watch-policy.d.ts.map +1 -0
  630. package/dist/sync/watch-policy.js +124 -0
  631. package/dist/sync/watch-policy.js.map +1 -0
  632. package/dist/sync/watcher.d.ts +401 -0
  633. package/dist/sync/watcher.d.ts.map +1 -0
  634. package/dist/sync/watcher.js +967 -0
  635. package/dist/sync/watcher.js.map +1 -0
  636. package/dist/sync/worktree.d.ts +63 -0
  637. package/dist/sync/worktree.d.ts.map +1 -0
  638. package/dist/sync/worktree.js +182 -0
  639. package/dist/sync/worktree.js.map +1 -0
  640. package/dist/telemetry/index.d.ts +143 -0
  641. package/dist/telemetry/index.d.ts.map +1 -0
  642. package/dist/telemetry/index.js +541 -0
  643. package/dist/telemetry/index.js.map +1 -0
  644. package/dist/types.d.ts +486 -0
  645. package/dist/types.d.ts.map +1 -0
  646. package/dist/types.js +118 -0
  647. package/dist/types.js.map +1 -0
  648. package/dist/ui/color.d.ts +21 -0
  649. package/dist/ui/color.d.ts.map +1 -0
  650. package/dist/ui/color.js +42 -0
  651. package/dist/ui/color.js.map +1 -0
  652. package/dist/ui/glyphs.d.ts +67 -0
  653. package/dist/ui/glyphs.d.ts.map +1 -0
  654. package/dist/ui/glyphs.js +125 -0
  655. package/dist/ui/glyphs.js.map +1 -0
  656. package/dist/ui/shimmer-progress.d.ts +11 -0
  657. package/dist/ui/shimmer-progress.d.ts.map +1 -0
  658. package/dist/ui/shimmer-progress.js +164 -0
  659. package/dist/ui/shimmer-progress.js.map +1 -0
  660. package/dist/ui/shimmer-worker.d.ts +2 -0
  661. package/dist/ui/shimmer-worker.d.ts.map +1 -0
  662. package/dist/ui/shimmer-worker.js +126 -0
  663. package/dist/ui/shimmer-worker.js.map +1 -0
  664. package/dist/ui/types.d.ts +15 -0
  665. package/dist/ui/types.d.ts.map +1 -0
  666. package/dist/ui/types.js +3 -0
  667. package/dist/ui/types.js.map +1 -0
  668. package/dist/ui-server/api/deadcode.d.ts +84 -0
  669. package/dist/ui-server/api/deadcode.d.ts.map +1 -0
  670. package/dist/ui-server/api/deadcode.js +136 -0
  671. package/dist/ui-server/api/deadcode.js.map +1 -0
  672. package/dist/ui-server/api/effects.d.ts +87 -0
  673. package/dist/ui-server/api/effects.d.ts.map +1 -0
  674. package/dist/ui-server/api/effects.js +499 -0
  675. package/dist/ui-server/api/effects.js.map +1 -0
  676. package/dist/ui-server/api/entrypoints.d.ts +86 -0
  677. package/dist/ui-server/api/entrypoints.d.ts.map +1 -0
  678. package/dist/ui-server/api/entrypoints.js +279 -0
  679. package/dist/ui-server/api/entrypoints.js.map +1 -0
  680. package/dist/ui-server/api/events.d.ts +183 -0
  681. package/dist/ui-server/api/events.d.ts.map +1 -0
  682. package/dist/ui-server/api/events.js +430 -0
  683. package/dist/ui-server/api/events.js.map +1 -0
  684. package/dist/ui-server/api/file.d.ts +66 -0
  685. package/dist/ui-server/api/file.d.ts.map +1 -0
  686. package/dist/ui-server/api/file.js +222 -0
  687. package/dist/ui-server/api/file.js.map +1 -0
  688. package/dist/ui-server/api/filecode.d.ts +126 -0
  689. package/dist/ui-server/api/filecode.d.ts.map +1 -0
  690. package/dist/ui-server/api/filecode.js +205 -0
  691. package/dist/ui-server/api/filecode.js.map +1 -0
  692. package/dist/ui-server/api/flow.d.ts +226 -0
  693. package/dist/ui-server/api/flow.d.ts.map +1 -0
  694. package/dist/ui-server/api/flow.js +611 -0
  695. package/dist/ui-server/api/flow.js.map +1 -0
  696. package/dist/ui-server/api/hierarchy.d.ts +81 -0
  697. package/dist/ui-server/api/hierarchy.d.ts.map +1 -0
  698. package/dist/ui-server/api/hierarchy.js +92 -0
  699. package/dist/ui-server/api/hierarchy.js.map +1 -0
  700. package/dist/ui-server/api/index.d.ts +90 -0
  701. package/dist/ui-server/api/index.d.ts.map +1 -0
  702. package/dist/ui-server/api/index.js +332 -0
  703. package/dist/ui-server/api/index.js.map +1 -0
  704. package/dist/ui-server/api/map.d.ts +187 -0
  705. package/dist/ui-server/api/map.d.ts.map +1 -0
  706. package/dist/ui-server/api/map.js +498 -0
  707. package/dist/ui-server/api/map.js.map +1 -0
  708. package/dist/ui-server/api/node.d.ts +81 -0
  709. package/dist/ui-server/api/node.d.ts.map +1 -0
  710. package/dist/ui-server/api/node.js +388 -0
  711. package/dist/ui-server/api/node.js.map +1 -0
  712. package/dist/ui-server/api/nodes.d.ts +25 -0
  713. package/dist/ui-server/api/nodes.d.ts.map +1 -0
  714. package/dist/ui-server/api/nodes.js +45 -0
  715. package/dist/ui-server/api/nodes.js.map +1 -0
  716. package/dist/ui-server/api/program.d.ts +139 -0
  717. package/dist/ui-server/api/program.d.ts.map +1 -0
  718. package/dist/ui-server/api/program.js +315 -0
  719. package/dist/ui-server/api/program.js.map +1 -0
  720. package/dist/ui-server/api/respond.d.ts +76 -0
  721. package/dist/ui-server/api/respond.d.ts.map +1 -0
  722. package/dist/ui-server/api/respond.js +186 -0
  723. package/dist/ui-server/api/respond.js.map +1 -0
  724. package/dist/ui-server/api/route-roots.d.ts +39 -0
  725. package/dist/ui-server/api/route-roots.d.ts.map +1 -0
  726. package/dist/ui-server/api/route-roots.js +96 -0
  727. package/dist/ui-server/api/route-roots.js.map +1 -0
  728. package/dist/ui-server/api/routes.d.ts +59 -0
  729. package/dist/ui-server/api/routes.d.ts.map +1 -0
  730. package/dist/ui-server/api/routes.js +112 -0
  731. package/dist/ui-server/api/routes.js.map +1 -0
  732. package/dist/ui-server/api/screens.d.ts +117 -0
  733. package/dist/ui-server/api/screens.d.ts.map +1 -0
  734. package/dist/ui-server/api/screens.js +611 -0
  735. package/dist/ui-server/api/screens.js.map +1 -0
  736. package/dist/ui-server/api/search.d.ts +29 -0
  737. package/dist/ui-server/api/search.d.ts.map +1 -0
  738. package/dist/ui-server/api/search.js +232 -0
  739. package/dist/ui-server/api/search.js.map +1 -0
  740. package/dist/ui-server/api/session.d.ts +52 -0
  741. package/dist/ui-server/api/session.d.ts.map +1 -0
  742. package/dist/ui-server/api/session.js +196 -0
  743. package/dist/ui-server/api/session.js.map +1 -0
  744. package/dist/ui-server/api/source.d.ts +200 -0
  745. package/dist/ui-server/api/source.d.ts.map +1 -0
  746. package/dist/ui-server/api/source.js +419 -0
  747. package/dist/ui-server/api/source.js.map +1 -0
  748. package/dist/ui-server/api/stats.d.ts +27 -0
  749. package/dist/ui-server/api/stats.d.ts.map +1 -0
  750. package/dist/ui-server/api/stats.js +164 -0
  751. package/dist/ui-server/api/stats.js.map +1 -0
  752. package/dist/ui-server/api/steps.d.ts +274 -0
  753. package/dist/ui-server/api/steps.d.ts.map +1 -0
  754. package/dist/ui-server/api/steps.js +1446 -0
  755. package/dist/ui-server/api/steps.js.map +1 -0
  756. package/dist/ui-server/api/trail-store.d.ts +142 -0
  757. package/dist/ui-server/api/trail-store.d.ts.map +1 -0
  758. package/dist/ui-server/api/trail-store.js +323 -0
  759. package/dist/ui-server/api/trail-store.js.map +1 -0
  760. package/dist/ui-server/api/trails.d.ts +163 -0
  761. package/dist/ui-server/api/trails.d.ts.map +1 -0
  762. package/dist/ui-server/api/trails.js +369 -0
  763. package/dist/ui-server/api/trails.js.map +1 -0
  764. package/dist/ui-server/api/when.d.ts +125 -0
  765. package/dist/ui-server/api/when.d.ts.map +1 -0
  766. package/dist/ui-server/api/when.js +251 -0
  767. package/dist/ui-server/api/when.js.map +1 -0
  768. package/dist/ui-server/api/wire.d.ts +179 -0
  769. package/dist/ui-server/api/wire.d.ts.map +1 -0
  770. package/dist/ui-server/api/wire.js +231 -0
  771. package/dist/ui-server/api/wire.js.map +1 -0
  772. package/dist/ui-server/assets.d.ts +40 -0
  773. package/dist/ui-server/assets.d.ts.map +1 -0
  774. package/dist/ui-server/assets.js +110 -0
  775. package/dist/ui-server/assets.js.map +1 -0
  776. package/dist/ui-server/constants.d.ts +32 -0
  777. package/dist/ui-server/constants.d.ts.map +1 -0
  778. package/dist/ui-server/constants.js +35 -0
  779. package/dist/ui-server/constants.js.map +1 -0
  780. package/dist/ui-server/highlight/index.d.ts +113 -0
  781. package/dist/ui-server/highlight/index.d.ts.map +1 -0
  782. package/dist/ui-server/highlight/index.js +307 -0
  783. package/dist/ui-server/highlight/index.js.map +1 -0
  784. package/dist/ui-server/highlight/languages.d.ts +36 -0
  785. package/dist/ui-server/highlight/languages.d.ts.map +1 -0
  786. package/dist/ui-server/highlight/languages.js +50 -0
  787. package/dist/ui-server/highlight/languages.js.map +1 -0
  788. package/dist/ui-server/index.d.ts +92 -0
  789. package/dist/ui-server/index.d.ts.map +1 -0
  790. package/dist/ui-server/index.js +399 -0
  791. package/dist/ui-server/index.js.map +1 -0
  792. package/dist/ui-server/open-browser.d.ts +31 -0
  793. package/dist/ui-server/open-browser.d.ts.map +1 -0
  794. package/dist/ui-server/open-browser.js +79 -0
  795. package/dist/ui-server/open-browser.js.map +1 -0
  796. package/dist/ui-server/security.d.ts +127 -0
  797. package/dist/ui-server/security.d.ts.map +1 -0
  798. package/dist/ui-server/security.js +332 -0
  799. package/dist/ui-server/security.js.map +1 -0
  800. package/dist/ui-server/static.d.ts +45 -0
  801. package/dist/ui-server/static.d.ts.map +1 -0
  802. package/dist/ui-server/static.js +165 -0
  803. package/dist/ui-server/static.js.map +1 -0
  804. package/dist/upgrade/index.d.ts +177 -0
  805. package/dist/upgrade/index.d.ts.map +1 -0
  806. package/dist/upgrade/index.js +665 -0
  807. package/dist/upgrade/index.js.map +1 -0
  808. package/dist/upgrade/remove-binary.d.ts +87 -0
  809. package/dist/upgrade/remove-binary.d.ts.map +1 -0
  810. package/dist/upgrade/remove-binary.js +289 -0
  811. package/dist/upgrade/remove-binary.js.map +1 -0
  812. package/dist/upgrade/update-check.d.ts +92 -0
  813. package/dist/upgrade/update-check.d.ts.map +1 -0
  814. package/dist/upgrade/update-check.js +258 -0
  815. package/dist/upgrade/update-check.js.map +1 -0
  816. package/dist/utils.d.ts +224 -0
  817. package/dist/utils.d.ts.map +1 -0
  818. package/dist/utils.js +583 -0
  819. package/dist/utils.js.map +1 -0
  820. package/dist/viewer/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2 +0 -0
  821. package/dist/viewer/assets/archivo-latin-wght-normal-E0tuGl4L.woff2 +0 -0
  822. package/dist/viewer/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2 +0 -0
  823. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-2syK4fUT.woff +0 -0
  824. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2 +0 -0
  825. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2 +0 -0
  826. package/dist/viewer/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff +0 -0
  827. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff +0 -0
  828. package/dist/viewer/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2 +0 -0
  829. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2 +0 -0
  830. package/dist/viewer/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff +0 -0
  831. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.woff +0 -0
  832. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2 +0 -0
  833. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff +0 -0
  834. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2 +0 -0
  835. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff +0 -0
  836. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2 +0 -0
  837. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff +0 -0
  838. package/dist/viewer/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2 +0 -0
  839. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-66oory27.woff +0 -0
  840. package/dist/viewer/assets/ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2 +0 -0
  841. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  842. package/dist/viewer/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  843. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  844. package/dist/viewer/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  845. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  846. package/dist/viewer/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  847. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2 +0 -0
  848. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.woff +0 -0
  849. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2 +0 -0
  850. package/dist/viewer/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff +0 -0
  851. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2 +0 -0
  852. package/dist/viewer/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff +0 -0
  853. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2 +0 -0
  854. package/dist/viewer/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff +0 -0
  855. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.woff +0 -0
  856. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2 +0 -0
  857. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2 +0 -0
  858. package/dist/viewer/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff +0 -0
  859. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff +0 -0
  860. package/dist/viewer/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2 +0 -0
  861. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2 +0 -0
  862. package/dist/viewer/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff +0 -0
  863. package/dist/viewer/assets/index-2IPslW5t.js +13 -0
  864. package/dist/viewer/assets/index-DSwi2Seu.css +1 -0
  865. package/dist/viewer/index.html +16 -0
  866. package/package.json +67 -0
@@ -0,0 +1,81 @@
1
+ /**
2
+ * The type hierarchy block on `/api/node` — ancestors up, subtypes down, and
3
+ * the fan an interface call dispatches into (design spec §3.10).
4
+ *
5
+ * The walk itself is `src/graph/type-hierarchy.ts`, shared with
6
+ * `codegraph_explore`'s interface-dispatch announcement so the two can never
7
+ * print different implementation counts for the same interface. This module is
8
+ * the renderer: it flattens the tree into rows the viewer can draw without
9
+ * measuring anything, and caps the fan while keeping the true totals.
10
+ *
11
+ * It rides on `/api/node` rather than sitting behind its own endpoint for the
12
+ * same reason `highlight` rides on `/api/source`: the block is part of the
13
+ * Symbol view's first paint, and a second round-trip would let the screen
14
+ * settle and then grow a tree above the code the reader had already started
15
+ * reading. The cost of carrying it is gated to types — `canHaveHierarchy` is a
16
+ * kind test, and the overwhelming majority of symbols a reader opens are
17
+ * functions.
18
+ */
19
+ import type { CodeGraph } from '../../index';
20
+ import type { Node } from '../../types';
21
+ import { type HierarchyRelation } from '../../graph/type-hierarchy';
22
+ import { type WireList, type WireNodeRef } from './wire';
23
+ /** Subtype rows carried on the payload. The viewer folds long fans again at 12. */
24
+ export declare const MAX_HIERARCHY_DESCENDANTS = 240;
25
+ /** Supertype rows carried on the payload. A chain longer than this is generated code. */
26
+ export declare const MAX_HIERARCHY_ANCESTORS = 24;
27
+ /** One type in the tree: the ref, its place, and how it got there. */
28
+ export interface WireHierarchyNode extends WireNodeRef {
29
+ /** Steps from the focus, in whichever direction the row sits. 1 = direct. */
30
+ depth: number;
31
+ /** The row this one hangs off — the focus's id at depth 1. */
32
+ parentId: string;
33
+ relation: HierarchyRelation;
34
+ /**
35
+ * The edge was synthesized rather than parsed — Go's implicit interface
36
+ * satisfaction is the common case. Drawn dashed, with `registeredAt` naming
37
+ * the wiring site, exactly as the Flow strip draws a synthesized hop.
38
+ */
39
+ synthesized: boolean;
40
+ via?: string;
41
+ registeredAt?: string;
42
+ /** Direct subtypes of this row that are NOT in the payload. */
43
+ hiddenSubtypes: number;
44
+ }
45
+ /** Everything the type-hierarchy block draws. */
46
+ export interface WireHierarchy {
47
+ /** Supertypes, nearest first. */
48
+ ancestors: WireList<WireHierarchyNode>;
49
+ /** Subtypes, breadth-first: depth 1 is complete before depth 2 starts. */
50
+ descendants: WireList<WireHierarchyNode>;
51
+ /** True number of DIRECT subtypes, whatever `descendants` was capped to. */
52
+ direct: number;
53
+ /** Of `direct`, the ones tied by `implements` — what a call through the type reaches. */
54
+ implementers: number;
55
+ /** Subtypes exist below what the walk returned. */
56
+ bounded: boolean;
57
+ /** A call through this type dispatches at runtime rather than to one target. */
58
+ polymorphic: boolean;
59
+ }
60
+ /** A member of the focus that redeclares an ancestor's member. */
61
+ export interface WireOverride {
62
+ /** The member it redeclares — open it to read what is being replaced. */
63
+ baseId: string;
64
+ baseTypeId: string;
65
+ baseTypeName: string;
66
+ /** `implements` reads as "satisfies", `extends` as "overrides". */
67
+ relation: HierarchyRelation;
68
+ }
69
+ /**
70
+ * Build the block, or `null` when there is nothing to draw.
71
+ *
72
+ * `null` is the answer for every function, and for a class that neither
73
+ * extends nor is extended — the viewer draws no empty tree and no "no
74
+ * hierarchy" note, because a class with no subtypes is the normal case and
75
+ * saying so on every screen is noise.
76
+ */
77
+ export declare function buildHierarchy(cg: CodeGraph, node: Node): {
78
+ wire: WireHierarchy;
79
+ overrides: Map<string, WireOverride>;
80
+ } | null;
81
+ //# sourceMappingURL=hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.d.ts","sourceRoot":"","sources":["../../../src/ui-server/api/hierarchy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAIL,KAAK,iBAAiB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAuB,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9E,mFAAmF;AACnF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,sEAAsE;AACtE,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,iCAAiC;IACjC,SAAS,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACvC,0EAA0E;IAC1E,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACzC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,gFAAgF;IAChF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,IAAI,GACT;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;CAAE,GAAG,IAAI,CAoCtE"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ /**
3
+ * The type hierarchy block on `/api/node` — ancestors up, subtypes down, and
4
+ * the fan an interface call dispatches into (design spec §3.10).
5
+ *
6
+ * The walk itself is `src/graph/type-hierarchy.ts`, shared with
7
+ * `codegraph_explore`'s interface-dispatch announcement so the two can never
8
+ * print different implementation counts for the same interface. This module is
9
+ * the renderer: it flattens the tree into rows the viewer can draw without
10
+ * measuring anything, and caps the fan while keeping the true totals.
11
+ *
12
+ * It rides on `/api/node` rather than sitting behind its own endpoint for the
13
+ * same reason `highlight` rides on `/api/source`: the block is part of the
14
+ * Symbol view's first paint, and a second round-trip would let the screen
15
+ * settle and then grow a tree above the code the reader had already started
16
+ * reading. The cost of carrying it is gated to types — `canHaveHierarchy` is a
17
+ * kind test, and the overwhelming majority of symbols a reader opens are
18
+ * functions.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MAX_HIERARCHY_ANCESTORS = exports.MAX_HIERARCHY_DESCENDANTS = void 0;
22
+ exports.buildHierarchy = buildHierarchy;
23
+ const type_hierarchy_1 = require("../../graph/type-hierarchy");
24
+ const wire_1 = require("./wire");
25
+ /** Subtype rows carried on the payload. The viewer folds long fans again at 12. */
26
+ exports.MAX_HIERARCHY_DESCENDANTS = 240;
27
+ /** Supertype rows carried on the payload. A chain longer than this is generated code. */
28
+ exports.MAX_HIERARCHY_ANCESTORS = 24;
29
+ /**
30
+ * Build the block, or `null` when there is nothing to draw.
31
+ *
32
+ * `null` is the answer for every function, and for a class that neither
33
+ * extends nor is extended — the viewer draws no empty tree and no "no
34
+ * hierarchy" note, because a class with no subtypes is the normal case and
35
+ * saying so on every screen is noise.
36
+ */
37
+ function buildHierarchy(cg, node) {
38
+ if (!(0, type_hierarchy_1.canHaveHierarchy)(node))
39
+ return null;
40
+ let hierarchy;
41
+ try {
42
+ hierarchy = (0, type_hierarchy_1.buildTypeHierarchy)(cg, node);
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ if (!hierarchy)
48
+ return null;
49
+ const ancestors = hierarchy.ancestors.slice(0, exports.MAX_HIERARCHY_ANCESTORS).map(toWireHierarchyNode);
50
+ const descendants = hierarchy.descendants
51
+ .slice(0, exports.MAX_HIERARCHY_DESCENDANTS)
52
+ .map(toWireHierarchyNode);
53
+ const overrides = new Map();
54
+ for (const [memberId, match] of hierarchy.overrides) {
55
+ overrides.set(memberId, {
56
+ baseId: match.baseId,
57
+ baseTypeId: match.baseTypeId,
58
+ baseTypeName: match.baseTypeName,
59
+ relation: match.relation,
60
+ });
61
+ }
62
+ return {
63
+ wire: {
64
+ ancestors: (0, wire_1.wireList)(ancestors, hierarchy.ancestors.length),
65
+ descendants: (0, wire_1.wireList)(descendants, hierarchy.descendants.length),
66
+ direct: hierarchy.directSubtypes,
67
+ implementers: hierarchy.directImplementers,
68
+ bounded: hierarchy.bounded,
69
+ polymorphic: hierarchy.polymorphic,
70
+ },
71
+ overrides,
72
+ };
73
+ }
74
+ function toWireHierarchyNode(entry) {
75
+ const meta = (entry.edge.metadata ?? {});
76
+ const wire = {
77
+ ...(0, wire_1.toNodeRef)(entry.node),
78
+ depth: entry.depth,
79
+ parentId: entry.parentId,
80
+ relation: entry.relation,
81
+ synthesized: entry.synthesized,
82
+ hiddenSubtypes: entry.hiddenSubtypes,
83
+ };
84
+ if (typeof meta.synthesizedBy === 'string')
85
+ wire.via = meta.synthesizedBy;
86
+ else if (typeof meta.via === 'string')
87
+ wire.via = meta.via;
88
+ if (typeof meta.registeredAt === 'string')
89
+ wire.registeredAt = meta.registeredAt;
90
+ return wire;
91
+ }
92
+ //# sourceMappingURL=hierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../../../src/ui-server/api/hierarchy.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAwEH,wCAuCC;AA3GD,+DAMoC;AACpC,iCAA8E;AAE9E,mFAAmF;AACtE,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAE7C,yFAAyF;AAC5E,QAAA,uBAAuB,GAAG,EAAE,CAAC;AA+C1C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAa,EACb,IAAU;IAEV,IAAI,CAAC,IAAA,iCAAgB,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,SAA+B,CAAC;IACpC,IAAI,CAAC;QACH,SAAS,GAAG,IAAA,mCAAkB,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,+BAAuB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW;SACtC,KAAK,CAAC,CAAC,EAAE,iCAAyB,CAAC;SACnC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;IAClD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACpD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE;YACJ,SAAS,EAAE,IAAA,eAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;YAC1D,WAAW,EAAE,IAAA,eAAQ,EAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC;YAChE,MAAM,EAAE,SAAS,CAAC,cAAc;YAChC,YAAY,EAAE,SAAS,CAAC,kBAAkB;YAC1C,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC;QACD,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAqB;IAChD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;IACpE,MAAM,IAAI,GAAsB;QAC9B,GAAG,IAAA,gBAAS,EAAC,KAAK,CAAC,IAAI,CAAC;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;IACF,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;SACrE,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;QAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3D,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;QAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACjF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The read-only JSON API the viewer reads its screens from.
3
+ *
4
+ * Thirteen endpoints, one per screen, each answering in a single round-trip —
5
+ * the same principle as `codegraph_explore`: return enough that the caller does
6
+ * not have to ask a follow-up question — plus one that does not answer at all
7
+ * and stays open instead (`/api/events`), so a screen learns that its answer
8
+ * went stale rather than waiting to be asked again.
9
+ *
10
+ * All but one are *readers* of the existing schema; nothing here indexes or
11
+ * resolves. The exception is `/api/trails`, which saves the reader's own named
12
+ * walks as JSON under `.codegraph/ui/trails/` — the only write the viewer makes,
13
+ * to the only directory it may write to, and refused outright under
14
+ * `--read-only`. See `./trail-store.ts`.
15
+ *
16
+ * ```
17
+ * GET /api/stats what this index is and how much to trust it
18
+ * GET /api/search?q= the search palette
19
+ * GET /api/node/<id> the Symbol view: rails, members, hierarchy, tests, blast
20
+ * GET /api/nodes?id=&id= names for ids you already have (the trail)
21
+ * GET /api/source?file=&from=&to= verbatim source, with a drift verdict
22
+ * GET /api/file/<path> the File view: outline and import rails
23
+ * GET /api/filecode/<path> the whole-file view: ports, arcs, callee rail
24
+ * GET /api/routes the URL to handler map, when there is one
25
+ * GET /api/entrypoints where to start reading: routes, roots, tests, hubs
26
+ * GET /api/map?root=&depth= the module map: modules, links, cycles
27
+ * GET /api/deadcode symbols nothing reaches, and what was excluded
28
+ * GET /api/flow?from=&to= the flow strip: one card per hop
29
+ * GET /api/events the live channel (SSE): drift and refresh
30
+ * GET /api/trails saved trails, re-resolved against the index
31
+ * POST /api/trails save one (refused under --read-only)
32
+ * DELETE /api/trails/<id> remove one (refused under --read-only)
33
+ * ```
34
+ *
35
+ * It mounts on the `api` seam of `startUiServer`, which means it sits *behind*
36
+ * the loopback boundary in `security.ts`: the `Host` allowlist, the absence of
37
+ * CORS headers and the method restriction are already enforced by the time a
38
+ * handler here runs — including the extra shape a write has to have. The one
39
+ * obligation that remains ours is the path chokepoint, `resolveProjectFile` for
40
+ * anything that touches the repository. Two modules here reach the filesystem
41
+ * and no others: `source.ts` reads the project's code, and `trail-store.ts`
42
+ * reads and writes `.codegraph/ui/trails/`.
43
+ */
44
+ import type { UiApiHandler } from '../index';
45
+ export { GraphSession } from './session';
46
+ export { ApiError } from './respond';
47
+ export * from './wire';
48
+ export type { WireEntryPoints, WireEntryFile, WireEntryTest, WireEntryHub, } from './entrypoints';
49
+ export type { WireRoute, WireRoutes } from './routes';
50
+ export type { WireHierarchy, WireHierarchyNode, WireOverride } from './hierarchy';
51
+ export { MAX_HIERARCHY_ANCESTORS, MAX_HIERARCHY_DESCENDANTS } from './hierarchy';
52
+ export type { WireNodeRefs } from './nodes';
53
+ export type { WireFlowPayload, WireFlow, WireFlowHop, WireFlowEdge, WireFlowSource, WireFlowCallRef, WireFlowAmbiguity, } from './flow';
54
+ export type { WireFileCodePayload, WireFileCall, WireFileOutsideRef, } from './filecode';
55
+ export { EventHub, MAX_EVENT_FILES, HEARTBEAT_MS } from './events';
56
+ export type { WireEvent, WireEventHello, WireEventChanged, WireEventIndex, WireEventDegraded, WireIndexRevision, } from './events';
57
+ export type { WireMapPayload, WireMapModule, WireMapLink, WireMapCycle, } from './map';
58
+ export type { WireDeadCode, WireDeadCodeExclusion, WireDeadCodeGroup, WireDeadCodeRow, } from './deadcode';
59
+ export { MAX_DEAD_CODE_MEMBERS, MAX_DEAD_CODE_ROWS } from './deadcode';
60
+ export type { WireTrail, WireTrailHop, WireTrailHopStatus, WireTrails, SaveTrailRequest, TrailsOptions, } from './trails';
61
+ export { buildTrails, encodeResolvedRun, resolveHop, resolveTrail } from './trails';
62
+ export type { StoredHop, StoredTrail } from './trail-store';
63
+ export { MAX_TRAILS, MAX_TRAIL_HOPS, MAX_TRAIL_NAME, MAX_TRAIL_NOTE, TRAILS_RELATIVE_DIR, TRAIL_FORMAT_VERSION, isTrailId, listStoredTrails, parseTrail, slugify, } from './trail-store';
64
+ /**
65
+ * A mounted API, plus the handle it holds open.
66
+ *
67
+ * `close()` releases the index; the CLI calls it on Ctrl-C so the process does
68
+ * not exit with a live SQLite connection.
69
+ */
70
+ export interface GraphApi {
71
+ handler: UiApiHandler;
72
+ close(): void;
73
+ }
74
+ export interface GraphApiOptions {
75
+ /** Absolute path of the indexed project to read. */
76
+ projectRoot: string;
77
+ /**
78
+ * Refuse every write, so the viewer is a pure reader again.
79
+ *
80
+ * The one thing it would otherwise write is a saved trail into
81
+ * `.codegraph/ui/trails/`. Turning this on is for a checkout that must not
82
+ * change (a review sandbox, a read-only mount, a shared machine); the viewer
83
+ * still lists trails that are already there, and says why Save is gone.
84
+ */
85
+ readOnly?: boolean;
86
+ /** The sentence shown in place of Save. Defaults to a generic one. */
87
+ readOnlyReason?: string;
88
+ }
89
+ export declare function createGraphApi(options: GraphApiOptions): GraphApi;
90
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui-server/api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,UAAU,CAAC;AAqB/D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,cAAc,QAAQ,CAAC;AACvB,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,YAAY,EACV,eAAe,EACf,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAC;AAChB,YAAY,EACV,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnE,YAAY,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,OAAO,CAAC;AACf,YAAY,EACV,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,OAAO,GACR,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA+ED,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CA8EjE"}
@@ -0,0 +1,332 @@
1
+ "use strict";
2
+ /**
3
+ * The read-only JSON API the viewer reads its screens from.
4
+ *
5
+ * Thirteen endpoints, one per screen, each answering in a single round-trip —
6
+ * the same principle as `codegraph_explore`: return enough that the caller does
7
+ * not have to ask a follow-up question — plus one that does not answer at all
8
+ * and stays open instead (`/api/events`), so a screen learns that its answer
9
+ * went stale rather than waiting to be asked again.
10
+ *
11
+ * All but one are *readers* of the existing schema; nothing here indexes or
12
+ * resolves. The exception is `/api/trails`, which saves the reader's own named
13
+ * walks as JSON under `.codegraph/ui/trails/` — the only write the viewer makes,
14
+ * to the only directory it may write to, and refused outright under
15
+ * `--read-only`. See `./trail-store.ts`.
16
+ *
17
+ * ```
18
+ * GET /api/stats what this index is and how much to trust it
19
+ * GET /api/search?q= the search palette
20
+ * GET /api/node/<id> the Symbol view: rails, members, hierarchy, tests, blast
21
+ * GET /api/nodes?id=&id= names for ids you already have (the trail)
22
+ * GET /api/source?file=&from=&to= verbatim source, with a drift verdict
23
+ * GET /api/file/<path> the File view: outline and import rails
24
+ * GET /api/filecode/<path> the whole-file view: ports, arcs, callee rail
25
+ * GET /api/routes the URL to handler map, when there is one
26
+ * GET /api/entrypoints where to start reading: routes, roots, tests, hubs
27
+ * GET /api/map?root=&depth= the module map: modules, links, cycles
28
+ * GET /api/deadcode symbols nothing reaches, and what was excluded
29
+ * GET /api/flow?from=&to= the flow strip: one card per hop
30
+ * GET /api/events the live channel (SSE): drift and refresh
31
+ * GET /api/trails saved trails, re-resolved against the index
32
+ * POST /api/trails save one (refused under --read-only)
33
+ * DELETE /api/trails/<id> remove one (refused under --read-only)
34
+ * ```
35
+ *
36
+ * It mounts on the `api` seam of `startUiServer`, which means it sits *behind*
37
+ * the loopback boundary in `security.ts`: the `Host` allowlist, the absence of
38
+ * CORS headers and the method restriction are already enforced by the time a
39
+ * handler here runs — including the extra shape a write has to have. The one
40
+ * obligation that remains ours is the path chokepoint, `resolveProjectFile` for
41
+ * anything that touches the repository. Two modules here reach the filesystem
42
+ * and no others: `source.ts` reads the project's code, and `trail-store.ts`
43
+ * reads and writes `.codegraph/ui/trails/`.
44
+ */
45
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
46
+ if (k2 === undefined) k2 = k;
47
+ var desc = Object.getOwnPropertyDescriptor(m, k);
48
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
49
+ desc = { enumerable: true, get: function() { return m[k]; } };
50
+ }
51
+ Object.defineProperty(o, k2, desc);
52
+ }) : (function(o, m, k, k2) {
53
+ if (k2 === undefined) k2 = k;
54
+ o[k2] = m[k];
55
+ }));
56
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
57
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
58
+ };
59
+ Object.defineProperty(exports, "__esModule", { value: true });
60
+ exports.slugify = exports.parseTrail = exports.listStoredTrails = exports.isTrailId = exports.TRAIL_FORMAT_VERSION = exports.TRAILS_RELATIVE_DIR = exports.MAX_TRAIL_NOTE = exports.MAX_TRAIL_NAME = exports.MAX_TRAIL_HOPS = exports.MAX_TRAILS = exports.resolveTrail = exports.resolveHop = exports.encodeResolvedRun = exports.buildTrails = exports.MAX_DEAD_CODE_ROWS = exports.MAX_DEAD_CODE_MEMBERS = exports.HEARTBEAT_MS = exports.MAX_EVENT_FILES = exports.EventHub = exports.MAX_HIERARCHY_DESCENDANTS = exports.MAX_HIERARCHY_ANCESTORS = exports.ApiError = exports.GraphSession = void 0;
61
+ exports.createGraphApi = createGraphApi;
62
+ const security_1 = require("../security");
63
+ const session_1 = require("./session");
64
+ const respond_1 = require("./respond");
65
+ const stats_1 = require("./stats");
66
+ const search_1 = require("./search");
67
+ const node_1 = require("./node");
68
+ const source_1 = require("./source");
69
+ const file_1 = require("./file");
70
+ const filecode_1 = require("./filecode");
71
+ const routes_1 = require("./routes");
72
+ const entrypoints_1 = require("./entrypoints");
73
+ const nodes_1 = require("./nodes");
74
+ const map_1 = require("./map");
75
+ const screens_1 = require("./screens");
76
+ const steps_1 = require("./steps");
77
+ const deadcode_1 = require("./deadcode");
78
+ const flow_1 = require("./flow");
79
+ const trails_1 = require("./trails");
80
+ const events_1 = require("./events");
81
+ var session_2 = require("./session");
82
+ Object.defineProperty(exports, "GraphSession", { enumerable: true, get: function () { return session_2.GraphSession; } });
83
+ var respond_2 = require("./respond");
84
+ Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return respond_2.ApiError; } });
85
+ __exportStar(require("./wire"), exports);
86
+ var hierarchy_1 = require("./hierarchy");
87
+ Object.defineProperty(exports, "MAX_HIERARCHY_ANCESTORS", { enumerable: true, get: function () { return hierarchy_1.MAX_HIERARCHY_ANCESTORS; } });
88
+ Object.defineProperty(exports, "MAX_HIERARCHY_DESCENDANTS", { enumerable: true, get: function () { return hierarchy_1.MAX_HIERARCHY_DESCENDANTS; } });
89
+ var events_2 = require("./events");
90
+ Object.defineProperty(exports, "EventHub", { enumerable: true, get: function () { return events_2.EventHub; } });
91
+ Object.defineProperty(exports, "MAX_EVENT_FILES", { enumerable: true, get: function () { return events_2.MAX_EVENT_FILES; } });
92
+ Object.defineProperty(exports, "HEARTBEAT_MS", { enumerable: true, get: function () { return events_2.HEARTBEAT_MS; } });
93
+ var deadcode_2 = require("./deadcode");
94
+ Object.defineProperty(exports, "MAX_DEAD_CODE_MEMBERS", { enumerable: true, get: function () { return deadcode_2.MAX_DEAD_CODE_MEMBERS; } });
95
+ Object.defineProperty(exports, "MAX_DEAD_CODE_ROWS", { enumerable: true, get: function () { return deadcode_2.MAX_DEAD_CODE_ROWS; } });
96
+ var trails_2 = require("./trails");
97
+ Object.defineProperty(exports, "buildTrails", { enumerable: true, get: function () { return trails_2.buildTrails; } });
98
+ Object.defineProperty(exports, "encodeResolvedRun", { enumerable: true, get: function () { return trails_2.encodeResolvedRun; } });
99
+ Object.defineProperty(exports, "resolveHop", { enumerable: true, get: function () { return trails_2.resolveHop; } });
100
+ Object.defineProperty(exports, "resolveTrail", { enumerable: true, get: function () { return trails_2.resolveTrail; } });
101
+ var trail_store_1 = require("./trail-store");
102
+ Object.defineProperty(exports, "MAX_TRAILS", { enumerable: true, get: function () { return trail_store_1.MAX_TRAILS; } });
103
+ Object.defineProperty(exports, "MAX_TRAIL_HOPS", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_HOPS; } });
104
+ Object.defineProperty(exports, "MAX_TRAIL_NAME", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_NAME; } });
105
+ Object.defineProperty(exports, "MAX_TRAIL_NOTE", { enumerable: true, get: function () { return trail_store_1.MAX_TRAIL_NOTE; } });
106
+ Object.defineProperty(exports, "TRAILS_RELATIVE_DIR", { enumerable: true, get: function () { return trail_store_1.TRAILS_RELATIVE_DIR; } });
107
+ Object.defineProperty(exports, "TRAIL_FORMAT_VERSION", { enumerable: true, get: function () { return trail_store_1.TRAIL_FORMAT_VERSION; } });
108
+ Object.defineProperty(exports, "isTrailId", { enumerable: true, get: function () { return trail_store_1.isTrailId; } });
109
+ Object.defineProperty(exports, "listStoredTrails", { enumerable: true, get: function () { return trail_store_1.listStoredTrails; } });
110
+ Object.defineProperty(exports, "parseTrail", { enumerable: true, get: function () { return trail_store_1.parseTrail; } });
111
+ Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return trail_store_1.slugify; } });
112
+ /** What `GET /api` answers: the endpoint list, for anyone poking at it by hand. */
113
+ const API_INDEX = {
114
+ name: 'cg ui',
115
+ /**
116
+ * Every endpoint but `/api/trails` is a pure read. Kept as a field rather
117
+ * than dropped, because it was `true` and something may be reading it; it is
118
+ * now the honest, narrower claim.
119
+ */
120
+ readOnly: false,
121
+ writes: ['POST /api/trails', 'DELETE /api/trails/<id>'],
122
+ endpoints: [
123
+ { path: '/api/stats', description: 'Index state, graph counts, detected frameworks.' },
124
+ { path: '/api/search', description: 'Ranked symbol search.', params: ['q', 'limit'] },
125
+ {
126
+ path: '/api/node/<id>',
127
+ description: 'One symbol: callers, callees, members, type hierarchy, tests, blast radius.',
128
+ },
129
+ { path: '/api/nodes', description: 'Names and locations for ids you already have.', params: ['id'] },
130
+ {
131
+ path: '/api/source',
132
+ description: 'Verbatim source for an indexed file, omitted when it has drifted on disk.',
133
+ params: ['file', 'from', 'to'],
134
+ },
135
+ { path: '/api/file/<path>', description: 'One file: outline and import rails.' },
136
+ {
137
+ path: '/api/filecode/<path>',
138
+ description: 'One file, line by line: call sites, unresolved references and the calls that stay inside it.',
139
+ },
140
+ { path: '/api/routes', description: 'URL to handler map, when the project is a routed app.', params: ['limit'] },
141
+ {
142
+ path: '/api/map',
143
+ description: 'The repository at module granularity: modules, cross-module links, cycles.',
144
+ params: ['root', 'depth'],
145
+ },
146
+ {
147
+ path: '/api/screens',
148
+ description: 'The app as screens and the transitions between them, each with the conditions it runs under.',
149
+ params: [],
150
+ },
151
+ {
152
+ path: '/api/steps',
153
+ description: 'What happens from a screen or a symbol: screens, handlers, native bridge calls and events, store writes and calls that leave the index, as typed steps with the conditions between them.',
154
+ params: ['anchor', 'symbol', 'depth', 'limit'],
155
+ },
156
+ {
157
+ path: '/api/flow',
158
+ description: 'The call path between symbols: one hop per card, opened at the calling line.',
159
+ params: ['from', 'to', 'symbols', 'hop', 'limit'],
160
+ },
161
+ {
162
+ path: '/api/events',
163
+ description: 'Live channel (server-sent events): source files that changed on disk, and the index moving.',
164
+ },
165
+ {
166
+ path: '/api/deadcode',
167
+ description: 'Symbols nothing in the index reaches, grouped by file, with every reason a candidate was excluded.',
168
+ params: ['limit', 'kinds', 'exported', 'tests', 'generated'],
169
+ },
170
+ {
171
+ path: '/api/entrypoints',
172
+ description: 'Where to start reading: routes, files that run something, and hubs.',
173
+ params: ['limit'],
174
+ },
175
+ {
176
+ path: '/api/trails',
177
+ description: 'Saved trails, each hop re-resolved against the current index. POST saves one, ' +
178
+ 'DELETE /api/trails/<id> removes it. The only endpoint that writes.',
179
+ },
180
+ ],
181
+ };
182
+ function createGraphApi(options) {
183
+ const session = new session_1.GraphSession(options.projectRoot);
184
+ // Watches nothing until a browser subscribes, and stops again when the last
185
+ // one goes away — mounting the API costs no watch descriptors.
186
+ const events = new events_1.EventHub(options.projectRoot, session);
187
+ const trails = {
188
+ readOnly: options.readOnly === true,
189
+ readOnlyReason: options.readOnly === true
190
+ ? options.readOnlyReason ?? 'This viewer is running read-only, so trails cannot be saved.'
191
+ : null,
192
+ };
193
+ // Async because `/api/source` highlights: everything else answers straight
194
+ // out of SQLite and resolves on the same tick.
195
+ const handler = async (req, res, ctx) => {
196
+ const route = normalize(ctx.pathname);
197
+ try {
198
+ // Writes first: they are the only requests that carry a body, and
199
+ // routing them beside the readers would put a `case` that mutates in a
200
+ // switch every other arm of which is a query.
201
+ if (ctx.method === 'POST' || ctx.method === 'DELETE') {
202
+ return await dispatchWrite(route, req, res, ctx, session, trails);
203
+ }
204
+ switch (route) {
205
+ case '/api':
206
+ return (0, respond_1.ok)(res, API_INDEX, ctx.method);
207
+ case '/api/stats':
208
+ return (0, respond_1.ok)(res, (0, stats_1.buildStats)(session.acquire(), ctx.projectRoot), ctx.method);
209
+ case '/api/search':
210
+ return (0, respond_1.ok)(res, (0, search_1.buildSearch)(session.acquire(), ctx.query), ctx.method);
211
+ case '/api/routes':
212
+ return (0, respond_1.ok)(res, (0, routes_1.buildRoutes)(session.acquire(), ctx.query), ctx.method);
213
+ case '/api/map':
214
+ return (0, respond_1.ok)(res, (0, map_1.buildMap)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
215
+ case '/api/screens':
216
+ return (0, respond_1.ok)(res, await (0, screens_1.buildScreens)(session.acquire(), ctx.projectRoot), ctx.method);
217
+ case '/api/steps':
218
+ return (0, respond_1.ok)(res, await (0, steps_1.buildSteps)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
219
+ case '/api/deadcode':
220
+ return (0, respond_1.ok)(res, (0, deadcode_1.buildDeadCode)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
221
+ case '/api/entrypoints':
222
+ return (0, respond_1.ok)(res, (0, entrypoints_1.buildEntryPoints)(session.acquire(), ctx.query), ctx.method);
223
+ case '/api/trails':
224
+ return (0, respond_1.ok)(res, (0, trails_1.buildTrails)(session.acquire(), ctx.projectRoot, trails), ctx.method);
225
+ case '/api/nodes':
226
+ return (0, respond_1.ok)(res, (0, nodes_1.buildNodeRefs)(session.acquire(), ctx.query), ctx.method);
227
+ case '/api/source':
228
+ return (0, respond_1.ok)(res, await (0, source_1.buildSource)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
229
+ case '/api/flow':
230
+ return (0, respond_1.ok)(res, await (0, flow_1.buildFlow)(session.acquire(), ctx.projectRoot, ctx.query), ctx.method);
231
+ case '/api/events':
232
+ // Streams instead of answering: it writes its own headers and keeps
233
+ // the socket open, so it never goes through `ok()`.
234
+ return events.subscribe(req, res, ctx.method);
235
+ default:
236
+ return await dispatchPathRoutes(route, res, ctx, session);
237
+ }
238
+ }
239
+ catch (err) {
240
+ // A refusal from the read chokepoint is a 403 with the reason attached —
241
+ // the request asked for something outside the project, and there is no
242
+ // version of it we would serve.
243
+ if (err instanceof security_1.PathRefusalError) {
244
+ return (0, respond_1.fail)(res, new respond_1.ApiError('refused', err.message), ctx.method);
245
+ }
246
+ return (0, respond_1.fail)(res, err, ctx.method);
247
+ }
248
+ };
249
+ return {
250
+ handler,
251
+ close: () => {
252
+ // Streams first: a client still attached would hold the socket open
253
+ // against the server's own close.
254
+ events.close();
255
+ session.close();
256
+ },
257
+ };
258
+ }
259
+ /**
260
+ * The write half: `/api/trails` and nothing else.
261
+ *
262
+ * Kept to one function so the answer to "what can this server change?" is one
263
+ * place a reviewer can read in full. Anything else that arrives with a write
264
+ * method is a 405 naming the endpoint that does accept one — by the time this
265
+ * runs, `isWriteRequest` has already established the request could not have
266
+ * been forged from another origin, so an unhelpfully vague refusal here would
267
+ * only confuse the person poking at their own API.
268
+ */
269
+ async function dispatchWrite(route, req, res, ctx, session, trails) {
270
+ if (ctx.method === 'POST' && route === '/api/trails') {
271
+ const body = await (0, respond_1.readJsonBody)(req);
272
+ return (0, respond_1.ok)(res, (0, trails_1.saveTrail)(session.acquire(), ctx.projectRoot, body, trails), ctx.method);
273
+ }
274
+ if (ctx.method === 'DELETE') {
275
+ const id = suffixAfter(route, '/api/trails/');
276
+ if (id !== null && id !== '') {
277
+ return (0, respond_1.ok)(res, (0, trails_1.removeTrail)(session.acquire(), ctx.projectRoot, id, trails), ctx.method);
278
+ }
279
+ if (route === '/api/trails') {
280
+ throw (0, respond_1.badRequest)('Deleting a trail needs its id: DELETE /api/trails/<id>.');
281
+ }
282
+ }
283
+ res.setHeader('Allow', 'GET, HEAD');
284
+ throw new respond_1.ApiError('bad-request', `${ctx.method} ${route} is not something this server changes.`, 'The only endpoint that writes is /api/trails (POST to save, DELETE /api/trails/<id> to remove).');
285
+ }
286
+ /**
287
+ * The two endpoints that carry their argument in the path.
288
+ *
289
+ * `ctx.pathname` is already percent-decoded, so a node id or a file path
290
+ * containing `/` (`file:src/a.ts`) arrives whole — the remainder after the
291
+ * prefix IS the argument, slashes and all. Node ids are opaque: they go
292
+ * straight to an exact lookup, and anything that names nothing is a 404. File
293
+ * paths go through the read chokepoint before anything is opened.
294
+ */
295
+ async function dispatchPathRoutes(route, res, ctx, session) {
296
+ const nodeId = suffixAfter(route, '/api/node/');
297
+ if (nodeId !== null) {
298
+ if (nodeId === '')
299
+ throw (0, respond_1.badRequest)('No symbol id was given. Use /api/node/<id>.');
300
+ return (0, respond_1.ok)(res, await (0, node_1.buildNode)(session.acquire(), ctx.projectRoot, nodeId), ctx.method);
301
+ }
302
+ // Before `/api/file/`: that prefix is not a prefix of this route, but keeping
303
+ // the more specific one first means adding another `/api/file…` sibling later
304
+ // cannot silently start matching the shorter one.
305
+ const codePath = suffixAfter(route, '/api/filecode/');
306
+ if (codePath !== null) {
307
+ return (0, respond_1.ok)(res, (0, filecode_1.buildFileCode)(session.acquire(), ctx.projectRoot, codePath), ctx.method);
308
+ }
309
+ const filePath = suffixAfter(route, '/api/file/');
310
+ if (filePath !== null) {
311
+ if (filePath === '')
312
+ throw (0, respond_1.badRequest)('No file path was given. Use /api/file/<path>.');
313
+ return (0, respond_1.ok)(res, (0, file_1.buildFile)(session.acquire(), ctx.projectRoot, filePath), ctx.method);
314
+ }
315
+ // `/api/node` and `/api/file` with no argument at all, so the message can say
316
+ // what the endpoint wants instead of falling through to a bare 404.
317
+ if (route === '/api/filecode') {
318
+ throw (0, respond_1.badRequest)('/api/filecode needs an argument: /api/filecode/<path>.');
319
+ }
320
+ if (route === '/api/node' || route === '/api/file') {
321
+ throw (0, respond_1.badRequest)(`${route} needs an argument: ${route}/<${route.endsWith('node') ? 'id' : 'path'}>.`);
322
+ }
323
+ throw (0, respond_1.notFound)(`No such endpoint: ${route}`, 'GET /api lists everything this server answers.');
324
+ }
325
+ /** Drop a single trailing slash, so `/api/stats/` and `/api/stats` are one route. */
326
+ function normalize(pathname) {
327
+ return pathname.length > 4 && pathname.endsWith('/') ? pathname.slice(0, -1) : pathname;
328
+ }
329
+ function suffixAfter(route, prefix) {
330
+ return route.startsWith(prefix) ? route.slice(prefix.length) : null;
331
+ }
332
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-server/api/index.ts"],"names":[],"mappings":"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"}