@mquan/mochi 0.1.1 → 1.0.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 (645) hide show
  1. package/README.md +37 -17
  2. package/dist/bin/tsconfig.tsbuildinfo +1 -1
  3. package/dist/server/api.d.ts +2 -1
  4. package/dist/server/api.d.ts.map +1 -1
  5. package/dist/server/api.js +62 -0
  6. package/dist/server/api.js.map +1 -1
  7. package/dist/server/diagram/endpoint.d.ts.map +1 -1
  8. package/dist/server/diagram/endpoint.js +4 -35
  9. package/dist/server/diagram/endpoint.js.map +1 -1
  10. package/dist/server/diagram/generate.d.ts +2 -2
  11. package/dist/server/diagram/generate.js +4 -4
  12. package/dist/server/diagram/generate.js.map +1 -1
  13. package/dist/server/diagram/prompt-version.d.ts +1 -1
  14. package/dist/server/diagram/prompt-version.d.ts.map +1 -1
  15. package/dist/server/diagram/prompt-version.js +22 -1
  16. package/dist/server/diagram/prompt-version.js.map +1 -1
  17. package/dist/server/diagram/prompts/diagram-spec.md +31 -31
  18. package/dist/server/tsconfig.tsbuildinfo +1 -1
  19. package/dist/shared/analysis-schema.d.ts +12 -101
  20. package/dist/shared/analysis-schema.d.ts.map +1 -1
  21. package/dist/shared/analysis-schema.js +1 -1
  22. package/dist/shared/analysis-schema.js.map +1 -1
  23. package/dist/shared/design/kinds.d.ts +4 -8
  24. package/dist/shared/design/kinds.d.ts.map +1 -1
  25. package/dist/shared/design/kinds.js +0 -19
  26. package/dist/shared/design/kinds.js.map +1 -1
  27. package/dist/shared/design/lenses.d.ts +1 -1
  28. package/dist/shared/design/lenses.d.ts.map +1 -1
  29. package/dist/shared/design/lenses.js +2 -9
  30. package/dist/shared/design/lenses.js.map +1 -1
  31. package/dist/shared/design/node-styles.d.ts.map +1 -1
  32. package/dist/shared/design/node-styles.js +0 -20
  33. package/dist/shared/design/node-styles.js.map +1 -1
  34. package/dist/shared/diagram-spec.d.ts +248 -800
  35. package/dist/shared/diagram-spec.d.ts.map +1 -1
  36. package/dist/shared/diagram-spec.js.map +1 -1
  37. package/dist/shared/tsconfig.tsbuildinfo +1 -1
  38. package/dist/web/assets/abap-DOv5zRgd.js +1 -0
  39. package/dist/web/assets/actionscript-3-D_b0n2Ff.js +1 -0
  40. package/dist/web/assets/ada-C6m8O36S.js +1 -0
  41. package/dist/web/assets/andromeeda-LdzAHaKR.js +1 -0
  42. package/dist/web/assets/angular-html-yQleOZR_.js +1 -0
  43. package/dist/web/assets/angular-ts-CNLtkSah.js +1 -0
  44. package/dist/web/assets/apache-CE7PmWoU.js +1 -0
  45. package/dist/web/assets/apex-DOfNfL0V.js +1 -0
  46. package/dist/web/assets/apl-BPLo_IWv.js +1 -0
  47. package/dist/web/assets/applescript-D4zGaScB.js +1 -0
  48. package/dist/web/assets/ara-DMoCP0pJ.js +1 -0
  49. package/dist/web/assets/asciidoc-BkmPq932.js +1 -0
  50. package/dist/web/assets/asm-ClIKbvsu.js +1 -0
  51. package/dist/web/assets/astro-DhskwrBd.js +1 -0
  52. package/dist/web/assets/aurora-x-DTcNXZIS.js +1 -0
  53. package/dist/web/assets/awk-D1ZOsISX.js +1 -0
  54. package/dist/web/assets/ayu-dark-DpNcORnA.js +1 -0
  55. package/dist/web/assets/ayu-light-lHqf0ddo.js +1 -0
  56. package/dist/web/assets/ayu-mirage-Dji5RWiH.js +1 -0
  57. package/dist/web/assets/ballerina-H14_EqPr.js +1 -0
  58. package/dist/web/assets/bat-cyb3gF8B.js +1 -0
  59. package/dist/web/assets/beancount-D84pBacF.js +1 -0
  60. package/dist/web/assets/berry-B29XeKK4.js +1 -0
  61. package/dist/web/assets/bibtex-Hs7VvQaV.js +1 -0
  62. package/dist/web/assets/bicep-CugTE5CQ.js +1 -0
  63. package/dist/web/assets/bird2-mieRHotO.js +1 -0
  64. package/dist/web/assets/blade-DkApxyPN.js +1 -0
  65. package/dist/web/assets/bsl-BRmzGEWg.js +1 -0
  66. package/dist/web/assets/c-B5rzbwvf.js +1 -0
  67. package/dist/web/assets/c3-Dx2gByXW.js +1 -0
  68. package/dist/web/assets/cadence-CCTSwj3w.js +1 -0
  69. package/dist/web/assets/cairo-CaIu88t6.js +1 -0
  70. package/dist/web/assets/catppuccin-frappe-DQrU04q0.js +1 -0
  71. package/dist/web/assets/catppuccin-latte-B_oiWZka.js +1 -0
  72. package/dist/web/assets/catppuccin-macchiato-D8VB2qi4.js +1 -0
  73. package/dist/web/assets/catppuccin-mocha-5vkMJ1Mb.js +1 -0
  74. package/dist/web/assets/clarity-BbUNTPrg.js +1 -0
  75. package/dist/web/assets/clojure-Bcw7lCta.js +1 -0
  76. package/dist/web/assets/cmake-DM0FE-T9.js +1 -0
  77. package/dist/web/assets/cobol-CqUv7Fx7.js +1 -0
  78. package/dist/web/assets/codeowners-CBvEPOlS.js +1 -0
  79. package/dist/web/assets/codeql-CjS8Tp16.js +1 -0
  80. package/dist/web/assets/coffee-qCane8NK.js +1 -0
  81. package/dist/web/assets/common-lisp-BCx4dVK8.js +1 -0
  82. package/dist/web/assets/coq-Ddo7YIsR.js +1 -0
  83. package/dist/web/assets/cpp-BKSa3oke.js +1 -0
  84. package/dist/web/assets/crystal-CkR_ZpXj.js +1 -0
  85. package/dist/web/assets/csharp-Kzd7Ey2d.js +1 -0
  86. package/dist/web/assets/css-C6IA-Mby.js +1 -0
  87. package/dist/web/assets/csv-DGwgERVJ.js +1 -0
  88. package/dist/web/assets/cue-CMabdDG0.js +1 -0
  89. package/dist/web/assets/cypher-CJUzJAhQ.js +1 -0
  90. package/dist/web/assets/d-BvLF4qGs.js +1 -0
  91. package/dist/web/assets/dark-plus-BMwvn5lx.js +1 -0
  92. package/dist/web/assets/dart-DxXbDeKR.js +1 -0
  93. package/dist/web/assets/dax-BvrCypuS.js +1 -0
  94. package/dist/web/assets/desktop-BEul_kAS.js +1 -0
  95. package/dist/web/assets/diff-B7rhrwA5.js +1 -0
  96. package/dist/web/assets/docker-9Zbx0dQX.js +1 -0
  97. package/dist/web/assets/dotenv-C0epktMv.js +1 -0
  98. package/dist/web/assets/dracula-CBD4ckb0.js +1 -0
  99. package/dist/web/assets/dracula-soft-CuGBZj_h.js +1 -0
  100. package/dist/web/assets/dream-maker-D6UB367x.js +1 -0
  101. package/dist/web/assets/edge-pdIcE-A_.js +1 -0
  102. package/dist/web/assets/elixir-BESKS8rl.js +1 -0
  103. package/dist/web/assets/elm-BkW2o9SB.js +1 -0
  104. package/dist/web/assets/emacs-lisp-DFyMFAZA.js +1 -0
  105. package/dist/web/assets/erb-B6dO5BAV.js +1 -0
  106. package/dist/web/assets/erlang-LvhGhZI3.js +1 -0
  107. package/dist/web/assets/everforest-dark-BhFNrp2k.js +1 -0
  108. package/dist/web/assets/everforest-light-CpIbZ9aT.js +1 -0
  109. package/dist/web/assets/fennel-CH1ohGYX.js +1 -0
  110. package/dist/web/assets/fish-D2X4h_sR.js +1 -0
  111. package/dist/web/assets/fluent-B_In4uB6.js +1 -0
  112. package/dist/web/assets/fortran-fixed-form-BXvkHMbK.js +1 -0
  113. package/dist/web/assets/fortran-free-form-Bw_JZ1tj.js +1 -0
  114. package/dist/web/assets/fsharp-uxIU8dwY.js +1 -0
  115. package/dist/web/assets/gdresource-DkI-mZL2.js +1 -0
  116. package/dist/web/assets/gdscript-DDro0rs8.js +1 -0
  117. package/dist/web/assets/gdshader-DkUeC1ld.js +1 -0
  118. package/dist/web/assets/genie-khT2hrp-.js +1 -0
  119. package/dist/web/assets/gherkin-CPELKal0.js +1 -0
  120. package/dist/web/assets/git-commit-a3TktZ3A.js +1 -0
  121. package/dist/web/assets/git-rebase-SoCRyKE3.js +1 -0
  122. package/dist/web/assets/github-dark-DQp1Qkx5.js +1 -0
  123. package/dist/web/assets/github-dark-default-BroO-mT3.js +1 -0
  124. package/dist/web/assets/github-dark-dimmed-D8UZ8uTL.js +1 -0
  125. package/dist/web/assets/github-dark-high-contrast-CM0RRMCj.js +1 -0
  126. package/dist/web/assets/github-light-BRTmX4Ht.js +1 -0
  127. package/dist/web/assets/github-light-default-dl7biQ4g.js +1 -0
  128. package/dist/web/assets/github-light-high-contrast-Cvzq8ZXJ.js +1 -0
  129. package/dist/web/assets/gleam-7UVjplRF.js +1 -0
  130. package/dist/web/assets/glimmer-js-DDelvNKZ.js +1 -0
  131. package/dist/web/assets/glimmer-ts-Bpla8usy.js +1 -0
  132. package/dist/web/assets/glsl-DGUY5pWj.js +1 -0
  133. package/dist/web/assets/gn-EcrZPIZo.js +1 -0
  134. package/dist/web/assets/gnuplot-CcsFlqcz.js +1 -0
  135. package/dist/web/assets/go-TqNfhUhh.js +1 -0
  136. package/dist/web/assets/graphql-BbFjoNY9.js +1 -0
  137. package/dist/web/assets/groovy-bfrzFpSZ.js +1 -0
  138. package/dist/web/assets/gruvbox-dark-hard-CBFL_VqK.js +1 -0
  139. package/dist/web/assets/gruvbox-dark-medium-Dn18r-Yz.js +1 -0
  140. package/dist/web/assets/gruvbox-dark-soft-DUyKWd02.js +1 -0
  141. package/dist/web/assets/gruvbox-light-hard-DV9RwKs4.js +1 -0
  142. package/dist/web/assets/gruvbox-light-medium-Ba-VIg48.js +1 -0
  143. package/dist/web/assets/gruvbox-light-soft-CVIZMKFx.js +1 -0
  144. package/dist/web/assets/hack-C0u1uES4.js +1 -0
  145. package/dist/web/assets/{haml-B8DHNrY2.js → haml-EMli3a_F.js} +1 -1
  146. package/dist/web/assets/handlebars-CgyLD371.js +1 -0
  147. package/dist/web/assets/haskell-DzEtL6Zk.js +1 -0
  148. package/dist/web/assets/haxe-wLDEcRoz.js +1 -0
  149. package/dist/web/assets/hcl-C1fs3gTM.js +1 -0
  150. package/dist/web/assets/hjson-B4b85MZo.js +1 -0
  151. package/dist/web/assets/hlsl-JhqkHhML.js +1 -0
  152. package/dist/web/assets/horizon-DMOEeSnA.js +1 -0
  153. package/dist/web/assets/horizon-bright-CPVackS9.js +1 -0
  154. package/dist/web/assets/houston-DSlR9wH9.js +1 -0
  155. package/dist/web/assets/{html-GMplVEZG.js → html-5jufwj83.js} +1 -1
  156. package/dist/web/assets/html-derivative-CcTbsN0W.js +1 -0
  157. package/dist/web/assets/http-3Uglmg2r.js +1 -0
  158. package/dist/web/assets/hurl-BL5NhXQh.js +1 -0
  159. package/dist/web/assets/hxml-Bdi_kWeE.js +1 -0
  160. package/dist/web/assets/hy-uAHU8420.js +1 -0
  161. package/dist/web/assets/imba-CPCwfD-G.js +1 -0
  162. package/dist/web/assets/index-BeKRB2Ow.js +27 -0
  163. package/dist/web/assets/index-CZ0TOHas.css +1 -0
  164. package/dist/web/assets/ini-2Ew1Qzj6.js +1 -0
  165. package/dist/web/assets/java-BAnULpY2.js +1 -0
  166. package/dist/web/assets/javascript-DaqIOllZ.js +1 -0
  167. package/dist/web/assets/jinja-BT3KhNVn.js +1 -0
  168. package/dist/web/assets/jison-oGVXVqLv.js +1 -0
  169. package/dist/web/assets/json-hCh8arpt.js +1 -0
  170. package/dist/web/assets/json5-Dl8gAgq4.js +1 -0
  171. package/dist/web/assets/jsonc-C9b23pMf.js +1 -0
  172. package/dist/web/assets/jsonl-DkF3QjsY.js +1 -0
  173. package/dist/web/assets/jsonnet-DH4UkOBo.js +1 -0
  174. package/dist/web/assets/jssm-CBV9_O8o.js +1 -0
  175. package/dist/web/assets/jsx-DYtKZveK.js +1 -0
  176. package/dist/web/assets/julia-D1Q0Afi_.js +1 -0
  177. package/dist/web/assets/just-DE210FW5.js +1 -0
  178. package/dist/web/assets/kanagawa-dragon-DLDXA4f2.js +1 -0
  179. package/dist/web/assets/kanagawa-lotus-qAvw6eOU.js +1 -0
  180. package/dist/web/assets/kanagawa-wave-DFO_g5Mb.js +1 -0
  181. package/dist/web/assets/kdl-BQl-X5Uf.js +1 -0
  182. package/dist/web/assets/kotlin-d6oenWPH.js +1 -0
  183. package/dist/web/assets/kusto-Cpu9Tdho.js +1 -0
  184. package/dist/web/assets/laserwave-Bbquw0Nf.js +1 -0
  185. package/dist/web/assets/latex-QgW6KjGR.js +1 -0
  186. package/dist/web/assets/lean-CvyEisyW.js +1 -0
  187. package/dist/web/assets/less-B9RQiV1N.js +1 -0
  188. package/dist/web/assets/light-plus-Ch1Usv7R.js +1 -0
  189. package/dist/web/assets/liquid-cMVZ3T4B.js +1 -0
  190. package/dist/web/assets/llvm-DtrwjsAs.js +1 -0
  191. package/dist/web/assets/log-JKbKuM4J.js +1 -0
  192. package/dist/web/assets/logo-BsxZM_eb.js +1 -0
  193. package/dist/web/assets/lua-BT_CXFE-.js +1 -0
  194. package/dist/web/assets/luau-D9oeBRnv.js +1 -0
  195. package/dist/web/assets/make-DLuqI3Sa.js +1 -0
  196. package/dist/web/assets/markdown-hfQzyr6v.js +1 -0
  197. package/dist/web/assets/marko-BqTjigl2.js +1 -0
  198. package/dist/web/assets/material-theme-darker-yvetTWEr.js +1 -0
  199. package/dist/web/assets/material-theme-kX26WiJU.js +1 -0
  200. package/dist/web/assets/material-theme-lighter-L4j3qddN.js +1 -0
  201. package/dist/web/assets/material-theme-ocean-BnNk1wNQ.js +1 -0
  202. package/dist/web/assets/material-theme-palenight-W0qbGyud.js +1 -0
  203. package/dist/web/assets/matlab-Cz4xBfaA.js +1 -0
  204. package/dist/web/assets/mdc-wzjOwpPF.js +1 -0
  205. package/dist/web/assets/mdx-Crds6sJw.js +1 -0
  206. package/dist/web/assets/mermaid-Bk1sayFm.js +1 -0
  207. package/dist/web/assets/min-dark-DK6uq44k.js +1 -0
  208. package/dist/web/assets/min-light-lr1QiEOE.js +1 -0
  209. package/dist/web/assets/mipsasm-D3Vr1VJI.js +1 -0
  210. package/dist/web/assets/mojo-D3ai4ATt.js +1 -0
  211. package/dist/web/assets/monokai-DZSWSdmN.js +1 -0
  212. package/dist/web/assets/moonbit-c7XV1V8w.js +1 -0
  213. package/dist/web/assets/move--lg8RSZu.js +1 -0
  214. package/dist/web/assets/narrat-Bn_PlXDl.js +1 -0
  215. package/dist/web/assets/nextflow-DXxhyYjQ.js +1 -0
  216. package/dist/web/assets/nextflow-groovy-CUrXbMOF.js +1 -0
  217. package/dist/web/assets/nginx-DVjk8fbM.js +1 -0
  218. package/dist/web/assets/night-owl-DnKT96OJ.js +1 -0
  219. package/dist/web/assets/night-owl-light-gVSh6ltn.js +1 -0
  220. package/dist/web/assets/nim-RSsaDBI7.js +1 -0
  221. package/dist/web/assets/nix-DE1Q2B1F.js +1 -0
  222. package/dist/web/assets/nord-CbYaE7ZY.js +1 -0
  223. package/dist/web/assets/nushell-BBFYNdNE.js +1 -0
  224. package/dist/web/assets/objective-c-mc6rHp-y.js +1 -0
  225. package/dist/web/assets/objective-cpp-D96wcRis.js +1 -0
  226. package/dist/web/assets/ocaml-Ddt3E4VO.js +1 -0
  227. package/dist/web/assets/odin-BUZTfc03.js +1 -0
  228. package/dist/web/assets/one-dark-pro-CLMO01es.js +1 -0
  229. package/dist/web/assets/one-light-27sfjFDM.js +1 -0
  230. package/dist/web/assets/openscad-C-XxCD_t.js +1 -0
  231. package/dist/web/assets/pascal-BvJwb9Ca.js +1 -0
  232. package/dist/web/assets/perl--NvfdBGv.js +1 -0
  233. package/dist/web/assets/php-C7tUxnL4.js +1 -0
  234. package/dist/web/assets/pkl-DtSDxyR8.js +1 -0
  235. package/dist/web/assets/plastic-Dd1-4HJb.js +1 -0
  236. package/dist/web/assets/plsql-CgEVu7mV.js +1 -0
  237. package/dist/web/assets/po-BNFx8QMG.js +1 -0
  238. package/dist/web/assets/poimandres-DdZFFINT.js +1 -0
  239. package/dist/web/assets/polar-DcGwqI2v.js +1 -0
  240. package/dist/web/assets/postcss-BgFCg0uM.js +1 -0
  241. package/dist/web/assets/powerquery-BNMZnWRc.js +1 -0
  242. package/dist/web/assets/powershell-CeNh_gMu.js +1 -0
  243. package/dist/web/assets/prisma-C4wKi9Xs.js +1 -0
  244. package/dist/web/assets/prolog-DcNkIfZZ.js +1 -0
  245. package/dist/web/assets/proto-BqsNb_Ru.js +1 -0
  246. package/dist/web/assets/pug-Bto41TjE.js +1 -0
  247. package/dist/web/assets/puppet-BLvi8DVC.js +1 -0
  248. package/dist/web/assets/purescript-B_tjgp5s.js +1 -0
  249. package/dist/web/assets/python-xLLWlBd0.js +1 -0
  250. package/dist/web/assets/qml-ho4_4Xgb.js +1 -0
  251. package/dist/web/assets/qmldir-CDe6ORFD.js +1 -0
  252. package/dist/web/assets/qss-CvW7b9vz.js +1 -0
  253. package/dist/web/assets/r--Sz1Q0FM.js +1 -0
  254. package/dist/web/assets/racket-CA2oKVL1.js +1 -0
  255. package/dist/web/assets/raku-D9dEetfn.js +1 -0
  256. package/dist/web/assets/razor-WXl8b_YY.js +1 -0
  257. package/dist/web/assets/red-Cj1vpJ_n.js +1 -0
  258. package/dist/web/assets/reg-CHsE82Pk.js +1 -0
  259. package/dist/web/assets/regexp-DUE6rypx.js +1 -0
  260. package/dist/web/assets/rel-SUS6CYTF.js +1 -0
  261. package/dist/web/assets/riscv-xyAKa3qa.js +1 -0
  262. package/dist/web/assets/ron-D5BrJbC5.js +1 -0
  263. package/dist/web/assets/rose-pine-Dd0RAvir.js +1 -0
  264. package/dist/web/assets/rose-pine-dawn-CeS_2jlO.js +1 -0
  265. package/dist/web/assets/rose-pine-moon-CQrvtQEF.js +1 -0
  266. package/dist/web/assets/rosmsg-Bie95NPX.js +1 -0
  267. package/dist/web/assets/rst-DkJSw7_Y.js +1 -0
  268. package/dist/web/assets/ruby-_Sh_aFYD.js +1 -0
  269. package/dist/web/assets/rust-CAON_J-7.js +1 -0
  270. package/dist/web/assets/sas-13IHS7Fv.js +1 -0
  271. package/dist/web/assets/sass-CKkv3rB4.js +1 -0
  272. package/dist/web/assets/scala-BADlfUbE.js +1 -0
  273. package/dist/web/assets/scheme-Bv8vdcS_.js +1 -0
  274. package/dist/web/assets/scss-C2joWo5i.js +1 -0
  275. package/dist/web/assets/sdbl-TUdAkzzL.js +1 -0
  276. package/dist/web/assets/shaderlab-C5utLNvK.js +1 -0
  277. package/dist/web/assets/shellscript-CL9rM-ya.js +1 -0
  278. package/dist/web/assets/shellsession-JHnzUcOM.js +1 -0
  279. package/dist/web/assets/slack-dark-BeQrlvP4.js +1 -0
  280. package/dist/web/assets/slack-ochin-DaA1aBiy.js +1 -0
  281. package/dist/web/assets/smalltalk-C1k1DVft.js +1 -0
  282. package/dist/web/assets/snazzy-light-C9Bzvwcg.js +1 -0
  283. package/dist/web/assets/solarized-dark--ZJpQY8O.js +1 -0
  284. package/dist/web/assets/solarized-light-wzNWfjF2.js +1 -0
  285. package/dist/web/assets/solidity-CaEDdWYR.js +1 -0
  286. package/dist/web/assets/soy-CRs456kY.js +1 -0
  287. package/dist/web/assets/sparql-nVt1Q8sD.js +1 -0
  288. package/dist/web/assets/splunk-mpBjmHRA.js +1 -0
  289. package/dist/web/assets/sql-D3olAuIn.js +1 -0
  290. package/dist/web/assets/ssh-config-DqmSAS3N.js +1 -0
  291. package/dist/web/assets/stata-BpkjrLm4.js +1 -0
  292. package/dist/web/assets/stylus-mNYBrtqL.js +1 -0
  293. package/dist/web/assets/surrealql-IlrfCY8d.js +1 -0
  294. package/dist/web/assets/svelte-DQv8t-mw.js +1 -0
  295. package/dist/web/assets/swift-BXoR6L-y.js +1 -0
  296. package/dist/web/assets/synthwave-84-ybvkLGau.js +1 -0
  297. package/dist/web/assets/system-verilog-BnyrpGlO.js +1 -0
  298. package/dist/web/assets/systemd-BBVr_qxh.js +1 -0
  299. package/dist/web/assets/talonscript-l0qUQn2r.js +1 -0
  300. package/dist/web/assets/tasl-BzcMwPTS.js +1 -0
  301. package/dist/web/assets/tcl-CQgtyMkG.js +1 -0
  302. package/dist/web/assets/templ-Bp2dIvVe.js +1 -0
  303. package/dist/web/assets/terraform-BgPqtSWN.js +1 -0
  304. package/dist/web/assets/tex-B8RHQP-Y.js +1 -0
  305. package/dist/web/assets/tokyo-night-BZt2NwCl.js +1 -0
  306. package/dist/web/assets/toml-CpHBCfVl.js +1 -0
  307. package/dist/web/assets/ts-tags-oyLXflsR.js +1 -0
  308. package/dist/web/assets/tsv-DYxH1-vL.js +1 -0
  309. package/dist/web/assets/tsx-B27NkFmj.js +1 -0
  310. package/dist/web/assets/turtle-DdFFvP5J.js +1 -0
  311. package/dist/web/assets/twig-CDbKrLkG.js +1 -0
  312. package/dist/web/assets/typescript-CLqSrtA6.js +1 -0
  313. package/dist/web/assets/typespec-CHOxKRtr.js +1 -0
  314. package/dist/web/assets/typst-C0VS9TQm.js +1 -0
  315. package/dist/web/assets/v-CfOPGXPl.js +1 -0
  316. package/dist/web/assets/vala-DYqHmNOK.js +1 -0
  317. package/dist/web/assets/vb-DUBgqZ02.js +1 -0
  318. package/dist/web/assets/verilog-BxybH_AY.js +1 -0
  319. package/dist/web/assets/vesper-BDlBlJR-.js +1 -0
  320. package/dist/web/assets/vhdl-DBoxxi7I.js +1 -0
  321. package/dist/web/assets/viml-C8vROCgw.js +1 -0
  322. package/dist/web/assets/vitesse-black-CUBzmgJa.js +1 -0
  323. package/dist/web/assets/vitesse-dark-COrLBgkv.js +1 -0
  324. package/dist/web/assets/vitesse-light-ThZGgLQK.js +1 -0
  325. package/dist/web/assets/vue-CBc0NYxi.js +1 -0
  326. package/dist/web/assets/vue-html-DAC5It2s.js +1 -0
  327. package/dist/web/assets/vue-vine-Ca88ub2E.js +1 -0
  328. package/dist/web/assets/vyper-D08CaD4o.js +1 -0
  329. package/dist/web/assets/{wasm-CG6Dc4jp.js → wasm-CTxiiVQP.js} +1 -1
  330. package/dist/web/assets/wasm-CoVafRYN.js +1 -0
  331. package/dist/web/assets/wenyan-GlRgAbTB.js +1 -0
  332. package/dist/web/assets/wgsl-BmWpQFqb.js +1 -0
  333. package/dist/web/assets/wikitext-Axug2vPC.js +1 -0
  334. package/dist/web/assets/wit-Dk1fPIaK.js +1 -0
  335. package/dist/web/assets/wolfram-DMhXlmnL.js +1 -0
  336. package/dist/web/assets/xml-9fjewzMs.js +1 -0
  337. package/dist/web/assets/xsl-B4mp4iKt.js +1 -0
  338. package/dist/web/assets/yaml-25DfloRA.js +1 -0
  339. package/dist/web/assets/zenscript-x7PXwj2_.js +1 -0
  340. package/dist/web/assets/zig-BlD2NI35.js +1 -0
  341. package/dist/web/index.html +2 -2
  342. package/images/architecture.png +0 -0
  343. package/images/flow.png +0 -0
  344. package/images/protocol.png +0 -0
  345. package/package.json +28 -26
  346. package/dist/web/assets/abap-BdImnpbu.js +0 -1
  347. package/dist/web/assets/actionscript-3-CoDkCxhg.js +0 -1
  348. package/dist/web/assets/ada-bCR0ucgS.js +0 -1
  349. package/dist/web/assets/andromeeda-C4gqWexZ.js +0 -1
  350. package/dist/web/assets/angular-html-DMxchsRu.js +0 -1
  351. package/dist/web/assets/angular-ts-DzOHUlBM.js +0 -1
  352. package/dist/web/assets/apache-Pmp26Uib.js +0 -1
  353. package/dist/web/assets/apex-D8_7TLub.js +0 -1
  354. package/dist/web/assets/apl-dKokRX4l.js +0 -1
  355. package/dist/web/assets/applescript-Co6uUVPk.js +0 -1
  356. package/dist/web/assets/ara-BRHolxvo.js +0 -1
  357. package/dist/web/assets/asciidoc-Ve4PFQV2.js +0 -1
  358. package/dist/web/assets/asm-D_Q5rh1f.js +0 -1
  359. package/dist/web/assets/astro-CbQHKStN.js +0 -1
  360. package/dist/web/assets/aurora-x-D-2ljcwZ.js +0 -1
  361. package/dist/web/assets/awk-DMzUqQB5.js +0 -1
  362. package/dist/web/assets/ayu-dark-DYE7WIF3.js +0 -1
  363. package/dist/web/assets/ayu-light-BA47KaF1.js +0 -1
  364. package/dist/web/assets/ayu-mirage-32ctXXKs.js +0 -1
  365. package/dist/web/assets/ballerina-BFfxhgS-.js +0 -1
  366. package/dist/web/assets/bat-BkioyH1T.js +0 -1
  367. package/dist/web/assets/beancount-k_qm7-4y.js +0 -1
  368. package/dist/web/assets/berry-uYugtg8r.js +0 -1
  369. package/dist/web/assets/bibtex-CHM0blh-.js +0 -1
  370. package/dist/web/assets/bicep-Bmn6On1c.js +0 -1
  371. package/dist/web/assets/bird2-DPOp833l.js +0 -1
  372. package/dist/web/assets/blade-D4QpJJKB.js +0 -1
  373. package/dist/web/assets/bsl-BO_Y6i37.js +0 -1
  374. package/dist/web/assets/c-BIGW1oBm.js +0 -1
  375. package/dist/web/assets/c3-eo99z4R2.js +0 -1
  376. package/dist/web/assets/cadence-Bv_4Rxtq.js +0 -1
  377. package/dist/web/assets/cairo-KRGpt6FW.js +0 -1
  378. package/dist/web/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  379. package/dist/web/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  380. package/dist/web/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  381. package/dist/web/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  382. package/dist/web/assets/clarity-D53aC0YG.js +0 -1
  383. package/dist/web/assets/clojure-P80f7IUj.js +0 -1
  384. package/dist/web/assets/cmake-D1j8_8rp.js +0 -1
  385. package/dist/web/assets/cobol-nwyudZeR.js +0 -1
  386. package/dist/web/assets/codeowners-Bp6g37R7.js +0 -1
  387. package/dist/web/assets/codeql-DsOJ9woJ.js +0 -1
  388. package/dist/web/assets/coffee-Ch7k5sss.js +0 -1
  389. package/dist/web/assets/common-lisp-Cg-RD9OK.js +0 -1
  390. package/dist/web/assets/coq-DkFqJrB1.js +0 -1
  391. package/dist/web/assets/cpp-CofmeUqb.js +0 -1
  392. package/dist/web/assets/crystal-tKQVLTB8.js +0 -1
  393. package/dist/web/assets/csharp-COcwbKMJ.js +0 -1
  394. package/dist/web/assets/css-DPfMkruS.js +0 -1
  395. package/dist/web/assets/csv-fuZLfV_i.js +0 -1
  396. package/dist/web/assets/cue-D82EKSYY.js +0 -1
  397. package/dist/web/assets/cypher-COkxafJQ.js +0 -1
  398. package/dist/web/assets/d-85-TOEBH.js +0 -1
  399. package/dist/web/assets/dark-plus-C3mMm8J8.js +0 -1
  400. package/dist/web/assets/dart-CF10PKvl.js +0 -1
  401. package/dist/web/assets/dax-CEL-wOlO.js +0 -1
  402. package/dist/web/assets/desktop-BmXAJ9_W.js +0 -1
  403. package/dist/web/assets/diff-D97Zzqfu.js +0 -1
  404. package/dist/web/assets/docker-BcOcwvcX.js +0 -1
  405. package/dist/web/assets/dotenv-Da5cRb03.js +0 -1
  406. package/dist/web/assets/dracula-BzJJZx-M.js +0 -1
  407. package/dist/web/assets/dracula-soft-BXkSAIEj.js +0 -1
  408. package/dist/web/assets/dream-maker-BtqSS_iP.js +0 -1
  409. package/dist/web/assets/edge-BkV0erSs.js +0 -1
  410. package/dist/web/assets/elixir-CDX3lj18.js +0 -1
  411. package/dist/web/assets/elm-DbKCFpqz.js +0 -1
  412. package/dist/web/assets/emacs-lisp-C9XAeP06.js +0 -1
  413. package/dist/web/assets/erb-B12qg9BL.js +0 -1
  414. package/dist/web/assets/erlang-DsQrWhSR.js +0 -1
  415. package/dist/web/assets/everforest-dark-BgDCqdQA.js +0 -1
  416. package/dist/web/assets/everforest-light-C8M2exoo.js +0 -1
  417. package/dist/web/assets/fennel-BYunw83y.js +0 -1
  418. package/dist/web/assets/fish-BvzEVeQv.js +0 -1
  419. package/dist/web/assets/fluent-C4IJs8-o.js +0 -1
  420. package/dist/web/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  421. package/dist/web/assets/fortran-free-form-BxgE0vQu.js +0 -1
  422. package/dist/web/assets/fsharp-CXgrBDvD.js +0 -1
  423. package/dist/web/assets/gdresource-BOOCDP_w.js +0 -1
  424. package/dist/web/assets/gdscript-C5YyOfLZ.js +0 -1
  425. package/dist/web/assets/gdshader-DkwncUOv.js +0 -1
  426. package/dist/web/assets/genie-D0YGMca9.js +0 -1
  427. package/dist/web/assets/gherkin-DyxjwDmM.js +0 -1
  428. package/dist/web/assets/git-commit-F4YmCXRG.js +0 -1
  429. package/dist/web/assets/git-rebase-r7XF79zn.js +0 -1
  430. package/dist/web/assets/github-dark-DHJKELXO.js +0 -1
  431. package/dist/web/assets/github-dark-default-Cuk6v7N8.js +0 -1
  432. package/dist/web/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  433. package/dist/web/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  434. package/dist/web/assets/github-light-DAi9KRSo.js +0 -1
  435. package/dist/web/assets/github-light-default-D7oLnXFd.js +0 -1
  436. package/dist/web/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  437. package/dist/web/assets/gleam-BspZqrRM.js +0 -1
  438. package/dist/web/assets/glimmer-js-Rg0-pVw9.js +0 -1
  439. package/dist/web/assets/glimmer-ts-U6CK756n.js +0 -1
  440. package/dist/web/assets/glsl-DplSGwfg.js +0 -1
  441. package/dist/web/assets/gn-n2N0HUVH.js +0 -1
  442. package/dist/web/assets/gnuplot-DdkO51Og.js +0 -1
  443. package/dist/web/assets/go-CxLEBnE3.js +0 -1
  444. package/dist/web/assets/graphql-ChdNCCLP.js +0 -1
  445. package/dist/web/assets/groovy-gcz8RCvz.js +0 -1
  446. package/dist/web/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  447. package/dist/web/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  448. package/dist/web/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  449. package/dist/web/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  450. package/dist/web/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  451. package/dist/web/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  452. package/dist/web/assets/hack-CaT9iCJl.js +0 -1
  453. package/dist/web/assets/handlebars-BL8al0AC.js +0 -1
  454. package/dist/web/assets/haskell-Df6bDoY_.js +0 -1
  455. package/dist/web/assets/haxe-CzTSHFRz.js +0 -1
  456. package/dist/web/assets/hcl-BWvSN4gD.js +0 -1
  457. package/dist/web/assets/hjson-D5-asLiD.js +0 -1
  458. package/dist/web/assets/hlsl-D3lLCCz7.js +0 -1
  459. package/dist/web/assets/horizon-BUw7H-hv.js +0 -1
  460. package/dist/web/assets/horizon-bright-Cn-bp-IR.js +0 -1
  461. package/dist/web/assets/houston-DnULxvSX.js +0 -1
  462. package/dist/web/assets/html-derivative-BFtXZ54Q.js +0 -1
  463. package/dist/web/assets/http-jrhK8wxY.js +0 -1
  464. package/dist/web/assets/hurl-irOxFIW8.js +0 -1
  465. package/dist/web/assets/hxml-Bvhsp5Yf.js +0 -1
  466. package/dist/web/assets/hy-DFXneXwc.js +0 -1
  467. package/dist/web/assets/imba-DGztddWO.js +0 -1
  468. package/dist/web/assets/index-B4-Q-CcM.js +0 -88
  469. package/dist/web/assets/index-DtQV41FL.css +0 -1
  470. package/dist/web/assets/ini-BEwlwnbL.js +0 -1
  471. package/dist/web/assets/java-CylS5w8V.js +0 -1
  472. package/dist/web/assets/javascript-wDzz0qaB.js +0 -1
  473. package/dist/web/assets/jinja-4LBKfQ-Z.js +0 -1
  474. package/dist/web/assets/jison-wvAkD_A8.js +0 -1
  475. package/dist/web/assets/json-Cp-IABpG.js +0 -1
  476. package/dist/web/assets/json5-C9tS-k6U.js +0 -1
  477. package/dist/web/assets/jsonc-Des-eS-w.js +0 -1
  478. package/dist/web/assets/jsonl-DcaNXYhu.js +0 -1
  479. package/dist/web/assets/jsonnet-DFQXde-d.js +0 -1
  480. package/dist/web/assets/jssm-C2t-YnRu.js +0 -1
  481. package/dist/web/assets/jsx-g9-lgVsj.js +0 -1
  482. package/dist/web/assets/julia-CxzCAyBv.js +0 -1
  483. package/dist/web/assets/just-Cw27pwNe.js +0 -1
  484. package/dist/web/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  485. package/dist/web/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  486. package/dist/web/assets/kanagawa-wave-DWedfzmr.js +0 -1
  487. package/dist/web/assets/kdl-DV7GczEv.js +0 -1
  488. package/dist/web/assets/kotlin-BdnUsdx6.js +0 -1
  489. package/dist/web/assets/kusto-DZf3V79B.js +0 -1
  490. package/dist/web/assets/laserwave-DUszq2jm.js +0 -1
  491. package/dist/web/assets/latex-CWtU0Tv5.js +0 -1
  492. package/dist/web/assets/lean-BZvkOJ9d.js +0 -1
  493. package/dist/web/assets/less-B1dDrJ26.js +0 -1
  494. package/dist/web/assets/light-plus-B7mTdjB0.js +0 -1
  495. package/dist/web/assets/liquid-DYVedYrR.js +0 -1
  496. package/dist/web/assets/llvm-DjAJT7YJ.js +0 -1
  497. package/dist/web/assets/log-2UxHyX5q.js +0 -1
  498. package/dist/web/assets/logo-BtOb2qkB.js +0 -1
  499. package/dist/web/assets/lua-BaeVxFsk.js +0 -1
  500. package/dist/web/assets/luau-C-HG3fhB.js +0 -1
  501. package/dist/web/assets/make-CHLpvVh8.js +0 -1
  502. package/dist/web/assets/markdown-Cvjx9yec.js +0 -1
  503. package/dist/web/assets/marko-CnJfTvn9.js +0 -1
  504. package/dist/web/assets/material-theme-D5KoaKCx.js +0 -1
  505. package/dist/web/assets/material-theme-darker-BfHTSMKl.js +0 -1
  506. package/dist/web/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  507. package/dist/web/assets/material-theme-ocean-CyktbL80.js +0 -1
  508. package/dist/web/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  509. package/dist/web/assets/matlab-D7o27uSR.js +0 -1
  510. package/dist/web/assets/mdc-BMNejdWA.js +0 -1
  511. package/dist/web/assets/mdx-Cmh6b_Ma.js +0 -1
  512. package/dist/web/assets/mermaid-mWjccvbQ.js +0 -1
  513. package/dist/web/assets/min-dark-CafNBF8u.js +0 -1
  514. package/dist/web/assets/min-light-CTRr51gU.js +0 -1
  515. package/dist/web/assets/mipsasm-CKIfxQSi.js +0 -1
  516. package/dist/web/assets/mojo-rZm6bMo-.js +0 -1
  517. package/dist/web/assets/monokai-D4h5O-jR.js +0 -1
  518. package/dist/web/assets/moonbit-_H4v1dQx.js +0 -1
  519. package/dist/web/assets/move-IF9eRakj.js +0 -1
  520. package/dist/web/assets/narrat-DRg8JJMk.js +0 -1
  521. package/dist/web/assets/nextflow-Zz6hmt5N.js +0 -1
  522. package/dist/web/assets/nextflow-groovy-BeH2EWoN.js +0 -1
  523. package/dist/web/assets/nginx-BpAMiNFr.js +0 -1
  524. package/dist/web/assets/night-owl-C39BiMTA.js +0 -1
  525. package/dist/web/assets/night-owl-light-CMTm3GFP.js +0 -1
  526. package/dist/web/assets/nim-CVrawwO9.js +0 -1
  527. package/dist/web/assets/nix-CwoSXNpI.js +0 -1
  528. package/dist/web/assets/nord-Ddv68eIx.js +0 -1
  529. package/dist/web/assets/nushell-Cz2AlsmD.js +0 -1
  530. package/dist/web/assets/objective-c-DXmwc3jG.js +0 -1
  531. package/dist/web/assets/objective-cpp-CLxacb5B.js +0 -1
  532. package/dist/web/assets/ocaml-C0hk2d4L.js +0 -1
  533. package/dist/web/assets/odin-BBf5iR-q.js +0 -1
  534. package/dist/web/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  535. package/dist/web/assets/one-light-C3Wv6jpd.js +0 -1
  536. package/dist/web/assets/openscad-C4EeE6gA.js +0 -1
  537. package/dist/web/assets/pascal-D93ZcfNL.js +0 -1
  538. package/dist/web/assets/perl-C0TMdlhV.js +0 -1
  539. package/dist/web/assets/php-Dhbhpdrm.js +0 -1
  540. package/dist/web/assets/pkl-u5AG7uiY.js +0 -1
  541. package/dist/web/assets/plastic-3e1v2bzS.js +0 -1
  542. package/dist/web/assets/plsql-ChMvpjG-.js +0 -1
  543. package/dist/web/assets/po-BTJTHyun.js +0 -1
  544. package/dist/web/assets/poimandres-CS3Unz2-.js +0 -1
  545. package/dist/web/assets/polar-C0HS_06l.js +0 -1
  546. package/dist/web/assets/postcss-CXtECtnM.js +0 -1
  547. package/dist/web/assets/powerquery-CEu0bR-o.js +0 -1
  548. package/dist/web/assets/powershell-Dpen1YoG.js +0 -1
  549. package/dist/web/assets/prisma-Dd19v3D-.js +0 -1
  550. package/dist/web/assets/prolog-CbFg5uaA.js +0 -1
  551. package/dist/web/assets/proto-C7zT0LnQ.js +0 -1
  552. package/dist/web/assets/pug-CGlum2m_.js +0 -1
  553. package/dist/web/assets/puppet-BMWR74SV.js +0 -1
  554. package/dist/web/assets/purescript-CklMAg4u.js +0 -1
  555. package/dist/web/assets/python-B6aJPvgy.js +0 -1
  556. package/dist/web/assets/qml-3beO22l8.js +0 -1
  557. package/dist/web/assets/qmldir-C8lEn-DE.js +0 -1
  558. package/dist/web/assets/qss-IeuSbFQv.js +0 -1
  559. package/dist/web/assets/r-Dspwwk_N.js +0 -1
  560. package/dist/web/assets/racket-BqYA7rlc.js +0 -1
  561. package/dist/web/assets/raku-DXvB9xmW.js +0 -1
  562. package/dist/web/assets/razor-Uh8Bk_45.js +0 -1
  563. package/dist/web/assets/red-bN70gL4F.js +0 -1
  564. package/dist/web/assets/reg-C-SQnVFl.js +0 -1
  565. package/dist/web/assets/regexp-CDVJQ6XC.js +0 -1
  566. package/dist/web/assets/rel-C3B-1QV4.js +0 -1
  567. package/dist/web/assets/riscv-BM1_JUlF.js +0 -1
  568. package/dist/web/assets/ron-D8l8udqQ.js +0 -1
  569. package/dist/web/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  570. package/dist/web/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  571. package/dist/web/assets/rose-pine-qdsjHGoJ.js +0 -1
  572. package/dist/web/assets/rosmsg-BJDFO7_C.js +0 -1
  573. package/dist/web/assets/rst-BrH8l1NY.js +0 -1
  574. package/dist/web/assets/ruby-Dw2BHqvy.js +0 -1
  575. package/dist/web/assets/rust-B1yitclQ.js +0 -1
  576. package/dist/web/assets/sas-cz2c8ADy.js +0 -1
  577. package/dist/web/assets/sass-Cj5Yp3dK.js +0 -1
  578. package/dist/web/assets/scala-C151Ov-r.js +0 -1
  579. package/dist/web/assets/scheme-C98Dy4si.js +0 -1
  580. package/dist/web/assets/scss-OYdSNvt2.js +0 -1
  581. package/dist/web/assets/sdbl-DVxCFoDh.js +0 -1
  582. package/dist/web/assets/shaderlab-Dg9Lc6iA.js +0 -1
  583. package/dist/web/assets/shellscript-Yzrsuije.js +0 -1
  584. package/dist/web/assets/shellsession-BADoaaVG.js +0 -1
  585. package/dist/web/assets/slack-dark-BthQWCQV.js +0 -1
  586. package/dist/web/assets/slack-ochin-DqwNpetd.js +0 -1
  587. package/dist/web/assets/smalltalk-BERRCDM3.js +0 -1
  588. package/dist/web/assets/snazzy-light-Bw305WKR.js +0 -1
  589. package/dist/web/assets/solarized-dark-DXbdFlpD.js +0 -1
  590. package/dist/web/assets/solarized-light-L9t79GZl.js +0 -1
  591. package/dist/web/assets/solidity-rGO070M0.js +0 -1
  592. package/dist/web/assets/soy-Brmx7dQM.js +0 -1
  593. package/dist/web/assets/sparql-rVzFXLq3.js +0 -1
  594. package/dist/web/assets/splunk-BtCnVYZw.js +0 -1
  595. package/dist/web/assets/sql-BLtJtn59.js +0 -1
  596. package/dist/web/assets/ssh-config-_ykCGR6B.js +0 -1
  597. package/dist/web/assets/stata-BH5u7GGu.js +0 -1
  598. package/dist/web/assets/stylus-BEDo0Tqx.js +0 -1
  599. package/dist/web/assets/surrealql-Bq5Q-fJD.js +0 -1
  600. package/dist/web/assets/svelte-C_ipcX3V.js +0 -1
  601. package/dist/web/assets/swift-D82vCrfD.js +0 -1
  602. package/dist/web/assets/synthwave-84-CbfX1IO0.js +0 -1
  603. package/dist/web/assets/system-verilog-CnnmHF94.js +0 -1
  604. package/dist/web/assets/systemd-4A_iFExJ.js +0 -1
  605. package/dist/web/assets/talonscript-CkByrt1z.js +0 -1
  606. package/dist/web/assets/tasl-QIJgUcNo.js +0 -1
  607. package/dist/web/assets/tcl-dwOrl1Do.js +0 -1
  608. package/dist/web/assets/templ-P3uqSqPl.js +0 -1
  609. package/dist/web/assets/terraform-BETggiCN.js +0 -1
  610. package/dist/web/assets/tex-idrVyKtj.js +0 -1
  611. package/dist/web/assets/tokyo-night-hegEt444.js +0 -1
  612. package/dist/web/assets/toml-vGWfd6FD.js +0 -1
  613. package/dist/web/assets/ts-tags-zn1MmPIZ.js +0 -1
  614. package/dist/web/assets/tsv-B_m7g4N7.js +0 -1
  615. package/dist/web/assets/tsx-COt5Ahok.js +0 -1
  616. package/dist/web/assets/turtle-BsS91CYL.js +0 -1
  617. package/dist/web/assets/twig-DNn4PbVi.js +0 -1
  618. package/dist/web/assets/typescript-BPQ3VLAy.js +0 -1
  619. package/dist/web/assets/typespec-BGHnOYBU.js +0 -1
  620. package/dist/web/assets/typst-DHCkPAjA.js +0 -1
  621. package/dist/web/assets/v-BcVCzyr7.js +0 -1
  622. package/dist/web/assets/vala-CsfeWuGM.js +0 -1
  623. package/dist/web/assets/vb-D17OF-Vu.js +0 -1
  624. package/dist/web/assets/verilog-BQ8w6xss.js +0 -1
  625. package/dist/web/assets/vesper-DU1UobuO.js +0 -1
  626. package/dist/web/assets/vhdl-CeAyd5Ju.js +0 -1
  627. package/dist/web/assets/viml-CJc9bBzg.js +0 -1
  628. package/dist/web/assets/vitesse-black-Bkuqu6BP.js +0 -1
  629. package/dist/web/assets/vitesse-dark-D0r3Knsf.js +0 -1
  630. package/dist/web/assets/vitesse-light-CVO1_9PV.js +0 -1
  631. package/dist/web/assets/vue-DN_0RTcg.js +0 -1
  632. package/dist/web/assets/vue-html-AaS7Mt5G.js +0 -1
  633. package/dist/web/assets/vue-vine-CQOfvN7w.js +0 -1
  634. package/dist/web/assets/vyper-CDx5xZoG.js +0 -1
  635. package/dist/web/assets/wasm-MzD3tlZU.js +0 -1
  636. package/dist/web/assets/wenyan-BV7otONQ.js +0 -1
  637. package/dist/web/assets/wgsl-Dx-B1_4e.js +0 -1
  638. package/dist/web/assets/wikitext-BhOHFoWU.js +0 -1
  639. package/dist/web/assets/wit-5i3qLPDT.js +0 -1
  640. package/dist/web/assets/wolfram-lXgVvXCa.js +0 -1
  641. package/dist/web/assets/xml-sdJ4AIDG.js +0 -1
  642. package/dist/web/assets/xsl-CtQFsRM5.js +0 -1
  643. package/dist/web/assets/yaml-Buea-lGh.js +0 -1
  644. package/dist/web/assets/zenscript-DVFEvuxE.js +0 -1
  645. package/dist/web/assets/zig-VOosw3JB.js +0 -1
