@bytespell/shella 0.1.5 → 0.1.6

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 (968) 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-ofDPcIU7.js +1 -0
  6. package/dist/public/assets/apex-D8_7TLub.js +1 -0
  7. package/dist/public/assets/arc-CN1QbtAQ.js +1 -0
  8. package/dist/public/assets/architectureDiagram-VXUJARFQ-B7xrwB3a.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-ByLGlNws.js +122 -0
  12. package/dist/public/assets/c3-VCDPK7BO.js +1 -0
  13. package/dist/public/assets/c4Diagram-YG6GDRKO-YpYx4Aj8.js +10 -0
  14. package/dist/public/assets/channel-BtuRdvAy.js +1 -0
  15. package/dist/public/assets/chunk-4BX2VUAB-D0zp96k1.js +1 -0
  16. package/dist/public/assets/chunk-55IACEB6-C5GJeIrO.js +1 -0
  17. package/dist/public/assets/chunk-B4BG7PRW-Ci17wd3H.js +165 -0
  18. package/dist/public/assets/chunk-DI55MBZ5-B2XMqfQC.js +220 -0
  19. package/dist/public/assets/chunk-FMBD7UC4-Crk5_wey.js +15 -0
  20. package/dist/public/assets/chunk-QN33PNHL-DqQoCDuG.js +1 -0
  21. package/dist/public/assets/chunk-QZHKN3VN-DtbXtmmy.js +1 -0
  22. package/dist/public/assets/chunk-TZMSLE5B-Boi_YcuZ.js +1 -0
  23. package/dist/public/assets/classDiagram-2ON5EDUG-CDjYhjfv.js +1 -0
  24. package/dist/public/assets/classDiagram-v2-WZHVMYZB-CDjYhjfv.js +1 -0
  25. package/dist/public/assets/clone-C8pGQ3Xy.js +1 -0
  26. package/dist/public/assets/code-block-IT6T5CEO-BAcnOjsj.js +2 -0
  27. package/dist/public/assets/cose-bilkent-S5V4N54A-DAIcBIuP.js +1 -0
  28. package/dist/public/assets/dagre-6UL2VRFP-zz51dmH0.js +4 -0
  29. package/dist/public/assets/diagram-PSM6KHXK-bVpD6rI7.js +24 -0
  30. package/dist/public/assets/diagram-QEK2KX5R-I8YB5Wm0.js +43 -0
  31. package/dist/public/assets/diagram-S2PKOQOG-D1xlOPWJ.js +24 -0
  32. package/dist/public/assets/erDiagram-Q2GNP2WA-DEdjbB3m.js +60 -0
  33. package/dist/public/assets/flowDiagram-NV44I4VS-BBCU2dfK.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-B0jnifD_.js +267 -0
  37. package/dist/public/assets/gitGraphDiagram-NY62KEGX-BX21wvJS.js +65 -0
  38. package/dist/public/assets/gn-n2N0HUVH.js +1 -0
  39. package/dist/public/assets/graph-BE95p5Ca.js +1 -0
  40. package/dist/public/assets/index-CA2Ed_I8.css +1 -0
  41. package/dist/public/assets/index-CbxztLlk.js +1701 -0
  42. package/dist/public/assets/infoDiagram-WHAUD3N6-CrU0UXwW.js +2 -0
  43. package/dist/public/assets/journeyDiagram-XKPGCS4Q-DzukVB-1.js +139 -0
  44. package/dist/public/assets/julia-CxzCAyBv.js +1 -0
  45. package/dist/public/assets/kanban-definition-3W4ZIXB7-CJVLdxxJ.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-CM_3juMX.js +1 -0
  49. package/dist/public/assets/lean-BZvkOJ9d.js +1 -0
  50. package/dist/public/assets/linear-BXRjo7t5.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-Hp60xAyJ.js +191 -0
  55. package/dist/public/assets/min-oqogeQSX.js +1 -0
  56. package/dist/public/assets/mindmap-definition-VGOIOE7T-CCgMWgfM.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-DAkNkjx-.js +30 -0
  61. package/dist/public/assets/proto-C7zT0LnQ.js +1 -0
  62. package/dist/public/assets/quadrantDiagram-AYHSOK5B-CPEqSA2x.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-jOv297_A.js +64 -0
  66. package/dist/public/assets/sankeyDiagram-TZEHDZUN-CwvAKmpc.js +10 -0
  67. package/dist/public/assets/sequenceDiagram-WL72ISMW-D_WZ2ogT.js +145 -0
  68. package/dist/public/assets/stateDiagram-FKZM4ZOC-tqYMmK3v.js +1 -0
  69. package/dist/public/assets/stateDiagram-v2-4FDKWEC3-BF0ecSBs.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-BIqJkdQ0.js +61 -0
  73. package/dist/public/assets/treemap-KMMF4GRG-CmJM6xaw.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-D7-tZ8iR.js +7 -0
  78. package/dist/public/index.html +20 -0
  79. package/package.json +29 -60
  80. package/public/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  81. package/public/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  82. package/public/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  83. package/public/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  84. package/public/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  85. package/public/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  86. package/public/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  87. package/public/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  88. package/public/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  89. package/public/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  90. package/public/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  91. package/public/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  92. package/public/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  93. package/public/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  94. package/public/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  95. package/public/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  96. package/public/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  97. package/public/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  98. package/public/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  99. package/public/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  100. package/public/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  101. package/public/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  102. package/public/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  103. package/public/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  104. package/public/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  105. package/public/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  106. package/public/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  107. package/public/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  108. package/public/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  109. package/public/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  110. package/public/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  111. package/public/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  112. package/public/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  113. package/public/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  114. package/public/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  115. package/public/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  116. package/public/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  117. package/public/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  118. package/public/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  119. package/public/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  120. package/public/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  121. package/public/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  122. package/public/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  123. package/public/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  124. package/public/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  125. package/public/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  126. package/public/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  127. package/public/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  128. package/public/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  129. package/public/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  130. package/public/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  131. package/public/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  132. package/public/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  133. package/public/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  134. package/public/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  135. package/public/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  136. package/public/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  137. package/public/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  138. package/public/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  139. package/public/assets/_baseUniq-ofDPcIU7.js +1 -0
  140. package/public/assets/abap-BdImnpbu.js +1 -0
  141. package/public/assets/actionscript-3-CfeIJUat.js +1 -0
  142. package/public/assets/ada-bCR0ucgS.js +1 -0
  143. package/public/assets/andromeeda-C-Jbm3Hp.js +1 -0
  144. package/public/assets/angular-html-CU67Zn6k.js +1 -0
  145. package/public/assets/angular-ts-BwZT4LLn.js +1 -0
  146. package/public/assets/apache-Pmp26Uib.js +1 -0
  147. package/public/assets/apex-D8_7TLub.js +1 -0
  148. package/public/assets/apl-dKokRX4l.js +1 -0
  149. package/public/assets/applescript-Co6uUVPk.js +1 -0
  150. package/public/assets/ara-BRHolxvo.js +1 -0
  151. package/public/assets/arc-CN1QbtAQ.js +1 -0
  152. package/public/assets/architectureDiagram-VXUJARFQ-B7xrwB3a.js +36 -0
  153. package/public/assets/asciidoc-Dv7Oe6Be.js +1 -0
  154. package/public/assets/asm-D_Q5rh1f.js +1 -0
  155. package/public/assets/astro-CbQHKStN.js +1 -0
  156. package/public/assets/aurora-x-D-2ljcwZ.js +1 -0
  157. package/public/assets/awk-DMzUqQB5.js +1 -0
  158. package/public/assets/ayu-dark-CmMr59Fi.js +1 -0
  159. package/public/assets/ballerina-BFfxhgS-.js +1 -0
  160. package/public/assets/bat-BkioyH1T.js +1 -0
  161. package/public/assets/beancount-k_qm7-4y.js +1 -0
  162. package/public/assets/berry-uYugtg8r.js +1 -0
  163. package/public/assets/bibtex-CHM0blh-.js +1 -0
  164. package/public/assets/bicep-Bmn6On1c.js +1 -0
  165. package/public/assets/blade-D4QpJJKB.js +1 -0
  166. package/public/assets/blockDiagram-VD42YOAC-ByLGlNws.js +122 -0
  167. package/public/assets/bsl-BO_Y6i37.js +1 -0
  168. package/public/assets/c-BIGW1oBm.js +1 -0
  169. package/public/assets/c3-VCDPK7BO.js +1 -0
  170. package/public/assets/c4Diagram-YG6GDRKO-YpYx4Aj8.js +10 -0
  171. package/public/assets/cadence-Bv_4Rxtq.js +1 -0
  172. package/public/assets/cairo-KRGpt6FW.js +1 -0
  173. package/public/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  174. package/public/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  175. package/public/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  176. package/public/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  177. package/public/assets/channel-BtuRdvAy.js +1 -0
  178. package/public/assets/chunk-4BX2VUAB-D0zp96k1.js +1 -0
  179. package/public/assets/chunk-55IACEB6-C5GJeIrO.js +1 -0
  180. package/public/assets/chunk-B4BG7PRW-Ci17wd3H.js +165 -0
  181. package/public/assets/chunk-DI55MBZ5-B2XMqfQC.js +220 -0
  182. package/public/assets/chunk-FMBD7UC4-Crk5_wey.js +15 -0
  183. package/public/assets/chunk-QN33PNHL-DqQoCDuG.js +1 -0
  184. package/public/assets/chunk-QZHKN3VN-DtbXtmmy.js +1 -0
  185. package/public/assets/chunk-TZMSLE5B-Boi_YcuZ.js +1 -0
  186. package/public/assets/clarity-D53aC0YG.js +1 -0
  187. package/public/assets/classDiagram-2ON5EDUG-CDjYhjfv.js +1 -0
  188. package/public/assets/classDiagram-v2-WZHVMYZB-CDjYhjfv.js +1 -0
  189. package/public/assets/clojure-P80f7IUj.js +1 -0
  190. package/public/assets/clone-C8pGQ3Xy.js +1 -0
  191. package/public/assets/cmake-D1j8_8rp.js +1 -0
  192. package/public/assets/cobol-nwyudZeR.js +1 -0
  193. package/public/assets/code-block-IT6T5CEO-BAcnOjsj.js +2 -0
  194. package/public/assets/codeowners-Bp6g37R7.js +1 -0
  195. package/public/assets/codeql-DsOJ9woJ.js +1 -0
  196. package/public/assets/coffee-Ch7k5sss.js +1 -0
  197. package/public/assets/common-lisp-Cg-RD9OK.js +1 -0
  198. package/public/assets/coq-DkFqJrB1.js +1 -0
  199. package/public/assets/cose-bilkent-S5V4N54A-DAIcBIuP.js +1 -0
  200. package/public/assets/cpp-CofmeUqb.js +1 -0
  201. package/public/assets/crystal-tKQVLTB8.js +1 -0
  202. package/public/assets/csharp-K5feNrxe.js +1 -0
  203. package/public/assets/css-DPfMkruS.js +1 -0
  204. package/public/assets/csv-fuZLfV_i.js +1 -0
  205. package/public/assets/cue-D82EKSYY.js +1 -0
  206. package/public/assets/cypher-COkxafJQ.js +1 -0
  207. package/public/assets/cytoscape.esm-5J0xJHOV.js +321 -0
  208. package/public/assets/d-85-TOEBH.js +1 -0
  209. package/public/assets/dagre-6UL2VRFP-zz51dmH0.js +4 -0
  210. package/public/assets/dark-plus-C3mMm8J8.js +1 -0
  211. package/public/assets/dart-CF10PKvl.js +1 -0
  212. package/public/assets/dax-CEL-wOlO.js +1 -0
  213. package/public/assets/defaultLocale-C4B-KCzX.js +1 -0
  214. package/public/assets/desktop-BmXAJ9_W.js +1 -0
  215. package/public/assets/diagram-PSM6KHXK-bVpD6rI7.js +24 -0
  216. package/public/assets/diagram-QEK2KX5R-I8YB5Wm0.js +43 -0
  217. package/public/assets/diagram-S2PKOQOG-D1xlOPWJ.js +24 -0
  218. package/public/assets/diff-D97Zzqfu.js +1 -0
  219. package/public/assets/docker-BcOcwvcX.js +1 -0
  220. package/public/assets/dotenv-Da5cRb03.js +1 -0
  221. package/public/assets/dracula-BzJJZx-M.js +1 -0
  222. package/public/assets/dracula-soft-BXkSAIEj.js +1 -0
  223. package/public/assets/dream-maker-BtqSS_iP.js +1 -0
  224. package/public/assets/edge-BkV0erSs.js +1 -0
  225. package/public/assets/elixir-CDX3lj18.js +1 -0
  226. package/public/assets/elm-DbKCFpqz.js +1 -0
  227. package/public/assets/emacs-lisp-C9XAeP06.js +1 -0
  228. package/public/assets/erDiagram-Q2GNP2WA-DEdjbB3m.js +60 -0
  229. package/public/assets/erb-BOJIQeun.js +1 -0
  230. package/public/assets/erlang-DsQrWhSR.js +1 -0
  231. package/public/assets/everforest-dark-BgDCqdQA.js +1 -0
  232. package/public/assets/everforest-light-C8M2exoo.js +1 -0
  233. package/public/assets/fennel-BYunw83y.js +1 -0
  234. package/public/assets/fish-BvzEVeQv.js +1 -0
  235. package/public/assets/flowDiagram-NV44I4VS-BBCU2dfK.js +162 -0
  236. package/public/assets/fluent-C4IJs8-o.js +1 -0
  237. package/public/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  238. package/public/assets/fortran-free-form-BxgE0vQu.js +1 -0
  239. package/public/assets/fsharp-CXgrBDvD.js +1 -0
  240. package/public/assets/ganttDiagram-JELNMOA3-B0jnifD_.js +267 -0
  241. package/public/assets/gdresource-B7Tvp0Sc.js +1 -0
  242. package/public/assets/gdscript-DTMYz4Jt.js +1 -0
  243. package/public/assets/gdshader-DkwncUOv.js +1 -0
  244. package/public/assets/genie-D0YGMca9.js +1 -0
  245. package/public/assets/gherkin-DyxjwDmM.js +1 -0
  246. package/public/assets/git-commit-F4YmCXRG.js +1 -0
  247. package/public/assets/git-rebase-r7XF79zn.js +1 -0
  248. package/public/assets/gitGraphDiagram-NY62KEGX-BX21wvJS.js +65 -0
  249. package/public/assets/github-dark-DHJKELXO.js +1 -0
  250. package/public/assets/github-dark-default-Cuk6v7N8.js +1 -0
  251. package/public/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  252. package/public/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  253. package/public/assets/github-light-DAi9KRSo.js +1 -0
  254. package/public/assets/github-light-default-D7oLnXFd.js +1 -0
  255. package/public/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  256. package/public/assets/gleam-BspZqrRM.js +1 -0
  257. package/public/assets/glimmer-js-Rg0-pVw9.js +1 -0
  258. package/public/assets/glimmer-ts-U6CK756n.js +1 -0
  259. package/public/assets/glsl-DplSGwfg.js +1 -0
  260. package/public/assets/gn-n2N0HUVH.js +1 -0
  261. package/public/assets/gnuplot-DdkO51Og.js +1 -0
  262. package/public/assets/go-Dn2_MT6a.js +1 -0
  263. package/public/assets/graph-BE95p5Ca.js +1 -0
  264. package/public/assets/graphql-ChdNCCLP.js +1 -0
  265. package/public/assets/groovy-gcz8RCvz.js +1 -0
  266. package/public/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  267. package/public/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  268. package/public/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  269. package/public/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  270. package/public/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  271. package/public/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  272. package/public/assets/hack-CaT9iCJl.js +1 -0
  273. package/public/assets/haml-B8DHNrY2.js +1 -0
  274. package/public/assets/handlebars-BL8al0AC.js +1 -0
  275. package/public/assets/haskell-Df6bDoY_.js +1 -0
  276. package/public/assets/haxe-CzTSHFRz.js +1 -0
  277. package/public/assets/hcl-BWvSN4gD.js +1 -0
  278. package/public/assets/hjson-D5-asLiD.js +1 -0
  279. package/public/assets/hlsl-D3lLCCz7.js +1 -0
  280. package/public/assets/houston-DnULxvSX.js +1 -0
  281. package/public/assets/html-GMplVEZG.js +1 -0
  282. package/public/assets/html-derivative-BFtXZ54Q.js +1 -0
  283. package/public/assets/http-jrhK8wxY.js +1 -0
  284. package/public/assets/hurl-irOxFIW8.js +1 -0
  285. package/public/assets/hxml-Bvhsp5Yf.js +1 -0
  286. package/public/assets/hy-DFXneXwc.js +1 -0
  287. package/public/assets/imba-DGztddWO.js +1 -0
  288. package/public/assets/index-CA2Ed_I8.css +1 -0
  289. package/public/assets/index-CbxztLlk.js +1701 -0
  290. package/public/assets/infoDiagram-WHAUD3N6-CrU0UXwW.js +2 -0
  291. package/public/assets/ini-BEwlwnbL.js +1 -0
  292. package/public/assets/init-Gi6I4Gst.js +1 -0
  293. package/public/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  294. package/public/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  295. package/public/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  296. package/public/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  297. package/public/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  298. package/public/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  299. package/public/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  300. package/public/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  301. package/public/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  302. package/public/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  303. package/public/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  304. package/public/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  305. package/public/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  306. package/public/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  307. package/public/assets/java-CylS5w8V.js +1 -0
  308. package/public/assets/javascript-wDzz0qaB.js +1 -0
  309. package/public/assets/jinja-4LBKfQ-Z.js +1 -0
  310. package/public/assets/jison-wvAkD_A8.js +1 -0
  311. package/public/assets/journeyDiagram-XKPGCS4Q-DzukVB-1.js +139 -0
  312. package/public/assets/json-Cp-IABpG.js +1 -0
  313. package/public/assets/json5-C9tS-k6U.js +1 -0
  314. package/public/assets/jsonc-Des-eS-w.js +1 -0
  315. package/public/assets/jsonl-DcaNXYhu.js +1 -0
  316. package/public/assets/jsonnet-DFQXde-d.js +1 -0
  317. package/public/assets/jssm-C2t-YnRu.js +1 -0
  318. package/public/assets/jsx-g9-lgVsj.js +1 -0
  319. package/public/assets/julia-CxzCAyBv.js +1 -0
  320. package/public/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  321. package/public/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  322. package/public/assets/kanagawa-wave-DWedfzmr.js +1 -0
  323. package/public/assets/kanban-definition-3W4ZIXB7-CJVLdxxJ.js +89 -0
  324. package/public/assets/katex-DvXFAOB1.css +1 -0
  325. package/public/assets/kdl-DV7GczEv.js +1 -0
  326. package/public/assets/kotlin-BdnUsdx6.js +1 -0
  327. package/public/assets/kusto-DZf3V79B.js +1 -0
  328. package/public/assets/laserwave-DUszq2jm.js +1 -0
  329. package/public/assets/latex-B4uzh10-.js +1 -0
  330. package/public/assets/layout-CM_3juMX.js +1 -0
  331. package/public/assets/lean-BZvkOJ9d.js +1 -0
  332. package/public/assets/less-B1dDrJ26.js +1 -0
  333. package/public/assets/light-plus-B7mTdjB0.js +1 -0
  334. package/public/assets/linear-BXRjo7t5.js +1 -0
  335. package/public/assets/liquid-DYVedYrR.js +1 -0
  336. package/public/assets/llvm-BtvRca6l.js +1 -0
  337. package/public/assets/log-2UxHyX5q.js +1 -0
  338. package/public/assets/logo-BtOb2qkB.js +1 -0
  339. package/public/assets/lua-BbnMAYS6.js +1 -0
  340. package/public/assets/luau-C-HG3fhB.js +1 -0
  341. package/public/assets/make-CHLpvVh8.js +1 -0
  342. package/public/assets/markdown-Cvjx9yec.js +1 -0
  343. package/public/assets/marko-DZsq8hO1.js +1 -0
  344. package/public/assets/material-theme-D5KoaKCx.js +1 -0
  345. package/public/assets/material-theme-darker-BfHTSMKl.js +1 -0
  346. package/public/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  347. package/public/assets/material-theme-ocean-CyktbL80.js +1 -0
  348. package/public/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  349. package/public/assets/matlab-D7o27uSR.js +1 -0
  350. package/public/assets/mdc-DUICxH0z.js +1 -0
  351. package/public/assets/mdx-Cmh6b_Ma.js +1 -0
  352. package/public/assets/mermaid-mWjccvbQ.js +1 -0
  353. package/public/assets/mermaid.core-Hp60xAyJ.js +191 -0
  354. package/public/assets/min-dark-CafNBF8u.js +1 -0
  355. package/public/assets/min-light-CTRr51gU.js +1 -0
  356. package/public/assets/min-oqogeQSX.js +1 -0
  357. package/public/assets/mindmap-definition-VGOIOE7T-CCgMWgfM.js +68 -0
  358. package/public/assets/mipsasm-CKIfxQSi.js +1 -0
  359. package/public/assets/mojo-B93PlW-d.js +1 -0
  360. package/public/assets/monokai-D4h5O-jR.js +1 -0
  361. package/public/assets/moonbit-Ba13S78F.js +1 -0
  362. package/public/assets/move-Bu9oaDYs.js +1 -0
  363. package/public/assets/narrat-DRg8JJMk.js +1 -0
  364. package/public/assets/nextflow-BrzmwbiE.js +1 -0
  365. package/public/assets/nginx-DknmC5AR.js +1 -0
  366. package/public/assets/night-owl-C39BiMTA.js +1 -0
  367. package/public/assets/nim-CVrawwO9.js +1 -0
  368. package/public/assets/nix-CwoSXNpI.js +1 -0
  369. package/public/assets/nord-Ddv68eIx.js +1 -0
  370. package/public/assets/nushell-C-sUppwS.js +1 -0
  371. package/public/assets/objective-c-DXmwc3jG.js +1 -0
  372. package/public/assets/objective-cpp-CLxacb5B.js +1 -0
  373. package/public/assets/ocaml-C0hk2d4L.js +1 -0
  374. package/public/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  375. package/public/assets/one-light-PoHY5YXO.js +1 -0
  376. package/public/assets/openscad-C4EeE6gA.js +1 -0
  377. package/public/assets/ordinal-Cboi1Yqb.js +1 -0
  378. package/public/assets/pascal-D93ZcfNL.js +1 -0
  379. package/public/assets/perl-C0TMdlhV.js +1 -0
  380. package/public/assets/php-CDn_0X-4.js +1 -0
  381. package/public/assets/pieDiagram-ADFJNKIX-DAkNkjx-.js +30 -0
  382. package/public/assets/pierre-dark-BXuwtOqb.js +1 -0
  383. package/public/assets/pierre-light-dckrK0oj.js +1 -0
  384. package/public/assets/pkl-u5AG7uiY.js +1 -0
  385. package/public/assets/plastic-3e1v2bzS.js +1 -0
  386. package/public/assets/plsql-ChMvpjG-.js +1 -0
  387. package/public/assets/po-BTJTHyun.js +1 -0
  388. package/public/assets/poimandres-CS3Unz2-.js +1 -0
  389. package/public/assets/polar-C0HS_06l.js +1 -0
  390. package/public/assets/postcss-CXtECtnM.js +1 -0
  391. package/public/assets/powerquery-CEu0bR-o.js +1 -0
  392. package/public/assets/powershell-Dpen1YoG.js +1 -0
  393. package/public/assets/prisma-Dd19v3D-.js +1 -0
  394. package/public/assets/prolog-CbFg5uaA.js +1 -0
  395. package/public/assets/proto-C7zT0LnQ.js +1 -0
  396. package/public/assets/pug-CGlum2m_.js +1 -0
  397. package/public/assets/puppet-BMWR74SV.js +1 -0
  398. package/public/assets/purescript-CklMAg4u.js +1 -0
  399. package/public/assets/python-B6aJPvgy.js +1 -0
  400. package/public/assets/qml-3beO22l8.js +1 -0
  401. package/public/assets/qmldir-C8lEn-DE.js +1 -0
  402. package/public/assets/qss-IeuSbFQv.js +1 -0
  403. package/public/assets/quadrantDiagram-AYHSOK5B-CPEqSA2x.js +7 -0
  404. package/public/assets/r-Dspwwk_N.js +1 -0
  405. package/public/assets/racket-BqYA7rlc.js +1 -0
  406. package/public/assets/raku-DXvB9xmW.js +1 -0
  407. package/public/assets/razor-C1TweQQi.js +1 -0
  408. package/public/assets/red-bN70gL4F.js +1 -0
  409. package/public/assets/reg-C-SQnVFl.js +1 -0
  410. package/public/assets/regexp-CDVJQ6XC.js +1 -0
  411. package/public/assets/rel-C3B-1QV4.js +1 -0
  412. package/public/assets/requirementDiagram-UZGBJVZJ-jOv297_A.js +64 -0
  413. package/public/assets/riscv-BM1_JUlF.js +1 -0
  414. package/public/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  415. package/public/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  416. package/public/assets/rose-pine-qdsjHGoJ.js +1 -0
  417. package/public/assets/rosmsg-BJDFO7_C.js +1 -0
  418. package/public/assets/rst-B0xPkSld.js +1 -0
  419. package/public/assets/ruby-BvKwtOVI.js +1 -0
  420. package/public/assets/rust-B1yitclQ.js +1 -0
  421. package/public/assets/sankeyDiagram-TZEHDZUN-CwvAKmpc.js +10 -0
  422. package/public/assets/sas-cz2c8ADy.js +1 -0
  423. package/public/assets/sass-Cj5Yp3dK.js +1 -0
  424. package/public/assets/scala-C151Ov-r.js +1 -0
  425. package/public/assets/scheme-C98Dy4si.js +1 -0
  426. package/public/assets/scss-OYdSNvt2.js +1 -0
  427. package/public/assets/sdbl-DVxCFoDh.js +1 -0
  428. package/public/assets/sequenceDiagram-WL72ISMW-D_WZ2ogT.js +145 -0
  429. package/public/assets/shaderlab-Dg9Lc6iA.js +1 -0
  430. package/public/assets/shellscript-Yzrsuije.js +1 -0
  431. package/public/assets/shellsession-BADoaaVG.js +1 -0
  432. package/public/assets/slack-dark-BthQWCQV.js +1 -0
  433. package/public/assets/slack-ochin-DqwNpetd.js +1 -0
  434. package/public/assets/smalltalk-BERRCDM3.js +1 -0
  435. package/public/assets/snazzy-light-Bw305WKR.js +1 -0
  436. package/public/assets/solarized-dark-DXbdFlpD.js +1 -0
  437. package/public/assets/solarized-light-L9t79GZl.js +1 -0
  438. package/public/assets/solidity-rGO070M0.js +1 -0
  439. package/public/assets/soy-Brmx7dQM.js +1 -0
  440. package/public/assets/sparql-rVzFXLq3.js +1 -0
  441. package/public/assets/splunk-BtCnVYZw.js +1 -0
  442. package/public/assets/sql-BLtJtn59.js +1 -0
  443. package/public/assets/ssh-config-_ykCGR6B.js +1 -0
  444. package/public/assets/stata-BH5u7GGu.js +1 -0
  445. package/public/assets/stateDiagram-FKZM4ZOC-tqYMmK3v.js +1 -0
  446. package/public/assets/stateDiagram-v2-4FDKWEC3-BF0ecSBs.js +1 -0
  447. package/public/assets/stylus-BEDo0Tqx.js +1 -0
  448. package/public/assets/svelte-zxCyuUbr.js +1 -0
  449. package/public/assets/swift-Dg5xB15N.js +1 -0
  450. package/public/assets/synthwave-84-CbfX1IO0.js +1 -0
  451. package/public/assets/system-verilog-CnnmHF94.js +1 -0
  452. package/public/assets/systemd-4A_iFExJ.js +1 -0
  453. package/public/assets/talonscript-CkByrt1z.js +1 -0
  454. package/public/assets/tasl-QIJgUcNo.js +1 -0
  455. package/public/assets/tcl-dwOrl1Do.js +1 -0
  456. package/public/assets/templ-W15q3VgB.js +1 -0
  457. package/public/assets/terraform-BETggiCN.js +1 -0
  458. package/public/assets/tex-CvyZ59Mk.js +1 -0
  459. package/public/assets/timeline-definition-IT6M3QCI-BIqJkdQ0.js +61 -0
  460. package/public/assets/tokyo-night-hegEt444.js +1 -0
  461. package/public/assets/toml-vGWfd6FD.js +1 -0
  462. package/public/assets/treemap-KMMF4GRG-CmJM6xaw.js +128 -0
  463. package/public/assets/ts-tags-zn1MmPIZ.js +1 -0
  464. package/public/assets/tsv-B_m7g4N7.js +1 -0
  465. package/public/assets/tsx-COt5Ahok.js +1 -0
  466. package/public/assets/turtle-BsS91CYL.js +1 -0
  467. package/public/assets/twig-CO9l9SDP.js +1 -0
  468. package/public/assets/typescript-BPQ3VLAy.js +1 -0
  469. package/public/assets/typespec-BGHnOYBU.js +1 -0
  470. package/public/assets/typst-DHCkPAjA.js +1 -0
  471. package/public/assets/v-BcVCzyr7.js +1 -0
  472. package/public/assets/vala-CsfeWuGM.js +1 -0
  473. package/public/assets/vb-D17OF-Vu.js +1 -0
  474. package/public/assets/verilog-BQ8w6xss.js +1 -0
  475. package/public/assets/vesper-DU1UobuO.js +1 -0
  476. package/public/assets/vhdl-CeAyd5Ju.js +1 -0
  477. package/public/assets/viml-CJc9bBzg.js +1 -0
  478. package/public/assets/vitesse-black-Bkuqu6BP.js +1 -0
  479. package/public/assets/vitesse-dark-D0r3Knsf.js +1 -0
  480. package/public/assets/vitesse-light-CVO1_9PV.js +1 -0
  481. package/public/assets/vue-DN_0RTcg.js +1 -0
  482. package/public/assets/vue-html-AaS7Mt5G.js +1 -0
  483. package/public/assets/vue-vine-CQOfvN7w.js +1 -0
  484. package/public/assets/vyper-CDx5xZoG.js +1 -0
  485. package/public/assets/wasm-CG6Dc4jp.js +1 -0
  486. package/public/assets/wasm-MzD3tlZU.js +1 -0
  487. package/public/assets/wenyan-BV7otONQ.js +1 -0
  488. package/public/assets/wgsl-Dx-B1_4e.js +1 -0
  489. package/public/assets/wikitext-BhOHFoWU.js +1 -0
  490. package/public/assets/wit-5i3qLPDT.js +1 -0
  491. package/public/assets/wolfram-lXgVvXCa.js +1 -0
  492. package/public/assets/xml-sdJ4AIDG.js +1 -0
  493. package/public/assets/xsl-CtQFsRM5.js +1 -0
  494. package/public/assets/xychartDiagram-PRI3JC2R-D7-tZ8iR.js +7 -0
  495. package/public/assets/yaml-Buea-lGh.js +1 -0
  496. package/public/assets/zenscript-DVFEvuxE.js +1 -0
  497. package/public/assets/zig-VOosw3JB.js +1 -0
  498. package/public/index.html +20 -0
  499. package/README.md +0 -150
  500. package/bin/cli.js +0 -370
  501. package/dev/cli.tsx +0 -38
  502. package/dist/config/openai-codex-models.json +0 -205
  503. package/dist/server/index.d.ts +0 -6
  504. package/dist/server/index.js +0 -180
  505. package/dist/server/lib/opencode-client.d.ts +0 -14
  506. package/dist/server/lib/opencode-client.js +0 -17
  507. package/dist/server/lib/opencode-config.d.ts +0 -14
  508. package/dist/server/lib/opencode-config.js +0 -25
  509. package/dist/server/middleware/cors.d.ts +0 -6
  510. package/dist/server/middleware/cors.js +0 -8
  511. package/dist/server/routes/config.d.ts +0 -12
  512. package/dist/server/routes/config.js +0 -207
  513. package/dist/server/routes/directory.d.ts +0 -8
  514. package/dist/server/routes/directory.js +0 -84
  515. package/dist/server/routes/init.d.ts +0 -16
  516. package/dist/server/routes/init.js +0 -39
  517. package/dist/server/routes/local-llm.d.ts +0 -8
  518. package/dist/server/routes/local-llm.js +0 -255
  519. package/dist/server/routes/logs.d.ts +0 -2
  520. package/dist/server/routes/logs.js +0 -53
  521. package/dist/server/routes/model-state.d.ts +0 -2
  522. package/dist/server/routes/model-state.js +0 -81
  523. package/dist/server/routes/prompt.d.ts +0 -16
  524. package/dist/server/routes/prompt.js +0 -173
  525. package/dist/server/routes/proxy.d.ts +0 -2
  526. package/dist/server/routes/proxy.js +0 -122
  527. package/dist/server/routes/session.d.ts +0 -8
  528. package/dist/server/routes/session.js +0 -63
  529. package/dist/server/routes/status.d.ts +0 -9
  530. package/dist/server/routes/status.js +0 -54
  531. package/dist/server/routes/usage.d.ts +0 -12
  532. package/dist/server/routes/usage.js +0 -60
  533. package/dist/server/routes/windows.d.ts +0 -2
  534. package/dist/server/routes/windows.js +0 -125
  535. package/dist/server/schema.d.ts +0 -235
  536. package/dist/server/schema.js +0 -25
  537. package/dist/server/services/database.d.ts +0 -14
  538. package/dist/server/services/database.js +0 -123
  539. package/dist/server/services/sse-manager.d.ts +0 -16
  540. package/dist/server/services/sse-manager.js +0 -44
  541. package/dist/web/assets/_baseUniq-BxVG561Z.js +0 -1
  542. package/dist/web/assets/amazon-bedrock-B_u4Gv8g.svg +0 -3
  543. package/dist/web/assets/apex-DDbsPZ6N.js +0 -1
  544. package/dist/web/assets/arc-B9TFF79T.js +0 -1
  545. package/dist/web/assets/architectureDiagram-VXUJARFQ-BMRLMpf8.js +0 -36
  546. package/dist/web/assets/ayu-dark-Cv9koXgw.js +0 -1
  547. package/dist/web/assets/blade-DVc8C-J4.js +0 -1
  548. package/dist/web/assets/blockDiagram-VD42YOAC-DBQKFxeQ.js +0 -122
  549. package/dist/web/assets/c4Diagram-YG6GDRKO-TiYEZrdu.js +0 -10
  550. package/dist/web/assets/channel-aOIIaiSs.js +0 -1
  551. package/dist/web/assets/chunk-4BX2VUAB-CWCp0N17.js +0 -1
  552. package/dist/web/assets/chunk-55IACEB6-CeVCFKqv.js +0 -1
  553. package/dist/web/assets/chunk-B4BG7PRW-B-AoaHJt.js +0 -165
  554. package/dist/web/assets/chunk-DI55MBZ5-CCGkXnX-.js +0 -220
  555. package/dist/web/assets/chunk-FMBD7UC4-Bcupjeb_.js +0 -15
  556. package/dist/web/assets/chunk-QN33PNHL-DlyUQaTO.js +0 -1
  557. package/dist/web/assets/chunk-QZHKN3VN-THN-at_3.js +0 -1
  558. package/dist/web/assets/chunk-TZMSLE5B-CtErOFJM.js +0 -1
  559. package/dist/web/assets/classDiagram-2ON5EDUG-BFLMv18M.js +0 -1
  560. package/dist/web/assets/classDiagram-v2-WZHVMYZB-BFLMv18M.js +0 -1
  561. package/dist/web/assets/clone-BR_FHSwu.js +0 -1
  562. package/dist/web/assets/code-block-QI2IAROF-CPI-88R6.js +0 -2
  563. package/dist/web/assets/cose-bilkent-S5V4N54A-YrHmsLe4.js +0 -1
  564. package/dist/web/assets/dagre-6UL2VRFP-Dcvw3qhj.js +0 -4
  565. package/dist/web/assets/deepinfra-Dq_BB8I0.svg +0 -4
  566. package/dist/web/assets/diagram-PSM6KHXK-B135EOe6.js +0 -24
  567. package/dist/web/assets/diagram-QEK2KX5R-w3KdB_-u.js +0 -43
  568. package/dist/web/assets/diagram-S2PKOQOG-DYssvOTP.js +0 -24
  569. package/dist/web/assets/erDiagram-Q2GNP2WA-DpnuE7B_.js +0 -60
  570. package/dist/web/assets/flowDiagram-NV44I4VS-BhcJ-8Yu.js +0 -162
  571. package/dist/web/assets/fortran-fixed-form-BZjJHVRy.js +0 -1
  572. package/dist/web/assets/fortran-free-form-D22FLkUw.js +0 -1
  573. package/dist/web/assets/ganttDiagram-JELNMOA3-ButVkRCz.js +0 -267
  574. package/dist/web/assets/gitGraphDiagram-NY62KEGX-ZLz8eoSo.js +0 -65
  575. package/dist/web/assets/google-vertex-BCu5nGvk.svg +0 -10
  576. package/dist/web/assets/graph-CKmCFGqF.js +0 -1
  577. package/dist/web/assets/huggingface-DlwzPJmc.svg +0 -3
  578. package/dist/web/assets/index-BHJDUcNL.js +0 -1719
  579. package/dist/web/assets/index-CcAJUkQw.css +0 -1
  580. package/dist/web/assets/index-DEiKajXR.js +0 -1
  581. package/dist/web/assets/infoDiagram-WHAUD3N6-C_h94brE.js +0 -2
  582. package/dist/web/assets/journeyDiagram-XKPGCS4Q-u0bPRxxb.js +0 -139
  583. package/dist/web/assets/julia-C8NyazO9.js +0 -1
  584. package/dist/web/assets/kanban-definition-3W4ZIXB7-DkM-KD6Y.js +0 -89
  585. package/dist/web/assets/kimi-for-coding-eVEHug_h.svg +0 -3
  586. package/dist/web/assets/kusto-BvAqAH-y.js +0 -1
  587. package/dist/web/assets/latex-BdAV_C_H.js +0 -1
  588. package/dist/web/assets/layout-DGSU3MQw.js +0 -1
  589. package/dist/web/assets/lean-Bc6EcWN3.js +0 -1
  590. package/dist/web/assets/linear-Dck9QCb9.js +0 -1
  591. package/dist/web/assets/luau-CXu1NL6O.js +0 -1
  592. package/dist/web/assets/lucidquery-DRFbix82.svg +0 -3
  593. package/dist/web/assets/marko-CPi9NSCl.js +0 -1
  594. package/dist/web/assets/mermaid-DKYwYmdq.js +0 -1
  595. package/dist/web/assets/mermaid.core-DfB-jqaz.js +0 -191
  596. package/dist/web/assets/min-CqEcl9J0.js +0 -1
  597. package/dist/web/assets/mindmap-definition-VGOIOE7T-D1KrSALz.js +0 -68
  598. package/dist/web/assets/mojo-1DNp92w6.js +0 -1
  599. package/dist/web/assets/moonshotai-BeF2wtIV.svg +0 -3
  600. package/dist/web/assets/nix-c8nO5XWb.js +0 -1
  601. package/dist/web/assets/ollama-cloud-BIdeu-re.svg +0 -7
  602. package/dist/web/assets/pieDiagram-ADFJNKIX-CZ-507Bd.js +0 -30
  603. package/dist/web/assets/proto-DyJlTyXw.js +0 -1
  604. package/dist/web/assets/quadrantDiagram-AYHSOK5B-Jw0og6Ix.js +0 -7
  605. package/dist/web/assets/r-DiinP2Uv.js +0 -1
  606. package/dist/web/assets/razor-CE9lU5zL.js +0 -1
  607. package/dist/web/assets/requirementDiagram-UZGBJVZJ-5JWD7TEH.js +0 -64
  608. package/dist/web/assets/sankeyDiagram-TZEHDZUN-DzlxPj37.js +0 -10
  609. package/dist/web/assets/sequenceDiagram-WL72ISMW-Cui1ykiA.js +0 -145
  610. package/dist/web/assets/stateDiagram-FKZM4ZOC-CCdGE_zt.js +0 -1
  611. package/dist/web/assets/stateDiagram-v2-4FDKWEC3-CsLg9bzy.js +0 -1
  612. package/dist/web/assets/svelte-3Dk4HxPD.js +0 -1
  613. package/dist/web/assets/tex-CxkMU7Pf.js +0 -1
  614. package/dist/web/assets/timeline-definition-IT6M3QCI-CP2T8mHI.js +0 -61
  615. package/dist/web/assets/treemap-KMMF4GRG-DGBVlHVf.js +0 -128
  616. package/dist/web/assets/venice-CeIHfrIB.svg +0 -4
  617. package/dist/web/assets/vue-DnHKYNfI.js +0 -1
  618. package/dist/web/assets/vue-html-CChd_i61.js +0 -1
  619. package/dist/web/assets/vue-vine-8moa0y9V.js +0 -1
  620. package/dist/web/assets/welcome-screen-test-DnIwI3hf.js +0 -1
  621. package/dist/web/assets/xychartDiagram-PRI3JC2R-DDlMipkA.js +0 -7
  622. package/dist/web/favicon.svg +0 -4
  623. package/dist/web/index.html +0 -20
  624. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  625. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  626. /package/dist/{web → public}/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  627. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  628. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  629. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  630. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  631. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  632. /package/dist/{web → public}/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  633. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  634. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  635. /package/dist/{web → public}/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  636. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  637. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  638. /package/dist/{web → public}/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  639. /package/dist/{web → public}/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  640. /package/dist/{web → public}/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  641. /package/dist/{web → public}/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  642. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  643. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  644. /package/dist/{web → public}/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  645. /package/dist/{web → public}/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  646. /package/dist/{web → public}/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  647. /package/dist/{web → public}/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  648. /package/dist/{web → public}/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  649. /package/dist/{web → public}/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  650. /package/dist/{web → public}/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  651. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  652. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  653. /package/dist/{web → public}/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  654. /package/dist/{web → public}/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  655. /package/dist/{web → public}/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  656. /package/dist/{web → public}/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  657. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  658. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  659. /package/dist/{web → public}/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  660. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  661. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  662. /package/dist/{web → public}/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  663. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  664. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  665. /package/dist/{web → public}/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  666. /package/dist/{web → public}/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  667. /package/dist/{web → public}/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  668. /package/dist/{web → public}/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  669. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  670. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  671. /package/dist/{web → public}/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  672. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  673. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  674. /package/dist/{web → public}/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  675. /package/dist/{web → public}/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  676. /package/dist/{web → public}/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  677. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  678. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  679. /package/dist/{web → public}/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  680. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  681. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  682. /package/dist/{web → public}/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  683. /package/dist/{web → public}/assets/abap-BdImnpbu.js +0 -0
  684. /package/dist/{web → public}/assets/actionscript-3-CfeIJUat.js +0 -0
  685. /package/dist/{web → public}/assets/ada-bCR0ucgS.js +0 -0
  686. /package/dist/{web → public}/assets/andromeeda-C-Jbm3Hp.js +0 -0
  687. /package/dist/{web → public}/assets/angular-html-CU67Zn6k.js +0 -0
  688. /package/dist/{web → public}/assets/angular-ts-BwZT4LLn.js +0 -0
  689. /package/dist/{web → public}/assets/apache-Pmp26Uib.js +0 -0
  690. /package/dist/{web → public}/assets/apl-dKokRX4l.js +0 -0
  691. /package/dist/{web → public}/assets/applescript-Co6uUVPk.js +0 -0
  692. /package/dist/{web → public}/assets/ara-BRHolxvo.js +0 -0
  693. /package/dist/{web → public}/assets/asciidoc-Dv7Oe6Be.js +0 -0
  694. /package/dist/{web → public}/assets/asm-D_Q5rh1f.js +0 -0
  695. /package/dist/{web → public}/assets/astro-CbQHKStN.js +0 -0
  696. /package/dist/{web → public}/assets/aurora-x-D-2ljcwZ.js +0 -0
  697. /package/dist/{web → public}/assets/awk-DMzUqQB5.js +0 -0
  698. /package/dist/{web → public}/assets/ballerina-BFfxhgS-.js +0 -0
  699. /package/dist/{web → public}/assets/bat-BkioyH1T.js +0 -0
  700. /package/dist/{web → public}/assets/beancount-k_qm7-4y.js +0 -0
  701. /package/dist/{web → public}/assets/berry-uYugtg8r.js +0 -0
  702. /package/dist/{web → public}/assets/bibtex-CHM0blh-.js +0 -0
  703. /package/dist/{web → public}/assets/bicep-Bmn6On1c.js +0 -0
  704. /package/dist/{web → public}/assets/bsl-BO_Y6i37.js +0 -0
  705. /package/dist/{web → public}/assets/c-BIGW1oBm.js +0 -0
  706. /package/dist/{web → public}/assets/cadence-Bv_4Rxtq.js +0 -0
  707. /package/dist/{web → public}/assets/cairo-KRGpt6FW.js +0 -0
  708. /package/dist/{web → public}/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  709. /package/dist/{web → public}/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  710. /package/dist/{web → public}/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  711. /package/dist/{web → public}/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  712. /package/dist/{web → public}/assets/clarity-D53aC0YG.js +0 -0
  713. /package/dist/{web → public}/assets/clojure-P80f7IUj.js +0 -0
  714. /package/dist/{web → public}/assets/cmake-D1j8_8rp.js +0 -0
  715. /package/dist/{web → public}/assets/cobol-nwyudZeR.js +0 -0
  716. /package/dist/{web → public}/assets/codeowners-Bp6g37R7.js +0 -0
  717. /package/dist/{web → public}/assets/codeql-DsOJ9woJ.js +0 -0
  718. /package/dist/{web → public}/assets/coffee-Ch7k5sss.js +0 -0
  719. /package/dist/{web → public}/assets/common-lisp-Cg-RD9OK.js +0 -0
  720. /package/dist/{web → public}/assets/coq-DkFqJrB1.js +0 -0
  721. /package/dist/{web → public}/assets/cpp-CofmeUqb.js +0 -0
  722. /package/dist/{web → public}/assets/crystal-tKQVLTB8.js +0 -0
  723. /package/dist/{web → public}/assets/csharp-K5feNrxe.js +0 -0
  724. /package/dist/{web → public}/assets/css-DPfMkruS.js +0 -0
  725. /package/dist/{web → public}/assets/csv-fuZLfV_i.js +0 -0
  726. /package/dist/{web → public}/assets/cue-D82EKSYY.js +0 -0
  727. /package/dist/{web → public}/assets/cypher-COkxafJQ.js +0 -0
  728. /package/dist/{web → public}/assets/cytoscape.esm-5J0xJHOV.js +0 -0
  729. /package/dist/{web → public}/assets/d-85-TOEBH.js +0 -0
  730. /package/dist/{web → public}/assets/dark-plus-C3mMm8J8.js +0 -0
  731. /package/dist/{web → public}/assets/dart-CF10PKvl.js +0 -0
  732. /package/dist/{web → public}/assets/dax-CEL-wOlO.js +0 -0
  733. /package/dist/{web → public}/assets/defaultLocale-C4B-KCzX.js +0 -0
  734. /package/dist/{web → public}/assets/desktop-BmXAJ9_W.js +0 -0
  735. /package/dist/{web → public}/assets/diff-D97Zzqfu.js +0 -0
  736. /package/dist/{web → public}/assets/docker-BcOcwvcX.js +0 -0
  737. /package/dist/{web → public}/assets/dotenv-Da5cRb03.js +0 -0
  738. /package/dist/{web → public}/assets/dracula-BzJJZx-M.js +0 -0
  739. /package/dist/{web → public}/assets/dracula-soft-BXkSAIEj.js +0 -0
  740. /package/dist/{web → public}/assets/dream-maker-BtqSS_iP.js +0 -0
  741. /package/dist/{web → public}/assets/edge-BkV0erSs.js +0 -0
  742. /package/dist/{web → public}/assets/elixir-CDX3lj18.js +0 -0
  743. /package/dist/{web → public}/assets/elm-DbKCFpqz.js +0 -0
  744. /package/dist/{web → public}/assets/emacs-lisp-C9XAeP06.js +0 -0
  745. /package/dist/{web → public}/assets/erb-BOJIQeun.js +0 -0
  746. /package/dist/{web → public}/assets/erlang-DsQrWhSR.js +0 -0
  747. /package/dist/{web → public}/assets/everforest-dark-BgDCqdQA.js +0 -0
  748. /package/dist/{web → public}/assets/everforest-light-C8M2exoo.js +0 -0
  749. /package/dist/{web → public}/assets/fennel-BYunw83y.js +0 -0
  750. /package/dist/{web → public}/assets/fish-BvzEVeQv.js +0 -0
  751. /package/dist/{web → public}/assets/fluent-C4IJs8-o.js +0 -0
  752. /package/dist/{web → public}/assets/fsharp-CXgrBDvD.js +0 -0
  753. /package/dist/{web → public}/assets/gdresource-B7Tvp0Sc.js +0 -0
  754. /package/dist/{web → public}/assets/gdscript-DTMYz4Jt.js +0 -0
  755. /package/dist/{web → public}/assets/gdshader-DkwncUOv.js +0 -0
  756. /package/dist/{web → public}/assets/genie-D0YGMca9.js +0 -0
  757. /package/dist/{web → public}/assets/gherkin-DyxjwDmM.js +0 -0
  758. /package/dist/{web → public}/assets/git-commit-F4YmCXRG.js +0 -0
  759. /package/dist/{web → public}/assets/git-rebase-r7XF79zn.js +0 -0
  760. /package/dist/{web → public}/assets/github-dark-DHJKELXO.js +0 -0
  761. /package/dist/{web → public}/assets/github-dark-default-Cuk6v7N8.js +0 -0
  762. /package/dist/{web → public}/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  763. /package/dist/{web → public}/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  764. /package/dist/{web → public}/assets/github-light-DAi9KRSo.js +0 -0
  765. /package/dist/{web → public}/assets/github-light-default-D7oLnXFd.js +0 -0
  766. /package/dist/{web → public}/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  767. /package/dist/{web → public}/assets/gleam-BspZqrRM.js +0 -0
  768. /package/dist/{web → public}/assets/glimmer-js-Rg0-pVw9.js +0 -0
  769. /package/dist/{web → public}/assets/glimmer-ts-U6CK756n.js +0 -0
  770. /package/dist/{web → public}/assets/glsl-DplSGwfg.js +0 -0
  771. /package/dist/{web → public}/assets/gnuplot-DdkO51Og.js +0 -0
  772. /package/dist/{web → public}/assets/go-Dn2_MT6a.js +0 -0
  773. /package/dist/{web → public}/assets/graphql-ChdNCCLP.js +0 -0
  774. /package/dist/{web → public}/assets/groovy-gcz8RCvz.js +0 -0
  775. /package/dist/{web → public}/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  776. /package/dist/{web → public}/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  777. /package/dist/{web → public}/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  778. /package/dist/{web → public}/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  779. /package/dist/{web → public}/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  780. /package/dist/{web → public}/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  781. /package/dist/{web → public}/assets/hack-CaT9iCJl.js +0 -0
  782. /package/dist/{web → public}/assets/haml-B8DHNrY2.js +0 -0
  783. /package/dist/{web → public}/assets/handlebars-BL8al0AC.js +0 -0
  784. /package/dist/{web → public}/assets/haskell-Df6bDoY_.js +0 -0
  785. /package/dist/{web → public}/assets/haxe-CzTSHFRz.js +0 -0
  786. /package/dist/{web → public}/assets/hcl-BWvSN4gD.js +0 -0
  787. /package/dist/{web → public}/assets/hjson-D5-asLiD.js +0 -0
  788. /package/dist/{web → public}/assets/hlsl-D3lLCCz7.js +0 -0
  789. /package/dist/{web → public}/assets/houston-DnULxvSX.js +0 -0
  790. /package/dist/{web → public}/assets/html-GMplVEZG.js +0 -0
  791. /package/dist/{web → public}/assets/html-derivative-BFtXZ54Q.js +0 -0
  792. /package/dist/{web → public}/assets/http-jrhK8wxY.js +0 -0
  793. /package/dist/{web → public}/assets/hurl-irOxFIW8.js +0 -0
  794. /package/dist/{web → public}/assets/hxml-Bvhsp5Yf.js +0 -0
  795. /package/dist/{web → public}/assets/hy-DFXneXwc.js +0 -0
  796. /package/dist/{web → public}/assets/imba-DGztddWO.js +0 -0
  797. /package/dist/{web → public}/assets/ini-BEwlwnbL.js +0 -0
  798. /package/dist/{web → public}/assets/init-Gi6I4Gst.js +0 -0
  799. /package/dist/{web → public}/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
  800. /package/dist/{web → public}/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
  801. /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
  802. /package/dist/{web → public}/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
  803. /package/dist/{web → public}/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
  804. /package/dist/{web → public}/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
  805. /package/dist/{web → public}/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
  806. /package/dist/{web → public}/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
  807. /package/dist/{web → public}/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
  808. /package/dist/{web → public}/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
  809. /package/dist/{web → public}/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
  810. /package/dist/{web → public}/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
  811. /package/dist/{web → public}/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
  812. /package/dist/{web → public}/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
  813. /package/dist/{web → public}/assets/java-CylS5w8V.js +0 -0
  814. /package/dist/{web → public}/assets/javascript-wDzz0qaB.js +0 -0
  815. /package/dist/{web → public}/assets/jinja-4LBKfQ-Z.js +0 -0
  816. /package/dist/{web → public}/assets/jison-wvAkD_A8.js +0 -0
  817. /package/dist/{web → public}/assets/json-Cp-IABpG.js +0 -0
  818. /package/dist/{web → public}/assets/json5-C9tS-k6U.js +0 -0
  819. /package/dist/{web → public}/assets/jsonc-Des-eS-w.js +0 -0
  820. /package/dist/{web → public}/assets/jsonl-DcaNXYhu.js +0 -0
  821. /package/dist/{web → public}/assets/jsonnet-DFQXde-d.js +0 -0
  822. /package/dist/{web → public}/assets/jssm-C2t-YnRu.js +0 -0
  823. /package/dist/{web → public}/assets/jsx-g9-lgVsj.js +0 -0
  824. /package/dist/{web → public}/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  825. /package/dist/{web → public}/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  826. /package/dist/{web → public}/assets/kanagawa-wave-DWedfzmr.js +0 -0
  827. /package/dist/{web → public}/assets/katex-DvXFAOB1.css +0 -0
  828. /package/dist/{web → public}/assets/kdl-DV7GczEv.js +0 -0
  829. /package/dist/{web → public}/assets/kotlin-BdnUsdx6.js +0 -0
  830. /package/dist/{web → public}/assets/laserwave-DUszq2jm.js +0 -0
  831. /package/dist/{web → public}/assets/less-B1dDrJ26.js +0 -0
  832. /package/dist/{web → public}/assets/light-plus-B7mTdjB0.js +0 -0
  833. /package/dist/{web → public}/assets/liquid-DYVedYrR.js +0 -0
  834. /package/dist/{web → public}/assets/llvm-BtvRca6l.js +0 -0
  835. /package/dist/{web → public}/assets/log-2UxHyX5q.js +0 -0
  836. /package/dist/{web → public}/assets/logo-BtOb2qkB.js +0 -0
  837. /package/dist/{web → public}/assets/lua-BbnMAYS6.js +0 -0
  838. /package/dist/{web → public}/assets/make-CHLpvVh8.js +0 -0
  839. /package/dist/{web → public}/assets/markdown-Cvjx9yec.js +0 -0
  840. /package/dist/{web → public}/assets/material-theme-D5KoaKCx.js +0 -0
  841. /package/dist/{web → public}/assets/material-theme-darker-BfHTSMKl.js +0 -0
  842. /package/dist/{web → public}/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  843. /package/dist/{web → public}/assets/material-theme-ocean-CyktbL80.js +0 -0
  844. /package/dist/{web → public}/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  845. /package/dist/{web → public}/assets/matlab-D7o27uSR.js +0 -0
  846. /package/dist/{web → public}/assets/mdc-DUICxH0z.js +0 -0
  847. /package/dist/{web → public}/assets/mdx-Cmh6b_Ma.js +0 -0
  848. /package/dist/{web → public}/assets/min-dark-CafNBF8u.js +0 -0
  849. /package/dist/{web → public}/assets/min-light-CTRr51gU.js +0 -0
  850. /package/dist/{web → public}/assets/mipsasm-CKIfxQSi.js +0 -0
  851. /package/dist/{web → public}/assets/monokai-D4h5O-jR.js +0 -0
  852. /package/dist/{web → public}/assets/move-Bu9oaDYs.js +0 -0
  853. /package/dist/{web → public}/assets/narrat-DRg8JJMk.js +0 -0
  854. /package/dist/{web → public}/assets/nextflow-BrzmwbiE.js +0 -0
  855. /package/dist/{web → public}/assets/nginx-DknmC5AR.js +0 -0
  856. /package/dist/{web → public}/assets/night-owl-C39BiMTA.js +0 -0
  857. /package/dist/{web → public}/assets/nim-CVrawwO9.js +0 -0
  858. /package/dist/{web → public}/assets/nord-Ddv68eIx.js +0 -0
  859. /package/dist/{web → public}/assets/nushell-C-sUppwS.js +0 -0
  860. /package/dist/{web → public}/assets/objective-c-DXmwc3jG.js +0 -0
  861. /package/dist/{web → public}/assets/objective-cpp-CLxacb5B.js +0 -0
  862. /package/dist/{web → public}/assets/ocaml-C0hk2d4L.js +0 -0
  863. /package/dist/{web → public}/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  864. /package/dist/{web → public}/assets/one-light-PoHY5YXO.js +0 -0
  865. /package/dist/{web → public}/assets/openscad-C4EeE6gA.js +0 -0
  866. /package/dist/{web → public}/assets/ordinal-Cboi1Yqb.js +0 -0
  867. /package/dist/{web → public}/assets/pascal-D93ZcfNL.js +0 -0
  868. /package/dist/{web → public}/assets/perl-C0TMdlhV.js +0 -0
  869. /package/dist/{web → public}/assets/php-CDn_0X-4.js +0 -0
  870. /package/dist/{web → public}/assets/pierre-dark-BXuwtOqb.js +0 -0
  871. /package/dist/{web → public}/assets/pierre-light-dckrK0oj.js +0 -0
  872. /package/dist/{web → public}/assets/pkl-u5AG7uiY.js +0 -0
  873. /package/dist/{web → public}/assets/plastic-3e1v2bzS.js +0 -0
  874. /package/dist/{web → public}/assets/plsql-ChMvpjG-.js +0 -0
  875. /package/dist/{web → public}/assets/po-BTJTHyun.js +0 -0
  876. /package/dist/{web → public}/assets/poimandres-CS3Unz2-.js +0 -0
  877. /package/dist/{web → public}/assets/polar-C0HS_06l.js +0 -0
  878. /package/dist/{web → public}/assets/postcss-CXtECtnM.js +0 -0
  879. /package/dist/{web → public}/assets/powerquery-CEu0bR-o.js +0 -0
  880. /package/dist/{web → public}/assets/powershell-Dpen1YoG.js +0 -0
  881. /package/dist/{web → public}/assets/prisma-Dd19v3D-.js +0 -0
  882. /package/dist/{web → public}/assets/prolog-CbFg5uaA.js +0 -0
  883. /package/dist/{web → public}/assets/pug-CGlum2m_.js +0 -0
  884. /package/dist/{web → public}/assets/puppet-BMWR74SV.js +0 -0
  885. /package/dist/{web → public}/assets/purescript-CklMAg4u.js +0 -0
  886. /package/dist/{web → public}/assets/python-B6aJPvgy.js +0 -0
  887. /package/dist/{web → public}/assets/qml-3beO22l8.js +0 -0
  888. /package/dist/{web → public}/assets/qmldir-C8lEn-DE.js +0 -0
  889. /package/dist/{web → public}/assets/qss-IeuSbFQv.js +0 -0
  890. /package/dist/{web → public}/assets/racket-BqYA7rlc.js +0 -0
  891. /package/dist/{web → public}/assets/raku-DXvB9xmW.js +0 -0
  892. /package/dist/{web → public}/assets/red-bN70gL4F.js +0 -0
  893. /package/dist/{web → public}/assets/reg-C-SQnVFl.js +0 -0
  894. /package/dist/{web → public}/assets/regexp-CDVJQ6XC.js +0 -0
  895. /package/dist/{web → public}/assets/rel-C3B-1QV4.js +0 -0
  896. /package/dist/{web → public}/assets/riscv-BM1_JUlF.js +0 -0
  897. /package/dist/{web → public}/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  898. /package/dist/{web → public}/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  899. /package/dist/{web → public}/assets/rose-pine-qdsjHGoJ.js +0 -0
  900. /package/dist/{web → public}/assets/rosmsg-BJDFO7_C.js +0 -0
  901. /package/dist/{web → public}/assets/rst-B0xPkSld.js +0 -0
  902. /package/dist/{web → public}/assets/ruby-BvKwtOVI.js +0 -0
  903. /package/dist/{web → public}/assets/rust-B1yitclQ.js +0 -0
  904. /package/dist/{web → public}/assets/sas-cz2c8ADy.js +0 -0
  905. /package/dist/{web → public}/assets/sass-Cj5Yp3dK.js +0 -0
  906. /package/dist/{web → public}/assets/scala-C151Ov-r.js +0 -0
  907. /package/dist/{web → public}/assets/scheme-C98Dy4si.js +0 -0
  908. /package/dist/{web → public}/assets/scss-OYdSNvt2.js +0 -0
  909. /package/dist/{web → public}/assets/sdbl-DVxCFoDh.js +0 -0
  910. /package/dist/{web → public}/assets/shaderlab-Dg9Lc6iA.js +0 -0
  911. /package/dist/{web → public}/assets/shellscript-Yzrsuije.js +0 -0
  912. /package/dist/{web → public}/assets/shellsession-BADoaaVG.js +0 -0
  913. /package/dist/{web → public}/assets/slack-dark-BthQWCQV.js +0 -0
  914. /package/dist/{web → public}/assets/slack-ochin-DqwNpetd.js +0 -0
  915. /package/dist/{web → public}/assets/smalltalk-BERRCDM3.js +0 -0
  916. /package/dist/{web → public}/assets/snazzy-light-Bw305WKR.js +0 -0
  917. /package/dist/{web → public}/assets/solarized-dark-DXbdFlpD.js +0 -0
  918. /package/dist/{web → public}/assets/solarized-light-L9t79GZl.js +0 -0
  919. /package/dist/{web → public}/assets/solidity-rGO070M0.js +0 -0
  920. /package/dist/{web → public}/assets/soy-Brmx7dQM.js +0 -0
  921. /package/dist/{web → public}/assets/sparql-rVzFXLq3.js +0 -0
  922. /package/dist/{web → public}/assets/splunk-BtCnVYZw.js +0 -0
  923. /package/dist/{web → public}/assets/sql-BLtJtn59.js +0 -0
  924. /package/dist/{web → public}/assets/ssh-config-_ykCGR6B.js +0 -0
  925. /package/dist/{web → public}/assets/stata-BH5u7GGu.js +0 -0
  926. /package/dist/{web → public}/assets/stylus-BEDo0Tqx.js +0 -0
  927. /package/dist/{web → public}/assets/swift-Dg5xB15N.js +0 -0
  928. /package/dist/{web → public}/assets/synthwave-84-CbfX1IO0.js +0 -0
  929. /package/dist/{web → public}/assets/system-verilog-CnnmHF94.js +0 -0
  930. /package/dist/{web → public}/assets/systemd-4A_iFExJ.js +0 -0
  931. /package/dist/{web → public}/assets/talonscript-CkByrt1z.js +0 -0
  932. /package/dist/{web → public}/assets/tasl-QIJgUcNo.js +0 -0
  933. /package/dist/{web → public}/assets/tcl-dwOrl1Do.js +0 -0
  934. /package/dist/{web → public}/assets/templ-W15q3VgB.js +0 -0
  935. /package/dist/{web → public}/assets/terraform-BETggiCN.js +0 -0
  936. /package/dist/{web → public}/assets/tokyo-night-hegEt444.js +0 -0
  937. /package/dist/{web → public}/assets/toml-vGWfd6FD.js +0 -0
  938. /package/dist/{web → public}/assets/ts-tags-zn1MmPIZ.js +0 -0
  939. /package/dist/{web → public}/assets/tsv-B_m7g4N7.js +0 -0
  940. /package/dist/{web → public}/assets/tsx-COt5Ahok.js +0 -0
  941. /package/dist/{web → public}/assets/turtle-BsS91CYL.js +0 -0
  942. /package/dist/{web → public}/assets/twig-CO9l9SDP.js +0 -0
  943. /package/dist/{web → public}/assets/typescript-BPQ3VLAy.js +0 -0
  944. /package/dist/{web → public}/assets/typespec-BGHnOYBU.js +0 -0
  945. /package/dist/{web → public}/assets/typst-DHCkPAjA.js +0 -0
  946. /package/dist/{web → public}/assets/v-BcVCzyr7.js +0 -0
  947. /package/dist/{web → public}/assets/vala-CsfeWuGM.js +0 -0
  948. /package/dist/{web → public}/assets/vb-D17OF-Vu.js +0 -0
  949. /package/dist/{web → public}/assets/verilog-BQ8w6xss.js +0 -0
  950. /package/dist/{web → public}/assets/vesper-DU1UobuO.js +0 -0
  951. /package/dist/{web → public}/assets/vhdl-CeAyd5Ju.js +0 -0
  952. /package/dist/{web → public}/assets/viml-CJc9bBzg.js +0 -0
  953. /package/dist/{web → public}/assets/vitesse-black-Bkuqu6BP.js +0 -0
  954. /package/dist/{web → public}/assets/vitesse-dark-D0r3Knsf.js +0 -0
  955. /package/dist/{web → public}/assets/vitesse-light-CVO1_9PV.js +0 -0
  956. /package/dist/{web → public}/assets/vyper-CDx5xZoG.js +0 -0
  957. /package/dist/{web → public}/assets/wasm-CG6Dc4jp.js +0 -0
  958. /package/dist/{web → public}/assets/wasm-MzD3tlZU.js +0 -0
  959. /package/dist/{web → public}/assets/wenyan-BV7otONQ.js +0 -0
  960. /package/dist/{web → public}/assets/wgsl-Dx-B1_4e.js +0 -0
  961. /package/dist/{web → public}/assets/wikitext-BhOHFoWU.js +0 -0
  962. /package/dist/{web → public}/assets/wit-5i3qLPDT.js +0 -0
  963. /package/dist/{web → public}/assets/wolfram-lXgVvXCa.js +0 -0
  964. /package/dist/{web → public}/assets/xml-sdJ4AIDG.js +0 -0
  965. /package/dist/{web → public}/assets/xsl-CtQFsRM5.js +0 -0
  966. /package/dist/{web → public}/assets/yaml-Buea-lGh.js +0 -0
  967. /package/dist/{web → public}/assets/zenscript-DVFEvuxE.js +0 -0
  968. /package/dist/{web → public}/assets/zig-VOosw3JB.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/db/index.ts","../src/lib/paths.ts","../src/db/schema.ts","../src/amuxBridge.ts","../src/trpc/trpc.ts","../src/trpc/windows.ts","../client/lib/layout.ts","../src/trpc/layout.ts","../src/trpc/agents.ts","../src/trpc/files.ts","../src/trpc/router.ts"],"sourcesContent":["/**\n * Shella Server - Full product combining Amux + UI\n *\n * Creates a server that:\n * 1. Initializes Shella's database (windows, panes, ui_state)\n * 2. Creates an amux bridge for session/agent operations\n * 3. Serves the bundled UI static files\n * 4. Mounts Shella's tRPC API at /trpc (which proxies to amux internally)\n * 5. Handles WebSocket connections for subscriptions\n */\n\nimport express from 'express';\nimport { createServer } from 'http';\nimport { WebSocketServer } from 'ws';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport { createExpressMiddleware } from '@trpc/server/adapters/express';\nimport { applyWSSHandler } from '@trpc/server/adapters/ws';\nimport { agentManager } from '@bytespell/amux/agents/manager';\n\n// Import to trigger amux database initialization\nimport '@bytespell/amux/db';\n\n// Import to trigger shella database initialization\nimport './db/index.js';\n\nimport { createAmuxBridge } from './amuxBridge.js';\nimport { shellaRouter, initializeRouters } from './trpc/router.js';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nexport interface ShellaServerOptions {\n port?: number;\n onReady?: (url: string) => void;\n}\n\nexport interface ShellaServer {\n start: () => Promise<void>;\n stop: () => Promise<void>;\n}\n\nexport function createShellaServer(options: ShellaServerOptions = {}): ShellaServer {\n const port = options.port ?? 3067;\n\n // Initialize amux bridge\n const amuxBridge = createAmuxBridge();\n\n // Initialize routers with the bridge\n initializeRouters(amuxBridge);\n\n // Create main express app\n const app = express();\n app.use(express.json());\n\n // Serve static UI files first\n const publicPath = path.join(__dirname, '..', 'public');\n app.use(express.static(publicPath));\n\n // tRPC HTTP endpoint\n app.use('/trpc', createExpressMiddleware({ router: shellaRouter }));\n\n // Health check\n app.get('/health', (_req, res) => res.json({ status: 'ok' }));\n\n // SPA fallback - serve index.html for all non-API routes\n // Express 5 requires named parameter for wildcards\n app.get('/{*splat}', (_req, res) => {\n res.sendFile(path.join(publicPath, 'index.html'));\n });\n\n // Create HTTP server\n const server = createServer(app);\n\n // WebSocket for subscriptions\n const wss = new WebSocketServer({ server, path: '/trpc' });\n applyWSSHandler({ wss, router: shellaRouter });\n\n return {\n start: () => {\n return new Promise((resolve) => {\n server.listen(port, () => {\n const url = `http://localhost:${port}`;\n console.log(`[shella] Running on ${url}`);\n options.onReady?.(url);\n resolve();\n });\n });\n },\n\n stop: async () => {\n console.log('[shella] Shutting down...');\n wss.close();\n await agentManager.stopAll();\n server.close();\n },\n };\n}\n\n// Re-export router type for UI\nexport { shellaRouter, type ShellaRouter } from './trpc/router.js';\n","import Database from 'better-sqlite3';\nimport { drizzle } from 'drizzle-orm/better-sqlite3';\nimport { getShellaDbPath, ensureDir, getDataDir } from '../lib/paths.js';\nimport * as schema from './schema.js';\n\nensureDir(getDataDir());\n\nconst sqlite = new Database(getShellaDbPath());\nsqlite.pragma('journal_mode = WAL');\nsqlite.pragma('foreign_keys = ON');\n\nexport const db = drizzle(sqlite, { schema });\n\n// Create tables if they don't exist\nsqlite.exec(`\n CREATE TABLE IF NOT EXISTS windows (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n has_custom_title INTEGER NOT NULL DEFAULT 0,\n layout TEXT NOT NULL,\n active_pane_id TEXT NOT NULL,\n created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),\n last_accessed_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)\n );\n\n CREATE TABLE IF NOT EXISTS panes (\n id TEXT PRIMARY KEY,\n window_id TEXT NOT NULL REFERENCES windows(id) ON DELETE CASCADE,\n session_id TEXT NOT NULL,\n created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)\n );\n\n CREATE TABLE IF NOT EXISTS ui_state (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n );\n`);\n\nexport { schema };\n","import path from 'path';\nimport os from 'os';\nimport fs from 'fs';\n\n/**\n * Get the data directory following XDG Base Directory spec\n * Shared with amux in the same directory.\n */\nexport function getDataDir(): string {\n const home = os.homedir();\n\n let dataDir: string;\n\n switch (process.platform) {\n case 'darwin':\n dataDir = path.join(home, 'Library', 'Application Support', 'shella');\n break;\n case 'win32':\n dataDir = path.join(process.env.APPDATA || path.join(home, 'AppData', 'Roaming'), 'shella');\n break;\n default:\n // Linux and others - follow XDG spec\n dataDir = path.join(process.env.XDG_DATA_HOME || path.join(home, '.local', 'share'), 'shella');\n }\n\n return dataDir;\n}\n\n/**\n * Check if running in mock mode\n */\nexport function isMockMode(): boolean {\n return process.env.SHELLA_MOCK_MODE === 'true';\n}\n\n/**\n * Get the path to Shella's database file (UI state: windows, panes, layouts)\n * This is separate from amux's database (sessions, events, agent configs)\n */\nexport function getShellaDbPath(): string {\n const filename = isMockMode() ? 'shella-ui.mock.db' : 'shella-ui.db';\n return path.join(getDataDir(), filename);\n}\n\n/**\n * Ensure a directory exists, creating it if necessary\n */\nexport function ensureDir(dir: string): void {\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n}\n","import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';\nimport { sql } from 'drizzle-orm';\nimport type { LayoutNode } from '../../client/lib/layout.js';\n\n/**\n * Windows - top-level UI containers with layout trees.\n * Each window contains one or more panes arranged in a layout.\n */\nexport const windows = sqliteTable('windows', {\n id: text('id').primaryKey(),\n title: text('title').notNull(),\n hasCustomTitle: integer('has_custom_title', { mode: 'boolean' }).notNull().default(false),\n /** JSON-serialized LayoutNode tree */\n layout: text('layout', { mode: 'json' }).$type<LayoutNode>().notNull(),\n activePaneId: text('active_pane_id').notNull(),\n createdAt: integer('created_at', { mode: 'timestamp_ms' })\n .notNull()\n .default(sql`(unixepoch() * 1000)`),\n lastAccessedAt: integer('last_accessed_at', { mode: 'timestamp_ms' })\n .notNull()\n .default(sql`(unixepoch() * 1000)`),\n});\n\n/**\n * Panes - individual agent session containers within a window.\n * Each pane references an amux session (cross-database reference).\n */\nexport const panes = sqliteTable('panes', {\n id: text('id').primaryKey(),\n windowId: text('window_id')\n .notNull()\n .references(() => windows.id, { onDelete: 'cascade' }),\n /** References amux session ID (cross-database) */\n sessionId: text('session_id').notNull(),\n createdAt: integer('created_at', { mode: 'timestamp_ms' })\n .notNull()\n .default(sql`(unixepoch() * 1000)`),\n});\n\n/**\n * UI state - key/value store for UI preferences.\n * Examples: active_window_id, theme, sidebar_collapsed\n */\nexport const uiState = sqliteTable('ui_state', {\n key: text('key').primaryKey(),\n value: text('value').notNull(),\n});\n\n// Type exports\nexport type Window = typeof windows.$inferSelect;\nexport type NewWindow = typeof windows.$inferInsert;\nexport type Pane = typeof panes.$inferSelect;\nexport type NewPane = typeof panes.$inferInsert;\nexport type UiState = typeof uiState.$inferSelect;\n","/**\n * Bridge between Shella and Amux.\n *\n * Since Shella embeds Amux (same process), this bridge directly calls\n * Amux's internal functions rather than going through tRPC.\n */\n\nimport { randomUUID } from 'crypto';\nimport { eq, inArray } from 'drizzle-orm';\nimport { db, schema } from '@bytespell/amux/db';\nimport { agentManager } from '@bytespell/amux/agents/manager';\nimport { clearEventsForSession } from '@bytespell/amux/agents/eventStore';\nimport { listFilesForAutocomplete, type FileEntry } from '@bytespell/amux/trpc/files';\nimport type { WindowUpdate } from '@bytespell/amux/types';\n\nconst { sessions, agentConfigs, appState } = schema;\n\n// Types that match Amux's internal types\nexport interface AmuxSession {\n id: string;\n directory: string;\n agentConfigId: string;\n acpSessionId: string | null;\n title: string | null;\n model: string | null;\n mode: string | null;\n createdAt: Date;\n}\n\nexport interface AmuxAgentConfig {\n id: string;\n name: string;\n command: string;\n args: string[] | null;\n env: Record<string, string> | null;\n createdAt: Date;\n}\n\nexport interface AmuxAgentSession {\n acpSessionId: string;\n replayEvents: any[];\n models?: Array<{ modelId: string; name: string }>;\n modes?: Array<{ id: string; name: string; description?: string }>;\n}\n\nexport interface AmuxBridge {\n // Session operations\n getSessions(ids: string[]): Promise<AmuxSession[]>;\n getSession(id: string): Promise<AmuxSession | null>;\n createSession(params: { id?: string; directory: string; agentConfigId?: string }): Promise<AmuxSession>;\n deleteSession(id: string): Promise<void>;\n\n // Agent config operations\n getAgentConfigs(): Promise<AmuxAgentConfig[]>;\n\n // Agent operations (start/stop/prompt/etc)\n startAgent(sessionId: string): Promise<AmuxAgentSession>;\n stopAgent(sessionId: string): Promise<void>;\n prompt(sessionId: string, message: string): Promise<void>;\n cancel(sessionId: string): Promise<void>;\n setMode(sessionId: string, modeId: string): Promise<void>;\n setModel(sessionId: string, modelId: string): Promise<void>;\n respondPermission(sessionId: string, requestId: string, optionId: string): void;\n switchAgent(sessionId: string, agentConfigId: string): Promise<void>;\n\n // Subscriptions\n subscribeToSession(sessionId: string, callback: (update: WindowUpdate) => void): () => void;\n\n // File operations\n listFilesForAutocomplete(sessionId: string, partialPath: string, limit: number): Promise<FileEntry[]>;\n}\n\n/**\n * Create an AmuxBridge from the embedded Amux instance.\n * This connects to Amux running in the same process.\n */\nexport function createAmuxBridge(): AmuxBridge {\n return {\n async getSessions(ids: string[]): Promise<AmuxSession[]> {\n if (ids.length === 0) return [];\n return db.select().from(sessions).where(inArray(sessions.id, ids)).all();\n },\n\n async getSession(id: string): Promise<AmuxSession | null> {\n return db.select().from(sessions).where(eq(sessions.id, id)).get() ?? null;\n },\n\n async createSession(params: { id?: string; directory: string; agentConfigId?: string }): Promise<AmuxSession> {\n // Get agent config\n let configId = params.agentConfigId;\n if (!configId) {\n const lastUsedRow = db.select().from(appState).where(eq(appState.key, 'last_used_agent_config_id')).get();\n if (lastUsedRow?.value) {\n const config = db.select().from(agentConfigs).where(eq(agentConfigs.id, lastUsedRow.value)).get();\n if (config) configId = config.id;\n }\n if (!configId) {\n const firstConfig = db.select().from(agentConfigs).get();\n if (!firstConfig) {\n throw new Error('No agent configs available');\n }\n configId = firstConfig.id;\n }\n } else {\n // Save as last used\n db.insert(appState)\n .values({ key: 'last_used_agent_config_id', value: configId })\n .onConflictDoUpdate({ target: appState.key, set: { value: configId } })\n .run();\n }\n\n // Use client-provided ID if available (for optimistic updates)\n const id = params.id ?? randomUUID();\n const now = new Date();\n db.insert(sessions).values({\n id,\n directory: params.directory,\n agentConfigId: configId,\n acpSessionId: null,\n model: null,\n mode: null,\n createdAt: now,\n }).run();\n\n return db.select().from(sessions).where(eq(sessions.id, id)).get()!;\n },\n\n async deleteSession(id: string): Promise<void> {\n await agentManager.stopForSession(id);\n clearEventsForSession(id);\n db.delete(sessions).where(eq(sessions.id, id)).run();\n },\n\n async getAgentConfigs(): Promise<AmuxAgentConfig[]> {\n return db.select().from(agentConfigs).all();\n },\n\n async startAgent(sessionId: string): Promise<AmuxAgentSession> {\n return agentManager.startForSession(sessionId);\n },\n\n async stopAgent(sessionId: string): Promise<void> {\n await agentManager.stopForSession(sessionId);\n },\n\n async prompt(sessionId: string, message: string): Promise<void> {\n await agentManager.prompt(sessionId, message);\n },\n\n async cancel(sessionId: string): Promise<void> {\n await agentManager.cancel(sessionId);\n },\n\n async setMode(sessionId: string, modeId: string): Promise<void> {\n await agentManager.setMode(sessionId, modeId);\n },\n\n async setModel(sessionId: string, modelId: string): Promise<void> {\n await agentManager.setModel(sessionId, modelId);\n },\n\n respondPermission(sessionId: string, requestId: string, optionId: string): void {\n agentManager.respondPermission(sessionId, requestId, optionId);\n },\n\n async switchAgent(sessionId: string, agentConfigId: string): Promise<void> {\n // Stop old agent\n await agentManager.stopForSession(sessionId);\n // Clear events\n clearEventsForSession(sessionId);\n // Update session\n db.update(sessions)\n .set({\n agentConfigId,\n acpSessionId: null,\n model: null,\n mode: null,\n })\n .where(eq(sessions.id, sessionId))\n .run();\n // Save as last used\n db.insert(appState)\n .values({ key: 'last_used_agent_config_id', value: agentConfigId })\n .onConflictDoUpdate({ target: appState.key, set: { value: agentConfigId } })\n .run();\n },\n\n subscribeToSession(sessionId: string, callback: (update: WindowUpdate) => void): () => void {\n const handler = (event: { sessionId: string; update: WindowUpdate }) => {\n if (event.sessionId === sessionId) {\n callback(event.update);\n }\n };\n agentManager.on('update', handler);\n return () => agentManager.off('update', handler);\n },\n\n async listFilesForAutocomplete(sessionId: string, partialPath: string, limit: number): Promise<FileEntry[]> {\n const session = db.select().from(sessions).where(eq(sessions.id, sessionId)).get();\n if (!session) throw new Error(`Session ${sessionId} not found`);\n return listFilesForAutocomplete(session.directory, partialPath, limit);\n },\n };\n}\n","import { initTRPC } from '@trpc/server';\n\nconst t = initTRPC.create();\n\nexport const router = t.router;\nexport const publicProcedure = t.procedure;\n","import { z } from 'zod';\nimport { randomUUID } from 'crypto';\nimport { eq } from 'drizzle-orm';\nimport { router, publicProcedure } from './trpc.js';\nimport { db } from '../db/index.js';\nimport { windows, panes, uiState } from '../db/schema.js';\nimport { createLeaf, type LayoutNode } from '../../client/lib/layout.js';\nimport type { AmuxBridge } from '../amuxBridge.js';\n\n// AmuxBridge is injected at server startup\nlet amux: AmuxBridge;\n\nexport function setAmuxBridge(bridge: AmuxBridge) {\n amux = bridge;\n}\n\nfunction generateTitle(existingCount: number, directory: string): string {\n // Use directory name as title, or generic \"Window N\"\n const dirName = directory.split('/').pop();\n if (dirName && dirName !== '~' && dirName !== '') {\n return dirName;\n }\n return `Window ${existingCount + 1}`;\n}\n\nexport const windowsRouter = router({\n /**\n * List all windows with their panes and sessions.\n */\n list: publicProcedure.query(async () => {\n const allWindows = db.select().from(windows).orderBy(windows.createdAt).all();\n const allPanes = db.select().from(panes).all();\n const activeRow = db.select().from(uiState).where(eq(uiState.key, 'active_window_id')).get();\n\n // Get all unique session IDs\n const sessionIds = [...new Set(allPanes.map(p => p.sessionId))];\n\n // Fetch sessions from amux\n const sessionsData = await amux.getSessions(sessionIds);\n const sessionMap = new Map(sessionsData.map(s => [s.id, s]));\n\n // Get agent configs from amux\n const agentConfigs = await amux.getAgentConfigs();\n\n return {\n windows: allWindows.map(w => ({\n ...w,\n panes: allPanes\n .filter(p => p.windowId === w.id)\n .map(p => ({\n ...p,\n session: sessionMap.get(p.sessionId) ?? null,\n })),\n })),\n activeWindowId: activeRow?.value ?? allWindows[allWindows.length - 1]?.id ?? null,\n agentConfigs,\n };\n }),\n\n /**\n * Get a single window by ID.\n */\n get: publicProcedure\n .input(z.object({ id: z.string() }))\n .query(async ({ input }) => {\n const window = db.select().from(windows).where(eq(windows.id, input.id)).get();\n if (!window) {\n throw new Error(`Window ${input.id} not found`);\n }\n const windowPanes = db.select().from(panes).where(eq(panes.windowId, input.id)).all();\n\n // Fetch sessions\n const sessionIds = windowPanes.map(p => p.sessionId);\n const sessionsData = await amux.getSessions(sessionIds);\n const sessionMap = new Map(sessionsData.map(s => [s.id, s]));\n\n return {\n ...window,\n panes: windowPanes.map(p => ({\n ...p,\n session: sessionMap.get(p.sessionId) ?? null,\n })),\n };\n }),\n\n /**\n * Create a new window with a single pane.\n */\n create: publicProcedure\n .input(z.object({\n id: z.string().optional(),\n title: z.string().optional(),\n directory: z.string().optional(),\n agentConfigId: z.string().optional(),\n }))\n .mutation(async ({ input }) => {\n const directory = input.directory ?? process.cwd();\n\n // 1. Create session in amux\n const session = await amux.createSession({\n directory,\n agentConfigId: input.agentConfigId,\n });\n\n // 2. Create window + pane in shella\n const windowId = input.id ?? randomUUID();\n const paneId = randomUUID();\n const existingCount = db.select().from(windows).all().length;\n const layout: LayoutNode = createLeaf(paneId);\n\n db.insert(windows).values({\n id: windowId,\n title: input.title || generateTitle(existingCount, directory),\n hasCustomTitle: !!input.title, // Only true if title is non-empty string\n layout,\n activePaneId: paneId,\n }).run();\n\n db.insert(panes).values({\n id: paneId,\n windowId,\n sessionId: session.id,\n }).run();\n\n // 3. Set as active window\n db.insert(uiState)\n .values({ key: 'active_window_id', value: windowId })\n .onConflictDoUpdate({ target: uiState.key, set: { value: windowId } })\n .run();\n\n // Fetch the full window with panes for the response\n const newWindow = db.select().from(windows).where(eq(windows.id, windowId)).get()!;\n const newPanes = db.select().from(panes).where(eq(panes.windowId, windowId)).all();\n\n return {\n ...newWindow,\n panes: newPanes.map(p => ({\n ...p,\n session: p.sessionId === session.id ? session : null,\n })),\n };\n }),\n\n /**\n * Update a window (title, etc).\n */\n update: publicProcedure\n .input(z.object({\n id: z.string(),\n title: z.string().optional(),\n }))\n .mutation(async ({ input }) => {\n const updates: Record<string, unknown> = {};\n if (input.title !== undefined) {\n updates.title = input.title;\n updates.hasCustomTitle = true;\n }\n updates.lastAccessedAt = new Date();\n\n db.update(windows)\n .set(updates)\n .where(eq(windows.id, input.id))\n .run();\n\n return db.select().from(windows).where(eq(windows.id, input.id)).get()!;\n }),\n\n /**\n * Delete a window and all its panes/sessions.\n */\n delete: publicProcedure\n .input(z.object({ id: z.string() }))\n .mutation(async ({ input }) => {\n // Get all panes for this window\n const windowPanes = db.select().from(panes).where(eq(panes.windowId, input.id)).all();\n\n // Delete sessions in amux\n for (const pane of windowPanes) {\n await amux.deleteSession(pane.sessionId);\n }\n\n // Delete window (cascades to panes)\n db.delete(windows).where(eq(windows.id, input.id)).run();\n\n // Update active window if needed\n const activeRow = db.select().from(uiState).where(eq(uiState.key, 'active_window_id')).get();\n if (activeRow?.value === input.id) {\n const remaining = db.select().from(windows).orderBy(windows.createdAt).all();\n const newActiveId = remaining[remaining.length - 1]?.id ?? null;\n if (newActiveId) {\n db.update(uiState)\n .set({ value: newActiveId })\n .where(eq(uiState.key, 'active_window_id'))\n .run();\n } else {\n db.delete(uiState).where(eq(uiState.key, 'active_window_id')).run();\n }\n }\n\n return { ok: true };\n }),\n\n /**\n * Set the active window.\n */\n setActive: publicProcedure\n .input(z.object({ id: z.string() }))\n .mutation(async ({ input }) => {\n db.insert(uiState)\n .values({ key: 'active_window_id', value: input.id })\n .onConflictDoUpdate({ target: uiState.key, set: { value: input.id } })\n .run();\n\n // Update last accessed\n db.update(windows)\n .set({ lastAccessedAt: new Date() })\n .where(eq(windows.id, input.id))\n .run();\n\n return { ok: true };\n }),\n});\n","/**\n * Layout types for tmux-like pane splitting.\n *\n * Layout is a binary tree where:\n * - Leaf nodes are panes (contain a paneId)\n * - Branch nodes split space horizontally or vertically\n */\n\nexport type SplitDirection = 'horizontal' | 'vertical';\n\nexport interface LayoutLeaf {\n type: 'leaf';\n paneId: string;\n}\n\nexport interface LayoutBranch {\n type: 'branch';\n direction: SplitDirection;\n /** Percentage of space for first child (0-100) */\n ratio: number;\n first: LayoutNode;\n second: LayoutNode;\n}\n\nexport type LayoutNode = LayoutLeaf | LayoutBranch;\n\n/**\n * Create a leaf node for a pane.\n */\nexport function createLeaf(paneId: string): LayoutLeaf {\n return { type: 'leaf', paneId };\n}\n\n/**\n * Create a branch node splitting two children.\n */\nexport function createBranch(\n direction: SplitDirection,\n first: LayoutNode,\n second: LayoutNode,\n ratio = 50\n): LayoutBranch {\n return { type: 'branch', direction, ratio, first, second };\n}\n\n/**\n * Find all pane IDs in a layout tree.\n */\nexport function getAllPaneIds(node: LayoutNode): string[] {\n if (node.type === 'leaf') {\n return [node.paneId];\n }\n return [...getAllPaneIds(node.first), ...getAllPaneIds(node.second)];\n}\n\n/**\n * Find a pane in the layout and return its path.\n * Returns null if not found.\n */\nexport function findPanePath(\n node: LayoutNode,\n paneId: string,\n path: ('first' | 'second')[] = []\n): ('first' | 'second')[] | null {\n if (node.type === 'leaf') {\n return node.paneId === paneId ? path : null;\n }\n const firstPath = findPanePath(node.first, paneId, [...path, 'first']);\n if (firstPath) return firstPath;\n return findPanePath(node.second, paneId, [...path, 'second']);\n}\n\n/**\n * Replace a pane in the layout with a new node.\n */\nexport function replacePaneWithNode(\n root: LayoutNode,\n paneId: string,\n newNode: LayoutNode\n): LayoutNode {\n if (root.type === 'leaf') {\n return root.paneId === paneId ? newNode : root;\n }\n return {\n ...root,\n first: replacePaneWithNode(root.first, paneId, newNode),\n second: replacePaneWithNode(root.second, paneId, newNode),\n };\n}\n\n/**\n * Split a pane, creating a new branch with the original and new pane.\n */\nexport function splitPane(\n root: LayoutNode,\n paneId: string,\n newPaneId: string,\n direction: SplitDirection\n): LayoutNode {\n const originalLeaf = createLeaf(paneId);\n const newLeaf = createLeaf(newPaneId);\n const branch = createBranch(direction, originalLeaf, newLeaf);\n return replacePaneWithNode(root, paneId, branch);\n}\n\n/**\n * Remove a pane from the layout.\n * Returns the modified layout, or null if removing the only pane.\n */\nexport function removePane(root: LayoutNode, paneId: string): LayoutNode | null {\n if (root.type === 'leaf') {\n return root.paneId === paneId ? null : root;\n }\n\n // Check if either child is the pane to remove\n if (root.first.type === 'leaf' && root.first.paneId === paneId) {\n return root.second;\n }\n if (root.second.type === 'leaf' && root.second.paneId === paneId) {\n return root.first;\n }\n\n // Recursively remove from children\n const newFirst = removePane(root.first, paneId);\n const newSecond = removePane(root.second, paneId);\n\n // If a child was removed entirely, return the other\n if (newFirst === null) return newSecond;\n if (newSecond === null) return newFirst;\n\n // If either child changed, return updated branch\n if (newFirst !== root.first || newSecond !== root.second) {\n return { ...root, first: newFirst, second: newSecond };\n }\n\n return root;\n}\n\n/**\n * Update the split ratio at a specific path.\n */\nexport function updateRatio(\n root: LayoutNode,\n path: ('first' | 'second')[],\n newRatio: number\n): LayoutNode {\n if (path.length === 0) {\n if (root.type === 'branch') {\n return { ...root, ratio: Math.max(10, Math.min(90, newRatio)) };\n }\n return root;\n }\n\n if (root.type === 'leaf') return root;\n\n const [next, ...rest] = path;\n if (next === 'first') {\n return { ...root, first: updateRatio(root.first, rest, newRatio) };\n } else {\n return { ...root, second: updateRatio(root.second, rest, newRatio) };\n }\n}\n\n/**\n * Get the sibling pane ID when navigating in a direction.\n * Returns null if there's no sibling in that direction.\n */\nexport function getAdjacentPane(\n root: LayoutNode,\n currentPaneId: string,\n direction: 'left' | 'right' | 'up' | 'down'\n): string | null {\n const path = findPanePath(root, currentPaneId);\n if (!path) return null;\n\n // Navigate up the tree to find a branch going the right direction\n let node = root;\n const pathNodes: { node: LayoutBranch; childSide: 'first' | 'second' }[] = [];\n\n for (const step of path) {\n if (node.type === 'branch') {\n pathNodes.push({ node, childSide: step });\n node = step === 'first' ? node.first : node.second;\n }\n }\n\n // Find the closest branch that allows movement in the desired direction\n for (let i = pathNodes.length - 1; i >= 0; i--) {\n const { node: branch, childSide } = pathNodes[i];\n const isHorizontal = branch.direction === 'horizontal';\n const isVertical = branch.direction === 'vertical';\n\n // Check if this branch allows movement in the desired direction\n const canMove =\n (direction === 'left' && isHorizontal && childSide === 'second') ||\n (direction === 'right' && isHorizontal && childSide === 'first') ||\n (direction === 'up' && isVertical && childSide === 'second') ||\n (direction === 'down' && isVertical && childSide === 'first');\n\n if (canMove) {\n // Get the other child and find the closest pane in it\n const otherChild = childSide === 'first' ? branch.second : branch.first;\n return getFirstPaneInDirection(otherChild, direction);\n }\n }\n\n return null;\n}\n\n/**\n * Get the first pane when entering a subtree from a direction.\n */\nfunction getFirstPaneInDirection(\n node: LayoutNode,\n fromDirection: 'left' | 'right' | 'up' | 'down'\n): string {\n if (node.type === 'leaf') {\n return node.paneId;\n }\n\n // When entering from left, prefer the leftmost pane (first in horizontal split)\n // When entering from right, prefer the rightmost pane (second in horizontal split)\n // Similar for up/down with vertical splits\n const isHorizontal = node.direction === 'horizontal';\n\n if (fromDirection === 'left' || fromDirection === 'up') {\n // Coming from left/up, go to the first (left/top) child\n const targetChild = isHorizontal\n ? (fromDirection === 'left' ? node.first : node.first)\n : (fromDirection === 'up' ? node.first : node.first);\n return getFirstPaneInDirection(targetChild, fromDirection);\n } else {\n // Coming from right/down, go to the second (right/bottom) child\n const targetChild = isHorizontal\n ? (fromDirection === 'right' ? node.second : node.second)\n : (fromDirection === 'down' ? node.second : node.second);\n return getFirstPaneInDirection(targetChild, fromDirection);\n }\n}\n","import { z } from 'zod';\nimport { randomUUID } from 'crypto';\nimport { eq } from 'drizzle-orm';\nimport { router, publicProcedure } from './trpc.js';\nimport { db } from '../db/index.js';\nimport { windows, panes } from '../db/schema.js';\nimport {\n splitPane,\n removePane,\n getAllPaneIds,\n getAdjacentPane,\n updateRatio,\n type LayoutNode,\n type SplitDirection,\n} from '../../client/lib/layout.js';\nimport type { AmuxBridge } from '../amuxBridge.js';\n\nlet amux: AmuxBridge;\n\nexport function setAmuxBridge(bridge: AmuxBridge) {\n amux = bridge;\n}\n\nexport const layoutRouter = router({\n /**\n * Split a pane horizontally or vertically.\n * Creates a new session in amux and a new pane in shella.\n */\n split: publicProcedure\n .input(z.object({\n windowId: z.string(),\n paneId: z.string(),\n direction: z.enum(['horizontal', 'vertical']),\n // Client can provide IDs for optimistic updates\n newPaneId: z.string().optional(),\n newSessionId: z.string().optional(),\n }))\n .mutation(async ({ input }) => {\n // 1. Get source pane and its session\n const sourcePane = db.select().from(panes).where(eq(panes.id, input.paneId)).get();\n if (!sourcePane) {\n throw new Error(`Pane ${input.paneId} not found`);\n }\n\n const sourceSession = await amux.getSession(sourcePane.sessionId);\n if (!sourceSession) {\n throw new Error(`Session ${sourcePane.sessionId} not found`);\n }\n\n // 2. Create new session in amux (inherits directory and agent config)\n // Use client-provided ID if available for optimistic updates\n const newSession = await amux.createSession({\n id: input.newSessionId,\n directory: sourceSession.directory,\n agentConfigId: sourceSession.agentConfigId,\n });\n\n // 3. Create new pane (use client-provided ID if available)\n const newPaneId = input.newPaneId ?? randomUUID();\n db.insert(panes).values({\n id: newPaneId,\n windowId: input.windowId,\n sessionId: newSession.id,\n }).run();\n\n // 4. Update window layout\n const window = db.select().from(windows).where(eq(windows.id, input.windowId)).get();\n if (!window) {\n throw new Error(`Window ${input.windowId} not found`);\n }\n\n const currentLayout = window.layout as LayoutNode;\n const newLayout = splitPane(currentLayout, input.paneId, newPaneId, input.direction as SplitDirection);\n\n db.update(windows)\n .set({\n layout: newLayout,\n activePaneId: newPaneId,\n lastAccessedAt: new Date(),\n })\n .where(eq(windows.id, input.windowId))\n .run();\n\n // 5. Start agent for new pane\n await amux.startAgent(newSession.id);\n\n const now = new Date();\n return {\n newPaneId,\n newSessionId: newSession.id,\n layout: newLayout,\n // Match exact shape from windows.list: { ...pane, session }\n newPane: {\n id: newPaneId,\n windowId: input.windowId,\n sessionId: newSession.id,\n createdAt: now.toISOString(),\n session: {\n id: newSession.id,\n directory: newSession.directory,\n agentConfigId: newSession.agentConfigId,\n model: newSession.model,\n mode: newSession.mode,\n createdAt: newSession.createdAt.toISOString(),\n acpSessionId: newSession.acpSessionId,\n },\n },\n };\n }),\n\n /**\n * Close a pane. If it's the last pane, close the window.\n */\n closePane: publicProcedure\n .input(z.object({\n windowId: z.string(),\n paneId: z.string(),\n }))\n .mutation(async ({ input }) => {\n const window = db.select().from(windows).where(eq(windows.id, input.windowId)).get();\n if (!window) {\n throw new Error(`Window ${input.windowId} not found`);\n }\n\n const pane = db.select().from(panes).where(eq(panes.id, input.paneId)).get();\n if (!pane) {\n throw new Error(`Pane ${input.paneId} not found`);\n }\n\n const currentLayout = window.layout as LayoutNode;\n const allPaneIds = getAllPaneIds(currentLayout);\n\n // Check if this is the last pane\n if (allPaneIds.length === 1) {\n // Delete session in amux\n await amux.deleteSession(pane.sessionId);\n // Delete window (cascades to pane)\n db.delete(windows).where(eq(windows.id, input.windowId)).run();\n return { windowClosed: true, layout: null, activePaneId: null };\n }\n\n // Delete session in amux\n await amux.deleteSession(pane.sessionId);\n // Delete pane\n db.delete(panes).where(eq(panes.id, input.paneId)).run();\n\n // Update layout\n const newLayout = removePane(currentLayout, input.paneId);\n if (!newLayout) {\n throw new Error('Failed to remove pane from layout');\n }\n\n // Determine new active pane\n const newActivePaneId = window.activePaneId === input.paneId\n ? getAllPaneIds(newLayout)[0]\n : window.activePaneId;\n\n db.update(windows)\n .set({\n layout: newLayout,\n activePaneId: newActivePaneId,\n lastAccessedAt: new Date(),\n })\n .where(eq(windows.id, input.windowId))\n .run();\n\n return {\n windowClosed: false,\n layout: newLayout,\n activePaneId: newActivePaneId,\n };\n }),\n\n /**\n * Set the active pane within a window.\n */\n setActivePane: publicProcedure\n .input(z.object({\n windowId: z.string(),\n paneId: z.string(),\n }))\n .mutation(async ({ input }) => {\n db.update(windows)\n .set({\n activePaneId: input.paneId,\n lastAccessedAt: new Date(),\n })\n .where(eq(windows.id, input.windowId))\n .run();\n\n return { ok: true };\n }),\n\n /**\n * Navigate to an adjacent pane.\n */\n navigate: publicProcedure\n .input(z.object({\n windowId: z.string(),\n currentPaneId: z.string(),\n direction: z.enum(['left', 'right', 'up', 'down']),\n }))\n .mutation(async ({ input }) => {\n const window = db.select().from(windows).where(eq(windows.id, input.windowId)).get();\n if (!window) {\n throw new Error(`Window ${input.windowId} not found`);\n }\n\n const currentLayout = window.layout as LayoutNode;\n const adjacentPaneId = getAdjacentPane(currentLayout, input.currentPaneId, input.direction);\n\n if (adjacentPaneId) {\n db.update(windows)\n .set({\n activePaneId: adjacentPaneId,\n lastAccessedAt: new Date(),\n })\n .where(eq(windows.id, input.windowId))\n .run();\n\n return { newActivePaneId: adjacentPaneId };\n }\n\n return { newActivePaneId: null };\n }),\n\n /**\n * Update the split ratio at a specific position.\n */\n setRatio: publicProcedure\n .input(z.object({\n windowId: z.string(),\n path: z.array(z.enum(['first', 'second'])),\n ratio: z.number().min(10).max(90),\n }))\n .mutation(async ({ input }) => {\n const window = db.select().from(windows).where(eq(windows.id, input.windowId)).get();\n if (!window) {\n throw new Error(`Window ${input.windowId} not found`);\n }\n\n const currentLayout = window.layout as LayoutNode;\n const newLayout = updateRatio(currentLayout, input.path, input.ratio);\n\n db.update(windows)\n .set({ layout: newLayout })\n .where(eq(windows.id, input.windowId))\n .run();\n\n return { layout: newLayout };\n }),\n});\n","import { z } from 'zod';\nimport { eq } from 'drizzle-orm';\nimport { observable } from '@trpc/server/observable';\nimport { router, publicProcedure } from './trpc.js';\nimport { db } from '../db/index.js';\nimport { panes } from '../db/schema.js';\nimport type { WindowUpdate } from '@bytespell/amux/types';\nimport type { AmuxBridge } from '../amuxBridge.js';\n\nlet amux: AmuxBridge;\n\nexport function setAmuxBridge(bridge: AmuxBridge) {\n amux = bridge;\n}\n\nconst paneInput = z.object({\n paneId: z.string(),\n});\n\n// Helper to get sessionId from paneId\nfunction getSessionIdForPane(paneId: string): string {\n const pane = db.select().from(panes).where(eq(panes.id, paneId)).get();\n if (!pane) {\n throw new Error(`Pane ${paneId} not found`);\n }\n return pane.sessionId;\n}\n\nexport const agentsRouter = router({\n /**\n * Start agent for a pane.\n */\n start: publicProcedure\n .input(paneInput)\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n return amux.startAgent(sessionId);\n }),\n\n /**\n * Stop agent for a pane.\n */\n stop: publicProcedure\n .input(paneInput)\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.stopAgent(sessionId);\n return { ok: true };\n }),\n\n /**\n * Send a prompt to a pane's agent.\n */\n prompt: publicProcedure\n .input(z.object({\n paneId: z.string(),\n message: z.string(),\n }))\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.prompt(sessionId, input.message);\n return { ok: true };\n }),\n\n /**\n * Cancel the current prompt.\n */\n cancel: publicProcedure\n .input(paneInput)\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.cancel(sessionId);\n return { ok: true };\n }),\n\n /**\n * Set agent mode.\n */\n setMode: publicProcedure\n .input(z.object({\n paneId: z.string(),\n modeId: z.string(),\n }))\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.setMode(sessionId, input.modeId);\n return { ok: true };\n }),\n\n /**\n * Set agent model.\n */\n setModel: publicProcedure\n .input(z.object({\n paneId: z.string(),\n modelId: z.string(),\n }))\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.setModel(sessionId, input.modelId);\n return { ok: true };\n }),\n\n /**\n * Respond to a permission request.\n */\n respondPermission: publicProcedure\n .input(z.object({\n paneId: z.string(),\n requestId: z.string(),\n optionId: z.string(),\n }))\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n amux.respondPermission(sessionId, input.requestId, input.optionId);\n return { ok: true };\n }),\n\n /**\n * Switch to a different agent.\n */\n switchAgent: publicProcedure\n .input(z.object({\n paneId: z.string(),\n agentConfigId: z.string(),\n }))\n .mutation(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n await amux.switchAgent(sessionId, input.agentConfigId);\n return { ok: true };\n }),\n\n /**\n * Subscribe to updates for a pane's agent session.\n */\n subscribe: publicProcedure\n .input(paneInput)\n .subscription(({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n return observable<WindowUpdate>((emit) => {\n return amux.subscribeToSession(sessionId, (update) => {\n emit.next(update);\n });\n });\n }),\n});\n","import { z } from 'zod';\nimport { eq } from 'drizzle-orm';\nimport { router, publicProcedure } from './trpc.js';\nimport { db } from '../db/index.js';\nimport { panes } from '../db/schema.js';\nimport type { AmuxBridge } from '../amuxBridge.js';\n\nlet amux: AmuxBridge;\n\nexport function setAmuxBridge(bridge: AmuxBridge) {\n amux = bridge;\n}\n\n// Helper to get sessionId from paneId\nfunction getSessionIdForPane(paneId: string): string {\n const pane = db.select().from(panes).where(eq(panes.id, paneId)).get();\n if (!pane) {\n throw new Error(`Pane ${paneId} not found`);\n }\n return pane.sessionId;\n}\n\nexport const filesRouter = router({\n /**\n * List files/directories matching a partial path for autocomplete.\n * Returns files in the session's working directory.\n */\n listForAutocomplete: publicProcedure\n .input(z.object({\n paneId: z.string(),\n partialPath: z.string(),\n limit: z.number().default(20),\n }))\n .query(async ({ input }) => {\n const sessionId = getSessionIdForPane(input.paneId);\n return amux.listFilesForAutocomplete(sessionId, input.partialPath, input.limit);\n }),\n});\n","import { router } from './trpc.js';\nimport { windowsRouter, setAmuxBridge as setWindowsAmux } from './windows.js';\nimport { layoutRouter, setAmuxBridge as setLayoutAmux } from './layout.js';\nimport { agentsRouter, setAmuxBridge as setAgentsAmux } from './agents.js';\nimport { filesRouter, setAmuxBridge as setFilesAmux } from './files.js';\nimport type { AmuxBridge } from '../amuxBridge.js';\n\n/**\n * Initialize all routers with the amux bridge.\n * Must be called before any routes are used.\n */\nexport function initializeRouters(amux: AmuxBridge) {\n setWindowsAmux(amux);\n setLayoutAmux(amux);\n setAgentsAmux(amux);\n setFilesAmux(amux);\n}\n\n/**\n * Shella's tRPC router.\n *\n * Provides UI-layer endpoints:\n * - windows: Window CRUD (with panes)\n * - layout: Split, close, navigate panes\n * - agents: Proxy to amux for agent operations\n */\nexport const shellaRouter = router({\n windows: windowsRouter,\n layout: layoutRouter,\n agents: agentsRouter,\n files: filesRouter,\n});\n\nexport type ShellaRouter = typeof shellaRouter;\n"],"mappings":";;;;;;;AAWA,OAAO,aAAa;AACpB,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,OAAOA,WAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,+BAA+B;AACxC,SAAS,uBAAuB;AAChC,SAAS,gBAAAC,qBAAoB;AAG7B,OAAO;;;ACrBP,OAAO,cAAc;AACrB,SAAS,eAAe;;;ACDxB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,QAAQ;AAMR,SAAS,aAAqB;AACnC,QAAM,OAAO,GAAG,QAAQ;AAExB,MAAI;AAEJ,UAAQ,QAAQ,UAAU;AAAA,IACxB,KAAK;AACH,gBAAU,KAAK,KAAK,MAAM,WAAW,uBAAuB,QAAQ;AACpE;AAAA,IACF,KAAK;AACH,gBAAU,KAAK,KAAK,QAAQ,IAAI,WAAW,KAAK,KAAK,MAAM,WAAW,SAAS,GAAG,QAAQ;AAC1F;AAAA,IACF;AAEE,gBAAU,KAAK,KAAK,QAAQ,IAAI,iBAAiB,KAAK,KAAK,MAAM,UAAU,OAAO,GAAG,QAAQ;AAAA,EACjG;AAEA,SAAO;AACT;AAKO,SAAS,aAAsB;AACpC,SAAO,QAAQ,IAAI,qBAAqB;AAC1C;AAMO,SAAS,kBAA0B;AACxC,QAAM,WAAW,WAAW,IAAI,sBAAsB;AACtD,SAAO,KAAK,KAAK,WAAW,GAAG,QAAQ;AACzC;AAKO,SAAS,UAAU,KAAmB;AAC3C,MAAI,CAAC,GAAG,WAAW,GAAG,GAAG;AACvB,OAAG,UAAU,KAAK,EAAE,WAAW,KAAK,CAAC;AAAA,EACvC;AACF;;;ACnDA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,aAAa,MAAM,eAAe;AAC3C,SAAS,WAAW;AAOb,IAAM,UAAU,YAAY,WAAW;AAAA,EAC5C,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,OAAO,KAAK,OAAO,EAAE,QAAQ;AAAA,EAC7B,gBAAgB,QAAQ,oBAAoB,EAAE,MAAM,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA;AAAA,EAExF,QAAQ,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC,EAAE,MAAkB,EAAE,QAAQ;AAAA,EACrE,cAAc,KAAK,gBAAgB,EAAE,QAAQ;AAAA,EAC7C,WAAW,QAAQ,cAAc,EAAE,MAAM,eAAe,CAAC,EACtD,QAAQ,EACR,QAAQ,yBAAyB;AAAA,EACpC,gBAAgB,QAAQ,oBAAoB,EAAE,MAAM,eAAe,CAAC,EACjE,QAAQ,EACR,QAAQ,yBAAyB;AACtC,CAAC;AAMM,IAAM,QAAQ,YAAY,SAAS;AAAA,EACxC,IAAI,KAAK,IAAI,EAAE,WAAW;AAAA,EAC1B,UAAU,KAAK,WAAW,EACvB,QAAQ,EACR,WAAW,MAAM,QAAQ,IAAI,EAAE,UAAU,UAAU,CAAC;AAAA;AAAA,EAEvD,WAAW,KAAK,YAAY,EAAE,QAAQ;AAAA,EACtC,WAAW,QAAQ,cAAc,EAAE,MAAM,eAAe,CAAC,EACtD,QAAQ,EACR,QAAQ,yBAAyB;AACtC,CAAC;AAMM,IAAM,UAAU,YAAY,YAAY;AAAA,EAC7C,KAAK,KAAK,KAAK,EAAE,WAAW;AAAA,EAC5B,OAAO,KAAK,OAAO,EAAE,QAAQ;AAC/B,CAAC;;;AFzCD,UAAU,WAAW,CAAC;AAEtB,IAAM,SAAS,IAAI,SAAS,gBAAgB,CAAC;AAC7C,OAAO,OAAO,oBAAoB;AAClC,OAAO,OAAO,mBAAmB;AAE1B,IAAM,KAAK,QAAQ,QAAQ,EAAE,uBAAO,CAAC;AAG5C,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAsBX;;;AG7BD,SAAS,kBAAkB;AAC3B,SAAS,IAAI,eAAe;AAC5B,SAAS,MAAAC,KAAI,cAAc;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AACtC,SAAS,gCAAgD;AAGzD,IAAM,EAAE,UAAU,cAAc,SAAS,IAAI;AA6DtC,SAAS,mBAA+B;AAC7C,SAAO;AAAA,IACL,MAAM,YAAY,KAAuC;AACvD,UAAI,IAAI,WAAW,EAAG,QAAO,CAAC;AAC9B,aAAOA,IAAG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,SAAS,IAAI,GAAG,CAAC,EAAE,IAAI;AAAA,IACzE;AAAA,IAEA,MAAM,WAAW,IAAyC;AACxD,aAAOA,IAAG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK;AAAA,IACxE;AAAA,IAEA,MAAM,cAAc,QAA0F;AAE5G,UAAI,WAAW,OAAO;AACtB,UAAI,CAAC,UAAU;AACb,cAAM,cAAcA,IAAG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,2BAA2B,CAAC,EAAE,IAAI;AACxG,YAAI,aAAa,OAAO;AACtB,gBAAM,SAASA,IAAG,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,GAAG,aAAa,IAAI,YAAY,KAAK,CAAC,EAAE,IAAI;AAChG,cAAI,OAAQ,YAAW,OAAO;AAAA,QAChC;AACA,YAAI,CAAC,UAAU;AACb,gBAAM,cAAcA,IAAG,OAAO,EAAE,KAAK,YAAY,EAAE,IAAI;AACvD,cAAI,CAAC,aAAa;AAChB,kBAAM,IAAI,MAAM,4BAA4B;AAAA,UAC9C;AACA,qBAAW,YAAY;AAAA,QACzB;AAAA,MACF,OAAO;AAEL,QAAAA,IAAG,OAAO,QAAQ,EACf,OAAO,EAAE,KAAK,6BAA6B,OAAO,SAAS,CAAC,EAC5D,mBAAmB,EAAE,QAAQ,SAAS,KAAK,KAAK,EAAE,OAAO,SAAS,EAAE,CAAC,EACrE,IAAI;AAAA,MACT;AAGA,YAAM,KAAK,OAAO,MAAM,WAAW;AACnC,YAAM,MAAM,oBAAI,KAAK;AACrB,MAAAA,IAAG,OAAO,QAAQ,EAAE,OAAO;AAAA,QACzB;AAAA,QACA,WAAW,OAAO;AAAA,QAClB,eAAe;AAAA,QACf,cAAc;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,QACN,WAAW;AAAA,MACb,CAAC,EAAE,IAAI;AAEP,aAAOA,IAAG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI;AAAA,IACnE;AAAA,IAEA,MAAM,cAAc,IAA2B;AAC7C,YAAM,aAAa,eAAe,EAAE;AACpC,4BAAsB,EAAE;AACxB,MAAAA,IAAG,OAAO,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI,EAAE,CAAC,EAAE,IAAI;AAAA,IACrD;AAAA,IAEA,MAAM,kBAA8C;AAClD,aAAOA,IAAG,OAAO,EAAE,KAAK,YAAY,EAAE,IAAI;AAAA,IAC5C;AAAA,IAEA,MAAM,WAAW,WAA8C;AAC7D,aAAO,aAAa,gBAAgB,SAAS;AAAA,IAC/C;AAAA,IAEA,MAAM,UAAU,WAAkC;AAChD,YAAM,aAAa,eAAe,SAAS;AAAA,IAC7C;AAAA,IAEA,MAAM,OAAO,WAAmB,SAAgC;AAC9D,YAAM,aAAa,OAAO,WAAW,OAAO;AAAA,IAC9C;AAAA,IAEA,MAAM,OAAO,WAAkC;AAC7C,YAAM,aAAa,OAAO,SAAS;AAAA,IACrC;AAAA,IAEA,MAAM,QAAQ,WAAmB,QAA+B;AAC9D,YAAM,aAAa,QAAQ,WAAW,MAAM;AAAA,IAC9C;AAAA,IAEA,MAAM,SAAS,WAAmB,SAAgC;AAChE,YAAM,aAAa,SAAS,WAAW,OAAO;AAAA,IAChD;AAAA,IAEA,kBAAkB,WAAmB,WAAmB,UAAwB;AAC9E,mBAAa,kBAAkB,WAAW,WAAW,QAAQ;AAAA,IAC/D;AAAA,IAEA,MAAM,YAAY,WAAmB,eAAsC;AAEzE,YAAM,aAAa,eAAe,SAAS;AAE3C,4BAAsB,SAAS;AAE/B,MAAAA,IAAG,OAAO,QAAQ,EACf,IAAI;AAAA,QACH;AAAA,QACA,cAAc;AAAA,QACd,OAAO;AAAA,QACP,MAAM;AAAA,MACR,CAAC,EACA,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC,EAChC,IAAI;AAEP,MAAAA,IAAG,OAAO,QAAQ,EACf,OAAO,EAAE,KAAK,6BAA6B,OAAO,cAAc,CAAC,EACjE,mBAAmB,EAAE,QAAQ,SAAS,KAAK,KAAK,EAAE,OAAO,cAAc,EAAE,CAAC,EAC1E,IAAI;AAAA,IACT;AAAA,IAEA,mBAAmB,WAAmB,UAAsD;AAC1F,YAAM,UAAU,CAAC,UAAuD;AACtE,YAAI,MAAM,cAAc,WAAW;AACjC,mBAAS,MAAM,MAAM;AAAA,QACvB;AAAA,MACF;AACA,mBAAa,GAAG,UAAU,OAAO;AACjC,aAAO,MAAM,aAAa,IAAI,UAAU,OAAO;AAAA,IACjD;AAAA,IAEA,MAAM,yBAAyB,WAAmB,aAAqB,OAAqC;AAC1G,YAAM,UAAUA,IAAG,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC,EAAE,IAAI;AACjF,UAAI,CAAC,QAAS,OAAM,IAAI,MAAM,WAAW,SAAS,YAAY;AAC9D,aAAO,yBAAyB,QAAQ,WAAW,aAAa,KAAK;AAAA,IACvE;AAAA,EACF;AACF;;;AC3MA,SAAS,gBAAgB;AAEzB,IAAM,IAAI,SAAS,OAAO;AAEnB,IAAM,SAAS,EAAE;AACjB,IAAM,kBAAkB,EAAE;;;ACLjC,SAAS,SAAS;AAClB,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,MAAAC,WAAU;;;AC2BZ,SAAS,WAAW,QAA4B;AACrD,SAAO,EAAE,MAAM,QAAQ,OAAO;AAChC;AAKO,SAAS,aACd,WACA,OACA,QACA,QAAQ,IACM;AACd,SAAO,EAAE,MAAM,UAAU,WAAW,OAAO,OAAO,OAAO;AAC3D;AAKO,SAAS,cAAc,MAA4B;AACxD,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,CAAC,KAAK,MAAM;AAAA,EACrB;AACA,SAAO,CAAC,GAAG,cAAc,KAAK,KAAK,GAAG,GAAG,cAAc,KAAK,MAAM,CAAC;AACrE;AAMO,SAAS,aACd,MACA,QACAC,QAA+B,CAAC,GACD;AAC/B,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,KAAK,WAAW,SAASA,QAAO;AAAA,EACzC;AACA,QAAM,YAAY,aAAa,KAAK,OAAO,QAAQ,CAAC,GAAGA,OAAM,OAAO,CAAC;AACrE,MAAI,UAAW,QAAO;AACtB,SAAO,aAAa,KAAK,QAAQ,QAAQ,CAAC,GAAGA,OAAM,QAAQ,CAAC;AAC9D;AAKO,SAAS,oBACd,MACA,QACA,SACY;AACZ,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,KAAK,WAAW,SAAS,UAAU;AAAA,EAC5C;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,oBAAoB,KAAK,OAAO,QAAQ,OAAO;AAAA,IACtD,QAAQ,oBAAoB,KAAK,QAAQ,QAAQ,OAAO;AAAA,EAC1D;AACF;AAKO,SAAS,UACd,MACA,QACA,WACA,WACY;AACZ,QAAM,eAAe,WAAW,MAAM;AACtC,QAAM,UAAU,WAAW,SAAS;AACpC,QAAM,SAAS,aAAa,WAAW,cAAc,OAAO;AAC5D,SAAO,oBAAoB,MAAM,QAAQ,MAAM;AACjD;AAMO,SAAS,WAAW,MAAkB,QAAmC;AAC9E,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,KAAK,WAAW,SAAS,OAAO;AAAA,EACzC;AAGA,MAAI,KAAK,MAAM,SAAS,UAAU,KAAK,MAAM,WAAW,QAAQ;AAC9D,WAAO,KAAK;AAAA,EACd;AACA,MAAI,KAAK,OAAO,SAAS,UAAU,KAAK,OAAO,WAAW,QAAQ;AAChE,WAAO,KAAK;AAAA,EACd;AAGA,QAAM,WAAW,WAAW,KAAK,OAAO,MAAM;AAC9C,QAAM,YAAY,WAAW,KAAK,QAAQ,MAAM;AAGhD,MAAI,aAAa,KAAM,QAAO;AAC9B,MAAI,cAAc,KAAM,QAAO;AAG/B,MAAI,aAAa,KAAK,SAAS,cAAc,KAAK,QAAQ;AACxD,WAAO,EAAE,GAAG,MAAM,OAAO,UAAU,QAAQ,UAAU;AAAA,EACvD;AAEA,SAAO;AACT;AAKO,SAAS,YACd,MACAA,OACA,UACY;AACZ,MAAIA,MAAK,WAAW,GAAG;AACrB,QAAI,KAAK,SAAS,UAAU;AAC1B,aAAO,EAAE,GAAG,MAAM,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,EAAE;AAAA,IAChE;AACA,WAAO;AAAA,EACT;AAEA,MAAI,KAAK,SAAS,OAAQ,QAAO;AAEjC,QAAM,CAAC,MAAM,GAAG,IAAI,IAAIA;AACxB,MAAI,SAAS,SAAS;AACpB,WAAO,EAAE,GAAG,MAAM,OAAO,YAAY,KAAK,OAAO,MAAM,QAAQ,EAAE;AAAA,EACnE,OAAO;AACL,WAAO,EAAE,GAAG,MAAM,QAAQ,YAAY,KAAK,QAAQ,MAAM,QAAQ,EAAE;AAAA,EACrE;AACF;AAMO,SAAS,gBACd,MACA,eACA,WACe;AACf,QAAMA,QAAO,aAAa,MAAM,aAAa;AAC7C,MAAI,CAACA,MAAM,QAAO;AAGlB,MAAI,OAAO;AACX,QAAM,YAAqE,CAAC;AAE5E,aAAW,QAAQA,OAAM;AACvB,QAAI,KAAK,SAAS,UAAU;AAC1B,gBAAU,KAAK,EAAE,MAAM,WAAW,KAAK,CAAC;AACxC,aAAO,SAAS,UAAU,KAAK,QAAQ,KAAK;AAAA,IAC9C;AAAA,EACF;AAGA,WAAS,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;AAC9C,UAAM,EAAE,MAAM,QAAQ,UAAU,IAAI,UAAU,CAAC;AAC/C,UAAM,eAAe,OAAO,cAAc;AAC1C,UAAM,aAAa,OAAO,cAAc;AAGxC,UAAM,UACH,cAAc,UAAU,gBAAgB,cAAc,YACtD,cAAc,WAAW,gBAAgB,cAAc,WACvD,cAAc,QAAQ,cAAc,cAAc,YAClD,cAAc,UAAU,cAAc,cAAc;AAEvD,QAAI,SAAS;AAEX,YAAM,aAAa,cAAc,UAAU,OAAO,SAAS,OAAO;AAClE,aAAO,wBAAwB,YAAY,SAAS;AAAA,IACtD;AAAA,EACF;AAEA,SAAO;AACT;AAKA,SAAS,wBACP,MACA,eACQ;AACR,MAAI,KAAK,SAAS,QAAQ;AACxB,WAAO,KAAK;AAAA,EACd;AAKA,QAAM,eAAe,KAAK,cAAc;AAExC,MAAI,kBAAkB,UAAU,kBAAkB,MAAM;AAEtD,UAAM,cAAc,eACf,kBAAkB,SAAS,KAAK,QAAQ,KAAK,QAC7C,kBAAkB,OAAO,KAAK,QAAQ,KAAK;AAChD,WAAO,wBAAwB,aAAa,aAAa;AAAA,EAC3D,OAAO;AAEL,UAAM,cAAc,eACf,kBAAkB,UAAU,KAAK,SAAS,KAAK,SAC/C,kBAAkB,SAAS,KAAK,SAAS,KAAK;AACnD,WAAO,wBAAwB,aAAa,aAAa;AAAA,EAC3D;AACF;;;ADpOA,IAAI;AAEG,SAAS,cAAc,QAAoB;AAChD,SAAO;AACT;AAEA,SAAS,cAAc,eAAuB,WAA2B;AAEvE,QAAM,UAAU,UAAU,MAAM,GAAG,EAAE,IAAI;AACzC,MAAI,WAAW,YAAY,OAAO,YAAY,IAAI;AAChD,WAAO;AAAA,EACT;AACA,SAAO,UAAU,gBAAgB,CAAC;AACpC;AAEO,IAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA,EAIlC,MAAM,gBAAgB,MAAM,YAAY;AACtC,UAAM,aAAa,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,QAAQ,SAAS,EAAE,IAAI;AAC5E,UAAM,WAAW,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,IAAI;AAC7C,UAAM,YAAY,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMC,IAAG,QAAQ,KAAK,kBAAkB,CAAC,EAAE,IAAI;AAG3F,UAAM,aAAa,CAAC,GAAG,IAAI,IAAI,SAAS,IAAI,OAAK,EAAE,SAAS,CAAC,CAAC;AAG9D,UAAM,eAAe,MAAM,KAAK,YAAY,UAAU;AACtD,UAAM,aAAa,IAAI,IAAI,aAAa,IAAI,OAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAG3D,UAAMC,gBAAe,MAAM,KAAK,gBAAgB;AAEhD,WAAO;AAAA,MACL,SAAS,WAAW,IAAI,QAAM;AAAA,QAC5B,GAAG;AAAA,QACH,OAAO,SACJ,OAAO,OAAK,EAAE,aAAa,EAAE,EAAE,EAC/B,IAAI,QAAM;AAAA,UACT,GAAG;AAAA,UACH,SAAS,WAAW,IAAI,EAAE,SAAS,KAAK;AAAA,QAC1C,EAAE;AAAA,MACN,EAAE;AAAA,MACF,gBAAgB,WAAW,SAAS,WAAW,WAAW,SAAS,CAAC,GAAG,MAAM;AAAA,MAC7E,cAAAA;AAAA,IACF;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKD,KAAK,gBACF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAClC,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,UAAM,SAAS,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMD,IAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI;AAC7E,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,MAAM,EAAE,YAAY;AAAA,IAChD;AACA,UAAM,cAAc,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMA,IAAG,MAAM,UAAU,MAAM,EAAE,CAAC,EAAE,IAAI;AAGpF,UAAM,aAAa,YAAY,IAAI,OAAK,EAAE,SAAS;AACnD,UAAM,eAAe,MAAM,KAAK,YAAY,UAAU;AACtD,UAAM,aAAa,IAAI,IAAI,aAAa,IAAI,OAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAE3D,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO,YAAY,IAAI,QAAM;AAAA,QAC3B,GAAG;AAAA,QACH,SAAS,WAAW,IAAI,EAAE,SAAS,KAAK;AAAA,MAC1C,EAAE;AAAA,IACJ;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,gBACL,MAAM,EAAE,OAAO;AAAA,IACd,IAAI,EAAE,OAAO,EAAE,SAAS;AAAA,IACxB,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,MAAM,aAAa,QAAQ,IAAI;AAGjD,UAAM,UAAU,MAAM,KAAK,cAAc;AAAA,MACvC;AAAA,MACA,eAAe,MAAM;AAAA,IACvB,CAAC;AAGD,UAAM,WAAW,MAAM,MAAME,YAAW;AACxC,UAAM,SAASA,YAAW;AAC1B,UAAM,gBAAgB,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE;AACtD,UAAM,SAAqB,WAAW,MAAM;AAE5C,OAAG,OAAO,OAAO,EAAE,OAAO;AAAA,MACxB,IAAI;AAAA,MACJ,OAAO,MAAM,SAAS,cAAc,eAAe,SAAS;AAAA,MAC5D,gBAAgB,CAAC,CAAC,MAAM;AAAA;AAAA,MACxB;AAAA,MACA,cAAc;AAAA,IAChB,CAAC,EAAE,IAAI;AAEP,OAAG,OAAO,KAAK,EAAE,OAAO;AAAA,MACtB,IAAI;AAAA,MACJ;AAAA,MACA,WAAW,QAAQ;AAAA,IACrB,CAAC,EAAE,IAAI;AAGP,OAAG,OAAO,OAAO,EACd,OAAO,EAAE,KAAK,oBAAoB,OAAO,SAAS,CAAC,EACnD,mBAAmB,EAAE,QAAQ,QAAQ,KAAK,KAAK,EAAE,OAAO,SAAS,EAAE,CAAC,EACpE,IAAI;AAGP,UAAM,YAAY,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMF,IAAG,QAAQ,IAAI,QAAQ,CAAC,EAAE,IAAI;AAChF,UAAM,WAAW,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMA,IAAG,MAAM,UAAU,QAAQ,CAAC,EAAE,IAAI;AAEjF,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO,SAAS,IAAI,QAAM;AAAA,QACxB,GAAG;AAAA,QACH,SAAS,EAAE,cAAc,QAAQ,KAAK,UAAU;AAAA,MAClD,EAAE;AAAA,IACJ;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,gBACL,MAAM,EAAE,OAAO;AAAA,IACd,IAAI,EAAE,OAAO;AAAA,IACb,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,UAAmC,CAAC;AAC1C,QAAI,MAAM,UAAU,QAAW;AAC7B,cAAQ,QAAQ,MAAM;AACtB,cAAQ,iBAAiB;AAAA,IAC3B;AACA,YAAQ,iBAAiB,oBAAI,KAAK;AAElC,OAAG,OAAO,OAAO,EACd,IAAI,OAAO,EACX,MAAMA,IAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAC9B,IAAI;AAEP,WAAO,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMA,IAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI;AAAA,EACvE,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,gBACL,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAClC,SAAS,OAAO,EAAE,MAAM,MAAM;AAE7B,UAAM,cAAc,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMA,IAAG,MAAM,UAAU,MAAM,EAAE,CAAC,EAAE,IAAI;AAGpF,eAAW,QAAQ,aAAa;AAC9B,YAAM,KAAK,cAAc,KAAK,SAAS;AAAA,IACzC;AAGA,OAAG,OAAO,OAAO,EAAE,MAAMA,IAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI;AAGvD,UAAM,YAAY,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMA,IAAG,QAAQ,KAAK,kBAAkB,CAAC,EAAE,IAAI;AAC3F,QAAI,WAAW,UAAU,MAAM,IAAI;AACjC,YAAM,YAAY,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,QAAQ,SAAS,EAAE,IAAI;AAC3E,YAAM,cAAc,UAAU,UAAU,SAAS,CAAC,GAAG,MAAM;AAC3D,UAAI,aAAa;AACf,WAAG,OAAO,OAAO,EACd,IAAI,EAAE,OAAO,YAAY,CAAC,EAC1B,MAAMA,IAAG,QAAQ,KAAK,kBAAkB,CAAC,EACzC,IAAI;AAAA,MACT,OAAO;AACL,WAAG,OAAO,OAAO,EAAE,MAAMA,IAAG,QAAQ,KAAK,kBAAkB,CAAC,EAAE,IAAI;AAAA,MACpE;AAAA,IACF;AAEA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,WAAW,gBACR,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAClC,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,OAAG,OAAO,OAAO,EACd,OAAO,EAAE,KAAK,oBAAoB,OAAO,MAAM,GAAG,CAAC,EACnD,mBAAmB,EAAE,QAAQ,QAAQ,KAAK,KAAK,EAAE,OAAO,MAAM,GAAG,EAAE,CAAC,EACpE,IAAI;AAGP,OAAG,OAAO,OAAO,EACd,IAAI,EAAE,gBAAgB,oBAAI,KAAK,EAAE,CAAC,EAClC,MAAMA,IAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,EAC9B,IAAI;AAEP,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AACL,CAAC;;;AE7ND,SAAS,KAAAG,UAAS;AAClB,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,MAAAC,WAAU;AAenB,IAAIC;AAEG,SAASC,eAAc,QAAoB;AAChD,EAAAD,QAAO;AACT;AAEO,IAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjC,OAAO,gBACJ,MAAME,GAAE,OAAO;AAAA,IACd,UAAUA,GAAE,OAAO;AAAA,IACnB,QAAQA,GAAE,OAAO;AAAA,IACjB,WAAWA,GAAE,KAAK,CAAC,cAAc,UAAU,CAAC;AAAA;AAAA,IAE5C,WAAWA,GAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,cAAcA,GAAE,OAAO,EAAE,SAAS;AAAA,EACpC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAE7B,UAAM,aAAa,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMC,IAAG,MAAM,IAAI,MAAM,MAAM,CAAC,EAAE,IAAI;AACjF,QAAI,CAAC,YAAY;AACf,YAAM,IAAI,MAAM,QAAQ,MAAM,MAAM,YAAY;AAAA,IAClD;AAEA,UAAM,gBAAgB,MAAMH,MAAK,WAAW,WAAW,SAAS;AAChE,QAAI,CAAC,eAAe;AAClB,YAAM,IAAI,MAAM,WAAW,WAAW,SAAS,YAAY;AAAA,IAC7D;AAIA,UAAM,aAAa,MAAMA,MAAK,cAAc;AAAA,MAC1C,IAAI,MAAM;AAAA,MACV,WAAW,cAAc;AAAA,MACzB,eAAe,cAAc;AAAA,IAC/B,CAAC;AAGD,UAAM,YAAY,MAAM,aAAaI,YAAW;AAChD,OAAG,OAAO,KAAK,EAAE,OAAO;AAAA,MACtB,IAAI;AAAA,MACJ,UAAU,MAAM;AAAA,MAChB,WAAW,WAAW;AAAA,IACxB,CAAC,EAAE,IAAI;AAGP,UAAM,SAAS,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMD,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EAAE,IAAI;AACnF,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,MAAM,QAAQ,YAAY;AAAA,IACtD;AAEA,UAAM,gBAAgB,OAAO;AAC7B,UAAM,YAAY,UAAU,eAAe,MAAM,QAAQ,WAAW,MAAM,SAA2B;AAErG,OAAG,OAAO,OAAO,EACd,IAAI;AAAA,MACH,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,gBAAgB,oBAAI,KAAK;AAAA,IAC3B,CAAC,EACA,MAAMA,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EACpC,IAAI;AAGP,UAAMH,MAAK,WAAW,WAAW,EAAE;AAEnC,UAAM,MAAM,oBAAI,KAAK;AACrB,WAAO;AAAA,MACL;AAAA,MACA,cAAc,WAAW;AAAA,MACzB,QAAQ;AAAA;AAAA,MAER,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,UAAU,MAAM;AAAA,QAChB,WAAW,WAAW;AAAA,QACtB,WAAW,IAAI,YAAY;AAAA,QAC3B,SAAS;AAAA,UACP,IAAI,WAAW;AAAA,UACf,WAAW,WAAW;AAAA,UACtB,eAAe,WAAW;AAAA,UAC1B,OAAO,WAAW;AAAA,UAClB,MAAM,WAAW;AAAA,UACjB,WAAW,WAAW,UAAU,YAAY;AAAA,UAC5C,cAAc,WAAW;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,WAAW,gBACR,MAAME,GAAE,OAAO;AAAA,IACd,UAAUA,GAAE,OAAO;AAAA,IACnB,QAAQA,GAAE,OAAO;AAAA,EACnB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,SAAS,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMC,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EAAE,IAAI;AACnF,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,MAAM,QAAQ,YAAY;AAAA,IACtD;AAEA,UAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMA,IAAG,MAAM,IAAI,MAAM,MAAM,CAAC,EAAE,IAAI;AAC3E,QAAI,CAAC,MAAM;AACT,YAAM,IAAI,MAAM,QAAQ,MAAM,MAAM,YAAY;AAAA,IAClD;AAEA,UAAM,gBAAgB,OAAO;AAC7B,UAAM,aAAa,cAAc,aAAa;AAG9C,QAAI,WAAW,WAAW,GAAG;AAE3B,YAAMH,MAAK,cAAc,KAAK,SAAS;AAEvC,SAAG,OAAO,OAAO,EAAE,MAAMG,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EAAE,IAAI;AAC7D,aAAO,EAAE,cAAc,MAAM,QAAQ,MAAM,cAAc,KAAK;AAAA,IAChE;AAGA,UAAMH,MAAK,cAAc,KAAK,SAAS;AAEvC,OAAG,OAAO,KAAK,EAAE,MAAMG,IAAG,MAAM,IAAI,MAAM,MAAM,CAAC,EAAE,IAAI;AAGvD,UAAM,YAAY,WAAW,eAAe,MAAM,MAAM;AACxD,QAAI,CAAC,WAAW;AACd,YAAM,IAAI,MAAM,mCAAmC;AAAA,IACrD;AAGA,UAAM,kBAAkB,OAAO,iBAAiB,MAAM,SAClD,cAAc,SAAS,EAAE,CAAC,IAC1B,OAAO;AAEX,OAAG,OAAO,OAAO,EACd,IAAI;AAAA,MACH,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,gBAAgB,oBAAI,KAAK;AAAA,IAC3B,CAAC,EACA,MAAMA,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EACpC,IAAI;AAEP,WAAO;AAAA,MACL,cAAc;AAAA,MACd,QAAQ;AAAA,MACR,cAAc;AAAA,IAChB;AAAA,EACF,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,eAAe,gBACZ,MAAMD,GAAE,OAAO;AAAA,IACd,UAAUA,GAAE,OAAO;AAAA,IACnB,QAAQA,GAAE,OAAO;AAAA,EACnB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,OAAG,OAAO,OAAO,EACd,IAAI;AAAA,MACH,cAAc,MAAM;AAAA,MACpB,gBAAgB,oBAAI,KAAK;AAAA,IAC3B,CAAC,EACA,MAAMC,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EACpC,IAAI;AAEP,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,UAAU,gBACP,MAAMD,GAAE,OAAO;AAAA,IACd,UAAUA,GAAE,OAAO;AAAA,IACnB,eAAeA,GAAE,OAAO;AAAA,IACxB,WAAWA,GAAE,KAAK,CAAC,QAAQ,SAAS,MAAM,MAAM,CAAC;AAAA,EACnD,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,SAAS,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMC,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EAAE,IAAI;AACnF,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,MAAM,QAAQ,YAAY;AAAA,IACtD;AAEA,UAAM,gBAAgB,OAAO;AAC7B,UAAM,iBAAiB,gBAAgB,eAAe,MAAM,eAAe,MAAM,SAAS;AAE1F,QAAI,gBAAgB;AAClB,SAAG,OAAO,OAAO,EACd,IAAI;AAAA,QACH,cAAc;AAAA,QACd,gBAAgB,oBAAI,KAAK;AAAA,MAC3B,CAAC,EACA,MAAMA,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EACpC,IAAI;AAEP,aAAO,EAAE,iBAAiB,eAAe;AAAA,IAC3C;AAEA,WAAO,EAAE,iBAAiB,KAAK;AAAA,EACjC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,UAAU,gBACP,MAAMD,GAAE,OAAO;AAAA,IACd,UAAUA,GAAE,OAAO;AAAA,IACnB,MAAMA,GAAE,MAAMA,GAAE,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;AAAA,IACzC,OAAOA,GAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE;AAAA,EAClC,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,SAAS,GAAG,OAAO,EAAE,KAAK,OAAO,EAAE,MAAMC,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EAAE,IAAI;AACnF,QAAI,CAAC,QAAQ;AACX,YAAM,IAAI,MAAM,UAAU,MAAM,QAAQ,YAAY;AAAA,IACtD;AAEA,UAAM,gBAAgB,OAAO;AAC7B,UAAM,YAAY,YAAY,eAAe,MAAM,MAAM,MAAM,KAAK;AAEpE,OAAG,OAAO,OAAO,EACd,IAAI,EAAE,QAAQ,UAAU,CAAC,EACzB,MAAMA,IAAG,QAAQ,IAAI,MAAM,QAAQ,CAAC,EACpC,IAAI;AAEP,WAAO,EAAE,QAAQ,UAAU;AAAA,EAC7B,CAAC;AACL,CAAC;;;AC3PD,SAAS,KAAAE,UAAS;AAClB,SAAS,MAAAC,WAAU;AACnB,SAAS,kBAAkB;AAO3B,IAAIC;AAEG,SAASC,eAAc,QAAoB;AAChD,EAAAD,QAAO;AACT;AAEA,IAAM,YAAYE,GAAE,OAAO;AAAA,EACzB,QAAQA,GAAE,OAAO;AACnB,CAAC;AAGD,SAAS,oBAAoB,QAAwB;AACnD,QAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMC,IAAG,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI;AACrE,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,QAAQ,MAAM,YAAY;AAAA,EAC5C;AACA,SAAO,KAAK;AACd;AAEO,IAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA,EAIjC,OAAO,gBACJ,MAAM,SAAS,EACf,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,WAAOH,MAAK,WAAW,SAAS;AAAA,EAClC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,MAAM,gBACH,MAAM,SAAS,EACf,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMA,MAAK,UAAU,SAAS;AAC9B,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,gBACL,MAAME,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,SAASA,GAAE,OAAO;AAAA,EACpB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMF,MAAK,OAAO,WAAW,MAAM,OAAO;AAC1C,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,QAAQ,gBACL,MAAM,SAAS,EACf,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMA,MAAK,OAAO,SAAS;AAC3B,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,SAAS,gBACN,MAAME,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,QAAQA,GAAE,OAAO;AAAA,EACnB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMF,MAAK,QAAQ,WAAW,MAAM,MAAM;AAC1C,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,UAAU,gBACP,MAAME,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,SAASA,GAAE,OAAO;AAAA,EACpB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMF,MAAK,SAAS,WAAW,MAAM,OAAO;AAC5C,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,mBAAmB,gBAChB,MAAME,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,WAAWA,GAAE,OAAO;AAAA,IACpB,UAAUA,GAAE,OAAO;AAAA,EACrB,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,IAAAF,MAAK,kBAAkB,WAAW,MAAM,WAAW,MAAM,QAAQ;AACjE,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,aAAa,gBACV,MAAME,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,eAAeA,GAAE,OAAO;AAAA,EAC1B,CAAC,CAAC,EACD,SAAS,OAAO,EAAE,MAAM,MAAM;AAC7B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,UAAMF,MAAK,YAAY,WAAW,MAAM,aAAa;AACrD,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB,CAAC;AAAA;AAAA;AAAA;AAAA,EAKH,WAAW,gBACR,MAAM,SAAS,EACf,aAAa,CAAC,EAAE,MAAM,MAAM;AAC3B,UAAM,YAAY,oBAAoB,MAAM,MAAM;AAClD,WAAO,WAAyB,CAAC,SAAS;AACxC,aAAOA,MAAK,mBAAmB,WAAW,CAAC,WAAW;AACpD,aAAK,KAAK,MAAM;AAAA,MAClB,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACL,CAAC;;;ACjJD,SAAS,KAAAI,UAAS;AAClB,SAAS,MAAAC,WAAU;AAMnB,IAAIC;AAEG,SAASC,eAAc,QAAoB;AAChD,EAAAD,QAAO;AACT;AAGA,SAASE,qBAAoB,QAAwB;AACnD,QAAM,OAAO,GAAG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAMC,IAAG,MAAM,IAAI,MAAM,CAAC,EAAE,IAAI;AACrE,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,QAAQ,MAAM,YAAY;AAAA,EAC5C;AACA,SAAO,KAAK;AACd;AAEO,IAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhC,qBAAqB,gBAClB,MAAMC,GAAE,OAAO;AAAA,IACd,QAAQA,GAAE,OAAO;AAAA,IACjB,aAAaA,GAAE,OAAO;AAAA,IACtB,OAAOA,GAAE,OAAO,EAAE,QAAQ,EAAE;AAAA,EAC9B,CAAC,CAAC,EACD,MAAM,OAAO,EAAE,MAAM,MAAM;AAC1B,UAAM,YAAYF,qBAAoB,MAAM,MAAM;AAClD,WAAOF,MAAK,yBAAyB,WAAW,MAAM,aAAa,MAAM,KAAK;AAAA,EAChF,CAAC;AACL,CAAC;;;AC1BM,SAAS,kBAAkBK,OAAkB;AAClD,gBAAeA,KAAI;AACnB,EAAAC,eAAcD,KAAI;AAClB,EAAAC,eAAcD,KAAI;AAClB,EAAAC,eAAaD,KAAI;AACnB;AAUO,IAAM,eAAe,OAAO;AAAA,EACjC,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AACT,CAAC;;;AXFD,IAAM,YAAYE,MAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AAYtD,SAAS,mBAAmB,UAA+B,CAAC,GAAiB;AAClF,QAAM,OAAO,QAAQ,QAAQ;AAG7B,QAAM,aAAa,iBAAiB;AAGpC,oBAAkB,UAAU;AAG5B,QAAM,MAAM,QAAQ;AACpB,MAAI,IAAI,QAAQ,KAAK,CAAC;AAGtB,QAAM,aAAaA,MAAK,KAAK,WAAW,MAAM,QAAQ;AACtD,MAAI,IAAI,QAAQ,OAAO,UAAU,CAAC;AAGlC,MAAI,IAAI,SAAS,wBAAwB,EAAE,QAAQ,aAAa,CAAC,CAAC;AAGlE,MAAI,IAAI,WAAW,CAAC,MAAM,QAAQ,IAAI,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC;AAI5D,MAAI,IAAI,aAAa,CAAC,MAAM,QAAQ;AAClC,QAAI,SAASA,MAAK,KAAK,YAAY,YAAY,CAAC;AAAA,EAClD,CAAC;AAGD,QAAM,SAAS,aAAa,GAAG;AAG/B,QAAM,MAAM,IAAI,gBAAgB,EAAE,QAAQ,MAAM,QAAQ,CAAC;AACzD,kBAAgB,EAAE,KAAK,QAAQ,aAAa,CAAC;AAE7C,SAAO;AAAA,IACL,OAAO,MAAM;AACX,aAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,eAAO,OAAO,MAAM,MAAM;AACxB,gBAAM,MAAM,oBAAoB,IAAI;AACpC,kBAAQ,IAAI,uBAAuB,GAAG,EAAE;AACxC,kBAAQ,UAAU,GAAG;AACrB,kBAAQ;AAAA,QACV,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,YAAY;AAChB,cAAQ,IAAI,2BAA2B;AACvC,UAAI,MAAM;AACV,YAAMC,cAAa,QAAQ;AAC3B,aAAO,MAAM;AAAA,IACf;AAAA,EACF;AACF;","names":["path","agentManager","db","randomUUID","eq","path","eq","agentConfigs","randomUUID","z","randomUUID","eq","amux","setAmuxBridge","z","eq","randomUUID","z","eq","amux","setAmuxBridge","z","eq","z","eq","amux","setAmuxBridge","getSessionIdForPane","eq","z","amux","setAmuxBridge","path","agentManager"]}
