@sanurb/ringi 0.2.0 → 0.3.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 (423) hide show
  1. package/dist/cli.mjs +2132 -0
  2. package/dist/cli.mjs.map +1 -0
  3. package/dist/mcp.mjs +1057 -0
  4. package/dist/mcp.mjs.map +1 -0
  5. package/dist/runtime.mjs +3116 -0
  6. package/dist/runtime.mjs.map +1 -0
  7. package/package.json +15 -14
  8. package/server/nitro.json +17 -0
  9. package/server/public/assets/ClientOnly-QdfAxyFs.js +1 -0
  10. package/server/public/assets/_reviewId-CmXHvWLn.js +1 -0
  11. package/server/public/assets/_reviewId-DdOpDx4U.js +1 -0
  12. package/server/public/assets/abap-B1dkBSPn.js +1 -0
  13. package/server/public/assets/action-bar-DLRNvLjj.js +45 -0
  14. package/server/public/assets/actionscript-3-BT4ibYlP.js +1 -0
  15. package/server/public/assets/ada-CD92zeps.js +1 -0
  16. package/server/public/assets/andromeeda-DqSmgxi0.js +1 -0
  17. package/server/public/assets/angular-html-BDC0PfKr.js +1 -0
  18. package/server/public/assets/angular-ts-B9yoQMtj.js +1 -0
  19. package/server/public/assets/apache-D5suuoa_.js +1 -0
  20. package/server/public/assets/apex-BL-m4VHy.js +1 -0
  21. package/server/public/assets/apl-CldhY0Pn.js +1 -0
  22. package/server/public/assets/applescript-CLiBqvKT.js +1 -0
  23. package/server/public/assets/ara-LdDF8cmv.js +1 -0
  24. package/server/public/assets/asciidoc-2DZ9hC2N.js +1 -0
  25. package/server/public/assets/asm-0ZPGRSUy.js +1 -0
  26. package/server/public/assets/astro-DR6labZJ.js +1 -0
  27. package/server/public/assets/aurora-x-Da7Zfvbg.js +1 -0
  28. package/server/public/assets/awk-Bn0gn_B_.js +1 -0
  29. package/server/public/assets/ayu-dark-bqYKoqpM.js +1 -0
  30. package/server/public/assets/ayu-light-C45jTIzZ.js +1 -0
  31. package/server/public/assets/ayu-mirage-BV_FCTQi.js +1 -0
  32. package/server/public/assets/ballerina-D2nw_w8Q.js +1 -0
  33. package/server/public/assets/bat-ByUBN5gS.js +1 -0
  34. package/server/public/assets/beancount-BTb2W6Mp.js +1 -0
  35. package/server/public/assets/berry-5SO2uITG.js +1 -0
  36. package/server/public/assets/bibtex-CDBTNfUI.js +1 -0
  37. package/server/public/assets/bicep-fgxG_4rP.js +1 -0
  38. package/server/public/assets/bird2-BCwzDhwX.js +1 -0
  39. package/server/public/assets/blade-BBTRu2-g.js +1 -0
  40. package/server/public/assets/bsl-CG-fq4sc.js +1 -0
  41. package/server/public/assets/c-CEvNj7xl.js +1 -0
  42. package/server/public/assets/c3-Dlaci63_.js +1 -0
  43. package/server/public/assets/cadence-DHbRuEmm.js +1 -0
  44. package/server/public/assets/cairo-Ds0kTeYT.js +1 -0
  45. package/server/public/assets/catppuccin-frappe-DrL1fUuH.js +1 -0
  46. package/server/public/assets/catppuccin-latte-C0REgVjl.js +1 -0
  47. package/server/public/assets/catppuccin-macchiato-ChQpylWO.js +1 -0
  48. package/server/public/assets/catppuccin-mocha-Dd0JU1T0.js +1 -0
  49. package/server/public/assets/clarity-DMoTOm4G.js +1 -0
  50. package/server/public/assets/clojure-DBhE3PpS.js +1 -0
  51. package/server/public/assets/cmake-DwMc40Or.js +1 -0
  52. package/server/public/assets/cobol-BdNJSMRt.js +1 -0
  53. package/server/public/assets/codeowners-1lVr8wqV.js +1 -0
  54. package/server/public/assets/codeql-DWflolvo.js +1 -0
  55. package/server/public/assets/coffee-RA4xA24H.js +1 -0
  56. package/server/public/assets/common-lisp-CrVQ5xT-.js +1 -0
  57. package/server/public/assets/compiler-runtime-DZXZ41-q.js +1 -0
  58. package/server/public/assets/coq-CjfoyYSh.js +1 -0
  59. package/server/public/assets/cpp-BoW7e2Ow.js +1 -0
  60. package/server/public/assets/createServerFn-DTk395iP.js +9 -0
  61. package/server/public/assets/crystal-CYKRo3F9.js +1 -0
  62. package/server/public/assets/csharp-C7bIWP5y.js +1 -0
  63. package/server/public/assets/css-Ck2tii2d.js +1 -0
  64. package/server/public/assets/csv-DsAkDVtA.js +1 -0
  65. package/server/public/assets/cue-BWmQgbOB.js +1 -0
  66. package/server/public/assets/cypher-D-jVC50Q.js +1 -0
  67. package/server/public/assets/d-CaviyOrm.js +1 -0
  68. package/server/public/assets/dark-plus-DIrnwZt9.js +1 -0
  69. package/server/public/assets/dart-CZEi7JgC.js +1 -0
  70. package/server/public/assets/dax-BK-8zffy.js +1 -0
  71. package/server/public/assets/desktop-D3cjbL4D.js +1 -0
  72. package/server/public/assets/diff-sHAzLvlp.js +1 -0
  73. package/server/public/assets/docker--xs2Ng3w.js +1 -0
  74. package/server/public/assets/dotenv-Cm4nwcJ7.js +1 -0
  75. package/server/public/assets/dracula-CAUSusef.js +1 -0
  76. package/server/public/assets/dracula-soft-cjNkMFza.js +1 -0
  77. package/server/public/assets/dream-maker-fjmWTFCO.js +1 -0
  78. package/server/public/assets/edge-DxycC9wl.js +1 -0
  79. package/server/public/assets/elixir-B-50Er3p.js +1 -0
  80. package/server/public/assets/elm-B4-ygIVo.js +1 -0
  81. package/server/public/assets/emacs-lisp-CJzqStIa.js +1 -0
  82. package/server/public/assets/erb-DJvYE1L1.js +1 -0
  83. package/server/public/assets/erlang-C-m_88FN.js +1 -0
  84. package/server/public/assets/everforest-dark-DBpaSMx1.js +1 -0
  85. package/server/public/assets/everforest-light-CiGrXwia.js +1 -0
  86. package/server/public/assets/fennel-DRaXF7k8.js +1 -0
  87. package/server/public/assets/file-tree-CI3Xwwid.js +1907 -0
  88. package/server/public/assets/fish-Bn-Yh3Jj.js +1 -0
  89. package/server/public/assets/fluent-DF5F8Ks_.js +1 -0
  90. package/server/public/assets/fortran-fixed-form-Cx1lv7HN.js +1 -0
  91. package/server/public/assets/fortran-free-form-hCQHRqew.js +1 -0
  92. package/server/public/assets/fsharp-DC5k9sy2.js +1 -0
  93. package/server/public/assets/gdresource-D0EsKdgH.js +1 -0
  94. package/server/public/assets/gdscript-_C9_Hi_w.js +1 -0
  95. package/server/public/assets/gdshader-BW7b1X1Y.js +1 -0
  96. package/server/public/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2 +0 -0
  97. package/server/public/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2 +0 -0
  98. package/server/public/assets/geist-latin-wght-normal-Dm3htQBi.woff2 +0 -0
  99. package/server/public/assets/genie-Ch_6TCHd.js +1 -0
  100. package/server/public/assets/gherkin-CaNUsmTq.js +1 -0
  101. package/server/public/assets/git-commit-BcFsuO5E.js +1 -0
  102. package/server/public/assets/git-rebase-ChGA-z50.js +1 -0
  103. package/server/public/assets/github-dark-B9ygjgg6.js +1 -0
  104. package/server/public/assets/github-dark-default-Br2bgYSx.js +1 -0
  105. package/server/public/assets/github-dark-dimmed-CmtqpPJ-.js +1 -0
  106. package/server/public/assets/github-dark-high-contrast-fSfmrZcC.js +1 -0
  107. package/server/public/assets/github-light-BZjUqfZl.js +1 -0
  108. package/server/public/assets/github-light-default-lIytXXhR.js +1 -0
  109. package/server/public/assets/github-light-high-contrast-BRrjFb7n.js +1 -0
  110. package/server/public/assets/gleam-DALMDpNs.js +1 -0
  111. package/server/public/assets/glimmer-js-maLb6ysA.js +1 -0
  112. package/server/public/assets/glimmer-ts-DGNr-OBA.js +1 -0
  113. package/server/public/assets/glsl-CmplqyQ1.js +1 -0
  114. package/server/public/assets/gn-DGjqrYN9.js +1 -0
  115. package/server/public/assets/gnuplot-BYckvgQI.js +1 -0
  116. package/server/public/assets/go-JycvP538.js +1 -0
  117. package/server/public/assets/graphql-VhP7n4--.js +1 -0
  118. package/server/public/assets/groovy-D5qMRONT.js +1 -0
  119. package/server/public/assets/gruvbox-dark-hard-M1dj1e6V.js +1 -0
  120. package/server/public/assets/gruvbox-dark-medium-cqq_ncQu.js +1 -0
  121. package/server/public/assets/gruvbox-dark-soft-B4QwL2a9.js +1 -0
  122. package/server/public/assets/gruvbox-light-hard-DLayMKOQ.js +1 -0
  123. package/server/public/assets/gruvbox-light-medium-D52XgPKf.js +1 -0
  124. package/server/public/assets/gruvbox-light-soft-Dola3KdD.js +1 -0
  125. package/server/public/assets/hack-BVSQ2bxM.js +1 -0
  126. package/server/public/assets/haml-CwTtRHoj.js +1 -0
  127. package/server/public/assets/handlebars-CcO01SVo.js +1 -0
  128. package/server/public/assets/haskell-ys7wPPEd.js +1 -0
  129. package/server/public/assets/haxe-94kiChn7.js +1 -0
  130. package/server/public/assets/hcl-DmHt_-wq.js +1 -0
  131. package/server/public/assets/hjson-xMmoJ0Gx.js +1 -0
  132. package/server/public/assets/hlsl-b-Pskdze.js +1 -0
  133. package/server/public/assets/horizon-BKMqttiR.js +1 -0
  134. package/server/public/assets/horizon-bright-HNkBlnm5.js +1 -0
  135. package/server/public/assets/houston-BkBSBSOQ.js +1 -0
  136. package/server/public/assets/html-derivative-Cz-cKMi2.js +1 -0
  137. package/server/public/assets/html-zQbUS8Is.js +1 -0
  138. package/server/public/assets/http-CaGQ9BgA.js +1 -0
  139. package/server/public/assets/hurl-BBoki9bg.js +1 -0
  140. package/server/public/assets/hxml-iQTOTWpM.js +1 -0
  141. package/server/public/assets/hy-DKl1XhBq.js +1 -0
  142. package/server/public/assets/imba-DPxkOTAg.js +1 -0
  143. package/server/public/assets/ini-lkLGq_1x.js +1 -0
  144. package/server/public/assets/java-LAx6oszV.js +1 -0
  145. package/server/public/assets/javascript-COqx-gKX.js +1 -0
  146. package/server/public/assets/jinja-x-G_qSCP.js +1 -0
  147. package/server/public/assets/jison-7oSeVkKJ.js +1 -0
  148. package/server/public/assets/json-sTLOVXhc.js +1 -0
  149. package/server/public/assets/json5-Cy6ypJuJ.js +1 -0
  150. package/server/public/assets/jsonc-Cw2ugYAK.js +1 -0
  151. package/server/public/assets/jsonl-Dp5_qBVH.js +1 -0
  152. package/server/public/assets/jsonnet-BTbmg_-u.js +1 -0
  153. package/server/public/assets/jssm-CnT7nPea.js +1 -0
  154. package/server/public/assets/jsx-zXeIBQLI.js +1 -0
  155. package/server/public/assets/julia-E-6Xm9nd.js +1 -0
  156. package/server/public/assets/just-D9n74gZy.js +1 -0
  157. package/server/public/assets/kanagawa-dragon-CxsBnuhV.js +1 -0
  158. package/server/public/assets/kanagawa-lotus-vHdxDDOS.js +1 -0
  159. package/server/public/assets/kanagawa-wave-CIkfTKWk.js +1 -0
  160. package/server/public/assets/kdl-BwK60g80.js +1 -0
  161. package/server/public/assets/kotlin-Dbd9Vi-v.js +1 -0
  162. package/server/public/assets/kusto-BuTk9usc.js +1 -0
  163. package/server/public/assets/laserwave-C0wf_d3o.js +1 -0
  164. package/server/public/assets/latex-D0t4RtEU.js +1 -0
  165. package/server/public/assets/lean-CYAW8bRN.js +1 -0
  166. package/server/public/assets/less-D4uen21c.js +1 -0
  167. package/server/public/assets/light-plus-oqYyWKEE.js +1 -0
  168. package/server/public/assets/liquid-BzXN12F6.js +1 -0
  169. package/server/public/assets/llvm-Z1xJzteV.js +1 -0
  170. package/server/public/assets/log-BGUxlsk3.js +1 -0
  171. package/server/public/assets/logo-wVUhvQ1b.js +1 -0
  172. package/server/public/assets/lua-B0Cg8RP4.js +1 -0
  173. package/server/public/assets/luau-rPFZzCmq.js +1 -0
  174. package/server/public/assets/main-FvxVz-kD.js +15 -0
  175. package/server/public/assets/make-BmPf6m0P.js +1 -0
  176. package/server/public/assets/markdown-AseU6zcW.js +1 -0
  177. package/server/public/assets/marko-BlRPXWOe.js +1 -0
  178. package/server/public/assets/material-theme-6_W6rQhR.js +1 -0
  179. package/server/public/assets/material-theme-darker-VPEo3Sem.js +1 -0
  180. package/server/public/assets/material-theme-lighter-CUhzCcZ9.js +1 -0
  181. package/server/public/assets/material-theme-ocean-B2JdsaGb.js +1 -0
  182. package/server/public/assets/material-theme-palenight-DhY-sklA.js +1 -0
  183. package/server/public/assets/matlab-BOj_BDQv.js +1 -0
  184. package/server/public/assets/mdc-FiVDZSZ4.js +1 -0
  185. package/server/public/assets/mdx-Cm6cDkDI.js +1 -0
  186. package/server/public/assets/mermaid-DLO-R4hv.js +1 -0
  187. package/server/public/assets/min-dark-D34a_pX7.js +1 -0
  188. package/server/public/assets/min-light-Cdd4KORE.js +1 -0
  189. package/server/public/assets/mipsasm-DYpHF-GA.js +1 -0
  190. package/server/public/assets/mojo-DqYVFv_G.js +1 -0
  191. package/server/public/assets/monokai-CDR4sQ2n.js +1 -0
  192. package/server/public/assets/moonbit-DRKee9wk.js +1 -0
  193. package/server/public/assets/move-DbRk6Vn9.js +1 -0
  194. package/server/public/assets/narrat-IOfmaXfb.js +1 -0
  195. package/server/public/assets/new-DOyplRwM.js +1 -0
  196. package/server/public/assets/nextflow-D-Ec_bsY.js +1 -0
  197. package/server/public/assets/nextflow-groovy-EYl0c2BQ.js +1 -0
  198. package/server/public/assets/nginx-3JLAqmJa.js +1 -0
  199. package/server/public/assets/night-owl-light-Bedht9b4.js +1 -0
  200. package/server/public/assets/night-owl-yQJ3-I0I.js +1 -0
  201. package/server/public/assets/nim-DyjFVMzT.js +1 -0
  202. package/server/public/assets/nix-C2IovEl2.js +1 -0
  203. package/server/public/assets/nord-BjZ63GNL.js +1 -0
  204. package/server/public/assets/nushell-BflTrRB5.js +1 -0
  205. package/server/public/assets/objective-c-GRClK1S7.js +1 -0
  206. package/server/public/assets/objective-cpp-l3qYw-v5.js +1 -0
  207. package/server/public/assets/ocaml-BBDyhyMH.js +1 -0
  208. package/server/public/assets/odin-jCJ7Js99.js +1 -0
  209. package/server/public/assets/one-dark-pro-PIx2Diul.js +1 -0
  210. package/server/public/assets/one-light-BFMEz49S.js +1 -0
  211. package/server/public/assets/openscad-Drf0LgCX.js +1 -0
  212. package/server/public/assets/pascal-BT2XAUTl.js +1 -0
  213. package/server/public/assets/perl-Dr47G_2Q.js +1 -0
  214. package/server/public/assets/php-BhBDWTJe.js +1 -0
  215. package/server/public/assets/pierre-dark-CTXzTLfO.js +1 -0
  216. package/server/public/assets/pierre-light-C_5rlJRo.js +1 -0
  217. package/server/public/assets/pkl-ML-dWShO.js +1 -0
  218. package/server/public/assets/plastic-BFI-Z5Z2.js +1 -0
  219. package/server/public/assets/plsql-0vd5cLro.js +1 -0
  220. package/server/public/assets/po-CbZ_uqQA.js +1 -0
  221. package/server/public/assets/poimandres-Cayhd01L.js +1 -0
  222. package/server/public/assets/polar-C4hfV8Nc.js +1 -0
  223. package/server/public/assets/postcss-osFUbTLw.js +1 -0
  224. package/server/public/assets/powerquery-CTlGUQPj.js +1 -0
  225. package/server/public/assets/powershell-DyZsOmuq.js +1 -0
  226. package/server/public/assets/preload-helper-D7oT-Xwl.js +20 -0
  227. package/server/public/assets/prisma-SS92PO_I.js +1 -0
  228. package/server/public/assets/prolog-B1O1NNVC.js +1 -0
  229. package/server/public/assets/proto-BWu3eZTs.js +1 -0
  230. package/server/public/assets/pug-Dij_IK5w.js +1 -0
  231. package/server/public/assets/puppet-tvtRVdr6.js +1 -0
  232. package/server/public/assets/purescript-Dtbpb7D-.js +1 -0
  233. package/server/public/assets/python-Dlk0Acio.js +1 -0
  234. package/server/public/assets/qml-qUwk3nhh.js +1 -0
  235. package/server/public/assets/qmldir-B-iEOngH.js +1 -0
  236. package/server/public/assets/qss-Ba0p-aHw.js +1 -0
  237. package/server/public/assets/r-WmtNicKM.js +1 -0
  238. package/server/public/assets/racket-BXDsxf2U.js +1 -0
  239. package/server/public/assets/raku-Dw1WWFXK.js +1 -0
  240. package/server/public/assets/razor-DaqiVx3Q.js +1 -0
  241. package/server/public/assets/red-BC3Ds49b.js +1 -0
  242. package/server/public/assets/reg-DXFHGaM4.js +1 -0
  243. package/server/public/assets/regexp-CiSWN5Ne.js +1 -0
  244. package/server/public/assets/rel-Dc5_Ytx2.js +1 -0
  245. package/server/public/assets/reviews-CJvVXRLH.js +1 -0
  246. package/server/public/assets/reviews-CfbuF6ib.js +1 -0
  247. package/server/public/assets/riscv-ZgswiWij.js +1 -0
  248. package/server/public/assets/ron-YghabWAH.js +1 -0
  249. package/server/public/assets/rose-pine-ByWLnVr3.js +1 -0
  250. package/server/public/assets/rose-pine-dawn-DBmeySrz.js +1 -0
  251. package/server/public/assets/rose-pine-moon-B9J-N3nK.js +1 -0
  252. package/server/public/assets/rosmsg-DTKmAsVH.js +1 -0
  253. package/server/public/assets/routes-DNxq1Fba.js +1 -0
  254. package/server/public/assets/routes-Dp0ODZ55.js +2 -0
  255. package/server/public/assets/rst-CP6xOYlY.js +1 -0
  256. package/server/public/assets/ruby-BXYLc1CM.js +1 -0
  257. package/server/public/assets/rust-nfXwuE6F.js +1 -0
  258. package/server/public/assets/sas-CFdtZutF.js +1 -0
  259. package/server/public/assets/sass-CbRjkld3.js +1 -0
  260. package/server/public/assets/scala-BzD3eypx.js +1 -0
  261. package/server/public/assets/scheme-D4d1PV1y.js +1 -0
  262. package/server/public/assets/scss-D8KhdObH.js +1 -0
  263. package/server/public/assets/sdbl-Cf-Ydnvx.js +1 -0
  264. package/server/public/assets/shaderlab-DGohHMiF.js +1 -0
  265. package/server/public/assets/shellscript-BHdEbumI.js +1 -0
  266. package/server/public/assets/shellsession-Dh-bxrap.js +1 -0
  267. package/server/public/assets/slack-dark-MszIyPZ2.js +1 -0
  268. package/server/public/assets/slack-ochin-tQ3Q0gE9.js +1 -0
  269. package/server/public/assets/smalltalk-_uWoArwn.js +1 -0
  270. package/server/public/assets/snazzy-light-9sniMEk5.js +1 -0
  271. package/server/public/assets/solarized-dark-CdD0Hxzv.js +1 -0
  272. package/server/public/assets/solarized-light-C-nsEdqF.js +1 -0
  273. package/server/public/assets/solidity-D6uC-xwP.js +1 -0
  274. package/server/public/assets/soy-cDuODfbT.js +1 -0
  275. package/server/public/assets/sparql-BgU2QITA.js +1 -0
  276. package/server/public/assets/splunk-LQYHRu14.js +1 -0
  277. package/server/public/assets/sql-CKZpK620.js +1 -0
  278. package/server/public/assets/ssh-config-B7BUl8Rd.js +1 -0
  279. package/server/public/assets/stata-BLJTbKOO.js +1 -0
  280. package/server/public/assets/styles-UDowwF7S.css +2 -0
  281. package/server/public/assets/stylus-Byjxdx_q.js +1 -0
  282. package/server/public/assets/surrealql-C96KvYaj.js +1 -0
  283. package/server/public/assets/svelte-Qnbj2GWx.js +1 -0
  284. package/server/public/assets/swift-BexLlMrU.js +1 -0
  285. package/server/public/assets/synthwave-84-BxMBwQMS.js +1 -0
  286. package/server/public/assets/system-verilog-DVGwm0mw.js +1 -0
  287. package/server/public/assets/systemd-H2IT3-p5.js +1 -0
  288. package/server/public/assets/talonscript-mKZIGM8n.js +1 -0
  289. package/server/public/assets/tasl-B7he_Ugr.js +1 -0
  290. package/server/public/assets/tcl-5mT3RxHH.js +1 -0
  291. package/server/public/assets/templ-CQPDll3D.js +1 -0
  292. package/server/public/assets/terraform-BZP0GLsT.js +1 -0
  293. package/server/public/assets/test-D7JRfog1.js +1 -0
  294. package/server/public/assets/tex-97QNLoBJ.js +1 -0
  295. package/server/public/assets/tokyo-night-CTPVdZt9.js +1 -0
  296. package/server/public/assets/toml-CTFA98he.js +1 -0
  297. package/server/public/assets/ts-tags-B8zlXe2n.js +1 -0
  298. package/server/public/assets/tsv-BayJtYdY.js +1 -0
  299. package/server/public/assets/tsx-VqRU8NCz.js +1 -0
  300. package/server/public/assets/turtle-TVCBh_kY.js +1 -0
  301. package/server/public/assets/twig-FTTF8rVk.js +1 -0
  302. package/server/public/assets/typescript-CuX0hIVY.js +1 -0
  303. package/server/public/assets/typespec-BUvaJDLF.js +1 -0
  304. package/server/public/assets/typst-8NBaY7Ec.js +1 -0
  305. package/server/public/assets/useStore-M3H8PB1v.js +1 -0
  306. package/server/public/assets/utils-DElCu2hq.js +1 -0
  307. package/server/public/assets/v-VihyTigi.js +1 -0
  308. package/server/public/assets/vala-DyFAPyX6.js +1 -0
  309. package/server/public/assets/vb-Dg1Iqi4J.js +1 -0
  310. package/server/public/assets/verilog-D2Xc-vhD.js +1 -0
  311. package/server/public/assets/vesper-DJbtqYNr.js +1 -0
  312. package/server/public/assets/vhdl-CU3BVeE7.js +1 -0
  313. package/server/public/assets/viml-hG2shuOW.js +1 -0
  314. package/server/public/assets/vitesse-black-DbG2gsc0.js +1 -0
  315. package/server/public/assets/vitesse-dark-B6WV4xXH.js +1 -0
  316. package/server/public/assets/vitesse-light-DC1pdD02.js +1 -0
  317. package/server/public/assets/vue-DXwaEU0U.js +1 -0
  318. package/server/public/assets/vue-html-QD7AJ6JJ.js +1 -0
  319. package/server/public/assets/vue-vine-Bh2m1D2Z.js +1 -0
  320. package/server/public/assets/vyper-C1wojIuk.js +1 -0
  321. package/server/public/assets/wasm-C6Y0s02M.js +1 -0
  322. package/server/public/assets/wasm-qTvCOSHz.js +1 -0
  323. package/server/public/assets/wenyan-BG5vPQF0.js +1 -0
  324. package/server/public/assets/wgsl-DrVb-Cub.js +1 -0
  325. package/server/public/assets/wikitext-PRC4s8sH.js +1 -0
  326. package/server/public/assets/wit-ChW5qvg_.js +1 -0
  327. package/server/public/assets/wolfram-B8mKuZSQ.js +1 -0
  328. package/server/public/assets/xml-BK-rcb5a.js +1 -0
  329. package/server/public/assets/xsl-dt-d2R7p.js +1 -0
  330. package/server/public/assets/yaml-UiXU3hGj.js +1 -0
  331. package/server/public/assets/zenscript-C-jEPC9j.js +1 -0
  332. package/server/public/assets/zig-EbnRGjcz.js +1 -0
  333. package/server/public/favicon.ico +0 -0
  334. package/server/public/logo192.png +0 -0
  335. package/server/public/logo512.png +0 -0
  336. package/server/public/manifest.json +25 -0
  337. package/server/public/robots.txt +3 -0
  338. package/server/public/tanstack-circle-logo.png +0 -0
  339. package/server/public/tanstack-word-logo-white.svg +1 -0
  340. package/server/server/_chunks/ssr-renderer.mjs +15 -0
  341. package/server/server/_libs/@floating-ui/core+[...].mjs +698 -0
  342. package/server/server/_libs/@floating-ui/dom+[...].mjs +644 -0
  343. package/server/server/_libs/@floating-ui/react-dom+[...].mjs +839 -0
  344. package/server/server/_libs/@pierre/diffs+[...].mjs +18578 -0
  345. package/server/server/_libs/@radix-ui/react-arrow+[...].mjs +174 -0
  346. package/server/server/_libs/@radix-ui/react-collection+[...].mjs +162 -0
  347. package/server/server/_libs/@radix-ui/react-dialog+[...].mjs +1666 -0
  348. package/server/server/_libs/@radix-ui/react-popper+[...].mjs +289 -0
  349. package/server/server/_libs/@radix-ui/react-radio-group+[...].mjs +420 -0
  350. package/server/server/_libs/@radix-ui/react-select+[...].mjs +990 -0
  351. package/server/server/_libs/@tanstack/react-router+[...].mjs +14113 -0
  352. package/server/server/_libs/_.mjs +2 -0
  353. package/server/server/_libs/chokidar+readdirp.mjs +1599 -0
  354. package/server/server/_libs/class-variance-authority+clsx.mjs +69 -0
  355. package/server/server/_libs/effect+[...].mjs +34047 -0
  356. package/server/server/_libs/h3+rou3+srvx.mjs +1195 -0
  357. package/server/server/_libs/hookable.mjs +41 -0
  358. package/server/server/_libs/lucide-react.mjs +298 -0
  359. package/server/server/_libs/pierre__theme.mjs +2668 -0
  360. package/server/server/_libs/radix-ui__number.mjs +6 -0
  361. package/server/server/_libs/radix-ui__primitive.mjs +9 -0
  362. package/server/server/_libs/radix-ui__react-direction.mjs +11 -0
  363. package/server/server/_libs/shiki.mjs +16 -0
  364. package/server/server/_libs/shikijs__langs.mjs +1355 -0
  365. package/server/server/_libs/shikijs__themes.mjs +262 -0
  366. package/server/server/_libs/tailwind-merge.mjs +1962 -0
  367. package/server/server/_libs/tanstack__history.mjs +342 -0
  368. package/server/server/_libs/tanstack__router-core.mjs +6 -0
  369. package/server/server/_libs/ufo.mjs +64 -0
  370. package/server/server/_reviewId-AWnOGz5k.mjs +33 -0
  371. package/server/server/_reviewId-Com4yOlc.mjs +29 -0
  372. package/server/server/_reviewId-DAhmekJ2.mjs +277 -0
  373. package/server/server/_reviewId-p9mhYVwa.mjs +18 -0
  374. package/server/server/_runtime.mjs +35 -0
  375. package/server/server/_ssr/action-bar-C68xGnWW.mjs +592 -0
  376. package/server/server/_ssr/api-handler-CstW2n82.mjs +189 -0
  377. package/server/server/_ssr/client-runtime-BoPuAEoA.mjs +245 -0
  378. package/server/server/_ssr/createServerRpc--0mcGlWK.mjs +12 -0
  379. package/server/server/_ssr/createSsrRpc-AwdiLXmF.mjs +16 -0
  380. package/server/server/_ssr/domain-rpc-3Ds9DPr0.mjs +287 -0
  381. package/server/server/_ssr/file-tree-CQ5w2GHh.mjs +1951 -0
  382. package/server/server/_ssr/load-scoped-diff-NL2XAcdz.mjs +45 -0
  383. package/server/server/_ssr/new-BKl_G2Ks.mjs +37 -0
  384. package/server/server/_ssr/new-BREdMFAM.mjs +12 -0
  385. package/server/server/_ssr/new-DCz5eHkb.mjs +137 -0
  386. package/server/server/_ssr/reviews-BL5Nsgst.mjs +7 -0
  387. package/server/server/_ssr/reviews-BoaEgGKs.mjs +100 -0
  388. package/server/server/_ssr/reviews-C7_NIhY8.mjs +19 -0
  389. package/server/server/_ssr/reviews-Dd69YBDa.mjs +12 -0
  390. package/server/server/_ssr/router-DLxN8FOm.mjs +415 -0
  391. package/server/server/_ssr/routes-D25G8OuS.mjs +80 -0
  392. package/server/server/_ssr/routes-lz0AN75A.mjs +929 -0
  393. package/server/server/_ssr/runtime-D9IbnMlF.mjs +1401 -0
  394. package/server/server/_ssr/server-runtime-D99qpmma.mjs +12 -0
  395. package/server/server/_ssr/ssr.mjs +5318 -0
  396. package/server/server/_ssr/start-BIQfOZtj.mjs +4 -0
  397. package/server/server/_ssr/test-CQdMYlqa.mjs +6 -0
  398. package/server/server/_ssr/todo-m_uUvxca.mjs +88 -0
  399. package/server/server/_ssr/use-keyboard-shortcuts-D5b1Mxpq.mjs +25 -0
  400. package/server/server/_ssr/utils-BuOt9_LA.mjs +8 -0
  401. package/server/server/_tanstack-start-manifest_v-CnL10NRH.mjs +71 -0
  402. package/server/server/index.mjs +2615 -0
  403. package/server/server/node_modules/detect-libc/lib/detect-libc.js +313 -0
  404. package/server/server/node_modules/detect-libc/lib/elf.js +39 -0
  405. package/server/server/node_modules/detect-libc/lib/filesystem.js +51 -0
  406. package/server/server/node_modules/detect-libc/lib/process.js +24 -0
  407. package/server/server/node_modules/detect-libc/package.json +44 -0
  408. package/server/server/node_modules/msgpackr-extract/index.js +1 -0
  409. package/server/server/node_modules/msgpackr-extract/package.json +50 -0
  410. package/server/server/node_modules/node-gyp-build-optional-packages/index.js +6 -0
  411. package/server/server/node_modules/node-gyp-build-optional-packages/node-gyp-build.js +236 -0
  412. package/server/server/node_modules/node-gyp-build-optional-packages/package.json +32 -0
  413. package/server/server/node_modules/tslib/modules/index.js +70 -0
  414. package/server/server/node_modules/tslib/modules/package.json +3 -0
  415. package/server/server/node_modules/tslib/package.json +47 -0
  416. package/server/server/node_modules/tslib/tslib.js +484 -0
  417. package/server/server/package.json +12 -0
  418. package/dist/chunk-KMYSGMD3.js +0 -3526
  419. package/dist/chunk-KMYSGMD3.js.map +0 -1
  420. package/dist/cli.js +0 -1839
  421. package/dist/cli.js.map +0 -1
  422. package/dist/mcp.js +0 -1228
  423. package/dist/mcp.js.map +0 -1