package/README.md CHANGED
@@ -1,18 +1,17 @@
1
1
  # mochi
2
2
 
3
- **Diagram-first behavioral views of local code.**
3
+ **Visualize code with simple and interactive diagrams**
4
4
 
5
5
  Drop in a path. Mochi opens a browser viewer, lets you pick a file (or
6
6
  directory, or a few coordinating files), and asks Claude to produce a
7
- steppable diagram of how that code *behaves*. Four lenses — flow,
8
- state, architecture, protocol — picked per scope automatically, with
9
- one-click switching between alternatives. Each diagram has 6–15 curated
10
- steps with causal "WHY" narration and code-anchored highlights.
7
+ steppable diagram of how that code *behaves*. Three lenses — flow,
8
+ architecture, protocol — picked per scope automatically, with one-click
9
+ switching between alternatives. Each diagram has 6–15 curated steps with
10
+ causal "WHY" narration and code-anchored highlights.
11
11
 
12
12
  ## Install
13
13
 
14
- Once published to npm, the typical entry is npx — installs on first run,
15
- points at the current directory by default:
14
+ Start using in any local codebase
16
15
 
17
16
  ```bash
18
17
  cd ~/some-codebase
@@ -25,7 +24,7 @@ npx @mquan/mochi -p 6000 # pick a port
25
24
  > under a scope (e.g. `@mquan/mochi`) and adjust `package.json#name` to
