@bytespell/shella 0.1.5 → 0.1.7

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 (970) hide show
  1. package/dist/bin/cli.js +921 -0
  2. package/dist/bin/cli.js.map +1 -0
  3. package/dist/index.js +849 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/public/assets/_baseUniq-D9TYleYv.js +1 -0
  6. package/dist/public/assets/apex-D8_7TLub.js +1 -0
  7. package/dist/public/assets/arc-Bqkc3LZm.js +1 -0
  8. package/dist/public/assets/architectureDiagram-VXUJARFQ-C7pQ9eBc.js +36 -0
  9. package/dist/public/assets/ayu-dark-CmMr59Fi.js +1 -0
  10. package/dist/public/assets/blade-D4QpJJKB.js +1 -0
  11. package/dist/public/assets/blockDiagram-VD42YOAC-C47kjU51.js +122 -0
  12. package/dist/public/assets/c3-VCDPK7BO.js +1 -0
  13. package/dist/public/assets/c4Diagram-YG6GDRKO-hYDGImzM.js +10 -0
  14. package/dist/public/assets/channel-CZbjQww4.js +1 -0
  15. package/dist/public/assets/chunk-4BX2VUAB-d6tzfYU_.js +1 -0
  16. package/dist/public/assets/chunk-55IACEB6-hAlvgHob.js +1 -0
  17. package/dist/public/assets/chunk-B4BG7PRW-DcHYkNpL.js +165 -0
  18. package/dist/public/assets/chunk-DI55MBZ5-DmYTN3pZ.js +220 -0
  19. package/dist/public/assets/chunk-FMBD7UC4-D7fqP24E.js +15 -0
  20. package/dist/public/assets/chunk-QN33PNHL-DHEaHAkH.js +1 -0
  21. package/dist/public/assets/chunk-QZHKN3VN-CUEecr31.js +1 -0
  22. package/dist/public/assets/chunk-TZMSLE5B-CQC5olzQ.js +1 -0
  23. package/dist/public/assets/classDiagram-2ON5EDUG-DdwUVrxi.js +1 -0
  24. package/dist/public/assets/classDiagram-v2-WZHVMYZB-DdwUVrxi.js +1 -0
  25. package/dist/public/assets/clone-OD5JE1Cw.js +1 -0
  26. package/dist/public/assets/code-block-IT6T5CEO-BNFAFcIE.js +2 -0
  27. package/dist/public/assets/cose-bilkent-S5V4N54A-XGPrPsXQ.js +1 -0
  28. package/dist/public/assets/dagre-6UL2VRFP-BcyWIYPE.js +4 -0
  29. package/dist/public/assets/diagram-PSM6KHXK-CBJyRzHu.js +24 -0
  30. package/dist/public/assets/diagram-QEK2KX5R-BBxj1vYL.js +43 -0
  31. package/dist/public/assets/diagram-S2PKOQOG-BTSvV1S3.js +24 -0
  32. package/dist/public/assets/erDiagram-Q2GNP2WA-Cmcj_23w.js +60 -0
  33. package/dist/public/assets/flowDiagram-NV44I4VS-CshqyJY8.js +162 -0
  34. package/dist/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  35. package/dist/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
  36. package/dist/public/assets/ganttDiagram-JELNMOA3-o7FTrO1I.js +267 -0
  37. package/dist/public/assets/gitGraphDiagram-NY62KEGX-DMYNojPU.js +65 -0
  38. package/dist/public/assets/gn-n2N0HUVH.js +1 -0
  39. package/dist/public/assets/graph-C1exCUhk.js +1 -0
  40. package/dist/public/assets/index-Bk8vmlSI.css +1 -0
  41. package/dist/public/assets/index-DpDVi1Yh.js +1701 -0
  42. package/dist/public/assets/infoDiagram-WHAUD3N6-BtpyTGJr.js +2 -0
  43. package/dist/public/assets/journeyDiagram-XKPGCS4Q-Ca9OoHtc.js +139 -0
  44. package/dist/public/assets/julia-CxzCAyBv.js +1 -0
  45. package/dist/public/assets/kanban-definition-3W4ZIXB7-CsE7CD0y.js +89 -0
  46. package/dist/public/assets/kusto-DZf3V79B.js +1 -0
  47. package/dist/public/assets/latex-B4uzh10-.js +1 -0
  48. package/dist/public/assets/layout-BPf4wWku.js +1 -0
  49. package/dist/public/assets/lean-BZvkOJ9d.js +1 -0
  50. package/dist/public/assets/linear-Hmh70sq7.js +1 -0
  51. package/dist/public/assets/luau-C-HG3fhB.js +1 -0
  52. package/dist/public/assets/marko-DZsq8hO1.js +1 -0
  53. package/dist/public/assets/mermaid-mWjccvbQ.js +1 -0
  54. package/dist/public/assets/mermaid.core-E3JM4XVX.js +191 -0
  55. package/dist/public/assets/min-6ojrcLrh.js +1 -0
  56. package/dist/public/assets/mindmap-definition-VGOIOE7T-BjpBHYC_.js +68 -0
  57. package/dist/public/assets/mojo-B93PlW-d.js +1 -0
  58. package/dist/public/assets/moonbit-Ba13S78F.js +1 -0
  59. package/dist/public/assets/nix-CwoSXNpI.js +1 -0
  60. package/dist/public/assets/pieDiagram-ADFJNKIX-D6FIx46U.js +30 -0
  61. package/dist/public/assets/proto-C7zT0LnQ.js +1 -0
  62. package/dist/public/assets/quadrantDiagram-AYHSOK5B-Dc3CfRHY.js +7 -0
  63. package/dist/public/assets/r-Dspwwk_N.js +1 -0
  64. package/dist/public/assets/razor-C1TweQQi.js +1 -0
  65. package/dist/public/assets/requirementDiagram-UZGBJVZJ-tmNqVojO.js +64 -0
  66. package/dist/public/assets/sankeyDiagram-TZEHDZUN-C2bvNED8.js +10 -0
  67. package/dist/public/assets/sequenceDiagram-WL72ISMW-DoNmZswJ.js +145 -0
  68. package/dist/public/assets/stateDiagram-FKZM4ZOC-B8Lk-Kak.js +1 -0
  69. package/dist/public/assets/stateDiagram-v2-4FDKWEC3-Cvy-UNc6.js +1 -0
  70. package/dist/public/assets/svelte-zxCyuUbr.js +1 -0
  71. package/dist/public/assets/tex-CvyZ59Mk.js +1 -0
  72. package/dist/public/assets/timeline-definition-IT6M3QCI-UdDQrtnd.js +61 -0
  73. package/dist/public/assets/treemap-KMMF4GRG-Dkfqpf3u.js +128 -0
  74. package/dist/public/assets/vue-DN_0RTcg.js +1 -0
  75. package/dist/public/assets/vue-html-AaS7Mt5G.js +1 -0
  76. package/dist/public/assets/vue-vine-CQOfvN7w.js +1 -0
  77. package/dist/public/assets/xychartDiagram-PRI3JC2R-BiR50II_.js +7 -0
  78. package/dist/public/favicon.svg +4 -0
  79. package/dist/public/index.html +20 -0
  80. package/package.json +29 -60
  81. package/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  82. package/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  83. package/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  84. package/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  85. package/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  86. package/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  87. package/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  88. package/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  89. package/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  90. package/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  91. package/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  92. package/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  93. package/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  94. package/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  95. package/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  96. package/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  97. package/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  98. package/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  99. package/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  100. package/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  101. package/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  102. package/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  103. package/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  104. package/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  105. package/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  106. package/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  107. package/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  108. package/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  109. package/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  110. package/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  111. package/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  112. package/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  113. package/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  114. package/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  115. package/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  116. package/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  117. package/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  118. package/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  119. package/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  120. package/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  121. package/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  122. package/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  123. package/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  124. package/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  125. package/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  126. package/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  127. package/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  128. package/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  129. package/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  130. package/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  131. package/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  132. package/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  133. package/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  134. package/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  135. package/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  136. package/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  137. package/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  138. package/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  139. package/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  140. package/public/assets/_baseUniq-D9TYleYv.js +1 -0
  141. package/public/assets/abap-BdImnpbu.js +1 -0
  142. package/public/assets/actionscript-3-CfeIJUat.js +1 -0
  143. package/public/assets/ada-bCR0ucgS.js +1 -0
  144. package/public/assets/andromeeda-C-Jbm3Hp.js +1 -0
  145. package/public/assets/angular-html-CU67Zn6k.js +1 -0
  146. package/public/assets/angular-ts-BwZT4LLn.js +1 -0
  147. package/public/assets/apache-Pmp26Uib.js +1 -0
  148. package/public/assets/apex-D8_7TLub.js +1 -0
  149. package/public/assets/apl-dKokRX4l.js +1 -0
  150. package/public/assets/applescript-Co6uUVPk.js +1 -0
  151. package/public/assets/ara-BRHolxvo.js +1 -0
  152. package/public/assets/arc-Bqkc3LZm.js +1 -0
  153. package/public/assets/architectureDiagram-VXUJARFQ-C7pQ9eBc.js +36 -0
  154. package/public/assets/asciidoc-Dv7Oe6Be.js +1 -0
  155. package/public/assets/asm-D_Q5rh1f.js +1 -0
  156. package/public/assets/astro-CbQHKStN.js +1 -0
  157. package/public/assets/aurora-x-D-2ljcwZ.js +1 -0
  158. package/public/assets/awk-DMzUqQB5.js +1 -0
  159. package/public/assets/ayu-dark-CmMr59Fi.js +1 -0
  160. package/public/assets/ballerina-BFfxhgS-.js +1 -0
  161. package/public/assets/bat-BkioyH1T.js +1 -0
  162. package/public/assets/beancount-k_qm7-4y.js +1 -0
  163. package/public/assets/berry-uYugtg8r.js +1 -0
  164. package/public/assets/bibtex-CHM0blh-.js +1 -0
  165. package/public/assets/bicep-Bmn6On1c.js +1 -0
  166. package/public/assets/blade-D4QpJJKB.js +1 -0
  167. package/public/assets/blockDiagram-VD42YOAC-C47kjU51.js +122 -0
  168. package/public/assets/bsl-BO_Y6i37.js +1 -0
  169. package/public/assets/c-BIGW1oBm.js +1 -0
  170. package/public/assets/c3-VCDPK7BO.js +1 -0
  171. package/public/assets/c4Diagram-YG6GDRKO-hYDGImzM.js +10 -0
  172. package/public/assets/cadence-Bv_4Rxtq.js +1 -0
  173. package/public/assets/cairo-KRGpt6FW.js +1 -0
  174. package/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  175. package/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  176. package/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  177. package/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  178. package/public/assets/channel-CZbjQww4.js +1 -0
  179. package/public/assets/chunk-4BX2VUAB-d6tzfYU_.js +1 -0
  180. package/public/assets/chunk-55IACEB6-hAlvgHob.js +1 -0
  181. package/public/assets/chunk-B4BG7PRW-DcHYkNpL.js +165 -0
  182. package/public/assets/chunk-DI55MBZ5-DmYTN3pZ.js +220 -0
  183. package/public/assets/chunk-FMBD7UC4-D7fqP24E.js +15 -0
  184. package/public/assets/chunk-QN33PNHL-DHEaHAkH.js +1 -0
  185. package/public/assets/chunk-QZHKN3VN-CUEecr31.js +1 -0
  186. package/public/assets/chunk-TZMSLE5B-CQC5olzQ.js +1 -0
  187. package/public/assets/clarity-D53aC0YG.js +1 -0
  188. package/public/assets/classDiagram-2ON5EDUG-DdwUVrxi.js +1 -0
  189. package/public/assets/classDiagram-v2-WZHVMYZB-DdwUVrxi.js +1 -0
  190. package/public/assets/clojure-P80f7IUj.js +1 -0
  191. package/public/assets/clone-OD5JE1Cw.js +1 -0
  192. package/public/assets/cmake-D1j8_8rp.js +1 -0
  193. package/public/assets/cobol-nwyudZeR.js +1 -0
  194. package/public/assets/code-block-IT6T5CEO-BNFAFcIE.js +2 -0
  195. package/public/assets/codeowners-Bp6g37R7.js +1 -0
  196. package/public/assets/codeql-DsOJ9woJ.js +1 -0
  197. package/public/assets/coffee-Ch7k5sss.js +1 -0
  198. package/public/assets/common-lisp-Cg-RD9OK.js +1 -0
  199. package/public/assets/coq-DkFqJrB1.js +1 -0
  200. package/public/assets/cose-bilkent-S5V4N54A-XGPrPsXQ.js +1 -0
  201. package/public/assets/cpp-CofmeUqb.js +1 -0
  202. package/public/assets/crystal-tKQVLTB8.js +1 -0
  203. package/public/assets/csharp-K5feNrxe.js +1 -0
  204. package/public/assets/css-DPfMkruS.js +1 -0
  205. package/public/assets/csv-fuZLfV_i.js +1 -0
  206. package/public/assets/cue-D82EKSYY.js +1 -0
  207. package/public/assets/cypher-COkxafJQ.js +1 -0
  208. package/public/assets/cytoscape.esm-5J0xJHOV.js +321 -0
  209. package/public/assets/d-85-TOEBH.js +1 -0
  210. package/public/assets/dagre-6UL2VRFP-BcyWIYPE.js +4 -0
  211. package/public/assets/dark-plus-C3mMm8J8.js +1 -0
  212. package/public/assets/dart-CF10PKvl.js +1 -0
  213. package/public/assets/dax-CEL-wOlO.js +1 -0
  214. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  215. package/public/assets/desktop-BmXAJ9_W.js +1 -0
  216. package/public/assets/diagram-PSM6KHXK-CBJyRzHu.js +24 -0
  217. package/public/assets/diagram-QEK2KX5R-BBxj1vYL.js +43 -0
  218. package/public/assets/diagram-S2PKOQOG-BTSvV1S3.js +24 -0
  219. package/public/assets/diff-D97Zzqfu.js +1 -0
  220. package/public/assets/docker-BcOcwvcX.js +1 -0
  221. package/public/assets/dotenv-Da5cRb03.js +1 -0
  222. package/public/assets/dracula-BzJJZx-M.js +1 -0
  223. package/public/assets/dracula-soft-BXkSAIEj.js +1 -0
  224. package/public/assets/dream-maker-BtqSS_iP.js +1 -0
  225. package/public/assets/edge-BkV0erSs.js +1 -0
  226. package/public/assets/elixir-CDX3lj18.js +1 -0
  227. package/public/assets/elm-DbKCFpqz.js +1 -0
  228. package/public/assets/emacs-lisp-C9XAeP06.js +1 -0
  229. package/public/assets/erDiagram-Q2GNP2WA-Cmcj_23w.js +60 -0
  230. package/public/assets/erb-BOJIQeun.js +1 -0
  231. package/public/assets/erlang-DsQrWhSR.js +1 -0
  232. package/public/assets/everforest-dark-BgDCqdQA.js +1 -0
  233. package/public/assets/everforest-light-C8M2exoo.js +1 -0
  234. package/public/assets/fennel-BYunw83y.js +1 -0
  235. package/public/assets/fish-BvzEVeQv.js +1 -0
  236. package/public/assets/flowDiagram-NV44I4VS-CshqyJY8.js +162 -0
  237. package/public/assets/fluent-C4IJs8-o.js +1 -0
  238. package/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  239. package/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
  240. package/public/assets/fsharp-CXgrBDvD.js +1 -0
  241. package/public/assets/ganttDiagram-JELNMOA3-o7FTrO1I.js +267 -0
  242. package/public/assets/gdresource-B7Tvp0Sc.js +1 -0
  243. package/public/assets/gdscript-DTMYz4Jt.js +1 -0
  244. package/public/assets/gdshader-DkwncUOv.js +1 -0
  245. package/public/assets/genie-D0YGMca9.js +1 -0
  246. package/public/assets/gherkin-DyxjwDmM.js +1 -0
  247. package/public/assets/git-commit-F4YmCXRG.js +1 -0
  248. package/public/assets/git-rebase-r7XF79zn.js +1 -0
  249. package/public/assets/gitGraphDiagram-NY62KEGX-DMYNojPU.js +65 -0
  250. package/public/assets/github-dark-DHJKELXO.js +1 -0
  251. package/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
  252. package/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  253. package/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  254. package/public/assets/github-light-DAi9KRSo.js +1 -0
  255. package/public/assets/github-light-default-D7oLnXFd.js +1 -0
  256. package/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  257. package/public/assets/gleam-BspZqrRM.js +1 -0
  258. package/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
  259. package/public/assets/glimmer-ts-U6CK756n.js +1 -0
  260. package/public/assets/glsl-DplSGwfg.js +1 -0
  261. package/public/assets/gn-n2N0HUVH.js +1 -0
  262. package/public/assets/gnuplot-DdkO51Og.js +1 -0
  263. package/public/assets/go-Dn2_MT6a.js +1 -0
  264. package/public/assets/graph-C1exCUhk.js +1 -0
  265. package/public/assets/graphql-ChdNCCLP.js +1 -0
  266. package/public/assets/groovy-gcz8RCvz.js +1 -0
  267. package/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  268. package/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  269. package/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  270. package/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  271. package/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  272. package/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  273. package/public/assets/hack-CaT9iCJl.js +1 -0
  274. package/public/assets/haml-B8DHNrY2.js +1 -0
  275. package/public/assets/handlebars-BL8al0AC.js +1 -0
  276. package/public/assets/haskell-Df6bDoY_.js +1 -0
  277. package/public/assets/haxe-CzTSHFRz.js +1 -0
  278. package/public/assets/hcl-BWvSN4gD.js +1 -0
  279. package/public/assets/hjson-D5-asLiD.js +1 -0
  280. package/public/assets/hlsl-D3lLCCz7.js +1 -0
  281. package/public/assets/houston-DnULxvSX.js +1 -0
  282. package/public/assets/html-GMplVEZG.js +1 -0
  283. package/public/assets/html-derivative-BFtXZ54Q.js +1 -0
  284. package/public/assets/http-jrhK8wxY.js +1 -0
  285. package/public/assets/hurl-irOxFIW8.js +1 -0
  286. package/public/assets/hxml-Bvhsp5Yf.js +1 -0
  287. package/public/assets/hy-DFXneXwc.js +1 -0
  288. package/public/assets/imba-DGztddWO.js +1 -0
  289. package/public/assets/index-Bk8vmlSI.css +1 -0
  290. package/public/assets/index-DpDVi1Yh.js +1701 -0
  291. package/public/assets/infoDiagram-WHAUD3N6-BtpyTGJr.js +2 -0
  292. package/public/assets/ini-BEwlwnbL.js +1 -0
  293. package/public/assets/init-Gi6I4Gst.js +1 -0
  294. package/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  295. package/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  296. package/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  297. package/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  298. package/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  299. package/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  300. package/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  301. package/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  302. package/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  303. package/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  304. package/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  305. package/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  306. package/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  307. package/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  308. package/public/assets/java-CylS5w8V.js +1 -0
  309. package/public/assets/javascript-wDzz0qaB.js +1 -0
  310. package/public/assets/jinja-4LBKfQ-Z.js +1 -0
  311. package/public/assets/jison-wvAkD_A8.js +1 -0
  312. package/public/assets/journeyDiagram-XKPGCS4Q-Ca9OoHtc.js +139 -0
  313. package/public/assets/json-Cp-IABpG.js +1 -0
  314. package/public/assets/json5-C9tS-k6U.js +1 -0
  315. package/public/assets/jsonc-Des-eS-w.js +1 -0
  316. package/public/assets/jsonl-DcaNXYhu.js +1 -0
  317. package/public/assets/jsonnet-DFQXde-d.js +1 -0
  318. package/public/assets/jssm-C2t-YnRu.js +1 -0
  319. package/public/assets/jsx-g9-lgVsj.js +1 -0
  320. package/public/assets/julia-CxzCAyBv.js +1 -0
  321. package/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  322. package/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  323. package/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
  324. package/public/assets/kanban-definition-3W4ZIXB7-CsE7CD0y.js +89 -0
  325. package/public/assets/katex-DvXFAOB1.css +1 -0
  326. package/public/assets/kdl-DV7GczEv.js +1 -0
  327. package/public/assets/kotlin-BdnUsdx6.js +1 -0
  328. package/public/assets/kusto-DZf3V79B.js +1 -0
  329. package/public/assets/laserwave-DUszq2jm.js +1 -0
  330. package/public/assets/latex-B4uzh10-.js +1 -0
  331. package/public/assets/layout-BPf4wWku.js +1 -0
  332. package/public/assets/lean-BZvkOJ9d.js +1 -0
  333. package/public/assets/less-B1dDrJ26.js +1 -0
  334. package/public/assets/light-plus-B7mTdjB0.js +1 -0
  335. package/public/assets/linear-Hmh70sq7.js +1 -0
  336. package/public/assets/liquid-DYVedYrR.js +1 -0
  337. package/public/assets/llvm-BtvRca6l.js +1 -0
  338. package/public/assets/log-2UxHyX5q.js +1 -0
  339. package/public/assets/logo-BtOb2qkB.js +1 -0
  340. package/public/assets/lua-BbnMAYS6.js +1 -0
  341. package/public/assets/luau-C-HG3fhB.js +1 -0
  342. package/public/assets/make-CHLpvVh8.js +1 -0
  343. package/public/assets/markdown-Cvjx9yec.js +1 -0
  344. package/public/assets/marko-DZsq8hO1.js +1 -0
  345. package/public/assets/material-theme-D5KoaKCx.js +1 -0
  346. package/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
  347. package/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  348. package/public/assets/material-theme-ocean-CyktbL80.js +1 -0
  349. package/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  350. package/public/assets/matlab-D7o27uSR.js +1 -0
  351. package/public/assets/mdc-DUICxH0z.js +1 -0
  352. package/public/assets/mdx-Cmh6b_Ma.js +1 -0
  353. package/public/assets/mermaid-mWjccvbQ.js +1 -0
  354. package/public/assets/mermaid.core-E3JM4XVX.js +191 -0
  355. package/public/assets/min-6ojrcLrh.js +1 -0
  356. package/public/assets/min-dark-CafNBF8u.js +1 -0
  357. package/public/assets/min-light-CTRr51gU.js +1 -0
  358. package/public/assets/mindmap-definition-VGOIOE7T-BjpBHYC_.js +68 -0
  359. package/public/assets/mipsasm-CKIfxQSi.js +1 -0
  360. package/public/assets/mojo-B93PlW-d.js +1 -0
  361. package/public/assets/monokai-D4h5O-jR.js +1 -0
  362. package/public/assets/moonbit-Ba13S78F.js +1 -0
  363. package/public/assets/move-Bu9oaDYs.js +1 -0
  364. package/public/assets/narrat-DRg8JJMk.js +1 -0
  365. package/public/assets/nextflow-BrzmwbiE.js +1 -0
  366. package/public/assets/nginx-DknmC5AR.js +1 -0
  367. package/public/assets/night-owl-C39BiMTA.js +1 -0
  368. package/public/assets/nim-CVrawwO9.js +1 -0
  369. package/public/assets/nix-CwoSXNpI.js +1 -0
  370. package/public/assets/nord-Ddv68eIx.js +1 -0
  371. package/public/assets/nushell-C-sUppwS.js +1 -0
  372. package/public/assets/objective-c-DXmwc3jG.js +1 -0
  373. package/public/assets/objective-cpp-CLxacb5B.js +1 -0
  374. package/public/assets/ocaml-C0hk2d4L.js +1 -0
  375. package/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  376. package/public/assets/one-light-PoHY5YXO.js +1 -0
  377. package/public/assets/openscad-C4EeE6gA.js +1 -0
  378. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  379. package/public/assets/pascal-D93ZcfNL.js +1 -0
  380. package/public/assets/perl-C0TMdlhV.js +1 -0
  381. package/public/assets/php-CDn_0X-4.js +1 -0
  382. package/public/assets/pieDiagram-ADFJNKIX-D6FIx46U.js +30 -0
  383. package/public/assets/pierre-dark-BXuwtOqb.js +1 -0
  384. package/public/assets/pierre-light-dckrK0oj.js +1 -0
  385. package/public/assets/pkl-u5AG7uiY.js +1 -0
  386. package/public/assets/plastic-3e1v2bzS.js +1 -0
  387. package/public/assets/plsql-ChMvpjG-.js +1 -0
  388. package/public/assets/po-BTJTHyun.js +1 -0
  389. package/public/assets/poimandres-CS3Unz2-.js +1 -0
  390. package/public/assets/polar-C0HS_06l.js +1 -0
  391. package/public/assets/postcss-CXtECtnM.js +1 -0
  392. package/public/assets/powerquery-CEu0bR-o.js +1 -0
  393. package/public/assets/powershell-Dpen1YoG.js +1 -0
  394. package/public/assets/prisma-Dd19v3D-.js +1 -0
  395. package/public/assets/prolog-CbFg5uaA.js +1 -0
  396. package/public/assets/proto-C7zT0LnQ.js +1 -0
  397. package/public/assets/pug-CGlum2m_.js +1 -0
  398. package/public/assets/puppet-BMWR74SV.js +1 -0
  399. package/public/assets/purescript-CklMAg4u.js +1 -0
  400. package/public/assets/python-B6aJPvgy.js +1 -0
  401. package/public/assets/qml-3beO22l8.js +1 -0
  402. package/public/assets/qmldir-C8lEn-DE.js +1 -0
  403. package/public/assets/qss-IeuSbFQv.js +1 -0
  404. package/public/assets/quadrantDiagram-AYHSOK5B-Dc3CfRHY.js +7 -0
  405. package/public/assets/r-Dspwwk_N.js +1 -0
  406. package/public/assets/racket-BqYA7rlc.js +1 -0
  407. package/public/assets/raku-DXvB9xmW.js +1 -0
  408. package/public/assets/razor-C1TweQQi.js +1 -0
  409. package/public/assets/red-bN70gL4F.js +1 -0
  410. package/public/assets/reg-C-SQnVFl.js +1 -0
  411. package/public/assets/regexp-CDVJQ6XC.js +1 -0
  412. package/public/assets/rel-C3B-1QV4.js +1 -0
  413. package/public/assets/requirementDiagram-UZGBJVZJ-tmNqVojO.js +64 -0
  414. package/public/assets/riscv-BM1_JUlF.js +1 -0
  415. package/public/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  416. package/public/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  417. package/public/assets/rose-pine-qdsjHGoJ.js +1 -0
  418. package/public/assets/rosmsg-BJDFO7_C.js +1 -0
  419. package/public/assets/rst-B0xPkSld.js +1 -0
  420. package/public/assets/ruby-BvKwtOVI.js +1 -0
  421. package/public/assets/rust-B1yitclQ.js +1 -0
  422. package/public/assets/sankeyDiagram-TZEHDZUN-C2bvNED8.js +10 -0
  423. package/public/assets/sas-cz2c8ADy.js +1 -0
  424. package/public/assets/sass-Cj5Yp3dK.js +1 -0
  425. package/public/assets/scala-C151Ov-r.js +1 -0
  426. package/public/assets/scheme-C98Dy4si.js +1 -0
  427. package/public/assets/scss-OYdSNvt2.js +1 -0
  428. package/public/assets/sdbl-DVxCFoDh.js +1 -0
  429. package/public/assets/sequenceDiagram-WL72ISMW-DoNmZswJ.js +145 -0
  430. package/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
  431. package/public/assets/shellscript-Yzrsuije.js +1 -0
  432. package/public/assets/shellsession-BADoaaVG.js +1 -0
  433. package/public/assets/slack-dark-BthQWCQV.js +1 -0
  434. package/public/assets/slack-ochin-DqwNpetd.js +1 -0
  435. package/public/assets/smalltalk-BERRCDM3.js +1 -0
  436. package/public/assets/snazzy-light-Bw305WKR.js +1 -0
  437. package/public/assets/solarized-dark-DXbdFlpD.js +1 -0
  438. package/public/assets/solarized-light-L9t79GZl.js +1 -0
  439. package/public/assets/solidity-rGO070M0.js +1 -0
  440. package/public/assets/soy-Brmx7dQM.js +1 -0
  441. package/public/assets/sparql-rVzFXLq3.js +1 -0
  442. package/public/assets/splunk-BtCnVYZw.js +1 -0
  443. package/public/assets/sql-BLtJtn59.js +1 -0
  444. package/public/assets/ssh-config-_ykCGR6B.js +1 -0
  445. package/public/assets/stata-BH5u7GGu.js +1 -0
  446. package/public/assets/stateDiagram-FKZM4ZOC-B8Lk-Kak.js +1 -0
  447. package/public/assets/stateDiagram-v2-4FDKWEC3-Cvy-UNc6.js +1 -0
  448. package/public/assets/stylus-BEDo0Tqx.js +1 -0
  449. package/public/assets/svelte-zxCyuUbr.js +1 -0
  450. package/public/assets/swift-Dg5xB15N.js +1 -0
  451. package/public/assets/synthwave-84-CbfX1IO0.js +1 -0
  452. package/public/assets/system-verilog-CnnmHF94.js +1 -0
  453. package/public/assets/systemd-4A_iFExJ.js +1 -0
  454. package/public/assets/talonscript-CkByrt1z.js +1 -0
  455. package/public/assets/tasl-QIJgUcNo.js +1 -0
  456. package/public/assets/tcl-dwOrl1Do.js +1 -0
  457. package/public/assets/templ-W15q3VgB.js +1 -0
  458. package/public/assets/terraform-BETggiCN.js +1 -0
  459. package/public/assets/tex-CvyZ59Mk.js +1 -0
  460. package/public/assets/timeline-definition-IT6M3QCI-UdDQrtnd.js +61 -0
  461. package/public/assets/tokyo-night-hegEt444.js +1 -0
  462. package/public/assets/toml-vGWfd6FD.js +1 -0
  463. package/public/assets/treemap-KMMF4GRG-Dkfqpf3u.js +128 -0
  464. package/public/assets/ts-tags-zn1MmPIZ.js +1 -0
  465. package/public/assets/tsv-B_m7g4N7.js +1 -0
  466. package/public/assets/tsx-COt5Ahok.js +1 -0
  467. package/public/assets/turtle-BsS91CYL.js +1 -0
  468. package/public/assets/twig-CO9l9SDP.js +1 -0
  469. package/public/assets/typescript-BPQ3VLAy.js +1 -0
  470. package/public/assets/typespec-BGHnOYBU.js +1 -0
  471. package/public/assets/typst-DHCkPAjA.js +1 -0
  472. package/public/assets/v-BcVCzyr7.js +1 -0
  473. package/public/assets/vala-CsfeWuGM.js +1 -0
  474. package/public/assets/vb-D17OF-Vu.js +1 -0
  475. package/public/assets/verilog-BQ8w6xss.js +1 -0
  476. package/public/assets/vesper-DU1UobuO.js +1 -0
  477. package/public/assets/vhdl-CeAyd5Ju.js +1 -0
  478. package/public/assets/viml-CJc9bBzg.js +1 -0
  479. package/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
  480. package/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
  481. package/public/assets/vitesse-light-CVO1_9PV.js +1 -0
  482. package/public/assets/vue-DN_0RTcg.js +1 -0
  483. package/public/assets/vue-html-AaS7Mt5G.js +1 -0
  484. package/public/assets/vue-vine-CQOfvN7w.js +1 -0
  485. package/public/assets/vyper-CDx5xZoG.js +1 -0
  486. package/public/assets/wasm-CG6Dc4jp.js +1 -0
  487. package/public/assets/wasm-MzD3tlZU.js +1 -0
  488. package/public/assets/wenyan-BV7otONQ.js +1 -0
  489. package/public/assets/wgsl-Dx-B1_4e.js +1 -0
  490. package/public/assets/wikitext-BhOHFoWU.js +1 -0
  491. package/public/assets/wit-5i3qLPDT.js +1 -0
  492. package/public/assets/wolfram-lXgVvXCa.js +1 -0
  493. package/public/assets/xml-sdJ4AIDG.js +1 -0
  494. package/public/assets/xsl-CtQFsRM5.js +1 -0
  495. package/public/assets/xychartDiagram-PRI3JC2R-BiR50II_.js +7 -0
  496. package/public/assets/yaml-Buea-lGh.js +1 -0
  497. package/public/assets/zenscript-DVFEvuxE.js +1 -0
  498. package/public/assets/zig-VOosw3JB.js +1 -0
  499. package/public/favicon.svg +4 -0
  500. package/public/index.html +20 -0
  501. package/README.md +0 -150
  502. package/bin/cli.js +0 -370
  503. package/dev/cli.tsx +0 -38
  504. package/dist/config/openai-codex-models.json +0 -205
  505. package/dist/server/index.d.ts +0 -6
  506. package/dist/server/index.js +0 -180
  507. package/dist/server/lib/opencode-client.d.ts +0 -14
  508. package/dist/server/lib/opencode-client.js +0 -17
  509. package/dist/server/lib/opencode-config.d.ts +0 -14
  510. package/dist/server/lib/opencode-config.js +0 -25
  511. package/dist/server/middleware/cors.d.ts +0 -6
  512. package/dist/server/middleware/cors.js +0 -8
  513. package/dist/server/routes/config.d.ts +0 -12
  514. package/dist/server/routes/config.js +0 -207
  515. package/dist/server/routes/directory.d.ts +0 -8
  516. package/dist/server/routes/directory.js +0 -84
  517. package/dist/server/routes/init.d.ts +0 -16
  518. package/dist/server/routes/init.js +0 -39
  519. package/dist/server/routes/local-llm.d.ts +0 -8
  520. package/dist/server/routes/local-llm.js +0 -255
  521. package/dist/server/routes/logs.d.ts +0 -2
  522. package/dist/server/routes/logs.js +0 -53
  523. package/dist/server/routes/model-state.d.ts +0 -2
  524. package/dist/server/routes/model-state.js +0 -81
  525. package/dist/server/routes/prompt.d.ts +0 -16
  526. package/dist/server/routes/prompt.js +0 -173
  527. package/dist/server/routes/proxy.d.ts +0 -2
  528. package/dist/server/routes/proxy.js +0 -122
  529. package/dist/server/routes/session.d.ts +0 -8
  530. package/dist/server/routes/session.js +0 -63
  531. package/dist/server/routes/status.d.ts +0 -9
  532. package/dist/server/routes/status.js +0 -54
  533. package/dist/server/routes/usage.d.ts +0 -12
  534. package/dist/server/routes/usage.js +0 -60
  535. package/dist/server/routes/windows.d.ts +0 -2
  536. package/dist/server/routes/windows.js +0 -125
  537. package/dist/server/schema.d.ts +0 -235
  538. package/dist/server/schema.js +0 -25
  539. package/dist/server/services/database.d.ts +0 -14
  540. package/dist/server/services/database.js +0 -123
  541. package/dist/server/services/sse-manager.d.ts +0 -16
  542. package/dist/server/services/sse-manager.js +0 -44
  543. package/dist/web/assets/_baseUniq-BxVG561Z.js +0 -1
  544. package/dist/web/assets/amazon-bedrock-B_u4Gv8g.svg +0 -3
  545. package/dist/web/assets/apex-DDbsPZ6N.js +0 -1
  546. package/dist/web/assets/arc-B9TFF79T.js +0 -1
  547. package/dist/web/assets/architectureDiagram-VXUJARFQ-BMRLMpf8.js +0 -36
  548. package/dist/web/assets/ayu-dark-Cv9koXgw.js +0 -1
  549. package/dist/web/assets/blade-DVc8C-J4.js +0 -1
  550. package/dist/web/assets/blockDiagram-VD42YOAC-DBQKFxeQ.js +0 -122
  551. package/dist/web/assets/c4Diagram-YG6GDRKO-TiYEZrdu.js +0 -10
  552. package/dist/web/assets/channel-aOIIaiSs.js +0 -1
  553. package/dist/web/assets/chunk-4BX2VUAB-CWCp0N17.js +0 -1
  554. package/dist/web/assets/chunk-55IACEB6-CeVCFKqv.js +0 -1
  555. package/dist/web/assets/chunk-B4BG7PRW-B-AoaHJt.js +0 -165
  556. package/dist/web/assets/chunk-DI55MBZ5-CCGkXnX-.js +0 -220
  557. package/dist/web/assets/chunk-FMBD7UC4-Bcupjeb_.js +0 -15
  558. package/dist/web/assets/chunk-QN33PNHL-DlyUQaTO.js +0 -1
  559. package/dist/web/assets/chunk-QZHKN3VN-THN-at_3.js +0 -1
  560. package/dist/web/assets/chunk-TZMSLE5B-CtErOFJM.js +0 -1
  561. package/dist/web/assets/classDiagram-2ON5EDUG-BFLMv18M.js +0 -1
  562. package/dist/web/assets/classDiagram-v2-WZHVMYZB-BFLMv18M.js +0 -1
  563. package/dist/web/assets/clone-BR_FHSwu.js +0 -1
  564. package/dist/web/assets/code-block-QI2IAROF-CPI-88R6.js +0 -2
  565. package/dist/web/assets/cose-bilkent-S5V4N54A-YrHmsLe4.js +0 -1
  566. package/dist/web/assets/dagre-6UL2VRFP-Dcvw3qhj.js +0 -4
  567. package/dist/web/assets/deepinfra-Dq_BB8I0.svg +0 -4
  568. package/dist/web/assets/diagram-PSM6KHXK-B135EOe6.js +0 -24
  569. package/dist/web/assets/diagram-QEK2KX5R-w3KdB_-u.js +0 -43
  570. package/dist/web/assets/diagram-S2PKOQOG-DYssvOTP.js +0 -24
  571. package/dist/web/assets/erDiagram-Q2GNP2WA-DpnuE7B_.js +0 -60
  572. package/dist/web/assets/flowDiagram-NV44I4VS-BhcJ-8Yu.js +0 -162
  573. package/dist/web/assets/fortran-fixed-form-BZjJHVRy.js +0 -1
  574. package/dist/web/assets/fortran-free-form-D22FLkUw.js +0 -1
  575. package/dist/web/assets/ganttDiagram-JELNMOA3-ButVkRCz.js +0 -267
  576. package/dist/web/assets/gitGraphDiagram-NY62KEGX-ZLz8eoSo.js +0 -65
  577. package/dist/web/assets/google-vertex-BCu5nGvk.svg +0 -10
  578. package/dist/web/assets/graph-CKmCFGqF.js +0 -1
  579. package/dist/web/assets/huggingface-DlwzPJmc.svg +0 -3
  580. package/dist/web/assets/index-BHJDUcNL.js +0 -1719
  581. package/dist/web/assets/index-CcAJUkQw.css +0 -1
  582. package/dist/web/assets/index-DEiKajXR.js +0 -1
  583. package/dist/web/assets/infoDiagram-WHAUD3N6-C_h94brE.js +0 -2
  584. package/dist/web/assets/journeyDiagram-XKPGCS4Q-u0bPRxxb.js +0 -139
  585. package/dist/web/assets/julia-C8NyazO9.js +0 -1
  586. package/dist/web/assets/kanban-definition-3W4ZIXB7-DkM-KD6Y.js +0 -89
  587. package/dist/web/assets/kimi-for-coding-eVEHug_h.svg +0 -3
  588. package/dist/web/assets/kusto-BvAqAH-y.js +0 -1
  589. package/dist/web/assets/latex-BdAV_C_H.js +0 -1
  590. package/dist/web/assets/layout-DGSU3MQw.js +0 -1
  591. package/dist/web/assets/lean-Bc6EcWN3.js +0 -1
  592. package/dist/web/assets/linear-Dck9QCb9.js +0 -1
  593. package/dist/web/assets/luau-CXu1NL6O.js +0 -1
  594. package/dist/web/assets/lucidquery-DRFbix82.svg +0 -3
  595. package/dist/web/assets/marko-CPi9NSCl.js +0 -1
  596. package/dist/web/assets/mermaid-DKYwYmdq.js +0 -1
  597. package/dist/web/assets/mermaid.core-DfB-jqaz.js +0 -191
  598. package/dist/web/assets/min-CqEcl9J0.js +0 -1
  599. package/dist/web/assets/mindmap-definition-VGOIOE7T-D1KrSALz.js +0 -68
  600. package/dist/web/assets/mojo-1DNp92w6.js +0 -1
  601. package/dist/web/assets/moonshotai-BeF2wtIV.svg +0 -3
  602. package/dist/web/assets/nix-c8nO5XWb.js +0 -1
  603. package/dist/web/assets/ollama-cloud-BIdeu-re.svg +0 -7
  604. package/dist/web/assets/pieDiagram-ADFJNKIX-CZ-507Bd.js +0 -30
  605. package/dist/web/assets/proto-DyJlTyXw.js +0 -1
  606. package/dist/web/assets/quadrantDiagram-AYHSOK5B-Jw0og6Ix.js +0 -7
  607. package/dist/web/assets/r-DiinP2Uv.js +0 -1
  608. package/dist/web/assets/razor-CE9lU5zL.js +0 -1
  609. package/dist/web/assets/requirementDiagram-UZGBJVZJ-5JWD7TEH.js +0 -64
  610. package/dist/web/assets/sankeyDiagram-TZEHDZUN-DzlxPj37.js +0 -10
  611. package/dist/web/assets/sequenceDiagram-WL72ISMW-Cui1ykiA.js +0 -145
  612. package/dist/web/assets/stateDiagram-FKZM4ZOC-CCdGE_zt.js +0 -1
  613. package/dist/web/assets/stateDiagram-v2-4FDKWEC3-CsLg9bzy.js +0 -1
  614. package/dist/web/assets/svelte-3Dk4HxPD.js +0 -1
  615. package/dist/web/assets/tex-CxkMU7Pf.js +0 -1
  616. package/dist/web/assets/timeline-definition-IT6M3QCI-CP2T8mHI.js +0 -61
  617. package/dist/web/assets/treemap-KMMF4GRG-DGBVlHVf.js +0 -128
  618. package/dist/web/assets/venice-CeIHfrIB.svg +0 -4
  619. package/dist/web/assets/vue-DnHKYNfI.js +0 -1
  620. package/dist/web/assets/vue-html-CChd_i61.js +0 -1
  621. package/dist/web/assets/vue-vine-8moa0y9V.js +0 -1
  622. package/dist/web/assets/welcome-screen-test-DnIwI3hf.js +0 -1
  623. package/dist/web/assets/xychartDiagram-PRI3JC2R-DDlMipkA.js +0 -7
  624. package/dist/web/favicon.svg +0 -4
  625. package/dist/web/index.html +0 -20
  626. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  627. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  628. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  629. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  630. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  631. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  632. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  633. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  634. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  635. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  636. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  637. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  638. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  639. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  640. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  641. /package/dist/{web → public}/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  642. /package/dist/{web → public}/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  643. /package/dist/{web → public}/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  644. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  645. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  646. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  647. /package/dist/{web → public}/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  648. /package/dist/{web → public}/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  649. /package/dist/{web → public}/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  650. /package/dist/{web → public}/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  651. /package/dist/{web → public}/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  652. /package/dist/{web → public}/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  653. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  654. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  655. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  656. /package/dist/{web → public}/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  657. /package/dist/{web → public}/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  658. /package/dist/{web → public}/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  659. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  660. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  661. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  662. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  663. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  664. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  665. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  666. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  667. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  668. /package/dist/{web → public}/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  669. /package/dist/{web → public}/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  670. /package/dist/{web → public}/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  671. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  672. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  673. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  674. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  675. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  676. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  677. /package/dist/{web → public}/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  678. /package/dist/{web → public}/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  679. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  680. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  681. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  682. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  683. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  684. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  685. /package/dist/{web → public}/assets/abap-BdImnpbu.js +0 -0
  686. /package/dist/{web → public}/assets/actionscript-3-CfeIJUat.js +0 -0
  687. /package/dist/{web → public}/assets/ada-bCR0ucgS.js +0 -0
  688. /package/dist/{web → public}/assets/andromeeda-C-Jbm3Hp.js +0 -0
  689. /package/dist/{web → public}/assets/angular-html-CU67Zn6k.js +0 -0
  690. /package/dist/{web → public}/assets/angular-ts-BwZT4LLn.js +0 -0
  691. /package/dist/{web → public}/assets/apache-Pmp26Uib.js +0 -0
  692. /package/dist/{web → public}/assets/apl-dKokRX4l.js +0 -0
  693. /package/dist/{web → public}/assets/applescript-Co6uUVPk.js +0 -0
  694. /package/dist/{web → public}/assets/ara-BRHolxvo.js +0 -0
  695. /package/dist/{web → public}/assets/asciidoc-Dv7Oe6Be.js +0 -0
  696. /package/dist/{web → public}/assets/asm-D_Q5rh1f.js +0 -0
  697. /package/dist/{web → public}/assets/astro-CbQHKStN.js +0 -0
  698. /package/dist/{web → public}/assets/aurora-x-D-2ljcwZ.js +0 -0
  699. /package/dist/{web → public}/assets/awk-DMzUqQB5.js +0 -0
  700. /package/dist/{web → public}/assets/ballerina-BFfxhgS-.js +0 -0
  701. /package/dist/{web → public}/assets/bat-BkioyH1T.js +0 -0
  702. /package/dist/{web → public}/assets/beancount-k_qm7-4y.js +0 -0
  703. /package/dist/{web → public}/assets/berry-uYugtg8r.js +0 -0
  704. /package/dist/{web → public}/assets/bibtex-CHM0blh-.js +0 -0
  705. /package/dist/{web → public}/assets/bicep-Bmn6On1c.js +0 -0
  706. /package/dist/{web → public}/assets/bsl-BO_Y6i37.js +0 -0
  707. /package/dist/{web → public}/assets/c-BIGW1oBm.js +0 -0
  708. /package/dist/{web → public}/assets/cadence-Bv_4Rxtq.js +0 -0
  709. /package/dist/{web → public}/assets/cairo-KRGpt6FW.js +0 -0
  710. /package/dist/{web → public}/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  711. /package/dist/{web → public}/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  712. /package/dist/{web → public}/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  713. /package/dist/{web → public}/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  714. /package/dist/{web → public}/assets/clarity-D53aC0YG.js +0 -0
  715. /package/dist/{web → public}/assets/clojure-P80f7IUj.js +0 -0
  716. /package/dist/{web → public}/assets/cmake-D1j8_8rp.js +0 -0
  717. /package/dist/{web → public}/assets/cobol-nwyudZeR.js +0 -0
  718. /package/dist/{web → public}/assets/codeowners-Bp6g37R7.js +0 -0
  719. /package/dist/{web → public}/assets/codeql-DsOJ9woJ.js +0 -0
  720. /package/dist/{web → public}/assets/coffee-Ch7k5sss.js +0 -0
  721. /package/dist/{web → public}/assets/common-lisp-Cg-RD9OK.js +0 -0
  722. /package/dist/{web → public}/assets/coq-DkFqJrB1.js +0 -0
  723. /package/dist/{web → public}/assets/cpp-CofmeUqb.js +0 -0
  724. /package/dist/{web → public}/assets/crystal-tKQVLTB8.js +0 -0
  725. /package/dist/{web → public}/assets/csharp-K5feNrxe.js +0 -0
  726. /package/dist/{web → public}/assets/css-DPfMkruS.js +0 -0
  727. /package/dist/{web → public}/assets/csv-fuZLfV_i.js +0 -0
  728. /package/dist/{web → public}/assets/cue-D82EKSYY.js +0 -0
  729. /package/dist/{web → public}/assets/cypher-COkxafJQ.js +0 -0
  730. /package/dist/{web → public}/assets/cytoscape.esm-5J0xJHOV.js +0 -0
  731. /package/dist/{web → public}/assets/d-85-TOEBH.js +0 -0
  732. /package/dist/{web → public}/assets/dark-plus-C3mMm8J8.js +0 -0
  733. /package/dist/{web → public}/assets/dart-CF10PKvl.js +0 -0
  734. /package/dist/{web → public}/assets/dax-CEL-wOlO.js +0 -0
  735. /package/dist/{web → public}/assets/defaultLocale-C4B-KCzX.js +0 -0
  736. /package/dist/{web → public}/assets/desktop-BmXAJ9_W.js +0 -0
  737. /package/dist/{web → public}/assets/diff-D97Zzqfu.js +0 -0
  738. /package/dist/{web → public}/assets/docker-BcOcwvcX.js +0 -0
  739. /package/dist/{web → public}/assets/dotenv-Da5cRb03.js +0 -0
  740. /package/dist/{web → public}/assets/dracula-BzJJZx-M.js +0 -0
  741. /package/dist/{web → public}/assets/dracula-soft-BXkSAIEj.js +0 -0
  742. /package/dist/{web → public}/assets/dream-maker-BtqSS_iP.js +0 -0
  743. /package/dist/{web → public}/assets/edge-BkV0erSs.js +0 -0
  744. /package/dist/{web → public}/assets/elixir-CDX3lj18.js +0 -0
  745. /package/dist/{web → public}/assets/elm-DbKCFpqz.js +0 -0
  746. /package/dist/{web → public}/assets/emacs-lisp-C9XAeP06.js +0 -0
  747. /package/dist/{web → public}/assets/erb-BOJIQeun.js +0 -0
  748. /package/dist/{web → public}/assets/erlang-DsQrWhSR.js +0 -0
  749. /package/dist/{web → public}/assets/everforest-dark-BgDCqdQA.js +0 -0
  750. /package/dist/{web → public}/assets/everforest-light-C8M2exoo.js +0 -0
  751. /package/dist/{web → public}/assets/fennel-BYunw83y.js +0 -0
  752. /package/dist/{web → public}/assets/fish-BvzEVeQv.js +0 -0
  753. /package/dist/{web → public}/assets/fluent-C4IJs8-o.js +0 -0
  754. /package/dist/{web → public}/assets/fsharp-CXgrBDvD.js +0 -0
  755. /package/dist/{web → public}/assets/gdresource-B7Tvp0Sc.js +0 -0
  756. /package/dist/{web → public}/assets/gdscript-DTMYz4Jt.js +0 -0
  757. /package/dist/{web → public}/assets/gdshader-DkwncUOv.js +0 -0
  758. /package/dist/{web → public}/assets/genie-D0YGMca9.js +0 -0
  759. /package/dist/{web → public}/assets/gherkin-DyxjwDmM.js +0 -0
  760. /package/dist/{web → public}/assets/git-commit-F4YmCXRG.js +0 -0
  761. /package/dist/{web → public}/assets/git-rebase-r7XF79zn.js +0 -0
  762. /package/dist/{web → public}/assets/github-dark-DHJKELXO.js +0 -0
  763. /package/dist/{web → public}/assets/github-dark-default-Cuk6v7N8.js +0 -0
  764. /package/dist/{web → public}/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  765. /package/dist/{web → public}/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  766. /package/dist/{web → public}/assets/github-light-DAi9KRSo.js +0 -0
  767. /package/dist/{web → public}/assets/github-light-default-D7oLnXFd.js +0 -0
  768. /package/dist/{web → public}/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  769. /package/dist/{web → public}/assets/gleam-BspZqrRM.js +0 -0
  770. /package/dist/{web → public}/assets/glimmer-js-Rg0-pVw9.js +0 -0
  771. /package/dist/{web → public}/assets/glimmer-ts-U6CK756n.js +0 -0
  772. /package/dist/{web → public}/assets/glsl-DplSGwfg.js +0 -0
  773. /package/dist/{web → public}/assets/gnuplot-DdkO51Og.js +0 -0
  774. /package/dist/{web → public}/assets/go-Dn2_MT6a.js +0 -0
  775. /package/dist/{web → public}/assets/graphql-ChdNCCLP.js +0 -0
  776. /package/dist/{web → public}/assets/groovy-gcz8RCvz.js +0 -0
  777. /package/dist/{web → public}/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  778. /package/dist/{web → public}/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  779. /package/dist/{web → public}/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  780. /package/dist/{web → public}/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  781. /package/dist/{web → public}/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  782. /package/dist/{web → public}/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  783. /package/dist/{web → public}/assets/hack-CaT9iCJl.js +0 -0
  784. /package/dist/{web → public}/assets/haml-B8DHNrY2.js +0 -0
  785. /package/dist/{web → public}/assets/handlebars-BL8al0AC.js +0 -0
  786. /package/dist/{web → public}/assets/haskell-Df6bDoY_.js +0 -0
  787. /package/dist/{web → public}/assets/haxe-CzTSHFRz.js +0 -0
  788. /package/dist/{web → public}/assets/hcl-BWvSN4gD.js +0 -0
  789. /package/dist/{web → public}/assets/hjson-D5-asLiD.js +0 -0
  790. /package/dist/{web → public}/assets/hlsl-D3lLCCz7.js +0 -0
  791. /package/dist/{web → public}/assets/houston-DnULxvSX.js +0 -0
  792. /package/dist/{web → public}/assets/html-GMplVEZG.js +0 -0
  793. /package/dist/{web → public}/assets/html-derivative-BFtXZ54Q.js +0 -0
  794. /package/dist/{web → public}/assets/http-jrhK8wxY.js +0 -0
  795. /package/dist/{web → public}/assets/hurl-irOxFIW8.js +0 -0
  796. /package/dist/{web → public}/assets/hxml-Bvhsp5Yf.js +0 -0
  797. /package/dist/{web → public}/assets/hy-DFXneXwc.js +0 -0
  798. /package/dist/{web → public}/assets/imba-DGztddWO.js +0 -0
  799. /package/dist/{web → public}/assets/ini-BEwlwnbL.js +0 -0
  800. /package/dist/{web → public}/assets/init-Gi6I4Gst.js +0 -0
  801. /package/dist/{web → public}/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  802. /package/dist/{web → public}/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  803. /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  804. /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  805. /package/dist/{web → public}/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  806. /package/dist/{web → public}/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  807. /package/dist/{web → public}/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  808. /package/dist/{web → public}/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  809. /package/dist/{web → public}/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  810. /package/dist/{web → public}/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  811. /package/dist/{web → public}/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  812. /package/dist/{web → public}/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  813. /package/dist/{web → public}/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  814. /package/dist/{web → public}/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  815. /package/dist/{web → public}/assets/java-CylS5w8V.js +0 -0
  816. /package/dist/{web → public}/assets/javascript-wDzz0qaB.js +0 -0
  817. /package/dist/{web → public}/assets/jinja-4LBKfQ-Z.js +0 -0
  818. /package/dist/{web → public}/assets/jison-wvAkD_A8.js +0 -0
  819. /package/dist/{web → public}/assets/json-Cp-IABpG.js +0 -0
  820. /package/dist/{web → public}/assets/json5-C9tS-k6U.js +0 -0
  821. /package/dist/{web → public}/assets/jsonc-Des-eS-w.js +0 -0
  822. /package/dist/{web → public}/assets/jsonl-DcaNXYhu.js +0 -0
  823. /package/dist/{web → public}/assets/jsonnet-DFQXde-d.js +0 -0
  824. /package/dist/{web → public}/assets/jssm-C2t-YnRu.js +0 -0
  825. /package/dist/{web → public}/assets/jsx-g9-lgVsj.js +0 -0
  826. /package/dist/{web → public}/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  827. /package/dist/{web → public}/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  828. /package/dist/{web → public}/assets/kanagawa-wave-DWedfzmr.js +0 -0
  829. /package/dist/{web → public}/assets/katex-DvXFAOB1.css +0 -0
  830. /package/dist/{web → public}/assets/kdl-DV7GczEv.js +0 -0
  831. /package/dist/{web → public}/assets/kotlin-BdnUsdx6.js +0 -0
  832. /package/dist/{web → public}/assets/laserwave-DUszq2jm.js +0 -0
  833. /package/dist/{web → public}/assets/less-B1dDrJ26.js +0 -0
  834. /package/dist/{web → public}/assets/light-plus-B7mTdjB0.js +0 -0
  835. /package/dist/{web → public}/assets/liquid-DYVedYrR.js +0 -0
  836. /package/dist/{web → public}/assets/llvm-BtvRca6l.js +0 -0
  837. /package/dist/{web → public}/assets/log-2UxHyX5q.js +0 -0
  838. /package/dist/{web → public}/assets/logo-BtOb2qkB.js +0 -0
  839. /package/dist/{web → public}/assets/lua-BbnMAYS6.js +0 -0
  840. /package/dist/{web → public}/assets/make-CHLpvVh8.js +0 -0
  841. /package/dist/{web → public}/assets/markdown-Cvjx9yec.js +0 -0
  842. /package/dist/{web → public}/assets/material-theme-D5KoaKCx.js +0 -0
  843. /package/dist/{web → public}/assets/material-theme-darker-BfHTSMKl.js +0 -0
  844. /package/dist/{web → public}/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  845. /package/dist/{web → public}/assets/material-theme-ocean-CyktbL80.js +0 -0
  846. /package/dist/{web → public}/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  847. /package/dist/{web → public}/assets/matlab-D7o27uSR.js +0 -0
  848. /package/dist/{web → public}/assets/mdc-DUICxH0z.js +0 -0
  849. /package/dist/{web → public}/assets/mdx-Cmh6b_Ma.js +0 -0
  850. /package/dist/{web → public}/assets/min-dark-CafNBF8u.js +0 -0
  851. /package/dist/{web → public}/assets/min-light-CTRr51gU.js +0 -0
  852. /package/dist/{web → public}/assets/mipsasm-CKIfxQSi.js +0 -0
  853. /package/dist/{web → public}/assets/monokai-D4h5O-jR.js +0 -0
  854. /package/dist/{web → public}/assets/move-Bu9oaDYs.js +0 -0
  855. /package/dist/{web → public}/assets/narrat-DRg8JJMk.js +0 -0
  856. /package/dist/{web → public}/assets/nextflow-BrzmwbiE.js +0 -0
  857. /package/dist/{web → public}/assets/nginx-DknmC5AR.js +0 -0
  858. /package/dist/{web → public}/assets/night-owl-C39BiMTA.js +0 -0
  859. /package/dist/{web → public}/assets/nim-CVrawwO9.js +0 -0
  860. /package/dist/{web → public}/assets/nord-Ddv68eIx.js +0 -0
  861. /package/dist/{web → public}/assets/nushell-C-sUppwS.js +0 -0
  862. /package/dist/{web → public}/assets/objective-c-DXmwc3jG.js +0 -0
  863. /package/dist/{web → public}/assets/objective-cpp-CLxacb5B.js +0 -0
  864. /package/dist/{web → public}/assets/ocaml-C0hk2d4L.js +0 -0
  865. /package/dist/{web → public}/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  866. /package/dist/{web → public}/assets/one-light-PoHY5YXO.js +0 -0
  867. /package/dist/{web → public}/assets/openscad-C4EeE6gA.js +0 -0
  868. /package/dist/{web → public}/assets/ordinal-Cboi1Yqb.js +0 -0
  869. /package/dist/{web → public}/assets/pascal-D93ZcfNL.js +0 -0
  870. /package/dist/{web → public}/assets/perl-C0TMdlhV.js +0 -0
  871. /package/dist/{web → public}/assets/php-CDn_0X-4.js +0 -0
  872. /package/dist/{web → public}/assets/pierre-dark-BXuwtOqb.js +0 -0
  873. /package/dist/{web → public}/assets/pierre-light-dckrK0oj.js +0 -0
  874. /package/dist/{web → public}/assets/pkl-u5AG7uiY.js +0 -0
  875. /package/dist/{web → public}/assets/plastic-3e1v2bzS.js +0 -0
  876. /package/dist/{web → public}/assets/plsql-ChMvpjG-.js +0 -0
  877. /package/dist/{web → public}/assets/po-BTJTHyun.js +0 -0
  878. /package/dist/{web → public}/assets/poimandres-CS3Unz2-.js +0 -0
  879. /package/dist/{web → public}/assets/polar-C0HS_06l.js +0 -0
  880. /package/dist/{web → public}/assets/postcss-CXtECtnM.js +0 -0
  881. /package/dist/{web → public}/assets/powerquery-CEu0bR-o.js +0 -0
  882. /package/dist/{web → public}/assets/powershell-Dpen1YoG.js +0 -0
  883. /package/dist/{web → public}/assets/prisma-Dd19v3D-.js +0 -0
  884. /package/dist/{web → public}/assets/prolog-CbFg5uaA.js +0 -0
  885. /package/dist/{web → public}/assets/pug-CGlum2m_.js +0 -0
  886. /package/dist/{web → public}/assets/puppet-BMWR74SV.js +0 -0
  887. /package/dist/{web → public}/assets/purescript-CklMAg4u.js +0 -0
  888. /package/dist/{web → public}/assets/python-B6aJPvgy.js +0 -0
  889. /package/dist/{web → public}/assets/qml-3beO22l8.js +0 -0
  890. /package/dist/{web → public}/assets/qmldir-C8lEn-DE.js +0 -0
  891. /package/dist/{web → public}/assets/qss-IeuSbFQv.js +0 -0
  892. /package/dist/{web → public}/assets/racket-BqYA7rlc.js +0 -0
  893. /package/dist/{web → public}/assets/raku-DXvB9xmW.js +0 -0
  894. /package/dist/{web → public}/assets/red-bN70gL4F.js +0 -0
  895. /package/dist/{web → public}/assets/reg-C-SQnVFl.js +0 -0
  896. /package/dist/{web → public}/assets/regexp-CDVJQ6XC.js +0 -0
  897. /package/dist/{web → public}/assets/rel-C3B-1QV4.js +0 -0
  898. /package/dist/{web → public}/assets/riscv-BM1_JUlF.js +0 -0
  899. /package/dist/{web → public}/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  900. /package/dist/{web → public}/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  901. /package/dist/{web → public}/assets/rose-pine-qdsjHGoJ.js +0 -0
  902. /package/dist/{web → public}/assets/rosmsg-BJDFO7_C.js +0 -0
  903. /package/dist/{web → public}/assets/rst-B0xPkSld.js +0 -0
  904. /package/dist/{web → public}/assets/ruby-BvKwtOVI.js +0 -0
  905. /package/dist/{web → public}/assets/rust-B1yitclQ.js +0 -0
  906. /package/dist/{web → public}/assets/sas-cz2c8ADy.js +0 -0
  907. /package/dist/{web → public}/assets/sass-Cj5Yp3dK.js +0 -0
  908. /package/dist/{web → public}/assets/scala-C151Ov-r.js +0 -0
  909. /package/dist/{web → public}/assets/scheme-C98Dy4si.js +0 -0
  910. /package/dist/{web → public}/assets/scss-OYdSNvt2.js +0 -0
  911. /package/dist/{web → public}/assets/sdbl-DVxCFoDh.js +0 -0
  912. /package/dist/{web → public}/assets/shaderlab-Dg9Lc6iA.js +0 -0
  913. /package/dist/{web → public}/assets/shellscript-Yzrsuije.js +0 -0
  914. /package/dist/{web → public}/assets/shellsession-BADoaaVG.js +0 -0
  915. /package/dist/{web → public}/assets/slack-dark-BthQWCQV.js +0 -0
  916. /package/dist/{web → public}/assets/slack-ochin-DqwNpetd.js +0 -0
  917. /package/dist/{web → public}/assets/smalltalk-BERRCDM3.js +0 -0
  918. /package/dist/{web → public}/assets/snazzy-light-Bw305WKR.js +0 -0
  919. /package/dist/{web → public}/assets/solarized-dark-DXbdFlpD.js +0 -0
  920. /package/dist/{web → public}/assets/solarized-light-L9t79GZl.js +0 -0
  921. /package/dist/{web → public}/assets/solidity-rGO070M0.js +0 -0
  922. /package/dist/{web → public}/assets/soy-Brmx7dQM.js +0 -0
  923. /package/dist/{web → public}/assets/sparql-rVzFXLq3.js +0 -0
  924. /package/dist/{web → public}/assets/splunk-BtCnVYZw.js +0 -0
  925. /package/dist/{web → public}/assets/sql-BLtJtn59.js +0 -0
  926. /package/dist/{web → public}/assets/ssh-config-_ykCGR6B.js +0 -0
  927. /package/dist/{web → public}/assets/stata-BH5u7GGu.js +0 -0
  928. /package/dist/{web → public}/assets/stylus-BEDo0Tqx.js +0 -0
  929. /package/dist/{web → public}/assets/swift-Dg5xB15N.js +0 -0
  930. /package/dist/{web → public}/assets/synthwave-84-CbfX1IO0.js +0 -0
  931. /package/dist/{web → public}/assets/system-verilog-CnnmHF94.js +0 -0
  932. /package/dist/{web → public}/assets/systemd-4A_iFExJ.js +0 -0
  933. /package/dist/{web → public}/assets/talonscript-CkByrt1z.js +0 -0
  934. /package/dist/{web → public}/assets/tasl-QIJgUcNo.js +0 -0
  935. /package/dist/{web → public}/assets/tcl-dwOrl1Do.js +0 -0
  936. /package/dist/{web → public}/assets/templ-W15q3VgB.js +0 -0
  937. /package/dist/{web → public}/assets/terraform-BETggiCN.js +0 -0
  938. /package/dist/{web → public}/assets/tokyo-night-hegEt444.js +0 -0
  939. /package/dist/{web → public}/assets/toml-vGWfd6FD.js +0 -0
  940. /package/dist/{web → public}/assets/ts-tags-zn1MmPIZ.js +0 -0
  941. /package/dist/{web → public}/assets/tsv-B_m7g4N7.js +0 -0
  942. /package/dist/{web → public}/assets/tsx-COt5Ahok.js +0 -0
  943. /package/dist/{web → public}/assets/turtle-BsS91CYL.js +0 -0
  944. /package/dist/{web → public}/assets/twig-CO9l9SDP.js +0 -0
  945. /package/dist/{web → public}/assets/typescript-BPQ3VLAy.js +0 -0
  946. /package/dist/{web → public}/assets/typespec-BGHnOYBU.js +0 -0
  947. /package/dist/{web → public}/assets/typst-DHCkPAjA.js +0 -0
  948. /package/dist/{web → public}/assets/v-BcVCzyr7.js +0 -0
  949. /package/dist/{web → public}/assets/vala-CsfeWuGM.js +0 -0
  950. /package/dist/{web → public}/assets/vb-D17OF-Vu.js +0 -0
  951. /package/dist/{web → public}/assets/verilog-BQ8w6xss.js +0 -0
  952. /package/dist/{web → public}/assets/vesper-DU1UobuO.js +0 -0
  953. /package/dist/{web → public}/assets/vhdl-CeAyd5Ju.js +0 -0
  954. /package/dist/{web → public}/assets/viml-CJc9bBzg.js +0 -0
  955. /package/dist/{web → public}/assets/vitesse-black-Bkuqu6BP.js +0 -0
  956. /package/dist/{web → public}/assets/vitesse-dark-D0r3Knsf.js +0 -0
  957. /package/dist/{web → public}/assets/vitesse-light-CVO1_9PV.js +0 -0
  958. /package/dist/{web → public}/assets/vyper-CDx5xZoG.js +0 -0
  959. /package/dist/{web → public}/assets/wasm-CG6Dc4jp.js +0 -0
  960. /package/dist/{web → public}/assets/wasm-MzD3tlZU.js +0 -0
  961. /package/dist/{web → public}/assets/wenyan-BV7otONQ.js +0 -0
  962. /package/dist/{web → public}/assets/wgsl-Dx-B1_4e.js +0 -0
  963. /package/dist/{web → public}/assets/wikitext-BhOHFoWU.js +0 -0
  964. /package/dist/{web → public}/assets/wit-5i3qLPDT.js +0 -0
  965. /package/dist/{web → public}/assets/wolfram-lXgVvXCa.js +0 -0
  966. /package/dist/{web → public}/assets/xml-sdJ4AIDG.js +0 -0
  967. /package/dist/{web → public}/assets/xsl-CtQFsRM5.js +0 -0
  968. /package/dist/{web → public}/assets/yaml-Buea-lGh.js +0 -0
  969. /package/dist/{web → public}/assets/zenscript-DVFEvuxE.js +0 -0
  970. /package/dist/{web → public}/assets/zig-VOosw3JB.js +0 -0