@@ -0,0 +1 @@
1
+ import{aU as L,bi as ln,aE as A,aS as v,bj as gn,bk as dn,aD as W,bl as hn,bm as z,bn as pn,bo as An,bp as m,aV as N,a_ as U,b1 as T,bq as _n,aY as on,br as wn,bs as On,aF as V,bt as Pn,bu as I}from"./mermaid.core-Hp60xAyJ.js";var vn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==vn}function yn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var B=v?v.prototype:void 0,K=B?B.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return yn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function En(){}function bn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=v?v.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Un(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Bn(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Bn;function Yn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Y(n){return Yn(n,M,qn)}var Zn="__lodash_hash_undefined__";function Xn(n){return this.__data__.set(n,Zn),this}function Jn(n){return this.__data__.has(n)}function y(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}y.prototype.add=y.prototype.push=Xn;y.prototype.has=Jn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new y:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var w=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(w!==void 0){if(w)continue;d=!1;break}if(o){if(!Qn(r,function(O,P){if(!tn(o,P)&&(p===O||f(p,O,e,i,t)))return o.push(P)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Z=v?v.prototype:void 0,S=Z?Z.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Y(n),a=u.length,h=Y(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var w=s;++l<a;){d=u[l];var O=n[d],P=r[d];if(i)var G=s?i(P,O,d,r,n,t):i(O,P,d,n,r,t);if(!(G===void 0?O===P||f(O,P,e,i,t):G)){_=!1;break}w||(w=d=="constructor")}if(_&&!w){var E=n.constructor,b=r.constructor;E!=b&&"constructor"in n&&"constructor"in r&&!(typeof E=="function"&&E instanceof E&&typeof b=="function"&&b instanceof b)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,X="[object Arguments]",J="[object Array]",c="[object Object]",wr=Object.prototype,Q=wr.hasOwnProperty;function Or(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?J:N(n),h=u?J:N(r);a=a==X?c:a,h=h==X?c:h;var g=a==c,l=h==c,d=a==h;if(d&&U(n)){if(!U(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,w=p?r.value():r;return t||(t=new T),f(_,w,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:Or(n,r,e,i,D,f)}var Pr=1,vr=2;function yr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,Pr|vr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function Er(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function br(n){var r=Er(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||yr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&wn(f)&&On(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):br(n):$r(n)}function Cr(n,r){return n&&Pn(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?bn:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Yr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Zr(n,r,e){var i=A(n)?Un:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Ur=I&&1/C(new I([,-0]))[1]==Nr?function(n){return new I(n)}:En,Br=200;function Xr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Br){var h=r?null:Ur(n);if(h)return C(h);s=!1,f=tn,a=new y}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,yn as c,an as d,rn as e,Yn as f,qn as g,Y as h,x as i,bn as j,M as k,Xr as l,Yr as m,qr as n,cn as o,Fr as p,Cr as q,Zr as r,Bn as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};
@@ -0,0 +1 @@
1
+ const e=Object.freeze(JSON.parse(`{"displayName":"Apex","fileTypes":["apex","cls","trigger"],"name":"apex","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#directives"},{"include":"#declarations"},{"include":"#script-top-level"}],"repository":{"annotation-declaration":{"begin":"(@[_[:alpha:]]+)\\\\b","beginCaptures":{"1":{"name":"storage.type.annotation.apex"}},"end":"(?=\\\\s(?!\\\\())|(?=\\\\s*$)|(?<=\\\\s*\\\\))","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"argument-list":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"array-creation-expression":{"begin":"\\\\b(new)\\\\b\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)?\\\\s*(?=\\\\[)","beginCaptures":{"1":{"name":"keyword.control.new.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}},"end":"(?<=])","patterns":[{"include":"#bracketed-argument-list"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#statement"}]},"boolean-literal":{"patterns":[{"match":"(?<!\\\\.)\\\\btrue\\\\b","name":"constant.language.boolean.true.apex"},{"match":"(?<!\\\\.)\\\\bfalse\\\\b","name":"constant.language.boolean.false.apex"}]},"bracketed-argument-list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}},"patterns":[{"include":"#soql-query-expression"},{"include":"#named-argument"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"break-or-continue-statement":{"captures":{"1":{"name":"keyword.control.flow.break.apex"},"2":{"name":"keyword.control.flow.continue.apex"}},"match":"(?<!\\\\.)\\\\b(?:(break)|(continue))\\\\b"},"cast-expression":{"captures":{"1":{"name":"punctuation.parenthesis.open.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"punctuation.parenthesis.close.apex"}},"match":"(\\\\()\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(\\\\))(?=\\\\s*@?[(_[:alnum:]])"},"catch-clause":{"begin":"(?<!\\\\.)\\\\b(catch)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.catch.apex"}},"end":"(?<=})","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.local.apex"}},"match":"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?"}]},{"include":"#comment"},{"include":"#block"}]},"class-declaration":{"begin":"(?=\\\\bclass\\\\b)","end":"(?<=})","patterns":[{"begin":"\\\\b(class)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.class.apex"},"2":{"name":"entity.name.type.class.apex"}},"end":"(?=\\\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"},{"include":"#implements-class"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#class-or-trigger-members"}]},{"include":"#javadoc-comment"},{"include":"#comment"}]},"class-or-trigger-members":{"patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#storage-modifier"},{"include":"#sharing-modifier"},{"include":"#type-declarations"},{"include":"#field-declaration"},{"include":"#property-declaration"},{"include":"#indexer-declaration"},{"include":"#variable-initializer"},{"include":"#constructor-declaration"},{"include":"#method-declaration"},{"include":"#initializer-block"},{"include":"#punctuation-semicolon"}]},"colon-expression":{"match":":","name":"keyword.operator.conditional.colon.apex"},"comment":{"patterns":[{"begin":"/\\\\*(\\\\*)?","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"name":"comment.block.apex"},{"begin":"(^\\\\s+)?(?=//)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.apex"}},"end":"(?=$)","patterns":[{"begin":"(?<!/)///(?!/)","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"end":"(?=$)","name":"comment.block.documentation.apex","patterns":[{"include":"#xml-doc-comment"}]},{"begin":"(?<!/)//(?:(?!/)|(?=//))","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"end":"(?=$)","name":"comment.line.double-slash.apex"}]}]},"conditional-operator":{"begin":"(?<!\\\\?)\\\\?(?!\\\\?|\\\\.(?!\\\\d)|\\\\[)","beginCaptures":{"0":{"name":"keyword.operator.conditional.question-mark.apex"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.conditional.colon.apex"}},"patterns":[{"include":"#expression"}]},"constructor-declaration":{"begin":"(?=@?[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\()","end":"(?<=})|(?=;)","patterns":[{"captures":{"1":{"name":"entity.name.function.apex"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b"},{"begin":"(:)","beginCaptures":{"1":{"name":"punctuation.separator.colon.apex"}},"end":"(?=\\\\{|=>)","patterns":[{"include":"#constructor-initializer"}]},{"include":"#parenthesized-parameter-list"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"}]},"constructor-initializer":{"begin":"\\\\b(this)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.other.this.apex"}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"date-literal-with-params":{"captures":{"1":{"name":"keyword.operator.query.date.apex"}},"match":"\\\\b(((?:LAST_N_DAY|NEXT_N_DAY|NEXT_N_WEEK|LAST_N_WEEK|NEXT_N_MONTH|LAST_N_MONTH|NEXT_N_QUARTER|LAST_N_QUARTER|NEXT_N_YEAR|LAST_N_YEAR|NEXT_N_FISCAL_QUARTER|LAST_N_FISCAL_QUARTER|NEXT_N_FISCAL_YEAR|LAST_N_FISCAL_YEAR)S)\\\\s*:\\\\d+)\\\\b"},"date-literals":{"captures":{"1":{"name":"keyword.operator.query.date.apex"}},"match":"\\\\b(YESTERDAY|TODAY|TOMORROW|LAST_WEEK|THIS_WEEK|NEXT_WEEK|LAST_MONTH|THIS_MONTH|NEXT_MONTH|LAST_90_DAYS|NEXT_90_DAYS|THIS_QUARTER|LAST_QUARTER|NEXT_QUARTER|THIS_YEAR|LAST_YEAR|NEXT_YEAR|THIS_FISCAL_QUARTER|LAST_FISCAL_QUARTER|NEXT_FISCAL_QUARTER|THIS_FISCAL_YEAR|LAST_FISCAL_YEAR|NEXT_FISCAL_YEAR)\\\\b\\\\s*"},"declarations":{"patterns":[{"include":"#type-declarations"},{"include":"#punctuation-semicolon"}]},"directives":{"patterns":[{"include":"#punctuation-semicolon"}]},"dml-expression":{"begin":"\\\\b(delete|insert|undelete|update|upsert)\\\\b\\\\s+(?!new\\\\b)","beginCaptures":{"1":{"name":"support.function.apex"}},"end":"(?<=;)","patterns":[{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"do-statement":{"begin":"(?<!\\\\.)\\\\b(do)\\\\b","beginCaptures":{"1":{"name":"keyword.control.loop.do.apex"}},"end":"(?=[;}])","patterns":[{"include":"#statement"}]},"element-access-expression":{"begin":"(?:(\\\\??\\\\.)\\\\s*)?(?:(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*)?(?:(\\\\?)\\\\s*)?(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"},"3":{"name":"keyword.operator.null-conditional.apex"}},"end":"(?<=])(?!\\\\s*\\\\[)","patterns":[{"include":"#bracketed-argument-list"}]},"else-part":{"begin":"(?<!\\\\.)\\\\b(else)\\\\b","beginCaptures":{"1":{"name":"keyword.control.conditional.else.apex"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#statement"}]},"enum-declaration":{"begin":"(?=\\\\benum\\\\b)","end":"(?<=})","patterns":[{"begin":"(?=enum)","end":"(?=\\\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"captures":{"1":{"name":"keyword.other.enum.apex"},"2":{"name":"entity.name.type.enum.apex"}},"match":"(enum)\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#punctuation-comma"},{"begin":"@?[_[:alpha:]][_[:alnum:]]*","beginCaptures":{"0":{"name":"entity.name.variable.enum-member.apex"}},"end":"(?=([,}]))","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#variable-initializer"}]}]},{"include":"#javadoc-comment"},{"include":"#comment"}]},"expression":{"patterns":[{"include":"#comment"},{"include":"#dml-expression"},{"include":"#merge-expression"},{"include":"#support-expression"},{"include":"#throw-expression"},{"include":"#this-expression"},{"include":"#trigger-context-declaration"},{"include":"#conditional-operator"},{"include":"#expression-operators"},{"include":"#soql-query-expression"},{"include":"#object-creation-expression"},{"include":"#array-creation-expression"},{"include":"#invocation-expression"},{"include":"#member-access-expression"},{"include":"#element-access-expression"},{"include":"#cast-expression"},{"include":"#literal"},{"include":"#parenthesized-expression"},{"include":"#initializer-expression"},{"include":"#identifier"}]},"expression-body":{"begin":"=>","beginCaptures":{"0":{"name":"keyword.operator.arrow.apex"}},"end":"(?=[),;}])","patterns":[{"include":"#expression"}]},"expression-operators":{"patterns":[{"match":"[-%*+/]=","name":"keyword.operator.assignment.compound.apex"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.apex"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.apex"},{"match":"[!=]=","name":"keyword.operator.comparison.apex"},{"match":"<=|>=|[<>]","name":"keyword.operator.relational.apex"},{"match":"!|&&|\\\\|\\\\|","name":"keyword.operator.logical.apex"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.apex"},{"match":"=","name":"keyword.operator.assignment.apex"},{"match":"--","name":"keyword.operator.decrement.apex"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.apex"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.apex"}]},"extends-class":{"begin":"(extends)\\\\b\\\\s+","beginCaptures":{"1":{"name":"keyword.other.extends.apex"}},"end":"(?=\\\\{|implements)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\.)","end":"(?=\\\\{|implements)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"captures":{"1":{"name":"entity.name.type.extends.apex"}},"match":"([_[:alpha:]][_[:alnum:]]*)"}]},"field-declaration":{"begin":"(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?!=[=>])(?=[,;=]|$)","beginCaptures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"5":{"name":"entity.name.variable.field.apex"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.field.apex"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}]},"finally-clause":{"begin":"(?<!\\\\.)\\\\b(finally)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.finally.apex"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#block"}]},"for-apex-syntax":{"captures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"2":{"name":"entity.name.variable.local.apex"},"3":{"name":"keyword.operator.iterator.colon.apex"}},"match":"([._[:alpha:]][._[:alnum:]]+)\\\\s+([._[:alpha:]][._[:alnum:]]*)\\\\s*(:)"},"for-statement":{"begin":"(?<!\\\\.)\\\\b(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.loop.for.apex"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#for-apex-syntax"},{"include":"#local-variable-declaration"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"},{"include":"#colon-expression"}]},{"include":"#statement"}]},"from-clause":{"captures":{"1":{"name":"keyword.operator.query.from.apex"},"2":{"name":"storage.type.apex"}},"match":"(FROM)\\\\b\\\\s*([._[:alnum:]]+\\\\b)?"},"goto-statement":{"begin":"(?<!\\\\.)\\\\b(goto)\\\\b","beginCaptures":{"1":{"name":"keyword.control.goto.apex"}},"end":"(?=;)","patterns":[{"begin":"\\\\b(case)\\\\b","beginCaptures":{"1":{"name":"keyword.control.case.apex"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},{"captures":{"1":{"name":"keyword.control.default.apex"}},"match":"\\\\b(default)\\\\b"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.label.apex"}]},"identifier":{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"variable.other.readwrite.apex"},"if-statement":{"begin":"(?<!\\\\.)\\\\b(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.conditional.if.apex"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"implements-class":{"begin":"(implements)\\\\b","beginCaptures":{"1":{"name":"keyword.other.implements.apex"}},"end":"(?=\\\\{|extends)","patterns":[{"begin":"(?=[_[:alpha:]][_[:alnum:]]*\\\\s*\\\\.)","end":"(?=\\\\{|extends|,)","patterns":[{"include":"#support-type"},{"include":"#type"}]},{"captures":{"1":{"name":"entity.name.type.implements.apex"},"2":{"name":"punctuation.separator.comma.apex"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(,)?"},{"include":"#punctuation-comma"}]},"indexer-declaration":{"begin":"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<indexer_name>this)\\\\s*(?=\\\\[)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"keyword.other.this.apex"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"}]},"initializer-block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#statement"}]},"initializer-expression":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},"interface-declaration":{"begin":"(?=\\\\binterface\\\\b)","end":"(?<=})","patterns":[{"begin":"(interface)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"keyword.other.interface.apex"},"2":{"name":"entity.name.type.interface.apex"}},"end":"(?=\\\\{)","patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"},{"include":"#extends-class"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#interface-members"}]},{"include":"#javadoc-comment"},{"include":"#comment"}]},"interface-members":{"patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#property-declaration"},{"include":"#indexer-declaration"},{"include":"#method-declaration"},{"include":"#punctuation-semicolon"}]},"invocation-expression":{"begin":"(?:(\\\\??\\\\.)\\\\s*)?(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?<type_args>\\\\s*<([^<>]|\\\\g<type_args>)+>\\\\s*)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"entity.name.function.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"javadoc-comment":{"patterns":[{"begin":"^\\\\s*(/\\\\*\\\\*)(?!/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.apex"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"name":"comment.block.javadoc.apex","patterns":[{"match":"@(deprecated|author|return|see|serial|since|version|usage|name|link)\\\\b","name":"keyword.other.documentation.javadoc.apex"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.variable.parameter.apex"}},"match":"(@param)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"keyword.other.documentation.javadoc.apex"},"2":{"name":"entity.name.type.class.apex"}},"match":"(@(?:exception|throws))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"string.quoted.single.apex"}},"match":"(\`([^\`]+?)\`)"}]}]},"literal":{"patterns":[{"include":"#boolean-literal"},{"include":"#null-literal"},{"include":"#numeric-literal"},{"include":"#string-literal"}]},"local-constant-declaration":{"begin":"\\\\b(?<const_keyword>const)\\\\b\\\\s*(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)\\\\s*(?=[,;=])","beginCaptures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#type"}]},"6":{"name":"entity.name.variable.local.apex"}},"end":"(?=;)","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.apex"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"local-declaration":{"patterns":[{"include":"#local-constant-declaration"},{"include":"#local-variable-declaration"}]},"local-variable-declaration":{"begin":"(?:(?:\\\\b(ref)\\\\s+)?\\\\b(var)\\\\b|(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s*(?=[),;=])","beginCaptures":{"1":{"name":"storage.modifier.apex"},"2":{"name":"keyword.other.var.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"7":{"name":"entity.name.variable.local.apex"}},"end":"(?=[);])","patterns":[{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.apex"},{"include":"#punctuation-comma"},{"include":"#comment"},{"include":"#variable-initializer"}]},"member-access-expression":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.property.apex"}},"match":"(\\\\??\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)"},{"captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"variable.other.object.apex"},"3":{"patterns":[{"include":"#type-arguments"}]}},"match":"(\\\\??\\\\.)?\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)(?<type_params>\\\\s*<([^<>]|\\\\g<type_params>)+>\\\\s*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"},{"captures":{"1":{"name":"variable.other.object.apex"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)(?=(\\\\s*\\\\?)?\\\\s*\\\\.\\\\s*@?[_[:alpha:]][_[:alnum:]]*)"}]},"merge-expression":{"begin":"(merge)\\\\b\\\\s+","beginCaptures":{"1":{"name":"support.function.apex"}},"end":"(?<=;)","patterns":[{"include":"#object-creation-expression"},{"include":"#merge-type-statement"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"merge-type-statement":{"captures":{"1":{"name":"variable.other.readwrite.apex"},"2":{"name":"variable.other.readwrite.apex"},"3":{"name":"punctuation.terminator.statement.apex"}},"match":"([_[:alpha:]]*)\\\\b\\\\s+([_[:alpha:]]*)\\\\b\\\\s*(;)"},"method-declaration":{"begin":"(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(\\\\g<identifier>)\\\\s*(<([^<>]+)>)?\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"patterns":[{"include":"#support-type"},{"include":"#method-name-custom"}]},"8":{"patterns":[{"include":"#type-parameter-list"}]}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#parenthesized-parameter-list"},{"include":"#expression-body"},{"include":"#block"}]},"method-name-custom":{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"entity.name.function.apex"},"named-argument":{"begin":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(:)","beginCaptures":{"1":{"name":"entity.name.variable.parameter.apex"},"2":{"name":"punctuation.separator.colon.apex"}},"end":"(?=([]),]))","patterns":[{"include":"#expression"}]},"null-literal":{"match":"(?<!\\\\.)\\\\bnull\\\\b","name":"constant.language.null.apex"},"numeric-literal":{"patterns":[{"match":"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?([-+])\\\\d{2}:\\\\d{2})\\\\b","name":"constant.numeric.datetime.apex"},{"match":"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d{1,3})?(Z)?)\\\\b","name":"constant.numeric.datetime.apex"},{"match":"\\\\b(\\\\d{4}-\\\\d{2}-\\\\d{2})\\\\b","name":"constant.numeric.date.apex"},{"match":"\\\\b0([Xx])[_\\\\h]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b","name":"constant.numeric.hex.apex"},{"match":"\\\\b0([Bb])[01_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b","name":"constant.numeric.binary.apex"},{"match":"\\\\b([0-9_]+)?\\\\.[0-9_]+(([Ee])[0-9]+)?([DFMdfm])?\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([Ee])[0-9_]+([DFMdfm])?\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([DFMdfm])\\\\b","name":"constant.numeric.decimal.apex"},{"match":"\\\\b[0-9_]+([LUlu]|UL|Ul|uL|ul|LU|Lu|lU|lu)?\\\\b","name":"constant.numeric.decimal.apex"}]},"object-creation-expression":{"patterns":[{"include":"#object-creation-expression-with-parameters"},{"include":"#object-creation-expression-with-no-parameters"},{"include":"#punctuation-comma"}]},"object-creation-expression-with-no-parameters":{"captures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}},"match":"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\{|$)"},"object-creation-expression-with-parameters":{"begin":"(delete|insert|undelete|update|upsert)?\\\\s*(new)\\\\s+(?<type_name>(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"support.function.apex"},"2":{"name":"keyword.control.new.apex"},"3":{"patterns":[{"include":"#support-type"},{"include":"#type"}]}},"end":"(?<=\\\\))","patterns":[{"include":"#argument-list"}]},"operator-assignment":{"match":"(?<![!=])(=)(?!=)","name":"keyword.operator.assignment.apex"},"operator-safe-navigation":{"match":"\\\\?\\\\.","name":"keyword.operator.safe-navigation.apex"},"orderby-clause":{"captures":{"1":{"name":"keyword.operator.query.orderby.apex"}},"match":"\\\\b(ORDER BY)\\\\b\\\\s*","patterns":[{"include":"#ordering-direction"},{"include":"#ordering-nulls"}]},"ordering-direction":{"captures":{"1":{"name":"keyword.operator.query.ascending.apex"},"2":{"name":"keyword.operator.query.descending.apex"}},"match":"\\\\b(?:(ASC)|(DESC))\\\\b"},"ordering-nulls":{"captures":{"1":{"name":"keyword.operator.query.nullsfirst.apex"},"2":{"name":"keyword.operator.query.nullslast.apex"}},"match":"\\\\b(?:(NULLS FIRST)|(NULLS LAST))\\\\b"},"parameter":{"captures":{"1":{"name":"storage.modifier.apex"},"2":{"patterns":[{"include":"#support-type"},{"include":"#type"}]},"6":{"name":"entity.name.variable.parameter.apex"}},"match":"(?:\\\\b(this|final)\\\\b\\\\s+)?(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+(\\\\g<identifier>)"},"parenthesized-expression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},"parenthesized-parameter-list":{"begin":"(\\\\()","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"(\\\\))","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#comment"},{"include":"#parameter"},{"include":"#punctuation-comma"},{"include":"#variable-initializer"}]},"property-accessors":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"match":"\\\\b(pr(?:ivate|otected))\\\\b","name":"storage.modifier.apex"},{"match":"\\\\b(get)\\\\b","name":"keyword.other.get.apex"},{"match":"\\\\b(set)\\\\b","name":"keyword.other.set.apex"},{"include":"#comment"},{"include":"#expression-body"},{"include":"#block"},{"include":"#punctuation-semicolon"}]},"property-declaration":{"begin":"(?!.*\\\\b(?:class|interface|enum)\\\\b)\\\\s*(?<return_type>(?<type_name>(?:ref\\\\s+)?(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name_and_type_args>\\\\g<identifier>\\\\s*(?<type_args>\\\\s*<(?:[^<>]|\\\\g<type_args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name_and_type_args>)*(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s+)(?<interface_name>\\\\g<type_name>\\\\s*\\\\.\\\\s*)?(?<property_name>\\\\g<identifier>)\\\\s*(?=\\\\{|=>|$)","beginCaptures":{"1":{"patterns":[{"include":"#type"}]},"6":{"patterns":[{"include":"#type"},{"include":"#punctuation-accessor"}]},"7":{"name":"entity.name.variable.property.apex"}},"end":"(?<=})|(?=;)","patterns":[{"include":"#comment"},{"include":"#property-accessors"},{"include":"#expression-body"},{"include":"#variable-initializer"},{"include":"#class-or-trigger-members"}]},"punctuation-accessor":{"match":"\\\\.","name":"punctuation.accessor.apex"},"punctuation-comma":{"match":",","name":"punctuation.separator.comma.apex"},"punctuation-semicolon":{"match":";","name":"punctuation.terminator.statement.apex"},"query-operators":{"captures":{"1":{"name":"keyword.operator.query.apex"}},"match":"\\\\b(ABOVE|AND|AT|FOR REFERENCE|FOR UPDATE|FOR VIEW|GROUP BY|HAVING|IN|LIKE|LIMIT|NOT IN|NOT|OFFSET|OR|TYPEOF|UPDATE TRACKING|UPDATE VIEWSTAT|WITH DATA CATEGORY|WITH)\\\\b\\\\s*"},"return-statement":{"begin":"(?<!\\\\.)\\\\b(return)\\\\b","beginCaptures":{"1":{"name":"keyword.control.flow.return.apex"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},"script-top-level":{"patterns":[{"include":"#method-declaration"},{"include":"#statement"},{"include":"#punctuation-semicolon"}]},"sharing-modifier":{"match":"(?<!\\\\.)\\\\b((?:with|without|inherited) sharing)\\\\b","name":"sharing.modifier.apex"},"soql-colon-method-statement":{"begin":"(:?\\\\.)?([_[:alpha:]][_[:alnum:]]*)(?=\\\\()","beginCaptures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"entity.name.function.apex"}},"end":"(?<=\\\\))","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"soql-colon-vars":{"begin":"(:)\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.conditional.colon.apex"}},"end":"(?![(_[:alnum:]]|(\\\\?)?\\\\[|<)","patterns":[{"include":"#trigger-context-declaration"},{"captures":{"1":{"name":"variable.other.object.apex"},"2":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]}},"match":"([_[:alpha:]][_[:alnum:]]*)(\\\\??\\\\.)"},{"include":"#soql-colon-method-statement"},{"match":"[_[:alpha:]][_[:alnum:]]*","name":"entity.name.variable.local.apex"}]},"soql-functions":{"begin":"\\\\b(AVG|CALENDAR_MONTH|CALENDAR_QUARTER|CALENDAR_YEAR|convertCurrency|convertTimezone|COUNT|COUNT_DISTINCT|DAY_IN_MONTH|DAY_IN_WEEK|DAY_IN_YEAR|DAY_ONLY|toLabel|INCLUDES|EXCLUDES|FISCAL_MONTH|FISCAL_QUARTER|FISCAL_YEAR|FORMAT|GROUPING|GROUP BY CUBE|GROUP BY ROLLUP|HOUR_IN_DAY|MAX|MIN|SUM|WEEK_IN_MONTH|WEEK_IN_YEAR)\\\\s*(\\\\()","beginCaptures":{"1":{"name":"support.function.query.apex"},"2":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#literal"},{"include":"#punctuation-comma"},{"include":"#soql-functions"},{"match":"[._[:alpha:]][._[:alnum:]]*","name":"keyword.query.field.apex"}]},"soql-group-clauses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#soql-query-expression"},{"include":"#soql-colon-vars"},{"include":"#soql-group-clauses"},{"include":"#punctuation-comma"},{"include":"#operator-assignment"},{"include":"#literal"},{"include":"#query-operators"},{"include":"#date-literals"},{"include":"#date-literal-with-params"},{"include":"#using-scope"},{"match":"[._[:alpha:]][._[:alnum:]]*","name":"keyword.query.field.apex"}]},"soql-query-body":{"patterns":[{"include":"#trigger-context-declaration"},{"include":"#soql-colon-vars"},{"include":"#soql-functions"},{"include":"#from-clause"},{"include":"#where-clause"},{"include":"#query-operators"},{"include":"#date-literals"},{"include":"#date-literal-with-params"},{"include":"#using-scope"},{"include":"#soql-group-clauses"},{"include":"#orderby-clause"},{"include":"#ordering-direction"},{"include":"#ordering-nulls"}]},"soql-query-expression":{"begin":"\\\\b(SELECT)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.operator.query.select.apex"}},"end":"(?=;)|(?=])|(?=\\\\))","patterns":[{"include":"#soql-query-body"},{"include":"#comment"},{"include":"#punctuation-comma"},{"include":"#operator-assignment"},{"include":"#parenthesized-expression"},{"include":"#expression-operators"},{"include":"#literal"},{"captures":{"1":{"name":"keyword.query.field.apex"},"2":{"name":"punctuation.separator.comma.apex"}},"match":"([._[:alpha:]][._[:alnum:]]*)\\\\s*(,)?"}]},"statement":{"patterns":[{"include":"#comment"},{"include":"#while-statement"},{"include":"#do-statement"},{"include":"#for-statement"},{"include":"#switch-statement"},{"include":"#when-else-statement"},{"include":"#when-sobject-statement"},{"include":"#when-statement"},{"include":"#when-multiple-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#goto-statement"},{"include":"#return-statement"},{"include":"#break-or-continue-statement"},{"include":"#throw-statement"},{"include":"#try-statement"},{"include":"#soql-query-expression"},{"include":"#local-declaration"},{"include":"#block"},{"include":"#expression"},{"include":"#punctuation-semicolon"}]},"storage-modifier":{"match":"(?<!\\\\.)\\\\b(new|public|protected|private|abstract|virtual|override|global|static|final|transient)\\\\b","name":"storage.modifier.apex"},"string-character-escape":{"match":"\\\\\\\\.","name":"constant.character.escape.apex"},"string-literal":{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"end":"(')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.apex"},"2":{"name":"invalid.illegal.newline.apex"}},"name":"string.quoted.single.apex","patterns":[{"include":"#string-character-escape"}]},"support-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}},"patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#punctuation-comma"}]},"support-class":{"captures":{"1":{"name":"support.class.apex"}},"match":"\\\\b(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)\\\\b"},"support-expression":{"begin":"(ApexPages|Database|DMLException|Exception|PageReference|Savepoint|SchedulableContext|Schema|SObject|System|Test)(?=[.\\\\s])","beginCaptures":{"1":{"name":"support.class.apex"}},"end":"(?<=\\\\)|$)|(?=})|(?=;)|(?=\\\\)|(?=]))|(?=,)","patterns":[{"include":"#support-type"},{"captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}},"match":"(\\\\.)(\\\\p{alpha}*)(?=\\\\()"},{"captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}},"match":"(\\\\.)(\\\\p{alpha}+)"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},{"include":"#comment"},{"include":"#statement"}]},"support-functions":{"captures":{"1":{"name":"support.function.apex"}},"match":"\\\\b(delete|execute|finish|insert|start|undelete|update|upsert)\\\\b"},"support-name":{"patterns":[{"captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.function.apex"}},"match":"(\\\\.)\\\\s*(\\\\p{alpha}*)(?=\\\\()"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"},{"include":"#punctuation-comma"}]},{"captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"support.type.apex"}},"match":"(\\\\.)\\\\s*([_[:alpha:]]*)"}]},"support-type":{"name":"support.apex","patterns":[{"include":"#comment"},{"include":"#support-class"},{"include":"#support-functions"},{"include":"#support-name"}]},"switch-statement":{"begin":"(switch)\\\\b\\\\s+(on)\\\\b\\\\s+(.*)(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.switch.apex"},"2":{"name":"keyword.control.switch.on.apex"},"3":{"patterns":[{"include":"#statement"},{"include":"#parenthesized-expression"}]},"4":{"name":"punctuation.curlybrace.open.apex"}},"end":"(})","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#when-string"},{"include":"#when-else-statement"},{"include":"#when-sobject-statement"},{"include":"#when-statement"},{"include":"#when-multiple-statement"},{"include":"#expression"},{"include":"#punctuation-comma"},{"include":"#punctuation-semicolon"}]},"this-expression":{"captures":{"1":{"name":"keyword.other.this.apex"}},"match":"\\\\b(this)\\\\b"},"throw-expression":{"captures":{"1":{"name":"keyword.control.flow.throw.apex"}},"match":"(?<!\\\\.)\\\\b(throw)\\\\b"},"throw-statement":{"begin":"(?<!\\\\.)\\\\b(throw)\\\\b","beginCaptures":{"1":{"name":"keyword.control.flow.throw.apex"}},"end":"(?=;)","patterns":[{"include":"#expression"}]},"trigger-context-declaration":{"begin":"\\\\b(Trigger)\\\\b(\\\\.)\\\\b","beginCaptures":{"1":{"name":"support.class.trigger.apex"},"2":{"name":"punctuation.accessor.apex"}},"end":"(?=})|(?=;)|(?=\\\\)|(?=]))","patterns":[{"match":"\\\\b(isExecuting|isInsert|isUpdate|isDelete|isBefore|isAfter|isUndelete|new|newMap|old|oldMap|size)\\\\b","name":"support.type.trigger.apex"},{"captures":{"1":{"patterns":[{"include":"#punctuation-accessor"},{"include":"#operator-safe-navigation"}]},"2":{"name":"support.function.trigger.apex"}},"match":"(\\\\??\\\\.)(\\\\p{alpha}+)(?=\\\\()"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#trigger-type-statement"},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#expression"}]},{"include":"#expression"}]},"trigger-declaration":{"begin":"(?=\\\\btrigger\\\\b)","end":"(?<=})","patterns":[{"begin":"\\\\b(trigger)\\\\b\\\\s+(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*\\\\b(on)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)\\\\s*","beginCaptures":{"1":{"name":"keyword.other.trigger.apex"},"2":{"name":"entity.name.type.trigger.apex"},"3":{"name":"keyword.operator.trigger.on.apex"},"4":{"name":"storage.type.apex"}},"end":"(?=\\\\{)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#trigger-type-statement"},{"include":"#trigger-operator-statement"},{"include":"#punctuation-comma"},{"include":"#expression"}]},{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#type-parameter-list"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.curlybrace.open.apex"}},"end":"}","endCaptures":{"0":{"name":"punctuation.curlybrace.close.apex"}},"patterns":[{"include":"#statement"},{"include":"#class-or-trigger-members"}]},{"include":"#javadoc-comment"},{"include":"#comment"}]},"trigger-operator-statement":{"match":"\\\\b(insert|update|delete|merge|upsert|undelete)\\\\b","name":"keyword.operator.trigger.apex"},"trigger-type-statement":{"captures":{"1":{"name":"keyword.control.trigger.before.apex"},"2":{"name":"keyword.control.trigger.after.apex"}},"match":"\\\\b(?:(before)|(after))\\\\b"},"try-block":{"begin":"(?<!\\\\.)\\\\b(try)\\\\b","beginCaptures":{"1":{"name":"keyword.control.try.apex"}},"end":"(?<=})","patterns":[{"include":"#comment"},{"include":"#block"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"type":{"name":"meta.type.apex","patterns":[{"include":"#comment"},{"include":"#type-builtin"},{"include":"#type-name"},{"include":"#type-arguments"},{"include":"#type-array-suffix"},{"include":"#type-nullable-suffix"}]},"type-arguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}},"patterns":[{"include":"#comment"},{"include":"#support-type"},{"include":"#type"},{"include":"#punctuation-comma"}]},"type-array-suffix":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.squarebracket.open.apex"}},"end":"]","endCaptures":{"0":{"name":"punctuation.squarebracket.close.apex"}},"patterns":[{"include":"#punctuation-comma"}]},"type-builtin":{"captures":{"1":{"name":"keyword.type.apex"}},"match":"\\\\b(Blob|Boolean|byte|Date|Datetime|Decimal|Double|Id|ID|Integer|Long|Object|String|Time|void)\\\\b"},"type-declarations":{"patterns":[{"include":"#javadoc-comment"},{"include":"#comment"},{"include":"#annotation-declaration"},{"include":"#storage-modifier"},{"include":"#sharing-modifier"},{"include":"#class-declaration"},{"include":"#enum-declaration"},{"include":"#interface-declaration"},{"include":"#trigger-declaration"},{"include":"#punctuation-semicolon"}]},"type-name":{"patterns":[{"captures":{"1":{"name":"storage.type.apex"},"2":{"name":"punctuation.accessor.apex"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\s*(\\\\.)"},{"captures":{"1":{"name":"punctuation.accessor.apex"},"2":{"name":"storage.type.apex"}},"match":"(\\\\.)\\\\s*(@?[_[:alpha:]][_[:alnum:]]*)"},{"match":"@?[_[:alpha:]][_[:alnum:]]*","name":"storage.type.apex"}]},"type-nullable-suffix":{"captures":{"0":{"name":"punctuation.separator.question-mark.apex"}},"match":"\\\\?"},"type-parameter-list":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.apex"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.apex"}},"patterns":[{"captures":{"1":{"name":"entity.name.type.type-parameter.apex"}},"match":"(@?[_[:alpha:]][_[:alnum:]]*)\\\\b"},{"include":"#comment"},{"include":"#punctuation-comma"}]},"using-scope":{"captures":{"1":{"name":"keyword.operator.query.using.apex"}},"match":"((USING SCOPE)\\\\b\\\\s*(Delegated|Everything|Mine|My_Territory|My_Team_Territory|Team))\\\\b\\\\s*"},"variable-initializer":{"begin":"(?<![!=])(=)(?![=>])","beginCaptures":{"1":{"name":"keyword.operator.assignment.apex"}},"end":"(?=[]),;}])","patterns":[{"include":"#expression"}]},"when-else-statement":{"begin":"(when)\\\\b\\\\s+(else)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"keyword.control.switch.else.apex"}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"when-multiple-statement":{"begin":"(when)\\\\b\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"},{"include":"#punctuation-comma"}]},"when-sobject-statement":{"begin":"(when)\\\\b\\\\s+([_[:alnum:]]+)\\\\s+([_[:alnum:]]+)\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"name":"storage.type.apex"},"3":{"name":"entity.name.variable.local.apex"}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"when-statement":{"begin":"(when)\\\\b\\\\s+([-_[:alnum:]]+)\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#expression"}]}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"when-string":{"begin":"(when)\\\\b\\\\s*('[^\\\\n']*')(\\\\s*(,)\\\\s*('[^\\\\n']*'))*\\\\s*","beginCaptures":{"1":{"name":"keyword.control.switch.when.apex"},"2":{"patterns":[{"include":"#string-literal"}]},"4":{"patterns":[{"include":"#punctuation-comma"}]},"5":{"patterns":[{"include":"#string-literal"}]}},"end":"(?=})|(?=when\\\\b)","patterns":[{"include":"#block"},{"include":"#expression"}]},"where-clause":{"captures":{"1":{"name":"keyword.operator.query.where.apex"}},"match":"\\\\b(WHERE)\\\\b\\\\s*"},"while-statement":{"begin":"(?<!\\\\.)\\\\b(while)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.loop.while.apex"}},"end":"(?<=})|(?=;)","patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.apex"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.apex"}},"patterns":[{"include":"#expression"}]},{"include":"#statement"}]},"xml-attribute":{"patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.apex"},"2":{"name":"entity.other.attribute-name.namespace.apex"},"3":{"name":"punctuation.separator.colon.apex"},"4":{"name":"entity.other.attribute-name.localname.apex"},"5":{"name":"punctuation.separator.equals.apex"}},"match":"(?:^|\\\\s+)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))(=)"},{"include":"#xml-string"}]},"xml-cdata":{"begin":"<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}},"name":"string.unquoted.cdata.apex"},"xml-character-entity":{"patterns":[{"captures":{"1":{"name":"punctuation.definition.constant.apex"},"3":{"name":"punctuation.definition.constant.apex"}},"match":"(&)([:_[:alpha:]][-.:_[:alnum:]]*|#\\\\d+|#x\\\\h+)(;)","name":"constant.character.entity.apex"},{"match":"&","name":"invalid.illegal.bad-ampersand.apex"}]},"xml-comment":{"begin":"<!--","beginCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"end":"-->","endCaptures":{"0":{"name":"punctuation.definition.comment.apex"}},"name":"comment.block.apex"},"xml-doc-comment":{"patterns":[{"include":"#xml-comment"},{"include":"#xml-character-entity"},{"include":"#xml-cdata"},{"include":"#xml-tag"}]},"xml-string":{"patterns":[{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.apex"}},"end":"'","endCaptures":{"0":{"name":"punctuation.definition.string.end.apex"}},"name":"string.quoted.single.apex","patterns":[{"include":"#xml-character-entity"}]},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.begin.apex"}},"end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.stringdoublequote.end.apex"}},"name":"string.quoted.double.apex","patterns":[{"include":"#xml-character-entity"}]}]},"xml-tag":{"begin":"(</?)((?:([-_[:alnum:]]+)(:))?([-_[:alnum:]]+))","beginCaptures":{"1":{"name":"punctuation.definition.tag.apex"},"2":{"name":"entity.name.tag.apex"},"3":{"name":"entity.name.tag.namespace.apex"},"4":{"name":"punctuation.separator.colon.apex"},"5":{"name":"entity.name.tag.localname.apex"}},"end":"(/?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.apex"}},"name":"meta.tag.apex","patterns":[{"include":"#xml-attribute"}]}},"scopeName":"source.apex"}`)),n=[e];export{n as default};
@@ -0,0 +1 @@
1
+ import{M as ln,N as an,O as Y,P as O,Q,R as un,S as y,T as tn,V as j,W as _,X as rn,Y as o,Z as sn,$ as on,a0 as fn}from"./mermaid.core-Hp60xAyJ.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,d=a-R,u=d*E-n*i;if(!(u*u<y))return u=(n*(h-R)-d*(l-v))/u,[l+u*E,h+u*i]}function H(l,h,D,S,v,R,V){var a=l-D,E=h-S,i=(V?R:-R)/j(a*a+E*E),n=i*E,d=-i*a,u=l+n,s=h+d,f=D+n,c=S+d,W=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,A=m*m+g*g,T=v-R,P=u*c-f*s,I=(g<0?-1:1)*j(on(0,T*T*A-P*P)),M=(P*g-m*I)/A,N=(-P*m-g*I)/A,w=(P*g+m*I)/A,p=(-P*m+g*I)/A,x=M-W,e=N-t,r=w-W,X=p-t;return x*x+e*e>r*r+X*X&&(M=w,N=p),{cx:M,cy:N,x01:-n,y01:-d,x11:M*(v/T-1),y11:N*(v/T-1)}}function hn(){var l=cn,h=yn,D=Q(0),S=null,v=gn,R=dn,V=mn,a=null,E=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=R.apply(this,arguments)-un,W=rn(c-f),t=c>f;if(a||(a=n=E()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(W>tn-y)a.moveTo(s*Y(f),s*O(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*Y(c),u*O(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,A=f,T=c,P=W,I=W,M=V.apply(this,arguments)/2,N=M>y&&(S?+S.apply(this,arguments):j(u*u+s*s)),w=_(rn(s-u)/2,+D.apply(this,arguments)),p=w,x=w,e,r;if(N>y){var X=sn(N/u*O(M)),z=sn(N/s*O(M));(P-=X*2)>y?(X*=t?1:-1,A+=X,T-=X):(P=0,A=T=(f+c)/2),(I-=z*2)>y?(z*=t?1:-1,m+=z,g-=z):(I=0,m=g=(f+c)/2)}var Z=s*Y(m),$=s*O(m),B=u*Y(T),C=u*O(T);if(w>y){var F=s*Y(g),G=s*O(g),J=u*Y(A),K=u*O(A),q;if(W<an)if(q=pn(Z,$,J,K,F,G,B,C)){var L=Z-q[0],U=$-q[1],k=F-q[0],b=G-q[1],nn=1/O(fn((L*k+U*b)/(j(L*L+U*U)*j(k*k+b*b)))/2),en=j(q[0]*q[0]+q[1]*q[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}I>y?x>y?(e=H(J,K,Z,$,s,x,t),r=H(F,G,B,C,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(Z,$),a.arc(0,0,s,m,g,!t)):a.moveTo(Z,$),!(u>y)||!(P>y)?a.lineTo(B,C):p>y?(e=H(B,C,F,G,u,-p,t),r=H(Z,$,J,K,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,A,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +R.apply(this,arguments))/2-an/2;return[Y(d)*n,O(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:Q(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:Q(+n),i):h},i.cornerRadius=function(n){return arguments.length?(D=typeof n=="function"?n:Q(+n),i):D},i.padRadius=function(n){return arguments.length?(S=n==null?null:typeof n=="function"?n:Q(+n),i):S},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:Q(+n),i):v},i.endAngle=function(n){return arguments.length?(R=typeof n=="function"?n:Q(+n),i):R},i.padAngle=function(n){return arguments.length?(V=typeof n=="function"?n:Q(+n),i):V},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};