26
25
  > match before `npm publish --access public`.
27
26
 
28
- For a local clone (until then):
27
+ For a local clone (or when hacking on mochi itself):
29
28
 
30
29
  ```bash
31
30
  git clone git@github.com:mquan/mochi.git
@@ -33,10 +32,14 @@ cd mochi
33
32
  nvm use # picks Node 24.15.0 from .nvmrc
34
33
  npm install
35
34
  npm run build
36
- ./dist/bin/mochi.js # current directory
37
- ./dist/bin/mochi.js src/ # or any path
35
+ npm start # boot pointing at the cwd
36
+ npm start -- src/ # or any path (note the `--` arg separator)
38
37
  ```
39
38
 
39
+ > **Inside the repo, use `npm start` — not `npx @mquan/mochi`.** npx
40
+ > short-circuits when it sees the local `package.json#name` matches and
41
+ > then fails with `sh: mochi: command not found`. See Troubleshooting.
42
+
40
43
  ## Setup
41
44
 
42
45
  Mochi reuses your Claude Code session via the `claude` CLI as a subprocess
@@ -55,7 +58,8 @@ message if the CLI is missing or unauthenticated.
55
58
  ## First diagram
56
59
 
57
60
  ```bash
58
- npx @mquan/mochi # or ./dist/bin/mochi.js from a local clone
61
+ npx @mquan/mochi # from any codebase you want to read
62
+ npm start # from inside a local clone of the mochi repo
59
63
  ```