@@ -0,0 +1,921 @@
1
+ #!/usr/bin/env node
2
+ var __defProp = Object.defineProperty;
3
+ var __export = (target, all) => {
4
+ for (var name in all)
5
+ __defProp(target, name, { get: all[name], enumerable: true });
6
+ };
7
+
8
+ // bin/cli.ts
9
+ import { program } from "commander";
10
+ import { networkInterfaces } from "os";
11
+ import { spawn } from "child_process";
12
+ import * as p from "@clack/prompts";
13
+
14
+ // src/index.ts
15
+ import express from "express";
16
+ import { createServer } from "http";
17
+ import { WebSocketServer } from "ws";
18
+ import path2 from "path";
19
+ import { fileURLToPath } from "url";
20
+ import { createExpressMiddleware } from "@trpc/server/adapters/express";
21
+ import { applyWSSHandler } from "@trpc/server/adapters/ws";
22
+ import { agentManager as agentManager2 } from "@bytespell/amux/agents/manager";
23
+ import "@bytespell/amux/db";
24
+
25
+ // src/db/index.ts
26
+ import Database from "better-sqlite3";
27
+ import { drizzle } from "drizzle-orm/better-sqlite3";
28
+
29
+ // src/lib/paths.ts
30
+ import path from "path";
31
+ import os from "os";
32
+ import fs from "fs";
33
+ function getDataDir() {
34
+ const home = os.homedir();
35
+ let dataDir;
36
+ switch (process.platform) {
37
+ case "darwin":
38
+ dataDir = path.join(home, "Library", "Application Support", "shella");
39
+ break;
40
+ case "win32":
41
+ dataDir = path.join(process.env.APPDATA || path.join(home, "AppData", "Roaming"), "shella");
42
+ break;
43
+ default:
44
+ dataDir = path.join(process.env.XDG_DATA_HOME || path.join(home, ".local", "share"), "shella");
45
+ }
46
+ return dataDir;
47
+ }
48
+ function isMockMode() {
49
+ return process.env.SHELLA_MOCK_MODE === "true";
50
+ }
51
+ function getShellaDbPath() {
52
+ const filename = isMockMode() ? "shella-ui.mock.db" : "shella-ui.db";
53
+ return path.join(getDataDir(), filename);
54
+ }
55
+ function ensureDir(dir) {
56
+ if (!fs.existsSync(dir)) {
57
+ fs.mkdirSync(dir, { recursive: true });
58
+ }
59
+ }
60
+
61
+ // src/db/schema.ts
62
+ var schema_exports = {};
63
+ __export(schema_exports, {
64
+ panes: () => panes,
65
+ uiState: () => uiState,
66
+ windows: () => windows
67
+ });
68
+ import { sqliteTable, text, integer } from "drizzle-orm/sqlite-core";
69
+ import { sql } from "drizzle-orm";
70
+ var windows = sqliteTable("windows", {
71
+ id: text("id").primaryKey(),
72
+ title: text("title").notNull(),
73
+ hasCustomTitle: integer("has_custom_title", { mode: "boolean" }).notNull().default(false),
74
+ /** JSON-serialized LayoutNode tree */
75
+ layout: text("layout", { mode: "json" }).$type().notNull(),
76
+ activePaneId: text("active_pane_id").notNull(),
77
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull().default(sql`(unixepoch() * 1000)`),
78
+ lastAccessedAt: integer("last_accessed_at", { mode: "timestamp_ms" }).notNull().default(sql`(unixepoch() * 1000)`)
79
+ });
80
+ var panes = sqliteTable("panes", {
81
+ id: text("id").primaryKey(),
82
+ windowId: text("window_id").notNull().references(() => windows.id, { onDelete: "cascade" }),
83
+ /** References amux session ID (cross-database) */
84
+ sessionId: text("session_id").notNull(),
85
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull().default(sql`(unixepoch() * 1000)`)
86
+ });
87
+ var uiState = sqliteTable("ui_state", {
88
+ key: text("key").primaryKey(),
89
+ value: text("value").notNull()
90
+ });
91
+
92
+ // src/db/index.ts
93
+ ensureDir(getDataDir());
94
+ var sqlite = new Database(getShellaDbPath());
95
+ sqlite.pragma("journal_mode = WAL");
96
+ sqlite.pragma("foreign_keys = ON");
97
+ var db = drizzle(sqlite, { schema: schema_exports });
98
+ sqlite.exec(`
99
+ CREATE TABLE IF NOT EXISTS windows (
100
+ id TEXT PRIMARY KEY,
101
+ title TEXT NOT NULL,
102
+ has_custom_title INTEGER NOT NULL DEFAULT 0,
103
+ layout TEXT NOT NULL,
104
+ active_pane_id TEXT NOT NULL,
105
+ created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
106
+ last_accessed_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
107
+ );
108
+
109
+ CREATE TABLE IF NOT EXISTS panes (
110
+ id TEXT PRIMARY KEY,
111
+ window_id TEXT NOT NULL REFERENCES windows(id) ON DELETE CASCADE,
112
+ session_id TEXT NOT NULL,
113
+ created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
114
+ );
115
+
116
+ CREATE TABLE IF NOT EXISTS ui_state (
117
+ key TEXT PRIMARY KEY,
118
+ value TEXT NOT NULL
119
+ );
120
+ `);
121
+
122
+ // src/amuxBridge.ts
123
+ import { randomUUID } from "crypto";
124
+ import { eq, inArray } from "drizzle-orm";
125
+ import { db as db2, schema } from "@bytespell/amux/db";
126
+ import { agentManager } from "@bytespell/amux/agents/manager";
127
+ import { clearEventsForSession } from "@bytespell/amux/agents/eventStore";
128
+ import { listFilesForAutocomplete } from "@bytespell/amux/trpc/files";
129
+ var { sessions, agentConfigs, appState } = schema;
130
+ function createAmuxBridge() {
131
+ return {
132
+ async getSessions(ids) {
133
+ if (ids.length === 0) return [];
134
+ return db2.select().from(sessions).where(inArray(sessions.id, ids)).all();
135
+ },
136
+ async getSession(id) {
137
+ return db2.select().from(sessions).where(eq(sessions.id, id)).get() ?? null;
138
+ },
139
+ async createSession(params) {
140
+ let configId = params.agentConfigId;
141
+ if (!configId) {
142
+ const lastUsedRow = db2.select().from(appState).where(eq(appState.key, "last_used_agent_config_id")).get();
143
+ if (lastUsedRow?.value) {
144
+ const config = db2.select().from(agentConfigs).where(eq(agentConfigs.id, lastUsedRow.value)).get();
145
+ if (config) configId = config.id;
146
+ }
147
+ if (!configId) {
148
+ const firstConfig = db2.select().from(agentConfigs).get();
149
+ if (!firstConfig) {
150
+ throw new Error("No agent configs available");
151
+ }
152
+ configId = firstConfig.id;
153
+ }
154
+ } else {
155
+ db2.insert(appState).values({ key: "last_used_agent_config_id", value: configId }).onConflictDoUpdate({ target: appState.key, set: { value: configId } }).run();
156
+ }
157
+ const id = params.id ?? randomUUID();
158
+ const now = /* @__PURE__ */ new Date();
159
+ db2.insert(sessions).values({
160
+ id,
161
+ directory: params.directory,
162
+ agentConfigId: configId,
163
+ acpSessionId: null,
164
+ model: null,
165
+ mode: null,
166
+ createdAt: now
167
+ }).run();
168
+ return db2.select().from(sessions).where(eq(sessions.id, id)).get();
169
+ },
170
+ async deleteSession(id) {
171
+ await agentManager.stopForSession(id);
172
+ clearEventsForSession(id);
173
+ db2.delete(sessions).where(eq(sessions.id, id)).run();
174
+ },
175
+ async getAgentConfigs() {
176
+ return db2.select().from(agentConfigs).all();
177
+ },
178
+ async startAgent(sessionId) {
179
+ return agentManager.startForSession(sessionId);
180
+ },
181
+ async stopAgent(sessionId) {
182
+ await agentManager.stopForSession(sessionId);
183
+ },
184
+ async prompt(sessionId, message) {
185
+ await agentManager.prompt(sessionId, message);
186
+ },
187
+ async cancel(sessionId) {
188
+ await agentManager.cancel(sessionId);
189
+ },
190
+ async setMode(sessionId, modeId) {
191
+ await agentManager.setMode(sessionId, modeId);
192
+ },
193
+ async setModel(sessionId, modelId) {
194
+ await agentManager.setModel(sessionId, modelId);
195
+ },
196
+ respondPermission(sessionId, requestId, optionId) {
197
+ agentManager.respondPermission(sessionId, requestId, optionId);
198
+ },
199
+ async switchAgent(sessionId, agentConfigId) {
200
+ await agentManager.stopForSession(sessionId);
201
+ clearEventsForSession(sessionId);
202
+ db2.update(sessions).set({
203
+ agentConfigId,
204
+ acpSessionId: null,
205
+ model: null,
206
+ mode: null
207
+ }).where(eq(sessions.id, sessionId)).run();
208
+ db2.insert(appState).values({ key: "last_used_agent_config_id", value: agentConfigId }).onConflictDoUpdate({ target: appState.key, set: { value: agentConfigId } }).run();
209
+ },
210
+ subscribeToSession(sessionId, callback) {
211
+ const handler = (event) => {
212
+ if (event.sessionId === sessionId) {
213
+ callback(event.update);
214
+ }
215
+ };
216
+ agentManager.on("update", handler);
217
+ return () => agentManager.off("update", handler);
218
+ },
219
+ async listFilesForAutocomplete(sessionId, partialPath, limit) {
220
+ const session = db2.select().from(sessions).where(eq(sessions.id, sessionId)).get();
221
+ if (!session) throw new Error(`Session ${sessionId} not found`);
222
+ return listFilesForAutocomplete(session.directory, partialPath, limit);
223
+ }
224
+ };
225
+ }
226
+
227
+ // src/trpc/trpc.ts
228
+ import { initTRPC } from "@trpc/server";
229
+ var t = initTRPC.create();
230
+ var router = t.router;
231
+ var publicProcedure = t.procedure;
232
+
233
+ // src/trpc/windows.ts
234
+ import { z } from "zod";
235
+ import { randomUUID as randomUUID2 } from "crypto";
236
+ import { eq as eq2 } from "drizzle-orm";
237
+
238
+ // client/lib/layout.ts
239
+ function createLeaf(paneId) {
240
+ return { type: "leaf", paneId };
241
+ }
242
+ function createBranch(direction, first, second, ratio = 50) {
243
+ return { type: "branch", direction, ratio, first, second };
244
+ }
245
+ function getAllPaneIds(node) {
246
+ if (node.type === "leaf") {
247
+ return [node.paneId];
248
+ }
249
+ return [...getAllPaneIds(node.first), ...getAllPaneIds(node.second)];
250
+ }
251
+ function findPanePath(node, paneId, path3 = []) {
252
+ if (node.type === "leaf") {
253
+ return node.paneId === paneId ? path3 : null;
254
+ }
255
+ const firstPath = findPanePath(node.first, paneId, [...path3, "first"]);
256
+ if (firstPath) return firstPath;
257
+ return findPanePath(node.second, paneId, [...path3, "second"]);
258
+ }
259
+ function replacePaneWithNode(root, paneId, newNode) {
260
+ if (root.type === "leaf") {
261
+ return root.paneId === paneId ? newNode : root;
262
+ }
263
+ return {
264
+ ...root,
265
+ first: replacePaneWithNode(root.first, paneId, newNode),
266
+ second: replacePaneWithNode(root.second, paneId, newNode)
267
+ };
268
+ }
269
+ function splitPane(root, paneId, newPaneId, direction) {
270
+ const originalLeaf = createLeaf(paneId);
271
+ const newLeaf = createLeaf(newPaneId);
272
+ const branch = createBranch(direction, originalLeaf, newLeaf);
273
+ return replacePaneWithNode(root, paneId, branch);
274
+ }
275
+ function removePane(root, paneId) {
276
+ if (root.type === "leaf") {
277
+ return root.paneId === paneId ? null : root;
278
+ }
279
+ if (root.first.type === "leaf" && root.first.paneId === paneId) {
280
+ return root.second;
281
+ }
282
+ if (root.second.type === "leaf" && root.second.paneId === paneId) {
283
+ return root.first;
284
+ }
285
+ const newFirst = removePane(root.first, paneId);
286
+ const newSecond = removePane(root.second, paneId);
287
+ if (newFirst === null) return newSecond;
288
+ if (newSecond === null) return newFirst;
289
+ if (newFirst !== root.first || newSecond !== root.second) {
290
+ return { ...root, first: newFirst, second: newSecond };
291
+ }
292
+ return root;
293
+ }
294
+ function updateRatio(root, path3, newRatio) {
295
+ if (path3.length === 0) {
296
+ if (root.type === "branch") {
297
+ return { ...root, ratio: Math.max(10, Math.min(90, newRatio)) };
298
+ }
299
+ return root;
300
+ }
301
+ if (root.type === "leaf") return root;
302
+ const [next, ...rest] = path3;
303
+ if (next === "first") {
304
+ return { ...root, first: updateRatio(root.first, rest, newRatio) };
305
+ } else {
306
+ return { ...root, second: updateRatio(root.second, rest, newRatio) };
307
+ }
308
+ }
309
+ function getAdjacentPane(root, currentPaneId, direction) {
310
+ const path3 = findPanePath(root, currentPaneId);
311
+ if (!path3) return null;
312
+ let node = root;
313
+ const pathNodes = [];
314
+ for (const step of path3) {
315
+ if (node.type === "branch") {
316
+ pathNodes.push({ node, childSide: step });
317
+ node = step === "first" ? node.first : node.second;
318
+ }
319
+ }
320
+ for (let i = pathNodes.length - 1; i >= 0; i--) {
321
+ const { node: branch, childSide } = pathNodes[i];
322
+ const isHorizontal = branch.direction === "horizontal";
323
+ const isVertical = branch.direction === "vertical";
324
+ const canMove = direction === "left" && isHorizontal && childSide === "second" || direction === "right" && isHorizontal && childSide === "first" || direction === "up" && isVertical && childSide === "second" || direction === "down" && isVertical && childSide === "first";
325
+ if (canMove) {
326
+ const otherChild = childSide === "first" ? branch.second : branch.first;
327
+ return getFirstPaneInDirection(otherChild, direction);
328
+ }
329
+ }
330
+ return null;
331
+ }
332
+ function getFirstPaneInDirection(node, fromDirection) {
333
+ if (node.type === "leaf") {
334
+ return node.paneId;
335
+ }
336
+ const isHorizontal = node.direction === "horizontal";
337
+ if (fromDirection === "left" || fromDirection === "up") {
338
+ const targetChild = isHorizontal ? fromDirection === "left" ? node.first : node.first : fromDirection === "up" ? node.first : node.first;
339
+ return getFirstPaneInDirection(targetChild, fromDirection);
340
+ } else {
341
+ const targetChild = isHorizontal ? fromDirection === "right" ? node.second : node.second : fromDirection === "down" ? node.second : node.second;
342
+ return getFirstPaneInDirection(targetChild, fromDirection);
343
+ }
344
+ }
345
+
346
+ // src/trpc/windows.ts
347
+ var amux;
348
+ function setAmuxBridge(bridge) {
349
+ amux = bridge;
350
+ }
351
+ function generateTitle(existingCount, directory) {
352
+ const dirName = directory.split("/").pop();
353
+ if (dirName && dirName !== "~" && dirName !== "") {
354
+ return dirName;
355
+ }
356
+ return `Window ${existingCount + 1}`;
357
+ }
358
+ var windowsRouter = router({
359
+ /**
360
+ * List all windows with their panes and sessions.
361
+ */
362
+ list: publicProcedure.query(async () => {
363
+ const allWindows = db.select().from(windows).orderBy(windows.createdAt).all();
364
+ const allPanes = db.select().from(panes).all();
365
+ const activeRow = db.select().from(uiState).where(eq2(uiState.key, "active_window_id")).get();
366
+ const sessionIds = [...new Set(allPanes.map((p2) => p2.sessionId))];
367
+ const sessionsData = await amux.getSessions(sessionIds);
368
+ const sessionMap = new Map(sessionsData.map((s) => [s.id, s]));
369
+ const agentConfigs2 = await amux.getAgentConfigs();
370
+ return {
371
+ windows: allWindows.map((w) => ({
372
+ ...w,
373
+ panes: allPanes.filter((p2) => p2.windowId === w.id).map((p2) => ({
374
+ ...p2,
375
+ session: sessionMap.get(p2.sessionId) ?? null
376
+ }))
377
+ })),
378
+ activeWindowId: activeRow?.value ?? allWindows[allWindows.length - 1]?.id ?? null,
379
+ agentConfigs: agentConfigs2
380
+ };
381
+ }),
382
+ /**
383
+ * Get a single window by ID.
384
+ */
385
+ get: publicProcedure.input(z.object({ id: z.string() })).query(async ({ input }) => {
386
+ const window = db.select().from(windows).where(eq2(windows.id, input.id)).get();
387
+ if (!window) {
388
+ throw new Error(`Window ${input.id} not found`);
389
+ }
390
+ const windowPanes = db.select().from(panes).where(eq2(panes.windowId, input.id)).all();
391
+ const sessionIds = windowPanes.map((p2) => p2.sessionId);
392
+ const sessionsData = await amux.getSessions(sessionIds);
393
+ const sessionMap = new Map(sessionsData.map((s) => [s.id, s]));
394
+ return {
395
+ ...window,
396
+ panes: windowPanes.map((p2) => ({
397
+ ...p2,
398
+ session: sessionMap.get(p2.sessionId) ?? null
399
+ }))
400
+ };
401
+ }),
402
+ /**
403
+ * Create a new window with a single pane.
404
+ */
405
+ create: publicProcedure.input(z.object({
406
+ id: z.string().optional(),
407
+ title: z.string().optional(),
408
+ directory: z.string().optional(),
409
+ agentConfigId: z.string().optional()
410
+ })).mutation(async ({ input }) => {
411
+ const directory = input.directory ?? process.cwd();
412
+ const session = await amux.createSession({
413
+ directory,
414
+ agentConfigId: input.agentConfigId
415
+ });
416
+ const windowId = input.id ?? randomUUID2();
417
+ const paneId = randomUUID2();
418
+ const existingCount = db.select().from(windows).all().length;
419
+ const layout = createLeaf(paneId);
420
+ db.insert(windows).values({
421
+ id: windowId,
422
+ title: input.title || generateTitle(existingCount, directory),
423
+ hasCustomTitle: !!input.title,
424
+ // Only true if title is non-empty string
425
+ layout,
426
+ activePaneId: paneId
427
+ }).run();
428
+ db.insert(panes).values({
429
+ id: paneId,
430
+ windowId,
431
+ sessionId: session.id
432
+ }).run();
433
+ db.insert(uiState).values({ key: "active_window_id", value: windowId }).onConflictDoUpdate({ target: uiState.key, set: { value: windowId } }).run();
434
+ const newWindow = db.select().from(windows).where(eq2(windows.id, windowId)).get();
435
+ const newPanes = db.select().from(panes).where(eq2(panes.windowId, windowId)).all();
436
+ return {
437
+ ...newWindow,
438
+ panes: newPanes.map((p2) => ({
439
+ ...p2,
440
+ session: p2.sessionId === session.id ? session : null
441
+ }))
442
+ };
443
+ }),
444
+ /**
445
+ * Update a window (title, etc).
446
+ */
447
+ update: publicProcedure.input(z.object({
448
+ id: z.string(),
449
+ title: z.string().optional()
450
+ })).mutation(async ({ input }) => {
451
+ const updates = {};
452
+ if (input.title !== void 0) {
453
+ updates.title = input.title;
454
+ updates.hasCustomTitle = true;
455
+ }
456
+ updates.lastAccessedAt = /* @__PURE__ */ new Date();
457
+ db.update(windows).set(updates).where(eq2(windows.id, input.id)).run();
458
+ return db.select().from(windows).where(eq2(windows.id, input.id)).get();
459
+ }),
460
+ /**
461
+ * Delete a window and all its panes/sessions.
462
+ */
463
+ delete: publicProcedure.input(z.object({ id: z.string() })).mutation(async ({ input }) => {
464
+ const windowPanes = db.select().from(panes).where(eq2(panes.windowId, input.id)).all();
465
+ for (const pane of windowPanes) {
466
+ await amux.deleteSession(pane.sessionId);
467
+ }
468
+ db.delete(windows).where(eq2(windows.id, input.id)).run();
469
+ const activeRow = db.select().from(uiState).where(eq2(uiState.key, "active_window_id")).get();
470
+ if (activeRow?.value === input.id) {
471
+ const remaining = db.select().from(windows).orderBy(windows.createdAt).all();
472
+ const newActiveId = remaining[remaining.length - 1]?.id ?? null;
473
+ if (newActiveId) {
474
+ db.update(uiState).set({ value: newActiveId }).where(eq2(uiState.key, "active_window_id")).run();
475
+ } else {
476
+ db.delete(uiState).where(eq2(uiState.key, "active_window_id")).run();
477
+ }
478
+ }
479
+ return { ok: true };
480
+ }),
481
+ /**
482
+ * Set the active window.
483
+ */
484
+ setActive: publicProcedure.input(z.object({ id: z.string() })).mutation(async ({ input }) => {
485
+ db.insert(uiState).values({ key: "active_window_id", value: input.id }).onConflictDoUpdate({ target: uiState.key, set: { value: input.id } }).run();
486
+ db.update(windows).set({ lastAccessedAt: /* @__PURE__ */ new Date() }).where(eq2(windows.id, input.id)).run();
487
+ return { ok: true };
488
+ })
489
+ });
490
+
491
+ // src/trpc/layout.ts
492
+ import { z as z2 } from "zod";
493
+ import { randomUUID as randomUUID3 } from "crypto";
494
+ import { eq as eq3 } from "drizzle-orm";
495
+ var amux2;
496
+ function setAmuxBridge2(bridge) {
497
+ amux2 = bridge;
498
+ }
499
+ var layoutRouter = router({
500
+ /**
501
+ * Split a pane horizontally or vertically.
502
+ * Creates a new session in amux and a new pane in shella.
503
+ */
504
+ split: publicProcedure.input(z2.object({
505
+ windowId: z2.string(),
506
+ paneId: z2.string(),
507
+ direction: z2.enum(["horizontal", "vertical"]),
508
+ // Client can provide IDs for optimistic updates
509
+ newPaneId: z2.string().optional(),
510
+ newSessionId: z2.string().optional()
511
+ })).mutation(async ({ input }) => {
512
+ const sourcePane = db.select().from(panes).where(eq3(panes.id, input.paneId)).get();
513
+ if (!sourcePane) {
514
+ throw new Error(`Pane ${input.paneId} not found`);
515
+ }
516
+ const sourceSession = await amux2.getSession(sourcePane.sessionId);
517
+ if (!sourceSession) {
518
+ throw new Error(`Session ${sourcePane.sessionId} not found`);
519
+ }
520
+ const newSession = await amux2.createSession({
521
+ id: input.newSessionId,
522
+ directory: sourceSession.directory,
523
+ agentConfigId: sourceSession.agentConfigId
524
+ });
525
+ const newPaneId = input.newPaneId ?? randomUUID3();
526
+ db.insert(panes).values({
527
+ id: newPaneId,
528
+ windowId: input.windowId,
529
+ sessionId: newSession.id
530
+ }).run();
531
+ const window = db.select().from(windows).where(eq3(windows.id, input.windowId)).get();
532
+ if (!window) {
533
+ throw new Error(`Window ${input.windowId} not found`);
534
+ }
535
+ const currentLayout = window.layout;
536
+ const newLayout = splitPane(currentLayout, input.paneId, newPaneId, input.direction);
537
+ db.update(windows).set({
538
+ layout: newLayout,
539
+ activePaneId: newPaneId,
540
+ lastAccessedAt: /* @__PURE__ */ new Date()
541
+ }).where(eq3(windows.id, input.windowId)).run();
542
+ await amux2.startAgent(newSession.id);
543
+ const now = /* @__PURE__ */ new Date();
544
+ return {
545
+ newPaneId,
546
+ newSessionId: newSession.id,
547
+ layout: newLayout,
548
+ // Match exact shape from windows.list: { ...pane, session }
549
+ newPane: {
550
+ id: newPaneId,
551
+ windowId: input.windowId,
552
+ sessionId: newSession.id,
553
+ createdAt: now.toISOString(),
554
+ session: {
555
+ id: newSession.id,
556
+ directory: newSession.directory,
557
+ agentConfigId: newSession.agentConfigId,
558
+ model: newSession.model,
559
+ mode: newSession.mode,
560
+ createdAt: newSession.createdAt.toISOString(),
561
+ acpSessionId: newSession.acpSessionId
562
+ }
563
+ }
564
+ };
565
+ }),
566
+ /**
567
+ * Close a pane. If it's the last pane, close the window.
568
+ */
569
+ closePane: publicProcedure.input(z2.object({
570
+ windowId: z2.string(),
571
+ paneId: z2.string()
572
+ })).mutation(async ({ input }) => {
573
+ const window = db.select().from(windows).where(eq3(windows.id, input.windowId)).get();
574
+ if (!window) {
575
+ throw new Error(`Window ${input.windowId} not found`);
576
+ }
577
+ const pane = db.select().from(panes).where(eq3(panes.id, input.paneId)).get();
578
+ if (!pane) {
579
+ throw new Error(`Pane ${input.paneId} not found`);
580
+ }
581
+ const currentLayout = window.layout;
582
+ const allPaneIds = getAllPaneIds(currentLayout);
583
+ if (allPaneIds.length === 1) {
584
+ await amux2.deleteSession(pane.sessionId);
585
+ db.delete(windows).where(eq3(windows.id, input.windowId)).run();
586
+ return { windowClosed: true, layout: null, activePaneId: null };
587
+ }
588
+ await amux2.deleteSession(pane.sessionId);
589
+ db.delete(panes).where(eq3(panes.id, input.paneId)).run();
590
+ const newLayout = removePane(currentLayout, input.paneId);
591
+ if (!newLayout) {
592
+ throw new Error("Failed to remove pane from layout");
593
+ }
594
+ const newActivePaneId = window.activePaneId === input.paneId ? getAllPaneIds(newLayout)[0] : window.activePaneId;
595
+ db.update(windows).set({
596
+ layout: newLayout,
597
+ activePaneId: newActivePaneId,
598
+ lastAccessedAt: /* @__PURE__ */ new Date()
599
+ }).where(eq3(windows.id, input.windowId)).run();
600
+ return {
601
+ windowClosed: false,
602
+ layout: newLayout,
603
+ activePaneId: newActivePaneId
604
+ };
605
+ }),
606
+ /**
607
+ * Set the active pane within a window.
608
+ */
609
+ setActivePane: publicProcedure.input(z2.object({
610
+ windowId: z2.string(),
611
+ paneId: z2.string()
612
+ })).mutation(async ({ input }) => {
613
+ db.update(windows).set({
614
+ activePaneId: input.paneId,
615
+ lastAccessedAt: /* @__PURE__ */ new Date()
616
+ }).where(eq3(windows.id, input.windowId)).run();
617
+ return { ok: true };
618
+ }),
619
+ /**
620
+ * Navigate to an adjacent pane.
621
+ */
622
+ navigate: publicProcedure.input(z2.object({
623
+ windowId: z2.string(),
624
+ currentPaneId: z2.string(),
625
+ direction: z2.enum(["left", "right", "up", "down"])
626
+ })).mutation(async ({ input }) => {
627
+ const window = db.select().from(windows).where(eq3(windows.id, input.windowId)).get();
628
+ if (!window) {
629
+ throw new Error(`Window ${input.windowId} not found`);
630
+ }
631
+ const currentLayout = window.layout;
632
+ const adjacentPaneId = getAdjacentPane(currentLayout, input.currentPaneId, input.direction);
633
+ if (adjacentPaneId) {
634
+ db.update(windows).set({
635
+ activePaneId: adjacentPaneId,
636
+ lastAccessedAt: /* @__PURE__ */ new Date()
637
+ }).where(eq3(windows.id, input.windowId)).run();
638
+ return { newActivePaneId: adjacentPaneId };
639
+ }
640
+ return { newActivePaneId: null };
641
+ }),
642
+ /**
643
+ * Update the split ratio at a specific position.
644
+ */
645
+ setRatio: publicProcedure.input(z2.object({
646
+ windowId: z2.string(),
647
+ path: z2.array(z2.enum(["first", "second"])),
648
+ ratio: z2.number().min(10).max(90)
649
+ })).mutation(async ({ input }) => {
650
+ const window = db.select().from(windows).where(eq3(windows.id, input.windowId)).get();
651
+ if (!window) {
652
+ throw new Error(`Window ${input.windowId} not found`);
653
+ }
654
+ const currentLayout = window.layout;
655
+ const newLayout = updateRatio(currentLayout, input.path, input.ratio);
656
+ db.update(windows).set({ layout: newLayout }).where(eq3(windows.id, input.windowId)).run();
657
+ return { layout: newLayout };
658
+ })
659
+ });
660
+
661
+ // src/trpc/agents.ts
662
+ import { z as z3 } from "zod";
663
+ import { eq as eq4 } from "drizzle-orm";
664
+ import { observable } from "@trpc/server/observable";
665
+ var amux3;
666
+ function setAmuxBridge3(bridge) {
667
+ amux3 = bridge;
668
+ }
669
+ var paneInput = z3.object({
670
+ paneId: z3.string()
671
+ });
672
+ function getSessionIdForPane(paneId) {
673
+ const pane = db.select().from(panes).where(eq4(panes.id, paneId)).get();
674
+ if (!pane) {
675
+ throw new Error(`Pane ${paneId} not found`);
676
+ }
677
+ return pane.sessionId;
678
+ }
679
+ var agentsRouter = router({
680
+ /**
681
+ * Start agent for a pane.
682
+ */
683
+ start: publicProcedure.input(paneInput).mutation(async ({ input }) => {
684
+ const sessionId = getSessionIdForPane(input.paneId);
685
+ return amux3.startAgent(sessionId);
686
+ }),
687
+ /**
688
+ * Stop agent for a pane.
689
+ */
690
+ stop: publicProcedure.input(paneInput).mutation(async ({ input }) => {
691
+ const sessionId = getSessionIdForPane(input.paneId);
692
+ await amux3.stopAgent(sessionId);
693
+ return { ok: true };
694
+ }),
695
+ /**
696
+ * Send a prompt to a pane's agent.
697
+ */
698
+ prompt: publicProcedure.input(z3.object({
699
+ paneId: z3.string(),
700
+ message: z3.string()
701
+ })).mutation(async ({ input }) => {
702
+ const sessionId = getSessionIdForPane(input.paneId);
703
+ await amux3.prompt(sessionId, input.message);
704
+ return { ok: true };
705
+ }),
706
+ /**
707
+ * Cancel the current prompt.
708
+ */
709
+ cancel: publicProcedure.input(paneInput).mutation(async ({ input }) => {
710
+ const sessionId = getSessionIdForPane(input.paneId);
711
+ await amux3.cancel(sessionId);
712
+ return { ok: true };
713
+ }),
714
+ /**
715
+ * Set agent mode.
716
+ */
717
+ setMode: publicProcedure.input(z3.object({
718
+ paneId: z3.string(),
719
+ modeId: z3.string()
720
+ })).mutation(async ({ input }) => {
721
+ const sessionId = getSessionIdForPane(input.paneId);
722
+ await amux3.setMode(sessionId, input.modeId);
723
+ return { ok: true };
724
+ }),
725
+ /**
726
+ * Set agent model.
727
+ */
728
+ setModel: publicProcedure.input(z3.object({
729
+ paneId: z3.string(),
730
+ modelId: z3.string()
731
+ })).mutation(async ({ input }) => {
732
+ const sessionId = getSessionIdForPane(input.paneId);
733
+ await amux3.setModel(sessionId, input.modelId);
734
+ return { ok: true };
735
+ }),
736
+ /**
737
+ * Respond to a permission request.
738
+ */
739
+ respondPermission: publicProcedure.input(z3.object({
740
+ paneId: z3.string(),
741
+ requestId: z3.string(),
742
+ optionId: z3.string()
743
+ })).mutation(async ({ input }) => {
744
+ const sessionId = getSessionIdForPane(input.paneId);
745
+ amux3.respondPermission(sessionId, input.requestId, input.optionId);
746
+ return { ok: true };
747
+ }),
748
+ /**
749
+ * Switch to a different agent.
750
+ */
751
+ switchAgent: publicProcedure.input(z3.object({
752
+ paneId: z3.string(),
753
+ agentConfigId: z3.string()
754
+ })).mutation(async ({ input }) => {
755
+ const sessionId = getSessionIdForPane(input.paneId);
756
+ await amux3.switchAgent(sessionId, input.agentConfigId);
757
+ return { ok: true };
758
+ }),
759
+ /**
760
+ * Subscribe to updates for a pane's agent session.
761
+ */
762
+ subscribe: publicProcedure.input(paneInput).subscription(({ input }) => {
763
+ const sessionId = getSessionIdForPane(input.paneId);
764
+ return observable((emit) => {
765
+ return amux3.subscribeToSession(sessionId, (update) => {
766
+ emit.next(update);
767
+ });
768
+ });
769
+ })
770
+ });
771
+
772
+ // src/trpc/files.ts
773
+ import { z as z4 } from "zod";
774
+ import { eq as eq5 } from "drizzle-orm";
775
+ var amux4;
776
+ function setAmuxBridge4(bridge) {
777
+ amux4 = bridge;
778
+ }
779
+ function getSessionIdForPane2(paneId) {
780
+ const pane = db.select().from(panes).where(eq5(panes.id, paneId)).get();
781
+ if (!pane) {
782
+ throw new Error(`Pane ${paneId} not found`);
783
+ }
784
+ return pane.sessionId;
785
+ }
786
+ var filesRouter = router({
787
+ /**
788
+ * List files/directories matching a partial path for autocomplete.
789
+ * Returns files in the session's working directory.
790
+ */
791
+ listForAutocomplete: publicProcedure.input(z4.object({
792
+ paneId: z4.string(),
793
+ partialPath: z4.string(),
794
+ limit: z4.number().default(20)
795
+ })).query(async ({ input }) => {
796
+ const sessionId = getSessionIdForPane2(input.paneId);
797
+ return amux4.listFilesForAutocomplete(sessionId, input.partialPath, input.limit);
798
+ })
799
+ });
800
+
801
+ // src/trpc/router.ts
802
+ function initializeRouters(amux5) {
803
+ setAmuxBridge(amux5);
804
+ setAmuxBridge2(amux5);
805
+ setAmuxBridge3(amux5);
806
+ setAmuxBridge4(amux5);
807
+ }
808
+ var shellaRouter = router({
809
+ windows: windowsRouter,
810
+ layout: layoutRouter,
811
+ agents: agentsRouter,
812
+ files: filesRouter
813
+ });
814
+
815
+ // src/index.ts
816
+ var __dirname = path2.dirname(fileURLToPath(import.meta.url));
817
+ function createShellaServer(options = {}) {
818
+ const port = options.port ?? 3067;
819
+ const amuxBridge = createAmuxBridge();
820
+ initializeRouters(amuxBridge);
821
+ const app = express();
822
+ app.use(express.json());
823
+ const publicPath = path2.join(__dirname, "..", "public");
824
+ app.use(express.static(publicPath));
825
+ app.use("/trpc", createExpressMiddleware({ router: shellaRouter }));
826
+ app.get("/health", (_req, res) => res.json({ status: "ok" }));
827
+ app.get("/{*splat}", (_req, res) => {
828
+ res.sendFile(path2.join(publicPath, "index.html"));
829
+ });
830
+ const server = createServer(app);
831
+ const wss = new WebSocketServer({ server, path: "/trpc" });
832
+ applyWSSHandler({ wss, router: shellaRouter });
833
+ return {
834
+ start: () => {
835
+ return new Promise((resolve) => {
836
+ server.listen(port, () => {
837
+ const url = `http://localhost:${port}`;
838
+ console.log(`[shella] Running on ${url}`);
839
+ options.onReady?.(url);
840
+ resolve();
841
+ });
842
+ });
843
+ },
844
+ stop: async () => {
845
+ console.log("[shella] Shutting down...");
846
+ wss.close();
847
+ await agentManager2.stopAll();
848
+ server.close();
849
+ }
850
+ };
851
+ }
852
+
853
+ // bin/cli.ts
854
+ var VERSION = "0.1.0";
855
+ var BRAND = "\x1B[38;2;99;102;241m";
856
+ var RESET = "\x1B[0m";
857
+ var DIM = "\x1B[2m";
858
+ var brand = (text2) => `${BRAND}${text2}${RESET}`;
859
+ var dim = (text2) => `${DIM}${text2}${RESET}`;
860
+ function getLanIp() {
861
+ const interfaces = networkInterfaces();
862
+ for (const [name, addrs] of Object.entries(interfaces)) {
863
+ if (/^(lo|docker|veth|br-|virbr)/.test(name)) continue;
864
+ for (const addr of addrs || []) {
865
+ if (addr.family === "IPv4" && !addr.internal) {
866
+ return addr.address;
867
+ }
868
+ }
869
+ }
870
+ return "localhost";
871
+ }
872
+ async function startCommand(options) {
873
+ const port = parseInt(options.port, 10);
874
+ const verbose = options.verbose;
875
+ const s = verbose ? null : p.spinner();
876
+ const log2 = (msg) => verbose && console.log(msg);
877
+ if (!verbose) {
878
+ p.intro(`${brand("shella")} ${dim(`v${VERSION}`)}`);
879
+ } else {
880
+ log2(`${brand("shella")} ${dim(`v${VERSION}`)}`);
881
+ }
882
+ if (s) s.start("Starting server...");
883
+ else log2("Starting server...");
884
+ const shella = createShellaServer({
885
+ port,
886
+ onReady: (url) => {
887
+ if (s) s.stop("Ready");
888
+ const lanIp = getLanIp();
889
+ const lanUrl = `http://${lanIp}:${port}`;
890
+ if (verbose) {
891
+ log2(`
892
+ ${brand(lanUrl)}`);
893
+ log2(dim("access from any device"));
894
+ log2(`
895
+ ${dim("press ctrl+c to stop")}
896
+ `);
897
+ } else {
898
+ p.log.success(`${brand(lanUrl)}`);
899
+ p.log.message(dim("access from any device"));
900
+ p.outro(dim("press ctrl+c to stop"));
901
+ }
902
+ if (options.open) {
903
+ const openCommand = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
904
+ spawn(openCommand, [url], { stdio: "ignore", detached: true }).unref();
905
+ }
906
+ }
907
+ });
908
+ await shella.start();
909
+ const shutdown = async () => {
910
+ console.log("");
911
+ console.log(dim("stopping..."));
912
+ await shella.stop();
913
+ console.log(`${brand("shella")} ${dim("stopped")}`);
914
+ process.exit(0);
915
+ };
916
+ process.on("SIGTERM", shutdown);
917
+ process.on("SIGINT", shutdown);
918
+ }
919
+ program.name("shella").description(`${brand("shella")} - Self-hosted AI coding agents. Access from your phone.`).version(VERSION).option("-p, --port <port>", "Server port", "3067").option("--no-open", "Don't open browser automatically").option("-v, --verbose", "Show detailed logs", false).action(startCommand);
920
+ program.parse();
921
+ //# sourceMappingURL=cli.js.map