@tequila99/githuman 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/README.md +55 -0
  2. package/dist/cli/config.js +13 -1
  3. package/dist/cli/server-runtime.js +3 -0
  4. package/dist/server/app.js +36 -4
  5. package/dist/server/config/agents.js +2 -1
  6. package/dist/server/config/openapi.js +4 -0
  7. package/dist/server/db/migrations.js +55 -0
  8. package/dist/server/errors/notes.js +3 -0
  9. package/dist/server/hooks/notes/same-origin.js +37 -0
  10. package/dist/server/hooks/terminal/local-origin.js +2 -1
  11. package/dist/server/repositories/notes-catalog.repo.js +128 -0
  12. package/dist/server/repositories/notes.repo.js +402 -0
  13. package/dist/server/routes/notes.js +167 -0
  14. package/dist/server/routes/terminal.js +2 -1
  15. package/dist/server/services/git.service.js +15 -11
  16. package/dist/server/services/notes-identity.service.js +726 -0
  17. package/dist/server/services/notes-operations.service.js +298 -0
  18. package/dist/server/services/notes-watcher.service.js +44 -0
  19. package/dist/server/services/notes-writer.service.js +116 -0
  20. package/dist/server/services/notes.service.js +125 -0
  21. package/dist/server/services/terminal/backend.js +6 -3
  22. package/dist/server/services/terminal/channel.js +6 -3
  23. package/dist/server/services/terminal/registry.js +10 -5
  24. package/dist/server/services/terminal/session.js +10 -5
  25. package/dist/server/services/terminal/tokens.js +4 -2
  26. package/dist/server/utils/hash.js +4 -0
  27. package/dist/server/utils/note-asset-format.js +19 -0
  28. package/dist/server/utils/system-error.js +14 -0
  29. package/dist/shared/events/types.js +1 -0
  30. package/dist/shared/notes/asset-formats.js +39 -0
  31. package/dist/shared/notes/constants.js +2 -0
  32. package/dist/shared/notes/document.js +118 -0
  33. package/dist/shared/notes/identity.js +24 -0
  34. package/dist/shared/notes/links.js +44 -0
  35. package/dist/shared/notes/reference-path.js +54 -0
  36. package/dist/shared/notes/references.js +190 -0
  37. package/dist/shared/notes/schemas.js +164 -0
  38. package/dist/shared/notes/types.js +1 -0
  39. package/dist/shared/utils/heading-slug.js +7 -0
  40. package/dist/shared/utils/is-uuid.js +5 -0
  41. package/dist/shared/utils/safe-decode.js +9 -0
  42. package/dist/web/assets/AppPage-cl-3VfAl.js +1 -0
  43. package/dist/web/assets/ClosePopup-D2_HzWXW.js +1 -0
  44. package/dist/web/assets/CreateButton-pmDRGwna.js +93 -0
  45. package/dist/web/assets/CreateReviewFabButton-CcXWnmSN.js +1 -0
  46. package/dist/web/assets/{ErrorNotFound-CYOZg8yN.js → ErrorNotFound-Cq0wNQMu.js} +1 -1
  47. package/dist/web/assets/IndexPage-CmBmgu4A.js +1 -0
  48. package/dist/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  49. package/dist/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  50. package/dist/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  51. package/dist/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  52. package/dist/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  53. package/dist/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  54. package/dist/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  55. package/dist/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  56. package/dist/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  57. package/dist/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  58. package/dist/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  59. package/dist/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  60. package/dist/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  61. package/dist/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  62. package/dist/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  63. package/dist/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  64. package/dist/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  65. package/dist/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  66. package/dist/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  67. package/dist/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  68. package/dist/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  69. package/dist/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  70. package/dist/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  71. package/dist/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  72. package/dist/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  73. package/dist/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  74. package/dist/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  75. package/dist/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  76. package/dist/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  77. package/dist/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  78. package/dist/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  79. package/dist/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  80. package/dist/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  81. package/dist/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  82. package/dist/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  83. package/dist/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  84. package/dist/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  85. package/dist/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  86. package/dist/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  87. package/dist/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  88. package/dist/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  89. package/dist/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  90. package/dist/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  91. package/dist/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  92. package/dist/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  93. package/dist/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  94. package/dist/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  95. package/dist/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  96. package/dist/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  97. package/dist/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  98. package/dist/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  99. package/dist/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  100. package/dist/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  101. package/dist/web/assets/KaTeX_Size3-Regular-gV2CO0n9.woff2 +0 -0
  102. package/dist/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  103. package/dist/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  104. package/dist/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  105. package/dist/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  106. package/dist/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  107. package/dist/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  108. package/dist/web/assets/MainLayout-DM30ynlR.css +1 -0
  109. package/dist/web/assets/MainLayout-DOGoQ-1m.js +6 -0
  110. package/dist/web/assets/NoteVisualEditor-CClIKW0X.css +1 -0
  111. package/dist/web/assets/NoteVisualEditor-zjZr9aod.js +1056 -0
  112. package/dist/web/assets/NotesPage-C5VXA9Bb.css +1 -0
  113. package/dist/web/assets/NotesPage-Jeva3Jta.js +114 -0
  114. package/dist/web/assets/{PdfPreview-D3HwZ7pH.js → PdfPreview-CdgeqqEv.js} +1 -1
  115. package/dist/web/assets/QBtn-DoggJe1Q.js +1 -0
  116. package/dist/web/assets/QFab-DyUFgj0W.js +1 -0
  117. package/dist/web/assets/QForm-BiRkV9BY.js +4 -0
  118. package/dist/web/assets/QInput-DJgTh2Qy.js +1 -0
  119. package/dist/web/assets/QScrollArea-DfPW35JQ.js +1 -0
  120. package/dist/web/assets/QSelect-BpZ5KfWP.js +1 -0
  121. package/dist/web/assets/QSpace-BRLIXkHB.js +1 -0
  122. package/dist/web/assets/ReviewDetailPage-CpJPrSKO.js +1 -0
  123. package/dist/web/assets/ReviewsPage-BaxUZzUZ.js +1 -0
  124. package/dist/web/assets/{StatusSwitcher-DTD5inU1.css → StatusSwitcher-BCv_9MtI.css} +1 -1
  125. package/dist/web/assets/StatusSwitcher-D5UG_YWP.js +1 -0
  126. package/dist/web/assets/{TerminalView-B11UHZv3.css → TerminalView-C1jFlfLH.css} +1 -1
  127. package/dist/web/assets/TerminalView-DMJTXE-G.js +19 -0
  128. package/dist/web/assets/_baseMerge-BzZFQ6mI.js +1 -0
  129. package/dist/web/assets/{abnfDiagram-O67JEVCF-C5SYdl8k.js → abnfDiagram-O67JEVCF-CiOkMSRz.js} +1 -1
  130. package/dist/web/assets/agent-icon-Dx8WBYX_.js +1 -0
  131. package/dist/web/assets/agent-store-B1VK6S0D.js +1 -0
  132. package/dist/web/assets/apl-gfMMiTNf.js +1 -0
  133. package/dist/web/assets/app-info-store-D76h_OdJ.js +1 -0
  134. package/dist/web/assets/architecture-7GRP2DOG-Byc4Oz95.js +1 -0
  135. package/dist/web/assets/{architectureDiagram-NJMV4G6O-Bx8KGjS_.js → architectureDiagram-NJMV4G6O-BexHJffj.js} +1 -1
  136. package/dist/web/assets/asciiarmor-C_eisQCp.js +1 -0
  137. package/dist/web/assets/asn1-DCl_8MCW.js +1 -0
  138. package/dist/web/assets/asterisk-BEn0Cwpx.js +1 -0
  139. package/dist/web/assets/{blockDiagram-BEXU5L5S-B4ybhPir.js → blockDiagram-BEXU5L5S-CEyB_5a1.js} +1 -1
  140. package/dist/web/assets/brainfuck-D5EjA2JK.js +1 -0
  141. package/dist/web/assets/{c4Diagram-YGBWAQC7-D2Fzm9Zx.js → c4Diagram-YGBWAQC7-BRNWA7xI.js} +1 -1
  142. package/dist/web/assets/ccount-CcG1m-Yh.js +1 -0
  143. package/dist/web/assets/channel-DbRAFIx1.js +1 -0
  144. package/dist/web/assets/{chunk-3FUC2YCW-DLRX-HPs.js → chunk-3FUC2YCW-BcQR1JDF.js} +1 -1
  145. package/dist/web/assets/{chunk-5DYCD2WN-6HcgVbfR.js → chunk-5DYCD2WN-D6aQ1hFt.js} +1 -1
  146. package/dist/web/assets/{chunk-742MDFTN-CfTGkhlJ.js → chunk-742MDFTN-BRgrFtkf.js} +1 -1
  147. package/dist/web/assets/{chunk-7INBJB4K-COfv2qWf.js → chunk-7INBJB4K-3RBjXeq6.js} +1 -1
  148. package/dist/web/assets/{chunk-7M6MHVWA-D0FxecF4.js → chunk-7M6MHVWA-Malugc_N.js} +5 -5
  149. package/dist/web/assets/{chunk-7PRAP22T-DFjSoEy0.js → chunk-7PRAP22T-Bb3gaISA.js} +1 -1
  150. package/dist/web/assets/{chunk-GTNCS2PH-CGWGXDNO.js → chunk-GTNCS2PH-Cps7XhUC.js} +1 -1
  151. package/dist/web/assets/{chunk-GWA4HPMP-J0EaOPjD.js → chunk-GWA4HPMP-Bfp2Tg3_.js} +1 -1
  152. package/dist/web/assets/{chunk-MBY4JIJT-PzEUkWiy.js → chunk-MBY4JIJT-IfXbX1Ur.js} +1 -1
  153. package/dist/web/assets/{chunk-NETBCI7D-DHHOcLF0.js → chunk-NETBCI7D-r2fmahwk.js} +1 -1
  154. package/dist/web/assets/{chunk-O7XYJQB3-BHUId2wW.js → chunk-O7XYJQB3-sadsiWmA.js} +1 -1
  155. package/dist/web/assets/{chunk-UA2S7LBM-DXQ1DAj6.js → chunk-UA2S7LBM-DibfwtDn.js} +1 -1
  156. package/dist/web/assets/{chunk-WEXAMYUT-BMiibMha.js → chunk-WEXAMYUT-DBouMgEO.js} +1 -1
  157. package/dist/web/assets/{chunk-Z7XXMR3K-BcgKYeJS.js → chunk-Z7XXMR3K-fAHToON5.js} +1 -1
  158. package/dist/web/assets/{chunk-ZIGJFQKS-D6psU74o.js → chunk-ZIGJFQKS-CJG1UIHO.js} +1 -1
  159. package/dist/web/assets/{classDiagram-v2-NBCMYWYE-6IwOSgSE.js → classDiagram-v2-NBCMYWYE-CPHP5ynj.js} +4 -4
  160. package/dist/web/assets/clike-D_6L3tnO.js +1 -0
  161. package/dist/web/assets/clojure-BflJGmDX.js +1 -0
  162. package/dist/web/assets/cmake-84nbDH0I.js +1 -0
  163. package/dist/web/assets/cobol-DHLQUbN7.js +1 -0
  164. package/dist/web/assets/coffeescript-De_zI4J0.js +1 -0
  165. package/dist/web/assets/commonlisp-DgAKBe0r.js +1 -0
  166. package/dist/web/assets/core-Bumj8M77.js +12 -0
  167. package/dist/web/assets/crystal-Bsdphhtm.js +1 -0
  168. package/dist/web/assets/css-CnaYoQib.js +1 -0
  169. package/dist/web/assets/{cynefin-OW5HDTMX-C77WtKve.js → cynefin-OW5HDTMX-BU7_LYGR.js} +1 -1
  170. package/dist/web/assets/{cynefinDiagram-VND7K2PF-BvIp3Y9w.js → cynefinDiagram-VND7K2PF-BXFEy9Io.js} +1 -1
  171. package/dist/web/assets/cypher-p9eYesGn.js +1 -0
  172. package/dist/web/assets/d-DWkQyNnU.js +1 -0
  173. package/dist/web/assets/dagre-6A5THRUB-aKpdpQ18.js +4 -0
  174. package/dist/web/assets/{diagram-22UHCM2B-DQUkKx9q.js → diagram-22UHCM2B-ddbRgIQ9.js} +8 -8
  175. package/dist/web/assets/{diagram-3UASUU5V-CTzVKsCf.js → diagram-3UASUU5V-vNYy6WP_.js} +1 -1
  176. package/dist/web/assets/{diagram-ATOU4E4O--Z3AVUjn.js → diagram-ATOU4E4O-B9Z3zFfp.js} +1 -1
  177. package/dist/web/assets/{diagram-CDSNMT55-BA-cRZ39.js → diagram-CDSNMT55-D3TaDPXU.js} +1 -1
  178. package/dist/web/assets/{diagram-MLGK6HIB-Bx_zLrYg.js → diagram-MLGK6HIB-DOXcXm2Y.js} +1 -1
  179. package/dist/web/assets/{diagram-MPIPVDR6-CWKuh-e-.js → diagram-MPIPVDR6-B5E2J8pO.js} +1 -1
  180. package/dist/web/assets/diff-ChtP43wD.js +1 -0
  181. package/dist/web/assets/dist-3B0OaUZ-.js +1 -0
  182. package/dist/web/assets/dist-BFbA030x.js +1 -0
  183. package/dist/web/assets/dist-BGzvKGEu.js +1 -0
  184. package/dist/web/assets/dist-BX8UA0fl.js +11 -0
  185. package/dist/web/assets/dist-BXUopzfH.js +2 -0
  186. package/dist/web/assets/dist-BY24_62d.js +1 -0
  187. package/dist/web/assets/dist-C3sBgvRy.js +1 -0
  188. package/dist/web/assets/dist-C9STut2J.js +1 -0
  189. package/dist/web/assets/dist-C9cJQvJH.js +23 -0
  190. package/dist/web/assets/dist-CRoJr3t6.js +6 -0
  191. package/dist/web/assets/dist-CqGqStPp.js +1 -0
  192. package/dist/web/assets/dist-Cxd9qKh7.js +1 -0
  193. package/dist/web/assets/dist-D2Ce45aH.js +13 -0
  194. package/dist/web/assets/dist-D7Llw4iH.js +1 -0
  195. package/dist/web/assets/dist-DSPzgfNo.js +1 -0
  196. package/dist/web/assets/dist-DUt0feNB.js +1 -0
  197. package/dist/web/assets/dist-DZQ2IsS9.js +1 -0
  198. package/dist/web/assets/dist-DpKJcdvz.js +1 -0
  199. package/dist/web/assets/dist-DuZv0LJj.js +1 -0
  200. package/dist/web/assets/dist-Kd0W7Y_b.js +9 -0
  201. package/dist/web/assets/dist-LFPPEX39.js +1 -0
  202. package/dist/web/assets/dist-PDsGXJi3.js +1 -0
  203. package/dist/web/assets/dist-lC0EKTFH.js +1 -0
  204. package/dist/web/assets/dockerfile-DJkHQgkl.js +1 -0
  205. package/dist/web/assets/dtd-DTF72YNO.js +1 -0
  206. package/dist/web/assets/dylan-BCDoL_-p.js +1 -0
  207. package/dist/web/assets/ebnf-D4c0_ac3.js +1 -0
  208. package/dist/web/assets/{ebnfDiagram-ZINNZB2B-MyQLfQVI.js → ebnfDiagram-ZINNZB2B-D-OCB_ud.js} +1 -1
  209. package/dist/web/assets/ecl-BVIeWmwY.js +1 -0
  210. package/dist/web/assets/eiffel-BEjRio4Q.js +1 -0
  211. package/dist/web/assets/{elk-276RUBZZ-DBbqEAnd.js → elk-276RUBZZ-CzjP8RHy.js} +1 -1
  212. package/dist/web/assets/elm-Cshzl8qu.js +1 -0
  213. package/dist/web/assets/equal-arrays-GA_7ZCAb.js +1 -0
  214. package/dist/web/assets/{erDiagram-OPXOYQCR-CbRo_Rnk.js → erDiagram-OPXOYQCR-Clohps7p.js} +1 -1
  215. package/dist/web/assets/erlang-BV0c4Hdn.js +1 -0
  216. package/dist/web/assets/eventmodeling-NTZA5JFV-FWK4tnN_.js +1 -0
  217. package/dist/web/assets/factor-LKH5gN8L.js +1 -0
  218. package/dist/web/assets/fcl-ClOhbFR7.js +1 -0
  219. package/dist/web/assets/flowDiagram-KWPJA3E3-C10B5_6J.js +1 -0
  220. package/dist/web/assets/forth-D6RzAl64.js +1 -0
  221. package/dist/web/assets/fortran-Bt6PBEDR.js +1 -0
  222. package/dist/web/assets/{ganttDiagram-FUAMR5RP-D1gJBc1W.js → ganttDiagram-FUAMR5RP-ZWH4HYq5.js} +1 -1
  223. package/dist/web/assets/gas-BHEdbvp9.js +1 -0
  224. package/dist/web/assets/gherkin-oBAE_ms0.js +1 -0
  225. package/dist/web/assets/{gitGraph-4MIJSDKK-CIzz8UCs.js → gitGraph-4MIJSDKK-C3AfRnC8.js} +1 -1
  226. package/dist/web/assets/{gitGraphDiagram-X574FWY7-B5-RB5JZ.js → gitGraphDiagram-X574FWY7-BobkQARX.js} +1 -1
  227. package/dist/web/assets/graphlib-C64HifUL.js +1 -0
  228. package/dist/web/assets/groovy-CUpZ7dEl.js +1 -0
  229. package/dist/web/assets/haskell-BRsoo5mP.js +1 -0
  230. package/dist/web/assets/haxe-DjVOVvNP.js +1 -0
  231. package/dist/web/assets/http-CLVgA2GD.js +1 -0
  232. package/dist/web/assets/i18n-CC_rvfan.js +1 -0
  233. package/dist/web/assets/idl-BUZw3wgd.js +1 -0
  234. package/dist/web/assets/index-Ic8yFbJg.js +2 -0
  235. package/dist/web/assets/{info-A6RAGUB7-DF-JCGlS.js → info-A6RAGUB7-Dh_SAe09.js} +1 -1
  236. package/dist/web/assets/{infoDiagram-VRGFBTTK-z0Xepdo0.js → infoDiagram-VRGFBTTK-izDlhNTw.js} +1 -1
  237. package/dist/web/assets/{init-app-DAsY3Joz.js → init-app-C1a6BWWN.js} +1 -1
  238. package/dist/web/assets/{is-DssfAlMe.js → is-CE4jkrGQ.js} +1 -1
  239. package/dist/web/assets/isArrayLikeObject-BbaDyxId.js +1 -0
  240. package/dist/web/assets/{ishikawaDiagram-OU5B5YK6-UqXiqAoe.js → ishikawaDiagram-OU5B5YK6-BJ89XzVJ.js} +1 -1
  241. package/dist/web/assets/javascript-Bu8mWwtz.js +1 -0
  242. package/dist/web/assets/{journeyDiagram-ZHPQQLJL-CPGeWRg-.js → journeyDiagram-ZHPQQLJL-poV-f08K.js} +1 -1
  243. package/dist/web/assets/julia-CQfgDRfP.js +1 -0
  244. package/dist/web/assets/{kanban-definition-PNTS6WVX-CMq9WuD5.js → kanban-definition-PNTS6WVX-Cn3FEnH7.js} +1 -1
  245. package/dist/web/assets/{line-cZB9xcQk.js → line-bE9Mqcqy.js} +1 -1
  246. package/dist/web/assets/livescript-BXxG0Yva.js +1 -0
  247. package/dist/web/assets/lua-DPCEkfD_.js +1 -0
  248. package/dist/web/assets/markdown-D85iiL_9.js +15 -0
  249. package/dist/web/assets/mathematica-u8YMmbU0.js +1 -0
  250. package/dist/web/assets/mbox-BEMVcqjs.js +1 -0
  251. package/dist/web/assets/{mermaid-parser.core-D8h1T47v.js → mermaid-parser.core-Cua7H5pF.js} +3 -3
  252. package/dist/web/assets/{mermaid.core-CdpJws-B.js → mermaid.core-BMPOA8T-.js} +7 -7
  253. package/dist/web/assets/{mindmap-definition-NLK3R4M7-B01KHb5Z.js → mindmap-definition-NLK3R4M7-DaTGr8Fs.js} +1 -1
  254. package/dist/web/assets/mirc-C9zpzAZU.js +1 -0
  255. package/dist/web/assets/mllike-B45xgp2S.js +1 -0
  256. package/dist/web/assets/modelica-CqHI_q-D.js +1 -0
  257. package/dist/web/assets/mscgen-qgSLujhx.js +1 -0
  258. package/dist/web/assets/mumps-BSzj6Xyz.js +1 -0
  259. package/dist/web/assets/nginx-8H7HVH4w.js +1 -0
  260. package/dist/web/assets/nsis-viPvXFiq.js +1 -0
  261. package/dist/web/assets/ntriples-B9h1VB_g.js +1 -0
  262. package/dist/web/assets/octave-D2Q8cUp1.js +1 -0
  263. package/dist/web/assets/oz-BwTct_5T.js +1 -0
  264. package/dist/web/assets/{packet-AYTQ26CC-CagxQ791.js → packet-AYTQ26CC-DmLfghd9.js} +1 -1
  265. package/dist/web/assets/pascal-Dp_KdFgX.js +1 -0
  266. package/dist/web/assets/{pegDiagram-GJSIUBJH-amhZRgGf.js → pegDiagram-GJSIUBJH-CTlxXcbf.js} +1 -1
  267. package/dist/web/assets/perl-BkSkiI9m.js +1 -0
  268. package/dist/web/assets/{pie-WAS4IAKB-zv3udP2i.js → pie-WAS4IAKB-52oNsEtc.js} +1 -1
  269. package/dist/web/assets/{pieDiagram-5QR66LMP-CjPzT-fa.js → pieDiagram-5QR66LMP-CbJtB1te.js} +1 -1
  270. package/dist/web/assets/pig-AF4Hwhju.js +1 -0
  271. package/dist/web/assets/pinia-BlCzIRX-.js +1 -0
  272. package/dist/web/assets/powershell-BcIto6Sf.js +1 -0
  273. package/dist/web/assets/properties-C357ku5U.js +1 -0
  274. package/dist/web/assets/protobuf-D1ij_kNL.js +1 -0
  275. package/dist/web/assets/pug-3K-JMW4g.js +1 -0
  276. package/dist/web/assets/puppet-BZyAS7I4.js +1 -0
  277. package/dist/web/assets/purify.es--06brOip.js +3 -0
  278. package/dist/web/assets/python-B_1Jd8HM.js +1 -0
  279. package/dist/web/assets/q-B9NhS7L_.js +1 -0
  280. package/dist/web/assets/{quadrantDiagram-O4NWA36T-7YpPBn0t.js → quadrantDiagram-O4NWA36T-DCg-uD08.js} +1 -1
  281. package/dist/web/assets/r-CxDmU1I4.js +1 -0
  282. package/dist/web/assets/{radar-RG4KPBEZ-DZ-nSYpA.js → radar-RG4KPBEZ-9uA3AOZR.js} +1 -1
  283. package/dist/web/assets/{railroad-74A4TZTK-CoylUO-u.js → railroad-74A4TZTK-BPxQfpxv.js} +1 -1
  284. package/dist/web/assets/railroad-abnf-HS5TGJTU-CPVHNg05.js +1 -0
  285. package/dist/web/assets/railroad-ebnf-LZEXJU2U-DAjTaOUg.js +1 -0
  286. package/dist/web/assets/railroad-peg-WCYAUIDC-DkxyKsj4.js +1 -0
  287. package/dist/web/assets/{railroadDiagram-XR7U4H2S-DlHZky0v.js → railroadDiagram-XR7U4H2S-CwBNr6fr.js} +1 -1
  288. package/dist/web/assets/{requirementDiagram-PLB6GJNP-Dn9whLhB.js → requirementDiagram-PLB6GJNP-BbtZt0St.js} +1 -1
  289. package/dist/web/assets/rpm-gpDK5sbt.js +1 -0
  290. package/dist/web/assets/ruby-ChfNwlCY.js +1 -0
  291. package/dist/web/assets/{safe-storage-B3bJArYP.js → safe-storage-Bn-sHAYw.js} +1 -1
  292. package/dist/web/assets/{sankeyDiagram-IPEJSGJF-jIf4UAnN.js → sankeyDiagram-IPEJSGJF-DRWdMnFl.js} +1 -1
  293. package/dist/web/assets/sas-C2OyD2Y6.js +1 -0
  294. package/dist/web/assets/scheme-D9qYN0V5.js +1 -0
  295. package/dist/web/assets/{sequenceDiagram-PO4LG4MO-CJahxeyg.js → sequenceDiagram-PO4LG4MO-C4tWeWpt.js} +1 -1
  296. package/dist/web/assets/shell-DwuoZtxw.js +1 -0
  297. package/dist/web/assets/sieve-tLWDfEkZ.js +1 -0
  298. package/dist/web/assets/simple-mode-DXiLM1-G.js +1 -0
  299. package/dist/web/assets/smalltalk-BLp5-jwC.js +1 -0
  300. package/dist/web/assets/solr-B78wSQJQ.js +1 -0
  301. package/dist/web/assets/sparql-Dz-mlCAC.js +1 -0
  302. package/dist/web/assets/spreadsheet-CTIncYxj.js +1 -0
  303. package/dist/web/assets/sql-DuQMFDvy.js +1 -0
  304. package/dist/web/assets/{stateDiagram-v2-GCMORJYK-DArbI5q3.js → stateDiagram-v2-GCMORJYK-pE0T1U5E.js} +2 -2
  305. package/dist/web/assets/stex-DNzd62Q_.js +1 -0
  306. package/dist/web/assets/stylus-BOVgKnng.js +1 -0
  307. package/dist/web/assets/swift-DKB6_1j6.js +1 -0
  308. package/dist/web/assets/{swimlanes-2SLR337P-wyJPqm8c.js → swimlanes-2SLR337P-DKky6E3p.js} +1 -1
  309. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-CPhibEqM.js +8 -0
  310. package/dist/web/assets/tcl-BGfruO1u.js +1 -0
  311. package/dist/web/assets/textile-C4jVoHG1.js +1 -0
  312. package/dist/web/assets/theme-B-g7wQEs.js +1 -0
  313. package/dist/web/assets/tiddlywiki-VlUiK86J.js +1 -0
  314. package/dist/web/assets/tiki-AK6FwT8q.js +1 -0
  315. package/dist/web/assets/{timeline-definition-EJHVYXUP-Bdh9ma4o.js → timeline-definition-EJHVYXUP-CsRzcMLr.js} +1 -1
  316. package/dist/web/assets/toml-BPTmHmyx.js +1 -0
  317. package/dist/web/assets/{treeView-Q6P3EWNA-CEiXTwqS.js → treeView-Q6P3EWNA-CQYqoPG3.js} +1 -1
  318. package/dist/web/assets/{treemap-WGGIJYW6-am0aIfU-.js → treemap-WGGIJYW6-BzFw4gFs.js} +1 -1
  319. package/dist/web/assets/troff-C2dAgh7P.js +1 -0
  320. package/dist/web/assets/ttcn-PPSTk1ow.js +1 -0
  321. package/dist/web/assets/ttcn-cfg-2b4Gb5sE.js +1 -0
  322. package/dist/web/assets/turtle-Cx3rYX2g.js +1 -0
  323. package/dist/web/assets/{use-app-theme-FYzHIigd.js → use-app-theme-9qFZUBqz.js} +1 -1
  324. package/dist/web/assets/use-dark-BHObfh0O.js +1 -0
  325. package/dist/web/assets/use-panel-width-Dyh49bod.js +1 -0
  326. package/dist/web/assets/use-router-link-BGc0noIO.js +1 -0
  327. package/dist/web/assets/use-server-events-24_soFuj.js +1 -0
  328. package/dist/web/assets/use-virtual-scroll-BSXYZjZ5.js +1 -0
  329. package/dist/web/assets/{usecaseDiagram-POWQR4AR-r3Qf5Bj-.js → usecaseDiagram-POWQR4AR-IMfiBw6h.js} +1 -1
  330. package/dist/web/assets/vb-BthdM_4N.js +1 -0
  331. package/dist/web/assets/vbscript-D9f6rSsU.js +1 -0
  332. package/dist/web/assets/velocity-CqftRsjg.js +1 -0
  333. package/dist/web/assets/{vennDiagram-UO4OBE2U-eOWNPvLI.js → vennDiagram-UO4OBE2U-JKdzpNy2.js} +1 -1
  334. package/dist/web/assets/verilog-CjI9Y6RI.js +1 -0
  335. package/dist/web/assets/vhdl-kS471soi.js +1 -0
  336. package/dist/web/assets/{wardley-WFR3VGLG-BdipY77V.js → wardley-WFR3VGLG-B9Yiwlp8.js} +1 -1
  337. package/dist/web/assets/{wardleyDiagram-VNRHLVJA-sFpl0u9C.js → wardleyDiagram-VNRHLVJA-BVoc2hGS.js} +1 -1
  338. package/dist/web/assets/webidl-D5jiJvOU.js +1 -0
  339. package/dist/web/assets/xquery-BKJx4mf9.js +1 -0
  340. package/dist/web/assets/{xychartDiagram-PMCCYNJV-CtLqW--F.js → xychartDiagram-PMCCYNJV-B_XV1aim.js} +1 -1
  341. package/dist/web/assets/yacas-CXXgtw0p.js +1 -0
  342. package/dist/web/assets/z80-Co3PbHdE.js +1 -0
  343. package/dist/web/index.html +6 -3
  344. package/package.json +8 -2
  345. package/dist/web/assets/AppPage-CiRB13sb.js +0 -93
  346. package/dist/web/assets/CreateReviewFabButton-DTvX9Psc.js +0 -1
  347. package/dist/web/assets/IndexPage-hI7bcJ6L.js +0 -1
  348. package/dist/web/assets/MainLayout-DCexR9_Y.css +0 -1
  349. package/dist/web/assets/MainLayout-baVxjyeL.js +0 -11
  350. package/dist/web/assets/QBtn-CzrOO1zA.js +0 -1
  351. package/dist/web/assets/QScrollArea-Cu8zdp0y.js +0 -1
  352. package/dist/web/assets/QSelect-DQ_RRYIL.js +0 -1
  353. package/dist/web/assets/QSpace-CEuZSBS2.js +0 -13
  354. package/dist/web/assets/ReviewDetailPage-CayB2dtb.js +0 -1
  355. package/dist/web/assets/ReviewsPage-DWfEVjWO.js +0 -1
  356. package/dist/web/assets/StatusSwitcher--zNcE2-Y.js +0 -1
  357. package/dist/web/assets/TerminalView-DvVbWk3f.js +0 -19
  358. package/dist/web/assets/agent-store-DX4gIEHa.js +0 -1
  359. package/dist/web/assets/app-info-store-Vy_Pq2yR.js +0 -1
  360. package/dist/web/assets/architecture-7GRP2DOG-Dpxe25D8.js +0 -1
  361. package/dist/web/assets/channel--0tdF_Sb.js +0 -1
  362. package/dist/web/assets/core-C37KF-j0.js +0 -12
  363. package/dist/web/assets/dagre-6A5THRUB-DN7jrLfY.js +0 -4
  364. package/dist/web/assets/eventmodeling-NTZA5JFV-DMla2cPF.js +0 -1
  365. package/dist/web/assets/flowDiagram-KWPJA3E3-Bas61_mX.js +0 -1
  366. package/dist/web/assets/graphlib-DS17s2tU.js +0 -1
  367. package/dist/web/assets/i18n-B1_G449i.js +0 -1
  368. package/dist/web/assets/index-DEwYKvIG.js +0 -2
  369. package/dist/web/assets/pinia-DWj71cM9.js +0 -1
  370. package/dist/web/assets/railroad-abnf-HS5TGJTU-C20Z1OCq.js +0 -1
  371. package/dist/web/assets/railroad-ebnf-LZEXJU2U-BltGHYDI.js +0 -1
  372. package/dist/web/assets/railroad-peg-WCYAUIDC-BT3QI-zw.js +0 -1
  373. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-DgRybibH.js +0 -8
  374. package/dist/web/assets/theme-CFC7Mb_O.js +0 -1
  375. package/dist/web/assets/use-panel-width-e-yXva8i.js +0 -1
  376. package/dist/web/assets/use-server-events-znzHKZZx.js +0 -1
  377. package/dist/web/assets/use-virtual-scroll-CIwaJCUj.js +0 -1