60
64
 
61
65
  The browser opens (server binds to `127.0.0.1` on the first free port at
@@ -71,7 +75,7 @@ asking Claude → validating), and renders the spec. You can:
71
75
 
72
76
  - **Click a block** in the diagram → switches back to the Code tab and
73
77
  scrolls to the anchored lines.
74
- - **Click a Protocol / State / Architecture pill** in the lens switcher →
78
+ - **Click a Protocol / Architecture / Flow pill** in the lens switcher →
75
79
  re-asks Claude using that lens for the same scope.
76
80
  - **Click ▶ Play** below the diagram → walks through the steps with
77
81
  narration.
@@ -84,15 +88,21 @@ Each Generate opens a *new* Diagram tab — old diagrams aren't overwritten.
84
88
 
85
89
  - **Flow** — step-by-step execution path through a single function or file.
86
90
  Branches, loops, early returns.
87
- - **State** — states and transitions of a stateful entity. Sessions,
88
- workflows, finite-state machines.
91
+
92
+ ![Flow lens example](images/flow.png)
93
+
89
94
  - **Architecture** — deployable units (services, modules, components) and
90
95
  how they communicate. Pick a directory or a handful of files.
96
+
97
+ ![Architecture lens example](images/architecture.png)
98
+
91
99
  - **Protocol** — message exchanges between participants over time.
