@puddle-code/cli 0.3.1 → 0.3.3
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/CHANGELOG.md +8 -4
- package/dist/host-control.mjs +38 -7
- package/dist/index.js +162 -32
- package/dist/public/assets/App-CkunCEjY.js +2 -0
- package/dist/public/assets/Dashboard-3XQN7EWB.js +1 -0
- package/dist/public/assets/EditorTabClose-CCYbaxcQ.js +1 -0
- package/dist/public/assets/FindWidget-BsFwo-Vf.js +1 -0
- package/dist/public/assets/LazyTerminal-CRonN-zb.js +2 -0
- package/dist/public/assets/{ModelRefcount-DaHZ2vpK.js → ModelRefcount-BdmA-Mgb.js} +1 -1
- package/dist/public/assets/NewProjectDialog-Bsp8NGgY.js +1 -0
- package/dist/public/assets/PaneEditorBody-MSWyifa9.js +299 -0
- package/dist/public/assets/PdfViewer-C3kK31fw.js +2 -0
- package/dist/public/assets/SettingsDialog-CGT3gjKB.js +8 -0
- package/dist/public/assets/Terminal-_KJe85Cp.js +66 -0
- package/dist/public/assets/Workspace-ZdFFHXHa.js +20 -0
- package/dist/public/assets/abnfDiagram-VCTEODGH-CIbaiPRK.js +1 -0
- package/dist/public/assets/architecture-7GRP2DOG-C37y6gLW.js +1 -0
- package/dist/public/assets/architectureDiagram-5GKGNRK7-OE8n13hC.js +36 -0
- package/dist/public/assets/auth-C3Hg0pRq.js +73 -0
- package/dist/public/assets/{blockDiagram-I7D4REHJ-BnnIsbDF.js → blockDiagram-I7D4REHJ-TUFuv4qI.js} +1 -1
- package/dist/public/assets/buffer-store-De6oYRzb.js +16 -0
- package/dist/public/assets/button-DkCgQgIz.js +1 -0
- package/dist/public/assets/{c4Diagram-7LVT6UL2-CSC_Hbql.js → c4Diagram-7LVT6UL2-Cwvhq15S.js} +1 -1
- package/dist/public/assets/channel-Bl1m0NKH.js +1 -0
- package/dist/public/assets/chunk-2E4U76K2-3abpRZU5.js +2 -0
- package/dist/public/assets/chunk-2ZTRR5NV-NvRGlFrK.js +2 -0
- package/dist/public/assets/chunk-3Z5EZCMW-DiR4QWP9.js +1 -0
- package/dist/public/assets/{chunk-4HAMMTFA-CFf6LTHp.js → chunk-4HAMMTFA-eolw8o4c.js} +1 -1
- package/dist/public/assets/chunk-5V3GS4D5-C1iY134n.js +1 -0
- package/dist/public/assets/chunk-6AZGARVD-_0gi5QUW.js +1 -0
- package/dist/public/assets/chunk-6EIED4P4-BxkNo1Kd.js +1 -0
- package/dist/public/assets/chunk-6K3QC6MW-3E45BuBF.js +1 -0
- package/dist/public/assets/chunk-6TQVIW2G-CakkaKNk.js +1 -0
- package/dist/public/assets/chunk-747NJXEK-pfB9pTl1.js +2 -0
- package/dist/public/assets/{chunk-75Z2AOVW-DmsoAjw5.js → chunk-75Z2AOVW-CYC6lmPG.js} +1 -1
- package/dist/public/assets/{chunk-CLGD4ZFX-Dx1fE4HX.js → chunk-CLGD4ZFX-85mvsF4F.js} +1 -1
- package/dist/public/assets/chunk-DU6HZSFF-1ZoT19aa.js +125 -0
- package/dist/public/assets/{chunk-F27PBJKO-BSaAmHi0.js → chunk-F27PBJKO-DM71futS.js} +1 -1
- package/dist/public/assets/{chunk-GMAD6QVW-Dna8BJJq.js → chunk-GMAD6QVW-BzDEhlK8.js} +1 -1
- package/dist/public/assets/{chunk-GVQU2GXP-DOhlGSDl.js → chunk-GVQU2GXP-CZrUjjq3.js} +1 -1
- package/dist/public/assets/chunk-I5DQTOEV-Dcwirj_w.js +1 -0
- package/dist/public/assets/chunk-ICYGCRZG-BJAGKQA9.js +1 -0
- package/dist/public/assets/chunk-IH6LHLGP-BN2I9ljI.js +1 -0
- package/dist/public/assets/{chunk-IMKFNOWR-D65oIwAv.js → chunk-IMKFNOWR-CLsPi8Op.js} +1 -1
- package/dist/public/assets/chunk-KI3K4JFJ-v5_17D28.js +1 -0
- package/dist/public/assets/{chunk-L3NEJ4N5-BwcBPm7M.js → chunk-L3NEJ4N5-BW3s5_r9.js} +1 -1
- package/dist/public/assets/{chunk-OSK3NFVY-82MNmgWe.js → chunk-OSK3NFVY-Cs_K17E_.js} +1 -1
- package/dist/public/assets/chunk-OUJLGHUK-FHDQe81Z.js +2 -0
- package/dist/public/assets/{chunk-P2QGCYS3-CfrZ7JB4.js → chunk-P2QGCYS3-C5-f0Lvg.js} +1 -1
- package/dist/public/assets/{chunk-POPQ4Y6H-CHs8yAQU.js → chunk-POPQ4Y6H-gkafJx1Z.js} +1 -1
- package/dist/public/assets/{chunk-PWAF6VOD-BXxrEmLT.js → chunk-PWAF6VOD-CTSTb7zN.js} +1 -1
- package/dist/public/assets/{chunk-SHT3W25Y-DMUmvTem.js → chunk-SHT3W25Y-Cg6sVFNA.js} +1 -1
- package/dist/public/assets/{chunk-SVP7TREG-CPru3m3o.js → chunk-SVP7TREG-DRUnItYx.js} +1 -1
- package/dist/public/assets/{chunk-TICWLB2K-zN8e4oYt.js → chunk-TICWLB2K-HtG8ibWH.js} +1 -1
- package/dist/public/assets/chunk-TLUHSLCS-CcE5HWjm.js +2 -0
- package/dist/public/assets/chunk-UY3FDG6J-DHD-4eXF.js +1 -0
- package/dist/public/assets/chunk-XHIXRSVI-DRL0dwtI.js +1 -0
- package/dist/public/assets/classDiagram-ZZMXUADV-AgT8hWlv.js +1 -0
- package/dist/public/assets/classDiagram-v2-VYDZK3BY-AgT8hWlv.js +1 -0
- package/dist/public/assets/client-settings-CwqpIric.js +1 -0
- package/dist/public/assets/context-menu-0Tb8cG9E.js +1 -0
- package/dist/public/assets/copy-CKvSfzPk.js +1 -0
- package/dist/public/assets/cssMode-CSjHtANE.js +1 -0
- package/dist/public/assets/cynefin-OW5HDTMX-Dy2ZNO0g.js +1 -0
- package/dist/public/assets/cynefinDiagram-5FMLGOSQ-C2miE5p0.js +62 -0
- package/dist/public/assets/{dagre-GXQ25YYZ-t9AbgVhY.js → dagre-GXQ25YYZ-BjnR_o63.js} +1 -1
- package/dist/public/assets/{diagram-S7CK7UJ4-BldMPLHQ.js → diagram-S7CK7UJ4-CBYedG6v.js} +3 -3
- package/dist/public/assets/diagram-UQ7AKVKN-CUL346-t.js +41 -0
- package/dist/public/assets/diagram-VSXAHHWV-1DKb_UJ5.js +3 -0
- package/dist/public/assets/{diagram-VX7I27RA-DtaAnFuF.js → diagram-VX7I27RA-DYP31PbY.js} +2 -2
- package/dist/public/assets/{diagram-Z3DM3KII-Bu1-SbmM.js → diagram-Z3DM3KII-C-mC8cmq.js} +1 -1
- package/dist/public/assets/dialog-UpZ_vNTE.js +41 -0
- package/dist/public/assets/disclosure-D7vpyXdR.js +1 -0
- package/dist/public/assets/dist-C2WZA469.js +1 -0
- package/dist/public/assets/dist-v3Pwgb3Q.js +1 -0
- package/dist/public/assets/ebnfDiagram-PWID7BFC-CnSa44Tb.js +1 -0
- package/dist/public/assets/{erDiagram-RLTQ6QDP-C359QLoG.js → erDiagram-RLTQ6QDP-ZmDlrO9k.js} +1 -1
- package/dist/public/assets/{errors-1cUzcK5v.js → errors-BH_S68Hd.js} +1 -1
- package/dist/public/assets/eventmodeling-NTZA5JFV-uFnlWNGc.js +1 -0
- package/dist/public/assets/flowDiagram-HODETNUW-CW47qpBT.js +1 -0
- package/dist/public/assets/{ganttDiagram-EL5Y4UJY-xq_Yuf1R.js → ganttDiagram-EL5Y4UJY-raM_gefY.js} +1 -1
- package/dist/public/assets/gitGraph-4MIJSDKK-1PxNX92k.js +1 -0
- package/dist/public/assets/gitGraphDiagram-WWUBYQGX-DnLrgk4s.js +106 -0
- package/dist/public/assets/htmlMode-CIHMS93l.js +1 -0
- package/dist/public/assets/index-xDhpMZgv.js +10 -0
- package/dist/public/assets/info-A6RAGUB7-BZV44TW1.js +1 -0
- package/dist/public/assets/infoDiagram-27XIBGKW-eCv-Vsx8.js +2 -0
- package/dist/public/assets/{ishikawaDiagram-5VMMS53U-Bob975Xt.js → ishikawaDiagram-5VMMS53U-DCFnvrdr.js} +1 -1
- package/dist/public/assets/{journeyDiagram-3NMN7TZE-x9ssExSV.js → journeyDiagram-3NMN7TZE-6o4KvbhJ.js} +1 -1
- package/dist/public/assets/{jsonMode-CmlPrpF1.js → jsonMode-BijgXT6I.js} +1 -1
- package/dist/public/assets/jsx-runtime-ffCh33zF.js +1 -0
- package/dist/public/assets/{kanban-definition-UXKFOSKX-Cy8SkNND.js → kanban-definition-UXKFOSKX-CQKuhkFV.js} +1 -1
- package/dist/public/assets/{line-C0YxHEKk.js → line-D4r_bmlv.js} +1 -1
- package/dist/public/assets/markdown-mermaid-D0nzztEz.js +2 -0
- package/dist/public/assets/{math-B4Pf1FaR.js → math-CSw6sgCC.js} +2 -2
- package/dist/public/assets/math-delimiters-BCnTi7Ii.js +1 -0
- package/dist/public/assets/media-refresh-store-Ddvr6wz1.js +1 -0
- package/dist/public/assets/mermaid-parser.core-CICMKhjq.js +4 -0
- package/dist/public/assets/mermaid.core-D2QzpYEE.js +11 -0
- package/dist/public/assets/{mindmap-definition-YA3MSWOX-B6ghAwaT.js → mindmap-definition-YA3MSWOX-DAB8mHOv.js} +1 -1
- package/dist/public/assets/monaco.contribution-C0TYpF88.js +2 -0
- package/dist/public/assets/notification-delivery-CDu_5PS7.js +1 -0
- package/dist/public/assets/packet-AYTQ26CC-Cw5JteoC.js +1 -0
- package/dist/public/assets/{pdf-C7rjnygQ.js → pdf-EQHMWEbX.js} +1 -1
- package/dist/public/assets/pegDiagram-XKGWAZYB-BE_LYTdh.js +1 -0
- package/dist/public/assets/pie-WAS4IAKB-CnPKaBaN.js +1 -0
- package/dist/public/assets/pieDiagram-E7YTZNPT-BRffiJ1a.js +39 -0
- package/dist/public/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/public/assets/project-abbrev-Br6sQqPh.js +1 -0
- package/dist/public/assets/protocol-support-CLMCHX8i.js +1 -0
- package/dist/public/assets/{quadrantDiagram-AXDQQJYC-DRGzxdVf.js → quadrantDiagram-AXDQQJYC-DYWp1Jjq.js} +1 -1
- package/dist/public/assets/radar-RG4KPBEZ-Dqx79rlE.js +1 -0
- package/dist/public/assets/railroad-74A4TZTK-BkDQqaz7.js +1 -0
- package/dist/public/assets/railroad-abnf-HS5TGJTU-kgqWL-Ba.js +1 -0
- package/dist/public/assets/railroad-ebnf-LZEXJU2U-GspfOzjs.js +1 -0
- package/dist/public/assets/railroad-peg-WCYAUIDC-qO23KZap.js +1 -0
- package/dist/public/assets/railroadDiagram-O6MQD6OU-wuPYUWJ2.js +1 -0
- package/dist/public/assets/{requirementDiagram-BXWQKSXE-CSioB-S4.js → requirementDiagram-BXWQKSXE-BtGNZ92J.js} +1 -1
- package/dist/public/assets/{sankeyDiagram-P5KCCOFB-Be_RNG6h.js → sankeyDiagram-P5KCCOFB-XgIIrsbe.js} +1 -1
- package/dist/public/assets/{scroll-restoration-C6CrXFrx.js → scroll-restoration-hNqYmCAE.js} +1 -1
- package/dist/public/assets/selection-actions-Bh9Fkkqv.js +1 -0
- package/dist/public/assets/{sequenceDiagram-WJ2MYXX4-QO7Ba1BQ.js → sequenceDiagram-WJ2MYXX4-CVIIE7ze.js} +1 -1
- package/dist/public/assets/{stateDiagram-D77RDMKH-B52l08Ki.js → stateDiagram-D77RDMKH-0kIDexDQ.js} +1 -1
- package/dist/public/assets/stateDiagram-v2-MP3YSRHH-DdU6a-zG.js +1 -0
- package/dist/public/assets/{swimlanes-42K2YHIH-CEkCp-cn.js → swimlanes-42K2YHIH-BY2JV_Jb.js} +1 -1
- package/dist/public/assets/swimlanesDiagram-VR7AAH4N-BCiIa4tX.js +8 -0
- package/dist/public/assets/switch-SW6BMps1.js +1 -0
- package/dist/public/assets/{timeline-definition-24CTP7MA-0rICk4bz.js → timeline-definition-24CTP7MA-CPRUSXUS.js} +1 -1
- package/dist/public/assets/treeView-Q6P3EWNA-CiZNqz_z.js +1 -0
- package/dist/public/assets/treemap-WGGIJYW6-5hDYDC6e.js +1 -0
- package/dist/public/assets/{tsMode-iBk8vwDB.js → tsMode-B7q3gz7a.js} +1 -1
- package/dist/public/assets/use-ui-state-BiAROr3D.js +1 -0
- package/dist/public/assets/{vennDiagram-4TSXK5OY-B1JUHS0H.js → vennDiagram-4TSXK5OY-CU1Q7iGV.js} +1 -1
- package/dist/public/assets/view-state-store-C6OmciCC.js +1 -0
- package/dist/public/assets/wardley-WFR3VGLG-CWb_ROLo.js +1 -0
- package/dist/public/assets/{wardleyDiagram-VM6X3IG4-WNi3mtNy.js → wardleyDiagram-VM6X3IG4-B2Pn7CDF.js} +3 -3
- package/dist/public/assets/whole-word-2m2pmAFT.js +1 -0
- package/dist/public/assets/workers-Ck67TJT4.js +1 -0
- package/dist/public/assets/ws-DNNH0sEH.js +1 -0
- package/dist/public/assets/{xychartDiagram-S5SC5T6Z-CbKt4_V3.js → xychartDiagram-S5SC5T6Z-xhQ4tT_S.js} +1 -1
- package/dist/public/index.html +5 -1
- package/dist/pudl.js +45 -13
- package/package.json +1 -1
- package/dist/public/assets/App-CNmIJjl_.js +0 -2
- package/dist/public/assets/Dashboard-CXo8Im5Y.js +0 -1
- package/dist/public/assets/EditorTabClose--kyKHSwZ.js +0 -1
- package/dist/public/assets/FindWidget-PycvFKIo.js +0 -1
- package/dist/public/assets/LazyTerminal-CAhb0T8p.js +0 -2
- package/dist/public/assets/NewProjectDialog-BWkhYVKJ.js +0 -1
- package/dist/public/assets/PaneEditorBody-DKpaey4n.js +0 -299
- package/dist/public/assets/PdfViewer-B-O3C5Fb.js +0 -2
- package/dist/public/assets/SettingsDialog-DxI5UQty.js +0 -8
- package/dist/public/assets/Terminal-DE7QO3Lv.js +0 -66
- package/dist/public/assets/Workspace-CcPBZYc6.js +0 -20
- package/dist/public/assets/abnfDiagram-VCTEODGH-Bn8NH7EO.js +0 -1
- package/dist/public/assets/architecture-7GRP2DOG-Di8Z0gNN.js +0 -1
- package/dist/public/assets/architectureDiagram-5GKGNRK7-rXpMU6RM.js +0 -36
- package/dist/public/assets/buffer-store-B24QspY2.js +0 -16
- package/dist/public/assets/button-CcKBhdZO.js +0 -1
- package/dist/public/assets/channel-BpgRfG_m.js +0 -1
- package/dist/public/assets/chunk-2E4U76K2-BBFx22L7.js +0 -2
- package/dist/public/assets/chunk-DU6HZSFF-p5k9qXhh.js +0 -125
- package/dist/public/assets/chunk-TLUHSLCS-D9SadBk_.js +0 -2
- package/dist/public/assets/classDiagram-ZZMXUADV-Cvjt82YE.js +0 -1
- package/dist/public/assets/classDiagram-v2-VYDZK3BY-Cvjt82YE.js +0 -1
- package/dist/public/assets/context-menu-DeidX0Pi.js +0 -1
- package/dist/public/assets/copy-DWjBcRsB.js +0 -1
- package/dist/public/assets/cssMode-CZGyU_SG.js +0 -1
- package/dist/public/assets/cynefin-OW5HDTMX-DWHI9hMS.js +0 -1
- package/dist/public/assets/cynefinDiagram-5FMLGOSQ-D6ufz00C.js +0 -62
- package/dist/public/assets/diagram-UQ7AKVKN-D9T4tJbc.js +0 -41
- package/dist/public/assets/diagram-VSXAHHWV-Dh7CRewi.js +0 -3
- package/dist/public/assets/dialog-CxBgPsab.js +0 -41
- package/dist/public/assets/disclosure-BH-wuD_D.js +0 -1
- package/dist/public/assets/dist-D5t_kbYW.js +0 -1
- package/dist/public/assets/dist-qyIRFVt1.js +0 -1
- package/dist/public/assets/ebnfDiagram-PWID7BFC-DInnl0wx.js +0 -1
- package/dist/public/assets/eventmodeling-NTZA5JFV-BQVYxt7A.js +0 -1
- package/dist/public/assets/flowDiagram-HODETNUW--HTl_4V1.js +0 -1
- package/dist/public/assets/gitGraph-4MIJSDKK-U5qKRzrG.js +0 -1
- package/dist/public/assets/gitGraphDiagram-WWUBYQGX-BcXQM8eP.js +0 -106
- package/dist/public/assets/htmlMode-23yFfFGb.js +0 -1
- package/dist/public/assets/index-CPDXsNn7.js +0 -82
- package/dist/public/assets/info-A6RAGUB7-BXjSF_iH.js +0 -1
- package/dist/public/assets/infoDiagram-27XIBGKW-BIJ52Gpm.js +0 -2
- package/dist/public/assets/markdown-mermaid-wVNP7t8F.js +0 -2
- package/dist/public/assets/media-refresh-store-CcMOJ-U-.js +0 -1
- package/dist/public/assets/mermaid-parser.core-Cy8AG-qQ.js +0 -7
- package/dist/public/assets/mermaid.core-DoDuR-5f.js +0 -11
- package/dist/public/assets/notification-delivery-0LhR-ShC.js +0 -1
- package/dist/public/assets/packet-AYTQ26CC-BpWwI2oX.js +0 -1
- package/dist/public/assets/pegDiagram-XKGWAZYB-yj3GPtMG.js +0 -1
- package/dist/public/assets/pie-WAS4IAKB-DvE_icUX.js +0 -1
- package/dist/public/assets/pieDiagram-E7YTZNPT-DdwpR7qt.js +0 -39
- package/dist/public/assets/project-abbrev-DUQCetLc.js +0 -1
- package/dist/public/assets/protocol-support-DWTHwckn.js +0 -1
- package/dist/public/assets/radar-RG4KPBEZ-BMUoktqq.js +0 -1
- package/dist/public/assets/railroad-74A4TZTK-CRCU-hfz.js +0 -1
- package/dist/public/assets/railroad-abnf-HS5TGJTU-DgF_7Rby.js +0 -1
- package/dist/public/assets/railroad-ebnf-LZEXJU2U-yoQjOTe4.js +0 -1
- package/dist/public/assets/railroad-peg-WCYAUIDC-Bi2UnAcg.js +0 -1
- package/dist/public/assets/railroadDiagram-O6MQD6OU-DoYXFCYn.js +0 -1
- package/dist/public/assets/selection-actions-BuV-nTRE.js +0 -1
- package/dist/public/assets/stateDiagram-v2-MP3YSRHH-DyfZNcXp.js +0 -1
- package/dist/public/assets/swimlanesDiagram-VR7AAH4N-9I9MU74C.js +0 -8
- package/dist/public/assets/switch-B5sIV745.js +0 -1
- package/dist/public/assets/treeView-Q6P3EWNA-UwjA1jwm.js +0 -1
- package/dist/public/assets/treemap-WGGIJYW6-BWpfnhSW.js +0 -1
- package/dist/public/assets/use-ui-state-Bxj6PnLE.js +0 -1
- package/dist/public/assets/view-state-store-B5KgrWCh.js +0 -1
- package/dist/public/assets/wardley-WFR3VGLG-DGkljHJE.js +0 -1
- package/dist/public/assets/ws-D9g0r8Jb.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsDialog-CGT3gjKB.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/jsx-runtime-ffCh33zF.js","assets/auth-C3Hg0pRq.js","assets/LazyTerminal-CRonN-zb.js","assets/preload-helper-Czpn1I53.js","assets/dialog-UpZ_vNTE.js","assets/button-DkCgQgIz.js","assets/x-CZCUod6A.js","assets/createLucideIcon-DyMAgLa3.js","assets/notification-delivery-CDu_5PS7.js","assets/dist-v3Pwgb3Q.js","assets/protocol-support-CLMCHX8i.js","assets/switch-SW6BMps1.js","assets/client-settings-CwqpIric.js","assets/index-xDhpMZgv.js","assets/index-CAvJOpdz.css","assets/disclosure-D7vpyXdR.js","assets/chevron-down--sjpQEHH.js","assets/dist-C2WZA469.js","assets/code-DRWf9a5s.js","assets/errors-BH_S68Hd.js","assets/use-debounced-value-C86N-mOK.js","assets/Dashboard-3XQN7EWB.js","assets/project-abbrev-Br6sQqPh.js","assets/context-menu-0Tb8cG9E.js","assets/NewProjectDialog-Bsp8NGgY.js","assets/ws-DNNH0sEH.js","assets/Workspace-ZdFFHXHa.js","assets/copy-CKvSfzPk.js","assets/media-refresh-store-Ddvr6wz1.js","assets/use-ui-state-BiAROr3D.js","assets/preview-kind-QJSMKfUN.js","assets/debounce-B9DrqirV.js","assets/whole-word-2m2pmAFT.js","assets/selection-actions-Bh9Fkkqv.js","assets/drafts-B_tChlzR.js","assets/buffer-logic-BAkSBQT7.js","assets/view-state-store-C6OmciCC.js","assets/scroll-restoration-hNqYmCAE.js","assets/Workspace-DdL3ODEC.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n,t as r}from"./jsx-runtime-ffCh33zF.js";import{B as i,O as a,V as o,j as s,l as c,o as l,r as u,v as d}from"./auth-C3Hg0pRq.js";import{c as f,f as p,i as m,o as h,s as g,u as _}from"./LazyTerminal-CRonN-zb.js";import{a as v,b as y,d as b,f as x,g as S,h as C,i as w,l as T,m as E,o as D,p as O,s as k,t as A,u as j,v as M,x as ee}from"./notification-delivery-CDu_5PS7.js";import{i as te,r as ne,t as re}from"./client-settings-CwqpIric.js";import{t as ie}from"./preload-helper-Czpn1I53.js";import{a as ae,n as oe,o as se,r as ce,t as le}from"./index-xDhpMZgv.js";import{i as ue,n as de,t as fe}from"./dist-v3Pwgb3Q.js";import{$t as pe,A as me,B as he,Bt as N,C as ge,D as _e,E as P,Et as ve,F as ye,Gt as be,Ht as xe,It as Se,Jt as Ce,K as we,Kt as F,M as Te,Mt as Ee,N as De,Nt as Oe,O as ke,P as Ae,Pt as je,Qt as Me,St as Ne,T as Pe,Ut as Fe,V as Ie,Vt as Le,W as Re,Wt as ze,Xt as Be,Y as Ve,Yt as He,Z as Ue,Zt as We,_ as Ge,a as Ke,b as qe,ct as Je,ft as Ye,g as Xe,gt as Ze,ht as Qe,k as $e,lt as et,m as tt,mt as nt,nt as rt,ot as it,p as at,pt as ot,qt as st,rt as ct,st as lt,tt as ut,w as dt,x as ft,y as pt,zt as mt}from"./protocol-support-CLMCHX8i.js";import{n as ht,t as gt}from"./copy-CKvSfzPk.js";import{a as _t,c as vt,d as yt,i as bt,l as xt,n as St,o as Ct,s as wt,t as Tt,u as Et}from"./project-abbrev-Br6sQqPh.js";import{S as I,c as Dt,l as Ot,n as kt,s as At,t as jt,u as Mt,v as L}from"./dialog-UpZ_vNTE.js";import{i as Nt,t as R}from"./button-DkCgQgIz.js";import{a as Pt,c as Ft,d as It,f as Lt,l as Rt,t as zt,u as Bt}from"./switch-SW6BMps1.js";import{$ as Vt,G as Ht,H as Ut,J as Wt,K as Gt,Q as Kt,U as qt,W as Jt,X as Yt,Y as Xt,at as Zt,d as Qt,et as $t,f as en,h as z,i as tn,it as B,m as nn,nt as rn,ot as V,p as an,q as on,r as sn,rt as H,t as cn,tt as ln}from"./use-ui-state-BiAROr3D.js";import{n as U}from"./x-CZCUod6A.js";import{t as W}from"./createLucideIcon-DyMAgLa3.js";import{t as un}from"./NewProjectDialog-Bsp8NGgY.js";import{n as G}from"./errors-BH_S68Hd.js";import{t as K}from"./ws-DNNH0sEH.js";var q=e(t(),1),J=r();function dn(){let[e,t]=(0,q.useState)(`Opening forwarded application…`);return(0,q.useEffect)(()=>{if(!/^\/forward\/([^/]+)\/(\d+)$/.exec(window.location.pathname)){t(`This forwarding link is invalid.`);return}let e=!0;return ht(new URL(window.location.href)).then(t=>{e&&window.location.replace(t)}).catch(()=>{e&&t(`The application is unavailable. Reconnect to Puddle and open this link again.`)}),()=>{e=!1}},[]),(0,J.jsx)(`p`,{className:`p-8 text-sm text-fg-secondary`,children:e})}var fn=class extends We{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new je({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=pn(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=pn(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){N.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ze(t,e))}findAll(e={}){return this.getAll().filter(t=>ze(e,t))}notify(e){N.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return N.batch(()=>Promise.all(e.map(e=>e.continue().catch(F))))}};function pn(e){return e.options.scope?.id}var mn=class extends We{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??Fe(r,t),a=this.get(i);return a||(a=new Se({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){N.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>be(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>be(e,t)):t}notify(e){N.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){N.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){N.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},hn=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new mn,this.#t=e.mutationCache||new fn,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Be.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=mt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Ce(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=Le(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return N.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;N.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return N.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=N.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(F).catch(F)}invalidateQueries(e,t={}){return N.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=N.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(F)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(F)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(Ce(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(F).catch(F)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(F).catch(F)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return mt.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(xe(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{st(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(xe(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{st(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=Fe(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===He&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},gn=class extends q.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidUpdate(e){this.state.error!==null&&e.resetOn!==this.props.resetOn&&this.setState({error:null})}componentDidCatch(e,t){console.error(`Puddle: the ${this.props.scope} crashed`,e,t.componentStack)}render(){let{error:e}=this.state;return e===null?this.props.children:(0,J.jsxs)(`div`,{className:`flex h-full min-h-40 flex-col items-center justify-center gap-4 px-8 py-10 text-center`,children:[(0,J.jsxs)(`p`,{className:`text-sm text-fg`,children:[`The `,this.props.scope,` stopped rendering.`]}),(0,J.jsx)(`p`,{className:`max-w-lg font-mono text-2xs leading-relaxed text-interrupted`,children:e.message||String(e)}),(0,J.jsx)(`p`,{className:`max-w-sm text-2xs leading-relaxed text-fg-muted`,children:`Your sessions and their worktrees are on the daemon and untouched; the layout is saved. The console has the full stack.`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>this.setState({error:null}),className:`text-2xs font-medium text-fg-gold transition-colors hover:underline`,children:`Try again`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>window.location.reload(),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Reload`})]})]})}};function _n(){return(0,J.jsx)(fe,{theme:(0,q.useSyncExternalStore)(ae,ce),position:`bottom-right`,toastOptions:{style:{background:`var(--bg-elevated)`,border:`none`,boxShadow:`0 8px 30px rgb(0 0 0 / 0.25)`,color:`var(--text-primary)`},classNames:{description:`whitespace-pre-wrap break-words font-mono text-2xs leading-snug max-h-40 overflow-y-auto`}}})}function vn(){return(0,J.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ground`,children:(0,J.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-10 px-8 pb-24`,children:[(0,J.jsx)(`h1`,{className:`font-mono text-2xl font-semibold text-fg`,children:`Puddle`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 text-sm leading-relaxed text-fg-secondary`,children:[(0,J.jsxs)(`p`,{children:[`Authorise this browser by running`,` `,(0,J.jsx)(`span`,{className:`font-mono text-accent`,children:`puddle launch`}),` in a terminal.`]}),(0,J.jsx)(`p`,{children:`Use the link it opens. Your sessions, drafts and layouts stay in place.`})]})]})})}var yn=e(n(),1),bn=`a, button, [role="button"], [role="slider"], input, select, textarea, summary, label, [onclick], .cursor-pointer`,xn=`.monaco-editor`;function Sn(e,t){return e?.closest(xn)&&!e.closest(t)?`text`:e?.closest(bn)?`interactive`:`default`}function Cn(e,t=`.no-custom-caret`){(0,q.useEffect)(()=>{let n=e.current;if(!n)return;let r=window.matchMedia(`(pointer: fine)`),i=()=>{n.style.opacity=`0`},a=e=>{if(e.pointerType===`touch`||!r.matches){i();return}n.style.transform=`translate3d(${e.clientX}px, ${e.clientY}px, 0) translate(-50%, -50%)`;let a=e.target instanceof Element?e.target:null;if(a instanceof HTMLIFrameElement){i();return}n.style.opacity=`1`;let o=a?.closest(xn),s=Sn(a,t),c=s===`text`,l=s===`interactive`,u=c;if(c&&o){let e=getComputedStyle(o);n.style.setProperty(`--custom-cursor-caret-height`,`${Math.round(Number.parseFloat(e.fontSize)*1.3)}px`)}else if(!l&&a&&!a.closest(t)&&Array.from(a.childNodes).some(e=>e.nodeType===Node.TEXT_NODE&&e.textContent?.trim())){let e=getComputedStyle(a);e.userSelect!==`none`&&(u=!0,n.style.setProperty(`--custom-cursor-caret-height`,`${Math.round(Number.parseFloat(e.fontSize)*1.3)}px`))}n.classList.toggle(`is-interactive`,l),n.classList.toggle(`is-text`,u)};return window.addEventListener(`pointermove`,a,{passive:!0}),document.documentElement.addEventListener(`pointerleave`,i),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`pointermove`,a),document.documentElement.removeEventListener(`pointerleave`,i),window.removeEventListener(`blur`,i)}},[t,e])}var wn=[`top`,`right`,`bottom`,`left`];function Tn(){let e=(0,q.useRef)(null);return Cn(e),(0,J.jsx)(`div`,{ref:e,className:`custom-cursor drafting-cursor`,"aria-hidden":`true`,children:wn.map(e=>(0,J.jsx)(`span`,{className:`drafting-cursor-tick`,"data-side":e},e))})}function En(){let e=(0,q.useRef)(null);return Cn(e),(0,J.jsx)(`div`,{ref:e,className:`custom-cursor invert-cursor`,"aria-hidden":`true`})}var Dn=`h1, h2, h3, h4, h5, h6, .no-rangefinder-caret`,On=40.5,Y=4.05,kn=Y*Math.sqrt(3)/2;function An(){let e=[],t=[],n=On/2,r=Math.ceil(n/kn)+1,i=e=>Math.round(e*100)/100,a=e=>`M${e.map(([e,t])=>`${i(e)} ${i(t)}`).join(`L`)}Z`;for(let i=-r;i<r;i+=1){let o=n+i*kn,s=o+kn,c=(i%2+2)%2*(Y/2);for(let i=-r;i<r;i+=1){let r=n+i*Y+c,l=[[r+Y/2,o],[r,s],[r+Y,s]],u=[[r+Y/2,o],[r+3*Y/2,o],[r+Y,s]],d=e=>{let t=e.map(([e])=>e),n=e.map(([,e])=>e);return Math.max(...t)>0&&Math.min(...t)<On&&Math.max(...n)>0&&Math.min(...n)<On};d(l)&&e.push(a(l)),d(u)&&t.push(a(u))}}return{light:e.join(``),dark:t.join(``)}}var jn=An();function Mn(){let e=(0,q.useRef)(null);return Cn(e,Dn),(0,J.jsx)(`div`,{ref:e,className:`custom-cursor rangefinder-cursor`,"aria-hidden":`true`,children:(0,J.jsxs)(`svg`,{className:`rangefinder-cursor-facets`,viewBox:`0 0 ${On} ${On}`,focusable:`false`,children:[(0,J.jsx)(`path`,{className:`rangefinder-cursor-facet-light`,d:jn.light}),(0,J.jsx)(`path`,{className:`rangefinder-cursor-facet-dark`,d:jn.dark})]})})}function Nn(){let{cursorPackage:e}=te(),t=null;switch(e){case`rangefinder`:t=(0,J.jsx)(Mn,{});break;case`drafting`:t=(0,J.jsx)(Tn,{});break;case`invert`:t=(0,J.jsx)(En,{});break;case`system`:return null}return(0,yn.createPortal)(t,document.body)}var Pn=W(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),Fn=W(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),In=W(`monitor-cog`,[[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`m14.305 7.53.923-.382`,key:`1mlnsw`}],[`path`,{d:`m15.228 4.852-.923-.383`,key:`82mpwg`}],[`path`,{d:`m16.852 3.228-.383-.924`,key:`ln4sir`}],[`path`,{d:`m16.852 8.772-.383.923`,key:`1dejw0`}],[`path`,{d:`m19.148 3.228.383-.924`,key:`192kgf`}],[`path`,{d:`m19.53 9.696-.382-.924`,key:`fiavlr`}],[`path`,{d:`m20.772 4.852.924-.383`,key:`1j8mgp`}],[`path`,{d:`m20.772 7.148.924.383`,key:`zix9be`}],[`path`,{d:`M22 13v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7`,key:`1tnzv8`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}]]),Ln=W(`notebook-pen`,[[`path`,{d:`M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4`,key:`re6nr2`}],[`path`,{d:`M2 6h4`,key:`aawbzj`}],[`path`,{d:`M2 10h4`,key:`l0bgd4`}],[`path`,{d:`M2 14h4`,key:`1gsvsf`}],[`path`,{d:`M2 18h4`,key:`1bu2t1`}],[`path`,{d:`M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`pqwjuv`}]]),Rn=W(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),zn=W(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Bn=W(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]);function Vn(){let e=nt(),t=Ie(),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(s),o=()=>{n.trim()&&t.mutate({name:n.trim(),branch_prefix:i.trim()},{onSuccess:e=>Pe(e.id)})},c=(e.data?.length??0)>0;return(0,J.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-ground`,children:(0,J.jsxs)(`div`,{className:`flex w-full max-w-md flex-col gap-10 px-8 pb-16`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`h1`,{className:`font-mono text-2xl font-semibold text-fg`,children:`Puddle`}),(0,J.jsx)(`p`,{className:`text-sm text-fg-secondary`,children:`Who is working?`})]}),c&&(0,J.jsx)(`div`,{className:`flex flex-col`,children:e.data.map(e=>(0,J.jsxs)(`button`,{onClick:()=>Pe(e.id),className:`flex items-center gap-3 rounded-md px-3 py-2.5 text-left transition-colors hover:bg-elevated active:bg-border/70`,children:[(0,J.jsx)(C,{icon:e.icon,colour:e.icon_colour,className:`size-5`}),(0,J.jsx)(`span`,{className:U(`text-base`,S(e.icon_colour)||`text-fg`),children:e.name}),e.branch_prefix&&(0,J.jsxs)(`span`,{className:`ml-auto text-2xs text-fg-muted`,children:[e.branch_prefix,`…`]})]},e.id))}),(0,J.jsxs)(`form`,{className:`flex flex-col gap-5`,onSubmit:e=>{e.preventDefault(),o()},children:[c&&(0,J.jsx)(`p`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-muted`,children:`or create a profile`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsx)(h,{htmlFor:`profile-name`,children:`Name`}),(0,J.jsx)(g,{id:`profile-name`,placeholder:`e.g. alice`,value:n,onChange:e=>r(e.target.value),className:`h-10`,autoFocus:!c})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,J.jsx)(h,{htmlFor:`branch-prefix`,children:`Branch prefix`}),(0,J.jsx)(g,{id:`branch-prefix`,placeholder:`no prefix`,value:i,onChange:e=>a(e.target.value),className:`h-10`})]}),t.error&&(0,J.jsx)(`p`,{className:`text-xs text-danger`,children:t.error.message}),(0,J.jsx)(R,{type:`submit`,size:`lg`,className:`self-start px-6`,disabled:!n.trim()||t.isPending,children:`Create profile`})]})]})})}var Hn=1,Un=.9,Wn=.8,Gn=.17,Kn=.1,qn=.999,Jn=.9999,Yn=.99,Xn=/[\\\/_+.#"@\[\(\{&]/,Zn=/[\\\/_+.#"@\[\(\{&]/g,Qn=/[\s-]/,$n=/[\s-]/g;function er(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Hn:Yn;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=er(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Hn:Xn.test(e.charAt(l-1))?(d*=Wn,p=e.slice(i,l-1).match(Zn),p&&i>0&&(d*=qn**+p.length)):Qn.test(e.charAt(l-1))?(d*=Un,m=e.slice(i,l-1).match($n),m&&i>0&&(d*=qn**+m.length)):(d*=Gn,i>0&&(d*=qn**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=Jn)),(d<Kn&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=er(e,t,n,r,l+1,a+2,o),f*Kn>d&&(d=f*Kn)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function tr(e){return e.toLowerCase().replace($n,` `)}function nr(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,er(e,t,tr(e),tr(t),0,0,{})}var rr=`[cmdk-group=""]`,ir=`[cmdk-group-items=""]`,ar=`[cmdk-group-heading=""]`,or=`[cmdk-item=""]`,sr=`${or}:not([aria-disabled="true"])`,cr=`cmdk-item-select`,X=`data-value`,lr=(e,t,n)=>nr(e,t,n),ur=q.createContext(void 0),dr=()=>q.useContext(ur),fr=q.createContext(void 0),pr=()=>q.useContext(fr),mr=q.createContext(void 0),hr=q.forwardRef((e,t)=>{let n=Dr(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=Dr(()=>new Set),i=Dr(()=>new Map),a=Dr(()=>new Map),o=Dr(()=>new Set),s=Er(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,..._}=e,v=L(),y=L(),b=L(),x=q.useRef(null),S=kr();Q(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,C.emit()}},[u]),Q(()=>{S(6,k)},[]);let C=q.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)O(),E(),S(1,D);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(b);e?e.focus():(i=document.getElementById(v))==null||i.focus()}if(S(7,()=>{n.current.selectedItemId=A()?.id,C.emit()}),r||S(5,k),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}C.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),w=q.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,T(t,r)),S(2,()=>{E(),C.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),S(3,()=>{O(),E(),n.current.value||D(),C.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=A();S(4,()=>{O(),t?.getAttribute(`id`)===e&&D(),C.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:v,inputId:b,labelId:y,listInnerRef:x}),[]);function T(e,t){let r=s.current?.filter??lr;return e?r(e,n.current.search,t):0}function E(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=x.current;j().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest(ir);t?t.appendChild(e.parentElement===t?e:e.closest(`${ir} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${ir} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=x.current?.querySelector(`${rr}[${X}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function D(){let e=j().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(X);C.setState(`value`,e||void 0)}function O(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=T(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function k(){var e;let t=A();t&&(t.parentElement?.firstChild===t&&((e=t.closest(rr)?.querySelector(ar))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function A(){return x.current?.querySelector(`${or}[aria-selected="true"]`)}function j(){return Array.from(x.current?.querySelectorAll(sr)||[])}function M(e){let t=j()[e];t&&C.setState(`value`,t.getAttribute(X))}function ee(e){var t;let n=A(),r=j(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&C.setState(`value`,a.getAttribute(X))}function te(e){let t=A()?.closest(rr),n;for(;t&&!n;)t=e>0?wr(t,rr):Tr(t,rr),n=t?.querySelector(sr);n?C.setState(`value`,n.getAttribute(X)):ee(e)}let ne=()=>M(j().length-1),re=e=>{e.preventDefault(),e.metaKey?ne():e.altKey?te(1):ee(1)},ie=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?te(-1):ee(-1)};return q.createElement(I.div,{ref:t,tabIndex:-1,..._,"cmdk-root":``,onKeyDown:e=>{var t;(t=_.onKeyDown)==null||t.call(_,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&re(e);break;case`ArrowDown`:re(e);break;case`p`:case`k`:g&&e.ctrlKey&&ie(e);break;case`ArrowUp`:ie(e);break;case`Home`:e.preventDefault(),M(0);break;case`End`:e.preventDefault(),ne();break;case`Enter`:{e.preventDefault();let t=A();if(t){let e=new Event(cr);t.dispatchEvent(e)}}}}},q.createElement(`label`,{"cmdk-label":``,htmlFor:w.inputId,id:w.labelId,style:Mr},c),jr(e,e=>q.createElement(fr.Provider,{value:C},q.createElement(ur.Provider,{value:w},e))))}),gr=q.forwardRef((e,t)=>{let n=L(),r=q.useRef(null),i=q.useContext(mr),a=dr(),o=Er(e),s=o.current?.forceMount??i?.forceMount;Q(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=Or(n,r,[e.value,e.children,r],e.keywords),l=pr(),u=$(e=>e.value&&e.value===c.current),d=$(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);q.useEffect(()=>{let t=r.current;if(!(!t||e.disabled))return t.addEventListener(cr,f),()=>t.removeEventListener(cr,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:_,keywords:v,...y}=e;return q.createElement(I.div,{ref:Nt(r,t),...y,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),_r=q.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=L(),s=q.useRef(null),c=q.useRef(null),l=L(),u=dr(),d=$(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));Q(()=>u.group(o),[]),Or(o,s,[e.value,e.heading,c]);let f=q.useMemo(()=>({id:o,forceMount:i}),[i]);return q.createElement(I.div,{ref:Nt(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&q.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),jr(e,e=>q.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},q.createElement(mr.Provider,{value:f},e))))}),vr=q.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=q.useRef(null),a=$(e=>!e.search);return!n&&!a?null:q.createElement(I.div,{ref:Nt(i,t),...r,"cmdk-separator":``,role:`separator`})}),yr=q.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=pr(),o=$(e=>e.search),s=$(e=>e.selectedItemId),c=dr();return q.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),q.createElement(I.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),br=q.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=q.useRef(null),o=q.useRef(null),s=$(e=>e.selectedItemId),c=dr();return q.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),q.createElement(I.div,{ref:Nt(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},jr(e,e=>q.createElement(`div`,{ref:Nt(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),xr=q.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return q.createElement(At,{open:n,onOpenChange:r},q.createElement(Mt,{container:o},q.createElement(Ot,{"cmdk-overlay":``,className:i}),q.createElement(Dt,{"aria-label":e.label,"cmdk-dialog":``,className:a},q.createElement(hr,{ref:t,...s}))))}),Sr=q.forwardRef((e,t)=>$(e=>e.filtered.count===0)?q.createElement(I.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),Cr=q.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return q.createElement(I.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},jr(e,e=>q.createElement(`div`,{"aria-hidden":!0},e)))}),Z=Object.assign(hr,{List:br,Item:gr,Input:yr,Group:_r,Separator:vr,Dialog:xr,Empty:Sr,Loading:Cr});function wr(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function Tr(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function Er(e){let t=q.useRef(e);return Q(()=>{t.current=e}),t}var Q=typeof window>`u`?q.useEffect:q.useLayoutEffect;function Dr(e){let t=q.useRef();return t.current===void 0&&(t.current=e()),t}function $(e){let t=pr(),n=()=>e(t.snapshot());return q.useSyncExternalStore(t.subscribe,n,n)}function Or(e,t,n,r=[]){let i=q.useRef(),a=dr();return Q(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(X,s),i.current=s}),i}var kr=()=>{let[e,t]=q.useState(),n=Dr(()=>new Map);return Q(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function Ar(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function jr({asChild:e,children:t},n){return e&&q.isValidElement(t)?q.cloneElement(Ar(t),{ref:t.ref},n(t.props.children)):n(t)}var Mr={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function Nr({className:e,...t}){return(0,J.jsx)(Z,{className:U(`flex size-full flex-col overflow-hidden rounded-lg bg-elevated`,e),...t})}function Pr({open:e,onOpenChange:t,children:n}){return(0,J.jsx)(jt,{open:e,onOpenChange:t,children:(0,J.jsx)(kt,{className:`max-w-lg overflow-hidden p-0 [&>button]:hidden`,children:(0,J.jsx)(Nr,{loop:!0,children:n})})})}function Fr({className:e,...t}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pt-1`,children:[(0,J.jsx)(rn,{className:`size-4 shrink-0 text-fg-muted`}),(0,J.jsx)(Z.Input,{className:U(`flex h-10 w-full bg-transparent text-sm text-fg outline-none placeholder:text-fg-muted`,e),...t})]})}function Ir({className:e,...t}){return(0,J.jsx)(Z.List,{className:U(`max-h-72 overflow-y-auto p-1`,e),...t})}function Lr(e){return(0,J.jsx)(Z.Empty,{className:`py-6 text-center text-sm text-fg-muted`,...e})}function Rr({className:e,...t}){return(0,J.jsx)(Z.Group,{className:U(`overflow-hidden [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-2xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wide [&_[cmdk-group-heading]]:text-fg-muted`,e),...t})}function zr({className:e,...t}){return(0,J.jsx)(Z.Item,{className:U(p,_,`[&_svg]:size-3.5 [&_svg]:text-fg-muted data-[selected=true]:[&_svg]:text-action-ink`,e),...t})}function Br({className:e,...t}){return(0,J.jsx)(`span`,{className:U(`ml-auto font-mono text-2xs tracking-widest text-fg-muted`,e),...t})}var Vr=new class{transport;reload;pause;phase=`idle`;pending=null;constructor(e=fetch,t=()=>window.location.reload(),n=e=>new Promise(t=>setTimeout(t,e))){this.transport=e,this.reload=t,this.pause=n}refresh(e=12e4){return this.pending||=this.run(e).finally(()=>{this.pending=null}),this.pending}async run(e){this.phase=`requesting`;let t={authorization:`Bearer ${u.get()??``}`,"content-type":`application/json`};try{let n=await this.transport(`/cockpit/refresh`,{method:`POST`,headers:t,signal:AbortSignal.timeout(1e4),body:JSON.stringify({refreshId:crypto.randomUUID()})});if(n.status!==202)throw Error(`refresh rejected`);let r=d.parse(await n.json());this.phase=`waiting`;let i=Date.now()+e;for(;Date.now()<i;){await this.pause(1e3);try{let e=await this.transport(`/cockpit/status`,{headers:t,cache:`no-store`,signal:AbortSignal.timeout(3e3)});if(!e.ok)continue;let n=c.parse(await e.json());if(n.instance===r.instance||n.refreshId!==r.refreshId||n.upstream!==`ready`)continue;return this.phase=`complete`,this.reload(),!0}catch{}}}catch{}return this.phase=`failed`,!1}},Hr=null;function Ur(e){return Hr=e,()=>{Hr===e&&(Hr=null)}}function Wr(){Hr?.()}var Gr=new Set;function Kr(){return[...Gr].flatMap(e=>e())}function qr({onNewSession:e,onNewProject:t}){let[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)(`commands`),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),f=Et(),p=yt(),m=P(),h=p.id,g=Ze(m??void 0),_=ve(h),v=Xt();(0,q.useEffect)(()=>qe(`palette.toggle`,()=>r(e=>!e)),[]),(0,q.useEffect)(()=>Vt(()=>r(!0)),[]),(0,q.useEffect)(()=>{n||(a(`commands`),s(``),l(null),d(!1))},[n]);let b=(0,q.useMemo)(()=>{let n=[];for(let e of g.data??[])n.push({id:`project-${e.id}`,group:`Projects`,label:e.name,icon:St,keywords:`switch project open`,run:()=>void f(`/project/${e.id}`)});for(let e of _.data??[])e.status!==`archived`&&n.push({id:`session-${e.id}`,group:`Sessions`,label:v(e),icon:Tt,keywords:`switch session ${e.branch}`,run:()=>void f(`/project/${e.project_id}/session/${e.id}`)});return h!==void 0&&e&&n.push({id:`new-agent`,group:`Actions`,label:`New agent`,icon:Lt,keywords:`new agent create start session`,run:()=>e()},{id:`new-terminal`,group:`Actions`,label:`New terminal`,icon:Tt,keywords:`new terminal create start shell session`,run:()=>e({kind:`terminal`})}),h!==void 0&&n.push({id:`open-path`,group:`Actions`,label:`Open path`,icon:St,keywords:`open path file directory folder editor tree browse absolute relative home`,closeOnRun:!1,run:()=>{s(``),l(null),a(`path`)}}),t&&n.push({id:`new-project`,group:`Actions`,label:`New project`,icon:It,keywords:`new project open create repository repo workspace`,run:t}),n.push({id:`theme-dark`,group:`Theme`,label:`Switch theme: dark`,icon:y,keywords:`switch theme dark appearance`,run:()=>void le(`dark`)},{id:`theme-light`,group:`Theme`,label:`Switch theme: light`,icon:M,keywords:`switch theme light appearance`,run:()=>void le(`light`)},{id:`theme-system`,group:`Theme`,label:`Switch theme: system`,icon:In,keywords:`switch theme system appearance`,run:()=>void le(`system`)},{id:`open-settings`,group:`Actions`,label:`Settings`,icon:Bn,keywords:`open settings preferences options configure`,run:()=>Pt()},{id:`switch-profile`,group:`Actions`,label:`Switch profile`,icon:Ft,keywords:`switch profile identity user change`,run:()=>dt.set(null)},{id:`refresh-connection`,group:`Actions`,label:`Refresh connection`,icon:Bt,keywords:`refresh connection reconnect restart cockpit tunnel ssh daemon`,run:()=>Wr()}),[...n,...Kr()]},[g.data,_.data,h,f,e,t,v]),x=(0,q.useMemo)(()=>{let e=new Map;for(let t of b){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]},[b]),S=async()=>{let e=o.trim();if(!(e===``||u)){d(!0),l(null);try{await Yt(e),r(!1)}catch(e){l(e instanceof Error?e.message:`Could not open that path.`)}finally{d(!1)}}};return(0,J.jsxs)(Pr,{open:n,onOpenChange:r,children:[(0,J.jsx)(Fr,{value:o,onValueChange:e=>{s(e),l(null)},placeholder:i===`path`?`Enter a path…`:`Type a command or search…`,onKeyDown:e=>{i===`path`&&(e.key===`Enter`?(e.preventDefault(),e.stopPropagation(),S()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),a(`commands`),s(``),l(null)))}}),i===`path`?(0,J.jsx)(Ir,{children:(0,J.jsxs)(`div`,{className:`px-3 py-3 text-xs text-fg-muted`,children:[(0,J.jsx)(`p`,{children:`Relative paths start from the bound worktree or project. Absolute and ~ paths work too.`}),(0,J.jsx)(`p`,{className:c?`mt-2 text-danger`:`mt-2`,"aria-live":`polite`,children:c??(u?`Opening…`:`Press Enter to open.`)})]})}):(0,J.jsxs)(Ir,{children:[(0,J.jsx)(Lr,{children:`Nothing matches.`}),x.map(([e,t])=>(0,J.jsx)(Rr,{heading:e,children:t.map(e=>{let t=e.icon;return(0,J.jsxs)(zr,{value:`${e.label} ${e.keywords??``}`,onSelect:()=>{e.closeOnRun!==!1&&r(!1),e.run()},children:[t&&(0,J.jsx)(t,{}),e.label,e.shortcut&&(0,J.jsx)(Br,{children:e.shortcut})]},e.id)})},e))]})]})}function Jr(){let e=document.activeElement;return e instanceof Element&&e.closest(`.xterm`)!==null}function Yr(){let e=document.activeElement;return e instanceof Element&&e.closest(`.monaco-editor`)!==null}function Xr(){let e=ot(P()??void 0).data?.hotkeys;return(0,q.useEffect)(()=>{ft(e&&typeof e==`object`?e:void 0)},[e]),(0,q.useEffect)(()=>qe(`window.close`,()=>{let e=Me();e?.closeWindow?e.closeWindow():window.close()}),[]),(0,q.useEffect)(()=>{let e=e=>{let t=tt(e);if(!t)return;let n=at(t);if(!n)return;let r=Xe(n);if(!r||!pt(r,Yr()))return;let i=Ge(n);i&&(e.preventDefault(),e.stopPropagation(),i())},t=e=>{let t=tt(e);if(!t)return;let n=at(t);if(!n)return;let r=Xe(n);if(!r||r.editor&&Yr()||r.deferInTerminal&&Jr())return;let i=Ge(n);i&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`keydown`,e,!0),window.removeEventListener(`keydown`,t)}},[]),null}var Zr=4e3;function Qr(){let[e,t]=(0,q.useState)(`hidden`),n=(0,q.useRef)(e);n.current=e,(0,q.useEffect)(()=>{let e=null,r=K.onConnectionChange(r=>{if(r){e!==null&&clearTimeout(e),e=null,n.current===`lost`&&t(`hidden`);return}e!==null||n.current!==`hidden`||(e=setTimeout(()=>{e=null,n.current===`hidden`&&t(`lost`)},Zr))});return()=>{r(),e!==null&&clearTimeout(e)}},[]);let r=(0,q.useCallback)(async()=>{n.current!==`refreshing`&&(t(`refreshing`),await Vr.refresh()||(de.error(`The cockpit has not come back — it may need a terminal (ssh re-auth): puddle refresh`),t(K.isConnected()?`hidden`:`lost`)))},[]);return(0,q.useEffect)(()=>Ur(()=>void r()),[r]),e===`hidden`?null:(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 bg-elevated px-3 py-2`,children:[(0,J.jsx)(`span`,{className:`text-xs text-fg-secondary`,children:e===`refreshing`?`Restarting the cockpit.`:`Connection to the daemon lost.`}),e===`lost`&&(0,J.jsxs)(R,{size:`sm`,className:`ml-auto`,onClick:()=>void r(),children:[(0,J.jsx)(Bt,{}),`Refresh connection`]})]})}function $r({label:e,percentage:t,hint:n}){let r=Math.max(0,Math.min(100,t));return(0,J.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`w-24 shrink-0 truncate text-2xs text-fg-muted`,title:e,children:e}),(0,J.jsx)(`span`,{className:`relative h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,J.jsx)(`span`,{className:`absolute inset-y-0 left-0 rounded-full ${r>=90?`bg-danger`:r>=75?`bg-warning`:`bg-action`}`,style:{width:`${r}%`}})}),(0,J.jsxs)(`span`,{className:`shrink-0 text-2xs tabular-nums text-fg-muted`,children:[Math.round(r),`%`,n?` · ${n}`:``]})]})}function ei(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ti(e){if(e===null)return`never`;let t=new Date(e).getTime(),n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function ni({account:e,onLogin:t,onStartSession:n,installed:r=!0}){let i=Te(e.id),a=e.logged_in?n:r?t:null,o=i.data?.subscription;return(0,J.jsxs)(`div`,{className:`rounded-md px-2 py-2 transition-colors hover:bg-elevated`,children:[(0,J.jsxs)(`button`,{type:`button`,disabled:a===null,onClick:()=>a?.(),className:`flex w-full items-center gap-3 text-left disabled:cursor-default`,children:[(0,J.jsx)(`span`,{className:`size-2 shrink-0 rounded-full ${e.logged_in?`bg-success`:`bg-idle`}`,"aria-hidden":!0}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-sm text-fg`,children:e.label}),(0,J.jsxs)(`span`,{className:`block text-2xs text-fg-muted`,children:[e.logged_in?`logged in`:`logged out`,i.data&&(0,J.jsxs)(J.Fragment,{children:[` · `,i.data.session_count,` session`,i.data.session_count===1?``:`s`,i.data.active_session_count>0&&` (${i.data.active_session_count} active)`,` · `,`last `,ti(i.data.last_activity_at)]})]}),i.data?.agent_usage&&(0,J.jsxs)(`span`,{className:`block text-2xs text-fg-muted`,children:[ei(i.data.agent_usage.input_tokens),` in ·`,` `,ei(i.data.agent_usage.output_tokens),` out ·`,` `,ei(i.data.agent_usage.cache_read_input_tokens),` cached ·`,` `,i.data.agent_usage.message_count,` msgs`]}),i.data?.live_usage?.context_used_percentage!=null&&(0,J.jsx)(`span`,{className:`mt-1 block`,children:(0,J.jsx)($r,{label:`context`,percentage:i.data.live_usage.context_used_percentage})})]}),(0,J.jsx)(`span`,{className:`shrink-0 text-2xs text-fg-muted`,children:r?e.logged_in?n?`new agent`:``:(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-warning`,children:[(0,J.jsx)(ee,{className:`size-3`}),`sign in`]}):`unavailable`})]}),o!=null&&o.windows.length>0&&(0,J.jsx)(`div`,{className:`mt-2 flex flex-col gap-1 pl-5`,children:o.windows.map(e=>(0,J.jsx)($r,{label:e.label,percentage:e.used_percentage,hint:e.resets==null?void 0:`resets ${e.resets}`},e.key))})]})}function ri(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(!1),i=P(),a=nt(),o=Je(),s=a.data?.find(e=>e.id===i),c=De(i??void 0),l=Ae(),u=ct(),{open:d,handler:f}=Wt(),[p,m]=(0,q.useState)(null),h=e=>u.mutate(e.id,{onSuccess:t=>m({stream:t.stream,label:`${e.agent_type}/${e.label}`}),onError:e=>G(e)}),g=e=>{t(!1),d({accountId:e.id})};return n&&s?(0,J.jsxs)(`div`,{className:`flex h-8 items-center gap-2 px-3`,children:[(0,J.jsx)(C,{icon:s.icon,colour:s.icon_colour}),(0,J.jsx)($t,{initial:s.name,maxLength:100,className:U(`w-32 text-sm`,S(s.icon_colour)),onCommit:e=>{r(!1);let t=e.trim();!i||!t||t===s?.name||o.mutate({id:i,name:t},{onError:e=>G(e)})},onCancel:()=>r(!1)})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(x,{open:e,onOpenChange:t,children:[(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsx)(E,{asChild:!0,children:(0,J.jsxs)(R,{variant:`ghost`,size:`sm`,className:`font-sans compact:h-7 compact:px-1.5`,children:[(0,J.jsx)(C,{icon:s?.icon,colour:s?.icon_colour}),(0,J.jsx)(`span`,{className:S(s?.icon_colour),...ln(()=>{t(!1),r(!0)}),children:s?.name??`…`})]})})}),(0,J.jsx)(B,{children:`Profile`})]}),(0,J.jsxs)(O,{className:`w-[28rem] max-w-[calc(100vw-1rem)]`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(l.data??[]).map(e=>{let t=c.data?.filter(t=>t.agent_type===e.id)??[];if(t.length===0)return null;let n=e.available!==!1;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsxs)(`span`,{className:`px-2 text-2xs font-medium uppercase tracking-wide text-fg-muted`,children:[e.display_name,!n&&(0,J.jsxs)(`span`,{className:`ml-2 normal-case tracking-normal text-fg-muted`,children:[`not installed — no `,e.binary??e.id,` on PATH`]})]}),t.map(e=>(0,J.jsx)(ni,{account:e,onLogin:()=>h(e),onStartSession:f&&n?()=>g(e):null,installed:n},e.id))]},e.id)}),c.data?.length===0&&(0,J.jsx)(`p`,{className:`px-2 text-sm text-fg-muted`,children:`No accounts yet — add one in settings.`})]}),(0,J.jsxs)(`div`,{className:`mt-4 flex items-center gap-2`,children:[(0,J.jsxs)(R,{variant:`ghost`,size:`sm`,onClick:()=>{t(!1),Pt(`accounts`)},children:[(0,J.jsx)(It,{}),`Add account`]}),(0,J.jsxs)(R,{variant:`ghost`,size:`sm`,className:`ml-auto`,onClick:()=>{t(!1),dt.set(null)},children:[(0,J.jsx)(zn,{}),`Switch profile`]})]})]})]}),p&&(0,J.jsx)(b,{stream:p.stream,label:p.label,onClose:()=>m(null)})]})}var ii=`desktop-update`;function ai(){let e=(0,q.useRef)(null);return(0,q.useEffect)(()=>{let t=Me();if(t?.updateReady===void 0||t.onUpdateReady===void 0)return;let n=t=>{e.current!==t&&(e.current=t,de(`Puddle ${t} is downloaded and ready.`,{id:ii,duration:1/0,closeButton:!0,action:{label:`Restart to update`,onClick:()=>{Me()?.installUpdate?.(),de.loading(`Restarting into Puddle ${t}…`,{id:`${ii}-restarting`,duration:1/0})}}}))};return t.updateReady().then(e=>{e!==null&&n(e)}),t.onUpdateReady(n)},[]),null}function oi(){let e=P(),t=nt().data?.find(t=>t.id===e),n=ot(e??void 0),r=Ne(e??void 0,void 0),i=te(),a=D(),o=k(),s=et(e??``),c=Je(),l=Re(),[u,d]=(0,q.useReducer)(e=>e+1,0);(0,q.useEffect)(()=>ae(()=>d()),[]);let f=(0,q.useRef)(null);(0,q.useEffect)(()=>{f.current=null},[t?.name]);let p=a.data?.available===!0?a.data.file:void 0,m=t!==void 0&&e!==null&&n.data!==void 0&&r.data!==void 0&&p!==void 0,h=t&&p?v(p,t.name):void 0,g=s.isPending||c.isPending||l.isPending||o.isPending||n.isFetching||r.isFetching;(0,q.useEffect)(()=>{if(!m||!h?.enabled||g)return;let a={client:i,theme:se(),profileSettings:n.data,profile:t,scratchpad:r.data},u={setClient:e=>ne(e),setTheme:e=>{typeof e==`string`&&le(e)},patchProfileSettings:e=>s.mutate(e),patchProfileColumns:t=>c.mutate({id:e,...t}),createScratchpad:t=>{for(let n of t)l.mutate({profile_id:e,scope:`profile`,title:n.title??void 0,body:n.body,tags:n.tags,agent_type:n.agent_type??void 0})}},d=JSON.stringify(h.doc);if(f.current!==d){f.current=d,T(h.doc,u,a,h.groups);return}let p=j(h.groups,a),_=JSON.stringify(p);_!==d&&(f.current=_,o.mutate({profile:t.name,entry:{...h,doc:p,updatedAt:new Date().toISOString()}}))})}function si(e){let t=t=>{let n=o.safeParse(t);n.success&&e(n.data)},n=Me()?.onNotificationClick?.((e,n)=>t(n)),r=e=>{e.data?.t===`notification-click`&&t(e.data.target)};return navigator.serviceWorker?.addEventListener(`message`,r),()=>{n?.(),navigator.serviceWorker?.removeEventListener(`message`,r)}}var ci=5e3,li=`[data-notification-session]`;function ui(e){let t=null,n=()=>{t=null},r=e=>e.target instanceof Element?e.target.closest(li):null,i=e=>{if(!e.isTrusted)return;let n=r(e),i=n?.dataset.notificationSession;t=n&&i?{element:n,session:i,at:performance.now()}:null},a=e=>{r(e)!==t?.element&&n()},o=[`pointerdown`,`keydown`,`input`,`paste`];for(let t of o)e.addEventListener(t,i,!0);return e.addEventListener(`focusin`,a,!0),e.addEventListener(`visibilitychange`,n),e.defaultView?.addEventListener(`blur`,n),{isInteracting(n){return t!==null&&t.session===n&&performance.now()-t.at<ci&&e.visibilityState===`visible`&&e.hasFocus()&&t.element.isConnected&&t.element.dataset.notificationSession===n&&t.element.getClientRects().length>0},dispose(){n();for(let t of o)e.removeEventListener(t,i,!0);e.removeEventListener(`focusin`,a,!0),e.removeEventListener(`visibilitychange`,n),e.defaultView?.removeEventListener(`blur`,n)}}}var di=new Set,fi=e=>!!e&&di.has(e),pi=i.parse({});function mi(e){return e.prefs.muted_projects.includes(e.projectId)?{desktop:!1,sound:!1}:{desktop:e.prefs.desktop&&(e.permission===`granted`||e.permission===`unverified`)&&(e.prefs.when_focused||!e.sessionFocused),sound:e.prefs.sound}}function hi(e,t){for(let[,n]of e.getQueriesData({queryKey:[`sessions`]})){let e=n?.find(e=>e.id===t);if(e)return e}for(let[,n]of e.getQueriesData({queryKey:[`project`]})){let e=n?.sessions.find(e=>e.id===t);if(e)return e}}function gi(e){return e.title??e.agent_title??e.osc_title??e.id.slice(0,8)}function _i(){try{let e=new AudioContext,t=e.createGain();t.gain.value=.04,t.connect(e.destination);for(let[n,r]of[[880,0],[1318.5,.09]]){let i=e.createOscillator();i.type=`sine`,i.frequency.value=n,i.connect(t),i.start(e.currentTime+r),i.stop(e.currentTime+r+.12)}setTimeout(()=>void e.close(),400)}catch{}}function vi(){let e=Et(),t=(0,q.useRef)(null);(0,q.useEffect)(()=>{let e=ui(document);return t.current=e,()=>{t.current=null,e.dispose()}},[]),(0,q.useEffect)(()=>si(t=>{t.host||e(`/project/${t.project}/session/${t.session}`,{state:{notificationSession:t.session}})}),[e]),yi(t=>{e(`/project/${t.project_id}/session/${t.id}`,{state:{notificationSession:t.id}})},e=>t.current?.isInteracting(e.id)??!1)}function yi(e,t=()=>document.hasFocus()){let n=Oe(),r=(0,q.useRef)(e);r.current=e;let a=(0,q.useRef)(t);a.current=t;let o=$e(ut().data)??`Puddle`,s=(0,q.useRef)(o);(0,q.useEffect)(()=>{document.title===s.current&&(document.title=o),s.current=o},[o]),(0,q.useEffect)(()=>{let e=new Set,t=()=>{document.title=e.size>0?`(${e.size}) ${s.current}`:s.current},o=!0,c=async e=>{let t=hi(n,e.session);if(!t)try{t=(await _e(n)).find(t=>t.id===e.session)}catch{return}if(!o||!t)return;let c=t,u,d;try{let e=await n.fetchQuery({queryKey:[`project`,c.project_id],queryFn:()=>ue(`GET`,`/api/projects/${c.project_id}`),staleTime:1e4});if(!o)return;d=e.project;let t=d.profile_id,r=await n.fetchQuery({queryKey:[`profile-settings`,t],queryFn:()=>ue(`GET`,`/api/profiles/${t}/settings`),staleTime:1e4});u=i.catch(pi).parse(r.notifications??{})}catch{return}if(!o)return;let f=mi({prefs:u,projectId:c.project_id,sessionFocused:a.current(c),permission:w()});f.sound&&_i(),f.desktop&&!fi(l()?.scope)&&await A({id:e.id?`puddle-event-${e.id}`:`puddle-agent-${c.id}`,title:e.content?.title??gi(c).slice(0,160),body:e.content?.body??(e.reason===`exited`?`Agent finished running`:`Waiting for your input`),target:{project:c.project_id,session:c.id,...l()?.notificationHost?{host:l().notificationHost}:{}}},()=>{o&&r.current(c)},{host:s.current,project:d})},u=K.onAgentNotification(e=>{c(e)}),d=K.onStatus(r=>{let i=e.has(r.session);r.status===`waiting_input`?e.add(r.session):e.delete(r.session),t(),!(r.status!==`waiting_input`||i)&&n.fetchQuery({queryKey:[`version`],queryFn:()=>ue(`GET`,`/api/version`),staleTime:1/0}).then(e=>{if(!(e.protocol.major>22||e.protocol.major===22&&e.protocol.minor>=3))return c({session:r.session,reason:`waiting_input`})}).catch(()=>{})});return()=>{o=!1,d(),u(),document.title=s.current}},[n])}function bi({initial:e,defaultScope:t,allowProject:n=!0,agents:r,onSave:i,onCancel:a}){let[o,s]=(0,q.useState)(e?.title??``),[c,l]=(0,q.useState)(e?.body??``),[u,d]=(0,q.useState)(n?e?.scope??t:`profile`),[p,m]=(0,q.useState)((e?.tags??[]).join(`, `)),[h,_]=(0,q.useState)(e?.agent_type??null),v=()=>{let e=c.trim();e&&i({title:o.trim()||null,body:e,scope:u,tags:p.split(`,`).map(e=>e.trim()).filter(Boolean),agent_type:h})};return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(g,{value:o,placeholder:`Title (optional)`,spellCheck:!1,onChange:e=>s(e.target.value),onKeyDown:e=>e.stopPropagation(),className:`h-9 text-sm font-medium`}),(0,J.jsx)(f,{autoFocus:!0,value:c,placeholder:`Prompt or note…`,spellCheck:!1,rows:10,onChange:e=>l(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`?a():e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&v()},className:`resize-y text-sm leading-relaxed`}),(0,J.jsx)(g,{value:p,placeholder:`tags, comma, separated`,spellCheck:!1,onChange:e=>m(e.target.value),onKeyDown:e=>e.stopPropagation(),className:`h-8 text-xs`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,J.jsxs)(`label`,{className:`flex items-center gap-1.5 text-2xs text-fg-secondary`,children:[(0,J.jsx)(zt,{checked:u===`profile`,onCheckedChange:e=>d(e?`profile`:`project`)}),`Profile-wide`]}),(0,J.jsx)(`div`,{className:`ml-auto flex items-center gap-1`,children:r.map(e=>(0,J.jsxs)(`button`,{type:`button`,title:e.display_name,"aria-pressed":h===e.id,onClick:()=>_(t=>t===e.id?null:e.id),className:U(`rounded-md p-1 transition-colors`,h===e.id?`bg-surface text-fg`:`text-fg-gold hover:bg-surface hover:text-fg`),children:[(0,J.jsx)(Gt,{type:e.id,className:`size-3.5`}),(0,J.jsx)(`span`,{className:`sr-only`,children:e.display_name})]},e.id))})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5`,children:[(0,J.jsx)(R,{variant:`ghost`,size:`sm`,onClick:a,children:`Cancel`}),(0,J.jsx)(R,{size:`sm`,disabled:!c.trim(),onClick:v,children:`Save`})]})]})}function xi(){let e=Ht(),t=P(),n=yt().id,r=Ne(t??void 0,n).data??[],i=Ae().data??[],a=Re(),o=Ye(),s=Ue(),c=Jt(),[l,u]=(0,q.useState)(null),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(null);(0,q.useEffect)(()=>qe(`scratchpad.toggle`,qt),[]),(0,q.useEffect)(()=>{e||(u(null),f(null),m(null))},[e]);let y=(0,q.useMemo)(()=>[...new Set(r.flatMap(e=>e.tags))].sort((e,t)=>e.localeCompare(t)),[r]),b=(0,q.useMemo)(()=>[...new Set(r.map(e=>e.agent_type).filter(e=>e!==null))],[r]),S=d!==null||p!==null,C=r.filter(e=>(d===null||e.tags.includes(d))&&(p===null||e.agent_type===p)),w=S?C:_??r,T=e=>{t&&(a.mutate({profile_id:t,scope:e.scope,project_id:e.scope===`project`?n:void 0,title:e.title??void 0,body:e.body,tags:e.tags,agent_type:e.agent_type??void 0}),u(null))},D=(e,t)=>{o.mutate({id:e,scope:t.scope,project_id:t.scope===`project`?n??null:null,title:t.title,body:t.body,tags:t.tags,agent_type:t.agent_type}),u(null)},k=(e,t)=>{let n=_??r,i=n.findIndex(t=>t.id===e),a=n.findIndex(e=>e.id===t);if(i===-1||a===-1||i===a)return;let o=n.slice(),[s]=o.splice(i,1);o.splice(a,0,s),v(o)},A=()=>{let e=h,t=_;if(g(null),v(null),e===null||!t)return;let n=t.findIndex(t=>t.id===e);if(n===-1)return;let r=t[n-1],i=t[n+1],a=r?i?(r.position+i.position)/2:r.position+1:(i?i.position:0)-1;o.mutate({id:e,position:a})},j=e=>{navigator.clipboard?.writeText(e.body),de.success(`Copied to clipboard`)};return(0,J.jsxs)(x,{open:e,onOpenChange:Ut,children:[(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsx)(E,{asChild:!0,children:(0,J.jsxs)(R,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,children:[(0,J.jsx)(Ln,{}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Scratchpad`})]})})}),(0,J.jsx)(B,{children:`Scratchpad`})]}),(0,J.jsxs)(O,{className:`w-[34rem] max-w-[calc(100vw-1rem)] p-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-5 pb-2 pt-4`,children:[(0,J.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Scratchpad`}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>u(l===`new`?null:`new`),className:`ml-auto flex items-center rounded-md p-1 text-fg-gold transition-colors hover:bg-surface hover:text-fg`,children:[(0,J.jsx)(It,{className:`size-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`New entry`})]})]}),(y.length>0||b.length>0)&&(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1 px-5 pb-2`,children:[y.map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>f(t=>t===e?null:e),className:U(`rounded-full px-2 py-0.5 text-2xs transition-colors`,d===e?`bg-action text-action-ink`:`bg-surface text-fg-secondary hover:text-fg`),children:e},e)),b.map(e=>(0,J.jsx)(`button`,{type:`button`,"aria-pressed":p===e,onClick:()=>m(t=>t===e?null:e),className:U(`rounded-md p-1 transition-colors`,p===e?`bg-action text-action-ink`:`text-fg-gold hover:bg-surface`),children:(0,J.jsx)(Gt,{type:e,className:`size-3.5`})},e))]}),(0,J.jsxs)(`div`,{className:`no-scrollbar max-h-[65vh] overflow-y-auto px-2 pb-3`,children:[l===`new`&&(0,J.jsx)(`div`,{className:`px-3 py-2`,children:(0,J.jsx)(bi,{defaultScope:n?`project`:`profile`,allowProject:n!==void 0,agents:i,onSave:T,onCancel:()=>u(null)})}),w.length===0&&l!==`new`&&(0,J.jsx)(`p`,{className:`px-3 py-3 text-sm text-fg-muted`,children:S?`Nothing matches this filter.`:`No entries yet — press + to add a reusable prompt or note.`}),(0,J.jsx)(`ul`,{className:`flex flex-col`,children:w.map(e=>l===e.id?(0,J.jsx)(`li`,{className:`px-3 py-2`,children:(0,J.jsx)(bi,{initial:e,defaultScope:e.scope,allowProject:n!==void 0||e.scope===`project`,agents:i,onSave:t=>D(e.id,t),onCancel:()=>u(null)})},e.id):(0,J.jsx)(`li`,{draggable:!S&&l===null,onDragStart:t=>{t.dataTransfer.effectAllowed=`move`,g(e.id)},onDragOver:t=>{h!==null&&(t.preventDefault(),h!==e.id&&k(h,e.id))},onDragEnd:A,className:U(`transition-opacity`,h===e.id&&`opacity-50`),children:(0,J.jsx)(Si,{entry:e,onInsert:c?()=>{c(e.body),Ut(!1)}:null,onCopy:()=>j(e),onEdit:()=>u(e.id),onDelete:()=>s.mutate(e.id)})},e.id))})]})]})]})}function Si({entry:e,onInsert:t,onCopy:n,onEdit:r,onDelete:i}){let[a,o]=(0,q.useState)(!1);return(0,J.jsxs)(`div`,{onClick:e=>{e.target.closest(`button`)||r()},className:`cursor-pointer rounded-md px-3 py-2.5 transition-colors hover:bg-surface`,children:[e.title&&(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,J.jsx)(`p`,{className:U(`line-clamp-3 whitespace-pre-wrap text-sm text-fg-secondary`,e.title&&`mt-0.5`),children:e.body}),a?(0,J.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,J.jsx)(`span`,{className:`text-2xs text-fg-muted`,children:`Delete this entry? This can’t be undone.`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>{o(!1),i()},className:`text-2xs font-medium text-interrupted transition-colors hover:underline`,children:`Delete`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(!1),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Cancel`})]}):(0,J.jsxs)(`div`,{className:`mt-2 flex items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:e.scope===`profile`?`Profile-wide`:`Project`}),e.agent_type&&(0,J.jsx)(Gt,{type:e.agent_type,className:`size-3 text-fg-gold`}),e.tags.map(e=>(0,J.jsx)(`span`,{className:`rounded-full bg-surface px-1.5 text-2xs text-fg-secondary`,children:e},e)),(0,J.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[t&&(0,J.jsx)(Ci,{icon:Pn,label:`Insert into focused terminal`,onClick:t}),(0,J.jsx)(Ci,{icon:gt,label:`Copy`,onClick:n}),(0,J.jsx)(Ci,{icon:m,label:`Edit`,onClick:r}),(0,J.jsx)(Ci,{icon:Rt,label:`Delete`,onClick:()=>o(!0)})]})]})]})}function Ci({icon:e,label:t,onClick:n}){return(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,onClick:n,className:`rounded-md p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,J.jsx)(e,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,J.jsx)(B,{children:t})]})}var wi=a.parse({});function Ti(e,t){let[n,r]=(0,q.useState)(null),i=ye(t).data,a=Ze(e??void 0,t&&e!==null).data;return(0,q.useEffect)(()=>{if(!t||e===null){r(null);return}let n=!1,i;try{i=cn(sessionStorage.getItem(sn(e)))}catch{i={kind:`absent`}}if(i.kind===`present`){r(i.snapshot);return}return ke(e).then(e=>{n||r(e?e.ui_state:wi)}).catch(()=>{n||r(wi)}),()=>{n=!0}},[t,e]),(0,q.useMemo)(()=>{if(!t||e===null||n===null)return null;let o=t=>{if(!i||!a)return!1;let{patch:o,projectBased:s}=tn(n,t,{alive:new Set(i.filter(e=>e.status!==`archived`).map(e=>e.id)),sessionProject:new Map(i.map(e=>[e.id,e.project_id])),projectIds:a.map(e=>e.id),currentProject:null}),c={...n,...o};r(c),me(e,c).catch(e=>console.warn(`ui-state save failed: ${e.message}`));try{sessionStorage.setItem(sn(e),JSON.stringify(c))}catch(e){console.warn(`ui-state write failed: ${e.message}`)}return re().projectBasedLayout!==s&&ne({projectBasedLayout:s}),!0},s=Object.fromEntries(Object.entries(n.project_layouts).map(([e,t])=>[e,{layoutRef:t.layout_ref,signature:z(t.layout_tree)}]));return(n.layout_mode??`profile`)===`project`?{headless:!0,scope:`project`,projectId:``,layoutRef:null,signature:z(null),slices:s,capture:()=>({layout_tree:null,active_session:null}),apply:o}:{scope:`profile`,projectId:``,layoutRef:n.layout_ref,signature:z(n.layout_tree),slices:s,capture:()=>({layout_tree:n.layout_tree,active_session:n.active_session}),apply:o}},[t,e,n,i,a])}var Ei=z(null);function Di(){let e=nn(),t=Et(),n=P(),r=an(),i=Ti(n,e&&r===null),a=r??i,o=rt(n??void 0,void 0).data??[],s=Ze(n??void 0,e&&n!==null).data??[],c=he(),l=lt(),u=Ve(),[d,f]=(0,q.useState)(``),[p,m]=(0,q.useState)(!1),[h,_]=(0,q.useState)(null);(0,q.useEffect)(()=>qe(`layouts.toggle`,en),[]),(0,q.useEffect)(()=>{e||(f(``),m(!1),_(null))},[e]);let v=a?.headless===!0,y=a===null||v?null:o.find(e=>e.id===a.layoutRef)??null,b=a!==null&&!v&&(y===null?a.signature!==Ei:z(y.layout_tree)!==a.signature),S=e=>{let t=a?.slices?.[e];if(!t)return!1;let n=t.layoutRef===null?null:o.find(e=>e.id===t.layoutRef)??null;return n?z(n.layout_tree)!==t.signature:t.signature!==Ei},C=e=>a===null?!1:e.scope===`profile`?a.scope===`profile`&&b:e.project_id===null?!1:a.scope===`project`?!v&&e.project_id===a.projectId?b:S(e.project_id):b||S(e.project_id),w=e=>y!==null&&e.id===y.id,T=e=>(e===null?void 0:s.find(t=>t.id===e)?.name)??`Project`,D=a!==null&&!v&&a.scope===`project`?o.filter(e=>e.scope===`profile`||e.project_id===a.projectId):o,k=[...D.some(e=>e.scope===`profile`)?[{key:`profile`,name:`Profile-wide`}]:[],...[...new Set(D.flatMap(e=>e.project_id===null?[]:[e.project_id]))].map(e=>({key:e,name:T(e)})).sort((e,t)=>e.name.localeCompare(t.name))],A=h===null?D:h===`profile`?D.filter(e=>e.scope===`profile`):D.filter(e=>e.project_id===h),j=e=>a!==null&&e.scope===a.scope&&(a.scope===`profile`||e.project_id===a.projectId),M=(e,t,r)=>{!a||!n||c.mutate({profile_id:n,scope:a.scope,project_id:a.scope===`project`?a.projectId:void 0,name:e,...t},{onSuccess:e=>{r&&a.apply(e)},onError:e=>G(e)})},ee=e=>{if(!a)return;let t=j(e)?e:o.find(t=>t.name===e.name&&j(t));if(!t){M(e.name,a.capture(),!0);return}l.mutate({id:t.id,...a.capture()},{onSuccess:e=>a.apply(e),onError:e=>G(e)})},te=(e,t)=>M(t,{layout_tree:e.layout_tree,active_session:e.active_session},!1),ne=e=>{if(a){if(!a.apply(e)){de.error(`Workspace is still loading — try again in a moment`);return}e.project_id!==null&&e.project_id!==a.projectId&&t(`/project/${e.project_id}`),Qt(!1)}};return(0,J.jsxs)(x,{open:e,onOpenChange:Qt,children:[(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsx)(E,{asChild:!0,children:(0,J.jsxs)(R,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,children:[(0,J.jsx)(Fn,{}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Layouts`})]})})}),(0,J.jsx)(B,{children:`Layouts`})]}),(0,J.jsxs)(O,{className:`w-[26rem] max-w-[calc(100vw-1rem)] p-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-5 pb-2 pt-4`,children:[(0,J.jsx)(`span`,{className:`text-2xs font-medium uppercase tracking-wide text-fg-gold`,children:`Layouts`}),a!==null&&!v&&(0,J.jsxs)(`button`,{type:`button`,onClick:()=>m(e=>!e),className:`ml-auto flex items-center rounded-md p-1 text-fg-gold transition-colors hover:bg-surface hover:text-fg`,children:[(0,J.jsx)(It,{className:`size-4`}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Save the current layout as a new layout`})]})]}),a===null?(0,J.jsx)(`p`,{className:`px-5 pb-3 text-sm text-fg-muted`,children:`Loading the profile’s layout state…`}):v?(0,J.jsx)(`p`,{className:`px-5 pb-3 text-sm text-fg-muted`,children:`Project-based layout is on — every project keeps its own layout. Open a project to name or save it; loading works from here.`}):(y===null||p)&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 px-5 pb-3`,children:[y===null&&(0,J.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:`Unnamed layout`}),(0,J.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:a.scope===`profile`?`Profile-wide`:`Project`}),(0,J.jsx)(`span`,{className:`ml-auto text-2xs text-interrupted`,children:`Unsaved`})]}),(0,J.jsxs)(`form`,{className:`flex items-center gap-1.5`,onSubmit:e=>{e.preventDefault();let t=d.trim();t&&(M(t,a.capture(),!0),f(``),m(!1))},children:[(0,J.jsx)(g,{autoFocus:p,value:d,placeholder:y===null?`Name this layout…`:`Save as a new layout…`,spellCheck:!1,onChange:e=>f(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&m(!1)},className:`h-8 flex-1 text-sm`}),(0,J.jsx)(R,{size:`sm`,type:`submit`,disabled:!d.trim(),children:`Save`}),y!==null&&(0,J.jsx)(R,{variant:`ghost`,size:`sm`,onClick:()=>m(!1),children:`Cancel`})]})]}),k.length>1&&(0,J.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 px-5 pb-2`,children:k.map(e=>(0,J.jsx)(Ai,{active:h===e.key,onClick:()=>_(t=>t===e.key?null:e.key),children:e.name},e.key))}),(0,J.jsxs)(`div`,{className:`no-scrollbar max-h-[60vh] overflow-y-auto px-2 pb-3`,children:[A.length===0&&(0,J.jsx)(`p`,{className:`px-3 py-3 text-sm text-fg-muted`,children:h===null?`No layouts yet — name and save the current layout to keep it.`:`Nothing matches this filter.`}),(0,J.jsx)(`ul`,{className:`flex flex-col`,children:A.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsx)(Oi,{layout:e,projectLabel:e.scope===`profile`?null:T(e.project_id),isCurrent:w(e),dirty:b,loadable:a!==null,savable:a!==null&&!v,confirmBeforeLoad:C(e),overwrites:j(e),onLoad:()=>ne(e),onRename:t=>l.mutate({id:e.id,name:t}),onDelete:()=>u.mutate(e.id),onSaveAs:()=>ee(e),onDuplicate:t=>te(e,t)})},e.id))})]})]})]})}function Oi({layout:e,projectLabel:t,isCurrent:n,dirty:r,loadable:i,savable:a,confirmBeforeLoad:o,overwrites:s,onLoad:c,onRename:l,onDelete:u,onSaveAs:d,onDuplicate:f}){let[p,h]=(0,q.useState)(null),[_,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(e.name),x=()=>{if(!(!i||_!==null)){if(o&&p!==`load`){h(`load`);return}h(null),c()}},S=t=>{h(null),b(t===`rename`?e.name:`${e.name} copy`),v(t)},C=()=>{if(n){d();return}h(`save`)},w=n?r?`unsaved`:`active`:null;return(0,J.jsxs)(`div`,{onClick:e=>{e.target.closest(`button, input`)||x()},className:U(`rounded-md px-3 py-2.5 transition-colors`,i&&`cursor-pointer hover:bg-surface`),children:[_===null?(0,J.jsxs)(`p`,{className:U(`flex items-baseline gap-2 text-sm font-medium`,w===`active`?`text-success`:w===`unsaved`?`text-interrupted`:`text-fg`),children:[e.name,w!==null&&(0,J.jsx)(`span`,{className:`text-2xs font-normal`,children:w===`active`?`Active`:`Unsaved`})]}):(0,J.jsxs)(`form`,{className:`flex items-center gap-1.5`,onSubmit:t=>{t.preventDefault();let n=y.trim();n&&(_===`rename`?n!==e.name&&l(n):f(n)),v(null)},children:[(0,J.jsx)(g,{autoFocus:!0,value:y,spellCheck:!1,onChange:e=>b(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&v(null)},className:`h-7 flex-1 text-sm`}),(0,J.jsx)(R,{size:`sm`,type:`submit`,disabled:!y.trim(),children:_===`rename`?`Rename`:`Save`})]}),p===`save`?(0,J.jsx)(ki,{question:s?`Overwrite “${e.name}” with the current layout?`:`Save the current layout as “${e.name}” here?`,verb:s?`Overwrite`:`Save`,onConfirm:()=>{h(null),d()},onCancel:()=>h(null)}):p===`delete`?(0,J.jsx)(ki,{question:`Delete this layout? This can’t be undone.`,verb:`Delete`,onConfirm:()=>{h(null),u()},onCancel:()=>h(null)}):p===`load`?(0,J.jsx)(ki,{question:`Loading discards unsaved layout changes.`,verb:`Load`,onConfirm:x,onCancel:()=>h(null)}):(0,J.jsxs)(`div`,{className:`mt-2 flex items-center gap-1.5`,children:[t!==null&&(0,J.jsx)(`span`,{className:`text-2xs uppercase tracking-wide text-fg-muted`,children:t}),(0,J.jsxs)(`div`,{className:`ml-auto flex items-center gap-1`,children:[a&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ji,{icon:Rn,label:n?`Save`:`Save the current layout as “${e.name}”`,onClick:C}),(0,J.jsx)(ji,{icon:gt,label:`Duplicate`,onClick:()=>S(`duplicate`)})]}),(0,J.jsx)(ji,{icon:m,label:`Rename`,onClick:()=>S(`rename`)}),(0,J.jsx)(ji,{icon:Rt,label:`Delete`,onClick:()=>h(`delete`)})]})]})]})}function ki({question:e,verb:t,onConfirm:n,onCancel:r}){return(0,J.jsxs)(`div`,{className:`mt-2 flex items-center gap-3`,children:[(0,J.jsx)(`span`,{className:`text-2xs text-fg-muted`,children:e}),(0,J.jsx)(`button`,{type:`button`,onClick:n,className:`text-2xs font-medium text-interrupted transition-colors hover:underline`,children:t}),(0,J.jsx)(`button`,{type:`button`,onClick:r,className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:`Cancel`})]})}function Ai({active:e,onClick:t,children:n}){return(0,J.jsx)(`button`,{type:`button`,"aria-pressed":e,onClick:t,className:U(`rounded-full px-2 py-0.5 text-2xs transition-colors`,e?`bg-action text-action-ink`:`bg-surface text-fg-secondary hover:text-fg`),children:n})}function ji({icon:e,label:t,onClick:n}){return(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,onClick:n,className:`rounded-md p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg`,children:[(0,J.jsx)(e,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`sr-only`,children:t})]})}),(0,J.jsx)(B,{children:t})]})}var Mi=Me()!==void 0&&/Mac/.test(navigator.platform),Ni=(0,q.lazy)(()=>ie(()=>import(`./SettingsDialog-CGT3gjKB.js`).then(e=>({default:e.SettingsDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23])));function Pi(){let e=Oe();(0,q.useEffect)(()=>{let t=t=>{for(let[n,r]of e.getQueriesData({queryKey:[`sessions`]}))r&&e.setQueryData(n,r.map(t));for(let[n,r]of e.getQueriesData({queryKey:[`project`]}))r&&e.setQueryData(n,{...r,sessions:r.sessions.map(t)})},n=K.onStatus(e=>t(t=>t.id===e.session?{...t,status:e.status,last_activity_at:e.last_activity_at}:t)),r=K.onRenamed(e=>t(t=>t.id===e.session?{...t,title:e.title,agent_title:`agent_title`in e?e.agent_title:t.agent_title,osc_title:`osc_title`in e?e.osc_title:t.osc_title}:t)),i=K.onAccount(t=>{for(let[n,r]of e.getQueriesData({queryKey:[`accounts`]}))r&&e.setQueryData(n,r.map(e=>e.id===t.account_id?{...e,logged_in:t.logged_in}:e))}),a=t=>{e.invalidateQueries({queryKey:[`sessions`]});for(let n of t)e.invalidateQueries({queryKey:[`project`,n]})},o=K.onSessionsChanged(e=>a(e.project_ids)),s=K.onSessionSwitched(e=>a([e.target_project]));return()=>{n(),r(),i(),o(),s()}},[e])}function Fi(){let e=ut(),t=it(),[n,r]=(0,q.useState)(!1),i=$e(e.data),a=n=>{r(!1);let a=n.trim();a!==i&&t.mutate({displayName:a===e.data?.hostname?``:a},{onError:e=>G(e)})},o=!Mi&&(0,J.jsx)(`img`,{src:`/puddle.svg`,alt:`Puddle`,className:`size-4`}),s=U(`flex shrink-0 items-center gap-2`,Mi&&`[-webkit-app-region:no-drag]`),c=`truncate text-sm font-semibold text-fg-secondary`;return n&&i!==void 0?(0,J.jsxs)(`div`,{className:s,children:[o,(0,J.jsx)($t,{initial:e.data?.displayName??i,maxLength:64,className:U(c,`w-40`),onCommit:a,onCancel:()=>r(!1)})]}):(0,J.jsxs)(_t,{to:`/`,className:U(s,`transition-opacity hover:opacity-70`),title:`All projects`,children:[o,i!==void 0&&(0,J.jsx)(`span`,{className:c,...ln(()=>r(!0)),children:i})]})}function Ii(){let e=yt(),t=ge(`palette.toggle`),n=Qe(e.id).data?.project,r=n!==void 0&&n.id===e.id?n.name:void 0;return(0,J.jsxs)(`button`,{type:`button`,onClick:Kt,className:U(`absolute left-1/2 flex h-6 w-[min(30rem,42%)] -translate-x-1/2 items-center justify-center gap-2 rounded-md bg-ground text-fg-muted transition-colors hover:bg-elevated hover:text-fg-secondary`,Mi&&`[-webkit-app-region:no-drag]`),children:[(0,J.jsx)(`span`,{className:`truncate text-xs`,children:r??`Puddle`}),(0,J.jsx)(`span`,{className:`text-2xs`,children:t})]})}function Li(){let{fullScreen:e,animate:t}=pe();return(0,J.jsxs)(`header`,{className:U(`relative flex h-9 shrink-0 items-center gap-3 bg-surface pl-3 pr-3`,Mi&&!e&&`pl-[88px] [-webkit-app-region:drag]`,t&&`transition-[padding] duration-200 ease-out`),children:[(0,J.jsx)(Fi,{}),(0,J.jsx)(Ii,{}),(0,J.jsxs)(`div`,{className:U(`ml-auto flex items-center`,Mi&&`[-webkit-app-region:no-drag]`),children:[(0,J.jsxs)(H,{children:[(0,J.jsx)(V,{asChild:!0,children:(0,J.jsxs)(R,{variant:`ghost`,size:`icon`,className:`compact:h-7 compact:w-7`,onClick:()=>Pt(),children:[(0,J.jsx)(Bn,{}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Settings`})]})}),(0,J.jsx)(B,{children:`Settings`})]}),(0,J.jsx)(Di,{}),(0,J.jsx)(xi,{}),(0,J.jsx)(ri,{})]})]})}function Ri(){Pi(),oi(),vi();let{handler:e}=Wt(),t=P(),{pathname:n}=xt(),[r,i]=(0,q.useState)(!1),a=we(),o=a.data!==void 0&&Ke(a.data.protocol);return(0,q.useEffect)(()=>{if(!o)return;let e=()=>{let e=oe();K.reportTheme(e(`--text-primary`),e(`--bg-base`))};return e(),ae(e)},[o]),(0,J.jsxs)(`div`,{className:`flex h-screen flex-col overflow-hidden overscroll-y-none bg-ground`,children:[(0,J.jsx)(Li,{}),(0,J.jsx)(`main`,{className:`min-h-0 flex-1`,children:(0,J.jsx)(gn,{resetOn:n,scope:n.startsWith(`/project/`)?`workspace`:`view`,children:(0,J.jsx)(Ct,{})})}),(0,J.jsx)(Qr,{}),(0,J.jsx)(ai,{}),(0,J.jsx)(qr,{onNewSession:e??void 0,onNewProject:()=>i(!0)}),t!==null&&(0,J.jsx)(un,{profileId:t,open:r,onOpenChange:i}),(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Ni,{})}),(0,J.jsx)(Xr,{})]})}function zi(){return(0,J.jsx)(on,{children:(0,J.jsx)(Ri,{})})}var Bi=(0,q.lazy)(()=>ie(()=>import(`./Dashboard-3XQN7EWB.js`).then(e=>({default:e.Dashboard})),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,13,12,25,26,20,27,23,22,28]))),Vi=(0,q.lazy)(()=>ie(()=>import(`./Workspace-ZdFFHXHa.js`).then(e=>({default:e.Workspace})),__vite__mapDeps([29,1,2,3,4,5,6,7,8,9,10,15,16,17,12,13,30,31,25,14,32,33,34,26,20,35,18,19,36,28,22,37,38,39,40,41]))),Hi=new hn({defaultOptions:{queries:{retry:1,staleTime:5e3}},mutationCache:new fn({onError:e=>G(e)})});function Ui(){let e=P(),t=nt(),n=e!==null&&t.data!==void 0&&!t.data.some(t=>t.id===e);return e===null||n?(0,J.jsx)(Vn,{}):(0,J.jsx)(bt,{useTransitions:!1,children:(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(vt,{children:(0,J.jsxs)(wt,{element:(0,J.jsx)(zi,{}),children:[(0,J.jsx)(wt,{path:`/`,element:(0,J.jsx)(Bi,{})}),(0,J.jsx)(wt,{path:`/project/:id`,element:(0,J.jsx)(Vi,{})}),(0,J.jsx)(wt,{path:`/project/:id/session/:sid`,element:(0,J.jsx)(Vi,{})})]})})})})}function Wi(){let e=(0,q.useSyncExternalStore)(u.subscribe,u.get);return(0,J.jsx)(Ee,{client:Hi,children:(0,J.jsxs)(Zt,{delayDuration:300,children:[(0,J.jsx)(Nn,{}),(0,J.jsx)(gn,{scope:`app`,children:e?window.location.pathname.startsWith(`/forward/`)?(0,J.jsx)(dn,{}):(0,J.jsx)(Ui,{}):(0,J.jsx)(vn,{})}),(0,J.jsx)(_n,{})]})})}export{Wi as App};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{g as r}from"./auth-C3Hg0pRq.js";import{a as i,b as a,i as o,o as s,s as c,t as l,x as u}from"./LazyTerminal-CRonN-zb.js";import{C as d,E as f,Et as p,gt as m,lt as h,pt as g,ut as _,xt as v}from"./protocol-support-CLMCHX8i.js";import{a as y,n as b,t as x}from"./project-abbrev-Br6sQqPh.js";import{a as S,i as C,n as w,o as T,t as E}from"./dialog-UpZ_vNTE.js";import{t as D}from"./button-DkCgQgIz.js";import{n as O}from"./x-CZCUod6A.js";import{A as k,M as A,c as j,j as M,k as N,n as P,r as F,t as I}from"./context-menu-0Tb8cG9E.js";import{r as L}from"./dist-C2WZA469.js";import{t as R}from"./NewProjectDialog-Bsp8NGgY.js";import{n as z}from"./errors-BH_S68Hd.js";import{t as B}from"./ws-DNNH0sEH.js";var V=e(t(),1),H=n(),U=!1;function W(){let[e,t]=(0,V.useState)(U),[n,i]=(0,V.useState)(null);(0,V.useEffect)(()=>{if(!e)return;let t=!1;return B.spawnShell(r).then(e=>{t||i(e)}),()=>{t=!0}},[e]);let a=()=>{U=!1,t(!1),i(null)};return{open:e,term:n,toggle:()=>{e?(n&&B.killShell(r,n),a()):(U=!0,t(!0))},onExit:a}}function G({term:e,onExit:t}){return(0,H.jsx)(`div`,{className:`h-72 shrink-0 pb-6`,children:(0,H.jsx)(`div`,{className:`mx-auto size-full max-w-4xl px-6`,children:e!==null&&(0,H.jsx)(l,{stream:`home`,term:e,onExit:t})})})}var K=`group block w-full rounded-lg bg-surface p-4 text-left transition-colors hover:bg-elevated`,q=[{status:`running`,colour:`bg-running`},{status:`waiting_input`,colour:`bg-waiting`},{status:`interrupted`,colour:`bg-interrupted`}];function J({project:e,repoPath:t,sessions:n}){let r=n.filter(e=>e.status!==`archived`);return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(`h2`,{className:`truncate pr-16 text-base font-semibold text-fg group-hover:text-accent`,children:e.name}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:t??`…`}),(0,H.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-3 text-2xs text-fg-muted tabular-nums`,children:[(0,H.jsxs)(`span`,{children:[r.length,` session`,r.length===1?``:`s`]}),q.map(({status:e,colour:t})=>{let n=r.filter(t=>t.status===e).length;return n>0?(0,H.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,H.jsx)(`span`,{className:`size-1.5 rounded-full ${t}`}),n,` `,e.replace(`_`,` `)]},e):null})]})]})}function Y({icon:e,label:t,onClick:n}){return(0,H.jsx)(`button`,{type:`button`,"aria-label":t,title:t,onClick:e=>{e.preventDefault(),e.stopPropagation(),n()},className:`flex items-center rounded-md p-1.5 text-fg-muted transition-colors hover:bg-ground hover:text-fg`,children:(0,H.jsx)(e,{className:`size-4`})})}function X({project:e,repoPath:t,draggable:n,dragging:r,onDragStart:i,onDragEnd:l,onDragOver:d}){let f=_(),m=p(e.id),[h,g]=(0,V.useState)(!1),[v,b]=(0,V.useState)(e.name),[x,k]=(0,V.useState)(u(e)),N=t=>f.mutate({id:e.id,archived:t},{onError:e=>z(e)}),L=()=>{b(e.name),k(u(e)),g(!0)},R=()=>{let t=v.trim(),n=a(x);if(!t){g(!1);return}let r={...t===e.name?{}:{name:t},...n&&n!==u(e)?{abbrev:n}:{}};if(Object.keys(r).length===0){g(!1);return}f.mutate({id:e.id,...r},{onSuccess:()=>g(!1),onError:e=>z(e)})};return(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(I,{children:[(0,H.jsx)(j,{asChild:!0,children:(0,H.jsxs)(`div`,{draggable:n,onDragStart:i,onDragEnd:l,onDragOver:d,className:O(`group relative transition-opacity`,r&&`opacity-50`),children:[(0,H.jsx)(y,{draggable:!1,to:`/project/${e.id}`,className:K,children:(0,H.jsx)(J,{project:e,repoPath:t,sessions:m.data??[]})}),(0,H.jsx)(`div`,{className:`absolute right-2 top-2 hidden gap-0.5 group-hover:flex has-[[data-state=open]]:flex pointer-coarse:flex`,children:e.archived?(0,H.jsx)(Y,{icon:A,label:`Reopen project`,onClick:()=>N(!1)}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(Y,{icon:o,label:`Edit project`,onClick:L}),(0,H.jsx)(Y,{icon:M,label:`Archive project`,onClick:()=>N(!0)})]})})]})}),(0,H.jsx)(P,{children:e.archived?(0,H.jsxs)(F,{onSelect:()=>N(!1),children:[(0,H.jsx)(A,{}),` Reopen`]}):(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(F,{onSelect:L,children:[(0,H.jsx)(o,{}),` Edit`]}),(0,H.jsxs)(F,{onSelect:()=>N(!0),children:[(0,H.jsx)(M,{}),` Archive`]})]})})]}),(0,H.jsx)(E,{open:h,onOpenChange:g,children:(0,H.jsxs)(w,{children:[(0,H.jsx)(S,{children:(0,H.jsx)(T,{children:`Edit project`})}),(0,H.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),R()},children:[(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(s,{htmlFor:`project-name-${e.id}`,children:`Name`}),(0,H.jsx)(c,{id:`project-name-${e.id}`,value:v,onChange:e=>b(e.target.value),autoFocus:!0})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,H.jsx)(s,{htmlFor:`project-abbrev-${e.id}`,children:`Abbreviation`}),(0,H.jsx)(c,{id:`project-abbrev-${e.id}`,maxLength:5,value:x,onChange:e=>k(a(e.target.value)),className:`w-24 uppercase`}),(0,H.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the label on the collapsed sidebar rail.`]})]}),(0,H.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,H.jsx)(s,{className:`text-fg-muted`,children:`Path`}),(0,H.jsx)(`p`,{className:`truncate text-2xs text-fg-muted`,children:t??`…`})]}),(0,H.jsxs)(C,{children:[(0,H.jsx)(D,{type:`button`,variant:`ghost`,onClick:()=>g(!1),children:`Cancel`}),(0,H.jsx)(D,{type:`submit`,disabled:!v.trim()||f.isPending,children:`Save`})]})]})]})})]})}function Z({icon:e,label:t,hint:n,onClick:r}){return(0,H.jsxs)(`button`,{type:`button`,onClick:r,className:`group flex flex-col rounded-lg bg-surface p-4 text-left transition-colors hover:bg-elevated`,children:[(0,H.jsxs)(`h2`,{className:`flex items-center gap-2 truncate text-base font-semibold text-fg group-hover:text-accent`,children:[(0,H.jsx)(e,{className:`size-4 shrink-0`}),t]}),(0,H.jsx)(`p`,{className:`mt-1 truncate text-2xs text-fg-muted`,children:n})]})}function Q(){let e=f(),t=m(e??void 0),n=v(),r=g(e??void 0),a=h(e??``),[o,s]=(0,V.useState)(!1),[c,l]=(0,V.useState)(null),[u,p]=(0,V.useState)(!1),_=W(),y=d(`palette.toggle`),S=e=>n.data?.find(t=>t.id===e)?.path,C=t.data??[],w=r.data?.projectOrder??[],T=N(C.filter(e=>!e.archived),w),E=C.filter(e=>e.archived),D=(e,t)=>{e!==t&&a.mutate({projectOrder:k(T.map(e=>e.id),e,t)})};return(0,H.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,H.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,H.jsxs)(`div`,{className:`mx-auto max-w-4xl p-6`,children:[C.length===0&&(0,H.jsxs)(`div`,{className:`mb-8 mt-16 flex flex-col items-center gap-3 text-center`,children:[(0,H.jsx)(i,{className:`size-8 text-fg-muted`}),(0,H.jsxs)(`p`,{className:`text-sm text-fg-secondary`,children:[`No projects yet — open one below, or press `,y,`.`]})]}),(0,H.jsxs)(`div`,{className:`grid auto-rows-fr grid-cols-1 gap-3 sm:grid-cols-2`,children:[T.map(e=>(0,H.jsx)(X,{project:e,repoPath:S(e.repo_id),draggable:!0,dragging:c===e.id,onDragStart:()=>l(e.id),onDragEnd:()=>l(null),onDragOver:t=>{t.preventDefault(),c&&c!==e.id&&D(c,e.id)}},e.id)),(0,H.jsx)(Z,{icon:b,label:`Open project`,hint:`Point at a repository on this host`,onClick:()=>s(!0)}),(0,H.jsx)(Z,{icon:x,label:_.open?`Close terminal`:`Open terminal`,hint:_.open?`End the shell below`:`A shell at ~ for cloning repositories`,onClick:_.toggle})]}),E.length>0&&(0,H.jsxs)(`div`,{className:`mt-6`,children:[(0,H.jsxs)(`button`,{type:`button`,onClick:()=>p(e=>!e),className:`flex items-center gap-1.5 px-1 py-1.5 text-2xs uppercase tracking-wide text-fg-muted transition-colors hover:text-fg`,children:[(0,H.jsx)(L,{className:O(`size-3 transition-transform`,u&&`rotate-90`)}),(0,H.jsx)(M,{className:`size-3`}),(0,H.jsx)(`span`,{children:`Archived`}),(0,H.jsx)(`span`,{className:`tabular-nums`,children:E.length})]}),u&&(0,H.jsx)(`div`,{className:`mt-2 grid grid-cols-1 gap-3 sm:grid-cols-2`,children:E.map(e=>(0,H.jsx)(X,{project:e,repoPath:S(e.repo_id),draggable:!1,dragging:!1,onDragStart:()=>{},onDragEnd:()=>{},onDragOver:()=>{}},e.id))})]})]})}),_.open&&(0,H.jsx)(G,{term:_.term,onExit:_.onExit}),e!==null&&(0,H.jsx)(R,{profileId:e,open:o,onOpenChange:s})]})}export{Q as Dashboard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{a as r,i,n as a,o,r as s,t as c}from"./dialog-UpZ_vNTE.js";import{t as l}from"./button-DkCgQgIz.js";import{t as u}from"./x-CZCUod6A.js";import{t as d}from"./createLucideIcon-DyMAgLa3.js";import{t as f}from"./drafts-B_tChlzR.js";import{i as p,t as m,u as h}from"./buffer-store-De6oYRzb.js";import{t as g}from"./editor-sync-W1bamxAP.js";var _=d(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),v=e(t(),1),y=n();function b(e,t,n){let r=m(e,t,n);return(0,v.useSyncExternalStore)((0,v.useCallback)(e=>h(r,e),[r]),()=>p(r))}function x({session:e,path:t,kind:n,root:r}){return b(e,t,r)&&n!==`commit`?(0,y.jsx)(_,{"aria-hidden":!0,className:`size-2 shrink-0 fill-current text-fg-muted group-hover:hidden`}):null}function S({session:e,path:t,kind:n,root:d,label:p,onClose:m}){let h=b(e,t,d)&&n!==`commit`,[_,x]=(0,v.useState)(!1),S=()=>h?x(!0):m();return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`button`,{onClick:e=>{e.stopPropagation(),S()},className:`hidden size-4 items-center justify-center rounded-sm text-fg-muted transition-colors hover:text-fg group-hover:flex pointer-coarse:flex`,"aria-label":`Close ${p}`,children:(0,y.jsx)(u,{className:`size-3`})}),(0,y.jsx)(c,{open:_,onOpenChange:e=>!e&&x(!1),children:(0,y.jsxs)(a,{children:[(0,y.jsxs)(r,{children:[(0,y.jsxs)(o,{children:[`Discard changes to `,p,`?`]}),(0,y.jsx)(s,{children:`This file has unsaved changes. Closing the tab will discard them.`})]}),(0,y.jsxs)(i,{children:[(0,y.jsx)(l,{variant:`ghost`,onClick:()=>x(!1),children:`Keep editing`}),(0,y.jsx)(l,{variant:`danger`,onClick:()=>{f(e,t,d),g(e,t,d),x(!1),m()},children:`Discard`})]})]})})]})}export{x as EditorDirtyDot,S as EditorTabClose};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{n as r,t as i}from"./x-CZCUod6A.js";import{t as a}from"./createLucideIcon-DyMAgLa3.js";import{n as o,r as s,t as c}from"./whole-word-2m2pmAFT.js";import{t as l}from"./chevron-down--sjpQEHH.js";var u=a(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),d=/[.*+?^${}()|[\]\\]/g;function f(e,t){if(e.length===0)return null;try{let n=t.regex?e:e.replace(d,`\\$&`);return t.wholeWord&&(n=`\\b(?:${n})\\b`),new RegExp(n,t.caseSensitive?`g`:`gi`)}catch{return null}}function p(e,t){return e.length===0||f(e,t)!==null}function m(e,t,n,r=1e3){let i=f(t,n);if(t.length>0&&i===null)return{matches:[],invalid:!0,limited:!1};if(!i)return{matches:[],invalid:!1,limited:!1};let a=[],o;for(;(o=i.exec(e))!==null;){if(o[0].length===0){i.lastIndex++;continue}if(a.length===r)return{matches:a,invalid:!1,limited:!0};a.push({start:o.index,end:o.index+o[0].length})}return{matches:a,invalid:!1,limited:!1}}var h=e(t(),1),g={index:-1,count:0},_={caseSensitive:!1,wholeWord:!1,regex:!1},v=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform);function y(e,t=v){return e.key.toLowerCase()===`f`&&!e.altKey&&!e.shiftKey&&(t?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey)}function b({shortcutEnabled:e,onFind:t,onClear:n,onCloseFocus:r}){let[i,a]=(0,h.useState)(!1),[o,s]=(0,h.useState)(0),[c,l]=(0,h.useState)(``),[u,d]=(0,h.useState)(_),[f,p]=(0,h.useState)(g),m=(0,h.useRef)({open:i,query:c,options:u});m.current={open:i,query:c,options:u};let v=(0,h.useRef)(t);v.current=t;let b=(0,h.useRef)(n);b.current=n;let x=(0,h.useRef)(r);x.current=r;let S=(0,h.useCallback)(e=>{let t=m.current;if(!t.open)return;let n=v.current(t.query,t.options,e);n&&p(n)},[]),C=(0,h.useCallback)(()=>{a(!0),s(e=>e+1)},[]),w=(0,h.useCallback)(()=>{a(!1),b.current(),x.current?.()},[]),T=(0,h.useCallback)(()=>S(`next`),[S]),E=(0,h.useCallback)(()=>S(`previous`),[S]),D=(0,h.useCallback)(()=>S(`reset`),[S]);return(0,h.useEffect)(()=>{i&&S(`reset`)},[i,c,u,S]),(0,h.useEffect)(()=>{if(!e)return;let t=e=>{y(e)&&(e.preventDefault(),e.stopPropagation(),C())};return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[e,C]),(0,h.useEffect)(()=>()=>{b.current()},[]),{open:i,focusKey:o,query:c,options:u,result:f,openFind:C,close:w,next:T,previous:E,refresh:D,setQuery:l,setOptions:d,setResult:p}}var x=n();function S({active:e,label:t,onClick:n,children:i}){return(0,x.jsx)(`button`,{type:`button`,"aria-label":t,"aria-pressed":e,title:t,onClick:n,className:r(`rounded-sm p-1 transition-colors`,e?`bg-surface text-accent`:`text-fg-muted hover:bg-surface hover:text-fg`),children:i})}function C({query:e,result:t}){return e.length===0?null:t.invalid?(0,x.jsx)(x.Fragment,{children:`Invalid expression`}):t.count===0?(0,x.jsx)(x.Fragment,{children:`No results`}):t.limited?(0,x.jsxs)(x.Fragment,{children:[t.count,`+ results`]}):t.index<0?(0,x.jsxs)(x.Fragment,{children:[t.count,` results`]}):(0,x.jsxs)(x.Fragment,{children:[t.index+1,` of `,t.count]})}function w({query:e,focusKey:t,options:n,result:r,onQueryChange:a,onOptionsChange:d,onNext:f,onPrevious:p,onClose:m}){let g=(0,h.useRef)(null);(0,h.useEffect)(()=>{g.current?.focus(),g.current?.select()},[t]);let _=r.count>0&&!r.invalid;return(0,x.jsxs)(`div`,{role:`search`,"aria-label":`Find in view`,className:`absolute right-2 top-0 z-30 flex h-10 w-[min(34rem,calc(100%-0.5rem))] items-center gap-1.5 rounded-b-md bg-surface px-1.5 shadow-lg`,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),m();return}if(e.key===`Enter`){e.preventDefault(),e.stopPropagation(),e.shiftKey?p():f();return}y(e.nativeEvent)&&(e.preventDefault(),e.stopPropagation(),g.current?.select())},children:[(0,x.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center rounded-md bg-elevated pl-2 pr-0.5`,children:[(0,x.jsx)(`input`,{ref:g,value:e,onChange:e=>a(e.target.value),placeholder:`Find`,spellCheck:!1,autoComplete:`off`,"aria-label":`Find`,className:`h-7 min-w-0 flex-1 bg-transparent text-sm text-fg outline-none placeholder:text-fg-muted`}),(0,x.jsx)(S,{active:n.caseSensitive,label:`Match case`,onClick:()=>d({...n,caseSensitive:!n.caseSensitive}),children:(0,x.jsx)(s,{className:`size-3.5`})}),(0,x.jsx)(S,{active:n.wholeWord,label:`Match whole word`,onClick:()=>d({...n,wholeWord:!n.wholeWord}),children:(0,x.jsx)(c,{className:`size-3.5`})}),(0,x.jsx)(S,{active:n.regex,label:`Use regular expression`,onClick:()=>d({...n,regex:!n.regex}),children:(0,x.jsx)(o,{className:`size-3.5`})})]}),(0,x.jsx)(`div`,{className:`w-20 shrink-0 text-center text-xs text-fg-muted`,children:(0,x.jsx)(C,{query:e,result:r})}),(0,x.jsx)(`button`,{type:`button`,"aria-label":`Previous match`,title:`Previous match (Shift+Enter)`,disabled:!_,onClick:p,className:`rounded-sm p-1 text-fg-muted transition-colors hover:bg-elevated hover:text-fg disabled:cursor-default disabled:opacity-40`,children:(0,x.jsx)(u,{className:`size-4`})}),(0,x.jsx)(`button`,{type:`button`,"aria-label":`Next match`,title:`Next match (Enter)`,disabled:!_,onClick:f,className:`rounded-sm p-1 text-fg-muted transition-colors hover:bg-elevated hover:text-fg disabled:cursor-default disabled:opacity-40`,children:(0,x.jsx)(l,{className:`size-4`})}),(0,x.jsx)(`button`,{type:`button`,"aria-label":`Close find`,title:`Close (Escape)`,onClick:m,className:`rounded-sm p-1 text-fg-muted transition-colors hover:bg-elevated hover:text-fg`,children:(0,x.jsx)(i,{className:`size-4`})})]})}export{m as a,g as i,b as n,p as o,y as r,w as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Terminal-_KJe85Cp.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-CZI7_Jkm.js","assets/jsx-runtime-ffCh33zF.js","assets/auth-C3Hg0pRq.js","assets/client-settings-CwqpIric.js","assets/preload-helper-Czpn1I53.js","assets/index-xDhpMZgv.js","assets/index-CAvJOpdz.css","assets/dist-v3Pwgb3Q.js","assets/protocol-support-CLMCHX8i.js","assets/copy-CKvSfzPk.js","assets/createLucideIcon-DyMAgLa3.js","assets/x-CZCUod6A.js","assets/FindWidget-BsFwo-Vf.js","assets/whole-word-2m2pmAFT.js","assets/chevron-down--sjpQEHH.js","assets/selection-actions-Bh9Fkkqv.js","assets/button-DkCgQgIz.js","assets/ws-DNNH0sEH.js","assets/code-DRWf9a5s.js","assets/errors-BH_S68Hd.js","assets/math-delimiters-BCnTi7Ii.js","assets/Terminal-BrP-ENHg.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{n,t as r}from"./jsx-runtime-ffCh33zF.js";import{t as i}from"./preload-helper-Czpn1I53.js";import{S as a,w as o,x as s,y as c}from"./dialog-UpZ_vNTE.js";import{a as l}from"./button-DkCgQgIz.js";import{n as u}from"./x-CZCUod6A.js";import{t as d}from"./createLucideIcon-DyMAgLa3.js";function f(e){return e.trim().slice(0,5).toUpperCase()}function p(e){return e.abbrev??f(e.name)}function m(e){return e.trim().toUpperCase().slice(0,5)}var h=e(t(),1),g=[`top`,`right`,`bottom`,`left`],_=Math.min,v=Math.max,y=Math.round,b=Math.floor,x=e=>({x:e,y:e}),S={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function C(e,t,n){return v(e,_(t,n))}function w(e,t){return typeof e==`function`?e(t):e}function T(e){return e.split(`-`)[0]}function E(e){return e.split(`-`)[1]}function D(e){return e===`x`?`y`:`x`}function O(e){return e===`y`?`height`:`width`}function k(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function A(e){return D(k(e))}function j(e,t,n){n===void 0&&(n=!1);let r=E(e),i=A(e),a=O(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=B(o)),[o,B(o)]}function M(e){let t=B(e);return[N(e),t,N(t)]}function N(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var P=[`left`,`right`],F=[`right`,`left`],I=[`top`,`bottom`],L=[`bottom`,`top`];function R(e,t,n){switch(e){case`top`:case`bottom`:return n?t?F:P:t?P:F;case`left`:case`right`:return t?I:L;default:return[]}}function z(e,t,n,r){let i=E(e),a=R(T(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(N)))),a}function B(e){let t=T(e);return S[t]+e.slice(t.length)}function ee(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function te(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ee(e)}function V(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ne(e,t,n){let{reference:r,floating:i}=e,a=k(t),o=A(t),s=O(o),c=T(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=E(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function re(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=w(t,e),p=te(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=V(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=V(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ie=50,ae=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:re},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ne(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ie&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ne(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},oe=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=w(e,t)||{};if(l==null)return{};let d=te(u),f={x:n,y:r},p=A(i),m=O(p),h=await o.getDimensions(l),g=p===`y`,v=g?`top`:`left`,y=g?`bottom`:`right`,b=g?`clientHeight`:`clientWidth`,x=a.reference[m]+a.reference[p]-f[p]-a.floating[m],S=f[p]-a.reference[p],T=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),D=T?T[b]:0;(!D||!await(o.isElement==null?void 0:o.isElement(T)))&&(D=s.floating[b]||a.floating[m]);let k=x/2-S/2,j=D/2-h[m]/2-1,M=_(d[v],j),N=_(d[y],j),P=D-h[m]-N,F=D/2-h[m]/2+k,I=C(M,F,P),L=!c.arrow&&E(i)!=null&&F!==I&&a.reference[m]/2-(F<M?M:N)-h[m]/2<0,R=L?F<M?F-M:F-P:0;return{[p]:f[p]+R,data:{[p]:I,centerOffset:F-I-R,...L&&{alignmentOffset:R}},reset:L}}}),se=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=w(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=T(r),_=k(o),v=T(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[B(o)]:M(o)),x=p!==`none`;!d&&x&&b.push(...z(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),E=[],D=i.flip?.overflows||[];if(l&&E.push(C[g]),u){let e=j(r,a,y);E.push(C[e[0]],C[e[1]])}if(D=[...D,{placement:r,overflows:E}],!E.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==k(t))||D.every(e=>k(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:D},reset:{placement:t}};let n=D.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=D.filter(e=>{if(x){let t=k(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function ce(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function le(e){return g.some(t=>e[t]>=0)}var ue=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=w(e,t);switch(i){case`referenceHidden`:{let e=ce(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:le(e)}}}case`escaped`:{let e=ce(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:le(e)}}}default:return{}}}}},de=new Set([`left`,`top`]);async function fe(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=T(n),s=E(n),c=k(n)===`y`,l=de.has(o)?-1:1,u=a&&c?-1:1,d=w(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var pe=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await fe(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},me=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=w(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=k(i),p=D(f),m=u[p],h=u[f],g=(e,t)=>C(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},he=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=w(e,t),u={x:n,y:r},d=k(i),f=D(d),p=u[f],m=u[d],h=w(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=de.has(T(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},ge=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=w(e,t),c=await i.detectOverflow(t,s),l=T(n),u=E(n),d=k(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,y=f-c.left-c.right,b=_(p-c[m],g),x=_(f-c[h],y),S=t.middlewareData.shift,C=!S,D=b,O=x;S!=null&&S.enabled.x&&(O=y),S!=null&&S.enabled.y&&(D=g),C&&!u&&(d?O=f-2*v(c.left,c.right):D=p-2*v(c.top,c.bottom)),await o({...t,availableWidth:O,availableHeight:D});let A=await i.getDimensions(a.floating);return f!==A.width||p!==A.height?{reset:{rects:!0}}:{}}}};function _e(){return typeof window<`u`}function H(e){return ve(e)?(e.nodeName||``).toLowerCase():`#document`}function U(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W(e){return((ve(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ve(e){return _e()?e instanceof Node||e instanceof U(e).Node:!1}function G(e){return _e()?e instanceof Element||e instanceof U(e).Element:!1}function K(e){return _e()?e instanceof HTMLElement||e instanceof U(e).HTMLElement:!1}function ye(e){return!_e()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U(e).ShadowRoot}function be(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function xe(e){return/^(table|td|th)$/.test(H(e))}function Se(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ce=/transform|translate|scale|rotate|perspective|filter/,we=/paint|layout|strict|content/,q=e=>!!e&&e!==`none`,Te;function Ee(e){let t=G(e)?Y(e):e;return q(t.transform)||q(t.translate)||q(t.scale)||q(t.rotate)||q(t.perspective)||!Oe()&&(q(t.backdropFilter)||q(t.filter))||Ce.test(t.willChange||``)||we.test(t.contain||``)}function De(e){let t=X(e);for(;K(t)&&!J(t);){if(Ee(t))return t;if(Se(t))return null;t=X(t)}return null}function Oe(){return Te??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Te}function J(e){return/^(html|body|#document)$/.test(H(e))}function Y(e){return U(e).getComputedStyle(e)}function ke(e){return G(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function X(e){if(H(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ye(e)&&e.host||W(e);return ye(t)?t.host:t}function Ae(e){let t=X(e);return J(t)?(e.ownerDocument||e).body:K(t)&&be(t)?t:Ae(t)}function je(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ae(e),i=r===e.ownerDocument?.body,a=U(r);if(i){let e=Me(a);return t.concat(a,a.visualViewport||[],be(r)?r:[],e&&n?je(e):[])}else return t.concat(r,je(r,[],n))}function Me(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ne(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=K(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=y(n)!==a||y(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Pe(e){return G(e)?e:e.contextElement}function Z(e){let t=Pe(e);if(!K(t))return x(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ne(t),o=(a?y(n.width):n.width)/r,s=(a?y(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Fe=x(0);function Ie(e){let t=U(e);return!Oe()||!t.visualViewport?Fe:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Le(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===U(e)}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Pe(e),o=x(1);t&&(r?G(r)&&(o=Z(r)):o=Z(e));let s=Le(a,n,r)?Ie(a):x(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=U(a),t=G(r)?U(r):r,n=e,i=Me(n);for(;i&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=Y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=U(i),i=Me(n)}}return V({width:u,height:d,x:c,y:l})}function Re(e,t){let n=ke(e).scrollLeft;return t?t.left+n:Q(W(e)).left+n}function ze(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Re(e,n),y:n.top+t.scrollTop}}function Be(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W(r),s=t?Se(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=x(1),u=x(0),d=K(r);if((d||!a)&&((H(r)!==`body`||be(o))&&(c=ke(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?ze(o,c):x(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Ve(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function He(e){let t=ke(e),n=e.ownerDocument.body,r=v(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=v(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Re(e),o=-t.scrollTop;return Y(n).direction===`rtl`&&(a+=v(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Ue=25;function We(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=U(e),a=W(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Oe()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Re(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Ue&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ge(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Z(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Ke(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=We(e,n,t);else if(t===`document`)r=He(W(e));else if(G(t))r=Ge(t,n);else{let n=Ie(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return V(r)}function qe(e,t){let n=t.get(e);if(n)return n;let r=je(e,[],!1).filter(e=>G(e)&&H(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?X(e):e;for(;G(o)&&!J(o);){let e=Y(o),t=Ee(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=X(o)}return t.set(e,r),r}function Je(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Se(t)?[]:qe(t,this._c):[].concat(n),r],o=Ke(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Ke(t,a[e],i);s=v(n.top,s),c=_(n.right,c),l=_(n.bottom,l),u=v(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ye(e){let{width:t,height:n}=Ne(e);return{width:t,height:n}}function Xe(e,t,n){let r=K(t),i=W(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=x(0);if((r||!a)&&((H(t)!==`body`||be(i))&&(s=ke(t)),r)){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Re(i));let l=i&&!r&&!a?ze(i,s):x(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ze(e){return Y(e).position===`static`}function Qe(e,t){if(!K(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function $e(e,t){let n=U(e);if(Se(e))return n;if(!K(e)){let t=X(e);for(;t&&!J(t);){if(G(t)&&!Ze(t))return t;t=X(t)}return n}let r=Qe(e,t);for(;r&&xe(r)&&Ze(r);)r=Qe(r,t);return r&&J(r)&&Ze(r)&&!Ee(r)?n:r||De(e)||n}var et=async function(e){let t=this.getOffsetParent||$e,n=this.getDimensions,r=await n(e.floating);return{reference:Xe(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function tt(e){return Y(e).direction===`rtl`}var nt={convertOffsetParentRelativeRectToViewportRelativeRect:Be,getDocumentElement:W,getClippingRect:Je,getOffsetParent:$e,getElementRects:et,getClientRects:Ve,getDimensions:Ye,getScale:Z,isElement:G,isRTL:tt};function rt(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function it(e,t,n){let r=null,i,a=W(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=b(d),h=b(a.clientWidth-(u+f)),g=b(a.clientHeight-(d+p)),y=b(u),x={rootMargin:-m+`px `+-h+`px `+-g+`px `+-y+`px`,threshold:v(0,_(1,c))||1},S=!0;function C(t){let n=t[0].intersectionRatio;if(!rt(l,e.getBoundingClientRect()))return s();if(n!==c){if(!S)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}S=!1}try{r=new IntersectionObserver(C,{...x,root:a.ownerDocument})}catch{r=new IntersectionObserver(C,x)}r.observe(e)}let c=U(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function at(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Pe(e),u=i||a?[...l?je(l):[],...t?je(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?it(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!rt(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ot=pe,st=me,ct=se,lt=ge,ut=ue,dt=oe,ft=he,pt=(e,t,n)=>{let r=new Map,i=n??{},a={...nt,...i.platform,_c:r};return ae(e,t,{...i,platform:a})},mt=e(n(),1),ht=typeof document<`u`?h.useLayoutEffect:function(){};function gt(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!gt(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!gt(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function _t(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vt(e,t){let n=_t(e);return Math.round(t*n)/n}function yt(e){let t=h.useRef(e);return ht(()=>{t.current=e}),t}function bt(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=h.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=h.useState(r);gt(f,r)||p(r);let[m,g]=h.useState(null),[_,v]=h.useState(null),y=h.useCallback(e=>{e!==C.current&&(C.current=e,g(e))},[]),b=h.useCallback(e=>{e!==w.current&&(w.current=e,v(e))},[]),x=a||m,S=o||_,C=h.useRef(null),w=h.useRef(null),T=h.useRef(u),E=c!=null,D=yt(c),O=yt(i),k=yt(l),A=h.useCallback(()=>{if(!C.current||!w.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),pt(C.current,w.current,e).then(e=>{let t={...e,isPositioned:k.current!==!1};j.current&&!gt(T.current,t)&&(T.current=t,mt.flushSync(()=>{d(t)}))})},[f,t,n,O,k]);ht(()=>{l===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let j=h.useRef(!1);ht(()=>(j.current=!0,()=>{j.current=!1}),[]),ht(()=>{if(x&&(C.current=x),S&&(w.current=S),x&&S){if(D.current)return D.current(x,S,A);A()}},[x,S,A,D,E]);let M=h.useMemo(()=>({reference:C,floating:w,setReference:y,setFloating:b}),[y,b]),N=h.useMemo(()=>({reference:x,floating:S}),[x,S]),P=h.useMemo(()=>{let e={position:n,left:0,top:0};if(!N.floating)return e;let t=vt(N.floating,u.x),r=vt(N.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,..._t(N.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,N.floating,u.x,u.y]);return h.useMemo(()=>({...u,update:A,refs:M,elements:N,floatingStyles:P}),[u,A,M,N,P])}var xt=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:dt({element:r.current,padding:i}).fn(n):r?dt({element:r,padding:i}).fn(n):{}}}},St=(e,t)=>{let n=ot(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ct=(e,t)=>{let n=st(e);return{name:n.name,fn:n.fn,options:[e,t]}},wt=(e,t)=>({fn:ft(e).fn,options:[e,t]}),Tt=(e,t)=>{let n=ct(e);return{name:n.name,fn:n.fn,options:[e,t]}},Et=(e,t)=>{let n=lt(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dt=(e,t)=>{let n=ut(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ot=(e,t)=>{let n=xt(e);return{name:n.name,fn:n.fn,options:[e,t]}},$=r(),kt=`Arrow`,At=h.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,$.jsx)(a.svg,{...o,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,$.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});At.displayName=kt;var jt=At;function Mt(e){let[t,n]=h.useState(void 0);return c(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Nt=`Popper`,[Pt,Ft]=o(Nt),[It,Lt]=Pt(Nt),Rt=e=>{let{__scopePopper:t,children:n}=e,[r,i]=h.useState(null),[a,o]=h.useState(void 0);return(0,$.jsx)(It,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})};Rt.displayName=Nt;var zt=`PopperAnchor`,Bt=h.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,o=Lt(zt,n),s=h.useRef(null),c=o.onAnchorChange,u=l(t,h.useCallback(e=>{s.current=e,e&&c(e)},[c])),d=h.useRef(null);h.useEffect(()=>{if(!r)return;let e=d.current;d.current=r.current,e!==d.current&&c(d.current)});let f=o.placementState&&Xt(o.placementState),p=f?.[0],m=f?.[1];return r?null:(0,$.jsx)(a.div,{"data-radix-popper-side":p,"data-radix-popper-align":m,...i,ref:u})});Bt.displayName=zt;var Vt=`PopperContent`,[Ht,Ut]=Pt(Vt),Wt=h.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:o=`center`,alignOffset:u=0,arrowPadding:d=0,avoidCollisions:f=!0,collisionBoundary:p=[],collisionPadding:m=0,sticky:g=`partial`,hideWhenDetached:_=!1,updatePositionStrategy:v=`optimized`,onPlaced:y,...b}=e,x=Lt(Vt,n),[S,C]=h.useState(null),w=l(t,C),[T,E]=h.useState(null),D=Mt(T),O=D?.width??0,k=D?.height??0,A=r+(o===`center`?``:`-`+o),j=typeof m==`number`?m:{top:0,right:0,bottom:0,left:0,...m},M=Array.isArray(p)?p:[p],N=M.length>0,P={padding:j,boundary:M.filter(Jt),altBoundary:N},{refs:F,floatingStyles:I,placement:L,isPositioned:R,middlewareData:z}=bt({strategy:`fixed`,placement:A,whileElementsMounted:(...e)=>at(...e,{animationFrame:v===`always`}),elements:{reference:x.anchor},middleware:[St({mainAxis:i+k,alignmentAxis:u}),f&&Ct({mainAxis:!0,crossAxis:!1,limiter:g===`partial`?wt():void 0,...P}),f&&Tt({...P}),Et({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),T&&Ot({element:T,padding:d}),Yt({arrowWidth:O,arrowHeight:k}),_&&Dt({strategy:`referenceHidden`,...P,boundary:N?P.boundary:void 0})]}),B=x.setPlacementState;c(()=>(B(L),()=>{B(void 0)}),[L,B]);let[ee,te]=Xt(L),V=s(y);c(()=>{R&&V?.()},[R,V]);let ne=z.arrow?.x,re=z.arrow?.y,ie=z.arrow?.centerOffset!==0,[ae,oe]=h.useState();return c(()=>{S&&oe(window.getComputedStyle(S).zIndex)},[S]),(0,$.jsx)(`div`,{ref:F.setFloating,"data-radix-popper-content-wrapper":``,style:{...I,transform:R?I.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ae,"--radix-popper-transform-origin":[z.transformOrigin?.x,z.transformOrigin?.y].join(` `),...z.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,$.jsx)(Ht,{scope:n,placedSide:ee,placedAlign:te,onArrowChange:E,arrowX:ne,arrowY:re,shouldHideArrow:ie,children:(0,$.jsx)(a.div,{"data-side":ee,"data-align":te,...b,ref:w,style:{...b.style,animation:R?void 0:`none`}})})})});Wt.displayName=Vt;var Gt=`PopperArrow`,Kt={top:`bottom`,right:`left`,bottom:`top`,left:`right`},qt=h.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Ut(Gt,n),a=Kt[i.placedSide];return(0,$.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,$.jsx)(jt,{...r,ref:t,style:{...r.style,display:`block`}})})});qt.displayName=Gt;function Jt(e){return e!==null}var Yt=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Xt(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Xt(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Zt=Rt,Qt=Bt,$t=Wt,en=qt,tn=`rounded-md bg-border/50 text-sm text-fg placeholder:text-fg-muted transition-colors hover:bg-border/80 focus:bg-border/80 disabled:cursor-not-allowed disabled:opacity-50`,nn=`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,rn=`data-[highlighted]:bg-action data-[highlighted]:text-action-ink data-[disabled]:pointer-events-none data-[disabled]:opacity-50`,an=`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`;function on({className:e,type:t,...n}){return(0,$.jsx)(`input`,{type:t,className:u(`flex h-8 w-full px-2.5`,tn,e),...n})}function sn({className:e,...t}){return(0,$.jsx)(`textarea`,{className:u(`flex min-h-16 w-full px-2.5 py-2`,tn,e),...t})}var cn=`Label`,ln=h.forwardRef((e,t)=>(0,$.jsx)(a.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));ln.displayName=cn;var un=ln;function dn({className:e,...t}){return(0,$.jsx)(un,{className:u(`text-xs font-medium text-fg-secondary peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var fn=d(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),pn=d(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]);function mn({id:e,value:t,onValueChange:n,onChoose:r,hints:i,placeholder:a,className:o,hintsClassName:s,autoFocus:c}){let[l,d]=(0,h.useState)(!1),[f,p]=(0,h.useState)(0),m=e=>{n(e.value),r?.(e),d(!1)};return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(on,{id:e,value:t,onChange:e=>{n(e.target.value),d(!0),p(0)},onFocus:()=>d(!0),onBlur:()=>d(!1),onKeyDown:e=>{if(!(!l||i.length===0))if(e.key===`ArrowDown`)e.preventDefault(),p(e=>(e+1)%i.length);else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>(e-1+i.length)%i.length);else if(e.key===`Enter`||e.key===`Tab`){let t=i[f]??i[0];t&&(e.preventDefault(),m(t))}else e.key===`Escape`&&(e.stopPropagation(),d(!1))},placeholder:a,className:o,autoComplete:`off`,spellCheck:!1,autoFocus:c}),l&&i.length>0&&(0,$.jsx)(`ul`,{className:u(`absolute top-full z-10 mt-1 max-h-56 overflow-y-auto rounded-md bg-elevated p-1 shadow-xl`,s??`w-full`),children:i.map((e,t)=>(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onMouseDown:t=>{t.preventDefault(),m(e)},onMouseEnter:()=>p(t),className:u(`relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm text-fg outline-none transition-colors`,`data-[selected=true]:bg-action data-[selected=true]:text-action-ink data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50`,`w-full text-xs`),"data-selected":t===f,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.label??e.value}),e.badge&&(0,$.jsx)(`span`,{className:`ml-auto shrink-0 text-2xs opacity-70`,children:e.badge})]})},e.value))})]})}var hn=(0,h.lazy)(()=>i(()=>import(`./Terminal-_KJe85Cp.js`).then(e=>({default:e.Terminal})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))),gn=null;async function _n(){gn=(await i(()=>import(`./Terminal-_KJe85Cp.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))).Terminal}function vn(e){return gn?(0,$.jsx)(gn,{...e}):(0,$.jsx)(h.Suspense,{fallback:(0,$.jsx)(`div`,{className:`size-full bg-ground`}),children:(0,$.jsx)(hn,{...e})})}export{Ft as _,fn as a,m as b,sn as c,rn as d,nn as f,Zt as g,$t as h,pn as i,tn as l,en as m,_n as n,dn as o,Qt as p,mn as r,on as s,vn as t,an as u,Mt as v,p as x,f as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{c as n,o as r,t as i}from"./buffer-store-
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{c as n,o as r,t as i}from"./buffer-store-De6oYRzb.js";var a=e(t(),1);function o({buffers:e}){let t=(0,a.useRef)(new Set);return(0,a.useEffect)(()=>{let a=new Set(e.map(e=>i(e.session,e.path,e.root))),o=t.current;for(let e of a)o.has(e)||(n(e),o.add(e));for(let e of[...o])a.has(e)||(r(e),o.delete(e))},[e]),(0,a.useEffect)(()=>()=>{for(let e of t.current)r(e);t.current.clear()},[]),null}export{o as ModelRefcount};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{t}from"./react-CZI7_Jkm.js";import{t as n}from"./jsx-runtime-ffCh33zF.js";import{a as r,b as i,o as a,r as o,s,y as c}from"./LazyTerminal-CRonN-zb.js";import{H as l,K as u,Q as d,U as f,s as ee,tt as p,xt as m}from"./protocol-support-CLMCHX8i.js";import{r as h,u as g}from"./project-abbrev-Br6sQqPh.js";import{a as _,i as v,n as y,o as b,r as x,t as te}from"./dialog-UpZ_vNTE.js";import{t as S}from"./button-DkCgQgIz.js";import{t as C}from"./createLucideIcon-DyMAgLa3.js";import{t as w}from"./use-debounced-value-C86N-mOK.js";var T=C(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),E=e(t(),1),D=n();function O(e){let t=e.trim().replace(/\/+$/,``);return t===``?`/`:t}function k(e){return e.startsWith(`/`)||e.startsWith(`~`)}function A(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)}function j({dir:e,onNavigate:t,onChoose:n}){let i=d(e.endsWith(`/`)?e:`${e}/`);return(0,D.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,D.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(A(e)),disabled:e===`/`,title:`Parent directory`,className:`shrink-0 rounded-sm p-1 text-fg-gold transition-colors hover:bg-elevated hover:text-fg disabled:pointer-events-none disabled:opacity-40`,children:[(0,D.jsx)(h,{className:`size-3.5`}),(0,D.jsx)(`span`,{className:`sr-only`,children:`Parent directory`})]}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e),className:`ml-auto shrink-0 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose this folder`})]}),(0,D.jsxs)(`div`,{className:`max-h-48 overflow-y-auto`,children:[(i.data?.entries??[]).map(e=>(0,D.jsxs)(`div`,{className:`flex items-center rounded-md transition-colors hover:bg-elevated`,children:[(0,D.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path),className:`flex min-w-0 flex-1 items-center gap-2 px-2 py-1 text-left`,children:[e.is_git?(0,D.jsx)(r,{className:`size-3.5 shrink-0 text-success`}):(0,D.jsx)(T,{className:`size-3.5 shrink-0 text-fg-gold`}),(0,D.jsx)(`span`,{className:`truncate text-xs text-fg`,children:e.name})]}),e.is_git&&(0,D.jsx)(`button`,{type:`button`,onClick:()=>n(e.path),className:`shrink-0 px-2 py-1 text-2xs text-fg-muted transition-colors hover:text-fg`,children:`choose`})]},e.path)),i.data!==void 0&&i.data.entries.length===0&&(0,D.jsx)(`p`,{className:`px-2 py-1 text-xs text-fg-muted`,children:`No subdirectories.`})]})]})}function M({profileId:e,open:t,onOpenChange:n}){let r=m(),h=ee(u().data?.protocol),C=f(),T=l(),A=g(),M=p(),[N,P]=(0,E.useState)(``),[F,I]=(0,E.useState)(``),[L,R]=(0,E.useState)(!1),[z,B]=(0,E.useState)(``),[V,H]=(0,E.useState)(!1),[U,W]=(0,E.useState)(null),[G,K]=(0,E.useState)(null),q=M.data?.home,J=()=>{let e=N.trim(),t=k(e)&&q!==void 0?O(e.replace(/^~(?=\/|$)/,q)):k(e)&&e.startsWith(`/`)?O(e):q??`/`;X(t)},Y=e=>{I(e),V||B(c(e))},X=e=>{K(e),P(e)},Z=e=>{P(e),K(null),Y(e.split(`/`).filter(Boolean).pop()??``),R(!0)},Q=d(w(N,150)),ne=(0,E.useMemo)(()=>{if(!k(N))return(r.data??[]).map(e=>({value:e.path,badge:`registered`,is_git:!0}));let e=new Set((r.data??[]).map(e=>e.path));return(Q.data?.entries??[]).map(t=>({value:t.path,label:t.name,badge:e.has(t.path)?`registered`:t.is_git?`git`:void 0,is_git:t.is_git}))},[N,r.data,Q.data]),re=async()=>{W(null);try{let t=O(N),a=r.data?.find(e=>e.path===t)?.id??(await C.mutateAsync({path:t,...h?{default_base_branch:``}:{}})).id,o=await T.mutateAsync({profile_id:e,repo_id:a,name:F.trim(),...i(z)?{abbrev:i(z)}:{}});n(!1),A(`/project/${o.id}`)}catch(e){W(e instanceof Error?e.message:String(e))}},$=F.trim()!==``&&k(N.trim());return(0,D.jsx)(te,{open:t,onOpenChange:n,children:(0,D.jsxs)(y,{children:[(0,D.jsxs)(_,{children:[(0,D.jsx)(b,{children:`New project`}),(0,D.jsx)(x,{children:`Point at a git repository on the daemon host — known repositories are reused.`})]}),(0,D.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),$&&re()},children:[(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,D.jsx)(a,{htmlFor:`repo-path`,children:`Repository path`}),(0,D.jsx)(`button`,{type:`button`,onClick:()=>G===null?J():K(null),className:`text-2xs text-fg-muted transition-colors hover:text-fg`,children:G===null?`browse…`:`hide browser`})]}),(0,D.jsx)(o,{id:`repo-path`,placeholder:`~/src/my-repo`,value:N,onValueChange:P,onChoose:e=>{!L&&e.is_git&&Y(e.value.split(`/`).filter(Boolean).pop()??``)},hints:ne}),G!==null&&(0,D.jsx)(j,{dir:G,onNavigate:X,onChoose:Z})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(a,{htmlFor:`project-name`,children:`Project name`}),(0,D.jsx)(s,{id:`project-name`,placeholder:`e.g. checkout-rework`,value:F,onChange:e=>{Y(e.target.value),R(!0)}})]}),(0,D.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,D.jsx)(a,{htmlFor:`project-abbrev`,children:`Abbreviation`}),(0,D.jsx)(s,{id:`project-abbrev`,placeholder:F.trim()?c(F):`ABBRV`,maxLength:5,value:z,onChange:e=>{B(i(e.target.value)),H(!0)},className:`w-24 uppercase`}),(0,D.jsxs)(`p`,{className:`text-2xs text-fg-muted`,children:[`Up to `,5,` characters — the project's label on the collapsed sidebar rail.`]})]}),U&&(0,D.jsx)(`p`,{className:`text-xs text-danger`,children:U}),(0,D.jsxs)(v,{children:[(0,D.jsx)(S,{type:`button`,variant:`ghost`,onClick:()=>n(!1),children:`Cancel`}),(0,D.jsx)(S,{type:`submit`,disabled:!$||C.isPending||T.isPending,children:`Create project`})]})]})]})})}export{M as t};
|