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,785 @@
1
+ "use strict";
2
+ /**
3
+ * Expo Router (React Native) — file-based screens and string-keyed navigation.
4
+ *
5
+ * Two things static extraction cannot see on its own, and that together are
6
+ * most of what "how does the app flow" means in an Expo app:
7
+ *
8
+ * 1. **A screen is a file, not a symbol.** Every file under `app/` (or
9
+ * `src/app/`) is a route: `app/object-detail.tsx` is `/object-detail`,
10
+ * `app/capture/index.tsx` is `/capture`, `app/item/[id].tsx` is `/item/[id]`,
11
+ * and `(group)` directories are invisible in the URL. `extract()` emits one
12
+ * `route` node per screen file, named by its path, with a `calls` ref to the
13
+ * file's default export so the route reaches the component that renders it.
14
+ *
15
+ * 2. **Navigation is a string.** `router.push('/object-detail?…')`,
16
+ * `router.navigate({ pathname: '/item/[id]', params })`, a template literal
17
+ * with the params interpolated — the extractor records each as a `calls` ref
18
+ * named `router.push` that resolves to nothing, because the target is a
19
+ * path, not an identifier. `resolve()` claims those refs, reads the argument
20
+ * off the source lines, matches it against the route table, and returns a
21
+ * **`navigates`** edge to the route node, carrying the href it read.
22
+ *
23
+ * Between them the graph gains `ItemCard → openObjectDetail → /object-detail →
24
+ * ObjectDetail`, which is the chain a reader asking "where does tapping an
25
+ * object go" needs and previously got "no path" for.
26
+ *
27
+ * Precision rests on the string resolving to a real screen file, not on the
28
+ * receiver being called `router`: `nav.push('/x')` from `const nav =
29
+ * useRouter()` binds, `list.push('/x')` where no such route exists does not.
30
+ * Anything the resolver cannot bind to exactly one screen — a computed path,
31
+ * an ambiguous dynamic match, a relative href from a non-screen file — is left
32
+ * unresolved rather than guessed. Silent beats wrong.
33
+ *
34
+ * Not covered yet (each needs the enclosing component, which `extract()` does
35
+ * not receive): `<Link href>`, `<Redirect href>`, and `Stack.Screen` /
36
+ * `Tabs.Screen` `name` props. `router.back()` / `dismiss()` have no target and
37
+ * are correctly skipped.
38
+ */
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.expoRouterResolver = exports.HOLE = exports.NAV_METHOD = void 0;
41
+ exports.routePathForFile = routePathForFile;
42
+ exports.defaultExportName = defaultExportName;
43
+ exports.navVerb = navVerb;
44
+ exports.stringEnd = stringEnd;
45
+ exports.readStringAt = readStringAt;
46
+ exports.hrefArms = hrefArms;
47
+ exports.toHref = toHref;
48
+ exports.parseHrefExpression = parseHrefExpression;
49
+ exports.readHrefArgument = readHrefArgument;
50
+ exports.firstArgumentText = firstArgumentText;
51
+ exports.nthArgumentText = nthArgumentText;
52
+ exports.readHrefViaLocal = readHrefViaLocal;
53
+ exports.routesForFile = routesForFile;
54
+ exports.addRouteTo = addRouteTo;
55
+ exports.appRootFor = appRootFor;
56
+ exports.routeTable = routeTable;
57
+ exports.normalizeHrefPath = normalizeHrefPath;
58
+ exports.matchRoute = matchRoute;
59
+ const strip_comments_1 = require("../strip-comments");
60
+ const package_deps_1 = require("./package-deps");
61
+ // =============================================================================
62
+ // Route files
63
+ // =============================================================================
64
+ const ROUTE_LANGUAGES = ['typescript', 'javascript', 'tsx', 'jsx'];
65
+ /** The app directory: `app/` at the project root, or `src/app/`. First match wins. */
66
+ const APP_DIR = /(?:^|\/)(?:src\/)?app\//;
67
+ /** A screen file's extension, with an optional platform suffix (`.ios.tsx`). */
68
+ const ROUTE_EXT = /\.(?:(?:ios|android|native|web)\.)?(tsx|ts|jsx|js|mjs|cjs)$/;
69
+ /** Files under `app/` that define a screen (not a layout, not test, not html). */
70
+ function routePathForFile(filePath) {
71
+ const dir = APP_DIR.exec(filePath);
72
+ if (!dir)
73
+ return null;
74
+ const rel = filePath.slice(dir.index + dir[0].length);
75
+ const ext = ROUTE_EXT.exec(rel);
76
+ if (!ext)
77
+ return null;
78
+ const bare = rel.slice(0, ext.index);
79
+ if (bare.endsWith('.d') || /\.(?:test|spec|stories)$/.test(bare))
80
+ return null;
81
+ const segs = bare.split('/');
82
+ if (segs.includes('__tests__') || segs.includes('__mocks__'))
83
+ return null;
84
+ const base = segs[segs.length - 1];
85
+ // `_layout` (and any other `_`-prefixed file) is not navigable. `+not-found`
86
+ // is a real screen; the other `+` files (`+html`, `+native-intent`) are not.
87
+ if (base.startsWith('_'))
88
+ return null;
89
+ if (base.startsWith('+') && base !== '+not-found')
90
+ return null;
91
+ const kept = segs.filter((s) => !(s.startsWith('(') && s.endsWith(')')));
92
+ if (kept[kept.length - 1] === 'index')
93
+ kept.pop();
94
+ return '/' + kept.join('/');
95
+ }
96
+ function languageForFile(filePath) {
97
+ const ext = ROUTE_EXT.exec(filePath)?.[1];
98
+ switch (ext) {
99
+ case 'tsx':
100
+ return 'tsx';
101
+ case 'jsx':
102
+ return 'jsx';
103
+ case 'ts':
104
+ return 'typescript';
105
+ default:
106
+ return 'javascript';
107
+ }
108
+ }
109
+ const IDENT = '[A-Za-z_$][\\w$]*';
110
+ /**
111
+ * The name the file exports as its screen. Expo renders the DEFAULT export,
112
+ * so that is the only binding that matters; a wrapper (`memo(Screen)`,
113
+ * `observer(Screen)`, `React.forwardRef(Screen)`) is looked through to its
114
+ * first identifier argument. Anonymous defaults (`export default () => …`)
115
+ * have no name to bind and yield null.
116
+ */
117
+ function defaultExportName(stripped) {
118
+ const patterns = [
119
+ new RegExp(`export\\s+default\\s+(?:async\\s+)?function\\s*\\*?\\s*(${IDENT})`),
120
+ new RegExp(`export\\s+default\\s+class\\s+(${IDENT})`),
121
+ new RegExp(`export\\s+default\\s+(?:${IDENT}\\.)?${IDENT}\\s*\\(\\s*(${IDENT})\\s*[,)]`),
122
+ new RegExp(`export\\s+default\\s+(${IDENT})\\s*;?\\s*$`, 'm'),
123
+ new RegExp(`export\\s*\\{\\s*(${IDENT})\\s+as\\s+default\\s*\\}`),
124
+ ];
125
+ for (const re of patterns) {
126
+ const m = re.exec(stripped);
127
+ if (m && m[1] && m[1] !== 'default')
128
+ return { name: m[1], index: m.index };
129
+ }
130
+ return null;
131
+ }
132
+ // =============================================================================
133
+ // Reading the href out of a navigation call
134
+ // =============================================================================
135
+ /**
136
+ * The `router` methods that take a destination (`back`/`dismiss` take none),
137
+ * and a project's own wrappers around them: `safePush('/x')`,
138
+ * `guardedNavigate('/x')` — a camelCase name ending in the verb. A wrapper
139
+ * usually defers the real call through state the graph cannot follow
140
+ * (`pendingNav = { method, href }` … `router[method](href)`), so its NAME is
141
+ * the only static evidence; the argument resolving to a real screen is what
142
+ * makes the claim safe. Second group: the verb, when it came from a wrapper.
143
+ */
144
+ exports.NAV_METHOD = /(?:^|\.)(push|replace|navigate|dismissTo)$|^[a-z][A-Za-z]*(Push|Replace|Navigate)$/;
145
+ /** The verb a NAV_METHOD match names, lower-cased: `safePush` → `push`. */
146
+ function navVerb(name) {
147
+ const m = exports.NAV_METHOD.exec(name);
148
+ if (!m)
149
+ return null;
150
+ // A router method is already the verb (`dismissTo`); a wrapper's suffix
151
+ // (`safePush` → `Push`) is lower-cased to name the verb it stands in for.
152
+ return m[1] ?? m[2].toLowerCase();
153
+ }
154
+ /** Lines a single navigation call is allowed to span. */
155
+ const MAX_CALL_LINES = 12;
156
+ /** Placeholder for an interpolated `${…}` inside a template-literal href (shared with the cross-tier synthesizer). */
157
+ exports.HOLE = '\u0000';
158
+ /** Index of the `)` matching the `(` at `open`, skipping string bodies; -1 if unbalanced. */
159
+ function matchParen(s, open) {
160
+ let depth = 0;
161
+ for (let i = open; i < s.length; i++) {
162
+ const ch = s[i];
163
+ if (ch === '"' || ch === "'") {
164
+ const q = ch;
165
+ i++;
166
+ while (i < s.length && s[i] !== q) {
167
+ if (s[i] === '\\')
168
+ i++;
169
+ i++;
170
+ }
171
+ continue;
172
+ }
173
+ if (ch === '`') {
174
+ i = skipTemplate(s, i);
175
+ continue;
176
+ }
177
+ if (ch === '(')
178
+ depth++;
179
+ else if (ch === ')') {
180
+ depth--;
181
+ if (depth === 0)
182
+ return i;
183
+ }
184
+ }
185
+ return -1;
186
+ }
187
+ /** Index of the closing backtick for the template starting at `open`. */
188
+ function skipTemplate(s, open) {
189
+ let i = open + 1;
190
+ while (i < s.length) {
191
+ const ch = s[i];
192
+ if (ch === '\\') {
193
+ i += 2;
194
+ continue;
195
+ }
196
+ if (ch === '`')
197
+ return i;
198
+ if (ch === '$' && s[i + 1] === '{') {
199
+ let depth = 0;
200
+ for (i = i + 1; i < s.length; i++) {
201
+ if (s[i] === '{')
202
+ depth++;
203
+ else if (s[i] === '}') {
204
+ depth--;
205
+ if (depth === 0)
206
+ break;
207
+ }
208
+ else if (s[i] === '`')
209
+ i = skipTemplate(s, i);
210
+ }
211
+ }
212
+ i++;
213
+ }
214
+ return s.length;
215
+ }
216
+ /** Index of the quote that closes the string literal opening at `at` (or the end of `s`). */
217
+ function stringEnd(s, at) {
218
+ const q = s[at];
219
+ if (q === '`')
220
+ return skipTemplate(s, at);
221
+ for (let i = at + 1; i < s.length; i++) {
222
+ if (s[i] === '\\')
223
+ i++;
224
+ else if (s[i] === q)
225
+ return i;
226
+ }
227
+ return s.length;
228
+ }
229
+ /**
230
+ * A string literal (`'…'`, `"…"`, or a template) starting at `at`, as text
231
+ * with every `${…}` replaced by {@link HOLE}. Null when `at` is not a string.
232
+ */
233
+ function readStringAt(s, at) {
234
+ const q = s[at];
235
+ if (q === '"' || q === "'") {
236
+ let out = '';
237
+ for (let i = at + 1; i < s.length; i++) {
238
+ const ch = s[i];
239
+ if (ch === '\\') {
240
+ out += s[i + 1] ?? '';
241
+ i++;
242
+ continue;
243
+ }
244
+ if (ch === q)
245
+ return out;
246
+ out += ch;
247
+ }
248
+ return null;
249
+ }
250
+ if (q === '`') {
251
+ const end = skipTemplate(s, at);
252
+ let out = '';
253
+ for (let i = at + 1; i < end; i++) {
254
+ const ch = s[i];
255
+ if (ch === '\\') {
256
+ out += s[i + 1] ?? '';
257
+ i++;
258
+ continue;
259
+ }
260
+ if (ch === '$' && s[i + 1] === '{') {
261
+ let depth = 0;
262
+ for (i = i + 1; i < end; i++) {
263
+ if (s[i] === '{')
264
+ depth++;
265
+ else if (s[i] === '}') {
266
+ depth--;
267
+ if (depth === 0)
268
+ break;
269
+ }
270
+ }
271
+ out += exports.HOLE;
272
+ continue;
273
+ }
274
+ out += ch;
275
+ }
276
+ return out;
277
+ }
278
+ return null;
279
+ }
280
+ /** Every destination an href names — itself first, then its other arms. */
281
+ function hrefArms(href) {
282
+ return href.alternates?.length ? [href, ...href.alternates] : [href];
283
+ }
284
+ /** Index of the first `ch` at bracket depth 0 and outside strings, or -1. */
285
+ function indexAtDepth0(s, ch, from) {
286
+ let depth = 0;
287
+ for (let i = from; i < s.length; i++) {
288
+ const c = s[i];
289
+ if (c === '"' || c === "'") {
290
+ const q = c;
291
+ i++;
292
+ while (i < s.length && s[i] !== q) {
293
+ if (s[i] === '\\')
294
+ i++;
295
+ i++;
296
+ }
297
+ continue;
298
+ }
299
+ if (c === '`') {
300
+ i = skipTemplate(s, i);
301
+ continue;
302
+ }
303
+ if (c === '(' || c === '[' || c === '{')
304
+ depth++;
305
+ else if (c === ')' || c === ']' || c === '}')
306
+ depth--;
307
+ else if (c === '?' && (s[i + 1] === '.' || s[i + 1] === '?'))
308
+ i++; // `?.` / `??`
309
+ else if (depth === 0 && c === ch)
310
+ return i;
311
+ }
312
+ return -1;
313
+ }
314
+ function toHref(literal) {
315
+ if (literal === null || literal.length === 0)
316
+ return null;
317
+ const cut = literal.search(/[?#]/);
318
+ const path = cut < 0 ? literal : literal.slice(0, cut);
319
+ if (path.length === 0)
320
+ return null;
321
+ return { path, display: literal.split(exports.HOLE).join('${…}') };
322
+ }
323
+ /**
324
+ * The href in one argument expression: a string, a template, an `Href` object
325
+ * with a literal `pathname`, or a conditional whose two arms are each one of
326
+ * those (`cond ? \`/x?id=${id}\` : '/x'`). Anything else is not static.
327
+ */
328
+ /**
329
+ * The `:` that closes the ternary opened at `q`, honouring nested ones.
330
+ *
331
+ * Taking the FIRST `:` splits `a ? b ? '/x' : '/y' : '/z'` between `b` and
332
+ * `'/y'`, which reads as `'/y'` — a real path, from the wrong arm. A paginator
333
+ * written that way (`!isAdmin ? keyword ? … : '/page/…' : '/admin/…'`) then
334
+ * pointed an admin's page links at the storefront's pagination. With the arms
335
+ * paired correctly the expression is a three-way fork, and a fork is nothing.
336
+ */
337
+ function ternaryColon(s, q) {
338
+ let depth = 0;
339
+ let i = q + 1;
340
+ for (let steps = 0; steps < 64; steps++) {
341
+ const nextQ = indexAtDepth0(s, '?', i);
342
+ const nextColon = indexAtDepth0(s, ':', i);
343
+ if (nextColon < 0)
344
+ return -1;
345
+ if (nextQ >= 0 && nextQ < nextColon) {
346
+ depth++;
347
+ i = nextQ + 1;
348
+ continue;
349
+ }
350
+ if (depth === 0)
351
+ return nextColon;
352
+ depth--;
353
+ i = nextColon + 1;
354
+ }
355
+ return -1;
356
+ }
357
+ function parseHrefExpression(expr) {
358
+ // `expr as any` / `expr satisfies Href` — a cast says nothing about the value.
359
+ let args = expr.trim().replace(/\s+(?:as|satisfies)\s+[\w$.<>[\]|&\s]+$/, '');
360
+ // `(a ? b : c)` — unwrap one layer of grouping parens.
361
+ while (args.startsWith('(') && matchParen(args, 0) === args.length - 1) {
362
+ args = args.slice(1, -1).trim().replace(/\s+(?:as|satisfies)\s+[\w$.<>[\]|&\s]+$/, '');
363
+ }
364
+ if (args.length === 0)
365
+ return null;
366
+ const q = indexAtDepth0(args, '?', 0);
367
+ if (q > 0) {
368
+ const colon = ternaryColon(args, q);
369
+ if (colon > q) {
370
+ const yes = parseHrefExpression(args.slice(q + 1, colon));
371
+ const no = parseHrefExpression(args.slice(colon + 1));
372
+ // Every arm is a destination, flattened — an arm that is itself a
373
+ // conditional contributes its own arms rather than being reduced to one.
374
+ // `const redirect = location.search ? location.search.split('=')[1] : '/'`
375
+ // then `history.push(redirect)` contributes just the `/`, which is where
376
+ // that lands by default; reading neither arm lost the whole transition.
377
+ const arms = [...(yes ? hrefArms(yes) : []), ...(no ? hrefArms(no) : [])];
378
+ const head = arms[0];
379
+ if (!head)
380
+ return null;
381
+ const rest = arms.slice(1);
382
+ return rest.length ? { path: head.path, display: head.display, alternates: rest } : { path: head.path, display: head.display };
383
+ }
384
+ }
385
+ if (args[0] === '{') {
386
+ const key = /\bpathname\s*:\s*/.exec(args);
387
+ return key ? toHref(readStringAt(args, key.index + key[0].length)) : null;
388
+ }
389
+ return toHref(readStringAt(args, 0));
390
+ }
391
+ /**
392
+ * The destination of the navigation call at (`line`, `column`) in `lines`.
393
+ *
394
+ * Handles the three shapes Expo Router accepts: a string, a template literal
395
+ * (static prefix kept, interpolations become holes), and an `Href` object
396
+ * whose `pathname` is one of those. Anything else — a variable, a call, a
397
+ * spread — is not a literal and returns null.
398
+ */
399
+ function readHrefArgument(lines, line, column, method) {
400
+ const arg = firstArgumentText(lines, line, column, method);
401
+ return arg === null ? null : parseHrefExpression(arg);
402
+ }
403
+ /** The source text of the navigation call's first argument, or null when there is no call there. */
404
+ function firstArgumentText(lines, line, column, method) {
405
+ return nthArgumentText(lines, line, column, method, 0);
406
+ }
407
+ /**
408
+ * The source text of a call's nth argument (0-based), or null when there is
409
+ * no call there or it has too few arguments.
410
+ *
411
+ * Most navigation calls put the destination first; SvelteKit's
412
+ * `redirect(303, '/login')` puts the status there, so the reader has to be
413
+ * able to take the second. A `,` at depth 0 separates arguments — inside
414
+ * parens, brackets, braces or a template it is part of one.
415
+ */
416
+ function nthArgumentText(lines, line, column, method, index) {
417
+ const first = line - 1;
418
+ if (first < 0 || first >= lines.length)
419
+ return null;
420
+ const text = lines.slice(first, first + MAX_CALL_LINES).join('\n');
421
+ const nameAt = text.indexOf(method, Math.max(0, column));
422
+ if (nameAt < 0)
423
+ return null;
424
+ let open = nameAt + method.length;
425
+ while (open < text.length && /\s/.test(text[open]))
426
+ open++;
427
+ if (text[open] !== '(')
428
+ return null;
429
+ const close = matchParen(text, open);
430
+ let args = text.slice(open + 1, close < 0 ? undefined : close);
431
+ for (let i = 0; i < index; i++) {
432
+ const comma = indexAtDepth0(args, ',', 0);
433
+ if (comma < 0)
434
+ return null;
435
+ args = args.slice(comma + 1);
436
+ }
437
+ const comma = indexAtDepth0(args, ',', 0);
438
+ return comma < 0 ? args : args.slice(0, comma);
439
+ }
440
+ const CAST_TAIL = /\s+(?:as|satisfies)\s+[\w$.<>[\]|&\s]+$/;
441
+ /** A line that continues the previous statement rather than starting a new one. */
442
+ const CONTINUATION = /^[?:.)\]}`'"+&|]/;
443
+ /**
444
+ * The href a navigation call reaches through a local variable:
445
+ *
446
+ * const href = params.length ? `/barcode-scan?${q}` : '/barcode-scan'
447
+ * router.navigate(href as any)
448
+ *
449
+ * When the argument is a bare identifier, its most recent `const`/`let`
450
+ * declaration between `enclosingStart` and the call is read and its
451
+ * initializer parsed exactly like a literal argument would be. A reassignment
452
+ * in between, or an initializer that is not static, yields null.
453
+ */
454
+ function readHrefViaLocal(lines, line, column, method, enclosingStart) {
455
+ const arg = firstArgumentText(lines, line, column, method);
456
+ if (arg === null)
457
+ return null;
458
+ const ident = arg.trim().replace(CAST_TAIL, '');
459
+ if (!/^[A-Za-z_$][\w$]*$/.test(ident))
460
+ return null;
461
+ const decl = new RegExp(`\\b(?:const|let|var)\\s+${ident.replace(/\$/g, '\\$')}\\s*(?::[^=]*?)?=(?!=)`);
462
+ const reassign = new RegExp(`(?:^|[^.\\w$])${ident.replace(/\$/g, '\\$')}\\s*=(?!=)`);
463
+ const from = Math.max(0, enclosingStart - 1);
464
+ for (let i = line - 2; i >= from; i--) {
465
+ const text = lines[i];
466
+ const m = decl.exec(text);
467
+ if (!m) {
468
+ // The variable assigned again between declaration and use — not static.
469
+ if (reassign.test(text))
470
+ return null;
471
+ continue;
472
+ }
473
+ // The initializer: the rest of this line, plus continuation lines.
474
+ let init = text.slice(m.index + m[0].length);
475
+ for (let j = i + 1; j < line - 1 && j < i + MAX_CALL_LINES; j++) {
476
+ const next = lines[j];
477
+ if (!CONTINUATION.test(next.trimStart()) && balanced(init))
478
+ break;
479
+ init += '\n' + next;
480
+ }
481
+ return parseHrefExpression(init);
482
+ }
483
+ return null;
484
+ }
485
+ /** True when every bracket and template opened in `s` is closed. */
486
+ function balanced(s) {
487
+ let depth = 0;
488
+ for (let i = 0; i < s.length; i++) {
489
+ const c = s[i];
490
+ if (c === '"' || c === "'" || c === '`') {
491
+ const end = stringEnd(s, i);
492
+ if (end >= s.length)
493
+ return false;
494
+ i = end;
495
+ continue;
496
+ }
497
+ if (c === '(' || c === '[' || c === '{')
498
+ depth++;
499
+ else if (c === ')' || c === ']' || c === '}')
500
+ depth--;
501
+ }
502
+ return depth <= 0;
503
+ }
504
+ /**
505
+ * The routes of the app `filePath` belongs to, or null when it is under none.
506
+ *
507
+ * Longest root wins, so an app nested inside another resolves to the nested
508
+ * one; a root of `''` is a single-app repo, and covers every file.
509
+ */
510
+ function routesForFile(table, filePath) {
511
+ let best = null;
512
+ let bestLen = -1;
513
+ for (const [root, routes] of table.byRoot) {
514
+ if (root.length > bestLen && filePath.startsWith(root)) {
515
+ best = routes;
516
+ bestLen = root.length;
517
+ }
518
+ }
519
+ return best;
520
+ }
521
+ /** Register `path` → `node` in one app's table. The first route to claim an address keeps it. */
522
+ function addRouteTo(table, path, node) {
523
+ if (!table.exact.has(path))
524
+ table.exact.set(path, node);
525
+ if (path.includes(':'))
526
+ table.dynamic.push({ node, segs: path.split('/').slice(1) });
527
+ }
528
+ /**
529
+ * The directory the app owning `filePath` lives in — what a navigation call is
530
+ * gated on, so a `push` in one package of a monorepo cannot name another
531
+ * package's routes.
532
+ *
533
+ * The first conventional source directory ends it: proshop keeps its routes in
534
+ * `frontend/src/App.js` and its screens in `frontend/src/screens/`, so the root
535
+ * is `frontend/`; `src/routes/login/+page.svelte` and `pages/index.vue` are
536
+ * both a repo-root app, whose root is `''` — every file, exactly as a Next app
537
+ * at the repo root is. A file under no such directory owns only its own folder.
538
+ */
539
+ function appRootFor(filePath) {
540
+ const m = /^((?:[^/]+\/)*?)(?:src|pages|app|routes)\//.exec(filePath);
541
+ if (m)
542
+ return m[1];
543
+ const slash = filePath.lastIndexOf('/');
544
+ return slash < 0 ? '' : filePath.slice(0, slash + 1);
545
+ }
546
+ const tables = new Map();
547
+ function routeTable(context) {
548
+ const all = context.getNodesByKind('route');
549
+ const key = context.getProjectRoot();
550
+ const cached = tables.get(key);
551
+ if (cached && cached.source === all)
552
+ return cached;
553
+ const exact = new Map();
554
+ const dynamic = [];
555
+ for (const node of all) {
556
+ // Only this framework's own route nodes: the ones whose name IS the path
557
+ // derived from their file. Express/SvelteKit routes in the same project
558
+ // name themselves differently and never match.
559
+ if (routePathForFile(node.filePath) !== node.name)
560
+ continue;
561
+ exact.set(node.name, node);
562
+ if (node.name.includes('['))
563
+ dynamic.push({ node, segs: node.name.split('/').slice(1) });
564
+ }
565
+ const table = { source: all, exact, dynamic };
566
+ tables.set(key, table);
567
+ return table;
568
+ }
569
+ /**
570
+ * Normalize an href path to the form route names use: leading `/`, no
571
+ * trailing `/`, no `(group)` segments, holes as a whole-segment `*`.
572
+ * A relative href is resolved against the screen the call sits in; from a
573
+ * non-screen file it has no base and returns null.
574
+ */
575
+ function normalizeHrefPath(path, fromFile) {
576
+ let p = path;
577
+ if (!p.startsWith('/')) {
578
+ // Expo resolves `./x` and bare `x` against the DIRECTORY of the screen file
579
+ // the call sits in — `/capture` for both `capture/index.tsx` and
580
+ // `capture/review.tsx` — which is the route of that directory's index.
581
+ if (routePathForFile(fromFile) === null)
582
+ return null;
583
+ const dirRoute = routePathForFile(fromFile.slice(0, fromFile.lastIndexOf('/') + 1) + 'index.tsx');
584
+ if (dirRoute === null)
585
+ return null;
586
+ const parent = dirRoute.split('/').slice(1);
587
+ if (p.startsWith('./'))
588
+ p = '/' + [...parent, p.slice(2)].join('/');
589
+ else if (p.startsWith('../')) {
590
+ const up = [...parent];
591
+ while (p.startsWith('../')) {
592
+ up.pop();
593
+ p = p.slice(3);
594
+ }
595
+ p = '/' + [...up, p].join('/');
596
+ }
597
+ else
598
+ p = '/' + [...parent, p].join('/');
599
+ }
600
+ const segs = p
601
+ .split('/')
602
+ .slice(1)
603
+ .filter((s) => s.length > 0 && !(s.startsWith('(') && s.endsWith(')')))
604
+ .map((s) => (s.includes(exports.HOLE) ? '*' : decodeSegment(s)));
605
+ return segs;
606
+ }
607
+ function decodeSegment(s) {
608
+ try {
609
+ return decodeURIComponent(s);
610
+ }
611
+ catch {
612
+ return s;
613
+ }
614
+ }
615
+ /**
616
+ * The single route the href segments denote, or null when none or several do.
617
+ *
618
+ * Scored so that a literal segment beats a wildcard for the same slot and a
619
+ * `[param]` slot accepts either; a tie between two routes is ambiguity, and
620
+ * ambiguity is a null, not a coin flip.
621
+ */
622
+ function matchRoute(segs, table) {
623
+ const exact = table.exact.get('/' + segs.join('/'));
624
+ if (exact)
625
+ return exact;
626
+ let best = null;
627
+ let tied = false;
628
+ for (const entry of table.dynamic) {
629
+ const score = scoreMatch(segs, entry.segs);
630
+ if (score === null)
631
+ continue;
632
+ if (best === null || score > best.score) {
633
+ best = { node: entry.node, score };
634
+ tied = false;
635
+ }
636
+ else if (score === best.score)
637
+ tied = true;
638
+ }
639
+ return best && !tied ? best.node : null;
640
+ }
641
+ /** A route segment that takes a value: Expo's `[id]`, or the `:id` every other framework's routes use. */
642
+ function isParamSegment(seg) {
643
+ return (seg.startsWith('[') && seg.endsWith(']')) || (seg.startsWith(':') && !seg.endsWith('*'));
644
+ }
645
+ /** A route segment that takes the rest of the path: `[...slug]`, or `:slug*`. */
646
+ function isCatchAllSegment(seg) {
647
+ return (seg.startsWith('[...') && seg.endsWith(']')) || (seg.startsWith(':') && seg.endsWith('*'));
648
+ }
649
+ function scoreMatch(href, route) {
650
+ let score = 0;
651
+ let i = 0;
652
+ for (let r = 0; r < route.length; r++) {
653
+ const seg = route[r];
654
+ if (isCatchAllSegment(seg)) {
655
+ // Catch-all: needs at least one segment and takes the rest.
656
+ if (i >= href.length)
657
+ return null;
658
+ score += href.length - i;
659
+ i = href.length;
660
+ continue;
661
+ }
662
+ if (i >= href.length)
663
+ return null;
664
+ const h = href[i];
665
+ if (isParamSegment(seg))
666
+ score += 2;
667
+ else if (h === seg)
668
+ score += 3;
669
+ else if (h === '*')
670
+ score += 1;
671
+ else
672
+ return null;
673
+ i++;
674
+ }
675
+ return i === href.length ? score : null;
676
+ }
677
+ // =============================================================================
678
+ // The resolver
679
+ // =============================================================================
680
+ exports.expoRouterResolver = {
681
+ name: 'expo-router',
682
+ languages: [...ROUTE_LANGUAGES],
683
+ detect(context) {
684
+ if ((0, package_deps_1.dependsOn)(context, 'expo-router'))
685
+ return true;
686
+ const files = context.getAllFiles();
687
+ const hasLayout = files.some((f) => /(?:^|\/)(?:src\/)?app\/_layout\.(?:tsx|jsx|ts|js)$/.test(f));
688
+ const hasExpoConfig = files.some((f) => /^app\.(?:json|config\.(?:js|ts))$/.test(f));
689
+ return hasLayout && hasExpoConfig;
690
+ },
691
+ claimsReference(name) {
692
+ return exports.NAV_METHOD.test(name);
693
+ },
694
+ extract(filePath, content) {
695
+ const routePath = routePathForFile(filePath);
696
+ if (routePath === null)
697
+ return { nodes: [], references: [] };
698
+ const language = languageForFile(filePath);
699
+ const node = {
700
+ id: `route:${filePath}:${routePath}`,
701
+ kind: 'route',
702
+ name: routePath,
703
+ qualifiedName: `${filePath}::route:${routePath}`,
704
+ filePath,
705
+ startLine: 1,
706
+ endLine: 1,
707
+ startColumn: 0,
708
+ endColumn: 0,
709
+ language,
710
+ isExported: true,
711
+ updatedAt: Date.now(),
712
+ };
713
+ const references = [];
714
+ const stripped = (0, strip_comments_1.stripCommentsForRegex)(content, 'typescript');
715
+ const screen = defaultExportName(stripped);
716
+ if (screen) {
717
+ references.push({
718
+ fromNodeId: node.id,
719
+ referenceName: screen.name,
720
+ referenceKind: 'calls',
721
+ line: stripped.slice(0, screen.index).split('\n').length,
722
+ column: 0,
723
+ filePath,
724
+ language,
725
+ candidates: [screen.name],
726
+ });
727
+ }
728
+ return { nodes: [node], references };
729
+ },
730
+ resolve(ref, context) {
731
+ if (ref.referenceKind !== 'calls')
732
+ return null;
733
+ const method = navVerb(ref.referenceName);
734
+ if (!method)
735
+ return null;
736
+ if (!ROUTE_LANGUAGES.includes(ref.language))
737
+ return null;
738
+ // The name to find on the line: `navigate` in `router.navigate(`, or the
739
+ // wrapper's own name in `safePush(`.
740
+ const callee = ref.referenceName.slice(ref.referenceName.lastIndexOf('.') + 1);
741
+ const lines = context.getFileLines?.(ref.filePath) ?? context.readFile(ref.filePath)?.split(/\r?\n/) ?? null;
742
+ if (!lines)
743
+ return null;
744
+ let href = readHrefArgument(lines, ref.line, ref.column, callee);
745
+ if (!href) {
746
+ const enclosing = context.getNodeById?.(ref.fromNodeId);
747
+ const start = enclosing && enclosing.filePath === ref.filePath ? enclosing.startLine : Math.max(1, ref.line - 40);
748
+ href = readHrefViaLocal(lines, ref.line, ref.column, callee, start);
749
+ }
750
+ if (!href)
751
+ return null;
752
+ const table = routeTable(context);
753
+ // `cond ? a : b` names a screen per arm, and the user reaches every one of
754
+ // them; the extra arms ride along as `alsoTargets` and become edges of
755
+ // their own. A relative href is resolved against the screen it sits in,
756
+ // which is why this matches its own way rather than through `pagesForHref`.
757
+ const targets = [];
758
+ const seen = new Set();
759
+ for (const arm of hrefArms(href)) {
760
+ const segs = normalizeHrefPath(arm.path, ref.filePath);
761
+ if (segs === null)
762
+ continue;
763
+ const hit = matchRoute(segs, table);
764
+ if (!hit || seen.has(hit.id))
765
+ continue;
766
+ seen.add(hit.id);
767
+ targets.push(hit);
768
+ }
769
+ const target = targets[0];
770
+ if (!target)
771
+ return null;
772
+ return {
773
+ original: ref,
774
+ targetNodeId: target.id,
775
+ ...(targets.length > 1
776
+ ? { alsoTargets: targets.slice(1).map((t) => ({ targetNodeId: t.id, metadata: { href: href.display, navMethod: method } })) }
777
+ : {}),
778
+ confidence: 0.95,
779
+ resolvedBy: 'framework',
780
+ edgeKind: 'navigates',
781
+ metadata: { href: href.display, navMethod: method, ...(callee !== method ? { via: callee } : {}) },
782
+ };
783
+ },
784
+ };
785
+ //# sourceMappingURL=expo-router.js.map