@tequila99/githuman 0.13.0 → 0.13.1

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 (149) hide show
  1. package/dist/server/db/artifact-validation-migrations.js +6 -0
  2. package/dist/server/errors/artifacts.js +1 -0
  3. package/dist/server/repositories/artifact-validation.repo.js +17 -0
  4. package/dist/server/routes/artifact-actions.js +9 -0
  5. package/dist/server/routes/artifact-agent.js +8 -0
  6. package/dist/server/services/artifact-validation-jobs.service.js +82 -49
  7. package/dist/shared/artifact-tools/descriptions.js +2 -0
  8. package/dist/shared/artifact-tools/schemas.js +8 -1
  9. package/dist/shared/artifacts/schemas.js +13 -2
  10. package/dist/web/assets/{AccessPage-D9xfFUBC.js → AccessPage-Dmu1-YCC.js} +1 -1
  11. package/dist/web/assets/{AddButton-DKNKmS1i.js → AddButton-C58xe78T.js} +1 -1
  12. package/dist/web/assets/{AddToAgentButton-wC1dzbDE.js → AddToAgentButton-Caehgd43.js} +1 -1
  13. package/dist/web/assets/{ArtifactsPage-nRD9XiRm.css → ArtifactsPage-D46E5HIK.css} +1 -1
  14. package/dist/web/assets/{ArtifactsPage-IHUO7SbH.js → ArtifactsPage-DTZTA4AU.js} +1 -1
  15. package/dist/web/assets/{CreateReviewFabButton-D58IHr36.js → CreateReviewFabButton-DVSiNykk.js} +1 -1
  16. package/dist/web/assets/{DialogHeader-BVrtb0Ri.js → DialogHeader-zLgPQKrk.js} +1 -1
  17. package/dist/web/assets/{IndexPage-BJ1EQdlT.js → IndexPage-D_h8rKHo.js} +1 -1
  18. package/dist/web/assets/{MainLayout-CeogGMHH.js → MainLayout-ycdfACNB.js} +4 -4
  19. package/dist/web/assets/{NoteVisualEditor-DqAZZig1.js → NoteVisualEditor-CQqVJBsl.js} +2 -2
  20. package/dist/web/assets/{NotesPage-DXgI-kwN.js → NotesPage-CtxHzvJG.js} +3 -3
  21. package/dist/web/assets/{PdfPreview-ByeBjQMQ.js → PdfPreview-CFMP6Aiw.js} +1 -1
  22. package/dist/web/assets/{ProjectFilePage-DV1anYfN.js → ProjectFilePage-1ZoTdWKE.js} +1 -1
  23. package/dist/web/assets/{QSpace-CVp0CPR_.js → QSpace-BmrklWw-.js} +1 -1
  24. package/dist/web/assets/{QSplitter-K2LjbupZ.js → QSplitter-C8fuuOAP.js} +1 -1
  25. package/dist/web/assets/{ReviewDetailPage-CL4Dmz0L.js → ReviewDetailPage-B9XuqZLn.js} +1 -1
  26. package/dist/web/assets/{ReviewsPage-BPJFTulG.js → ReviewsPage-D0tj2bZD.js} +1 -1
  27. package/dist/web/assets/{SaveButton-Vtjvcbt0.css → SaveButton-C_Uk-Adf.css} +1 -1
  28. package/dist/web/assets/SaveButton-R_HjdOWt.js +3 -0
  29. package/dist/web/assets/{StatusSwitcher-BtbSIr5q.js → StatusSwitcher-fsgwyZPd.js} +1 -1
  30. package/dist/web/assets/{TagFilterField-CPl-BxtL.js → TagFilterField-CmfKZPHR.js} +1 -1
  31. package/dist/web/assets/{TerminalView-B56cEx8g.js → TerminalView-BIknwuLc.js} +1 -1
  32. package/dist/web/assets/{abnfDiagram-O67JEVCF-D_6l0gCA.js → abnfDiagram-O67JEVCF-aCHmj_Pp.js} +1 -1
  33. package/dist/web/assets/{agent-store-Cs-hu1v1.js → agent-store-BV2OAJzn.js} +1 -1
  34. package/dist/web/assets/architecture-7GRP2DOG-BhXPG-R4.js +1 -0
  35. package/dist/web/assets/{architectureDiagram-NJMV4G6O-BFgjp9nL.js → architectureDiagram-NJMV4G6O-CFeMX15R.js} +1 -1
  36. package/dist/web/assets/{blockDiagram-BEXU5L5S-BWfbJk26.js → blockDiagram-BEXU5L5S-DNKI8TuU.js} +1 -1
  37. package/dist/web/assets/{c4Diagram-YGBWAQC7-oIqgOwQa.js → c4Diagram-YGBWAQC7-ChXo3l8L.js} +1 -1
  38. package/dist/web/assets/channel-Cu3Nk4LM.js +1 -0
  39. package/dist/web/assets/{chunk-3FUC2YCW-WI2pliXT.js → chunk-3FUC2YCW-0nm_NDgT.js} +1 -1
  40. package/dist/web/assets/{chunk-5DYCD2WN-DYvaF8o2.js → chunk-5DYCD2WN-C58aRWSu.js} +1 -1
  41. package/dist/web/assets/{chunk-742MDFTN-xd7B3x5h.js → chunk-742MDFTN-C6l3D224.js} +1 -1
  42. package/dist/web/assets/{chunk-7INBJB4K-nsyx3RGB.js → chunk-7INBJB4K-DLyHAyF6.js} +1 -1
  43. package/dist/web/assets/{chunk-7M6MHVWA-BxPQ9AEv.js → chunk-7M6MHVWA-CbFCWaeF.js} +1 -1
  44. package/dist/web/assets/{chunk-7PRAP22T-CvHw2y-F.js → chunk-7PRAP22T-uKx0VBKu.js} +1 -1
  45. package/dist/web/assets/{chunk-GTNCS2PH-DIfN1SOI.js → chunk-GTNCS2PH-BfITava8.js} +1 -1
  46. package/dist/web/assets/{chunk-GWA4HPMP-2WZX1fG-.js → chunk-GWA4HPMP-r1dIv3WY.js} +1 -1
  47. package/dist/web/assets/{chunk-MBY4JIJT-BL7akw7q.js → chunk-MBY4JIJT-B32SiYZc.js} +1 -1
  48. package/dist/web/assets/{chunk-NETBCI7D-CQX1tY3W.js → chunk-NETBCI7D-BJDpswNY.js} +1 -1
  49. package/dist/web/assets/{chunk-O7XYJQB3-CtGXf4J6.js → chunk-O7XYJQB3-oJNN75W6.js} +1 -1
  50. package/dist/web/assets/{chunk-UA2S7LBM-C_3M_IIp.js → chunk-UA2S7LBM-6edzXzPi.js} +1 -1
  51. package/dist/web/assets/{chunk-WEXAMYUT-6MO559WJ.js → chunk-WEXAMYUT-DyPRB2PO.js} +1 -1
  52. package/dist/web/assets/{chunk-Z7XXMR3K-CHJ55IlF.js → chunk-Z7XXMR3K-oLw57LFn.js} +1 -1
  53. package/dist/web/assets/{chunk-ZIGJFQKS-533qcfPb.js → chunk-ZIGJFQKS-CJBzn5zg.js} +1 -1
  54. package/dist/web/assets/{classDiagram-v2-NBCMYWYE-CFySVswx.js → classDiagram-v2-NBCMYWYE-CGtUk3Eo.js} +1 -1
  55. package/dist/web/assets/{cynefin-OW5HDTMX-Dfg_2VTu.js → cynefin-OW5HDTMX-B2067LSs.js} +1 -1
  56. package/dist/web/assets/{cynefinDiagram-VND7K2PF-DaSXiPph.js → cynefinDiagram-VND7K2PF-BTclidTB.js} +1 -1
  57. package/dist/web/assets/{dagre-6A5THRUB-D7d1gbRO.js → dagre-6A5THRUB-DB4EkNP1.js} +1 -1
  58. package/dist/web/assets/{date-snFAXn1W.js → date-CGiGHbuG.js} +1 -1
  59. package/dist/web/assets/{devices-store-DB_tWC1Q.js → devices-store-B8mC7cJR.js} +1 -1
  60. package/dist/web/assets/{diagram-22UHCM2B-CNuTss_x.js → diagram-22UHCM2B-BZBpUYfR.js} +1 -1
  61. package/dist/web/assets/{diagram-3UASUU5V--Rt3-ARV.js → diagram-3UASUU5V-B3HmzPy0.js} +1 -1
  62. package/dist/web/assets/{diagram-ATOU4E4O-BP79L-gP.js → diagram-ATOU4E4O-qofz53Y-.js} +1 -1
  63. package/dist/web/assets/{diagram-CDSNMT55-CRO5cocs.js → diagram-CDSNMT55-tTpd7EcE.js} +1 -1
  64. package/dist/web/assets/{diagram-MLGK6HIB-Difu0Zmh.js → diagram-MLGK6HIB-CedlreDP.js} +1 -1
  65. package/dist/web/assets/{diagram-MPIPVDR6-grQ3ie17.js → diagram-MPIPVDR6-CTlN_TMA.js} +1 -1
  66. package/dist/web/assets/{diff-store-D4XiTkfi.js → diff-store-DCqGPv2R.js} +1 -1
  67. package/dist/web/assets/{dist-Du5VPTAq.js → dist-BHgrth9o.js} +1 -1
  68. package/dist/web/assets/{dist-BU-fZfEv.js → dist-BS_doyKJ.js} +1 -1
  69. package/dist/web/assets/{dist-DyBqP777.js → dist-BuXYTGDD.js} +1 -1
  70. package/dist/web/assets/{dist-BeUB43Ur.js → dist-CF9ODvoZ.js} +1 -1
  71. package/dist/web/assets/{dist-DNrP7O-J.js → dist-CFdeFDlk.js} +1 -1
  72. package/dist/web/assets/{dist-9rzCziV2.js → dist-Cv-Fe2Re.js} +1 -1
  73. package/dist/web/assets/{dist-B9i6cUYu.js → dist-DAm4VXST.js} +1 -1
  74. package/dist/web/assets/{dist-DFjLCq-0.js → dist-DlzjGKj2.js} +1 -1
  75. package/dist/web/assets/{dist-BxIdk5Al.js → dist-DwGuvnij.js} +1 -1
  76. package/dist/web/assets/{dist-By534Syk.js → dist-SkTbIIlQ.js} +1 -1
  77. package/dist/web/assets/{dist-75uxNoTf.js → dist-fjYccora.js} +1 -1
  78. package/dist/web/assets/{ebnfDiagram-ZINNZB2B-DX2rcvMK.js → ebnfDiagram-ZINNZB2B-Di4zjxQE.js} +1 -1
  79. package/dist/web/assets/{elk-276RUBZZ-DSHIl9hv.js → elk-276RUBZZ-CjtSBFK8.js} +1 -1
  80. package/dist/web/assets/{erDiagram-OPXOYQCR-BIZVJO8N.js → erDiagram-OPXOYQCR-BAOsBVor.js} +1 -1
  81. package/dist/web/assets/eventmodeling-NTZA5JFV-BTRmtj-P.js +1 -0
  82. package/dist/web/assets/flowDiagram-KWPJA3E3-BnACTh86.js +1 -0
  83. package/dist/web/assets/{ganttDiagram-FUAMR5RP-D4kPfh4X.js → ganttDiagram-FUAMR5RP-CdIWLsvk.js} +1 -1
  84. package/dist/web/assets/{gitGraph-4MIJSDKK-B41R-oAb.js → gitGraph-4MIJSDKK-CiEyJnox.js} +1 -1
  85. package/dist/web/assets/{gitGraphDiagram-X574FWY7-xXrZiSJI.js → gitGraphDiagram-X574FWY7-Dqbm_rnl.js} +1 -1
  86. package/dist/web/assets/i18n-DQIEbAYL.js +1 -0
  87. package/dist/web/assets/{icons-BIOTvmdT.js → icons-32lVhhPQ.js} +1 -1
  88. package/dist/web/assets/{index-B1Bugudn.js → index-CstRcwnO.js} +2 -2
  89. package/dist/web/assets/{info-A6RAGUB7-CgSmK-La.js → info-A6RAGUB7-B7ToPgJe.js} +1 -1
  90. package/dist/web/assets/{infoDiagram-VRGFBTTK-CDNEJ_R-.js → infoDiagram-VRGFBTTK-BG80lPJs.js} +1 -1
  91. package/dist/web/assets/{init-app-C3tD3faT.js → init-app-CJnqt1pf.js} +1 -1
  92. package/dist/web/assets/{ishikawaDiagram-OU5B5YK6-ZcU1IxFn.js → ishikawaDiagram-OU5B5YK6-npZEyIq2.js} +1 -1
  93. package/dist/web/assets/{journeyDiagram-ZHPQQLJL-g-8ZRhJj.js → journeyDiagram-ZHPQQLJL-B-tnjlCW.js} +1 -1
  94. package/dist/web/assets/{kanban-definition-PNTS6WVX-nfsfxVOE.js → kanban-definition-PNTS6WVX-BD6VBvkF.js} +1 -1
  95. package/dist/web/assets/{line-BpuX_ban.js → line-B-rS1U0C.js} +1 -1
  96. package/dist/web/assets/{markdown-ogvtoQzt.js → markdown-B6YvDSFL.js} +1 -1
  97. package/dist/web/assets/{mermaid-parser.core-BBj_ep7Z.js → mermaid-parser.core-kANV9P4V.js} +3 -3
  98. package/dist/web/assets/{mermaid.core-DP4USVSM.js → mermaid.core-ImeEME4Y.js} +4 -4
  99. package/dist/web/assets/{mindmap-definition-NLK3R4M7-C5GhUvi3.js → mindmap-definition-NLK3R4M7-Cg9Hkqnh.js} +1 -1
  100. package/dist/web/assets/{packet-AYTQ26CC-BIdb-vfg.js → packet-AYTQ26CC-dKpEZS3R.js} +1 -1
  101. package/dist/web/assets/{pegDiagram-GJSIUBJH-DH-SdKj6.js → pegDiagram-GJSIUBJH-DSTd7SKp.js} +1 -1
  102. package/dist/web/assets/{pie-WAS4IAKB-Du3-jRjK.js → pie-WAS4IAKB-NrwitlRB.js} +1 -1
  103. package/dist/web/assets/{pieDiagram-5QR66LMP-CJh2ngqY.js → pieDiagram-5QR66LMP-vWxrQ_73.js} +1 -1
  104. package/dist/web/assets/pinia-C077q3zy.js +1 -0
  105. package/dist/web/assets/{preview-store-DOnSmm_C.js → preview-store-C47JAa3k.js} +1 -1
  106. package/dist/web/assets/{project-files-store-CHP6RYFI.js → project-files-store-DPvUB6jk.js} +1 -1
  107. package/dist/web/assets/{quadrantDiagram-O4NWA36T-DYsSScxc.js → quadrantDiagram-O4NWA36T-BrazmucR.js} +1 -1
  108. package/dist/web/assets/{radar-RG4KPBEZ-BBjvaVVB.js → radar-RG4KPBEZ-Ltw4_W0Z.js} +1 -1
  109. package/dist/web/assets/{railroad-74A4TZTK-B-CRncBU.js → railroad-74A4TZTK-Bsvkcqwe.js} +1 -1
  110. package/dist/web/assets/railroad-abnf-HS5TGJTU-DzeS0TZG.js +1 -0
  111. package/dist/web/assets/railroad-ebnf-LZEXJU2U-DOMFcjan.js +1 -0
  112. package/dist/web/assets/railroad-peg-WCYAUIDC-Boo02G-z.js +1 -0
  113. package/dist/web/assets/{railroadDiagram-XR7U4H2S-hqp-2UHb.js → railroadDiagram-XR7U4H2S-Drf-1KoA.js} +1 -1
  114. package/dist/web/assets/{requirementDiagram-PLB6GJNP-Dhuw5jcQ.js → requirementDiagram-PLB6GJNP-RQQXWoKw.js} +1 -1
  115. package/dist/web/assets/{safe-storage-BchoYSbq.js → safe-storage-CCnof8j6.js} +1 -1
  116. package/dist/web/assets/{sankeyDiagram-IPEJSGJF-D5rCIxGR.js → sankeyDiagram-IPEJSGJF-DjkRjZ96.js} +1 -1
  117. package/dist/web/assets/{sequenceDiagram-PO4LG4MO-YEHR4Mp-.js → sequenceDiagram-PO4LG4MO-BnYL3Nyj.js} +1 -1
  118. package/dist/web/assets/{stateDiagram-v2-GCMORJYK-9iWmz6Xf.js → stateDiagram-v2-GCMORJYK-Cx-m_iwa.js} +1 -1
  119. package/dist/web/assets/{swimlanes-2SLR337P-Cjwvgt_n.js → swimlanes-2SLR337P-Eq9rHxT4.js} +1 -1
  120. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-C1gvms2M.js +8 -0
  121. package/dist/web/assets/{terminal-store-i7HHlWzR.js → terminal-store-CDMBoz3b.js} +1 -1
  122. package/dist/web/assets/theme-DFHUOPmw.js +1 -0
  123. package/dist/web/assets/{timeline-definition-EJHVYXUP-Cd5n2-Py.js → timeline-definition-EJHVYXUP-DZ8AD5x7.js} +1 -1
  124. package/dist/web/assets/{treeView-Q6P3EWNA-C_QH9vtR.js → treeView-Q6P3EWNA-PHr7W0fs.js} +1 -1
  125. package/dist/web/assets/{treemap-WGGIJYW6-CVnU7TVz.js → treemap-WGGIJYW6-cMDLpLd1.js} +1 -1
  126. package/dist/web/assets/{use-add-agent-context-D5VqMr0p.js → use-add-agent-context-ZAOlkMkH.js} +1 -1
  127. package/dist/web/assets/{use-app-theme-DgC4ivPF.js → use-app-theme-Cp7uwqoM.js} +1 -1
  128. package/dist/web/assets/{use-row-height-BgHg4-J-.js → use-row-height-FkeCYR5M.js} +1 -1
  129. package/dist/web/assets/{use-workspace-navigation-Dq-Aw8Xq.js → use-workspace-navigation-BX_9XPWm.js} +1 -1
  130. package/dist/web/assets/{usecaseDiagram-POWQR4AR-Cbj2Pvab.js → usecaseDiagram-POWQR4AR-oTDoBpor.js} +1 -1
  131. package/dist/web/assets/{vennDiagram-UO4OBE2U-2j79YqCN.js → vennDiagram-UO4OBE2U-BSLtd6XL.js} +1 -1
  132. package/dist/web/assets/{wardley-WFR3VGLG-wsMK7zm3.js → wardley-WFR3VGLG-C4C0SgxA.js} +1 -1
  133. package/dist/web/assets/{wardleyDiagram-VNRHLVJA-D6PKTQIJ.js → wardleyDiagram-VNRHLVJA-RjwVQTqN.js} +1 -1
  134. package/dist/web/assets/{workspace-navigation-CoXKJJpP.js → workspace-navigation-kGtTYXtT.js} +1 -1
  135. package/dist/web/assets/{xychartDiagram-PMCCYNJV-D1fQN7KG.js → xychartDiagram-PMCCYNJV-BPvXe6DY.js} +1 -1
  136. package/dist/web/index.html +1 -1
  137. package/package.json +1 -1
  138. package/dist/web/assets/SaveButton-D1q2suzR.js +0 -3
  139. package/dist/web/assets/architecture-7GRP2DOG-KT2-_RA5.js +0 -1
  140. package/dist/web/assets/channel-CAhty-fl.js +0 -1
  141. package/dist/web/assets/eventmodeling-NTZA5JFV-Bh_xDKx6.js +0 -1
  142. package/dist/web/assets/flowDiagram-KWPJA3E3-DXkIxaXL.js +0 -1
  143. package/dist/web/assets/i18n-Cfw_OfRR.js +0 -1
  144. package/dist/web/assets/pinia-mdReENsc.js +0 -1
  145. package/dist/web/assets/railroad-abnf-HS5TGJTU-D37zpoYN.js +0 -1
  146. package/dist/web/assets/railroad-ebnf-LZEXJU2U-ZnMxH6Ym.js +0 -1
  147. package/dist/web/assets/railroad-peg-WCYAUIDC-Dg3g-VsM.js +0 -1
  148. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-gJwxhWoO.js +0 -8
  149. package/dist/web/assets/theme-CQ9InaWa.js +0 -1