@@ -0,0 +1,415 @@
1
+ import { i as __toESM } from "../_runtime.mjs";
2
+ import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
3
+ import { a as createRouter, c as createFileRoute, l as createRootRoute, n as Scripts, o as Outlet, r as HeadContent, s as lazyRouteComponent } from "../_libs/@tanstack/react-router+[...].mjs";
4
+ import { n as require_jsx_runtime } from "../_libs/@pierre/diffs+[...].mjs";
5
+ import { r as createServerFn } from "./ssr.mjs";
6
+ import { Ct as tap, Ot as void_, St as sync, ct as ensuring, dt as gen, it as catchCause } from "../_libs/effect+[...].mjs";
7
+ import { s as DIFF_SCOPES } from "./todo-m_uUvxca.mjs";
8
+ import { a as getRingiThemeBootScript, i as clientRuntime, r as RingiThemeProvider, t as ApiClient } from "./client-runtime-BoPuAEoA.mjs";
9
+ import { t as createSsrRpc } from "./createSsrRpc-AwdiLXmF.mjs";
10
+ import { t as Route$6 } from "../_reviewId-p9mhYVwa.mjs";
11
+ import { t as Route$7 } from "./new-BREdMFAM.mjs";
12
+ import { t as useKeyboardShortcuts } from "./use-keyboard-shortcuts-D5b1Mxpq.mjs";
13
+ import { t as Route$8 } from "./reviews-Dd69YBDa.mjs";
14
+ //#region node_modules/.nitro/vite/services/ssr/assets/router-DLxN8FOm.js
15
+ var import_react = /* @__PURE__ */ __toESM(require_react());
16
+ var import_jsx_runtime = require_jsx_runtime();
17
+ function CreateTodoForm({ onCreated }) {
18
+ const [content, setContent] = (0, import_react.useState)("");
19
+ const [submitting, setSubmitting] = (0, import_react.useState)(false);
20
+ function handleSubmit(e) {
21
+ e.preventDefault();
22
+ const trimmed = content.trim();
23
+ if (!trimmed || submitting) return;
24
+ setSubmitting(true);
25
+ clientRuntime.runFork(gen(function* () {
26
+ const { http } = yield* ApiClient;
27
+ return yield* http.todos.create({ payload: {
28
+ content: trimmed,
29
+ reviewId: null
30
+ } });
31
+ }).pipe(tap((todo) => sync(() => {
32
+ setContent("");
33
+ onCreated(todo);
34
+ })), catchCause(() => void_), ensuring(sync(() => setSubmitting(false)))));
35
+ }
36
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", {
37
+ onSubmit: handleSubmit,
38
+ className: "flex gap-2 px-4",
39
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", {
40
+ type: "text",
41
+ value: content,
42
+ onChange: (e) => setContent(e.target.value),
43
+ placeholder: "Add a todo...",
44
+ className: "flex-1 rounded-md border border-border-default bg-surface-primary px-3 py-1.5 text-sm text-text-primary placeholder-text-tertiary outline-none focus:border-accent-primary",
45
+ disabled: submitting
46
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
47
+ type: "submit",
48
+ disabled: !content.trim() || submitting,
49
+ className: "rounded-md bg-accent-muted px-3 py-1.5 text-sm font-medium text-accent-primary hover:bg-accent-muted disabled:opacity-40",
50
+ children: "Add"
51
+ })]
52
+ });
53
+ }
54
+ function TodoItem({ todo, onToggle, onDelete }) {
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
56
+ className: "group flex items-center gap-3 rounded-md px-3 py-2 hover:bg-surface-elevated",
57
+ children: [
58
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
59
+ type: "button",
60
+ onClick: () => onToggle(todo.id),
61
+ className: `flex h-5 w-5 shrink-0 items-center justify-center rounded border ${todo.completed ? "border-accent-primary bg-accent-muted text-accent-primary" : "border-border-strong text-transparent hover:border-text-secondary"}`,
62
+ "aria-label": todo.completed ? "Mark incomplete" : "Mark complete",
63
+ children: todo.completed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
64
+ className: "h-3 w-3",
65
+ fill: "none",
66
+ viewBox: "0 0 24 24",
67
+ stroke: "currentColor",
68
+ strokeWidth: 3,
69
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
70
+ strokeLinecap: "round",
71
+ strokeLinejoin: "round",
72
+ d: "M5 13l4 4L19 7"
73
+ })
74
+ })
75
+ }),
76
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
77
+ className: `min-w-0 flex-1 break-words text-sm ${todo.completed ? "text-text-tertiary line-through" : "text-text-primary"}`,
78
+ children: todo.content
79
+ }),
80
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
81
+ type: "button",
82
+ onClick: () => onDelete(todo.id),
83
+ className: "shrink-0 text-text-tertiary opacity-0 transition-opacity hover:text-red-400 group-hover:opacity-100",
84
+ "aria-label": "Delete todo",
85
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
86
+ className: "h-4 w-4",
87
+ fill: "none",
88
+ viewBox: "0 0 24 24",
89
+ stroke: "currentColor",
90
+ strokeWidth: 2,
91
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
92
+ strokeLinecap: "round",
93
+ strokeLinejoin: "round",
94
+ d: "M6 18L18 6M6 6l12 12"
95
+ })
96
+ })
97
+ })
98
+ ]
99
+ });
100
+ }
101
+ function TodoPanel({ isOpen, onClose }) {
102
+ const [todos, setTodos] = (0, import_react.useState)([]);
103
+ const [stats, setStats] = (0, import_react.useState)({
104
+ completed: 0,
105
+ pending: 0,
106
+ total: 0
107
+ });
108
+ const panelRef = (0, import_react.useRef)(null);
109
+ const fetchTodos = (0, import_react.useCallback)(async () => {
110
+ const [todosRes, statsRes] = await Promise.all([fetch("/api/todos"), fetch("/api/todos/stats")]);
111
+ if (todosRes.ok) setTodos((await todosRes.json()).data ?? []);
112
+ if (statsRes.ok) setStats(await statsRes.json());
113
+ }, []);
114
+ (0, import_react.useEffect)(() => {
115
+ if (isOpen) fetchTodos();
116
+ }, [isOpen, fetchTodos]);
117
+ (0, import_react.useEffect)(() => {
118
+ if (!isOpen) return;
119
+ function onKey(e) {
120
+ if (e.key === "Escape") onClose();
121
+ }
122
+ document.addEventListener("keydown", onKey);
123
+ return () => document.removeEventListener("keydown", onKey);
124
+ }, [isOpen, onClose]);
125
+ async function handleToggle(id) {
126
+ if ((await fetch(`/api/todos/${id}/toggle`, { method: "PATCH" })).ok) fetchTodos();
127
+ }
128
+ async function handleDelete(id) {
129
+ if ((await fetch(`/api/todos/${id}`, { method: "DELETE" })).ok) fetchTodos();
130
+ }
131
+ async function handleClearCompleted() {
132
+ if ((await fetch("/api/todos/completed", { method: "DELETE" })).ok) fetchTodos();
133
+ }
134
+ function handleCreated(_todo) {
135
+ fetchTodos();
136
+ }
137
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [isOpen && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
138
+ className: "fixed inset-0 z-40 bg-black/50 transition-opacity",
139
+ onClick: onClose,
140
+ onKeyDown: (e) => {
141
+ if (e.key === "Enter" || e.key === " ") onClose();
142
+ },
143
+ role: "button",
144
+ tabIndex: -1,
145
+ "aria-label": "Close panel"
146
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
147
+ ref: panelRef,
148
+ className: `fixed inset-y-0 right-0 z-50 w-80 transform border-l border-border-default bg-surface-secondary shadow-xl transition-transform duration-200 ${isOpen ? "translate-x-0" : "translate-x-full"}`,
149
+ children: [
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
151
+ className: "flex items-center justify-between border-b border-border-default px-4 py-3",
152
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
153
+ className: "flex items-center gap-2",
154
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", {
155
+ className: "text-sm font-semibold text-text-primary",
156
+ children: "Todos"
157
+ }), stats.total > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
158
+ className: "rounded-full bg-surface-overlay px-1.5 py-px text-[10px] font-medium tabular-nums text-text-secondary",
159
+ children: [
160
+ stats.completed,
161
+ "/",
162
+ stats.total
163
+ ]
164
+ }) : null]
165
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
166
+ type: "button",
167
+ onClick: onClose,
168
+ className: "text-text-tertiary hover:text-text-primary",
169
+ "aria-label": "Close panel",
170
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
171
+ className: "h-5 w-5",
172
+ fill: "none",
173
+ viewBox: "0 0 24 24",
174
+ stroke: "currentColor",
175
+ strokeWidth: 2,
176
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
177
+ strokeLinecap: "round",
178
+ strokeLinejoin: "round",
179
+ d: "M6 18L18 6M6 6l12 12"
180
+ })
181
+ })
182
+ })]
183
+ }),
184
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
185
+ className: "border-b border-border-default py-3",
186
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CreateTodoForm, { onCreated: handleCreated })
187
+ }),
188
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
189
+ className: "flex-1 overflow-y-auto px-1 py-2",
190
+ style: { maxHeight: "calc(100vh - 160px)" },
191
+ children: todos.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
192
+ className: "px-4 py-8 text-center text-sm text-text-tertiary",
193
+ children: "No todos yet"
194
+ }) : todos.map((todo) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoItem, {
195
+ todo,
196
+ onToggle: handleToggle,
197
+ onDelete: handleDelete
198
+ }, todo.id))
199
+ }),
200
+ stats.completed > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
201
+ className: "border-t border-border-default px-4 py-3",
202
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
203
+ type: "button",
204
+ onClick: handleClearCompleted,
205
+ className: "w-full rounded-md bg-red-500/10 px-3 py-1.5 text-sm text-red-400 hover:bg-red-500/20",
206
+ children: "Clear done"
207
+ })
208
+ })
209
+ ]
210
+ })] });
211
+ }
212
+ var styles_default = "/assets/styles-UDowwF7S.css";
213
+ var Route$5 = createRootRoute({
214
+ component: RootLayout,
215
+ head: () => ({
216
+ links: [{
217
+ href: styles_default,
218
+ rel: "stylesheet"
219
+ }],
220
+ meta: [
221
+ { charSet: "utf8" },
222
+ {
223
+ content: "width=device-width, initial-scale=1",
224
+ name: "viewport"
225
+ },
226
+ { title: "ringi" }
227
+ ]
228
+ }),
229
+ shellComponent: RootDocument
230
+ });
231
+ function RootDocument({ children }) {
232
+ (0, import_react.useEffect)(() => {}, []);
233
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("html", {
234
+ lang: "en",
235
+ suppressHydrationWarning: true,
236
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("head", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(HeadContent, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("script", { dangerouslySetInnerHTML: { __html: getRingiThemeBootScript() } })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("body", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(RingiThemeProvider, { children }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Scripts, {})] })]
237
+ });
238
+ }
239
+ function RootLayout() {
240
+ const [todosOpen, setTodosOpen] = (0, import_react.useState)(false);
241
+ const toggleTodos = (0, import_react.useCallback)(() => setTodosOpen((prev) => !prev), []);
242
+ const closeTodos = (0, import_react.useCallback)(() => setTodosOpen(false), []);
243
+ const shortcuts = (0, import_react.useMemo)(() => [{
244
+ description: "Toggle Todos panel",
245
+ handler: toggleTodos,
246
+ key: "t"
247
+ }, {
248
+ description: "Show keyboard shortcuts",
249
+ handler: () => {
250
+ console.log("Keyboard shortcuts:\n t — Toggle Todos panel\n ? — Show this help\n n — New review (on Changes/Reviews pages)\n r — Go to Reviews (on Changes page)\n c — Go to Changes (on Reviews page)");
251
+ },
252
+ key: "?",
253
+ shift: true
254
+ }], [toggleTodos]);
255
+ useKeyboardShortcuts(todosOpen ? [] : shortcuts);
256
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
257
+ className: "flex h-screen flex-col bg-surface-primary",
258
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("main", {
259
+ className: "flex-1 overflow-hidden",
260
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {})
261
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TodoPanel, {
262
+ isOpen: todosOpen,
263
+ onClose: closeTodos
264
+ })]
265
+ });
266
+ }
267
+ var $$splitComponentImporter$2 = () => import("./test-CQdMYlqa.mjs");
268
+ var Route$4 = createFileRoute("/test")({ component: lazyRouteComponent($$splitComponentImporter$2, "component") });
269
+ var $$splitComponentImporter$1 = () => import("./reviews-BL5Nsgst.mjs");
270
+ var Route$3 = createFileRoute("/reviews")({ component: lazyRouteComponent($$splitComponentImporter$1, "component") });
271
+ var checkDatabase = async (request) => {
272
+ const startedAt = Date.now();
273
+ try {
274
+ const url = new URL(request.url);
275
+ const target = new URL("/api/reviews", url);
276
+ const res = await fetch(target, {
277
+ headers: { accept: "application/json" },
278
+ method: "GET"
279
+ });
280
+ const latencyMs = Date.now() - startedAt;
281
+ if (!res.ok) return {
282
+ status: "error",
283
+ httpStatus: res.status,
284
+ latencyMs
285
+ };
286
+ await res.json();
287
+ return {
288
+ status: "connected",
289
+ latencyMs
290
+ };
291
+ } catch {
292
+ return {
293
+ status: "error",
294
+ latencyMs: Date.now() - startedAt
295
+ };
296
+ }
297
+ };
298
+ var Route$2 = createFileRoute("/health")({ server: { handlers: { GET: async ({ request }) => {
299
+ const deep = new URL(request.url).searchParams.get("deep") === "1";
300
+ const checks = {
301
+ status: "healthy",
302
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
303
+ uptime: process.uptime(),
304
+ memory: process.memoryUsage(),
305
+ version: process.env.npm_package_version ?? null,
306
+ database: deep ? await checkDatabase(request) : { status: "skipped" }
307
+ };
308
+ return Response.json(checks, { headers: { "cache-control": "no-store" } });
309
+ } } } });
310
+ var DEFAULT_DIFF_SCOPE = "staged";
311
+ var isDiffScope = (value) => typeof value === "string" && DIFF_SCOPES.includes(value);
312
+ var getDiffScope = (value) => isDiffScope(value) ? value : DEFAULT_DIFF_SCOPE;
313
+ var loadScopedDiff = createServerFn({ method: "GET" }).inputValidator((input) => {
314
+ return { scope: getDiffScope(input?.scope) };
315
+ }).handler(createSsrRpc("367245383f9546b6fd4dc5f473195892e7eabc03edaced380dedab17ad1518ad"));
316
+ var $$splitErrorComponentImporter = () => import("./routes-D25G8OuS.mjs");
317
+ var $$splitComponentImporter = () => import("./routes-lz0AN75A.mjs");
318
+ /** Pick the first non-binary, commentable file. */
319
+ var Route$1 = createFileRoute("/")({
320
+ component: lazyRouteComponent($$splitComponentImporter, "component"),
321
+ errorComponent: lazyRouteComponent($$splitErrorComponentImporter, "errorComponent"),
322
+ loader: ({ deps }) => {
323
+ return loadScopedDiff({ data: { scope: getDiffScope(deps.scope) } });
324
+ },
325
+ loaderDeps: ({ search }) => ({ scope: getDiffScope(search.scope) })
326
+ });
327
+ var effectHandler = null;
328
+ var getHandler = async () => {
329
+ if (effectHandler) return effectHandler;
330
+ const { initApiHandler } = await import("./api-handler-CstW2n82.mjs");
331
+ const { handler, dispose } = await initApiHandler();
332
+ effectHandler = ({ request }) => handler(request, void 0);
333
+ const globalHmr = globalThis;
334
+ if (globalHmr.__EFFECT_DISPOSE__) {
335
+ const prevDispose = globalHmr.__EFFECT_DISPOSE__;
336
+ globalHmr.__EFFECT_DISPOSE__ = async () => {
337
+ await prevDispose();
338
+ await dispose();
339
+ };
340
+ } else globalHmr.__EFFECT_DISPOSE__ = dispose;
341
+ return effectHandler;
342
+ };
343
+ var lazyHandler = async (ctx) => {
344
+ return (await getHandler())(ctx);
345
+ };
346
+ var Route = createFileRoute("/api/$")({ server: { handlers: {
347
+ DELETE: lazyHandler,
348
+ GET: lazyHandler,
349
+ OPTIONS: lazyHandler,
350
+ PATCH: lazyHandler,
351
+ POST: lazyHandler,
352
+ PUT: lazyHandler
353
+ } } });
354
+ var TestRoute = Route$4.update({
355
+ id: "/test",
356
+ path: "/test",
357
+ getParentRoute: () => Route$5
358
+ });
359
+ var ReviewsRoute = Route$3.update({
360
+ id: "/reviews",
361
+ path: "/reviews",
362
+ getParentRoute: () => Route$5
363
+ });
364
+ var HealthRoute = Route$2.update({
365
+ id: "/health",
366
+ path: "/health",
367
+ getParentRoute: () => Route$5
368
+ });
369
+ var IndexRoute = Route$1.update({
370
+ id: "/",
371
+ path: "/",
372
+ getParentRoute: () => Route$5
373
+ });
374
+ var ReviewsIndexRoute = Route$8.update({
375
+ id: "/",
376
+ path: "/",
377
+ getParentRoute: () => ReviewsRoute
378
+ });
379
+ var ReviewsNewRoute = Route$7.update({
380
+ id: "/new",
381
+ path: "/new",
382
+ getParentRoute: () => ReviewsRoute
383
+ });
384
+ var ReviewsReviewIdRoute = Route$6.update({
385
+ id: "/$reviewId",
386
+ path: "/$reviewId",
387
+ getParentRoute: () => ReviewsRoute
388
+ });
389
+ var ApiSplatRoute = Route.update({
390
+ id: "/api/$",
391
+ path: "/api/$",
392
+ getParentRoute: () => Route$5
393
+ });
394
+ var ReviewsRouteChildren = {
395
+ ReviewsReviewIdRoute,
396
+ ReviewsNewRoute,
397
+ ReviewsIndexRoute
398
+ };
399
+ var rootRouteChildren = {
400
+ IndexRoute,
401
+ HealthRoute,
402
+ ReviewsRoute: ReviewsRoute._addFileChildren(ReviewsRouteChildren),
403
+ TestRoute,
404
+ ApiSplatRoute
405
+ };
406
+ var routeTree = Route$5._addFileChildren(rootRouteChildren)._addFileTypes();
407
+ var getRouter = () => {
408
+ return createRouter({
409
+ defaultPreloadStaleTime: 0,
410
+ routeTree,
411
+ scrollRestoration: true
412
+ });
413
+ };
414
+ //#endregion
415
+ export { getRouter };
@@ -0,0 +1,80 @@
1
+ import { i as __toESM } from "../_runtime.mjs";
2
+ import { u as require_react } from "../_libs/@floating-ui/react-dom+[...].mjs";
3
+ import { n as require_jsx_runtime } from "../_libs/@pierre/diffs+[...].mjs";
4
+ import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
5
+ import { t as cn } from "./utils-BuOt9_LA.mjs";
6
+ import { i as Slot } from "../_libs/@radix-ui/react-arrow+[...].mjs";
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-D25G8OuS.js
8
+ var import_react = /* @__PURE__ */ __toESM(require_react());
9
+ var import_jsx_runtime = require_jsx_runtime();
10
+ var buttonVariants = cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
11
+ defaultVariants: {
12
+ size: "default",
13
+ variant: "default"
14
+ },
15
+ variants: {
16
+ size: {
17
+ default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
18
+ icon: "size-8",
19
+ "icon-lg": "size-9",
20
+ "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
21
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
22
+ lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
23
+ sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
24
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3"
25
+ },
26
+ variant: {
27
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
28
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
29
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
30
+ link: "text-primary underline-offset-4 hover:underline",
31
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
32
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground"
33
+ }
34
+ }
35
+ });
36
+ function Button({ className, variant = "default", size = "default", asChild = false, ...props }) {
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(asChild ? Slot : "button", {
38
+ "data-slot": "button",
39
+ "data-variant": variant,
40
+ "data-size": size,
41
+ className: cn(buttonVariants({
42
+ className,
43
+ size,
44
+ variant
45
+ })),
46
+ ...props
47
+ });
48
+ }
49
+ /** Pick the first non-binary, commentable file. */
50
+ var IndexError = ({ error }) => {
51
+ const message = error instanceof Error ? error.message : "Unable to load changes";
52
+ const handleRetry = (0, import_react.useCallback)(() => {
53
+ window.location.reload();
54
+ }, []);
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
56
+ className: "flex h-full items-center justify-center",
57
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
58
+ className: "rounded-sm border border-border-default bg-surface-elevated p-8 text-center",
59
+ children: [
60
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
61
+ className: "text-sm font-medium text-status-error",
62
+ children: "Error"
63
+ }),
64
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
65
+ className: "mt-2 text-xs text-text-secondary",
66
+ children: message
67
+ }),
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button, {
69
+ className: "mt-4",
70
+ onClick: handleRetry,
71
+ size: "sm",
72
+ variant: "outline",
73
+ children: "Retry"
74
+ })
75
+ ]
76
+ })
77
+ });
78
+ };
79
+ //#endregion
80
+ export { IndexError as errorComponent };