@tequila99/githuman 0.4.0 → 0.4.2

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 (168) hide show
  1. package/README.md +8 -1
  2. package/dist/cli/config.js +4 -2
  3. package/dist/cli/server-runtime.js +1 -0
  4. package/dist/server/app.js +10 -0
  5. package/dist/server/config/openapi.js +29 -0
  6. package/dist/server/repositories/review.repo.js +31 -5
  7. package/dist/server/routes/agent.js +145 -18
  8. package/dist/server/routes/app-info.js +8 -1
  9. package/dist/server/routes/comments.js +73 -27
  10. package/dist/server/routes/diff.js +58 -31
  11. package/dist/server/routes/events.js +14 -1
  12. package/dist/server/routes/export.js +22 -5
  13. package/dist/server/routes/git.js +52 -21
  14. package/dist/server/routes/health.js +8 -1
  15. package/dist/server/routes/openapi.js +4 -0
  16. package/dist/server/routes/reviews.js +59 -33
  17. package/dist/server/services/agent/agent-session.js +5 -3
  18. package/dist/server/services/diff.service.js +23 -1
  19. package/dist/shared/agents/schemas.js +120 -31
  20. package/dist/shared/app/schemas.js +7 -0
  21. package/dist/shared/comments/schemas.js +48 -0
  22. package/dist/shared/diff/preamble.js +77 -0
  23. package/dist/shared/diff/schemas.js +80 -0
  24. package/dist/shared/diff/types.js +0 -3
  25. package/dist/shared/events/schemas.js +4 -0
  26. package/dist/shared/git/schemas.js +59 -0
  27. package/dist/shared/http/schemas.js +23 -0
  28. package/dist/shared/reviews/schemas.js +96 -0
  29. package/dist/shared/reviews/summary.js +5 -0
  30. package/dist/shared/utils/schemas.js +9 -0
  31. package/dist/web/assets/AppPage-BYrCfRnC.js +93 -0
  32. package/dist/web/assets/CreateReviewFabButton-UdzUa_ra.js +1 -0
  33. package/dist/web/assets/IndexPage-BtoeYBg2.js +1 -0
  34. package/dist/web/assets/{IndexPage-CztuM7ha.css → IndexPage-D894ONbY.css} +1 -1
  35. package/dist/web/assets/MainLayout-DjoItVv0.js +7 -0
  36. package/dist/web/assets/{QMenu-QYPSkHBE.js → QMenu-Bh-SjGqz.js} +1 -1
  37. package/dist/web/assets/{QSelect-D4U0Of4k.js → QSelect-CZqAOLiG.js} +1 -1
  38. package/dist/web/assets/ReviewDetailPage-DvDoJ37c.js +1 -0
  39. package/dist/web/assets/{ReviewsPage-CmHdSBsU.js → ReviewsPage-CHUXLKKw.js} +1 -1
  40. package/dist/web/assets/StatusSwitcher-Br_8-_CT.js +2 -0
  41. package/dist/web/assets/{StatusSwitcher-Ca5k9Tjx.css → StatusSwitcher-DLU1h0rK.css} +1 -1
  42. package/dist/web/assets/{abnfDiagram-O67JEVCF-C4PFTrGZ.js → abnfDiagram-O67JEVCF-dyvffE6R.js} +1 -1
  43. package/dist/web/assets/agent-icon-Bc3evt8o.js +17 -0
  44. package/dist/web/assets/{agent-store-D1WRRYIE.js → agent-store-FOng_RxK.js} +1 -1
  45. package/dist/web/assets/{arc-CiNErV2i.js → arc-DgcGdgmL.js} +1 -1
  46. package/dist/web/assets/architecture-7GRP2DOG-JRGyT2Fi.js +1 -0
  47. package/dist/web/assets/architectureDiagram-NJMV4G6O-Dk-QthCI.js +36 -0
  48. package/dist/web/assets/{blockDiagram-BEXU5L5S-CCN9Ja5L.js → blockDiagram-BEXU5L5S-sF48dzNS.js} +1 -1
  49. package/dist/web/assets/{c4Diagram-YGBWAQC7-CPzIw79A.js → c4Diagram-YGBWAQC7-BWrux-0F.js} +1 -1
  50. package/dist/web/assets/channel-C9BIu6HY.js +1 -0
  51. package/dist/web/assets/{chunk-3FUC2YCW-BbeiQKv_.js → chunk-3FUC2YCW-DM9oDQ0E.js} +1 -1
  52. package/dist/web/assets/{chunk-5DYCD2WN-CuzXaWoe.js → chunk-5DYCD2WN-CpgXf7LJ.js} +1 -1
  53. package/dist/web/assets/{chunk-742MDFTN-DJUCmQfr.js → chunk-742MDFTN-BGzG-dZE.js} +1 -1
  54. package/dist/web/assets/{chunk-7INBJB4K-BBd4ghzW.js → chunk-7INBJB4K-DJGc-gqS.js} +1 -1
  55. package/dist/web/assets/{chunk-7M6MHVWA-B0L68u_O.js → chunk-7M6MHVWA-CYIOaZel.js} +17 -17
  56. package/dist/web/assets/{chunk-7PRAP22T-BvEmVPr6.js → chunk-7PRAP22T-CJZNYL51.js} +1 -1
  57. package/dist/web/assets/{chunk-GTNCS2PH-B_vHEKRO.js → chunk-GTNCS2PH-DOYGHmMk.js} +1 -1
  58. package/dist/web/assets/{chunk-GWA4HPMP-DWaW5-VL.js → chunk-GWA4HPMP-RIikrSw1.js} +1 -1
  59. package/dist/web/assets/{chunk-MBY4JIJT-Dfo1FM_M.js → chunk-MBY4JIJT-ZSssyEJi.js} +1 -1
  60. package/dist/web/assets/{chunk-NETBCI7D-DzjBtXVV.js → chunk-NETBCI7D-3tnHEq90.js} +1 -1
  61. package/dist/web/assets/{chunk-O7XYJQB3-DY5ZFCJH.js → chunk-O7XYJQB3-CDFTy-aQ.js} +6 -6
  62. package/dist/web/assets/{chunk-UA2S7LBM-DX_QjVLS.js → chunk-UA2S7LBM-B8rY8Yj-.js} +1 -1
  63. package/dist/web/assets/{chunk-WEXAMYUT-Cckc2fqg.js → chunk-WEXAMYUT-BdPY0e7q.js} +1 -1
  64. package/dist/web/assets/{chunk-XXDRQBXY-DjF0kpJr.js → chunk-XXDRQBXY-BvKO0v-W.js} +1 -1
  65. package/dist/web/assets/{chunk-Z7XXMR3K-Do7oG6KK.js → chunk-Z7XXMR3K-Br_E149D.js} +1 -1
  66. package/dist/web/assets/{chunk-ZIGJFQKS-DTcqsqHq.js → chunk-ZIGJFQKS-DDjPFexL.js} +1 -1
  67. package/dist/web/assets/{classDiagram-v2-NBCMYWYE-Z6ZhPv4N.js → classDiagram-v2-NBCMYWYE-D9kneDxy.js} +7 -7
  68. package/dist/web/assets/{core-tP7fpdit.js → core-C37KF-j0.js} +1 -1
  69. package/dist/web/assets/core-II1Hg8Ir.js +12 -0
  70. package/dist/web/assets/cose-bilkent-JH36ORCC-CMiVhuwL.js +1 -0
  71. package/dist/web/assets/{cynefin-OW5HDTMX-BYrEwheK.js → cynefin-OW5HDTMX-Dot1PBqs.js} +1 -1
  72. package/dist/web/assets/{cynefinDiagram-VND7K2PF-BXbLnUDP.js → cynefinDiagram-VND7K2PF-6uYi0u-j.js} +1 -1
  73. package/dist/web/assets/{dagre-6A5THRUB-DJHHAqZU.js → dagre-6A5THRUB-BDM5YkfJ.js} +1 -1
  74. package/dist/web/assets/{diagram-22UHCM2B-DA9deaTX.js → diagram-22UHCM2B-DxE0D8WB.js} +16 -16
  75. package/dist/web/assets/{diagram-3UASUU5V-C6bo1gN6.js → diagram-3UASUU5V-CuD1fcFQ.js} +1 -1
  76. package/dist/web/assets/{diagram-ATOU4E4O-TTQR35E_.js → diagram-ATOU4E4O-DX6enGgq.js} +1 -1
  77. package/dist/web/assets/{diagram-CDSNMT55-ChFXwow0.js → diagram-CDSNMT55-eLqOiVoC.js} +1 -1
  78. package/dist/web/assets/{diagram-MLGK6HIB-D3F8BzhV.js → diagram-MLGK6HIB-DtIMj5y1.js} +1 -1
  79. package/dist/web/assets/{diagram-MPIPVDR6-NJ6F45a1.js → diagram-MPIPVDR6-lYcwsjHR.js} +1 -1
  80. package/dist/web/assets/dist-B_J_HbC0.js +1 -0
  81. package/dist/web/assets/{ebnfDiagram-ZINNZB2B-u2e1UzYe.js → ebnfDiagram-ZINNZB2B-CGmBWaKx.js} +1 -1
  82. package/dist/web/assets/{elk-276RUBZZ-tCLm9cCU.js → elk-276RUBZZ-B1ntUD9z.js} +1 -1
  83. package/dist/web/assets/engine-oniguruma-B4iNeJbd.js +1 -0
  84. package/dist/web/assets/engine-oniguruma-DdQrZxAE.js +1 -0
  85. package/dist/web/assets/{erDiagram-OPXOYQCR-ChNVjKDe.js → erDiagram-OPXOYQCR-Dqzoldin.js} +1 -1
  86. package/dist/web/assets/eventmodeling-NTZA5JFV-DblBuyVi.js +1 -0
  87. package/dist/web/assets/flowDiagram-KWPJA3E3-D5iLm5ip.js +1 -0
  88. package/dist/web/assets/ganttDiagram-FUAMR5RP-CF6kJAoY.js +292 -0
  89. package/dist/web/assets/{gitGraph-4MIJSDKK-DtM1RZrd.js → gitGraph-4MIJSDKK-CUzcGxMa.js} +1 -1
  90. package/dist/web/assets/{gitGraphDiagram-X574FWY7-C7KXkLLU.js → gitGraphDiagram-X574FWY7-D-XNa6f2.js} +1 -1
  91. package/dist/web/assets/highlight.worker-BHCdEX06.js +2 -0
  92. package/dist/web/assets/html-CEES10Qm.js +1 -0
  93. package/dist/web/assets/html-FFOZEiuQ.js +1 -0
  94. package/dist/web/assets/{i18n-BmgFD4Gx.js → i18n-DvBemXXT.js} +1 -1
  95. package/dist/web/assets/index-Bn7ByP7x.js +2 -0
  96. package/dist/web/assets/{info-A6RAGUB7-C5tVl8cQ.js → info-A6RAGUB7-CH4SNmU8.js} +1 -1
  97. package/dist/web/assets/{infoDiagram-VRGFBTTK-DO4D3mI7.js → infoDiagram-VRGFBTTK-35AKnD7M.js} +1 -1
  98. package/dist/web/assets/{init-app-C0kkg1Ie.js → init-app-C4PeiqQX.js} +1 -1
  99. package/dist/web/assets/{ishikawaDiagram-OU5B5YK6-DA2H3Eih.js → ishikawaDiagram-OU5B5YK6-D41YBWSb.js} +1 -1
  100. package/dist/web/assets/{journeyDiagram-ZHPQQLJL-CdPvR3Sr.js → journeyDiagram-ZHPQQLJL-CZF6Wwk8.js} +1 -1
  101. package/dist/web/assets/{kanban-definition-PNTS6WVX-BRIiazVf.js → kanban-definition-PNTS6WVX-CVGaUle0.js} +1 -1
  102. package/dist/web/assets/{line-CmXhYhmh.js → line-CeH4KBRO.js} +1 -1
  103. package/dist/web/assets/{linear-Cyx-ptw-.js → linear-BUnzfXgk.js} +1 -1
  104. package/dist/web/assets/{mermaid-parser.core-CZ05RARR.js → mermaid-parser.core-YrU9LTTJ.js} +3 -3
  105. package/dist/web/assets/mermaid.core-BkLEn5Vh.js +44 -0
  106. package/dist/web/assets/{mindmap-definition-NLK3R4M7-a7nG9rPn.js → mindmap-definition-NLK3R4M7-D22lxuXn.js} +1 -1
  107. package/dist/web/assets/{packet-AYTQ26CC-yIJsAali.js → packet-AYTQ26CC-DMK0BdeB.js} +1 -1
  108. package/dist/web/assets/{pegDiagram-GJSIUBJH-CBdB4i41.js → pegDiagram-GJSIUBJH-B-e5e5cW.js} +1 -1
  109. package/dist/web/assets/{pie-WAS4IAKB-ybMEHYPX.js → pie-WAS4IAKB-BYP5ND4b.js} +1 -1
  110. package/dist/web/assets/{pieDiagram-5QR66LMP-BfiG4Lho.js → pieDiagram-5QR66LMP-DrEY0oA_.js} +1 -1
  111. package/dist/web/assets/pinia-DB8WAJFa.js +1 -0
  112. package/dist/web/assets/{quadrantDiagram-O4NWA36T-7A6x_hoF.js → quadrantDiagram-O4NWA36T-D12UM_7Y.js} +1 -1
  113. package/dist/web/assets/{radar-RG4KPBEZ-BbeFIczu.js → radar-RG4KPBEZ-50JpTuMu.js} +1 -1
  114. package/dist/web/assets/{railroad-74A4TZTK-CAyDA7Zz.js → railroad-74A4TZTK-C-7jDcYE.js} +1 -1
  115. package/dist/web/assets/railroad-abnf-HS5TGJTU-Bf3pkLrz.js +1 -0
  116. package/dist/web/assets/railroad-ebnf-LZEXJU2U-f10AkgiO.js +1 -0
  117. package/dist/web/assets/railroad-peg-WCYAUIDC-C4FjCCVf.js +1 -0
  118. package/dist/web/assets/{railroadDiagram-XR7U4H2S-BXiOJ_AA.js → railroadDiagram-XR7U4H2S-q0-o99ts.js} +1 -1
  119. package/dist/web/assets/{requirementDiagram-PLB6GJNP-bQNGcpuV.js → requirementDiagram-PLB6GJNP-DsO-Ejin.js} +1 -1
  120. package/dist/web/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
  121. package/dist/web/assets/{safe-storage-CqQMHcn7.js → safe-storage-DRouskD4.js} +1 -1
  122. package/dist/web/assets/{sankeyDiagram-IPEJSGJF-CgfGV4TY.js → sankeyDiagram-IPEJSGJF-Ct9goD-6.js} +1 -1
  123. package/dist/web/assets/scss-CLKKmMvk.js +1 -0
  124. package/dist/web/assets/{sequenceDiagram-PO4LG4MO-BdCuKkDZ.js → sequenceDiagram-PO4LG4MO-BMO_A2FU.js} +1 -1
  125. package/dist/web/assets/src-oBChb5qS.js +1 -0
  126. package/dist/web/assets/{stateDiagram-v2-GCMORJYK-aj1Op7xi.js → stateDiagram-v2-GCMORJYK-BSzg0zQp.js} +7 -7
  127. package/dist/web/assets/{swimlanes-2SLR337P-DQ_YYhZu.js → swimlanes-2SLR337P-CcmfFMci.js} +1 -1
  128. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-DLq4WqTk.js +8 -0
  129. package/dist/web/assets/theme-DQpF6lSZ.js +1 -0
  130. package/dist/web/assets/{timeline-definition-EJHVYXUP-Bk3Mvy3w.js → timeline-definition-EJHVYXUP-0dcHdY2G.js} +1 -1
  131. package/dist/web/assets/{treeView-Q6P3EWNA-BzM7oZcT.js → treeView-Q6P3EWNA-KynQIJ_Z.js} +1 -1
  132. package/dist/web/assets/{treemap-WGGIJYW6-DzgzhZei.js → treemap-WGGIJYW6-DPpYRzcH.js} +1 -1
  133. package/dist/web/assets/{use-app-theme-DEiGbVuj.js → use-app-theme-B1Vh5WKT.js} +1 -1
  134. package/dist/web/assets/{use-panel-width-ujFPWf-l.js → use-panel-width-Cs_K2M_v.js} +1 -1
  135. package/dist/web/assets/{usecaseDiagram-POWQR4AR-kriFnh7L.js → usecaseDiagram-POWQR4AR-DJBtB_eN.js} +1 -1
  136. package/dist/web/assets/{vennDiagram-UO4OBE2U-CDdCMQs7.js → vennDiagram-UO4OBE2U-BgllcrO_.js} +1 -1
  137. package/dist/web/assets/vue-15YBeysQ.js +1 -0
  138. package/dist/web/assets/{wardley-WFR3VGLG-BUWTYQyf.js → wardley-WFR3VGLG-D2Je-cZt.js} +1 -1
  139. package/dist/web/assets/{wardleyDiagram-VNRHLVJA-CW7lMcTj.js → wardleyDiagram-VNRHLVJA-B7ktegci.js} +1 -1
  140. package/dist/web/assets/wasm-S0UXjx1m.js +1 -0
  141. package/dist/web/assets/{xychartDiagram-PMCCYNJV-DoIu8J_3.js → xychartDiagram-PMCCYNJV-DL7WkDZI.js} +1 -1
  142. package/dist/web/index.html +1 -1
  143. package/package.json +2 -2
  144. package/dist/web/assets/AppPage-BNPBe_fi.js +0 -1
  145. package/dist/web/assets/CreateReviewFabButton-3V9ZYSHd.js +0 -1
  146. package/dist/web/assets/IndexPage-xqMEFqAN.js +0 -1
  147. package/dist/web/assets/MainLayout-CMbAu8_d.js +0 -7
  148. package/dist/web/assets/ReviewDetailPage-DSCeLI9D.js +0 -1
  149. package/dist/web/assets/StatusSwitcher-CenEW-Lu.js +0 -4
  150. package/dist/web/assets/agent-icon-C1oimBWa.js +0 -17
  151. package/dist/web/assets/architecture-7GRP2DOG-DORh0iBM.js +0 -1
  152. package/dist/web/assets/architectureDiagram-NJMV4G6O-DnAqHYSW.js +0 -36
  153. package/dist/web/assets/channel-WV0H_O-w.js +0 -1
  154. package/dist/web/assets/cose-bilkent-JH36ORCC-B5DV641c.js +0 -1
  155. package/dist/web/assets/dist-Besl4xjp.js +0 -1
  156. package/dist/web/assets/engine-oniguruma-DaaPGLR3.js +0 -1
  157. package/dist/web/assets/eventmodeling-NTZA5JFV-KBTHxbEB.js +0 -1
  158. package/dist/web/assets/flowDiagram-KWPJA3E3-DM-yXypD.js +0 -1
  159. package/dist/web/assets/ganttDiagram-FUAMR5RP-8mcAm2ao.js +0 -292
  160. package/dist/web/assets/index-CuqF4_ks.js +0 -2
  161. package/dist/web/assets/mermaid.core-ZosqiKX-.js +0 -44
  162. package/dist/web/assets/pinia-r4XAEwbB.js +0 -1
  163. package/dist/web/assets/railroad-abnf-HS5TGJTU-BzS6thC5.js +0 -1
  164. package/dist/web/assets/railroad-ebnf-LZEXJU2U-MS09sAPW.js +0 -1
  165. package/dist/web/assets/railroad-peg-WCYAUIDC-DEQwqbcE.js +0 -1
  166. package/dist/web/assets/src-AvcVSqt3.js +0 -1
  167. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-9frEtrG_.js +0 -8
  168. package/dist/web/assets/theme-BSjPUW3f.js +0 -1