@@ -1 +1 @@
1
- import{I as e,Pt as t,Y as n,Z as r,d as i,dt as a,f as o,gt as s,p as c,y as l}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{g as u}from"./index-B1Bugudn.js";import{n as d}from"./vue-i18n.runtime-JOo8b7-t.js";import{n as f}from"./single-flight-CyDZB3rb.js";import{n as p}from"./use-workspace-navigation-Dq-Aw8Xq.js";import{p as m}from"./preview-store-DOnSmm_C.js";import{t as h}from"./project-files-store-CHP6RYFI.js";import{t as g}from"./AppPage-Cozv2vqG.js";var _={key:0,class:`q-pa-md text-negative`,role:`alert`},v={key:1,class:`q-pa-md`,role:`status`},y=l({__name:`ProjectFilePage`,setup(l){let{t:y}=d(),b=u(),x=h(),S=p(),C=a(``),w=a(!1);return n([()=>b.query.path,()=>b.query.ref,()=>b.query.line,()=>b.query.column,()=>b.query.anchor],async(e,t,n)=>{let r=new AbortController;n(()=>r.abort()),w.value=!1,C.value=``;try{let e=m(e=>{let t=b.query[e];return typeof t==`string`?t:null});if(!e)throw Error(y(`windows.fileLinkFailed`));await x.open(e.link,e.ref,r.signal)?await S.openWindow(`preview`):w.value=!0}catch(e){r.signal.aborted||(C.value=f(e))}},{immediate:!0}),(n,a)=>(e(),i(g,null,{default:r(()=>[C.value?(e(),c(`div`,_,t(C.value),1)):w.value?(e(),c(`div`,v,t(s(y)(`windows.fileDownloading`)),1)):o(``,!0)]),_:1}))}});export{y as default};
1
+ import{I as e,Pt as t,Y as n,Z as r,d as i,dt as a,f as o,gt as s,p as c,y as l}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{g as u}from"./index-CstRcwnO.js";import{n as d}from"./vue-i18n.runtime-JOo8b7-t.js";import{n as f}from"./single-flight-CyDZB3rb.js";import{n as p}from"./use-workspace-navigation-BX_9XPWm.js";import{p as m}from"./preview-store-C47JAa3k.js";import{t as h}from"./project-files-store-DPvUB6jk.js";import{t as g}from"./AppPage-Cozv2vqG.js";var _={key:0,class:`q-pa-md text-negative`,role:`alert`},v={key:1,class:`q-pa-md`,role:`status`},y=l({__name:`ProjectFilePage`,setup(l){let{t:y}=d(),b=u(),x=h(),S=p(),C=a(``),w=a(!1);return n([()=>b.query.path,()=>b.query.ref,()=>b.query.line,()=>b.query.column,()=>b.query.anchor],async(e,t,n)=>{let r=new AbortController;n(()=>r.abort()),w.value=!1,C.value=``;try{let e=m(e=>{let t=b.query[e];return typeof t==`string`?t:null});if(!e)throw Error(y(`windows.fileLinkFailed`));await x.open(e.link,e.ref,r.signal)?await S.openWindow(`preview`):w.value=!0}catch(e){r.signal.aborted||(C.value=f(e))}},{immediate:!0}),(n,a)=>(e(),i(g,null,{default:r(()=>[C.value?(e(),c(`div`,_,t(C.value),1)):w.value?(e(),c(`div`,v,t(s(y)(`windows.fileDownloading`)),1)):o(``,!0)]),_:1}))}});export{y as default};
@@ -1 +1 @@
1
- import{S as e,l as t}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{t as n}from"./create-DedXY-KP.js";import{a as r,r as i}from"./render-Brao9Nj2.js";import{n as a,t as o}from"./use-dark-BHObfh0O.js";import{c as s}from"./workspace-navigation-CoXKJJpP.js";var c=n({name:`QBanner`,props:{...a,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(n,{slots:a}){let s=r(),c=o(n,s),l=t(()=>`q-banner row items-center`+(n.dense?` q-banner--dense`:``)+(c()?` q-banner--dark q-dark`:``)+(n.rounded?` rounded-borders`:``)),u=t(()=>`q-banner__actions row items-center justify-end col-${n.inlineActions?`auto`:`all`}`);return()=>{let t=[e(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},i(a.avatar)),e(`div`,{class:`q-banner__content col text-body2`},i(a.default))],r=i(a.action);return r!==void 0&&t.push(e(`div`,{class:u.value},r)),e(`div`,{class:l.value+(!n.inlineActions&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},t)}}}),l=s.agent,u=s.addToChat,d=n({name:`QSpace`,setup(){let t=e(`div`,{class:`q-space`});return()=>t}});export{c as i,u as n,l as r,d as t};
1
+ import{S as e,l as t}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{t as n}from"./create-DedXY-KP.js";import{a as r,r as i}from"./render-Brao9Nj2.js";import{n as a,t as o}from"./use-dark-BHObfh0O.js";import{c as s}from"./workspace-navigation-kGtTYXtT.js";var c=n({name:`QBanner`,props:{...a,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(n,{slots:a}){let s=r(),c=o(n,s),l=t(()=>`q-banner row items-center`+(n.dense?` q-banner--dense`:``)+(c()?` q-banner--dark q-dark`:``)+(n.rounded?` rounded-borders`:``)),u=t(()=>`q-banner__actions row items-center justify-end col-${n.inlineActions?`auto`:`all`}`);return()=>{let t=[e(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},i(a.avatar)),e(`div`,{class:`q-banner__content col text-body2`},i(a.default))],r=i(a.action);return r!==void 0&&t.push(e(`div`,{class:u.value},r)),e(`div`,{class:l.value+(!n.inlineActions&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},t)}}}),l=s.agent,u=s.addToChat,d=n({name:`QSpace`,setup(){let t=e(`div`,{class:`q-space`});return()=>t}});export{c as i,u as n,l as r,d as t};
@@ -1 +1 @@
1
- import{D as e,Q as t,S as n,Y as r,dt as i,l as a,lt as o}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{u as s}from"./event-rR76ioXz.js";import{t as c}from"./create-DedXY-KP.js";import{a as l,r as u,t as d}from"./render-Brao9Nj2.js";import{d as f}from"./QInput-BnqLJGXl.js";import{n as p,t as m}from"./use-dark-BHObfh0O.js";import{t as h}from"./safe-storage-BchoYSbq.js";import{a as g}from"./ClosePopup-Bd5a-Lu_.js";function _(e,t,n){return Math.min(n,Math.max(t,Math.round(e)))}function v(e,t,n){let r=h.get(e),i=r===null?NaN:Number(r);return Number.isFinite(i)?_(i,t,n):null}function y(e){let{key:t,initial:n,min:r,max:i}=e,a=o(_(v(t,r,i())??n,r,i())),s=o(!1),c=a.value;function l(e){a.value=_(e,r,i())}function u(){h.set(t,String(a.value))}function d(e){e.isFirst&&(c=a.value,s.value=!0),l(c-(e.offset?.x??0)),e.isFinal&&(s.value=!1,u())}function f(e,t=24){l(a.value+(e===`wider`?t:-t)),u()}return{width:a,dragging:s,drag:d,nudge:f}}var b=c({name:`QSplitter`,props:{...p,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(o,{slots:c,emit:p}){let h=l(),_=m(o,h),v=i(null),y={before:i(null),after:i(null)},b=f(),x=a(()=>`q-splitter no-wrap ${o.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${o.disable?`disabled`:`workable`}`+(_()?` q-splitter--dark`:``)),S=a(()=>o.horizontal?`height`:`width`),C=a(()=>o.reverse?`after`:`before`),w=a(()=>o.limits===void 0?o.unit===`%`?[10,90]:[50,1/0]:o.limits);function T(e){return(o.unit===`%`?e:Math.round(e))+o.unit}let E=a(()=>({[C.value]:{[S.value]:T(o.modelValue)}})),D,O,k,A,j;function M(e){if(e.isFirst){let e=v.value.getBoundingClientRect()[S.value];D=o.horizontal?`up`:`left`,O=o.unit===`%`?100:e,k=Math.min(O,w.value[1],Math.max(w.value[0],o.modelValue)),A=(o.reverse?-1:1)*(o.horizontal?1:h.lang.rtl?-1:1)*(o.unit===`%`?e===0?0:100/e:1),v.value.classList.add(`q-splitter--active`);return}if(e.isFinal){j!==o.modelValue&&p(`update:modelValue`,j),v.value.classList.remove(`q-splitter--active`);return}let t=k+A*(e.direction===D?-1:1)*e.distance[o.horizontal?`y`:`x`];j=Math.min(O,w.value[1],Math.max(w.value[0],t)),y[C.value].value.style[S.value]=T(j),o.emitImmediately&&o.modelValue!==j&&p(`update:modelValue`,j)}let N=a(()=>[[g,o.disable?void 0:M,void 0,{[o.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),P=a(()=>{let e={role:`separator`,"aria-orientation":o.horizontal?`horizontal`:`vertical`,"aria-label":o.separatorAriaLabel||h.lang.label.resize};if(o.disable)e[`aria-disabled`]=`true`;else{let t=w.value;e.tabindex=0,e[`aria-controls`]=b.value,e[`aria-valuemin`]=t[0],t[1]!==1/0&&(e[`aria-valuemax`]=t[1]),e[`aria-valuenow`]=Math.round(o.modelValue*100)/100}return e}),F=null;function I(e){let{keyCode:t}=e,n=o.horizontal?[38,40]:[37,39];if(t!==13&&t!==36&&t!==35&&!n.includes(t))return;s(e);let r=w.value,i=o.unit===`%`?100:v.value.getBoundingClientRect()[S.value],a;if(t===13)o.modelValue===r[0]?a=F===null?o.modelValue:F:(F=o.modelValue,a=r[0]);else if(t===36)a=r[0];else if(t===35)a=r[1];else{let e=(t===n[0]?-1:1)*(o.reverse?-1:1)*(o.horizontal?1:h.lang.rtl?-1:1);a=o.modelValue+e*(o.unit===`%`?1:10)}let c=Math.min(i,r[1],Math.max(r[0],a));c!==o.modelValue&&p(`update:modelValue`,c)}function L(e,t){e<t[0]?p(`update:modelValue`,t[0]):e>t[1]&&p(`update:modelValue`,t[1])}return r(()=>o.modelValue,e=>{L(e,w.value)}),r(()=>o.limits,()=>{e(()=>{L(o.modelValue,w.value)})}),()=>{let e=[n(`div`,{ref:y.before,id:C.value===`before`?b.value:void 0,class:[`q-splitter__panel q-splitter__before`+(o.reverse?` col`:``),o.beforeClass],style:E.value.before},u(c.before)),n(`div`,{class:[`q-splitter__separator`,o.separatorClass],style:o.separatorStyle,...P.value,onKeydown:o.disable?void 0:I},[t(n(`div`,{class:`q-splitter__separator-area absolute-full`},u(c.separator)),N.value)]),n(`div`,{ref:y.after,id:C.value===`after`?b.value:void 0,class:[`q-splitter__panel q-splitter__after`+(o.reverse?``:` col`),o.afterClass],style:E.value.after},u(c.after))];return n(`div`,{class:x.value,ref:v},d(c.default,e))}}});export{y as i,_ as n,v as r,b as t};
1
+ import{D as e,Q as t,S as n,Y as r,dt as i,l as a,lt as o}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{u as s}from"./event-rR76ioXz.js";import{t as c}from"./create-DedXY-KP.js";import{a as l,r as u,t as d}from"./render-Brao9Nj2.js";import{d as f}from"./QInput-BnqLJGXl.js";import{n as p,t as m}from"./use-dark-BHObfh0O.js";import{t as h}from"./safe-storage-CCnof8j6.js";import{a as g}from"./ClosePopup-Bd5a-Lu_.js";function _(e,t,n){return Math.min(n,Math.max(t,Math.round(e)))}function v(e,t,n){let r=h.get(e),i=r===null?NaN:Number(r);return Number.isFinite(i)?_(i,t,n):null}function y(e){let{key:t,initial:n,min:r,max:i}=e,a=o(_(v(t,r,i())??n,r,i())),s=o(!1),c=a.value;function l(e){a.value=_(e,r,i())}function u(){h.set(t,String(a.value))}function d(e){e.isFirst&&(c=a.value,s.value=!0),l(c-(e.offset?.x??0)),e.isFinal&&(s.value=!1,u())}function f(e,t=24){l(a.value+(e===`wider`?t:-t)),u()}return{width:a,dragging:s,drag:d,nudge:f}}var b=c({name:`QSplitter`,props:{...p,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(o,{slots:c,emit:p}){let h=l(),_=m(o,h),v=i(null),y={before:i(null),after:i(null)},b=f(),x=a(()=>`q-splitter no-wrap ${o.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${o.disable?`disabled`:`workable`}`+(_()?` q-splitter--dark`:``)),S=a(()=>o.horizontal?`height`:`width`),C=a(()=>o.reverse?`after`:`before`),w=a(()=>o.limits===void 0?o.unit===`%`?[10,90]:[50,1/0]:o.limits);function T(e){return(o.unit===`%`?e:Math.round(e))+o.unit}let E=a(()=>({[C.value]:{[S.value]:T(o.modelValue)}})),D,O,k,A,j;function M(e){if(e.isFirst){let e=v.value.getBoundingClientRect()[S.value];D=o.horizontal?`up`:`left`,O=o.unit===`%`?100:e,k=Math.min(O,w.value[1],Math.max(w.value[0],o.modelValue)),A=(o.reverse?-1:1)*(o.horizontal?1:h.lang.rtl?-1:1)*(o.unit===`%`?e===0?0:100/e:1),v.value.classList.add(`q-splitter--active`);return}if(e.isFinal){j!==o.modelValue&&p(`update:modelValue`,j),v.value.classList.remove(`q-splitter--active`);return}let t=k+A*(e.direction===D?-1:1)*e.distance[o.horizontal?`y`:`x`];j=Math.min(O,w.value[1],Math.max(w.value[0],t)),y[C.value].value.style[S.value]=T(j),o.emitImmediately&&o.modelValue!==j&&p(`update:modelValue`,j)}let N=a(()=>[[g,o.disable?void 0:M,void 0,{[o.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),P=a(()=>{let e={role:`separator`,"aria-orientation":o.horizontal?`horizontal`:`vertical`,"aria-label":o.separatorAriaLabel||h.lang.label.resize};if(o.disable)e[`aria-disabled`]=`true`;else{let t=w.value;e.tabindex=0,e[`aria-controls`]=b.value,e[`aria-valuemin`]=t[0],t[1]!==1/0&&(e[`aria-valuemax`]=t[1]),e[`aria-valuenow`]=Math.round(o.modelValue*100)/100}return e}),F=null;function I(e){let{keyCode:t}=e,n=o.horizontal?[38,40]:[37,39];if(t!==13&&t!==36&&t!==35&&!n.includes(t))return;s(e);let r=w.value,i=o.unit===`%`?100:v.value.getBoundingClientRect()[S.value],a;if(t===13)o.modelValue===r[0]?a=F===null?o.modelValue:F:(F=o.modelValue,a=r[0]);else if(t===36)a=r[0];else if(t===35)a=r[1];else{let e=(t===n[0]?-1:1)*(o.reverse?-1:1)*(o.horizontal?1:h.lang.rtl?-1:1);a=o.modelValue+e*(o.unit===`%`?1:10)}let c=Math.min(i,r[1],Math.max(r[0],a));c!==o.modelValue&&p(`update:modelValue`,c)}function L(e,t){e<t[0]?p(`update:modelValue`,t[0]):e>t[1]&&p(`update:modelValue`,t[1])}return r(()=>o.modelValue,e=>{L(e,w.value)}),r(()=>o.limits,()=>{e(()=>{L(o.modelValue,w.value)})}),()=>{let e=[n(`div`,{ref:y.before,id:C.value===`before`?b.value:void 0,class:[`q-splitter__panel q-splitter__before`+(o.reverse?` col`:``),o.beforeClass],style:E.value.before},u(c.before)),n(`div`,{class:[`q-splitter__separator`,o.separatorClass],style:o.separatorStyle,...P.value,onKeydown:o.disable?void 0:I},[t(n(`div`,{class:`q-splitter__separator-area absolute-full`},u(c.separator)),N.value)]),n(`div`,{ref:y.after,id:C.value===`after`?b.value:void 0,class:[`q-splitter__panel q-splitter__after`+(o.reverse?``:` col`),o.afterClass],style:E.value.after},u(c.after))];return n(`div`,{class:x.value,ref:v},d(c.default,e))}}});export{y as i,_ as n,v as r,b as t};
@@ -1 +1 @@
1
- import{E as e,I as t,N as n,P as r,Pt as i,Y as a,Z as o,_ as s,d as c,dt as l,f as u,g as d,gt as f,l as p,lt as m,p as h,r as g,u as _,y as v,z as y}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{v as b}from"./use-router-link-D7geCGQI.js";import{t as ee}from"./QSeparator-B8uLaDiI.js";import{a as x,l as S,t as C}from"./QBtn-V3VXtJXi.js";import{_ as w,g as T,x as E}from"./index-B1Bugudn.js";import{n as D}from"./vue-i18n.runtime-JOo8b7-t.js";import{P as O,Wt as k,o as A}from"./mdi-Du7sIqtH.js";import{n as j,r as M}from"./pinia-BfqEuvsi.js";import{a as N,c as P,i as F,n as I,s as L}from"./single-flight-CyDZB3rb.js";import{n as R}from"./use-server-events-CvcbsbIf.js";import{t as z}from"./QSpace-CVp0CPR_.js";import{t as B}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as V}from"./QScrollArea-qf2G1s2r.js";import{u as H}from"./preview-store-DOnSmm_C.js";import{t as U}from"./use-notify-error-Dx2D9IEP.js";import{c as W,s as G}from"./diff-store-D4XiTkfi.js";import{t as K}from"./AppPage-Cozv2vqG.js";import{r as q}from"./CreateButton-zCmb7snC.js";import{g as J,n as Y,t as X}from"./StatusSwitcher-BtbSIr5q.js";function Z(e){return{...e,oldPath:W(e.oldPath),newPath:W(e.newPath)}}var Q=j(`review-detail`,()=>{let e=m(null),t=l([]),n=m([]),r=m(!1),i=m(null),a=p(()=>{let e=new Map;for(let t of n.value){let n=e.get(t.filePath);n?n.push(t):e.set(t.filePath,[t])}return e});async function o(a){r.value=!0,i.value=null;try{let[r,i]=await Promise.all([N(`/api/reviews/${a}`),N(`/api/reviews/${a}/comments`)]),o=JSON.parse(r.snapshotData);t.value=o.map(Z),e.value=q(r),n.value=i}catch(r){e.value=null,t.value=[],n.value=[],i.value=I(r)}finally{r.value=!1}}async function s(){e.value&&(n.value=await N(`/api/reviews/${e.value.id}/comments`))}async function c(t){if(!e.value)return;let n=e.value.id,r=await P(`/api/reviews/${n}`,{status:t});e.value?.id===n&&(e.value=r)}async function u(e,t){let r=await P(`/api/comments/${e}`,{content:t});n.value=n.value.map(t=>t.id===e?r:t)}async function d(e){await F(`/api/comments/${e}`),n.value=n.value.filter(t=>t.id!==e)}async function f(e){let t=await P(`/api/comments/${e}/resolve`);n.value=n.value.map(n=>n.id===e?t:n)}async function h(e){let t=await P(`/api/comments/${e}/unresolve`);n.value=n.value.map(n=>n.id===e?t:n)}return{review:e,comments:n,loading:r,error:i,files:t,commentsByFile:a,load:o,refreshComments:s,setStatus:c,editComment:u,deleteComment:d,resolveComment:f,unresolveComment:h}}),te=v({__name:`DownloadButton`,props:{url:{},filename:{},tooltip:{}},setup(n){let r=n,{t:a}=D(),s=U(),l=m(!1);async function p(){l.value=!0;try{let e=await L(r.url),t=H(r.filename,e,`text/markdown`);if(t!==!0)throw t}catch(e){s(a(`reviews.detail.downloadError`),e)}finally{l.value=!1}}return(r,a)=>(t(),c(C,e({class:`app-icon-control`},r.$attrs,{padding:`4px`,flat:``,dense:``,round:``,loading:l.value,icon:f(O),"aria-label":n.tooltip,onClick:b(p,[`stop`])}),{default:o(()=>[n.tooltip?(t(),c(E,{key:0,delay:f(500)},{default:o(()=>[d(i(n.tooltip),1)]),_:1},8,[`delay`])):u(``,!0)]),_:1},16,[`loading`,`icon`,`aria-label`]))}}),ne={class:`review-detail-page__header q-pa-sm`},re={class:`row items-center q-gutter-x-sm`},ie={class:`text-h6 ellipsis`},ae={class:`row items-center q-gutter-x-sm q-mt-xs`},oe={class:`text-caption text-grey-6`},se={key:0,class:`q-pa-md text-grey-6`},$=B(v({__name:`ReviewDetailPage`,setup(e){let{t:l}=D(),v=T(),b=w(),E=Q(),{review:O,files:j,commentsByFile:N,loading:P}=M(E),F=p(()=>String(v.params.id)),I=m(new Set),L=p(()=>j.value.filter(e=>(N.value.get(G(e))??[]).length>0)),B=p(()=>`/api/reviews/${F.value}/export?format=markdown`),H=p(()=>`${(O.value?.name??O.value?.id??`review`).replace(/[/\\:*?"<>|]/g,`-`)}.md`);function U(){E.load(F.value),I.value=new Set}n(U),a(F,U);let W=R([`comment:created`,`comment:updated`,`comment:deleted`],()=>void E.refreshComments());r(()=>W.close());function q(e){let t=new Set(I.value);t.has(e)?t.delete(e):t.add(e),I.value=t}function Z(e){I.value=new Set(I.value).add(e)}function $(e){E.setStatus(e)}J({create:async()=>{throw Error(`A saved review gets no new comments`)},edit:(e,t)=>E.editComment(e,t),remove:e=>E.deleteComment(e),resolve:e=>E.resolveComment(e),unresolve:e=>E.unresolveComment(e)});function ce(){b.push(`/reviews`)}return(e,n)=>f(P)?(t(),c(K,{key:0,class:`row justify-center q-pa-lg`},{default:o(()=>[s(x,{color:`primary`,size:`2em`})]),_:1})):f(O)?(t(),c(K,{key:2,class:`review-detail-page column no-wrap q-pa-md`},{default:o(()=>[_(`div`,ne,[_(`div`,re,[s(C,{class:`app-icon-control`,flat:``,dense:``,round:``,icon:f(A),onClick:ce},null,8,[`icon`]),_(`div`,ie,i(f(O).name??f(l)(`reviews.list.unnamed`)),1),s(z),s(te,{url:B.value,filename:H.value,tooltip:f(l)(`reviews.detail.download`)},null,8,[`url`,`filename`,`tooltip`])]),_(`div`,ae,[_(`span`,oe,[s(S,{class:`app-icon-neutral`,name:f(k),size:`14px`},null,8,[`name`]),d(` `+i(f(O).branch??f(l)(`reviews.list.unknownBranch`)),1)]),s(z),s(X,{status:f(O).status,onChange:$},null,8,[`status`])])]),s(ee),s(V,{class:`col sticky-header-scroll`,"content-style":`padding: 8px`},{default:o(()=>[L.value.length===0?(t(),h(`p`,se,i(f(l)(`reviews.detail.noComments`)),1)):u(``,!0),(t(!0),h(g,null,y(L.value,e=>(t(),c(Y,{key:f(G)(e),file:e,"preview-ref":f(E).review?.sourceType===`commits`||f(E).review?.sourceType===`branch`?f(E).review.sourceRef??void 0:void 0,expanded:I.value.has(f(G)(e)),comments:f(N).get(f(G)(e))??[],"comments-only":``,"comments-editable":``,"no-full-file":``,onToggle:t=>q(f(G)(e)),onExpand:t=>Z(f(G)(e))},null,8,[`file`,`preview-ref`,`expanded`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})]),_:1})):(t(),c(K,{key:1,class:`q-pa-lg text-grey-6`},{default:o(()=>[d(i(f(l)(`reviews.detail.notFound`)),1)]),_:1}))}}),[[`__scopeId`,`data-v-1f761665`]]);export{$ as default};
1
+ import{E as e,I as t,N as n,P as r,Pt as i,Y as a,Z as o,_ as s,d as c,dt as l,f as u,g as d,gt as f,l as p,lt as m,p as h,r as g,u as _,y as v,z as y}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{v as b}from"./use-router-link-D7geCGQI.js";import{t as ee}from"./QSeparator-B8uLaDiI.js";import{a as x,l as S,t as C}from"./QBtn-V3VXtJXi.js";import{_ as w,g as T,x as E}from"./index-CstRcwnO.js";import{n as D}from"./vue-i18n.runtime-JOo8b7-t.js";import{P as O,Wt as k,o as A}from"./mdi-Du7sIqtH.js";import{n as j,r as M}from"./pinia-BfqEuvsi.js";import{a as N,c as P,i as F,n as I,s as L}from"./single-flight-CyDZB3rb.js";import{n as R}from"./use-server-events-CvcbsbIf.js";import{t as z}from"./QSpace-BmrklWw-.js";import{t as B}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as V}from"./QScrollArea-qf2G1s2r.js";import{u as H}from"./preview-store-C47JAa3k.js";import{t as U}from"./use-notify-error-Dx2D9IEP.js";import{c as W,s as G}from"./diff-store-DCqGPv2R.js";import{t as K}from"./AppPage-Cozv2vqG.js";import{r as q}from"./CreateButton-zCmb7snC.js";import{g as J,n as Y,t as X}from"./StatusSwitcher-fsgwyZPd.js";function Z(e){return{...e,oldPath:W(e.oldPath),newPath:W(e.newPath)}}var Q=j(`review-detail`,()=>{let e=m(null),t=l([]),n=m([]),r=m(!1),i=m(null),a=p(()=>{let e=new Map;for(let t of n.value){let n=e.get(t.filePath);n?n.push(t):e.set(t.filePath,[t])}return e});async function o(a){r.value=!0,i.value=null;try{let[r,i]=await Promise.all([N(`/api/reviews/${a}`),N(`/api/reviews/${a}/comments`)]),o=JSON.parse(r.snapshotData);t.value=o.map(Z),e.value=q(r),n.value=i}catch(r){e.value=null,t.value=[],n.value=[],i.value=I(r)}finally{r.value=!1}}async function s(){e.value&&(n.value=await N(`/api/reviews/${e.value.id}/comments`))}async function c(t){if(!e.value)return;let n=e.value.id,r=await P(`/api/reviews/${n}`,{status:t});e.value?.id===n&&(e.value=r)}async function u(e,t){let r=await P(`/api/comments/${e}`,{content:t});n.value=n.value.map(t=>t.id===e?r:t)}async function d(e){await F(`/api/comments/${e}`),n.value=n.value.filter(t=>t.id!==e)}async function f(e){let t=await P(`/api/comments/${e}/resolve`);n.value=n.value.map(n=>n.id===e?t:n)}async function h(e){let t=await P(`/api/comments/${e}/unresolve`);n.value=n.value.map(n=>n.id===e?t:n)}return{review:e,comments:n,loading:r,error:i,files:t,commentsByFile:a,load:o,refreshComments:s,setStatus:c,editComment:u,deleteComment:d,resolveComment:f,unresolveComment:h}}),te=v({__name:`DownloadButton`,props:{url:{},filename:{},tooltip:{}},setup(n){let r=n,{t:a}=D(),s=U(),l=m(!1);async function p(){l.value=!0;try{let e=await L(r.url),t=H(r.filename,e,`text/markdown`);if(t!==!0)throw t}catch(e){s(a(`reviews.detail.downloadError`),e)}finally{l.value=!1}}return(r,a)=>(t(),c(C,e({class:`app-icon-control`},r.$attrs,{padding:`4px`,flat:``,dense:``,round:``,loading:l.value,icon:f(O),"aria-label":n.tooltip,onClick:b(p,[`stop`])}),{default:o(()=>[n.tooltip?(t(),c(E,{key:0,delay:f(500)},{default:o(()=>[d(i(n.tooltip),1)]),_:1},8,[`delay`])):u(``,!0)]),_:1},16,[`loading`,`icon`,`aria-label`]))}}),ne={class:`review-detail-page__header q-pa-sm`},re={class:`row items-center q-gutter-x-sm`},ie={class:`text-h6 ellipsis`},ae={class:`row items-center q-gutter-x-sm q-mt-xs`},oe={class:`text-caption text-grey-6`},se={key:0,class:`q-pa-md text-grey-6`},$=B(v({__name:`ReviewDetailPage`,setup(e){let{t:l}=D(),v=T(),b=w(),E=Q(),{review:O,files:j,commentsByFile:N,loading:P}=M(E),F=p(()=>String(v.params.id)),I=m(new Set),L=p(()=>j.value.filter(e=>(N.value.get(G(e))??[]).length>0)),B=p(()=>`/api/reviews/${F.value}/export?format=markdown`),H=p(()=>`${(O.value?.name??O.value?.id??`review`).replace(/[/\\:*?"<>|]/g,`-`)}.md`);function U(){E.load(F.value),I.value=new Set}n(U),a(F,U);let W=R([`comment:created`,`comment:updated`,`comment:deleted`],()=>void E.refreshComments());r(()=>W.close());function q(e){let t=new Set(I.value);t.has(e)?t.delete(e):t.add(e),I.value=t}function Z(e){I.value=new Set(I.value).add(e)}function $(e){E.setStatus(e)}J({create:async()=>{throw Error(`A saved review gets no new comments`)},edit:(e,t)=>E.editComment(e,t),remove:e=>E.deleteComment(e),resolve:e=>E.resolveComment(e),unresolve:e=>E.unresolveComment(e)});function ce(){b.push(`/reviews`)}return(e,n)=>f(P)?(t(),c(K,{key:0,class:`row justify-center q-pa-lg`},{default:o(()=>[s(x,{color:`primary`,size:`2em`})]),_:1})):f(O)?(t(),c(K,{key:2,class:`review-detail-page column no-wrap q-pa-md`},{default:o(()=>[_(`div`,ne,[_(`div`,re,[s(C,{class:`app-icon-control`,flat:``,dense:``,round:``,icon:f(A),onClick:ce},null,8,[`icon`]),_(`div`,ie,i(f(O).name??f(l)(`reviews.list.unnamed`)),1),s(z),s(te,{url:B.value,filename:H.value,tooltip:f(l)(`reviews.detail.download`)},null,8,[`url`,`filename`,`tooltip`])]),_(`div`,ae,[_(`span`,oe,[s(S,{class:`app-icon-neutral`,name:f(k),size:`14px`},null,8,[`name`]),d(` `+i(f(O).branch??f(l)(`reviews.list.unknownBranch`)),1)]),s(z),s(X,{status:f(O).status,onChange:$},null,8,[`status`])])]),s(ee),s(V,{class:`col sticky-header-scroll`,"content-style":`padding: 8px`},{default:o(()=>[L.value.length===0?(t(),h(`p`,se,i(f(l)(`reviews.detail.noComments`)),1)):u(``,!0),(t(!0),h(g,null,y(L.value,e=>(t(),c(Y,{key:f(G)(e),file:e,"preview-ref":f(E).review?.sourceType===`commits`||f(E).review?.sourceType===`branch`?f(E).review.sourceRef??void 0:void 0,expanded:I.value.has(f(G)(e)),comments:f(N).get(f(G)(e))??[],"comments-only":``,"comments-editable":``,"no-full-file":``,onToggle:t=>q(f(G)(e)),onExpand:t=>Z(f(G)(e))},null,8,[`file`,`preview-ref`,`expanded`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})]),_:1})):(t(),c(K,{key:1,class:`q-pa-lg text-grey-6`},{default:o(()=>[d(i(f(l)(`reviews.detail.notFound`)),1)]),_:1}))}}),[[`__scopeId`,`data-v-1f761665`]]);export{$ as default};
@@ -1 +1 @@
1
- import{I as e,K as t,N as n,Nt as r,P as i,Pt as a,Q as o,Y as s,Z as c,_ as l,d as u,f as d,g as f,gt as p,l as m,lt as h,p as g,r as _,u as v,y,z as b}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{t as x}from"./QSeparator-B8uLaDiI.js";import{t as S}from"./QInput-BnqLJGXl.js";import{a as C,i as w,l as T,t as E}from"./QBtn-V3VXtJXi.js";import{_ as D}from"./index-B1Bugudn.js";import{n as O}from"./vue-i18n.runtime-JOo8b7-t.js";import{Wt as k,k as A}from"./mdi-Du7sIqtH.js";import{r as j}from"./pinia-BfqEuvsi.js";import{n as M}from"./use-server-events-CvcbsbIf.js";import{r as N}from"./use-virtual-scroll-DixIsJk4.js";import{c as P,l as F,u as I}from"./ClosePopup-Bd5a-Lu_.js";import{t as L}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as R,t as z}from"./QScrollArea-qf2G1s2r.js";import{o as B,t as V}from"./date-snFAXn1W.js";import{t as H}from"./diff-store-D4XiTkfi.js";import{t as U}from"./AppPage-Cozv2vqG.js";import{t as W}from"./SearchInput-DapVXrFj.js";import{n as G}from"./CreateButton-zCmb7snC.js";import{n as K,t as q}from"./CreateReviewFabButton-D58IHr36.js";var J={class:`review-filters q-pa-md q-gutter-y-sm`},Y={class:`row q-gutter-x-sm`},X=500,Z=y({__name:`ReviewFilters`,props:{search:{required:!0},searchModifiers:{},createdFrom:{required:!0},createdFromModifiers:{},createdTo:{required:!0},createdToModifiers:{},files:{required:!0},filesModifiers:{}},emits:[`update:search`,`update:createdFrom`,`update:createdTo`,`update:files`],setup(n){let r=t(n,`search`),i=t(n,`createdFrom`),a=t(n,`createdTo`),o=t(n,`files`),{t:s}=O();return(t,n)=>(e(),g(`div`,J,[l(W,{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,debounce:X,placeholder:p(s)(`reviews.filters.searchPlaceholder`)},null,8,[`modelValue`,`placeholder`]),v(`div`,Y,[l(S,{modelValue:i.value,"onUpdate:modelValue":n[1]||=e=>i.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:X,label:p(s)(`reviews.filters.from`)},null,8,[`modelValue`,`label`]),l(S,{modelValue:a.value,"onUpdate:modelValue":n[2]||=e=>a.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:X,label:p(s)(`reviews.filters.to`)},null,8,[`modelValue`,`label`])]),l(B,{modelValue:o.value,"onUpdate:modelValue":n[3]||=e=>o.value=e,dense:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"hide-dropdown-icon":``,"new-value-mode":`add-unique`,label:p(s)(`reviews.filters.files`),hint:p(s)(`reviews.filters.filesHint`)},null,8,[`modelValue`,`label`,`hint`])]))}}),Q=y({__name:`ReviewListItem`,props:{review:{}},emits:[`click`],setup(t){let n={in_progress:`grey-7`,approved:`positive`,changes_requested:`negative`},i={in_progress:`var(--app-icon-neutral)`,approved:`var(--app-icon-success)`,changes_requested:`var(--app-icon-danger)`},s=t,{t:d}=O(),h=m(()=>s.review.name??d(`reviews.list.unnamed`)),g=m(()=>s.review.branch??d(`reviews.list.unknownBranch`)),_=m(()=>V(s.review.createdAt));return(s,m)=>o((e(),u(F,{clickable:``,onClick:m[0]||=e=>s.$emit(`click`)},{default:c(()=>[l(I,{avatar:``},{default:c(()=>[l(T,{style:r({color:i[t.review.status]}),name:p(A)},null,8,[`style`,`name`])]),_:1}),l(I,null,{default:c(()=>[l(N,{class:`text-body2`},{default:c(()=>[f(a(h.value),1)]),_:1}),l(N,{caption:``},{default:c(()=>[l(T,{name:p(k),size:`14px`,class:`app-icon-neutral q-mr-xs`},null,8,[`name`]),f(a(g.value)+` `,1),m[1]||=v(`span`,{class:`q-mx-sm`},`·`,-1),f(` `+a(_.value),1)]),_:1})]),_:1}),l(I,{side:``},{default:c(()=>[l(R,{color:n[t.review.status],outline:``,rounded:``},{default:c(()=>[f(a(p(d)(`reviews.status.${t.review.status}`)),1)]),_:1},8,[`color`])]),_:1})]),_:1})),[[w]])}}),$={class:`text-h6 q-px-sm`},ee={key:0,class:`row justify-center q-pa-lg`},te={key:1,class:`q-pa-lg text-center text-grey-6`},ne=L(y({__name:`ReviewsPage`,setup(t){let{t:r}=O(),o=D(),f=K(),m=H(),y=G(),{reviews:S,loading:w}=j(f),T=h(null),k=h(null),A=h(null),N=h([]);function F(){f.fetchReviews({search:T.value??``,createdFrom:k.value,createdTo:A.value,files:N.value})}n(F),s([T,k,A,N],F),n(()=>{m.fetchDiff(),y.refresh()});let I=M([`review:created`,`review:updated`,`review:deleted`],()=>{F(),y.refresh()});i(()=>I.close());let L=M([`files:changed`],()=>void m.fetchDiff());i(()=>L.close());function R(e){o.push(`/reviews/${e}`)}function B(e){o.push(`/reviews/${e.id}`)}return(t,n)=>(e(),u(U,{class:`reviews-page column no-wrap`},{default:c(()=>[v(`div`,$,a(p(r)(`nav.reviews`)),1),l(x),l(Z,{search:T.value,"onUpdate:search":n[0]||=e=>T.value=e,"created-from":k.value,"onUpdate:createdFrom":n[1]||=e=>k.value=e,"created-to":A.value,"onUpdate:createdTo":n[2]||=e=>A.value=e,files:N.value,"onUpdate:files":n[3]||=e=>N.value=e},null,8,[`search`,`created-from`,`created-to`,`files`]),l(x),l(z,{class:`col`},{default:c(()=>[p(w)?(e(),g(`div`,ee,[l(C,{color:`primary`,size:`2em`})])):p(S).length===0?(e(),g(`div`,te,[v(`p`,null,a(p(r)(`reviews.list.empty`)),1),l(E,{flat:``,color:`primary`,label:p(r)(`reviews.list.emptyAction`),to:{path:`/`}},null,8,[`label`])])):d(``,!0),l(P,{class:`q-pa-md`,separator:``,padding:``},{default:c(()=>[(e(!0),g(_,null,b(p(S),t=>(e(),u(Q,{key:t.id,review:t,onClick:e=>R(t.id)},null,8,[`review`,`onClick`]))),128))]),_:1})]),_:1}),l(q,{onCreated:B})]),_:1}))}}),[[`__scopeId`,`data-v-38ce03eb`]]);export{ne as default};
1
+ import{I as e,K as t,N as n,Nt as r,P as i,Pt as a,Q as o,Y as s,Z as c,_ as l,d as u,f as d,g as f,gt as p,l as m,lt as h,p as g,r as _,u as v,y,z as b}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{t as x}from"./QSeparator-B8uLaDiI.js";import{t as S}from"./QInput-BnqLJGXl.js";import{a as C,i as w,l as T,t as E}from"./QBtn-V3VXtJXi.js";import{_ as D}from"./index-CstRcwnO.js";import{n as O}from"./vue-i18n.runtime-JOo8b7-t.js";import{Wt as k,k as A}from"./mdi-Du7sIqtH.js";import{r as j}from"./pinia-BfqEuvsi.js";import{n as M}from"./use-server-events-CvcbsbIf.js";import{r as N}from"./use-virtual-scroll-DixIsJk4.js";import{c as P,l as F,u as I}from"./ClosePopup-Bd5a-Lu_.js";import{t as L}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as R,t as z}from"./QScrollArea-qf2G1s2r.js";import{o as B,t as V}from"./date-CGiGHbuG.js";import{t as H}from"./diff-store-DCqGPv2R.js";import{t as U}from"./AppPage-Cozv2vqG.js";import{t as W}from"./SearchInput-DapVXrFj.js";import{n as G}from"./CreateButton-zCmb7snC.js";import{n as K,t as q}from"./CreateReviewFabButton-DVSiNykk.js";var J={class:`review-filters q-pa-md q-gutter-y-sm`},Y={class:`row q-gutter-x-sm`},X=500,Z=y({__name:`ReviewFilters`,props:{search:{required:!0},searchModifiers:{},createdFrom:{required:!0},createdFromModifiers:{},createdTo:{required:!0},createdToModifiers:{},files:{required:!0},filesModifiers:{}},emits:[`update:search`,`update:createdFrom`,`update:createdTo`,`update:files`],setup(n){let r=t(n,`search`),i=t(n,`createdFrom`),a=t(n,`createdTo`),o=t(n,`files`),{t:s}=O();return(t,n)=>(e(),g(`div`,J,[l(W,{modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,debounce:X,placeholder:p(s)(`reviews.filters.searchPlaceholder`)},null,8,[`modelValue`,`placeholder`]),v(`div`,Y,[l(S,{modelValue:i.value,"onUpdate:modelValue":n[1]||=e=>i.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:X,label:p(s)(`reviews.filters.from`)},null,8,[`modelValue`,`label`]),l(S,{modelValue:a.value,"onUpdate:modelValue":n[2]||=e=>a.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:X,label:p(s)(`reviews.filters.to`)},null,8,[`modelValue`,`label`])]),l(B,{modelValue:o.value,"onUpdate:modelValue":n[3]||=e=>o.value=e,dense:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"hide-dropdown-icon":``,"new-value-mode":`add-unique`,label:p(s)(`reviews.filters.files`),hint:p(s)(`reviews.filters.filesHint`)},null,8,[`modelValue`,`label`,`hint`])]))}}),Q=y({__name:`ReviewListItem`,props:{review:{}},emits:[`click`],setup(t){let n={in_progress:`grey-7`,approved:`positive`,changes_requested:`negative`},i={in_progress:`var(--app-icon-neutral)`,approved:`var(--app-icon-success)`,changes_requested:`var(--app-icon-danger)`},s=t,{t:d}=O(),h=m(()=>s.review.name??d(`reviews.list.unnamed`)),g=m(()=>s.review.branch??d(`reviews.list.unknownBranch`)),_=m(()=>V(s.review.createdAt));return(s,m)=>o((e(),u(F,{clickable:``,onClick:m[0]||=e=>s.$emit(`click`)},{default:c(()=>[l(I,{avatar:``},{default:c(()=>[l(T,{style:r({color:i[t.review.status]}),name:p(A)},null,8,[`style`,`name`])]),_:1}),l(I,null,{default:c(()=>[l(N,{class:`text-body2`},{default:c(()=>[f(a(h.value),1)]),_:1}),l(N,{caption:``},{default:c(()=>[l(T,{name:p(k),size:`14px`,class:`app-icon-neutral q-mr-xs`},null,8,[`name`]),f(a(g.value)+` `,1),m[1]||=v(`span`,{class:`q-mx-sm`},`·`,-1),f(` `+a(_.value),1)]),_:1})]),_:1}),l(I,{side:``},{default:c(()=>[l(R,{color:n[t.review.status],outline:``,rounded:``},{default:c(()=>[f(a(p(d)(`reviews.status.${t.review.status}`)),1)]),_:1},8,[`color`])]),_:1})]),_:1})),[[w]])}}),$={class:`text-h6 q-px-sm`},ee={key:0,class:`row justify-center q-pa-lg`},te={key:1,class:`q-pa-lg text-center text-grey-6`},ne=L(y({__name:`ReviewsPage`,setup(t){let{t:r}=O(),o=D(),f=K(),m=H(),y=G(),{reviews:S,loading:w}=j(f),T=h(null),k=h(null),A=h(null),N=h([]);function F(){f.fetchReviews({search:T.value??``,createdFrom:k.value,createdTo:A.value,files:N.value})}n(F),s([T,k,A,N],F),n(()=>{m.fetchDiff(),y.refresh()});let I=M([`review:created`,`review:updated`,`review:deleted`],()=>{F(),y.refresh()});i(()=>I.close());let L=M([`files:changed`],()=>void m.fetchDiff());i(()=>L.close());function R(e){o.push(`/reviews/${e}`)}function B(e){o.push(`/reviews/${e.id}`)}return(t,n)=>(e(),u(U,{class:`reviews-page column no-wrap`},{default:c(()=>[v(`div`,$,a(p(r)(`nav.reviews`)),1),l(x),l(Z,{search:T.value,"onUpdate:search":n[0]||=e=>T.value=e,"created-from":k.value,"onUpdate:createdFrom":n[1]||=e=>k.value=e,"created-to":A.value,"onUpdate:createdTo":n[2]||=e=>A.value=e,files:N.value,"onUpdate:files":n[3]||=e=>N.value=e},null,8,[`search`,`created-from`,`created-to`,`files`]),l(x),l(z,{class:`col`},{default:c(()=>[p(w)?(e(),g(`div`,ee,[l(C,{color:`primary`,size:`2em`})])):p(S).length===0?(e(),g(`div`,te,[v(`p`,null,a(p(r)(`reviews.list.empty`)),1),l(E,{flat:``,color:`primary`,label:p(r)(`reviews.list.emptyAction`),to:{path:`/`}},null,8,[`label`])])):d(``,!0),l(P,{class:`q-pa-md`,separator:``,padding:``},{default:c(()=>[(e(!0),g(_,null,b(p(S),t=>(e(),u(Q,{key:t.id,review:t,onClick:e=>R(t.id)},null,8,[`review`,`onClick`]))),128))]),_:1})]),_:1}),l(q,{onCreated:B})]),_:1}))}}),[[`__scopeId`,`data-v-38ce03eb`]]);export{ne as default};
@@ -1 +1 @@
1
- .artifact-definition-picker[data-v-064b1665]{min-width:0;max-width:100%}.artifact-definition-picker--single[data-v-064b1665] .q-field__native{flex-wrap:nowrap}.artifact-report__quote[data-v-a4f1352a]{white-space:pre-wrap}
1
+ .artifact-definition-picker[data-v-064b1665]{min-width:0;max-width:100%}.artifact-definition-picker--single[data-v-064b1665] .q-field__native{flex-wrap:nowrap}.artifact-report__quote[data-v-9e5f6eab]{white-space:pre-wrap}
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-ImeEME4Y.js","assets/index-CstRcwnO.js","assets/runtime-core.esm-bundler-DDnHUoIy.js","assets/use-router-link-D7geCGQI.js","assets/event-rR76ioXz.js","assets/is-B1kBQ5Va.js","assets/create-DedXY-KP.js","assets/debounce-rZaFFwsz.js","assets/render-Brao9Nj2.js","assets/QSeparator-B8uLaDiI.js","assets/QInput-BnqLJGXl.js","assets/uid-B1JNhznI.js","assets/QBtn-V3VXtJXi.js","assets/use-dark-BHObfh0O.js","assets/index-BQU3KK1E.css","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-oBChb5qS.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/chunk-O7XYJQB3-oJNN75W6.js","assets/purify.es--06brOip.js","assets/chunk-ZIGJFQKS-CJBzn5zg.js","assets/dist-B_J_HbC0.js","assets/chunk-742MDFTN-C6l3D224.js","assets/chunk-MBY4JIJT-B32SiYZc.js","assets/chunk-DUW6YSOI-Dgx8z5s3.js","assets/chunk-7PRAP22T-uKx0VBKu.js","assets/chunk-7INBJB4K-DLyHAyF6.js","assets/chunk-J5ZVWO5B-oDCd-gWO.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-5DYCD2WN-C58aRWSu.js","assets/chunk-Z7XXMR3K-oLw57LFn.js","assets/line-B-rS1U0C.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/chunk-UA2S7LBM-6edzXzPi.js"])))=>i.map(i=>d[i]);
2
+ import{A as e,I as t,M as n,P as r,Pt as i,S as a,X as o,Y as s,Z as c,_ as l,d as u,dt as d,f,g as p,gt as m,h,ht as g,jt as _,l as v,ot as y,p as b,q as x,r as S,u as C,ut as w,y as T,z as E}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{_ as D}from"./use-router-link-D7geCGQI.js";import{t as O}from"./create-DedXY-KP.js";import{a as k,t as A}from"./render-Brao9Nj2.js";import{C as ee}from"./QSeparator-B8uLaDiI.js";import{t as te}from"./uid-B1JNhznI.js";import{a as ne,f as re,t as j,u as ie}from"./QBtn-V3VXtJXi.js";import{n as ae,t as oe}from"./use-dark-BHObfh0O.js";import{_ as se,v as ce}from"./index-CstRcwnO.js";import{t as le}from"./purify.es--06brOip.js";import{n as M}from"./vue-i18n.runtime-JOo8b7-t.js";import{n as ue}from"./pinia-BfqEuvsi.js";import{a as N,h as P,i as F,l as I,n as L,t as de}from"./single-flight-CyDZB3rb.js";import{t as fe}from"./repository-store-DZgQ5H7J.js";import{t as pe}from"./agent-store-BV2OAJzn.js";import{n as me}from"./use-server-events-CvcbsbIf.js";import{u as R}from"./workspace-navigation-kGtTYXtT.js";import{i as he,l as ge,u as z}from"./markdown-B6YvDSFL.js";import{r as B}from"./use-virtual-scroll-DixIsJk4.js";import{c as _e,l as V,u as H}from"./ClosePopup-Bd5a-Lu_.js";import{t as U}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{d as ve,h as ye,m as be,p as xe,t as Se,v as Ce}from"./preview-store-C47JAa3k.js";import{n as we}from"./copy-code-XoEu_Yh6.js";import{t as Te}from"./project-files-store-DPvUB6jk.js";import{o as Ee,s as De}from"./date-CGiGHbuG.js";function W(e,t){try{let n=new URL(e,t);if(n.username||n.password)return null;let r,i;if(n.protocol===`githuman:`){if(n.host!==`artifact`||n.search||n.hash)return null;let e=n.pathname.split(`/`);if(e.length!==3)return null;r=e[1]??null,i=e[2]??null}else{if(n.origin!==new URL(t).origin)return null;let e=n.hash.startsWith(`#/`)?new URL(n.hash.slice(1),n.origin):n;if(e.pathname!==`/artifacts`)return null;r=e.searchParams.get(`storeId`),i=e.searchParams.get(`selectedId`)}return R(r)&&R(i)?{storeId:r,artifactId:i}:null}catch{return null}}function Oe(t){let r=we();return s(t,r.reset,{flush:`sync`}),e(r.reset),n(r.reset),r}var ke=50;function Ae(e){let t=new Map,n=Promise.resolve(),r=null,i=0;async function a(t,n){let a=await e(),o=n?`dark`:`default`;r!==o&&(a.initialize({startOnLoad:!1,securityLevel:`strict`,suppressErrorRendering:!0,theme:o,look:`classic`,fontSize:12,themeVariables:{fontSize:`12px`},themeCSS:`.label div, .label span, .label p { line-height: 1.25 !important; }`}),r=o),i+=1;let{svg:s}=await a.render(`agent-mermaid-${i}`,t);return s}return{render(e,r){let i=`${r?`dark`:`light`}\n${e}`,o=t.get(i);if(o)return t.delete(i),t.set(i,o),o;let s=n.then(()=>a(e,r));if(n=s.catch(()=>void 0),t.set(i,s),t.size>ke){let e=t.keys().next();e.done||t.delete(e.value)}return s}}}async function je(){let{default:e}=await ce(async()=>{let{default:e}=await import(`./mermaid.core-ImeEME4Y.js`);return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]));return{initialize:t=>e.initialize(t),async render(t,n){try{return await e.render(t,n)}catch(e){throw document.getElementById(`d${t}`)?.remove(),e}}}}var G=Ae(je);function K(e){return le.sanitize(e,{USE_PROFILES:{svg:!0,svgFilters:!0,html:!0},ADD_TAGS:[`foreignObject`],FORBID_TAGS:[`img`,`picture`,`source`,`video`,`audio`,`iframe`,`form`,`input`,`button`,`a`],HTML_INTEGRATION_POINTS:{foreignobject:!0}})}function q(e){let t=e.querySelector(`svg`),n=t?.getAttribute(`viewBox`)?.split(/[\s,]+/).map(Number)?.[2];!t||n===void 0||!Number.isFinite(n)||n<=0||(t.style.maxWidth=`none`,t.style.width=`${Math.round(n)}px`,t.style.height=`auto`)}async function Me(e,t,n=G,r=`Could not draw the diagram`,i=()=>!0){let a=t?`dark`:`light`,o=[],s=0;for(let t of e.querySelectorAll(`pre > code.language-mermaid`)){let e=t.parentElement;e&&o.push({el:e,source:t.textContent??``,index:s++})}for(let t of e.querySelectorAll(`.agent-mermaid`))t.dataset.theme!==a&&o.push({el:t,source:t.dataset.source??``,index:Number(t.dataset.diagramIndex??0)});await Promise.all(o.map(async({el:o,source:s,index:c})=>{if(s.trim()!==``)try{let r=await n.render(s,t);if(!o.isConnected||!e.contains(o)||!i())return;let l=document.createElement(`div`);l.className=`agent-mermaid`,l.dataset.diagramIndex=String(c),l.dataset.source=s,l.dataset.theme=a,l.innerHTML=K(r),q(l),l.tabIndex=0,l.setAttribute(`role`,`button`),o.replaceWith(l)}catch(t){if(!o.isConnected||!e.contains(o)||!i())return;if(o.classList.add(`agent-mermaid--invalid`),!o.nextElementSibling?.classList.contains(`agent-mermaid-error`)){let e=document.createElement(`div`);e.className=`agent-mermaid-error`;let n=t instanceof Error?t.message.split(`
3
+ `)[0]:``;e.textContent=n?`${r}: ${n.slice(0,200)}`:r,o.after(e)}}}))}function Ne(e,t,n,r,i=0){let{registerTimeout:a,removeTimeout:o}=ee();s(()=>[g(e),g(t),g(n),g(r),g(i)],([r,i,s,c,l],u,d)=>{o();let f=!0;d(()=>{f=!1,o()}),r&&(i.includes(`language-mermaid`)||r.querySelector(`.agent-mermaid`))&&a(()=>{Me(r,s,void 0,c,()=>f&&g(e)===r&&g(t)===i&&g(n)===s)},l)},{flush:`post`,immediate:!0})}var Pe=[`innerHTML`],Fe=T({__name:`MarkdownContent`,props:{text:{},disableImages:{type:Boolean},headingAnchors:{type:Boolean},mermaidDebounce:{default:0},previewSource:{},previewTitle:{},fileLinks:{type:Boolean},variant:{default:`compact`}},setup(e){let n=z+`?`,r=e,{t:i}=M(),a=se(),s=k(),c=x(`body`),l=Se(),u=pe(),d=fe(),f=Te(),p=v(()=>he(r.text,{disableImages:r.disableImages,copyLabel:i(`agent.code.copy`),headingAnchors:r.headingAnchors,fileLink:r.fileLinks?h:void 0})),{copyCodeBlock:m}=Oe(p);Ne(c,p,()=>s.dark.isActive,()=>i(`agent.diagram.failed`),()=>r.mermaidDebounce),o(()=>{r.fileLinks&&!f.ready&&f.prepare().catch(()=>{})});function h(e){if(!d.info||!f.ready||W(e,window.location.href))return e;let t=r.previewSource;try{let n=ve(e,{repositoryPath:d.info.path,origin:window.location.origin,origins:f.origins,from:t?.type===`file`?t.path:``});return n?a.resolve(be(n,t?.type===`file`?t.ref:ye)).href:e}catch{return a.resolve(z+`?`+ge).href}}function g(e){let t=e.target instanceof Element?e.target.closest(`a`):null;if(!t||!c.value?.contains(t))return!1;let n=W(t.getAttribute(`href`)??``,window.location.href);return n?e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||e.button!==0?!0:(e.preventDefault(),l.open(`markdown`,{type:`artifact`,...n},{title:t.textContent?.trim()||i(`windows.preview`)}),!0):!1}async function y(e){if(!r.fileLinks)return!1;let t=e.target instanceof Element?e.target.closest(`a`):null;if(!t||!c.value?.contains(t))return!1;let a=t.getAttribute(`href`)??``,o=new URL(a,window.location.href),l=o.hash.startsWith(`#`+n)?o.hash.slice(1):o.pathname+o.search;if(o.origin!==window.location.origin||!l.startsWith(n))return!1;if(e.ctrlKey||e.metaKey||e.shiftKey||e.altKey||e.button!==0)return!0;e.preventDefault();try{let e=new URL(l,window.location.origin).searchParams,t=xe(t=>e.get(t));if(!t)throw Error(i(`windows.fileLinkFailed`));await f.open(t.link,t.ref)}catch(e){s.notify({type:`negative`,message:L(e)})}return!0}function S(e){let t=e.target instanceof Element?e.target.closest(`.agent-mermaid`):null,n=r.previewSource;if(!t||!c.value?.contains(t)||!n)return;let a=Number(t.dataset.diagramIndex??0),o=r.previewTitle??(n.type===`message`?u.chats[n.sessionId]?.info.name??i(`agent.diagram.title`):n.type===`file`?n.path:i(`windows.preview`));l.open(`diagram`,n,{title:`${o} · ${i(`windows.diagram`)} · ${a+1}`,index:a,content:t.dataset.source??``,sourceText:r.text})}async function w(e){if(e.defaultPrevented||g(e)||await y(e))return;let t=e.target instanceof Element?e.target.closest(`[data-copy]`):null;if(!t){S(e);return}await m(t,{copy:i(`agent.code.copy`),copied:i(`agent.code.copied`)})||s.notify({type:`negative`,message:i(`agent.code.copyFailed`)})}return(n,r)=>(t(),b(`div`,null,[C(`div`,{ref_key:`body`,ref:c,class:_([`md-content`,{"md-document":e.variant===`document`}]),onClick:w,onKeydown:D(S,[`enter`]),innerHTML:p.value},null,42,Pe)]))}}),Ie=ie({xs:2,sm:4,md:6,lg:10,xl:14});function Le(e){return{transform:`scaleX(${e})`}}var Re=O({name:`QLinearProgress`,props:{...ae,...re,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let n=k(),r=oe(e,n),i=v(()=>e.indeterminate||e.query),o=v(()=>({...Ie(e.size),"--q-linear-progress-speed":`${e.animationSpeed}ms`})),s=v(()=>`q-linear-progress`+(e.color===void 0?``:` text-${e.color}`)+(e.reverse||e.query?` q-linear-progress--reverse`:``)+(e.rounded?` rounded-borders`:``)),c=v(()=>Le(e.buffer===void 0?1:e.buffer)),l=v(()=>`with${e.instantFeedback?`out`:``}-transition`),u=v(()=>`q-linear-progress__track absolute-full q-linear-progress__track--${l.value} q-linear-progress__track--${r()?`dark`:`light`}`+(e.trackColor===void 0?``:` bg-${e.trackColor}`)),d=v(()=>Le(i.value?1:e.value)),f=v(()=>`q-linear-progress__model absolute-full q-linear-progress__model--${l.value} q-linear-progress__model--${i.value?`in`:``}determinate`),p=v(()=>({width:`${e.value*100}%`})),m=v(()=>`q-linear-progress__stripe absolute-${e.reverse?`right`:`left`} q-linear-progress__stripe--${l.value}`);return()=>{let n=[a(`div`,{class:u.value,style:c.value}),a(`div`,{class:f.value,style:d.value})];return e.stripe&&!i.value&&n.push(a(`div`,{class:m.value,style:p.value})),a(`div`,{class:s.value,style:o.value,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":e.indeterminate||e.query?void 0:e.value},A(t.default,n))}}});function ze(e,t){return`?limit=50`+(e?`&cursor=`+encodeURIComponent(e):``)+(t?`&search=`+encodeURIComponent(t):``)}var J={tasks:(e,t,n)=>N(`/api/tasks`+ze(e,n),t),types:(e,t,n)=>N(`/api/artifact-types`+ze(e,n),t),task:(e,t)=>N(`/api/tasks/`+encodeURIComponent(e),t),type:(e,t)=>N(`/api/artifact-types/`+encodeURIComponent(e),t)};function Y(e){let t=w({page:null,loading:!1,stale:!1,error:null}),n=!1,r=!1,i=0,a=null;function o(t){if(t.storeId!==e.storeId)throw Error(`The details belong to another artifact store.`);e.validate(t)}let s=de(async()=>{if(!n||r)return;let s=++i;a?.abort();let c=new AbortController;a=c,t.loading=!0,t.error=null;try{let n=await e.fetch(null,c.signal);if(s!==i||r)return;o(n),t.page=n,t.stale=!1}catch(e){if(s!==i||r)return;t.error=L(e),t.stale=!0}finally{a===c&&(a=null),s===i&&(t.loading=!1)}});async function c(){let s=t.page;if(!n||r||t.loading||t.stale||!s)return;let c=e.cursor(s);if(c===null)return;let l=i,u=new AbortController;a=u,t.loading=!0,t.error=null;try{let n=await e.fetch(c,u.signal);if(l!==i||r)return;o(n),t.page=e.append(s,n)}catch(e){if(l!==i||r)return;t.error=L(e),t.stale=!0}finally{a===u&&(a=null),l===i&&(t.loading=!1)}}function l(e){return r?Promise.resolve():(!e&&n&&t.loading&&(++i,a?.abort(),t.loading=!1,t.stale=!0),n=e,e&&(!t.page||t.stale)?s():Promise.resolve())}function u(){return++i,a?.abort(),t.stale=!0,t.loading=!1,n&&!r?s():Promise.resolve()}function d(){r=!0,a?.abort(),n=!1,++i,t.page=null,t.loading=!1}return{state:t,refresh:s,more:c,setActive:l,invalidate:u,dispose:d}}var Be=4;function X(e,t){if(e.storeEpoch!==t.storeEpoch)throw Error(`The definitions changed. Refresh before reading more.`);return{...t,items:[...e.items,...t.items]}}function Ve(e,t,n){let r=w(new Map),i=w(new Map),a=new Map,o=new Map,c=new Set,l=new Set,u=new Set,d=new Set,f,p=Promise.resolve(),m=0,h=0;function g(t,n,r){if(n.storeId!==e)throw Error(`Definition belongs to another store.`);(t.get(n.id)?.version??0)<=n.version&&(t.set(n.id,n),l.delete(r+`:`+n.id))}function _(t){if(t.some(t=>t.storeId!==e))throw Error(`Definitions belong to another store.`)}let v=n,y=Y({storeId:e,fetch:(e,t)=>{let n=e===null?v:void 0;return v=void 0,n?Promise.resolve(n):J.tasks(e??void 0,t)},cursor:e=>e.nextCursor,validate:e=>_(e.items),append:X}),b=Y({storeId:e,fetch:(e,t)=>J.types(e??void 0,t),cursor:e=>e.nextCursor,validate:e=>_(e.items),append:X});s([()=>y.state.page,()=>b.state.page],([e,t],[n,a])=>{if(e!==n)for(let t of e?.items??[])g(r,t,`task`);if(t!==a)for(let e of t?.items??[])g(i,e,`type`)},{flush:`sync`});function x(t){let n=``,r=Y({storeId:e,fetch:(e,r)=>t===`task`?J.tasks(e??void 0,r,n):J.types(e??void 0,r,n),cursor:e=>e.nextCursor,validate:e=>_(e.items),append:X});return d.add(r),r.setActive(!0),{state:r.state,more:r.more,refresh:r.refresh,setText(e){return e===n?Promise.resolve():(n=e,r.refresh())},close(){d.delete(r),r.dispose()}}}function S(e,t,n=!1){if(!t)return Promise.resolve();let s=e+`:`+t;if(o.set(s,{kind:e,id:t}),!n&&!l.has(s)&&(e===`task`?r.has(t):i.has(t)))return Promise.resolve();if(!n&&c.has(s))return Promise.reject(Error(`Definition is unavailable. Refresh to retry.`));let d=a.get(s);if(d)return d;let f=m,p=new AbortController;u.add(p);let h=(async()=>{if(e===`task`){let e=await J.task(t,p.signal);if(f===m){if(e.id!==t)throw Error(`Task identity changed.`);g(r,e,`task`)}}else{let e=await J.type(t,p.signal);if(f===m){if(e.id!==t)throw Error(`Type identity changed.`);g(i,e,`type`)}}})().catch(e=>{throw f===m&&c.add(s),e}).finally(()=>{u.delete(p),a.get(s)===h&&a.delete(s)});return a.set(s,h),h}function C(e,t=!1){let n=m,r=async()=>{for(let r=0;r<e.length;r+=Be){if(n!==m)return;await Promise.allSettled(e.slice(r,r+Be).map(e=>S(e.kind,e.id,t)))}},i=p.then(r,r);return p=i,i}function T(e){let t=new Map;for(let n of e){(!i.has(n.typeId)||l.has(`type:`+n.typeId))&&!c.has(`type:`+n.typeId)&&t.set(`type:`+n.typeId,{kind:`type`,id:n.typeId});for(let e of n.taskIds)(!r.has(e)||l.has(`task:`+e))&&!c.has(`task:`+e)&&t.set(`task:`+e,{kind:`task`,id:e})}return C([...t.values()])}async function E(){++m;for(let e of u)e.abort();u.clear(),a.clear(),c.clear();for(let e of r.keys())l.add(`task:`+e);for(let e of i.keys())l.add(`type:`+e);let e=[...o.values()];await Promise.all([y.invalidate(),b.invalidate(),...[...d].map(e=>e.invalidate())]),h&&await C(e.filter(e=>l.has(e.kind+`:`+e.id)||!(e.kind===`task`?r:i).has(e.id)),!0)}function D(){++h,h===1&&(f=t?.(()=>{E()}),E(),y.setActive(!0),b.setActive(!0));let e=!1;return()=>{if(!e&&(e=!0,--h,!h)){f?.(),f=void 0,++m;for(let e of u)e.abort();u.clear(),a.clear(),o.clear(),c.clear(),y.setActive(!1),b.setActive(!1)}}}return{storeId:e,tasks:y,types:b,taskLabels:r,typeLabels:i,resolve:S,resolveCatalog:T,openSearch:x,invalidate:E,retain:D}}var Z=ue(`artifact-definitions`,()=>{let e=new Map,t=null,n=null;function r(n,r){t=n;let i=e.get(n);return i||(i=Ve(n,e=>me([`artifacts:changed`],e).close,r),e.set(n,i)),i}function i(){return t?Promise.resolve(r(t)):(n??=J.tasks().then(e=>r(e.storeId,e)).finally(()=>{n=null}),n)}return{forStore:r,current:i}});function He(e,t,n){let r=Z(),i=d(null);return s(()=>[g(e),g(t)],([e,t],n,a)=>{i.value=e?r.forStore(e):null,i.value&&t&&a(i.value.retain())},{immediate:!0}),s(()=>[i.value,g(t),n?g(n):[]],([e,t,n])=>{e&&t&&e.resolveCatalog(n)},{immediate:!0}),i}function Ue(e,t){let n=JSON.stringify(t);return e?.fingerprint===n?e:{fingerprint:n,requestId:te()}}var We=250,Ge=U(T({__name:`ArtifactDefinitionPicker`,props:{storeId:{},kind:{},modelValue:{},multiple:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,{t:o}=M(),f=Z().forStore(r.storeId),g=f.openSearch(r.kind);y(g.close);let b=d(``),x=d(null),S=v(()=>Array.isArray(r.modelValue)?r.modelValue:r.modelValue?[r.modelValue]:[]);function C(e){return r.kind===`task`?f.taskLabels.get(e):f.typeLabels.get(e)}let w=v(()=>S.value.flatMap(e=>C(e)??[]));function T(e){let t=`title`in e?e.title:e.label;return(`state`in e?e.state===`closed`:!e.active)?t+` · `+o(r.kind===`task`?`artifacts.definitions.closed`:`artifacts.definitions.inactive`):t}function E(e){let t=C(e);return t?T(t):e}let D=v(()=>r.multiple?void 0:E(S.value[0]??``)),O=v(()=>{let e=[...g.state.page?.items??[]];if(!b.value)for(let t of w.value)e.some(e=>e.id===t.id)||e.push(t);return e.map(e=>({value:e.id,label:T(e)}))});s(S,async e=>{x.value=null;try{await Promise.all(e.map(e=>f.resolve(r.kind,e)))}catch{S.value===e&&(x.value=o(`artifacts.definitions.unavailable`))}},{immediate:!0}),s(w,e=>{e.length===S.value.length&&(x.value=null)});function k(e,t){t(()=>{b.value=e,g.setText(e)})}function A(){g.state.stale&&g.refresh()}function ee(e){e.to!==O.value.length-1||!g.state.page?.nextCursor||g.state.loading||g.state.stale||g.more().then(()=>e.ref.refresh())}return(n,r)=>(t(),u(Ee,{class:_([`artifact-definition-picker`,{"artifact-definition-picker--single":!e.multiple}]),outlined:``,dense:``,clearable:``,"use-input":``,"emit-value":``,"map-options":``,multiple:e.multiple,"use-chips":e.multiple,"model-value":e.modelValue,"display-value":D.value,options:O.value,loading:m(g).state.loading,label:m(o)(e.kind===`task`?`artifacts.definitions.task`:`artifacts.definitions.type`),error:!!(x.value||m(g).state.error),"error-message":x.value||m(g).state.error||``,"input-debounce":We,onFilter:k,onPopupShow:A,onVirtualScroll:ee,"onUpdate:modelValue":r[0]||=e=>a(`update:modelValue`,e)},h({"no-option":c(()=>[l(V,null,{default:c(()=>[l(H,null,{default:c(()=>[p(i(m(o)(`artifacts.definitions.noMatches`)),1)]),_:1})]),_:1})]),_:2},[e.multiple?{name:`selected-item`,fn:c(e=>[l(De,{removable:``,dense:``,tabindex:e.tabindex,onRemove:t=>e.removeAtIndex(e.index)},{default:c(()=>[p(i(E(typeof e.opt==`object`?e.opt.value:String(e.opt))),1)]),_:2},1032,[`tabindex`,`onRemove`])]),key:`0`}:void 0]),1032,[`class`,`multiple`,`use-chips`,`model-value`,`display-value`,`options`,`loading`,`label`,`error`,`error-message`]))}}),[[`__scopeId`,`data-v-064b1665`]]),Ke=T({__name:`TextButton`,props:{label:{},dense:{type:Boolean,default:!0},size:{default:`sm`}},setup(e){return(n,r)=>(t(),u(j,{flat:``,"no-caps":``,dense:e.dense,size:e.size,label:e.label},null,8,[`dense`,`size`,`label`]))}}),qe={"aria-live":`polite`},Je={key:1,class:`q-ml-sm`},Ye={key:2,class:`text-negative`,role:`alert`},Xe={key:3},Ze={class:`text-subtitle2`},Qe={class:`text-subtitle2 q-mt-md`},$e={class:`q-my-xs`},et={key:2,class:`text-negative q-mt-md`,role:`alert`},tt={class:`text-subtitle2 q-mt-md`},nt=U(T({__name:`ArtifactReportBody`,props:{report:{},text:{},titles:{},loading:{type:Boolean},error:{},textError:{}},setup(e){let{t:n}=M();return(r,a)=>(t(),b(`div`,qe,[e.loading?(t(),u(ne,{key:0})):f(``,!0),e.loading?(t(),b(`span`,Je,i(m(n)(`artifacts.transition.resultLoading`)),1)):e.error?(t(),b(`div`,Ye,i(m(n)(`artifacts.transition.resultFailed`))+`: `+i(e.error),1)):!e.text&&!e.textError&&(!e.report||!e.report.findings.length&&!e.report.resolutions.length)?(t(),b(`div`,Xe,i(m(n)(`artifacts.transition.resultEmpty`)),1)):(t(),b(S,{key:4},[e.report?.findings.length?(t(),b(S,{key:0},[C(`div`,Ze,i(m(n)(`artifacts.transition.findings`)),1),l(_e,{separator:``,dense:``},{default:c(()=>[(t(!0),b(S,null,E(e.report.findings,(n,r)=>(t(),u(V,{key:r},{default:c(()=>[l(H,null,{default:c(()=>[l(B,null,{default:c(()=>[p(i(e.titles[n.artifactId]??n.artifactId),1)]),_:2},1024),l(B,null,{default:c(()=>[p(i(n.message),1)]),_:2},1024),l(B,{caption:``,class:`artifact-report__quote`},{default:c(()=>[p(i(n.quote),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):f(``,!0),e.report?.resolutions.length?(t(),b(S,{key:1},[C(`div`,Qe,i(m(n)(`artifacts.transition.resolutions`)),1),C(`ul`,$e,[(t(!0),b(S,null,E(e.report.resolutions,(e,n)=>(t(),b(`li`,{key:n},i(e),1))),128))])],64)):f(``,!0),e.textError?(t(),b(`div`,et,i(m(n)(`artifacts.transition.reportTextFailed`))+`: `+i(e.textError),1)):f(``,!0),e.text?(t(),b(S,{key:3},[C(`div`,tt,i(m(n)(`artifacts.transition.reportText`)),1),l(Fe,{text:e.text,"disable-images":``},null,8,[`text`])],64)):f(``,!0)],64))]))}}),[[`__scopeId`,`data-v-9e5f6eab`]]),Q={list:e=>N(`/api/artifact-actions`,e),inspect:(e,t)=>N(`/api/artifact-actions/`+encodeURIComponent(e),t),approve:(e,t)=>I(`/api/artifact-actions/`+encodeURIComponent(e)+`/approve`,{sourceUserRequestId:t}),revoke:e=>F(`/api/artifact-actions/`+encodeURIComponent(e)),commit:(e,t)=>I(`/api/artifact-change-sets/`+encodeURIComponent(e)+`/commit`,t),proposal:(e,t)=>N(`/api/artifact-change-sets/`+encodeURIComponent(e),t),preview:(e,t)=>I(`/api/artifacts/change-sets/preview`,e,t),validation:(e,t)=>N(`/api/artifact-validations/`+encodeURIComponent(e)+`/check`,t),validationView:(e,t)=>N(`/api/artifact-validations/`+encodeURIComponent(e),t),prepare:(e,t)=>I(`/api/artifact-validations`,{changeSetId:e,version:t}),start:(e,t)=>I(`/api/artifact-validations/`+encodeURIComponent(e)+`/start`,{presetId:t}),cancel:e=>F(`/api/artifact-validations/`+encodeURIComponent(e)),request:e=>I(`/api/artifact-actions`,e),report:(e,t,n)=>N(`/api/artifact-validations/`+encodeURIComponent(e)+`/report?offset=`+t,n),reportText:(e,t,n)=>N(`/api/artifact-validations/`+encodeURIComponent(e)+`/report-text?offset=`+t,n)},rt=16777216;async function it(e,t){let n=0,r=null,i=[];do{let a=await t(n),o=new TextEncoder().encode(a.text).length;if(r??=a.totalBytes,a.id!==e||a.offset!==n||a.totalBytes!==r||r>rt||r<0||o+n>r)throw Error(`The validation report chunk does not match its identity or size.`);if(i.push(a.text),a.nextOffset===null){if(n+o!==r)throw Error(`Incomplete validation report.`);break}if(a.nextOffset!==n+o||a.nextOffset<=n||a.nextOffset>=r)throw Error(`Invalid validation report continuation.`);n=a.nextOffset}while(n<r);return i.join(``)}function $(e){if(e.state===`running`||e.state===`prepared`)throw Error(`Wait for the validation to finish before reading its report.`)}async function at(e,t){if($(e),!e.report?.text)return null;let n=await it(e.id,n=>Q.reportText(e.id,n,t));if(new TextEncoder().encode(n).length!==e.report.text.bytes)throw Error(`The report text does not match its validation.`);return n}async function ot(e,t){$(e);let n=await it(e.id,n=>Q.report(e.id,n,t)),r=JSON.parse(n);if(r===null&&e.report===null)return null;if(!P(r)||r.verdict!==`pass`&&r.verdict!==`conflict`&&r.verdict!==`incomplete`||r.verdict!==e.report?.verdict||r.manifestDigest!==e.manifestDigest||r.changeDigest!==e.changeDigest||r.validatorSessionId!==e.validatorSessionId||!Array.isArray(r.findings)||!Array.isArray(r.resolutions))throw Error(`The report does not match its validation.`);let i=r.findings.map(e=>{if(!P(e)||typeof e.artifactId!=`string`||typeof e.quote!=`string`||typeof e.message!=`string`)throw Error(`Invalid validation finding.`);return{artifactId:e.artifactId,quote:e.quote,message:e.message}}),a=r.resolutions.filter(e=>typeof e==`string`);if(a.length!==r.resolutions.length||i.length!==e.report?.findingCount)throw Error(`Incomplete structured report.`);return{verdict:r.verdict,findings:i,resolutions:a}}var st=20;function ct(e,t){let n=d(null),i=d(null),a=d({}),o=d(!1),c=d(null),l=d(null),u=0,f=null;async function p(){let r=g(e);if(!g(t)||!r)return;f?.abort();let s=new AbortController;f=s;let d=++u;o.value=!0,c.value=null,l.value=null;try{let e=await Q.validationView(r,s.signal);s.signal.throwIfAborted();let[t,o]=await Promise.allSettled([ot(e,s.signal),at(e,s.signal)]);if(d!==u)return;if(t.status===`rejected`)throw t.reason;n.value=t.value,o.status===`fulfilled`?i.value=o.value:s.signal.aborted||(l.value=L(o.reason));let c=[...new Set(t.value?.findings.map(e=>e.artifactId))],f=await Promise.allSettled(c.slice(0,st).map(e=>Ce.get(e,s.signal)));d===u&&(a.value=Object.fromEntries(f.flatMap(e=>e.status===`fulfilled`?[[e.value.id,e.value.title]]:[])))}catch(e){d===u&&!s.signal.aborted&&(c.value=L(e))}finally{d===u&&(o.value=!1)}}function m(){++u,f?.abort(),n.value=null,i.value=null,a.value={},o.value=!1,c.value=null,l.value=null}return s([()=>g(t),()=>g(e)],()=>{m(),g(t)&&p()},{immediate:!0}),r(m),{report:n,text:i,titles:a,loading:o,error:c,textError:l,load:p}}var lt=T({__name:`DialogButton`,props:{label:{}},setup(e){return(n,r)=>(t(),u(j,{flat:``,"no-caps":``,size:`md`,label:e.label},null,8,[`label`]))}}),ut=T({__name:`SaveButton`,props:{label:{}},setup(e){return(n,r)=>(t(),u(j,{color:`primary`,dense:``,"no-caps":``,padding:`4px 16px`,label:e.label},null,8,[`label`]))}});export{nt as a,Ue as c,Y as d,Re as f,G as g,q as h,Q as i,He as l,K as m,lt as n,Ke as o,Fe as p,ct as r,Ge as s,ut as t,Z as u};
@@ -1 +1 @@
1
- import{A as e,B as t,D as n,E as r,H as i,I as a,K as o,L as s,M as c,N as l,Nt as u,P as d,Pt as f,Q as p,T as m,X as h,Y as g,Z as _,_ as v,ct as y,d as b,dt as x,f as S,ft as C,g as w,gt as T,ht as E,it as ee,jt as D,l as O,lt as k,ot as te,p as A,q as j,r as M,u as N,w as P,y as F,z as I}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{_ as ne,g as re,v as L}from"./use-router-link-D7geCGQI.js";import{n as ie}from"./create-DedXY-KP.js";import{a as R}from"./render-Brao9Nj2.js";import{C as ae,t as oe}from"./QSeparator-B8uLaDiI.js";import{t as se}from"./QInput-BnqLJGXl.js";import{a as ce,i as z,l as B,t as V}from"./QBtn-V3VXtJXi.js";import{n as le,x as H}from"./index-B1Bugudn.js";import{n as U}from"./vue-i18n.runtime-JOo8b7-t.js";import{A as ue,Ft as de,It as fe,L as pe,Mt as me,N as he,_ as ge,g as _e,nn as ve,tn as ye,x as be}from"./mdi-Du7sIqtH.js";import{n as xe}from"./pinia-BfqEuvsi.js";import{l as Se}from"./single-flight-CyDZB3rb.js";import{f as Ce,t as we}from"./agent-store-Cs-hu1v1.js";import{n as Te}from"./use-server-events-CvcbsbIf.js";import{i as Ee,n as De,t as Oe}from"./QSpace-CVp0CPR_.js";import{c as ke,n as Ae}from"./workspace-navigation-CoXKJJpP.js";import{r as je,t as Me}from"./use-add-agent-context-D5VqMr0p.js";import{c as Ne,l as W,n as Pe,t as G,u as K}from"./ClosePopup-Bd5a-Lu_.js";import{t as q}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Fe}from"./QScrollArea-qf2G1s2r.js";import{r as Ie,t as Le}from"./preview-store-DOnSmm_C.js";import{r as Re,t as ze}from"./copy-code-XoEu_Yh6.js";import{a as Be,i as Ve,l as He,n as Ue,o as We,r as Ge,s as Ke}from"./use-row-height-BgHg4-J-.js";import{t as qe}from"./use-notify-error-Dx2D9IEP.js";import{a as Je,i as Ye,n as Xe,o as Ze,r as Qe,s as J,t as $e}from"./diff-store-D4XiTkfi.js";import{t as et}from"./CancelButton-mkxRHwoZ.js";import{n as tt,t as nt}from"./CreateButton-zCmb7snC.js";function rt(){let e=R(),{t}=U(),n=qe(),r=We(),i=tt();async function a(e,i,a){try{await Se(i,{paths:[e]}),await r.refresh()}catch(e){n(t(a),e)}}function o(n){let r=(i.commentsByFile.get(n)??[]).filter(e=>!e.resolved).length;if(r===0)return a(n,`/api/git/stage`,`changes.actions.stageError`);e.dialog({title:t(`changes.actions.stageUnresolvedTitle`),message:t(`changes.actions.stageUnresolvedMessage`,{path:n,count:r}),persistent:!0,ok:{label:t(`changes.actions.stageUnresolvedOk`),flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/stage`,`changes.actions.stageError`)})}function s(e){return a(e,`/api/git/unstage`,`changes.actions.unstageError`)}function c(n){e.dialog({title:t(`changes.actions.discardConfirmTitle`),message:t(`changes.actions.discardConfirmMessage`,{path:n}),persistent:!0,ok:{label:t(`changes.actions.discardConfirmOk`),color:`negative`,flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/discard`,`changes.actions.discardError`)})}return{stage:o,unstage:s,discard:c}}var it=F({__name:`FileActionButtons`,props:{path:{},source:{}},setup(e){let{t}=U(),{stage:n,unstage:r,discard:i}=rt();return(o,s)=>e.source===`unstaged`?(a(),A(M,{key:0},[p(v(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(ve),"aria-label":T(t)(`changes.actions.discard`),"data-tooltip":T(t)(`changes.actions.discard`),onClick:s[0]||=L(t=>T(i)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`]),[[z]]),p(v(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(fe),"aria-label":T(t)(`changes.actions.stage`),"data-tooltip":T(t)(`changes.actions.stage`),onClick:s[1]||=L(t=>T(n)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`]),[[z]])],64)):p((a(),b(V,{key:1,class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(me),"aria-label":T(t)(`changes.actions.unstage`),"data-tooltip":T(t)(`changes.actions.unstage`),onClick:s[2]||=L(t=>T(r)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`])),[[z]])}}),at=q(F({__name:`CommentCountBadge`,props:{count:{},compact:{type:Boolean}},setup(e){let{t}=U();return(n,r)=>e.count>0?(a(),A(`span`,{key:0,class:D([`comment-count-badge relative-position inline-block`,{"comment-count-badge--compact":e.compact}])},[v(B,{class:`app-icon-neutral`,name:T(ue),size:e.compact?`15px`:`20px`},null,8,[`name`,`size`]),v(Fe,{color:`primary`,floating:``,rounded:``},{default:_(()=>[w(f(e.count),1)]),_:1}),v(H,{delay:T(500)},{default:_(()=>[w(f(T(t)(`reviews.comments.count`,{count:e.count})),1)]),_:1},8,[`delay`])],2)):S(``,!0)}}),[[`__scopeId`,`data-v-dd199a45`]]),ot=Symbol(`scroll-root`);function st(){let e=P(ot,void 0);return t=>e?.()??t?.closest(`.q-scrollarea__container`)??null}var ct=3e3;function lt(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top-e.clientTop}function ut(e,t){return lt(e,t)<0}function dt(e,t,n=0){return Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+lt(e,t)-n))}function ft(e){let t=e.now??(()=>performance.now()),n=e.requestFrame??(e=>requestAnimationFrame(e)),r=e.cancelFrame??(e=>cancelAnimationFrame(e)),i=t()+ct,a=!1,o;function s(){a=!0,o!==void 0&&r(o),o=void 0}function c(){if(o=void 0,a)return;if(t()>=i){s();return}let r=e.target();if(r){let t=e.root,n=dt(t,r,e.offset);Math.abs(n-t.scrollTop)>.5&&(t.scrollTop=n)}o=n(c)}return o=n(c),s}function pt(e){return e.lineType===`removed`?`old`:`new`}function Y(e){let t=new Map;for(let n of e){if(n.lineNumberEnd===null)continue;let e=t.get(n.lineNumberEnd);e?e.push(n):t.set(n.lineNumberEnd,[n])}return t}function mt(e){return{old:Y(e.filter(e=>pt(e)===`old`)),new:Y(e.filter(e=>pt(e)===`new`))}}function ht(e,t){return[...e.oldLineNumber===null?[]:t.old.get(e.oldLineNumber)??[],...e.newLineNumber===null?[]:t.new.get(e.newLineNumber)??[]]}var gt=80;function _t(e,t,n=20){return t?t.hunks.reduce((e,t)=>e+Ve(t,t.lines.length*n),0):(e.additions+e.deletions)*n+gt}function vt(e,t){if(t===`full`)return Y(e.filter(e=>e.lineType===null)).size*90;let n=mt(e.filter(e=>e.lineType!==null));return(n.old.size+n.new.size)*90}function yt(e){return JSON.stringify([e.expanded,e.mode,e.wrap,e.activeReview,e.rowHeight,e.pending?[e.pending.column,e.pending.startKey,e.pending.endKey]:null,e.comments?.map(e=>[e.id,e.lineType,e.lineNumberEnd,e.content,e.suggestion,e.resolved])])}var bt=Symbol(`comment-actions`);function xt(e){let{t}=U(),n=qe();function r(e){return async(...r)=>{try{await e(...r)}catch(e){throw n(t(`reviews.comments.error`),e),e}}}s(bt,{create:r(e.create),edit:r(e.edit),remove:r(e.remove),resolve:r(e.resolve),unresolve:r(e.unresolve)})}async function X(){throw Error(`No comment actions are provided here`)}function St(){return P(bt,void 0)||{create:X,edit:X,remove:X,resolve:X,unresolve:X}}function Ct(e){e.catch(()=>void 0)}var Z=new Set,wt=!1,Tt=e=>requestAnimationFrame(e);function Et(){wt=!1;let e=[...Z],t=[...e.filter(e=>e.visible),...e.filter(e=>!e.visible)],n=0;try{for(let e of t){if(!Z.has(e))continue;let t=e.visible?120:40;if(n>0&&n+e.cost>t)break;Z.delete(e),n+=e.cost,e.run()}}finally{Z.size>0&&Dt()}}function Dt(){wt||(wt=!0,Tt(Et))}function Ot(e,t,n=!1){let r={cost:Math.max(1,e),visible:n,run:t};return Z.add(r),Dt(),{setVisible:e=>{r.visible=e},cancel:()=>{Z.delete(r)}}}var kt=2e3,At=new WeakMap;function jt(e,t){let n=At.get(e);n||(n=new Map,At.set(e,n));let r=n.get(t);if(r)return r;let i=new Map,a={near:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.near(t.isIntersecting,t.target)},{root:e,rootMargin:`${t}px 0px`}),visible:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.visible(t.isIntersecting)},{root:e}),handlers:i};return n.set(t,a),a}function Mt(e,t,n,r=kt){let i=jt(e,r);return i.handlers.set(t,n),i.near.observe(t),i.visible.observe(t),()=>{if(i.handlers.get(t)!==n||(i.handlers.delete(t),i.near.unobserve(t),i.visible.unobserve(t),i.handlers.size>0))return;i.near.disconnect(),i.visible.disconnect();let a=At.get(e);a?.delete(r),a?.size===0&&At.delete(e)}}var Nt=new WeakMap;function Pt(e,t){let n=Nt.get(e);if(!n){let t={width:e.clientWidth,handlers:new Set,observer:new ResizeObserver(()=>{let n=e.clientWidth;if(n!==t.width){t.width=n;for(let e of t.handlers)e()}})};n=t,Nt.set(e,n),n.observer.observe(e)}let r=n;r.handlers.add(t);let i=!1;return()=>{i||(i=!0,r.handlers.delete(t),!(r.handlers.size>0)&&(r.observer.disconnect(),Nt.delete(e)))}}var Ft=new WeakMap;function It(e,t,n){let r=Ft.get(e)?.get(t);return r&&r.version===n?r.px:void 0}function Lt(e,t,n,r){let i=Ft.get(e);i||(i=new Map,Ft.set(e,i)),i.set(t,{version:n,px:r})}var Rt=5;function zt(e){let[t,n]=e.slice(Rt);return[e.slice(0,Rt),t,n]}function Bt(e,t){let n=je(),r=!1,i=null,a=k(!1),o=k(e.minHeight),s=!1,c=!1,l=!1,u=!1,d=!1,f,p,m;function h(){return e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0?It(e.heightOwner,e.heightKey,e.heightVersion??``):void 0}function _(){let t=h();s=t!==void 0,o.value=t??e.minHeight}function v(){let n=t();a.value&&n&&(o.value=n.offsetHeight,s=!0,e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&Lt(e.heightOwner,e.heightKey,e.heightVersion??``,o.value))}function b(){f?.cancel(),f=void 0}function x(){if(c&&u&&!a.value&&!f){if(e.queued===!1){a.value=!0;return}f=Ot(e.cost??Math.ceil(o.value/20),()=>{f=void 0,a.value=!0},d)}}function S(){_(),b(),x()}function C(o){if(r=!0,i=o,!n()||c)return;c=!0;let s=t();if(e.immediate||!s||!o){l=!0,a.value=!0;return}p=Mt(o,s,{near:t=>{if(u=t,u)x();else{if(b(),e.keep)return;v(),a.value=!1}},visible:e=>{d=e,f?.setVisible(e)}},e.mountMargin),m=Pt(o,()=>{e.widthSensitive&&S()})}function w(){c&&(e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&v(),c=!1,b(),p?.(),m?.(),p=void 0,m=void 0)}function T(){r=!1,w()}return g(n,e=>{e&&r?C(i):w()},{flush:`sync`}),_(),g([()=>e.heightOwner,()=>e.heightKey,()=>e.heightVersion,()=>e.cacheHeight,()=>e.widthSensitive,()=>e.minHeight,()=>e.cost,()=>e.keep],(t,n)=>{let[r,i,d]=zt(t),[f,p,m]=zt(n),h=r.some((e,t)=>e!==f[t]);h?_():s||(o.value=e.minHeight),(h||i!==p||d!==m)&&(b(),x()),c&&!l&&!u&&!e.keep&&a.value&&(v(),a.value=!1)},{flush:`post`}),te(T),{mounted:y(a),height:y(o),start:C,stop:T}}var Vt=`\0`,Ht=[`pending:`,`draft:`,`busy:`,`edit:`],Ut=xe(`card-state`,()=>{let e=k({});function t(e,t){return`${e}${Vt}${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(Vt));t.has(r)||delete e.value[n]}}function o(e){return e.slice(e.indexOf(Vt)+1)}function s(t){for(let n of Object.keys(e.value))t(o(n))&&delete e.value[n]}let c=$e();g(()=>[c.loaded,c.stagedFiles,c.unstagedFiles],([e,t,n])=>{e&&a(new Set([...t.map(e=>Ze(`staged`,J(e))),...n.map(e=>Ze(`unstaged`,J(e)))]))},{immediate:!0});let l=tt();return g(()=>l.activeReview?.id,()=>s(e=>Ht.some(t=>e.startsWith(t)))),g(()=>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}}),Wt=Symbol(`card-state-key`);function Q(e,t,n={}){let r=n.local?void 0:n.key??P(Wt,void 0);if(r===void 0){let e=k(t());return Object.assign(O({get:()=>e.value,set:t=>{e.value=t}}),{reset(){e.value=t()}})}let i=Ut();return Object.assign(O({get:()=>i.get(r,e)??t(),set:t=>i.set(r,e,t)}),{reset(){i.remove(r,e)}})}var Gt=`pending:diff`;function Kt(e={}){return Q(Gt,()=>null,e)}var qt=`pending:full`;function Jt(e={}){return Q(qt,()=>null,e)}function Yt(e){return Je(e)===`markdown`}var Xt=8,Zt=750;function Qt(e){let t=null,n=0;function r(e,r){e.pointerType!==`mouse`&&(n=Date.now()+Zt,t=e.isPrimary?{id:e.pointerId,x:e.clientX,y:e.clientY,value:r}:null)}function i(){n=Date.now()+Zt}function a(n){let r=t;t=null,n.pointerType!==`mouse`&&i(),r?.id===n.pointerId&&Math.hypot(n.clientX-r.x,n.clientY-r.y)<=Xt&&e(r.value)}function o(){t&&i(),t=null}return{down:r,up:a,cancel:o,mouseAllowed:()=>Date.now()>=n}}var $t=[`data-line-key`],en={class:`diff-line__prefix`},tn={class:`diff-line__content`},nn=q(F({__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`,`old-tap`,`new-tap`],setup(e,{emit:t}){let n=e,r=t,i=Qt(e=>{n.selectable&&r(e===`old`?`old-tap`:`new-tap`)}),o=O(()=>({added:`+`,removed:`-`,context:` `})[n.line.type]),s=O(()=>n.line.type===`added`?`diff-line--added`:n.line.type===`removed`?`diff-line--removed`:``);function c(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,n)=>(a(),A(`div`,{class:D([`diff-line row no-wrap text-mono`,[s.value,{"diff-line--wrap":e.wrap,"diff-line--selectable":e.selectable}]]),"data-line-key":`${e.line.oldLineNumber??``}:${e.line.newLineNumber??``}`},[N(`span`,{class:D([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.oldLineNumber,"diff-line__gutter--selected":e.oldSelected}]),onPointerdown:n[0]||=t=>e.line.oldLineNumber&&T(i).down(t,`old`),onPointerup:n[1]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[2]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[3]||=t=>T(i).mouseAllowed()&&e.line.oldLineNumber&&r(`old-mousedown`),onMouseenter:n[4]||=t=>e.line.oldLineNumber&&r(`old-mouseenter`)},f(e.line.oldLineNumber??``),35),N(`span`,{class:D([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.newLineNumber,"diff-line__gutter--selected":e.newSelected}]),onPointerdown:n[5]||=t=>e.line.newLineNumber&&T(i).down(t,`new`),onPointerup:n[6]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[7]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[8]||=t=>T(i).mouseAllowed()&&e.line.newLineNumber&&r(`new-mousedown`),onMouseenter:n[9]||=t=>e.line.newLineNumber&&r(`new-mouseenter`)},f(e.line.newLineNumber??``),35),N(`span`,en,f(o.value),1),N(`span`,tn,[e.tokens?(a(!0),A(M,{key:0},I(e.tokens,(e,t)=>(a(),A(`span`,{key:t,style:u({color:c(e)})},f(e.content),5))),128)):(a(),A(M,{key:1},[w(f(e.line.content),1)],64))])],10,$t))}}),[[`__scopeId`,`data-v-f1780c7d`]]),rn=F({__name:`RowSegment`,props:{minHeight:{},keep:{type:Boolean,default:!1},cost:{default:void 0},immediate:{type:Boolean,default:!1},queued:{type:Boolean,default:!0},heightOwner:{default:void 0},heightKey:{default:void 0},heightVersion:{default:void 0},cacheHeight:{type:Boolean,default:!1},widthSensitive:{type:Boolean,default:!1}},emits:[`change`],setup(n,{emit:r}){let i=n,o=r,s=st(),c=j(`el`),{mounted:d,height:f,start:p,stop:m}=Bt(i,()=>c.value);return l(()=>p(c.value?s(c.value):null)),g(d,e=>o(`change`,e)),e(m),(e,n)=>(a(),A(`div`,{ref_key:`el`,ref:c,style:u(T(d)?void 0:{height:`${T(f)}px`})},[T(d)?t(e.$slots,`default`,{},void 0,void 0,0):S(``,!0)],4))}}),an={class:`comment-form q-pa-sm`},on={class:`row items-center justify-between q-mt-xs`},sn={key:0,class:`text-caption comment-form__line-range`},cn={class:`row q-gutter-x-sm`},ln=q(F({__name:`CommentForm`,props:{initialContent:{},submitLabel:{},lineRange:{default:null},draftKey:{},send:{}},emits:[`cancel`],setup(e,{emit:t}){let n=e,r=t,{t:i}=U(),o=n.draftKey?{}:{local:!0},s=Q(`draft:${n.draftKey}`,()=>n.initialContent??``,o),c=Q(`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(),r(`cancel`))}return(t,n)=>(a(),A(`div`,an,[v(se,{modelValue:T(s),"onUpdate:modelValue":n[0]||=e=>ee(s)?s.value=e:null,dense:``,outlined:``,autofocus:!l,type:`textarea`,autogrow:``,placeholder:T(i)(`reviews.comments.placeholder`),readonly:T(c),onKeyup:ne(L(u,[`ctrl`]),[`enter`])},null,8,[`modelValue`,`autofocus`,`placeholder`,`readonly`,`onKeyup`]),N(`div`,on,[e.lineRange?(a(),A(`span`,sn,f(e.lineRange.start===e.lineRange.end?T(i)(`reviews.comments.line`,{line:e.lineRange.start}):T(i)(`reviews.comments.lineRange`,{start:e.lineRange.start,end:e.lineRange.end})),1)):S(``,!0),v(Oe),N(`div`,cn,[v(et,{size:`sm`,disable:T(c),onClick:d},null,8,[`disable`]),v(nt,{size:`sm`,label:e.submitLabel,disable:!T(s).trim(),loading:T(c),onClick:u},null,8,[`label`,`disable`,`loading`])])])]))}}),[[`__scopeId`,`data-v-349d56ab`]]),un=F({__name:`DeleteButton`,props:{tooltip:{}},setup(e){return(t,n)=>(a(),b(V,r({class:`app-icon-control`},t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:T(ye),color:`negative`}),{default:_(()=>[e.tooltip?(a(),b(H,{key:0,delay:T(500)},{default:_(()=>[w(f(e.tooltip),1)]),_:1},8,[`delay`])):S(``,!0)]),_:1},16,[`icon`]))}}),dn=F({__name:`EditButton`,props:{tooltip:{}},setup(e){return(t,n)=>(a(),b(V,r({class:`app-icon-control`},t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:T(de)}),{default:_(()=>[e.tooltip?(a(),b(H,{key:0,delay:T(500)},{default:_(()=>[w(f(e.tooltip),1)]),_:1},8,[`delay`])):S(``,!0)]),_:1},16,[`icon`]))}}),fn={class:`comment-item__body`},pn={key:0,class:`comment-item__suggestion text-mono`},mn={class:`row items-center q-gutter-x-xs q-mt-xs`},hn=q(F({__name:`CommentItem`,props:{comment:{},readonly:{type:Boolean}},setup(e){let t=e,n=R(),{t:r}=U(),i=Q(`edit:${t.comment.id}`,()=>!1),o=St();function s(){n.dialog({title:r(`reviews.comments.deleteConfirmTitle`),message:r(`reviews.comments.deleteConfirmMessage`),persistent:!0,ok:{label:r(`reviews.comments.deleteConfirmOk`),color:`negative`,flat:!0},cancel:{label:r(`reviews.comments.deleteConfirmCancel`),flat:!0}}).onOk(()=>{Ct(o.remove(t.comment.id))})}async function c(e){await o.edit(t.comment.id,e),i.reset()}function l(){i.reset()}function u(){t.comment.resolved?Ct(o.unresolve(t.comment.id)):Ct(o.resolve(t.comment.id))}return(t,n)=>(a(),A(`div`,{class:D([`comment-item q-pa-sm`,{"comment-item--resolved":e.comment.resolved}])},[T(i)&&!e.readonly?(a(),b(ln,{key:0,"initial-content":e.comment.content,"draft-key":`edit:${e.comment.id}`,"submit-label":T(r)(`reviews.comments.save`),send:c,onCancel:l},null,8,[`initial-content`,`draft-key`,`submit-label`])):(a(),A(M,{key:1},[N(`div`,fn,f(e.comment.content),1),e.comment.suggestion?(a(),A(`pre`,pn,f(e.comment.suggestion),1)):S(``,!0),N(`div`,mn,[e.comment.resolved?(a(),b(Fe,{key:0,color:`positive`,outline:``},{default:_(()=>[w(f(T(r)(`reviews.comments.resolved`)),1)]),_:1})):S(``,!0),v(Oe),e.readonly?S(``,!0):(a(),A(M,{key:1},[v(V,{flat:``,dense:``,rounded:``,padding:`4px 12px`,size:`sm`,color:`primary`,label:e.comment.resolved?T(r)(`reviews.comments.unresolve`):T(r)(`reviews.comments.resolve`),onClick:u},null,8,[`label`]),v(dn,{size:`sm`,tooltip:T(r)(`reviews.comments.edit`),onClick:n[0]||=e=>i.value=!0},null,8,[`tooltip`]),v(un,{size:`sm`,tooltip:T(r)(`reviews.comments.delete`),onClick:s},null,8,[`tooltip`])],64))])],64))],2))}}),[[`__scopeId`,`data-v-3af2187b`]]),gn={class:`comment-thread q-pa-sm q-gutter-y-sm`},_n=q(F({__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}=U();return(t,i)=>(a(),A(`div`,gn,[(a(!0),A(M,null,I(e.comments,t=>(a(),b(hn,{key:t.id,comment:t,readonly:e.readonly},null,8,[`comment`,`readonly`]))),128)),e.showNewForm&&!e.readonly?(a(),b(ln,{key:0,"submit-label":T(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`])):S(``,!0)]))}}),[[`__scopeId`,`data-v-352fcd01`]]);function vn(e,t,n){return e.filter(e=>e.key!==null&&e.key>=t&&e.key<=n).map(e=>e.text)}function yn(e,t,n,r){return{column:e,startKey:t,endKey:n,fingerprint:JSON.stringify(vn(r,t,n))}}function $(e,t){return t.some(t=>t.key===e.endKey)?JSON.stringify(vn(t,e.startKey,e.endKey))===e.fingerprint?`valid`:`stale`:`absent`}function bn(e,t,n){return e!==null&&n!==null&&e.column===t&&e.endKey===n}function xn(e,t){return bn(e,`old`,t.oldLineNumber)||bn(e,`new`,t.newLineNumber)}function Sn(e,t){return e.map(e=>({key:t===`old`?e.oldLineNumber:e.newLineNumber,text:`${e.type}\u0000${e.content}`}))}function Cn(e){return e.map((e,t)=>({key:t+1,text:e}))}var wn=Symbol(`touch-comment-selection`),Tn=`pending:touch`;function En(e={}){let t=Ut(),n=x(null),r=new Map;function i(e){return t.get(e,Tn)??null}function a(e,n){t.set(e,Tn,n)}let o=O(()=>{let e=n.value,t=e===null?null:i(e);return e!==null&&t?{cardKey:e,...t}:null});function s(e=n.value){e!==null&&(t.remove(e,Tn),n.value===e&&(n.value=null))}function c(e,t){let r=i(e),o=r!==null&&r.phase===`selecting`&&r.mode===t.mode&&r.column===t.column&&$(r.originAnchor,t.lines)===`valid`;n.value!==null&&n.value!==e&&s();let c=o?r.origin:t.key,l=Math.min(c,t.key),u=Math.max(c,t.key);a(e,{path:t.path,mode:t.mode,column:t.column,origin:c,originAnchor:o?r.originAnchor:yn(t.column,t.key,t.key,t.lines),anchor:yn(t.column,l,u,t.lines),lineType:t.lineTypeAt(l),phase:`selecting`}),n.value=e}function l(){let t=o.value;if(!t||t.phase===`confirming`)return;let{cardKey:n,...i}=t;a(n,{...i,phase:`confirming`}),r.has(n)||e.reveal?.(i.path)}function u(e){return r.set(e,(r.get(e)??0)+1),()=>{let t=(r.get(e)??1)-1;t>0?r.set(e,t):r.delete(e)}}return{selection:o,read:i,tap:c,cancel:s,confirm:l,registerOwner:u}}function Dn(e={}){let t=En(e);return s(wn,t),t}function On(){return P(wn,void 0)}function kn(e){let t=On(),n=P(Wt,void 0);t&&n!==void 0&&(te(t.registerOwner(n)),h(()=>{let r=t.read(n);if(r&&r.mode===e.mode&&E(e.fresh)){if(!e.valid(r.anchor)){t.cancel(n),r.phase===`confirming`&&e.rejected();return}r.phase===`confirming`&&(t.cancel(n),e.commit(r))}}))}function An(e){let t=k(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)),d(()=>window.removeEventListener(`mouseup`,a)),{start:n,enter:r,isSelected:i}}function jn(e){let{pending:t,lines:n,commit:r}=e,i=On(),a=P(Wt,void 0);function o(t,r){E(e.commentable)&&r!==null&&i&&a!==void 0&&i.tap(a,{path:E(e.path),mode:e.mode,column:t,key:r,lines:n(t),lineTypeAt:n=>e.lineTypeAt?.(t,n)??null})}let s=O(()=>{let t=i?.selection.value;return!t||!E(e.commentable)||t.cardKey!==a||t.mode!==e.mode?null:$(t.anchor,n(t.anchor.column))===`valid`?t.anchor:null}),c=O(()=>t.value?$(t.value,n(t.value.column)):`absent`);h(()=>{c.value===`stale`&&t.reset()});let l=O(()=>c.value===`valid`?t.value:null),u=An(e=>{r(yn(e.column,e.startKey,e.endKey,n(e.column)))});function d(t,n){E(e.commentable)&&n!==null&&(i?.cancel(),u.start(t,n))}function f(t,n){E(e.commentable)&&n!==null&&u.enter(t,n)}function p(t,n){let r=s.value;if(r?.column===t&&n!==null&&n>=r.startKey&&n<=r.endKey)return!0;if(!E(e.commentable)||n===null)return!1;let i=l.value;return i&&i.column===t&&n>=i.startKey&&n<=i.endKey?!0:u.isSelected(t,n)}return{ownAnchor:l,pendingLineRange:O(()=>l.value?{start:l.value.startKey,end:l.value.endKey}:null),handleTap:o,handleMousedown:d,handleMouseenter:f,isSelected:p}}function Mn(e){let t=Kt(),n=St();function r(t,n){return E(e.hunk).lines.find(e=>(t===`old`?e.oldLineNumber:e.newLineNumber)===n)?.type??null}let i=jn({path:e.path,commentable:e.commentable,pending:t,mode:`diff`,lines:t=>Sn(E(e.hunk).lines,t),lineTypeAt:r,commit:e=>{t.value={...e,lineType:r(e.column,e.startKey)??`context`}}});function a(e){return xn(i.ownAnchor.value,e)}async function o(r){let a=i.ownAnchor.value;a&&(await n.create({filePath:E(e.path),lineNumber:a.startKey,lineNumberEnd:a.endKey,lineType:a.lineType,content:r}),t.reset())}function s(){t.reset()}return{...i,showNewForm:a,submitNewComment:o,cancelNewComment:s}}function Nn(e){let t=Kt();kn({mode:`diff`,fresh:e.fresh,valid:t=>E(e.hunks).some(e=>$(t,Sn(e.lines,t.column))===`valid`),commit:e=>{t.value={...e.anchor,lineType:e.lineType??`context`}},rejected:e.rejected})}function Pn(e){let t=O(()=>Ge(E(e.rows),E(e.threshold))),n=O(()=>({comments:e=>e.comments,hasForm:e.hasForm,owner:E(e.owner),wrap:!!E(e.wrap),commentsEditable:!!E(e.commentsEditable),rowHeight:E(e.rowHeight)}));return{grouping:t,segments:O(()=>t.value.groups.map(e=>({...e,props:Be(e,n.value)})))}}function Fn(e){let t=Ue(()=>E(e.commentable)),n=O(()=>{let t=E(e.comments)??[],n=mt(t);function r(e){return t.some(t=>{if(t.lineNumber===null||t.lineNumberEnd===null)return!1;let n=pt(t)===`old`?e.oldLineNumber:e.newLineNumber;return n!==null&&n>=t.lineNumber&&n<=t.lineNumberEnd})}return E(e.hunk).lines.map((e,t)=>({line:e,index:t,comments:ht(e,n)})).filter(t=>!E(e.commentsOnly)||r(t.line))}),{grouping:r,segments:i}=Pn({rows:n,rowHeight:t,owner:e.hunk,wrap:e.wrap,commentsEditable:e.commentsEditable,threshold:()=>E(e.commentsOnly)?void 0:0,hasForm:t=>xn(E(e.anchor),t.line)});return{visibleLines:n,grouping:r,segments:i}}var In={key:0,class:`diff-hunk`},Ln={class:`diff-hunk__header text-mono text-primary`},Rn=q(F({__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=O(()=>`@@ -${t.hunk.oldStart},${t.hunk.oldLines} +${t.hunk.newStart},${t.hunk.newLines} @@`),{ownAnchor:o,pendingLineRange:s,handleTap:c,handleMousedown:l,handleMouseenter:u,isSelected:d,showNewForm:p,submitNewComment:m,cancelNewComment:h}=Mn({path:()=>t.path,hunk:()=>t.hunk,commentable:()=>t.commentable}),{visibleLines:g,grouping:y,segments:x}=Fn({hunk:()=>t.hunk,comments:()=>t.comments,commentsOnly:()=>t.commentsOnly,commentsEditable:()=>t.commentsEditable,commentable:()=>t.commentable,wrap:()=>t.wrap,anchor:o});return(t,o)=>!e.commentsOnly||T(g).length>0?(a(),A(`div`,In,[N(`div`,Ln,f(n.value),1),(a(!0),A(M,null,I(T(x),t=>(a(),b(i(T(y).segmented?rn:`div`),r({key:t.start},{ref_for:!0},T(y).segmented?t.props:{}),{default:_(()=>[(a(!0),A(M,null,I(t.rows,({line:t,index:n,comments:r})=>(a(),A(M,{key:n},[v(nn,{line:t,tokens:e.lineTokens?.[n],selectable:e.commentable,wrap:e.wrap,"old-selected":T(d)(`old`,t.oldLineNumber),"new-selected":T(d)(`new`,t.newLineNumber),onOldMousedown:e=>T(l)(`old`,t.oldLineNumber),onOldMouseenter:e=>T(u)(`old`,t.oldLineNumber),onNewMousedown:e=>T(l)(`new`,t.newLineNumber),onNewMouseenter:e=>T(u)(`new`,t.newLineNumber),onOldTap:e=>T(c)(`old`,t.oldLineNumber),onNewTap:e=>T(c)(`new`,t.newLineNumber)},null,8,[`line`,`tokens`,`selectable`,`wrap`,`old-selected`,`new-selected`,`onOldMousedown`,`onOldMouseenter`,`onNewMousedown`,`onNewMouseenter`,`onOldTap`,`onNewTap`]),r.length>0||T(p)(t)?(a(),b(_n,{key:0,comments:r,readonly:!e.commentsEditable,"show-new-form":T(p)(t),"pending-line-range":T(s),"new-draft-key":`new:diff`,"submit-new":T(m),onCancelNew:T(h)},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`,`submit-new`,`onCancelNew`])):S(``,!0)],64))),128))]),_:2},1040))),128))])):S(``,!0)}}),[[`__scopeId`,`data-v-ddb53b13`]]);function zn(e){let t=x(null);return g([()=>E(e.lines),()=>E(e.isBinary),()=>E(e.loaded),()=>E(e.error),()=>E(e.deleted)],([e,n,r,i,a])=>{if(!r||i)return;let o=a?`deleted`:n?`binary`:e.length?`text`:`empty`;(t.value?.lines!==e||t.value.kind!==o)&&(t.value={lines:e,kind:o})},{immediate:!0}),t}var Bn=[`data-line-key`],Vn={class:`file-content-line__content`},Hn=q(F({__name:`FileContentLine`,props:{lineNumber:{},content:{},tokens:{},selected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`gutter-mousedown`,`gutter-mouseenter`,`gutter-tap`],setup(e,{emit:t}){let n=e,r=t,i=Qt(()=>{n.selectable&&r(`gutter-tap`)});function o(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,n)=>(a(),A(`div`,{class:D([`file-content-line row no-wrap text-mono`,{"file-content-line--wrap":e.wrap,"file-content-line--selectable":e.selectable}]),"data-line-key":`full:${e.lineNumber}`},[N(`span`,{class:D([`file-content-line__gutter`,{"file-content-line__gutter--selectable":e.selectable,"file-content-line__gutter--selected":e.selected}]),onPointerdown:n[0]||=e=>T(i).down(e,void 0),onPointerup:n[1]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[2]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[3]||=e=>T(i).mouseAllowed()&&r(`gutter-mousedown`),onMouseenter:n[4]||=e=>r(`gutter-mouseenter`)},f(e.lineNumber),35),N(`span`,Vn,[e.tokens?(a(!0),A(M,{key:0},I(e.tokens,(e,t)=>(a(),A(`span`,{key:t,style:u({color:o(e)})},f(e.content),5))),128)):(a(),A(M,{key:1},[w(f(e.content||` `),1)],64))])],10,Bn))}}),[[`__scopeId`,`data-v-73905679`]]),Un=300;function Wn(e,t){let n=je(),r=x(null),i=k(!1),a=k(!1),o=!1,s;function c(){s?.abort(),s=void 0}let l=O(()=>{let t=E(e);return t&&Qe(t.path)?t:null}),u=O(()=>{let e=l.value;return e?C(e.key):null});g(u,()=>{c(),r.value=null,o=!1});function d(e){r.value=e,o=!0,i.value=!0}g(()=>[u.value,E(t)&&n()],async([e,t])=>{if(!t){c();return}let n=l.value;if(!e||!n||o||s)return;let a=Xe(e);if(a!==void 0){d(a);return}let u=new AbortController;s=u;let f;try{f=await Ye(e,n.path,n.lines,u.signal,e=>{u.signal.aborted||r.value&&e.length<=r.value.length||(r.value=e,i.value=!0)},n.documents)}catch{f=null}u.signal.aborted||f===void 0||(s=void 0,d(f))},{immediate:!0});let f=O(()=>E(t)&&!i.value&&l.value!==null),p;function m(){clearTimeout(p),p=void 0}return g(f,e=>{m(),e&&!a.value&&(p=setTimeout(()=>{a.value=!0},Un))},{immediate:!0}),te(()=>{c(),m()}),{tokens:r,holdForTokens:O(()=>f.value&&!a.value)}}function Gn(e){let t=Jt(),n=St(),r=jn({path:e.path,commentable:e.commentable,pending:t,mode:`full`,lines:()=>Cn(E(e.lines)),commit:e=>{t.value=e}});async function i(i){let a=r.ownAnchor.value;a&&(await n.create({filePath:E(e.path),lineType:null,lineNumber:a.startKey,lineNumberEnd:a.endKey,content:i}),t.reset())}function a(){t.reset()}return{...r,submitNewComment:i,cancelNewComment:a}}function Kn(e){let t=Jt();kn({mode:`full`,fresh:e.fresh,valid:t=>$(t,Cn(E(e.lines)))===`valid`,commit:e=>{t.value=e.anchor},rejected:e.rejected})}function qn(e){let t=Ue(()=>E(e.commentable));return{...Pn({rows:O(()=>{let t=Y(E(e.comments)??[]);return E(e.lines).map((e,n)=>({line:e,index:n,lineNumber:n+1,comments:t.get(n+1)??[]}))}),rowHeight:t,owner:e.lines,wrap:e.wrap,commentsEditable:e.commentsEditable,hasForm:t=>bn(E(e.anchor),`full`,t.lineNumber)}),rowHeight:t}}var Jn={key:1,class:`file-content-view`},Yn=q(F({__name:`FileContentView`,props:{path:{},lines:{},commentable:{type:Boolean},comments:{},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,{tokens:n,holdForTokens:o}=Wn(()=>{let e=t.lines;return e.length===0?null:{key:e,path:t.path,lines:()=>e}},!0),{ownAnchor:s,pendingLineRange:c,handleTap:l,handleMousedown:d,handleMouseenter:f,isSelected:p,submitNewComment:m,cancelNewComment:h}=Gn({path:()=>t.path,lines:()=>t.lines,commentable:()=>t.commentable}),{grouping:g,segments:y,rowHeight:x}=qn({lines:()=>t.lines,comments:()=>t.comments,commentsEditable:()=>t.commentsEditable,commentable:()=>t.commentable,wrap:()=>t.wrap,anchor:s});return(t,C)=>T(o)?(a(),A(`div`,{key:0,class:`row justify-center items-start q-pa-lg`,style:u({minHeight:`${e.lines.length*T(x)}px`})},[v(ce,{color:`primary`,size:`2em`})],4)):(a(),A(`div`,Jn,[(a(!0),A(M,null,I(T(y),t=>(a(),b(i(T(g).segmented?rn:`div`),r({key:t.start},{ref_for:!0},T(g).segmented?t.props:{}),{default:_(()=>[(a(!0),A(M,null,I(t.rows,({line:t,index:r,lineNumber:i,comments:o})=>(a(),A(M,{key:r},[v(Hn,{"line-number":i,content:t,tokens:T(n)?.[r],selectable:e.commentable,selected:T(p)(`full`,i),wrap:e.wrap,onGutterMousedown:e=>T(d)(`full`,i),onGutterMouseenter:e=>T(f)(`full`,i),onGutterTap:e=>T(l)(`full`,i)},null,8,[`line-number`,`content`,`tokens`,`selectable`,`selected`,`wrap`,`onGutterMousedown`,`onGutterMouseenter`,`onGutterTap`]),o.length>0||T(s)?.endKey===i?(a(),b(_n,{key:0,comments:o,readonly:!e.commentsEditable,"show-new-form":T(s)?.endKey===i,"pending-line-range":T(c),"new-draft-key":`new:full`,"submit-new":T(m),onCancelNew:T(h)},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`,`submit-new`,`onCancelNew`])):S(``,!0)],64))),128))]),_:2},1040))),128))]))}}),[[`__scopeId`,`data-v-93eaf11b`]]),Xn={key:0,class:`row justify-center q-pa-lg`},Zn={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Qn={key:2,class:`text-caption text-grey-6 q-pa-md`},$n={key:3,class:`text-caption text-grey-6 q-pa-md q-mb-none`},er=F({__name:`DiffFileFullView`,props:{path:{},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsEditable:{type:Boolean},wrap:{type:Boolean}},emits:[`content-version`],setup(e,{emit:t}){let n=e,r=t,{t:i}=U(),{lines:o,isBinary:s,loading:c,loaded:l,error:u,fetchContent:p}=Ke({cache:!0});g(()=>n.path,e=>{p(e,`WORKTREE`)},{immediate:!0});let m=Te([`files:changed`],()=>{p(n.path,`WORKTREE`)});d(()=>m.close());let h=$e(),_=O(()=>h.unstagedFiles.some(e=>e.status===`deleted`&&J(e)===n.path)),y=R();Kn({lines:()=>_.value?[]:o.value,fresh:()=>l.value&&!c.value&&!u.value,rejected:()=>y.notify({type:`warning`,message:i(`workspace.selectionChanged`)})});let x=zn({lines:o,isBinary:s,loaded:l,error:u,deleted:_});return g(x,e=>{e&&r(`content-version`,e)},{immediate:!0}),(t,n)=>T(c)&&T(o).length===0&&!T(u)?(a(),A(`div`,Xn,[v(ce,{color:`primary`,size:`2em`})])):_.value?(a(),A(`p`,Zn,f(T(i)(`changes.fullFileDeleted`)),1)):T(u)?(a(),A(`div`,Qn,[w(f(T(i)(`changes.fullFileLoadError`))+` `,1),N(`div`,null,f(T(u)),1)])):T(s)?(a(),A(`p`,$n,f(T(i)(`changes.binaryFile`)),1)):(a(),b(Yn,{key:4,path:e.path,lines:T(o),commentable:e.commentable,"comments-editable":e.commentsEditable,comments:e.comments,wrap:e.wrap},null,8,[`path`,`lines`,`commentable`,`comments-editable`,`comments`,`wrap`]))}}),tr={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function nr(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)&&rr(e)}),t.observer.observe(e,t.opts))}function rr(e){let t=e.__qmutation;t!==void 0&&(t.observer?.disconnect(),e.__qmutation=void 0)}var ir=ie({name:`mutation`,mounted(e,{modifiers:{once:t,...n},value:r}){let i={once:t,opts:Object.keys(n).length===0?tr:n};nr(e,i,r),e.__qmutation=i},updated(e,{oldValue:t,value:n}){if(t!==n){let t=e.__qmutation;t!==void 0&&nr(e,t,n)}},beforeUnmount:rr}),ar={class:`horizontal-scroll-body`},or=[`tabindex`,`aria-label`],sr=q(F({__name:`HorizontalScrollBody`,props:{label:{},resetKey:{}},setup(r){let i=r,o=j(`viewport`),s=j(`bar`),c=k(0),l=k(!1),d=k(0),f=!1,m=!0,h=0;function _(){let e=o.value;e&&!f&&m&&(c.value=e.scrollWidth,l.value=e.scrollWidth>e.clientWidth+1,l.value&&e.scrollWidth>d.value&&(d.value=e.scrollWidth))}g(()=>i.resetKey??[],async(e,t)=>{if(Ce(e,t))return;let r=++h;f=!0,d.value=0,await n(),m&&r===h&&(f=!1,_(),await n(),m&&r===h&&y(o.value,s.value))}),g([c,l],()=>y(o.value,s.value),{flush:`post`});function y(e,t){e&&t&&t.scrollLeft!==e.scrollLeft&&(t.scrollLeft=e.scrollLeft)}return e(()=>{m=!1,h++}),(e,n)=>(a(),A(`div`,ar,[p((a(),A(`div`,{ref_key:`viewport`,ref:o,class:`horizontal-scroll-body__viewport`,tabindex:l.value?0:void 0,role:`group`,"aria-label":r.label,onScroll:n[0]||=e=>y(o.value,s.value)},[N(`div`,{class:`horizontal-scroll-body__content`,style:u(d.value?{"--content-width":`${d.value}px`}:void 0)},[t(e.$slots,`default`,{},void 0,!0)],4),v(He,{debounce:0,onResize:_})],40,or)),[[ir,_,void 0,{childList:!0,subtree:!0,characterData:!0}]]),p(N(`div`,{ref_key:`bar`,ref:s,class:`horizontal-scroll-body__bar`,"aria-hidden":`true`,tabindex:`-1`,onScroll:n[1]||=e=>y(s.value,o.value)},[N(`div`,{style:u({width:`${c.value}px`,height:`1px`})},null,4)],544),[[re,l.value]])]))}}),[[`__scopeId`,`data-v-a1552724`]]),cr={role:`alert`},lr={class:`text-caption`},ur=F({__name:`LoadErrorBanner`,props:{title:{},message:{},loading:{type:Boolean}},emits:[`retry`],setup(e,{emit:t}){let n=t,{t:r}=U();return(t,i)=>(a(),b(Ee,{dense:``,class:`bg-negative text-white`,role:`none`},{action:_(()=>[v(V,{flat:``,dense:``,color:`white`,label:T(r)(`changes.retry`),loading:e.loading,onClick:i[0]||=e=>n(`retry`)},null,8,[`label`,`loading`])]),default:_(()=>[N(`div`,cr,[w(f(e.title)+` `,1),N(`div`,lr,f(e.message),1)])]),_:1}))}}),dr={key:0,class:`text-caption text-grey-6 q-pa-md q-mb-none`},fr={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},pr=q(F({__name:`DiffFileCardBody`,props:{file:{},path:{},viewMode:{},wrap:{type:Boolean},hunkTokens:{},hunksState:{default:`ready`},hunksFresh:{type:Boolean,default:!0},hunksError:{default:void 0},holdForTokens:{type:Boolean,default:!1},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,o=t,{t:s}=U(),c=R(),l=O(()=>n.hunksState===`ready`&&n.holdForTokens),d=O(()=>n.comments.filter(e=>e.lineType!==null)),p=O(()=>n.comments.filter(e=>e.lineType===null)),m=Kt(),h=Ue(()=>n.commentable),g=x(null);Nn({hunks:()=>n.file.hunks,fresh:()=>n.hunksFresh&&n.viewMode===`diff`,rejected:()=>c.notify({type:`warning`,message:s(`workspace.selectionChanged`)})});let y=O(()=>{if(n.commentsOnly)return[];let e=mt(d.value);return n.file.hunks.map(t=>{let r=Be({start:0,rows:t.lines},{comments:t=>ht(t,e),hasForm:e=>xn(m.value,e),owner:t,wrap:n.wrap,commentsEditable:!!n.commentsEditable,slot:`hunk`,rowHeight:h.value,cacheHeight:!1});return{...r,queued:!1,minHeight:Ve(t,r.minHeight)}})});return(t,n)=>(a(),b(sr,{class:`diff-file-card__body`,label:e.path,"reset-key":[e.path,e.viewMode,e.wrap,e.viewMode===`full`?g.value:e.file]},{default:_(()=>[e.viewMode===`full`?(a(),b(er,{key:0,path:e.path,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:p.value,wrap:e.wrap,onContentVersion:n[0]||=e=>g.value=e},null,8,[`path`,`commentable`,`comments-editable`,`comments`,`wrap`])):(a(),A(M,{key:1},[e.file.isBinary?(a(),A(`p`,dr,f(T(s)(`changes.binaryFile`)),1)):e.hunksState===`loading`||l.value?(a(),A(`div`,{key:1,class:`diff-file-card__loading row flex-center`,style:u({minHeight:`${e.loadingHeight}px`})},[v(ce,{size:`md`,color:`grey-6`,"aria-label":T(s)(`changes.hunksLoading`)},null,8,[`aria-label`])],4)):(a(),A(M,{key:2},[e.hunksState===`error`?(a(),b(ur,{key:0,title:T(s)(`changes.hunksLoadError`),message:e.hunksError??``,loading:!1,onRetry:n[1]||=e=>o(`retry-hunks`)},null,8,[`title`,`message`])):e.file.hunks.length===0?(a(),A(`p`,fr,f(T(s)(`changes.noTextChanges`)),1)):S(``,!0)],64)),(a(!0),A(M,null,I(l.value?[]:e.file.hunks,(t,n)=>(a(),b(i(e.commentsOnly?`div`:rn),r({key:`${t.oldStart}:${t.newStart}`},{ref_for:!0},y.value[n]??{}),{default:_(()=>[v(Rn,{path:e.path,hunk:t,"line-tokens":e.hunkTokens?.[n]??null,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:d.value,"comments-only":e.commentsOnly,wrap:e.wrap},null,8,[`path`,`hunk`,`line-tokens`,`commentable`,`comments-editable`,`comments`,`comments-only`,`wrap`])]),_:2},1040))),128))],64))]),_:1},8,[`label`,`reset-key`]))}}),[[`__scopeId`,`data-v-135d36f6`]]),mr=F({__name:`CopyButton`,props:{value:{},tooltip:{}},setup(t){let n=t,r=k(!1),{registerTimeout:i}=ae(),o=0;function s(){o++,r.value=!1}e(s),c(s);async function l(){let e=o;try{if(await Re(n.value),e!==o)return;r.value=!0,i(()=>{r.value=!1},ze)}catch{}}return(e,n)=>p((a(),b(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,color:r.value?`positive`:void 0,icon:r.value?T(ke).done:T(ke).copy,"aria-label":t.tooltip,onClick:L(l,[`stop`])},{default:_(()=>[v(H,{delay:T(500)},{default:_(()=>[w(f(t.tooltip),1)]),_:1},8,[`delay`])]),_:1},8,[`color`,`icon`,`aria-label`])),[[z]])}}),hr={class:`file-card-header row items-center no-wrap`},gr={class:`file-card-header__name row items-center no-wrap`},_r={class:`ellipsis text-mono file-card-header__path`},vr=q(F({__name:`FileCardHeader`,props:{path:{}},setup(e){let{t:n}=U();return(r,i)=>(a(),A(`div`,hr,[t(r.$slots,`leading`,{},void 0,!0),N(`div`,gr,[N(`span`,_r,f(e.path),1),v(mr,{value:e.path,tooltip:T(n)(`common.copyPath`)},null,8,[`value`,`tooltip`]),t(r.$slots,`badges`,{},void 0,!0)]),v(Oe),t(r.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-28b34b1f`]]),yr=F({__name:`FileHeaderMenu`,props:m({path:{},diffSource:{},previewRef:{},fullFileToggle:{type:Boolean}},{modelValue:{type:Boolean,required:!0},modelModifiers:{},showFullFile:{type:Boolean,default:!1},showFullFileModifiers:{}}),emits:[`update:modelValue`,`update:showFullFile`],setup(e){let t=o(e,`modelValue`),n=o(e,`showFullFile`),r=e,{t:i}=U(),s=we(),c=Me(),l=O(()=>Ie(r.path??``)),u=Le();function d(){if(!r.path)return;let e=r.previewRef??(r.diffSource===`staged`?`INDEX`:`WORKTREE`);u.open(`markdown`,{type:`file`,path:r.path,ref:e},{title:`${r.path} · ${e}`})}function m(){r.path&&c({kind:`file`,path:r.path})}function h(){r.path&&r.diffSource&&c({kind:`diff`,source:r.diffSource,path:r.path})}return(r,o)=>p((a(),b(V,{class:`app-icon-control`,flat:``,round:``,dense:``,size:`sm`,icon:T(he),"aria-label":T(i)(`changes.fileActions`)},{default:_(()=>[v(Pe,null,{default:_(()=>[v(Ne,{dense:``,class:`agent-menu`},{default:_(()=>[e.fullFileToggle?p((a(),b(W,{key:0,clickable:``,onClick:o[0]||=e=>n.value=!n.value},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:n.value?T(ge):T(_e)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.showFullFile`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),p((a(),b(W,{clickable:``,onClick:o[1]||=e=>t.value=!t.value},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:t.value?T(ge):T(_e)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.wrapLines`)),1)]),_:1})]),_:1})),[[G]]),l.value&&e.path?p((a(),b(W,{key:1,clickable:``,onClick:d},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(pe)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.previewMarkdown`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),T(s).enabled&&e.path?(a(),A(M,{key:2},[v(oe),e.diffSource?p((a(),b(W,{key:0,clickable:``,onClick:h},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(De)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`agent.context.addDiff`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),p((a(),b(W,{clickable:``,onClick:m},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(De)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`agent.context.addFile`)),1)]),_:1})]),_:1})),[[G]])],64)):S(``,!0)]),_:1})]),_:1})]),_:1},8,[`icon`,`aria-label`])),[[z]])}}),br={class:`diff-file-card__status-section`},xr={class:`text-caption diff-file-card__stats`},Sr={class:`text-positive`},Cr={class:`text-negative q-ml-xs`},wr=q(F({__name:`DiffFileCardHeader`,props:m({path:{},status:{},additions:{},deletions:{},expanded:{type:Boolean},commentCount:{},fullFileToggle:{type:Boolean},agentSource:{},previewRef:{}},{showFullFile:{type:Boolean,required:!0},showFullFileModifiers:{},wrap:{type:Boolean,required:!0},wrapModifiers:{}}),emits:m([`toggle`],[`update:showFullFile`,`update:wrap`]),setup(e){let t={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},n=o(e,`showFullFile`),r=o(e,`wrap`),{t:i}=U(),s=R(),c=O(()=>Ae(s.screen.width));return(o,s)=>p((a(),b(W,{clickable:``,dense:``,class:`diff-file-card__header-item`,onClick:s[6]||=e=>o.$emit(`toggle`)},{default:_(()=>[v(vr,{path:e.path},{leading:_(()=>[v(B,{name:T(be),size:`xs`,class:D([`app-icon-neutral diff-file-card__chevron`,{"diff-file-card__chevron--expanded":e.expanded}])},null,8,[`name`,`class`])]),badges:_(()=>[v(at,{compact:``,count:e.commentCount},null,8,[`count`])]),default:_(()=>[e.fullFileToggle&&!c.value?(a(),A(`div`,{key:0,class:`diff-file-card__toggle-section`,onClick:s[1]||=L(()=>{},[`stop`])},[v(le,{modelValue:n.value,"onUpdate:modelValue":s[0]||=e=>n.value=e,"left-label":``,dense:``,size:`xs`,label:T(i)(`changes.showFullFile`)},null,8,[`modelValue`,`label`])])):S(``,!0),c.value&&e.agentSource?(a(),A(`div`,{key:1,class:`diff-file-card__file-actions row no-wrap items-center`,onClick:s[2]||=L(()=>{},[`stop`])},[v(it,{path:e.path,source:e.agentSource},null,8,[`path`,`source`])])):S(``,!0),N(`div`,br,[v(Fe,{color:t[e.status],outline:``,rounded:``},{default:_(()=>[w(f(T(i)(`changes.fileStatus.${e.status}`)),1)]),_:1},8,[`color`])]),N(`span`,xr,[N(`span`,Sr,`+`+f(e.additions),1),N(`span`,Cr,`-`+f(e.deletions),1)]),N(`div`,{onClick:s[5]||=L(()=>{},[`stop`])},[v(yr,{modelValue:r.value,"onUpdate:modelValue":s[3]||=e=>r.value=e,"show-full-file":n.value,"onUpdate:showFullFile":s[4]||=e=>n.value=e,"full-file-toggle":e.fullFileToggle&&c.value,path:e.path,"diff-source":e.agentSource,"preview-ref":n.value?`WORKTREE`:e.previewRef},null,8,[`modelValue`,`show-full-file`,`full-file-toggle`,`path`,`diff-source`,`preview-ref`])])]),_:1},8,[`path`])]),_:1})),[[z]])}}),[[`__scopeId`,`data-v-2472fd98`]]),Tr={class:`file-card-frame`},Er=q(F({__name:`FileCardFrame`,props:{stickyHeader:{type:Boolean}},setup(e){return(n,r)=>(a(),A(`div`,Tr,[N(`div`,{class:D([`file-card-frame__header`,{"file-card-frame__header--sticky":e.stickyHeader}])},[t(n.$slots,`header`,{},void 0,!0)],2),t(n.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-4e9fd541`]]);function Dr(e){if(!e.some(e=>e.preamble&&e.preamble.length>0))return{lines:e.flatMap(e=>e.lines.map(e=>e.content)),documents:void 0};let t=[],n=[];for(let r of e){let e=r.preamble??[];t.push(...e,...r.lines.map(e=>e.content)),n.push({length:e.length+r.lines.length,skip:e.length})}return{lines:t,documents:n}}function Or(e,t){let{tokens:n,holdForTokens:r}=Wn(()=>{let t=C(E(e));if(!t.hunks.some(e=>e.lines.length>0))return null;let n,r=()=>n??=Dr(t.hunks);return{key:t,path:J(t),lines:()=>r().lines,documents:()=>r().documents}},t);return{hunkTokens:O(()=>{let t=n.value;if(!t)return null;let r=0;return E(e).hunks.map(e=>{let n=t.slice(r,r+e.lines.length);return r+=e.lines.length,n})}),holdForTokens:r}}function kr(e){let t=k(!1),n=je();return g(()=>E(e.expanded),n=>{n||(t.value=!1,e.onCollapsed?.())}),g([()=>E(e.expanded)&&n()&&t.value&&!E(e.loaded)&&!E(e.error),()=>E(e.version)],([t])=>{t&&e.onNeeded()},{immediate:!0}),{bodyMounted:t}}var Ar=q(F({__name:`DiffFileCard`,props:{file:{},expanded:{type:Boolean},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},agentSource:{},previewRef:{},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 r=e,i=t,o=O(()=>J(r.file)),c=O(()=>r.detail??r.file),l=j(`frame`),u=st();async function d(){let e=l.value?.$el,t=e instanceof Element?u(e):null,a=r.expanded&&e instanceof Element&&t!==null&&ut(t,e);i(`toggle`),a&&(await n(),!r.expanded&&(t.scrollTop=dt(t,e)))}s(Wt,r.stateKey);let f=r.stateKey?{key:r.stateKey}:{local:!0},p=Q(`wrap`,()=>Yt(o.value),f),m=Q(`viewMode`,()=>`diff`,f);g(()=>r.file.status,e=>{e===`deleted`&&m.reset()},{immediate:!0});let h=Ue(()=>r.commentable),y=O(()=>_t(r.file,r.detail,h.value)),{bodyMounted:x}=kr({expanded:()=>r.expanded,loaded:()=>r.hunksLoaded,error:()=>r.hunksError,version:()=>r.file,onNeeded:()=>i(`load-hunks`),onCollapsed:()=>i(`clear-hunks-error`)}),C=O(()=>r.hunksLoaded?`ready`:r.hunksError?`error`:r.detail?`ready`:`loading`),{hunkTokens:w,holdForTokens:E}=Or(c,()=>r.expanded&&m.value===`diff`&&(r.detail!==void 0||r.hunksLoaded)),D=O({get:()=>m.value===`full`,set:e=>{e?(m.value=`full`,r.expanded||i(`expand`)):r.expanded&&(m.value=`diff`)}});return(t,n)=>(a(),b(Er,{id:`diff-file-${o.value}`,ref_key:`frame`,ref:l,"sticky-header":``,class:`diff-file-card`},{header:_(()=>[v(wr,{"show-full-file":D.value,"onUpdate:showFullFile":n[0]||=e=>D.value=e,wrap:T(p),"onUpdate:wrap":n[1]||=e=>ee(p)?p.value=e:null,path:o.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,"preview-ref":e.previewRef,onToggle:d},null,8,[`show-full-file`,`wrap`,`path`,`status`,`additions`,`deletions`,`expanded`,`comment-count`,`full-file-toggle`,`agent-source`,`preview-ref`])]),default:_(()=>[e.expanded?(a(),b(rn,{key:0,immediate:``,"min-height":y.value,onChange:n[3]||=e=>x.value=e},{default:_(()=>[v(pr,{file:c.value,path:o.value,"view-mode":T(m),wrap:T(p),"hunk-tokens":T(w),"hunks-state":C.value,"hunks-fresh":e.hunksLoaded,"hold-for-tokens":T(E),"hunks-error":e.hunksError,"loading-height":y.value,commentable:e.commentable,"comments-editable":e.commentsEditable,"comments-only":e.commentsOnly,comments:e.comments,onRetryHunks:n[2]||=e=>i(`retry-hunks`)},null,8,[`file`,`path`,`view-mode`,`wrap`,`hunk-tokens`,`hunks-state`,`hunks-fresh`,`hold-for-tokens`,`hunks-error`,`loading-height`,`commentable`,`comments-editable`,`comments-only`,`comments`])]),_:1},8,[`min-height`])):S(``,!0)]),_:1},8,[`id`]))}}),[[`__scopeId`,`data-v-b8dd565d`]]),jr={class:`status-switcher row q-gutter-x-sm`},Mr=F({__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:o}=U(),s=R();function c(e){e.value!==r.status&&s.dialog({title:o(`reviews.confirmStatusChange.title`),message:o(`reviews.confirmStatusChange.message`,{status:o(`reviews.status.${e.value}`)}),persistent:!0,ok:{label:o(`reviews.confirmStatusChange.ok`),color:`accent`},cancel:{label:o(`reviews.confirmStatusChange.cancel`),flat:!0}}).onOk(()=>{i(`change`,e.value)})}return(t,r)=>(a(),A(`div`,jr,[(a(),A(M,null,I(n,t=>v(V,{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:T(o)(`reviews.status.${t.value}`),onClick:e=>c(t)},null,8,[`outline`,`unelevated`,`color`,`label`,`onClick`])),64))]))}});export{st as C,ot as S,it as T,yt as _,vr as a,ft as b,Dn as c,Kt as d,Q as f,xt as g,Pt as h,yr as i,Yt as l,Bt as m,Ar as n,ur as o,Ut as p,Er as r,Yn as s,Mr as t,Jt as u,vt as v,at as w,lt as x,_t as y};
1
+ import{A as e,B as t,D as n,E as r,H as i,I as a,K as o,L as s,M as c,N as l,Nt as u,P as d,Pt as f,Q as p,T as m,X as h,Y as g,Z as _,_ as v,ct as y,d as b,dt as x,f as S,ft as C,g as w,gt as T,ht as E,it as ee,jt as D,l as O,lt as k,ot as te,p as A,q as j,r as M,u as N,w as P,y as F,z as I}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{_ as ne,g as re,v as L}from"./use-router-link-D7geCGQI.js";import{n as ie}from"./create-DedXY-KP.js";import{a as R}from"./render-Brao9Nj2.js";import{C as ae,t as oe}from"./QSeparator-B8uLaDiI.js";import{t as se}from"./QInput-BnqLJGXl.js";import{a as ce,i as z,l as B,t as V}from"./QBtn-V3VXtJXi.js";import{n as le,x as H}from"./index-CstRcwnO.js";import{n as U}from"./vue-i18n.runtime-JOo8b7-t.js";import{A as ue,Ft as de,It as fe,L as pe,Mt as me,N as he,_ as ge,g as _e,nn as ve,tn as ye,x as be}from"./mdi-Du7sIqtH.js";import{n as xe}from"./pinia-BfqEuvsi.js";import{l as Se}from"./single-flight-CyDZB3rb.js";import{f as Ce,t as we}from"./agent-store-BV2OAJzn.js";import{n as Te}from"./use-server-events-CvcbsbIf.js";import{i as Ee,n as De,t as Oe}from"./QSpace-BmrklWw-.js";import{c as ke,n as Ae}from"./workspace-navigation-kGtTYXtT.js";import{r as je,t as Me}from"./use-add-agent-context-ZAOlkMkH.js";import{c as Ne,l as W,n as Pe,t as G,u as K}from"./ClosePopup-Bd5a-Lu_.js";import{t as q}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Fe}from"./QScrollArea-qf2G1s2r.js";import{r as Ie,t as Le}from"./preview-store-C47JAa3k.js";import{r as Re,t as ze}from"./copy-code-XoEu_Yh6.js";import{a as Be,i as Ve,l as He,n as Ue,o as We,r as Ge,s as Ke}from"./use-row-height-FkeCYR5M.js";import{t as qe}from"./use-notify-error-Dx2D9IEP.js";import{a as Je,i as Ye,n as Xe,o as Ze,r as Qe,s as J,t as $e}from"./diff-store-DCqGPv2R.js";import{t as et}from"./CancelButton-mkxRHwoZ.js";import{n as tt,t as nt}from"./CreateButton-zCmb7snC.js";function rt(){let e=R(),{t}=U(),n=qe(),r=We(),i=tt();async function a(e,i,a){try{await Se(i,{paths:[e]}),await r.refresh()}catch(e){n(t(a),e)}}function o(n){let r=(i.commentsByFile.get(n)??[]).filter(e=>!e.resolved).length;if(r===0)return a(n,`/api/git/stage`,`changes.actions.stageError`);e.dialog({title:t(`changes.actions.stageUnresolvedTitle`),message:t(`changes.actions.stageUnresolvedMessage`,{path:n,count:r}),persistent:!0,ok:{label:t(`changes.actions.stageUnresolvedOk`),flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/stage`,`changes.actions.stageError`)})}function s(e){return a(e,`/api/git/unstage`,`changes.actions.unstageError`)}function c(n){e.dialog({title:t(`changes.actions.discardConfirmTitle`),message:t(`changes.actions.discardConfirmMessage`,{path:n}),persistent:!0,ok:{label:t(`changes.actions.discardConfirmOk`),color:`negative`,flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{a(n,`/api/git/discard`,`changes.actions.discardError`)})}return{stage:o,unstage:s,discard:c}}var it=F({__name:`FileActionButtons`,props:{path:{},source:{}},setup(e){let{t}=U(),{stage:n,unstage:r,discard:i}=rt();return(o,s)=>e.source===`unstaged`?(a(),A(M,{key:0},[p(v(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(ve),"aria-label":T(t)(`changes.actions.discard`),"data-tooltip":T(t)(`changes.actions.discard`),onClick:s[0]||=L(t=>T(i)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`]),[[z]]),p(v(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(fe),"aria-label":T(t)(`changes.actions.stage`),"data-tooltip":T(t)(`changes.actions.stage`),onClick:s[1]||=L(t=>T(n)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`]),[[z]])],64)):p((a(),b(V,{key:1,class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,icon:T(me),"aria-label":T(t)(`changes.actions.unstage`),"data-tooltip":T(t)(`changes.actions.unstage`),onClick:s[2]||=L(t=>T(r)(e.path),[`stop`])},null,8,[`icon`,`aria-label`,`data-tooltip`])),[[z]])}}),at=q(F({__name:`CommentCountBadge`,props:{count:{},compact:{type:Boolean}},setup(e){let{t}=U();return(n,r)=>e.count>0?(a(),A(`span`,{key:0,class:D([`comment-count-badge relative-position inline-block`,{"comment-count-badge--compact":e.compact}])},[v(B,{class:`app-icon-neutral`,name:T(ue),size:e.compact?`15px`:`20px`},null,8,[`name`,`size`]),v(Fe,{color:`primary`,floating:``,rounded:``},{default:_(()=>[w(f(e.count),1)]),_:1}),v(H,{delay:T(500)},{default:_(()=>[w(f(T(t)(`reviews.comments.count`,{count:e.count})),1)]),_:1},8,[`delay`])],2)):S(``,!0)}}),[[`__scopeId`,`data-v-dd199a45`]]),ot=Symbol(`scroll-root`);function st(){let e=P(ot,void 0);return t=>e?.()??t?.closest(`.q-scrollarea__container`)??null}var ct=3e3;function lt(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top-e.clientTop}function ut(e,t){return lt(e,t)<0}function dt(e,t,n=0){return Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+lt(e,t)-n))}function ft(e){let t=e.now??(()=>performance.now()),n=e.requestFrame??(e=>requestAnimationFrame(e)),r=e.cancelFrame??(e=>cancelAnimationFrame(e)),i=t()+ct,a=!1,o;function s(){a=!0,o!==void 0&&r(o),o=void 0}function c(){if(o=void 0,a)return;if(t()>=i){s();return}let r=e.target();if(r){let t=e.root,n=dt(t,r,e.offset);Math.abs(n-t.scrollTop)>.5&&(t.scrollTop=n)}o=n(c)}return o=n(c),s}function pt(e){return e.lineType===`removed`?`old`:`new`}function Y(e){let t=new Map;for(let n of e){if(n.lineNumberEnd===null)continue;let e=t.get(n.lineNumberEnd);e?e.push(n):t.set(n.lineNumberEnd,[n])}return t}function mt(e){return{old:Y(e.filter(e=>pt(e)===`old`)),new:Y(e.filter(e=>pt(e)===`new`))}}function ht(e,t){return[...e.oldLineNumber===null?[]:t.old.get(e.oldLineNumber)??[],...e.newLineNumber===null?[]:t.new.get(e.newLineNumber)??[]]}var gt=80;function _t(e,t,n=20){return t?t.hunks.reduce((e,t)=>e+Ve(t,t.lines.length*n),0):(e.additions+e.deletions)*n+gt}function vt(e,t){if(t===`full`)return Y(e.filter(e=>e.lineType===null)).size*90;let n=mt(e.filter(e=>e.lineType!==null));return(n.old.size+n.new.size)*90}function yt(e){return JSON.stringify([e.expanded,e.mode,e.wrap,e.activeReview,e.rowHeight,e.pending?[e.pending.column,e.pending.startKey,e.pending.endKey]:null,e.comments?.map(e=>[e.id,e.lineType,e.lineNumberEnd,e.content,e.suggestion,e.resolved])])}var bt=Symbol(`comment-actions`);function xt(e){let{t}=U(),n=qe();function r(e){return async(...r)=>{try{await e(...r)}catch(e){throw n(t(`reviews.comments.error`),e),e}}}s(bt,{create:r(e.create),edit:r(e.edit),remove:r(e.remove),resolve:r(e.resolve),unresolve:r(e.unresolve)})}async function X(){throw Error(`No comment actions are provided here`)}function St(){return P(bt,void 0)||{create:X,edit:X,remove:X,resolve:X,unresolve:X}}function Ct(e){e.catch(()=>void 0)}var Z=new Set,wt=!1,Tt=e=>requestAnimationFrame(e);function Et(){wt=!1;let e=[...Z],t=[...e.filter(e=>e.visible),...e.filter(e=>!e.visible)],n=0;try{for(let e of t){if(!Z.has(e))continue;let t=e.visible?120:40;if(n>0&&n+e.cost>t)break;Z.delete(e),n+=e.cost,e.run()}}finally{Z.size>0&&Dt()}}function Dt(){wt||(wt=!0,Tt(Et))}function Ot(e,t,n=!1){let r={cost:Math.max(1,e),visible:n,run:t};return Z.add(r),Dt(),{setVisible:e=>{r.visible=e},cancel:()=>{Z.delete(r)}}}var kt=2e3,At=new WeakMap;function jt(e,t){let n=At.get(e);n||(n=new Map,At.set(e,n));let r=n.get(t);if(r)return r;let i=new Map,a={near:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.near(t.isIntersecting,t.target)},{root:e,rootMargin:`${t}px 0px`}),visible:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.visible(t.isIntersecting)},{root:e}),handlers:i};return n.set(t,a),a}function Mt(e,t,n,r=kt){let i=jt(e,r);return i.handlers.set(t,n),i.near.observe(t),i.visible.observe(t),()=>{if(i.handlers.get(t)!==n||(i.handlers.delete(t),i.near.unobserve(t),i.visible.unobserve(t),i.handlers.size>0))return;i.near.disconnect(),i.visible.disconnect();let a=At.get(e);a?.delete(r),a?.size===0&&At.delete(e)}}var Nt=new WeakMap;function Pt(e,t){let n=Nt.get(e);if(!n){let t={width:e.clientWidth,handlers:new Set,observer:new ResizeObserver(()=>{let n=e.clientWidth;if(n!==t.width){t.width=n;for(let e of t.handlers)e()}})};n=t,Nt.set(e,n),n.observer.observe(e)}let r=n;r.handlers.add(t);let i=!1;return()=>{i||(i=!0,r.handlers.delete(t),!(r.handlers.size>0)&&(r.observer.disconnect(),Nt.delete(e)))}}var Ft=new WeakMap;function It(e,t,n){let r=Ft.get(e)?.get(t);return r&&r.version===n?r.px:void 0}function Lt(e,t,n,r){let i=Ft.get(e);i||(i=new Map,Ft.set(e,i)),i.set(t,{version:n,px:r})}var Rt=5;function zt(e){let[t,n]=e.slice(Rt);return[e.slice(0,Rt),t,n]}function Bt(e,t){let n=je(),r=!1,i=null,a=k(!1),o=k(e.minHeight),s=!1,c=!1,l=!1,u=!1,d=!1,f,p,m;function h(){return e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0?It(e.heightOwner,e.heightKey,e.heightVersion??``):void 0}function _(){let t=h();s=t!==void 0,o.value=t??e.minHeight}function v(){let n=t();a.value&&n&&(o.value=n.offsetHeight,s=!0,e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&Lt(e.heightOwner,e.heightKey,e.heightVersion??``,o.value))}function b(){f?.cancel(),f=void 0}function x(){if(c&&u&&!a.value&&!f){if(e.queued===!1){a.value=!0;return}f=Ot(e.cost??Math.ceil(o.value/20),()=>{f=void 0,a.value=!0},d)}}function S(){_(),b(),x()}function C(o){if(r=!0,i=o,!n()||c)return;c=!0;let s=t();if(e.immediate||!s||!o){l=!0,a.value=!0;return}p=Mt(o,s,{near:t=>{if(u=t,u)x();else{if(b(),e.keep)return;v(),a.value=!1}},visible:e=>{d=e,f?.setVisible(e)}},e.mountMargin),m=Pt(o,()=>{e.widthSensitive&&S()})}function w(){c&&(e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&v(),c=!1,b(),p?.(),m?.(),p=void 0,m=void 0)}function T(){r=!1,w()}return g(n,e=>{e&&r?C(i):w()},{flush:`sync`}),_(),g([()=>e.heightOwner,()=>e.heightKey,()=>e.heightVersion,()=>e.cacheHeight,()=>e.widthSensitive,()=>e.minHeight,()=>e.cost,()=>e.keep],(t,n)=>{let[r,i,d]=zt(t),[f,p,m]=zt(n),h=r.some((e,t)=>e!==f[t]);h?_():s||(o.value=e.minHeight),(h||i!==p||d!==m)&&(b(),x()),c&&!l&&!u&&!e.keep&&a.value&&(v(),a.value=!1)},{flush:`post`}),te(T),{mounted:y(a),height:y(o),start:C,stop:T}}var Vt=`\0`,Ht=[`pending:`,`draft:`,`busy:`,`edit:`],Ut=xe(`card-state`,()=>{let e=k({});function t(e,t){return`${e}${Vt}${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(Vt));t.has(r)||delete e.value[n]}}function o(e){return e.slice(e.indexOf(Vt)+1)}function s(t){for(let n of Object.keys(e.value))t(o(n))&&delete e.value[n]}let c=$e();g(()=>[c.loaded,c.stagedFiles,c.unstagedFiles],([e,t,n])=>{e&&a(new Set([...t.map(e=>Ze(`staged`,J(e))),...n.map(e=>Ze(`unstaged`,J(e)))]))},{immediate:!0});let l=tt();return g(()=>l.activeReview?.id,()=>s(e=>Ht.some(t=>e.startsWith(t)))),g(()=>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}}),Wt=Symbol(`card-state-key`);function Q(e,t,n={}){let r=n.local?void 0:n.key??P(Wt,void 0);if(r===void 0){let e=k(t());return Object.assign(O({get:()=>e.value,set:t=>{e.value=t}}),{reset(){e.value=t()}})}let i=Ut();return Object.assign(O({get:()=>i.get(r,e)??t(),set:t=>i.set(r,e,t)}),{reset(){i.remove(r,e)}})}var Gt=`pending:diff`;function Kt(e={}){return Q(Gt,()=>null,e)}var qt=`pending:full`;function Jt(e={}){return Q(qt,()=>null,e)}function Yt(e){return Je(e)===`markdown`}var Xt=8,Zt=750;function Qt(e){let t=null,n=0;function r(e,r){e.pointerType!==`mouse`&&(n=Date.now()+Zt,t=e.isPrimary?{id:e.pointerId,x:e.clientX,y:e.clientY,value:r}:null)}function i(){n=Date.now()+Zt}function a(n){let r=t;t=null,n.pointerType!==`mouse`&&i(),r?.id===n.pointerId&&Math.hypot(n.clientX-r.x,n.clientY-r.y)<=Xt&&e(r.value)}function o(){t&&i(),t=null}return{down:r,up:a,cancel:o,mouseAllowed:()=>Date.now()>=n}}var $t=[`data-line-key`],en={class:`diff-line__prefix`},tn={class:`diff-line__content`},nn=q(F({__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`,`old-tap`,`new-tap`],setup(e,{emit:t}){let n=e,r=t,i=Qt(e=>{n.selectable&&r(e===`old`?`old-tap`:`new-tap`)}),o=O(()=>({added:`+`,removed:`-`,context:` `})[n.line.type]),s=O(()=>n.line.type===`added`?`diff-line--added`:n.line.type===`removed`?`diff-line--removed`:``);function c(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,n)=>(a(),A(`div`,{class:D([`diff-line row no-wrap text-mono`,[s.value,{"diff-line--wrap":e.wrap,"diff-line--selectable":e.selectable}]]),"data-line-key":`${e.line.oldLineNumber??``}:${e.line.newLineNumber??``}`},[N(`span`,{class:D([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.oldLineNumber,"diff-line__gutter--selected":e.oldSelected}]),onPointerdown:n[0]||=t=>e.line.oldLineNumber&&T(i).down(t,`old`),onPointerup:n[1]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[2]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[3]||=t=>T(i).mouseAllowed()&&e.line.oldLineNumber&&r(`old-mousedown`),onMouseenter:n[4]||=t=>e.line.oldLineNumber&&r(`old-mouseenter`)},f(e.line.oldLineNumber??``),35),N(`span`,{class:D([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.newLineNumber,"diff-line__gutter--selected":e.newSelected}]),onPointerdown:n[5]||=t=>e.line.newLineNumber&&T(i).down(t,`new`),onPointerup:n[6]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[7]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[8]||=t=>T(i).mouseAllowed()&&e.line.newLineNumber&&r(`new-mousedown`),onMouseenter:n[9]||=t=>e.line.newLineNumber&&r(`new-mouseenter`)},f(e.line.newLineNumber??``),35),N(`span`,en,f(o.value),1),N(`span`,tn,[e.tokens?(a(!0),A(M,{key:0},I(e.tokens,(e,t)=>(a(),A(`span`,{key:t,style:u({color:c(e)})},f(e.content),5))),128)):(a(),A(M,{key:1},[w(f(e.line.content),1)],64))])],10,$t))}}),[[`__scopeId`,`data-v-f1780c7d`]]),rn=F({__name:`RowSegment`,props:{minHeight:{},keep:{type:Boolean,default:!1},cost:{default:void 0},immediate:{type:Boolean,default:!1},queued:{type:Boolean,default:!0},heightOwner:{default:void 0},heightKey:{default:void 0},heightVersion:{default:void 0},cacheHeight:{type:Boolean,default:!1},widthSensitive:{type:Boolean,default:!1}},emits:[`change`],setup(n,{emit:r}){let i=n,o=r,s=st(),c=j(`el`),{mounted:d,height:f,start:p,stop:m}=Bt(i,()=>c.value);return l(()=>p(c.value?s(c.value):null)),g(d,e=>o(`change`,e)),e(m),(e,n)=>(a(),A(`div`,{ref_key:`el`,ref:c,style:u(T(d)?void 0:{height:`${T(f)}px`})},[T(d)?t(e.$slots,`default`,{},void 0,void 0,0):S(``,!0)],4))}}),an={class:`comment-form q-pa-sm`},on={class:`row items-center justify-between q-mt-xs`},sn={key:0,class:`text-caption comment-form__line-range`},cn={class:`row q-gutter-x-sm`},ln=q(F({__name:`CommentForm`,props:{initialContent:{},submitLabel:{},lineRange:{default:null},draftKey:{},send:{}},emits:[`cancel`],setup(e,{emit:t}){let n=e,r=t,{t:i}=U(),o=n.draftKey?{}:{local:!0},s=Q(`draft:${n.draftKey}`,()=>n.initialContent??``,o),c=Q(`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(),r(`cancel`))}return(t,n)=>(a(),A(`div`,an,[v(se,{modelValue:T(s),"onUpdate:modelValue":n[0]||=e=>ee(s)?s.value=e:null,dense:``,outlined:``,autofocus:!l,type:`textarea`,autogrow:``,placeholder:T(i)(`reviews.comments.placeholder`),readonly:T(c),onKeyup:ne(L(u,[`ctrl`]),[`enter`])},null,8,[`modelValue`,`autofocus`,`placeholder`,`readonly`,`onKeyup`]),N(`div`,on,[e.lineRange?(a(),A(`span`,sn,f(e.lineRange.start===e.lineRange.end?T(i)(`reviews.comments.line`,{line:e.lineRange.start}):T(i)(`reviews.comments.lineRange`,{start:e.lineRange.start,end:e.lineRange.end})),1)):S(``,!0),v(Oe),N(`div`,cn,[v(et,{size:`sm`,disable:T(c),onClick:d},null,8,[`disable`]),v(nt,{size:`sm`,label:e.submitLabel,disable:!T(s).trim(),loading:T(c),onClick:u},null,8,[`label`,`disable`,`loading`])])])]))}}),[[`__scopeId`,`data-v-349d56ab`]]),un=F({__name:`DeleteButton`,props:{tooltip:{}},setup(e){return(t,n)=>(a(),b(V,r({class:`app-icon-control`},t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:T(ye),color:`negative`}),{default:_(()=>[e.tooltip?(a(),b(H,{key:0,delay:T(500)},{default:_(()=>[w(f(e.tooltip),1)]),_:1},8,[`delay`])):S(``,!0)]),_:1},16,[`icon`]))}}),dn=F({__name:`EditButton`,props:{tooltip:{}},setup(e){return(t,n)=>(a(),b(V,r({class:`app-icon-control`},t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:T(de)}),{default:_(()=>[e.tooltip?(a(),b(H,{key:0,delay:T(500)},{default:_(()=>[w(f(e.tooltip),1)]),_:1},8,[`delay`])):S(``,!0)]),_:1},16,[`icon`]))}}),fn={class:`comment-item__body`},pn={key:0,class:`comment-item__suggestion text-mono`},mn={class:`row items-center q-gutter-x-xs q-mt-xs`},hn=q(F({__name:`CommentItem`,props:{comment:{},readonly:{type:Boolean}},setup(e){let t=e,n=R(),{t:r}=U(),i=Q(`edit:${t.comment.id}`,()=>!1),o=St();function s(){n.dialog({title:r(`reviews.comments.deleteConfirmTitle`),message:r(`reviews.comments.deleteConfirmMessage`),persistent:!0,ok:{label:r(`reviews.comments.deleteConfirmOk`),color:`negative`,flat:!0},cancel:{label:r(`reviews.comments.deleteConfirmCancel`),flat:!0}}).onOk(()=>{Ct(o.remove(t.comment.id))})}async function c(e){await o.edit(t.comment.id,e),i.reset()}function l(){i.reset()}function u(){t.comment.resolved?Ct(o.unresolve(t.comment.id)):Ct(o.resolve(t.comment.id))}return(t,n)=>(a(),A(`div`,{class:D([`comment-item q-pa-sm`,{"comment-item--resolved":e.comment.resolved}])},[T(i)&&!e.readonly?(a(),b(ln,{key:0,"initial-content":e.comment.content,"draft-key":`edit:${e.comment.id}`,"submit-label":T(r)(`reviews.comments.save`),send:c,onCancel:l},null,8,[`initial-content`,`draft-key`,`submit-label`])):(a(),A(M,{key:1},[N(`div`,fn,f(e.comment.content),1),e.comment.suggestion?(a(),A(`pre`,pn,f(e.comment.suggestion),1)):S(``,!0),N(`div`,mn,[e.comment.resolved?(a(),b(Fe,{key:0,color:`positive`,outline:``},{default:_(()=>[w(f(T(r)(`reviews.comments.resolved`)),1)]),_:1})):S(``,!0),v(Oe),e.readonly?S(``,!0):(a(),A(M,{key:1},[v(V,{flat:``,dense:``,rounded:``,padding:`4px 12px`,size:`sm`,color:`primary`,label:e.comment.resolved?T(r)(`reviews.comments.unresolve`):T(r)(`reviews.comments.resolve`),onClick:u},null,8,[`label`]),v(dn,{size:`sm`,tooltip:T(r)(`reviews.comments.edit`),onClick:n[0]||=e=>i.value=!0},null,8,[`tooltip`]),v(un,{size:`sm`,tooltip:T(r)(`reviews.comments.delete`),onClick:s},null,8,[`tooltip`])],64))])],64))],2))}}),[[`__scopeId`,`data-v-3af2187b`]]),gn={class:`comment-thread q-pa-sm q-gutter-y-sm`},_n=q(F({__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}=U();return(t,i)=>(a(),A(`div`,gn,[(a(!0),A(M,null,I(e.comments,t=>(a(),b(hn,{key:t.id,comment:t,readonly:e.readonly},null,8,[`comment`,`readonly`]))),128)),e.showNewForm&&!e.readonly?(a(),b(ln,{key:0,"submit-label":T(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`])):S(``,!0)]))}}),[[`__scopeId`,`data-v-352fcd01`]]);function vn(e,t,n){return e.filter(e=>e.key!==null&&e.key>=t&&e.key<=n).map(e=>e.text)}function yn(e,t,n,r){return{column:e,startKey:t,endKey:n,fingerprint:JSON.stringify(vn(r,t,n))}}function $(e,t){return t.some(t=>t.key===e.endKey)?JSON.stringify(vn(t,e.startKey,e.endKey))===e.fingerprint?`valid`:`stale`:`absent`}function bn(e,t,n){return e!==null&&n!==null&&e.column===t&&e.endKey===n}function xn(e,t){return bn(e,`old`,t.oldLineNumber)||bn(e,`new`,t.newLineNumber)}function Sn(e,t){return e.map(e=>({key:t===`old`?e.oldLineNumber:e.newLineNumber,text:`${e.type}\u0000${e.content}`}))}function Cn(e){return e.map((e,t)=>({key:t+1,text:e}))}var wn=Symbol(`touch-comment-selection`),Tn=`pending:touch`;function En(e={}){let t=Ut(),n=x(null),r=new Map;function i(e){return t.get(e,Tn)??null}function a(e,n){t.set(e,Tn,n)}let o=O(()=>{let e=n.value,t=e===null?null:i(e);return e!==null&&t?{cardKey:e,...t}:null});function s(e=n.value){e!==null&&(t.remove(e,Tn),n.value===e&&(n.value=null))}function c(e,t){let r=i(e),o=r!==null&&r.phase===`selecting`&&r.mode===t.mode&&r.column===t.column&&$(r.originAnchor,t.lines)===`valid`;n.value!==null&&n.value!==e&&s();let c=o?r.origin:t.key,l=Math.min(c,t.key),u=Math.max(c,t.key);a(e,{path:t.path,mode:t.mode,column:t.column,origin:c,originAnchor:o?r.originAnchor:yn(t.column,t.key,t.key,t.lines),anchor:yn(t.column,l,u,t.lines),lineType:t.lineTypeAt(l),phase:`selecting`}),n.value=e}function l(){let t=o.value;if(!t||t.phase===`confirming`)return;let{cardKey:n,...i}=t;a(n,{...i,phase:`confirming`}),r.has(n)||e.reveal?.(i.path)}function u(e){return r.set(e,(r.get(e)??0)+1),()=>{let t=(r.get(e)??1)-1;t>0?r.set(e,t):r.delete(e)}}return{selection:o,read:i,tap:c,cancel:s,confirm:l,registerOwner:u}}function Dn(e={}){let t=En(e);return s(wn,t),t}function On(){return P(wn,void 0)}function kn(e){let t=On(),n=P(Wt,void 0);t&&n!==void 0&&(te(t.registerOwner(n)),h(()=>{let r=t.read(n);if(r&&r.mode===e.mode&&E(e.fresh)){if(!e.valid(r.anchor)){t.cancel(n),r.phase===`confirming`&&e.rejected();return}r.phase===`confirming`&&(t.cancel(n),e.commit(r))}}))}function An(e){let t=k(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)),d(()=>window.removeEventListener(`mouseup`,a)),{start:n,enter:r,isSelected:i}}function jn(e){let{pending:t,lines:n,commit:r}=e,i=On(),a=P(Wt,void 0);function o(t,r){E(e.commentable)&&r!==null&&i&&a!==void 0&&i.tap(a,{path:E(e.path),mode:e.mode,column:t,key:r,lines:n(t),lineTypeAt:n=>e.lineTypeAt?.(t,n)??null})}let s=O(()=>{let t=i?.selection.value;return!t||!E(e.commentable)||t.cardKey!==a||t.mode!==e.mode?null:$(t.anchor,n(t.anchor.column))===`valid`?t.anchor:null}),c=O(()=>t.value?$(t.value,n(t.value.column)):`absent`);h(()=>{c.value===`stale`&&t.reset()});let l=O(()=>c.value===`valid`?t.value:null),u=An(e=>{r(yn(e.column,e.startKey,e.endKey,n(e.column)))});function d(t,n){E(e.commentable)&&n!==null&&(i?.cancel(),u.start(t,n))}function f(t,n){E(e.commentable)&&n!==null&&u.enter(t,n)}function p(t,n){let r=s.value;if(r?.column===t&&n!==null&&n>=r.startKey&&n<=r.endKey)return!0;if(!E(e.commentable)||n===null)return!1;let i=l.value;return i&&i.column===t&&n>=i.startKey&&n<=i.endKey?!0:u.isSelected(t,n)}return{ownAnchor:l,pendingLineRange:O(()=>l.value?{start:l.value.startKey,end:l.value.endKey}:null),handleTap:o,handleMousedown:d,handleMouseenter:f,isSelected:p}}function Mn(e){let t=Kt(),n=St();function r(t,n){return E(e.hunk).lines.find(e=>(t===`old`?e.oldLineNumber:e.newLineNumber)===n)?.type??null}let i=jn({path:e.path,commentable:e.commentable,pending:t,mode:`diff`,lines:t=>Sn(E(e.hunk).lines,t),lineTypeAt:r,commit:e=>{t.value={...e,lineType:r(e.column,e.startKey)??`context`}}});function a(e){return xn(i.ownAnchor.value,e)}async function o(r){let a=i.ownAnchor.value;a&&(await n.create({filePath:E(e.path),lineNumber:a.startKey,lineNumberEnd:a.endKey,lineType:a.lineType,content:r}),t.reset())}function s(){t.reset()}return{...i,showNewForm:a,submitNewComment:o,cancelNewComment:s}}function Nn(e){let t=Kt();kn({mode:`diff`,fresh:e.fresh,valid:t=>E(e.hunks).some(e=>$(t,Sn(e.lines,t.column))===`valid`),commit:e=>{t.value={...e.anchor,lineType:e.lineType??`context`}},rejected:e.rejected})}function Pn(e){let t=O(()=>Ge(E(e.rows),E(e.threshold))),n=O(()=>({comments:e=>e.comments,hasForm:e.hasForm,owner:E(e.owner),wrap:!!E(e.wrap),commentsEditable:!!E(e.commentsEditable),rowHeight:E(e.rowHeight)}));return{grouping:t,segments:O(()=>t.value.groups.map(e=>({...e,props:Be(e,n.value)})))}}function Fn(e){let t=Ue(()=>E(e.commentable)),n=O(()=>{let t=E(e.comments)??[],n=mt(t);function r(e){return t.some(t=>{if(t.lineNumber===null||t.lineNumberEnd===null)return!1;let n=pt(t)===`old`?e.oldLineNumber:e.newLineNumber;return n!==null&&n>=t.lineNumber&&n<=t.lineNumberEnd})}return E(e.hunk).lines.map((e,t)=>({line:e,index:t,comments:ht(e,n)})).filter(t=>!E(e.commentsOnly)||r(t.line))}),{grouping:r,segments:i}=Pn({rows:n,rowHeight:t,owner:e.hunk,wrap:e.wrap,commentsEditable:e.commentsEditable,threshold:()=>E(e.commentsOnly)?void 0:0,hasForm:t=>xn(E(e.anchor),t.line)});return{visibleLines:n,grouping:r,segments:i}}var In={key:0,class:`diff-hunk`},Ln={class:`diff-hunk__header text-mono text-primary`},Rn=q(F({__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=O(()=>`@@ -${t.hunk.oldStart},${t.hunk.oldLines} +${t.hunk.newStart},${t.hunk.newLines} @@`),{ownAnchor:o,pendingLineRange:s,handleTap:c,handleMousedown:l,handleMouseenter:u,isSelected:d,showNewForm:p,submitNewComment:m,cancelNewComment:h}=Mn({path:()=>t.path,hunk:()=>t.hunk,commentable:()=>t.commentable}),{visibleLines:g,grouping:y,segments:x}=Fn({hunk:()=>t.hunk,comments:()=>t.comments,commentsOnly:()=>t.commentsOnly,commentsEditable:()=>t.commentsEditable,commentable:()=>t.commentable,wrap:()=>t.wrap,anchor:o});return(t,o)=>!e.commentsOnly||T(g).length>0?(a(),A(`div`,In,[N(`div`,Ln,f(n.value),1),(a(!0),A(M,null,I(T(x),t=>(a(),b(i(T(y).segmented?rn:`div`),r({key:t.start},{ref_for:!0},T(y).segmented?t.props:{}),{default:_(()=>[(a(!0),A(M,null,I(t.rows,({line:t,index:n,comments:r})=>(a(),A(M,{key:n},[v(nn,{line:t,tokens:e.lineTokens?.[n],selectable:e.commentable,wrap:e.wrap,"old-selected":T(d)(`old`,t.oldLineNumber),"new-selected":T(d)(`new`,t.newLineNumber),onOldMousedown:e=>T(l)(`old`,t.oldLineNumber),onOldMouseenter:e=>T(u)(`old`,t.oldLineNumber),onNewMousedown:e=>T(l)(`new`,t.newLineNumber),onNewMouseenter:e=>T(u)(`new`,t.newLineNumber),onOldTap:e=>T(c)(`old`,t.oldLineNumber),onNewTap:e=>T(c)(`new`,t.newLineNumber)},null,8,[`line`,`tokens`,`selectable`,`wrap`,`old-selected`,`new-selected`,`onOldMousedown`,`onOldMouseenter`,`onNewMousedown`,`onNewMouseenter`,`onOldTap`,`onNewTap`]),r.length>0||T(p)(t)?(a(),b(_n,{key:0,comments:r,readonly:!e.commentsEditable,"show-new-form":T(p)(t),"pending-line-range":T(s),"new-draft-key":`new:diff`,"submit-new":T(m),onCancelNew:T(h)},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`,`submit-new`,`onCancelNew`])):S(``,!0)],64))),128))]),_:2},1040))),128))])):S(``,!0)}}),[[`__scopeId`,`data-v-ddb53b13`]]);function zn(e){let t=x(null);return g([()=>E(e.lines),()=>E(e.isBinary),()=>E(e.loaded),()=>E(e.error),()=>E(e.deleted)],([e,n,r,i,a])=>{if(!r||i)return;let o=a?`deleted`:n?`binary`:e.length?`text`:`empty`;(t.value?.lines!==e||t.value.kind!==o)&&(t.value={lines:e,kind:o})},{immediate:!0}),t}var Bn=[`data-line-key`],Vn={class:`file-content-line__content`},Hn=q(F({__name:`FileContentLine`,props:{lineNumber:{},content:{},tokens:{},selected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`gutter-mousedown`,`gutter-mouseenter`,`gutter-tap`],setup(e,{emit:t}){let n=e,r=t,i=Qt(()=>{n.selectable&&r(`gutter-tap`)});function o(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,n)=>(a(),A(`div`,{class:D([`file-content-line row no-wrap text-mono`,{"file-content-line--wrap":e.wrap,"file-content-line--selectable":e.selectable}]),"data-line-key":`full:${e.lineNumber}`},[N(`span`,{class:D([`file-content-line__gutter`,{"file-content-line__gutter--selectable":e.selectable,"file-content-line__gutter--selected":e.selected}]),onPointerdown:n[0]||=e=>T(i).down(e,void 0),onPointerup:n[1]||=(...e)=>T(i).up&&T(i).up(...e),onPointercancel:n[2]||=(...e)=>T(i).cancel&&T(i).cancel(...e),onMousedown:n[3]||=e=>T(i).mouseAllowed()&&r(`gutter-mousedown`),onMouseenter:n[4]||=e=>r(`gutter-mouseenter`)},f(e.lineNumber),35),N(`span`,Vn,[e.tokens?(a(!0),A(M,{key:0},I(e.tokens,(e,t)=>(a(),A(`span`,{key:t,style:u({color:o(e)})},f(e.content),5))),128)):(a(),A(M,{key:1},[w(f(e.content||` `),1)],64))])],10,Bn))}}),[[`__scopeId`,`data-v-73905679`]]),Un=300;function Wn(e,t){let n=je(),r=x(null),i=k(!1),a=k(!1),o=!1,s;function c(){s?.abort(),s=void 0}let l=O(()=>{let t=E(e);return t&&Qe(t.path)?t:null}),u=O(()=>{let e=l.value;return e?C(e.key):null});g(u,()=>{c(),r.value=null,o=!1});function d(e){r.value=e,o=!0,i.value=!0}g(()=>[u.value,E(t)&&n()],async([e,t])=>{if(!t){c();return}let n=l.value;if(!e||!n||o||s)return;let a=Xe(e);if(a!==void 0){d(a);return}let u=new AbortController;s=u;let f;try{f=await Ye(e,n.path,n.lines,u.signal,e=>{u.signal.aborted||r.value&&e.length<=r.value.length||(r.value=e,i.value=!0)},n.documents)}catch{f=null}u.signal.aborted||f===void 0||(s=void 0,d(f))},{immediate:!0});let f=O(()=>E(t)&&!i.value&&l.value!==null),p;function m(){clearTimeout(p),p=void 0}return g(f,e=>{m(),e&&!a.value&&(p=setTimeout(()=>{a.value=!0},Un))},{immediate:!0}),te(()=>{c(),m()}),{tokens:r,holdForTokens:O(()=>f.value&&!a.value)}}function Gn(e){let t=Jt(),n=St(),r=jn({path:e.path,commentable:e.commentable,pending:t,mode:`full`,lines:()=>Cn(E(e.lines)),commit:e=>{t.value=e}});async function i(i){let a=r.ownAnchor.value;a&&(await n.create({filePath:E(e.path),lineType:null,lineNumber:a.startKey,lineNumberEnd:a.endKey,content:i}),t.reset())}function a(){t.reset()}return{...r,submitNewComment:i,cancelNewComment:a}}function Kn(e){let t=Jt();kn({mode:`full`,fresh:e.fresh,valid:t=>$(t,Cn(E(e.lines)))===`valid`,commit:e=>{t.value=e.anchor},rejected:e.rejected})}function qn(e){let t=Ue(()=>E(e.commentable));return{...Pn({rows:O(()=>{let t=Y(E(e.comments)??[]);return E(e.lines).map((e,n)=>({line:e,index:n,lineNumber:n+1,comments:t.get(n+1)??[]}))}),rowHeight:t,owner:e.lines,wrap:e.wrap,commentsEditable:e.commentsEditable,hasForm:t=>bn(E(e.anchor),`full`,t.lineNumber)}),rowHeight:t}}var Jn={key:1,class:`file-content-view`},Yn=q(F({__name:`FileContentView`,props:{path:{},lines:{},commentable:{type:Boolean},comments:{},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,{tokens:n,holdForTokens:o}=Wn(()=>{let e=t.lines;return e.length===0?null:{key:e,path:t.path,lines:()=>e}},!0),{ownAnchor:s,pendingLineRange:c,handleTap:l,handleMousedown:d,handleMouseenter:f,isSelected:p,submitNewComment:m,cancelNewComment:h}=Gn({path:()=>t.path,lines:()=>t.lines,commentable:()=>t.commentable}),{grouping:g,segments:y,rowHeight:x}=qn({lines:()=>t.lines,comments:()=>t.comments,commentsEditable:()=>t.commentsEditable,commentable:()=>t.commentable,wrap:()=>t.wrap,anchor:s});return(t,C)=>T(o)?(a(),A(`div`,{key:0,class:`row justify-center items-start q-pa-lg`,style:u({minHeight:`${e.lines.length*T(x)}px`})},[v(ce,{color:`primary`,size:`2em`})],4)):(a(),A(`div`,Jn,[(a(!0),A(M,null,I(T(y),t=>(a(),b(i(T(g).segmented?rn:`div`),r({key:t.start},{ref_for:!0},T(g).segmented?t.props:{}),{default:_(()=>[(a(!0),A(M,null,I(t.rows,({line:t,index:r,lineNumber:i,comments:o})=>(a(),A(M,{key:r},[v(Hn,{"line-number":i,content:t,tokens:T(n)?.[r],selectable:e.commentable,selected:T(p)(`full`,i),wrap:e.wrap,onGutterMousedown:e=>T(d)(`full`,i),onGutterMouseenter:e=>T(f)(`full`,i),onGutterTap:e=>T(l)(`full`,i)},null,8,[`line-number`,`content`,`tokens`,`selectable`,`selected`,`wrap`,`onGutterMousedown`,`onGutterMouseenter`,`onGutterTap`]),o.length>0||T(s)?.endKey===i?(a(),b(_n,{key:0,comments:o,readonly:!e.commentsEditable,"show-new-form":T(s)?.endKey===i,"pending-line-range":T(c),"new-draft-key":`new:full`,"submit-new":T(m),onCancelNew:T(h)},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`,`submit-new`,`onCancelNew`])):S(``,!0)],64))),128))]),_:2},1040))),128))]))}}),[[`__scopeId`,`data-v-93eaf11b`]]),Xn={key:0,class:`row justify-center q-pa-lg`},Zn={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},Qn={key:2,class:`text-caption text-grey-6 q-pa-md`},$n={key:3,class:`text-caption text-grey-6 q-pa-md q-mb-none`},er=F({__name:`DiffFileFullView`,props:{path:{},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsEditable:{type:Boolean},wrap:{type:Boolean}},emits:[`content-version`],setup(e,{emit:t}){let n=e,r=t,{t:i}=U(),{lines:o,isBinary:s,loading:c,loaded:l,error:u,fetchContent:p}=Ke({cache:!0});g(()=>n.path,e=>{p(e,`WORKTREE`)},{immediate:!0});let m=Te([`files:changed`],()=>{p(n.path,`WORKTREE`)});d(()=>m.close());let h=$e(),_=O(()=>h.unstagedFiles.some(e=>e.status===`deleted`&&J(e)===n.path)),y=R();Kn({lines:()=>_.value?[]:o.value,fresh:()=>l.value&&!c.value&&!u.value,rejected:()=>y.notify({type:`warning`,message:i(`workspace.selectionChanged`)})});let x=zn({lines:o,isBinary:s,loaded:l,error:u,deleted:_});return g(x,e=>{e&&r(`content-version`,e)},{immediate:!0}),(t,n)=>T(c)&&T(o).length===0&&!T(u)?(a(),A(`div`,Xn,[v(ce,{color:`primary`,size:`2em`})])):_.value?(a(),A(`p`,Zn,f(T(i)(`changes.fullFileDeleted`)),1)):T(u)?(a(),A(`div`,Qn,[w(f(T(i)(`changes.fullFileLoadError`))+` `,1),N(`div`,null,f(T(u)),1)])):T(s)?(a(),A(`p`,$n,f(T(i)(`changes.binaryFile`)),1)):(a(),b(Yn,{key:4,path:e.path,lines:T(o),commentable:e.commentable,"comments-editable":e.commentsEditable,comments:e.comments,wrap:e.wrap},null,8,[`path`,`lines`,`commentable`,`comments-editable`,`comments`,`wrap`]))}}),tr={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function nr(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)&&rr(e)}),t.observer.observe(e,t.opts))}function rr(e){let t=e.__qmutation;t!==void 0&&(t.observer?.disconnect(),e.__qmutation=void 0)}var ir=ie({name:`mutation`,mounted(e,{modifiers:{once:t,...n},value:r}){let i={once:t,opts:Object.keys(n).length===0?tr:n};nr(e,i,r),e.__qmutation=i},updated(e,{oldValue:t,value:n}){if(t!==n){let t=e.__qmutation;t!==void 0&&nr(e,t,n)}},beforeUnmount:rr}),ar={class:`horizontal-scroll-body`},or=[`tabindex`,`aria-label`],sr=q(F({__name:`HorizontalScrollBody`,props:{label:{},resetKey:{}},setup(r){let i=r,o=j(`viewport`),s=j(`bar`),c=k(0),l=k(!1),d=k(0),f=!1,m=!0,h=0;function _(){let e=o.value;e&&!f&&m&&(c.value=e.scrollWidth,l.value=e.scrollWidth>e.clientWidth+1,l.value&&e.scrollWidth>d.value&&(d.value=e.scrollWidth))}g(()=>i.resetKey??[],async(e,t)=>{if(Ce(e,t))return;let r=++h;f=!0,d.value=0,await n(),m&&r===h&&(f=!1,_(),await n(),m&&r===h&&y(o.value,s.value))}),g([c,l],()=>y(o.value,s.value),{flush:`post`});function y(e,t){e&&t&&t.scrollLeft!==e.scrollLeft&&(t.scrollLeft=e.scrollLeft)}return e(()=>{m=!1,h++}),(e,n)=>(a(),A(`div`,ar,[p((a(),A(`div`,{ref_key:`viewport`,ref:o,class:`horizontal-scroll-body__viewport`,tabindex:l.value?0:void 0,role:`group`,"aria-label":r.label,onScroll:n[0]||=e=>y(o.value,s.value)},[N(`div`,{class:`horizontal-scroll-body__content`,style:u(d.value?{"--content-width":`${d.value}px`}:void 0)},[t(e.$slots,`default`,{},void 0,!0)],4),v(He,{debounce:0,onResize:_})],40,or)),[[ir,_,void 0,{childList:!0,subtree:!0,characterData:!0}]]),p(N(`div`,{ref_key:`bar`,ref:s,class:`horizontal-scroll-body__bar`,"aria-hidden":`true`,tabindex:`-1`,onScroll:n[1]||=e=>y(s.value,o.value)},[N(`div`,{style:u({width:`${c.value}px`,height:`1px`})},null,4)],544),[[re,l.value]])]))}}),[[`__scopeId`,`data-v-a1552724`]]),cr={role:`alert`},lr={class:`text-caption`},ur=F({__name:`LoadErrorBanner`,props:{title:{},message:{},loading:{type:Boolean}},emits:[`retry`],setup(e,{emit:t}){let n=t,{t:r}=U();return(t,i)=>(a(),b(Ee,{dense:``,class:`bg-negative text-white`,role:`none`},{action:_(()=>[v(V,{flat:``,dense:``,color:`white`,label:T(r)(`changes.retry`),loading:e.loading,onClick:i[0]||=e=>n(`retry`)},null,8,[`label`,`loading`])]),default:_(()=>[N(`div`,cr,[w(f(e.title)+` `,1),N(`div`,lr,f(e.message),1)])]),_:1}))}}),dr={key:0,class:`text-caption text-grey-6 q-pa-md q-mb-none`},fr={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},pr=q(F({__name:`DiffFileCardBody`,props:{file:{},path:{},viewMode:{},wrap:{type:Boolean},hunkTokens:{},hunksState:{default:`ready`},hunksFresh:{type:Boolean,default:!0},hunksError:{default:void 0},holdForTokens:{type:Boolean,default:!1},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,o=t,{t:s}=U(),c=R(),l=O(()=>n.hunksState===`ready`&&n.holdForTokens),d=O(()=>n.comments.filter(e=>e.lineType!==null)),p=O(()=>n.comments.filter(e=>e.lineType===null)),m=Kt(),h=Ue(()=>n.commentable),g=x(null);Nn({hunks:()=>n.file.hunks,fresh:()=>n.hunksFresh&&n.viewMode===`diff`,rejected:()=>c.notify({type:`warning`,message:s(`workspace.selectionChanged`)})});let y=O(()=>{if(n.commentsOnly)return[];let e=mt(d.value);return n.file.hunks.map(t=>{let r=Be({start:0,rows:t.lines},{comments:t=>ht(t,e),hasForm:e=>xn(m.value,e),owner:t,wrap:n.wrap,commentsEditable:!!n.commentsEditable,slot:`hunk`,rowHeight:h.value,cacheHeight:!1});return{...r,queued:!1,minHeight:Ve(t,r.minHeight)}})});return(t,n)=>(a(),b(sr,{class:`diff-file-card__body`,label:e.path,"reset-key":[e.path,e.viewMode,e.wrap,e.viewMode===`full`?g.value:e.file]},{default:_(()=>[e.viewMode===`full`?(a(),b(er,{key:0,path:e.path,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:p.value,wrap:e.wrap,onContentVersion:n[0]||=e=>g.value=e},null,8,[`path`,`commentable`,`comments-editable`,`comments`,`wrap`])):(a(),A(M,{key:1},[e.file.isBinary?(a(),A(`p`,dr,f(T(s)(`changes.binaryFile`)),1)):e.hunksState===`loading`||l.value?(a(),A(`div`,{key:1,class:`diff-file-card__loading row flex-center`,style:u({minHeight:`${e.loadingHeight}px`})},[v(ce,{size:`md`,color:`grey-6`,"aria-label":T(s)(`changes.hunksLoading`)},null,8,[`aria-label`])],4)):(a(),A(M,{key:2},[e.hunksState===`error`?(a(),b(ur,{key:0,title:T(s)(`changes.hunksLoadError`),message:e.hunksError??``,loading:!1,onRetry:n[1]||=e=>o(`retry-hunks`)},null,8,[`title`,`message`])):e.file.hunks.length===0?(a(),A(`p`,fr,f(T(s)(`changes.noTextChanges`)),1)):S(``,!0)],64)),(a(!0),A(M,null,I(l.value?[]:e.file.hunks,(t,n)=>(a(),b(i(e.commentsOnly?`div`:rn),r({key:`${t.oldStart}:${t.newStart}`},{ref_for:!0},y.value[n]??{}),{default:_(()=>[v(Rn,{path:e.path,hunk:t,"line-tokens":e.hunkTokens?.[n]??null,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:d.value,"comments-only":e.commentsOnly,wrap:e.wrap},null,8,[`path`,`hunk`,`line-tokens`,`commentable`,`comments-editable`,`comments`,`comments-only`,`wrap`])]),_:2},1040))),128))],64))]),_:1},8,[`label`,`reset-key`]))}}),[[`__scopeId`,`data-v-135d36f6`]]),mr=F({__name:`CopyButton`,props:{value:{},tooltip:{}},setup(t){let n=t,r=k(!1),{registerTimeout:i}=ae(),o=0;function s(){o++,r.value=!1}e(s),c(s);async function l(){let e=o;try{if(await Re(n.value),e!==o)return;r.value=!0,i(()=>{r.value=!1},ze)}catch{}}return(e,n)=>p((a(),b(V,{class:`app-icon-control`,flat:``,dense:``,round:``,size:`sm`,color:r.value?`positive`:void 0,icon:r.value?T(ke).done:T(ke).copy,"aria-label":t.tooltip,onClick:L(l,[`stop`])},{default:_(()=>[v(H,{delay:T(500)},{default:_(()=>[w(f(t.tooltip),1)]),_:1},8,[`delay`])]),_:1},8,[`color`,`icon`,`aria-label`])),[[z]])}}),hr={class:`file-card-header row items-center no-wrap`},gr={class:`file-card-header__name row items-center no-wrap`},_r={class:`ellipsis text-mono file-card-header__path`},vr=q(F({__name:`FileCardHeader`,props:{path:{}},setup(e){let{t:n}=U();return(r,i)=>(a(),A(`div`,hr,[t(r.$slots,`leading`,{},void 0,!0),N(`div`,gr,[N(`span`,_r,f(e.path),1),v(mr,{value:e.path,tooltip:T(n)(`common.copyPath`)},null,8,[`value`,`tooltip`]),t(r.$slots,`badges`,{},void 0,!0)]),v(Oe),t(r.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-28b34b1f`]]),yr=F({__name:`FileHeaderMenu`,props:m({path:{},diffSource:{},previewRef:{},fullFileToggle:{type:Boolean}},{modelValue:{type:Boolean,required:!0},modelModifiers:{},showFullFile:{type:Boolean,default:!1},showFullFileModifiers:{}}),emits:[`update:modelValue`,`update:showFullFile`],setup(e){let t=o(e,`modelValue`),n=o(e,`showFullFile`),r=e,{t:i}=U(),s=we(),c=Me(),l=O(()=>Ie(r.path??``)),u=Le();function d(){if(!r.path)return;let e=r.previewRef??(r.diffSource===`staged`?`INDEX`:`WORKTREE`);u.open(`markdown`,{type:`file`,path:r.path,ref:e},{title:`${r.path} · ${e}`})}function m(){r.path&&c({kind:`file`,path:r.path})}function h(){r.path&&r.diffSource&&c({kind:`diff`,source:r.diffSource,path:r.path})}return(r,o)=>p((a(),b(V,{class:`app-icon-control`,flat:``,round:``,dense:``,size:`sm`,icon:T(he),"aria-label":T(i)(`changes.fileActions`)},{default:_(()=>[v(Pe,null,{default:_(()=>[v(Ne,{dense:``,class:`agent-menu`},{default:_(()=>[e.fullFileToggle?p((a(),b(W,{key:0,clickable:``,onClick:o[0]||=e=>n.value=!n.value},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:n.value?T(ge):T(_e)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.showFullFile`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),p((a(),b(W,{clickable:``,onClick:o[1]||=e=>t.value=!t.value},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:t.value?T(ge):T(_e)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.wrapLines`)),1)]),_:1})]),_:1})),[[G]]),l.value&&e.path?p((a(),b(W,{key:1,clickable:``,onClick:d},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(pe)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`changes.previewMarkdown`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),T(s).enabled&&e.path?(a(),A(M,{key:2},[v(oe),e.diffSource?p((a(),b(W,{key:0,clickable:``,onClick:h},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(De)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`agent.context.addDiff`)),1)]),_:1})]),_:1})),[[G]]):S(``,!0),p((a(),b(W,{clickable:``,onClick:m},{default:_(()=>[v(K,{side:``},{default:_(()=>[v(B,{class:`app-icon-neutral`,name:T(De)},null,8,[`name`])]),_:1}),v(K,null,{default:_(()=>[w(f(T(i)(`agent.context.addFile`)),1)]),_:1})]),_:1})),[[G]])],64)):S(``,!0)]),_:1})]),_:1})]),_:1},8,[`icon`,`aria-label`])),[[z]])}}),br={class:`diff-file-card__status-section`},xr={class:`text-caption diff-file-card__stats`},Sr={class:`text-positive`},Cr={class:`text-negative q-ml-xs`},wr=q(F({__name:`DiffFileCardHeader`,props:m({path:{},status:{},additions:{},deletions:{},expanded:{type:Boolean},commentCount:{},fullFileToggle:{type:Boolean},agentSource:{},previewRef:{}},{showFullFile:{type:Boolean,required:!0},showFullFileModifiers:{},wrap:{type:Boolean,required:!0},wrapModifiers:{}}),emits:m([`toggle`],[`update:showFullFile`,`update:wrap`]),setup(e){let t={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},n=o(e,`showFullFile`),r=o(e,`wrap`),{t:i}=U(),s=R(),c=O(()=>Ae(s.screen.width));return(o,s)=>p((a(),b(W,{clickable:``,dense:``,class:`diff-file-card__header-item`,onClick:s[6]||=e=>o.$emit(`toggle`)},{default:_(()=>[v(vr,{path:e.path},{leading:_(()=>[v(B,{name:T(be),size:`xs`,class:D([`app-icon-neutral diff-file-card__chevron`,{"diff-file-card__chevron--expanded":e.expanded}])},null,8,[`name`,`class`])]),badges:_(()=>[v(at,{compact:``,count:e.commentCount},null,8,[`count`])]),default:_(()=>[e.fullFileToggle&&!c.value?(a(),A(`div`,{key:0,class:`diff-file-card__toggle-section`,onClick:s[1]||=L(()=>{},[`stop`])},[v(le,{modelValue:n.value,"onUpdate:modelValue":s[0]||=e=>n.value=e,"left-label":``,dense:``,size:`xs`,label:T(i)(`changes.showFullFile`)},null,8,[`modelValue`,`label`])])):S(``,!0),c.value&&e.agentSource?(a(),A(`div`,{key:1,class:`diff-file-card__file-actions row no-wrap items-center`,onClick:s[2]||=L(()=>{},[`stop`])},[v(it,{path:e.path,source:e.agentSource},null,8,[`path`,`source`])])):S(``,!0),N(`div`,br,[v(Fe,{color:t[e.status],outline:``,rounded:``},{default:_(()=>[w(f(T(i)(`changes.fileStatus.${e.status}`)),1)]),_:1},8,[`color`])]),N(`span`,xr,[N(`span`,Sr,`+`+f(e.additions),1),N(`span`,Cr,`-`+f(e.deletions),1)]),N(`div`,{onClick:s[5]||=L(()=>{},[`stop`])},[v(yr,{modelValue:r.value,"onUpdate:modelValue":s[3]||=e=>r.value=e,"show-full-file":n.value,"onUpdate:showFullFile":s[4]||=e=>n.value=e,"full-file-toggle":e.fullFileToggle&&c.value,path:e.path,"diff-source":e.agentSource,"preview-ref":n.value?`WORKTREE`:e.previewRef},null,8,[`modelValue`,`show-full-file`,`full-file-toggle`,`path`,`diff-source`,`preview-ref`])])]),_:1},8,[`path`])]),_:1})),[[z]])}}),[[`__scopeId`,`data-v-2472fd98`]]),Tr={class:`file-card-frame`},Er=q(F({__name:`FileCardFrame`,props:{stickyHeader:{type:Boolean}},setup(e){return(n,r)=>(a(),A(`div`,Tr,[N(`div`,{class:D([`file-card-frame__header`,{"file-card-frame__header--sticky":e.stickyHeader}])},[t(n.$slots,`header`,{},void 0,!0)],2),t(n.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-4e9fd541`]]);function Dr(e){if(!e.some(e=>e.preamble&&e.preamble.length>0))return{lines:e.flatMap(e=>e.lines.map(e=>e.content)),documents:void 0};let t=[],n=[];for(let r of e){let e=r.preamble??[];t.push(...e,...r.lines.map(e=>e.content)),n.push({length:e.length+r.lines.length,skip:e.length})}return{lines:t,documents:n}}function Or(e,t){let{tokens:n,holdForTokens:r}=Wn(()=>{let t=C(E(e));if(!t.hunks.some(e=>e.lines.length>0))return null;let n,r=()=>n??=Dr(t.hunks);return{key:t,path:J(t),lines:()=>r().lines,documents:()=>r().documents}},t);return{hunkTokens:O(()=>{let t=n.value;if(!t)return null;let r=0;return E(e).hunks.map(e=>{let n=t.slice(r,r+e.lines.length);return r+=e.lines.length,n})}),holdForTokens:r}}function kr(e){let t=k(!1),n=je();return g(()=>E(e.expanded),n=>{n||(t.value=!1,e.onCollapsed?.())}),g([()=>E(e.expanded)&&n()&&t.value&&!E(e.loaded)&&!E(e.error),()=>E(e.version)],([t])=>{t&&e.onNeeded()},{immediate:!0}),{bodyMounted:t}}var Ar=q(F({__name:`DiffFileCard`,props:{file:{},expanded:{type:Boolean},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},agentSource:{},previewRef:{},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 r=e,i=t,o=O(()=>J(r.file)),c=O(()=>r.detail??r.file),l=j(`frame`),u=st();async function d(){let e=l.value?.$el,t=e instanceof Element?u(e):null,a=r.expanded&&e instanceof Element&&t!==null&&ut(t,e);i(`toggle`),a&&(await n(),!r.expanded&&(t.scrollTop=dt(t,e)))}s(Wt,r.stateKey);let f=r.stateKey?{key:r.stateKey}:{local:!0},p=Q(`wrap`,()=>Yt(o.value),f),m=Q(`viewMode`,()=>`diff`,f);g(()=>r.file.status,e=>{e===`deleted`&&m.reset()},{immediate:!0});let h=Ue(()=>r.commentable),y=O(()=>_t(r.file,r.detail,h.value)),{bodyMounted:x}=kr({expanded:()=>r.expanded,loaded:()=>r.hunksLoaded,error:()=>r.hunksError,version:()=>r.file,onNeeded:()=>i(`load-hunks`),onCollapsed:()=>i(`clear-hunks-error`)}),C=O(()=>r.hunksLoaded?`ready`:r.hunksError?`error`:r.detail?`ready`:`loading`),{hunkTokens:w,holdForTokens:E}=Or(c,()=>r.expanded&&m.value===`diff`&&(r.detail!==void 0||r.hunksLoaded)),D=O({get:()=>m.value===`full`,set:e=>{e?(m.value=`full`,r.expanded||i(`expand`)):r.expanded&&(m.value=`diff`)}});return(t,n)=>(a(),b(Er,{id:`diff-file-${o.value}`,ref_key:`frame`,ref:l,"sticky-header":``,class:`diff-file-card`},{header:_(()=>[v(wr,{"show-full-file":D.value,"onUpdate:showFullFile":n[0]||=e=>D.value=e,wrap:T(p),"onUpdate:wrap":n[1]||=e=>ee(p)?p.value=e:null,path:o.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,"preview-ref":e.previewRef,onToggle:d},null,8,[`show-full-file`,`wrap`,`path`,`status`,`additions`,`deletions`,`expanded`,`comment-count`,`full-file-toggle`,`agent-source`,`preview-ref`])]),default:_(()=>[e.expanded?(a(),b(rn,{key:0,immediate:``,"min-height":y.value,onChange:n[3]||=e=>x.value=e},{default:_(()=>[v(pr,{file:c.value,path:o.value,"view-mode":T(m),wrap:T(p),"hunk-tokens":T(w),"hunks-state":C.value,"hunks-fresh":e.hunksLoaded,"hold-for-tokens":T(E),"hunks-error":e.hunksError,"loading-height":y.value,commentable:e.commentable,"comments-editable":e.commentsEditable,"comments-only":e.commentsOnly,comments:e.comments,onRetryHunks:n[2]||=e=>i(`retry-hunks`)},null,8,[`file`,`path`,`view-mode`,`wrap`,`hunk-tokens`,`hunks-state`,`hunks-fresh`,`hold-for-tokens`,`hunks-error`,`loading-height`,`commentable`,`comments-editable`,`comments-only`,`comments`])]),_:1},8,[`min-height`])):S(``,!0)]),_:1},8,[`id`]))}}),[[`__scopeId`,`data-v-b8dd565d`]]),jr={class:`status-switcher row q-gutter-x-sm`},Mr=F({__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:o}=U(),s=R();function c(e){e.value!==r.status&&s.dialog({title:o(`reviews.confirmStatusChange.title`),message:o(`reviews.confirmStatusChange.message`,{status:o(`reviews.status.${e.value}`)}),persistent:!0,ok:{label:o(`reviews.confirmStatusChange.ok`),color:`accent`},cancel:{label:o(`reviews.confirmStatusChange.cancel`),flat:!0}}).onOk(()=>{i(`change`,e.value)})}return(t,r)=>(a(),A(`div`,jr,[(a(),A(M,null,I(n,t=>v(V,{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:T(o)(`reviews.status.${t.value}`),onClick:e=>c(t)},null,8,[`outline`,`unelevated`,`color`,`label`,`onClick`])),64))]))}});export{st as C,ot as S,it as T,yt as _,vr as a,ft as b,Dn as c,Kt as d,Q as f,xt as g,Pt as h,yr as i,Yt as l,Bt as m,Ar as n,ur as o,Ut as p,Er as r,Yn as s,Mr as t,Jt as u,vt as v,at as w,lt as x,_t as y};
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,I as r,K as i,N as a,Nt as o,T as s,Z as c,_ as l,b as u,d,f,gt as p,ht as m,l as h,lt as g,p as _,r as v,y}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{o as b}from"./use-router-link-D7geCGQI.js";import{t as x}from"./QBtn-V3VXtJXi.js";import{a as S,c as C,i as w,o as T,s as E}from"./index-B1Bugudn.js";import{n as D}from"./vue-i18n.runtime-JOo8b7-t.js";import{n as O}from"./use-app-theme-DgC4ivPF.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./DialogHeader-BVrtb0Ri.js";import{o as j}from"./date-snFAXn1W.js";var M=new Map;function N(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function P(e,t){for(let n of e){let e=n.target,r=e.__qintersection;if(r===void 0||r.pool.observer!==t)continue;let i=r.handler(n);(i===!1||r.once===!0&&n.isIntersecting)&&(r.done=!0,i===!1&&(r.stopped=!0),R(e))}}function F(e,t){e.once=t,e.done===!0&&!t&&e.stopped!==!0&&(e.done=!1)}function I(e,t,n=null,r=`0px`,i=0){if(t.done===!0)return;let a=t.pool;if(a!==void 0){if(a.root===n&&a.rootMargin===r&&N(a.threshold,i))return;R(e)}let o=M.get(n);o===void 0&&(o=new Map,M.set(n,o));let s=`${r}|${i}`,c=o.get(s);c===void 0&&(c={root:n,rootMargin:r,threshold:i,key:s,count:0,observer:new IntersectionObserver(P,{root:n,rootMargin:r,threshold:i})},o.set(s,c)),c.count++,t.pool=c,e.__qintersection=t,c.observer.observe(e)}function L(e){let t=e.__qintersection;if(t===void 0)return;let{observer:n}=t.pool;n.unobserve(e),n.observe(e)}function R(e){let t=e.__qintersection;if(t===void 0)return;let n=t.pool;if(t.pool=void 0,e.__qintersection=void 0,--n.count===0){n.observer.disconnect();let e=M.get(n.root);e.delete(n.key),e.size===0&&M.delete(n.root)}else n.observer.unobserve(e)}function z(n){let r=g(!1),i=u(),o={handler(e){let t=e.isIntersecting;return r.value!==t&&(r.value=t),o.onIntersect?.(e)},once:!1,onIntersect:void 0,pool:void 0,done:!1,stopped:!1},s=null;function c(){s!==null&&(R(s),s=null)}let l=new e(()=>{let e=m(n)??{},t=b(e.target,i);if(F(o,e.once===!0),o.onIntersect=e.onIntersect,t!==s&&c(),e.disabled===!0||t===null){c();return}s=t,I(s,o,e.root??null,e.rootMargin??`0px`,e.threshold??0)});l.scheduler=()=>{l.run()},i===null?l.run():(a(()=>{l.run()}),t(c));function d(){s!==null&&L(s)}function f(){o.done=!0,o.stopped=!0,c(),l.stop()}return{isIntersecting:r,refresh:d,stop:f,refreshIntersection:d,stopIntersection:f}}var B=k(y({__name:`FilterDialog`,props:s({canReset:{type:Boolean},width:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:s([`prepare`,`reset`,`apply`],[`update:modelValue`]),setup(e){let t=i(e,`modelValue`),{t:a}=D(),{isDark:s}=O();return(i,u)=>(r(),d(C,{modelValue:t.value,"onUpdate:modelValue":u[2]||=e=>t.value=e,onBeforeShow:u[3]||=e=>i.$emit(`prepare`)},{default:c(()=>[l(E,{dark:p(s),class:`filter-dialog`,style:o({width:e.width})},{default:c(()=>[l(A,{title:p(a)(`common.filters.title`),"close-label":p(a)(`common.filters.close`)},null,8,[`title`,`close-label`]),l(T,{class:`filter-dialog__fields scroll column q-gutter-sm`},{default:c(()=>[n(i.$slots,`default`,{},void 0,!0)]),_:3}),l(S,{align:`right`},{default:c(()=>[l(x,{flat:``,label:p(a)(`common.filters.reset`),disable:!e.canReset,onClick:u[0]||=e=>i.$emit(`reset`)},null,8,[`label`,`disable`]),l(x,{flat:``,color:`primary`,label:p(a)(`common.filters.done`),onClick:u[1]||=e=>i.$emit(`apply`)},null,8,[`label`])]),_:1})]),_:3},8,[`dark`,`style`])]),_:3},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-5a8dfb0b`]]),V=[`aria-label`],H=y({__name:`TagFilterField`,props:s({options:{},allowCreate:{type:Boolean}},{tags:{required:!0},tagsModifiers:{},mode:{required:!0},modeModifiers:{}}),emits:[`update:tags`,`update:mode`],setup(e){let t=i(e,`tags`),n=i(e,`mode`),a=e,{t:o}=D(),{isDark:s}=O(),c=g(``),u=h(()=>a.options.filter(e=>e.toLocaleLowerCase().includes(c.value.toLocaleLowerCase())));return(i,a)=>(r(),_(v,null,[l(j,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,dark:p(s),options:u.value,label:p(o)(`common.filters.tags`),hint:e.options.length||e.allowCreate?void 0:p(o)(`common.filters.noTags`),"new-value-mode":e.allowCreate?`add-unique`:void 0,outlined:``,dense:``,multiple:``,"use-input":``,"use-chips":``,onFilter:a[1]||=(e,t)=>t(()=>{c.value=e})},null,8,[`modelValue`,`dark`,`options`,`label`,`hint`,`new-value-mode`]),t.value.length>1?(r(),_(`div`,{key:0,role:`radiogroup`,"aria-label":p(o)(`common.filters.tagMode`)},[l(w,{modelValue:n.value,"onUpdate:modelValue":a[2]||=e=>n.value=e,dark:p(s),val:`all`,label:p(o)(`common.filters.allTags`)},null,8,[`modelValue`,`dark`,`label`]),l(w,{modelValue:n.value,"onUpdate:modelValue":a[3]||=e=>n.value=e,dark:p(s),val:`any`,label:p(o)(`common.filters.anyTag`)},null,8,[`modelValue`,`dark`,`label`])],8,V)):f(``,!0)],64))}});export{B as n,z as r,H as t};
1
+ import{$ as e,A as t,B as n,I as r,K as i,N as a,Nt as o,T as s,Z as c,_ as l,b as u,d,f,gt as p,ht as m,l as h,lt as g,p as _,r as v,y}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{o as b}from"./use-router-link-D7geCGQI.js";import{t as x}from"./QBtn-V3VXtJXi.js";import{a as S,c as C,i as w,o as T,s as E}from"./index-CstRcwnO.js";import{n as D}from"./vue-i18n.runtime-JOo8b7-t.js";import{n as O}from"./use-app-theme-Cp7uwqoM.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./DialogHeader-zLgPQKrk.js";import{o as j}from"./date-CGiGHbuG.js";var M=new Map;function N(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function P(e,t){for(let n of e){let e=n.target,r=e.__qintersection;if(r===void 0||r.pool.observer!==t)continue;let i=r.handler(n);(i===!1||r.once===!0&&n.isIntersecting)&&(r.done=!0,i===!1&&(r.stopped=!0),R(e))}}function F(e,t){e.once=t,e.done===!0&&!t&&e.stopped!==!0&&(e.done=!1)}function I(e,t,n=null,r=`0px`,i=0){if(t.done===!0)return;let a=t.pool;if(a!==void 0){if(a.root===n&&a.rootMargin===r&&N(a.threshold,i))return;R(e)}let o=M.get(n);o===void 0&&(o=new Map,M.set(n,o));let s=`${r}|${i}`,c=o.get(s);c===void 0&&(c={root:n,rootMargin:r,threshold:i,key:s,count:0,observer:new IntersectionObserver(P,{root:n,rootMargin:r,threshold:i})},o.set(s,c)),c.count++,t.pool=c,e.__qintersection=t,c.observer.observe(e)}function L(e){let t=e.__qintersection;if(t===void 0)return;let{observer:n}=t.pool;n.unobserve(e),n.observe(e)}function R(e){let t=e.__qintersection;if(t===void 0)return;let n=t.pool;if(t.pool=void 0,e.__qintersection=void 0,--n.count===0){n.observer.disconnect();let e=M.get(n.root);e.delete(n.key),e.size===0&&M.delete(n.root)}else n.observer.unobserve(e)}function z(n){let r=g(!1),i=u(),o={handler(e){let t=e.isIntersecting;return r.value!==t&&(r.value=t),o.onIntersect?.(e)},once:!1,onIntersect:void 0,pool:void 0,done:!1,stopped:!1},s=null;function c(){s!==null&&(R(s),s=null)}let l=new e(()=>{let e=m(n)??{},t=b(e.target,i);if(F(o,e.once===!0),o.onIntersect=e.onIntersect,t!==s&&c(),e.disabled===!0||t===null){c();return}s=t,I(s,o,e.root??null,e.rootMargin??`0px`,e.threshold??0)});l.scheduler=()=>{l.run()},i===null?l.run():(a(()=>{l.run()}),t(c));function d(){s!==null&&L(s)}function f(){o.done=!0,o.stopped=!0,c(),l.stop()}return{isIntersecting:r,refresh:d,stop:f,refreshIntersection:d,stopIntersection:f}}var B=k(y({__name:`FilterDialog`,props:s({canReset:{type:Boolean},width:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:s([`prepare`,`reset`,`apply`],[`update:modelValue`]),setup(e){let t=i(e,`modelValue`),{t:a}=D(),{isDark:s}=O();return(i,u)=>(r(),d(C,{modelValue:t.value,"onUpdate:modelValue":u[2]||=e=>t.value=e,onBeforeShow:u[3]||=e=>i.$emit(`prepare`)},{default:c(()=>[l(E,{dark:p(s),class:`filter-dialog`,style:o({width:e.width})},{default:c(()=>[l(A,{title:p(a)(`common.filters.title`),"close-label":p(a)(`common.filters.close`)},null,8,[`title`,`close-label`]),l(T,{class:`filter-dialog__fields scroll column q-gutter-sm`},{default:c(()=>[n(i.$slots,`default`,{},void 0,!0)]),_:3}),l(S,{align:`right`},{default:c(()=>[l(x,{flat:``,label:p(a)(`common.filters.reset`),disable:!e.canReset,onClick:u[0]||=e=>i.$emit(`reset`)},null,8,[`label`,`disable`]),l(x,{flat:``,color:`primary`,label:p(a)(`common.filters.done`),onClick:u[1]||=e=>i.$emit(`apply`)},null,8,[`label`])]),_:1})]),_:3},8,[`dark`,`style`])]),_:3},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-5a8dfb0b`]]),V=[`aria-label`],H=y({__name:`TagFilterField`,props:s({options:{},allowCreate:{type:Boolean}},{tags:{required:!0},tagsModifiers:{},mode:{required:!0},modeModifiers:{}}),emits:[`update:tags`,`update:mode`],setup(e){let t=i(e,`tags`),n=i(e,`mode`),a=e,{t:o}=D(),{isDark:s}=O(),c=g(``),u=h(()=>a.options.filter(e=>e.toLocaleLowerCase().includes(c.value.toLocaleLowerCase())));return(i,a)=>(r(),_(v,null,[l(j,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,dark:p(s),options:u.value,label:p(o)(`common.filters.tags`),hint:e.options.length||e.allowCreate?void 0:p(o)(`common.filters.noTags`),"new-value-mode":e.allowCreate?`add-unique`:void 0,outlined:``,dense:``,multiple:``,"use-input":``,"use-chips":``,onFilter:a[1]||=(e,t)=>t(()=>{c.value=e})},null,8,[`modelValue`,`dark`,`options`,`label`,`hint`,`new-value-mode`]),t.value.length>1?(r(),_(`div`,{key:0,role:`radiogroup`,"aria-label":p(o)(`common.filters.tagMode`)},[l(w,{modelValue:n.value,"onUpdate:modelValue":a[2]||=e=>n.value=e,dark:p(s),val:`all`,label:p(o)(`common.filters.allTags`)},null,8,[`modelValue`,`dark`,`label`]),l(w,{modelValue:n.value,"onUpdate:modelValue":a[3]||=e=>n.value=e,dark:p(s),val:`any`,label:p(o)(`common.filters.anyTag`)},null,8,[`modelValue`,`dark`,`label`])],8,V)):f(``,!0)],64))}});export{B as n,z as r,H as t};
@@ -1,4 +1,4 @@
1
- import{A as e,D as t,I as n,N as r,Nt as i,Y as a,Z as o,_ as s,d as c,f as l,gt as u,l as d,lt as f,p,q as m,r as h,u as g,y as _,z as v}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{_ as ee,v as te}from"./use-router-link-D7geCGQI.js";import{t as ne}from"./QInput-BnqLJGXl.js";import{t as y}from"./QBtn-V3VXtJXi.js";import{b as re}from"./index-B1Bugudn.js";import{n as b}from"./vue-i18n.runtime-JOo8b7-t.js";import{Bt as ie,a as ae,l as x,o as oe,s as S}from"./mdi-Du7sIqtH.js";import{I as se,k as ce}from"./agent-store-Cs-hu1v1.js";import{o as le,t as C}from"./terminal-store-i7HHlWzR.js";import{i as ue}from"./use-server-events-CvcbsbIf.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as fe}from"./QScrollArea-qf2G1s2r.js";import{n as pe}from"./use-workspace-navigation-Dq-Aw8Xq.js";var me=Object.defineProperty,w=Object.getOwnPropertyDescriptor,he=(e,t)=>{for(var n in t)me(e,n,{get:t[n],enumerable:!0})},T=(e,t,n,r)=>{for(var i=r>1?void 0:r?w(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&me(t,n,i),i},E=(e,t)=>(n,r)=>t(n,r,e),ge=`Terminal input`,D={get:()=>ge,set:e=>ge=e},_e=`Too much output to announce, navigate to rows manually to read`,ve={get:()=>_e,set:e=>_e=e};function ye(e){return e.replace(/\r?\n/g,`\r`)}function be(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function xe(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Se(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ce(e.clipboardData.getData(`text/plain`),t,n,r)}function Ce(e,t,n,r){e=ye(e),e=be(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function we(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Te(e,t,n,r,i){we(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ee(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function De(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Oe=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ke=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Ae=``,je=` `,Me=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ne}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ne=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Pe=class e extends Me{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ne,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ee(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Fe=`di$target`,Ie=`di$dependencies`,Le=new Map;function Re(e){return e[Ie]||[]}function O(e){if(Le.has(e))return Le.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ze(t,e,r)};return t._id=e,Le.set(e,t),t}function ze(e,t,n){t[Fe]===t?t[Ie].push({id:e,index:n}):(t[Ie]=[{id:e,index:n}],t[Fe]=t)}var k=O(`BufferService`),Be=O(`CoreMouseService`),Ve=O(`CoreService`),He=O(`CharsetService`),Ue=O(`InstantiationService`),We=O(`LogService`),A=O(`OptionsService`),Ge=O(`OscLinkService`),Ke=O(`UnicodeService`),qe=O(`DecorationService`),Je=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Pe,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Ye(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};Je=T([E(0,k),E(1,A),E(2,Ge)],Je);function Ye(e,t){if(confirm(`Do you want to navigate to ${t}?
1
+ import{A as e,D as t,I as n,N as r,Nt as i,Y as a,Z as o,_ as s,d as c,f as l,gt as u,l as d,lt as f,p,q as m,r as h,u as g,y as _,z as v}from"./runtime-core.esm-bundler-DDnHUoIy.js";import{_ as ee,v as te}from"./use-router-link-D7geCGQI.js";import{t as ne}from"./QInput-BnqLJGXl.js";import{t as y}from"./QBtn-V3VXtJXi.js";import{b as re}from"./index-CstRcwnO.js";import{n as b}from"./vue-i18n.runtime-JOo8b7-t.js";import{Bt as ie,a as ae,l as x,o as oe,s as S}from"./mdi-Du7sIqtH.js";import{I as se,k as ce}from"./agent-store-BV2OAJzn.js";import{o as le,t as C}from"./terminal-store-CDMBoz3b.js";import{i as ue}from"./use-server-events-CvcbsbIf.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as fe}from"./QScrollArea-qf2G1s2r.js";import{n as pe}from"./use-workspace-navigation-BX_9XPWm.js";var me=Object.defineProperty,w=Object.getOwnPropertyDescriptor,he=(e,t)=>{for(var n in t)me(e,n,{get:t[n],enumerable:!0})},T=(e,t,n,r)=>{for(var i=r>1?void 0:r?w(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&me(t,n,i),i},E=(e,t)=>(n,r)=>t(n,r,e),ge=`Terminal input`,D={get:()=>ge,set:e=>ge=e},_e=`Too much output to announce, navigate to rows manually to read`,ve={get:()=>_e,set:e=>_e=e};function ye(e){return e.replace(/\r?\n/g,`\r`)}function be(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function xe(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Se(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ce(e.clipboardData.getData(`text/plain`),t,n,r)}function Ce(e,t,n,r){e=ye(e),e=be(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function we(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Te(e,t,n,r,i){we(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ee(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function De(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Oe=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ke=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Ae=``,je=` `,Me=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ne}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ne=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Pe=class e extends Me{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ne,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ee(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Fe=`di$target`,Ie=`di$dependencies`,Le=new Map;function Re(e){return e[Ie]||[]}function O(e){if(Le.has(e))return Le.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ze(t,e,r)};return t._id=e,Le.set(e,t),t}function ze(e,t,n){t[Fe]===t?t[Ie].push({id:e,index:n}):(t[Ie]=[{id:e,index:n}],t[Fe]=t)}var k=O(`BufferService`),Be=O(`CoreMouseService`),Ve=O(`CoreService`),He=O(`CharsetService`),Ue=O(`InstantiationService`),We=O(`LogService`),A=O(`OptionsService`),Ge=O(`OscLinkService`),Ke=O(`UnicodeService`),qe=O(`DecorationService`),Je=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Pe,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Ye(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};Je=T([E(0,k),E(1,A),E(2,Ge)],Je);function Ye(e,t){if(confirm(`Do you want to navigate to ${t}?
2
2
 
3
3
  WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var Xe=O(`CharSizeService`),Ze=O(`CoreBrowserService`),Qe=O(`MouseService`),$e=O(`RenderService`),et=O(`SelectionService`),tt=O(`CharacterJoinerService`),nt=O(`ThemeService`),rt=O(`LinkProviderService`),it=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ut.isErrorNoTelemetry(e)?new ut(e.message+`
4
4
 
@@ -1 +1 @@
1
- import{m as e,t}from"./mermaid-parser.core-BBj_ep7Z.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-oBChb5qS.js";import"./chunk-O7XYJQB3-CtGXf4J6.js";import{n as i,r as a,t as o}from"./chunk-GTNCS2PH-DIfN1SOI.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-DP4USVSM.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{m as e,t}from"./mermaid-parser.core-kANV9P4V.js";import{n}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as r}from"./src-oBChb5qS.js";import"./chunk-O7XYJQB3-oJNN75W6.js";import{n as i,r as a,t as o}from"./chunk-GTNCS2PH-BfITava8.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";import"./mermaid.core-ImeEME4Y.js";var c=e().RailroadAbnf.parser.LangiumParser,l=n(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=n(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=n(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=n(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=n(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=n(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=n(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:n(e=>{o.clear(),r.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(e);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new t(n);let i=n.value;r.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),r.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};