@tequila99/githuman 0.4.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/cli/index.js +27 -2
- package/dist/cli/server-runtime.js +1 -0
- package/dist/server/app.js +22 -1
- package/dist/server/errors/terminal.js +4 -0
- package/dist/server/hooks/terminal/local-origin.js +25 -0
- package/dist/server/routes/app-info.js +5 -2
- package/dist/server/routes/terminal.js +63 -0
- package/dist/server/services/terminal/backend.js +216 -0
- package/dist/server/services/terminal/channel.js +200 -0
- package/dist/server/services/terminal/escape-tail.js +93 -0
- package/dist/server/services/terminal/processes.js +115 -0
- package/dist/server/services/terminal/prompt-tracker.js +15 -0
- package/dist/server/services/terminal/registry.js +167 -0
- package/dist/server/services/terminal/session.js +238 -0
- package/dist/server/services/terminal/socket.js +74 -0
- package/dist/server/services/terminal/tokens.js +32 -0
- package/dist/shared/app/schemas.js +5 -1
- package/dist/shared/terminal/constants.js +27 -0
- package/dist/shared/terminal/schemas.js +114 -0
- package/dist/shared/terminal/types.js +1 -0
- package/dist/web/assets/{AppPage-BYrCfRnC.js → AppPage-D_OHhrKS.js} +2 -2
- package/dist/web/assets/CreateReviewFabButton-B737aIvn.js +1 -0
- package/dist/web/assets/ErrorNotFound-jc5_L_-4.js +1 -0
- package/dist/web/assets/IndexPage-DzlFTw_b.js +1 -0
- package/dist/web/assets/IndexPage-u_qqIPRL.css +1 -0
- package/dist/web/assets/MainLayout-DaSyo22r.js +8 -0
- package/dist/web/assets/MainLayout-DoniW026.css +1 -0
- package/dist/web/assets/QBadge-BY-jTQ8w.js +1 -0
- package/dist/web/assets/QBtn-Bgm40omM.js +1 -0
- package/dist/web/assets/QSelect-713AWDd_.js +1 -0
- package/dist/web/assets/QSpace-BLu5AyZv.css +1 -0
- package/dist/web/assets/QSpace-BVBU-0oC.js +17 -0
- package/dist/web/assets/ReviewDetailPage-CLM6aU4u.js +1 -0
- package/dist/web/assets/ReviewsPage-bllnaoOS.js +1 -0
- package/dist/web/assets/StatusSwitcher-BZ4FYVnY.js +2 -0
- package/dist/web/assets/{StatusSwitcher-DLU1h0rK.css → StatusSwitcher-BxRuEHHQ.css} +1 -1
- package/dist/web/assets/TerminalView-B11UHZv3.css +1 -0
- package/dist/web/assets/TerminalView-Ci9CNTyY.js +19 -0
- package/dist/web/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
- package/dist/web/assets/{abnfDiagram-O67JEVCF-dyvffE6R.js → abnfDiagram-O67JEVCF-4qpB0CGh.js} +1 -1
- package/dist/web/assets/agent-store-DIma0R4U.js +1 -0
- package/dist/web/assets/app-info-store-BzsJOxVc.js +1 -0
- package/dist/web/assets/architecture-7GRP2DOG-DG6nf_hE.js +1 -0
- package/dist/web/assets/{architectureDiagram-NJMV4G6O-Dk-QthCI.js → architectureDiagram-NJMV4G6O-CEL-_i5O.js} +1 -1
- package/dist/web/assets/{blockDiagram-BEXU5L5S-sF48dzNS.js → blockDiagram-BEXU5L5S-bMrUf1GU.js} +1 -1
- package/dist/web/assets/{c4Diagram-YGBWAQC7-BWrux-0F.js → c4Diagram-YGBWAQC7-C54mp6dl.js} +1 -1
- package/dist/web/assets/channel-CS4rbjhf.js +1 -0
- package/dist/web/assets/chunk-3FUC2YCW-BtIughAT.js +2 -0
- package/dist/web/assets/{chunk-5DYCD2WN-CpgXf7LJ.js → chunk-5DYCD2WN-BhyMEDuJ.js} +1 -1
- package/dist/web/assets/{chunk-742MDFTN-BGzG-dZE.js → chunk-742MDFTN-8MczzxE2.js} +1 -1
- package/dist/web/assets/{chunk-7INBJB4K-DJGc-gqS.js → chunk-7INBJB4K-BdS9oIIG.js} +1 -1
- package/dist/web/assets/{chunk-7M6MHVWA-CYIOaZel.js → chunk-7M6MHVWA-BU5_UwaZ.js} +1 -1
- package/dist/web/assets/{chunk-7PRAP22T-CJZNYL51.js → chunk-7PRAP22T-BaAw-gEj.js} +1 -1
- package/dist/web/assets/{chunk-GTNCS2PH-DOYGHmMk.js → chunk-GTNCS2PH-DNpH8E_x.js} +1 -1
- package/dist/web/assets/{chunk-GWA4HPMP-RIikrSw1.js → chunk-GWA4HPMP-BvG5tXy2.js} +1 -1
- package/dist/web/assets/{chunk-MBY4JIJT-ZSssyEJi.js → chunk-MBY4JIJT-B8XJMHG2.js} +1 -1
- package/dist/web/assets/{chunk-NETBCI7D-3tnHEq90.js → chunk-NETBCI7D-ClCXW1dx.js} +1 -1
- package/dist/web/assets/{chunk-O7XYJQB3-CDFTy-aQ.js → chunk-O7XYJQB3-BNcB0oiZ.js} +1 -1
- package/dist/web/assets/{chunk-UA2S7LBM-B8rY8Yj-.js → chunk-UA2S7LBM-CS5CtIsj.js} +1 -1
- package/dist/web/assets/{chunk-WEXAMYUT-BdPY0e7q.js → chunk-WEXAMYUT-CJaZJWKF.js} +1 -1
- package/dist/web/assets/{chunk-Z7XXMR3K-Br_E149D.js → chunk-Z7XXMR3K-DP2k1Ci5.js} +1 -1
- package/dist/web/assets/{chunk-ZIGJFQKS-DDjPFexL.js → chunk-ZIGJFQKS-y4KHfdEv.js} +1 -1
- package/dist/web/assets/{classDiagram-v2-NBCMYWYE-D9kneDxy.js → classDiagram-v2-NBCMYWYE-C-kWcloV.js} +1 -1
- package/dist/web/assets/create-CSUVwdx4.js +1 -0
- package/dist/web/assets/{cynefin-OW5HDTMX-Dot1PBqs.js → cynefin-OW5HDTMX-C3AwH_vU.js} +1 -1
- package/dist/web/assets/{cynefinDiagram-VND7K2PF-6uYi0u-j.js → cynefinDiagram-VND7K2PF-DYF_CoB8.js} +1 -1
- package/dist/web/assets/{dagre-6A5THRUB-BDM5YkfJ.js → dagre-6A5THRUB-DWCEmsd1.js} +1 -1
- package/dist/web/assets/debounce-rZaFFwsz.js +1 -0
- package/dist/web/assets/{diagram-22UHCM2B-DxE0D8WB.js → diagram-22UHCM2B-oBFhSpao.js} +1 -1
- package/dist/web/assets/{diagram-3UASUU5V-CuD1fcFQ.js → diagram-3UASUU5V-Cj9rB07y.js} +1 -1
- package/dist/web/assets/{diagram-ATOU4E4O-DX6enGgq.js → diagram-ATOU4E4O-D4H9BqUQ.js} +1 -1
- package/dist/web/assets/{diagram-CDSNMT55-eLqOiVoC.js → diagram-CDSNMT55-qLgJBiIs.js} +1 -1
- package/dist/web/assets/{diagram-MLGK6HIB-DtIMj5y1.js → diagram-MLGK6HIB-Bhhvtx0A.js} +1 -1
- package/dist/web/assets/{diagram-MPIPVDR6-lYcwsjHR.js → diagram-MPIPVDR6-O4wokd54.js} +1 -1
- package/dist/web/assets/{ebnfDiagram-ZINNZB2B-CGmBWaKx.js → ebnfDiagram-ZINNZB2B-BRU7SszO.js} +1 -1
- package/dist/web/assets/{elk-276RUBZZ-B1ntUD9z.js → elk-276RUBZZ-r0X8f7Sv.js} +1 -1
- package/dist/web/assets/{erDiagram-OPXOYQCR-Dqzoldin.js → erDiagram-OPXOYQCR-DbgjsGkX.js} +1 -1
- package/dist/web/assets/eventmodeling-NTZA5JFV-1Q8-FsiO.js +1 -0
- package/dist/web/assets/flowDiagram-KWPJA3E3-BbwsRPsv.js +1 -0
- package/dist/web/assets/{ganttDiagram-FUAMR5RP-CF6kJAoY.js → ganttDiagram-FUAMR5RP-BwhUglGo.js} +1 -1
- package/dist/web/assets/{gitGraph-4MIJSDKK-CUzcGxMa.js → gitGraph-4MIJSDKK-DA11BsSo.js} +1 -1
- package/dist/web/assets/{gitGraphDiagram-X574FWY7-D-XNa6f2.js → gitGraphDiagram-X574FWY7-BdG7d-11.js} +1 -1
- package/dist/web/assets/i18n-D1K2AGeW.js +1 -0
- package/dist/web/assets/index-BatRsx0U.css +1 -0
- package/dist/web/assets/index-DuCIKkvf.js +2 -0
- package/dist/web/assets/{info-A6RAGUB7-CH4SNmU8.js → info-A6RAGUB7-BxzfvGqu.js} +1 -1
- package/dist/web/assets/{infoDiagram-VRGFBTTK-35AKnD7M.js → infoDiagram-VRGFBTTK-veq817ut.js} +1 -1
- package/dist/web/assets/init-app-DKRVN8HV.js +1 -0
- package/dist/web/assets/{is-BB7rJzdU.js → is-EbmiuVzv.js} +1 -1
- package/dist/web/assets/{ishikawaDiagram-OU5B5YK6-D41YBWSb.js → ishikawaDiagram-OU5B5YK6-DMuzkArR.js} +1 -1
- package/dist/web/assets/{journeyDiagram-ZHPQQLJL-CZF6Wwk8.js → journeyDiagram-ZHPQQLJL-Cqj0kbKe.js} +1 -1
- package/dist/web/assets/{kanban-definition-PNTS6WVX-CVGaUle0.js → kanban-definition-PNTS6WVX-DUvral0v.js} +1 -1
- package/dist/web/assets/{line-CeH4KBRO.js → line-DcLaUOyJ.js} +1 -1
- package/dist/web/assets/{mermaid-parser.core-YrU9LTTJ.js → mermaid-parser.core-CY7nVQ2O.js} +3 -3
- package/dist/web/assets/{mermaid.core-BkLEn5Vh.js → mermaid.core-Cz083qmW.js} +4 -4
- package/dist/web/assets/{mindmap-definition-NLK3R4M7-D22lxuXn.js → mindmap-definition-NLK3R4M7--Twjhxcv.js} +1 -1
- package/dist/web/assets/{packet-AYTQ26CC-DMK0BdeB.js → packet-AYTQ26CC-Csf3Pf50.js} +1 -1
- package/dist/web/assets/{pegDiagram-GJSIUBJH-B-e5e5cW.js → pegDiagram-GJSIUBJH-vVjFUYc4.js} +1 -1
- package/dist/web/assets/{pie-WAS4IAKB-BYP5ND4b.js → pie-WAS4IAKB-CyUE71ZQ.js} +1 -1
- package/dist/web/assets/{pieDiagram-5QR66LMP-DrEY0oA_.js → pieDiagram-5QR66LMP-CV24sdEs.js} +1 -1
- package/dist/web/assets/pinia-UjhgYLzw.js +1 -0
- package/dist/web/assets/pinia-ri8AYppz.js +1 -0
- package/dist/web/assets/{quadrantDiagram-O4NWA36T-D12UM_7Y.js → quadrantDiagram-O4NWA36T-GVAUaTqf.js} +1 -1
- package/dist/web/assets/{radar-RG4KPBEZ-50JpTuMu.js → radar-RG4KPBEZ-D7YGMFYX.js} +1 -1
- package/dist/web/assets/{railroad-74A4TZTK-C-7jDcYE.js → railroad-74A4TZTK-BYsDf4cg.js} +1 -1
- package/dist/web/assets/railroad-abnf-HS5TGJTU-Bg7f5Sbu.js +1 -0
- package/dist/web/assets/railroad-ebnf-LZEXJU2U-ufUodNib.js +1 -0
- package/dist/web/assets/railroad-peg-WCYAUIDC-YvUtEf_g.js +1 -0
- package/dist/web/assets/{railroadDiagram-XR7U4H2S-q0-o99ts.js → railroadDiagram-XR7U4H2S-DOyP7Y6B.js} +1 -1
- package/dist/web/assets/{requirementDiagram-PLB6GJNP-DsO-Ejin.js → requirementDiagram-PLB6GJNP-C2CJ05_O.js} +1 -1
- package/dist/web/assets/runtime-core.esm-bundler-CF89Lyp2.js +1 -0
- package/dist/web/assets/{safe-storage-DRouskD4.js → safe-storage-BpHrcFXl.js} +1 -1
- package/dist/web/assets/{sankeyDiagram-IPEJSGJF-Ct9goD-6.js → sankeyDiagram-IPEJSGJF-rYUTxo-7.js} +1 -1
- package/dist/web/assets/{sequenceDiagram-PO4LG4MO-BMO_A2FU.js → sequenceDiagram-PO4LG4MO-Dy-NGv9K.js} +1 -1
- package/dist/web/assets/{stateDiagram-v2-GCMORJYK-BSzg0zQp.js → stateDiagram-v2-GCMORJYK-_uEXf3B4.js} +1 -1
- package/dist/web/assets/{swimlanes-2SLR337P-CcmfFMci.js → swimlanes-2SLR337P-CcejXyI9.js} +1 -1
- package/dist/web/assets/swimlanesDiagram-TC7HE7FX-I9_cJ2VX.js +8 -0
- package/dist/web/assets/theme-Dv0yhgRD.js +1 -0
- package/dist/web/assets/{timeline-definition-EJHVYXUP-0dcHdY2G.js → timeline-definition-EJHVYXUP-CSry3jW1.js} +1 -1
- package/dist/web/assets/{treeView-Q6P3EWNA-KynQIJ_Z.js → treeView-Q6P3EWNA-CUCgNMVi.js} +1 -1
- package/dist/web/assets/{treemap-WGGIJYW6-DPpYRzcH.js → treemap-WGGIJYW6-BtG_xZt4.js} +1 -1
- package/dist/web/assets/use-app-theme-CSRcIN0e.js +1 -0
- package/dist/web/assets/use-panel-width-DNg6NE2M.js +1 -0
- package/dist/web/assets/use-server-events-CYiRauy1.js +1 -0
- package/dist/web/assets/use-virtual-scroll-DTEGubei.js +1 -0
- package/dist/web/assets/{usecaseDiagram-POWQR4AR-DJBtB_eN.js → usecaseDiagram-POWQR4AR-BY2X6VR2.js} +1 -1
- package/dist/web/assets/{vennDiagram-UO4OBE2U-BgllcrO_.js → vennDiagram-UO4OBE2U-D-khbRsr.js} +1 -1
- package/dist/web/assets/{vue-i18n.runtime-D0pkhc7g.js → vue-i18n.runtime-BTqPc4vG.js} +2 -2
- package/dist/web/assets/{wardley-WFR3VGLG-D2Je-cZt.js → wardley-WFR3VGLG-BwwTtxgX.js} +1 -1
- package/dist/web/assets/{wardleyDiagram-VNRHLVJA-B7ktegci.js → wardleyDiagram-VNRHLVJA-N4eN_Mx8.js} +1 -1
- package/dist/web/assets/{xychartDiagram-PMCCYNJV-DL7WkDZI.js → xychartDiagram-PMCCYNJV-Bp3do5lv.js} +1 -1
- package/dist/web/index.html +7 -7
- package/package.json +11 -3
- package/dist/web/assets/CreateReviewFabButton-UdzUa_ra.js +0 -1
- package/dist/web/assets/ErrorNotFound-BAP3n0aC.js +0 -1
- package/dist/web/assets/IndexPage-BtoeYBg2.js +0 -1
- package/dist/web/assets/IndexPage-D894ONbY.css +0 -1
- package/dist/web/assets/MainLayout-ChxXEt_Q.css +0 -1
- package/dist/web/assets/MainLayout-DjoItVv0.js +0 -7
- package/dist/web/assets/QBtn-BDbJU6_B.js +0 -1
- package/dist/web/assets/QMenu-Bh-SjGqz.js +0 -1
- package/dist/web/assets/QSelect-CZqAOLiG.js +0 -1
- package/dist/web/assets/ReviewDetailPage-DvDoJ37c.js +0 -1
- package/dist/web/assets/ReviewsPage-CHUXLKKw.js +0 -1
- package/dist/web/assets/StatusSwitcher-Br_8-_CT.js +0 -2
- package/dist/web/assets/agent-icon-BUd-vCRS.css +0 -1
- package/dist/web/assets/agent-icon-Bc3evt8o.js +0 -17
- package/dist/web/assets/agent-store-FOng_RxK.js +0 -1
- package/dist/web/assets/app-info-store-xZiQfdgO.js +0 -1
- package/dist/web/assets/architecture-7GRP2DOG-JRGyT2Fi.js +0 -1
- package/dist/web/assets/channel-C9BIu6HY.js +0 -1
- package/dist/web/assets/chunk-3FUC2YCW-DM9oDQ0E.js +0 -2
- package/dist/web/assets/create-BkZH2Q0U.js +0 -1
- package/dist/web/assets/debounce-CDIE7CV6.js +0 -1
- package/dist/web/assets/eventmodeling-NTZA5JFV-DblBuyVi.js +0 -1
- package/dist/web/assets/flowDiagram-KWPJA3E3-D5iLm5ip.js +0 -1
- package/dist/web/assets/i18n-DvBemXXT.js +0 -1
- package/dist/web/assets/index-Bn7ByP7x.js +0 -2
- package/dist/web/assets/index-CgeU6Wuu.css +0 -1
- package/dist/web/assets/init-app-C4PeiqQX.js +0 -1
- package/dist/web/assets/pinia-DB8WAJFa.js +0 -1
- package/dist/web/assets/pinia-DmTi2T44.js +0 -1
- package/dist/web/assets/railroad-abnf-HS5TGJTU-Bf3pkLrz.js +0 -1
- package/dist/web/assets/railroad-ebnf-LZEXJU2U-f10AkgiO.js +0 -1
- package/dist/web/assets/railroad-peg-WCYAUIDC-C4FjCCVf.js +0 -1
- package/dist/web/assets/runtime-core.esm-bundler-CUpq88z7.js +0 -1
- package/dist/web/assets/single-flight-r8B7stt1.js +0 -1
- package/dist/web/assets/swimlanesDiagram-TC7HE7FX-DLq4WqTk.js +0 -8
- package/dist/web/assets/theme-DQpF6lSZ.js +0 -1
- package/dist/web/assets/use-app-theme-B1Vh5WKT.js +0 -1
- package/dist/web/assets/use-panel-width-Cs_K2M_v.js +0 -1
- package/dist/web/assets/use-virtual-scroll-BVHTKnoC.js +0 -1
package/dist/web/assets/{wardleyDiagram-VNRHLVJA-B7ktegci.js → wardleyDiagram-VNRHLVJA-N4eN_Mx8.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./mermaid-parser.core-
|
|
1
|
+
import{n as e}from"./mermaid-parser.core-CY7nVQ2O.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as n}from"./src-oBChb5qS.js";import{D as r,H as i,U as a,a as o,b as s,c,q as l,v as u,w as d,x as f,y as p}from"./chunk-O7XYJQB3-BNcB0oiZ.js";import{i as m}from"./chunk-ZIGJFQKS-y4KHfdEv.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{a as g}from"./mermaid.core-Cz083qmW.js";var _=t((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=t((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=t(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=t(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=t((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:t(async t=>{let r=await e(`wardley`,t);n.debug(r);let i=S.parser?.yy;if(!i||typeof i.addNode!=`function`)throw Error(`parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.`);x(r,i)},`parse`)},C=new class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{t(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}};function w(){return f()[`wardley-beta`]}t(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}t(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}t(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}t(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}t(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}t(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}t(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}t(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}t(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}t(N,`setSize`);function P(e){C.startPipeline(e)}t(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}t(F,`addPipelineComponent`);function I(e){C.setAxes(e)}t(I,`updateAxes`);function L(e){return C.getNode(e)}t(L,`getNode`);function R(e){return C.resolveNodeId(e)}t(R,`resolveNodeId`);function z(){return C.build()}t(z,`getWardleyData`);function B(){C.clear(),o()}t(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:a,getAccTitle:p,setDiagramTitle:l,getDiagramTitle:d,getAccDescription:u,setAccDescription:i},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=t(()=>{let{themeVariables:e}=f();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=t(()=>{let e=f()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:t((e,r,i,a)=>{n.debug(`Rendering Wardley map
|
|
2
2
|
`+e);let o=W(),s=U(),l=o.nodeRadius*1.6,u=a.db,d=u.getWardleyData(),f=u.getDiagramTitle(),p=d.size?.width??o.width,m=d.size?.height??o.height,h=g(r);h.selectAll(`*`).remove(),c(h,m,p,o.useMaxWidth),h.attr(`viewBox`,`0 0 ${p} ${m}`);let _=h.append(`g`).attr(`class`,`wardley-map`),v=h.append(`defs`);v.append(`marker`).attr(`id`,`arrow-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,`auto-start-reverse`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.evolutionStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-end-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),v.append(`marker`).attr(`id`,`link-arrow-start-${r}`).attr(`viewBox`,`0 0 10 10`).attr(`refX`,1).attr(`refY`,5).attr(`markerWidth`,5).attr(`markerHeight`,5).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 10 0 L 0 5 L 10 10 z`).attr(`fill`,s.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,p).attr(`height`,m).attr(`fill`,s.backgroundColor);let y=p-o.padding*2,b=m-o.padding*2;f&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,p/2).attr(`y`,o.padding/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let x=t(e=>o.padding+e/100*y,`projectX`),S=t(e=>m-o.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,o.padding).attr(`x2`,o.padding).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1);let w=d.axes.xLabel??`Evolution`,T=d.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,o.padding+y/2).attr(`y`,m-o.padding/4).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,o.padding/3).attr(`y`,o.padding+b/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${o.padding/3} ${o.padding+b/2})`).text(T);let E=d.axes.stages&&d.axes.stages.length>0?d.axes.stages:H;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=d.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=o.padding+i.start*y,c=(a+(o.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,c).attr(`y`,m-o.padding/1.5).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(o.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=o.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,o.padding).attr(`y2`,m-o.padding).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,m-o.padding-b*n).attr(`y2`,m-o.padding-b*n).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(d.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),d.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);d.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:d.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,c=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),c=t.y)}),i!==1/0&&a!==-1/0){let t=o.nodeRadius*4,r=c-t/2,u=D.get(n.nodeId);u&&(u.x=(i+a)/2,u.y=r-l/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;d.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=d.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.x+i/s*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.y+a/s*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.x+i/s*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.y+a/s*r}).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${r})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${r})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,s.axisTextColor).attr(`font-size`,o.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=d.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,s=Math.sqrt(i*i+a*a),c=o.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:s>c?n-i/s*c:n,adjustedY2:s>c?r-a/s*c:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,s.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${r})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(d.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1);let F=o.nodeRadius*.7,I=o.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-l/2).attr(`y`,e=>D.get(e.id).y-l/2).attr(`width`,l).attr(`height`,l).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y+n/2}).attr(`stroke`,s.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?s.evolutionStroke:e.className===`anchor`?`#000`:s.componentLabelColor).attr(`font-size`,o.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),d.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(d.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),d.annotationsBox){let t=x(d.annotationsBox.x),n=S(d.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...d.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,c=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();c=Math.max(c,i.height)});let l=e+20+105,u=i.length*16+20+c/2,d=o.padding,f=p-o.padding-l,h=o.padding,g=m-o.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(h,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,l).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(d.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);d.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(d.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);d.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
|
|
3
3
|
M ${n} ${r-15}
|
|
4
4
|
L ${n+60-20} ${r-15}
|
package/dist/web/assets/{xychartDiagram-PMCCYNJV-DL7WkDZI.js → xychartDiagram-PMCCYNJV-Bp3do5lv.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,U as i,a,b as o,c as s,f as c,q as l,v as u,w as d,y as f,z as p}from"./chunk-O7XYJQB3-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,U as i,a,b as o,c as s,f as c,q as l,v as u,w as d,y as f,z as p}from"./chunk-O7XYJQB3-BNcB0oiZ.js";import{t as m}from"./linear-BUnzfXgk.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-ZIGJFQKS-y4KHfdEv.js";import{t as v}from"./line-DcLaUOyJ.js";import"./chunk-742MDFTN-8MczzxE2.js";import{t as y}from"./chunk-MBY4JIJT-B8XJMHG2.js";import{a as b}from"./mermaid.core-Cz083qmW.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],O=[1,65],k=[26,28],A={trace:e(function(){},`trace`),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:`error`,5:`XYCHART`,8:`CHART_ORIENTATION`,10:`title`,12:`X_AXIS`,14:`Y_AXIS`,16:`LINE`,18:`BAR`,19:`acc_title`,20:`acc_title_value`,21:`acc_descr`,22:`acc_descr_value`,23:`acc_descr_multiline_value`,24:`SQUARE_BRACES_START`,26:`SQUARE_BRACES_END`,28:`COMMA`,29:`NUMBER_WITH_DECIMAL`,30:`STR`,33:`ARROW_DELIMITER`,36:`NEWLINE`,37:`SEMI`,38:`EOF`,40:`MD_STR`,42:`AMP`,43:`NUM`,44:`ALPHA`,45:`PLUS`,46:`EQUALS`,47:`MULT`,48:`DOT`,49:`BRKT`,50:`MINUS`,51:`UNDERSCORE`},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
2
|
`+h.showPosition()+`
|
|
3
3
|
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=``,this.conditionStack=[`INITIAL`],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},`setInput`),input:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var i=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError(`Lexical error on line `+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:``,token:null,line:this.yylineno});return this},`reject`),less:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
package/dist/web/index.html
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-
|
|
2
|
-
<link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-
|
|
1
|
+
<!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-DuCIKkvf.js"></script>
|
|
2
|
+
<link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-CF89Lyp2.js">
|
|
3
3
|
<link rel="modulepreload" crossorigin href="/assets/event-rR76ioXz.js">
|
|
4
|
-
<link rel="modulepreload" crossorigin href="/assets/create-
|
|
5
|
-
<link rel="modulepreload" crossorigin href="/assets/QBtn-
|
|
6
|
-
<link rel="modulepreload" crossorigin href="/assets/is-
|
|
7
|
-
<link rel="modulepreload" crossorigin href="/assets/debounce-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
4
|
+
<link rel="modulepreload" crossorigin href="/assets/create-CSUVwdx4.js">
|
|
5
|
+
<link rel="modulepreload" crossorigin href="/assets/QBtn-Bgm40omM.js">
|
|
6
|
+
<link rel="modulepreload" crossorigin href="/assets/is-EbmiuVzv.js">
|
|
7
|
+
<link rel="modulepreload" crossorigin href="/assets/debounce-rZaFFwsz.js">
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BatRsx0U.css">
|
|
9
9
|
</head><body><div id=q-app></div></body></html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tequila99/githuman",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Review AI agent code changes before commit — Vue edition",
|
|
5
5
|
"homepage": "https://github.com/tequila99/githuman#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -55,7 +55,11 @@
|
|
|
55
55
|
"@fastify/swagger": "^9.0.0",
|
|
56
56
|
"@fastify/swagger-ui": "^5.0.0",
|
|
57
57
|
"@fastify/type-provider-typebox": "^6.1.0",
|
|
58
|
+
"@fastify/websocket": "11.3.3",
|
|
59
|
+
"@lydell/node-pty": "1.2.0-beta.15",
|
|
58
60
|
"@sinclair/typebox": "^0.34.52",
|
|
61
|
+
"@xterm/addon-serialize": "0.14.0",
|
|
62
|
+
"@xterm/headless": "6.0.0",
|
|
59
63
|
"diff": "^5.2.0",
|
|
60
64
|
"fastify": "^5.0.0",
|
|
61
65
|
"fastify-plugin": "^5.0.0",
|
|
@@ -75,6 +79,9 @@
|
|
|
75
79
|
"@types/diff": "^5.2.0",
|
|
76
80
|
"@types/markdown-it": "^14.2.0",
|
|
77
81
|
"@types/node": "^22.19.11",
|
|
82
|
+
"@types/ws": "^8.18.2",
|
|
83
|
+
"@xterm/addon-fit": "0.11.0",
|
|
84
|
+
"@xterm/xterm": "6.0.0",
|
|
78
85
|
"autoprefixer": "^10.4.27",
|
|
79
86
|
"dompurify": "^3.4.16",
|
|
80
87
|
"markdown-it": "^15.0.2",
|
|
@@ -84,12 +91,13 @@
|
|
|
84
91
|
"oxlint-tsgolint": "^7.0.2001",
|
|
85
92
|
"pinia": "^4.0.2",
|
|
86
93
|
"postcss": "^8.5.8",
|
|
87
|
-
"quasar": "^2.
|
|
94
|
+
"quasar": "^2.34.0",
|
|
88
95
|
"typescript": "^6.0.0",
|
|
89
96
|
"vue": "^3.5.22",
|
|
90
97
|
"vue-i18n": "^11.3.0",
|
|
91
98
|
"vue-router": "^5.0.6",
|
|
92
|
-
"vue-tsc": "^3.3.3"
|
|
99
|
+
"vue-tsc": "^3.3.3",
|
|
100
|
+
"ws": "8.22.0"
|
|
93
101
|
},
|
|
94
102
|
"engines": {
|
|
95
103
|
"node": ">=24.0.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,G as t,H as n,J as r,N as i,P as a,S as o,Tt as s,_ as c,c as l,d as u,g as d,h as f,it as p,l as m,lt as h,nt as g,q as _,r as v,s as y,x as b,y as x}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as S,E as C,H as w,O as T,_ as E,d as D,h as O,j as k,k as A,t as j}from"./QBtn-BDbJU6_B.js";import{t as M}from"./create-BkZH2Q0U.js";import{J as N,K as ee,d as te,g as P,h as F,m as I,n as L,q as ne,y as re}from"./index-Bn7ByP7x.js";import{n as R}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as z,r as B}from"./pinia-DmTi2T44.js";import{i as V,l as H,s as U}from"./single-flight-r8B7stt1.js";import{m as W,o as G,s as K,v as q}from"./QMenu-Bh-SjGqz.js";import{a as J,i as Y,n as X,o as ie,r as ae}from"./AppPage-BYrCfRnC.js";var oe=d({__name:`SearchInput`,props:{modelValue:{},modelModifiers:{}},emits:[`update:modelValue`],setup(t){let r=n(t,`modelValue`);return(t,n)=>(i(),m(L,e({modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e},t.$attrs,{dense:``,outlined:``,clearable:``}),{prepend:_(()=>[f(D,{name:`search`,size:`xs`})]),_:1},16,[`modelValue`]))}}),se=[`top`,`right`,`bottom`,`left`],Z={type:{type:String,default:`a`},outline:Boolean,push:Boolean,flat:Boolean,unelevated:Boolean,color:String,textColor:String,glossy:Boolean,square:Boolean,padding:String,label:{type:[String,Number],default:``},labelPosition:{type:String,default:`right`,validator:e=>se.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]},ce=[`label`],le=Object.keys(Z).filter(e=>!ce.includes(e)&&j.props[e]!==void 0);function ue(e){let t={};for(let n of le)t[n]=e[n];return t}function de(e,t){return{formClass:y(()=>`q-fab--form-${e.square?`square`:`rounded`}`),stacked:y(()=>!e.externalLabel&&[`top`,`bottom`].includes(e.labelPosition)),labelProps:y(()=>{if(e.externalLabel){let n=e.hideLabel===null?!t.value:e.hideLabel;return{action:`push`,data:{class:[e.labelClass,`q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-${e.labelPosition}`+(n?` q-fab__label--external-hidden`:``)],style:e.labelStyle}}}return{action:[`left`,`top`].includes(e.labelPosition)?`unshift`:`push`,data:{class:[e.labelClass,`q-fab__label q-fab__label--internal q-fab__label--internal-${e.labelPosition}`+(e.hideLabel?` q-fab__label--internal-hidden`:``)],style:e.labelStyle}}})}}var fe=[`up`,`right`,`down`,`left`],pe=[`left`,`center`,`right`],me=180,Q=M({name:`QFab`,props:{...Z,...N,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...Z.hideLabel,default:null},direction:{type:String,default:`right`,validator:e=>fe.includes(e)},...K,persistent:Boolean,stagger:{type:Number,default:40},verticalActionsAlign:{type:String,default:`center`,validator:e=>pe.includes(e)}},emits:ne,setup(e,{slots:n}){let r=p(null),i=g(e.modelValue===!0),o=te(),s=C(),{formClass:c,stacked:l,labelProps:u}=de(e,i),d=y(()=>!e.persistent),{show:f,hide:m,toggle:h}=ee({showing:i,hideOnRouteChange:d}),_=0,{clearHoverTimer:v,hoverShow:b,hoverHide:S}=G({props:e,canShow:()=>!i.value,show:e=>{_=Date.now(),f(e)},canHide:()=>i.value,hide:m});t(i,v);function w(e){i.value&&Date.now()-_<me||h(e)}let T=y(()=>({opened:i.value})),k=y(()=>`q-fab z-fab row inline justify-center q-fab--align-${e.verticalActionsAlign} ${c.value}`+(i.value?` q-fab--opened`:` q-fab--closed`)),M=y(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${e.direction} q-fab__actions--${i.value?`opened`:`closed`}`),N=y(()=>e.hover?{onPointerenter:b,onPointerleave:S}:{}),P=y(()=>{let t={id:o.value,style:`--q-fab-stagger: ${e.stagger}ms`};return i.value||(t[`aria-hidden`]=`true`),t}),F=y(()=>`q-fab__icon-holder q-fab__icon-holder--${i.value?`opened`:`closed`}`);function I(t,r){let i=n[t],a=`q-fab__${t} absolute-full`;return i===void 0?x(D,{class:a,name:e[r]||s.iconSet.fab[r]}):x(`div`,{class:a},i(T.value))}function L(){let t=[];return e.hideIcon||t.push(x(`div`,{class:F.value},[I(`icon`,`icon`),I(`active-icon`,`activeIcon`)])),(e.label!==``||n.label!==void 0)&&t[u.value.action](x(`div`,u.value.data,n.label===void 0?[e.label]:n.label(T.value))),O(n.tooltip,t)}return a(A,{showing:i,onChildClick(e){m(e),e?.qAvoidFocus!==!0&&r.value?.$el.focus()}}),()=>x(`div`,{class:k.value,...N.value},[x(j,{ref:r,class:c.value,...ue(e),noWrap:!0,stack:l.value,noCaps:!0,fab:!0,"aria-expanded":i.value?`true`:`false`,"aria-controls":o.value,onClick:w},L),x(`div`,{class:M.value,...P.value},E(n.default))])}}),he={position:{type:String,default:`bottom-right`,validator:e=>[`top-right`,`top-left`,`bottom-right`,`bottom-left`,`top`,`right`,`bottom`,`left`].includes(e)},offset:{type:Array,validator:e=>e.length===2},expand:Boolean};function ge(){let{props:e}=c(),t=C(),n=b(k,T);if(n===T)return console.error(`QPageSticky needs to be child of QLayout`),T;let r=y(()=>{let t=e.position;return{top:t.includes(`top`),right:t.includes(`right`),bottom:t.includes(`bottom`),left:t.includes(`left`),vertical:t===`top`||t===`bottom`,horizontal:t===`left`||t===`right`}}),i=y(()=>n.header.offset),a=y(()=>n.right.offset),o=y(()=>n.footer.offset),s=y(()=>n.left.offset),l=y(()=>{let n=0,c=0,l=r.value,u=t.lang.rtl?-1:1;l.top&&i.value!==0?c=`${i.value}px`:l.bottom&&o.value!==0&&(c=`${-o.value}px`),l.left&&s.value!==0?n=`${u*s.value}px`:l.right&&a.value!==0&&(n=`${-u*a.value}px`);let d={transform:`translate(${n}, ${c})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),l.vertical?(s.value!==0&&(d[t.lang.rtl?`right`:`left`]=`${s.value}px`),a.value!==0&&(d[t.lang.rtl?`left`:`right`]=`${a.value}px`)):l.horizontal&&(i.value!==0&&(d.top=`${i.value}px`),o.value!==0&&(d.bottom=`${o.value}px`)),d}),u=y(()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${e.expand?`expand`:`shrink`}`);function d(t){let n=E(t.default);return x(`div`,{class:u.value,style:l.value},e.expand?n:[x(`div`,n)])}return{$layout:n,getStickyContent:d}}var _e=M({name:`QPageSticky`,props:he,setup(e,{slots:t}){let{getStickyContent:n}=ge();return()=>n(t)}});function ve(e){let t=new URLSearchParams;e.search&&t.set(`search`,e.search),e.createdFrom&&t.set(`createdFrom`,e.createdFrom),e.createdTo&&t.set(`createdTo`,e.createdTo),e.files&&e.files.length>0&&t.set(`files`,e.files.join(`,`));let n=t.toString();return n?`?${n}`:``}var $=z(`reviews`,()=>{let e=g([]),t=g(!1),n=g(null);async function r(r={}){t.value=!0,n.value=null;try{e.value=await U(`/api/reviews${ve(r)}`)}catch(t){e.value=[],n.value=V(t)}finally{t.value=!1}}async function i(t){let n=await H(`/api/reviews`,t);return e.value=[J(n),...e.value],n}return{reviews:e,loading:t,error:n,fetchReviews:r,createReview:i}}),ye={class:`text-h6`},be=S(d({__name:`ReviewCreateDialog`,props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:o([`created`,`hide`],[`update:modelValue`]),setup(e,{emit:t}){let a=n(e,`modelValue`),o=t,{t:c}=R(),u=$(),d=g(``),p=g(!1),v=g(null);function y(){d.value=``,p.value=!1,v.value=null}async function b(){p.value=!0,v.value=null;try{let e=d.value.trim(),t=await u.createReview(e?{name:e}:{});a.value=!1,y(),o(`created`,t)}catch(e){v.value=V(e)}finally{p.value=!1}}function x(){y(),o(`hide`)}return(e,t)=>(i(),m(re,{modelValue:a.value,"onUpdate:modelValue":t[1]||=e=>a.value=e,onHide:x},{default:_(()=>[f(P,{class:`review-create-dialog`},{default:_(()=>[f(F,null,{default:_(()=>[l(`div`,ye,s(h(c)(`reviews.create.title`)),1)]),_:1}),f(F,{class:`q-gutter-y-md`},{default:_(()=>[f(L,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dense:``,outlined:``,label:h(c)(`reviews.create.nameLabel`),hint:h(c)(`reviews.create.nameHint`),error:!!v.value,"error-message":v.value??void 0,onKeyup:w(b,[`enter`])},null,8,[`modelValue`,`label`,`hint`,`error`,`error-message`])]),_:1}),f(I,{align:`right`},{default:_(()=>[r(f(ae,null,null,512),[[W]]),f(X,{loading:p.value,onClick:b},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-095646d6`]]),xe=d({__name:`CreateReviewFabButton`,emits:[`created`],setup(e,{emit:t}){let n=t,a=Y(),o=ie(),{activeReview:s}=B(a),{changedPaths:c}=B(o),l=g(!1),d=g(!1),p=g([18,18]),m=g(!1),h=y(()=>c.value.length===0||s.value!==null);function b(e){m.value=e.isFirst!==!0&&e.isFinal!==!0,p.value=[p.value[0]-(e.delta?.x??0),p.value[1]-(e.delta?.y??0)]}function x(e){a.setActiveReview(e),n(`created`,e)}return(e,t)=>(i(),u(v,null,[f(_e,{position:`bottom-right`,offset:p.value},{default:_(()=>[r(f(Q,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,icon:`add`,color:`accent`,disable:h.value||m.value,onClick:t[1]||=e=>l.value=!0},null,8,[`modelValue`,`disable`]),[[q,b,void 0,{prevent:!0,mouse:!0}]])]),_:1},8,[`offset`]),f(be,{modelValue:l.value,"onUpdate:modelValue":t[2]||=e=>l.value=e,onCreated:x,onHide:t[3]||=e=>d.value=!1},null,8,[`modelValue`])],64))}});export{$ as n,oe as r,xe as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{N as e,c as t,d as n,h as r}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as i,t as a}from"./QBtn-BDbJU6_B.js";var o={},s={class:`fullscreen bg-blue text-white text-center q-pa-md flex flex-center`};function c(i,o){return e(),n(`div`,s,[t(`div`,null,[o[0]||=t(`div`,{style:{"font-size":`30vh`}},`404`,-1),o[1]||=t(`div`,{class:`text-h2`,style:{opacity:`0.4`}},`Oops. Nothing here...`,-1),r(a,{class:`q-mt-xl`,color:`white`,"text-color":`blue`,unelevated:``,to:`/`,label:`Go Home`,"no-caps":``})])])}var l=i(o,[[`render`,c]]);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,Ct as t,F as n,G as r,H as i,I as a,J as o,L as s,N as c,P as l,Q as u,S as d,Tt as f,c as p,d as m,g as h,h as g,it as _,j as v,l as y,lt as b,m as x,nt as S,q as C,r as w,s as T,u as E,w as D,wt as O,y as k}from"./runtime-core.esm-bundler-CUpq88z7.js";import{D as A,E as j,U as M,_ as N,d as P,h as F,o as I,s as L,t as R}from"./QBtn-BDbJU6_B.js";import{u as ee}from"./event-rR76ioXz.js";import{t as te}from"./create-BkZH2Q0U.js";import{_ as ne,d as re,p as z,t as ie,v as ae}from"./index-Bn7ByP7x.js";import{l as B,r as V,t as oe}from"./agent-icon-Bc3evt8o.js";import{n as H}from"./vue-i18n.runtime-D0pkhc7g.js";import{n as se,r as U}from"./pinia-DmTi2T44.js";import{i as ce,l as le,r as W,s as ue,t as de}from"./single-flight-r8B7stt1.js";import{t as fe}from"./agent-store-FOng_RxK.js";import{t as pe}from"./safe-storage-DRouskD4.js";import{d as G,f as me,h as K,p as q,v as he}from"./QMenu-Bh-SjGqz.js";import{r as ge}from"./use-virtual-scroll-BVHTKnoC.js";import{a as _e,i as ve,n as ye,o as be,t as xe}from"./use-panel-width-Cs_K2M_v.js";import{f as Se,i as J,m as Ce,o as Y,p as X,t as we}from"./AppPage-BYrCfRnC.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,m as je,n as Me,o as Ne,p as Pe,r as Fe,s as Ie,t as Le,u as Re}from"./StatusSwitcher-Br_8-_CT.js";import{r as ze,t as Be}from"./CreateReviewFabButton-UdzUa_ra.js";function Ve(e){return e.toSorted((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1).map(e=>({...e,children:e.children?Ve(e.children):void 0}))}function He(e,t){let n=[];for(let r of e){let e=r.split(`/`),i=n;for(let n=0;n<e.length;n++){let a=e[n];if(!a)continue;let o=n===e.length-1,s=e.slice(0,n+1).join(`/`),c=i.find(e=>e.name===a);c||(c={name:a,path:s,type:o?`file`:`directory`,isChanged:o?t.has(r):!1,children:o?void 0:[]},i.push(c)),!o&&c.children&&(i=c.children)}}return Ve(n)}function Ue(e,t){if(!t.trim())return e;let n=t.toLowerCase(),r=e=>{if(e.type===`file`)return e.path.toLowerCase().includes(n)?e:null;let t=e.children?.map(r).filter(e=>e!==null);return t&&t.length>0?{...e,children:t}:e.name.toLowerCase().includes(n)?e:null};return e.map(r).filter(e=>e!==null)}function We(){let e=S([]),t=S(!1),n=S(!1),r=S(null),i=T(()=>!n.value),a=0;async function o(i,o=[]){let s=++a;t.value=!0;try{let t=await ue(`/api/git/tree/${encodeURIComponent(i)}`);if(s!==a)return;e.value=He(t.files.map(Ce),new Set(o)),r.value=null}catch(e){if(s!==a)return;r.value=ce(e)}finally{s===a&&(t.value=!1,n.value=!0)}}function s(){++a,e.value=[],t.value=!1,n.value=!1,r.value=null}return{tree:e,loading:t,initialLoading:i,error:r,fetchTree:o,reset:s}}function Ge(e){return e.type===`file`?e.isChanged:e.children?.some(Ge)??!1}var Z=se(`file-explorer`,()=>{let e=Y(),{tree:t,initialLoading:n,error:i,fetchTree:a,reset:o}=We(),{lines:s,isBinary:c,loading:l,error:u,fetchContent:d,reset:f}=Pe(),p=S(`staged`),m=S(!1),h=S(``),g=S(null),_=S(new Set),v=S(new Set),y=S(null),b=S(0),x=T(()=>p.value===`staged`?e.stagedFiles:e.unstagedFiles),C=T(()=>{let e=(h.value??``).trim().toLowerCase();return e?x.value.filter(t=>X(t).toLowerCase().includes(e)):x.value}),w=T(()=>Ue(t.value,h.value??``)),E=T(()=>{let e=0,n=t=>{for(let r of t)r.type===`file`?e++:r.children&&n(r.children)};return n(t.value),e});r(t,e=>{let t=new Set,n=e=>{for(let r of e)r.type===`directory`&&r.children&&(Ge(r)&&t.add(r.path),n(r.children))};n(e),_.value=t},{immediate:!0}),r(p,()=>{g.value=null,v.value=new Set,y.value=null,b.value++}),r(g,e=>{if(m.value){if(!e){f();return}d(e,`WORKTREE`)}});function D(e){let t=new Set(_.value);t.has(e)?t.delete(e):t.add(e),_.value=t}function O(e){let t=new Set(v.value);t.has(e)?t.delete(e):t.add(e),v.value=t}function k(e){g.value=e,O(e)}function A(e){g.value=e,v.value.has(e)||(v.value=new Set(v.value).add(e))}function j(){v.value=new Set(x.value.map(X)),b.value++}function M(){v.value=new Set,b.value++}function N(e){if(g.value=e,m.value)return;v.value.has(e)||(v.value=new Set(v.value).add(e));let t=x.value.findIndex(t=>X(t)===e);t<0||(y.value={path:e,index:t,seq:(y.value?.seq??0)+1})}let P=0,F=S(!1),I=de(async()=>{F.value=!0;try{await e.fetchDiff(),m.value&&(await a(`WORKTREE`,e.changedPaths),g.value&&await d(g.value,`WORKTREE`))}finally{F.value=!1}});r(m,e=>{h.value=``,g.value=null,e?I():(o(),f())});async function L(){P=Date.now(),await I()}async function R(){Date.now()-P<400||await I()}return{source:p,browseMode:m,filter:h,selectedPath:g,expandedFolders:_,expandedFiles:v,scrollRequest:y,layoutVersion:b,tree:t,treeInitialLoading:n,treeError:i,refreshing:F,browseFileLines:s,browseFileIsBinary:c,browseFileLoading:l,browseFileError:u,diffFiles:x,filteredDiffFiles:C,filteredTree:w,totalTreeFiles:E,toggleFolder:D,toggleFileCard:O,handleCardToggle:k,expandFile:A,expandAllFiles:j,collapseAllFiles:M,selectFile:N,refresh:L,refreshFromServerEvent:R}}),Ke=te({name:`QSplitter`,props:{...ae,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:`%`,validator:e=>[`%`,`px`].includes(e)},limits:{type:Array,validator:e=>e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`?!1:e[0]>=0&&e[0]<=e[1]},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object],separatorAriaLabel:String},emits:[`update:modelValue`],setup(e,{slots:t,emit:n}){let i=j(),a=ne(e,i),s=_(null),c={before:_(null),after:_(null)},l=re(),u=T(()=>`q-splitter no-wrap ${e.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${e.disable?`disabled`:`workable`}`+(a()?` q-splitter--dark`:``)),d=T(()=>e.horizontal?`height`:`width`),f=T(()=>e.reverse?`after`:`before`),p=T(()=>e.limits===void 0?e.unit===`%`?[10,90]:[50,1/0]:e.limits);function m(t){return(e.unit===`%`?t:Math.round(t))+e.unit}let h=T(()=>({[f.value]:{[d.value]:m(e.modelValue)}})),g,v,y,b,x;function S(t){if(t.isFirst){let t=s.value.getBoundingClientRect()[d.value];g=e.horizontal?`up`:`left`,v=e.unit===`%`?100:t,y=Math.min(v,p.value[1],Math.max(p.value[0],e.modelValue)),b=(e.reverse?-1:1)*(e.horizontal?1:i.lang.rtl?-1:1)*(e.unit===`%`?t===0?0:100/t:1),s.value.classList.add(`q-splitter--active`);return}if(t.isFinal){x!==e.modelValue&&n(`update:modelValue`,x),s.value.classList.remove(`q-splitter--active`);return}let r=y+b*(t.direction===g?-1:1)*t.distance[e.horizontal?`y`:`x`];x=Math.min(v,p.value[1],Math.max(p.value[0],r)),c[f.value].value.style[d.value]=m(x),e.emitImmediately&&e.modelValue!==x&&n(`update:modelValue`,x)}let C=T(()=>[[he,e.disable?void 0:S,void 0,{[e.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),w=T(()=>{let t={role:`separator`,"aria-orientation":e.horizontal?`horizontal`:`vertical`,"aria-label":e.separatorAriaLabel||i.lang.label.resize};if(e.disable)t[`aria-disabled`]=`true`;else{let n=p.value;t.tabindex=0,t[`aria-controls`]=l.value,t[`aria-valuemin`]=n[0],n[1]!==1/0&&(t[`aria-valuemax`]=n[1]),t[`aria-valuenow`]=Math.round(e.modelValue*100)/100}return t}),E=null;function O(t){let{keyCode:r}=t,a=e.horizontal?[38,40]:[37,39];if(r!==13&&r!==36&&r!==35&&!a.includes(r))return;ee(t);let o=p.value,c=e.unit===`%`?100:s.value.getBoundingClientRect()[d.value],l;if(r===13)e.modelValue===o[0]?l=E===null?e.modelValue:E:(E=e.modelValue,l=o[0]);else if(r===36)l=o[0];else if(r===35)l=o[1];else{let t=(r===a[0]?-1:1)*(e.reverse?-1:1)*(e.horizontal?1:i.lang.rtl?-1:1);l=e.modelValue+t*(e.unit===`%`?1:10)}let u=Math.min(c,o[1],Math.max(o[0],l));u!==e.modelValue&&n(`update:modelValue`,u)}function A(e,t){e<t[0]?n(`update:modelValue`,t[0]):e>t[1]&&n(`update:modelValue`,t[1])}return r(()=>e.modelValue,e=>{A(e,p.value)}),r(()=>e.limits,()=>{D(()=>{A(e.modelValue,p.value)})}),()=>{let n=[k(`div`,{ref:c.before,id:f.value===`before`?l.value:void 0,class:[`q-splitter__panel q-splitter__before`+(e.reverse?` col`:``),e.beforeClass],style:h.value.before},N(t.before)),k(`div`,{class:[`q-splitter__separator`,e.separatorClass],style:e.separatorStyle,...w.value,onKeydown:e.disable?void 0:O},[o(k(`div`,{class:`q-splitter__separator-area absolute-full`},N(t.separator)),C.value)]),k(`div`,{ref:c.after,id:f.value===`after`?l.value:void 0,class:[`q-splitter__panel q-splitter__after`+(e.reverse?``:` col`),e.afterClass],style:h.value.after},N(t.after))];return k(`div`,{class:u.value,ref:s},F(t.default,n))}}}),qe=`githuman.fileListWidth`,Je=260,Q=220,$=600,Ye=A(h({__name:`PanelResize`,setup(e){let t=S(ye(qe,Q,$)??Je),n=T(()=>[Q,$]);function r(e){typeof e==`number`&&Number.isFinite(e)&&(t.value=xe(e,Q,$),pe.set(qe,String(t.value)))}return(e,i)=>(c(),y(Ke,{"model-value":t.value,limits:n.value,unit:`px`,class:`file-explorer`,"before-class":`file-explorer__panel`,"after-class":`file-explorer__content`,"onUpdate:modelValue":r},{before:C(()=>[a(e.$slots,`panel`,{},void 0,!0)]),after:C(()=>[a(e.$slots,`content`,{},void 0,!0)]),_:3},8,[`model-value`,`limits`]))}}),[[`__scopeId`,`data-v-65488178`]]),Xe={class:`row items-center no-wrap q-gutter-x-xs`},Ze={class:`row items-center no-wrap q-gutter-x-xs`},Qe=h({__name:`FileExplorerTabs`,props:d({stagedFilesLength:{},unstagedFilesLength:{}},{modelValue:{default:`staged`},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=i(e,`modelValue`),{t:n}=H();return(r,i)=>(c(),y(ve,{modelValue:t.value,"onUpdate:modelValue":i[0]||=e=>t.value=e,dense:``,"no-caps":``,align:`left`,"narrow-indicator":``,class:`text-primary q-mb-sm`},{default:C(()=>[g(_e,{name:`staged`},{default:C(()=>[p(`div`,Xe,[p(`span`,null,f(b(n)(`changes.staged`)),1),g(me,{color:`positive`,rounded:``},{default:C(()=>[x(f(e.stagedFilesLength),1)]),_:1})])]),_:1}),g(_e,{name:`unstaged`},{default:C(()=>[p(`div`,Ze,[p(`span`,null,f(b(n)(`changes.unstaged`)),1),g(me,{color:`warning`,rounded:``},{default:C(()=>[x(f(e.unstagedFilesLength),1)]),_:1})])]),_:1})]),_:1},8,[`modelValue`]))}}),$e={class:`file-tree-node`},et={class:`row items-center no-wrap q-gutter-x-xs`},tt=[`title`],nt=[`title`],rt={key:2},it=A(h({__name:`FileTreeNode`,props:{node:{},selectedPath:{},expandedFolders:{},level:{}},emits:[`toggle-folder`,`file-select`],setup(e,{emit:r}){let i=e,a=r,l=8+i.level*12;return(r,i)=>{let u=s(`FileTreeNode`,!0);return c(),m(`div`,$e,[e.node.type===`directory`?o((c(),y(G,{key:0,clickable:``,dense:``,style:O({paddingLeft:`${l}px`}),onClick:i[0]||=t=>a(`toggle-folder`,e.node.path)},{default:C(()=>[g(q,{avatar:``,class:`file-tree-node__icon-section`},{default:C(()=>[p(`div`,et,[g(P,{name:`chevron_right`,size:`xs`,class:t([`file-tree-node__chevron`,{"file-tree-node__chevron--expanded":e.expandedFolders.has(e.node.path)}])},null,8,[`class`]),g(P,{name:e.expandedFolders.has(e.node.path)?`folder_open`:`folder`,size:`xs`,color:`warning`},null,8,[`name`])])]),_:1}),g(q,{class:`text-mono`},{default:C(()=>[p(`div`,{class:`ellipsis file-tree-node__label`,title:e.node.path},f(e.node.name),9,tt)]),_:1}),e.node.children?(c(),y(q,{key:0,side:``,class:`text-caption text-grey-6`},{default:C(()=>[x(f(e.node.children.length),1)]),_:1})):E(``,!0)]),_:1},8,[`style`])),[[I]]):o((c(),y(G,{key:1,clickable:``,dense:``,active:e.node.path===e.selectedPath,"active-class":`file-tree-node--selected`,style:O({paddingLeft:`${l+20}px`}),onClick:i[1]||=t=>a(`file-select`,e.node.path)},{default:C(()=>[g(q,{avatar:``,class:`file-tree-node__icon-section`},{default:C(()=>[g(P,{name:`insert_drive_file`,size:`xs`,color:`grey-6`})]),_:1}),g(q,{class:`text-mono`},{default:C(()=>[p(`div`,{class:`ellipsis file-tree-node__label`,title:e.node.path},f(e.node.name),9,nt)]),_:1}),e.node.isChanged?(c(),y(q,{key:0,side:``},{default:C(()=>[g(P,{name:`fiber_manual_record`,size:`8px`,color:`warning`})]),_:1})):E(``,!0)]),_:1},8,[`active`,`style`])),[[I]]),e.node.type===`directory`&&e.expandedFolders.has(e.node.path)&&e.node.children?(c(),m(`div`,rt,[(c(!0),m(w,null,n(e.node.children,t=>(c(),y(u,{key:t.path,node:t,"selected-path":e.selectedPath,"expanded-folders":e.expandedFolders,level:e.level+1,onToggleFolder:i[2]||=e=>a(`toggle-folder`,e),onFileSelect:i[3]||=e=>a(`file-select`,e)},null,8,[`node`,`selected-path`,`expanded-folders`,`level`]))),128))])):E(``,!0)])}}}),[[`__scopeId`,`data-v-5f455ca2`]]);function at(){let e=j(),{t}=H(),n=V(),r=Z(),i=J();async function a(e,i,a){try{await le(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 ot={class:`file-list-item__path-row row no-wrap items-center`},st=[`title`],ct={class:`text-caption`},lt={class:`text-positive`},ut={class:`text-negative q-ml-xs`},dt=A(h({__name:`FileListItem`,props:{file:{},selected:{type:Boolean},source:{}},emits:[`click`],setup(e){let n={added:`A`,modified:`M`,deleted:`D`,renamed:`R`},r={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},i=e,{t:a}=H(),{stage:s,unstage:l,discard:u}=at(),d=J(),h=T(()=>X(i.file)),_=T(()=>d.commentsByFile.get(h.value)?.length??0);return(i,d)=>o((c(),y(G,{clickable:``,dense:``,class:`file-list-item`,active:e.selected,"active-class":`file-list-item--selected`,onClick:d[3]||=e=>i.$emit(`click`)},{default:C(()=>[g(q,{avatar:``,class:`file-list-item__icon-section`},{default:C(()=>[p(`span`,{class:t([`text-caption text-weight-bold text-mono`,`text-${r[e.file.status]}`])},f(n[e.file.status]),3)]),_:1}),g(q,{class:`text-mono`},{default:C(()=>[p(`div`,ot,[p(`span`,{class:`ellipsis file-list-item__path-label`,title:h.value},f(h.value),9,st),_.value>0?(c(),y(Oe,{key:0,compact:``,class:`file-list-item__badge`,count:_.value},null,8,[`count`])):E(``,!0)])]),_:1}),g(q,{side:``,class:`file-list-item__stats`},{default:C(()=>[p(`span`,ct,[p(`span`,lt,`+`+f(e.file.additions),1),p(`span`,ut,`-`+f(e.file.deletions),1)])]),_:1}),g(q,{side:``,class:`file-list-item__actions`},{default:C(()=>[e.source===`unstaged`?(c(),m(w,{key:0},[o(g(R,{flat:``,dense:``,round:``,size:`sm`,icon:`undo`,"aria-label":b(a)(`changes.actions.discard`),title:b(a)(`changes.actions.discard`),onClick:d[0]||=M(e=>b(u)(h.value),[`stop`])},null,8,[`aria-label`,`title`]),[[I]]),o(g(R,{flat:``,dense:``,round:``,size:`sm`,icon:`add`,"aria-label":b(a)(`changes.actions.stage`),title:b(a)(`changes.actions.stage`),onClick:d[1]||=M(e=>b(s)(h.value),[`stop`])},null,8,[`aria-label`,`title`]),[[I]])],64)):o((c(),y(R,{key:1,flat:``,dense:``,round:``,size:`sm`,icon:`remove`,"aria-label":b(a)(`changes.actions.unstage`),title:b(a)(`changes.actions.unstage`),onClick:d[2]||=M(e=>b(l)(h.value),[`stop`])},null,8,[`aria-label`,`title`])),[[I]])]),_:1})]),_:1},8,[`active`])),[[I]])}}),[[`__scopeId`,`data-v-2e9eab18`]]),ft=h({__name:`BrowseModeToggle`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=i(e,`modelValue`),{t:n}=H();return(e,r)=>(c(),y(G,null,{default:C(()=>[g(q,null,{default:C(()=>[g(ge,null,{default:C(()=>[x(f(b(n)(`browse.toggle`)),1)]),_:1})]),_:1}),g(q,{side:``},{default:C(()=>[g(ie,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,dense:``,size:`xs`},null,8,[`modelValue`])]),_:1})]),_:1}))}}),pt={class:`file-list-panel__header q-pa-sm`},mt={key:1,class:`text-subtitle2 q-mb-sm`},ht={key:0,class:`text-primary`},gt={key:0,class:`row justify-center q-pa-lg`},_t={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},vt={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},yt=32,bt=A(h({__name:`FileListPanel`,setup(e){let{t}=H(),{stagedFiles:r,unstagedFiles:i,initialLoading:a,error:o}=U(Y()),s=Z(),{source:l,browseMode:d,filter:h,selectedPath:_,expandedFolders:v,treeInitialLoading:D,treeError:O,filteredDiffFiles:k,filteredTree:A,totalTreeFiles:j}=U(s),M=S(null),N=T(()=>M.value?.getScrollTarget()??null);return(e,S)=>(c(),m(w,null,[p(`div`,pt,[b(d)?(c(),m(`div`,mt,[x(f(b(t)(`browse.allFiles`))+` `,1),b(j)>0||!b(O)?(c(),m(`span`,ht,`(`+f(b(j))+`)`,1)):E(``,!0)])):(c(),y(Qe,{key:0,modelValue:b(l),"onUpdate:modelValue":S[0]||=e=>u(l)?l.value=e:null,"staged-files-length":b(r).length,"unstaged-files-length":b(i).length},null,8,[`modelValue`,`staged-files-length`,`unstaged-files-length`])),g(ze,{modelValue:b(h),"onUpdate:modelValue":S[1]||=e=>u(h)?h.value=e:null,placeholder:b(d)?b(t)(`browse.searchPlaceholder`):b(t)(`changes.filterPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),g(z),g(K,{ref_key:`scrollArea`,ref:M,class:`col file-list-panel__scroll`,"content-style":`padding: 4px 0`,"content-active-style":`padding: 4px 0`},{default:C(()=>[(b(d)?b(D):b(a))?(c(),m(`div`,gt,[g(L,{color:`primary`,size:`2em`})])):b(d)?(c(),m(w,{key:1},[b(A).length===0&&(!b(O)||b(h)&&b(j)>0)?(c(),m(`p`,_t,f(b(h)?b(t)(`browse.noMatchingFiles`):b(t)(`browse.noFiles`)),1)):E(``,!0),(c(!0),m(w,null,n(b(A),e=>(c(),y(it,{key:e.path,node:e,"selected-path":b(_),"expanded-folders":b(v),level:0,onToggleFolder:b(s).toggleFolder,onFileSelect:b(s).selectFile},null,8,[`node`,`selected-path`,`expanded-folders`,`onToggleFolder`,`onFileSelect`]))),128))],64)):(c(),m(w,{key:2},[b(k).length===0&&(b(h)||!b(o))?(c(),m(`p`,vt,f(b(h)?b(t)(`browse.noMatchingFiles`):b(t)(`changes.emptyFileList`)),1)):E(``,!0),N.value?(c(),y(be,{key:b(l),"scroll-target":N.value,items:b(k),"virtual-scroll-item-size":yt},{default:C(({item:e})=>[(c(),y(dt,{key:b(X)(e),file:e,selected:b(_)===b(X)(e),source:b(l),onClick:t=>b(s).selectFile(b(X)(e))},null,8,[`file`,`selected`,`source`,`onClick`]))]),_:1},8,[`scroll-target`,`items`])):E(``,!0)],64))]),_:1},512),g(z),g(ft,{modelValue:b(d),"onUpdate:modelValue":S[2]||=e=>u(d)?d.value=e:null},null,8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-6daa93e0`]]),xt={class:`diff-status-bar row items-center q-gutter-x-md q-pa-sm text-body2`},St={class:`text-weight-medium`},Ct={class:`text-positive`},wt={class:`text-negative`},Tt={key:0,class:`text-grey-6`},Et={key:1,class:`text-grey-6`},Dt={key:2,class:`text-grey-6`},Ot={key:3,class:`text-grey-6`},kt=h({__name:`DiffStatusBar`,props:{files:{}},emits:[`expand-all`,`collapse-all`],setup(e,{emit:t}){let n=e,r=t,{t:i}=H(),a=T(()=>{let e=n.files.reduce((e,t)=>e+t.additions,0),t=n.files.reduce((e,t)=>e+t.deletions,0),r=n.files.filter(e=>e.status===`added`).length,i=n.files.filter(e=>e.status===`modified`).length,a=n.files.filter(e=>e.status===`deleted`).length,o=n.files.filter(e=>e.status===`renamed`).length;return{total:n.files.length,additions:e,deletions:t,added:r,modified:i,deleted:a,renamed:o}});return(e,t)=>(c(),m(`div`,xt,[p(`span`,St,f(b(i)(`changes.filesChanged`,{count:a.value.total})),1),p(`span`,Ct,` +`+f(a.value.additions)+` `+f(b(i)(`changes.additions`)),1),p(`span`,wt,` -`+f(a.value.deletions)+` `+f(b(i)(`changes.deletions`)),1),a.value.added?(c(),m(`span`,Tt,f(a.value.added)+` `+f(b(i)(`changes.added`)),1)):E(``,!0),a.value.modified?(c(),m(`span`,Et,f(a.value.modified)+` `+f(b(i)(`changes.modified`)),1)):E(``,!0),a.value.deleted?(c(),m(`span`,Dt,f(a.value.deleted)+` `+f(b(i)(`changes.deletedPlural`)),1)):E(``,!0),a.value.renamed?(c(),m(`span`,Ot,f(a.value.renamed)+` `+f(b(i)(`changes.renamed`)),1)):E(``,!0),g(B),g(R,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_more`,label:b(i)(`changes.expandAll`),onClick:t[0]||=e=>r(`expand-all`)},null,8,[`label`]),g(R,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_less`,label:b(i)(`changes.collapseAll`),onClick:t[1]||=e=>r(`collapse-all`)},null,8,[`label`])]))}}),At=h({__name:`ChangesFileCard`,props:{file:{}},setup(e){let t=e,n=Z(),r=Y(),i=J(),{expandedFiles:a}=U(n),{activeReview:o,commentsByFile:s}=U(i),l=T(()=>X(t.file)),u=T(()=>Se(n.source,l.value)),d=T(()=>r.hunksOf(n.source,t.file)),f=T(()=>r.hunksFresh(n.source,t.file)),p=T(()=>r.hunksError(n.source,t.file)),m=T(()=>a.value.has(l.value)),h=T(()=>s.value.get(l.value)),g=T(()=>!!o.value);function _(){r.ensureHunks(n.source,t.file)}function v(){r.retryHunks(n.source,t.file)}return(t,i)=>(c(),y(Me,{file:e.file,"state-key":u.value,detail:d.value,"hunks-loaded":f.value,"hunks-error":p.value,expanded:m.value,"agent-source":b(n).source,commentable:g.value,"comments-editable":g.value,comments:h.value,onLoadHunks:_,onRetryHunks:v,onClearHunksError:i[0]||=t=>b(r).clearHunksError(b(n).source,e.file),onToggle:i[1]||=e=>b(n).handleCardToggle(l.value),onExpand:i[2]||=e=>b(n).expandFile(l.value)},null,8,[`file`,`state-key`,`detail`,`hunks-loaded`,`hunks-error`,`expanded`,`agent-source`,`commentable`,`comments-editable`,`comments`]))}}),jt={key:0,class:`active-review-bar row items-center q-gutter-x-sm q-px-sm no-wrap`},Mt={class:`text-body2 ellipsis`},Nt=A(h({__name:`ActiveReviewBar`,setup(e){let{t}=H(),n=V(),r=J(),{activeReview:i}=U(r),a=fe(),o=Ne();function s(e){r.setStatus(e).catch(e=>{n(t(`reviews.comments.error`),e)})}return(e,n)=>b(i)?(c(),m(`div`,jt,[g(P,{name:`rate_review`,size:`18px`,color:`primary`}),p(`span`,Mt,f(b(i).name??b(t)(`reviews.list.unnamed`)),1),g(B),b(a).enabled?(c(),y(R,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,icon:b(oe),label:b(t)(`agent.context.addReview`),onClick:n[0]||=e=>b(o)({kind:`review`,reviewId:b(i).id})},null,8,[`icon`,`label`])):E(``,!0),g(Le,{status:b(i).status,onChange:s},null,8,[`status`])])):E(``,!0)}}),[[`__scopeId`,`data-v-2b6e4bdd`]]),Pt={key:1,class:`q-pa-md text-grey-6`},Ft=46,It=12,Lt=1.5,Rt=2,zt=20,Bt=A(h({__name:`DiffPanel`,setup(e){let{t}=H(),n=Z(),{diffFiles:i}=U(n),{error:a,loading:o}=U(Y()),s=J(),{activeReview:u}=U(s);Re({create:e=>s.createComment(e),edit:(e,t)=>s.editComment(e,t),remove:e=>s.deleteComment(e),resolve:e=>s.resolveComment(e),unresolve:e=>s.unresolveComment(e)});let d=S(null),p=T(()=>d.value?.getScrollTarget()??null);l(De,()=>p.value);let h=S(null);function _(){let e=h.value;return e?Promise.resolve(e):new Promise(e=>{let t=r(h,n=>{n&&(t(),e(n))})})}return r(()=>n.layoutVersion,async()=>{await D(),h.value?.reset()}),r(i,async(e,t)=>{je(e,t,(e,t)=>X(e)===X(t))||(await D(),h.value?.reset())}),r(()=>n.scrollRequest,async e=>{if(!e)return;let t=await _();if(await D(),n.scrollRequest===e){t.scrollTo(e.index,`start`);for(let t=0;t<zt;t++){await new Promise(e=>requestAnimationFrame(e));let t=document.getElementById(`diff-file-${e.path}`);if(t){t.scrollIntoView({block:`nearest`});return}}}}),(e,r)=>(c(),m(w,null,[b(a)?(c(),y(Ee,{key:0,title:b(t)(`changes.loadError`),message:b(a),loading:b(o),onRetry:r[0]||=e=>b(n).refresh()},null,8,[`title`,`message`,`loading`])):E(``,!0),b(i).length===0&&!b(a)?(c(),m(`div`,Pt,f(b(t)(`changes.emptyDiffPanel`)),1)):b(i).length>0?(c(),m(w,{key:2},[g(Nt),b(u)?(c(),y(z,{key:0})):E(``,!0),g(kt,{files:b(i),onExpandAll:b(n).expandAllFiles,onCollapseAll:b(n).collapseAllFiles},null,8,[`files`,`onExpandAll`,`onCollapseAll`]),g(z),g(K,{ref_key:`scrollArea`,ref:d,class:`col`,"content-style":`padding: 8px; width: 100%; max-width: 100%`,"content-active-style":`padding: 8px; width: 100%; max-width: 100%`},{default:C(()=>[p.value?(c(),y(be,{key:b(n).source,ref_key:`virtualScroll`,ref:h,"scroll-target":p.value,items:b(i),"virtual-scroll-item-size":Ft,"virtual-scroll-slice-size":It,"virtual-scroll-slice-ratio-before":Lt,"virtual-scroll-slice-ratio-after":Rt},{default:C(({item:e})=>[(c(),m(`div`,{key:b(X)(e),class:`diff-virtual-slot`},[g(At,{file:e},null,8,[`file`])]))]),_:1},8,[`scroll-target`,`items`])):E(``,!0)]),_:1},512)],64)):E(``,!0),!b(u)&&b(i).length>0?(c(),y(Be,{key:3})):E(``,!0)],64))}}),[[`__scopeId`,`data-v-86358ac2`]]),Vt={key:1,class:`q-pa-md text-grey-6`},Ht={key:0,class:`row justify-center q-pa-lg`},Ut={key:1,class:`q-pa-md text-grey-6`},Wt={class:`text-caption`},Gt={key:2,class:`q-pa-md text-grey-6`},Kt=h({__name:`FileContentPanel`,setup(e){let{t}=H(),n=Z(),{selectedPath:i,browseFileLines:a,browseFileIsBinary:o,browseFileLoading:s,browseFileError:l,treeError:u,refreshing:d}=U(n),{error:h}=U(Y()),_=T(()=>h.value?{title:t(`changes.loadError`),message:h.value}:u.value?{title:t(`browse.treeLoadError`),message:u.value}:null),v=S(!1);return r(i,e=>{v.value=e?Fe(e):!1},{immediate:!0}),(e,r)=>(c(),m(w,null,[_.value?(c(),y(Ee,{key:0,title:_.value.title,message:_.value.message,loading:b(d),onRetry:r[0]||=e=>b(n).refresh()},null,8,[`title`,`message`,`loading`])):E(``,!0),b(i)?(c(),y(ke,{key:2,class:`col`},{header:C(()=>[g(Ie,{path:b(i)},{default:C(()=>[g(Te,{modelValue:v.value,"onUpdate:modelValue":r[1]||=e=>v.value=e,path:b(i)},null,8,[`modelValue`,`path`])]),_:1},8,[`path`])]),default:C(()=>[b(s)&&b(a).length===0&&!b(l)?(c(),m(`div`,Ht,[g(L,{color:`primary`,size:`2em`})])):b(l)?(c(),m(`div`,Ut,[x(f(b(t)(`changes.fullFileLoadError`))+` `,1),p(`div`,Wt,f(b(l)),1),g(R,{flat:``,dense:``,color:`primary`,class:`q-mt-sm`,label:b(t)(`changes.retry`),loading:b(d),onClick:r[2]||=e=>b(n).refresh()},null,8,[`label`,`loading`])])):b(o)?(c(),m(`div`,Gt,f(b(t)(`changes.binaryFile`)),1)):(c(),y(K,{key:3,class:`col`,"content-style":`padding: 8px`,"content-active-style":`padding: 8px`},{default:C(()=>[g(Ae,{path:b(i),lines:b(a),wrap:v.value},null,8,[`path`,`lines`,`wrap`])]),_:1}))]),_:1})):(c(),m(`div`,Vt,f(b(t)(`browse.selectFile`)),1))],64))}}),qt=h({__name:`FileExplorer`,setup(t){let n=Z(),r=J(),{browseMode:i}=U(n);e(()=>{n.refresh(),r.refresh()});let a=W([`files:changed`],()=>void n.refreshFromServerEvent());v(()=>a.close());let o=W([`review:created`,`review:updated`,`review:deleted`,`comment:created`,`comment:updated`,`comment:deleted`],()=>void r.refresh());return v(()=>o.close()),(e,t)=>(c(),y(Ye,null,{panel:C(()=>[g(bt)]),content:C(()=>[b(i)?(c(),y(Kt,{key:0})):(c(),y(Bt,{key:1}))]),_:1}))}}),Jt=h({__name:`IndexPage`,setup(e){return(e,t)=>(c(),y(we,null,{default:C(()=>[g(qt)]),_:1}))}});export{Jt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.file-explorer[data-v-65488178]{height:100%}[data-v-65488178] .file-explorer__panel{flex-direction:column;flex-shrink:0;min-width:0;height:100%;display:flex}[data-v-65488178] .file-explorer__content{flex-direction:column;flex-wrap:no-wrap;display:flex}.file-tree-node__icon-section[data-v-5f455ca2]{min-width:0!important;padding-right:6px!important}.file-tree-node__label[data-v-5f455ca2]{width:100%;min-width:0}.file-tree-node__chevron[data-v-5f455ca2]{transition:transform .15s}.file-tree-node__chevron--expanded[data-v-5f455ca2]{transform:rotate(90deg)}.file-tree-node--selected[data-v-5f455ca2]{font-weight:500}.file-list-item__icon-section[data-v-2e9eab18]{min-width:0!important;padding-right:6px!important}.file-list-item__path-row[data-v-2e9eab18]{width:100%;min-width:0}.file-list-item__path-label[data-v-2e9eab18]{flex:0 auto;min-width:0}.file-list-item__badge[data-v-2e9eab18]{flex:none}.file-list-item--selected[data-v-2e9eab18],[data-v-2e9eab18] .file-list-item--selected{font-weight:500}.file-list-item__actions[data-v-2e9eab18]{gap:2px;flex-direction:row!important;padding:0 0 0 6px!important}.file-list-item__stats[data-v-2e9eab18]{padding-right:0!important}.file-list-panel__scroll[data-v-6daa93e0] .q-scrollarea__content{width:100%}.active-review-bar[data-v-2b6e4bdd]{min-height:36px}.diff-virtual-slot[data-v-86358ac2]{padding-bottom:8px}.diff-virtual-slot[data-v-86358ac2] .diff-file-card{margin-bottom:0}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.image-preview[data-v-fd1c633c]{object-fit:contain;max-width:calc(94vw - 32px);max-height:calc(92vh - 96px);margin:16px auto;display:block}.agent-item__thumb[data-v-c8e559ff]{cursor:zoom-in;width:72px;height:72px}.agent-item.q-message[data-v-fa776a7b]{font-family:var(--font-agent);min-width:0;max-width:100%;margin-bottom:0}.agent-item[data-v-fa776a7b] .q-message-text{min-height:0;padding-left:16px;padding-right:16px}.agent-item[data-v-fa776a7b] .q-message-container>*,.agent-item[data-v-fa776a7b] .q-message-text-content,.agent-item[data-v-fa776a7b] .q-message-text{min-width:0;max-width:100%}.agent-item__text[data-v-fa776a7b]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.agent-item.q-message[data-v-357e63c1]{font-family:var(--font-agent);min-width:0;max-width:100%;margin-bottom:0}.agent-item[data-v-357e63c1] .q-message-text{min-height:0;padding-left:16px;padding-right:16px}.agent-item[data-v-357e63c1] .q-message-container>*,.agent-item[data-v-357e63c1] .q-message-text-content,.agent-item[data-v-357e63c1] .q-message-text{min-width:0;max-width:100%}.agent-item[data-v-357e63c1] .md-content{font-size:14px;line-height:1.65}.agent-item[data-v-357e63c1] .md-content strong,.agent-item[data-v-357e63c1] .md-content b{font-weight:500}.agent-diff[data-v-60226168]{border:1px solid var(--q-separator-color,#8080804d);border-radius:4px}.agent-diff__path[data-v-60226168]{background:var(--diff-header-bg);padding:2px 8px}.agent-diff__body[data-v-60226168]{max-width:100%;margin:0;font-size:12px;line-height:1.45;overflow-x:auto}.agent-diff__row[data-v-60226168]{white-space:pre;padding:0 8px;display:block}.agent-diff__row--added[data-v-60226168]{background:#2ea0432e}.agent-diff__row--removed[data-v-60226168]{background:#f851492e}.agent-tool[data-v-6537eaaa]{border:1px solid var(--q-separator-color,#8080804d);border-radius:6px;font-size:11px}.agent-tool[data-v-6537eaaa] .q-item{min-height:26px;padding:0 8px}.agent-tool[data-v-6537eaaa] .q-item__label{font-size:11px}.agent-tool[data-v-6537eaaa] .q-item__section--side{padding-left:6px}.agent-tool__icon[data-v-6537eaaa]{min-width:22px;padding-right:6px}.agent-tool__badge[data-v-6537eaaa]{font-size:10px}.agent-tool__caption[data-v-6537eaaa],.agent-tool__body[data-v-6537eaaa]{font-size:11px}.agent-tool__output[data-v-6537eaaa]{white-space:pre-wrap;max-height:200px;margin:0;font-size:11px;overflow:auto}.agent-thought[data-v-2bc07051]{font-size:11px}.agent-thought__text[data-v-2bc07051]{white-space:pre-wrap;font-size:11px}.agent-thought[data-v-2bc07051] .q-item{min-height:26px;padding:0 8px}.agent-thought[data-v-2bc07051] .q-item__label,.agent-thought[data-v-2bc07051] .q-item__section--main{font-size:11px}.agent-thought[data-v-2bc07051] .q-icon{font-size:14px}.agent-auto-approved[data-v-c0c0181b]{font-size:11px}.agent-auto-approved[data-v-c0c0181b] .q-icon{font-size:14px}.agent-chat-banners__banner[data-v-ece62303]{overflow-wrap:anywhere;flex:none;font-size:12px}.agent-chat-banners__banner[data-v-ece62303] .q-banner__content,.agent-chat-banners__banner[data-v-ece62303] .q-btn{font-size:12px;line-height:1.35}.agent-chat-banners__banner[data-v-ece62303] .q-banner__actions{align-self:center}.agent-mention-popup[data-v-a7a8b754]{z-index:6000;border:1px solid #80808059;border-radius:6px;width:340px;max-width:calc(100vw - 16px);max-height:260px;font-size:13px;position:fixed;overflow-y:auto}.agent-mention-popup__item[data-v-a7a8b754]{cursor:pointer;align-items:baseline;gap:8px;padding:4px 10px;display:flex}.agent-mention-popup__item--active[data-v-a7a8b754]{background:#1976d22e}.agent-mention-popup__name[data-v-a7a8b754]{flex:none;font-weight:500}.agent-mention-popup__dir[data-v-a7a8b754]{opacity:.6;text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;min-width:0;font-size:11.5px;overflow:hidden}.agent-editor-wrap[data-v-d04db174]{min-width:0;position:relative}.agent-editor[data-v-d04db174]{font-family:var(--font-agent);white-space:pre-wrap;overflow-wrap:anywhere;outline:none;min-height:24px;max-height:160px;padding:5px 4px;font-size:14px;line-height:1.65;overflow-y:auto}.agent-editor[aria-disabled=true][data-v-d04db174]{cursor:not-allowed;opacity:.6}.agent-editor--empty[data-v-d04db174]:before{content:attr(data-placeholder);opacity:.5;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:5px;left:4px;right:4px;overflow:hidden}.agent-editor[data-v-d04db174] .agent-mention{-webkit-user-select:none;user-select:none;white-space:nowrap;background:#1976d22e;border-radius:4px;align-items:center;margin:0 1px;padding:0 1px 0 6px;font-size:12.5px;line-height:1.6;display:inline-flex}.agent-editor[data-v-d04db174] .agent-mention__remove{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;padding:0 4px;font-size:14px;line-height:1}.agent-editor[data-v-d04db174] .agent-mention__remove:hover{opacity:1}.agent-attachment-thumb[data-v-b18100a3]{width:56px;height:56px;position:relative}.agent-attachment-thumb-remove[data-v-b18100a3]{position:absolute;top:-6px;right:-6px}.agent-add-menu[data-v-3c2497e7]{min-width:180px}.agent-dot[data-v-8919c3e4]{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.agent-dot__mark[data-v-8919c3e4]{background:var(--q-positive);opacity:.55;border-radius:50%;width:7px;height:7px}.agent-dot__mark--attention[data-v-8919c3e4]{background:var(--q-warning);opacity:1}.agent-dot__mark--closed[data-v-8919c3e4]{background:var(--q-negative);opacity:1}.agent-cfg[data-v-bfa2d9dd]{max-width:190px;font-size:12px}.agent-cfg[data-v-bfa2d9dd] .q-btn__content{flex-wrap:nowrap}.agent-cfg[data-v-bfa2d9dd] .block{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-cfg__list[data-v-bfa2d9dd]{width:340px;min-width:220px;max-width:calc(100vw - 24px);max-height:300px}.agent-composer__status[data-v-d98990df]{min-height:28px;margin-top:4px}.agent-composer__state[data-v-d98990df]{opacity:.8;padding-right:8px;font-size:12px}.agent-composer[data-v-ce7dfcde]{flex:none;padding:4px 16px 10px}.agent-composer__box[data-v-ce7dfcde]{border:1px solid #80808073;border-radius:8px}.agent-composer__box[data-v-ce7dfcde]:focus-within{border-color:var(--q-primary)}.agent-permission[data-v-31a77038]{border:1px solid #8080804d;border-left:3px solid var(--q-warning);border-radius:4px;padding:6px 10px 8px;font-size:12px}.agent-permission__head[data-v-31a77038]{opacity:.7;font-size:11px}.agent-permission__title[data-v-31a77038]{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.agent-permission__changes[data-v-31a77038]{font-size:11px}.agent-permission__changes[data-v-31a77038] .q-item{min-height:24px;padding:0}.agent-view[data-v-f3b23f81]{position:absolute;inset:0}.agent-view[data-v-f3b23f81] .q-scrollarea__content{width:100%}.agent-view__feed[data-v-f3b23f81]{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.agent-empty[data-v-cb2aea04]{padding:24px}.agent-empty__hint[data-v-cb2aea04]{max-width:260px}.agent-tabs[data-v-10656440]{border-bottom:1px solid var(--q-separator-color,#8080804d);flex:none}.agent-tabs__tabs[data-v-10656440]{min-width:0}.agent-tab[data-v-10656440]{text-transform:none;padding:0 8px}.agent-tab__body[data-v-10656440]{min-width:0;max-width:180px}.agent-tab__name[data-v-10656440]{min-width:0;font-size:13px}.agent-panel__views[data-v-f30b083a]{min-height:0;position:relative}.agent-new-chat[data-v-887d90c7]{width:380px;max-width:92vw}.agent-drawer__handle[data-v-2a2eac99]{z-index:10;cursor:col-resize;touch-action:none;width:13px;position:absolute;top:0;bottom:0;left:-6px}.agent-drawer__handle[data-v-2a2eac99]:focus-visible{outline-offset:2px;outline:2px solid}.agent-drawer--dragging[data-v-2a2eac99]{-webkit-user-select:none;user-select:none;transition:none!important}.repo-info[data-v-7b82112e]{line-height:1}.agent-menu__chats[data-v-33143e23]{padding:4px 0 8px}.agent-menu__dot[data-v-33143e23]{min-width:28px;padding-left:8px}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{A as e,Ct as t,D as n,F as r,G as i,H as a,J as o,L as s,N as c,P as l,Q as u,S as d,T as f,Tt as p,U as m,V as h,_ as g,c as _,ct as v,d as y,g as b,h as x,i as S,it as C,j as w,k as T,l as E,lt as D,m as O,nt as k,ot as A,p as j,q as M,r as N,rt as ee,s as P,tt as te,u as F,w as I,wt as ne,x as re,y as L}from"./runtime-core.esm-bundler-CUpq88z7.js";import{A as R,D as z,E as B,H as ie,N as ae,O as V,R as oe,S as se,T as H,U,V as ce,_ as le,c as ue,d as W,h as de,j as fe,l as pe,o as me,r as he,s as ge,t as G,u as _e,v as ve}from"./QBtn-BDbJU6_B.js";import{u as ye}from"./event-rR76ioXz.js";import{s as K}from"./is-BB7rJzdU.js";import{t as q}from"./create-BkZH2Q0U.js";import{A as be,D as xe,E as Se,J as Ce,K as we,N as Te,O as Ee,Q as De,Z as Oe,_ as ke,d as Ae,f as je,g as J,h as Me,k as Ne,m as Pe,n as Fe,p as Ie,q as Le,v as Re,y as ze,z as Be}from"./index-Bn7ByP7x.js";import{a as Ve,c as He,i as Ue,l as We,n as Ge,r as Ke,u as qe}from"./agent-icon-Bc3evt8o.js";import{n as Y}from"./vue-i18n.runtime-D0pkhc7g.js";import{r as Je}from"./pinia-DmTi2T44.js";import{s as Ye}from"./single-flight-r8B7stt1.js";import{n as Xe,t as Ze}from"./app-info-store-xZiQfdgO.js";import{n as Qe,t as X}from"./agent-store-FOng_RxK.js";import{t as $e}from"./safe-storage-DRouskD4.js";import{n as et}from"./use-app-theme-B1Vh5WKT.js";import{b as tt,d as Z,f as nt,g as rt,h as it,m as at,p as Q,t as ot,u as st,v as ct,x as lt}from"./QMenu-Bh-SjGqz.js";import{t as ut}from"./export-file-Di_2jvjP.js";import{n as dt,t as ft}from"./QSelect-CZqAOLiG.js";import{r as pt}from"./use-virtual-scroll-BVHTKnoC.js";import{a as mt,i as ht,o as gt,r as _t}from"./use-panel-width-Cs_K2M_v.js";var vt=e=>e.trim().toLowerCase();function yt(e,t){let n=new Set(t.map(vt)),r=e.trim();if(!n.has(vt(r)))return r;for(let e=1;;e++){let t=`${r} (${e})`;if(!n.has(vt(t)))return t}}var bt=q({name:`QPageContainer`,setup(e,{slots:t}){let n=B(),r=re(fe,V);if(r===V)return console.error(`QPageContainer needs to be child of QLayout`),V;l(ae,!0);let i=P(()=>{let e={};return r.header.space&&(e.paddingTop=`${r.header.size}px`),r.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${r.right.size}px`),r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),r.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${r.left.size}px`),e});return()=>L(`div`,{class:`q-page-container`,style:i.value},le(t.default))}}),xt=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,St=q({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>xt.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:n}){let r=B(),a=C(null),o=k(r.screen.height),s=k(e.container?0:r.screen.width),c=k({position:0,direction:`down`,inflectionPoint:0}),u=k(0),d=k(K.value?0:Te()),f=P(()=>`q-layout q-layout--`+(e.container?`containerized`:`standard`)),p=P(()=>e.container?null:{minHeight:r.screen.height+`px`}),m=P(()=>d.value===0?null:{[r.lang.rtl?`left`:`right`]:`${d.value}px`}),h=P(()=>d.value===0?null:{[r.lang.rtl?`right`:`left`]:0,[r.lang.rtl?`left`:`right`]:`-${d.value}px`,width:`calc(100% + ${d.value}px)`}),g=null;function _(t){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};e.container||!document.qScrollPrevented?(g=null,v(n)):g=n}function v(t){c.value=t,e.onScroll!==void 0&&n(`scroll`,t)}function y(t){let{height:r,width:i}=t,a=!1;o.value!==r&&(a=!0,o.value=r,e.onScrollHeight!==void 0&&n(`scrollHeight`,r),x()),s.value!==i&&(a=!0,s.value=i),a&&e.onResize!==void 0&&n(`resize`,t)}function b({height:e}){u.value!==e&&(u.value=e,x())}function x(){if(e.container){let e=o.value>u.value?Te():0;d.value!==e&&(d.value=e)}}let S=null,T={instances:{},view:P(()=>e.view),isContainer:P(()=>e.container),rootRef:a,height:o,containerHeight:u,scrollbarWidth:d,totalWidth:P(()=>e.container?s.value+d.value:r.screen.width),rows:P(()=>{let t=e.view.toLowerCase().split(` `);return{top:[...t[0]],middle:[...t[1]],bottom:[...t[2]]}}),header:te({size:0,offset:0,space:!1}),right:te({size:300,offset:0,space:!1}),footer:te({size:0,offset:0,space:!1}),left:te({size:300,offset:0,space:!1}),scroll:c,animate(){S===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(S),S=setTimeout(()=>{S=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){T[e][t]=n}};l(fe,T);{let e=()=>{if(g!==null){let e=g;g=null,v(e)}};Ne(e),w(()=>{be(e)})}if(Te()>0){let t=null,n=document.documentElement,a=()=>{t=null,n.classList.remove(`hide-scrollbar`)},o=()=>{if(t===null){if(n.scrollHeight>r.screen.height)return;n.classList.add(`hide-scrollbar`)}else clearTimeout(t);t=setTimeout(a,300)},s=e=>{t!==null&&e===`remove`&&(clearTimeout(t),a()),window[`${e}EventListener`](`resize`,o)};i(()=>e.container?`remove`:`add`,s),e.container||s(`add`),w(()=>{s(`remove`)})}return()=>{let n=de(t.default,[L(lt,{onScroll:_}),L(tt,{onResize:y})]),r=L(`div`,{class:f.value,style:p.value,ref:e.container?void 0:a,tabindex:-1},n);return e.container?L(`div`,{class:`q-layout-container overflow-hidden`,ref:a},[L(tt,{onResize:b}),L(`div`,{class:`absolute-full`,style:m.value},[L(`div`,{class:`scroll`,style:h.value},[r])])]):r}}}),Ct=1023,wt=`githuman.navDrawerOpen`;function Tt(e){return e>Ct}function Et(){return $e.get(wt)!==`closed`}function Dt(e){$e.set(wt,e?`open`:`closed`)}function Ot(e,t){let n=Tt(e);return{desktop:n,desktopOpen:t,visible:n&&t}}function kt(e,t){let n=Tt(t);return n===e.desktop?e:{...e,desktop:n,visible:n&&e.desktopOpen}}function At(e){let t=!e.visible;return{...e,visible:t,desktopOpen:e.desktop?t:e.desktopOpen}}function jt(){let e=B(),t=k(Ot(e.screen.width,Et())),n=P({get:()=>t.value.visible,set:e=>{t.value={...t.value,visible:e}}});function r(){t.value=At(t.value),t.value.desktop&&Dt(t.value.desktopOpen)}async function i(e){let n=kt(t.value,e.width);n!==t.value&&(t.value=n,await I(),t.value.desktop===n.desktop&&(t.value={...t.value,visible:n.visible}))}return{open:n,toggle:r,onResize:i}}var Mt=150;function Nt(e,t){e.value!==t&&(e.value=t)}var Pt=q({name:`QDrawer`,inheritAttrs:!1,props:{...Ce,...Re,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...Le,`onLayout`,`miniState`,`escapeKey`],setup(t,{slots:r,emit:a,attrs:s}){let c=g(),l=B(),u=ke(t,l),{preventBodyScroll:d}=Ee(),{registerTimeout:f,removeTimeout:p}=Oe(),m=re(fe,V);if(m===V)return console.error(`QDrawer needs to be child of QLayout`),V;let h,_=null,v,y=k(t.behavior===`mobile`||t.behavior!==`desktop`&&m.totalWidth.value<=t.breakpoint),b=P(()=>t.mini&&!y.value),x=P(()=>b.value?t.miniWidth:t.width),S=P(()=>t.overlay||t.miniToOverlay||m.view.value.includes(R.value?`R`:`L`)||l.platform.is.ios&&m.isContainer.value),C=k(t.showIfAbove&&!y.value||t.modelValue===!0),w=P(()=>!t.overlay&&C.value&&!y.value),T=P(()=>t.overlay&&C.value&&!y.value),E=P(()=>!t.persistent&&(y.value||T.value));function D(e,t){if(M(),e!==!1&&m.animate(),K(0),y.value){let e=m.instances[H.value];e?.belowBreakpoint.value&&e.hide(!1),q(1),m.isContainer.value||d(!0)}else q(0),e!==!1&&be(!1);f(()=>{e!==!1&&be(!0),t||a(`show`,e)},Mt)}function O(e,t){N(),e!==!1&&m.animate(),q(0),K(z.value*x.value),je(),t?p():f(()=>{a(`hide`,e)},Mt)}let{show:A,hide:j}=we({showing:C,hideOnRouteChange:E,handleShow:D,handleHide:O}),{addToHistory:M,removeFromHistory:N}=De(C,j,E),ee=P(()=>C.value&&E.value);function te(e){a(`escapeKey`),j(e)}function F(e){e?Se(te):xe(te)}let ne={belowBreakpoint:y,hide:j},R=P(()=>t.side===`right`),z=P(()=>(l.lang.rtl?-1:1)*(R.value?1:-1)),ie=k(0),ae=k(!1),oe=k(!1),se=k(x.value*z.value),H=P(()=>R.value?`left`:`right`),U=P(()=>C.value&&!y.value&&!t.overlay?t.miniToOverlay?t.miniWidth:x.value:0),ce=P(()=>`fullscreen q-drawer__backdrop`+(!C.value&&!ae.value?` hidden`:``)),ue=P(()=>({backgroundColor:`rgba(0,0,0,${ie.value*.4})`})),W=P(()=>R.value?m.rows.value.top[2]===`r`:m.rows.value.top[0]===`l`),de=P(()=>R.value?m.rows.value.bottom[2]===`r`:m.rows.value.bottom[0]===`l`),pe=P(()=>{let e={};return m.header.space&&!W.value&&(S.value?e.top=`${m.header.offset}px`:m.header.space&&(e.top=`${m.header.size}px`)),m.footer.space&&!de.value&&(S.value?e.bottom=`${m.footer.offset}px`:m.footer.space&&(e.bottom=`${m.footer.size}px`)),e}),me=P(()=>{let e={width:`${x.value}px`,transform:`translateX(${se.value}px)`};return y.value?e:Object.assign(e,pe.value)}),he=P(()=>`q-drawer__content fit `+(m.isContainer.value?`overflow-auto`:`scroll`)),ge=P(()=>`q-drawer q-drawer--${t.side}`+(oe.value?` q-drawer--mini-animate`:``)+(t.bordered?` q-drawer--bordered`:``)+(u()?` q-drawer--dark q-dark`:``)+(ae.value?` no-transition`:C.value?``:` q-layout--prevent-focus`)+(y.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${b.value?`mini`:`standard`}`+(S.value||!w.value?` fixed`:``)+(t.overlay||t.miniToOverlay?` q-drawer--on-top`:``)+(W.value?` q-drawer--top-padding`:``))),G=P(()=>{let e=l.lang.rtl?t.side:H.value;return[[ct,Te,void 0,{[e]:!0,mouse:!0}]]}),_e=P(()=>{let e=l.lang.rtl?H.value:t.side;return[[ct,y.value&&!t.noSwipeClose?Ae:void 0,void 0,{[e]:!0,mouse:!0}]]}),ve=P(()=>{let e=l.lang.rtl?H.value:t.side;return[[ct,C.value&&!t.noSwipeBackdrop?Ae:void 0,void 0,{[e]:!0,mouse:!0,mouseAllDir:!0}]]});function ye(){Nt(y,t.behavior===`mobile`||t.behavior!==`desktop`&&m.totalWidth.value<=t.breakpoint)}i(y,e=>{e?(h=C.value,C.value&&j(!1)):C.value?(K(0),q(0),je()):!t.overlay&&t.behavior!==`mobile`&&h!==!1&&A(!1)}),i(()=>t.side,(e,t)=>{m.instances[t]===ne&&(m.instances[t]=void 0,m[t].space=!1,m[t].offset=0),m.instances[e]=ne,m[e].size=x.value,m[e].space=w.value,m[e].offset=U.value}),i(m.totalWidth,()=>{(m.isContainer.value||!document.qScrollPrevented)&&ye()}),i(()=>t.behavior+t.breakpoint,ye),i(m.isContainer,e=>{C.value&&d(!e),e&&ye()}),i(m.scrollbarWidth,()=>{K(C.value?0:void 0)}),i(U,e=>{J(`offset`,e)}),i(w,e=>{a(`onLayout`,e),J(`space`,e)}),i(R,()=>{K()}),i(x,e=>{K(),Me(t.miniToOverlay,e)}),i(()=>t.miniToOverlay,e=>{Me(e,x.value)}),i(()=>l.lang.rtl,()=>{K()}),i(()=>t.mini,()=>{t.noMiniAnimation||t.modelValue&&(Ce(),m.animate())}),i(b,e=>{a(`miniState`,e)});function K(e){e===void 0?I(()=>{e=C.value?0:x.value,K(z.value*e)}):(m.isContainer.value&&R.value&&(y.value||Math.abs(e)===x.value)&&(e+=z.value*m.scrollbarWidth.value),se.value=e)}function q(e){ie.value=e}function be(e){let t=e?`remove`:m.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Ce(){_!==null&&clearTimeout(_),c.proxy&&c.proxy.$el&&c.proxy.$el.classList.add(`q-drawer--mini-animate`),oe.value=!0,_=setTimeout(()=>{_=null,oe.value=!1,c?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Te(e){if(C.value)return;let t=x.value,n=rt(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?A():(m.animate(),q(0),K(z.value*t)),ae.value=!1;return}K((l.lang.rtl?!R.value:R.value)?Math.max(t-n,0):Math.min(0,n-t)),q(rt(n/t,0,1)),e.isFirst&&(ae.value=!0)}function Ae(e){if(!C.value)return;let n=x.value,r=e.direction===t.side,i=(l.lang.rtl?!r:r)?rt(e.distance.x,0,n):0;if(e.isFinal){Math.abs(i)<Math.min(75,n)?(m.animate(),q(1),K(0)):j(),ae.value=!1;return}K(z.value*i),q(rt(1-i/n,0,1)),e.isFirst&&(ae.value=!0)}function je(){d(!1),be(!0)}function J(e,n){m.update(t.side,e,n)}function Me(e,n){J(`size`,e?t.miniWidth:n)}return m.instances[t.side]=ne,Me(t.miniToOverlay,x.value),J(`space`,w.value),J(`offset`,U.value),t.showIfAbove&&!t.modelValue&&C.value&&t[`onUpdate:modelValue`]!==void 0&&a(`update:modelValue`,!0),e(()=>{a(`onLayout`,w.value),a(`miniState`,b.value),i(ee,F,{immediate:!0}),h=t.showIfAbove;let e=()=>{(C.value?D:O)(!1,!0)};if(m.totalWidth.value!==0){I(e);return}v=i(m.totalWidth,()=>{v(),v=void 0,!C.value&&t.showIfAbove&&!y.value?A(!1):e()})}),n(()=>{v?.(),xe(te),_!==null&&(clearTimeout(_),_=null),C.value&&je(),m.instances[t.side]===ne&&(m.instances[t.side]=void 0,J(`size`,0),J(`offset`,0),J(`space`,!1))}),()=>{let e=[];y.value&&(t.noSwipeOpen||e.push(o(L(`div`,{key:`open`,class:`q-drawer__opener fixed-${t.side}`,"aria-hidden":`true`}),G.value)),e.push(o(L(`div`,{ref:`backdrop`,class:ce.value,style:ue.value,"aria-hidden":`true`,onClick:j}),ve.value)));let n={},i={};for(let e in s)e===`role`||e.startsWith(`aria-`)?n[e]=s[e]:i[e]=s[e];let a=b.value&&r.mini!==void 0,c=[L(`div`,{...i,key:String(a),class:[he.value,s.class]},a?r.mini():le(r.default))];return t.elevated&&C.value&&c.push(L(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),e.push(o(L(`aside`,{ref:`content`,class:ge.value,style:me.value,...n},c),_e.value)),L(`div`,{class:`q-drawer-container`},e)}}}),Ft=`<circle cx="15" cy="15" r="15"></circle><circle cx="60" cy="15" r="9" fill-opacity=".3" style="animation-delay:-.4s"></circle><circle cx="105" cy="15" r="15"></circle>`,It=q({name:`QSpinnerDots`,props:_e,setup(e){return()=>{let t=pe(e.size);return L(`svg`,{class:ue(e.color,`dots`),fill:`currentColor`,width:t,height:t,viewBox:`0 0 120 30`,xmlns:`http://www.w3.org/2000/svg`,innerHTML:Ft})}}}),Lt=q({name:`QChatMessage`,props:{sent:Boolean,label:String,bgColor:String,textColor:String,name:String,avatar:String,text:Array,stamp:String,size:String,labelHtml:Boolean,nameHtml:Boolean,textHtml:Boolean,stampHtml:Boolean},setup(e,{slots:t}){function n(n){return t.stamp===void 0?e.stamp?[n,L(`div`,{class:`q-message-stamp`,[e.stampHtml?`innerHTML`:`textContent`]:e.stamp})]:[n]:[n,L(`div`,{class:`q-message-stamp`},t.stamp())]}function r(t,r,i){let a=`q-message-text q-message-text--${i}`+(e.bgColor===void 0?``:` text-${e.bgColor}`),o=`q-message-text-content q-message-text-content--${i}`+(e.textColor===void 0?``:` text-${e.textColor}`),s=r?t.length>1?e=>e:e=>L(`div`,[e]):t=>L(`div`,{[e.textHtml?`innerHTML`:`textContent`]:t});return t.map((e,t)=>L(`div`,{key:t,class:a},[L(`div`,{class:o},n(s(e)))]))}return()=>{let n=e.sent?`sent`:`received`,i=[];t.avatar===void 0?e.avatar!==void 0&&i.push(L(`img`,{class:`q-message-avatar q-message-avatar--${n}`,src:e.avatar,"aria-hidden":`true`})):i.push(t.avatar());let a=[];t.name===void 0?e.name!==void 0&&a.push(L(`div`,{class:`q-message-name q-message-name--${n}`,[e.nameHtml?`innerHTML`:`textContent`]:e.name})):a.push(L(`div`,{class:`q-message-name q-message-name--${n}`},t.name())),t.default===void 0?e.text!==void 0&&a.push(r(e.text,!1,n)):a.push(r(se(t.default()),!0,n)),i.push(L(`div`,{class:e.size===void 0?``:`col-${e.size}`},a));let o=[];return t.label===void 0?e.label!==void 0&&o.push(L(`div`,{class:`q-message-label`,[e.labelHtml?`innerHTML`:`textContent`]:e.label})):o.push(L(`div`,{class:`q-message-label`},t.label())),o.push(L(`div`,{class:`q-message-container row items-end no-wrap`+(e.sent?` reverse`:``)},i)),L(`div`,{class:`q-message q-message-${n}`},o)}}}),Rt={ratio:[String,Number]};function zt(e,t){return P(()=>{let n=e.ratio||t?.value;if(typeof n==`string`&&n.trim()===``)return null;let r=Number(n);return Number.isFinite(r)&&r>0?{paddingBottom:`${100/r}%`}:null})}var Bt=1.7778;function Vt(e){return e.naturalHeight===0?.5:e.naturalWidth/e.naturalHeight}var Ht=q({name:`QImg`,props:{...Rt,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:`lazy`},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:`auto`},width:String,height:String,initialRatio:{type:[Number,String],default:Bt},placeholderSrc:String,errorSrc:String,fit:{type:String,default:`cover`},position:{type:String,default:`50% 50%`},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:[`load`,`error`],setup(t,{slots:n,emit:r}){let a=k(t.initialRatio),o=zt(t,a),s=g(),{registerTimeout:c,removeTimeout:l}=Oe(),{registerTimeout:u,removeTimeout:d}=Oe(),f=P(()=>t.placeholderSrc===void 0?null:{src:t.placeholderSrc}),p=P(()=>t.errorSrc===void 0?null:{src:t.errorSrc,__qerror:!0}),m=[k(null),k(f.value)],h=k(0),_=k(!1),v=k(!1),y=null,b=P(()=>`q-img q-img--${t.noNativeMenu?`no-`:``}menu`),x=P(()=>({width:t.width,height:t.height})),S=P(()=>`q-img__image ${t.imgClass===void 0?``:t.imgClass+` `}q-img__image--with${t.noTransition?`out`:``}-transition q-img__image--`),C=P(()=>({...t.imgStyle,objectFit:t.fit,objectPosition:t.position}));function w(){if(d(),t.loadingShowDelay===0){_.value=!0;return}u(()=>{_.value=!0},t.loadingShowDelay)}function T(){d(),_.value=!1}function E({target:e}){H(s)||(l(),a.value=Vt(e),y!==null&&cancelAnimationFrame(y),y=requestAnimationFrame(()=>{y=requestAnimationFrame(()=>{if(y=null,H(s))return;let t=Vt(e);Math.abs(t-a.value)>a.value/100&&(a.value=t)})}),D(e,1))}function D(e,t){t===1e3||H(s)||(e.complete?O(e):c(()=>{D(e,t+1)},50))}function O(e){H(s)||(h.value^=1,m[h.value].value=null,T(),e.getAttribute(`__qerror`)!==`true`&&(v.value=!1),r(`load`,e.currentSrc||e.src))}function A(e){l(),T(),v.value=!0,m[h.value].value=p.value,m[h.value^1].value=f.value,r(`error`,e)}function j(e){let n=m[e].value,r={key:`img_`+e,class:S.value,style:C.value,alt:t.alt===void 0?``:t.alt,crossorigin:t.crossorigin,decoding:t.decoding,referrerpolicy:t.referrerpolicy,height:t.height,width:t.width,loading:t.loading,fetchpriority:t.fetchpriority,"aria-hidden":`true`,draggable:t.draggable,...n};return h.value===e?Object.assign(r,{class:r.class+`current`,onLoad:E,onError:A}):r.class+=`loaded`,L(`div`,{class:`q-img__container absolute-full`,key:`img`+e},L(`img`,r))}function M(){return _.value?L(`div`,{key:`loading`,class:`q-img__loading absolute-full flex flex-center`},n.loading===void 0?t.noSpinner?void 0:[L(ge,{color:t.spinnerColor,size:t.spinnerSize})]:n.loading()):L(`div`,{key:`content`,class:`q-img__content absolute-full q-anchor--skip`},le(n[v.value?`error`:`default`]))}{let n=()=>{i(()=>t.src||t.srcset||t.sizes?{src:t.src,srcset:t.srcset,sizes:t.sizes}:null,e=>{l(),v.value=!1,e===null?(T(),m[h.value^1].value=f.value):w(),m[h.value].value=e},{immediate:!0})};K.value?e(n):n()}return()=>{let e=[];return o.value!==null&&e.push(L(`div`,{key:`filler`,style:o.value})),m[0].value!==null&&e.push(j(0)),m[1].value!==null&&e.push(j(1)),e.push(L(oe,{name:`q-transition--fade`},M)),L(`div`,{key:`main`,class:b.value,style:x.value,...t.alt?{role:`img`,"aria-label":t.alt}:{}},e)}}}),Ut=class extends Error{};function Wt(e){return e.kind===`attachment`&&e.mimeType.startsWith(`image/`)}function Gt(e){return`data:${e.mimeType};base64,${e.data}`}function Kt(e){let t=atob(e.data),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function qt(e){ut(e.name,Kt(e),e.mimeType)}function Jt(e){return new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(typeof r.result==`string`?r.result:``)),r.addEventListener(`error`,()=>n(r.error)),r.readAsDataURL(e)})}async function Yt(e){if(e.size>10485760)throw new Ut(e.name);let t=await Jt(e),n=e.type||`application/octet-stream`;return{kind:`attachment`,name:e.name||`pasted.${n.split(`/`)[1]??`bin`}`,mimeType:n,data:t.slice(t.indexOf(`,`)+1)}}function Xt(e){return e?[...e.items].filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>e!==null):[]}function Zt(e,t){if(e.kind===`file`)return t(`agent.context.file`,{path:e.path});if(e.kind===`review`)return t(`agent.context.review`);if(e.kind===`attachment`)return t(`agent.context.attachment`,{name:e.name});let n=t(`agent.source.${e.source}`);return e.path===void 0?t(`agent.context.diff`,{source:n}):t(`agent.context.diffFile`,{source:n,path:e.path})}var Qt=b({__name:`AgentContextChip`,props:{item:{},removable:{type:Boolean},downloadable:{type:Boolean}},emits:[`remove`,`download`],setup(e,{emit:t}){let n=e,r=t,{t:i}=Y(),a=P(()=>Zt(n.item,i)),o=P(()=>n.downloadable&&n.item.kind===`attachment`);return(t,n)=>(c(),E(dt,{dense:``,square:``,size:`sm`,removable:e.removable,clickable:o.value,icon:o.value?`download`:void 0,label:a.value,onRemove:n[0]||=e=>r(`remove`),onClick:n[1]||=e=>o.value&&r(`download`)},null,8,[`removable`,`clickable`,`icon`,`label`]))}}),$t=[`src`,`alt`],en=z(b({__name:`ImagePreviewDialog`,props:d({src:{},title:{},alt:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=a(e,`modelValue`);return(n,r)=>(c(),E(He,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,title:e.title},{default:M(()=>[e.src?(c(),y(`img`,{key:0,class:`image-preview`,src:e.src,alt:e.alt},null,8,$t)):F(``,!0)]),_:1},8,[`modelValue`,`title`]))}}),[[`__scopeId`,`data-v-fd1c633c`]]),tn={key:0,class:`row q-gutter-xs q-mt-xs`},nn=[`aria-label`,`onClick`,`onKeydown`],rn={key:1,class:`row q-gutter-xs q-mt-xs`},an=z(b({__name:`AgentMessageAttachments`,props:{context:{}},setup(e){let t=e,{t:n}=Y(),i=B(),a=C(null),o=P({get:()=>a.value!==null,set:e=>{e||(a.value=null)}});function s(e){e.kind===`attachment`&&i.dialog({title:n(`agent.attach.downloadTitle`),message:n(`agent.attach.downloadMessage`,{name:e.name}),ok:{label:n(`agent.attach.download`),flat:!0,noCaps:!0},cancel:{label:n(`agent.newChat.cancel`),flat:!0,noCaps:!0}}).onOk(()=>{qt(e)})}let l=P(()=>t.context.filter(Wt)),u=P(()=>t.context.filter(e=>!Wt(e)));return(e,t)=>(c(),y(`div`,null,[l.value.length>0?(c(),y(`div`,tn,[(c(!0),y(N,null,r(l.value,(e,t)=>(c(),y(`div`,{key:t,class:`agent-item__thumb`,role:`button`,tabindex:`0`,"aria-label":e.name,onClick:t=>a.value=e,onKeydown:ie(t=>a.value=e,[`enter`])},[x(Ht,{src:D(Gt)(e),alt:e.name,fit:`cover`,class:`fit rounded-borders`},null,8,[`src`,`alt`])],40,nn))),128))])):F(``,!0),x(en,{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,title:a.value?.name??``,alt:a.value?.name??``,src:a.value?D(Gt)(a.value):``},null,8,[`modelValue`,`title`,`alt`,`src`]),u.value.length>0?(c(),y(`div`,rn,[(c(!0),y(N,null,r(u.value,(e,t)=>(c(),E(Qt,{key:t,downloadable:``,item:e,onDownload:t=>s(e)},null,8,[`item`,`onDownload`]))),128))])):F(``,!0)]))}}),[[`__scopeId`,`data-v-c8e559ff`]]),on={class:`agent-item__text`},sn=z(b({__name:`AgentUserMessage`,props:{item:{}},setup(e){return(t,n)=>(c(),E(Lt,{sent:``,"bg-color":`primary`,"text-color":`white`,class:`agent-item`},{default:M(()=>[_(`div`,null,[_(`div`,on,p(e.item.text),1),x(an,{context:e.item.context},null,8,[`context`])])]),_:1}))}}),[[`__scopeId`,`data-v-fa776a7b`]]),cn=300,ln=z(b({__name:`AgentAssistantMessage`,props:{text:{}},setup(e){let t=B();return(n,r)=>(c(),E(Lt,{size:`12`,"bg-color":D(t).dark.isActive?`grey-9`:`grey-3`,"text-color":D(t).dark.isActive?`grey-2`:`grey-10`,class:`agent-item`},{default:M(()=>[x(Ve,{text:e.text,"mermaid-debounce":cn},null,8,[`text`])]),_:1},8,[`bg-color`,`text-color`]))}}),[[`__scopeId`,`data-v-357e63c1`]]),un=q({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:r}){let i=!1,a,o,s=null,c,l;function u(){a?.(),a=null,i=!1,s!==null&&(clearTimeout(s),s=null),o?.removeEventListener(`transitionend`,c),c=null}function d(t,n,r){return n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,i=!0,a=r,t.scrollHeight}function f(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,u(),t!==l&&r(t)}function p(t,n){let r=0;o=t;let p=i;if(p?u():l=`hide`,e.duration<=0){a=n,f(t,`show`);return}p?r=t.offsetHeight===t.scrollHeight?0:void 0:t.style.overflowY=`hidden`;let m=d(t,r,n);t.style.height=`${m}px`,c=e=>{(Object(e)!==e||e.target===t)&&f(t,`show`)},t.addEventListener(`transitionend`,c),s=setTimeout(c,e.duration*1.1)}function m(t,n){let r;o=t;let p=i;if(p?u():l=`show`,e.duration<=0){a=n,f(t,`hide`);return}p===!1&&(t.style.overflowY=`hidden`,r=t.scrollHeight),d(t,r,n),t.style.height=0,c=e=>{(Object(e)!==e||e.target===t)&&f(t,`hide`)},t.addEventListener(`transitionend`,c),s=setTimeout(c,e.duration*1.1)}return n(()=>{i&&u()}),()=>L(oe,{css:!1,appear:e.appear,onEnter:p,onLeave:m},t.default)}}),dn=ee({});function fn(e){e.keyCode===32&&ye(e)}var pn=Object.keys(he),mn=q({name:`QExpansionItem`,props:{...he,...Ce,...Re,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...Le,`click`,`afterShow`,`afterHide`],setup(e,{slots:t,emit:r}){let a=B(),s=ke(e,a),c=k(e.modelValue===null?e.defaultOpened:e.modelValue),l=C(null),u=Ae(),{show:d,hide:f,toggle:p}=we({showing:c}),m,h,g=P(()=>`q-expansion-item q-item-type q-expansion-item--${c.value?`expanded`:`collapsed`} q-expansion-item--${e.popup?`popup`:`standard`}`),_=P(()=>e.contentInsetLevel===void 0?null:{[`padding`+(a.lang.rtl?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),v=P(()=>!e.disable&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),y=P(()=>{let t={};return pn.forEach(n=>{t[n]=e[n]}),t}),b=P(()=>v.value||!e.expandIconToggle),x=P(()=>e.expandedIcon!==void 0&&c.value?e.expandedIcon:e.expandIcon||a.iconSet.expansionItem[e.denseToggle?`denseIcon`:`icon`]),S=P(()=>!e.disable&&(v.value||e.expandIconToggle)),w=P(()=>({expanded:c.value,detailsId:u.value,toggle:p,show:d,hide:f})),T=P(()=>{let t=e.toggleAriaLabel===void 0?a.lang.label[c.value?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":c.value?`true`:`false`,"aria-controls":u.value,"aria-label":t}});i(()=>e.group,e=>{h?.(),e!==void 0&&M()});function E(e){v.value||p(e),r(`click`,e)}function D(e){[13,32].includes(e.keyCode)&&O(e,!0)}function O(e,t){!t&&!e.qAvoidFocus&&l.value?.focus({preventScroll:!0}),p(e),ye(e)}function A(){r(`afterShow`)}function j(){r(`afterHide`)}function M(){m===void 0&&(m=je()),c.value&&(dn[e.group]=m);let t=i(c,t=>{t?dn[e.group]=m:dn[e.group]===m&&delete dn[e.group]}),n=i(()=>dn[e.group],(e,t)=>{t===m&&e!==void 0&&e!==m&&f()});h=()=>{t(),n(),dn[e.group]===m&&delete dn[e.group],h=void 0}}function N(){let t={class:[`q-expansion-item__toggle-section${e.switchToggleSide?` q-expansion-item__toggle-section--switched`:``} q-focusable relative-position cursor-pointer${e.denseToggle&&e.switchToggleSide?` items-end`:``}`,e.expandIconClass],side:!0},n=[L(W,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&c.value?` q-expansion-item__toggle-icon--rotated`:``),name:x.value})];return S.value&&(Object.assign(t,{tabindex:0,...T.value,onClick:O,onKeydown:fn,onKeyup:D}),n.unshift(L(`div`,{ref:l,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),L(Q,t,()=>n)}function ee(){let n;return t.header===void 0?(n=[L(Q,()=>[L(pt,{lines:e.labelLines},()=>e.label||``),e.caption?L(pt,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&n[e.switchToggleSide?`push`:`unshift`](L(Q,{class:`q-expansion-item__icon-section`,avatar:!0},()=>L(W,{name:e.icon})))):n=[t.header(w.value)].flat(),!e.disable&&!e.hideExpandIcon&&n[e.switchToggleSide?`unshift`:`push`](N()),n}function te(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:s(),disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return b.value&&(t.clickable=!0,t.onClick=E,Object.assign(t,v.value?y.value:T.value)),L(Z,t,ee)}function F(){return o(L(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:_.value,id:u.value},le(t.default)),[[ce,c.value]])}function I(){let t=[te(),L(un,{duration:e.duration,onShow:A,onHide:j},F)];return e.expandSeparator&&t.push(L(Ie,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:s()}),L(Ie,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:s()})),t}return e.group!==void 0&&M(),n(()=>{h?.()}),()=>L(`div`,{class:g.value},[L(`div`,{class:`q-expansion-item__container relative-position`},I())])}});function $(){}$.prototype={diff:function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.callback;typeof n==`function`&&(r=n,n={}),this.options=n;var i=this;function a(e){return r?(setTimeout(function(){r(void 0,e)},0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var o=t.length,s=e.length,c=1,l=o+s;n.maxEditLength&&(l=Math.min(l,n.maxEditLength));var u=n.timeout??1/0,d=Date.now()+u,f=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(f[0],t,e,0);if(f[0].oldPos+1>=s&&p+1>=o)return a([{value:this.join(t),count:t.length}]);var m=-1/0,h=1/0;function g(){for(var n=Math.max(m,-c);n<=Math.min(h,c);n+=2){var r=void 0,l=f[n-1],u=f[n+1];l&&(f[n-1]=void 0);var d=!1;if(u){var g=u.oldPos-n;d=u&&0<=g&&g<o}var _=l&&l.oldPos+1<s;if(!d&&!_){f[n]=void 0;continue}if(r=!_||d&&l.oldPos+1<u.oldPos?i.addToPath(u,!0,void 0,0):i.addToPath(l,void 0,!0,1),p=i.extractCommon(r,t,e,n),r.oldPos+1>=s&&p+1>=o)return a(hn(i,r.lastComponent,t,e,i.useLongestToken));f[n]=r,r.oldPos+1>=s&&(h=Math.min(h,n-1)),p+1>=o&&(m=Math.max(m,n+1))}c++}if(r)(function e(){setTimeout(function(){if(c>l||Date.now()>d)return r();g()||e()},0)})();else for(;c<=l&&Date.now()<=d;){var _=g();if(_)return _}},addToPath:function(e,t,n,r){var i=e.lastComponent;return i&&i.added===t&&i.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:i.count+1,added:t,removed:n,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:i}}},extractCommon:function(e,t,n,r){for(var i=t.length,a=n.length,o=e.oldPos,s=o-r,c=0;s+1<i&&o+1<a&&this.equals(t[s+1],n[o+1]);)s++,o++,c++;return c&&(e.lastComponent={count:c,previousComponent:e.lastComponent}),e.oldPos=o,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split(``)},join:function(e){return e.join(``)}};function hn(e,t,n,r,i){for(var a=[],o;t;)a.push(t),o=t.previousComponent,delete t.previousComponent,t=o;a.reverse();for(var s=0,c=a.length,l=0,u=0;s<c;s++){var d=a[s];if(!d.removed){if(!d.added&&i){var f=n.slice(l,l+d.count);f=f.map(function(e,t){var n=r[u+t];return n.length>e.length?n:e}),d.value=e.join(f)}else d.value=e.join(n.slice(l,l+d.count));l+=d.count,d.added||(u+=d.count)}else if(d.value=e.join(r.slice(u,u+d.count)),u+=d.count,s&&a[s-1].added){var p=a[s-1];a[s-1]=a[s],a[s]=p}}var m=a[c-1];return c>1&&typeof m.value==`string`&&(m.added||m.removed)&&e.equals(``,m.value)&&(a[c-2].value+=m.value,a.pop()),a}new $;var gn=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,_n=/\S/,vn=new $;vn.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!_n.test(e)&&!_n.test(t)},vn.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&gn.test(t[n])&&gn.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var yn=new $;yn.tokenize=function(e){this.options.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
2
|
-
`));var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var r=0;r<n.length;r++){var i=n[r];r%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}return t};function bn(e,t,n){return yn.diff(e,t,n)}var xn=new $;xn.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var Sn=new $;Sn.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};function Cn(e){"@babel/helpers - typeof";return Cn=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Cn(e)}var wn=Object.prototype.toString,Tn=new $;Tn.useLongestToken=!0,Tn.tokenize=yn.tokenize,Tn.castInput=function(e){var t=this.options,n=t.undefinedReplacement,r=t.stringifyReplacer,i=r===void 0?function(e,t){return t===void 0?n:t}:r;return typeof e==`string`?e:JSON.stringify(En(e,null,null,i),i,` `)},Tn.equals=function(e,t){return $.prototype.equals.call(Tn,e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`))};function En(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i,e));for(var a=0;a<t.length;a+=1)if(t[a]===e)return n[a];var o;if(wn.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=En(e[a],t,n,r,i);return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),Cn(e)===`object`&&e!==null){t.push(e),o={},n.push(o);var s=[],c;for(c in e)e.hasOwnProperty(c)&&s.push(c);for(s.sort(),a=0;a<s.length;a+=1)c=s[a],o[c]=En(e[c],t,n,r,c);t.pop(),n.pop()}else o=e;return o}var Dn=new $;Dn.tokenize=function(e){return e.slice()},Dn.join=Dn.removeEmpty=function(e){return e};var On={class:`agent-diff`},kn={class:`agent-diff__path text-mono text-caption`},An={class:`agent-diff__body text-mono`},jn={key:0,class:`text-caption text-grey-6 q-pa-xs`},Mn={key:1,class:`text-caption text-warning q-pa-xs`},Nn=200,Pn=z(b({__name:`AgentDiffView`,props:{diff:{}},setup(e){let n={added:`+`,removed:`-`,context:` `},i=e,{t:a}=Y(),o=P(()=>{let e=[];for(let t of bn(i.diff.oldText??``,i.diff.newText)){let n=t.added?`added`:t.removed?`removed`:`context`,r=t.value.replace(/\n$/,``).split(`
|
|
3
|
-
`);for(let t of r)e.push({type:n,text:t})}return{rows:e.slice(0,Nn),hidden:Math.max(0,e.length-Nn)}});return(i,s)=>(c(),y(`div`,On,[_(`div`,kn,p(e.diff.path),1),_(`pre`,An,[(c(!0),y(N,null,r(o.value.rows,(e,r)=>(c(),y(`span`,{key:r,class:t([`agent-diff__row`,`agent-diff__row--${e.type}`])},p(n[e.type])+p(e.text)+`
|
|
4
|
-
`,3))),128))]),o.value.hidden>0?(c(),y(`div`,jn,` … `+p(o.value.hidden)+` more lines `,1)):F(``,!0),e.diff.truncated?(c(),y(`div`,Mn,p(D(a)(`agent.tool.diffTruncated`)),1)):F(``,!0)]))}}),[[`__scopeId`,`data-v-60226168`]]),Fn={class:`q-px-sm q-pb-xs column q-gutter-y-xs agent-tool__body`},In={class:`agent-tool__caption text-grey-6`},Ln={class:`agent-tool__output text-mono`},Rn=z(b({__name:`AgentToolCard`,props:{item:{}},setup(e){let t={read:`description`,edit:`edit`,delete:`delete`,move:`drive_file_move`,search:`search`,execute:`terminal`,think:`psychology`,fetch:`cloud_download`,switch_mode:`swap_horiz`},n={pending:`grey`,in_progress:`primary`,completed:`positive`,failed:`negative`},{t:i}=Y();return(a,o)=>(c(),E(mn,{dense:``,"dense-toggle":``,"switch-toggle-side":``,class:`agent-tool`,"default-opened":e.item.diffs.length>0},{header:M(()=>[x(Q,{avatar:``,class:`agent-tool__icon`},{default:M(()=>[x(W,{name:t[e.item.toolKind??``]??`build`,size:`14px`},null,8,[`name`])]),_:1}),x(Q,null,{default:M(()=>[x(pt,{class:`ellipsis`},{default:M(()=>[O(p(e.item.title||e.item.locations[0]||e.item.toolKind),1)]),_:1})]),_:1}),x(Q,{side:``},{default:M(()=>[e.item.status===`in_progress`?(c(),E(ge,{key:0,size:`12px`,color:`primary`})):(c(),E(nt,{key:1,outline:``,class:`agent-tool__badge`,rounded:``,color:n[e.item.status],label:e.item.status===`failed`?D(i)(`agent.tool.failed`):e.item.status===`completed`?`✓`:`…`},null,8,[`color`,`label`]))]),_:1})]),default:M(()=>[_(`div`,Fn,[(c(!0),y(N,null,r(e.item.locations.filter(t=>!e.item.diffs.some(e=>e.path===t)),e=>(c(),y(`div`,{key:e,class:`text-mono text-caption text-grey-6 ellipsis`},p(e),1))),128)),(c(!0),y(N,null,r(e.item.diffs,e=>(c(),E(Pn,{key:e.path,diff:e},null,8,[`diff`]))),128)),e.item.output?(c(),y(N,{key:0},[_(`div`,In,p(D(i)(`agent.tool.output`)),1),_(`pre`,Ln,p(e.item.output),1)],64)):F(``,!0)])]),_:1},8,[`default-opened`]))}}),[[`__scopeId`,`data-v-6537eaaa`]]),zn={class:`q-px-md q-pb-xs agent-thought__text`},Bn=z(b({__name:`AgentThoughtMessage`,props:{text:{}},setup(e){let{t}=Y();return(n,r)=>(c(),E(mn,{dense:``,"dense-toggle":``,class:`agent-item agent-thought text-grey-6`,label:D(t)(`agent.thinking`),icon:`psychology`},{default:M(()=>[_(`div`,zn,p(e.text),1)]),_:1},8,[`label`]))}}),[[`__scopeId`,`data-v-2bc07051`]]),Vn={class:`agent-item agent-auto-approved row no-wrap items-center text-grey-6`},Hn={class:`ellipsis`},Un=z(b({__name:`AgentAutoApprovedMessage`,props:{title:{}},setup(e){let{t}=Y();return(n,r)=>(c(),y(`div`,Vn,[x(W,{name:`gpp_maybe`,color:`warning`,class:`q-mr-xs`}),_(`span`,Hn,p(D(t)(`agent.autoApprove.approved`,{title:e.title})),1)]))}}),[[`__scopeId`,`data-v-c0c0181b`]]),Wn=b({__name:`AgentErrorMessage`,props:{text:{},canContinue:{type:Boolean}},emits:[`continue`],setup(e,{emit:t}){let n=t,{t:r}=Y();return(t,i)=>(c(),E(qe,{dense:``,rounded:``,class:`agent-item bg-negative text-white`},j({default:M(()=>[O(p(e.text)+` `,1)]),_:2},[e.canContinue?{name:`action`,fn:M(()=>[x(G,{flat:``,dense:``,"no-caps":``,label:D(r)(`agent.continue`),onClick:i[0]||=e=>n(`continue`)},null,8,[`label`])]),key:`0`}:void 0]),1024))}}),Gn=b({__name:`AgentChatItem`,props:{item:{},canContinue:{type:Boolean}},emits:[`continue`],setup(e,{emit:t}){let n=t;return(t,r)=>e.item.kind===`user`?(c(),E(sn,{key:0,item:e.item},null,8,[`item`])):e.item.kind===`agent`?(c(),E(ln,{key:1,text:e.item.text},null,8,[`text`])):e.item.kind===`thought`?(c(),E(Bn,{key:2,text:e.item.text},null,8,[`text`])):e.item.kind===`auto-approved`?(c(),E(Un,{key:3,title:e.item.title},null,8,[`title`])):e.item.kind===`tool`?(c(),E(Rn,{key:4,class:`agent-item`,item:e.item},null,8,[`item`])):(c(),E(Wn,{key:5,text:e.item.text,"can-continue":e.canContinue,onContinue:r[0]||=e=>n(`continue`)},null,8,[`text`,`can-continue`]))}}),Kn=z(b({__name:`AgentChatBanners`,props:{autoApprovesEdits:{type:Boolean},autoApprove:{type:Boolean},reviewStale:{type:Boolean},closed:{type:Boolean},error:{}},emits:[`disable-auto-approve`],setup(e,{emit:t}){let n=t,{t:r}=Y();return(t,i)=>(c(),y(N,null,[e.autoApprovesEdits&&!e.autoApprove?(c(),E(qe,{key:0,dense:``,class:`bg-warning text-dark agent-chat-banners__banner`},{default:M(()=>[O(p(D(r)(`agent.autoApprovesEdits`)),1)]),_:1})):F(``,!0),e.autoApprove?(c(),E(qe,{key:1,dense:``,"inline-actions":``,class:`bg-warning text-dark agent-chat-banners__banner`},{action:M(()=>[x(G,{flat:``,dense:``,"no-caps":``,color:`blue-10`,class:`text-weight-bold`,label:D(r)(`agent.autoApprove.turnOff`),onClick:i[0]||=e=>n(`disable-auto-approve`)},null,8,[`label`])]),default:M(()=>[O(p(D(r)(`agent.autoApprove.banner`))+` `,1)]),_:1})):F(``,!0),e.reviewStale?(c(),E(qe,{key:2,dense:``,class:`bg-warning text-dark agent-chat-banners__banner`},{default:M(()=>[O(p(D(r)(`agent.reviewStale`)),1)]),_:1})):F(``,!0),e.closed?(c(),E(qe,{key:3,dense:``,class:`bg-grey-7 text-white agent-chat-banners__banner`},{default:M(()=>[O(p(D(r)(`agent.sessionClosed`)),1)]),_:1})):F(``,!0),e.error?(c(),E(qe,{key:4,dense:``,class:`bg-negative text-white agent-chat-banners__banner`},{default:M(()=>[O(p(e.error),1)]),_:1})):F(``,!0)],64))}}),[[`__scopeId`,`data-v-ece62303`]]);function qn(e){let t=/(?:^|\s)@([^\s@]*)$/.exec(e);if(!t)return null;let n=t[1]??``;return{query:n,start:e.length-n.length-1}}function Jn(e,t){let n=e.split(`/`),r=n.at(-1)??e;return t.some(t=>t!==e&&t.split(`/`).at(-1)===r)&&n.length>1?n.slice(-2).join(`/`):r}function Yn(e){let t=[],n=``;function r(e){for(let i of e)i.type===`text`?n+=i.text:i.type===`br`?n+=`
|
|
5
|
-
`:i.type===`mention`?(n+=`@${i.path}`,t.includes(i.path)||t.push(i.path)):(n!==``&&!n.endsWith(`
|
|
6
|
-
`)&&(n+=`
|
|
7
|
-
`),r(i.children))}return r(e),{text:n.replace(/ /g,` `).trim(),files:t}}function Xn(e){return e instanceof HTMLElement&&e.classList.contains(`agent-mention`)}function Zn(e){let t=[];for(let n of e.childNodes)n instanceof Text?t.push({type:`text`,text:n.data}):Xn(n)?t.push({type:`mention`,path:n.dataset.path??``}):n instanceof HTMLBRElement?t.push({type:`br`}):n instanceof HTMLElement&&t.push({type:`block`,children:Zn(n)});return t}function Qn(e){let t=document.createElement(`span`);t.className=`agent-mention`,t.contentEditable=`false`,t.dataset.path=e,t.title=e;let n=document.createElement(`span`);n.className=`agent-mention__label`;let r=document.createElement(`button`);return r.type=`button`,r.className=`agent-mention__remove`,r.tabIndex=-1,r.textContent=`×`,t.append(n,r),t}function $n(e,t){let n=window.getSelection(),r;if(n&&n.rangeCount>0){let e=n.getRangeAt(0).cloneRange();e.collapse(!0),r=e.getBoundingClientRect()}(!r||r.top===0&&r.height===0)&&(r=e?.getBoundingClientRect());let i=r?.top??window.innerHeight,a=r?.left??8;return{left:Math.max(8,Math.min(a,window.innerWidth-t-8)),bottom:window.innerHeight-i+6}}function er(e){let t=window.getSelection();if(!t||!t.isCollapsed||!e||!t.focusNode||!e.contains(t.focusNode))return null;let{focusNode:n,focusOffset:r}=t;if(n instanceof Text&&r===0){let e=n.previousSibling;return Xn(e)?e:null}if(n===e&&r>0){let t=e?.childNodes[r-1];return Xn(t)?t:null}return null}function tr(e,t){let n=((t.target instanceof Element?t.target:null)?.closest(`.agent-mention__remove`))?.closest(`.agent-mention`);return Xn(n)&&e?.contains(n)?n:null}function nr(e,t){return!!e?.contains(t.node)&&t.start>=0&&t.end<=t.node.length&&t.end>t.start&&t.node.data.slice(t.start,t.end)===t.text}function rr(e,t,n){if(!nr(e,t))return!1;let r=document.createRange();r.setStart(t.node,t.start),r.setEnd(t.node,t.end),r.deleteContents();let i=Qn(n);r.insertNode(i);let a=document.createTextNode(` `);i.after(a);let o=document.createRange();o.setStart(a,1),o.collapse(!0);let s=window.getSelection();return s?.removeAllRanges(),s?.addRange(o),!0}var ir=80,ar=30;function or(e){let{registerTimeout:t,removeTimeout:r}=Oe(),i=0;function a(){r(),i++}async function o(t,n){try{let{files:r}=await Ye(`/api/agent/files?q=${encodeURIComponent(t)}&limit=${ar}`);n===i&&e.onResult(r)}catch{n===i&&e.onError()}}function s(e){let n=++i;t(()=>{o(e,n)},ir)}return n(a),T(a),{search:s,cancel:a}}var sr=340;function cr(e,t){let r=C(null),a=null,{search:o,cancel:s}=or({onResult(n){a&&!v(t.disabled)&&nr(v(e),a)?r.value={items:n,active:0,...$n(v(e),sr)}:c()},onError:c});function c(){s(),a=null,r.value=null}function l(){let n=window.getSelection(),r=n?.focusNode;if(v(t.disabled)||!n||!n.isCollapsed||!(r instanceof Text)||!v(e)?.contains(r)){c();return}let i=qn(r.data.slice(0,n.focusOffset));if(!i){c();return}a={node:r,start:i.start,end:n.focusOffset,text:r.data.slice(i.start,n.focusOffset)},o(i.query)}function u(n){let i=r.value?.items[n];if(v(t.disabled)||i===void 0||!a){c();return}let o=rr(v(e),a,i);c(),o&&t.onChanged()}function d(e){let t=r.value;if(!t)return!1;if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),t.items.length>0){let n=e.key===`ArrowDown`?1:-1;r.value={...t,active:(t.active+n+t.items.length)%t.items.length}}return!0}return(e.key===`Tab`||e.key===`Enter`)&&!e.shiftKey&&t.items.length>0?(e.preventDefault(),u(t.active),!0):e.key===`Escape`&&(e.preventDefault(),c(),!0)}return i(()=>v(t.disabled),e=>{e&&c()},{flush:`sync`}),i(()=>v(e),c,{flush:`sync`}),n(c),T(c),{popup:r,closePopup:c,updateTrigger:l,pick:u,handleKeydown:d}}function lr(e,t){let{t:n,locale:r}=Y(),a=A(e),o=C(!0),{popup:s,closePopup:c,updateTrigger:l,pick:u,handleKeydown:d}=cr(e,{disabled:t.disabled,onChanged:g});function f(){return a.value?Yn(Zn(a.value)):{text:``,files:[]}}function p(){return a.value?[...a.value.querySelectorAll(`.agent-mention`)]:[]}function m(){let e=p(),t=e.map(e=>e.dataset.path??``);for(let r of e){let e=Jn(r.dataset.path??``,t),i=r.querySelector(`.agent-mention__label`);i&&(i.textContent=`@${e}`),r.querySelector(`.agent-mention__remove`)?.setAttribute(`aria-label`,n(`agent.mention.remove`,{name:e}))}}function h(){let e=f().text===``;e&&a.value&&p().length===0&&a.value.replaceChildren(),e!==o.value&&(o.value=e,t.onEmptyChange(e))}function g(){m(),h()}function _(e){e.remove(),m(),h()}function y(){v(t.disabled)||(h(),l())}function b(e){if(!(e.isComposing||e.keyCode===229)&&!(v(t.disabled)||d(e))){if(e.key===`Tab`&&e.shiftKey&&v(t.cycleMode))e.preventDefault(),t.onCycleMode();else if(e.key===`Enter`)e.preventDefault(),e.shiftKey?document.execCommand(`insertLineBreak`):t.onSubmit();else if(e.key===`Backspace`){let t=er(a.value);t&&(e.preventDefault(),_(t))}}}function x(e){[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)&&l()}function S(e){if(v(t.disabled)){e.preventDefault();return}let n=Xt(e.clipboardData);if(n.length>0){e.preventDefault(),t.onFiles(n);return}let r=e.clipboardData?.getData(`text/plain`);r!==void 0&&(e.preventDefault(),document.execCommand(`insertText`,!1,r))}function w(e){tr(a.value,e)&&e.preventDefault()}function T(e){if(v(t.disabled))return;let n=tr(a.value,e);if(n){_(n),a.value?.focus();return}l()}function E(){a.value?.focus()}function D(){a.value&&a.value.replaceChildren(),c(),h()}function O(){v(t.disabled)||(E(),document.execCommand(`insertText`,!1,`@`),l())}return i(r,m),{empty:o,popup:s,serialize:f,clear:D,focus:E,startMention:O,closePopup:c,pick:u,onInput:y,onKeydown:b,onKeyup:x,onPaste:S,onMousedown:w,onClick:T}}var ur=[`aria-label`],dr={key:0,class:`q-pa-sm text-caption text-grey-6`},fr=[`id`,`aria-selected`,`onClick`],pr={class:`agent-mention-popup__name`},mr={class:`agent-mention-popup__dir`},hr=z(b({__name:`AgentMentionPopup`,props:{items:{},active:{},left:{},bottom:{},idPrefix:{}},emits:[`pick`],setup(e,{emit:n}){let a=e,o=n,{t:s}=Y(),l=B();function u(e){let t=e.lastIndexOf(`/`);return t===-1?{name:e,dir:``}:{name:e.slice(t+1),dir:e.slice(0,t)}}let d=P(()=>a.items.map(e=>({path:e,...u(e)})));return i(()=>a.active,async e=>{await I(),document.getElementById(`${a.idPrefix}-${e}`)?.scrollIntoView({block:`nearest`})}),(n,i)=>(c(),E(S,{to:`body`},[_(`div`,{class:t([`agent-mention-popup shadow-4`,D(l).dark.isActive?`bg-grey-9 text-white`:`bg-white text-dark`]),role:`listbox`,"aria-label":D(s)(`agent.mention.list`),style:ne({left:`${e.left}px`,bottom:`${e.bottom}px`}),onMousedown:i[0]||=U(()=>{},[`prevent`])},[e.items.length===0?(c(),y(`div`,dr,p(D(s)(`agent.mention.noFiles`)),1)):F(``,!0),(c(!0),y(N,null,r(d.value,({path:n,name:r,dir:i},a)=>(c(),y(`div`,{id:`${e.idPrefix}-${a}`,key:n,role:`option`,class:t([`agent-mention-popup__item`,{"agent-mention-popup__item--active":a===e.active}]),"aria-selected":a===e.active,onClick:e=>o(`pick`,a)},[_(`span`,pr,p(r),1),_(`span`,mr,p(i),1)],10,fr))),128))],46,ur)]))}}),[[`__scopeId`,`data-v-a7a8b754`]]),gr={class:`agent-editor-wrap`},_r=[`contenteditable`,`aria-label`,`aria-disabled`,`aria-expanded`,`aria-controls`,`aria-activedescendant`,`data-placeholder`],vr=z(b({__name:`AgentMentionEditor`,props:{disabled:{type:Boolean},placeholder:{},label:{},cycleMode:{type:Boolean}},emits:[`submit`,`cycle-mode`,`empty-change`,`files`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=m(`root`),s=h(),{empty:l,popup:u,serialize:d,clear:f,focus:p,startMention:g,closePopup:v,pick:b,onInput:x,onKeydown:S,onKeyup:C,onPaste:w,onMousedown:T,onClick:O}=lr(o,{disabled:()=>i.disabled,cycleMode:()=>i.cycleMode,onSubmit:()=>a(`submit`),onCycleMode:()=>a(`cycle-mode`),onEmptyChange:e=>a(`empty-change`,e),onFiles:e=>a(`files`,e)});return n({serialize:d,clear:f,focus:p,startMention:g}),(n,r)=>(c(),y(`div`,gr,[_(`div`,{ref_key:`root`,ref:o,class:t([`agent-editor`,{"agent-editor--empty":D(l)}]),contenteditable:e.disabled?`false`:`true`,role:`textbox`,"aria-multiline":`true`,"aria-autocomplete":`list`,"aria-label":e.label,"aria-disabled":e.disabled?`true`:void 0,"aria-expanded":D(u)?`true`:`false`,"aria-controls":D(u)?D(s):void 0,"aria-activedescendant":D(u)?`${D(s)}-${D(u).active}`:void 0,"data-placeholder":e.placeholder,spellcheck:`true`,onInput:r[0]||=(...e)=>D(x)&&D(x)(...e),onKeydown:r[1]||=(...e)=>D(S)&&D(S)(...e),onKeyup:r[2]||=(...e)=>D(C)&&D(C)(...e),onPaste:r[3]||=(...e)=>D(w)&&D(w)(...e),onMousedown:r[4]||=(...e)=>D(T)&&D(T)(...e),onClick:r[5]||=(...e)=>D(O)&&D(O)(...e),onBlur:r[6]||=(...e)=>D(v)&&D(v)(...e)},null,42,_r),D(u)?(c(),E(hr,{key:0,items:D(u).items,active:D(u).active,left:D(u).left,bottom:D(u).bottom,"id-prefix":D(s),onPick:D(b)},null,8,[`items`,`active`,`left`,`bottom`,`id-prefix`,`onPick`])):F(``,!0)]))}}),[[`__scopeId`,`data-v-d04db174`]]),yr={class:`agent-attachment-thumb`},br=z(b({__name:`AgentAttachmentThumbnail`,props:{item:{}},emits:[`remove`],setup(e,{emit:t}){let n=e,r=t,{t:i}=Y(),a=P(()=>Gt(n.item));return(t,n)=>(c(),y(`div`,yr,[x(Ht,{src:a.value,alt:e.item.name,fit:`cover`,class:`fit rounded-borders`},null,8,[`src`,`alt`]),x(G,{round:``,dense:``,unelevated:``,size:`xs`,color:`grey-8`,icon:`close`,class:`agent-attachment-thumb-remove`,"aria-label":D(i)(`agent.context.remove`),onClick:n[0]||=e=>r(`remove`)},null,8,[`aria-label`])]))}}),[[`__scopeId`,`data-v-b18100a3`]]),xr={key:0,class:`row items-center q-gutter-xs q-pa-xs`},Sr=b({__name:`AgentComposerContext`,props:{items:{}},emits:[`remove`],setup(e,{emit:t}){let n=t;return(t,i)=>e.items.length>0?(c(),y(`div`,xr,[(c(!0),y(N,null,r(e.items,(e,t)=>(c(),y(N,{key:t},[D(Wt)(e)?(c(),E(br,{key:0,item:e,onRemove:e=>n(`remove`,t)},null,8,[`item`,`onRemove`])):(c(),E(Qt,{key:1,removable:``,color:`primary`,"text-color":`white`,item:e,onRemove:e=>n(`remove`,t)},null,8,[`item`,`onRemove`]))],64))),128))])):F(``,!0)}}),Cr=z(b({__name:`AgentComposerAddMenu`,props:{disabled:{type:Boolean}},emits:[`files`,`mention`],setup(e,{emit:t}){let n=t,{t:r}=Y(),i=m(`fileInput`);function a(e){let t=e.target;t instanceof HTMLInputElement&&t.files&&(n(`files`,[...t.files]),t.value=``)}return(t,s)=>(c(),y(`div`,null,[_(`input`,{ref_key:`fileInput`,ref:i,type:`file`,multiple:``,hidden:``,onChange:a},null,544),x(G,{round:``,dense:``,flat:``,size:`sm`,icon:`add`,class:`q-ma-xs`,disable:e.disabled,"aria-label":D(r)(`agent.attach.menu`)},{default:M(()=>[x(ot,{anchor:`top left`,self:`bottom left`},{default:M(()=>[x(st,{dense:``,class:`agent-menu agent-add-menu`},{default:M(()=>[o((c(),E(Z,{clickable:``,onClick:s[0]||=e=>i.value?.click()},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:`upload_file`,size:`16px`})]),_:1}),x(Q,null,{default:M(()=>[O(p(D(r)(`agent.attach.uploadFile`)),1)]),_:1})]),_:1})),[[at]]),o((c(),E(Z,{clickable:``,onClick:s[1]||=e=>n(`mention`)},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:`alternate_email`,size:`16px`})]),_:1}),x(Q,null,{default:M(()=>[O(p(D(r)(`agent.attach.mentionFile`)),1)]),_:1})]),_:1})),[[at]])]),_:1})]),_:1})]),_:1},8,[`disable`,`aria-label`])]))}}),[[`__scopeId`,`data-v-3c2497e7`]]),wr=b({__name:`AgentComposerSubmitButton`,props:{status:{},isEmpty:{type:Boolean}},emits:[`send`,`cancel`],setup(e,{emit:t}){let n=t,{t:r}=Y();return(t,i)=>e.status===`busy`?(c(),E(G,{key:0,round:``,dense:``,flat:``,size:`sm`,color:`negative`,icon:`stop_circle`,class:`q-ma-xs`,"aria-label":D(r)(`agent.cancel`),onClick:i[0]||=e=>n(`cancel`)},null,8,[`aria-label`])):(c(),E(G,{key:1,round:``,dense:``,flat:``,size:`sm`,color:`primary`,icon:`send`,class:`q-ma-xs`,disable:e.status!==`ready`||e.isEmpty,"aria-label":D(r)(`agent.send`),onClick:i[1]||=e=>n(`send`)},null,8,[`disable`,`aria-label`]))}}),Tr=[`aria-label`],Er=z(b({__name:`AgentChatStatusDot`,props:{entry:{}},setup(e){let n=e,{t:r}=Y(),i=P(()=>{let{chat:e}=n.entry;return e.permissions.length>0?`attention`:e.status===`closed`?`closed`:e.status===`busy`||e.status===`starting`?`working`:`idle`}),a=P(()=>i.value===`attention`?r(`agent.chats.needsAnswer`):r(`agent.status.${n.entry.chat.status}`));return(e,n)=>(c(),y(`span`,{class:`agent-dot`,"aria-label":a.value,role:`img`},[i.value===`working`?(c(),E(It,{key:0,color:`primary`,size:`14px`})):(c(),y(`span`,{key:1,class:t([`agent-dot__mark`,`agent-dot__mark--${i.value}`])},null,2))],8,Tr))}}),[[`__scopeId`,`data-v-8919c3e4`]]),Dr={key:0,class:`q-pa-xs`},Or=8,kr=z(b({__name:`AgentConfigButton`,props:{option:{},disabled:{type:Boolean},hint:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{t:i}=Y(),a=k(``),s=P(()=>n.option.options??[]),l=P(()=>{let e=a.value.trim().toLowerCase();return e===``?s.value:s.value.filter(t=>t.name.toLowerCase().includes(e)||t.value.toLowerCase().includes(e))}),u=P(()=>s.value.find(e=>e.value===n.option.currentValue)?.name??String(n.option.currentValue));return(t,n)=>e.option.type===`boolean`?(c(),E(G,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,class:`agent-cfg`,disable:e.disabled,icon:e.option.currentValue===!0?`check_box`:`check_box_outline_blank`,label:e.option.name,onClick:n[0]||=t=>r(`select`,e.option.currentValue!==!0)},null,8,[`disable`,`icon`,`label`])):(c(),E(G,{key:1,flat:``,dense:``,"no-caps":``,size:`sm`,"icon-right":`expand_more`,class:`agent-cfg`,disable:e.disabled,label:u.value,"aria-label":`${e.option.name}: ${u.value}`,"aria-haspopup":`listbox`},{default:M(()=>[x(Ue,{delay:500},{default:M(()=>[O(p(e.option.name),1),e.hint?(c(),y(N,{key:0},[O(` · `+p(e.hint),1)],64)):F(``,!0)]),_:1}),x(ot,{anchor:`top left`,self:`bottom left`,onBeforeShow:n[2]||=e=>a.value=``},{default:M(()=>[s.value.length>Or?(c(),y(`div`,Dr,[x(Fe,{modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,dense:``,outlined:``,autofocus:``,placeholder:D(i)(`agent.config.filter`)},null,8,[`modelValue`,`placeholder`])])):F(``,!0),l.value.length>0?(c(),E(gt,{key:1,items:l.value,"virtual-scroll-item-size":40,class:`agent-menu agent-cfg__list`},{default:M(({item:t})=>[o((c(),E(Z,{key:t.value,dense:``,clickable:``,onClick:e=>r(`select`,t.value)},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[t.value===e.option.currentValue?(c(),E(W,{key:0,name:`check`,size:`16px`,color:`primary`})):F(``,!0)]),_:2},1024),x(Q,null,{default:M(()=>[x(pt,null,{default:M(()=>[O(p(t.name),1)]),_:2},1024),t.description||t.group?(c(),E(pt,{key:0,caption:``},{default:M(()=>[O(p(t.group)+p(t.group&&t.description?` · `:``)+p(t.description),1)]),_:2},1024)):F(``,!0)]),_:2},1024)]),_:2},1032,[`onClick`])),[[at]])]),_:1},8,[`items`])):(c(),E(Z,{key:2,dense:``},{default:M(()=>[x(Q,{class:`text-grey`},{default:M(()=>[O(p(D(i)(`agent.config.noMatch`)),1)]),_:1})]),_:1}))]),_:1})]),_:1},8,[`disable`,`label`,`aria-label`]))}}),[[`__scopeId`,`data-v-bfa2d9dd`]]),Ar=b({__name:`AgentAutoApproveButton`,props:{enabled:{type:Boolean},disabled:{type:Boolean}},emits:[`toggle`],setup(e,{emit:n}){let r=e,i=n,{t:a}=Y(),o=P(()=>a(r.enabled?`agent.autoApprove.tooltipOn`:`agent.autoApprove.tooltipOff`));return(n,r)=>(c(),E(G,{flat:``,round:``,dense:``,size:`sm`,icon:e.enabled?`gpp_maybe`:`shield`,color:e.enabled?`warning`:void 0,class:t({"text-grey-6":!e.enabled}),disable:e.disabled,"aria-pressed":e.enabled,"aria-label":o.value,onClick:r[0]||=e=>i(`toggle`)},{default:M(()=>[x(Ue,null,{default:M(()=>[O(p(o.value),1)]),_:1})]),_:1},8,[`icon`,`color`,`class`,`disable`,`aria-pressed`,`aria-label`]))}}),jr={class:`agent-composer__status row no-wrap items-center`},Mr={class:`row no-wrap items-center agent-composer__state`},Nr={class:`q-ml-xs`},Pr={class:`col row items-center q-gutter-x-xs`},Fr=z(b({__name:`AgentComposerSettings`,props:{entry:{},modelOption:{},modeOption:{},otherOptions:{},settingsLocked:{type:Boolean}},emits:[`select`,`toggle-auto-approve`],setup(e,{emit:t}){let n=e,i=t,{t:a}=Y(),o=P(()=>n.entry.chat.status),s=P(()=>n.entry.chat.autoApprove);return(t,n)=>(c(),y(`div`,jr,[_(`span`,Mr,[x(Er,{entry:e.entry},null,8,[`entry`]),_(`span`,Nr,p(D(a)(`agent.status.${o.value}`)),1)]),_(`div`,Pr,[e.modelOption?(c(),E(kr,{key:0,option:e.modelOption,disabled:e.settingsLocked,onSelect:n[0]||=t=>i(`select`,e.modelOption,t)},null,8,[`option`,`disabled`])):F(``,!0),e.modeOption?(c(),E(kr,{key:1,option:e.modeOption,disabled:e.settingsLocked,hint:D(a)(`agent.modeHint`),onSelect:n[1]||=t=>i(`select`,e.modeOption,t)},null,8,[`option`,`disabled`,`hint`])):F(``,!0),(c(!0),y(N,null,r(e.otherOptions,t=>(c(),E(kr,{key:t.id,option:t,disabled:e.settingsLocked,onSelect:e=>i(`select`,t,e)},null,8,[`option`,`disabled`,`onSelect`]))),128))]),x(Ar,{enabled:s.value,disabled:o.value===`closed`,onToggle:n[2]||=e=>i(`toggle-auto-approve`)},null,8,[`enabled`,`disabled`])]))}}),[[`__scopeId`,`data-v-d98990df`]]);function Ir(e,t){return e.find(e=>e.category===t&&e.type===`select`)}function Lr(e){let t=(e.options??[]).map(e=>e.value);if(!(t.length<2))return t[(t.indexOf(String(e.currentValue))+1)%t.length]}function Rr(e){let t=X(),{t:n}=Y(),r=Ke(),i=P(()=>t.chats[v(e)]),a=P(()=>i.value?.chat.config??[]),o=P(()=>i.value?.chat.status??`closed`),s=P(()=>Ir(a.value,`model`)),c=P(()=>Ir(a.value,`mode`)),l=P(()=>a.value.filter(e=>e!==s.value&&e!==c.value)),u=P(()=>o.value!==`ready`);async function d(i,a){try{await t.setConfig(i.id,a,v(e))}catch(e){r(n(`agent.config.failed`,{name:i.name}),e)}}function f(){let e=c.value;if(!e||u.value)return;let t=Lr(e);t!==void 0&&d(e,t)}return{modelOption:s,modeOption:c,otherOptions:l,settingsLocked:u,changeConfig:d,cycleMode:f}}function zr(e){let t=X(),{t:n}=Y(),r=B(),i=Ke();async function a(a){let o=v(e);for(let e of a)try{t.addContext(await Yt(e),o)}catch(t){t instanceof Ut?r.notify({type:`negative`,message:n(`agent.attach.tooLarge`,{name:e.name,mb:Qe/1024/1024})}):i(n(`agent.attach.readFailed`),t)}}return{attachFiles:a}}function Br(e){let t=X(),{t:n}=Y(),r=B(),i=Ke();async function a(e,r){try{await t.setAutoApprove(e,r)}catch(e){i(n(`agent.autoApprove.failed`),e)}}function o(){let i=v(e),o=t.chats[i];if(o&&o.chat.status!==`closed`){if(o.chat.autoApprove){a(!1,i);return}r.dialog({title:n(`agent.autoApprove.confirmTitle`),message:n(`agent.autoApprove.confirmMessage`),ok:{label:n(`agent.autoApprove.confirmOk`),color:`negative`,flat:!0,noCaps:!0},cancel:{label:n(`agent.newChat.cancel`),flat:!0,noCaps:!0}}).onOk(()=>{a(!0,i)})}}return{toggleAutoApprove:o}}var Vr={key:0,class:`agent-composer`},Hr={class:`agent-composer__box`},Ur={class:`row no-wrap items-end`},Wr=z(b({__name:`AgentComposer`,props:{chatId:{}},setup(e,{expose:t}){let n=e,{t:r}=Y(),i=X(),a=P(()=>i.chats[n.chatId]),o=P(()=>a.value?.chat.status??`closed`),s=P(()=>a.value?.pendingContext??[]),l=m(`editor`),u=C(!0),d=Ke(),{modelOption:f,modeOption:p,otherOptions:h,settingsLocked:g,changeConfig:v,cycleMode:b}=Rr(()=>n.chatId),{attachFiles:S}=zr(()=>n.chatId),{toggleAutoApprove:w}=Br(()=>n.chatId);async function T(){let e=l.value,t=n.chatId,a=e?.serialize();if(a&&a.text!==``)try{await i.send(a.text,a.files.map(e=>({kind:`file`,path:e})),t)&&n.chatId===t&&l.value===e&&e?.clear()}catch(e){d(r(`agent.sendFailed`),e)}}return t({focus:()=>l.value?.focus()}),(t,n)=>a.value?(c(),y(`div`,Vr,[_(`div`,Hr,[x(Sr,{items:s.value,onRemove:n[0]||=t=>D(i).removeContext(t,e.chatId)},null,8,[`items`]),_(`div`,Ur,[x(Cr,{disabled:o.value===`closed`,onFiles:D(S),onMention:n[1]||=e=>l.value?.startMention()},null,8,[`disabled`,`onFiles`]),x(vr,{ref_key:`editor`,ref:l,class:`col`,disabled:o.value===`closed`,placeholder:D(r)(`agent.placeholder`),label:D(r)(`agent.title`),"cycle-mode":D(p)!==void 0,onSubmit:T,onCycleMode:D(b),onEmptyChange:n[2]||=e=>u.value=e,onFiles:D(S)},null,8,[`disabled`,`placeholder`,`label`,`cycle-mode`,`onCycleMode`,`onFiles`]),x(wr,{status:o.value,"is-empty":u.value,onSend:T,onCancel:n[3]||=t=>D(i).cancel(e.chatId)},null,8,[`status`,`is-empty`])])]),x(Fr,{entry:a.value,"model-option":D(f),"mode-option":D(p),"other-options":D(h),"settings-locked":D(g),onSelect:D(v),onToggleAutoApprove:D(w)},null,8,[`entry`,`model-option`,`mode-option`,`other-options`,`settings-locked`,`onSelect`,`onToggleAutoApprove`])])):F(``,!0)}}),[[`__scopeId`,`data-v-ce7dfcde`]]),Gr={class:`agent-permission`},Kr={class:`row no-wrap items-center agent-permission__head`},qr=[`title`],Jr={class:`row items-center q-gutter-xs q-mt-xs`},Yr=z(b({__name:`AgentPermissionCard`,props:{permission:{}},emits:[`answer`],setup(e,{emit:t}){let n={allow_once:{color:`primary`,outline:!1,flat:!1},allow_always:{color:`primary`,outline:!0,flat:!1},reject_once:{color:`negative`,outline:!1,flat:!0},reject_always:{color:`negative`,outline:!1,flat:!0}},i=t,{t:a}=Y();return(t,o)=>(c(),y(`div`,Gr,[_(`div`,Kr,[x(W,{name:`gpp_maybe`,color:`warning`,size:`14px`,class:`q-mr-xs`}),_(`span`,null,p(D(a)(`agent.permission.title`)),1)]),_(`div`,{class:`agent-permission__title`,title:e.permission.title},p(e.permission.title),9,qr),e.permission.diffs.length>0?(c(),E(mn,{key:0,dense:``,"dense-toggle":``,class:`agent-permission__changes`,label:D(a)(`agent.permission.showChanges`)},{default:M(()=>[(c(!0),y(N,null,r(e.permission.diffs,e=>(c(),E(Pn,{key:e.path,diff:e},null,8,[`diff`]))),128))]),_:1},8,[`label`])):F(``,!0),_(`div`,Jr,[(c(!0),y(N,null,r(e.permission.options,e=>(c(),E(G,{key:e.optionId,"no-caps":``,dense:``,size:`sm`,class:`q-px-sm`,unelevated:!n[e.kind].outline&&!n[e.kind].flat,outline:n[e.kind].outline,flat:n[e.kind].flat,color:n[e.kind].color,label:e.name,onClick:t=>i(`answer`,e.optionId)},null,8,[`unelevated`,`outline`,`flat`,`color`,`label`,`onClick`]))),128)),x(G,{"no-caps":``,dense:``,flat:``,size:`sm`,class:`q-px-sm`,label:D(a)(`agent.permission.cancel`),onClick:o[0]||=e=>i(`answer`,void 0)},null,8,[`label`])])]))}}),[[`__scopeId`,`data-v-31a77038`]]),Xr={key:0,class:`agent-view column no-wrap`},Zr={class:`agent-view__feed`},Qr={key:0,class:`row justify-center`},$r=24,ei=z(b({__name:`AgentChatView`,props:{chatId:{},active:{type:Boolean}},setup(e){let t=e,{t:n}=Y(),a=Ke(),o=X(),s=P(()=>o.chats[t.chatId]),l=P(()=>s.value?.chat),u=P(()=>o.presets.find(e=>e.id===s.value?.info.presetId)),d=P(()=>l.value?.status===`busy`),f=P(()=>l.value?.items.at(-1)),p=P(()=>f.value?.kind===`error`&&l.value?.status===`ready`),h=P(()=>l.value?.items.length??0),g=P(()=>l.value?.permissions.length??0),v=P(()=>{let e=f.value;return e&&`text`in e?e.text.length:0}),b=P(()=>l.value?.items.findLast(e=>e.kind===`user`)?.id),S=m(`scroll`),C=m(`composer`),w=!0,T=0;function O(e){if(t.active){if(e.verticalPosition===T){A();return}T=e.verticalPosition,w=e.verticalPosition+e.verticalContainerSize>=e.verticalSize-$r}}function k(){S.value?.setScrollPosition(`vertical`,2**53-1)}async function A(){t.active&&w&&(await I(),t.active&&w&&k())}i([h,g,v],A),i(b,(e,n)=>{e&&e!==n&&t.active&&(w=!0,A())}),i(()=>t.active,async e=>{e&&(await I(),t.active&&(w?k():S.value?.setScrollPosition(`vertical`,T),C.value?.focus()))});async function j(){try{await o.send(`Continue`,[],t.chatId)}catch(e){a(n(`agent.sendFailed`),e)}}return(t,n)=>s.value&&l.value?(c(),y(`div`,Xr,[x(Kn,{"auto-approves-edits":u.value?.autoApprovesEdits??!1,"auto-approve":l.value.autoApprove,"review-stale":s.value.reviewStale,closed:l.value.status===`closed`,error:s.value.error,onDisableAutoApprove:n[0]||=t=>D(o).setAutoApprove(!1,e.chatId)},null,8,[`auto-approves-edits`,`auto-approve`,`review-stale`,`closed`,`error`]),x(it,{ref_key:`scroll`,ref:S,class:`col agent-view__scroll`,onScroll:O},{default:M(()=>[_(`div`,Zr,[x(tt,{debounce:0,onResize:A}),(c(!0),y(N,null,r(l.value.items,e=>(c(),E(Gn,{key:e.id,item:e,"can-continue":p.value&&e===f.value,onContinue:j},null,8,[`item`,`can-continue`]))),128)),(c(!0),y(N,null,r(l.value.permissions,t=>(c(),E(Yr,{key:t.requestId,permission:t,onAnswer:n=>D(o).answerPermission(t.requestId,n,e.chatId)},null,8,[`permission`,`onAnswer`]))),128)),d.value&&l.value.permissions.length===0?(c(),y(`div`,Qr,[x(It,{color:`primary`,size:`24px`})])):F(``,!0)])]),_:1},512),x(Wr,{ref_key:`composer`,ref:C,"chat-id":e.chatId},null,8,[`chat-id`])])):F(``,!0)}}),[[`__scopeId`,`data-v-f3b23f81`]]),ti={class:`agent-empty column items-center justify-center text-center fit`},ni={class:`text-subtitle1 q-mt-md`},ri={class:`text-caption text-grey-6 q-mt-xs agent-empty__hint`},ii=z(b({__name:`AgentEmptyState`,setup(e){let{t}=Y(),n=X();return(e,r)=>(c(),y(`div`,ti,[x(W,{name:D(Ge),size:`48px`,class:`text-grey-6`},null,8,[`name`]),_(`div`,ni,p(D(t)(`agent.emptyState.title`)),1),_(`div`,ri,p(D(t)(`agent.emptyState.hint`)),1),D(n).canAddChat?(c(),E(G,{key:0,color:`primary`,unelevated:``,"no-caps":``,icon:`add`,class:`q-mt-md`,label:D(t)(`agent.emptyState.add`),onClick:r[0]||=e=>D(n).openNewChatDialog()},null,8,[`label`])):F(``,!0)]))}}),[[`__scopeId`,`data-v-cb2aea04`]]),ai={class:`agent-tabs row no-wrap items-center`},oi={class:`row items-center no-wrap agent-tab__body`},si={class:`agent-tab__name ellipsis`},ci=z(b({__name:`AgentTabs`,setup(e){let{t}=Y(),n=Ke(),i=B(),a=X();function o(e){let r=e.info.name;i.dialog({title:t(`agent.chats.closeTitle`),message:e.chat.status===`busy`?t(`agent.chats.closeBusy`,{name:r}):t(`agent.chats.closeMessage`,{name:r}),ok:{label:t(`agent.chats.close`),color:`negative`,flat:!0,noCaps:!0},cancel:{label:t(`agent.chats.keep`),flat:!0,noCaps:!0}}).onOk(()=>{a.closeChat(e.info.id).catch(e=>{n(t(`agent.chats.closeFailed`),e)})})}return(e,n)=>(c(),y(`div`,ai,[x(ht,{"model-value":D(a).activeId??void 0,dense:``,shrink:``,"no-caps":``,"outside-arrows":``,"mobile-arrows":``,align:`left`,"active-color":`primary`,"indicator-color":`primary`,class:`agent-tabs__tabs`,"onUpdate:modelValue":n[0]||=e=>D(a).selectChat(String(e))},{default:M(()=>[(c(!0),y(N,null,r(D(a).list,e=>(c(),E(mt,{key:e.info.id,name:e.info.id,ripple:!1,class:`agent-tab`},{default:M(()=>[_(`div`,oi,[x(Er,{entry:e,class:`q-mr-xs`},null,8,[`entry`]),_(`span`,si,p(e.info.name),1),x(G,{flat:``,round:``,dense:``,size:`xs`,icon:`close`,class:`q-ml-xs`,"aria-label":D(t)(`agent.chats.close`),onClick:U(t=>o(e),[`stop`,`prevent`])},null,8,[`aria-label`,`onClick`]),x(Ue,{delay:600},{default:M(()=>[O(p(e.info.name),1)]),_:2},1024)])]),_:2},1032,[`name`]))),128))]),_:1},8,[`model-value`]),D(a).canAddChat?(c(),E(G,{key:0,flat:``,round:``,dense:``,size:`sm`,icon:`add`,class:`q-mx-xs`,"aria-label":D(t)(`agent.chats.add`),onClick:n[1]||=e=>D(a).openNewChatDialog()},{default:M(()=>[x(Ue,null,{default:M(()=>[O(p(D(t)(`agent.chats.add`)),1)]),_:1})]),_:1},8,[`aria-label`])):F(``,!0)]))}}),[[`__scopeId`,`data-v-10656440`]]),li={class:`agent-panel column no-wrap fit`},ui={class:`col agent-panel__views`},di=z(b({__name:`AgentChatPanel`,setup(e){let t=X();return(e,n)=>(c(),y(`div`,li,[D(t).error&&!D(t).newChatDialog.open?(c(),E(qe,{key:0,dense:``,class:`bg-negative text-white`},{default:M(()=>[O(p(D(t).error),1)]),_:1})):F(``,!0),D(t).list.length===0?(c(),E(ii,{key:1,class:`col`})):(c(),y(N,{key:2},[x(ci),_(`div`,ui,[(c(!0),y(N,null,r(D(t).list,e=>o((c(),E(ei,{key:e.info.id,"chat-id":e.info.id,active:e.info.id===D(t).activeId},null,8,[`chat-id`,`active`])),[[ce,e.info.id===D(t).activeId]])),128))])],64))]))}}),[[`__scopeId`,`data-v-f30b083a`]]);function fi(e){let t;try{t=e.validate()}catch(t){return Promise.resolve({valid:!1,comp:e,err:t})}return typeof t?.then==`function`?t.then(t=>({valid:t,comp:e}),t=>({valid:!1,comp:e,err:t})):Promise.resolve({valid:t,comp:e})}var pi=q({name:`QForm`,props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:[`reset`,`validationSuccess`,`validationError`],setup(t,{slots:n,emit:r}){let i=g(),a=C(null),o=0,s=[];function c(e){let n=typeof e==`boolean`?e:!t.noErrorFocus,i=++o,a=(e,t)=>{r(`validation${e?`Success`:`Error`}`,t)};return(t.greedy?Promise.all(s.map(fi)).then(e=>e.filter(e=>!e.valid)):s.reduce((e,t)=>e.then(()=>fi(t)).then(e=>{if(!e.valid)throw e}),Promise.resolve()).catch(e=>[e])).then(e=>{if(e===void 0||e.length===0)return i===o&&a(!0),!0;if(i===o){let{comp:t,err:r}=e[0];if(r!==void 0&&console.error(r),a(!1,t),n){let t=e.find(({comp:e})=>typeof e.focus==`function`&&!H(e.$));t!==void 0&&t.comp.focus()}}return!1})}function u(){o++,s.forEach(e=>{typeof e.resetValidation==`function`&&e.resetValidation()})}function d(e){e!==void 0&&ye(e);let n=o+1;c().then(i=>{n===o&&i&&(t.onSubmit===void 0?e?.target!==void 0&&typeof e.target.submit==`function`&&e.target.submit():r(`submit`,e))})}function p(e){e!==void 0&&ye(e),r(`reset`),I(()=>{u(),t.autofocus&&!t.noResetFocus&&m()})}function m(){Be(()=>{a.value!==null&&(a.value.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||a.value.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||a.value.querySelector(`[autofocus], [data-autofocus]`)||Array.prototype.find.call(a.value.querySelectorAll(`[tabindex]`),e=>e.tabIndex!==-1))?.focus({preventScroll:!0})})}l(R,{bindComponent(e){s.push(e)},unbindComponent(e){let t=s.indexOf(e);t!==-1&&s.splice(t,1)}});let h=!1;return T(()=>{h=!0}),f(()=>{h&&t.autofocus&&m()}),e(()=>{t.autofocus&&m()}),Object.assign(i.proxy,{validate:c,resetValidation:u,submit:d,reset:p,focus:m,getValidationComponents:()=>s}),()=>L(`form`,{class:`q-form`,ref:a,onSubmit:d,onReset:p},le(n.default))}}),mi={key:0},hi={class:`text-caption text-grey-6 q-mb-xs`},gi={key:1,class:`text-negative text-caption`},_i=z(b({__name:`AgentNewChatDialog`,setup(e){let{t}=Y(),n=X(),{presets:a,newChatDialog:s,creating:l,error:u}=Je(n),d=P({get:()=>s.value.open,set:e=>{e||n.closeNewChatDialog()}}),f=k(null),m=k(``),h=k(!1),g=P(()=>a.value.map(e=>({value:e.id,label:e.available?e.title:`${e.title} (${t(`agent.unavailable`)})`,disable:!e.available}))),v=P(()=>a.value.find(e=>e.id===f.value)??null);function b(){return v.value?yt(v.value.title,n.list.map(e=>e.info.name)):``}i(d,e=>{e&&(f.value=a.value.find(e=>e.id===f.value&&e.available)?.id??a.value.find(e=>e.available)?.id??null,h.value=!1,m.value=b(),u.value=null)}),i(f,()=>{h.value||(m.value=b())});async function S(){if(f.value&&!l.value)try{await n.createChat(f.value,m.value.trim()||b(),s.value.context),n.closeNewChatDialog()}catch{}}return(e,n)=>(c(),E(ze,{modelValue:d.value,"onUpdate:modelValue":n[3]||=e=>d.value=e},{default:M(()=>[x(J,{class:`agent-new-chat`},{default:M(()=>[x(pi,{onSubmit:U(S,[`prevent`])},{default:M(()=>[x(Me,{class:`text-h6`},{default:M(()=>[O(p(D(t)(`agent.newChat.title`)),1)]),_:1}),x(Me,{class:`column q-gutter-y-md q-pt-none`},{default:M(()=>[x(Fe,{modelValue:m.value,"onUpdate:modelValue":[n[0]||=e=>m.value=e,n[1]||=e=>h.value=!0],autofocus:``,dense:``,outlined:``,maxlength:`60`,label:D(t)(`agent.newChat.name`)},null,8,[`modelValue`,`label`]),x(ft,{modelValue:f.value,"onUpdate:modelValue":n[2]||=e=>f.value=e,dense:``,outlined:``,"emit-value":``,"map-options":``,label:D(t)(`agent.newChat.agent`),options:g.value},null,8,[`modelValue`,`label`,`options`]),D(s).context.length>0?(c(),y(`div`,mi,[_(`div`,hi,p(D(t)(`agent.newChat.context`)),1),(c(!0),y(N,null,r(D(s).context,(e,t)=>(c(),E(Qt,{key:t,item:e},null,8,[`item`]))),128))])):F(``,!0),D(u)?(c(),y(`div`,gi,p(D(u)),1)):F(``,!0)]),_:1}),x(Pe,{align:`right`},{default:M(()=>[o(x(G,{flat:``,"no-caps":``,label:D(t)(`agent.newChat.cancel`)},null,8,[`label`]),[[at]]),x(G,{type:`submit`,color:`primary`,unelevated:``,"no-caps":``,loading:D(l),disable:!f.value,label:D(t)(`agent.newChat.create`)},null,8,[`loading`,`disable`,`label`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-887d90c7`]]),vi=[`aria-label`,`aria-valuenow`],yi=360,bi=320,xi=440,Si=1e3,Ci=900,wi=z(b({__name:`AgentSidebar`,setup(e){let{t:n}=Y(),{panelOpen:r}=Je(X()),{isDark:i}=et(),a=_t({key:`githuman.agentPanelWidth`,initial:xi,min:bi,max:()=>Math.max(bi,Math.min(Si,window.innerWidth-yi))});return(e,s)=>(c(),y(N,null,[x(Pt,{modelValue:D(r),"onUpdate:modelValue":s[2]||=e=>u(r)?r.value=e:null,side:`right`,bordered:``,width:D(a).width.value,breakpoint:Ci,dark:D(i),class:t([{"agent-drawer--dragging":D(a).dragging.value},`agent-drawer`])},{default:M(()=>[x(di),o(_(`div`,{class:`agent-drawer__handle`,role:`separator`,"aria-orientation":`vertical`,tabindex:`0`,"aria-label":D(n)(`agent.resize`),"aria-valuenow":D(a).width.value,onKeydown:[s[0]||=ie(U(e=>D(a).nudge(`wider`),[`prevent`]),[`left`]),s[1]||=ie(U(e=>D(a).nudge(`narrower`),[`prevent`]),[`right`])]},null,40,vi),[[ct,D(a).drag,void 0,{preserveCursor:!0,prevent:!0,mouse:!0,horizontal:!0}]])]),_:1},8,[`modelValue`,`width`,`dark`,`class`]),x(_i)],64))}}),[[`__scopeId`,`data-v-2a2eac99`]]),Ti=q({name:`QToolbarTitle`,props:{shrink:Boolean},setup(e,{slots:t}){return()=>L(`div`,{class:`q-toolbar__title ellipsis`+(e.shrink?` col-shrink`:``)},le(t.default))}}),Ei=q({name:`QToolbar`,props:{inset:Boolean},setup(e,{slots:t}){let n=P(()=>`q-toolbar row no-wrap items-center`+(e.inset?` q-toolbar--inset`:``));return()=>L(`div`,{class:n.value,role:`toolbar`},le(t.default))}});function Di(e,t){e.value!==t&&(e.value=t)}var Oi=q({name:`QHeader`,props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:[`reveal`,`focusin`],setup(e,{slots:t,emit:r}){let a=B(),o=re(fe,V);if(o===V)return console.error(`QHeader needs to be child of QLayout`),V;let s=k(Number.parseInt(e.heightHint,10)),c=k(!0),l=P(()=>e.reveal||o.view.value.includes(`H`)||a.platform.is.ios&&o.isContainer.value),u=P(()=>{if(!e.modelValue)return 0;if(l.value)return c.value?s.value:0;let t=s.value-o.scroll.value.position;return Math.max(t,0)}),d=P(()=>!e.modelValue||l.value&&!c.value),f=P(()=>e.modelValue&&d.value&&e.reveal),p=P(()=>`q-header q-layout__section--marginal `+(l.value?`fixed`:`absolute`)+`-top`+(e.bordered?` q-header--bordered`:``)+(d.value?` q-header--hidden`:``)+(e.modelValue?``:` q-layout--prevent-focus`)),m=P(()=>{let e=o.rows.value.top,t={};return e[0]===`l`&&o.left.space&&(t[a.lang.rtl?`right`:`left`]=`${o.left.size}px`),e[2]===`r`&&o.right.space&&(t[a.lang.rtl?`left`:`right`]=`${o.right.size}px`),t});function h(e,t){o.update(`header`,e,t)}function g({height:e}){Di(s,e),h(`size`,e)}function _(e){f.value&&Di(c,!0),r(`focusin`,e)}i(()=>e.modelValue,e=>{h(`space`,e),Di(c,!0),o.animate()}),i(u,e=>{h(`offset`,e)}),i(()=>e.reveal,t=>{t||Di(c,e.modelValue)}),i(c,e=>{o.animate(),r(`reveal`,e)}),i(o.scroll,t=>{e.reveal&&Di(c,t.direction===`up`||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});let v={};return o.instances.header=v,e.modelValue&&h(`size`,s.value),h(`space`,e.modelValue),h(`offset`,u.value),n(()=>{o.instances.header===v&&(o.instances.header=void 0,h(`size`,0),h(`offset`,0),h(`space`,!1))}),()=>{let n=ve(t.default,[]);return e.elevated&&n.push(L(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(L(tt,{debounce:0,onResize:g})),L(`header`,{class:p.value,style:m.value,onFocusin:_},n)}}}),ki={class:`text-weight-medium`},Ai=z(b({__name:`MainHeader`,emits:[`toggle-drawer`],setup(e,{emit:n}){let r=n,{t:i}=Y(),{info:a}=Je(Xe()),{version:s}=Je(Ze()),{isDark:l}=et(),u=X(),{enabled:d,panelOpen:f}=Je(u);return(e,n)=>(c(),E(Oi,{class:t(D(l)?`bg-dark text-white`:`bg-white text-dark`),bordered:``},{default:M(()=>[x(Ei,null,{default:M(()=>[o(x(G,{flat:``,dense:``,round:``,icon:`menu`,"aria-label":D(i)(`nav.menu`),class:`q-mr-sm`,onClick:n[0]||=e=>r(`toggle-drawer`)},null,8,[`aria-label`]),[[me]]),x(Ti,{shrink:``,class:`text-weight-bold gt-xs`},{default:M(()=>[O(p(D(i)(`app.title`)),1)]),_:1}),D(s)?(c(),E(nt,{key:0,outline:``,rounded:``,class:`text-primary q-ml-xs`},{default:M(()=>[O(` v`+p(D(s)),1)]),_:1})):F(``,!0),D(a)?(c(),y(`div`,{key:1,class:t([`row items-center q-gutter-x-sm text-body2 q-ml-md gt-sm repo-info`,D(l)?`text-grey-5`:`text-grey-7`])},[_(`span`,ki,p(D(a).name),1),D(a).branch?(c(),y(N,{key:0},[n[2]||=_(`span`,null,`/`,-1),x(nt,{outline:``,class:`text-body2 text-primary`,rounded:``},{default:M(()=>[O(p(D(a).branch),1)]),_:1})],64)):F(``,!0)],2)):F(``,!0),x(We),D(d)?o((c(),E(G,{key:2,flat:``,round:``,dense:``,icon:D(Ge),color:D(f)?`primary`:void 0,"aria-label":D(i)(`nav.agent`),onClick:n[1]||=e=>f.value=!D(f)},{default:M(()=>[x(Ue,null,{default:M(()=>[O(p(D(i)(`nav.agent`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`aria-label`])),[[me]]):F(``,!0)]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-7b82112e`]]),ji={class:`fit column no-wrap`},Mi=z(b({__name:`MainMenu`,props:{modelValue:{type:[Boolean,null],required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let n=a(e,`modelValue`),{t:i}=Y(),{isDark:s,toggleTheme:l}=et(),u=X(),{enabled:d,activeId:f,panelOpen:m}=Je(u),h=k(!0);return(e,a)=>(c(),E(Pt,{modelValue:n.value,"onUpdate:modelValue":a[2]||=e=>n.value=e,breakpoint:D(Ct),bordered:``,width:220,dark:D(s)},{default:M(()=>[_(`div`,ji,[x(st,{class:`col scroll`},{default:M(()=>[o((c(),E(Z,{clickable:``,to:{path:`/`}},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:`compare_arrows`})]),_:1}),x(Q,null,{default:M(()=>[O(p(D(i)(`nav.changes`)),1)]),_:1})]),_:1})),[[me]]),o((c(),E(Z,{clickable:``,to:{path:`/reviews`}},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:`rate_review`})]),_:1}),x(Q,null,{default:M(()=>[O(p(D(i)(`nav.reviews`)),1)]),_:1})]),_:1})),[[me]]),D(d)?(c(),E(mn,{key:0,modelValue:h.value,"onUpdate:modelValue":a[1]||=e=>h.value=e,"expand-separator":``,"expand-icon-class":D(s)?`text-grey-4`:`text-grey-8`},{header:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:D(Ge)},null,8,[`name`])]),_:1}),x(Q,null,{default:M(()=>[O(p(D(i)(`agent.chats.title`)),1)]),_:1}),D(u).canAddChat?(c(),E(Q,{key:0,side:``},{default:M(()=>[x(G,{flat:``,round:``,dense:``,size:`sm`,icon:`add`,class:t(D(s)?`text-grey-4`:`text-grey-8`),"aria-label":D(i)(`agent.chats.add`),onClick:a[0]||=U(e=>D(u).openNewChatDialog(),[`stop`])},{default:M(()=>[x(Ue,null,{default:M(()=>[O(p(D(i)(`agent.chats.add`)),1)]),_:1})]),_:1},8,[`class`,`aria-label`])]),_:1})):F(``,!0)]),default:M(()=>[x(st,{dense:``,class:`agent-menu__chats`},{default:M(()=>[(c(!0),y(N,null,r(D(u).list,e=>o((c(),E(Z,{key:e.info.id,clickable:``,active:D(m)&&e.info.id===D(f),"active-class":`text-primary`,onClick:t=>D(u).openChat(e.info.id)},{default:M(()=>[x(Q,{avatar:``,class:`agent-menu__dot`},{default:M(()=>[x(Er,{entry:e},null,8,[`entry`])]),_:2},1024),x(Q,null,{default:M(()=>[x(pt,{lines:`1`},{default:M(()=>[O(p(e.info.name),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`])),[[me]])),128)),D(u).list.length===0?(c(),E(Z,{key:0,dense:``},{default:M(()=>[x(Q,{class:`text-caption text-grey-6`},{default:M(()=>[O(p(D(i)(`agent.chats.empty`)),1)]),_:1})]),_:1})):F(``,!0)]),_:1})]),_:1},8,[`modelValue`,`expand-icon-class`])):F(``,!0)]),_:1}),x(st,{bordered:``,dark:D(s)},{default:M(()=>[o((c(),E(Z,{clickable:``,onClick:D(l)},{default:M(()=>[x(Q,{avatar:``},{default:M(()=>[x(W,{name:D(s)?`light_mode`:`dark_mode`},null,8,[`name`])]),_:1}),x(Q,null,{default:M(()=>[O(p(D(s)?D(i)(`theme.switchToLight`):D(i)(`theme.switchToDark`)),1)]),_:1})]),_:1},8,[`onClick`])),[[me]])]),_:1},8,[`dark`])])]),_:1},8,[`modelValue`,`breakpoint`,`dark`]))}}),[[`__scopeId`,`data-v-33143e23`]]),Ni=b({__name:`MainLayout`,setup(e){let{enabled:t}=Je(X()),{open:n,toggle:r,onResize:i}=jt();return(e,a)=>{let o=s(`router-view`);return c(),E(St,{view:`hHh lpr fFf`,onResize:D(i)},{default:M(()=>[x(Ai,{onToggleDrawer:D(r)},null,8,[`onToggleDrawer`]),x(Mi,{modelValue:D(n),"onUpdate:modelValue":a[0]||=e=>u(n)?n.value=e:null},null,8,[`modelValue`]),D(t)?(c(),E(wi,{key:0})):F(``,!0),x(bt,null,{default:M(()=>[x(o)]),_:1})]),_:1},8,[`onResize`])}}});export{Ni as default};
|