auvezy-terminal-remote 0.8.0 → 0.9.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 (621) hide show
  1. package/dist/cli.js +384 -43
  2. package/frontend-dist/assets/MarkdownPreview-BhHx4UZB.js +294 -0
  3. package/frontend-dist/assets/MarkdownPreview-UDCyb9Vn.css +1 -0
  4. package/frontend-dist/assets/abap-CLvhMVsD.js +1 -0
  5. package/frontend-dist/assets/actionscript-3--17pq3dv.js +1 -0
  6. package/frontend-dist/assets/ada-C5qYipkI.js +1 -0
  7. package/frontend-dist/assets/andromeeda-vGVdxbeo.js +1 -0
  8. package/frontend-dist/assets/angular-html-DgjvnXWT.js +1 -0
  9. package/frontend-dist/assets/angular-ts-BsJfg-C9.js +1 -0
  10. package/frontend-dist/assets/apache-U0d_L8uA.js +1 -0
  11. package/frontend-dist/assets/apex-VAyPSnFM.js +1 -0
  12. package/frontend-dist/assets/apl-owRgUhC0.js +1 -0
  13. package/frontend-dist/assets/applescript-CCn79oCD.js +1 -0
  14. package/frontend-dist/assets/ara-4CJ0cIlV.js +1 -0
  15. package/frontend-dist/assets/asciidoc-DE70LPWp.js +1 -0
  16. package/frontend-dist/assets/asm-Cmm7eHzH.js +1 -0
  17. package/frontend-dist/assets/astro-ByvNTrWi.js +1 -0
  18. package/frontend-dist/assets/aurora-x-CDeNXAV0.js +1 -0
  19. package/frontend-dist/assets/awk-BWXHIvNe.js +1 -0
  20. package/frontend-dist/assets/ayu-dark-DluEY0Gj.js +1 -0
  21. package/frontend-dist/assets/ayu-light-C3h-C4tm.js +1 -0
  22. package/frontend-dist/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  23. package/frontend-dist/assets/ballerina-B7ZEbQpA.js +1 -0
  24. package/frontend-dist/assets/bat-Bo4NYOV-.js +1 -0
  25. package/frontend-dist/assets/beancount-D-usSTwE.js +1 -0
  26. package/frontend-dist/assets/berry-DKpUyyne.js +1 -0
  27. package/frontend-dist/assets/bibtex-Ci_nEsc7.js +1 -0
  28. package/frontend-dist/assets/bicep-CUHmPFLl.js +1 -0
  29. package/frontend-dist/assets/bird2-C6vDhewU.js +1 -0
  30. package/frontend-dist/assets/blade-DBB6j2sS.js +1 -0
  31. package/frontend-dist/assets/bsl-BkkzgIyY.js +1 -0
  32. package/frontend-dist/assets/c-Ba6e6JWz.js +1 -0
  33. package/frontend-dist/assets/c3-BFHwR3_K.js +1 -0
  34. package/frontend-dist/assets/cadence-CQ2zXKGN.js +1 -0
  35. package/frontend-dist/assets/cairo-DLTphjLi.js +1 -0
  36. package/frontend-dist/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
  37. package/frontend-dist/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
  38. package/frontend-dist/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
  39. package/frontend-dist/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
  40. package/frontend-dist/assets/clarity-SemFz856.js +1 -0
  41. package/frontend-dist/assets/clojure-DqKBuwfJ.js +1 -0
  42. package/frontend-dist/assets/cmake-Bj61d0ZC.js +1 -0
  43. package/frontend-dist/assets/cobol-DyYl4Dsc.js +1 -0
  44. package/frontend-dist/assets/codeowners-C8r90Shi.js +1 -0
  45. package/frontend-dist/assets/codeql-oeQT6MSM.js +1 -0
  46. package/frontend-dist/assets/coffee-GDwlIkMr.js +1 -0
  47. package/frontend-dist/assets/common-lisp-Cv5bFMCO.js +1 -0
  48. package/frontend-dist/assets/coq-BrsZFFmf.js +1 -0
  49. package/frontend-dist/assets/cpp-DdEoNrsu.js +1 -0
  50. package/frontend-dist/assets/crystal-CsRfpFgZ.js +1 -0
  51. package/frontend-dist/assets/csharp-oqKa8noW.js +1 -0
  52. package/frontend-dist/assets/css-EcyqDbrn.js +1 -0
  53. package/frontend-dist/assets/csv-Dx-8-gkx.js +1 -0
  54. package/frontend-dist/assets/cue-CE9AQfxI.js +1 -0
  55. package/frontend-dist/assets/cypher-ClKdZ_lG.js +1 -0
  56. package/frontend-dist/assets/d-qD-0Kul2.js +1 -0
  57. package/frontend-dist/assets/dark-plus-Cs2F2srj.js +1 -0
  58. package/frontend-dist/assets/dart-CnvKMtbv.js +1 -0
  59. package/frontend-dist/assets/dax-BkyTk9wS.js +1 -0
  60. package/frontend-dist/assets/desktop-Dlh5hvp9.js +1 -0
  61. package/frontend-dist/assets/diff-woXpYk--.js +1 -0
  62. package/frontend-dist/assets/dist-BFglDfWz.js +153 -0
  63. package/frontend-dist/assets/docker-IyjqRm3v.js +1 -0
  64. package/frontend-dist/assets/dotenv-_5a1GRtc.js +1 -0
  65. package/frontend-dist/assets/dracula-BHWKrbxM.js +1 -0
  66. package/frontend-dist/assets/dracula-soft-5eyTD99u.js +1 -0
  67. package/frontend-dist/assets/dream-maker-DW3nJb8Q.js +1 -0
  68. package/frontend-dist/assets/edge-CXwacAJy.js +1 -0
  69. package/frontend-dist/assets/elixir-BPtzsf8i.js +1 -0
  70. package/frontend-dist/assets/elm-yyrGQdOF.js +1 -0
  71. package/frontend-dist/assets/emacs-lisp-B4R74twV.js +1 -0
  72. package/frontend-dist/assets/embed-ClpqVPsk.js +2 -0
  73. package/frontend-dist/assets/embed-JyQKJCHx.css +1 -0
  74. package/frontend-dist/assets/erb-CPVygpcZ.js +1 -0
  75. package/frontend-dist/assets/erlang-Cphh6RMH.js +1 -0
  76. package/frontend-dist/assets/eruda-tTLAveCP.js +366 -0
  77. package/frontend-dist/assets/everforest-dark-sB-x3p7T.js +1 -0
  78. package/frontend-dist/assets/everforest-light-Df2xbC6M.js +1 -0
  79. package/frontend-dist/assets/fennel-DQxkIbk2.js +1 -0
  80. package/frontend-dist/assets/fish-BJitypiv.js +1 -0
  81. package/frontend-dist/assets/fluent-C03EYrpw.js +1 -0
  82. package/frontend-dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  83. package/frontend-dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
  84. package/frontend-dist/assets/fsharp-D13ZGOAj.js +1 -0
  85. package/frontend-dist/assets/gdresource-C0sCabJj.js +1 -0
  86. package/frontend-dist/assets/gdscript-Cp2uCuqX.js +1 -0
  87. package/frontend-dist/assets/gdshader-CBce3t8t.js +1 -0
  88. package/frontend-dist/assets/genie-CV2tkWYe.js +1 -0
  89. package/frontend-dist/assets/gherkin-DExj1W_8.js +1 -0
  90. package/frontend-dist/assets/git-commit-BSykSTBG.js +1 -0
  91. package/frontend-dist/assets/git-rebase-BxSEtpsP.js +1 -0
  92. package/frontend-dist/assets/github-dark-C-LZuMrd.js +1 -0
  93. package/frontend-dist/assets/github-dark-default-DXG-b-1a.js +1 -0
  94. package/frontend-dist/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  95. package/frontend-dist/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  96. package/frontend-dist/assets/github-light-EUqPIrTm.js +1 -0
  97. package/frontend-dist/assets/github-light-default-BXViO-2h.js +1 -0
  98. package/frontend-dist/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  99. package/frontend-dist/assets/gleam-CSRkHgEL.js +1 -0
  100. package/frontend-dist/assets/glimmer-js-CEhle51e.js +1 -0
  101. package/frontend-dist/assets/glimmer-ts-DyxDXCrd.js +1 -0
  102. package/frontend-dist/assets/glsl-CZ8TD0B7.js +1 -0
  103. package/frontend-dist/assets/gn-ilITqXS6.js +1 -0
  104. package/frontend-dist/assets/gnuplot-7GGW24-e.js +1 -0
  105. package/frontend-dist/assets/go-rLFTqkRN.js +1 -0
  106. package/frontend-dist/assets/graphql-BUs3a1dy.js +1 -0
  107. package/frontend-dist/assets/groovy-CacY0gHj.js +1 -0
  108. package/frontend-dist/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  109. package/frontend-dist/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  110. package/frontend-dist/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  111. package/frontend-dist/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  112. package/frontend-dist/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  113. package/frontend-dist/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  114. package/frontend-dist/assets/hack-DKo9X4Fh.js +1 -0
  115. package/frontend-dist/assets/{haml-D5jkg6IW.js → haml-B8slzfN1.js} +1 -1
  116. package/frontend-dist/assets/handlebars-YbFocell.js +1 -0
  117. package/frontend-dist/assets/haskell-D8IpX4py.js +1 -0
  118. package/frontend-dist/assets/haxe-OTjmBuCE.js +1 -0
  119. package/frontend-dist/assets/hcl-Dh228itO.js +1 -0
  120. package/frontend-dist/assets/hjson-CxZEssPk.js +1 -0
  121. package/frontend-dist/assets/hlsl-Cvrh5tZx.js +1 -0
  122. package/frontend-dist/assets/horizon-CE9ld1lL.js +1 -0
  123. package/frontend-dist/assets/horizon-bright-DSNQnXHK.js +1 -0
  124. package/frontend-dist/assets/houston-CsvMBhTu.js +1 -0
  125. package/frontend-dist/assets/{html-pp8916En.js → html-D2GTk50q.js} +1 -1
  126. package/frontend-dist/assets/html-derivative-D_7h6AG3.js +1 -0
  127. package/frontend-dist/assets/html-void-elements-DdRmDp70.js +1 -0
  128. package/frontend-dist/assets/http-D3rMdaas.js +1 -0
  129. package/frontend-dist/assets/hurl-Am2W_EDh.js +1 -0
  130. package/frontend-dist/assets/hxml-B0Qn7Nwc.js +1 -0
  131. package/frontend-dist/assets/hy-CZbG8q4J.js +1 -0
  132. package/frontend-dist/assets/imba-DsUTQ-LC.js +1 -0
  133. package/frontend-dist/assets/index-BVlpHV7C.css +1 -0
  134. package/frontend-dist/assets/index-DTdbmAVn.js +147 -0
  135. package/frontend-dist/assets/ini-B5eOa1yu.js +1 -0
  136. package/frontend-dist/assets/java-tbpyqHjD.js +1 -0
  137. package/frontend-dist/assets/javascript-KWFIoO93.js +1 -0
  138. package/frontend-dist/assets/jinja-DDB6tGEL.js +1 -0
  139. package/frontend-dist/assets/jison-BGkRNAgP.js +1 -0
  140. package/frontend-dist/assets/json-xmxrlNIL.js +1 -0
  141. package/frontend-dist/assets/json5-BR5RXkoi.js +1 -0
  142. package/frontend-dist/assets/jsonc-CYpm1nAK.js +1 -0
  143. package/frontend-dist/assets/jsonl-CmCQp5Yx.js +1 -0
  144. package/frontend-dist/assets/jsonnet-CJTPZ8u_.js +1 -0
  145. package/frontend-dist/assets/jssm-DXw9l8Rf.js +1 -0
  146. package/frontend-dist/assets/jsx-COMlcASR.js +1 -0
  147. package/frontend-dist/assets/julia-BhR0UkEv.js +1 -0
  148. package/frontend-dist/assets/just-DXihdLqs.js +1 -0
  149. package/frontend-dist/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
  150. package/frontend-dist/assets/kanagawa-lotus-BN08jTvb.js +1 -0
  151. package/frontend-dist/assets/kanagawa-wave-CTweb8Dz.js +1 -0
  152. package/frontend-dist/assets/kdl-CsD5j6eV.js +1 -0
  153. package/frontend-dist/assets/kotlin-DhhofPvG.js +1 -0
  154. package/frontend-dist/assets/kusto-C7mF5XQf.js +1 -0
  155. package/frontend-dist/assets/laserwave-C_8bwKvT.js +1 -0
  156. package/frontend-dist/assets/latex-Bpu5-lW-.js +1 -0
  157. package/frontend-dist/assets/lean-CewbzKMR.js +1 -0
  158. package/frontend-dist/assets/less-DVTAwKKz.js +1 -0
  159. package/frontend-dist/assets/light-plus-DVQuIRkW.js +1 -0
  160. package/frontend-dist/assets/liquid-BJGa57Gs.js +1 -0
  161. package/frontend-dist/assets/llvm-Cm23YOpf.js +1 -0
  162. package/frontend-dist/assets/log-BNLmms1o.js +1 -0
  163. package/frontend-dist/assets/logo-Cluzi2Zq.js +1 -0
  164. package/frontend-dist/assets/lua-Bd-3NA7e.js +1 -0
  165. package/frontend-dist/assets/luau-FMPmPwt6.js +1 -0
  166. package/frontend-dist/assets/make-Dixweg8N.js +1 -0
  167. package/frontend-dist/assets/markdown-BYOwaDjH.js +1 -0
  168. package/frontend-dist/assets/marko-CZd96liA.js +1 -0
  169. package/frontend-dist/assets/material-theme-Bm3Qr25_.js +1 -0
  170. package/frontend-dist/assets/material-theme-darker-2IIEA8gg.js +1 -0
  171. package/frontend-dist/assets/material-theme-lighter-uhdI0v04.js +1 -0
  172. package/frontend-dist/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  173. package/frontend-dist/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  174. package/frontend-dist/assets/matlab-D7qyCx1q.js +1 -0
  175. package/frontend-dist/assets/mdc-C-cIFcg2.js +1 -0
  176. package/frontend-dist/assets/mdx-DQZ5AkYe.js +1 -0
  177. package/frontend-dist/assets/mermaid-Bk4SNUv9.js +1 -0
  178. package/frontend-dist/assets/min-dark-BSWPekZh.js +1 -0
  179. package/frontend-dist/assets/min-light-DDpmG2fV.js +1 -0
  180. package/frontend-dist/assets/mipsasm-BMqwQI7S.js +1 -0
  181. package/frontend-dist/assets/mojo-BgCJLMeH.js +1 -0
  182. package/frontend-dist/assets/monokai-CdkpiU2Y.js +1 -0
  183. package/frontend-dist/assets/moonbit-CaWjb8XO.js +1 -0
  184. package/frontend-dist/assets/move-B1IS1UjX.js +1 -0
  185. package/frontend-dist/assets/narrat-_X_XdTYD.js +1 -0
  186. package/frontend-dist/assets/nextflow-BJtWHP5T.js +1 -0
  187. package/frontend-dist/assets/nextflow-groovy-DJMQeKeT.js +1 -0
  188. package/frontend-dist/assets/nginx-BkfQ7PRQ.js +1 -0
  189. package/frontend-dist/assets/night-owl-DhmEMT88.js +1 -0
  190. package/frontend-dist/assets/night-owl-light-eJ-hLW7d.js +1 -0
  191. package/frontend-dist/assets/nim-BlcSihrU.js +1 -0
  192. package/frontend-dist/assets/nix-IvuFDN5E.js +1 -0
  193. package/frontend-dist/assets/nord-Cb4Vim4T.js +1 -0
  194. package/frontend-dist/assets/nushell-DcLAeLz5.js +1 -0
  195. package/frontend-dist/assets/objective-c-D1A_Heim.js +1 -0
  196. package/frontend-dist/assets/objective-cpp-BsSzOQcm.js +1 -0
  197. package/frontend-dist/assets/obsidian-Bopioi3a.css +1 -0
  198. package/frontend-dist/assets/obsidian-D8GOht-S.js +36 -0
  199. package/frontend-dist/assets/ocaml-O90oeIOV.js +1 -0
  200. package/frontend-dist/assets/odin-B1RWQWA5.js +1 -0
  201. package/frontend-dist/assets/one-dark-pro-CLwyXe_n.js +1 -0
  202. package/frontend-dist/assets/one-light-D7Lr4KcI.js +1 -0
  203. package/frontend-dist/assets/openscad-BUDT5pXO.js +1 -0
  204. package/frontend-dist/assets/pascal-4ZHwLPI5.js +1 -0
  205. package/frontend-dist/assets/perl-BK1yALmX.js +1 -0
  206. package/frontend-dist/assets/php-IgnnyOWG.js +1 -0
  207. package/frontend-dist/assets/pkl-ot-7Btpt.js +1 -0
  208. package/frontend-dist/assets/plastic-DQwYfKfQ.js +1 -0
  209. package/frontend-dist/assets/plsql-DGHpHOYJ.js +1 -0
  210. package/frontend-dist/assets/po-BiJDBrnU.js +1 -0
  211. package/frontend-dist/assets/poimandres-DRFjx7u4.js +1 -0
  212. package/frontend-dist/assets/polar-C7UOKdEL.js +1 -0
  213. package/frontend-dist/assets/postcss-BXeXVLqQ.js +1 -0
  214. package/frontend-dist/assets/powerquery-DNMTfnFr.js +1 -0
  215. package/frontend-dist/assets/powershell-DshXNtvi.js +1 -0
  216. package/frontend-dist/assets/prisma-BsRQq5mF.js +1 -0
  217. package/frontend-dist/assets/prolog-iXnhIJG7.js +1 -0
  218. package/frontend-dist/assets/proto-DB4EqR-F.js +1 -0
  219. package/frontend-dist/assets/pug-CDPGgwiQ.js +1 -0
  220. package/frontend-dist/assets/puppet-CDv2pdJW.js +1 -0
  221. package/frontend-dist/assets/purescript-9MfHhQsQ.js +1 -0
  222. package/frontend-dist/assets/python-gzcpVVnB.js +1 -0
  223. package/frontend-dist/assets/qml-BJ6xksc_.js +1 -0
  224. package/frontend-dist/assets/qmldir-DCQb3MpD.js +1 -0
  225. package/frontend-dist/assets/qss-Fe1Jh2GI.js +1 -0
  226. package/frontend-dist/assets/r-CtvlrTg3.js +1 -0
  227. package/frontend-dist/assets/racket-DcIDlBhZ.js +1 -0
  228. package/frontend-dist/assets/raku-B3gFvitq.js +1 -0
  229. package/frontend-dist/assets/razor-Dk6lMfGZ.js +1 -0
  230. package/frontend-dist/assets/red-CJ3rzSJv.js +1 -0
  231. package/frontend-dist/assets/reg-CRGYupPL.js +1 -0
  232. package/frontend-dist/assets/regexp-CCpLx9Kn.js +1 -0
  233. package/frontend-dist/assets/rel-BtDbiS_P.js +1 -0
  234. package/frontend-dist/assets/riscv-Ckw8ddFX.js +1 -0
  235. package/frontend-dist/assets/ron-VUp2lXgN.js +1 -0
  236. package/frontend-dist/assets/rose-pine-BthvhNj6.js +1 -0
  237. package/frontend-dist/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
  238. package/frontend-dist/assets/rose-pine-moon-hon4tzzS.js +1 -0
  239. package/frontend-dist/assets/rosmsg-CAekHB0j.js +1 -0
  240. package/frontend-dist/assets/rst-DcQF2cud.js +1 -0
  241. package/frontend-dist/assets/ruby-B_xe_SR9.js +1 -0
  242. package/frontend-dist/assets/rust-Cfkwpbl8.js +1 -0
  243. package/frontend-dist/assets/sas-q7tt0uOK.js +1 -0
  244. package/frontend-dist/assets/sass-DXrisJhu.js +1 -0
  245. package/frontend-dist/assets/scala-DKOlJaKm.js +1 -0
  246. package/frontend-dist/assets/scheme-DQCgrYNe.js +1 -0
  247. package/frontend-dist/assets/scss-tURtktQv.js +1 -0
  248. package/frontend-dist/assets/sdbl-bTVj8UrX.js +1 -0
  249. package/frontend-dist/assets/shaderlab-TOUzSsQk.js +1 -0
  250. package/frontend-dist/assets/shellscript-qT25lAcj.js +1 -0
  251. package/frontend-dist/assets/shellsession-CMm3mW_a.js +1 -0
  252. package/frontend-dist/assets/slack-dark-DnToyrRv.js +1 -0
  253. package/frontend-dist/assets/slack-ochin-B2OO5cIa.js +1 -0
  254. package/frontend-dist/assets/smalltalk-B16xEiuN.js +1 -0
  255. package/frontend-dist/assets/snazzy-light-4G7pJPwS.js +1 -0
  256. package/frontend-dist/assets/solarized-dark-DV17i1UV.js +1 -0
  257. package/frontend-dist/assets/solarized-light-DSh2HLQt.js +1 -0
  258. package/frontend-dist/assets/solidity-CKzVLygQ.js +1 -0
  259. package/frontend-dist/assets/soy-Bu8dHwN_.js +1 -0
  260. package/frontend-dist/assets/sparql-D_iOobhT.js +1 -0
  261. package/frontend-dist/assets/splunk-BC2Px7Mm.js +1 -0
  262. package/frontend-dist/assets/sql-CD4zZmh-.js +1 -0
  263. package/frontend-dist/assets/ssh-config-BgfXC-Er.js +1 -0
  264. package/frontend-dist/assets/stata-BSr4Y6xK.js +1 -0
  265. package/frontend-dist/assets/stylus-B6D30XZt.js +1 -0
  266. package/frontend-dist/assets/surrealql-BdjWJBSn.js +1 -0
  267. package/frontend-dist/assets/svelte-BXGL560Z.js +1 -0
  268. package/frontend-dist/assets/swift-DonLKvLd.js +1 -0
  269. package/frontend-dist/assets/synthwave-84-nFMaYfgc.js +1 -0
  270. package/frontend-dist/assets/system-verilog-DJ5XKQeo.js +1 -0
  271. package/frontend-dist/assets/systemd-BxMlprV5.js +1 -0
  272. package/frontend-dist/assets/talonscript-CohzipZa.js +1 -0
  273. package/frontend-dist/assets/tasl-DMoTqEGO.js +1 -0
  274. package/frontend-dist/assets/tcl-CZd0xW_V.js +1 -0
  275. package/frontend-dist/assets/templ-B39rZ3Mc.js +1 -0
  276. package/frontend-dist/assets/terraform-DswuEJGm.js +1 -0
  277. package/frontend-dist/assets/tex-MbZL_Em8.js +1 -0
  278. package/frontend-dist/assets/tokyo-night-oM2G3aXe.js +1 -0
  279. package/frontend-dist/assets/toml-CcmNWLt0.js +1 -0
  280. package/frontend-dist/assets/ts-tags-BmAVQYXr.js +1 -0
  281. package/frontend-dist/assets/tsv-sltzmVWM.js +1 -0
  282. package/frontend-dist/assets/tsx-ZMGqoGTx.js +1 -0
  283. package/frontend-dist/assets/turtle-ByJddavk.js +1 -0
  284. package/frontend-dist/assets/twig-DreoDQSs.js +1 -0
  285. package/frontend-dist/assets/typescript-BpBfIzrI.js +1 -0
  286. package/frontend-dist/assets/typespec-BRdr0IET.js +1 -0
  287. package/frontend-dist/assets/typst-DI99ib-x.js +1 -0
  288. package/frontend-dist/assets/v-DETTlOr0.js +1 -0
  289. package/frontend-dist/assets/vala-zf12oZj6.js +1 -0
  290. package/frontend-dist/assets/vb-Djn5o6TS.js +1 -0
  291. package/frontend-dist/assets/verilog-CiiDBU1e.js +1 -0
  292. package/frontend-dist/assets/vesper-DdrHHSXu.js +1 -0
  293. package/frontend-dist/assets/vhdl-BroJfC0k.js +1 -0
  294. package/frontend-dist/assets/viml-DvXPmvsu.js +1 -0
  295. package/frontend-dist/assets/vitesse-black-fwtXNY1n.js +1 -0
  296. package/frontend-dist/assets/vitesse-dark-BZCL-v6S.js +1 -0
  297. package/frontend-dist/assets/vitesse-light-VbXTXTou.js +1 -0
  298. package/frontend-dist/assets/vue-DynNEKHy.js +1 -0
  299. package/frontend-dist/assets/vue-html-Cku1G804.js +1 -0
  300. package/frontend-dist/assets/vue-vine-wge2CQTq.js +1 -0
  301. package/frontend-dist/assets/vyper-CgoNMtux.js +1 -0
  302. package/frontend-dist/assets/{wasm-CG6Dc4jp.js → wasm-BnjxR4X6.js} +1 -1
  303. package/frontend-dist/assets/wasm-ByWQv1Qj.js +1 -0
  304. package/frontend-dist/assets/wenyan-C8pVoKbM.js +1 -0
  305. package/frontend-dist/assets/wgsl-BsKzXJz4.js +1 -0
  306. package/frontend-dist/assets/wikitext-ClFFjSW2.js +1 -0
  307. package/frontend-dist/assets/wit-DdvCle-K.js +1 -0
  308. package/frontend-dist/assets/wolfram-DLL8P-h_.js +1 -0
  309. package/frontend-dist/assets/xml-Ff0rnvcF.js +1 -0
  310. package/frontend-dist/assets/xsl-dRWQEowe.js +1 -0
  311. package/frontend-dist/assets/yaml-BxrA6rU3.js +1 -0
  312. package/frontend-dist/assets/zenscript-BnlCZFoB.js +1 -0
  313. package/frontend-dist/assets/zig-CMLA9XwU.js +1 -0
  314. package/frontend-dist/index.html +2 -2
  315. package/frontend-dist/sw.js +1 -2
  316. package/package.json +1 -1
  317. package/frontend-dist/assets/MarkdownPreview-CF6sudmV.js +0 -293
  318. package/frontend-dist/assets/MarkdownPreview-CKe8gJP-.css +0 -1
  319. package/frontend-dist/assets/abap-BdImnpbu.js +0 -1
  320. package/frontend-dist/assets/actionscript-3-CoDkCxhg.js +0 -1
  321. package/frontend-dist/assets/ada-bCR0ucgS.js +0 -1
  322. package/frontend-dist/assets/andromeeda-C4gqWexZ.js +0 -1
  323. package/frontend-dist/assets/angular-html-DA-rfuFy.js +0 -1
  324. package/frontend-dist/assets/angular-ts-BrjP3tb8.js +0 -1
  325. package/frontend-dist/assets/apache-Pmp26Uib.js +0 -1
  326. package/frontend-dist/assets/apex-Dqspr-GT.js +0 -1
  327. package/frontend-dist/assets/apl-CORt7UWP.js +0 -1
  328. package/frontend-dist/assets/applescript-Co6uUVPk.js +0 -1
  329. package/frontend-dist/assets/ara-BRHolxvo.js +0 -1
  330. package/frontend-dist/assets/asciidoc-Ve4PFQV2.js +0 -1
  331. package/frontend-dist/assets/asm-D_Q5rh1f.js +0 -1
  332. package/frontend-dist/assets/astro-HNnZUWAn.js +0 -1
  333. package/frontend-dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  334. package/frontend-dist/assets/awk-DMzUqQB5.js +0 -1
  335. package/frontend-dist/assets/ayu-dark-DYE7WIF3.js +0 -1
  336. package/frontend-dist/assets/ayu-light-BA47KaF1.js +0 -1
  337. package/frontend-dist/assets/ayu-mirage-32ctXXKs.js +0 -1
  338. package/frontend-dist/assets/ballerina-BFfxhgS-.js +0 -1
  339. package/frontend-dist/assets/bat-BkioyH1T.js +0 -1
  340. package/frontend-dist/assets/beancount-k_qm7-4y.js +0 -1
  341. package/frontend-dist/assets/berry-uYugtg8r.js +0 -1
  342. package/frontend-dist/assets/bibtex-CHM0blh-.js +0 -1
  343. package/frontend-dist/assets/bicep-Bmn6On1c.js +0 -1
  344. package/frontend-dist/assets/bird2-BIv1doCn.js +0 -1
  345. package/frontend-dist/assets/blade-2xfisSek.js +0 -1
  346. package/frontend-dist/assets/bsl-BO_Y6i37.js +0 -1
  347. package/frontend-dist/assets/c-BIGW1oBm.js +0 -1
  348. package/frontend-dist/assets/c3-MRO5bC_T.js +0 -1
  349. package/frontend-dist/assets/cadence-Bv_4Rxtq.js +0 -1
  350. package/frontend-dist/assets/cairo-KRGpt6FW.js +0 -1
  351. package/frontend-dist/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  352. package/frontend-dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  353. package/frontend-dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  354. package/frontend-dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  355. package/frontend-dist/assets/clarity-D53aC0YG.js +0 -1
  356. package/frontend-dist/assets/clojure-P80f7IUj.js +0 -1
  357. package/frontend-dist/assets/cmake-D1j8_8rp.js +0 -1
  358. package/frontend-dist/assets/cobol-nBiQ_Alo.js +0 -1
  359. package/frontend-dist/assets/codeowners-Bp6g37R7.js +0 -1
  360. package/frontend-dist/assets/codeql-DsOJ9woJ.js +0 -1
  361. package/frontend-dist/assets/coffee-Ch7k5sss.js +0 -1
  362. package/frontend-dist/assets/common-lisp-Cg-RD9OK.js +0 -1
  363. package/frontend-dist/assets/coq-DkFqJrB1.js +0 -1
  364. package/frontend-dist/assets/cpp-UfJy6YNI.js +0 -1
  365. package/frontend-dist/assets/crystal-DGywbUpC.js +0 -1
  366. package/frontend-dist/assets/csharp-DSvCPggb.js +0 -1
  367. package/frontend-dist/assets/css-CLj8gQPS.js +0 -1
  368. package/frontend-dist/assets/csv-fuZLfV_i.js +0 -1
  369. package/frontend-dist/assets/cue-D82EKSYY.js +0 -1
  370. package/frontend-dist/assets/cypher-COkxafJQ.js +0 -1
  371. package/frontend-dist/assets/d-85-TOEBH.js +0 -1
  372. package/frontend-dist/assets/dark-plus-C3mMm8J8.js +0 -1
  373. package/frontend-dist/assets/dart-bE4Kk8sk.js +0 -1
  374. package/frontend-dist/assets/dax-CEL-wOlO.js +0 -1
  375. package/frontend-dist/assets/desktop-BmXAJ9_W.js +0 -1
  376. package/frontend-dist/assets/diff-D97Zzqfu.js +0 -1
  377. package/frontend-dist/assets/docker-BcOcwvcX.js +0 -1
  378. package/frontend-dist/assets/dotenv-Da5cRb03.js +0 -1
  379. package/frontend-dist/assets/dracula-BzJJZx-M.js +0 -1
  380. package/frontend-dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  381. package/frontend-dist/assets/dream-maker-BtqSS_iP.js +0 -1
  382. package/frontend-dist/assets/edge-FbVlp4U3.js +0 -1
  383. package/frontend-dist/assets/elixir-CkH2-t6x.js +0 -1
  384. package/frontend-dist/assets/elm-DbKCFpqz.js +0 -1
  385. package/frontend-dist/assets/emacs-lisp-CXvaQtF9.js +0 -1
  386. package/frontend-dist/assets/erb-Dm6A9KJ5.js +0 -1
  387. package/frontend-dist/assets/erlang-DsQrWhSR.js +0 -1
  388. package/frontend-dist/assets/eruda-I4dOyDju.js +0 -366
  389. package/frontend-dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  390. package/frontend-dist/assets/everforest-light-C8M2exoo.js +0 -1
  391. package/frontend-dist/assets/fennel-BYunw83y.js +0 -1
  392. package/frontend-dist/assets/fish-BvzEVeQv.js +0 -1
  393. package/frontend-dist/assets/fluent-C4IJs8-o.js +0 -1
  394. package/frontend-dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  395. package/frontend-dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
  396. package/frontend-dist/assets/fsharp-CXgrBDvD.js +0 -1
  397. package/frontend-dist/assets/gdresource-BOOCDP_w.js +0 -1
  398. package/frontend-dist/assets/gdscript-C5YyOfLZ.js +0 -1
  399. package/frontend-dist/assets/gdshader-DkwncUOv.js +0 -1
  400. package/frontend-dist/assets/genie-D0YGMca9.js +0 -1
  401. package/frontend-dist/assets/gherkin-DyxjwDmM.js +0 -1
  402. package/frontend-dist/assets/git-commit-F4YmCXRG.js +0 -1
  403. package/frontend-dist/assets/git-rebase-r7XF79zn.js +0 -1
  404. package/frontend-dist/assets/github-dark-DHJKELXO.js +0 -1
  405. package/frontend-dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  406. package/frontend-dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  407. package/frontend-dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  408. package/frontend-dist/assets/github-light-DAi9KRSo.js +0 -1
  409. package/frontend-dist/assets/github-light-default-D7oLnXFd.js +0 -1
  410. package/frontend-dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  411. package/frontend-dist/assets/gleam-BspZqrRM.js +0 -1
  412. package/frontend-dist/assets/glimmer-js-ByusRIyA.js +0 -1
  413. package/frontend-dist/assets/glimmer-ts-BfAWNZQY.js +0 -1
  414. package/frontend-dist/assets/glsl-DplSGwfg.js +0 -1
  415. package/frontend-dist/assets/gn-n2N0HUVH.js +0 -1
  416. package/frontend-dist/assets/gnuplot-DdkO51Og.js +0 -1
  417. package/frontend-dist/assets/go-C27-OAKa.js +0 -1
  418. package/frontend-dist/assets/graphql-ChdNCCLP.js +0 -1
  419. package/frontend-dist/assets/groovy-gcz8RCvz.js +0 -1
  420. package/frontend-dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  421. package/frontend-dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  422. package/frontend-dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  423. package/frontend-dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  424. package/frontend-dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  425. package/frontend-dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  426. package/frontend-dist/assets/hack-DbPARsA_.js +0 -1
  427. package/frontend-dist/assets/handlebars-BpdQsYii.js +0 -1
  428. package/frontend-dist/assets/haskell-Df6bDoY_.js +0 -1
  429. package/frontend-dist/assets/haxe-CzTSHFRz.js +0 -1
  430. package/frontend-dist/assets/hcl-BWvSN4gD.js +0 -1
  431. package/frontend-dist/assets/hjson-D5-asLiD.js +0 -1
  432. package/frontend-dist/assets/hlsl-D3lLCCz7.js +0 -1
  433. package/frontend-dist/assets/horizon-BUw7H-hv.js +0 -1
  434. package/frontend-dist/assets/horizon-bright-CUuTKBJd.js +0 -1
  435. package/frontend-dist/assets/houston-DnULxvSX.js +0 -1
  436. package/frontend-dist/assets/html-derivative-DlHx6ybY.js +0 -1
  437. package/frontend-dist/assets/http-jrhK8wxY.js +0 -1
  438. package/frontend-dist/assets/hurl-irOxFIW8.js +0 -1
  439. package/frontend-dist/assets/hxml-Bvhsp5Yf.js +0 -1
  440. package/frontend-dist/assets/hy-DFXneXwc.js +0 -1
  441. package/frontend-dist/assets/imba-DGztddWO.js +0 -1
  442. package/frontend-dist/assets/index-3yH0kVT5.css +0 -32
  443. package/frontend-dist/assets/index-DNdXwx-1.js +0 -153
  444. package/frontend-dist/assets/index-QyYOrA8J.js +0 -391
  445. package/frontend-dist/assets/index-XrxXnMBj.js +0 -1
  446. package/frontend-dist/assets/ini-BEwlwnbL.js +0 -1
  447. package/frontend-dist/assets/java-CylS5w8V.js +0 -1
  448. package/frontend-dist/assets/javascript-wDzz0qaB.js +0 -1
  449. package/frontend-dist/assets/jinja-f2NsQr07.js +0 -1
  450. package/frontend-dist/assets/jison-wvAkD_A8.js +0 -1
  451. package/frontend-dist/assets/json-Cp-IABpG.js +0 -1
  452. package/frontend-dist/assets/json5-C9tS-k6U.js +0 -1
  453. package/frontend-dist/assets/jsonc-Des-eS-w.js +0 -1
  454. package/frontend-dist/assets/jsonl-DcaNXYhu.js +0 -1
  455. package/frontend-dist/assets/jsonnet-DFQXde-d.js +0 -1
  456. package/frontend-dist/assets/jssm-C2t-YnRu.js +0 -1
  457. package/frontend-dist/assets/jsx-g9-lgVsj.js +0 -1
  458. package/frontend-dist/assets/julia-D7OTSIA_.js +0 -1
  459. package/frontend-dist/assets/just-CUsbIsdP.js +0 -1
  460. package/frontend-dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  461. package/frontend-dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  462. package/frontend-dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
  463. package/frontend-dist/assets/kdl-DV7GczEv.js +0 -1
  464. package/frontend-dist/assets/kotlin-BdnUsdx6.js +0 -1
  465. package/frontend-dist/assets/kusto-wEQ09or8.js +0 -1
  466. package/frontend-dist/assets/laserwave-DUszq2jm.js +0 -1
  467. package/frontend-dist/assets/latex-CaSxy8MP.js +0 -1
  468. package/frontend-dist/assets/lean-BZvkOJ9d.js +0 -1
  469. package/frontend-dist/assets/less-B1dDrJ26.js +0 -1
  470. package/frontend-dist/assets/light-plus-B7mTdjB0.js +0 -1
  471. package/frontend-dist/assets/liquid-C0sCDyMI.js +0 -1
  472. package/frontend-dist/assets/llvm-DjAJT7YJ.js +0 -1
  473. package/frontend-dist/assets/log-2UxHyX5q.js +0 -1
  474. package/frontend-dist/assets/logo-BtOb2qkB.js +0 -1
  475. package/frontend-dist/assets/lua-BaeVxFsk.js +0 -1
  476. package/frontend-dist/assets/luau-KW6xsasC.js +0 -1
  477. package/frontend-dist/assets/make-CHLpvVh8.js +0 -1
  478. package/frontend-dist/assets/markdown-Cvjx9yec.js +0 -1
  479. package/frontend-dist/assets/marko-DjSrsDqO.js +0 -1
  480. package/frontend-dist/assets/material-theme-D5KoaKCx.js +0 -1
  481. package/frontend-dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  482. package/frontend-dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  483. package/frontend-dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  484. package/frontend-dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  485. package/frontend-dist/assets/matlab-D7o27uSR.js +0 -1
  486. package/frontend-dist/assets/mdc-DTYItulj.js +0 -1
  487. package/frontend-dist/assets/mdx-Cmh6b_Ma.js +0 -1
  488. package/frontend-dist/assets/mermaid-mWjccvbQ.js +0 -1
  489. package/frontend-dist/assets/min-dark-CafNBF8u.js +0 -1
  490. package/frontend-dist/assets/min-light-CTRr51gU.js +0 -1
  491. package/frontend-dist/assets/mipsasm-CKIfxQSi.js +0 -1
  492. package/frontend-dist/assets/mojo-rZm6bMo-.js +0 -1
  493. package/frontend-dist/assets/monokai-D4h5O-jR.js +0 -1
  494. package/frontend-dist/assets/moonbit-_H4v1dQx.js +0 -1
  495. package/frontend-dist/assets/move-IF9eRakj.js +0 -1
  496. package/frontend-dist/assets/narrat-DRg8JJMk.js +0 -1
  497. package/frontend-dist/assets/nextflow-C-mBbutL.js +0 -1
  498. package/frontend-dist/assets/nextflow-groovy-vE_lwT2v.js +0 -1
  499. package/frontend-dist/assets/nginx-BpAMiNFr.js +0 -1
  500. package/frontend-dist/assets/night-owl-C39BiMTA.js +0 -1
  501. package/frontend-dist/assets/night-owl-light-CMTm3GFP.js +0 -1
  502. package/frontend-dist/assets/nim-BIad80T-.js +0 -1
  503. package/frontend-dist/assets/nix-CwoSXNpI.js +0 -1
  504. package/frontend-dist/assets/nord-Ddv68eIx.js +0 -1
  505. package/frontend-dist/assets/nushell-Cz2AlsmD.js +0 -1
  506. package/frontend-dist/assets/objective-c-DXmwc3jG.js +0 -1
  507. package/frontend-dist/assets/objective-cpp-CLxacb5B.js +0 -1
  508. package/frontend-dist/assets/ocaml-C0hk2d4L.js +0 -1
  509. package/frontend-dist/assets/odin-BBf5iR-q.js +0 -1
  510. package/frontend-dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  511. package/frontend-dist/assets/one-light-C3Wv6jpd.js +0 -1
  512. package/frontend-dist/assets/openscad-C4EeE6gA.js +0 -1
  513. package/frontend-dist/assets/pascal-D93ZcfNL.js +0 -1
  514. package/frontend-dist/assets/perl-B9cMNwum.js +0 -1
  515. package/frontend-dist/assets/php-Csjmro_R.js +0 -1
  516. package/frontend-dist/assets/pkl-u5AG7uiY.js +0 -1
  517. package/frontend-dist/assets/plastic-3e1v2bzS.js +0 -1
  518. package/frontend-dist/assets/plsql-ChMvpjG-.js +0 -1
  519. package/frontend-dist/assets/po-BTJTHyun.js +0 -1
  520. package/frontend-dist/assets/poimandres-CS3Unz2-.js +0 -1
  521. package/frontend-dist/assets/polar-C0HS_06l.js +0 -1
  522. package/frontend-dist/assets/postcss-CXtECtnM.js +0 -1
  523. package/frontend-dist/assets/powerquery-CEu0bR-o.js +0 -1
  524. package/frontend-dist/assets/powershell-Dpen1YoG.js +0 -1
  525. package/frontend-dist/assets/prisma-Dd19v3D-.js +0 -1
  526. package/frontend-dist/assets/prolog-CbFg5uaA.js +0 -1
  527. package/frontend-dist/assets/proto-C7zT0LnQ.js +0 -1
  528. package/frontend-dist/assets/pug-DKIMFp6K.js +0 -1
  529. package/frontend-dist/assets/puppet-BMWR74SV.js +0 -1
  530. package/frontend-dist/assets/purescript-CklMAg4u.js +0 -1
  531. package/frontend-dist/assets/python-B6aJPvgy.js +0 -1
  532. package/frontend-dist/assets/qml-3beO22l8.js +0 -1
  533. package/frontend-dist/assets/qmldir-C8lEn-DE.js +0 -1
  534. package/frontend-dist/assets/qss-IeuSbFQv.js +0 -1
  535. package/frontend-dist/assets/r-Dspwwk_N.js +0 -1
  536. package/frontend-dist/assets/racket-BqYA7rlc.js +0 -1
  537. package/frontend-dist/assets/raku-DXvB9xmW.js +0 -1
  538. package/frontend-dist/assets/razor-BjBPvh-w.js +0 -1
  539. package/frontend-dist/assets/red-bN70gL4F.js +0 -1
  540. package/frontend-dist/assets/reg-C-SQnVFl.js +0 -1
  541. package/frontend-dist/assets/regexp-CDVJQ6XC.js +0 -1
  542. package/frontend-dist/assets/rel-C3B-1QV4.js +0 -1
  543. package/frontend-dist/assets/riscv-BM1_JUlF.js +0 -1
  544. package/frontend-dist/assets/ron-D8l8udqQ.js +0 -1
  545. package/frontend-dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  546. package/frontend-dist/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  547. package/frontend-dist/assets/rose-pine-qdsjHGoJ.js +0 -1
  548. package/frontend-dist/assets/rosmsg-BJDFO7_C.js +0 -1
  549. package/frontend-dist/assets/rst-CpCqk9r5.js +0 -1
  550. package/frontend-dist/assets/ruby-DyJCeAvU.js +0 -1
  551. package/frontend-dist/assets/rust-B1yitclQ.js +0 -1
  552. package/frontend-dist/assets/sas-DEy46yEz.js +0 -1
  553. package/frontend-dist/assets/sass-Cj5Yp3dK.js +0 -1
  554. package/frontend-dist/assets/scala-C151Ov-r.js +0 -1
  555. package/frontend-dist/assets/scheme-C98Dy4si.js +0 -1
  556. package/frontend-dist/assets/scss-D5BDwBP9.js +0 -1
  557. package/frontend-dist/assets/sdbl-DVxCFoDh.js +0 -1
  558. package/frontend-dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
  559. package/frontend-dist/assets/shellscript-Yzrsuije.js +0 -1
  560. package/frontend-dist/assets/shellsession-BADoaaVG.js +0 -1
  561. package/frontend-dist/assets/slack-dark-BthQWCQV.js +0 -1
  562. package/frontend-dist/assets/slack-ochin-DqwNpetd.js +0 -1
  563. package/frontend-dist/assets/smalltalk-BERRCDM3.js +0 -1
  564. package/frontend-dist/assets/snazzy-light-Bw305WKR.js +0 -1
  565. package/frontend-dist/assets/solarized-dark-DXbdFlpD.js +0 -1
  566. package/frontend-dist/assets/solarized-light-L9t79GZl.js +0 -1
  567. package/frontend-dist/assets/solidity-rGO070M0.js +0 -1
  568. package/frontend-dist/assets/soy-8wufbnw4.js +0 -1
  569. package/frontend-dist/assets/sparql-rVzFXLq3.js +0 -1
  570. package/frontend-dist/assets/splunk-BtCnVYZw.js +0 -1
  571. package/frontend-dist/assets/sql-CRqJ_cUM.js +0 -1
  572. package/frontend-dist/assets/ssh-config-_ykCGR6B.js +0 -1
  573. package/frontend-dist/assets/stata-DI20mbqo.js +0 -1
  574. package/frontend-dist/assets/stylus-BEDo0Tqx.js +0 -1
  575. package/frontend-dist/assets/surrealql-Bq5Q-fJD.js +0 -1
  576. package/frontend-dist/assets/svelte-Cy7k_4gC.js +0 -1
  577. package/frontend-dist/assets/swift-D82vCrfD.js +0 -1
  578. package/frontend-dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  579. package/frontend-dist/assets/system-verilog-CnnmHF94.js +0 -1
  580. package/frontend-dist/assets/systemd-4A_iFExJ.js +0 -1
  581. package/frontend-dist/assets/talonscript-CkByrt1z.js +0 -1
  582. package/frontend-dist/assets/tasl-QIJgUcNo.js +0 -1
  583. package/frontend-dist/assets/tcl-dwOrl1Do.js +0 -1
  584. package/frontend-dist/assets/templ-DhtptRzy.js +0 -1
  585. package/frontend-dist/assets/terraform-BETggiCN.js +0 -1
  586. package/frontend-dist/assets/tex-idrVyKtj.js +0 -1
  587. package/frontend-dist/assets/tokyo-night-hegEt444.js +0 -1
  588. package/frontend-dist/assets/toml-vGWfd6FD.js +0 -1
  589. package/frontend-dist/assets/ts-tags-D351s5mN.js +0 -1
  590. package/frontend-dist/assets/tsv-B_m7g4N7.js +0 -1
  591. package/frontend-dist/assets/tsx-COt5Ahok.js +0 -1
  592. package/frontend-dist/assets/turtle-BsS91CYL.js +0 -1
  593. package/frontend-dist/assets/twig-CW1WmMYd.js +0 -1
  594. package/frontend-dist/assets/typescript-BPQ3VLAy.js +0 -1
  595. package/frontend-dist/assets/typespec-CAFt9gP4.js +0 -1
  596. package/frontend-dist/assets/typst-DHCkPAjA.js +0 -1
  597. package/frontend-dist/assets/v-BcVCzyr7.js +0 -1
  598. package/frontend-dist/assets/vala-CsfeWuGM.js +0 -1
  599. package/frontend-dist/assets/vb-D17OF-Vu.js +0 -1
  600. package/frontend-dist/assets/verilog-BQ8w6xss.js +0 -1
  601. package/frontend-dist/assets/vesper-DRje8inN.js +0 -1
  602. package/frontend-dist/assets/vhdl-CeAyd5Ju.js +0 -1
  603. package/frontend-dist/assets/viml-CJc9bBzg.js +0 -1
  604. package/frontend-dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  605. package/frontend-dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  606. package/frontend-dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  607. package/frontend-dist/assets/vue-D2xRrEX4.js +0 -1
  608. package/frontend-dist/assets/vue-html-AaS7Mt5G.js +0 -1
  609. package/frontend-dist/assets/vue-vine-BoDAl6tE.js +0 -1
  610. package/frontend-dist/assets/vyper-CDx5xZoG.js +0 -1
  611. package/frontend-dist/assets/wasm-MzD3tlZU.js +0 -1
  612. package/frontend-dist/assets/wenyan-BV7otONQ.js +0 -1
  613. package/frontend-dist/assets/wgsl-Dx-B1_4e.js +0 -1
  614. package/frontend-dist/assets/wikitext-BhOHFoWU.js +0 -1
  615. package/frontend-dist/assets/wit-5i3qLPDT.js +0 -1
  616. package/frontend-dist/assets/wolfram-lXgVvXCa.js +0 -1
  617. package/frontend-dist/assets/xml-sdJ4AIDG.js +0 -1
  618. package/frontend-dist/assets/xsl-CtQFsRM5.js +0 -1
  619. package/frontend-dist/assets/yaml-Buea-lGh.js +0 -1
  620. package/frontend-dist/assets/zenscript-DVFEvuxE.js +0 -1
  621. package/frontend-dist/assets/zig-VOosw3JB.js +0 -1