@@ -1,4 +1,4 @@
1
- import{n as e}from"./mermaid-parser.core-D8h1T47v.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-oBChb5qS.js";import{D as r,H as i,U as a,a as o,b as s,c,q as l,v as u,w as d,x as f,y as p}from"./chunk-O7XYJQB3-BHUId2wW.js";import{i as m}from"./chunk-ZIGJFQKS-D6psU74o.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as g}from"./mermaid.core-CdpJws-B.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async t=>{let r=await e(`wardley`,t);n.debug(r);let i=S.parser?.yy;if(!i||typeof i.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(r,i)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return f()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),o()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:a,getAccTitle:p,setDiagramTitle:l,getDiagramTitle:d,getAccDescription:u,setAccDescription:i},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=f();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=f()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
1
+ import{n as e}from"./mermaid-parser.core-Cua7H5pF.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-oBChb5qS.js";import{D as r,H as i,U as a,a as o,b as s,c,q as l,v as u,w as d,x as f,y as p}from"./chunk-O7XYJQB3-sadsiWmA.js";import{i as m}from"./chunk-ZIGJFQKS-CJG1UIHO.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as g}from"./mermaid.core-BMPOA8T-.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async t=>{let r=await e(`wardley`,t);n.debug(r);let i=S.parser?.yy;if(!i||typeof i.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(r,i)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return f()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),o()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:a,getAccTitle:p,setDiagramTitle:l,getDiagramTitle:d,getAccDescription:u,setAccDescription:i},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=f();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=f()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
2
2
  `+e);let o=W(),s=U(),l=o.nodeRadius*1.6,u=a.db,d=u.getWardleyData(),f=u.getDiagramTitle(),p=d.size?.width??o.width,m=d.size?.height??o.height,h=g(r);h.selectAll(`*`).remove(),c(h,m,p,o.useMaxWidth),h.attr(`viewBox`,`0 0 ${p} ${m}`);let _=h.append(`g`).attr(`class`,`wardley-map`),v=h.append(`defs`);v.append(`marker`).attr(`id`,`arrow-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.evolutionStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-end-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-start-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,1).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,p).attr(`height`,m).attr(`fill`,s.backgroundColor);let y=p-o.padding*2,b=m-o.padding*2;f&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,p/2).attr(`y`,o.padding/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let x=t(e=>o.padding+e/100*y,`projectX`),S=t(e=>m-o.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,o.padding).attr(`x2`,o.padding).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1);let w=d.axes.xLabel??`Evolution`,T=d.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,o.padding+y/2).attr(`y`,m-o.padding/4).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,o.padding/3).attr(`y`,o.padding+b/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${o.padding/3} ${o.padding+b/2})`).text(T);let E=d.axes.stages&&d.axes.stages.length>0?d.axes.stages:H;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=d.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=o.padding+i.start*y,c=(a+(o.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,c).attr(`y`,m-o.padding/1.5).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(o.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=o.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding-b*n).attr(`y2`,m-o.padding-b*n).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(d.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),d.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);d.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:d.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,c=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),c=t.y)}),i!==1/0&&a!==-1/0){let t=o.nodeRadius*4,r=c-t/2,u=D.get(n.nodeId);u&&(u.x=(i+a)/2,u.y=r-l/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;d.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=d.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.x+i/s*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.y+a/s*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.x+i/s*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.y+a/s*r}).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${r})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${r})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,s.axisTextColor).attr(`font-size`,o.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=d.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,s=Math.sqrt(i*i+a*a),c=o.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:s>c?n-i/s*c:n,adjustedY2:s>c?r-a/s*c:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,s.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${r})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(d.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1);let F=o.nodeRadius*.7,I=o.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-l/2).attr(`y`,e=>D.get(e.id).y-l/2).attr(`width`,l).attr(`height`,l).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y+n/2}).attr(`stroke`,s.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?s.evolutionStroke:e.className===`anchor`?`#000`:s.componentLabelColor).attr(`font-size`,o.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),d.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(d.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),d.annotationsBox){let t=x(d.annotationsBox.x),n=S(d.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...d.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,c=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();c=Math.max(c,i.height)});let l=e+20+105,u=i.length*16+20+c/2,d=o.padding,f=p-o.padding-l,h=o.padding,g=m-o.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(h,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,l).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(d.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);d.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(d.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);d.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
3
3
  M ${n} ${r-15}
4
4
  L ${n+60-20} ${r-15}