@@ -1,4 +1,4 @@
1
- import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-AvcVSqt3.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-DY5ZFCJH.js";import{t as m}from"./linear-Cyx-ptw-.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-ZIGJFQKS-DTcqsqHq.js";import{t as v}from"./line-CmXhYhmh.js";import"./chunk-742MDFTN-DJUCmQfr.js";import{t as y}from"./chunk-MBY4JIJT-Dfo1FM_M.js";import{a as b}from"./mermaid.core-ZosqiKX-.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-CDFTy-aQ.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-DDjPFexL.js";import{t as v}from"./line-CeH4KBRO.js";import"./chunk-742MDFTN-BGzG-dZE.js";import{t as y}from"./chunk-MBY4JIJT-ZSssyEJi.js";import{a as b}from"./mermaid.core-BkLEn5Vh.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()+`
@@ -1,4 +1,4 @@
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:;"><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-CuqF4_ks.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:;"><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-Bn7ByP7x.js"></script>
2
2
  <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-CUpq88z7.js">
3
3
  <link rel="modulepreload" crossorigin href="/assets/event-rR76ioXz.js">
4
4
  <link rel="modulepreload" crossorigin href="/assets/create-BkZH2Q0U.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tequila99/githuman",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Review AI agent code changes before commit — Vue edition",
5
5
  "homepage": "https://github.com/tequila99/githuman#readme",
6
6
  "bugs": {
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "scripts": {
26
26
  "dev": "quasar dev",
27
- "dev:server": "node --watch-path=src/server --watch-path=src/cli --watch-path=src/shared src/cli/index.ts serve --no-open",
27
+ "dev:server": "node --watch-path=src/server --watch-path=src/cli --watch-path=src/shared src/cli/index.ts serve --no-open --api-docs",
28
28
  "clean": "rm -rf dist",
29
29
  "build": "pnpm run build:server && pnpm run build:web",
30
30
  "build:server": "tsc -p tsconfig.build.json && chmod +x dist/cli/index.js",
@@ -1 +0,0 @@
1
- import{C as e,I as t,N as n,g as r,it as i,l as a,lt as o,nt as s,q as c,s as l,x as u,y as d}from"./runtime-core.esm-bundler-CUpq88z7.js";import{E as f,O as p,_ as m,j as h,t as g}from"./QBtn-BDbJU6_B.js";import{t as _}from"./create-BkZH2Q0U.js";import{n as v}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as y}from"./pinia-DmTi2T44.js";import{c as b,i as x,l as S,o as C,s as w,t as T}from"./single-flight-r8B7stt1.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){return{...e,oldPath:E(e.oldPath),newPath:E(e.newPath)}}function A(e){let{signature:t,...n}=e;return{...n,hunks:[]}}function j(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:A(e)}),signatures:i}}var M=y(`diff`,()=>{let e=s([]),t=s([]),n=new Map,r=new Map,a=s(!1),o=s(!1),c=s(null),u=l(()=>a.value&&!o.value),d=l(()=>[...e.value,...t.value].map(e=>e.newPath||e.oldPath)),f=i(new Map),p=i(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),S(e,t)}async function S(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=k(await w(`/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:x(r),for:t})}finally{m.get(n)===t&&m.delete(n)}}function C(){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 E=T(A);async function A(){a.value=!0;try{let[i,a]=await Promise.all([w(`/api/diff/staged/files`),w(`/api/diff/unstaged/files`)]),o=j(e.value,n,i.map(k)),s=j(t.value,r,a.map(k));e.value=o.files,n=o.signatures,t.value=s.files,r=s.signatures,C(),c.value=null}catch(i){o.value||(e.value=[],t.value=[],n=new Map,r=new Map),c.value=x(i)}finally{a.value=!1,o.value=!0}}return{stagedFiles:e,unstagedFiles:t,loading:a,loaded:o,initialLoading:u,error:c,changedPaths:d,hunksOf:g,hunksFresh:_,hunksError:v,clearHunksError:y,ensureHunks:S,retryHunks:b,fetchDiff:E}}),N=y(`active-review`,()=>{let e=s(null),t=s([]),n=s(!1),r=l(()=>{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 w(`/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 w(`/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 b(`/api/reviews/${e.value.id}`,{status:t}),await i())}async function c(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 u(e,n){let r=await b(`/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 b(`/api/comments/${e}/resolve`);t.value=t.value.map(t=>t.id===e?n:t)}async function p(e){let n=await b(`/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:c,editComment:u,deleteComment:d,resolveComment:f,unresolveComment:p}}),P=r({__name:`CancelButton`,setup(t){let{t:r}=v();return(t,i)=>(n(),a(g,e({padding:`2px 8px`},t.$attrs,{dense:``,flat:``,color:`warning`,label:o(r)(`reviews.comments.cancel`)}),null,16,[`label`]))}}),F=r({__name:`CreateButton`,setup(t){let{t:r}=v();return(t,i)=>(n(),a(g,e({padding:`2px 8px`,label:o(r)(`reviews.create.submit`)},t.$attrs,{unelevated:``,dense:``,color:`accent`}),null,16,[`label`]))}}),I=_({name:`QPage`,props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let n=f(),r=u(h,p);if(r===p)return console.error(`QPage needs to be a deep child of QLayout`),p;if(u(`_q_pc_`,p)===p)return console.error(`QPage needs to be child of QPageContainer`),p;let i=l(()=>{let t=(r.header.space?r.header.size:0)+(r.footer.space?r.footer.size:0);if(typeof e.styleFn==`function`){let i=r.isContainer.value?r.containerHeight.value:n.screen.height;return e.styleFn(t,i)}return{minHeight:r.isContainer.value?r.containerHeight.value-t+`px`:n.screen.height===0?t===0?`100vh`:`calc(100vh - ${t}px)`:n.screen.height-t+`px`}}),a=l(()=>`q-page${e.padding?` q-layout-padding`:``}`);return()=>d(`main`,{class:a.value,style:i.value},m(t.default))}}),L=r({__name:`AppPage`,setup(e){function r(e,t){return{height:`${t-e}px`}}return(e,i)=>(n(),a(I,{"style-fn":r},{default:c(()=>[t(e.$slots,`default`)]),_:3}))}});export{M as a,E as c,N as i,F as n,O as o,P as r,D as s,L as t};
@@ -1 +0,0 @@
1
- import{C as e,G as t,H as n,J as r,N as i,P as a,S as o,Tt as s,_ as c,c as l,d as u,g as d,h as f,it as p,l as m,lt as h,nt as g,q as _,r as v,s as y,x as b,y as x}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as S,E as C,H as w,O as T,_ as E,d as D,h as O,j as k,k as A,t as j}from"./QBtn-BDbJU6_B.js";import{t as M}from"./create-BkZH2Q0U.js";import{J as N,K as ee,d as te,g as P,h as F,m as I,n as L,q as ne,y as re}from"./index-CuqF4_ks.js";import{n as R}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as z,r as B}from"./pinia-DmTi2T44.js";import{i as V,l as H,s as U}from"./single-flight-r8B7stt1.js";import{m as W,o as G,s as K,v as q}from"./QMenu-QYPSkHBE.js";import{a as J,i as Y,n as X,r as ie}from"./AppPage-BNPBe_fi.js";var ae=d({__name:`SearchInput`,props:{modelValue:{},modelModifiers:{}},emits:[`update:modelValue`],setup(t){let r=n(t,`modelValue`);return(t,n)=>(i(),m(L,e({modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e},t.$attrs,{dense:``,outlined:``,clearable:``}),{prepend:_(()=>[f(D,{name:`search`,size:`xs`})]),_:1},16,[`modelValue`]))}}),oe=[`top`,`right`,`bottom`,`left`],Z={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(Z).filter(e=>!se.includes(e)&&j.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=M({name:`QFab`,props:{...Z,...N,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...Z.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:ne,setup(e,{slots:n}){let r=p(null),i=g(e.modelValue===!0),o=te(),s=C(),{formClass:c,stacked:l,labelProps:u}=ue(e,i),d=y(()=>!e.persistent),{show:f,hide:m,toggle:h}=ee({showing:i,hideOnRouteChange:d}),_=0,{clearHoverTimer:v,hoverShow:b,hoverHide:S}=G({props:e,canShow:()=>!i.value,show:e=>{_=Date.now(),f(e)},canHide:()=>i.value,hide:m});t(i,v);function w(e){i.value&&Date.now()-_<pe||h(e)}let T=y(()=>({opened:i.value})),k=y(()=>`q-fab z-fab row inline justify-center q-fab--align-${e.verticalActionsAlign} ${c.value}`+(i.value?` q-fab--opened`:` q-fab--closed`)),M=y(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${e.direction} q-fab__actions--${i.value?`opened`:`closed`}`),N=y(()=>e.hover?{onPointerenter:b,onPointerleave:S}:{}),P=y(()=>{let t={id:o.value,style:`--q-fab-stagger: ${e.stagger}ms`};return i.value||(t[`aria-hidden`]=`true`),t}),F=y(()=>`q-fab__icon-holder q-fab__icon-holder--${i.value?`opened`:`closed`}`);function I(t,r){let i=n[t],a=`q-fab__${t} absolute-full`;return i===void 0?x(D,{class:a,name:e[r]||s.iconSet.fab[r]}):x(`div`,{class:a},i(T.value))}function L(){let t=[];return e.hideIcon||t.push(x(`div`,{class:F.value},[I(`icon`,`icon`),I(`active-icon`,`activeIcon`)])),(e.label!==``||n.label!==void 0)&&t[u.value.action](x(`div`,u.value.data,n.label===void 0?[e.label]:n.label(T.value))),O(n.tooltip,t)}return a(A,{showing:i,onChildClick(e){m(e),e?.qAvoidFocus!==!0&&r.value?.$el.focus()}}),()=>x(`div`,{class:k.value,...N.value},[x(j,{ref:r,class:c.value,...le(e),noWrap:!0,stack:l.value,noCaps:!0,fab:!0,"aria-expanded":i.value?`true`:`false`,"aria-controls":o.value,onClick:w},L),x(`div`,{class:M.value,...P.value},E(n.default))])}}),Q={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 he(){let{props:e}=c(),t=C(),n=b(k,T);if(n===T)return console.error(`QPageSticky needs to be child of QLayout`),T;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),a=y(()=>n.right.offset),o=y(()=>n.footer.offset),s=y(()=>n.left.offset),l=y(()=>{let n=0,c=0,l=r.value,u=t.lang.rtl?-1:1;l.top&&i.value!==0?c=`${i.value}px`:l.bottom&&o.value!==0&&(c=`${-o.value}px`),l.left&&s.value!==0?n=`${u*s.value}px`:l.right&&a.value!==0&&(n=`${-u*a.value}px`);let d={transform:`translate(${n}, ${c})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),l.vertical?(s.value!==0&&(d[t.lang.rtl?`right`:`left`]=`${s.value}px`),a.value!==0&&(d[t.lang.rtl?`left`:`right`]=`${a.value}px`)):l.horizontal&&(i.value!==0&&(d.top=`${i.value}px`),o.value!==0&&(d.bottom=`${o.value}px`)),d}),u=y(()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${e.expand?`expand`:`shrink`}`);function d(t){let n=E(t.default);return x(`div`,{class:u.value,style:l.value},e.expand?n:[x(`div`,n)])}return{$layout:n,getStickyContent:d}}var ge=M({name:`QPageSticky`,props:Q,setup(e,{slots:t}){let{getStickyContent:n}=he();return()=>n(t)}});function _e(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${_e(r)}`)}catch(t){e.value=[],n.value=V(t)}finally{t.value=!1}}async function i(t){let n=await H(`/api/reviews`,t);return e.value=[n,...e.value],n}return{reviews:e,loading:t,error:n,fetchReviews:r,createReview:i}}),ve={class:`text-h6`},ye=S(d({__name:`ReviewCreateDialog`,props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:o([`created`,`hide`],[`update:modelValue`]),setup(e,{emit:t}){let a=n(e,`modelValue`),o=t,{t:c}=R(),u=$(),d=g(``),p=g(!1),v=g(null);function y(){d.value=``,p.value=!1,v.value=null}async function b(){p.value=!0,v.value=null;try{let e=d.value.trim(),t=await u.createReview(e?{name:e}:{});a.value=!1,y(),o(`created`,t)}catch(e){v.value=V(e)}finally{p.value=!1}}function x(){y(),o(`hide`)}return(e,t)=>(i(),m(re,{modelValue:a.value,"onUpdate:modelValue":t[1]||=e=>a.value=e,onHide:x},{default:_(()=>[f(P,{class:`review-create-dialog`},{default:_(()=>[f(F,null,{default:_(()=>[l(`div`,ve,s(h(c)(`reviews.create.title`)),1)]),_:1}),f(F,{class:`q-gutter-y-md`},{default:_(()=>[f(L,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dense:``,outlined:``,label:h(c)(`reviews.create.nameLabel`),hint:h(c)(`reviews.create.nameHint`),error:!!v.value,"error-message":v.value??void 0,onKeyup:w(b,[`enter`])},null,8,[`modelValue`,`label`,`hint`,`error`,`error-message`])]),_:1}),f(I,{align:`right`},{default:_(()=>[r(f(ie,null,null,512),[[W]]),f(X,{loading:p.value,onClick:b},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-095646d6`]]),be=d({__name:`CreateReviewFabButton`,emits:[`created`],setup(e,{emit:t}){let n=t,a=Y(),o=J(),{activeReview:s}=B(a),{changedPaths:c}=B(o),l=g(!1),d=g(!1),p=g([18,18]),m=g(!1),h=y(()=>c.value.length===0||s.value!==null);function b(e){m.value=e.isFirst!==!0&&e.isFinal!==!0,p.value=[p.value[0]-(e.delta?.x??0),p.value[1]-(e.delta?.y??0)]}function x(e){a.setActiveReview(e),n(`created`,e)}return(e,t)=>(i(),u(v,null,[f(ge,{position:`bottom-right`,offset:p.value},{default:_(()=>[r(f(me,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,icon:`add`,color:`accent`,disable:h.value||m.value,onClick:t[1]||=e=>l.value=!0},null,8,[`modelValue`,`disable`]),[[q,b,void 0,{prevent:!0,mouse:!0}]])]),_:1},8,[`offset`]),f(ye,{modelValue:l.value,"onUpdate:modelValue":t[2]||=e=>l.value=e,onCreated:x,onHide:t[3]||=e=>d.value=!1},null,8,[`modelValue`])],64))}});export{$ as n,ae as r,be as t};
@@ -1 +0,0 @@
1
- import{l as e,r as t,t as n}from"./agent-icon-C1oimBWa.js";import{A as r,Ct as i,F as a,G as o,H as s,I as c,J as l,L as u,N as d,P as f,Q as p,S as m,Tt as h,c as g,d as _,g as v,h as y,it as b,j as x,l as S,lt as C,m as w,nt as T,q as E,r as D,s as O,u as k,w as A,wt as j,y as M}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as N,E as P,U as F,_ as I,d as L,h as R,o as z,s as B,t as V}from"./QBtn-BDbJU6_B.js";import{u as ee}from"./event-rR76ioXz.js";import{t as te}from"./create-BkZH2Q0U.js";import{_ as ne,d as re,p as H,t as ie,v as ae}from"./index-CuqF4_ks.js";import{n as U}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as oe,r as W}from"./pinia-DmTi2T44.js";import{i as se,l as ce,r as le,s as ue,t as de}from"./single-flight-r8B7stt1.js";import{t as fe}from"./agent-store-D1WRRYIE.js";import{t as pe}from"./safe-storage-CqQMHcn7.js";import{d as G,f as me,h as K,p as q,v as he}from"./QMenu-QYPSkHBE.js";import{r as ge}from"./use-virtual-scroll-BVHTKnoC.js";import{a as _e,i as ve,n as ye,o as be,t as xe}from"./use-panel-width-ujFPWf-l.js";import{a as J,c as Se,i as Y,o as Ce,s as X,t as we}from"./AppPage-BNPBe_fi.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,n as je,o as Me,p as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./StatusSwitcher-CenEW-Lu.js";import{r as Re,t as ze}from"./CreateReviewFabButton-3V9ZYSHd.js";function Be(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?Be(e.children):void 0}))}function Ve(e,t){let n=[];for(let r of e){let e=r.split(`/`),i=n;for(let n=0;n<e.length;n++){let a=e[n];if(!a)continue;let o=n===e.length-1,s=e.slice(0,n+1).join(`/`),c=i.find(e=>e.name===a);c||(c={name:a,path:s,type:o?`file`:`directory`,isChanged:o?t.has(r):!1,children:o?void 0:[]},i.push(c)),!o&&c.children&&(i=c.children)}}return Be(n)}function He(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 Ue(){let e=T([]),t=T(!1),n=T(!1),r=T(null),i=O(()=>!n.value),a=0;async function o(i,o=[]){let s=++a;t.value=!0;try{let t=await ue(`/api/git/tree/${encodeURIComponent(i)}`);if(s!==a)return;e.value=Ve(t.files.map(Se),new Set(o)),r.value=null}catch(e){if(s!==a)return;r.value=se(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}}function We(e){return e.type===`file`?e.isChanged:e.children?.some(We)??!1}var Z=oe(`file-explorer`,()=>{let e=J(),{tree:t,initialLoading:n,error:r,fetchTree:i,reset:a}=Ue(),{lines:s,isBinary:c,loading:l,error:u,fetchContent:d,reset:f}=Ne(),p=T(`staged`),m=T(!1),h=T(``),g=T(null),_=T(new Set),v=T(new Set),y=T(null),b=T(0),x=O(()=>p.value===`staged`?e.stagedFiles:e.unstagedFiles),S=O(()=>{let e=(h.value??``).trim().toLowerCase();return e?x.value.filter(t=>X(t).toLowerCase().includes(e)):x.value}),C=O(()=>He(t.value,h.value??``)),w=O(()=>{let e=0,n=t=>{for(let r of t)r.type===`file`?e++:r.children&&n(r.children)};return n(t.value),e});o(t,e=>{let t=new Set,n=e=>{for(let r of e)r.type===`directory`&&r.children&&(We(r)&&t.add(r.path),n(r.children))};n(e),_.value=t},{immediate:!0}),o(p,()=>{g.value=null,v.value=new Set,y.value=null,b.value++}),o(g,e=>{if(m.value){if(!e){f();return}d(e,`WORKTREE`)}});function E(e){let t=new Set(_.value);t.has(e)?t.delete(e):t.add(e),_.value=t}function D(e){let t=new Set(v.value);t.has(e)?t.delete(e):t.add(e),v.value=t}function k(e){g.value=e,D(e)}function A(e){g.value=e,v.value.has(e)||(v.value=new Set(v.value).add(e))}function j(){v.value=new Set(x.value.map(X)),b.value++}function M(){v.value=new Set,b.value++}function N(e){if(g.value=e,m.value)return;v.value.has(e)||(v.value=new Set(v.value).add(e));let t=x.value.findIndex(t=>X(t)===e);t<0||(y.value={path:e,index:t,seq:(y.value?.seq??0)+1})}let P=0,F=T(!1),I=de(async()=>{F.value=!0;try{await e.fetchDiff(),m.value&&(await i(`WORKTREE`,e.changedPaths),g.value&&await d(g.value,`WORKTREE`))}finally{F.value=!1}});o(m,e=>{h.value=``,g.value=null,e?I():(a(),f())});async function L(){P=Date.now(),await I()}async function R(){Date.now()-P<400||await I()}return{source:p,browseMode:m,filter:h,selectedPath:g,expandedFolders:_,expandedFiles:v,scrollRequest:y,layoutVersion:b,tree:t,treeInitialLoading:n,treeError:r,refreshing:F,browseFileLines:s,browseFileIsBinary:c,browseFileLoading:l,browseFileError:u,diffFiles:x,filteredDiffFiles:S,filteredTree:C,totalTreeFiles:w,toggleFolder:E,toggleFileCard:D,handleCardToggle:k,expandFile:A,expandAllFiles:j,collapseAllFiles:M,selectFile:N,refresh:L,refreshFromServerEvent:R}}),Ge=te({name:`QSplitter`,props:{...ae,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=ne(e,r),a=b(null),s={before:b(null),after:b(null)},c=re(),u=O(()=>`q-splitter no-wrap ${e.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${e.disable?`disabled`:`workable`}`+(i()?` q-splitter--dark`:``)),d=O(()=>e.horizontal?`height`:`width`),f=O(()=>e.reverse?`after`:`before`),p=O(()=>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 h=O(()=>({[f.value]:{[d.value]:m(e.modelValue)}})),g,_,v,y,x;function S(t){if(t.isFirst){let t=a.value.getBoundingClientRect()[d.value];g=e.horizontal?`up`:`left`,_=e.unit===`%`?100:t,v=Math.min(_,p.value[1],Math.max(p.value[0],e.modelValue)),y=(e.reverse?-1:1)*(e.horizontal?1:r.lang.rtl?-1:1)*(e.unit===`%`?t===0?0:100/t:1),a.value.classList.add(`q-splitter--active`);return}if(t.isFinal){x!==e.modelValue&&n(`update:modelValue`,x),a.value.classList.remove(`q-splitter--active`);return}let i=v+y*(t.direction===g?-1:1)*t.distance[e.horizontal?`y`:`x`];x=Math.min(_,p.value[1],Math.max(p.value[0],i)),s[f.value].value.style[d.value]=m(x),e.emitImmediately&&e.modelValue!==x&&n(`update:modelValue`,x)}let C=O(()=>[[he,e.disable?void 0:S,void 0,{[e.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),w=O(()=>{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}),T=null;function E(t){let{keyCode:i}=t,o=e.horizontal?[38,40]:[37,39];if(i!==13&&i!==36&&i!==35&&!o.includes(i))return;ee(t);let s=p.value,c=e.unit===`%`?100:a.value.getBoundingClientRect()[d.value],l;if(i===13)e.modelValue===s[0]?l=T===null?e.modelValue:T:(T=e.modelValue,l=s[0]);else if(i===36)l=s[0];else if(i===35)l=s[1];else{let t=(i===o[0]?-1:1)*(e.reverse?-1:1)*(e.horizontal?1:r.lang.rtl?-1:1);l=e.modelValue+t*(e.unit===`%`?1:10)}let u=Math.min(c,s[1],Math.max(s[0],l));u!==e.modelValue&&n(`update:modelValue`,u)}function D(e,t){e<t[0]?n(`update:modelValue`,t[0]):e>t[1]&&n(`update:modelValue`,t[1])}return o(()=>e.modelValue,e=>{D(e,p.value)}),o(()=>e.limits,()=>{A(()=>{D(e.modelValue,p.value)})}),()=>{let n=[M(`div`,{ref:s.before,id:f.value===`before`?c.value:void 0,class:[`q-splitter__panel q-splitter__before`+(e.reverse?` col`:``),e.beforeClass],style:h.value.before},I(t.before)),M(`div`,{class:[`q-splitter__separator`,e.separatorClass],style:e.separatorStyle,...w.value,onKeydown:e.disable?void 0:E},[l(M(`div`,{class:`q-splitter__separator-area absolute-full`},I(t.separator)),C.value)]),M(`div`,{ref:s.after,id:f.value===`after`?c.value:void 0,class:[`q-splitter__panel q-splitter__after`+(e.reverse?``:` col`),e.afterClass],style:h.value.after},I(t.after))];return M(`div`,{class:u.value,ref:a},R(t.default,n))}}}),Ke=`githuman.fileListWidth`,qe=260,Q=220,$=600,Je=N(v({__name:`PanelResize`,setup(e){let t=T(ye(Ke,Q,$)??qe),n=O(()=>[Q,$]);function r(e){typeof e==`number`&&Number.isFinite(e)&&(t.value=xe(e,Q,$),pe.set(Ke,String(t.value)))}return(e,i)=>(d(),S(Ge,{"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:E(()=>[c(e.$slots,`panel`,{},void 0,!0)]),after:E(()=>[c(e.$slots,`content`,{},void 0,!0)]),_:3},8,[`model-value`,`limits`]))}}),[[`__scopeId`,`data-v-65488178`]]),Ye={class:`row items-center no-wrap q-gutter-x-xs`},Xe={class:`row items-center no-wrap q-gutter-x-xs`},Ze=v({__name:`FileExplorerTabs`,props:m({stagedFilesLength:{},unstagedFilesLength:{}},{modelValue:{default:`staged`},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=s(e,`modelValue`),{t:n}=U();return(r,i)=>(d(),S(ve,{modelValue:t.value,"onUpdate:modelValue":i[0]||=e=>t.value=e,dense:``,"no-caps":``,align:`left`,"narrow-indicator":``,class:`text-primary q-mb-sm`},{default:E(()=>[y(_e,{name:`staged`},{default:E(()=>[g(`div`,Ye,[g(`span`,null,h(C(n)(`changes.staged`)),1),y(me,{color:`positive`,rounded:``},{default:E(()=>[w(h(e.stagedFilesLength),1)]),_:1})])]),_:1}),y(_e,{name:`unstaged`},{default:E(()=>[g(`div`,Xe,[g(`span`,null,h(C(n)(`changes.unstaged`)),1),y(me,{color:`warning`,rounded:``},{default:E(()=>[w(h(e.unstagedFilesLength),1)]),_:1})])]),_:1})]),_:1},8,[`modelValue`]))}}),Qe={class:`file-tree-node`},$e={class:`row items-center no-wrap q-gutter-x-xs`},et=[`title`],tt=[`title`],nt={key:2},rt=N(v({__name:`FileTreeNode`,props:{node:{},selectedPath:{},expandedFolders:{},level:{}},emits:[`toggle-folder`,`file-select`],setup(e,{emit:t}){let n=e,r=t,o=8+n.level*12;return(t,n)=>{let s=u(`FileTreeNode`,!0);return d(),_(`div`,Qe,[e.node.type===`directory`?l((d(),S(G,{key:0,clickable:``,dense:``,style:j({paddingLeft:`${o}px`}),onClick:n[0]||=t=>r(`toggle-folder`,e.node.path)},{default:E(()=>[y(q,{avatar:``,class:`file-tree-node__icon-section`},{default:E(()=>[g(`div`,$e,[y(L,{name:`chevron_right`,size:`xs`,class:i([`file-tree-node__chevron`,{"file-tree-node__chevron--expanded":e.expandedFolders.has(e.node.path)}])},null,8,[`class`]),y(L,{name:e.expandedFolders.has(e.node.path)?`folder_open`:`folder`,size:`xs`,color:`warning`},null,8,[`name`])])]),_:1}),y(q,{class:`text-mono`},{default:E(()=>[g(`div`,{class:`ellipsis file-tree-node__label`,title:e.node.path},h(e.node.name),9,et)]),_:1}),e.node.children?(d(),S(q,{key:0,side:``,class:`text-caption text-grey-6`},{default:E(()=>[w(h(e.node.children.length),1)]),_:1})):k(``,!0)]),_:1},8,[`style`])),[[z]]):l((d(),S(G,{key:1,clickable:``,dense:``,active:e.node.path===e.selectedPath,"active-class":`file-tree-node--selected`,style:j({paddingLeft:`${o+20}px`}),onClick:n[1]||=t=>r(`file-select`,e.node.path)},{default:E(()=>[y(q,{avatar:``,class:`file-tree-node__icon-section`},{default:E(()=>[y(L,{name:`insert_drive_file`,size:`xs`,color:`grey-6`})]),_:1}),y(q,{class:`text-mono`},{default:E(()=>[g(`div`,{class:`ellipsis file-tree-node__label`,title:e.node.path},h(e.node.name),9,tt)]),_:1}),e.node.isChanged?(d(),S(q,{key:0,side:``},{default:E(()=>[y(L,{name:`fiber_manual_record`,size:`8px`,color:`warning`})]),_:1})):k(``,!0)]),_:1},8,[`active`,`style`])),[[z]]),e.node.type===`directory`&&e.expandedFolders.has(e.node.path)&&e.node.children?(d(),_(`div`,nt,[(d(!0),_(D,null,a(e.node.children,t=>(d(),S(s,{key:t.path,node:t,"selected-path":e.selectedPath,"expanded-folders":e.expandedFolders,level:e.level+1,onToggleFolder:n[2]||=e=>r(`toggle-folder`,e),onFileSelect:n[3]||=e=>r(`file-select`,e)},null,8,[`node`,`selected-path`,`expanded-folders`,`level`]))),128))])):k(``,!0)])}}}),[[`__scopeId`,`data-v-5f455ca2`]]);function it(){let e=P(),{t:n}=U(),r=t(),i=Z(),a=Y();async function o(e,t,a){try{await ce(t,{paths:[e]}),await i.refresh()}catch(e){r(n(a),e)}}function s(t){let r=(a.commentsByFile.get(t)??[]).filter(e=>!e.resolved).length;if(r===0)return o(t,`/api/git/stage`,`changes.actions.stageError`);e.dialog({title:n(`changes.actions.stageUnresolvedTitle`),message:n(`changes.actions.stageUnresolvedMessage`,{path:t,count:r}),persistent:!0,ok:{label:n(`changes.actions.stageUnresolvedOk`),flat:!0},cancel:{label:n(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{o(t,`/api/git/stage`,`changes.actions.stageError`)})}function c(e){return o(e,`/api/git/unstage`,`changes.actions.unstageError`)}function l(t){e.dialog({title:n(`changes.actions.discardConfirmTitle`),message:n(`changes.actions.discardConfirmMessage`,{path:t}),persistent:!0,ok:{label:n(`changes.actions.discardConfirmOk`),color:`negative`,flat:!0},cancel:{label:n(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{o(t,`/api/git/discard`,`changes.actions.discardError`)})}return{stage:s,unstage:c,discard:l}}var at={class:`file-list-item__path-row row no-wrap items-center`},ot=[`title`],st={class:`text-caption`},ct={class:`text-positive`},lt={class:`text-negative q-ml-xs`},ut=N(v({__name:`FileListItem`,props:{file:{},selected:{type:Boolean},source:{}},emits:[`click`],setup(e){let t={added:`A`,modified:`M`,deleted:`D`,renamed:`R`},n={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},r=e,{t:a}=U(),{stage:o,unstage:s,discard:c}=it(),u=Y(),f=O(()=>X(r.file)),p=O(()=>u.commentsByFile.get(f.value)?.length??0);return(r,u)=>l((d(),S(G,{clickable:``,dense:``,class:`file-list-item`,active:e.selected,"active-class":`file-list-item--selected`,onClick:u[3]||=e=>r.$emit(`click`)},{default:E(()=>[y(q,{avatar:``,class:`file-list-item__icon-section`},{default:E(()=>[g(`span`,{class:i([`text-caption text-weight-bold text-mono`,`text-${n[e.file.status]}`])},h(t[e.file.status]),3)]),_:1}),y(q,{class:`text-mono`},{default:E(()=>[g(`div`,at,[g(`span`,{class:`ellipsis file-list-item__path-label`,title:f.value},h(f.value),9,ot),p.value>0?(d(),S(Oe,{key:0,compact:``,class:`file-list-item__badge`,count:p.value},null,8,[`count`])):k(``,!0)])]),_:1}),y(q,{side:``,class:`file-list-item__stats`},{default:E(()=>[g(`span`,st,[g(`span`,ct,`+`+h(e.file.additions),1),g(`span`,lt,`-`+h(e.file.deletions),1)])]),_:1}),y(q,{side:``,class:`file-list-item__actions`},{default:E(()=>[e.source===`unstaged`?(d(),_(D,{key:0},[l(y(V,{flat:``,dense:``,round:``,size:`sm`,icon:`undo`,"aria-label":C(a)(`changes.actions.discard`),title:C(a)(`changes.actions.discard`),onClick:u[0]||=F(e=>C(c)(f.value),[`stop`])},null,8,[`aria-label`,`title`]),[[z]]),l(y(V,{flat:``,dense:``,round:``,size:`sm`,icon:`add`,"aria-label":C(a)(`changes.actions.stage`),title:C(a)(`changes.actions.stage`),onClick:u[1]||=F(e=>C(o)(f.value),[`stop`])},null,8,[`aria-label`,`title`]),[[z]])],64)):l((d(),S(V,{key:1,flat:``,dense:``,round:``,size:`sm`,icon:`remove`,"aria-label":C(a)(`changes.actions.unstage`),title:C(a)(`changes.actions.unstage`),onClick:u[2]||=F(e=>C(s)(f.value),[`stop`])},null,8,[`aria-label`,`title`])),[[z]])]),_:1})]),_:1},8,[`active`])),[[z]])}}),[[`__scopeId`,`data-v-2e9eab18`]]),dt=v({__name:`BrowseModeToggle`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=s(e,`modelValue`),{t:n}=U();return(e,r)=>(d(),S(G,null,{default:E(()=>[y(q,null,{default:E(()=>[y(ge,null,{default:E(()=>[w(h(C(n)(`browse.toggle`)),1)]),_:1})]),_:1}),y(q,{side:``},{default:E(()=>[y(ie,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,dense:``,size:`xs`},null,8,[`modelValue`])]),_:1})]),_:1}))}}),ft={class:`file-list-panel__header q-pa-sm`},pt={key:1,class:`text-subtitle2 q-mb-sm`},mt={key:0,class:`text-primary`},ht={key:0,class:`row justify-center q-pa-lg`},gt={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},_t={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},vt=32,yt=N(v({__name:`FileListPanel`,setup(e){let{t}=U(),{stagedFiles:n,unstagedFiles:r,initialLoading:i,error:o}=W(J()),s=Z(),{source:c,browseMode:l,filter:u,selectedPath:f,expandedFolders:m,treeInitialLoading:v,treeError:b,filteredDiffFiles:x,filteredTree:A,totalTreeFiles:j}=W(s),M=T(null),N=O(()=>M.value?.getScrollTarget()??null);return(e,T)=>(d(),_(D,null,[g(`div`,ft,[C(l)?(d(),_(`div`,pt,[w(h(C(t)(`browse.allFiles`))+` `,1),C(j)>0||!C(b)?(d(),_(`span`,mt,`(`+h(C(j))+`)`,1)):k(``,!0)])):(d(),S(Ze,{key:0,modelValue:C(c),"onUpdate:modelValue":T[0]||=e=>p(c)?c.value=e:null,"staged-files-length":C(n).length,"unstaged-files-length":C(r).length},null,8,[`modelValue`,`staged-files-length`,`unstaged-files-length`])),y(Re,{modelValue:C(u),"onUpdate:modelValue":T[1]||=e=>p(u)?u.value=e:null,placeholder:C(l)?C(t)(`browse.searchPlaceholder`):C(t)(`changes.filterPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),y(H),y(K,{ref_key:`scrollArea`,ref:M,class:`col file-list-panel__scroll`,"content-style":`padding: 4px 0`,"content-active-style":`padding: 4px 0`},{default:E(()=>[(C(l)?C(v):C(i))?(d(),_(`div`,ht,[y(B,{color:`primary`,size:`2em`})])):C(l)?(d(),_(D,{key:1},[C(A).length===0&&(!C(b)||C(u)&&C(j)>0)?(d(),_(`p`,gt,h(C(u)?C(t)(`browse.noMatchingFiles`):C(t)(`browse.noFiles`)),1)):k(``,!0),(d(!0),_(D,null,a(C(A),e=>(d(),S(rt,{key:e.path,node:e,"selected-path":C(f),"expanded-folders":C(m),level:0,onToggleFolder:C(s).toggleFolder,onFileSelect:C(s).selectFile},null,8,[`node`,`selected-path`,`expanded-folders`,`onToggleFolder`,`onFileSelect`]))),128))],64)):(d(),_(D,{key:2},[C(x).length===0&&(C(u)||!C(o))?(d(),_(`p`,_t,h(C(u)?C(t)(`browse.noMatchingFiles`):C(t)(`changes.emptyFileList`)),1)):k(``,!0),N.value?(d(),S(be,{key:C(c),"scroll-target":N.value,items:C(x),"virtual-scroll-item-size":vt},{default:E(({item:e})=>[(d(),S(ut,{key:C(X)(e),file:e,selected:C(f)===C(X)(e),source:C(c),onClick:t=>C(s).selectFile(C(X)(e))},null,8,[`file`,`selected`,`source`,`onClick`]))]),_:1},8,[`scroll-target`,`items`])):k(``,!0)],64))]),_:1},512),y(H),y(dt,{modelValue:C(l),"onUpdate:modelValue":T[2]||=e=>p(l)?l.value=e:null},null,8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-6daa93e0`]]),bt={class:`diff-status-bar row items-center q-gutter-x-md q-pa-sm text-body2`},xt={class:`text-weight-medium`},St={class:`text-positive`},Ct={class:`text-negative`},wt={key:0,class:`text-grey-6`},Tt={key:1,class:`text-grey-6`},Et={key:2,class:`text-grey-6`},Dt={key:3,class:`text-grey-6`},Ot=v({__name:`DiffStatusBar`,props:{files:{}},emits:[`expand-all`,`collapse-all`],setup(t,{emit:n}){let r=t,i=n,{t:a}=U(),o=O(()=>{let e=r.files.reduce((e,t)=>e+t.additions,0),t=r.files.reduce((e,t)=>e+t.deletions,0),n=r.files.filter(e=>e.status===`added`).length,i=r.files.filter(e=>e.status===`modified`).length,a=r.files.filter(e=>e.status===`deleted`).length,o=r.files.filter(e=>e.status===`renamed`).length;return{total:r.files.length,additions:e,deletions:t,added:n,modified:i,deleted:a,renamed:o}});return(t,n)=>(d(),_(`div`,bt,[g(`span`,xt,h(C(a)(`changes.filesChanged`,{count:o.value.total})),1),g(`span`,St,` +`+h(o.value.additions)+` `+h(C(a)(`changes.additions`)),1),g(`span`,Ct,` -`+h(o.value.deletions)+` `+h(C(a)(`changes.deletions`)),1),o.value.added?(d(),_(`span`,wt,h(o.value.added)+` `+h(C(a)(`changes.added`)),1)):k(``,!0),o.value.modified?(d(),_(`span`,Tt,h(o.value.modified)+` `+h(C(a)(`changes.modified`)),1)):k(``,!0),o.value.deleted?(d(),_(`span`,Et,h(o.value.deleted)+` `+h(C(a)(`changes.deletedPlural`)),1)):k(``,!0),o.value.renamed?(d(),_(`span`,Dt,h(o.value.renamed)+` `+h(C(a)(`changes.renamed`)),1)):k(``,!0),y(e),y(V,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_more`,label:C(a)(`changes.expandAll`),onClick:n[0]||=e=>i(`expand-all`)},null,8,[`label`]),y(V,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_less`,label:C(a)(`changes.collapseAll`),onClick:n[1]||=e=>i(`collapse-all`)},null,8,[`label`])]))}}),kt=v({__name:`ChangesFileCard`,props:{file:{}},setup(e){let t=e,n=Z(),r=J(),i=Y(),{expandedFiles:a}=W(n),{activeReview:o,commentsByFile:s}=W(i),c=O(()=>X(t.file)),l=O(()=>Ce(n.source,c.value)),u=O(()=>r.hunksOf(n.source,t.file)),f=O(()=>r.hunksFresh(n.source,t.file)),p=O(()=>r.hunksError(n.source,t.file)),m=O(()=>a.value.has(c.value)),h=O(()=>s.value.get(c.value)),g=O(()=>!!o.value);function _(){r.ensureHunks(n.source,t.file)}function v(){r.retryHunks(n.source,t.file)}return(t,i)=>(d(),S(je,{file:e.file,"state-key":l.value,detail:u.value,"hunks-loaded":f.value,"hunks-error":p.value,expanded:m.value,"agent-source":C(n).source,commentable:g.value,"comments-editable":g.value,comments:h.value,onLoadHunks:_,onRetryHunks:v,onClearHunksError:i[0]||=t=>C(r).clearHunksError(C(n).source,e.file),onToggle:i[1]||=e=>C(n).handleCardToggle(c.value),onExpand:i[2]||=e=>C(n).expandFile(c.value)},null,8,[`file`,`state-key`,`detail`,`hunks-loaded`,`hunks-error`,`expanded`,`agent-source`,`commentable`,`comments-editable`,`comments`]))}}),At={key:0,class:`active-review-bar row items-center q-gutter-x-sm q-px-sm no-wrap`},jt={class:`text-body2 ellipsis`},Mt=N(v({__name:`ActiveReviewBar`,setup(r){let{t:i}=U(),a=t(),o=Y(),{activeReview:s}=W(o),c=fe(),l=Me();function u(e){o.setStatus(e).catch(e=>{a(i(`reviews.comments.error`),e)})}return(t,r)=>C(s)?(d(),_(`div`,At,[y(L,{name:`rate_review`,size:`18px`,color:`primary`}),g(`span`,jt,h(C(s).name??C(i)(`reviews.list.unnamed`)),1),y(e),C(c).enabled?(d(),S(V,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,icon:C(n),label:C(i)(`agent.context.addReview`),onClick:r[0]||=e=>C(l)({kind:`review`,reviewId:C(s).id})},null,8,[`icon`,`label`])):k(``,!0),y(Ie,{status:C(s).status,onChange:u},null,8,[`status`])])):k(``,!0)}}),[[`__scopeId`,`data-v-2b6e4bdd`]]),Nt={key:1,class:`q-pa-md text-grey-6`},Pt=46,Ft=12,It=1.5,Lt=2,Rt=20,zt=N(v({__name:`DiffPanel`,setup(e){let{t}=U(),n=Z(),{diffFiles:r}=W(n),{error:i,loading:a}=W(J()),s=Y(),{activeReview:c}=W(s);Le({create:e=>s.createComment(e),edit:(e,t)=>s.editComment(e,t),remove:e=>s.deleteComment(e),resolve:e=>s.resolveComment(e),unresolve:e=>s.unresolveComment(e)});let l=T(null),u=O(()=>l.value?.getScrollTarget()??null);f(De,()=>u.value);let p=T(null);function m(){let e=p.value;return e?Promise.resolve(e):new Promise(e=>{let t=o(p,n=>{n&&(t(),e(n))})})}return o(()=>n.layoutVersion,async()=>{await A(),p.value?.reset()}),o(r,async(e,t)=>{e.length===t.length&&e.every((e,n)=>X(e)===X(t[n]))||(await A(),p.value?.reset())}),o(()=>n.scrollRequest,async e=>{if(!e)return;let t=await m();if(await A(),n.scrollRequest===e){t.scrollTo(e.index,`start`);for(let t=0;t<Rt;t++){await new Promise(e=>requestAnimationFrame(e));let t=document.getElementById(`diff-file-${e.path}`);if(t){t.scrollIntoView({block:`nearest`});return}}}}),(e,o)=>(d(),_(D,null,[C(i)?(d(),S(Ee,{key:0,title:C(t)(`changes.loadError`),message:C(i),loading:C(a),onRetry:o[0]||=e=>C(n).refresh()},null,8,[`title`,`message`,`loading`])):k(``,!0),C(r).length===0&&!C(i)?(d(),_(`div`,Nt,h(C(t)(`changes.emptyDiffPanel`)),1)):C(r).length>0?(d(),_(D,{key:2},[y(Mt),C(c)?(d(),S(H,{key:0})):k(``,!0),y(Ot,{files:C(r),onExpandAll:C(n).expandAllFiles,onCollapseAll:C(n).collapseAllFiles},null,8,[`files`,`onExpandAll`,`onCollapseAll`]),y(H),y(K,{ref_key:`scrollArea`,ref:l,class:`col`,"content-style":`padding: 8px; width: 100%; max-width: 100%`,"content-active-style":`padding: 8px; width: 100%; max-width: 100%`},{default:E(()=>[u.value?(d(),S(be,{key:C(n).source,ref_key:`virtualScroll`,ref:p,"scroll-target":u.value,items:C(r),"virtual-scroll-item-size":Pt,"virtual-scroll-slice-size":Ft,"virtual-scroll-slice-ratio-before":It,"virtual-scroll-slice-ratio-after":Lt},{default:E(({item:e})=>[(d(),_(`div`,{key:C(X)(e),class:`diff-virtual-slot`},[y(kt,{file:e},null,8,[`file`])]))]),_:1},8,[`scroll-target`,`items`])):k(``,!0)]),_:1},512)],64)):k(``,!0),!C(c)&&C(r).length>0?(d(),S(ze,{key:3})):k(``,!0)],64))}}),[[`__scopeId`,`data-v-edff3c16`]]),Bt={key:1,class:`q-pa-md text-grey-6`},Vt={key:0,class:`row justify-center q-pa-lg`},Ht={key:1,class:`q-pa-md text-grey-6`},Ut={class:`text-caption`},Wt={key:2,class:`q-pa-md text-grey-6`},Gt=v({__name:`FileContentPanel`,setup(e){let{t}=U(),n=Z(),{selectedPath:r,browseFileLines:i,browseFileIsBinary:a,browseFileLoading:s,browseFileError:c,treeError:l,refreshing:u}=W(n),{error:f}=W(J()),p=O(()=>f.value?{title:t(`changes.loadError`),message:f.value}:l.value?{title:t(`browse.treeLoadError`),message:l.value}:null),m=T(!1);return o(r,e=>{m.value=e?Pe(e):!1},{immediate:!0}),(e,o)=>(d(),_(D,null,[p.value?(d(),S(Ee,{key:0,title:p.value.title,message:p.value.message,loading:C(u),onRetry:o[0]||=e=>C(n).refresh()},null,8,[`title`,`message`,`loading`])):k(``,!0),C(r)?(d(),S(ke,{key:2,class:`col`},{header:E(()=>[y(Fe,{path:C(r)},{default:E(()=>[y(Te,{modelValue:m.value,"onUpdate:modelValue":o[1]||=e=>m.value=e,path:C(r)},null,8,[`modelValue`,`path`])]),_:1},8,[`path`])]),default:E(()=>[C(s)&&C(i).length===0&&!C(c)?(d(),_(`div`,Vt,[y(B,{color:`primary`,size:`2em`})])):C(c)?(d(),_(`div`,Ht,[w(h(C(t)(`changes.fullFileLoadError`))+` `,1),g(`div`,Ut,h(C(c)),1),y(V,{flat:``,dense:``,color:`primary`,class:`q-mt-sm`,label:C(t)(`changes.retry`),loading:C(u),onClick:o[2]||=e=>C(n).refresh()},null,8,[`label`,`loading`])])):C(a)?(d(),_(`div`,Wt,h(C(t)(`changes.binaryFile`)),1)):(d(),S(K,{key:3,class:`col`,"content-style":`padding: 8px`,"content-active-style":`padding: 8px`},{default:E(()=>[y(Ae,{path:C(r),lines:C(i),wrap:m.value},null,8,[`path`,`lines`,`wrap`])]),_:1}))]),_:1})):(d(),_(`div`,Bt,h(C(t)(`browse.selectFile`)),1))],64))}}),Kt=v({__name:`FileExplorer`,setup(e){let t=Z(),n=Y(),{browseMode:i}=W(t);r(()=>{t.refresh(),n.refresh()});let a=le([`files:changed`],()=>void t.refreshFromServerEvent());x(()=>a.close());let o=le([`review:created`,`review:updated`,`review:deleted`,`comment:created`,`comment:updated`,`comment:deleted`],()=>void n.refresh());return x(()=>o.close()),(e,t)=>(d(),S(Je,null,{panel:E(()=>[y(yt)]),content:E(()=>[C(i)?(d(),S(Gt,{key:0})):(d(),S(zt,{key:1}))]),_:1}))}}),qt=v({__name:`IndexPage`,setup(e){return(e,t)=>(d(),S(we,null,{default:E(()=>[y(Kt)]),_:1}))}});export{qt as default};
@@ -1,7 +0,0 @@
1
- import{a as e,c as t,i as n,l as r,n as i,r as a,u as o}from"./agent-icon-C1oimBWa.js";import{A as s,Ct as c,D as l,F as u,G as d,H as f,J as p,L as m,N as h,P as g,Q as _,S as v,T as y,Tt as b,U as x,V as S,_ as C,c as w,ct as T,d as E,g as D,h as O,i as k,it as A,j as ee,k as te,l as j,lt as M,m as N,nt as P,ot as ne,p as F,q as I,r as L,rt as re,s as R,tt as ie,u as z,w as ae,wt as oe,x as se,y as B}from"./runtime-core.esm-bundler-CUpq88z7.js";import{A as ce,D as V,E as H,H as le,N as ue,O as U,R as de,S as fe,T as pe,U as me,V as he,_ as ge,c as _e,d as W,h as ve,j as ye,l as be,o as G,r as K,s as xe,t as q,u as Se,v as Ce}from"./QBtn-BDbJU6_B.js";import{u as we}from"./event-rR76ioXz.js";import{s as J}from"./is-BB7rJzdU.js";import{t as Y}from"./create-BkZH2Q0U.js";import{A as Te,D as Ee,E as De,J as Oe,K as ke,N as Ae,O as je,Q as Me,Z as Ne,_ as Pe,d as Fe,f as Ie,g as Le,h as Re,k as ze,m as Be,n as Ve,p as He,q as Ue,v as We,y as Ge,z as Ke}from"./index-CuqF4_ks.js";import{n as X}from"./vue-i18n.runtime-D0pkhc7g.js";import{r as qe}from"./pinia-DmTi2T44.js";import{s as Je}from"./single-flight-r8B7stt1.js";import{n as Ye,t as Xe}from"./app-info-store-xZiQfdgO.js";import{n as Ze,t as Z}from"./agent-store-D1WRRYIE.js";import{t as Qe}from"./safe-storage-CqQMHcn7.js";import{n as $e}from"./use-app-theme-DEiGbVuj.js";import{b as et,d as Q,f as tt,g as nt,h as rt,m as it,p as $,t as at,u as ot,v as st,x as ct}from"./QMenu-QYPSkHBE.js";import{t as lt}from"./export-file-Di_2jvjP.js";import{n as ut,t as dt}from"./QSelect-D4U0Of4k.js";import{r as ft}from"./use-virtual-scroll-BVHTKnoC.js";import{a as pt,i as mt,o as ht,r as gt}from"./use-panel-width-ujFPWf-l.js";var _t=e=>e.trim().toLowerCase();function vt(e,t){let n=new Set(t.map(_t)),r=e.trim();if(!n.has(_t(r)))return r;for(let e=1;;e++){let t=`${r} (${e})`;if(!n.has(_t(t)))return t}}var yt=Y({name:`QPageContainer`,setup(e,{slots:t}){let n=H(),r=se(ye,U);if(r===U)return console.error(`QPageContainer needs to be child of QLayout`),U;g(ue,!0);let i=R(()=>{let e={};return r.header.space&&(e.paddingTop=`${r.header.size}px`),r.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${r.right.size}px`),r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),r.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${r.left.size}px`),e});return()=>B(`div`,{class:`q-page-container`,style:i.value},ge(t.default))}}),bt=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,xt=Y({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>bt.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:n}){let r=H(),i=A(null),a=P(r.screen.height),o=P(e.container?0:r.screen.width),s=P({position:0,direction:`down`,inflectionPoint:0}),c=P(0),l=P(J.value?0:Ae()),u=R(()=>`q-layout q-layout--`+(e.container?`containerized`:`standard`)),f=R(()=>e.container?null:{minHeight:r.screen.height+`px`}),p=R(()=>l.value===0?null:{[r.lang.rtl?`left`:`right`]:`${l.value}px`}),m=R(()=>l.value===0?null:{[r.lang.rtl?`right`:`left`]:0,[r.lang.rtl?`left`:`right`]:`-${l.value}px`,width:`calc(100% + ${l.value}px)`}),h=null;function _(t){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};e.container||!document.qScrollPrevented?(h=null,v(n)):h=n}function v(t){s.value=t,e.onScroll!==void 0&&n(`scroll`,t)}function y(t){let{height:r,width:i}=t,s=!1;a.value!==r&&(s=!0,a.value=r,e.onScrollHeight!==void 0&&n(`scrollHeight`,r),x()),o.value!==i&&(s=!0,o.value=i),s&&e.onResize!==void 0&&n(`resize`,t)}function b({height:e}){c.value!==e&&(c.value=e,x())}function x(){if(e.container){let e=a.value>c.value?Ae():0;l.value!==e&&(l.value=e)}}let S=null,C={instances:{},view:R(()=>e.view),isContainer:R(()=>e.container),rootRef:i,height:a,containerHeight:c,scrollbarWidth:l,totalWidth:R(()=>e.container?o.value+l.value:r.screen.width),rows:R(()=>{let t=e.view.toLowerCase().split(` `);return{top:[...t[0]],middle:[...t[1]],bottom:[...t[2]]}}),header:ie({size:0,offset:0,space:!1}),right:ie({size:300,offset:0,space:!1}),footer:ie({size:0,offset:0,space:!1}),left:ie({size:300,offset:0,space:!1}),scroll:s,animate(){S===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(S),S=setTimeout(()=>{S=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){C[e][t]=n}};g(ye,C);{let e=()=>{if(h!==null){let e=h;h=null,v(e)}};ze(e),ee(()=>{Te(e)})}if(Ae()>0){let t=null,n=document.documentElement,i=()=>{t=null,n.classList.remove(`hide-scrollbar`)},a=()=>{if(t===null){if(n.scrollHeight>r.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(i,300)},o=e=>{t!==null&&e===`remove`&&(clearTimeout(t),i()),window[`${e}EventListener`](`resize`,a)};d(()=>e.container?`remove`:`add`,o),e.container||o(`add`),ee(()=>{o(`remove`)})}return()=>{let n=ve(t.default,[B(ct,{onScroll:_}),B(et,{onResize:y})]),r=B(`div`,{class:u.value,style:f.value,ref:e.container?void 0:i,tabindex:-1},n);return e.container?B(`div`,{class:`q-layout-container overflow-hidden`,ref:i},[B(et,{onResize:b}),B(`div`,{class:`absolute-full`,style:p.value},[B(`div`,{class:`scroll`,style:m.value},[r])])]):r}}}),St=1023,Ct=`githuman.navDrawerOpen`;function wt(e){return e>St}function Tt(){return Qe.get(Ct)!==`closed`}function Et(e){Qe.set(Ct,e?`open`:`closed`)}function Dt(e,t){let n=wt(e);return{desktop:n,desktopOpen:t,visible:n&&t}}function Ot(e,t){let n=wt(t);return n===e.desktop?e:{...e,desktop:n,visible:n&&e.desktopOpen}}function kt(e){let t=!e.visible;return{...e,visible:t,desktopOpen:e.desktop?t:e.desktopOpen}}function At(){let e=H(),t=P(Dt(e.screen.width,Tt())),n=R({get:()=>t.value.visible,set:e=>{t.value={...t.value,visible:e}}});function r(){t.value=kt(t.value),t.value.desktop&&Et(t.value.desktopOpen)}async function i(e){let n=Ot(t.value,e.width);n!==t.value&&(t.value=n,await ae(),t.value.desktop===n.desktop&&(t.value={...t.value,visible:n.visible}))}return{open:n,toggle:r,onResize:i}}var jt=150;function Mt(e,t){e.value!==t&&(e.value=t)}var Nt=Y({name:`QDrawer`,inheritAttrs:!1,props:{...Oe,...We,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Ue,`onLayout`,`miniState`,`escapeKey`],setup(e,{slots:t,emit:n,attrs:r}){let i=C(),a=H(),o=Pe(e,a),{preventBodyScroll:c}=je(),{registerTimeout:u,removeTimeout:f}=Ne(),m=se(ye,U);if(m===U)return console.error(`QDrawer needs to be child of QLayout`),U;let h,g=null,_,v=P(e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint),y=R(()=>e.mini&&!v.value),b=R(()=>y.value?e.miniWidth:e.width),x=R(()=>e.overlay||e.miniToOverlay||m.view.value.includes(F.value?`R`:`L`)||a.platform.is.ios&&m.isContainer.value),S=P(e.showIfAbove&&!v.value||e.modelValue===!0),w=R(()=>!e.overlay&&S.value&&!v.value),T=R(()=>e.overlay&&S.value&&!v.value),E=R(()=>!e.persistent&&(v.value||T.value));function D(e,t){if(ee(),e!==!1&&m.animate(),G(0),v.value){let e=m.instances[oe.value];e?.belowBreakpoint.value&&e.hide(!1),K(1),m.isContainer.value||c(!0)}else K(0),e!==!1&&xe(!1);u(()=>{e!==!1&&xe(!0),t||n(`show`,e)},jt)}function O(e,t){te(),e!==!1&&m.animate(),K(0),G(I.value*b.value),we(),t?f():u(()=>{n(`hide`,e)},jt)}let{show:k,hide:A}=ke({showing:S,hideOnRouteChange:E,handleShow:D,handleHide:O}),{addToHistory:ee,removeFromHistory:te}=Me(S,A,E),j=R(()=>S.value&&E.value);function M(e){n(`escapeKey`),A(e)}function N(e){e?De(M):Ee(M)}let ne={belowBreakpoint:v,hide:A},F=R(()=>e.side===`right`),I=R(()=>(a.lang.rtl?-1:1)*(F.value?1:-1)),L=P(0),re=P(!1),ie=P(!1),z=P(b.value*I.value),oe=R(()=>F.value?`left`:`right`),ce=R(()=>S.value&&!v.value&&!e.overlay?e.miniToOverlay?e.miniWidth:b.value:0),V=R(()=>`fullscreen q-drawer__backdrop`+(!S.value&&!re.value?` hidden`:``)),le=R(()=>({backgroundColor:`rgba(0,0,0,${L.value*.4})`})),ue=R(()=>F.value?m.rows.value.top[2]===`r`:m.rows.value.top[0]===`l`),de=R(()=>F.value?m.rows.value.bottom[2]===`r`:m.rows.value.bottom[0]===`l`),fe=R(()=>{let e={};return m.header.space&&!ue.value&&(x.value?e.top=`${m.header.offset}px`:m.header.space&&(e.top=`${m.header.size}px`)),m.footer.space&&!de.value&&(x.value?e.bottom=`${m.footer.offset}px`:m.footer.space&&(e.bottom=`${m.footer.size}px`)),e}),pe=R(()=>{let e={width:`${b.value}px`,transform:`translateX(${z.value}px)`};return v.value?e:Object.assign(e,fe.value)}),me=R(()=>`q-drawer__content fit `+(m.isContainer.value?`overflow-auto`:`scroll`)),he=R(()=>`q-drawer q-drawer--${e.side}`+(ie.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(o()?` q-drawer--dark q-dark`:``)+(re.value?` no-transition`:S.value?``:` q-layout--prevent-focus`)+(v.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${y.value?`mini`:`standard`}`+(x.value||!w.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(ue.value?` q-drawer--top-padding`:``))),_e=R(()=>{let t=a.lang.rtl?e.side:oe.value;return[[st,Se,void 0,{[t]:!0,mouse:!0}]]}),W=R(()=>{let t=a.lang.rtl?oe.value:e.side;return[[st,v.value&&!e.noSwipeClose?Ce:void 0,void 0,{[t]:!0,mouse:!0}]]}),ve=R(()=>{let t=a.lang.rtl?oe.value:e.side;return[[st,S.value&&!e.noSwipeBackdrop?Ce:void 0,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function be(){Mt(v,e.behavior===`mobile`||e.behavior!==`desktop`&&m.totalWidth.value<=e.breakpoint)}d(v,t=>{t?(h=S.value,S.value&&A(!1)):S.value?(G(0),K(0),we()):!e.overlay&&e.behavior!==`mobile`&&h!==!1&&k(!1)}),d(()=>e.side,(e,t)=>{m.instances[t]===ne&&(m.instances[t]=void 0,m[t].space=!1,m[t].offset=0),m.instances[e]=ne,m[e].size=b.value,m[e].space=w.value,m[e].offset=ce.value}),d(m.totalWidth,()=>{(m.isContainer.value||!document.qScrollPrevented)&&be()}),d(()=>e.behavior+e.breakpoint,be),d(m.isContainer,e=>{S.value&&c(!e),e&&be()}),d(m.scrollbarWidth,()=>{G(S.value?0:void 0)}),d(ce,e=>{J(`offset`,e)}),d(w,e=>{n(`onLayout`,e),J(`space`,e)}),d(F,()=>{G()}),d(b,t=>{G(),Y(e.miniToOverlay,t)}),d(()=>e.miniToOverlay,e=>{Y(e,b.value)}),d(()=>a.lang.rtl,()=>{G()}),d(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(q(),m.animate())}),d(y,e=>{n(`miniState`,e)});function G(e){e===void 0?ae(()=>{e=S.value?0:b.value,G(I.value*e)}):(m.isContainer.value&&F.value&&(v.value||Math.abs(e)===b.value)&&(e+=I.value*m.scrollbarWidth.value),z.value=e)}function K(e){L.value=e}function xe(e){let t=e?`remove`:m.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function q(){g!==null&&clearTimeout(g),i.proxy&&i.proxy.$el&&i.proxy.$el.classList.add(`q-drawer--mini-animate`),ie.value=!0,g=setTimeout(()=>{g=null,ie.value=!1,i?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Se(e){if(S.value)return;let t=b.value,n=nt(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?k():(m.animate(),K(0),G(I.value*t)),re.value=!1;return}G((a.lang.rtl?!F.value:F.value)?Math.max(t-n,0):Math.min(0,n-t)),K(nt(n/t,0,1)),e.isFirst&&(re.value=!0)}function Ce(t){if(!S.value)return;let n=b.value,r=t.direction===e.side,i=(a.lang.rtl?!r:r)?nt(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(m.animate(),K(1),G(0)):A(),re.value=!1;return}G(I.value*i),K(nt(1-i/n,0,1)),t.isFirst&&(re.value=!0)}function we(){c(!1),xe(!0)}function J(t,n){m.update(e.side,t,n)}function Y(t,n){J(`size`,t?e.miniWidth:n)}return m.instances[e.side]=ne,Y(e.miniToOverlay,b.value),J(`space`,w.value),J(`offset`,ce.value),e.showIfAbove&&!e.modelValue&&S.value&&e[`onUpdate:modelValue`]!==void 0&&n(`update:modelValue`,!0),s(()=>{n(`onLayout`,w.value),n(`miniState`,y.value),d(j,N,{immediate:!0}),h=e.showIfAbove;let t=()=>{(S.value?D:O)(!1,!0)};if(m.totalWidth.value!==0){ae(t);return}_=d(m.totalWidth,()=>{_(),_=void 0,!S.value&&e.showIfAbove&&!v.value?k(!1):t()})}),l(()=>{_?.(),Ee(M),g!==null&&(clearTimeout(g),g=null),S.value&&we(),m.instances[e.side]===ne&&(m.instances[e.side]=void 0,J(`size`,0),J(`offset`,0),J(`space`,!1))}),()=>{let n=[];v.value&&(e.noSwipeOpen||n.push(p(B(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),_e.value)),n.push(p(B(`div`,{ref:`backdrop`,class:V.value,style:le.value,"aria-hidden":`true`,onClick:A}),ve.value)));let i={},a={};for(let e in r)e===`role`||e.startsWith(`aria-`)?i[e]=r[e]:a[e]=r[e];let o=y.value&&t.mini!==void 0,s=[B(`div`,{...a,key:String(o),class:[me.value,r.class]},o?t.mini():ge(t.default))];return e.elevated&&S.value&&s.push(B(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(p(B(`aside`,{ref:`content`,class:he.value,style:pe.value,...i},s),W.value)),B(`div`,{class:`q-drawer-container`},n)}}}),Pt=`<circle cx="15" cy="15" r="15"></circle><circle cx="60" cy="15" r="9" fill-opacity=".3" style="animation-delay:-.4s"></circle><circle cx="105" cy="15" r="15"></circle>`,Ft=Y({name:`QSpinnerDots`,props:Se,setup(e){return()=>{let t=be(e.size);return B(`svg`,{class:_e(e.color,`dots`),fill:`currentColor`,width:t,height:t,viewBox:`0 0 120 30`,xmlns:`http://www.w3.org/2000/svg`,innerHTML:Pt})}}}),It=Y({name:`QChatMessage`,props:{sent:Boolean,label:String,bgColor:String,textColor:String,name:String,avatar:String,text:Array,stamp:String,size:String,labelHtml:Boolean,nameHtml:Boolean,textHtml:Boolean,stampHtml:Boolean},setup(e,{slots:t}){function n(n){return t.stamp===void 0?e.stamp?[n,B(`div`,{class:`q-message-stamp`,[e.stampHtml?`innerHTML`:`textContent`]:e.stamp})]:[n]:[n,B(`div`,{class:`q-message-stamp`},t.stamp())]}function r(t,r,i){let a=`q-message-text q-message-text--${i}`+(e.bgColor===void 0?``:` text-${e.bgColor}`),o=`q-message-text-content q-message-text-content--${i}`+(e.textColor===void 0?``:` text-${e.textColor}`),s=r?t.length>1?e=>e:e=>B(`div`,[e]):t=>B(`div`,{[e.textHtml?`innerHTML`:`textContent`]:t});return t.map((e,t)=>B(`div`,{key:t,class:a},[B(`div`,{class:o},n(s(e)))]))}return()=>{let n=e.sent?`sent`:`received`,i=[];t.avatar===void 0?e.avatar!==void 0&&i.push(B(`img`,{class:`q-message-avatar q-message-avatar--${n}`,src:e.avatar,"aria-hidden":`true`})):i.push(t.avatar());let a=[];t.name===void 0?e.name!==void 0&&a.push(B(`div`,{class:`q-message-name q-message-name--${n}`,[e.nameHtml?`innerHTML`:`textContent`]:e.name})):a.push(B(`div`,{class:`q-message-name q-message-name--${n}`},t.name())),t.default===void 0?e.text!==void 0&&a.push(r(e.text,!1,n)):a.push(r(fe(t.default()),!0,n)),i.push(B(`div`,{class:e.size===void 0?``:`col-${e.size}`},a));let o=[];return t.label===void 0?e.label!==void 0&&o.push(B(`div`,{class:`q-message-label`,[e.labelHtml?`innerHTML`:`textContent`]:e.label})):o.push(B(`div`,{class:`q-message-label`},t.label())),o.push(B(`div`,{class:`q-message-container row items-end no-wrap`+(e.sent?` reverse`:``)},i)),B(`div`,{class:`q-message q-message-${n}`},o)}}}),Lt={ratio:[String,Number]};function Rt(e,t){return R(()=>{let n=e.ratio||t?.value;if(typeof n==`string`&&n.trim()===``)return null;let r=Number(n);return Number.isFinite(r)&&r>0?{paddingBottom:`${100/r}%`}:null})}var zt=1.7778;function Bt(e){return e.naturalHeight===0?.5:e.naturalWidth/e.naturalHeight}var Vt=Y({name:`QImg`,props:{...Lt,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:`lazy`},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:`auto`},width:String,height:String,initialRatio:{type:[Number,String],default:zt},placeholderSrc:String,errorSrc:String,fit:{type:String,default:`cover`},position:{type:String,default:`50% 50%`},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:[`load`,`error`],setup(e,{slots:t,emit:n}){let r=P(e.initialRatio),i=Rt(e,r),a=C(),{registerTimeout:o,removeTimeout:c}=Ne(),{registerTimeout:l,removeTimeout:u}=Ne(),f=R(()=>e.placeholderSrc===void 0?null:{src:e.placeholderSrc}),p=R(()=>e.errorSrc===void 0?null:{src:e.errorSrc,__qerror:!0}),m=[P(null),P(f.value)],h=P(0),g=P(!1),_=P(!1),v=null,y=R(()=>`q-img q-img--${e.noNativeMenu?`no-`:``}menu`),b=R(()=>({width:e.width,height:e.height})),x=R(()=>`q-img__image ${e.imgClass===void 0?``:e.imgClass+` `}q-img__image--with${e.noTransition?`out`:``}-transition q-img__image--`),S=R(()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position}));function w(){if(u(),e.loadingShowDelay===0){g.value=!0;return}l(()=>{g.value=!0},e.loadingShowDelay)}function T(){u(),g.value=!1}function E({target:e}){pe(a)||(c(),r.value=Bt(e),v!==null&&cancelAnimationFrame(v),v=requestAnimationFrame(()=>{v=requestAnimationFrame(()=>{if(v=null,pe(a))return;let t=Bt(e);Math.abs(t-r.value)>r.value/100&&(r.value=t)})}),D(e,1))}function D(e,t){t===1e3||pe(a)||(e.complete?O(e):o(()=>{D(e,t+1)},50))}function O(e){pe(a)||(h.value^=1,m[h.value].value=null,T(),e.getAttribute(`__qerror`)!==`true`&&(_.value=!1),n(`load`,e.currentSrc||e.src))}function k(e){c(),T(),_.value=!0,m[h.value].value=p.value,m[h.value^1].value=f.value,n(`error`,e)}function A(t){let n=m[t].value,r={key:`img_`+t,class:x.value,style:S.value,alt:e.alt===void 0?``:e.alt,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":`true`,draggable:e.draggable,...n};return h.value===t?Object.assign(r,{class:r.class+`current`,onLoad:E,onError:k}):r.class+=`loaded`,B(`div`,{class:`q-img__container absolute-full`,key:`img`+t},B(`img`,r))}function ee(){return g.value?B(`div`,{key:`loading`,class:`q-img__loading absolute-full flex flex-center`},t.loading===void 0?e.noSpinner?void 0:[B(xe,{color:e.spinnerColor,size:e.spinnerSize})]:t.loading()):B(`div`,{key:`content`,class:`q-img__content absolute-full q-anchor--skip`},ge(t[_.value?`error`:`default`]))}{let t=()=>{d(()=>e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null,e=>{c(),_.value=!1,e===null?(T(),m[h.value^1].value=f.value):w(),m[h.value].value=e},{immediate:!0})};J.value?s(t):t()}return()=>{let t=[];return i.value!==null&&t.push(B(`div`,{key:`filler`,style:i.value})),m[0].value!==null&&t.push(A(0)),m[1].value!==null&&t.push(A(1)),t.push(B(de,{name:`q-transition--fade`},ee)),B(`div`,{key:`main`,class:y.value,style:b.value,...e.alt?{role:`img`,"aria-label":e.alt}:{}},t)}}}),Ht=class extends Error{};function Ut(e){return e.kind===`attachment`&&e.mimeType.startsWith(`image/`)}function Wt(e){return`data:${e.mimeType};base64,${e.data}`}function Gt(e){let t=atob(e.data),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Kt(e){lt(e.name,Gt(e),e.mimeType)}function qt(e){return new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(typeof r.result==`string`?r.result:``)),r.addEventListener(`error`,()=>n(r.error)),r.readAsDataURL(e)})}async function Jt(e){if(e.size>10485760)throw new Ht(e.name);let t=await qt(e),n=e.type||`application/octet-stream`;return{kind:`attachment`,name:e.name||`pasted.${n.split(`/`)[1]??`bin`}`,mimeType:n,data:t.slice(t.indexOf(`,`)+1)}}function Yt(e){return e?[...e.items].filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>e!==null):[]}function Xt(e,t){if(e.kind===`file`)return t(`agent.context.file`,{path:e.path});if(e.kind===`review`)return t(`agent.context.review`);if(e.kind===`attachment`)return t(`agent.context.attachment`,{name:e.name});let n=t(`agent.source.${e.source}`);return e.path===void 0?t(`agent.context.diff`,{source:n}):t(`agent.context.diffFile`,{source:n,path:e.path})}var Zt=D({__name:`AgentContextChip`,props:{item:{},removable:{type:Boolean},downloadable:{type:Boolean}},emits:[`remove`,`download`],setup(e,{emit:t}){let n=e,r=t,{t:i}=X(),a=R(()=>Xt(n.item,i)),o=R(()=>n.downloadable&&n.item.kind===`attachment`);return(t,n)=>(h(),j(ut,{dense:``,square:``,size:`sm`,removable:e.removable,clickable:o.value,icon:o.value?`download`:void 0,label:a.value,onRemove:n[0]||=e=>r(`remove`),onClick:n[1]||=e=>o.value&&r(`download`)},null,8,[`removable`,`clickable`,`icon`,`label`]))}}),Qt=[`src`,`alt`],$t=V(D({__name:`ImagePreviewDialog`,props:v({src:{},title:{},alt:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=f(e,`modelValue`);return(r,i)=>(h(),j(t,{modelValue:n.value,"onUpdate:modelValue":i[0]||=e=>n.value=e,title:e.title},{default:I(()=>[e.src?(h(),E(`img`,{key:0,class:`image-preview`,src:e.src,alt:e.alt},null,8,Qt)):z(``,!0)]),_:1},8,[`modelValue`,`title`]))}}),[[`__scopeId`,`data-v-fd1c633c`]]),en={key:0,class:`row q-gutter-xs q-mt-xs`},tn=[`aria-label`,`onClick`,`onKeydown`],nn={key:1,class:`row q-gutter-xs q-mt-xs`},rn=V(D({__name:`AgentMessageAttachments`,props:{context:{}},setup(e){let t=e,{t:n}=X(),r=H(),i=A(null),a=R({get:()=>i.value!==null,set:e=>{e||(i.value=null)}});function o(e){e.kind===`attachment`&&r.dialog({title:n(`agent.attach.downloadTitle`),message:n(`agent.attach.downloadMessage`,{name:e.name}),ok:{label:n(`agent.attach.download`),flat:!0,noCaps:!0},cancel:{label:n(`agent.newChat.cancel`),flat:!0,noCaps:!0}}).onOk(()=>{Kt(e)})}let s=R(()=>t.context.filter(Ut)),c=R(()=>t.context.filter(e=>!Ut(e)));return(e,t)=>(h(),E(`div`,null,[s.value.length>0?(h(),E(`div`,en,[(h(!0),E(L,null,u(s.value,(e,t)=>(h(),E(`div`,{key:t,class:`agent-item__thumb`,role:`button`,tabindex:`0`,"aria-label":e.name,onClick:t=>i.value=e,onKeydown:le(t=>i.value=e,[`enter`])},[O(Vt,{src:M(Wt)(e),alt:e.name,fit:`cover`,class:`fit rounded-borders`},null,8,[`src`,`alt`])],40,tn))),128))])):z(``,!0),O($t,{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,title:i.value?.name??``,alt:i.value?.name??``,src:i.value?M(Wt)(i.value):``},null,8,[`modelValue`,`title`,`alt`,`src`]),c.value.length>0?(h(),E(`div`,nn,[(h(!0),E(L,null,u(c.value,(e,t)=>(h(),j(Zt,{key:t,downloadable:``,item:e,onDownload:t=>o(e)},null,8,[`item`,`onDownload`]))),128))])):z(``,!0)]))}}),[[`__scopeId`,`data-v-c8e559ff`]]),an={class:`agent-item__text`},on=V(D({__name:`AgentUserMessage`,props:{item:{}},setup(e){return(t,n)=>(h(),j(It,{sent:``,"bg-color":`primary`,"text-color":`white`,class:`agent-item`},{default:I(()=>[w(`div`,null,[w(`div`,an,b(e.item.text),1),O(rn,{context:e.item.context},null,8,[`context`])])]),_:1}))}}),[[`__scopeId`,`data-v-fa776a7b`]]),sn=300,cn=V(D({__name:`AgentAssistantMessage`,props:{text:{}},setup(t){let n=H();return(r,i)=>(h(),j(It,{size:`12`,"bg-color":M(n).dark.isActive?`grey-9`:`grey-3`,"text-color":M(n).dark.isActive?`grey-2`:`grey-10`,class:`agent-item`},{default:I(()=>[O(e,{text:t.text,"mermaid-debounce":sn},null,8,[`text`])]),_:1},8,[`bg-color`,`text-color`]))}}),[[`__scopeId`,`data-v-357e63c1`]]),ln=Y({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let r=!1,i,a,o=null,s,c;function u(){i?.(),i=null,r=!1,o!==null&&(clearTimeout(o),o=null),a?.removeEventListener(`transitionend`,s),s=null}function d(t,n,a){return n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,r=!0,i=a,t.scrollHeight}function f(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,u(),t!==c&&n(t)}function p(t,n){let l=0;a=t;let p=r;if(p?u():c=`hide`,e.duration<=0){i=n,f(t,`show`);return}p?l=t.offsetHeight===t.scrollHeight?0:void 0:t.style.overflowY=`hidden`;let m=d(t,l,n);t.style.height=`${m}px`,s=e=>{(Object(e)!==e||e.target===t)&&f(t,`show`)},t.addEventListener(`transitionend`,s),o=setTimeout(s,e.duration*1.1)}function m(t,n){let l;a=t;let p=r;if(p?u():c=`show`,e.duration<=0){i=n,f(t,`hide`);return}p===!1&&(t.style.overflowY=`hidden`,l=t.scrollHeight),d(t,l,n),t.style.height=0,s=e=>{(Object(e)!==e||e.target===t)&&f(t,`hide`)},t.addEventListener(`transitionend`,s),o=setTimeout(s,e.duration*1.1)}return l(()=>{r&&u()}),()=>B(de,{css:!1,appear:e.appear,onEnter:p,onLeave:m},t.default)}}),un=re({});function dn(e){e.keyCode===32&&we(e)}var fn=Object.keys(K),pn=Y({name:`QExpansionItem`,props:{...K,...Oe,...We,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...Ue,`click`,`afterShow`,`afterHide`],setup(e,{slots:t,emit:n}){let r=H(),i=Pe(e,r),a=P(e.modelValue===null?e.defaultOpened:e.modelValue),o=A(null),s=Fe(),{show:c,hide:u,toggle:f}=ke({showing:a}),m,h,g=R(()=>`q-expansion-item q-item-type q-expansion-item--${a.value?`expanded`:`collapsed`} q-expansion-item--${e.popup?`popup`:`standard`}`),_=R(()=>e.contentInsetLevel===void 0?null:{[`padding`+(r.lang.rtl?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),v=R(()=>!e.disable&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),y=R(()=>{let t={};return fn.forEach(n=>{t[n]=e[n]}),t}),b=R(()=>v.value||!e.expandIconToggle),x=R(()=>e.expandedIcon!==void 0&&a.value?e.expandedIcon:e.expandIcon||r.iconSet.expansionItem[e.denseToggle?`denseIcon`:`icon`]),S=R(()=>!e.disable&&(v.value||e.expandIconToggle)),C=R(()=>({expanded:a.value,detailsId:s.value,toggle:f,show:c,hide:u})),w=R(()=>{let t=e.toggleAriaLabel===void 0?r.lang.label[a.value?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":a.value?`true`:`false`,"aria-controls":s.value,"aria-label":t}});d(()=>e.group,e=>{h?.(),e!==void 0&&ee()});function T(e){v.value||f(e),n(`click`,e)}function E(e){[13,32].includes(e.keyCode)&&D(e,!0)}function D(e,t){!t&&!e.qAvoidFocus&&o.value?.focus({preventScroll:!0}),f(e),we(e)}function O(){n(`afterShow`)}function k(){n(`afterHide`)}function ee(){m===void 0&&(m=Ie()),a.value&&(un[e.group]=m);let t=d(a,t=>{t?un[e.group]=m:un[e.group]===m&&delete un[e.group]}),n=d(()=>un[e.group],(e,t)=>{t===m&&e!==void 0&&e!==m&&u()});h=()=>{t(),n(),un[e.group]===m&&delete un[e.group],h=void 0}}function te(){let t={class:[`q-expansion-item__toggle-section${e.switchToggleSide?` q-expansion-item__toggle-section--switched`:``} q-focusable relative-position cursor-pointer${e.denseToggle&&e.switchToggleSide?` items-end`:``}`,e.expandIconClass],side:!0},n=[B(W,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&a.value?` q-expansion-item__toggle-icon--rotated`:``),name:x.value})];return S.value&&(Object.assign(t,{tabindex:0,...w.value,onClick:D,onKeydown:dn,onKeyup:E}),n.unshift(B(`div`,{ref:o,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),B($,t,()=>n)}function j(){let n;return t.header===void 0?(n=[B($,()=>[B(ft,{lines:e.labelLines},()=>e.label||``),e.caption?B(ft,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&n[e.switchToggleSide?`push`:`unshift`](B($,{class:`q-expansion-item__icon-section`,avatar:!0},()=>B(W,{name:e.icon})))):n=[t.header(C.value)].flat(),!e.disable&&!e.hideExpandIcon&&n[e.switchToggleSide?`unshift`:`push`](te()),n}function M(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:i(),disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return b.value&&(t.clickable=!0,t.onClick=T,Object.assign(t,v.value?y.value:w.value)),B(Q,t,j)}function N(){return p(B(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:_.value,id:s.value},ge(t.default)),[[he,a.value]])}function ne(){let t=[M(),B(ln,{duration:e.duration,onShow:O,onHide:k},N)];return e.expandSeparator&&t.push(B(He,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:i()}),B(He,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:i()})),t}return e.group!==void 0&&ee(),l(()=>{h?.()}),()=>B(`div`,{class:g.value},[B(`div`,{class:`q-expansion-item__container relative-position`},ne())])}});function mn(){}mn.prototype={diff:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.callback;typeof n==`function`&&(r=n,n={}),this.options=n;var i=this;function a(e){return r?(setTimeout(function(){r(void 0,e)},0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var o=t.length,s=e.length,c=1,l=o+s;n.maxEditLength&&(l=Math.min(l,n.maxEditLength));var u=n.timeout??1/0,d=Date.now()+u,f=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(f[0],t,e,0);if(f[0].oldPos+1>=s&&p+1>=o)return a([{value:this.join(t),count:t.length}]);var m=-1/0,h=1/0;function g(){for(var n=Math.max(m,-c);n<=Math.min(h,c);n+=2){var r=void 0,l=f[n-1],u=f[n+1];l&&(f[n-1]=void 0);var d=!1;if(u){var g=u.oldPos-n;d=u&&0<=g&&g<o}var _=l&&l.oldPos+1<s;if(!d&&!_){f[n]=void 0;continue}if(r=!_||d&&l.oldPos+1<u.oldPos?i.addToPath(u,!0,void 0,0):i.addToPath(l,void 0,!0,1),p=i.extractCommon(r,t,e,n),r.oldPos+1>=s&&p+1>=o)return a(hn(i,r.lastComponent,t,e,i.useLongestToken));f[n]=r,r.oldPos+1>=s&&(h=Math.min(h,n-1)),p+1>=o&&(m=Math.max(m,n+1))}c++}if(r)(function e(){setTimeout(function(){if(c>l||Date.now()>d)return r();g()||e()},0)})();else for(;c<=l&&Date.now()<=d;){var _=g();if(_)return _}},addToPath:function(e,t,n,r){var i=e.lastComponent;return i&&i.added===t&&i.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:t,removed:n,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:i}}},extractCommon:function(e,t,n,r){for(var i=t.length,a=n.length,o=e.oldPos,s=o-r,c=0;s+1<i&&o+1<a&&this.equals(t[s+1],n[o+1]);)s++,o++,c++;return c&&(e.lastComponent={count:c,previousComponent:e.lastComponent}),e.oldPos=o,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(``)},join:function(e){return e.join(``)}};function hn(e,t,n,r,i){for(var a=[],o;t;)a.push(t),o=t.previousComponent,delete t.previousComponent,t=o;a.reverse();for(var s=0,c=a.length,l=0,u=0;s<c;s++){var d=a[s];if(!d.removed){if(!d.added&&i){var f=n.slice(l,l+d.count);f=f.map(function(e,t){var n=r[u+t];return n.length>e.length?n:e}),d.value=e.join(f)}else d.value=e.join(n.slice(l,l+d.count));l+=d.count,d.added||(u+=d.count)}else if(d.value=e.join(r.slice(u,u+d.count)),u+=d.count,s&&a[s-1].added){var p=a[s-1];a[s-1]=a[s],a[s]=p}}var m=a[c-1];return c>1&&typeof m.value==`string`&&(m.added||m.removed)&&e.equals(``,m.value)&&(a[c-2].value+=m.value,a.pop()),a}new mn;var gn=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,_n=/\S/,vn=new mn;vn.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!_n.test(e)&&!_n.test(t)},vn.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&gn.test(t[n])&&gn.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var yn=new mn;yn.tokenize=function(e){this.options.stripTrailingCr&&(e=e.replace(/\r\n/g,`
2
- `));var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var r=0;r<n.length;r++){var i=n[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}return t};function bn(e,t,n){return yn.diff(e,t,n)}var xn=new mn;xn.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var Sn=new mn;Sn.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function Cn(e){"@babel/helpers - typeof";return Cn=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Cn(e)}var wn=Object.prototype.toString,Tn=new mn;Tn.useLongestToken=!0,Tn.tokenize=yn.tokenize,Tn.castInput=function(e){var t=this.options,n=t.undefinedReplacement,r=t.stringifyReplacer,i=r===void 0?function(e,t){return t===void 0?n:t}:r;return typeof e==`string`?e:JSON.stringify(En(e,null,null,i),i,` `)},Tn.equals=function(e,t){return mn.prototype.equals.call(Tn,e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`))};function En(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i,e));for(var a=0;a<t.length;a+=1)if(t[a]===e)return n[a];var o;if(wn.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=En(e[a],t,n,r,i);return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),Cn(e)===`object`&&e!==null){t.push(e),o={},n.push(o);var s=[],c;for(c in e)e.hasOwnProperty(c)&&s.push(c);for(s.sort(),a=0;a<s.length;a+=1)c=s[a],o[c]=En(e[c],t,n,r,c);t.pop(),n.pop()}else o=e;return o}var Dn=new mn;Dn.tokenize=function(e){return e.slice()},Dn.join=Dn.removeEmpty=function(e){return e};var On={class:`agent-diff`},kn={class:`agent-diff__path text-mono text-caption`},An={class:`agent-diff__body text-mono`},jn={key:0,class:`text-caption text-grey-6 q-pa-xs`},Mn={key:1,class:`text-caption text-warning q-pa-xs`},Nn=200,Pn=V(D({__name:`AgentDiffView`,props:{diff:{}},setup(e){let t={added:`+`,removed:`-`,context:` `},n=e,{t:r}=X(),i=R(()=>{let e=[];for(let t of bn(n.diff.oldText??``,n.diff.newText)){let n=t.added?`added`:t.removed?`removed`:`context`,r=t.value.replace(/\n$/,``).split(`
3
- `);for(let t of r)e.push({type:n,text:t})}return{rows:e.slice(0,Nn),hidden:Math.max(0,e.length-Nn)}});return(n,a)=>(h(),E(`div`,On,[w(`div`,kn,b(e.diff.path),1),w(`pre`,An,[(h(!0),E(L,null,u(i.value.rows,(e,n)=>(h(),E(`span`,{key:n,class:c([`agent-diff__row`,`agent-diff__row--${e.type}`])},b(t[e.type])+b(e.text)+`
4
- `,3))),128))]),i.value.hidden>0?(h(),E(`div`,jn,` … `+b(i.value.hidden)+` more lines `,1)):z(``,!0),e.diff.truncated?(h(),E(`div`,Mn,b(M(r)(`agent.tool.diffTruncated`)),1)):z(``,!0)]))}}),[[`__scopeId`,`data-v-60226168`]]),Fn={class:`q-px-sm q-pb-xs column q-gutter-y-xs agent-tool__body`},In={class:`agent-tool__caption text-grey-6`},Ln={class:`agent-tool__output text-mono`},Rn=V(D({__name:`AgentToolCard`,props:{item:{}},setup(e){let t={read:`description`,edit:`edit`,delete:`delete`,move:`drive_file_move`,search:`search`,execute:`terminal`,think:`psychology`,fetch:`cloud_download`,switch_mode:`swap_horiz`},n={pending:`grey`,in_progress:`primary`,completed:`positive`,failed:`negative`},{t:r}=X();return(i,a)=>(h(),j(pn,{dense:``,"dense-toggle":``,"switch-toggle-side":``,class:`agent-tool`,"default-opened":e.item.diffs.length>0},{header:I(()=>[O($,{avatar:``,class:`agent-tool__icon`},{default:I(()=>[O(W,{name:t[e.item.toolKind??``]??`build`,size:`14px`},null,8,[`name`])]),_:1}),O($,null,{default:I(()=>[O(ft,{class:`ellipsis`},{default:I(()=>[N(b(e.item.title||e.item.locations[0]||e.item.toolKind),1)]),_:1})]),_:1}),O($,{side:``},{default:I(()=>[e.item.status===`in_progress`?(h(),j(xe,{key:0,size:`12px`,color:`primary`})):(h(),j(tt,{key:1,outline:``,class:`agent-tool__badge`,rounded:``,color:n[e.item.status],label:e.item.status===`failed`?M(r)(`agent.tool.failed`):e.item.status===`completed`?`✓`:`…`},null,8,[`color`,`label`]))]),_:1})]),default:I(()=>[w(`div`,Fn,[(h(!0),E(L,null,u(e.item.locations.filter(t=>!e.item.diffs.some(e=>e.path===t)),e=>(h(),E(`div`,{key:e,class:`text-mono text-caption text-grey-6 ellipsis`},b(e),1))),128)),(h(!0),E(L,null,u(e.item.diffs,e=>(h(),j(Pn,{key:e.path,diff:e},null,8,[`diff`]))),128)),e.item.output?(h(),E(L,{key:0},[w(`div`,In,b(M(r)(`agent.tool.output`)),1),w(`pre`,Ln,b(e.item.output),1)],64)):z(``,!0)])]),_:1},8,[`default-opened`]))}}),[[`__scopeId`,`data-v-6537eaaa`]]),zn={class:`q-px-md q-pb-xs agent-thought__text`},Bn=V(D({__name:`AgentThoughtMessage`,props:{text:{}},setup(e){let{t}=X();return(n,r)=>(h(),j(pn,{dense:``,"dense-toggle":``,class:`agent-item agent-thought text-grey-6`,label:M(t)(`agent.thinking`),icon:`psychology`},{default:I(()=>[w(`div`,zn,b(e.text),1)]),_:1},8,[`label`]))}}),[[`__scopeId`,`data-v-2bc07051`]]),Vn={class:`agent-item agent-auto-approved row no-wrap items-center text-grey-6`},Hn={class:`ellipsis`},Un=V(D({__name:`AgentAutoApprovedMessage`,props:{title:{}},setup(e){let{t}=X();return(n,r)=>(h(),E(`div`,Vn,[O(W,{name:`gpp_maybe`,color:`warning`,class:`q-mr-xs`}),w(`span`,Hn,b(M(t)(`agent.autoApprove.approved`,{title:e.title})),1)]))}}),[[`__scopeId`,`data-v-c0c0181b`]]),Wn=D({__name:`AgentErrorMessage`,props:{text:{},canContinue:{type:Boolean}},emits:[`continue`],setup(e,{emit:t}){let n=t,{t:r}=X();return(t,i)=>(h(),j(o,{dense:``,rounded:``,class:`agent-item bg-negative text-white`},F({default:I(()=>[N(b(e.text)+` `,1)]),_:2},[e.canContinue?{name:`action`,fn:I(()=>[O(q,{flat:``,dense:``,"no-caps":``,label:M(r)(`agent.continue`),onClick:i[0]||=e=>n(`continue`)},null,8,[`label`])]),key:`0`}:void 0]),1024))}}),Gn=D({__name:`AgentChatItem`,props:{item:{},canContinue:{type:Boolean}},emits:[`continue`],setup(e,{emit:t}){let n=t;return(t,r)=>e.item.kind===`user`?(h(),j(on,{key:0,item:e.item},null,8,[`item`])):e.item.kind===`agent`?(h(),j(cn,{key:1,text:e.item.text},null,8,[`text`])):e.item.kind===`thought`?(h(),j(Bn,{key:2,text:e.item.text},null,8,[`text`])):e.item.kind===`auto-approved`?(h(),j(Un,{key:3,title:e.item.title},null,8,[`title`])):e.item.kind===`tool`?(h(),j(Rn,{key:4,class:`agent-item`,item:e.item},null,8,[`item`])):(h(),j(Wn,{key:5,text:e.item.text,"can-continue":e.canContinue,onContinue:r[0]||=e=>n(`continue`)},null,8,[`text`,`can-continue`]))}}),Kn=V(D({__name:`AgentChatBanners`,props:{autoApprovesEdits:{type:Boolean},autoApprove:{type:Boolean},reviewStale:{type:Boolean},closed:{type:Boolean},error:{}},emits:[`disable-auto-approve`],setup(e,{emit:t}){let n=t,{t:r}=X();return(t,i)=>(h(),E(L,null,[e.autoApprovesEdits&&!e.autoApprove?(h(),j(o,{key:0,dense:``,class:`bg-warning text-dark agent-chat-banners__banner`},{default:I(()=>[N(b(M(r)(`agent.autoApprovesEdits`)),1)]),_:1})):z(``,!0),e.autoApprove?(h(),j(o,{key:1,dense:``,"inline-actions":``,class:`bg-warning text-dark agent-chat-banners__banner`},{action:I(()=>[O(q,{flat:``,dense:``,"no-caps":``,color:`blue-10`,class:`text-weight-bold`,label:M(r)(`agent.autoApprove.turnOff`),onClick:i[0]||=e=>n(`disable-auto-approve`)},null,8,[`label`])]),default:I(()=>[N(b(M(r)(`agent.autoApprove.banner`))+` `,1)]),_:1})):z(``,!0),e.reviewStale?(h(),j(o,{key:2,dense:``,class:`bg-warning text-dark agent-chat-banners__banner`},{default:I(()=>[N(b(M(r)(`agent.reviewStale`)),1)]),_:1})):z(``,!0),e.closed?(h(),j(o,{key:3,dense:``,class:`bg-grey-7 text-white agent-chat-banners__banner`},{default:I(()=>[N(b(M(r)(`agent.sessionClosed`)),1)]),_:1})):z(``,!0),e.error?(h(),j(o,{key:4,dense:``,class:`bg-negative text-white agent-chat-banners__banner`},{default:I(()=>[N(b(e.error),1)]),_:1})):z(``,!0)],64))}}),[[`__scopeId`,`data-v-ece62303`]]);function qn(e){let t=/(?:^|\s)@([^\s@]*)$/.exec(e);if(!t)return null;let n=t[1]??``;return{query:n,start:e.length-n.length-1}}function Jn(e,t){let n=e.split(`/`),r=n.at(-1)??e;return t.some(t=>t!==e&&t.split(`/`).at(-1)===r)&&n.length>1?n.slice(-2).join(`/`):r}function Yn(e){let t=[],n=``;function r(e){for(let i of e)i.type===`text`?n+=i.text:i.type===`br`?n+=`
5
- `:i.type===`mention`?(n+=`@${i.path}`,t.includes(i.path)||t.push(i.path)):(n!==``&&!n.endsWith(`
6
- `)&&(n+=`
7
- `),r(i.children))}return r(e),{text:n.replace(/ /g,` `).trim(),files:t}}function Xn(e){return e instanceof HTMLElement&&e.classList.contains(`agent-mention`)}function Zn(e){let t=[];for(let n of e.childNodes)n instanceof Text?t.push({type:`text`,text:n.data}):Xn(n)?t.push({type:`mention`,path:n.dataset.path??``}):n instanceof HTMLBRElement?t.push({type:`br`}):n instanceof HTMLElement&&t.push({type:`block`,children:Zn(n)});return t}function Qn(e){let t=document.createElement(`span`);t.className=`agent-mention`,t.contentEditable=`false`,t.dataset.path=e,t.title=e;let n=document.createElement(`span`);n.className=`agent-mention__label`;let r=document.createElement(`button`);return r.type=`button`,r.className=`agent-mention__remove`,r.tabIndex=-1,r.textContent=`×`,t.append(n,r),t}function $n(e,t){let n=window.getSelection(),r;if(n&&n.rangeCount>0){let e=n.getRangeAt(0).cloneRange();e.collapse(!0),r=e.getBoundingClientRect()}(!r||r.top===0&&r.height===0)&&(r=e?.getBoundingClientRect());let i=r?.top??window.innerHeight,a=r?.left??8;return{left:Math.max(8,Math.min(a,window.innerWidth-t-8)),bottom:window.innerHeight-i+6}}function er(e){let t=window.getSelection();if(!t||!t.isCollapsed||!e||!t.focusNode||!e.contains(t.focusNode))return null;let{focusNode:n,focusOffset:r}=t;if(n instanceof Text&&r===0){let e=n.previousSibling;return Xn(e)?e:null}if(n===e&&r>0){let t=e?.childNodes[r-1];return Xn(t)?t:null}return null}function tr(e,t){let n=((t.target instanceof Element?t.target:null)?.closest(`.agent-mention__remove`))?.closest(`.agent-mention`);return Xn(n)&&e?.contains(n)?n:null}function nr(e,t){return!!e?.contains(t.node)&&t.start>=0&&t.end<=t.node.length&&t.end>t.start&&t.node.data.slice(t.start,t.end)===t.text}function rr(e,t,n){if(!nr(e,t))return!1;let r=document.createRange();r.setStart(t.node,t.start),r.setEnd(t.node,t.end),r.deleteContents();let i=Qn(n);r.insertNode(i);let a=document.createTextNode(` `);i.after(a);let o=document.createRange();o.setStart(a,1),o.collapse(!0);let s=window.getSelection();return s?.removeAllRanges(),s?.addRange(o),!0}var ir=80,ar=30;function or(e){let{registerTimeout:t,removeTimeout:n}=Ne(),r=0;function i(){n(),r++}async function a(t,n){try{let{files:i}=await Je(`/api/agent/files?q=${encodeURIComponent(t)}&limit=${ar}`);n===r&&e.onResult(i)}catch{n===r&&e.onError()}}function o(e){let n=++r;t(()=>{a(e,n)},ir)}return l(i),te(i),{search:o,cancel:i}}var sr=340;function cr(e,t){let n=A(null),r=null,{search:i,cancel:a}=or({onResult(i){r&&!T(t.disabled)&&nr(T(e),r)?n.value={items:i,active:0,...$n(T(e),sr)}:o()},onError:o});function o(){a(),r=null,n.value=null}function s(){let n=window.getSelection(),a=n?.focusNode;if(T(t.disabled)||!n||!n.isCollapsed||!(a instanceof Text)||!T(e)?.contains(a)){o();return}let s=qn(a.data.slice(0,n.focusOffset));if(!s){o();return}r={node:a,start:s.start,end:n.focusOffset,text:a.data.slice(s.start,n.focusOffset)},i(s.query)}function c(i){let a=n.value?.items[i];if(T(t.disabled)||a===void 0||!r){o();return}let s=rr(T(e),r,a);o(),s&&t.onChanged()}function u(e){let t=n.value;if(!t)return!1;if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),t.items.length>0){let r=e.key===`ArrowDown`?1:-1;n.value={...t,active:(t.active+r+t.items.length)%t.items.length}}return!0}return(e.key===`Tab`||e.key===`Enter`)&&!e.shiftKey&&t.items.length>0?(e.preventDefault(),c(t.active),!0):e.key===`Escape`&&(e.preventDefault(),o(),!0)}return d(()=>T(t.disabled),e=>{e&&o()},{flush:`sync`}),d(()=>T(e),o,{flush:`sync`}),l(o),te(o),{popup:n,closePopup:o,updateTrigger:s,pick:c,handleKeydown:u}}function lr(e,t){let{t:n,locale:r}=X(),i=ne(e),a=A(!0),{popup:o,closePopup:s,updateTrigger:c,pick:l,handleKeydown:u}=cr(e,{disabled:t.disabled,onChanged:g});function f(){return i.value?Yn(Zn(i.value)):{text:``,files:[]}}function p(){return i.value?[...i.value.querySelectorAll(`.agent-mention`)]:[]}function m(){let e=p(),t=e.map(e=>e.dataset.path??``);for(let r of e){let e=Jn(r.dataset.path??``,t),i=r.querySelector(`.agent-mention__label`);i&&(i.textContent=`@${e}`),r.querySelector(`.agent-mention__remove`)?.setAttribute(`aria-label`,n(`agent.mention.remove`,{name:e}))}}function h(){let e=f().text===``;e&&i.value&&p().length===0&&i.value.replaceChildren(),e!==a.value&&(a.value=e,t.onEmptyChange(e))}function g(){m(),h()}function _(e){e.remove(),m(),h()}function v(){T(t.disabled)||(h(),c())}function y(e){if(!(e.isComposing||e.keyCode===229)&&!(T(t.disabled)||u(e))){if(e.key===`Tab`&&e.shiftKey&&T(t.cycleMode))e.preventDefault(),t.onCycleMode();else if(e.key===`Enter`)e.preventDefault(),e.shiftKey?document.execCommand(`insertLineBreak`):t.onSubmit();else if(e.key===`Backspace`){let t=er(i.value);t&&(e.preventDefault(),_(t))}}}function b(e){[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)&&c()}function x(e){if(T(t.disabled)){e.preventDefault();return}let n=Yt(e.clipboardData);if(n.length>0){e.preventDefault(),t.onFiles(n);return}let r=e.clipboardData?.getData(`text/plain`);r!==void 0&&(e.preventDefault(),document.execCommand(`insertText`,!1,r))}function S(e){tr(i.value,e)&&e.preventDefault()}function C(e){if(T(t.disabled))return;let n=tr(i.value,e);if(n){_(n),i.value?.focus();return}c()}function w(){i.value?.focus()}function E(){i.value&&i.value.replaceChildren(),s(),h()}function D(){T(t.disabled)||(w(),document.execCommand(`insertText`,!1,`@`),c())}return d(r,m),{empty:a,popup:o,serialize:f,clear:E,focus:w,startMention:D,closePopup:s,pick:l,onInput:v,onKeydown:y,onKeyup:b,onPaste:x,onMousedown:S,onClick:C}}var ur=[`aria-label`],dr={key:0,class:`q-pa-sm text-caption text-grey-6`},fr=[`id`,`aria-selected`,`onClick`],pr={class:`agent-mention-popup__name`},mr={class:`agent-mention-popup__dir`},hr=V(D({__name:`AgentMentionPopup`,props:{items:{},active:{},left:{},bottom:{},idPrefix:{}},emits:[`pick`],setup(e,{emit:t}){let n=e,r=t,{t:i}=X(),a=H();function o(e){let t=e.lastIndexOf(`/`);return t===-1?{name:e,dir:``}:{name:e.slice(t+1),dir:e.slice(0,t)}}let s=R(()=>n.items.map(e=>({path:e,...o(e)})));return d(()=>n.active,async e=>{await ae(),document.getElementById(`${n.idPrefix}-${e}`)?.scrollIntoView({block:`nearest`})}),(t,n)=>(h(),j(k,{to:`body`},[w(`div`,{class:c([`agent-mention-popup shadow-4`,M(a).dark.isActive?`bg-grey-9 text-white`:`bg-white text-dark`]),role:`listbox`,"aria-label":M(i)(`agent.mention.list`),style:oe({left:`${e.left}px`,bottom:`${e.bottom}px`}),onMousedown:n[0]||=me(()=>{},[`prevent`])},[e.items.length===0?(h(),E(`div`,dr,b(M(i)(`agent.mention.noFiles`)),1)):z(``,!0),(h(!0),E(L,null,u(s.value,({path:t,name:n,dir:i},a)=>(h(),E(`div`,{id:`${e.idPrefix}-${a}`,key:t,role:`option`,class:c([`agent-mention-popup__item`,{"agent-mention-popup__item--active":a===e.active}]),"aria-selected":a===e.active,onClick:e=>r(`pick`,a)},[w(`span`,pr,b(n),1),w(`span`,mr,b(i),1)],10,fr))),128))],46,ur)]))}}),[[`__scopeId`,`data-v-a7a8b754`]]),gr={class:`agent-editor-wrap`},_r=[`contenteditable`,`aria-label`,`aria-disabled`,`aria-expanded`,`aria-controls`,`aria-activedescendant`,`data-placeholder`],vr=V(D({__name:`AgentMentionEditor`,props:{disabled:{type:Boolean},placeholder:{},label:{},cycleMode:{type:Boolean}},emits:[`submit`,`cycle-mode`,`empty-change`,`files`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=x(`root`),o=S(),{empty:s,popup:l,serialize:u,clear:d,focus:f,startMention:p,closePopup:m,pick:g,onInput:_,onKeydown:v,onKeyup:y,onPaste:b,onMousedown:C,onClick:T}=lr(a,{disabled:()=>r.disabled,cycleMode:()=>r.cycleMode,onSubmit:()=>i(`submit`),onCycleMode:()=>i(`cycle-mode`),onEmptyChange:e=>i(`empty-change`,e),onFiles:e=>i(`files`,e)});return t({serialize:u,clear:d,focus:f,startMention:p}),(t,n)=>(h(),E(`div`,gr,[w(`div`,{ref_key:`root`,ref:a,class:c([`agent-editor`,{"agent-editor--empty":M(s)}]),contenteditable:e.disabled?`false`:`true`,role:`textbox`,"aria-multiline":`true`,"aria-autocomplete":`list`,"aria-label":e.label,"aria-disabled":e.disabled?`true`:void 0,"aria-expanded":M(l)?`true`:`false`,"aria-controls":M(l)?M(o):void 0,"aria-activedescendant":M(l)?`${M(o)}-${M(l).active}`:void 0,"data-placeholder":e.placeholder,spellcheck:`true`,onInput:n[0]||=(...e)=>M(_)&&M(_)(...e),onKeydown:n[1]||=(...e)=>M(v)&&M(v)(...e),onKeyup:n[2]||=(...e)=>M(y)&&M(y)(...e),onPaste:n[3]||=(...e)=>M(b)&&M(b)(...e),onMousedown:n[4]||=(...e)=>M(C)&&M(C)(...e),onClick:n[5]||=(...e)=>M(T)&&M(T)(...e),onBlur:n[6]||=(...e)=>M(m)&&M(m)(...e)},null,42,_r),M(l)?(h(),j(hr,{key:0,items:M(l).items,active:M(l).active,left:M(l).left,bottom:M(l).bottom,"id-prefix":M(o),onPick:M(g)},null,8,[`items`,`active`,`left`,`bottom`,`id-prefix`,`onPick`])):z(``,!0)]))}}),[[`__scopeId`,`data-v-d04db174`]]),yr={class:`agent-attachment-thumb`},br=V(D({__name:`AgentAttachmentThumbnail`,props:{item:{}},emits:[`remove`],setup(e,{emit:t}){let n=e,r=t,{t:i}=X(),a=R(()=>Wt(n.item));return(t,n)=>(h(),E(`div`,yr,[O(Vt,{src:a.value,alt:e.item.name,fit:`cover`,class:`fit rounded-borders`},null,8,[`src`,`alt`]),O(q,{round:``,dense:``,unelevated:``,size:`xs`,color:`grey-8`,icon:`close`,class:`agent-attachment-thumb-remove`,"aria-label":M(i)(`agent.context.remove`),onClick:n[0]||=e=>r(`remove`)},null,8,[`aria-label`])]))}}),[[`__scopeId`,`data-v-b18100a3`]]),xr={key:0,class:`row items-center q-gutter-xs q-pa-xs`},Sr=D({__name:`AgentComposerContext`,props:{items:{}},emits:[`remove`],setup(e,{emit:t}){let n=t;return(t,r)=>e.items.length>0?(h(),E(`div`,xr,[(h(!0),E(L,null,u(e.items,(e,t)=>(h(),E(L,{key:t},[M(Ut)(e)?(h(),j(br,{key:0,item:e,onRemove:e=>n(`remove`,t)},null,8,[`item`,`onRemove`])):(h(),j(Zt,{key:1,removable:``,color:`primary`,"text-color":`white`,item:e,onRemove:e=>n(`remove`,t)},null,8,[`item`,`onRemove`]))],64))),128))])):z(``,!0)}}),Cr=V(D({__name:`AgentComposerAddMenu`,props:{disabled:{type:Boolean}},emits:[`files`,`mention`],setup(e,{emit:t}){let n=t,{t:r}=X(),i=x(`fileInput`);function a(e){let t=e.target;t instanceof HTMLInputElement&&t.files&&(n(`files`,[...t.files]),t.value=``)}return(t,o)=>(h(),E(`div`,null,[w(`input`,{ref_key:`fileInput`,ref:i,type:`file`,multiple:``,hidden:``,onChange:a},null,544),O(q,{round:``,dense:``,flat:``,size:`sm`,icon:`add`,class:`q-ma-xs`,disable:e.disabled,"aria-label":M(r)(`agent.attach.menu`)},{default:I(()=>[O(at,{anchor:`top left`,self:`bottom left`},{default:I(()=>[O(ot,{dense:``,class:`agent-menu agent-add-menu`},{default:I(()=>[p((h(),j(Q,{clickable:``,onClick:o[0]||=e=>i.value?.click()},{default:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:`upload_file`,size:`16px`})]),_:1}),O($,null,{default:I(()=>[N(b(M(r)(`agent.attach.uploadFile`)),1)]),_:1})]),_:1})),[[it]]),p((h(),j(Q,{clickable:``,onClick:o[1]||=e=>n(`mention`)},{default:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:`alternate_email`,size:`16px`})]),_:1}),O($,null,{default:I(()=>[N(b(M(r)(`agent.attach.mentionFile`)),1)]),_:1})]),_:1})),[[it]])]),_:1})]),_:1})]),_:1},8,[`disable`,`aria-label`])]))}}),[[`__scopeId`,`data-v-3c2497e7`]]),wr=D({__name:`AgentComposerSubmitButton`,props:{status:{},isEmpty:{type:Boolean}},emits:[`send`,`cancel`],setup(e,{emit:t}){let n=t,{t:r}=X();return(t,i)=>e.status===`busy`?(h(),j(q,{key:0,round:``,dense:``,flat:``,size:`sm`,color:`negative`,icon:`stop_circle`,class:`q-ma-xs`,"aria-label":M(r)(`agent.cancel`),onClick:i[0]||=e=>n(`cancel`)},null,8,[`aria-label`])):(h(),j(q,{key:1,round:``,dense:``,flat:``,size:`sm`,color:`primary`,icon:`send`,class:`q-ma-xs`,disable:e.status!==`ready`||e.isEmpty,"aria-label":M(r)(`agent.send`),onClick:i[1]||=e=>n(`send`)},null,8,[`disable`,`aria-label`]))}}),Tr=[`aria-label`],Er=V(D({__name:`AgentChatStatusDot`,props:{entry:{}},setup(e){let t=e,{t:n}=X(),r=R(()=>{let{chat:e}=t.entry;return e.permissions.length>0?`attention`:e.status===`closed`?`closed`:e.status===`busy`||e.status===`starting`?`working`:`idle`}),i=R(()=>r.value===`attention`?n(`agent.chats.needsAnswer`):n(`agent.status.${t.entry.chat.status}`));return(e,t)=>(h(),E(`span`,{class:`agent-dot`,"aria-label":i.value,role:`img`},[r.value===`working`?(h(),j(Ft,{key:0,color:`primary`,size:`14px`})):(h(),E(`span`,{key:1,class:c([`agent-dot__mark`,`agent-dot__mark--${r.value}`])},null,2))],8,Tr))}}),[[`__scopeId`,`data-v-8919c3e4`]]),Dr={key:0,class:`q-pa-xs`},Or=8,kr=V(D({__name:`AgentConfigButton`,props:{option:{},disabled:{type:Boolean},hint:{}},emits:[`select`],setup(e,{emit:t}){let r=e,i=t,{t:a}=X(),o=P(``),s=R(()=>r.option.options??[]),c=R(()=>{let e=o.value.trim().toLowerCase();return e===``?s.value:s.value.filter(t=>t.name.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))}),l=R(()=>s.value.find(e=>e.value===r.option.currentValue)?.name??String(r.option.currentValue));return(t,r)=>e.option.type===`boolean`?(h(),j(q,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,class:`agent-cfg`,disable:e.disabled,icon:e.option.currentValue===!0?`check_box`:`check_box_outline_blank`,label:e.option.name,onClick:r[0]||=t=>i(`select`,e.option.currentValue!==!0)},null,8,[`disable`,`icon`,`label`])):(h(),j(q,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,"icon-right":`expand_more`,class:`agent-cfg`,disable:e.disabled,label:l.value,"aria-label":`${e.option.name}: ${l.value}`,"aria-haspopup":`listbox`},{default:I(()=>[O(n,{delay:500},{default:I(()=>[N(b(e.option.name),1),e.hint?(h(),E(L,{key:0},[N(` · `+b(e.hint),1)],64)):z(``,!0)]),_:1}),O(at,{anchor:`top left`,self:`bottom left`,onBeforeShow:r[2]||=e=>o.value=``},{default:I(()=>[s.value.length>Or?(h(),E(`div`,Dr,[O(Ve,{modelValue:o.value,"onUpdate:modelValue":r[1]||=e=>o.value=e,dense:``,outlined:``,autofocus:``,placeholder:M(a)(`agent.config.filter`)},null,8,[`modelValue`,`placeholder`])])):z(``,!0),c.value.length>0?(h(),j(ht,{key:1,items:c.value,"virtual-scroll-item-size":40,class:`agent-menu agent-cfg__list`},{default:I(({item:t})=>[p((h(),j(Q,{key:t.value,dense:``,clickable:``,onClick:e=>i(`select`,t.value)},{default:I(()=>[O($,{avatar:``},{default:I(()=>[t.value===e.option.currentValue?(h(),j(W,{key:0,name:`check`,size:`16px`,color:`primary`})):z(``,!0)]),_:2},1024),O($,null,{default:I(()=>[O(ft,null,{default:I(()=>[N(b(t.name),1)]),_:2},1024),t.description||t.group?(h(),j(ft,{key:0,caption:``},{default:I(()=>[N(b(t.group)+b(t.group&&t.description?` · `:``)+b(t.description),1)]),_:2},1024)):z(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`])),[[it]])]),_:1},8,[`items`])):(h(),j(Q,{key:2,dense:``},{default:I(()=>[O($,{class:`text-grey`},{default:I(()=>[N(b(M(a)(`agent.config.noMatch`)),1)]),_:1})]),_:1}))]),_:1})]),_:1},8,[`disable`,`label`,`aria-label`]))}}),[[`__scopeId`,`data-v-bfa2d9dd`]]),Ar=D({__name:`AgentAutoApproveButton`,props:{enabled:{type:Boolean},disabled:{type:Boolean}},emits:[`toggle`],setup(e,{emit:t}){let r=e,i=t,{t:a}=X(),o=R(()=>a(r.enabled?`agent.autoApprove.tooltipOn`:`agent.autoApprove.tooltipOff`));return(t,r)=>(h(),j(q,{flat:``,round:``,dense:``,size:`sm`,icon:e.enabled?`gpp_maybe`:`shield`,color:e.enabled?`warning`:void 0,class:c({"text-grey-6":!e.enabled}),disable:e.disabled,"aria-pressed":e.enabled,"aria-label":o.value,onClick:r[0]||=e=>i(`toggle`)},{default:I(()=>[O(n,null,{default:I(()=>[N(b(o.value),1)]),_:1})]),_:1},8,[`icon`,`color`,`class`,`disable`,`aria-pressed`,`aria-label`]))}}),jr={class:`agent-composer__status row no-wrap items-center`},Mr={class:`row no-wrap items-center agent-composer__state`},Nr={class:`q-ml-xs`},Pr={class:`col row items-center q-gutter-x-xs`},Fr=V(D({__name:`AgentComposerSettings`,props:{entry:{},modelOption:{},modeOption:{},otherOptions:{},settingsLocked:{type:Boolean}},emits:[`select`,`toggle-auto-approve`],setup(e,{emit:t}){let n=e,r=t,{t:i}=X(),a=R(()=>n.entry.chat.status),o=R(()=>n.entry.chat.autoApprove);return(t,n)=>(h(),E(`div`,jr,[w(`span`,Mr,[O(Er,{entry:e.entry},null,8,[`entry`]),w(`span`,Nr,b(M(i)(`agent.status.${a.value}`)),1)]),w(`div`,Pr,[e.modelOption?(h(),j(kr,{key:0,option:e.modelOption,disabled:e.settingsLocked,onSelect:n[0]||=t=>r(`select`,e.modelOption,t)},null,8,[`option`,`disabled`])):z(``,!0),e.modeOption?(h(),j(kr,{key:1,option:e.modeOption,disabled:e.settingsLocked,hint:M(i)(`agent.modeHint`),onSelect:n[1]||=t=>r(`select`,e.modeOption,t)},null,8,[`option`,`disabled`,`hint`])):z(``,!0),(h(!0),E(L,null,u(e.otherOptions,t=>(h(),j(kr,{key:t.id,option:t,disabled:e.settingsLocked,onSelect:e=>r(`select`,t,e)},null,8,[`option`,`disabled`,`onSelect`]))),128))]),O(Ar,{enabled:o.value,disabled:a.value===`closed`,onToggle:n[2]||=e=>r(`toggle-auto-approve`)},null,8,[`enabled`,`disabled`])]))}}),[[`__scopeId`,`data-v-d98990df`]]);function Ir(e,t){return e.find(e=>e.category===t&&e.type===`select`)}function Lr(e){let t=(e.options??[]).map(e=>e.value);if(!(t.length<2))return t[(t.indexOf(String(e.currentValue))+1)%t.length]}function Rr(e){let t=Z(),{t:n}=X(),r=a(),i=R(()=>t.chats[T(e)]),o=R(()=>i.value?.chat.config??[]),s=R(()=>i.value?.chat.status??`closed`),c=R(()=>Ir(o.value,`model`)),l=R(()=>Ir(o.value,`mode`)),u=R(()=>o.value.filter(e=>e!==c.value&&e!==l.value)),d=R(()=>s.value!==`ready`);async function f(i,a){try{await t.setConfig(i.id,a,T(e))}catch(e){r(n(`agent.config.failed`,{name:i.name}),e)}}function p(){let e=l.value;if(!e||d.value)return;let t=Lr(e);t!==void 0&&f(e,t)}return{modelOption:c,modeOption:l,otherOptions:u,settingsLocked:d,changeConfig:f,cycleMode:p}}function zr(e){let t=Z(),{t:n}=X(),r=H(),i=a();async function o(a){let o=T(e);for(let e of a)try{t.addContext(await Jt(e),o)}catch(t){t instanceof Ht?r.notify({type:`negative`,message:n(`agent.attach.tooLarge`,{name:e.name,mb:Ze/1024/1024})}):i(n(`agent.attach.readFailed`),t)}}return{attachFiles:o}}function Br(e){let t=Z(),{t:n}=X(),r=H(),i=a();async function o(e,r){try{await t.setAutoApprove(e,r)}catch(e){i(n(`agent.autoApprove.failed`),e)}}function s(){let i=T(e),a=t.chats[i];if(a&&a.chat.status!==`closed`){if(a.chat.autoApprove){o(!1,i);return}r.dialog({title:n(`agent.autoApprove.confirmTitle`),message:n(`agent.autoApprove.confirmMessage`),ok:{label:n(`agent.autoApprove.confirmOk`),color:`negative`,flat:!0,noCaps:!0},cancel:{label:n(`agent.newChat.cancel`),flat:!0,noCaps:!0}}).onOk(()=>{o(!0,i)})}}return{toggleAutoApprove:s}}var Vr={key:0,class:`agent-composer`},Hr={class:`agent-composer__box`},Ur={class:`row no-wrap items-end`},Wr=V(D({__name:`AgentComposer`,props:{chatId:{}},setup(e,{expose:t}){let n=e,{t:r}=X(),i=Z(),o=R(()=>i.chats[n.chatId]),s=R(()=>o.value?.chat.status??`closed`),c=R(()=>o.value?.pendingContext??[]),l=x(`editor`),u=A(!0),d=a(),{modelOption:f,modeOption:p,otherOptions:m,settingsLocked:g,changeConfig:_,cycleMode:v}=Rr(()=>n.chatId),{attachFiles:y}=zr(()=>n.chatId),{toggleAutoApprove:b}=Br(()=>n.chatId);async function S(){let e=l.value,t=n.chatId,a=e?.serialize();if(a&&a.text!==``)try{await i.send(a.text,a.files.map(e=>({kind:`file`,path:e})),t)&&n.chatId===t&&l.value===e&&e?.clear()}catch(e){d(r(`agent.sendFailed`),e)}}return t({focus:()=>l.value?.focus()}),(t,n)=>o.value?(h(),E(`div`,Vr,[w(`div`,Hr,[O(Sr,{items:c.value,onRemove:n[0]||=t=>M(i).removeContext(t,e.chatId)},null,8,[`items`]),w(`div`,Ur,[O(Cr,{disabled:s.value===`closed`,onFiles:M(y),onMention:n[1]||=e=>l.value?.startMention()},null,8,[`disabled`,`onFiles`]),O(vr,{ref_key:`editor`,ref:l,class:`col`,disabled:s.value===`closed`,placeholder:M(r)(`agent.placeholder`),label:M(r)(`agent.title`),"cycle-mode":M(p)!==void 0,onSubmit:S,onCycleMode:M(v),onEmptyChange:n[2]||=e=>u.value=e,onFiles:M(y)},null,8,[`disabled`,`placeholder`,`label`,`cycle-mode`,`onCycleMode`,`onFiles`]),O(wr,{status:s.value,"is-empty":u.value,onSend:S,onCancel:n[3]||=t=>M(i).cancel(e.chatId)},null,8,[`status`,`is-empty`])])]),O(Fr,{entry:o.value,"model-option":M(f),"mode-option":M(p),"other-options":M(m),"settings-locked":M(g),onSelect:M(_),onToggleAutoApprove:M(b)},null,8,[`entry`,`model-option`,`mode-option`,`other-options`,`settings-locked`,`onSelect`,`onToggleAutoApprove`])])):z(``,!0)}}),[[`__scopeId`,`data-v-ce7dfcde`]]),Gr={class:`agent-permission`},Kr={class:`row no-wrap items-center agent-permission__head`},qr=[`title`],Jr={class:`row items-center q-gutter-xs q-mt-xs`},Yr=V(D({__name:`AgentPermissionCard`,props:{permission:{}},emits:[`answer`],setup(e,{emit:t}){let n={allow_once:{color:`primary`,outline:!1,flat:!1},allow_always:{color:`primary`,outline:!0,flat:!1},reject_once:{color:`negative`,outline:!1,flat:!0},reject_always:{color:`negative`,outline:!1,flat:!0}},r=t,{t:i}=X();return(t,a)=>(h(),E(`div`,Gr,[w(`div`,Kr,[O(W,{name:`gpp_maybe`,color:`warning`,size:`14px`,class:`q-mr-xs`}),w(`span`,null,b(M(i)(`agent.permission.title`)),1)]),w(`div`,{class:`agent-permission__title`,title:e.permission.title},b(e.permission.title),9,qr),e.permission.diffs.length>0?(h(),j(pn,{key:0,dense:``,"dense-toggle":``,class:`agent-permission__changes`,label:M(i)(`agent.permission.showChanges`)},{default:I(()=>[(h(!0),E(L,null,u(e.permission.diffs,e=>(h(),j(Pn,{key:e.path,diff:e},null,8,[`diff`]))),128))]),_:1},8,[`label`])):z(``,!0),w(`div`,Jr,[(h(!0),E(L,null,u(e.permission.options,e=>(h(),j(q,{key:e.optionId,"no-caps":``,dense:``,size:`sm`,class:`q-px-sm`,unelevated:!n[e.kind].outline&&!n[e.kind].flat,outline:n[e.kind].outline,flat:n[e.kind].flat,color:n[e.kind].color,label:e.name,onClick:t=>r(`answer`,e.optionId)},null,8,[`unelevated`,`outline`,`flat`,`color`,`label`,`onClick`]))),128)),O(q,{"no-caps":``,dense:``,flat:``,size:`sm`,class:`q-px-sm`,label:M(i)(`agent.permission.cancel`),onClick:a[0]||=e=>r(`answer`,void 0)},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-31a77038`]]),Xr={key:0,class:`agent-view column no-wrap`},Zr={class:`agent-view__feed`},Qr={key:0,class:`row justify-center`},$r=24,ei=V(D({__name:`AgentChatView`,props:{chatId:{},active:{type:Boolean}},setup(e){let t=e,{t:n}=X(),r=a(),i=Z(),o=R(()=>i.chats[t.chatId]),s=R(()=>o.value?.chat),c=R(()=>i.presets.find(e=>e.id===o.value?.info.presetId)),l=R(()=>s.value?.status===`busy`),f=R(()=>s.value?.items.at(-1)),p=R(()=>f.value?.kind===`error`&&s.value?.status===`ready`),m=R(()=>s.value?.items.length??0),g=R(()=>s.value?.permissions.length??0),_=R(()=>{let e=f.value;return e&&`text`in e?e.text.length:0}),v=R(()=>s.value?.items.findLast(e=>e.kind===`user`)?.id),y=x(`scroll`),b=x(`composer`),S=!0,C=0;function T(e){if(t.active){if(e.verticalPosition===C){k();return}C=e.verticalPosition,S=e.verticalPosition+e.verticalContainerSize>=e.verticalSize-$r}}function D(){y.value?.setScrollPosition(`vertical`,2**53-1)}async function k(){t.active&&S&&(await ae(),t.active&&S&&D())}d([m,g,_],k),d(v,(e,n)=>{e&&e!==n&&t.active&&(S=!0,k())}),d(()=>t.active,async e=>{e&&(await ae(),t.active&&(S?D():y.value?.setScrollPosition(`vertical`,C),b.value?.focus()))});async function A(){try{await i.send(`Continue`,[],t.chatId)}catch(e){r(n(`agent.sendFailed`),e)}}return(t,n)=>o.value&&s.value?(h(),E(`div`,Xr,[O(Kn,{"auto-approves-edits":c.value?.autoApprovesEdits??!1,"auto-approve":s.value.autoApprove,"review-stale":o.value.reviewStale,closed:s.value.status===`closed`,error:o.value.error,onDisableAutoApprove:n[0]||=t=>M(i).setAutoApprove(!1,e.chatId)},null,8,[`auto-approves-edits`,`auto-approve`,`review-stale`,`closed`,`error`]),O(rt,{ref_key:`scroll`,ref:y,class:`col agent-view__scroll`,onScroll:T},{default:I(()=>[w(`div`,Zr,[O(et,{debounce:0,onResize:k}),(h(!0),E(L,null,u(s.value.items,e=>(h(),j(Gn,{key:e.id,item:e,"can-continue":p.value&&e===f.value,onContinue:A},null,8,[`item`,`can-continue`]))),128)),(h(!0),E(L,null,u(s.value.permissions,t=>(h(),j(Yr,{key:t.requestId,permission:t,onAnswer:n=>M(i).answerPermission(t.requestId,n,e.chatId)},null,8,[`permission`,`onAnswer`]))),128)),l.value&&s.value.permissions.length===0?(h(),E(`div`,Qr,[O(Ft,{color:`primary`,size:`24px`})])):z(``,!0)])]),_:1},512),O(Wr,{ref_key:`composer`,ref:b,"chat-id":e.chatId},null,8,[`chat-id`])])):z(``,!0)}}),[[`__scopeId`,`data-v-f3b23f81`]]),ti={class:`agent-empty column items-center justify-center text-center fit`},ni={class:`text-subtitle1 q-mt-md`},ri={class:`text-caption text-grey-6 q-mt-xs agent-empty__hint`},ii=V(D({__name:`AgentEmptyState`,setup(e){let{t}=X(),n=Z();return(e,r)=>(h(),E(`div`,ti,[O(W,{name:M(i),size:`48px`,class:`text-grey-6`},null,8,[`name`]),w(`div`,ni,b(M(t)(`agent.emptyState.title`)),1),w(`div`,ri,b(M(t)(`agent.emptyState.hint`)),1),M(n).canAddChat?(h(),j(q,{key:0,color:`primary`,unelevated:``,"no-caps":``,icon:`add`,class:`q-mt-md`,label:M(t)(`agent.emptyState.add`),onClick:r[0]||=e=>M(n).openNewChatDialog()},null,8,[`label`])):z(``,!0)]))}}),[[`__scopeId`,`data-v-cb2aea04`]]),ai={class:`agent-tabs row no-wrap items-center`},oi={class:`row items-center no-wrap agent-tab__body`},si={class:`agent-tab__name ellipsis`},ci=V(D({__name:`AgentTabs`,setup(e){let{t}=X(),r=a(),i=H(),o=Z();function s(e){let n=e.info.name;i.dialog({title:t(`agent.chats.closeTitle`),message:e.chat.status===`busy`?t(`agent.chats.closeBusy`,{name:n}):t(`agent.chats.closeMessage`,{name:n}),ok:{label:t(`agent.chats.close`),color:`negative`,flat:!0,noCaps:!0},cancel:{label:t(`agent.chats.keep`),flat:!0,noCaps:!0}}).onOk(()=>{o.closeChat(e.info.id).catch(e=>{r(t(`agent.chats.closeFailed`),e)})})}return(e,r)=>(h(),E(`div`,ai,[O(mt,{"model-value":M(o).activeId??void 0,dense:``,shrink:``,"no-caps":``,"outside-arrows":``,"mobile-arrows":``,align:`left`,"active-color":`primary`,"indicator-color":`primary`,class:`agent-tabs__tabs`,"onUpdate:modelValue":r[0]||=e=>M(o).selectChat(String(e))},{default:I(()=>[(h(!0),E(L,null,u(M(o).list,e=>(h(),j(pt,{key:e.info.id,name:e.info.id,ripple:!1,class:`agent-tab`},{default:I(()=>[w(`div`,oi,[O(Er,{entry:e,class:`q-mr-xs`},null,8,[`entry`]),w(`span`,si,b(e.info.name),1),O(q,{flat:``,round:``,dense:``,size:`xs`,icon:`close`,class:`q-ml-xs`,"aria-label":M(t)(`agent.chats.close`),onClick:me(t=>s(e),[`stop`,`prevent`])},null,8,[`aria-label`,`onClick`]),O(n,{delay:600},{default:I(()=>[N(b(e.info.name),1)]),_:2},1024)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`]),M(o).canAddChat?(h(),j(q,{key:0,flat:``,round:``,dense:``,size:`sm`,icon:`add`,class:`q-mx-xs`,"aria-label":M(t)(`agent.chats.add`),onClick:r[1]||=e=>M(o).openNewChatDialog()},{default:I(()=>[O(n,null,{default:I(()=>[N(b(M(t)(`agent.chats.add`)),1)]),_:1})]),_:1},8,[`aria-label`])):z(``,!0)]))}}),[[`__scopeId`,`data-v-10656440`]]),li={class:`agent-panel column no-wrap fit`},ui={class:`col agent-panel__views`},di=V(D({__name:`AgentChatPanel`,setup(e){let t=Z();return(e,n)=>(h(),E(`div`,li,[M(t).error&&!M(t).newChatDialog.open?(h(),j(o,{key:0,dense:``,class:`bg-negative text-white`},{default:I(()=>[N(b(M(t).error),1)]),_:1})):z(``,!0),M(t).list.length===0?(h(),j(ii,{key:1,class:`col`})):(h(),E(L,{key:2},[O(ci),w(`div`,ui,[(h(!0),E(L,null,u(M(t).list,e=>p((h(),j(ei,{key:e.info.id,"chat-id":e.info.id,active:e.info.id===M(t).activeId},null,8,[`chat-id`,`active`])),[[he,e.info.id===M(t).activeId]])),128))])],64))]))}}),[[`__scopeId`,`data-v-f30b083a`]]);function fi(e){let t;try{t=e.validate()}catch(t){return Promise.resolve({valid:!1,comp:e,err:t})}return typeof t?.then==`function`?t.then(t=>({valid:t,comp:e}),t=>({valid:!1,comp:e,err:t})):Promise.resolve({valid:t,comp:e})}var pi=Y({name:`QForm`,props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:[`reset`,`validationSuccess`,`validationError`],setup(e,{slots:t,emit:n}){let r=C(),i=A(null),a=0,o=[];function c(t){let r=typeof t==`boolean`?t:!e.noErrorFocus,i=++a,s=(e,t)=>{n(`validation${e?`Success`:`Error`}`,t)};return(e.greedy?Promise.all(o.map(fi)).then(e=>e.filter(e=>!e.valid)):o.reduce((e,t)=>e.then(()=>fi(t)).then(e=>{if(!e.valid)throw e}),Promise.resolve()).catch(e=>[e])).then(e=>{if(e===void 0||e.length===0)return i===a&&s(!0),!0;if(i===a){let{comp:t,err:n}=e[0];if(n!==void 0&&console.error(n),s(!1,t),r){let t=e.find(({comp:e})=>typeof e.focus==`function`&&!pe(e.$));t!==void 0&&t.comp.focus()}}return!1})}function l(){a++,o.forEach(e=>{typeof e.resetValidation==`function`&&e.resetValidation()})}function u(t){t!==void 0&&we(t);let r=a+1;c().then(i=>{r===a&&i&&(e.onSubmit===void 0?t?.target!==void 0&&typeof t.target.submit==`function`&&t.target.submit():n(`submit`,t))})}function d(t){t!==void 0&&we(t),n(`reset`),ae(()=>{l(),e.autofocus&&!e.noResetFocus&&f()})}function f(){Ke(()=>{i.value!==null&&(i.value.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||i.value.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||i.value.querySelector(`[autofocus], [data-autofocus]`)||Array.prototype.find.call(i.value.querySelectorAll(`[tabindex]`),e=>e.tabIndex!==-1))?.focus({preventScroll:!0})})}g(ce,{bindComponent(e){o.push(e)},unbindComponent(e){let t=o.indexOf(e);t!==-1&&o.splice(t,1)}});let p=!1;return te(()=>{p=!0}),y(()=>{p&&e.autofocus&&f()}),s(()=>{e.autofocus&&f()}),Object.assign(r.proxy,{validate:c,resetValidation:l,submit:u,reset:d,focus:f,getValidationComponents:()=>o}),()=>B(`form`,{class:`q-form`,ref:i,onSubmit:u,onReset:d},ge(t.default))}}),mi={key:0},hi={class:`text-caption text-grey-6 q-mb-xs`},gi={key:1,class:`text-negative text-caption`},_i=V(D({__name:`AgentNewChatDialog`,setup(e){let{t}=X(),n=Z(),{presets:r,newChatDialog:i,creating:a,error:o}=qe(n),s=R({get:()=>i.value.open,set:e=>{e||n.closeNewChatDialog()}}),c=P(null),l=P(``),f=P(!1),m=R(()=>r.value.map(e=>({value:e.id,label:e.available?e.title:`${e.title} (${t(`agent.unavailable`)})`,disable:!e.available}))),g=R(()=>r.value.find(e=>e.id===c.value)??null);function _(){return g.value?vt(g.value.title,n.list.map(e=>e.info.name)):``}d(s,e=>{e&&(c.value=r.value.find(e=>e.id===c.value&&e.available)?.id??r.value.find(e=>e.available)?.id??null,f.value=!1,l.value=_(),o.value=null)}),d(c,()=>{f.value||(l.value=_())});async function v(){if(c.value&&!a.value)try{await n.createChat(c.value,l.value.trim()||_(),i.value.context),n.closeNewChatDialog()}catch{}}return(e,n)=>(h(),j(Ge,{modelValue:s.value,"onUpdate:modelValue":n[3]||=e=>s.value=e},{default:I(()=>[O(Le,{class:`agent-new-chat`},{default:I(()=>[O(pi,{onSubmit:me(v,[`prevent`])},{default:I(()=>[O(Re,{class:`text-h6`},{default:I(()=>[N(b(M(t)(`agent.newChat.title`)),1)]),_:1}),O(Re,{class:`column q-gutter-y-md q-pt-none`},{default:I(()=>[O(Ve,{modelValue:l.value,"onUpdate:modelValue":[n[0]||=e=>l.value=e,n[1]||=e=>f.value=!0],autofocus:``,dense:``,outlined:``,maxlength:`60`,label:M(t)(`agent.newChat.name`)},null,8,[`modelValue`,`label`]),O(dt,{modelValue:c.value,"onUpdate:modelValue":n[2]||=e=>c.value=e,dense:``,outlined:``,"emit-value":``,"map-options":``,label:M(t)(`agent.newChat.agent`),options:m.value},null,8,[`modelValue`,`label`,`options`]),M(i).context.length>0?(h(),E(`div`,mi,[w(`div`,hi,b(M(t)(`agent.newChat.context`)),1),(h(!0),E(L,null,u(M(i).context,(e,t)=>(h(),j(Zt,{key:t,item:e},null,8,[`item`]))),128))])):z(``,!0),M(o)?(h(),E(`div`,gi,b(M(o)),1)):z(``,!0)]),_:1}),O(Be,{align:`right`},{default:I(()=>[p(O(q,{flat:``,"no-caps":``,label:M(t)(`agent.newChat.cancel`)},null,8,[`label`]),[[it]]),O(q,{type:`submit`,color:`primary`,unelevated:``,"no-caps":``,loading:M(a),disable:!c.value,label:M(t)(`agent.newChat.create`)},null,8,[`loading`,`disable`,`label`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-887d90c7`]]),vi=[`aria-label`,`aria-valuenow`],yi=360,bi=320,xi=440,Si=1e3,Ci=900,wi=V(D({__name:`AgentSidebar`,setup(e){let{t}=X(),{panelOpen:n}=qe(Z()),{isDark:r}=$e(),i=gt({key:`githuman.agentPanelWidth`,initial:xi,min:bi,max:()=>Math.max(bi,Math.min(Si,window.innerWidth-yi))});return(e,a)=>(h(),E(L,null,[O(Nt,{modelValue:M(n),"onUpdate:modelValue":a[2]||=e=>_(n)?n.value=e:null,side:`right`,bordered:``,width:M(i).width.value,breakpoint:Ci,dark:M(r),class:c([{"agent-drawer--dragging":M(i).dragging.value},`agent-drawer`])},{default:I(()=>[O(di),p(w(`div`,{class:`agent-drawer__handle`,role:`separator`,"aria-orientation":`vertical`,tabindex:`0`,"aria-label":M(t)(`agent.resize`),"aria-valuenow":M(i).width.value,onKeydown:[a[0]||=le(me(e=>M(i).nudge(`wider`),[`prevent`]),[`left`]),a[1]||=le(me(e=>M(i).nudge(`narrower`),[`prevent`]),[`right`])]},null,40,vi),[[st,M(i).drag,void 0,{preserveCursor:!0,prevent:!0,mouse:!0,horizontal:!0}]])]),_:1},8,[`modelValue`,`width`,`dark`,`class`]),O(_i)],64))}}),[[`__scopeId`,`data-v-2a2eac99`]]),Ti=Y({name:`QToolbarTitle`,props:{shrink:Boolean},setup(e,{slots:t}){return()=>B(`div`,{class:`q-toolbar__title ellipsis`+(e.shrink?` col-shrink`:``)},ge(t.default))}}),Ei=Y({name:`QToolbar`,props:{inset:Boolean},setup(e,{slots:t}){let n=R(()=>`q-toolbar row no-wrap items-center`+(e.inset?` q-toolbar--inset`:``));return()=>B(`div`,{class:n.value,role:`toolbar`},ge(t.default))}});function Di(e,t){e.value!==t&&(e.value=t)}var Oi=Y({name:`QHeader`,props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:[`reveal`,`focusin`],setup(e,{slots:t,emit:n}){let r=H(),i=se(ye,U);if(i===U)return console.error(`QHeader needs to be child of QLayout`),U;let a=P(Number.parseInt(e.heightHint,10)),o=P(!0),s=R(()=>e.reveal||i.view.value.includes(`H`)||r.platform.is.ios&&i.isContainer.value),c=R(()=>{if(!e.modelValue)return 0;if(s.value)return o.value?a.value:0;let t=a.value-i.scroll.value.position;return Math.max(t,0)}),u=R(()=>!e.modelValue||s.value&&!o.value),f=R(()=>e.modelValue&&u.value&&e.reveal),p=R(()=>`q-header q-layout__section--marginal `+(s.value?`fixed`:`absolute`)+`-top`+(e.bordered?` q-header--bordered`:``)+(u.value?` q-header--hidden`:``)+(e.modelValue?``:` q-layout--prevent-focus`)),m=R(()=>{let e=i.rows.value.top,t={};return e[0]===`l`&&i.left.space&&(t[r.lang.rtl?`right`:`left`]=`${i.left.size}px`),e[2]===`r`&&i.right.space&&(t[r.lang.rtl?`left`:`right`]=`${i.right.size}px`),t});function h(e,t){i.update(`header`,e,t)}function g({height:e}){Di(a,e),h(`size`,e)}function _(e){f.value&&Di(o,!0),n(`focusin`,e)}d(()=>e.modelValue,e=>{h(`space`,e),Di(o,!0),i.animate()}),d(c,e=>{h(`offset`,e)}),d(()=>e.reveal,t=>{t||Di(o,e.modelValue)}),d(o,e=>{i.animate(),n(`reveal`,e)}),d(i.scroll,t=>{e.reveal&&Di(o,t.direction===`up`||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});let v={};return i.instances.header=v,e.modelValue&&h(`size`,a.value),h(`space`,e.modelValue),h(`offset`,c.value),l(()=>{i.instances.header===v&&(i.instances.header=void 0,h(`size`,0),h(`offset`,0),h(`space`,!1))}),()=>{let n=Ce(t.default,[]);return e.elevated&&n.push(B(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(B(et,{debounce:0,onResize:g})),B(`header`,{class:p.value,style:m.value,onFocusin:_},n)}}}),ki={class:`text-weight-medium`},Ai=V(D({__name:`MainHeader`,emits:[`toggle-drawer`],setup(e,{emit:t}){let a=t,{t:o}=X(),{info:s}=qe(Ye()),{version:l}=qe(Xe()),{isDark:u}=$e(),d=Z(),{enabled:f,panelOpen:m}=qe(d);return(e,t)=>(h(),j(Oi,{class:c(M(u)?`bg-dark text-white`:`bg-white text-dark`),bordered:``},{default:I(()=>[O(Ei,null,{default:I(()=>[p(O(q,{flat:``,dense:``,round:``,icon:`menu`,"aria-label":M(o)(`nav.menu`),class:`q-mr-sm`,onClick:t[0]||=e=>a(`toggle-drawer`)},null,8,[`aria-label`]),[[G]]),O(Ti,{shrink:``,class:`text-weight-bold gt-xs`},{default:I(()=>[N(b(M(o)(`app.title`)),1)]),_:1}),M(l)?(h(),j(tt,{key:0,outline:``,rounded:``,class:`text-primary q-ml-xs`},{default:I(()=>[N(` v`+b(M(l)),1)]),_:1})):z(``,!0),M(s)?(h(),E(`div`,{key:1,class:c([`row items-center q-gutter-x-sm text-body2 q-ml-md gt-sm repo-info`,M(u)?`text-grey-5`:`text-grey-7`])},[w(`span`,ki,b(M(s).name),1),M(s).branch?(h(),E(L,{key:0},[t[2]||=w(`span`,null,`/`,-1),O(tt,{outline:``,class:`text-body2 text-primary`,rounded:``},{default:I(()=>[N(b(M(s).branch),1)]),_:1})],64)):z(``,!0)],2)):z(``,!0),O(r),M(f)?p((h(),j(q,{key:2,flat:``,round:``,dense:``,icon:M(i),color:M(m)?`primary`:void 0,"aria-label":M(o)(`nav.agent`),onClick:t[1]||=e=>m.value=!M(m)},{default:I(()=>[O(n,null,{default:I(()=>[N(b(M(o)(`nav.agent`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`aria-label`])),[[G]]):z(``,!0)]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-7b82112e`]]),ji={class:`fit column no-wrap`},Mi=V(D({__name:`MainMenu`,props:{modelValue:{type:[Boolean,null],required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=f(e,`modelValue`),{t:r}=X(),{isDark:a,toggleTheme:o}=$e(),s=Z(),{enabled:l,activeId:d,panelOpen:m}=qe(s),g=P(!0);return(e,f)=>(h(),j(Nt,{modelValue:t.value,"onUpdate:modelValue":f[2]||=e=>t.value=e,breakpoint:M(St),bordered:``,width:220,dark:M(a)},{default:I(()=>[w(`div`,ji,[O(ot,{class:`col scroll`},{default:I(()=>[p((h(),j(Q,{clickable:``,to:{path:`/`}},{default:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:`compare_arrows`})]),_:1}),O($,null,{default:I(()=>[N(b(M(r)(`nav.changes`)),1)]),_:1})]),_:1})),[[G]]),p((h(),j(Q,{clickable:``,to:{path:`/reviews`}},{default:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:`rate_review`})]),_:1}),O($,null,{default:I(()=>[N(b(M(r)(`nav.reviews`)),1)]),_:1})]),_:1})),[[G]]),M(l)?(h(),j(pn,{key:0,modelValue:g.value,"onUpdate:modelValue":f[1]||=e=>g.value=e,"expand-separator":``,"expand-icon-class":M(a)?`text-grey-4`:`text-grey-8`},{header:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:M(i)},null,8,[`name`])]),_:1}),O($,null,{default:I(()=>[N(b(M(r)(`agent.chats.title`)),1)]),_:1}),M(s).canAddChat?(h(),j($,{key:0,side:``},{default:I(()=>[O(q,{flat:``,round:``,dense:``,size:`sm`,icon:`add`,class:c(M(a)?`text-grey-4`:`text-grey-8`),"aria-label":M(r)(`agent.chats.add`),onClick:f[0]||=me(e=>M(s).openNewChatDialog(),[`stop`])},{default:I(()=>[O(n,null,{default:I(()=>[N(b(M(r)(`agent.chats.add`)),1)]),_:1})]),_:1},8,[`class`,`aria-label`])]),_:1})):z(``,!0)]),default:I(()=>[O(ot,{dense:``,class:`agent-menu__chats`},{default:I(()=>[(h(!0),E(L,null,u(M(s).list,e=>p((h(),j(Q,{key:e.info.id,clickable:``,active:M(m)&&e.info.id===M(d),"active-class":`text-primary`,onClick:t=>M(s).openChat(e.info.id)},{default:I(()=>[O($,{avatar:``,class:`agent-menu__dot`},{default:I(()=>[O(Er,{entry:e},null,8,[`entry`])]),_:2},1024),O($,null,{default:I(()=>[O(ft,{lines:`1`},{default:I(()=>[N(b(e.info.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`])),[[G]])),128)),M(s).list.length===0?(h(),j(Q,{key:0,dense:``},{default:I(()=>[O($,{class:`text-caption text-grey-6`},{default:I(()=>[N(b(M(r)(`agent.chats.empty`)),1)]),_:1})]),_:1})):z(``,!0)]),_:1})]),_:1},8,[`modelValue`,`expand-icon-class`])):z(``,!0)]),_:1}),O(ot,{bordered:``,dark:M(a)},{default:I(()=>[p((h(),j(Q,{clickable:``,onClick:M(o)},{default:I(()=>[O($,{avatar:``},{default:I(()=>[O(W,{name:M(a)?`light_mode`:`dark_mode`},null,8,[`name`])]),_:1}),O($,null,{default:I(()=>[N(b(M(a)?M(r)(`theme.switchToLight`):M(r)(`theme.switchToDark`)),1)]),_:1})]),_:1},8,[`onClick`])),[[G]])]),_:1},8,[`dark`])])]),_:1},8,[`modelValue`,`breakpoint`,`dark`]))}}),[[`__scopeId`,`data-v-33143e23`]]),Ni=D({__name:`MainLayout`,setup(e){let{enabled:t}=qe(Z()),{open:n,toggle:r,onResize:i}=At();return(e,a)=>{let o=m(`router-view`);return h(),j(xt,{view:`hHh lpr fFf`,onResize:M(i)},{default:I(()=>[O(Ai,{onToggleDrawer:M(r)},null,8,[`onToggleDrawer`]),O(Mi,{modelValue:M(n),"onUpdate:modelValue":a[0]||=e=>_(n)?n.value=e:null},null,8,[`modelValue`]),M(t)?(h(),j(wi,{key:0})):z(``,!0),O(yt,null,{default:I(()=>[O(o)]),_:1})]),_:1},8,[`onResize`])}}});export{Ni as default};
@@ -1 +0,0 @@
1
- import{i as e,l as t,r as n}from"./agent-icon-C1oimBWa.js";import{A as r,C as i,F as a,G as o,N as s,Tt as c,c as l,d as u,g as d,h as f,j as p,l as m,lt as h,m as g,nt as _,q as v,r as y,s as b,u as x}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as S,U as C,d as w,s as T,t as E}from"./QBtn-BDbJU6_B.js";import{et as ee,p as D,tt as O}from"./index-CuqF4_ks.js";import{n as k}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as A,r as j}from"./pinia-DmTi2T44.js";import{c as M,i as N,o as P,r as F,s as I}from"./single-flight-r8B7stt1.js";import{h as L}from"./QMenu-QYPSkHBE.js";import{t as R}from"./export-file-Di_2jvjP.js";import{c as z,s as B,t as V}from"./AppPage-BNPBe_fi.js";import{n as H,t as U,u as W}from"./StatusSwitcher-CenEW-Lu.js";function G(e){return{...e,oldPath:z(e.oldPath),newPath:z(e.newPath)}}var K=A(`review-detail`,()=>{let e=_(null),t=_([]),n=_(!1),r=_(null),i=b(()=>e.value?JSON.parse(e.value.snapshotData).map(G):[]),a=b(()=>{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 o(i){n.value=!0,r.value=null;try{let[n,r]=await Promise.all([I(`/api/reviews/${i}`),I(`/api/reviews/${i}/comments`)]);e.value=n,t.value=r}catch(n){e.value=null,t.value=[],r.value=N(n)}finally{n.value=!1}}async function s(){e.value&&(t.value=await I(`/api/reviews/${e.value.id}/comments`))}async function c(t){e.value&&=await M(`/api/reviews/${e.value.id}`,{status:t})}async function l(e,n){let r=await M(`/api/comments/${e}`,{content:n});t.value=t.value.map(t=>t.id===e?r:t)}async function u(e){await P(`/api/comments/${e}`),t.value=t.value.filter(t=>t.id!==e)}async function d(e){let n=await M(`/api/comments/${e}/resolve`);t.value=t.value.map(t=>t.id===e?n:t)}async function f(e){let n=await M(`/api/comments/${e}/unresolve`);t.value=t.value.map(t=>t.id===e?n:t)}return{review:e,comments:t,loading:n,error:r,files:i,commentsByFile:a,load:o,refreshComments:s,setStatus:c,editComment:l,deleteComment:u,resolveComment:d,unresolveComment:f}}),q=d({__name:`DownloadButton`,props:{url:{},filename:{},tooltip:{}},setup(t){let r=t,{t:a}=k(),o=n(),l=_(!1);async function u(){l.value=!0;try{let e=await fetch(r.url);if(!e.ok)throw Error(`Request failed with status ${e.status}`);let t=await e.text(),n=R(r.filename,t,`text/markdown`);if(n!==!0)throw n}catch(e){o(a(`reviews.detail.downloadError`),e)}finally{l.value=!1}}return(n,r)=>(s(),m(E,i(n.$attrs,{padding:`4px`,flat:``,dense:``,round:``,loading:l.value,icon:`download`,"aria-label":t.tooltip,onClick:C(u,[`stop`])}),{default:v(()=>[t.tooltip?(s(),m(e,{key:0},{default:v(()=>[g(c(t.tooltip),1)]),_:1})):x(``,!0)]),_:1},16,[`loading`,`aria-label`]))}}),J={class:`review-detail-page__header q-pa-sm`},Y={class:`row items-center q-gutter-x-sm`},X={class:`text-h6 ellipsis`},Z={class:`row items-center q-gutter-x-sm q-mt-xs`},Q={class:`text-caption text-grey-6`},te={key:0,class:`q-pa-md text-grey-6`},$=S(d({__name:`ReviewDetailPage`,setup(e){let{t:n}=k(),i=ee(),d=O(),S=K(),{review:C,files:A,commentsByFile:M,loading:N}=j(S),P=b(()=>String(i.params.id)),I=_(new Set),R=b(()=>A.value.filter(e=>(M.value.get(B(e))??[]).length>0)),z=b(()=>`/api/reviews/${P.value}/export?format=markdown`),G=b(()=>`${(C.value?.name??C.value?.id??`review`).replace(/[/\\:*?"<>|]/g,`-`)}.md`);function $(){S.load(P.value),I.value=new Set}r($),o(P,$);let ne=F([`comment:created`,`comment:updated`,`comment:deleted`],()=>void S.refreshComments());p(()=>ne.close());function re(e){let t=new Set(I.value);t.has(e)?t.delete(e):t.add(e),I.value=t}function ie(e){I.value=new Set(I.value).add(e)}function ae(e){S.setStatus(e)}W({create:async()=>{throw Error(`A saved review gets no new comments`)},edit:(e,t)=>S.editComment(e,t),remove:e=>S.deleteComment(e),resolve:e=>S.resolveComment(e),unresolve:e=>S.unresolveComment(e)});function oe(){d.push(`/reviews`)}return(e,r)=>h(N)?(s(),m(V,{key:0,class:`row justify-center q-pa-lg`},{default:v(()=>[f(T,{color:`primary`,size:`2em`})]),_:1})):h(C)?(s(),m(V,{key:2,class:`review-detail-page column no-wrap q-pa-md`},{default:v(()=>[l(`div`,J,[l(`div`,Y,[f(E,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:oe}),l(`div`,X,c(h(C).name??h(n)(`reviews.list.unnamed`)),1),f(t),f(q,{url:z.value,filename:G.value,tooltip:h(n)(`reviews.detail.download`)},null,8,[`url`,`filename`,`tooltip`])]),l(`div`,Z,[l(`span`,Q,[f(w,{name:`account_tree`,size:`14px`}),g(` `+c(h(C).branch??h(n)(`reviews.list.unknownBranch`)),1)]),f(t),f(U,{status:h(C).status,onChange:ae},null,8,[`status`])])]),f(D),f(L,{class:`col`,"content-style":`padding: 8px`},{default:v(()=>[R.value.length===0?(s(),u(`p`,te,c(h(n)(`reviews.detail.noComments`)),1)):x(``,!0),(s(!0),u(y,null,a(R.value,e=>(s(),m(H,{key:h(B)(e),file:e,expanded:I.value.has(h(B)(e)),comments:h(M).get(h(B)(e))??[],"comments-only":``,"comments-editable":``,"no-full-file":``,onToggle:t=>re(h(B)(e)),onExpand:t=>ie(h(B)(e))},null,8,[`file`,`expanded`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})]),_:1})):(s(),m(V,{key:1,class:`q-pa-lg text-grey-6`},{default:v(()=>[g(c(h(n)(`reviews.detail.notFound`)),1)]),_:1}))}}),[[`__scopeId`,`data-v-d5151ea5`]]);export{$ as default};
@@ -1,4 +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-tP7fpdit.js","assets/agent-icon-C1oimBWa.js","assets/runtime-core.esm-bundler-CUpq88z7.js","assets/QBtn-BDbJU6_B.js","assets/event-rR76ioXz.js","assets/create-BkZH2Q0U.js","assets/debounce-CDIE7CV6.js","assets/index-CuqF4_ks.js","assets/is-BB7rJzdU.js","assets/index-CgeU6Wuu.css","assets/vue-i18n.runtime-D0pkhc7g.js","assets/single-flight-r8B7stt1.js","assets/QMenu-QYPSkHBE.js","assets/agent-icon-BUd-vCRS.css","assets/engine-oniguruma-DaaPGLR3.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,i as n,l as r,o as i,r as a,s as o,t as s,u as c}from"./agent-icon-C1oimBWa.js";import{A as l,C as u,Ct as d,D as f,F as p,G as m,H as h,I as g,J as _,K as ee,N as v,P as y,Q as b,R as te,S as x,Tt as S,U as C,at as ne,c as w,ct as T,d as E,et as re,g as D,h as O,j as ie,k as ae,l as k,lt as A,m as j,nt as M,q as N,r as P,s as F,u as I,wt as L,x as oe}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as R,E as se,H as ce,U as z,V as le,d as B,o as V,s as H,t as U}from"./QBtn-BDbJU6_B.js";import{n as ue}from"./create-BkZH2Q0U.js";import{Z as de,n as fe,nt as W,p as pe,t as me}from"./index-CuqF4_ks.js";import{n as G}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as he}from"./pinia-DmTi2T44.js";import{i as ge,r as _e,s as ve}from"./single-flight-r8B7stt1.js";import{t as ye}from"./agent-store-D1WRRYIE.js";import{b as be,d as K,f as q,m as J,p as Y,t as xe,u as Se}from"./QMenu-QYPSkHBE.js";import{a as Ce,i as we,n as Te,o as Ee,r as De,s as X}from"./AppPage-BNPBe_fi.js";function Oe(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 ke=Oe(1e5,e=>e.lines.length+1);function Ae(e={}){let t=M([]),n=M(!1),r=M(!1),i=M(null),a=0,o=null;async function s(s,l){let u=`${l}:${s}`;if(u!==o){c(),o=u;let r=e.cache?ke.get(u):void 0;r&&(t.value=r.lines,n.value=r.isBinary)}let d=++a;r.value=!0;try{let r=s.split(`/`).map(encodeURIComponent).join(`/`),o=await ve(`/api/git/file/${r}?ref=${encodeURIComponent(l)}`);if(d!==a)return;t.value=o.lines,n.value=o.isBinary,i.value=null,e.cache&&ke.set(u,{lines:o.lines,isBinary:o.isBinary})}catch(e){if(d!==a)return;i.value=ge(e)}finally{d===a&&(r.value=!1)}}function c(){++a,r.value=!1,o=null,t.value=[],n.value=!1,i.value=null}return{lines:t,isBinary:n,loading:r,error:i,fetchContent:s,reset:c}}var je=R(D({__name:`CommentCountBadge`,props:{count:{},compact:{type:Boolean}},setup(e){let{t}=G();return(r,i)=>e.count>0?(v(),E(`span`,{key:0,class:d([`comment-count-badge relative-position inline-block`,{"comment-count-badge--compact":e.compact}])},[O(B,{name:`mode_comment`,size:e.compact?`15px`:`20px`},null,8,[`size`]),O(q,{color:`primary`,floating:``,rounded:``},{default:N(()=>[j(S(e.count),1)]),_:1}),O(n,null,{default:N(()=>[j(S(A(t)(`reviews.comments.count`,{count:e.count})),1)]),_:1})],2)):I(``,!0)}}),[[`__scopeId`,`data-v-a3a5d346`]]),Me=Symbol(`scroll-root`);function Ne(){let e=oe(Me,void 0);return t=>e?.()??t.closest(`.q-scrollarea__container`)}var Pe=Symbol(`comment-actions`);function Fe(e){let{t}=G(),n=a();function r(e){return async(...r)=>{try{await e(...r)}catch(e){throw n(t(`reviews.comments.error`),e),e}}}y(Pe,{create:r(e.create),edit:r(e.edit),remove:r(e.remove),resolve:r(e.resolve),unresolve:r(e.unresolve)})}async function Z(){throw Error(`No comment actions are provided here`)}function Q(){return oe(Pe,void 0)||{create:Z,edit:Z,remove:Z,resolve:Z,unresolve:Z}}function Ie(e){e.catch(()=>void 0)}var Le={class:`diff-line__prefix`},Re={class:`diff-line__content`},ze=R(D({__name:`DiffLineRow`,props:{line:{},tokens:{},oldSelected:{type:Boolean},newSelected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`old-mousedown`,`old-mouseenter`,`new-mousedown`,`new-mouseenter`],setup(e,{emit:t}){let n=e,r=t,i=F(()=>({added:`+`,removed:`-`,context:` `})[n.line.type]),a=F(()=>n.line.type===`added`?`diff-line--added`:n.line.type===`removed`?`diff-line--removed`:``);function o(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,n)=>(v(),E(`div`,{class:d([`diff-line row no-wrap text-mono`,[a.value,{"diff-line--wrap":e.wrap}]])},[w(`span`,{class:d([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.oldLineNumber,"diff-line__gutter--selected":e.oldSelected}]),onMousedown:n[0]||=t=>e.line.oldLineNumber&&r(`old-mousedown`),onMouseenter:n[1]||=t=>e.line.oldLineNumber&&r(`old-mouseenter`)},S(e.line.oldLineNumber??``),35),w(`span`,{class:d([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.newLineNumber,"diff-line__gutter--selected":e.newSelected}]),onMousedown:n[2]||=t=>e.line.newLineNumber&&r(`new-mousedown`),onMouseenter:n[3]||=t=>e.line.newLineNumber&&r(`new-mouseenter`)},S(e.line.newLineNumber??``),35),w(`span`,Le,S(i.value),1),w(`span`,Re,[e.tokens?(v(!0),E(P,{key:0},p(e.tokens,(e,t)=>(v(),E(`span`,{key:t,style:L({color:o(e)})},S(e.content),5))),128)):(v(),E(P,{key:1},[j(S(e.line.content),1)],64))])],2))}}),[[`__scopeId`,`data-v-ea9014d8`]]),Be=2e3,Ve=D({__name:`RowSegment`,props:{minHeight:{},keep:{type:Boolean,default:!1}},emits:[`change`],setup(e,{emit:t}){let n=e,r=t,i=Ne(),a=C(`el`),o=M(!1),s=M(n.minHeight),c=!1,u;return l(()=>{let e=a.value?i(a.value):null;if(!a.value||!e){o.value=!0;return}u=new IntersectionObserver(e=>{let t=e[e.length-1];t&&(t.isIntersecting?o.value=!0:n.keep||(a.value&&o.value&&(s.value=a.value.offsetHeight,c=!0),o.value=!1))},{root:e,rootMargin:`${Be}px 0px`}),u.observe(a.value)}),m(o,e=>r(`change`,e)),m(()=>n.minHeight,e=>{c||(s.value=e)}),f(()=>u?.disconnect()),(e,t)=>(v(),E(`div`,{ref_key:`el`,ref:a,style:L(o.value?void 0:{height:`${s.value}px`})},[o.value?g(e.$slots,`default`,{},void 0,void 0,0):I(``,!0)],4))}});function He(e){if(e.length<=200)return{segmented:!1,groups:[{start:0,rows:[...e]}]};let t=[];for(let n=0;n<e.length;n+=100)t.push({start:n,rows:e.slice(n,n+100)});return{segmented:!0,groups:t}}var Ue=`\0`,We=[`pending:`,`draft:`,`busy:`,`edit:`],Ge=he(`card-state`,()=>{let e=M({});function t(e,t){return`${e}${Ue}${t}`}function n(n,r){return e.value[t(n,r)]}function r(n,r,i){e.value[t(n,r)]=i}function i(n,r){delete e.value[t(n,r)]}function a(t){for(let n of Object.keys(e.value)){let r=n.slice(0,n.indexOf(Ue));t.has(r)||delete e.value[n]}}function o(e){return e.slice(e.indexOf(Ue)+1)}function s(t){for(let n of Object.keys(e.value))t(o(n))&&delete e.value[n]}let c=Ce();m(()=>[c.loaded,c.stagedFiles,c.unstagedFiles],([e,t,n])=>{e&&a(new Set([...t.map(e=>Ee(`staged`,X(e))),...n.map(e=>Ee(`unstaged`,X(e)))]))},{immediate:!0});let l=we();return m(()=>l.activeReview?.id,()=>s(e=>We.some(t=>e.startsWith(t)))),m(()=>l.comments.map(e=>e.id),(e,t)=>{let n=new Set(e),r=new Set(t.filter(e=>!n.has(e)));r.size!==0&&s(e=>[...r].some(t=>[`edit:${t}`,`draft:edit:${t}`,`busy:edit:${t}`].includes(e)))}),{get:n,set:r,remove:i,prune:a}}),Ke=Symbol(`card-state-key`);function $(e,t,n={}){let r=n.local?void 0:n.key??oe(Ke,void 0);if(r===void 0){let e=M(t());return Object.assign(F({get:()=>e.value,set:t=>{e.value=t}}),{reset(){e.value=t()}})}let i=Ge();return Object.assign(F({get:()=>i.get(r,e)??t(),set:t=>i.set(r,e,t)}),{reset(){i.remove(r,e)}})}var qe={class:`comment-form q-pa-sm`},Je={class:`row items-center justify-between q-mt-xs`},Ye={key:0,class:`text-caption comment-form__line-range`},Xe={class:`row q-gutter-x-sm`},Ze=R(D({__name:`CommentForm`,props:{initialContent:{},submitLabel:{},lineRange:{default:null},draftKey:{},send:{}},emits:[`cancel`],setup(e,{emit:t}){let n=e,i=t,{t:a}=G(),o=n.draftKey?{}:{local:!0},s=$(`draft:${n.draftKey}`,()=>n.initialContent??``,o),c=$(`busy:${n.draftKey}`,()=>!1,o),l=s.value!==(n.initialContent??``);async function u(){let e=s.value.trim();if(e&&!c.value){c.value=!0;try{await n.send(e),s.reset()}catch{}finally{c.reset()}}}function d(){c.value||(s.reset(),i(`cancel`))}return(t,n)=>(v(),E(`div`,qe,[O(fe,{modelValue:A(s),"onUpdate:modelValue":n[0]||=e=>b(s)?s.value=e:null,dense:``,outlined:``,autofocus:!l,type:`textarea`,autogrow:``,placeholder:A(a)(`reviews.comments.placeholder`),readonly:A(c),onKeyup:ce(z(u,[`ctrl`]),[`enter`])},null,8,[`modelValue`,`autofocus`,`placeholder`,`readonly`,`onKeyup`]),w(`div`,Je,[e.lineRange?(v(),E(`span`,Ye,S(e.lineRange.start===e.lineRange.end?A(a)(`reviews.comments.line`,{line:e.lineRange.start}):A(a)(`reviews.comments.lineRange`,{start:e.lineRange.start,end:e.lineRange.end})),1)):I(``,!0),O(r),w(`div`,Xe,[O(De,{size:`sm`,disable:A(c),onClick:d},null,8,[`disable`]),O(Te,{size:`sm`,label:e.submitLabel,disable:!A(s).trim(),loading:A(c),onClick:u},null,8,[`label`,`disable`,`loading`])])])]))}}),[[`__scopeId`,`data-v-349d56ab`]]),Qe=D({__name:`DeleteButton`,props:{tooltip:{}},setup(e){return(t,r)=>(v(),k(U,u(t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:`delete_outline`,color:`warning`}),{default:N(()=>[e.tooltip?(v(),k(n,{key:0},{default:N(()=>[j(S(e.tooltip),1)]),_:1})):I(``,!0)]),_:1},16))}}),$e=D({__name:`EditButton`,props:{tooltip:{}},setup(e){return(t,r)=>(v(),k(U,u(t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:`edit`,color:`secondary`}),{default:N(()=>[e.tooltip?(v(),k(n,{key:0},{default:N(()=>[j(S(e.tooltip),1)]),_:1})):I(``,!0)]),_:1},16))}}),et={class:`comment-item__body`},tt={key:0,class:`comment-item__suggestion text-mono`},nt={class:`row items-center q-gutter-x-xs q-mt-xs`},rt=R(D({__name:`CommentItem`,props:{comment:{},readonly:{type:Boolean}},setup(e){let t=e,n=se(),{t:i}=G(),a=$(`edit:${t.comment.id}`,()=>!1),o=Q();function s(){n.dialog({title:i(`reviews.comments.deleteConfirmTitle`),message:i(`reviews.comments.deleteConfirmMessage`),persistent:!0,ok:{label:i(`reviews.comments.deleteConfirmOk`),color:`negative`,flat:!0},cancel:{label:i(`reviews.comments.deleteConfirmCancel`),flat:!0}}).onOk(()=>{Ie(o.remove(t.comment.id))})}async function c(e){await o.edit(t.comment.id,e),a.reset()}function l(){a.reset()}function u(){t.comment.resolved?Ie(o.unresolve(t.comment.id)):Ie(o.resolve(t.comment.id))}return(t,n)=>(v(),E(`div`,{class:d([`comment-item q-pa-sm`,{"comment-item--resolved":e.comment.resolved}])},[A(a)&&!e.readonly?(v(),k(Ze,{key:0,"initial-content":e.comment.content,"draft-key":`edit:${e.comment.id}`,"submit-label":A(i)(`reviews.comments.save`),send:c,onCancel:l},null,8,[`initial-content`,`draft-key`,`submit-label`])):(v(),E(P,{key:1},[w(`div`,et,S(e.comment.content),1),e.comment.suggestion?(v(),E(`pre`,tt,S(e.comment.suggestion),1)):I(``,!0),w(`div`,nt,[e.comment.resolved?(v(),k(q,{key:0,color:`positive`,outline:``},{default:N(()=>[j(S(A(i)(`reviews.comments.resolved`)),1)]),_:1})):I(``,!0),O(r),e.readonly?I(``,!0):(v(),E(P,{key:1},[O(U,{flat:``,dense:``,rounded:``,padding:`4px 12px`,size:`sm`,color:`primary`,label:e.comment.resolved?A(i)(`reviews.comments.unresolve`):A(i)(`reviews.comments.resolve`),onClick:u},null,8,[`label`]),O($e,{size:`sm`,tooltip:A(i)(`reviews.comments.edit`),onClick:n[0]||=e=>a.value=!0},null,8,[`tooltip`]),O(Qe,{size:`sm`,tooltip:A(i)(`reviews.comments.delete`),onClick:s},null,8,[`tooltip`])],64))])],64))],2))}}),[[`__scopeId`,`data-v-3af2187b`]]),it={class:`comment-thread q-pa-sm q-gutter-y-sm`},at=R(D({__name:`CommentThread`,props:{comments:{},showNewForm:{type:Boolean},readonly:{type:Boolean},pendingLineRange:{default:null},newDraftKey:{},submitNew:{type:Function,default:async()=>{throw Error(`No submit handler`)}}},emits:[`cancel-new`],setup(e,{emit:t}){let n=t,{t:r}=G();return(t,i)=>(v(),E(`div`,it,[(v(!0),E(P,null,p(e.comments,t=>(v(),k(rt,{key:t.id,comment:t,readonly:e.readonly},null,8,[`comment`,`readonly`]))),128)),e.showNewForm&&!e.readonly?(v(),k(Ze,{key:0,"submit-label":A(r)(`reviews.comments.submit`),"line-range":e.pendingLineRange,"draft-key":e.newDraftKey,send:e.submitNew,onCancel:i[0]||=e=>n(`cancel-new`)},null,8,[`submit-label`,`line-range`,`draft-key`,`send`])):I(``,!0)]))}}),[[`__scopeId`,`data-v-352fcd01`]]);function ot(e){let t=M(null);function n(e,n){t.value={column:e,start:n,current:n}}function r(e,n){t.value&&t.value.column===e&&(t.value.current=n)}function i(e,n){if(!t.value||t.value.column!==e)return!1;let r=Math.min(t.value.start,t.value.current),i=Math.max(t.value.start,t.value.current);return n>=r&&n<=i}function a(){if(!t.value)return;let{column:n,start:r,current:i}=t.value;t.value=null,e({column:n,startKey:Math.min(r,i),endKey:Math.max(r,i)})}return l(()=>window.addEventListener(`mouseup`,a)),ie(()=>window.removeEventListener(`mouseup`,a)),{start:n,enter:r,isSelected:i}}function st(e,t,n){return e.filter(e=>e.key!==null&&e.key>=t&&e.key<=n).map(e=>e.text)}function ct(e,t,n,r){return{column:e,startKey:t,endKey:n,fingerprint:JSON.stringify(st(r,t,n))}}function lt(e,t){return t.some(t=>t.key===e.endKey)?JSON.stringify(st(t,e.startKey,e.endKey))===e.fingerprint?`valid`:`stale`:`absent`}var ut={key:0,class:`diff-hunk`},dt={class:`diff-hunk__header text-mono text-primary`},ft=R(D({__name:`DiffHunkView`,props:{path:{},hunk:{},lineTokens:{},commentable:{type:Boolean},comments:{},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,n=Q(),r=F(()=>`@@ -${t.hunk.oldStart},${t.hunk.oldLines} +${t.hunk.newStart},${t.hunk.newLines} @@`),i=$(`pending:diff`,()=>null);function a(e){return t.hunk.lines.map(t=>({key:e===`old`?t.oldLineNumber:t.newLineNumber,text:`${t.type}\u0000${t.content}`}))}let o=F(()=>i.value?lt(i.value,a(i.value.column)):`absent`);ee(()=>{o.value===`stale`&&i.reset()});let s=F(()=>o.value===`valid`?i.value:null),c=ot(e=>{let n=t.hunk.lines.find(t=>e.column===`old`?t.oldLineNumber===e.startKey:t.newLineNumber===e.startKey);i.value={...ct(e.column,e.startKey,e.endKey,a(e.column)),lineType:n?.type??`context`}});function l(e,n){t.commentable&&n!==null&&c.start(e,n)}function d(e,n){t.commentable&&n!==null&&c.enter(e,n)}function f(e,n){return!t.commentable||n===null?!1:s.value&&s.value.column===e&&n>=s.value.startKey&&n<=s.value.endKey?!0:c.isSelected(e,n)}function m(e){return e.lineType===`removed`?`old`:`new`}function h(e){return(t.comments??[]).some(t=>{if(t.lineNumber===null||t.lineNumberEnd===null)return!1;let n=m(t)===`old`?e.oldLineNumber:e.newLineNumber;return n!==null&&n>=t.lineNumber&&n<=t.lineNumberEnd})}let g=F(()=>{let e=new Map,n=new Map;for(let r of t.comments??[]){if(r.lineNumberEnd===null)continue;let t=m(r)===`old`?e:n,i=t.get(r.lineNumberEnd);i?i.push(r):t.set(r.lineNumberEnd,[r])}return t.hunk.lines.map((t,r)=>({line:t,index:r,comments:[...t.oldLineNumber===null?[]:e.get(t.oldLineNumber)??[],...t.newLineNumber===null?[]:n.get(t.newLineNumber)??[]]})).filter(e=>!t.commentsOnly||h(e.line))}),_=F(()=>He(g.value)),y=F(()=>s.value?{start:s.value.startKey,end:s.value.endKey}:null);function b(e,t){return!!s.value&&s.value.column===e&&t===s.value.endKey}function x(e){return b(`old`,e.oldLineNumber)||b(`new`,e.newLineNumber)}async function C(e){let r=s.value;r&&(await n.create({filePath:t.path,lineNumber:r.startKey,lineNumberEnd:r.endKey,lineType:r.lineType,content:e}),i.reset())}function ne(){i.reset()}return(t,n)=>!e.commentsOnly||g.value.length>0?(v(),E(`div`,ut,[w(`div`,dt,S(r.value),1),(v(!0),E(P,null,p(_.value.groups,t=>(v(),k(te(_.value.segmented?Ve:`div`),u({key:t.start},{ref_for:!0},_.value.segmented?{minHeight:t.rows.length*A(20),keep:t.rows.some(({line:e})=>x(e))}:{}),{default:N(()=>[(v(!0),E(P,null,p(t.rows,({line:t,index:n,comments:r})=>(v(),E(P,{key:n},[O(ze,{line:t,tokens:e.lineTokens?.[n],selectable:e.commentable,wrap:e.wrap,"old-selected":f(`old`,t.oldLineNumber),"new-selected":f(`new`,t.newLineNumber),onOldMousedown:e=>l(`old`,t.oldLineNumber),onOldMouseenter:e=>d(`old`,t.oldLineNumber),onNewMousedown:e=>l(`new`,t.newLineNumber),onNewMouseenter:e=>d(`new`,t.newLineNumber)},null,8,[`line`,`tokens`,`selectable`,`wrap`,`old-selected`,`new-selected`,`onOldMousedown`,`onOldMouseenter`,`onNewMousedown`,`onNewMouseenter`]),r.length>0||x(t)?(v(),k(at,{key:0,comments:r,readonly:!e.commentsEditable,"show-new-form":x(t),"pending-line-range":y.value,"new-draft-key":`new:diff`,"submit-new":C,onCancelNew:ne},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`])):I(``,!0)],64))),128))]),_:2},1040))),128))])):I(``,!0)}}),[[`__scopeId`,`data-v-1594f9d5`]]),pt={class:`file-content-line__content`},mt=R(D({__name:`FileContentLine`,props:{lineNumber:{},content:{},tokens:{},selected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`gutter-mousedown`,`gutter-mouseenter`],setup(e,{emit:t}){let n=t;function r(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,i)=>(v(),E(`div`,{class:d([`file-content-line row no-wrap text-mono`,{"file-content-line--wrap":e.wrap}])},[w(`span`,{class:d([`file-content-line__gutter`,{"file-content-line__gutter--selectable":e.selectable,"file-content-line__gutter--selected":e.selected}]),onMousedown:i[0]||=e=>n(`gutter-mousedown`),onMouseenter:i[1]||=e=>n(`gutter-mouseenter`)},S(e.lineNumber),35),w(`span`,pt,[e.tokens?(v(!0),E(P,{key:0},p(e.tokens,(e,t)=>(v(),E(`span`,{key:t,style:L({color:r(e)})},S(e.content),5))),128)):(v(),E(P,{key:1},[j(S(e.content||` `),1)],64))])],2))}}),[[`__scopeId`,`data-v-791dfa37`]]),ht=6e4,gt={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`},_t={typescript:()=>W(()=>import(`./typescript-Utq2Cl8c.js`),__vite__mapDeps([0,1])),tsx:()=>W(()=>import(`./tsx-udAQXfEw.js`),[]),javascript:()=>W(()=>import(`./javascript-Yelw-5ZN.js`),__vite__mapDeps([2,3])),jsx:()=>W(()=>import(`./jsx-Bz0zcwM4.js`),[]),vue:()=>W(()=>import(`./vue-CSBlZ1UP.js`),__vite__mapDeps([4,5,3,6,7,1])),json:()=>W(()=>import(`./json-CaljABEy.js`),__vite__mapDeps([8,7])),markdown:()=>W(()=>import(`./markdown-BYOwaDjH.js`),[]),css:()=>W(()=>import(`./css-CdtkT07m.js`),__vite__mapDeps([9,5])),scss:()=>W(()=>import(`./scss-DHtrkMkT.js`),__vite__mapDeps([10,5])),html:()=>W(()=>import(`./html-DDNsd9lV.js`),__vite__mapDeps([11,6,5,3])),yaml:()=>W(()=>import(`./yaml-rwi0_p6S.js`),[]),bash:()=>W(()=>import(`./bash-CLZ0U2zV.js`),[]),python:()=>W(()=>import(`./python-gzcpVVnB.js`),[]),go:()=>W(()=>import(`./go-rLFTqkRN.js`),[]),rust:()=>W(()=>import(`./rust-Cfkwpbl8.js`),[]),java:()=>W(()=>import(`./java-BXcb2rRD.js`),[]),kotlin:()=>W(()=>import(`./kotlin-DhhofPvG.js`),[])},vt={light:()=>W(()=>import(`./github-light-EUqPIrTm.js`),[]),dark:()=>W(()=>import(`./github-dark-C-LZuMrd.js`),[])};function yt(e){let t=e.split(`.`);return t.length<2?`text`:gt[t.pop().toLowerCase()]??`text`}var bt=null,xt=new Set;async function St(e){bt||=(async()=>{let[{createHighlighterCore:e},{createOnigurumaEngine:t}]=await Promise.all([W(()=>import(`./core-tP7fpdit.js`),__vite__mapDeps([12,13,14,15,16,17,18,19,20,21,22,23,24,25])),W(()=>import(`./engine-oniguruma-DaaPGLR3.js`),__vite__mapDeps([26,13,14,15,16,17,18,19,20,21,22,23,24,25]))]);return e({themes:[vt.light(),vt.dark()],langs:[],engine:t(()=>W(()=>import(`./wasm-BnjxR4X6.js`),[]))})})();let t=await bt;return xt.has(e)||(await t.loadLanguage(_t[e]()),xt.add(e)),t}async function Ct(e,t){if(e===`text`||!_t[e]||t.length===0)return null;try{return(await St(e)).codeToTokensWithThemes(t.join(`
3
- `),{lang:e,themes:{light:`github-light`,dark:`github-dark`}}).map(e=>e.map(e=>({content:e.content,colorLight:e.variants.light?.color,colorDark:e.variants.dark?.color})))}catch{return null}}async function wt(e){let t=e.hunks.flatMap(e=>e.lines.map(e=>e.content));return Ct(yt(e.newPath||e.oldPath),t)}async function Tt(e,t){return Ct(yt(e),t)}var Et=Oe(ht,e=>e?.length??1),Dt=Promise.resolve();function Ot(e){let t=Dt.then(()=>new Promise(e=>setTimeout(e,0))).then(e);return Dt=t.catch(()=>void 0),t}function kt(e,t){return Ot(async()=>{let n=Et.get(e);if(n!==void 0)return n;if(t?.aborted)return;let r=await wt(e);return Et.set(e,r),r})}function At(e){return Et.get(e)}var jt={class:`file-content-view`},Mt=R(D({__name:`FileContentView`,props:{path:{},lines:{},commentable:{type:Boolean},comments:{},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,n=Q(),r=M(null),i=0;m(()=>[t.path,t.lines],async([e,t])=>{let n=++i;if(r.value=null,t.length>0){let a=await Tt(e,t);n===i&&(r.value=a)}},{immediate:!0});let a=$(`pending:full`,()=>null);function o(){return t.lines.map((e,t)=>({key:t+1,text:e}))}let s=F(()=>a.value?lt(a.value,o()):`absent`);ee(()=>{s.value===`stale`&&a.reset()});let c=F(()=>s.value===`valid`?a.value:null),l=ot(e=>{a.value=ct(e.column,e.startKey,e.endKey,o())});function d(e){return t.commentable?c.value&&e>=c.value.startKey&&e<=c.value.endKey?!0:l.isSelected(`full`,e):!1}let f=F(()=>{let e=new Map;for(let n of t.comments??[]){if(n.lineNumberEnd===null)continue;let t=e.get(n.lineNumberEnd);t?t.push(n):e.set(n.lineNumberEnd,[n])}return t.lines.map((t,n)=>({line:t,index:n,lineNumber:n+1,comments:e.get(n+1)??[]}))}),h=F(()=>He(f.value)),g=F(()=>c.value?{start:c.value.startKey,end:c.value.endKey}:null);function _(e){t.commentable&&l.start(`full`,e)}function y(e){t.commentable&&l.enter(`full`,e)}async function b(e){let r=c.value;r&&(await n.create({filePath:t.path,lineType:null,lineNumber:r.startKey,lineNumberEnd:r.endKey,content:e}),a.reset())}function x(){a.reset()}return(t,n)=>(v(),E(`div`,jt,[(v(!0),E(P,null,p(h.value.groups,t=>(v(),k(te(h.value.segmented?Ve:`div`),u({key:t.start},{ref_for:!0},h.value.segmented?{minHeight:t.rows.length*A(20),keep:t.rows.some(e=>c.value?.endKey===e.lineNumber)}:{}),{default:N(()=>[(v(!0),E(P,null,p(t.rows,({line:t,index:n,lineNumber:i,comments:a})=>(v(),E(P,{key:n},[O(mt,{"line-number":i,content:t,tokens:r.value?.[n],selectable:e.commentable,selected:d(i),wrap:e.wrap,onGutterMousedown:e=>_(i),onGutterMouseenter:e=>y(i)},null,8,[`line-number`,`content`,`tokens`,`selectable`,`selected`,`wrap`,`onGutterMousedown`,`onGutterMouseenter`]),a.length>0||c.value?.endKey===i?(v(),k(at,{key:0,comments:a,readonly:!e.commentsEditable,"show-new-form":c.value?.endKey===i,"pending-line-range":g.value,"new-draft-key":`new:full`,"submit-new":b,onCancelNew:x},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`])):I(``,!0)],64))),128))]),_:2},1040))),128))]))}}),[[`__scopeId`,`data-v-bc58fc26`]]),Nt={key:0,class:`row justify-center q-pa-lg`},Pt={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Ft={key:2,class:`text-caption text-grey-6 q-pa-md`},It={key:3,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Lt=D({__name:`DiffFileFullView`,props:{path:{},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,{t:n}=G(),{lines:r,isBinary:i,loading:a,error:o,fetchContent:s}=Ae({cache:!0});m(()=>t.path,e=>{s(e,`WORKTREE`)},{immediate:!0});let c=_e([`files:changed`],()=>{s(t.path,`WORKTREE`)});ie(()=>c.close());let l=Ce(),u=F(()=>l.unstagedFiles.some(e=>e.status===`deleted`&&X(e)===t.path));return(t,s)=>A(a)&&A(r).length===0&&!A(o)?(v(),E(`div`,Nt,[O(H,{color:`primary`,size:`2em`})])):u.value?(v(),E(`p`,Pt,S(A(n)(`changes.fullFileDeleted`)),1)):A(o)?(v(),E(`div`,Ft,[j(S(A(n)(`changes.fullFileLoadError`))+` `,1),w(`div`,null,S(A(o)),1)])):A(i)?(v(),E(`p`,It,S(A(n)(`changes.binaryFile`)),1)):(v(),k(Mt,{key:4,path:e.path,lines:A(r),commentable:e.commentable,"comments-editable":e.commentsEditable,comments:e.comments,wrap:e.wrap},null,8,[`path`,`lines`,`commentable`,`comments-editable`,`comments`,`wrap`]))}}),Rt={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function zt(e,t,n){if(typeof n!=`function`){t.handler=void 0,t.observer!==void 0&&(t.observer.disconnect(),t.observer=void 0);return}t.handler=n,t.observer===void 0&&(t.observer=new MutationObserver(n=>{(t.handler(n)===!1||t.once===!0)&&Bt(e)}),t.observer.observe(e,t.opts))}function Bt(e){let t=e.__qmutation;t!==void 0&&(t.observer?.disconnect(),e.__qmutation=void 0)}var Vt=ue({name:`mutation`,mounted(e,{modifiers:{once:t,...n},value:r}){let i={once:t,opts:Object.keys(n).length===0?Rt:n};zt(e,i,r),e.__qmutation=i},updated(e,{oldValue:t,value:n}){if(t!==n){let t=e.__qmutation;t!==void 0&&zt(e,t,n)}},beforeUnmount:Bt}),Ht={class:`horizontal-scroll-body`},Ut=[`tabindex`,`aria-label`],Wt={class:`horizontal-scroll-body__content`},Gt=R(D({__name:`HorizontalScrollBody`,props:{label:{}},setup(e){let t=C(`viewport`),n=C(`bar`),r=M(0),i=M(!1);function a(){let e=t.value;e&&(r.value=e.scrollWidth,i.value=e.scrollWidth>e.clientWidth+1)}m([r,i],()=>o(t.value,n.value),{flush:`post`});function o(e,t){e&&t&&t.scrollLeft!==e.scrollLeft&&(t.scrollLeft=e.scrollLeft)}return(s,c)=>(v(),E(`div`,Ht,[_((v(),E(`div`,{ref_key:`viewport`,ref:t,class:`horizontal-scroll-body__viewport`,tabindex:i.value?0:void 0,role:`group`,"aria-label":e.label,onScroll:c[0]||=e=>o(t.value,n.value)},[w(`div`,Wt,[g(s.$slots,`default`,{},void 0,!0)]),O(be,{debounce:0,onResize:a})],40,Ut)),[[Vt,a,void 0,{childList:!0,subtree:!0,characterData:!0}]]),_(w(`div`,{ref_key:`bar`,ref:n,class:`horizontal-scroll-body__bar`,"aria-hidden":`true`,tabindex:`-1`,onScroll:c[1]||=e=>o(n.value,t.value)},[w(`div`,{style:L({width:`${r.value}px`,height:`1px`})},null,4)],544),[[le,i.value]])]))}}),[[`__scopeId`,`data-v-8d2efd69`]]),Kt={role:`alert`},qt={class:`text-caption`},Jt=D({__name:`LoadErrorBanner`,props:{title:{},message:{},loading:{type:Boolean}},emits:[`retry`],setup(e,{emit:t}){let n=t,{t:r}=G();return(t,i)=>(v(),k(c,{dense:``,class:`bg-negative text-white`,role:`none`},{action:N(()=>[O(U,{flat:``,dense:``,color:`white`,label:A(r)(`changes.retry`),loading:e.loading,onClick:i[0]||=e=>n(`retry`)},null,8,[`label`,`loading`])]),default:N(()=>[w(`div`,Kt,[j(S(e.title)+` `,1),w(`div`,qt,S(e.message),1)])]),_:1}))}}),Yt={key:0,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Xt={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Zt=R(D({__name:`DiffFileCardBody`,props:{file:{},path:{},viewMode:{},wrap:{type:Boolean},hunkTokens:{},hunksState:{default:`ready`},hunksError:{default:void 0},loadingHeight:{default:0},commentable:{type:Boolean,default:!1},commentsEditable:{type:Boolean},commentsOnly:{type:Boolean},comments:{default:()=>[]}},emits:[`retry-hunks`],setup(e,{emit:t}){let n=e,r=t,{t:i}=G(),a=F(()=>n.comments.filter(e=>e.lineType!==null)),o=F(()=>n.comments.filter(e=>e.lineType===null));return(t,n)=>(v(),k(Gt,{class:`diff-file-card__body`,label:e.path},{default:N(()=>[e.viewMode===`full`?(v(),k(Lt,{key:0,path:e.path,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:o.value,wrap:e.wrap},null,8,[`path`,`commentable`,`comments-editable`,`comments`,`wrap`])):(v(),E(P,{key:1},[e.file.isBinary?(v(),E(`p`,Yt,S(A(i)(`changes.binaryFile`)),1)):e.hunksState===`loading`?(v(),E(`div`,{key:1,class:`diff-file-card__loading row flex-center`,style:L({minHeight:`${e.loadingHeight}px`})},[O(H,{size:`md`,color:`grey-6`,"aria-label":A(i)(`changes.hunksLoading`)},null,8,[`aria-label`])],4)):(v(),E(P,{key:2},[e.hunksState===`error`?(v(),k(Jt,{key:0,title:A(i)(`changes.hunksLoadError`),message:e.hunksError??``,loading:!1,onRetry:n[0]||=e=>r(`retry-hunks`)},null,8,[`title`,`message`])):e.file.hunks.length===0?(v(),E(`p`,Xt,S(A(i)(`changes.noTextChanges`)),1)):I(``,!0)],64)),(v(!0),E(P,null,p(e.file.hunks,(t,n)=>(v(),k(ft,{key:`${t.oldStart}:${t.newStart}`,path:e.path,hunk:t,"line-tokens":e.hunkTokens?.[n]??null,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:a.value,"comments-only":e.commentsOnly,wrap:e.wrap},null,8,[`path`,`hunk`,`line-tokens`,`commentable`,`comments-editable`,`comments`,`comments-only`,`wrap`]))),128))],64))]),_:1},8,[`label`]))}}),[[`__scopeId`,`data-v-21355b90`]]),Qt=D({__name:`CopyButton`,props:{value:{},tooltip:{}},setup(e){let t=e,r=M(!1),{registerTimeout:a}=de(),s=0;function c(){s++,r.value=!1}f(c),ae(c);async function l(){let e=s;try{if(await o(t.value),e!==s)return;r.value=!0,a(()=>{r.value=!1},i)}catch{}}return(t,i)=>_((v(),k(U,{flat:``,dense:``,round:``,size:`sm`,color:r.value?`positive`:void 0,icon:r.value?`check`:`content_copy`,"aria-label":e.tooltip,onClick:z(l,[`stop`])},{default:N(()=>[O(n,null,{default:N(()=>[j(S(e.tooltip),1)]),_:1})]),_:1},8,[`color`,`icon`,`aria-label`])),[[V]])}}),$t={class:`file-card-header row items-center no-wrap`},en={class:`file-card-header__name row items-center no-wrap`},tn={class:`ellipsis text-mono file-card-header__path`},nn=R(D({__name:`FileCardHeader`,props:{path:{}},setup(e){let{t}=G();return(n,i)=>(v(),E(`div`,$t,[g(n.$slots,`leading`,{},void 0,!0),w(`div`,en,[w(`span`,tn,S(e.path),1),O(Qt,{value:e.path,tooltip:A(t)(`common.copyPath`)},null,8,[`value`,`tooltip`]),g(n.$slots,`badges`,{},void 0,!0)]),O(r),g(n.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-28b34b1f`]]);function rn(){let{t:e}=G(),t=se(),n=ye();return r=>{n.addContext(r)===`limit`&&t.notify({type:`warning`,message:e(`agent.chats.limitReached`,{max:5})})}}var an={key:0,class:`row justify-center q-pa-lg`},on={key:1,class:`text-negative q-pa-md`},sn={key:2,class:`text-grey-6 q-pa-md`},cn=R(D({__name:`MarkdownPreviewDialog`,props:x({path:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){let r=n,i=h(n,`modelValue`),{t:a}=G(),{lines:o,isBinary:s,loading:c,error:l,fetchContent:u}=Ae(),d=F(()=>o.value.join(`
4
- `));function f(){u(r.path,`WORKTREE`)}return(r,u)=>(v(),k(t,{modelValue:i.value,"onUpdate:modelValue":u[0]||=e=>i.value=e,size:`wide`,title:n.path,onBeforeShow:f},{default:N(()=>[A(c)&&A(o).length===0?(v(),E(`div`,an,[O(H,{color:`primary`,size:`28px`})])):A(l)?(v(),E(`div`,on,S(A(l)),1)):A(s)?(v(),E(`div`,sn,S(A(a)(`changes.previewBinary`)),1)):(v(),k(e,{key:3,class:`md-preview__body`,text:d.value},null,8,[`text`]))]),_:1},8,[`modelValue`,`title`]))}}),[[`__scopeId`,`data-v-57d05fc3`]]),ln=D({__name:`FileHeaderMenu`,props:x({path:{},diffSource:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=h(e,`modelValue`),n=e,{t:r}=G(),i=ye(),a=rn(),o=F(()=>/\.(md|markdown)$/i.test(n.path??``)),c=M(!1);function l(){n.path&&a({kind:`file`,path:n.path})}function u(){n.path&&n.diffSource&&a({kind:`diff`,source:n.diffSource,path:n.path})}return(n,a)=>_((v(),k(U,{flat:``,round:``,dense:``,size:`sm`,icon:`more_vert`,"aria-label":A(r)(`changes.fileActions`)},{default:N(()=>[O(xe,null,{default:N(()=>[O(Se,{dense:``,class:`agent-menu`},{default:N(()=>[_((v(),k(K,{clickable:``,onClick:a[0]||=e=>t.value=!t.value},{default:N(()=>[O(Y,{side:``},{default:N(()=>[O(B,{name:t.value?`check_box`:`check_box_outline_blank`},null,8,[`name`])]),_:1}),O(Y,null,{default:N(()=>[j(S(A(r)(`changes.wrapLines`)),1)]),_:1})]),_:1})),[[J]]),o.value&&e.path?_((v(),k(K,{key:0,clickable:``,onClick:a[1]||=e=>c.value=!0},{default:N(()=>[O(Y,{side:``},{default:N(()=>[O(B,{name:`visibility`})]),_:1}),O(Y,null,{default:N(()=>[j(S(A(r)(`changes.previewMarkdown`)),1)]),_:1})]),_:1})),[[J]]):I(``,!0),A(i).enabled&&e.path?(v(),E(P,{key:1},[O(pe),e.diffSource?_((v(),k(K,{key:0,clickable:``,onClick:u},{default:N(()=>[O(Y,{side:``},{default:N(()=>[O(B,{name:A(s)},null,8,[`name`])]),_:1}),O(Y,null,{default:N(()=>[j(S(A(r)(`agent.context.addDiff`)),1)]),_:1})]),_:1})),[[J]]):I(``,!0),_((v(),k(K,{clickable:``,onClick:l},{default:N(()=>[O(Y,{side:``},{default:N(()=>[O(B,{name:A(s)},null,8,[`name`])]),_:1}),O(Y,null,{default:N(()=>[j(S(A(r)(`agent.context.addFile`)),1)]),_:1})]),_:1})),[[J]])],64)):I(``,!0)]),_:1})]),_:1}),o.value&&e.path?(v(),k(cn,{key:0,modelValue:c.value,"onUpdate:modelValue":a[2]||=e=>c.value=e,path:e.path},null,8,[`modelValue`,`path`])):I(``,!0)]),_:1},8,[`aria-label`])),[[V]])}}),un={class:`diff-file-card__status-section`},dn={class:`text-caption diff-file-card__stats`},fn={class:`text-positive`},pn={class:`text-negative q-ml-xs`},mn=R(D({__name:`DiffFileCardHeader`,props:x({path:{},status:{},additions:{},deletions:{},expanded:{type:Boolean},commentCount:{},fullFileToggle:{type:Boolean},agentSource:{}},{showFullFile:{type:Boolean,required:!0},showFullFileModifiers:{},wrap:{type:Boolean,required:!0},wrapModifiers:{}}),emits:x([`toggle`],[`update:showFullFile`,`update:wrap`]),setup(e){let t={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},n=h(e,`showFullFile`),r=h(e,`wrap`),{t:i}=G();return(a,o)=>_((v(),k(K,{clickable:``,dense:``,class:`diff-file-card__header-item`,onClick:o[4]||=e=>a.$emit(`toggle`)},{default:N(()=>[O(nn,{path:e.path},{leading:N(()=>[O(B,{name:`chevron_right`,size:`xs`,class:d([`diff-file-card__chevron`,{"diff-file-card__chevron--expanded":e.expanded}])},null,8,[`class`])]),badges:N(()=>[O(je,{compact:``,count:e.commentCount},null,8,[`count`])]),default:N(()=>[e.fullFileToggle?(v(),E(`div`,{key:0,class:`diff-file-card__toggle-section`,onClick:o[1]||=z(()=>{},[`stop`])},[O(me,{modelValue:n.value,"onUpdate:modelValue":o[0]||=e=>n.value=e,"left-label":``,dense:``,size:`xs`,label:A(i)(`changes.showFullFile`)},null,8,[`modelValue`,`label`])])):I(``,!0),w(`div`,un,[O(q,{color:t[e.status],outline:``,rounded:``},{default:N(()=>[j(S(A(i)(`changes.fileStatus.${e.status}`)),1)]),_:1},8,[`color`])]),w(`span`,dn,[w(`span`,fn,`+`+S(e.additions),1),w(`span`,pn,`-`+S(e.deletions),1)]),w(`div`,{onClick:o[3]||=z(()=>{},[`stop`])},[O(ln,{modelValue:r.value,"onUpdate:modelValue":o[2]||=e=>r.value=e,path:e.path,"diff-source":e.agentSource},null,8,[`modelValue`,`path`,`diff-source`])])]),_:1},8,[`path`])]),_:1})),[[V]])}}),[[`__scopeId`,`data-v-f20f8506`]]),hn={},gn={class:`file-card-frame`};function _n(e,t){return v(),E(`div`,gn,[g(e.$slots,`header`,{},void 0,!0),g(e.$slots,`default`,{},void 0,!0)])}var vn=R(hn,[[`render`,_n],[`__scopeId`,`data-v-d451c02f`]]);function yn(e,t){let n=M(null),r;function i(){r?.abort(),r=void 0}return m(()=>T(e),()=>{i(),n.value=null}),m(()=>[T(e),T(t)],async([e,t])=>{if(!t){i();return}if(n.value)return;let a=ne(e),o=At(a);if(o!==void 0){n.value=o;return}i();let s=new AbortController;r=s;let c=await kt(a,s.signal);s.signal.aborted||c===void 0||(r=void 0,n.value=c)},{immediate:!0}),re(i),{hunkTokens:F(()=>{let t=n.value;if(!t)return null;let r=0;return T(e).hunks.map(e=>{let n=t.slice(r,r+e.lines.length);return r+=e.lines.length,n})})}}function bn(e){let t=M(!1);return m(()=>T(e.expanded),n=>{n||(t.value=!1,e.onCollapsed?.())}),m([()=>T(e.expanded)&&t.value&&!T(e.loaded)&&!T(e.error),()=>T(e.version)],([t])=>{t&&e.onNeeded()},{immediate:!0}),{bodyMounted:t}}function xn(e){return yt(e)===`markdown`}var Sn=80,Cn=R(D({__name:`DiffFileCard`,props:{file:{},expanded:{type:Boolean},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},agentSource:{},stateKey:{},detail:{},hunksLoaded:{type:Boolean,default:!0},hunksError:{},noFullFile:{type:Boolean,default:!1}},emits:[`toggle`,`load-hunks`,`retry-hunks`,`clear-hunks-error`,`expand`],setup(e,{emit:t}){let n=e,r=t,i=F(()=>X(n.file)),a=F(()=>n.detail??n.file);y(Ke,n.stateKey);let o=n.stateKey?{key:n.stateKey}:{local:!0},s=$(`wrap`,()=>xn(i.value),o),c=$(`viewMode`,()=>`diff`,o);m(()=>n.file.status,e=>{e===`deleted`&&c.reset()},{immediate:!0});let l=F(()=>n.detail?n.detail.hunks.reduce((e,t)=>e+t.lines.length+1,0)*20:(n.file.additions+n.file.deletions)*20+Sn),{bodyMounted:u}=bn({expanded:()=>n.expanded,loaded:()=>n.hunksLoaded,error:()=>n.hunksError,version:()=>n.file,onNeeded:()=>r(`load-hunks`),onCollapsed:()=>r(`clear-hunks-error`)}),d=F(()=>n.hunksLoaded?`ready`:n.hunksError?`error`:n.detail?`ready`:`loading`),{hunkTokens:f}=yn(a,()=>n.expanded&&(n.detail!==void 0||n.hunksLoaded)),p=F({get:()=>c.value===`full`,set:e=>{e?(c.value=`full`,n.expanded||r(`expand`)):n.expanded&&(c.value=`diff`)}});return(t,n)=>(v(),k(vn,{id:`diff-file-${i.value}`,class:`diff-file-card`},{header:N(()=>[O(mn,{"show-full-file":p.value,"onUpdate:showFullFile":n[0]||=e=>p.value=e,wrap:A(s),"onUpdate:wrap":n[1]||=e=>b(s)?s.value=e:null,path:i.value,status:e.file.status,additions:e.file.additions,deletions:e.file.deletions,expanded:e.expanded,"comment-count":e.comments.length,"full-file-toggle":!e.noFullFile&&e.file.status!==`deleted`,"agent-source":e.agentSource,onToggle:n[2]||=e=>r(`toggle`)},null,8,[`show-full-file`,`wrap`,`path`,`status`,`additions`,`deletions`,`expanded`,`comment-count`,`full-file-toggle`,`agent-source`])]),default:N(()=>[e.expanded?(v(),k(Ve,{key:0,"min-height":l.value,onChange:n[4]||=e=>u.value=e},{default:N(()=>[O(Zt,{file:a.value,path:i.value,"view-mode":A(c),wrap:A(s),"hunk-tokens":A(f),"hunks-state":d.value,"hunks-error":e.hunksError,"loading-height":l.value,commentable:e.commentable,"comments-editable":e.commentsEditable,"comments-only":e.commentsOnly,comments:e.comments,onRetryHunks:n[3]||=e=>r(`retry-hunks`)},null,8,[`file`,`path`,`view-mode`,`wrap`,`hunk-tokens`,`hunks-state`,`hunks-error`,`loading-height`,`commentable`,`comments-editable`,`comments-only`,`comments`])]),_:1},8,[`min-height`])):I(``,!0)]),_:1},8,[`id`]))}}),[[`__scopeId`,`data-v-0e739ca1`]]),wn={class:`row q-gutter-x-sm no-wrap`},Tn=D({__name:`StatusSwitcher`,props:{status:{}},emits:[`change`],setup(e,{emit:t}){let n=[{value:`in_progress`,color:`grey-7`},{value:`approved`,color:`primary`},{value:`changes_requested`,color:`warning`}],r=e,i=t,{t:a}=G(),o=se();function s(e){e.value!==r.status&&o.dialog({title:a(`reviews.confirmStatusChange.title`),message:a(`reviews.confirmStatusChange.message`,{status:a(`reviews.status.${e.value}`)}),persistent:!0,ok:{label:a(`reviews.confirmStatusChange.ok`),color:`accent`},cancel:{label:a(`reviews.confirmStatusChange.cancel`),flat:!0}}).onOk(()=>{i(`change`,e.value)})}return(t,r)=>(v(),E(`div`,wn,[(v(),E(P,null,p(n,t=>O(U,{key:t.value,dense:``,size:`sm`,padding:`2px 8px`,"no-caps":``,outline:e.status!==t.value,unelevated:e.status===t.value,color:t.color,label:A(a)(`reviews.status.${t.value}`),onClick:e=>s(t)},null,8,[`outline`,`unelevated`,`color`,`label`,`onClick`])),64))]))}});export{ln as a,Jt as c,Me as d,je as f,vn as i,Mt as l,Cn as n,rn as o,Ae as p,xn as r,nn as s,Tn as t,Fe as u};