package/dist/cli.js CHANGED
@@ -97,6 +97,21 @@ function ensureDefaultUserConfig(input) {
97
97
  const rawIntegrations = src.integrations;
98
98
  const ccUserEvents = rawIntegrations?.perModule?.["claude-code"]?.events ?? {};
99
99
  const ccDefaults = DEFAULT_INTEGRATIONS.perModule["claude-code"].events;
100
+ const userRenderingMd = rawIntegrations?.rendering?.markdown?.enabled;
101
+ const renderingMdEnabled = typeof userRenderingMd === "boolean" ? userRenderingMd : typeof rawDisplay?.markdownPreview === "boolean" ? rawDisplay.markdownPreview : DEFAULT_INTEGRATIONS.rendering.markdown.enabled;
102
+ const userObsidian = rawIntegrations?.rendering?.obsidian;
103
+ const obsDefaults = DEFAULT_INTEGRATIONS.rendering.obsidian;
104
+ const rendering = {
105
+ markdown: { enabled: renderingMdEnabled },
106
+ obsidian: {
107
+ enabled: typeof userObsidian?.enabled === "boolean" ? userObsidian.enabled : obsDefaults.enabled,
108
+ frontmatter: typeof userObsidian?.frontmatter === "boolean" ? userObsidian.frontmatter : obsDefaults.frontmatter,
109
+ wikilink: typeof userObsidian?.wikilink === "boolean" ? userObsidian.wikilink : obsDefaults.wikilink,
110
+ embed: typeof userObsidian?.embed === "boolean" ? userObsidian.embed : obsDefaults.embed,
111
+ callout: typeof userObsidian?.callout === "boolean" ? userObsidian.callout : obsDefaults.callout,
112
+ inlineSyntax: typeof userObsidian?.inlineSyntax === "boolean" ? userObsidian.inlineSyntax : obsDefaults.inlineSyntax
113
+ }
114
+ };
100
115
  const integrations = {
101
116
  enabled: typeof rawIntegrations?.enabled === "boolean" ? rawIntegrations.enabled : DEFAULT_INTEGRATIONS.enabled,
102
117
  forceModule: rawIntegrations?.forceModule === "auto" || rawIntegrations?.forceModule === "claude-code" || rawIntegrations?.forceModule === "none" ? rawIntegrations.forceModule : DEFAULT_INTEGRATIONS.forceModule,
@@ -110,7 +125,8 @@ function ensureDefaultUserConfig(input) {
110
125
  userPrompts: typeof ccUserEvents.userPrompts === "boolean" ? ccUserEvents.userPrompts : ccDefaults.userPrompts
111
126
  }
112
127
  }
113
- }
128
+ },
129
+ rendering
114
130
  };