@@ -0,0 +1 @@
1
+ function e(e){return RegExp(`^((`+e.join(`)|(`)+`))\\b`)}var t=[`Clamp`,`Constructor`,`EnforceRange`,`Exposed`,`ImplicitThis`,`Global`,`PrimaryGlobal`,`LegacyArrayClass`,`LegacyUnenumerableNamedProperties`,`LenientThis`,`NamedConstructor`,`NewObject`,`NoInterfaceObject`,`OverrideBuiltins`,`PutForwards`,`Replaceable`,`SameObject`,`TreatNonObjectAsNull`,`TreatNullAs`,`EmptyString`,`Unforgeable`,`Unscopeable`],n=e(t),r=`unsigned.short.long.unrestricted.float.double.boolean.byte.octet.Promise.ArrayBuffer.DataView.Int8Array.Int16Array.Int32Array.Uint8Array.Uint16Array.Uint32Array.Uint8ClampedArray.Float32Array.Float64Array.ByteString.DOMString.USVString.sequence.object.RegExp.Error.DOMException.FrozenArray.any.void`.split(`.`),i=e(r),a=[`attribute`,`callback`,`const`,`deleter`,`dictionary`,`enum`,`getter`,`implements`,`inherit`,`interface`,`iterable`,`legacycaller`,`maplike`,`partial`,`required`,`serializer`,`setlike`,`setter`,`static`,`stringifier`,`typedef`,`optional`,`readonly`,`or`],o=e(a),s=[`true`,`false`,`Infinity`,`NaN`,`null`],c=e(s),l=e([`callback`,`dictionary`,`enum`,`interface`]),u=e([`typedef`]),d=/^[:<=>?]/,f=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,p=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,m=/^_?[A-Za-z][0-9A-Z_a-z-]*/,h=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,g=/^"[^"]*"/,_=/^\/\*.*?\*\//,v=/^\/\*.*/,y=/^.*?\*\//;function b(e,t){if(e.eatSpace())return null;if(t.inComment)return e.match(y)?(t.inComment=!1,`comment`):(e.skipToEnd(),`comment`);if(e.match(`//`))return e.skipToEnd(),`comment`;if(e.match(_))return`comment`;if(e.match(v))return t.inComment=!0,`comment`;if(e.match(/^-?[0-9\.]/,!1)&&(e.match(f)||e.match(p)))return`number`;if(e.match(g))return`string`;if(t.startDef&&e.match(m))return`def`;if(t.endDef&&e.match(h))return t.endDef=!1,`def`;if(e.match(o))return`keyword`;if(e.match(i)){var r=t.lastToken,a=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return r===`:`||r===`implements`||a===`implements`||a===`=`?`builtin`:`type`}return e.match(n)?`builtin`:e.match(c)?`atom`:e.match(m)?`variable`:e.match(d)?`operator`:(e.next(),null)}var x={name:`webidl`,startState:function(){return{inComment:!1,lastToken:``,startDef:!1,endDef:!1}},token:function(e,t){var n=b(e,t);if(n){var r=e.current();t.lastToken=r,n===`keyword`?(t.startDef=l.test(r),t.endDef=t.endDef||u.test(r)):t.startDef=!1}return n},languageData:{autocomplete:t.concat(r).concat(a).concat(s)}};export{x as webIDL};
@@ -0,0 +1 @@
1
+ var e=function(){function e(e){return{type:e,style:`keyword`}}for(var t=e(`operator`),n={type:`atom`,style:`atom`},r={type:`punctuation`,style:null},i={type:`axis_specifier`,style:`qualifier`},a={",":r},o=`after.all.allowing.ancestor.ancestor-or-self.any.array.as.ascending.at.attribute.base-uri.before.boundary-space.by.case.cast.castable.catch.child.collation.comment.construction.contains.content.context.copy.copy-namespaces.count.decimal-format.declare.default.delete.descendant.descendant-or-self.descending.diacritics.different.distance.document.document-node.element.else.empty.empty-sequence.encoding.end.entire.every.exactly.except.external.first.following.following-sibling.for.from.ftand.ftnot.ft-option.ftor.function.fuzzy.greatest.group.if.import.in.inherit.insensitive.insert.instance.intersect.into.invoke.is.item.language.last.lax.least.let.levels.lowercase.map.modify.module.most.namespace.next.no.node.nodes.no-inherit.no-preserve.not.occurs.of.only.option.order.ordered.ordering.paragraph.paragraphs.parent.phrase.preceding.preceding-sibling.preserve.previous.processing-instruction.relationship.rename.replace.return.revalidation.same.satisfies.schema.schema-attribute.schema-element.score.self.sensitive.sentence.sentences.sequence.skip.sliding.some.stable.start.stemming.stop.strict.strip.switch.text.then.thesaurus.times.to.transform.treat.try.tumbling.type.typeswitch.union.unordered.update.updating.uppercase.using.validate.value.variable.version.weight.when.where.wildcards.window.with.without.word.words.xquery`.split(`.`),s=0,c=o.length;s<c;s++)a[o[s]]=e(o[s]);for(var l=`xs:anyAtomicType.xs:anySimpleType.xs:anyType.xs:anyURI.xs:base64Binary.xs:boolean.xs:byte.xs:date.xs:dateTime.xs:dateTimeStamp.xs:dayTimeDuration.xs:decimal.xs:double.xs:duration.xs:ENTITIES.xs:ENTITY.xs:float.xs:gDay.xs:gMonth.xs:gMonthDay.xs:gYear.xs:gYearMonth.xs:hexBinary.xs:ID.xs:IDREF.xs:IDREFS.xs:int.xs:integer.xs:item.xs:java.xs:language.xs:long.xs:Name.xs:NCName.xs:negativeInteger.xs:NMTOKEN.xs:NMTOKENS.xs:nonNegativeInteger.xs:nonPositiveInteger.xs:normalizedString.xs:NOTATION.xs:numeric.xs:positiveInteger.xs:precisionDecimal.xs:QName.xs:short.xs:string.xs:time.xs:token.xs:unsignedByte.xs:unsignedInt.xs:unsignedLong.xs:unsignedShort.xs:untyped.xs:untypedAtomic.xs:yearMonthDuration`.split(`.`),s=0,c=l.length;s<c;s++)a[l[s]]=n;for(var u=[`eq`,`ne`,`lt`,`le`,`gt`,`ge`,`:=`,`=`,`>`,`>=`,`<`,`<=`,`.`,`|`,`?`,`and`,`or`,`div`,`idiv`,`mod`,`*`,`/`,`+`,`-`],s=0,c=u.length;s<c;s++)a[u[s]]=t;for(var d=[`self::`,`attribute::`,`child::`,`descendant::`,`descendant-or-self::`,`parent::`,`ancestor::`,`ancestor-or-self::`,`following::`,`preceding::`,`following-sibling::`,`preceding-sibling::`],s=0,c=d.length;s<c;s++)a[d[s]]=i;return a}();function t(e,t,n){return t.tokenize=n,n(e,t)}function n(n,i){var c=n.next(),p=!1,g=h(n);if(c==`<`){if(n.match(`!--`,!0))return t(n,i,l);if(n.match(`![CDATA`,!1))return i.tokenize=u,`tag`;if(n.match(`?`,!1))return t(n,i,d);var y=n.eat(`/`);n.eatSpace();for(var b=``,x;x=n.eat(/[^\s\u00a0=<>\"\'\/?]/);)b+=x;return t(n,i,s(b,y))}if(c==`{`)return _(i,{type:`codeblock`}),null;if(c==`}`)return v(i),null;if(f(i))return c==`>`?`tag`:c==`/`&&n.eat(`>`)?(v(i),`tag`):`variable`;if(/\d/.test(c))return n.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),`atom`;if(c===`(`&&n.eat(`:`))return _(i,{type:`comment`}),t(n,i,r);if(!g&&(c===`"`||c===`'`))return a(n,i,c);if(c===`$`)return t(n,i,o);if(c===`:`&&n.eat(`=`))return`keyword`;if(c===`(`)return _(i,{type:`paren`}),null;if(c===`)`)return v(i),null;if(c===`[`)return _(i,{type:`bracket`}),null;if(c===`]`)return v(i),null;var S=e.propertyIsEnumerable(c)&&e[c];if(g&&c===`"`)for(;n.next()!==`"`;);if(g&&c===`'`)for(;n.next()!==`'`;);S||n.eatWhile(/[\w\$_-]/);var C=n.eat(`:`);!n.eat(`:`)&&C&&n.eatWhile(/[\w\$_-]/),n.match(/^[ \t]*\(/,!1)&&(p=!0);var w=n.current();return S=e.propertyIsEnumerable(w)&&e[w],p&&!S&&(S={type:`function_call`,style:`def`}),m(i)?(v(i),`variable`):((w==`element`||w==`attribute`||S.type==`axis_specifier`)&&_(i,{type:`xmlconstructor`}),S?S.style:`variable`)}function r(e,t){for(var n=!1,r=!1,i=0,a;a=e.next();){if(a==`)`&&n){if(i>0)i--;else{v(t);break}}else a==`:`&&r&&i++;n=a==`:`,r=a==`(`}return`comment`}function i(e,t){return function(r,i){for(var a;a=r.next();)if(a==e){v(i),t&&(i.tokenize=t);break}else if(r.match(`{`,!1)&&p(i))return _(i,{type:`codeblock`}),i.tokenize=n,`string`;return`string`}}function a(e,n,r,a){let o=i(r,a);return _(n,{type:`string`,name:r,tokenize:o}),t(e,n,o)}function o(e,t){var r=/[\w\$_-]/;if(e.eat(`"`)){for(;e.next()!==`"`;);e.eat(`:`)}else e.eatWhile(r),e.match(`:=`,!1)||e.eat(`:`);return e.eatWhile(r),t.tokenize=n,`variable`}function s(e,t){return function(r,i){if(r.eatSpace(),t&&r.eat(`>`))return v(i),i.tokenize=n,`tag`;if(r.eat(`/`)||_(i,{type:`tag`,name:e,tokenize:n}),r.eat(`>`))i.tokenize=n;else return i.tokenize=c,`tag`;return`tag`}}function c(e,t){var r=e.next();return r==`/`&&e.eat(`>`)?(p(t)&&v(t),f(t)&&v(t),`tag`):r==`>`?(p(t)&&v(t),`tag`):r==`=`?null:r==`"`||r==`'`?a(e,t,r,c):(p(t)||_(t,{type:`attribute`,tokenize:c}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(`>`,!1)||e.match(`/`,!1))&&(v(t),t.tokenize=n),`attribute`)}function l(e,t){for(var r;r=e.next();)if(r==`-`&&e.match(`->`,!0))return t.tokenize=n,`comment`}function u(e,t){for(var r;r=e.next();)if(r==`]`&&e.match(`]`,!0))return t.tokenize=n,`comment`}function d(e,t){for(var r;r=e.next();)if(r==`?`&&e.match(`>`,!0))return t.tokenize=n,`processingInstruction`}function f(e){return g(e,`tag`)}function p(e){return g(e,`attribute`)}function m(e){return g(e,`xmlconstructor`)}function h(e){return e.current()===`"`?e.match(/^[^\"]+\"\:/,!1):e.current()===`'`&&e.match(/^[^\"]+\'\:/,!1)}function g(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function _(e,t){e.stack.push(t)}function v(e){e.stack.pop(),e.tokenize=e.stack.length&&e.stack[e.stack.length-1].tokenize||n}var y={name:`xquery`,startState:function(){return{tokenize:n,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:`(:`,close:`:)`}}}};export{y as xQuery};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,U as i,a,b as o,c as s,f as c,q as l,v as u,w as d,y as f,z as p}from"./chunk-O7XYJQB3-BHUId2wW.js";import{t as m}from"./linear-BUnzfXgk.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-ZIGJFQKS-D6psU74o.js";import{t as v}from"./line-cZB9xcQk.js";import"./chunk-742MDFTN-CfTGkhlJ.js";import{t as y}from"./chunk-MBY4JIJT-PzEUkWiy.js";import{a as b}from"./mermaid.core-CdpJws-B.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
1
+ import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,U as i,a,b as o,c as s,f as c,q as l,v as u,w as d,y as f,z as p}from"./chunk-O7XYJQB3-sadsiWmA.js";import{t as m}from"./linear-BUnzfXgk.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-ZIGJFQKS-CJG1UIHO.js";import{t as v}from"./line-bE9Mqcqy.js";import"./chunk-742MDFTN-BRgrFtkf.js";import{t as y}from"./chunk-MBY4JIJT-IfXbX1Ur.js";import{a as b}from"./mermaid.core-BMPOA8T-.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
2
2
  `+h.showPosition()+`
3
3
  Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
@@ -0,0 +1 @@
1
+ function e(e){for(var t={},n=e.split(` `),r=0;r<n.length;++r)t[n[r]]=!0;return t}var t=e(`Assert BackQuote D Defun Deriv For ForEach FromFile FromString Function Integrate InverseTaylor Limit LocalSymbols Macro MacroRule MacroRulePattern NIntegrate Rule RulePattern Subst TD TExplicitSum TSum Taylor Taylor1 Taylor2 Taylor3 ToFile ToStdout ToString TraceRule Until While`),n=`(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)`,r=`(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)`,i=new RegExp(n),a=new RegExp(r),o=RegExp(r+`?_`+r),s=RegExp(r+`\\s*\\(`);function c(e,n){var r=e.next();if(r===`"`)return n.tokenize=l,n.tokenize(e,n);if(r===`/`){if(e.eat(`*`))return n.tokenize=u,n.tokenize(e,n);if(e.eat(`/`))return e.skipToEnd(),`comment`}e.backUp(1);var c=e.match(/^(\w+)\s*\(/,!1);c!==null&&t.hasOwnProperty(c[1])&&n.scopes.push(`bodied`);var f=d(n);if(f===`bodied`&&r===`[`&&n.scopes.pop(),(r===`[`||r===`{`||r===`(`)&&n.scopes.push(r),f=d(n),(f===`[`&&r===`]`||f===`{`&&r===`}`||f===`(`&&r===`)`)&&n.scopes.pop(),r===`;`)for(;f===`bodied`;)n.scopes.pop(),f=d(n);return e.match(/\d+ *#/,!0,!1)?`qualifier`:e.match(i,!0,!1)?`number`:e.match(o,!0,!1)?`variableName.special`:e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?`bracket`:e.match(s,!0,!1)?(e.backUp(1),`variableName.function`):e.match(a,!0,!1)?`variable`:e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?`operator`:`error`}function l(e,t){for(var n,r=!1,i=!1;(n=e.next())!=null;){if(n===`"`&&!i){r=!0;break}i=!i&&n===`\\`}return r&&!i&&(t.tokenize=c),`string`}function u(e,t){for(var n,r;(r=e.next())!=null;){if(n===`*`&&r===`/`){t.tokenize=c;break}n=r}return`comment`}function d(e){var t=null;return e.scopes.length>0&&(t=e.scopes[e.scopes.length-1]),t}var f={name:`yacas`,startState:function(){return{tokenize:c,scopes:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},indent:function(e,t,n){if(e.tokenize!==c&&e.tokenize!==null)return null;var r=0;return(t===`]`||t===`];`||t===`}`||t===`};`||t===`);`)&&(r=-1),(e.scopes.length+r)*n.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:`//`,block:{open:`/*`,close:`*/`}}}};export{f as yacas};
@@ -0,0 +1 @@
1
+ function e(e){var t,n;e?(t=/^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i,n=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(t=/^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i,n=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var r=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,i=/^(n?[zc]|p[oe]?|m)\b/i,a=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,o=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:`z80`,startState:function(){return{context:0}},token:function(s,c){if(s.column()||(c.context=0),s.eatSpace())return null;var l;if(s.eatWhile(/\w/)){if(e&&s.eat(`.`)&&s.eatWhile(/\w/),l=s.current(),s.indentation()){if((c.context==1||c.context==4)&&r.test(l))return c.context=4,`variable`;if(c.context==2&&i.test(l))return c.context=4,`variableName.special`;if(t.test(l))return c.context=1,`keyword`;if(n.test(l))return c.context=2,`keyword`;if(c.context==4&&o.test(l))return`number`;if(a.test(l))return`error`}else if(s.match(o))return`number`;else return null}else if(s.eat(`;`))return s.skipToEnd(),`comment`;else if(s.eat(`"`)){for(;(l=s.next())&&l!=`"`;)l==`\\`&&s.next();return`string`}else if(s.eat(`'`)){if(s.match(/\\?.'/))return`number`}else if(s.eat(`.`)||s.sol()&&s.eat(`#`)){if(c.context=5,s.eatWhile(/\w/))return`def`}else if(s.eat(`$`)){if(s.eatWhile(/[\da-f]/i))return`number`}else if(s.eat(`%`)){if(s.eatWhile(/[01]/))return`number`}else s.next();return null}}}var t=e(!1);e(!0);export{t as z80};
@@ -1,9 +1,12 @@
1
- <!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:;"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-DEwYKvIG.js"></script>
1
+ <!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:;"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-Ic8yFbJg.js"></script>
2
2
  <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-BKFI1w28.js">
3
+ <link rel="modulepreload" crossorigin href="/assets/use-router-link-BGc0noIO.js">
3
4
  <link rel="modulepreload" crossorigin href="/assets/event-rR76ioXz.js">
5
+ <link rel="modulepreload" crossorigin href="/assets/is-CE4jkrGQ.js">
4
6
  <link rel="modulepreload" crossorigin href="/assets/create-BSmXD9Zr.js">
5
- <link rel="modulepreload" crossorigin href="/assets/QBtn-CzrOO1zA.js">
6
- <link rel="modulepreload" crossorigin href="/assets/is-DssfAlMe.js">
7
7
  <link rel="modulepreload" crossorigin href="/assets/debounce-rZaFFwsz.js">
8
+ <link rel="modulepreload" crossorigin href="/assets/QBtn-DoggJe1Q.js">
9
+ <link rel="modulepreload" crossorigin href="/assets/use-dark-BHObfh0O.js">
10
+ <link rel="modulepreload" crossorigin href="/assets/QInput-DJgTh2Qy.js">
8
11
  <link rel="stylesheet" crossorigin href="/assets/index-Dma-RXBR.css">
9
12
  </head><body><div id=q-app></div></body></html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tequila99/githuman",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Review AI agent code changes before commit — Vue edition",
5
5
  "homepage": "https://github.com/tequila99/githuman#readme",
6
6
  "bugs": {
@@ -49,6 +49,7 @@
49
49
  "@agentclientprotocol/sdk": "^1.5.1",
50
50
  "@fastify/cors": "^10.0.0",
51
51
  "@fastify/error": "^4.2.0",
52
+ "@fastify/multipart": "^10.1.3",
52
53
  "@fastify/one-line-logger": "^2.0.2",
53
54
  "@fastify/sse": "^0.4.0",
54
55
  "@fastify/static": "^8.0.0",
@@ -63,8 +64,11 @@
63
64
  "diff": "^5.2.0",
64
65
  "fastify": "^5.0.0",
65
66
  "fastify-plugin": "^5.0.0",
67
+ "file-type": "^22.1.1",
68
+ "mdast-util-from-markdown": "2.0.2",
66
69
  "shiki": "^4.4.3",
67
- "simple-git": "^3.25.0"
70
+ "simple-git": "^3.25.0",
71
+ "yaml": "2.8.1"
68
72
  },
69
73
  "devDependencies": {
70
74
  "@fontsource/fira-code": "^5.3.0",
@@ -73,6 +77,8 @@
73
77
  "@fontsource/syne": "^5.3.0",
74
78
  "@intlify/unplugin-vue-i18n": "^11.0.0",
75
79
  "@mdi/js": "^7.4.47",
80
+ "@milkdown/crepe": "7.22.3",
81
+ "@milkdown/kit": "7.22.3",
76
82
  "@playwright/test": "^1.57.0",
77
83
  "@quasar/app-vite": "^3.8.1",
78
84
  "@quasar/extras": "^2.0.4",
@@ -1,93 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/typescript-Utq2Cl8c.js","assets/typescript-j_1H8WHN.js","assets/javascript-Yelw-5ZN.js","assets/javascript-BzbQS41l.js","assets/vue-CSBlZ1UP.js","assets/css-LbU1hoFO.js","assets/html-BcACZWSP.js","assets/json-B88Oqtu5.js","assets/json-CaljABEy.js","assets/css-CdtkT07m.js","assets/scss-DHtrkMkT.js","assets/html-DDNsd9lV.js","assets/core-C37KF-j0.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/engine-oniguruma-B4iNeJbd.js"])))=>i.map(i=>d[i]);
2
- import{J as e,L as t,P as n,S as r,_ as i,b as a,ct as o,l as s,ot as c,pt as l,s as u,w as d}from"./runtime-core.esm-bundler-BKFI1w28.js";import{D as f,O as p,_ as m,j as h,t as g}from"./QBtn-CzrOO1zA.js";import{t as _}from"./create-BSmXD9Zr.js";import{F as v}from"./index-DEwYKvIG.js";import{n as y}from"./vue-i18n.runtime-BpRrzZrT.js";import{n as b}from"./pinia-DCsnCHsH.js";import{d as x,f as S,l as C,o as ee,s as w,u as T}from"./use-server-events-znzHKZZx.js";function E(e){if(e.length<2||e[0]!==`"`||e[e.length-1]!==`"`)return e;let t=e.slice(1,-1),n=[];for(let e=0;e<t.length;e++){let r=t[e];r===`\\`&&/^[0-7]{3}$/.test(t.slice(e+1,e+4))?(n.push(parseInt(t.slice(e+1,e+4),8)),e+=3):r===`\\`&&t[e+1]===`"`?(n.push(34),e+=1):r===`\\`&&t[e+1]===`\\`?(n.push(92),e+=1):n.push((r??``).charCodeAt(0))}return new TextDecoder(`utf-8`).decode(new Uint8Array(n))}function D(e){return e.newPath||e.oldPath}function O(e,t){return`${e}:${t}`}function k(e,t){let n=new Map,r=0;function i(e){let t=n.get(e);if(t)return n.delete(e),n.set(e,t),t.value}function a(i,a){o(i);let s=t(a);n.set(i,{value:a,weight:s}),r+=s;for(let[t,i]of n){if(r<=e||n.size<=1)break;n.delete(t),r-=i.weight}}function o(e){let t=n.get(e);t&&(n.delete(e),r-=t.weight)}return{get:i,set:a,remove:o,size:()=>n.size}}var A={typescript:()=>v(()=>import(`./typescript-Utq2Cl8c.js`),__vite__mapDeps([0,1])),tsx:()=>v(()=>import(`./tsx-udAQXfEw.js`),[]),javascript:()=>v(()=>import(`./javascript-Yelw-5ZN.js`),__vite__mapDeps([2,3])),jsx:()=>v(()=>import(`./jsx-Bz0zcwM4.js`),[]),vue:()=>v(()=>import(`./vue-CSBlZ1UP.js`),__vite__mapDeps([4,5,3,6,7,1])),json:()=>v(()=>import(`./json-CaljABEy.js`),__vite__mapDeps([8,7])),markdown:()=>v(()=>import(`./markdown-BYOwaDjH.js`),[]),css:()=>v(()=>import(`./css-CdtkT07m.js`),__vite__mapDeps([9,5])),scss:()=>v(()=>import(`./scss-DHtrkMkT.js`),__vite__mapDeps([10,5])),html:()=>v(()=>import(`./html-DDNsd9lV.js`),__vite__mapDeps([11,6,5,3])),yaml:()=>v(()=>import(`./yaml-rwi0_p6S.js`),[]),bash:()=>v(()=>import(`./bash-CLZ0U2zV.js`),[]),python:()=>v(()=>import(`./python-gzcpVVnB.js`),[]),go:()=>v(()=>import(`./go-rLFTqkRN.js`),[]),rust:()=>v(()=>import(`./rust-Cfkwpbl8.js`),[]),java:()=>v(()=>import(`./java-BXcb2rRD.js`),[]),kotlin:()=>v(()=>import(`./kotlin-DhhofPvG.js`),[])},j={light:()=>v(()=>import(`./github-light-EUqPIrTm.js`),[]),dark:()=>v(()=>import(`./github-dark-C-LZuMrd.js`),[])},te={light:`github-light`,dark:`github-dark`},M=null,N=new Set,P=new Map;function F(e){return A[e]!==void 0}async function ne(e,t){try{await e.loadLanguage(A[t]()),N.add(t)}finally{P.delete(t)}}async function re(e){M||=(async()=>{let[{createHighlighterCore:e},{createOnigurumaEngine:t}]=await Promise.all([v(()=>import(`./core-C37KF-j0.js`),__vite__mapDeps([12,13])),v(()=>import(`./engine-oniguruma-B4iNeJbd.js`),__vite__mapDeps([14,13]))]);return e({themes:[j.light(),j.dark()],langs:[],engine:t(()=>v(()=>import(`./wasm-BnjxR4X6.js`),[]))})})();let t=await M;if(!N.has(e)){let n=P.get(e);n||(n=ne(t,e),P.set(e,n)),await n}return t}async function ie(e,t,n={}){if(!F(e)||t.length===0)return`failed`;let r=n.documents??[{length:t.length,skip:0}];if(r.reduce((e,t)=>e+t.length,0)!==t.length)return`failed`;let{signal:i}=n;try{let a=await re(e),o=0,s=0,c=!0;for(let l of r){let r,u=Math.max(1,n.sliceSize??l.length);for(let d=0;d<l.length;d+=u){if(c||await n.yieldBetween?.(),c=!1,i?.aborted)return`aborted`;let f=Math.min(d+u,l.length),p=a.codeToTokensWithThemes(t.slice(o+d,o+f).join(`
3
- `),{lang:e,themes:te,...r?{grammarState:r}:{}});r=a.getLastGrammarState(p);let m=Math.max(d,l.skip);f<=m||(n.onSlice?.(p.slice(m-d).map(e=>e.map(e=>({content:e.content,colorLight:e.variants.light?.color,colorDark:e.variants.dark?.color}))),s),s+=f-m)}o+=l.length}return`done`}catch{return`failed`}}var I=null,L=!1,ae=1,R=new Map;function z(){return typeof Worker<`u`&&!L}function oe(){let e=new Worker(new URL(`/assets/highlight.worker-BHCdEX06.js`,``+import.meta.url),{type:`module`});return e.addEventListener(`message`,e=>{let t=e.data,n=R.get(t.id);n&&(t.type===`slice`?n.onSlice(t.tokens,t.start):(R.delete(t.id),n.finish(t.ok?`done`:`failed`)))}),e.addEventListener(`error`,t=>{console.error(`The highlight worker failed, the main thread does the work now`,t),L=!0;for(let e of R.values())e.finish(`failed`);R.clear(),e.terminate(),I=null}),e}function B(e,t){e.postMessage(t)}function se(e,t,n){let{signal:r}=n;if(r?.aborted)return Promise.resolve(`aborted`);if(!I)try{I=oe()}catch(e){return console.error(`The highlight worker did not start`,e),L=!0,Promise.resolve(`unsent`)}let i=I;return new Promise(a=>{let o=ae++,s=()=>{R.delete(o)&&(I&&B(I,{type:`cancel`,id:o}),a(`aborted`))};R.set(o,{onSlice:(e,t)=>n.onSlice?.(e,t),finish:e=>{r?.removeEventListener(`abort`,s),a(e)}});try{B(i,{type:`tokenize`,id:o,lang:e,lines:Array.from(t),...n.documents?{documents:n.documents.map(e=>({...e}))}:{},sliceSize:n.sliceSize})}catch(e){console.error(`The highlight worker did not get the request`,e),R.delete(o),a(`unsent`);return}r?.addEventListener(`abort`,s,{once:!0})})}function ce(){return typeof MessageChannel>`u`?new Promise(e=>setTimeout(e,0)):new Promise(e=>{let{port1:t,port2:n}=new MessageChannel;t.addEventListener(`message`,()=>{t.close(),e()},{once:!0}),t.start(),n.postMessage(null)})}var V=`import { ref, type Ref } from 'vue'
4
- import * as path from 'node:path'
5
- // A comment with a TODO and a URL: https://example.com
6
- /** JSDoc with a {@link link} and @param tag */
7
- export interface Item<T extends object = {}> {
8
- readonly id: number
9
- name?: string | null
10
- tags: Array<Record<string, T>>
11
- }
12
- export enum Mode { Fast = 1, Slow = 'slow' }
13
- @decorator()
14
- export default class Store<T> extends Base implements Item {
15
- private static count = 0n
16
- #secret: unknown = /ab+c/gi.test('x')
17
- constructor(public readonly id: number, protected items: Map<string, T> = new Map()) {
18
- super()
19
- }
20
- async *load(this: Store<T>, ...rest: string[]): AsyncGenerator<number, void> {
21
- const value = (await fetch(\`/api/\${this.id}?q=\${rest.join(',')}\`)).json() as unknown as T
22
- for (const [key, item] of this.items) {
23
- if (key === 'a' && item !== undefined) continue
24
- else if (!key) { throw new TypeError("bad \${key}") }
25
- switch (typeof item) { case 'string': break; default: yield 1.5e3 }
26
- }
27
- try { return } catch (err: unknown) { console.error(err) } finally { void 0 }
28
- }
29
- }
30
- export const handler = <K extends keyof Item>(key: K): Item[K] | undefined => items.get(key)?.[key] ?? null
31
- type Mapped = { [P in keyof Item]?: Item[P] extends string ? P : never }
32
- `,H=`@use 'sass:math';
33
- $gap: 8px;
34
- // A comment
35
- .card:not(.card--open) > .title, a[href^='http']::after {
36
- --accent: #1976d2;
37
- margin: math.div($gap, 2) auto calc(100% - #{$gap});
38
- background: linear-gradient(to right, rgba(0, 0, 0, 0.5), var(--accent) 50%);
39
- font: 600 1.2rem/1.4 'Inter', sans-serif !important;
40
- @media (min-width: 600px) and (prefers-color-scheme: dark) { display: none; }
41
- &:hover { transition: color .2s ease-in-out; }
42
- }
43
- @mixin box($size: 10px) { width: $size; height: $size; }
44
- `,le={vue:`<script setup lang="ts">
45
- import { computed, ref } from 'vue'
46
- const props = withDefaults(defineProps<{ title: string; items?: string[] }>(), { items: () => [] })
47
- const emit = defineEmits<{ (e: 'pick', value: string): void }>()
48
- const count = ref(0)
49
- const label = computed(() => \`\${props.title}: \${count.value}\`)
50
- <\/script>
51
-
52
- <template>
53
- <q-list v-if="items.length > 0" class="list" @click="emit('pick', label)">
54
- <q-item v-for="(item, index) in items" :key="item" :class="{ active: index === 0 }">
55
- {{ item }} <!-- row -->
56
- </q-item>
57
- </q-list>
58
- <p v-else>{{ $t('empty') }}</p>
59
- </template>
60
-
61
- <style scoped lang="scss">
62
- .list { margin: 0 auto; &:hover { color: var(--accent); } }
63
- </style>
64
- `,css:H,scss:H,html:`<!doctype html>
65
- <html lang="en">
66
- <head><meta charset="utf-8" /><title>Sample</title></head>
67
- <body class="app" data-id="1">
68
- <!-- A comment -->
69
- <a href="https://example.com" @click.prevent="open(item)" :class="{ active: on }">Link &amp; text</a>
70
- <input v-model="text" disabled />
71
- </body>
72
- </html>
73
- `,markdown:`# Title
74
-
75
- Some *emphasis*, **strong** text, \`inline code\` and a [link](https://example.com).
76
-
77
- - First item
78
- - Second item with ![image](a.png)
79
-
80
- > A quote
81
-
82
- 1. Step one
83
- 2. Step two
84
-
85
- | Name | Value |
86
- | ---- | ----- |
87
- | a | 1 |
88
-
89
- \`\`\`ts
90
- const answer: number = 42
91
- \`\`\`
92
- `,typescript:V,javascript:V,tsx:V,jsx:V};function ue(e){return(le[e]??`x`).split(`
93
- `)}var de=2e4,U=100,fe={ts:`typescript`,tsx:`tsx`,js:`javascript`,jsx:`jsx`,mjs:`javascript`,cjs:`javascript`,vue:`vue`,json:`json`,md:`markdown`,css:`css`,scss:`scss`,html:`html`,yml:`yaml`,yaml:`yaml`,sh:`bash`,py:`python`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,kts:`kotlin`};function W(e){let t=e.split(`.`);return t.length<2?`text`:fe[t.pop().toLowerCase()]??`text`}function pe(e){return F(W(e))}function G(e,t,n,r,i){return ie(e,t,{documents:n,sliceSize:U,yieldBetween:ce,signal:r,onSlice:i})}async function K(e,t,n,r,i){let a=[],o=(e,t)=>{a.splice(t,e.length,...e),r?.(a.slice())};if(!z())return q(await G(e,t,i,n,o),a);let s=await se(e,t,{sliceSize:U,documents:i,signal:n,onSlice:o});return(s===`unsent`||s===`failed`&&!z())&&(s=await G(e,t,i,n,o)),q(s,a)}function q(e,t){return e===`done`?t:e===`aborted`?void 0:null}var J=new Set;async function me(e){await K(e,ue(e)).catch(()=>null)===null&&J.delete(e)}function he(e){if(!z())return;let t=new Set(e.map(W).filter(F));for(let e of t)J.has(e)||(J.add(e),me(e))}var Y=k(de,e=>e?.length??1),X=Promise.resolve();function ge(e){let t=X.then(()=>new Promise(e=>setTimeout(e,0))).then(e);return X=t.catch(()=>void 0),t}function _e(e,t,n,r,i,a){return ge(async()=>{let o=Y.get(e);if(o!==void 0)return o;if(r?.aborted)return;let s=n(),c=await K(W(t),s,r,i,a?.());if(c!==void 0)return Y.set(e,c),c})}function ve(e){return Y.get(e)}function Z(e){return{...e,oldPath:E(e.oldPath),newPath:E(e.newPath)}}function ye(e){let{signature:t,...n}=e;return{...n,hunks:[]}}function Q(e,t,n){let r=new Map(e.map(e=>[D(e),e])),i=new Map;return{files:n.map(e=>{let n=D(e);i.set(n,e.signature);let a=r.get(n);return a&&t.get(n)===e.signature?a:ye(e)}),signatures:i}}var be=b(`diff`,()=>{let e=c([]),t=c([]),n=new Map,r=new Map,i=c(!1),a=c(!1),s=c(null),l=u(()=>i.value&&!a.value),d=u(()=>[...e.value,...t.value].map(e=>e.newPath||e.oldPath)),f=o(new Map),p=o(new Map),m=new Map;function h(n){return n===`staged`?e.value:t.value}function g(e,t){return f.value.get(O(e,D(t)))?.file}function _(e,t){return f.value.get(O(e,D(t)))?.for===t}function v(e,t){let n=p.value.get(O(e,D(t)));return n?.for===t?n.message:void 0}function y(e,t){let n=O(e,D(t));if(!p.value.has(n))return;let r=new Map(p.value);r.delete(n),p.value=r}function b(e,t){return y(e,t),x(e,t)}async function x(e,t){let n=O(e,D(t));if(_(e,t)||m.get(n)===t)return;m.set(n,t);let r=new URLSearchParams({path:t.newPath,oldPath:t.oldPath,status:t.status});try{let i=Z(await T(`/api/diff/${e}/file?${r}`));if(!h(e).includes(t))return;f.value=new Map(f.value).set(n,{file:i,for:t}),y(e,t)}catch(r){if(!h(e).includes(t))return;p.value=new Map(p.value).set(n,{message:w(r),for:t})}finally{m.get(n)===t&&m.delete(n)}}function S(){let n=new Set([...e.value.map(e=>O(`staged`,D(e))),...t.value.map(e=>O(`unstaged`,D(e)))]),r=new Map([...f.value].filter(([e])=>n.has(e)));r.size!==f.value.size&&(f.value=r);let i=new Map([...p.value].filter(([e])=>n.has(e)));i.size!==p.value.size&&(p.value=i)}let C=ee(E);async function E(){i.value=!0;try{let[i,a]=await Promise.all([T(`/api/diff/staged/files`),T(`/api/diff/unstaged/files`)]),o=Q(e.value,n,i.map(Z)),c=Q(t.value,r,a.map(Z));e.value=o.files,n=o.signatures,t.value=c.files,r=c.signatures,S(),he([...o.files,...c.files].map(D)),s.value=null}catch(i){a.value||(e.value=[],t.value=[],n=new Map,r=new Map),s.value=w(i)}finally{i.value=!1,a.value=!0}}return{stagedFiles:e,unstagedFiles:t,loading:i,loaded:a,initialLoading:l,error:s,changedPaths:d,hunksOf:g,hunksFresh:_,hunksError:v,clearHunksError:y,ensureHunks:x,retryHunks:b,fetchDiff:C}});function $(e){let{snapshotData:t,...n}=e;return n}var xe=b(`active-review`,()=>{let e=c(null),t=c([]),n=c(!1),r=u(()=>{let e=new Map;for(let n of t.value){let t=e.get(n.filePath);t?t.push(n):e.set(n.filePath,[n])}return e});async function i(){n.value=!0;try{let n=(await T(`/api/reviews`)).filter(e=>e.status===`in_progress`).sort((e,t)=>t.createdAt.localeCompare(e.createdAt));e.value=n[0]??null,t.value=e.value?await T(`/api/reviews/${e.value.id}/comments`):[]}finally{n.value=!1}}function a(n){e.value=$(n),t.value=[]}async function o(t){e.value&&(await x(`/api/reviews/${e.value.id}`,{status:t}),await i())}async function s(n){if(!e.value)throw Error(`No active review`);let r=await S(`/api/reviews/${e.value.id}/comments`,n);return t.value=[...t.value,r],r}async function l(e,n){let r=await x(`/api/comments/${e}`,{content:n});t.value=t.value.map(t=>t.id===e?r:t)}async function d(e){await C(`/api/comments/${e}`),t.value=t.value.filter(t=>t.id!==e)}async function f(e){let n=await x(`/api/comments/${e}/resolve`);t.value=t.value.map(t=>t.id===e?n:t)}async function p(e){let n=await x(`/api/comments/${e}/unresolve`);t.value=t.value.map(t=>t.id===e?n:t)}return{activeReview:e,comments:t,loading:n,commentsByFile:r,refresh:i,setActiveReview:a,setStatus:o,createComment:s,editComment:l,deleteComment:d,resolveComment:f,unresolveComment:p}}),Se=i({__name:`CancelButton`,setup(e){let{t}=y();return(e,r)=>(n(),s(g,d({padding:`2px 8px`},e.$attrs,{dense:``,flat:``,color:`warning`,label:l(t)(`reviews.comments.cancel`)}),null,16,[`label`]))}}),Ce=i({__name:`CreateButton`,setup(e){let{t}=y();return(e,r)=>(n(),s(g,d({padding:`2px 8px`,label:l(t)(`reviews.create.submit`)},e.$attrs,{unelevated:``,dense:``,color:`accent`}),null,16,[`label`]))}}),we=_({name:`QPage`,props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let n=f(),i=r(h,p);if(i===p)return console.error(`QPage needs to be a deep child of QLayout`),p;if(r(`_q_pc_`,p)===p)return console.error(`QPage needs to be child of QPageContainer`),p;let o=u(()=>{let t=(i.header.space?i.header.size:0)+(i.footer.space?i.footer.size:0);if(typeof e.styleFn==`function`){let r=i.isContainer.value?i.containerHeight.value:n.screen.height;return e.styleFn(t,r)}return{minHeight:i.isContainer.value?i.containerHeight.value-t+`px`:n.screen.height===0?t===0?`100vh`:`calc(100vh - ${t}px)`:n.screen.height-t+`px`}}),s=u(()=>`q-page${e.padding?` q-layout-padding`:``}`);return()=>a(`main`,{class:s.value,style:o.value},m(t.default))}}),Te=i({__name:`AppPage`,setup(r){function i(e,t){return{height:`${t-e}px`}}return(r,a)=>(n(),s(we,{"style-fn":i},{default:e(()=>[t(r.$slots,`default`)]),_:3}))}});export{$ as a,pe as c,k as d,O as f,xe as i,_e as l,E as m,Ce as n,be as o,D as p,Se as r,ve as s,Te as t,W as u};
@@ -1 +0,0 @@
1
- import{C as e,F as t,J as n,K as r,P as i,S as a,U as o,Y as s,_ as c,b as l,c as u,ct as d,d as f,h as p,kt as m,l as h,ot as g,pt as _,r as v,s as y,v as b,w as x}from"./runtime-core.esm-bundler-BKFI1w28.js";import{D as S,H as C,O as w,_ as T,d as E,h as D,j as O,k,t as A}from"./QBtn-CzrOO1zA.js";import{t as j}from"./create-BSmXD9Zr.js";import{_ as M,ct as N,f as P,m as F,n as I,ot as L,p as R,q as ee,st as te}from"./index-DEwYKvIG.js";import{n as ne}from"./vue-i18n.runtime-BpRrzZrT.js";import{n as z,r as B}from"./pinia-DCsnCHsH.js";import{f as V,s as H,u as U}from"./use-server-events-znzHKZZx.js";import{t as W}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{a as G,o as K,r as q,u as J}from"./QScrollArea-Cu8zdp0y.js";import{a as Y,i as X,n as Z,o as re,r as ie}from"./AppPage-CiRB13sb.js";var ae=c({__name:`SearchInput`,props:{modelValue:{},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=o(e,`modelValue`);return(e,r)=>(i(),h(I,x({modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e},e.$attrs,{dense:``,outlined:``,clearable:``}),{prepend:n(()=>[p(E,{name:`search`,size:`xs`})]),_:1},16,[`modelValue`]))}}),oe=[`top`,`right`,`bottom`,`left`],Q={type:{type:String,default:`a`},outline:Boolean,push:Boolean,flat:Boolean,unelevated:Boolean,color:String,textColor:String,glossy:Boolean,square:Boolean,padding:String,label:{type:[String,Number],default:``},labelPosition:{type:String,default:`right`,validator:e=>oe.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]},se=[`label`],ce=Object.keys(Q).filter(e=>!se.includes(e)&&A.props[e]!==void 0);function le(e){let t={};for(let n of ce)t[n]=e[n];return t}function ue(e,t){return{formClass:y(()=>`q-fab--form-${e.square?`square`:`rounded`}`),stacked:y(()=>!e.externalLabel&&[`top`,`bottom`].includes(e.labelPosition)),labelProps:y(()=>{if(e.externalLabel){let n=e.hideLabel===null?!t.value:e.hideLabel;return{action:`push`,data:{class:[e.labelClass,`q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-${e.labelPosition}`+(n?` q-fab__label--external-hidden`:``)],style:e.labelStyle}}}return{action:[`left`,`top`].includes(e.labelPosition)?`unshift`:`push`,data:{class:[e.labelClass,`q-fab__label q-fab__label--internal q-fab__label--internal-${e.labelPosition}`+(e.hideLabel?` q-fab__label--internal-hidden`:``)],style:e.labelStyle}}})}}var de=[`up`,`right`,`down`,`left`],fe=[`left`,`center`,`right`],pe=180,me=j({name:`QFab`,props:{...Q,...N,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...Q.hideLabel,default:null},direction:{type:String,default:`right`,validator:e=>de.includes(e)},...K,persistent:Boolean,stagger:{type:Number,default:40},verticalActionsAlign:{type:String,default:`center`,validator:e=>fe.includes(e)}},emits:te,setup(e,{slots:n}){let i=d(null),a=g(e.modelValue===!0),o=ee(),s=S(),{formClass:c,stacked:u,labelProps:f}=ue(e,a),p=y(()=>!e.persistent),{show:m,hide:h,toggle:_}=L({showing:a,hideOnRouteChange:p}),v=0,{clearHoverTimer:b,hoverShow:x,hoverHide:C}=G({props:e,canShow:()=>!a.value,show:e=>{v=Date.now(),m(e)},canHide:()=>a.value,hide:h});r(a,b);function w(e){a.value&&Date.now()-v<pe||_(e)}let O=y(()=>({opened:a.value})),j=y(()=>`q-fab z-fab row inline justify-center q-fab--align-${e.verticalActionsAlign} ${c.value}`+(a.value?` q-fab--opened`:` q-fab--closed`)),M=y(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${e.direction} q-fab__actions--${a.value?`opened`:`closed`}`),N=y(()=>e.hover?{onPointerenter:x,onPointerleave:C}:{}),P=y(()=>{let t={id:o.value,style:`--q-fab-stagger: ${e.stagger}ms`};return a.value||(t[`aria-hidden`]=`true`),t}),F=y(()=>`q-fab__icon-holder q-fab__icon-holder--${a.value?`opened`:`closed`}`);function I(t,r){let i=n[t],a=`q-fab__${t} absolute-full`;return i===void 0?l(E,{class:a,name:e[r]||s.iconSet.fab[r]}):l(`div`,{class:a},i(O.value))}function R(){let t=[];return e.hideIcon||t.push(l(`div`,{class:F.value},[I(`icon`,`icon`),I(`active-icon`,`activeIcon`)])),(e.label!==``||n.label!==void 0)&&t[f.value.action](l(`div`,f.value.data,n.label===void 0?[e.label]:n.label(O.value))),D(n.tooltip,t)}return t(k,{showing:a,onChildClick(e){h(e),e?.qAvoidFocus!==!0&&i.value?.$el.focus()}}),()=>l(`div`,{class:j.value,...N.value},[l(A,{ref:i,class:c.value,...le(e),noWrap:!0,stack:u.value,noCaps:!0,fab:!0,"aria-expanded":a.value?`true`:`false`,"aria-controls":o.value,onClick:w},R),l(`div`,{class:M.value,...P.value},T(n.default))])}}),he={position:{type:String,default:`bottom-right`,validator:e=>[`top-right`,`top-left`,`bottom-right`,`bottom-left`,`top`,`right`,`bottom`,`left`].includes(e)},offset:{type:Array,validator:e=>e.length===2},expand:Boolean};function ge(){let{props:e}=b(),t=S(),n=a(O,w);if(n===w)return console.error(`QPageSticky needs to be child of QLayout`),w;let r=y(()=>{let t=e.position;return{top:t.includes(`top`),right:t.includes(`right`),bottom:t.includes(`bottom`),left:t.includes(`left`),vertical:t===`top`||t===`bottom`,horizontal:t===`left`||t===`right`}}),i=y(()=>n.header.offset),o=y(()=>n.right.offset),s=y(()=>n.footer.offset),c=y(()=>n.left.offset),u=y(()=>{let n=0,a=0,l=r.value,u=t.lang.rtl?-1:1;l.top&&i.value!==0?a=`${i.value}px`:l.bottom&&s.value!==0&&(a=`${-s.value}px`),l.left&&c.value!==0?n=`${u*c.value}px`:l.right&&o.value!==0&&(n=`${-u*o.value}px`);let d={transform:`translate(${n}, ${a})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),l.vertical?(c.value!==0&&(d[t.lang.rtl?`right`:`left`]=`${c.value}px`),o.value!==0&&(d[t.lang.rtl?`left`:`right`]=`${o.value}px`)):l.horizontal&&(i.value!==0&&(d.top=`${i.value}px`),s.value!==0&&(d.bottom=`${s.value}px`)),d}),d=y(()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${e.expand?`expand`:`shrink`}`);function f(t){let n=T(t.default);return l(`div`,{class:d.value,style:u.value},e.expand?n:[l(`div`,n)])}return{$layout:n,getStickyContent:f}}var _e=j({name:`QPageSticky`,props:he,setup(e,{slots:t}){let{getStickyContent:n}=ge();return()=>n(t)}});function ve(e){let t=new URLSearchParams;e.search&&t.set(`search`,e.search),e.createdFrom&&t.set(`createdFrom`,e.createdFrom),e.createdTo&&t.set(`createdTo`,e.createdTo),e.files&&e.files.length>0&&t.set(`files`,e.files.join(`,`));let n=t.toString();return n?`?${n}`:``}var $=z(`reviews`,()=>{let e=g([]),t=g(!1),n=g(null);async function r(r={}){t.value=!0,n.value=null;try{e.value=await U(`/api/reviews${ve(r)}`)}catch(t){e.value=[],n.value=H(t)}finally{t.value=!1}}async function i(t){let n=await V(`/api/reviews`,t);return e.value=[Y(n),...e.value],n}return{reviews:e,loading:t,error:n,fetchReviews:r,createReview:i}}),ye={class:`text-h6`},be=W(c({__name:`ReviewCreateDialog`,props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:e([`created`,`hide`],[`update:modelValue`]),setup(e,{emit:t}){let r=o(e,`modelValue`),a=t,{t:c}=ne(),l=$(),d=g(``),f=g(!1),v=g(null);function y(){d.value=``,f.value=!1,v.value=null}async function b(){f.value=!0,v.value=null;try{let e=d.value.trim(),t=await l.createReview(e?{name:e}:{});r.value=!1,y(),a(`created`,t)}catch(e){v.value=H(e)}finally{f.value=!1}}function x(){y(),a(`hide`)}return(e,t)=>(i(),h(M,{modelValue:r.value,"onUpdate:modelValue":t[1]||=e=>r.value=e,onHide:x},{default:n(()=>[p(F,{class:`review-create-dialog`},{default:n(()=>[p(R,null,{default:n(()=>[u(`div`,ye,m(_(c)(`reviews.create.title`)),1)]),_:1}),p(R,{class:`q-gutter-y-md`},{default:n(()=>[p(I,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dense:``,outlined:``,label:_(c)(`reviews.create.nameLabel`),hint:_(c)(`reviews.create.nameHint`),error:!!v.value,"error-message":v.value??void 0,onKeyup:C(b,[`enter`])},null,8,[`modelValue`,`label`,`hint`,`error`,`error-message`])]),_:1}),p(P,{align:`right`},{default:n(()=>[s(p(ie,null,null,512),[[q]]),p(Z,{loading:f.value,onClick:b},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-095646d6`]]),xe=c({__name:`CreateReviewFabButton`,emits:[`created`],setup(e,{emit:t}){let r=t,a=X(),o=re(),{activeReview:c}=B(a),{changedPaths:l}=B(o),u=g(!1),d=g(!1),m=g([18,18]),h=g(!1),_=y(()=>l.value.length===0||c.value!==null);function b(e){h.value=e.isFirst!==!0&&e.isFinal!==!0,m.value=[m.value[0]-(e.delta?.x??0),m.value[1]-(e.delta?.y??0)]}function x(e){a.setActiveReview(e),r(`created`,e)}return(e,t)=>(i(),f(v,null,[p(_e,{position:`bottom-right`,offset:m.value},{default:n(()=>[s(p(me,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,icon:`add`,color:`accent`,disable:_.value||h.value,onClick:t[1]||=e=>u.value=!0},null,8,[`modelValue`,`disable`]),[[J,b,void 0,{prevent:!0,mouse:!0}]])]),_:1},8,[`offset`]),p(be,{modelValue:u.value,"onUpdate:modelValue":t[2]||=e=>u.value=e,onCreated:x,onHide:t[3]||=e=>d.value=!1},null,8,[`modelValue`])],64))}});export{$ as n,ae as r,xe as t};
@@ -1 +0,0 @@
1
- import{C as e,Dt as t,F as n,I as r,J as i,K as a,L as o,M as s,O as c,Ot as l,P as u,R as d,T as f,U as p,W as m,Y as h,_ as g,b as _,c as v,ct as y,d as b,ft as x,h as S,j as C,kt as w,l as T,m as E,ot as D,pt as O,r as k,rt as A,s as j,tt as M,u as N}from"./runtime-core.esm-bundler-BKFI1w28.js";import{D as P,U as F,_ as I,d as L,h as ee,o as R,s as z,t as B}from"./QBtn-CzrOO1zA.js";import{u as te}from"./event-rR76ioXz.js";import{t as ne}from"./create-BSmXD9Zr.js";import{R as V,d as H,g as re,h as ie,q as ae,t as oe}from"./index-DEwYKvIG.js";import{n as U}from"./vue-i18n.runtime-BpRrzZrT.js";import{n as se,r as W}from"./pinia-DCsnCHsH.js";import{f as ce,n as le,o as ue,p as de,s as fe,u as pe}from"./use-server-events-znzHKZZx.js";import{t as me}from"./agent-store-DX4gIEHa.js";import{t as he}from"./safe-storage-B3bJArYP.js";import{t as G}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{c as K,l as q,n as ge,t as _e,u as ve}from"./QScrollArea-Cu8zdp0y.js";import{i as ye,n as be,t as xe}from"./QSpace-CEuZSBS2.js";import{a as Se,i as J,n as Ce,o as we,t as Te}from"./use-panel-width-e-yXva8i.js";import{r as Ee}from"./use-virtual-scroll-CIwaJCUj.js";import{f as De,i as Y,m as Oe,o as X,p as Z,t as ke}from"./AppPage-CiRB13sb.js";import{C as Ae,S as je,_ as Me,a as Ne,b as Pe,c as Fe,d as Ie,f as Le,g as Re,h as ze,i as Be,l as Ve,m as He,n as Ue,o as We,p as Ge,r as Ke,s as qe,t as Je,u as Ye,v as Xe,x as Ze,y as Qe}from"./StatusSwitcher--zNcE2-Y.js";import{r as $e,t as et}from"./CreateReviewFabButton-DTvX9Psc.js";var tt=8,nt=12,rt=20;function Q(e,t){return tt+e*nt+(t?rt:0)}function it(e){return e.toSorted((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1).map(e=>({...e,children:e.children?it(e.children):void 0}))}function at(e,t){let n=[],r=new Map,i=e=>{let t=r.get(e);return t||(t=new Map,r.set(e,t)),t};for(let r of e){let e=r.split(`/`),a=n,o=``;for(let n=0;n<e.length;n++){let s=e[n];if(!s)continue;let c=n===e.length-1;o=o===``?s:`${o}/${s}`;let l=`${c?`f`:`d`}:${s}`,u=i(a),d=u.get(l);d||(d={name:s,path:c?r:o,type:c?`file`:`directory`,isChanged:c?t.has(r):!1,children:c?void 0:[]},a.push(d),u.set(l,d)),!c&&d.children&&(a=d.children)}}return it(n)}function ot(e,t){if(!t.trim())return e;let n=t.toLowerCase(),r=e=>{if(e.type===`file`)return e.path.toLowerCase().includes(n)?e:null;let t=e.children?.map(r).filter(e=>e!==null);return t&&t.length>0?{...e,children:t}:e.name.toLowerCase().includes(n)?e:null};return e.map(r).filter(e=>e!==null)}function st(e,t,n){let r=[],i=(e,a)=>{for(let o of e){if(o.type===`file`){r.push({kind:`file`,path:o.path,name:o.name,depth:a});continue}let e=o,s=[e.path],c=[e.name];for(;e.children?.length===1&&e.children[0]?.type===`directory`;)e=e.children[0],s.push(e.path),c.push(e.name);let l=n||!s.some(e=>t.has(e));r.push({kind:`folder`,path:e.path,paths:s,name:c.join(`/`),depth:a,expanded:l}),l&&i(e.children??[],a+1)}};return i(e,0),r}function ct(){let e=D([]),t=D(!1),n=D(!1),r=D(null),i=j(()=>!n.value),a=0;async function o(i,o=[]){let s=++a;t.value=!0;try{let t=await pe(`/api/git/tree/${encodeURIComponent(i)}`);if(s!==a)return;e.value=at(t.files.map(Oe),new Set(o)),r.value=null}catch(e){if(s!==a)return;r.value=fe(e)}finally{s===a&&(t.value=!1,n.value=!0)}}function s(){++a,e.value=[],t.value=!1,n.value=!1,r.value=null}return{tree:e,loading:t,initialLoading:i,error:r,fetchTree:o,reset:s}}var lt=`githuman.diffListMode`;function ut(){return he.get(lt)===`tree`?`tree`:`list`}function dt(e,t=new Set){for(let n of e)n.type===`directory`&&(t.add(n.path),dt(n.children??[],t));return t}function ft(e){return e.type===`file`?e.isChanged:e.children?.some(ft)??!1}var $=se(`file-explorer`,()=>{let e=X(),{tree:t,initialLoading:n,error:r,fetchTree:i,reset:o}=ct(),{lines:s,isBinary:c,loading:l,error:u,fetchContent:d,reset:f}=je(),p=D(`unstaged`),m=D(!1),h=D(``),g=D(null),_=D(new Set),v=D(new Set),y=D(ut()),b=D(new Set),x=D(null),S=D(0),C=j(()=>p.value===`staged`?e.stagedFiles:e.unstagedFiles),w=j(()=>new Map(C.value.map(e=>[Z(e),e]))),T=j(()=>y.value===`tree`?at(C.value.map(Z),new Set):[]),E=j(()=>{let e=C.value;if(y.value===`list`)return e;let t=w.value,n=st(T.value,new Set,!0).flatMap(e=>e.kind===`file`?t.get(e.path)??[]:[]),r=new Set(n);return[...n,...e.filter(e=>!r.has(e))]}),O=j(()=>(h.value??``).trim()!==``),k=j(()=>{let e=(h.value??``).trim().toLowerCase();return e?E.value.filter(t=>Z(t).toLowerCase().includes(e)):E.value}),A=j(()=>{let e=w.value;return st(ot(T.value,(h.value??``).trim()),b.value,O.value).flatMap(t=>{if(t.kind===`folder`)return[t];let n=e.get(t.path);return n?[{...t,file:n}]:[]})}),M=j(()=>ot(t.value,h.value??``)),N=j(()=>{let e=0,n=t=>{for(let r of t)r.type===`file`?e++:r.children&&n(r.children)};return n(t.value),e});a(t,e=>{let t=new Set,n=e=>{for(let r of e)r.type===`directory`&&r.children&&(ft(r)&&t.add(r.path),n(r.children))};n(e),_.value=t},{immediate:!0}),a(p,()=>{g.value=null,v.value=new Set,b.value=new Set,x.value=null,S.value++}),a(T,e=>{if(y.value!==`tree`||b.value.size===0)return;let t=dt(e),n=[...b.value].filter(e=>t.has(e));n.length<b.value.size&&(b.value=new Set(n))}),a(g,e=>{if(m.value){if(!e){f();return}d(e,`WORKTREE`)}}),a(y,e=>{he.set(lt,e),g.value&&!m.value&&te(g.value)});function P(e){let t=new Set(b.value),n=e.some(e=>t.has(e));for(let r of e)n?t.delete(r):t.add(r);b.value=t}function F(e){let t=new Set(_.value);t.has(e)?t.delete(e):t.add(e),_.value=t}function I(e){let t=new Set(v.value);t.has(e)?t.delete(e):t.add(e),v.value=t}function L(e){g.value=e,I(e)}function ee(e){g.value=e,v.value.has(e)||(v.value=new Set(v.value).add(e))}function R(){v.value=new Set(E.value.map(Z)),S.value++}function z(){v.value=new Set,S.value++}function B(e){g.value=e,!m.value&&(v.value.has(e)||(v.value=new Set(v.value).add(e)),te(e))}function te(e){let t=E.value.findIndex(t=>Z(t)===e);t<0||(x.value={path:e,index:t,seq:(x.value?.seq??0)+1})}let ne=0,V=D(!1),H=ue(async()=>{V.value=!0;try{await e.fetchDiff(),m.value&&(await i(`WORKTREE`,e.changedPaths),g.value&&await d(g.value,`WORKTREE`))}finally{V.value=!1}});a(m,e=>{h.value=``,g.value=null,e?H():(o(),f())});async function re(){ne=Date.now(),await H()}async function ie(){Date.now()-ne<400||await H()}return{source:p,browseMode:m,filter:h,selectedPath:g,expandedFolders:_,expandedFiles:v,diffListMode:y,collapsedDiffFolders:b,scrollRequest:x,layoutVersion:S,tree:t,treeInitialLoading:n,treeError:r,refreshing:V,browseFileLines:s,browseFileIsBinary:c,browseFileLoading:l,browseFileError:u,diffFiles:E,filtering:O,filteredDiffFiles:k,diffTreeRows:A,filteredTree:M,totalTreeFiles:N,toggleFolder:F,toggleDiffFolder:P,toggleFileCard:I,handleCardToggle:L,expandFile:ee,expandAllFiles:R,collapseAllFiles:z,selectFile:B,refresh:re,refreshFromServerEvent:ie}}),pt=ne({name:`QSplitter`,props:{...re,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:`%`,validator:e=>[`%`,`px`].includes(e)},limits:{type:Array,validator:e=>e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`?!1:e[0]>=0&&e[0]<=e[1]},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object],separatorAriaLabel:String},emits:[`update:modelValue`],setup(e,{slots:t,emit:n}){let r=P(),i=ie(e,r),o=y(null),s={before:y(null),after:y(null)},c=ae(),l=j(()=>`q-splitter no-wrap ${e.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${e.disable?`disabled`:`workable`}`+(i()?` q-splitter--dark`:``)),u=j(()=>e.horizontal?`height`:`width`),d=j(()=>e.reverse?`after`:`before`),p=j(()=>e.limits===void 0?e.unit===`%`?[10,90]:[50,1/0]:e.limits);function m(t){return(e.unit===`%`?t:Math.round(t))+e.unit}let g=j(()=>({[d.value]:{[u.value]:m(e.modelValue)}})),v,b,x,S,C;function w(t){if(t.isFirst){let t=o.value.getBoundingClientRect()[u.value];v=e.horizontal?`up`:`left`,b=e.unit===`%`?100:t,x=Math.min(b,p.value[1],Math.max(p.value[0],e.modelValue)),S=(e.reverse?-1:1)*(e.horizontal?1:r.lang.rtl?-1:1)*(e.unit===`%`?t===0?0:100/t:1),o.value.classList.add(`q-splitter--active`);return}if(t.isFinal){C!==e.modelValue&&n(`update:modelValue`,C),o.value.classList.remove(`q-splitter--active`);return}let i=x+S*(t.direction===v?-1:1)*t.distance[e.horizontal?`y`:`x`];C=Math.min(b,p.value[1],Math.max(p.value[0],i)),s[d.value].value.style[u.value]=m(C),e.emitImmediately&&e.modelValue!==C&&n(`update:modelValue`,C)}let T=j(()=>[[ve,e.disable?void 0:w,void 0,{[e.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),E=j(()=>{let t={role:`separator`,"aria-orientation":e.horizontal?`horizontal`:`vertical`,"aria-label":e.separatorAriaLabel||r.lang.label.resize};if(e.disable)t[`aria-disabled`]=`true`;else{let n=p.value;t.tabindex=0,t[`aria-controls`]=c.value,t[`aria-valuemin`]=n[0],n[1]!==1/0&&(t[`aria-valuemax`]=n[1]),t[`aria-valuenow`]=Math.round(e.modelValue*100)/100}return t}),D=null;function O(t){let{keyCode:i}=t,a=e.horizontal?[38,40]:[37,39];if(i!==13&&i!==36&&i!==35&&!a.includes(i))return;te(t);let s=p.value,c=e.unit===`%`?100:o.value.getBoundingClientRect()[u.value],l;if(i===13)e.modelValue===s[0]?l=D===null?e.modelValue:D:(D=e.modelValue,l=s[0]);else if(i===36)l=s[0];else if(i===35)l=s[1];else{let t=(i===a[0]?-1:1)*(e.reverse?-1:1)*(e.horizontal?1:r.lang.rtl?-1:1);l=e.modelValue+t*(e.unit===`%`?1:10)}let d=Math.min(c,s[1],Math.max(s[0],l));d!==e.modelValue&&n(`update:modelValue`,d)}function k(e,t){e<t[0]?n(`update:modelValue`,t[0]):e>t[1]&&n(`update:modelValue`,t[1])}return a(()=>e.modelValue,e=>{k(e,p.value)}),a(()=>e.limits,()=>{f(()=>{k(e.modelValue,p.value)})}),()=>{let n=[_(`div`,{ref:s.before,id:d.value===`before`?c.value:void 0,class:[`q-splitter__panel q-splitter__before`+(e.reverse?` col`:``),e.beforeClass],style:g.value.before},I(t.before)),_(`div`,{class:[`q-splitter__separator`,e.separatorClass],style:e.separatorStyle,...E.value,onKeydown:e.disable?void 0:O},[h(_(`div`,{class:`q-splitter__separator-area absolute-full`},I(t.separator)),T.value)]),_(`div`,{ref:s.after,id:d.value===`after`?c.value:void 0,class:[`q-splitter__panel q-splitter__after`+(e.reverse?``:` col`),e.afterClass],style:g.value.after},I(t.after))];return _(`div`,{class:l.value,ref:o},ee(t.default,n))}}}),mt=`githuman.fileListWidth`,ht=260,gt=220,_t=600,vt=G(g({__name:`PanelResize`,setup(e){let t=D(Ce(mt,gt,_t)??ht),n=j(()=>[gt,_t]);function r(e){de(e)&&(t.value=Te(e,gt,_t),he.set(mt,String(t.value)))}return(e,a)=>(u(),T(pt,{"model-value":t.value,limits:n.value,unit:`px`,class:`file-explorer`,"before-class":`file-explorer__panel`,"after-class":`file-explorer__content`,"onUpdate:modelValue":r},{before:i(()=>[o(e.$slots,`panel`,{},void 0,!0)]),after:i(()=>[o(e.$slots,`content`,{},void 0,!0)]),_:3},8,[`model-value`,`limits`]))}}),[[`__scopeId`,`data-v-d0bbc6dd`]]),yt={class:`row items-center no-wrap q-gutter-x-xs`},bt={class:`row items-center no-wrap q-gutter-x-xs`},xt=g({__name:`FileExplorerTabs`,props:e({stagedFilesLength:{},unstagedFilesLength:{}},{modelValue:{default:`unstaged`},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=p(e,`modelValue`),{t:n}=U();return(r,a)=>(u(),T(Se,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,dense:``,"no-caps":``,align:`left`,"narrow-indicator":``,class:`text-primary q-mb-sm`},{default:i(()=>[S(we,{name:`unstaged`},{default:i(()=>[v(`div`,yt,[v(`span`,null,w(O(n)(`changes.unstaged`)),1),S(ge,{color:`warning`,rounded:``},{default:i(()=>[E(w(e.unstagedFilesLength),1)]),_:1})])]),_:1}),S(we,{name:`staged`},{default:i(()=>[v(`div`,bt,[v(`span`,null,w(O(n)(`changes.staged`)),1),S(ge,{color:`positive`,rounded:``},{default:i(()=>[E(w(e.stagedFilesLength),1)]),_:1})])]),_:1})]),_:1},8,[`modelValue`]))}}),St={class:`file-tree-node`},Ct={class:`row items-center no-wrap q-gutter-x-xs`},wt=[`data-tooltip`],Tt=[`data-tooltip`],Et={key:2},Dt=G(g({__name:`FileTreeNode`,props:{node:{},selectedPath:{},expandedFolders:{},level:{}},emits:[`toggle-folder`,`file-select`],setup(e,{emit:n}){let a=n;return(n,o)=>{let s=d(`FileTreeNode`,!0);return u(),b(`div`,St,[e.node.type===`directory`?h((u(),T(K,{key:0,clickable:``,dense:``,style:l({paddingLeft:`${O(Q)(e.level,!1)}px`}),onClick:o[0]||=t=>a(`toggle-folder`,e.node.path)},{default:i(()=>[S(q,{avatar:``,class:`file-tree-node__icon-section`},{default:i(()=>[v(`div`,Ct,[S(L,{name:`chevron_right`,size:`xs`,class:t([`file-tree-node__chevron`,{"file-tree-node__chevron--expanded":e.expandedFolders.has(e.node.path)}])},null,8,[`class`]),S(L,{name:e.expandedFolders.has(e.node.path)?`folder_open`:`folder`,size:`xs`,color:`warning`},null,8,[`name`])])]),_:1}),S(q,{class:`text-mono`},{default:i(()=>[v(`div`,{class:`ellipsis file-tree-node__label`,"data-tooltip":e.node.path},w(e.node.name),9,wt)]),_:1}),e.node.children?(u(),T(q,{key:0,side:``,class:`text-caption text-grey-6`},{default:i(()=>[E(w(e.node.children.length),1)]),_:1})):N(``,!0)]),_:1},8,[`style`])),[[R]]):h((u(),T(K,{key:1,clickable:``,dense:``,active:e.node.path===e.selectedPath,"active-class":`file-tree-node--selected`,style:l({paddingLeft:`${O(Q)(e.level,!0)}px`}),onClick:o[1]||=t=>a(`file-select`,e.node.path)},{default:i(()=>[S(q,{avatar:``,class:`file-tree-node__icon-section`},{default:i(()=>[S(L,{name:`insert_drive_file`,size:`xs`,color:`grey-6`})]),_:1}),S(q,{class:`text-mono`},{default:i(()=>[v(`div`,{class:`ellipsis file-tree-node__label`,"data-tooltip":e.node.path},w(e.node.name),9,Tt)]),_:1}),e.node.isChanged?(u(),T(q,{key:0,side:``},{default:i(()=>[S(L,{name:`fiber_manual_record`,size:`8px`,color:`warning`})]),_:1})):N(``,!0)]),_:1},8,[`active`,`style`])),[[R]]),e.node.type===`directory`&&e.expandedFolders.has(e.node.path)&&e.node.children?(u(),b(`div`,Et,[(u(!0),b(k,null,r(e.node.children,t=>(u(),T(s,{key:t.path,node:t,"selected-path":e.selectedPath,"expanded-folders":e.expandedFolders,level:e.level+1,onToggleFolder:o[2]||=e=>a(`toggle-folder`,e),onFileSelect:o[3]||=e=>a(`file-select`,e)},null,8,[`node`,`selected-path`,`expanded-folders`,`level`]))),128))])):N(``,!0)])}}}),[[`__scopeId`,`data-v-ef4a1d44`]]);function Ot(){let e=P(),{t}=U(),n=ye(),r=$(),i=Y();async function a(e,i,a){try{await ce(i,{paths:[e]}),await r.refresh()}catch(e){n(t(a),e)}}function o(n){let r=(i.commentsByFile.get(n)??[]).filter(e=>!e.resolved).length;if(r===0)return a(n,`/api/git/stage`,`changes.actions.stageError`);e.dialog({title:t(`changes.actions.stageUnresolvedTitle`),message:t(`changes.actions.stageUnresolvedMessage`,{path:n,count:r}),persistent:!0,ok:{label:t(`changes.actions.stageUnresolvedOk`),flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/stage`,`changes.actions.stageError`)})}function s(e){return a(e,`/api/git/unstage`,`changes.actions.unstageError`)}function c(n){e.dialog({title:t(`changes.actions.discardConfirmTitle`),message:t(`changes.actions.discardConfirmMessage`,{path:n}),persistent:!0,ok:{label:t(`changes.actions.discardConfirmOk`),color:`negative`,flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/discard`,`changes.actions.discardError`)})}return{stage:o,unstage:s,discard:c}}var kt={class:`file-list-item__path-row row no-wrap items-center`},At=[`data-tooltip`],jt={class:`text-caption`},Mt={class:`text-positive`},Nt={class:`text-negative q-ml-xs`},Pt=G(g({__name:`FileListItem`,props:{file:{},selected:{type:Boolean},source:{},label:{},depth:{}},emits:[`click`],setup(e){let n={added:`A`,modified:`M`,deleted:`D`,renamed:`R`},r={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},a=e,{t:o}=U(),{stage:s,unstage:c,discard:d}=Ot(),f=Y(),p=j(()=>Z(a.file)),m=j(()=>f.commentsByFile.get(p.value)?.length??0);return(a,f)=>h((u(),T(K,{clickable:``,dense:``,class:`file-list-item`,active:e.selected,"active-class":`file-list-item--selected`,"aria-label":e.label===void 0?void 0:p.value,style:l(e.depth===void 0?void 0:{paddingLeft:`${O(Q)(e.depth,!0)}px`}),onClick:f[3]||=e=>a.$emit(`click`)},{default:i(()=>[S(q,{avatar:``,class:`file-list-item__icon-section`},{default:i(()=>[v(`span`,{class:t([`text-caption text-weight-bold text-mono`,`text-${r[e.file.status]}`])},w(n[e.file.status]),3)]),_:1}),S(q,{class:`text-mono`},{default:i(()=>[v(`div`,kt,[v(`span`,{class:`ellipsis file-list-item__path-label`,"data-tooltip":p.value},w(e.label??p.value),9,At),m.value>0?(u(),T(Ze,{key:0,compact:``,class:`file-list-item__badge`,count:m.value},null,8,[`count`])):N(``,!0)])]),_:1}),S(q,{side:``,class:`file-list-item__stats`},{default:i(()=>[v(`span`,jt,[v(`span`,Mt,`+`+w(e.file.additions),1),v(`span`,Nt,`-`+w(e.file.deletions),1)])]),_:1}),S(q,{side:``,class:`file-list-item__actions`},{default:i(()=>[e.source===`unstaged`?(u(),b(k,{key:0},[h(S(B,{flat:``,dense:``,round:``,size:`sm`,icon:`undo`,"aria-label":O(o)(`changes.actions.discard`),"data-tooltip":O(o)(`changes.actions.discard`),onClick:f[0]||=F(e=>O(d)(p.value),[`stop`])},null,8,[`aria-label`,`data-tooltip`]),[[R]]),h(S(B,{flat:``,dense:``,round:``,size:`sm`,icon:`add`,"aria-label":O(o)(`changes.actions.stage`),"data-tooltip":O(o)(`changes.actions.stage`),onClick:f[1]||=F(e=>O(s)(p.value),[`stop`])},null,8,[`aria-label`,`data-tooltip`]),[[R]])],64)):h((u(),T(B,{key:1,flat:``,dense:``,round:``,size:`sm`,icon:`remove`,"aria-label":O(o)(`changes.actions.unstage`),"data-tooltip":O(o)(`changes.actions.unstage`),onClick:f[2]||=F(e=>O(c)(p.value),[`stop`])},null,8,[`aria-label`,`data-tooltip`])),[[R]])]),_:1})]),_:1},8,[`active`,`aria-label`,`style`])),[[R]])}}),[[`__scopeId`,`data-v-a94df6a5`]]),Ft=g({__name:`BrowseModeToggle`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=p(e,`modelValue`),{t:n}=U();return(e,r)=>(u(),T(K,null,{default:i(()=>[S(q,null,{default:i(()=>[S(Ee,null,{default:i(()=>[E(w(O(n)(`browse.toggle`)),1)]),_:1})]),_:1}),S(q,{side:``},{default:i(()=>[S(oe,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,dense:``,size:`xs`},null,8,[`modelValue`])]),_:1})]),_:1}))}}),It={class:`row items-center no-wrap q-gutter-x-xs`},Lt=[`data-tooltip`],Rt=G(g({__name:`DiffTreeFolderRow`,props:{name:{},path:{},depth:{},expanded:{type:Boolean},locked:{type:Boolean}},emits:[`toggle`],setup(e){let{t:n}=U();return(r,a)=>h((u(),T(K,{clickable:!e.locked,dense:``,class:`file-list-item diff-tree-folder-row`,style:l({paddingLeft:`${O(Q)(e.depth,!1)}px`}),"aria-expanded":e.locked?void 0:e.expanded,"aria-label":e.locked?void 0:O(n)(`changes.listMode.folder`,{path:e.path}),onClick:a[0]||=e=>r.$emit(`toggle`)},{default:i(()=>[S(q,{avatar:``,class:`diff-tree-folder-row__icons`},{default:i(()=>[v(`div`,It,[S(L,{name:`chevron_right`,size:`xs`,class:t([`diff-tree-folder-row__chevron`,{"diff-tree-folder-row__chevron--expanded":e.expanded,invisible:e.locked}])},null,8,[`class`]),S(L,{name:e.expanded?`folder_open`:`folder`,size:`xs`,color:`warning`},null,8,[`name`])])]),_:1}),S(q,{class:`text-mono`},{default:i(()=>[v(`span`,{class:`ellipsis`,"data-tooltip":e.path},w(e.name),9,Lt)]),_:1})]),_:1},8,[`clickable`,`style`,`aria-expanded`,`aria-label`])),[[R,!e.locked]])}}),[[`__scopeId`,`data-v-e82c6cd4`]]),zt={class:`file-list-panel__header q-pa-sm`},Bt={key:1,class:`text-subtitle2 q-mb-sm`},Vt={key:0,class:`text-primary`},Ht={class:`row no-wrap items-center q-gutter-x-xs`},Ut={key:0,class:`row justify-center q-pa-lg`},Wt={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},Gt={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},Kt=32,qt=G(g({__name:`FileListPanel`,setup(e){let{t}=U(),{stagedFiles:n,unstagedFiles:a,initialLoading:o,error:s}=W(X()),c=$(),{source:l,browseMode:d,filter:f,selectedPath:p,expandedFolders:m,treeInitialLoading:h,treeError:g,filteredDiffFiles:_,diffTreeRows:y,diffListMode:x,filtering:C,filteredTree:A,totalTreeFiles:P}=W(c),F=D(null),I=j(()=>F.value?.getScrollTarget()??null);return(e,D)=>(u(),b(k,null,[v(`div`,zt,[O(d)?(u(),b(`div`,Bt,[E(w(O(t)(`browse.allFiles`))+` `,1),O(P)>0||!O(g)?(u(),b(`span`,Vt,`(`+w(O(P))+`)`,1)):N(``,!0)])):(u(),T(xt,{key:0,modelValue:O(l),"onUpdate:modelValue":D[0]||=e=>M(l)?l.value=e:null,"staged-files-length":O(n).length,"unstaged-files-length":O(a).length},null,8,[`modelValue`,`staged-files-length`,`unstaged-files-length`])),v(`div`,Ht,[S($e,{modelValue:O(f),"onUpdate:modelValue":D[1]||=e=>M(f)?f.value=e:null,class:`col`,placeholder:O(d)?O(t)(`browse.searchPlaceholder`):O(t)(`changes.filterPlaceholder`)},null,8,[`modelValue`,`placeholder`]),O(d)?N(``,!0):(u(),T(B,{key:0,flat:``,dense:``,round:``,size:`sm`,icon:`account_tree`,color:O(x)===`tree`?`primary`:void 0,"aria-label":O(t)(`changes.listMode.tree`),"aria-pressed":O(x)===`tree`,onClick:D[2]||=e=>x.value=O(x)===`tree`?`list`:`tree`},{default:i(()=>[S(V,{delay:O(500)},{default:i(()=>[E(w(O(t)(`changes.listMode.tree`)),1)]),_:1},8,[`delay`])]),_:1},8,[`color`,`aria-label`,`aria-pressed`]))])]),S(H),S(_e,{ref_key:`scrollArea`,ref:F,class:`col file-list-panel__scroll`,"content-style":`padding: 4px 0`,"content-active-style":`padding: 4px 0`},{default:i(()=>[(O(d)?O(h):O(o))?(u(),b(`div`,Ut,[S(z,{color:`primary`,size:`2em`})])):O(d)?(u(),b(k,{key:1},[O(A).length===0&&(!O(g)||O(f)&&O(P)>0)?(u(),b(`p`,Wt,w(O(f)?O(t)(`browse.noMatchingFiles`):O(t)(`browse.noFiles`)),1)):N(``,!0),(u(!0),b(k,null,r(O(A),e=>(u(),T(Dt,{key:e.path,node:e,"selected-path":O(p),"expanded-folders":O(m),level:0,onToggleFolder:O(c).toggleFolder,onFileSelect:O(c).selectFile},null,8,[`node`,`selected-path`,`expanded-folders`,`onToggleFolder`,`onFileSelect`]))),128))],64)):(u(),b(k,{key:2},[O(_).length===0&&(O(f)||!O(s))?(u(),b(`p`,Gt,w(O(f)?O(t)(`browse.noMatchingFiles`):O(t)(`changes.emptyFileList`)),1)):N(``,!0),I.value&&O(x)===`tree`?(u(),T(J,{key:`${O(l)}:tree`,"scroll-target":I.value,items:O(y),"virtual-scroll-item-size":Kt},{default:i(({item:e})=>[e.kind===`folder`?(u(),T(Rt,{key:`d:${e.path}`,name:e.name,path:e.path,depth:e.depth,expanded:e.expanded,locked:O(C),onToggle:t=>O(c).toggleDiffFolder(e.paths)},null,8,[`name`,`path`,`depth`,`expanded`,`locked`,`onToggle`])):(u(),T(Pt,{key:`f:${e.path}`,file:e.file,label:e.name,depth:e.depth,selected:O(p)===e.path,source:O(l),onClick:t=>O(c).selectFile(e.path)},null,8,[`file`,`label`,`depth`,`selected`,`source`,`onClick`]))]),_:1},8,[`scroll-target`,`items`])):I.value?(u(),T(J,{key:`${O(l)}:list`,"scroll-target":I.value,items:O(_),"virtual-scroll-item-size":Kt},{default:i(({item:e})=>[(u(),T(Pt,{key:O(Z)(e),file:e,selected:O(p)===O(Z)(e),source:O(l),onClick:t=>O(c).selectFile(O(Z)(e))},null,8,[`file`,`selected`,`source`,`onClick`]))]),_:1},8,[`scroll-target`,`items`])):N(``,!0)],64))]),_:1},512),S(H),S(Ft,{modelValue:O(d),"onUpdate:modelValue":D[3]||=e=>M(d)?d.value=e:null},null,8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-bdc095b7`]]),Jt=[`wheel`,`pointerdown`,`keydown`,`touchstart`];function Yt(e){let t=e.inputTarget??(typeof document>`u`?null:document),n=e.follow??Xe,r=null,i;function o(){r=x(e.request),i?.(),i=void 0}for(let e of Jt)t?.addEventListener(e,o,{capture:!0,passive:!0});let s=a([()=>x(e.request),()=>x(e.list),()=>x(e.root)],([t,a,o],s,c)=>{if(!t||t===r||!a||!o)return;let l=!1,u,d=()=>{l=!0,u?.(),u=void 0};i=d,c(()=>{d(),x(e.request)===t&&(r=t),i===d&&(i=void 0)}),f().then(()=>{l||t===r||(a.scrollTo(t.index,`start`),u=n({root:o,target:()=>e.target?e.target(t):document.getElementById(`diff-file-${t.path}`)}))})},{immediate:!0,flush:`post`});A(()=>{s(),i?.();for(let e of Jt)t?.removeEventListener(e,o,!0)})}var Xt={class:`diff-status-bar row items-center q-gutter-x-md q-pa-sm text-body2`},Zt={class:`text-weight-medium`},Qt={class:`text-positive`},$t={class:`text-negative`},en={key:0,class:`text-grey-6`},tn={key:1,class:`text-grey-6`},nn={key:2,class:`text-grey-6`},rn={key:3,class:`text-grey-6`},an=g({__name:`DiffStatusBar`,props:{files:{}},emits:[`expand-all`,`collapse-all`],setup(e,{emit:t}){let n=e,r=t,{t:i}=U(),a=j(()=>{let e=n.files.reduce((e,t)=>e+t.additions,0),t=n.files.reduce((e,t)=>e+t.deletions,0),r=n.files.filter(e=>e.status===`added`).length,i=n.files.filter(e=>e.status===`modified`).length,a=n.files.filter(e=>e.status===`deleted`).length,o=n.files.filter(e=>e.status===`renamed`).length;return{total:n.files.length,additions:e,deletions:t,added:r,modified:i,deleted:a,renamed:o}});return(e,t)=>(u(),b(`div`,Xt,[v(`span`,Zt,w(O(i)(`changes.filesChanged`,{count:a.value.total})),1),v(`span`,Qt,` +`+w(a.value.additions)+` `+w(O(i)(`changes.additions`)),1),v(`span`,$t,` -`+w(a.value.deletions)+` `+w(O(i)(`changes.deletions`)),1),a.value.added?(u(),b(`span`,en,w(a.value.added)+` `+w(O(i)(`changes.added`)),1)):N(``,!0),a.value.modified?(u(),b(`span`,tn,w(a.value.modified)+` `+w(O(i)(`changes.modified`)),1)):N(``,!0),a.value.deleted?(u(),b(`span`,nn,w(a.value.deleted)+` `+w(O(i)(`changes.deletedPlural`)),1)):N(``,!0),a.value.renamed?(u(),b(`span`,rn,w(a.value.renamed)+` `+w(O(i)(`changes.renamed`)),1)):N(``,!0),S(xe),S(B,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_more`,label:O(i)(`changes.expandAll`),onClick:t[0]||=e=>r(`expand-all`)},null,8,[`label`]),S(B,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_less`,label:O(i)(`changes.collapseAll`),onClick:t[1]||=e=>r(`collapse-all`)},null,8,[`label`])]))}}),on=6e3,sn=40;function cn(e,t,n){let r=y(n(t())?.clientWidth??0),i=j(()=>JSON.stringify([e.version,r.value])),a=Ge({get minHeight(){return e.minHeight},get heightOwner(){return e.owner},heightKey:`card-reserve`,get heightVersion(){return i.value},get cacheHeight(){return e.cacheHeight},get keep(){return e.keep},cost:sn,mountMargin:on},t),o;function s(){let e=n(t());e&&(r.value=e.clientWidth,o=He(e,()=>{r.value=e.clientWidth})),a.start(e)}function c(){a.stop(),o?.(),o=void 0}return A(c),{mounted:a.mounted,height:a.height,start:s,stop:c}}var ln={key:1,class:`card-shell-placeholder__title text-mono`,"aria-busy":`true`},un=G(g({__name:`ChangesFileCard`,props:{file:{}},setup(e){let n=e,r=$(),i=X(),a=Y(),{expandedFiles:o}=W(r),{activeReview:s,commentsByFile:d}=W(a),f=j(()=>Z(n.file)),p=j(()=>De(r.source,f.value)),h=j(()=>i.hunksOf(r.source,n.file)),g=j(()=>i.hunksFresh(r.source,n.file)),_=j(()=>i.hunksError(r.source,n.file)),v=j(()=>o.value.has(f.value)),y=j(()=>d.value.get(f.value)),x=j(()=>!!s.value),S={key:p.value},E=Le(`wrap`,()=>Ve(f.value),S),D=Le(`viewMode`,()=>`diff`,S),k=Ie(S),A=Ye(S),M=j(()=>D.value===`full`?A.value:k.value),N=j(()=>46+(v.value?Me(n.file,h.value)+Re(y.value??[],D.value)+(M.value?90:0):0)),P=j(()=>JSON.stringify([v.value,D.value,E.value,x.value,M.value?[M.value.column,M.value.startKey,M.value.endKey]:null,y.value?.map(e=>[e.id,e.lineType,e.lineNumberEnd,e.content,e.suggestion,e.resolved])])),F=m(`el`),{mounted:I,height:L,start:ee,stop:R}=cn({get minHeight(){return N.value},get owner(){return h.value??n.file},get version(){return P.value},get cacheHeight(){return v.value&&g.value&&D.value===`diff`&&!E.value&&!y.value?.length&&!M.value},get keep(){return!!M.value}},()=>F.value,Pe());C(ee),c(R);function z(){i.ensureHunks(r.source,n.file)}function B(){i.retryHunks(r.source,n.file)}return(n,a)=>(u(),b(`div`,{ref_key:`el`,ref:F,class:t({"card-shell-placeholder":!O(I)}),style:l(O(I)?void 0:{height:`${O(L)}px`})},[O(I)?(u(),T(Ue,{key:0,file:e.file,"state-key":p.value,detail:h.value,"hunks-loaded":g.value,"hunks-error":_.value,expanded:v.value,"agent-source":O(r).source,commentable:x.value,"comments-editable":x.value,comments:y.value,onLoadHunks:z,onRetryHunks:B,onClearHunksError:a[0]||=t=>O(i).clearHunksError(O(r).source,e.file),onToggle:a[1]||=e=>O(r).handleCardToggle(f.value),onExpand:a[2]||=e=>O(r).expandFile(f.value)},null,8,[`file`,`state-key`,`detail`,`hunks-loaded`,`hunks-error`,`expanded`,`agent-source`,`commentable`,`comments-editable`,`comments`])):(u(),b(`div`,ln,w(f.value),1))],6))}}),[[`__scopeId`,`data-v-c1bd4d06`]]),dn={key:0,class:`active-review-bar row items-center q-gutter-x-sm q-px-sm no-wrap`},fn={class:`text-body2 ellipsis`},pn=G(g({__name:`ActiveReviewBar`,setup(e){let{t}=U(),n=ye(),r=Y(),{activeReview:i}=W(r),a=me(),o=Ne();function s(e){r.setStatus(e).catch(e=>{n(t(`reviews.comments.error`),e)})}return(e,n)=>O(i)?(u(),b(`div`,dn,[S(L,{name:`rate_review`,size:`18px`,color:`primary`}),v(`span`,fn,w(O(i).name??O(t)(`reviews.list.unnamed`)),1),S(xe),O(a).enabled?(u(),T(B,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,icon:O(be),label:O(t)(`agent.context.addReview`),onClick:n[0]||=e=>O(o)({kind:`review`,reviewId:O(i).id})},null,8,[`icon`,`label`])):N(``,!0),S(Je,{status:O(i).status,onChange:s},null,8,[`status`])])):N(``,!0)}}),[[`__scopeId`,`data-v-2b6e4bdd`]]),mn={key:1,class:`q-pa-md text-grey-6`},hn=12,gn=1.5,_n=2,vn=G(g({__name:`DiffPanel`,setup(e){let{t}=U(),r=$(),{diffFiles:o}=W(r),{error:s,loading:c}=W(X()),l=Y(),{activeReview:d}=W(l);ze({create:e=>l.createComment(e),edit:(e,t)=>l.editComment(e,t),remove:e=>l.deleteComment(e),resolve:e=>l.resolveComment(e),unresolve:e=>l.unresolveComment(e)});let p=D(null),m=j(()=>p.value?.getScrollTarget()??null);n(Qe,()=>m.value);let h=D(null);return Yt({request:()=>r.scrollRequest,list:h,root:m}),a(()=>r.layoutVersion,async()=>{await f(),h.value?.reset()}),a(o,async(e,t)=>{Ae(e,t,(e,t)=>Z(e)===Z(t))||(await f(),h.value?.reset())}),(e,n)=>(u(),b(k,null,[O(s)?(u(),T(qe,{key:0,title:O(t)(`changes.loadError`),message:O(s),loading:O(c),onRetry:n[0]||=e=>O(r).refresh()},null,8,[`title`,`message`,`loading`])):N(``,!0),O(o).length===0&&!O(s)?(u(),b(`div`,mn,w(O(t)(`changes.emptyDiffPanel`)),1)):O(o).length>0?(u(),b(k,{key:2},[S(pn),O(d)?(u(),T(H,{key:0})):N(``,!0),S(an,{files:O(o),onExpandAll:O(r).expandAllFiles,onCollapseAll:O(r).collapseAllFiles},null,8,[`files`,`onExpandAll`,`onCollapseAll`]),S(H),S(_e,{ref_key:`scrollArea`,ref:p,class:`col sticky-header-scroll`,"content-style":`padding: 8px; width: 100%; max-width: 100%`,"content-active-style":`padding: 8px; width: 100%; max-width: 100%`},{default:i(()=>[m.value?(u(),T(J,{key:O(r).source,ref_key:`virtualScroll`,ref:h,"scroll-target":m.value,items:O(o),"virtual-scroll-item-size":O(46),"virtual-scroll-slice-size":hn,"virtual-scroll-slice-ratio-before":gn,"virtual-scroll-slice-ratio-after":_n},{default:i(({item:e})=>[(u(),b(`div`,{key:O(Z)(e),class:`diff-virtual-slot`},[S(un,{file:e},null,8,[`file`])]))]),_:1},8,[`scroll-target`,`items`,`virtual-scroll-item-size`])):N(``,!0)]),_:1},512)],64)):N(``,!0),!O(d)&&O(o).length>0?(u(),T(et,{key:3})):N(``,!0)],64))}}),[[`__scopeId`,`data-v-44aabadb`]]),yn={key:1,class:`q-pa-md text-grey-6`},bn={key:0,class:`row justify-center q-pa-lg`},xn={key:1,class:`q-pa-md text-grey-6`},Sn={class:`text-caption`},Cn={key:2,class:`q-pa-md text-grey-6`},wn=g({__name:`FileContentPanel`,setup(e){let{t}=U(),n=$(),{selectedPath:r,browseFileLines:o,browseFileIsBinary:s,browseFileLoading:c,browseFileError:l,treeError:d,refreshing:f}=W(n),{error:p}=W(X()),m=j(()=>p.value?{title:t(`changes.loadError`),message:p.value}:d.value?{title:t(`browse.treeLoadError`),message:d.value}:null),h=D(!1);return a(r,e=>{h.value=e?Ve(e):!1},{immediate:!0}),(e,a)=>(u(),b(k,null,[m.value?(u(),T(qe,{key:0,title:m.value.title,message:m.value.message,loading:O(f),onRetry:a[0]||=e=>O(n).refresh()},null,8,[`title`,`message`,`loading`])):N(``,!0),O(r)?(u(),T(Ke,{key:2,class:`col`},{header:i(()=>[S(We,{path:O(r)},{default:i(()=>[S(Be,{modelValue:h.value,"onUpdate:modelValue":a[1]||=e=>h.value=e,path:O(r)},null,8,[`modelValue`,`path`])]),_:1},8,[`path`])]),default:i(()=>[O(c)&&O(o).length===0&&!O(l)?(u(),b(`div`,bn,[S(z,{color:`primary`,size:`2em`})])):O(l)?(u(),b(`div`,xn,[E(w(O(t)(`changes.fullFileLoadError`))+` `,1),v(`div`,Sn,w(O(l)),1),S(B,{flat:``,dense:``,color:`primary`,class:`q-mt-sm`,label:O(t)(`changes.retry`),loading:O(f),onClick:a[2]||=e=>O(n).refresh()},null,8,[`label`,`loading`])])):O(s)?(u(),b(`div`,Cn,w(O(t)(`changes.binaryFile`)),1)):(u(),T(_e,{key:3,class:`col`,"content-style":`padding: 8px`,"content-active-style":`padding: 8px`},{default:i(()=>[S(Fe,{path:O(r),lines:O(o),wrap:h.value},null,8,[`path`,`lines`,`wrap`])]),_:1}))]),_:1})):(u(),b(`div`,yn,w(O(t)(`browse.selectFile`)),1))],64))}}),Tn=g({__name:`FileExplorer`,setup(e){let t=$(),n=Y(),{browseMode:r}=W(t);C(()=>{t.refresh(),n.refresh()});let a=le([`files:changed`],()=>void t.refreshFromServerEvent());s(()=>a.close());let o=le([`review:created`,`review:updated`,`review:deleted`,`comment:created`,`comment:updated`,`comment:deleted`],()=>void n.refresh());return s(()=>o.close()),(e,t)=>(u(),T(vt,null,{panel:i(()=>[S(qt)]),content:i(()=>[O(r)?(u(),T(wn,{key:0})):(u(),T(vn,{key:1}))]),_:1}))}}),En=g({__name:`IndexPage`,setup(e){return(e,t)=>(u(),T(ke,null,{default:i(()=>[S(Tn)]),_:1}))}});export{En as default};
@@ -1 +0,0 @@
1
- .preview-controls[data-v-6576d18c]{border:1px solid var(--window-divider);background:var(--window-header-bg);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border-radius:4px;padding:2px;font-size:10px;box-shadow:0 3px 12px #00000040}.preview-controls__value[data-v-6576d18c]{white-space:nowrap;padding:0 2px}.preview-controls__number[data-v-6576d18c]{padding:1px 4px;display:inline-block}.preview-controls__page[data-v-6576d18c]{text-align:center}.preview-controls__status[data-v-6576d18c]{flex:0 0 19px;justify-content:center;align-items:center;display:flex}.preview-controls__scale[data-v-6576d18c]{text-align:center;min-width:36px}.preview-controls__divider[data-v-6576d18c]{border-left:1px solid var(--window-divider);height:12px;margin:0 2px}.terminal-header__drag[data-v-1d632033]{cursor:move;-webkit-user-select:none;user-select:none}.terminal-header__drag--static[data-v-1d632033]{cursor:default}.terminal-tabs[data-v-4855fecf]{border-bottom:1px solid var(--window-divider);flex:none;min-height:36px}.terminal-tabs__tabs[data-v-4855fecf]{min-width:0}.terminal-tab[data-v-4855fecf]{text-transform:none;padding:0 8px}.terminal-tab__body[data-v-4855fecf]{min-width:0;max-width:200px}.terminal-tab__name[data-v-4855fecf]{min-width:0;font-size:12px}.terminal-resize[data-v-662195a2]{z-index:2;touch-action:none;--edge:8px;--corner:12px;--outside:calc(var(--edge) / -2);--edge-inset:calc(var(--corner) + var(--outside));position:absolute}.terminal-resize--n[data-v-662195a2],.terminal-resize--s[data-v-662195a2]{left:var(--edge-inset);right:var(--edge-inset);height:var(--edge);cursor:ns-resize}.terminal-resize--e[data-v-662195a2],.terminal-resize--w[data-v-662195a2]{top:var(--edge-inset);bottom:var(--edge-inset);width:var(--edge);cursor:ew-resize}.terminal-resize--ne[data-v-662195a2],.terminal-resize--nw[data-v-662195a2],.terminal-resize--se[data-v-662195a2],.terminal-resize--sw[data-v-662195a2]{width:var(--corner);height:var(--corner)}.terminal-resize--n[data-v-662195a2],.terminal-resize--ne[data-v-662195a2],.terminal-resize--nw[data-v-662195a2]{top:var(--outside)}.terminal-resize--s[data-v-662195a2],.terminal-resize--se[data-v-662195a2],.terminal-resize--sw[data-v-662195a2]{bottom:var(--outside)}.terminal-resize--e[data-v-662195a2],.terminal-resize--ne[data-v-662195a2],.terminal-resize--se[data-v-662195a2]{right:var(--outside)}.terminal-resize--w[data-v-662195a2],.terminal-resize--nw[data-v-662195a2],.terminal-resize--sw[data-v-662195a2]{left:var(--outside)}.terminal-resize--ne[data-v-662195a2],.terminal-resize--sw[data-v-662195a2]{cursor:nesw-resize}.terminal-resize--nw[data-v-662195a2],.terminal-resize--se[data-v-662195a2]{cursor:nwse-resize}.floating-window[data-v-3efd4e4b]{display:flex;position:fixed}.floating-window__frame[data-v-3efd4e4b]{border:1px solid var(--window-divider);min-width:0;box-shadow:var(--window-shadow);border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.floating-window--maximized .floating-window__frame[data-v-3efd4e4b]{box-shadow:none;border:0;border-radius:0}.floating-window__body[data-v-3efd4e4b]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.terminal-window__body[data-v-d32bfd7c]{flex:1;min-width:0;min-height:0;display:flex}.preview-diagram[data-v-d44ed45b]{width:max-content;padding:16px}.preview-diagram[data-v-d44ed45b] svg{max-width:none!important}.preview-image[data-v-96021427]{max-width:100%;margin:16px auto;display:block}.preview-viewport[data-v-36ab3433]{flex:1;min-width:0;min-height:0;display:flex;position:relative}.preview-overlay[data-v-36ab3433]{z-index:2;position:absolute;bottom:16px;right:16px}.preview-content[data-v-36ab3433]{flex:1;min-height:0;position:relative;overflow:auto}.preview-markdown[data-v-36ab3433]{padding:24px clamp(32px,8%,128px)}.preview-markdown[data-v-36ab3433] .md-content{line-height:1.8}.preview-markdown[data-v-36ab3433] .md-content p{margin-bottom:1.2em}.preview-markdown[data-v-36ab3433] .md-content li{margin:.8em 0}.preview-markdown[data-v-36ab3433] .md-content li>p{margin-bottom:0}.preview-markdown[data-v-36ab3433] .md-content li>p+p{margin-top:1.2em}.preview-markdown[data-v-36ab3433] .md-content>:last-child{margin-bottom:0}.preview-refresh[data-v-36ab3433]{position:sticky;bottom:12px;left:12px}.preview-title[data-v-31d8b3ab]{cursor:move;-webkit-user-select:none;user-select:none}.preview-tabs[data-v-2dd6485f]{border-bottom:1px solid var(--window-divider);flex:none;min-height:36px}.preview-tabs__tabs[data-v-2dd6485f]{min-width:0}.preview-tab-label[data-v-2dd6485f]{max-width:240px}.preview-empty[data-v-0b464106]{flex:1}.preview-drop-overlay[data-v-2e7ae1af]{z-index:3;pointer-events:none;border:2px dashed var(--q-primary);background:var(--window-header-bg);color:var(--q-primary);border-radius:8px;position:absolute;inset:0}.window-dock[data-v-d41e90d8]{z-index:2600;border:1px solid var(--window-divider);background:color-mix(in srgb, var(--window-header-bg) 88%, black);box-shadow:var(--window-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;align-items:center;gap:4px;max-width:100vw;max-height:100vh;padding:6px;display:flex;position:fixed}body.body--dark .window-dock{background:color-mix(in srgb, var(--window-header-bg) 88%, white)}.window-dock--vertical[data-v-d41e90d8]{flex-direction:column}.window-dock__handle[data-v-d41e90d8]{cursor:move;touch-action:none;align-items:center;padding:4px;display:flex}.window-dock__button[data-v-d41e90d8]{border:1px solid #0000;border-radius:8px;width:42px;min-height:42px;padding:0}.window-dock__button--running[data-v-d41e90d8]{border-color:color-mix(in srgb, currentColor 65%, transparent);background:linear-gradient(to bottom, color-mix(in srgb, currentColor 18%, transparent), color-mix(in srgb, currentColor 7%, transparent));box-shadow:inset 0 1px 1px #ffffff38,inset 0 -1px 1px #00000026,0 2px 3px #0003}.window-dock__item[data-v-d41e90d8]{position:relative}.agent-item__thumb[data-v-a05b8739]{cursor:zoom-in;width:72px;height:72px}.agent-item.q-message[data-v-f80f2fb9]{font-family:var(--font-agent);min-width:0;max-width:100%;margin-bottom:0}.agent-item[data-v-f80f2fb9] .q-message-text{min-height:0;padding-left:16px;padding-right:16px}.agent-item[data-v-f80f2fb9] .q-message-container>*,.agent-item[data-v-f80f2fb9] .q-message-text-content,.agent-item[data-v-f80f2fb9] .q-message-text{min-width:0;max-width:100%}.agent-item__text[data-v-f80f2fb9]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.agent-item.q-message[data-v-348f888b]{font-family:var(--font-agent);min-width:0;max-width:100%;margin-bottom:0}.agent-item[data-v-348f888b] .q-message-text{min-height:0;padding-left:16px;padding-right:16px}.agent-item[data-v-348f888b] .q-message-container>*,.agent-item[data-v-348f888b] .q-message-text-content,.agent-item[data-v-348f888b] .q-message-text{min-width:0;max-width:100%}.agent-item[data-v-348f888b] .md-content{font-size:14px;line-height:1.65}.agent-item[data-v-348f888b] .md-content strong,.agent-item[data-v-348f888b] .md-content b{font-weight:500}.agent-diff[data-v-60226168]{border:1px solid var(--q-separator-color,#8080804d);border-radius:4px}.agent-diff__path[data-v-60226168]{background:var(--diff-header-bg);padding:2px 8px}.agent-diff__body[data-v-60226168]{max-width:100%;margin:0;font-size:12px;line-height:1.45;overflow-x:auto}.agent-diff__row[data-v-60226168]{white-space:pre;padding:0 8px;display:block}.agent-diff__row--added[data-v-60226168]{background:#2ea0432e}.agent-diff__row--removed[data-v-60226168]{background:#f851492e}.agent-tool[data-v-6537eaaa]{border:1px solid var(--q-separator-color,#8080804d);border-radius:6px;font-size:11px}.agent-tool[data-v-6537eaaa] .q-item{min-height:26px;padding:0 8px}.agent-tool[data-v-6537eaaa] .q-item__label{font-size:11px}.agent-tool[data-v-6537eaaa] .q-item__section--side{padding-left:6px}.agent-tool__icon[data-v-6537eaaa]{min-width:22px;padding-right:6px}.agent-tool__badge[data-v-6537eaaa]{font-size:10px}.agent-tool__caption[data-v-6537eaaa],.agent-tool__body[data-v-6537eaaa]{font-size:11px}.agent-tool__output[data-v-6537eaaa]{white-space:pre-wrap;max-height:200px;margin:0;font-size:11px;overflow:auto}.agent-thought[data-v-2bc07051]{font-size:11px}.agent-thought__text[data-v-2bc07051]{white-space:pre-wrap;font-size:11px}.agent-thought[data-v-2bc07051] .q-item{min-height:26px;padding:0 8px}.agent-thought[data-v-2bc07051] .q-item__label,.agent-thought[data-v-2bc07051] .q-item__section--main{font-size:11px}.agent-thought[data-v-2bc07051] .q-icon{font-size:14px}.agent-auto-approved[data-v-c0c0181b]{font-size:11px}.agent-auto-approved[data-v-c0c0181b] .q-icon{font-size:14px}.agent-chat-banners__banner[data-v-ece62303]{overflow-wrap:anywhere;flex:none;font-size:12px}.agent-chat-banners__banner[data-v-ece62303] .q-banner__content,.agent-chat-banners__banner[data-v-ece62303] .q-btn{font-size:12px;line-height:1.35}.agent-chat-banners__banner[data-v-ece62303] .q-banner__actions{align-self:center}.agent-mention-popup[data-v-9f415c8c]{z-index:6000;border:1px solid #80808059;border-radius:6px;width:340px;max-width:calc(100vw - 16px);max-height:260px;font-size:13px;position:fixed;overflow-y:auto}.agent-mention-popup__item[data-v-9f415c8c]{cursor:pointer;align-items:baseline;gap:8px;padding:4px 10px;display:flex}.agent-mention-popup__item--active[data-v-9f415c8c]{background:#1976d22e}.agent-mention-popup__icon[data-v-9f415c8c]{opacity:.7;flex:none}.agent-mention-popup__name[data-v-9f415c8c]{flex:none;font-weight:500}.agent-mention-popup__dir[data-v-9f415c8c]{opacity:.6;text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;min-width:0;font-size:11.5px;overflow:hidden}.agent-editor-wrap[data-v-7bc219e6]{min-width:0;position:relative}.agent-editor[data-v-7bc219e6]{font-family:var(--font-agent);white-space:pre-wrap;overflow-wrap:anywhere;outline:none;min-height:24px;max-height:160px;padding:5px 4px;font-size:14px;line-height:1.65;overflow-y:auto}.agent-editor[aria-disabled=true][data-v-7bc219e6]{cursor:not-allowed;opacity:.6}.agent-editor--empty[data-v-7bc219e6]:before{content:attr(data-placeholder);opacity:.5;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:5px;left:4px;right:4px;overflow:hidden}.agent-editor[data-v-7bc219e6] .agent-mention{-webkit-user-select:none;user-select:none;white-space:nowrap;background:#1976d22e;border-radius:4px;align-items:center;margin:0 1px;padding:0 1px 0 6px;font-size:12.5px;line-height:1.6;display:inline-flex}.agent-editor[data-v-7bc219e6] .agent-mention__remove{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;padding:0 4px;font-size:14px;line-height:1}.agent-editor[data-v-7bc219e6] .agent-mention__remove:hover{opacity:1}.agent-attachment-thumb[data-v-b18100a3]{width:56px;height:56px;position:relative}.agent-attachment-thumb-remove[data-v-b18100a3]{position:absolute;top:-6px;right:-6px}.agent-add-menu[data-v-3c2497e7]{min-width:180px}.agent-dot[data-v-8919c3e4]{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.agent-dot__mark[data-v-8919c3e4]{background:var(--q-positive);opacity:.55;border-radius:50%;width:7px;height:7px}.agent-dot__mark--attention[data-v-8919c3e4]{background:var(--q-warning);opacity:1}.agent-dot__mark--closed[data-v-8919c3e4]{background:var(--q-negative);opacity:1}.agent-cfg[data-v-444c80b3]{max-width:190px;font-size:12px}.agent-cfg[data-v-444c80b3] .q-btn__content{flex-wrap:nowrap}.agent-cfg[data-v-444c80b3] .block{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-cfg__list[data-v-444c80b3]{width:340px;min-width:220px;max-width:calc(100vw - 24px);max-height:300px}.agent-composer__status[data-v-1bb33b11]{min-height:28px;margin-top:4px}.agent-composer__state[data-v-1bb33b11]{opacity:.8;padding-right:8px;font-size:12px}.agent-voice[data-v-366e9105]{position:relative}.agent-voice__hidden[data-v-366e9105]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.agent-voice__button[data-v-366e9105]{touch-action:none;-webkit-user-select:none;user-select:none}.agent-voice__button--on[data-v-366e9105]{animation:1.2s ease-in-out infinite agent-voice-pulse-366e9105}.agent-voice__preview[data-v-366e9105]{white-space:pre-wrap;pointer-events:none;border-radius:8px;width:max-content;max-width:min(420px,80vw);padding:6px 10px;font-size:13px;line-height:1.4;position:absolute;bottom:calc(100% + 6px);right:0}@keyframes agent-voice-pulse-366e9105{50%{opacity:.55}}.agent-composer[data-v-6781b3ff]{flex:none;padding:4px 16px 10px}.agent-composer__box[data-v-6781b3ff]{border:1px solid #80808073;border-radius:8px}.agent-composer__box[data-v-6781b3ff]:focus-within{border-color:var(--q-primary)}.agent-permission[data-v-e3be80da]{border:1px solid #8080804d;border-left:3px solid var(--q-warning);border-radius:4px;padding:6px 10px 8px;font-size:12px}.agent-permission__head[data-v-e3be80da]{opacity:.7;font-size:11px}.agent-permission__title[data-v-e3be80da]{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.agent-permission__changes[data-v-e3be80da]{font-size:11px}.agent-permission__changes[data-v-e3be80da] .q-item{min-height:24px;padding:0}.agent-view[data-v-5217395c]{position:absolute;inset:0}.agent-view[data-v-5217395c] .q-scrollarea__content{width:100%}.agent-view__feed[data-v-5217395c]{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.agent-empty[data-v-cb2aea04]{padding:24px}.agent-empty__hint[data-v-cb2aea04]{max-width:260px}.agent-tabs[data-v-b05c3281]{border-bottom:1px solid var(--q-separator-color,#8080804d);flex:none}.agent-tabs__tabs[data-v-b05c3281]{min-width:0}.agent-tab[data-v-b05c3281]{text-transform:none;padding:0 8px}.agent-tab__body[data-v-b05c3281]{min-width:0;max-width:180px}.agent-tab__name[data-v-b05c3281]{min-width:0;font-size:13px}.agent-panel__views[data-v-f30b083a]{min-height:0;position:relative}.agent-new-chat[data-v-887d90c7]{width:380px;max-width:92vw}.agent-drawer__handle[data-v-2a2eac99]{z-index:10;cursor:col-resize;touch-action:none;width:13px;position:absolute;top:0;bottom:0;left:-6px}.agent-drawer__handle[data-v-2a2eac99]:focus-visible{outline-offset:2px;outline:2px solid}.agent-drawer--dragging[data-v-2a2eac99]{-webkit-user-select:none;user-select:none;transition:none!important}.repo-info[data-v-792bc4fd]{line-height:1}.agent-menu__chats[data-v-e91db037]{padding:4px 0 8px}.agent-menu__dot[data-v-e91db037]{min-width:28px;padding-left:8px}