92
100
  Swim-lane sequence view. Pick two or more coordinating files.
93
101
 
102
+ ![Protocol lens example](images/protocol.png)
103
+
94
104
  Mochi includes `alternative_lenses` in every spec, so you can pivot from
95
- "this is a flow" to "show me it as a state machine" in one click.
105
+ "this is a flow" to "show me as architecture" in one click.
96
106
 
97
107
  ## Troubleshooting
98
108
 
@@ -106,6 +116,11 @@ Mochi includes `alternative_lenses` in every spec, so you can pivot from
106
116
  - **Stale cache** — caching is keyed by the SHA-256 of the resolved scope
107
117
  + prompt version. Edit the file (or bump `PROMPT_VERSION` in
108
118
  `server/diagram/prompt-version.ts`) to invalidate.
119
+ - **`sh: mochi: command not found` when running `npx @mquan/mochi` from
120
+ inside the mochi repo** — npx sees the local `package.json#name` matches,
121
+ skips its registry fetch, and tries to exec `mochi` from `$PATH` (where
122
+ it isn't). Use `npm start` instead when you're inside the repo; `npx`
123
+ is for *other* codebases. (See the Development section.)
109
124
 
110
125
  ## Development
111
126
 
@@ -118,10 +133,15 @@ npm install
118
133
  or generated assets (tokens, prompt template):
119
134
 
120
135
  ```bash
121
- npm run build # tsc + vite + gen-prompt + gen-tokens-css
122
- node ./dist/bin/mochi.js . # boot the server pointing at the cwd
136
+ npm run build # tsc + vite + gen-prompt + gen-tokens-css
137
+ npm start # boot the server pointing at the cwd (= node ./dist/bin/mochi.js .)
123
138
  ```
124
139
 
140
+ > `npm start` is the canonical in-repo runner. `npx @mquan/mochi` does *not*
141
+ > work from inside this repo — npx sees the local `package.json#name` and
142
+ > short-circuits the registry install, then fails to find a `mochi` on PATH.
143
+ > That's an npx quirk for "you're inside the package you're trying to run."
144
+
125
145
  Open the URL the server logs (defaults to `http://127.0.0.1:5173`).
126
146
  Ctrl-C to stop.
127
147
 
@@ -1 +1 @@
1
- {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../node_modules/commander/typings/index.d.ts","../../node_modules/commander/typings/esm.d.mts","../../node_modules/open/index.d.ts","../server/input/path-selector.d.ts","../server/server.d.ts","../../bin/mochi.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[65,66,67,68,75,123,124,135,140,141,145],[75,123,140,141],[75,123,137,140,141],[75,120,121,123,140,141],[75,122,123,140,141],[123,140,141],[75,123,128,140,141,158],[75,123,124,129,134,140,141,143,155,166],[75,123,124,125,134,140,141,143],[70,71,72,75,123,140,141],[75,123,126,140,141,167],[75,123,127,128,135,140,141,144],[75,123,128,140,141,155,163],[75,123,129,131,134,140,141,143],[75,122,123,130,140,141],[75,123,131,132,140,141],[75,123,133,134,140,141],[75,122,123,134,140,141],[75,123,134,135,136,140,141,155,166],[75,123,134,135,136,140,141,150,155,158],[75,116,123,131,134,137,140,141,143,155,166],[75,123,134,135,137,138,140,141,143,155,163,166],[75,123,137,139,140,141,155,163,166],[73,74,75,76,77,78,79,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[75,123,134,140,141],[75,123,140,141,142,166],[75,123,131,134,140,141,143,155],[75,123,140,141,144],[75,123,140,141,145],[75,122,123,140,141,146],[75,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[75,123,140,141,148],[75,123,140,141,149],[75,123,134,140,141,150,151],[75,123,140,141,150,152,167,169],[75,123,135,140,141],[75,123,134,140,141,155,156,158],[75,123,140,141,157,158],[75,123,140,141,155,156],[75,123,140,141,158],[75,123,140,141,159],[75,120,123,140,141,155,160,166],[75,123,134,140,141,161,162],[75,123,140,141,161,162],[75,123,128,140,141,143,155,163],[75,123,140,141,164],[75,123,140,141,143,165],[75,123,137,140,141,149,166],[75,123,128,140,141,167],[75,123,140,141,155,168],[75,123,140,141,142,169],[75,123,140,141,170],[75,116,123,140,141],[75,116,123,134,136,140,141,146,155,158,166,168,169,171],[75,123,140,141,155,172],[64,75,123,140,141],[75,123,124,140,141],[75,88,92,123,140,141,166],[75,88,123,140,141,155,166],[75,83,123,140,141],[75,85,88,123,140,141,163,166],[75,123,140,141,143,163],[75,123,140,141,173],[75,83,123,140,141,173],[75,85,88,123,140,141,143,166],[75,80,81,84,87,123,134,140,141,155,166],[75,88,95,123,140,141],[75,80,86,123,140,141],[75,88,109,110,123,140,141],[75,84,88,123,140,141,158,166,173],[75,109,123,140,141,173],[75,82,83,123,140,141,173],[75,88,123,140,141],[75,82,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,123,140,141],[75,88,103,123,140,141],[75,88,95,96,123,140,141],[75,86,88,96,97,123,140,141],[75,87,123,140,141],[75,80,83,88,123,140,141],[75,88,92,96,97,123,140,141],[75,92,123,140,141],[75,86,88,91,123,140,141,166],[75,80,85,88,95,123,140,141],[75,123,140,141,155],[75,83,88,109,123,140,141,171,173]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"3cbad9a1ba4453443026ed38e4b8be018abb26565fa7c944376463ad9df07c41","impliedFormat":1},{"version":"a722a71d8f3cb0028857b12579c7eca55acc76bf34e5db7eaf6fe817b985f9c3","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"0132e7a32bd600a3b6e0a5e59171a3706df2d1375ffbf6b2239f326a9b0dbaaf","impliedFormat":99},{"version":"5f15165276cfe0ea15049ae7e8a10c5254046a44702cc416af6f1e7539a189a2","impliedFormat":99},{"version":"7f4e75978366a10863a12ac36d74c75571898f59231cc06ab836d43d8e00afe7","impliedFormat":99},{"version":"116fbf110cfc6e665a2c54bc134686103e6cbd74af0753a3bf35c95d30fbefee","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"73b5fa37db36eeac90c4d752e39586f1b57187400c4f5280fd05f16437287a45","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[69],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./","rootDir":"../../bin","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[69,1],[67,2],[68,3],[120,4],[121,4],[122,5],[75,6],[123,7],[124,8],[125,9],[70,2],[73,10],[71,2],[72,2],[126,11],[127,12],[128,13],[129,14],[130,15],[131,16],[132,16],[133,17],[134,18],[135,19],[136,20],[76,2],[74,2],[137,21],[138,22],[139,23],[173,24],[140,25],[141,2],[142,26],[143,27],[144,28],[145,29],[146,30],[147,31],[148,32],[149,33],[150,34],[151,34],[152,35],[153,2],[154,36],[155,37],[157,38],[156,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[169,51],[170,52],[77,2],[78,2],[79,2],[117,53],[118,2],[119,2],[171,54],[172,55],[65,56],[64,2],[66,57],[61,2],[62,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[63,2],[57,2],[58,2],[60,2],[59,2],[1,2],[14,2],[13,2],[95,58],[105,59],[94,58],[115,60],[86,61],[85,62],[114,63],[108,64],[113,65],[88,66],[102,67],[87,68],[111,69],[83,70],[82,63],[112,71],[84,72],[89,73],[90,2],[93,73],[80,2],[116,74],[106,75],[97,76],[98,77],[100,78],[96,79],[99,80],[109,63],[91,81],[92,82],[101,83],[81,84],[104,75],[103,73],[107,2],[110,85]],"latestChangedDtsFile":"./mochi.d.ts","version":"5.9.3"}
1
+ {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/typescript/lib/lib.es2022.full.d.ts","../../node_modules/commander/typings/index.d.ts","../../node_modules/commander/typings/esm.d.mts","../../node_modules/open/index.d.ts","../server/input/path-selector.d.ts","../server/server.d.ts","../../bin/mochi.ts","../../node_modules/@types/node/compatibility/disposable.d.ts","../../node_modules/@types/node/compatibility/indexable.d.ts","../../node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/@types/node/compatibility/index.d.ts","../../node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/@types/node/web-globals/events.d.ts","../../node_modules/undici-types/header.d.ts","../../node_modules/undici-types/readable.d.ts","../../node_modules/undici-types/file.d.ts","../../node_modules/undici-types/fetch.d.ts","../../node_modules/undici-types/formdata.d.ts","../../node_modules/undici-types/connector.d.ts","../../node_modules/undici-types/client.d.ts","../../node_modules/undici-types/errors.d.ts","../../node_modules/undici-types/dispatcher.d.ts","../../node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/undici-types/global-origin.d.ts","../../node_modules/undici-types/pool-stats.d.ts","../../node_modules/undici-types/pool.d.ts","../../node_modules/undici-types/handlers.d.ts","../../node_modules/undici-types/balanced-pool.d.ts","../../node_modules/undici-types/agent.d.ts","../../node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/undici-types/mock-agent.d.ts","../../node_modules/undici-types/mock-client.d.ts","../../node_modules/undici-types/mock-pool.d.ts","../../node_modules/undici-types/mock-errors.d.ts","../../node_modules/undici-types/proxy-agent.d.ts","../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/undici-types/retry-handler.d.ts","../../node_modules/undici-types/retry-agent.d.ts","../../node_modules/undici-types/api.d.ts","../../node_modules/undici-types/interceptors.d.ts","../../node_modules/undici-types/util.d.ts","../../node_modules/undici-types/cookies.d.ts","../../node_modules/undici-types/patch.d.ts","../../node_modules/undici-types/websocket.d.ts","../../node_modules/undici-types/eventsource.d.ts","../../node_modules/undici-types/filereader.d.ts","../../node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/undici-types/content-type.d.ts","../../node_modules/undici-types/cache.d.ts","../../node_modules/undici-types/index.d.ts","../../node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/inspector.generated.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/sea.d.ts","../../node_modules/@types/node/sqlite.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[65,66,67,68,75,123,124,135,140,141,145],[75,123,140,141],[75,123,137,140,141],[75,120,121,123,140,141],[75,122,123,140,141],[123,140,141],[75,123,128,140,141,158],[75,123,124,129,134,140,141,143,155,166],[75,123,124,125,134,140,141,143],[70,71,72,75,123,140,141],[75,123,126,140,141,167],[75,123,127,128,135,140,141,144],[75,123,128,140,141,155,163],[75,123,129,131,134,140,141,143],[75,122,123,130,140,141],[75,123,131,132,140,141],[75,123,133,134,140,141],[75,122,123,134,140,141],[75,123,134,135,136,140,141,155,166],[75,123,134,135,136,140,141,150,155,158],[75,116,123,131,134,137,140,141,143,155,166],[75,123,134,135,137,138,140,141,143,155,163,166],[75,123,137,139,140,141,155,163,166],[73,74,75,76,77,78,79,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[75,123,134,140,141],[75,123,140,141,142,166],[75,123,131,134,140,141,143,155],[75,123,140,141,144],[75,123,140,141,145],[75,122,123,140,141,146],[75,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[75,123,140,141,148],[75,123,140,141,149],[75,123,134,140,141,150,151],[75,123,140,141,150,152,167,169],[75,123,135,140,141],[75,123,134,140,141,155,156,158],[75,123,140,141,157,158],[75,123,140,141,155,156],[75,123,140,141,158],[75,123,140,141,159],[75,120,123,140,141,155,160,166],[75,123,134,140,141,161,162],[75,123,140,141,161,162],[75,123,128,140,141,143,155,163],[75,123,140,141,164],[75,123,140,141,143,165],[75,123,137,140,141,149,166],[75,123,128,140,141,167],[75,123,140,141,155,168],[75,123,140,141,142,169],[75,123,140,141,170],[75,116,123,140,141],[75,116,123,134,136,140,141,146,155,158,166,168,169,171],[75,123,140,141,155,172],[64,75,123,140,141],[75,123,124,140,141],[75,88,92,123,140,141,166],[75,88,123,140,141,155,166],[75,83,123,140,141],[75,85,88,123,140,141,163,166],[75,123,140,141,143,163],[75,123,140,141,173],[75,83,123,140,141,173],[75,85,88,123,140,141,143,166],[75,80,81,84,87,123,134,140,141,155,166],[75,88,95,123,140,141],[75,80,86,123,140,141],[75,88,109,110,123,140,141],[75,84,88,123,140,141,158,166,173],[75,109,123,140,141,173],[75,82,83,123,140,141,173],[75,88,123,140,141],[75,82,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,123,140,141],[75,88,103,123,140,141],[75,88,95,96,123,140,141],[75,86,88,96,97,123,140,141],[75,87,123,140,141],[75,80,83,88,123,140,141],[75,88,92,96,97,123,140,141],[75,92,123,140,141],[75,86,88,91,123,140,141,166],[75,80,85,88,95,123,140,141],[75,123,140,141,155],[75,83,88,109,123,140,141,171,173]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"01a30f9e8582b369075c0808df71121e6855cb06fd8d3d39511d9ebb66405205","impliedFormat":1},{"version":"0237580177f1a858ab125992af8a6dfc29268fe7d4bac5308b9f462f88b0cd31","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"e370dfb4db5a3da284d067bf54c03fb826c246e96780fe04385134594963cd97","impliedFormat":99},{"version":"5f15165276cfe0ea15049ae7e8a10c5254046a44702cc416af6f1e7539a189a2","impliedFormat":99},{"version":"7f4e75978366a10863a12ac36d74c75571898f59231cc06ab836d43d8e00afe7","impliedFormat":99},{"version":"116fbf110cfc6e665a2c54bc134686103e6cbd74af0753a3bf35c95d30fbefee","signature":"43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"73b5fa37db36eeac90c4d752e39586f1b57187400c4f5280fd05f16437287a45","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1}],"root":[69],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"outDir":"./","rootDir":"../../bin","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9},"referencedMap":[[69,1],[67,2],[68,3],[120,4],[121,4],[122,5],[75,6],[123,7],[124,8],[125,9],[70,2],[73,10],[71,2],[72,2],[126,11],[127,12],[128,13],[129,14],[130,15],[131,16],[132,16],[133,17],[134,18],[135,19],[136,20],[76,2],[74,2],[137,21],[138,22],[139,23],[173,24],[140,25],[141,2],[142,26],[143,27],[144,28],[145,29],[146,30],[147,31],[148,32],[149,33],[150,34],[151,34],[152,35],[153,2],[154,36],[155,37],[157,38],[156,39],[158,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[166,48],[167,49],[168,50],[169,51],[170,52],[77,2],[78,2],[79,2],[117,53],[118,2],[119,2],[171,54],[172,55],[65,56],[64,2],[66,57],[61,2],[62,2],[12,2],[10,2],[11,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[63,2],[57,2],[58,2],[60,2],[59,2],[1,2],[14,2],[13,2],[95,58],[105,59],[94,58],[115,60],[86,61],[85,62],[114,63],[108,64],[113,65],[88,66],[102,67],[87,68],[111,69],[83,70],[82,63],[112,71],[84,72],[89,73],[90,2],[93,73],[80,2],[116,74],[106,75],[97,76],[98,77],[100,78],[96,79],[99,80],[109,63],[91,81],[92,82],[101,83],[81,84],[104,75],[103,73],[107,2],[110,85]],"latestChangedDtsFile":"./mochi.d.ts","version":"6.0.3"}
@@ -1,4 +1,4 @@
1
- import { Router, type RequestHandler } from "express";
1
+ import { Router, type NextFunction, type Request, type RequestHandler, type Response } from "express";
2
2
  export declare const EXT_TO_LANG: Record<string, string>;
3
3
  export declare function languageFor(ext: string): string;
4
4
  export declare function resolveContainedPath(realRoot: string, rel: string): Promise<string | null>;
@@ -10,5 +10,6 @@ export interface ApiRouterOptions {
10
10
  export interface ApiRouterHandle {
11
11
  router: Router;
12
12
  }
13
+ export declare function loopbackGuard(req: Request, res: Response, next: NextFunction): void;
13
14
  export declare function createApiRouter(opts: ApiRouterOptions): ApiRouterHandle;
14
15
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../server/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,KAAK,cAAc,EAEpB,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqB9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAMD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAiBD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CA8EvE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../server/api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqB9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAMD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAaxB;AAiBD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAwCD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAuBN;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAoFvE"}
@@ -56,9 +56,71 @@ function asyncHandler(fn) {
56
56
  });
57
57
  };
58
58
  }
59
+ // Loopback guard — applied to every /api route. Defense against two
60
+ // related cross-origin attacks:
61
+ //
62
+ // 1. DNS rebinding. An attacker page on evil.com lowers the TTL, then
63
+ // rebinds evil.com to 127.0.0.1. The browser keeps treating evil.com
64
+ // as the origin (SOP-permitted to read responses) but sends requests
65
+ // to mochi. We catch this by requiring the *Host* header to be
66
+ // loopback — the rebinding browser will send `Host: evil.com`.
67
+ //
68
+ // 2. CSRF-style cross-origin POSTs. Even without rebinding, a malicious
69
+ // page can issue cross-origin requests that don't get a useful
70
+ // response but still trigger LLM calls (cost, rate-limit). We catch
71
+ // this by requiring *Origin* (when present) to match our loopback.
72
+ //
73
+ // Missing Origin is allowed (curl, server-to-server) only when Host is
74
+ // already loopback — DNS rebinding requires a Host that isn't ours, so
75
+ // the Host check alone is sufficient for that class of attack.
76
+ function isLoopbackHost(hostHeader) {
77
+ if (!hostHeader)
78
+ return false;
79
+ const hostname = hostHeader.includes(":")
80
+ ? hostHeader.split(":")[0]
81
+ : hostHeader;
82
+ return hostname === "127.0.0.1" || hostname === "localhost";
83
+ }
84
+ function isOriginAllowedFor(origin, hostHeader) {
85
+ if (origin === undefined || origin === "null")
86
+ return true;
87
+ if (typeof origin !== "string")
88
+ return false;
89
+ const port = hostHeader.includes(":") ? hostHeader.split(":").pop() : "";
90
+ const candidates = port
91
+ ? [`http://127.0.0.1:${port}`, `http://localhost:${port}`]
92
+ : ["http://127.0.0.1", "http://localhost"];
93
+ return candidates.includes(origin);
94
+ }
95
+ export function loopbackGuard(req, res, next) {
96
+ const hostHeader = req.get("host");
97
+ if (!isLoopbackHost(hostHeader)) {
98
+ console.warn(`mochi: ${req.method} ${req.path} forbidden_origin host=${String(hostHeader)} (host is not loopback — possible DNS rebinding)`);
99
+ res.status(403).json({
100
+ error: "forbidden_origin",
101
+ message: "request rejected — host is not loopback",
102
+ });
103
+ return;
104
+ }
105
+ if (!isOriginAllowedFor(req.headers.origin, hostHeader)) {
106
+ console.warn(`mochi: ${req.method} ${req.path} forbidden_origin origin=${String(req.headers.origin)} host=${hostHeader}`);
107
+ res.status(403).json({
108
+ error: "forbidden_origin",
109
+ message: "request rejected — origin does not match loopback",
110
+ });
111
+ return;
112
+ }
113
+ next();
114
+ }
59
115
  export function createApiRouter(opts) {
60
116
  const { root, files, diagramHandler } = opts;
61
117
  const router = Router();
118
+ // Loopback guard FIRST — every /api route must pass this. Applies to
119
+ // both /api/files (no auth, reads project files) and /api/diagram (LLM
120
+ // calls + LLM-derived output). Without this, /api/files was reachable
121
+ // via DNS rebinding from any cross-origin page, exposing .env / .git
122
+ // config / private keys to the attacker.
123
+ router.use(loopbackGuard);
62
124
  let cachedRealRoot = null;
63
125
  async function getRealRoot() {
64
126
  if (cachedRealRoot === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../server/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../server/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../server/diagram/endpoint.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAW,cAAc,EAAY,MAAM,SAAS,CAAC;AAEjE,OAAO,EAOL,eAAe,IAAI,eAAe,EACnC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAKL,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa/C,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAwD3D;AA4KD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAElC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,YAAY,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAgB7E"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../../server/diagram/endpoint.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAW,cAAc,EAAY,MAAM,SAAS,CAAC;AAEjE,OAAO,EAOL,eAAe,IAAI,eAAe,EACnC,MAAM,eAAe,CAAC;AAEvB,OAAO,EAKL,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAa/C,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,gBAAgB,GAChB,aAAa,GACb,SAAS,GACT,YAAY,GACZ,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,kBAAkB,GAClB,UAAU,CAAC;AAEf,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAwD3D;AAmJD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IAEpB,QAAQ,CAAC,EAAE,OAAO,eAAe,CAAC;IAElC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,YAAY,CAAC;CAC/B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAgB7E"}
@@ -198,30 +198,6 @@ function describeScopeShort(scope) {
198
198
  return `Reading directory ${scope.path}/`;
199
199
  return `Reading ${scope.paths.length} selected file${scope.paths.length === 1 ? "" : "s"}`;
200
200
  }
201
- // ---------------------------------------------------------------------------
202
- // Origin guard (D1)
203
- // ---------------------------------------------------------------------------
204
- // Returns true when the request's Origin header is acceptable. We accept:
205
- // - no Origin header (curl, server-to-server)
206
- // - Origin matching http://127.0.0.1:<port> or http://localhost:<port>
207
- // for the port the request is hitting
208
- function isOriginAllowed(req) {
209
- const origin = req.headers.origin;
210
- if (origin === undefined || origin === "null")
211
- return true;
212
- if (typeof origin !== "string")
213
- return false;
214
- const host = req.get("host"); // includes port; e.g. "127.0.0.1:54321"
215
- if (!host)
216
- return false;
217
- // Build the two acceptable origins for this listener's port. We do not
218
- // accept https — mochi binds plain HTTP on localhost.
219
- const port = host.includes(":") ? host.split(":").pop() : "";
220
- const candidates = port
221
- ? [`http://127.0.0.1:${port}`, `http://localhost:${port}`]
222
- : ["http://127.0.0.1", "http://localhost"];
223
- return candidates.includes(origin);
224
- }
225
201
  export function createDiagramHandler(deps) {
226
202
  const generate = deps.generate ?? defaultGenerate;
227
203
  const resolve = deps.resolve ?? resolveScope;
@@ -241,17 +217,10 @@ export function createDiagramHandler(deps) {
241
217
  async function handleDiagram(req, res, deps) {
242
218
  const startedAt = Date.now();
243
219
  const elapsed = () => Date.now() - startedAt;
244
- // --- Origin guard (before any side effects, before we open the SSE stream)
245
- if (!isOriginAllowed(req)) {
246
- flushSseHeaders(res);
247
- writeSse(res, "error", {
248
- type: "forbidden_origin",
249
- message: "request origin is not allowed (mochi only accepts same-origin requests)",
250
- });
251
- res.end();
252
- console.warn(`mochi: /api/diagram forbidden_origin origin=${String(req.headers.origin)}`);
253
- return;
254
- }
220
+ // Origin/Host guard moved to api.ts loopbackGuard middleware so /api/files
221
+ // is also covered. By the time we get here the request has cleared the
222
+ // Host=loopback + Origin=loopback checks. Forbidden requests return JSON
223
+ // 403 instead of an SSE forbidden_origin event — they never open a stream.
255
224
  // --- Parse request (before opening the SSE stream so a 400 can still go via
256
225
  // SSE for client uniformity, but parse failures are fast and we can also
257
226
  // tolerate emitting them through the stream).
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../server/diagram/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../server/diagram/endpoint.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ export declare const DIAGRAM_JSON_SCHEMA: {
70
70
  };
71
71
  kind: {
72
72
  type: string;
73
- enum: ("entry" | "call" | "branch" | "loop" | "await" | "throw" | "catch" | "return" | "initial" | "intermediate" | "terminal" | "composite" | "client" | "gateway" | "service" | "module" | "datastore" | "queue" | "external" | "actor" | "group")[];
73
+ enum: ("entry" | "call" | "branch" | "loop" | "await" | "throw" | "catch" | "return" | "client" | "gateway" | "service" | "module" | "datastore" | "queue" | "external" | "actor" | "group")[];
74
74
  };
75
75
  code_anchor: {
76
76
  type: string;
@@ -115,7 +115,7 @@ export declare const DIAGRAM_JSON_SCHEMA: {
115
115
  };
116
116
  kind: {
117
117
  type: string;
118
- enum: ("return" | "next" | "branch_true" | "branch_false" | "loop_back" | "fallthrough" | "transition" | "self_transition" | "call_sync" | "call_async" | "event" | "data_flow" | "depends_on" | "request" | "response" | "async_message" | "create" | "destroy")[];
118
+ enum: ("return" | "next" | "branch_true" | "branch_false" | "loop_back" | "fallthrough" | "call_sync" | "call_async" | "event" | "data_flow" | "depends_on" | "request" | "response" | "async_message" | "create" | "destroy")[];
119
119
  };
120
120
  };
121
121
  required: string[];