115
131
  return {
116
132
  ...src,
@@ -347,6 +363,17 @@ var init_defaults = __esm({
347
363
  userPrompts: false
348
364
  }
349
365
  }
366
+ },
367
+ rendering: {
368
+ markdown: { enabled: true },
369
+ obsidian: {
370
+ enabled: true,
371
+ frontmatter: true,
372
+ wikilink: true,
373
+ embed: true,
374
+ callout: true,
375
+ inlineSyntax: true
376
+ }
350
377
  }
351
378
  };
352
379
  DEFAULT_INPUT = {
@@ -453,8 +480,8 @@ function injectManifestToken(html, token) {
453
480
  if (!hm)
454
481
  return html;
455
482
  const oldHref = hm[2] ?? hm[3] ?? "";
456
- const sep2 = oldHref.includes("?") ? "&" : "?";
457
- const newHref = `${oldHref}${sep2}token=${encodeURIComponent(token)}`;
483
+ const sep3 = oldHref.includes("?") ? "&" : "?";
484
+ const newHref = `${oldHref}${sep3}token=${encodeURIComponent(token)}`;
458
485
  const newTag = tag.replace(hrefRe, `href="${newHref}"`);
459
486
  return html.replace(tag, newTag);
460
487
  }
@@ -2513,7 +2540,7 @@ async function runSearch(opts) {
2513
2540
  opts.cancelSignal?.addEventListener("abort", onCancel, { once: true });
2514
2541
  const totalTimeoutHandle = setTimeout(onCancel, SEARCH_TOTAL_TIMEOUT_MS);
2515
2542
  totalTimeoutHandle.unref();
2516
- async function walk(dir, depth) {
2543
+ async function walk2(dir, depth) {
2517
2544
  if (depth > MAX_DEPTH)
2518
2545
  return;
2519
2546
  if (scanned >= MAX_ENTRIES_SCANNED) {
@@ -2558,7 +2585,7 @@ async function runSearch(opts) {
2558
2585
  continue;
2559
2586
  if (checkWorkdir(full, opts.policy.allow, opts.policy.deny) !== null)
2560
2587
  continue;
2561
- await walk(full, depth + 1);
2588
+ await walk2(full, depth + 1);
2562
2589
  continue;
2563
2590
  }
2564
2591
  if (!ent.isFile())
@@ -2611,7 +2638,7 @@ async function runSearch(opts) {
2611
2638
  }
2612
2639
  }
2613
2640
  try {
2614
- await walk(opts.scope, 0);
2641
+ await walk2(opts.scope, 0);
2615
2642
  } finally {
2616
2643
  walkDone = true;
2617
2644
  wakeWorkers();
@@ -2763,16 +2790,292 @@ var init_search_engine = __esm({
2763
2790
  }
2764
2791
  });
2765
2792
 
2793
+ // backend/dist/files/wikilink-resolver.js
2794
+ import { promises as fsp } from "node:fs";
2795
+ import { watch as watch2 } from "node:fs";
2796
+ import { join as join3, relative, dirname as dirname3, basename as basename3, extname as extname2, sep } from "node:path";
2797
+ function makeResult(resolved, fragment) {
2798
+ return fragment ? { resolved, fragment } : { resolved };
2799
+ }
2800
+ function makeBroken(fragment) {
2801
+ return fragment ? { broken: true, fragment } : { broken: true };
2802
+ }
2803
+ function splitFragment(target) {
2804
+ const piped = target.split("|")[0];
2805
+ const hashIdx = piped.indexOf("#");
2806
+ if (hashIdx < 0)
2807
+ return { pathPart: piped.trim() };
2808
+ const pathPart = piped.slice(0, hashIdx).trim();
2809
+ const frag = piped.slice(hashIdx + 1).trim();
2810
+ if (frag.startsWith("^")) {
2811
+ return { pathPart, fragment: { kind: "block", id: frag.slice(1) } };
2812
+ }
2813
+ return { pathPart, fragment: { kind: "heading", id: frag } };
2814
+ }
2815
+ function stripExt(name) {
2816
+ const ext = extname2(name).toLowerCase();
2817
+ if (MD_EXTS.has(ext))
2818
+ return name.slice(0, -ext.length);
2819
+ return name;
2820
+ }
2821
+ function pickShortestPath(from, candidates) {
2822
+ return candidates.map((c2) => ({ c: c2, common: countCommonDirSegments(from, c2) })).sort((a, b) => {
2823
+ if (b.common !== a.common)
2824
+ return b.common - a.common;
2825
+ return a.c < b.c ? -1 : a.c > b.c ? 1 : 0;
2826
+ })[0].c;
2827
+ }
2828
+ function countCommonDirSegments(a, b) {
2829
+ const da = a.split("/").slice(0, -1);
2830
+ const db = b.split("/").slice(0, -1);
2831
+ let i = 0;
2832
+ while (i < da.length && i < db.length && da[i] === db[i])
2833
+ i++;
2834
+ return i;
2835
+ }
2836
+ async function walk(root, cur, onFile) {
2837
+ let ents;
2838
+ try {
2839
+ ents = await fsp.readdir(cur, { withFileTypes: true });
2840
+ } catch (err) {
2841
+ logger.debug({ err, dir: cur }, "WorkspaceIndex.walk: readdir failed (skipped)");
2842
+ return;
2843
+ }
2844
+ const subWalks = [];
2845
+ for (const e of ents) {
2846
+ if (EXCLUDED_DIRS.has(e.name))
2847
+ continue;
2848
+ const full = join3(cur, e.name);
2849
+ if (e.isSymbolicLink()) {
2850
+ try {
2851
+ const real = await fsp.realpath(full);
2852
+ const r = relative(root, real);
2853
+ if (r.startsWith("..") || r === "" || r.startsWith(sep + ".."))
2854
+ continue;
2855
+ } catch {
2856
+ continue;
2857
+ }
2858
+ }
2859
+ if (e.isDirectory() || e.isSymbolicLink() && await isDir(full)) {
2860
+ subWalks.push(walk(root, full, onFile));
2861
+ } else if (e.isFile() || e.isSymbolicLink()) {
2862
+ const rel = relative(root, full).split(sep).join("/");
2863
+ onFile(rel);
2864
+ }
2865
+ }
2866
+ if (subWalks.length > 0)
2867
+ await Promise.all(subWalks);
2868
+ }
2869
+ async function isDir(p) {
2870
+ try {
2871
+ return (await fsp.stat(p)).isDirectory();
2872
+ } catch {
2873
+ return false;
2874
+ }
2875
+ }
2876
+ var MD_EXTS, REBUILD_INTERVAL_MS, STALE_REBUILD_MS, WorkspaceIndex, EXCLUDED_DIRS;
2877
+ var init_wikilink_resolver = __esm({
2878
+ "backend/dist/files/wikilink-resolver.js"() {
2879
+ "use strict";
2880
+ init_logger();
2881
+ MD_EXTS = /* @__PURE__ */ new Set([".md", ".markdown"]);
2882
+ REBUILD_INTERVAL_MS = 5 * 60 * 1e3;
2883
+ STALE_REBUILD_MS = 30 * 1e3;
2884
+ WorkspaceIndex = class {
2885
+ cwd;
2886
+ /** lowercased basename(去扩展名) → 相对 cwd 路径数组(已 sorted) */
2887
+ byBasename = /* @__PURE__ */ new Map();
2888
+ built = false;
2889
+ buildPromise = null;
2890
+ watcher = null;
2891
+ rebuildTimer = null;
2892
+ rebuildScheduled = false;
2893
+ /** 上次 buildOnce() 完成时间;用于 staleness 检查决定是否要重 build */
2894
+ lastBuiltAt = 0;
2895
+ constructor(cwd) {
2896
+ this.cwd = cwd;
2897
+ }
2898
+ /**
2899
+ * 触发索引就绪。
2900
+ *
2901
+ * 关键设计:**不阻塞用户请求等 rebuild**。
2902
+ * - 首次:必须 await(没数据可用)
2903
+ * - 已 built 但 stale:**fire-and-forget 后台 rebuild**,立即用旧索引响应。
2904
+ * 用户拿到老数据 + 几百毫秒内 background 完成 → 下次请求自动新数据。
2905
+ *
2906
+ * Why:WSL DrvFs walk 5+ 秒,prod WSL 加用户大 vault 可能 10+ 秒,
2907
+ * 不能让用户每 30s 卡一次 wikilink 解析。Obsidian 自身也是后台维护索引,
2908
+ * 用户从不感知 vault rescan。
2909
+ */
2910
+ async ensureBuilt() {
2911
+ if (this.built) {
2912
+ const stale = Date.now() - this.lastBuiltAt > STALE_REBUILD_MS;
2913
+ if (stale && !this.buildPromise) {
2914
+ this.buildPromise = this.buildOnce().then(() => {
2915
+ this.lastBuiltAt = Date.now();
2916
+ }).catch((err) => {
2917
+ logger.warn({ err }, "WorkspaceIndex background rebuild failed");
2918
+ }).finally(() => {
2919
+ this.buildPromise = null;
2920
+ });
2921
+ }
2922
+ return;
2923
+ }
2924
+ if (this.buildPromise) {
2925
+ await this.buildPromise;
2926
+ return;
2927
+ }
2928
+ this.buildPromise = this.buildOnce();
2929
+ try {
2930
+ await this.buildPromise;
2931
+ this.built = true;
2932
+ this.lastBuiltAt = Date.now();
2933
+ this.startWatch();
2934
+ } finally {
2935
+ this.buildPromise = null;
2936
+ }
2937
+ }
2938
+ /**
2939
+ * 后台预热:在用户主动 resolve 之前异步触发首次 build。
2940
+ * 调用方 fire-and-forget。已 built 或正在 build 时 no-op。
2941
+ *
2942
+ * 推荐挂在 /files/list 第一次被调时(用户刚打开文件浏览器,索引提前热好)。
2943
+ */
2944
+ prefetch() {
2945
+ if (this.built || this.buildPromise)
2946
+ return;
2947
+ void this.ensureBuilt().catch((err) => logger.debug({ err }, "WorkspaceIndex prefetch failed (silent)"));
2948
+ }
2949
+ resolve(from, target) {
2950
+ const { pathPart, fragment } = splitFragment(target);
2951
+ if (pathPart.length === 0) {
2952
+ return fragment ? { broken: true, fragment } : { broken: true };
2953
+ }
2954
+ const fromRel = this.normalizeFrom(from);
2955
+ if (pathPart.includes("/")) {
2956
+ const fromVault = this.findByRelPath(pathPart);
2957
+ if (fromVault)
2958
+ return makeResult(fromVault, fragment);
2959
+ const fromCurrent = this.findByRelPath(join3(dirname3(fromRel), pathPart));
2960
+ if (fromCurrent)
2961
+ return makeResult(fromCurrent, fragment);
2962
+ return makeBroken(fragment);
2963
+ }
2964
+ const key = stripExt(pathPart).toLowerCase();
2965
+ const candidates = this.byBasename.get(key);
2966
+ if (!candidates || candidates.length === 0)
2967
+ return makeBroken(fragment);
2968
+ if (candidates.length === 1)
2969
+ return makeResult(candidates[0], fragment);
2970
+ const best = pickShortestPath(fromRel, candidates);
2971
+ return {
2972
+ resolved: best,
2973
+ candidates: [...candidates],
2974
+ ...fragment ? { fragment } : {}
2975
+ };
2976
+ }
2977
+ /**
2978
+ * 把 from 归一为相对 cwd 路径(POSIX `/` 分隔)。
2979
+ *
2980
+ * - 绝对路径(以 cwd 为前缀)→ 剥前缀
2981
+ * - 已是相对路径 → 原样(再做一次 split/join 防 Windows 反斜杠)
2982
+ * - 越过 cwd 的(`..`)→ 不在 vault 内,返回原 from(让 findByRelPath 自然 miss)
2983
+ */
2984
+ normalizeFrom(from) {
2985
+ const normalized = from.split(sep).join("/");
2986
+ const rootPosix = this.cwd.split(sep).join("/");
2987
+ if (normalized.startsWith(rootPosix + "/")) {
2988
+ return normalized.slice(rootPosix.length + 1);
2989
+ }
2990
+ if (normalized === rootPosix)
2991
+ return "";
2992
+ return normalized;
2993
+ }
2994
+ shutdown() {
2995
+ this.watcher?.close();
2996
+ this.watcher = null;
2997
+ if (this.rebuildTimer)
2998
+ clearInterval(this.rebuildTimer);
2999
+ this.rebuildTimer = null;
3000
+ }
3001
+ /** 同步触发一次 rebuild(单测 + scheduleRebuild 复用) */
3002
+ async rebuild() {
3003
+ await this.buildOnce();
3004
+ this.lastBuiltAt = Date.now();
3005
+ }
3006
+ // ─── internals ──────────────────────────────────────────────
3007
+ async buildOnce() {
3008
+ const fresh = /* @__PURE__ */ new Map();
3009
+ await walk(this.cwd, this.cwd, (rel) => {
3010
+ const ext = extname2(rel).toLowerCase();
3011
+ if (!MD_EXTS.has(ext))
3012
+ return;
3013
+ const key = stripExt(basename3(rel)).toLowerCase();
3014
+ const arr = fresh.get(key) ?? [];
3015
+ arr.push(rel);
3016
+ fresh.set(key, arr);
3017
+ });
3018
+ for (const arr of fresh.values())
3019
+ arr.sort();
3020
+ this.byBasename = fresh;
3021
+ }
3022
+ startWatch() {
3023
+ try {
3024
+ this.watcher = watch2(this.cwd, { recursive: true }, () => {
3025
+ this.scheduleRebuild();
3026
+ });
3027
+ } catch (e) {
3028
+ logger.warn({ err: e, cwd: this.cwd }, "WorkspaceIndex: fs.watch failed, falling back to 5min poll");
3029
+ }
3030
+ this.rebuildTimer = setInterval(() => {
3031
+ this.scheduleRebuild();
3032
+ }, REBUILD_INTERVAL_MS);
3033
+ this.rebuildTimer.unref?.();
3034
+ }
3035
+ scheduleRebuild() {
3036
+ if (this.rebuildScheduled)
3037
+ return;
3038
+ this.rebuildScheduled = true;
3039
+ setTimeout(() => {
3040
+ this.rebuildScheduled = false;
3041
+ void this.buildOnce().catch((err) => logger.warn({ err }, "WorkspaceIndex rebuild failed"));
3042
+ }, 500);
3043
+ }
3044
+ findByRelPath(rel) {
3045
+ const norm = rel.split(sep).join("/");
3046
+ for (const ext of ["", ".md", ".markdown"]) {
3047
+ const candidate = norm + ext;
3048
+ const key = stripExt(basename3(candidate)).toLowerCase();
3049
+ const arr = this.byBasename.get(key);
3050
+ if (arr?.includes(candidate))
3051
+ return candidate;
3052
+ }
3053
+ return null;
3054
+ }
3055
+ };
3056
+ EXCLUDED_DIRS = /* @__PURE__ */ new Set([".git", ".obsidian", ".trash", "node_modules"]);
3057
+ }
3058
+ });
3059
+
2766
3060
  // backend/dist/api/file-routes.js
2767
3061
  import { Router as Router9 } from "express";
2768
3062
  import { createReadStream } from "node:fs";
2769
3063
  import { lstat as lstat2 } from "node:fs/promises";
2770
- import { dirname as dirname3 } from "node:path";
3064
+ import { dirname as dirname4 } from "node:path";
2771
3065
  function createFileRoutes(opts) {
2772
3066
  const router = Router9();
2773
3067
  const { authModule, registry, workdirPolicy } = opts;
2774
3068
  const fileLimiter = new RateLimiter(FILE_RATE_LIMIT_PER_MIN);
2775
3069
  const searchLimiter = new RateLimiter(SEARCH_RATE_LIMIT_PER_MIN);
3070
+ const wikilinkIndexes = /* @__PURE__ */ new Map();
3071
+ function getWikilinkIndex(instanceId, cwd) {
3072
+ let idx = wikilinkIndexes.get(instanceId);
3073
+ if (!idx) {
3074
+ idx = new WorkspaceIndex(cwd);
3075
+ wikilinkIndexes.set(instanceId, idx);
3076
+ }
3077
+ return idx;
3078
+ }
2776
3079
  router.get("/files/list", authModule.requireAuth, requireRate(fileLimiter), wrap(async (req, res) => {
2777
3080
  const tStart = Date.now();
2778
3081
  const ctx = await resolveContext(req, registry, workdirPolicy);
@@ -2794,6 +3097,7 @@ function createFileRoutes(opts) {
2794
3097
  elapsedMs: Date.now() - tStart
2795
3098
  }, "/api/files audit");
2796
3099
  res.json(payload);
3100
+ getWikilinkIndex(ctx.instanceId, ctx.cwd).prefetch();
2797
3101
  }));
2798
3102
  router.get("/files/stat", authModule.requireAuth, requireRate(fileLimiter), wrap(async (req, res) => {
2799
3103
  const tStart = Date.now();
@@ -2991,6 +3295,42 @@ data: ${JSON.stringify({ code, message })}
2991
3295
  res.end();
2992
3296
  }
2993
3297
  });
3298
+ router.post("/files/resolve-links", authModule.requireAuth, requireRate(fileLimiter), wrap(async (req, res) => {
3299
+ const tStart = Date.now();
3300
+ const body = req.body;
3301
+ if (typeof body.instanceId !== "string" || body.instanceId.length === 0 || typeof body.from !== "string" || !Array.isArray(body.targets)) {
3302
+ throw new AppError(ErrorCode.BAD_REQUEST, "body must be { instanceId: string, from: string, targets: string[] }");
3303
+ }
3304
+ if (body.targets.length > 200) {
3305
+ throw new AppError(ErrorCode.BAD_REQUEST, "too many targets (max 200)");
3306
+ }
3307
+ for (const t of body.targets) {
3308
+ if (typeof t !== "string") {
3309
+ throw new AppError(ErrorCode.BAD_REQUEST, "target must be string");
3310
+ }
3311
+ }
3312
+ const targets = body.targets;
3313
+ const reqWithQuery = Object.assign(Object.create(Object.getPrototypeOf(req)), req, {
3314
+ query: { ...req.query, instanceId: body.instanceId }
3315
+ });
3316
+ const ctx = await resolveContext(reqWithQuery, registry, workdirPolicy);
3317
+ resolveSafePath(ctx.cwd, body.from, ctx.policy);
3318
+ const idx = getWikilinkIndex(ctx.instanceId, ctx.cwd);
3319
+ await idx.ensureBuilt();
3320
+ const results = targets.map((target) => ({
3321
+ target,
3322
+ ...idx.resolve(body.from, target)
3323
+ }));
3324
+ res.json({ ok: true, results });
3325
+ logger.info({
3326
+ action: "resolve-links",
3327
+ instanceId: ctx.instanceId,
3328
+ from: body.from,
3329
+ targetsCount: targets.length,
3330
+ ip: req.ip,
3331
+ elapsedMs: Date.now() - tStart
3332
+ }, "/api/files audit");
3333
+ }));
2994
3334
  return router;
2995
3335
  }
2996
3336
  function wrap(h) {
@@ -3052,7 +3392,7 @@ function pickLang(baseLang, hasAnsi) {
3052
3392
  function computeParent(cwd, current, policy) {
3053
3393
  if (current === cwd)
3054
3394
  return null;
3055
- const parentPath = dirname3(current);
3395
+ const parentPath = dirname4(current);
3056
3396
  if (parentPath === current)
3057
3397
  return null;
3058
3398
  try {
@@ -3077,6 +3417,7 @@ var init_file_routes = __esm({
3077
3417
  init_read_file();
3078
3418
  init_search_engine();
3079
3419
  init_file_kind();
3420
+ init_wikilink_resolver();
3080
3421
  }
3081
3422
  });
3082
3423
 
@@ -4637,7 +4978,7 @@ var init_token_generator = __esm({
4637
4978
 
4638
4979
  // backend/dist/sessions/sessions-store.js
4639
4980
  import { existsSync as existsSync2, mkdirSync as mkdirSync3, readFileSync as readFileSync2 } from "node:fs";
4640
- import { dirname as dirname4, resolve as resolve3 } from "node:path";
4981
+ import { dirname as dirname5, resolve as resolve3 } from "node:path";
4641
4982
  import { homedir } from "node:os";
4642
4983
  function defaultSessionsPath() {
4643
4984
  return resolve3(homedir(), ATR_DATA_DIR, SESSIONS_FILENAME);
@@ -4695,7 +5036,7 @@ var init_sessions_store = __esm({
4695
5036
  sessionTtlMs;
4696
5037
  constructor(opts) {
4697
5038
  this.path = opts.path ?? defaultSessionsPath();
4698
- this.lockDir = opts.lockDir ?? resolve3(dirname4(this.path), SESSIONS_LOCK_DIRNAME);
5039
+ this.lockDir = opts.lockDir ?? resolve3(dirname5(this.path), SESSIONS_LOCK_DIRNAME);
4699
5040
  this.sessionTtlMs = opts.sessionTtlMs;
4700
5041
  }
4701
5042
  // ──────────────── 公共 API ────────────────
@@ -4819,7 +5160,7 @@ var init_sessions_store = __esm({
4819
5160
  }
4820
5161
  /** 原子写 + 确保父目录存在 */
4821
5162
  persist(data) {
4822
- const dir = dirname4(this.path);
5163
+ const dir = dirname5(this.path);
4823
5164
  if (!existsSync2(dir)) {
4824
5165
  try {
4825
5166
  mkdirSync3(dir, { recursive: true, mode: 448 });
@@ -4878,7 +5219,7 @@ var init_ws_authenticate = __esm({
4878
5219
 
4879
5220
  // backend/dist/config.js
4880
5221
  import { existsSync as existsSync3, readFileSync as readFileSync3, mkdirSync as mkdirSync4, copyFileSync } from "node:fs";
4881
- import { resolve as resolve4, basename as basename3 } from "node:path";
5222
+ import { resolve as resolve4, basename as basename4 } from "node:path";
4882
5223
  import { homedir as homedir2 } from "node:os";
4883
5224
  import { statSync as statSync2 } from "node:fs";
4884
5225
  function extractSettingsFromArgs(args) {
@@ -5011,7 +5352,7 @@ function loadConfig(deps) {
5011
5352
  const claudeCwd = cli.workdir ?? env["OCR_CWD"] ?? process.cwd();
5012
5353
  const explicitArgs = mergeClaudeArgs(cli.claudeArgs, env["OCR_ARGS"]);
5013
5354
  const claudeArgs = explicitArgs.length > 0 || explicitCommand !== void 0 ? explicitArgs : defaultShellArgs(claudeCommand);
5014
- const instanceName = cli.instanceName ?? env["INSTANCE_NAME"] ?? (basename3(claudeCwd) || "instance");
5355
+ const instanceName = cli.instanceName ?? env["INSTANCE_NAME"] ?? (basename4(claudeCwd) || "instance");
5015
5356
  const maxBufferLines = cli.maxBufferLines ?? toInt(env["MAX_BUFFER_LINES"]) ?? DEFAULT_MAX_BUFFER_LINES;
5016
5357
  const sessionTtlMs = cli.sessionTtlMs ?? toInt(env["SESSION_TTL_MS"]) ?? DEFAULT_SESSION_TTL_MS;
5017
5358
  const authRateLimit = cli.authRateLimit ?? toInt(env["AUTH_RATE_LIMIT"]) ?? DEFAULT_AUTH_RATE_LIMIT;
@@ -5244,9 +5585,9 @@ var init_manager = __esm({
5244
5585
  });
5245
5586
 
5246
5587
  // backend/dist/integrations/claude-code/detect.js
5247
- import { basename as basename4 } from "node:path";
5588
+ import { basename as basename5 } from "node:path";
5248
5589
  function isClaudeCommand(command) {
5249
- let name = basename4(command).toLowerCase();
5590
+ let name = basename5(command).toLowerCase();
5250
5591
  for (const suffix of WIN_SUFFIXES) {
5251
5592
  if (name.endsWith(suffix)) {
5252
5593
  name = name.slice(0, -suffix.length);
@@ -6323,12 +6664,12 @@ __export(resolve_executable_exports, {
6323
6664
  resolveExecutable: () => resolveExecutable
6324
6665
  });
6325
6666
  import { accessSync, existsSync as existsSync9, readdirSync, statSync as statSync3, constants } from "node:fs";
6326
- import { resolve as pathResolve, isAbsolute as isAbsolute2, sep } from "node:path";
6667
+ import { resolve as pathResolve, isAbsolute as isAbsolute2, sep as sep2 } from "node:path";
6327
6668
  import { delimiter } from "node:path";
6328
6669
  function resolveExecutable(program, env = process.env) {
6329
6670
  if (!program || program.length === 0)
6330
6671
  return null;
6331
- if (program.includes("/") || program.includes(sep)) {
6672
+ if (program.includes("/") || program.includes(sep2)) {
6332
6673
  const abs = isAbsolute2(program) ? program : pathResolve(program);
6333
6674
  return isExecutable(abs) ? abs : null;
6334
6675
  }
@@ -6476,7 +6817,7 @@ var init_did_you_mean = __esm({
6476
6817
 
6477
6818
  // backend/dist/broker/broker-state.js
6478
6819
  import { existsSync as existsSync10, mkdirSync as mkdirSync9, readFileSync as readFileSync7, rmSync as rmSync2 } from "node:fs";
6479
- import { dirname as dirname5, resolve as resolve9 } from "node:path";
6820
+ import { dirname as dirname6, resolve as resolve9 } from "node:path";
6480
6821
  import { homedir as homedir7 } from "node:os";
6481
6822
  function defaultBrokerStatePath() {
6482
6823
  return resolve9(homedir7(), ATR_DATA_DIR, BROKER_STATE_FILENAME);
@@ -6517,7 +6858,7 @@ function readBrokerState(path = defaultBrokerStatePath()) {
6517
6858
  return { version: SCHEMA_VERSION2, pid, port, host, startedAt, brokerVersion };
6518
6859
  }
6519
6860
  function writeBrokerState(state, path = defaultBrokerStatePath()) {
6520
- const dir = dirname5(path);
6861
+ const dir = dirname6(path);
6521
6862
  if (!existsSync10(dir)) {
6522
6863
  try {
6523
6864
  mkdirSync9(dir, { recursive: true, mode: 448 });
@@ -7038,7 +7379,7 @@ var init_broker_server = __esm({
7038
7379
  // backend/dist/broker/ensure-broker.js
7039
7380
  import { spawn as spawn2 } from "node:child_process";
7040
7381
  import { existsSync as existsSync12, mkdirSync as mkdirSync10, openSync } from "node:fs";
7041
- import { dirname as dirname6, resolve as resolve11 } from "node:path";
7382
+ import { dirname as dirname7, resolve as resolve11 } from "node:path";
7042
7383
  import { homedir as homedir8 } from "node:os";
7043
7384
  function defaultBrokerLockDir() {
7044
7385
  return resolve11(homedir8(), ATR_DATA_DIR, ".broker.lock");
@@ -7121,7 +7462,7 @@ function resolveBrokerEntry(cliJsPath) {
7121
7462
  return { execPath: process.execPath, args: [cliJsPath] };
7122
7463
  }
7123
7464
  function ensureParentDir(lockDir) {
7124
- const parent = dirname6(lockDir);
7465
+ const parent = dirname7(lockDir);
7125
7466
  if (existsSync12(parent))
7126
7467
  return;
7127
7468
  try {
@@ -7456,7 +7797,7 @@ __export(index_exports, {
7456
7797
  import { createServer as createServer3 } from "node:http";
7457
7798
  import { execSync } from "node:child_process";
7458
7799
  import { networkInterfaces as networkInterfaces5 } from "node:os";
7459
- import { resolve as resolve12, dirname as dirname7 } from "node:path";
7800
+ import { resolve as resolve12, dirname as dirname8 } from "node:path";
7460
7801
  import { fileURLToPath as fileURLToPath2 } from "node:url";
7461
7802
  import express2 from "express";
7462
7803
  import cors2 from "cors";
@@ -7522,7 +7863,7 @@ async function startServer(overrides = {}) {
7522
7863
  }
7523
7864
  logger.info({ requested: cfg.claudeCommand, resolved }, "PTY program resolved");
7524
7865
  }
7525
- const __dirnameForBroker = dirname7(fileURLToPath2(import.meta.url));
7866
+ const __dirnameForBroker = dirname8(fileURLToPath2(import.meta.url));
7526
7867
  const cliJsPathForBroker = resolve12(__dirnameForBroker, "cli.js");
7527
7868
  const { ensureBroker: ensureBroker2 } = await Promise.resolve().then(() => (init_broker(), broker_exports));
7528
7869
  let brokerState;
@@ -7614,7 +7955,7 @@ hint: check whether ~/.atr/broker.json is held by a stale process; set ATR_DEBUG
7614
7955
  legacyCookieNames: [createSessionCookieName(cfg.port)],
7615
7956
  sessions: sessionsStore
7616
7957
  });
7617
- const __dirname2 = dirname7(fileURLToPath2(import.meta.url));
7958
+ const __dirname2 = dirname8(fileURLToPath2(import.meta.url));
7618
7959
  const registry = new InstanceRegistryManager();
7619
7960
  const localHostnames = collectLocalHostnames2();
7620
7961
  logger.info({ hostnames: Array.from(localHostnames) }, "CORS \u767D\u540D\u5355");
@@ -7722,7 +8063,7 @@ hint: check whether ~/.atr/broker.json is held by a stale process; set ATR_DEBUG
7722
8063
  const tokenPreview = cfg.token.length >= 16 ? `${cfg.token.slice(0, 8)}...${cfg.token.slice(-8)}` : cfg.token;
7723
8064
  const BOX_INNER = 50;
7724
8065
  const top = `\u2554${"\u2550".repeat(BOX_INNER)}\u2557`;
7725
- const sep2 = `\u2560${"\u2550".repeat(BOX_INNER)}\u2563`;
8066
+ const sep3 = `\u2560${"\u2550".repeat(BOX_INNER)}\u2563`;
7726
8067
  const bot = `\u255A${"\u2550".repeat(BOX_INNER)}\u255D`;
7727
8068
  const row = (text) => {
7728
8069
  const trimmed = text.length <= BOX_INNER ? text.padEnd(BOX_INNER) : text.slice(0, BOX_INNER);
@@ -7738,13 +8079,13 @@ hint: check whether ~/.atr/broker.json is held by a stale process; set ATR_DEBUG
7738
8079
  process.stderr.write("\n");
7739
8080
  process.stderr.write(top + "\n");
7740
8081
  process.stderr.write(center("Auvezy Terminal Remote \xB7 started") + "\n");
7741
- process.stderr.write(sep2 + "\n");
8082
+ process.stderr.write(sep3 + "\n");
7742
8083
  process.stderr.write(row(` instance: ${cfg.instanceName}`) + "\n");
7743
8084
  process.stderr.write(row(` service: http://${brokerState.host}:${brokerState.port}`) + "\n");
7744
8085
  process.stderr.write(row(` token: ${tokenPreview}`) + "\n");
7745
8086
  process.stderr.write(row(` source: ${cfg.tokenSource}`) + "\n");
7746
8087
  if (cfg.tokenSource === "generated") {
7747
- process.stderr.write(sep2 + "\n");
8088
+ process.stderr.write(sep3 + "\n");
7748
8089
  process.stderr.write(row(" Full token (shown once \u2014 save it now):") + "\n");
7749
8090
  process.stderr.write(row(` ${cfg.token.slice(0, 48)}`) + "\n");
7750
8091
  process.stderr.write(row(` ${cfg.token.slice(48)}`) + "\n");
@@ -8670,7 +9011,7 @@ var init_attach = __esm({
8670
9011
 
8671
9012
  // backend/dist/broker/broker-log-rotator.js
8672
9013
  import { appendFileSync, existsSync as existsSync13, mkdirSync as mkdirSync11, readdirSync as readdirSync2, statSync as statSync4, unlinkSync as unlinkSync2 } from "node:fs";
8673
- import { resolve as resolve13, basename as basename5 } from "node:path";
9014
+ import { resolve as resolve13, basename as basename6 } from "node:path";
8674
9015
  function createBrokerLogRotator(opts) {
8675
9016
  const now = opts.now ?? (() => /* @__PURE__ */ new Date());
8676
9017
  if (!existsSync13(opts.dir)) {
@@ -8758,7 +9099,7 @@ var init_broker_log_rotator = __esm({
8758
9099
  // backend/dist/registry/instance-spawner.js
8759
9100
  import { spawn as spawn3 } from "node:child_process";
8760
9101
  import { existsSync as existsSync14, statSync as statSync5, openSync as openSync2 } from "node:fs";
8761
- import { resolve as resolve14, isAbsolute as isAbsolute3, dirname as dirname8 } from "node:path";
9102
+ import { resolve as resolve14, isAbsolute as isAbsolute3, dirname as dirname9 } from "node:path";
8762
9103
  function waitForEarlyExit(child, timeoutMs) {
8763
9104
  return new Promise((res) => {
8764
9105
  let settled = false;
@@ -8784,7 +9125,7 @@ function resolveEntry(cliJsPath) {
8784
9125
  }
8785
9126
  const tsPath = cliJsPath.replace(/\.js$/, ".ts");
8786
9127
  if (existsSync14(tsPath)) {
8787
- const tsxBin = findTsxBin(dirname8(tsPath));
9128
+ const tsxBin = findTsxBin(dirname9(tsPath));
8788
9129
  if (tsxBin) {
8789
9130
  return { execPath: tsxBin, args: [tsPath] };
8790
9131
  }
@@ -8801,14 +9142,14 @@ function findTsxBin(startDir) {
8801
9142
  const candidate = resolve14(dir, "node_modules", ".bin", "tsx");
8802
9143
  if (existsSync14(candidate))
8803
9144
  return candidate;
8804
- const parent = dirname8(dir);
9145
+ const parent = dirname9(dir);
8805
9146
  if (parent === dir)
8806
9147
  break;
8807
9148
  dir = parent;
8808
9149
  }
8809
9150
  return null;
8810
9151
  }
8811
- function basename6(p) {
9152
+ function basename7(p) {
8812
9153
  const parts = p.split(/[\\/]/).filter(Boolean);
8813
9154
  return parts[parts.length - 1] ?? "instance";
8814
9155
  }
@@ -8838,7 +9179,7 @@ var init_instance_spawner = __esm({
8838
9179
  logger.warn({ cwd, verdict }, "workdir policy rejected spawn");
8839
9180
  throw new InstanceError(ErrorCode.CWD_NOT_EXIST, `cwd not allowed by workdir policy: ${verdict.reason}`, 403);
8840
9181
  }
8841
- const name = input.name && input.name.trim() ? input.name.trim() : basename6(cwd);
9182
+ const name = input.name && input.name.trim() ? input.name.trim() : basename7(cwd);
8842
9183
  const { execPath, args: entryArgs } = resolveEntry(this.opts.cliJsPath);
8843
9184
  const logFd = process.env.ATR_DEBUG_SPAWN ? openSync2(`/tmp/atr-spawn-${Date.now()}.log`, "a") : "ignore";
8844
9185
  const child = spawn3(execPath, [...entryArgs, "--no-terminal"], {
@@ -8895,7 +9236,7 @@ __export(service_installer_exports, {
8895
9236
  uninstall: () => uninstall
8896
9237
  });
8897
9238
  import { existsSync as existsSync15, mkdirSync as mkdirSync12, readFileSync as readFileSync10, rmSync as rmSync3, writeFileSync as writeFileSync5 } from "node:fs";
8898
- import { resolve as resolve15, dirname as dirname9 } from "node:path";
9239
+ import { resolve as resolve15, dirname as dirname10 } from "node:path";
8899
9240
  import { homedir as homedir9, platform } from "node:os";
8900
9241
  function detectPlatform(env = process.env, plat = platform()) {
8901
9242
  if (plat === "darwin")
@@ -8970,8 +9311,8 @@ function install(opts) {
8970
9311
  if (platformDetected === "macos") {
8971
9312
  const path2 = launchdPlistPath(home);
8972
9313
  const logPath = brokerLogPath(home);
8973
- ensureDir(fs, dirname9(path2));
8974
- ensureDir(fs, dirname9(logPath));
9314
+ ensureDir(fs, dirname10(path2));
9315
+ ensureDir(fs, dirname10(logPath));
8975
9316
  fs.writeFileSync(path2, renderLaunchdPlist({
8976
9317
  nodeBin: opts.nodeBin,
8977
9318
  cliPath: opts.cliPath,
@@ -8989,7 +9330,7 @@ function install(opts) {
8989
9330
  };
8990
9331
  }
8991
9332
  const path = systemdUnitPath(home);
8992
- ensureDir(fs, dirname9(path));
9333
+ ensureDir(fs, dirname10(path));
8993
9334
  fs.writeFileSync(path, renderSystemdUnit({
8994
9335
  nodeBin: opts.nodeBin,
8995
9336
  cliPath: opts.cliPath,
@@ -9116,11 +9457,11 @@ __export(cli_exports, {
9116
9457
  });
9117
9458
  import { execSync as execSync2, spawn as spawn4 } from "node:child_process";
9118
9459
  import { existsSync as existsSync16, openSync as openSync3, readFileSync as readFileSync11 } from "node:fs";
9119
- import { resolve as resolve16, dirname as dirname10 } from "node:path";
9460
+ import { resolve as resolve16, dirname as dirname11 } from "node:path";
9120
9461
  import { fileURLToPath as fileURLToPath3 } from "node:url";
9121
9462
  import { homedir as homedir10 } from "node:os";
9122
9463
  function getBrokerVersion() {
9123
- const __dirname2 = dirname10(fileURLToPath3(import.meta.url));
9464
+ const __dirname2 = dirname11(fileURLToPath3(import.meta.url));
9124
9465
  const candidates = [
9125
9466
  resolve16(__dirname2, "package.json"),
9126
9467
  resolve16(__dirname2, "..", "package.json"),
@@ -9139,7 +9480,7 @@ function getBrokerVersion() {
9139
9480
  return "0.0.0";
9140
9481
  }
9141
9482
  function getCliPath() {
9142
- const __dirname2 = dirname10(fileURLToPath3(import.meta.url));
9483
+ const __dirname2 = dirname11(fileURLToPath3(import.meta.url));
9143
9484
  const parentDir = resolve16(__dirname2, "..", "cli.js");
9144
9485
  const sameDir = resolve16(__dirname2, "cli.js");
9145
9486
  try {
@@ -9184,7 +9525,7 @@ async function runBrokerStart(cli) {
9184
9525
  process.stderr.write(`[atr] log file: ${logRotator.currentFilePath()}
9185
9526
  `);
9186
9527
  const registry = new InstanceRegistryManager();
9187
- const __dirname2 = dirname10(fileURLToPath3(import.meta.url));
9528
+ const __dirname2 = dirname11(fileURLToPath3(import.meta.url));
9188
9529
  const frontendDist = resolve16(__dirname2, "..", "frontend-dist");
9189
9530
  let sharedToken;
9190
9531
  try {
@@ -9817,9 +10158,9 @@ void (async () => {
9817
10158
  }
9818
10159
  if (cli.version) {
9819
10160
  const { readFileSync: readFileSync12 } = await import("node:fs");
9820
- const { resolve: resolve17, dirname: dirname11 } = await import("node:path");
10161
+ const { resolve: resolve17, dirname: dirname12 } = await import("node:path");
9821
10162
  const { fileURLToPath: fileURLToPath4 } = await import("node:url");
9822
- const __dirname2 = dirname11(fileURLToPath4(import.meta.url));
10163
+ const __dirname2 = dirname12(fileURLToPath4(import.meta.url));
9823
10164
  const pkg = JSON.parse(readFileSync12(resolve17(__dirname2, "..", "package.json"), "utf-8"));
9824
10165
  process.stdout.write(`${pkg.version}
9825
10166
  `);