@band-app/server 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{DockviewBrowserContainer-c5TBCFK6.js → DockviewBrowserContainer-Bh7ygcym.js} +2 -2
- package/dist/client/assets/{DockviewTerminalContainer-De1DHQ5S.js → DockviewTerminalContainer-BA10dl2w.js} +2 -2
- package/dist/client/assets/{TerminalPanel-DR6CDpEJ.js → TerminalPanel-C40mohhY.js} +1 -1
- package/dist/client/assets/{_basePickBy-DjS8T81h.js → _basePickBy-BoN5C7c3.js} +1 -1
- package/dist/client/assets/{_baseUniq-BoA3Q22r.js → _baseUniq-hs8Z8eGG.js} +1 -1
- package/dist/client/assets/{arc-DzFH-F6i.js → arc-DStHWz7g.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-DpWdRDqh.js → architectureDiagram-VXUJARFQ-BmuwLrzR.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-In-FvNuA.js → blockDiagram-VD42YOAC-CpfEplz4.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-uWim35od.js → c4Diagram-YG6GDRKO-DFNXKd12.js} +1 -1
- package/dist/client/assets/channel-cGiKwLh2.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-uNqF21Qn.js → chunk-4BX2VUAB-BhKLwyZj.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BEB0DppO.js → chunk-55IACEB6--1nGJwoJ.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-Csf_UWBG.js → chunk-B4BG7PRW-DfW_4HED.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-ehQAiitH.js → chunk-DI55MBZ5-BBLPj3y_.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-Ddw3wom4.js → chunk-FMBD7UC4-22_QzB6-.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-ICAdKyID.js → chunk-QN33PNHL-BsNBNA8p.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-CWKRx0Nc.js → chunk-QZHKN3VN-t5QozrKy.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-DEAJFNe9.js → chunk-TZMSLE5B-DTbuaeiD.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-aEV-2-qP.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-aEV-2-qP.js +1 -0
- package/dist/client/assets/clone-CArWpwXp.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-CbS4okPK.js → cose-bilkent-S5V4N54A-HZO5t4GF.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-BsLKz8AK.js → dagre-6UL2VRFP-DnOsaGGD.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-M6PnJuei.js → diagram-PSM6KHXK-tirWXx7b.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-B__5YbI4.js → diagram-QEK2KX5R-Cjtr8l3E.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-DKHL_M-B.js → diagram-S2PKOQOG-CuNpvzLc.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-BfFW0JbE.js → erDiagram-Q2GNP2WA-D2Rb5UvQ.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-DjhRrkWq.js → flowDiagram-NV44I4VS-BSQxdSDJ.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-COYeUCef.js → ganttDiagram-JELNMOA3-Cj0PWn4F.js} +3 -3
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-BxnB-BVL.js → gitGraphDiagram-V2S2FVAM-DMoH-grQ.js} +1 -1
- package/dist/client/assets/{graph-B6AmaXta.js → graph-B7ABrrXm.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-wXSbO2Nz.js → highlighted-body-B3W2YXNL-DCQslkUR.js} +1 -1
- package/dist/client/assets/{index-B_tLkjtQ.js → index-8PaDaRYT.js} +1 -1
- package/dist/client/assets/{index-dPGgxYg7.js → index-9FCRbBun.js} +1 -1
- package/dist/client/assets/{index-CXAmq9J9.js → index-B22f7bFn.js} +1 -1
- package/dist/client/assets/{index-BR4JJgox.js → index-BCA8lija.js} +1 -1
- package/dist/client/assets/{index-DQcyjj1n.js → index-BG3Ltnuv.js} +1 -1
- package/dist/client/assets/index-BQhRobL8.js +1 -0
- package/dist/client/assets/{index-DOipD6Mc.js → index-BaT5I2xy.js} +1 -1
- package/dist/client/assets/{index-C9my7XIp.js → index-BsEwdsSv.js} +1 -1
- package/dist/client/assets/{index-Bu4tJzS5.js → index-C99EKoUY.js} +1 -1
- package/dist/client/assets/{index-CFh_QYgy.js → index-CBLjtUwT.js} +1 -1
- package/dist/client/assets/{index-DPAcHZUY.js → index-COql1I_y.js} +1 -1
- package/dist/client/assets/{index-YemckZzk.js → index-D9SknX6B.js} +1 -1
- package/dist/client/assets/{index-B-xrNHzx.js → index-DWj9bxNA.js} +1 -1
- package/dist/client/assets/{index-DKFuGU2w.js → index-DWqvtyLc.js} +1 -1
- package/dist/client/assets/{index-oWFAyhhb.js → index-DaWbWCgj.js} +1 -1
- package/dist/client/assets/{index-e6iwsWag.js → index-Diyv48F3.js} +1 -1
- package/dist/client/assets/{index-DjFJyRsb.js → index-DjFlwM8l.js} +1 -1
- package/dist/client/assets/{index-C5FWnSNO.js → index-Myu-_U8q.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP-8jgZTWHc.js → infoDiagram-HS3SLOUP-C_wVpnnp.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-C7UnOrYP.js → journeyDiagram-XKPGCS4Q-DcF--XQH.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BfAJ2XMs.js → kanban-definition-3W4ZIXB7-BA1w8rep.js} +1 -1
- package/dist/client/assets/{layout-BFiS4INQ.js → layout-DVMDYrln.js} +1 -1
- package/dist/client/assets/{main-SDku1HcN.js → main-B6t1j7Kr.js} +231 -231
- package/dist/client/assets/main-i-GTiqUd.css +1 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-CHJqgPgK.js → mindmap-definition-VGOIOE7T-C1vA0wr2.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-v1PBCyig.js → pieDiagram-ADFJNKIX-Q71p26az.js} +2 -2
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-BmSciYlO.js → quadrantDiagram-AYHSOK5B-Bxcd0mzk.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-Cpc8-ItX.js → requirementDiagram-UZGBJVZJ-DWqCIKiG.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-BimDWo8J.js → sankeyDiagram-TZEHDZUN-D9rSnLVX.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-CL72CIvP.js → sequenceDiagram-WL72ISMW-Co2Jz6Fl.js} +1 -1
- package/dist/client/assets/{square-terminal-DAh77hNm.js → square-terminal-C3zI_mkt.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-DPD5YOcB.js → stateDiagram-FKZM4ZOC-CXLDkeLY.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-R8LzGctw.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-UujIEPPc.js → timeline-definition-IT6M3QCI-BXxZZYsm.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-CnxwYqSA.js → treemap-GDKQZRPO-BgMoU0kM.js} +1 -1
- package/dist/client/assets/workspace._workspaceId-Bww_ZNFK.js +2 -0
- package/dist/client/assets/{workspace._workspaceId--WY7ydFH.js → workspace._workspaceId-C_KGLGyB.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-QNPzTKdU.js → xychartDiagram-PRI3JC2R-BQxVaOKh.js} +1 -1
- package/dist/migrations/20260703151516_add_worktree_name/migration.sql +2 -0
- package/dist/migrations/20260703151516_add_worktree_name/snapshot.json +1167 -0
- package/dist/openapi.json +26 -16
- package/dist/server/assets/{DockviewBrowserContainer-B8W-NI5l.js → DockviewBrowserContainer-C6QVux14.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-D6ZTAITZ.js → DockviewTerminalContainer-OevWE65L.js} +3 -3
- package/dist/server/assets/{TerminalPanel-D1qOucYL.js → TerminalPanel-BhOjwcFW.js} +1 -1
- package/dist/server/assets/{_basePickBy-DCBLSYIo.js → _basePickBy-DVK5KtlH.js} +2 -2
- package/dist/server/assets/{_baseUniq-D6dm-LAQ.js → _baseUniq-DSFYYhGd.js} +1 -1
- package/dist/server/assets/_tanstack-start-manifest_v-C_7Mj4aJ.js +4 -0
- package/dist/server/assets/{arc-BAoORaWl.js → arc-BpwEbxUR.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-bh4pvUjy.js → architecture-7HQA4BMR-CNyHLOO7.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-B6S0AQBn.js → architectureDiagram-VXUJARFQ-DVUpIskI.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-DLnnO4-n.js → blockDiagram-VD42YOAC-CRv2pc0L.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-CqN2DKBx.js → c4Diagram-YG6GDRKO-CBv74bWb.js} +2 -2
- package/dist/server/assets/{channel-f3Ahc3R0.js → channel-C_c7u4ky.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-CuDavVBE.js → chunk-4BX2VUAB-85OXnz_P.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-D_qe5s0S.js → chunk-55IACEB6-Cl8taExZ.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-C0ML39A6.js → chunk-B4BG7PRW-C7W_R9n6.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-DGj3ha0C.js → chunk-DI55MBZ5-CTi30KuT.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-D-f7FIcf.js → chunk-FMBD7UC4-CsuoPD3I.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-DSo_m7vF.js → chunk-QN33PNHL-BHHMj_a1.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-gT8icS8l.js → chunk-QZHKN3VN-DwwXlOCl.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-CoUTe4U3.js → chunk-TZMSLE5B-ECyN9wrL.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CbQuH3ni.js → classDiagram-2ON5EDUG-qbF8ds74.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-CbQuH3ni.js → classDiagram-v2-WZHVMYZB-qbF8ds74.js} +5 -5
- package/dist/server/assets/{clone-DhkQMQiL.js → clone-BCajbdd5.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-Q7Nl8Zqm.js → cose-bilkent-S5V4N54A-D5-w_t4l.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-RuiqkM_u.js → dagre-6UL2VRFP-CCIdAwdB.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-mvCbaKci.js → diagram-PSM6KHXK-CWGITxy9.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-B30M6IEM.js → diagram-QEK2KX5R-B07zrGgY.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-BapZgpGh.js → diagram-S2PKOQOG-XGIpbjo1.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-LKD5sOpF.js → erDiagram-Q2GNP2WA-DYHtO3j9.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-Cg70kWHZ.js → flowDiagram-NV44I4VS-Cs7hS9X4.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-CpgS7Gbo.js → ganttDiagram-JELNMOA3-BhLp8xvm.js} +1 -1
- package/dist/server/assets/{gitGraph-G5XIXVHT-BX-0wA2S.js → gitGraph-G5XIXVHT-B46gW1OX.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-BNe2zRpL.js → gitGraphDiagram-V2S2FVAM-CZHNGOm0.js} +7 -7
- package/dist/server/assets/{graph-BohWfDeQ.js → graph-4bVECaJM.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-DpfzVM5P.js → highlighted-body-B3W2YXNL-DSf8s2aV.js} +1 -1
- package/dist/server/assets/{index-Cznd5qP8.js → index-14dCbIAi.js} +5 -5
- package/dist/server/assets/{index-y6X09Ksj.js → index-1OK7lyTa.js} +2 -2
- package/dist/server/assets/{index-B6FFge5B.js → index-8EiXP0Bf.js} +2 -2
- package/dist/server/assets/{index-z7NiBua9.js → index-B72BPMJQ.js} +3 -3
- package/dist/server/assets/{index-Cvf2IVNx.js → index-BLv-1MtR.js} +5 -5
- package/dist/server/assets/{index-Cvmi6T35.js → index-BRzkEVRG.js} +1 -1
- package/dist/server/assets/{index-CTCq_dqo.js → index-C7lRWZi8.js} +4 -4
- package/dist/server/assets/{index-DF9DvOkv.js → index-CDG7KvBY.js} +2 -2
- package/dist/server/assets/{index-DsRToCeg.js → index-CHvqm6Lz.js} +5 -5
- package/dist/server/assets/{index-BMCwJ6BW.js → index-CKPuU6Za.js} +2 -2
- package/dist/server/assets/{index-Cyz3st2N.js → index-CWr-Kh5M.js} +2 -2
- package/dist/server/assets/{index-CnNg602B.js → index-D2uLA4oe.js} +2 -2
- package/dist/server/assets/{index-W2MLsk-k.js → index-DAq8fRkd.js} +2 -2
- package/dist/server/assets/{index-CWhqy8Ta.js → index-Dz2mzfvS.js} +2 -2
- package/dist/server/assets/{index-C4lG0OWB.js → index-Tq3ajWxh.js} +2 -2
- package/dist/server/assets/{index-CUej4Ihg.js → index-U3tOcUUV.js} +2 -2
- package/dist/server/assets/{index-CE_oTIBT.js → index-pFRKwTv2.js} +2 -2
- package/dist/server/assets/{index-DoAhyHsE.js → index-rT9xGtRW.js} +3 -3
- package/dist/server/assets/{info-VBDWY6EO-BQ8N2eDS.js → info-VBDWY6EO-DrELfFR0.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-I1ZLYjFY.js → infoDiagram-HS3SLOUP-D40Crb-p.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-lFTyhPiV.js → journeyDiagram-XKPGCS4Q-dtlVBwV2.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-BEr5w27W.js → kanban-definition-3W4ZIXB7-72vgA7Jl.js} +2 -2
- package/dist/server/assets/{layout-2KXyirN2.js → layout-DJ0Eul-X.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-BfFd_m4-.js → mermaid-3ZIDBTTL-DGEHf_at.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-SoqLW9t8.js → mermaid-parser.core-C1UfVEF8.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-D9ZbRdf_.js → mindmap-definition-VGOIOE7T-DYfEp2uH.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-B2EvMQj5.js → packet-DYOGHKS2-IHYchS32.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-YRbpkB5e.js → pie-VRWISCQL-R6SvOU4g.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-Bat_eWvt.js → pieDiagram-ADFJNKIX-EgffZsud.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-CtqGnRnF.js → quadrantDiagram-AYHSOK5B-n2oJWllV.js} +1 -1
- package/dist/server/assets/{radar-ZZBFDIW7-DvOi2qX_.js → radar-ZZBFDIW7-BX2ya_Na.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-CtysqbZ4.js → requirementDiagram-UZGBJVZJ-CzCXruFj.js} +3 -3
- package/dist/server/assets/{router-ChvYGLZB.js → router-BC8bCsa3.js} +985 -673
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-BTLsDOUO.js → sankeyDiagram-TZEHDZUN-C0GqwqSS.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-CK0kbINT.js → sequenceDiagram-WL72ISMW-BfX0R0LP.js} +3 -3
- package/dist/server/assets/{square-terminal-BLO1pEjb.js → square-terminal-BWcJU95Z.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-D5FS7RFa.js → stateDiagram-FKZM4ZOC-QowlLVwh.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-DoCLlTuy.js → stateDiagram-v2-4FDKWEC3-DVHzQlOF.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-jFqO_Cet.js → timeline-definition-IT6M3QCI-DUoaC7rz.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-CuHJYOCT.js → treemap-GDKQZRPO-B5KIzomx.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-CGq293LY.js → workspace._workspaceId-DRK2dblR.js} +101 -11
- package/dist/server/assets/{workspace._workspaceId-B0M_Sxj3.js → workspace._workspaceId-hnIpuUNX.js} +1 -1
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-DPvU_7PC.js → xychartDiagram-PRI3JC2R-aNxYxejD.js} +1 -1
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +349 -266
- package/package.json +4 -4
- package/dist/client/assets/channel-BwZLW4yW.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CVjdMCqG.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CVjdMCqG.js +0 -1
- package/dist/client/assets/clone-Dj_6A90e.js +0 -1
- package/dist/client/assets/index-baLsgCNJ.js +0 -1
- package/dist/client/assets/main-tmFPjHOC.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BAf0jK91.js +0 -1
- package/dist/client/assets/workspace._workspaceId-jpBhz8sr.js +0 -2
- package/dist/server/assets/_tanstack-start-manifest_v-BffwvUC-.js +0 -4
|
@@ -1226,7 +1226,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
1226
1226
|
Component.displayName = toPascalCase(iconName);
|
|
1227
1227
|
return Component;
|
|
1228
1228
|
};
|
|
1229
|
-
const __iconNode$
|
|
1229
|
+
const __iconNode$1s = [
|
|
1230
1230
|
[
|
|
1231
1231
|
"path",
|
|
1232
1232
|
{
|
|
@@ -1235,45 +1235,45 @@ const __iconNode$1r = [
|
|
|
1235
1235
|
}
|
|
1236
1236
|
]
|
|
1237
1237
|
];
|
|
1238
|
-
const Activity = createLucideIcon("activity", __iconNode$
|
|
1239
|
-
const __iconNode$
|
|
1238
|
+
const Activity = createLucideIcon("activity", __iconNode$1s);
|
|
1239
|
+
const __iconNode$1r = [
|
|
1240
1240
|
["path", { d: "M12 17V3", key: "1cwfxf" }],
|
|
1241
1241
|
["path", { d: "m6 11 6 6 6-6", key: "12ii2o" }],
|
|
1242
1242
|
["path", { d: "M19 21H5", key: "150jfl" }]
|
|
1243
1243
|
];
|
|
1244
|
-
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$
|
|
1245
|
-
const __iconNode$
|
|
1244
|
+
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$1r);
|
|
1245
|
+
const __iconNode$1q = [
|
|
1246
1246
|
["path", { d: "M12 5v14", key: "s699le" }],
|
|
1247
1247
|
["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
|
|
1248
1248
|
];
|
|
1249
|
-
const ArrowDown = createLucideIcon("arrow-down", __iconNode$
|
|
1250
|
-
const __iconNode$
|
|
1249
|
+
const ArrowDown = createLucideIcon("arrow-down", __iconNode$1q);
|
|
1250
|
+
const __iconNode$1p = [
|
|
1251
1251
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
1252
1252
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
1253
1253
|
];
|
|
1254
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
1255
|
-
const __iconNode$
|
|
1254
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1p);
|
|
1255
|
+
const __iconNode$1o = [
|
|
1256
1256
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1257
1257
|
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
1258
1258
|
];
|
|
1259
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
1260
|
-
const __iconNode$
|
|
1259
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$1o);
|
|
1260
|
+
const __iconNode$1n = [
|
|
1261
1261
|
["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }],
|
|
1262
1262
|
["path", { d: "M12 3v14", key: "7cf3v8" }],
|
|
1263
1263
|
["path", { d: "M5 21h14", key: "11awu3" }]
|
|
1264
1264
|
];
|
|
1265
|
-
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$
|
|
1266
|
-
const __iconNode$
|
|
1265
|
+
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$1n);
|
|
1266
|
+
const __iconNode$1m = [
|
|
1267
1267
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
1268
1268
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
1269
1269
|
];
|
|
1270
|
-
const ArrowUp = createLucideIcon("arrow-up", __iconNode$
|
|
1271
|
-
const __iconNode$
|
|
1270
|
+
const ArrowUp = createLucideIcon("arrow-up", __iconNode$1m);
|
|
1271
|
+
const __iconNode$1l = [
|
|
1272
1272
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1273
1273
|
["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
|
|
1274
1274
|
];
|
|
1275
|
-
const Ban = createLucideIcon("ban", __iconNode$
|
|
1276
|
-
const __iconNode$
|
|
1275
|
+
const Ban = createLucideIcon("ban", __iconNode$1l);
|
|
1276
|
+
const __iconNode$1k = [
|
|
1277
1277
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
1278
1278
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
1279
1279
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -1281,77 +1281,77 @@ const __iconNode$1j = [
|
|
|
1281
1281
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
1282
1282
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
1283
1283
|
];
|
|
1284
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
1285
|
-
const __iconNode$
|
|
1284
|
+
const Bot = createLucideIcon("bot", __iconNode$1k);
|
|
1285
|
+
const __iconNode$1j = [
|
|
1286
1286
|
["path", { d: "m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16", key: "d5nyq2" }],
|
|
1287
1287
|
["path", { d: "M22 9v7", key: "pvm9v3" }],
|
|
1288
1288
|
["path", { d: "M3.304 13h6.392", key: "1q3zxz" }],
|
|
1289
1289
|
["circle", { cx: "18.5", cy: "12.5", r: "3.5", key: "z97x68" }]
|
|
1290
1290
|
];
|
|
1291
|
-
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$
|
|
1292
|
-
const __iconNode$
|
|
1291
|
+
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$1j);
|
|
1292
|
+
const __iconNode$1i = [
|
|
1293
1293
|
["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }],
|
|
1294
1294
|
["path", { d: "M18 17V9", key: "2bz60n" }],
|
|
1295
1295
|
["path", { d: "M13 17V5", key: "1frdt8" }],
|
|
1296
1296
|
["path", { d: "M8 17v-3", key: "17ska0" }]
|
|
1297
1297
|
];
|
|
1298
|
-
const ChartColumn = createLucideIcon("chart-column", __iconNode$
|
|
1299
|
-
const __iconNode$
|
|
1300
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
1301
|
-
const __iconNode$
|
|
1302
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
1303
|
-
const __iconNode$
|
|
1304
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
1305
|
-
const __iconNode$
|
|
1306
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
1307
|
-
const __iconNode$
|
|
1308
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
1309
|
-
const __iconNode$
|
|
1298
|
+
const ChartColumn = createLucideIcon("chart-column", __iconNode$1i);
|
|
1299
|
+
const __iconNode$1h = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
1300
|
+
const Check = createLucideIcon("check", __iconNode$1h);
|
|
1301
|
+
const __iconNode$1g = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
1302
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$1g);
|
|
1303
|
+
const __iconNode$1f = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
1304
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1f);
|
|
1305
|
+
const __iconNode$1e = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
1306
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$1e);
|
|
1307
|
+
const __iconNode$1d = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
1308
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$1d);
|
|
1309
|
+
const __iconNode$1c = [
|
|
1310
1310
|
["path", { d: "m7 20 5-5 5 5", key: "13a0gw" }],
|
|
1311
1311
|
["path", { d: "m7 4 5 5 5-5", key: "1kwcof" }]
|
|
1312
1312
|
];
|
|
1313
|
-
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$
|
|
1314
|
-
const __iconNode$
|
|
1313
|
+
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$1c);
|
|
1314
|
+
const __iconNode$1b = [
|
|
1315
1315
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
1316
1316
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
1317
1317
|
];
|
|
1318
|
-
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$
|
|
1319
|
-
const __iconNode$
|
|
1318
|
+
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1b);
|
|
1319
|
+
const __iconNode$1a = [
|
|
1320
1320
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1321
1321
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
1322
1322
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
1323
1323
|
];
|
|
1324
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
1325
|
-
const __iconNode$
|
|
1324
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$1a);
|
|
1325
|
+
const __iconNode$19 = [
|
|
1326
1326
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1327
1327
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
1328
1328
|
];
|
|
1329
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
1330
|
-
const __iconNode$
|
|
1329
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$19);
|
|
1330
|
+
const __iconNode$18 = [
|
|
1331
1331
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1332
1332
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
1333
1333
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
1334
1334
|
];
|
|
1335
|
-
const CircleX = createLucideIcon("circle-x", __iconNode$
|
|
1336
|
-
const __iconNode$
|
|
1337
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
1338
|
-
const __iconNode$
|
|
1335
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$18);
|
|
1336
|
+
const __iconNode$17 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
1337
|
+
const Circle = createLucideIcon("circle", __iconNode$17);
|
|
1338
|
+
const __iconNode$16 = [
|
|
1339
1339
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
1340
1340
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2", key: "4jdomd" }],
|
|
1341
1341
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v4", key: "3hqy98" }],
|
|
1342
1342
|
["path", { d: "M21 14H11", key: "1bme5i" }],
|
|
1343
1343
|
["path", { d: "m15 10-4 4 4 4", key: "5dvupr" }]
|
|
1344
1344
|
];
|
|
1345
|
-
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$
|
|
1346
|
-
const __iconNode$
|
|
1345
|
+
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$16);
|
|
1346
|
+
const __iconNode$15 = [
|
|
1347
1347
|
["path", { d: "M11 14h10", key: "1w8e9d" }],
|
|
1348
1348
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v1.344", key: "1e62lh" }],
|
|
1349
1349
|
["path", { d: "m17 18 4-4-4-4", key: "z2g111" }],
|
|
1350
1350
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113", key: "bjbb7m" }],
|
|
1351
1351
|
["rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", key: "ublpy" }]
|
|
1352
1352
|
];
|
|
1353
|
-
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$
|
|
1354
|
-
const __iconNode$
|
|
1353
|
+
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$15);
|
|
1354
|
+
const __iconNode$14 = [
|
|
1355
1355
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
1356
1356
|
[
|
|
1357
1357
|
"path",
|
|
@@ -1361,52 +1361,58 @@ const __iconNode$13 = [
|
|
|
1361
1361
|
}
|
|
1362
1362
|
]
|
|
1363
1363
|
];
|
|
1364
|
-
const Clipboard = createLucideIcon("clipboard", __iconNode$
|
|
1365
|
-
const __iconNode$
|
|
1364
|
+
const Clipboard = createLucideIcon("clipboard", __iconNode$14);
|
|
1365
|
+
const __iconNode$13 = [
|
|
1366
1366
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1367
1367
|
["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
|
|
1368
1368
|
];
|
|
1369
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
1370
|
-
const __iconNode$
|
|
1369
|
+
const Clock = createLucideIcon("clock", __iconNode$13);
|
|
1370
|
+
const __iconNode$12 = [
|
|
1371
1371
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
1372
1372
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
1373
1373
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
1374
1374
|
];
|
|
1375
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
1376
|
-
const __iconNode$
|
|
1375
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$12);
|
|
1376
|
+
const __iconNode$11 = [
|
|
1377
1377
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
1378
1378
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
1379
1379
|
];
|
|
1380
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
1381
|
-
const __iconNode
|
|
1380
|
+
const Code = createLucideIcon("code", __iconNode$11);
|
|
1381
|
+
const __iconNode$10 = [
|
|
1382
1382
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1383
1383
|
["path", { d: "M12 3v18", key: "108xh3" }]
|
|
1384
1384
|
];
|
|
1385
|
-
const Columns2 = createLucideIcon("columns-2", __iconNode
|
|
1386
|
-
const __iconNode
|
|
1385
|
+
const Columns2 = createLucideIcon("columns-2", __iconNode$10);
|
|
1386
|
+
const __iconNode$$ = [
|
|
1387
1387
|
[
|
|
1388
1388
|
"path",
|
|
1389
1389
|
{ d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" }
|
|
1390
1390
|
]
|
|
1391
1391
|
];
|
|
1392
|
-
const Command$1 = createLucideIcon("command", __iconNode
|
|
1393
|
-
const __iconNode$
|
|
1392
|
+
const Command$1 = createLucideIcon("command", __iconNode$$);
|
|
1393
|
+
const __iconNode$_ = [
|
|
1394
1394
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
1395
1395
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
1396
1396
|
];
|
|
1397
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
1398
|
-
const __iconNode$
|
|
1397
|
+
const Copy = createLucideIcon("copy", __iconNode$_);
|
|
1398
|
+
const __iconNode$Z = [
|
|
1399
1399
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
1400
1400
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
1401
1401
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
1402
1402
|
];
|
|
1403
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
1404
|
-
const __iconNode$
|
|
1403
|
+
const Download = createLucideIcon("download", __iconNode$Z);
|
|
1404
|
+
const __iconNode$Y = [
|
|
1405
1405
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1406
1406
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
1407
1407
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
1408
1408
|
];
|
|
1409
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
1409
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Y);
|
|
1410
|
+
const __iconNode$X = [
|
|
1411
|
+
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1412
|
+
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
1413
|
+
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
1414
|
+
];
|
|
1415
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$X);
|
|
1410
1416
|
const __iconNode$W = [
|
|
1411
1417
|
["path", { d: "m15 15 6 6", key: "1s409w" }],
|
|
1412
1418
|
["path", { d: "m15 9 6-6", key: "ko1vev" }],
|
|
@@ -14762,11 +14768,27 @@ function DialogOverlay({
|
|
|
14762
14768
|
}
|
|
14763
14769
|
);
|
|
14764
14770
|
}
|
|
14771
|
+
const DIALOG_CONTENT_VARIANTS = {
|
|
14772
|
+
default: "fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
|
|
14773
|
+
"bottom-sheet": [
|
|
14774
|
+
// Shared
|
|
14775
|
+
"fixed z-50 flex flex-col bg-background shadow-lg duration-200 outline-none",
|
|
14776
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
14777
|
+
// Mobile (< lg): bottom drawer
|
|
14778
|
+
"inset-x-0 bottom-0 w-full max-w-none rounded-t-2xl border border-b-0 p-6",
|
|
14779
|
+
"max-h-[calc(100dvh-env(safe-area-inset-top)-1.5rem)]",
|
|
14780
|
+
"max-lg:data-[state=open]:slide-in-from-bottom max-lg:data-[state=closed]:slide-out-to-bottom",
|
|
14781
|
+
// Desktop (lg+): revert to the centred modal
|
|
14782
|
+
"lg:inset-auto lg:top-[50%] lg:left-[50%] lg:bottom-auto lg:w-full lg:max-w-lg lg:max-h-[85vh] lg:translate-x-[-50%] lg:translate-y-[-50%] lg:rounded-lg lg:border-b",
|
|
14783
|
+
"lg:data-[state=open]:zoom-in-95 lg:data-[state=closed]:zoom-out-95"
|
|
14784
|
+
].join(" ")
|
|
14785
|
+
};
|
|
14765
14786
|
function DialogContent({
|
|
14766
14787
|
className,
|
|
14767
14788
|
overlayClassName,
|
|
14768
14789
|
children: children2,
|
|
14769
14790
|
showCloseButton = true,
|
|
14791
|
+
variant = "default",
|
|
14770
14792
|
...props
|
|
14771
14793
|
}) {
|
|
14772
14794
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
@@ -14775,10 +14797,8 @@ function DialogContent({
|
|
|
14775
14797
|
Content$1,
|
|
14776
14798
|
{
|
|
14777
14799
|
"data-slot": "dialog-content",
|
|
14778
|
-
|
|
14779
|
-
|
|
14780
|
-
className
|
|
14781
|
-
),
|
|
14800
|
+
"data-variant": variant,
|
|
14801
|
+
className: cn$2(DIALOG_CONTENT_VARIANTS[variant], className),
|
|
14782
14802
|
...props,
|
|
14783
14803
|
children: [
|
|
14784
14804
|
children2,
|
|
@@ -20261,16 +20281,16 @@ function createDashboardStore(adapter2) {
|
|
|
20261
20281
|
set2({ error: String(e3) });
|
|
20262
20282
|
}
|
|
20263
20283
|
},
|
|
20264
|
-
gitPull: async (project,
|
|
20284
|
+
gitPull: async (project, name2) => {
|
|
20265
20285
|
try {
|
|
20266
|
-
await adapter2.gitPull(project,
|
|
20286
|
+
await adapter2.gitPull(project, name2);
|
|
20267
20287
|
} catch (e3) {
|
|
20268
20288
|
set2({ error: String(e3) });
|
|
20269
20289
|
}
|
|
20270
20290
|
},
|
|
20271
|
-
gitPush: async (project,
|
|
20291
|
+
gitPush: async (project, name2) => {
|
|
20272
20292
|
try {
|
|
20273
|
-
await adapter2.gitPush(project,
|
|
20293
|
+
await adapter2.gitPush(project, name2);
|
|
20274
20294
|
} catch (e3) {
|
|
20275
20295
|
set2({ error: String(e3) });
|
|
20276
20296
|
}
|
|
@@ -20487,15 +20507,18 @@ function useRemoveWorkspace() {
|
|
|
20487
20507
|
const openWorkspace = useDashboardStore((s2) => s2.openWorkspace);
|
|
20488
20508
|
const store = useRawDashboardStore();
|
|
20489
20509
|
return useMutation({
|
|
20490
|
-
mutationFn: ({ project,
|
|
20491
|
-
onSuccess: (_data, { project,
|
|
20510
|
+
mutationFn: ({ project, name: name2 }) => adapter2.removeWorkspace(project, name2),
|
|
20511
|
+
onSuccess: (_data, { project, name: name2 }) => {
|
|
20492
20512
|
queryClient2.invalidateQueries({ queryKey: queryKeys.projects });
|
|
20493
|
-
const deletedWorkspaceId = toWorkspaceId(project,
|
|
20513
|
+
const deletedWorkspaceId = toWorkspaceId(project, name2);
|
|
20494
20514
|
if (store.getState().activeWorkspaceId === deletedWorkspaceId) {
|
|
20495
20515
|
const projects = queryClient2.getQueryData(queryKeys.projects);
|
|
20496
20516
|
const projectInfo = projects?.find((p2) => p2.name === project);
|
|
20497
20517
|
if (projectInfo) {
|
|
20498
|
-
|
|
20518
|
+
const mainWt = projectInfo.worktrees.find(
|
|
20519
|
+
(wt2) => wt2.name === projectInfo.defaultBranch || wt2.branch === projectInfo.defaultBranch
|
|
20520
|
+
);
|
|
20521
|
+
openWorkspace(toWorkspaceId(project, mainWt?.name ?? projectInfo.defaultBranch));
|
|
20499
20522
|
}
|
|
20500
20523
|
}
|
|
20501
20524
|
},
|
|
@@ -20568,7 +20591,7 @@ function AddProjectDialog({ open: open2, onOpenChange, defaultLabel }) {
|
|
|
20568
20591
|
}
|
|
20569
20592
|
};
|
|
20570
20593
|
const isBusy = addProjectMutation.isPending;
|
|
20571
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogContent, { className: "
|
|
20594
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange: handleOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogContent, { variant: "bottom-sheet", className: "lg:max-w-[425px]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, children: [
|
|
20572
20595
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
|
|
20573
20596
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Register Project" }),
|
|
20574
20597
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Add a folder to manage its workspaces. Git repositories enable branches and PRs; plain folders work too, with a single implicit workspace." })
|
|
@@ -42697,53 +42720,53 @@ async function loadLanguage(lang) {
|
|
|
42697
42720
|
try {
|
|
42698
42721
|
switch (lang) {
|
|
42699
42722
|
case "javascript":
|
|
42700
|
-
return import("./index-
|
|
42723
|
+
return import("./index-8EiXP0Bf.js").then((m2) => m2.javascript());
|
|
42701
42724
|
case "jsx":
|
|
42702
|
-
return import("./index-
|
|
42725
|
+
return import("./index-8EiXP0Bf.js").then((m2) => m2.javascript({ jsx: true }));
|
|
42703
42726
|
case "typescript":
|
|
42704
|
-
return import("./index-
|
|
42727
|
+
return import("./index-8EiXP0Bf.js").then(
|
|
42705
42728
|
(m2) => m2.javascript({ typescript: true })
|
|
42706
42729
|
);
|
|
42707
42730
|
case "tsx":
|
|
42708
|
-
return import("./index-
|
|
42731
|
+
return import("./index-8EiXP0Bf.js").then(
|
|
42709
42732
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
42710
42733
|
);
|
|
42711
42734
|
case "python":
|
|
42712
|
-
return import("./index-
|
|
42735
|
+
return import("./index-Dz2mzfvS.js").then((m2) => m2.python());
|
|
42713
42736
|
case "html":
|
|
42714
|
-
return import("./index-
|
|
42737
|
+
return import("./index-C7lRWZi8.js").then((m2) => m2.html());
|
|
42715
42738
|
case "css":
|
|
42716
|
-
return import("./index-
|
|
42739
|
+
return import("./index-1OK7lyTa.js").then((m2) => m2.css());
|
|
42717
42740
|
case "scss":
|
|
42718
42741
|
case "sass":
|
|
42719
|
-
return import("./index-
|
|
42742
|
+
return import("./index-B72BPMJQ.js").then((m2) => m2.sass());
|
|
42720
42743
|
case "less":
|
|
42721
|
-
return import("./index-
|
|
42744
|
+
return import("./index-rT9xGtRW.js").then((m2) => m2.less());
|
|
42722
42745
|
case "json":
|
|
42723
42746
|
case "jsonc":
|
|
42724
|
-
return import("./index-
|
|
42747
|
+
return import("./index-CDG7KvBY.js").then((m2) => m2.json());
|
|
42725
42748
|
case "markdown":
|
|
42726
42749
|
case "mdx":
|
|
42727
|
-
return import("./index-
|
|
42750
|
+
return import("./index-BLv-1MtR.js").then((m2) => m2.markdown());
|
|
42728
42751
|
case "xml":
|
|
42729
|
-
return import("./index-
|
|
42752
|
+
return import("./index-DAq8fRkd.js").then((m2) => m2.xml());
|
|
42730
42753
|
case "yaml":
|
|
42731
|
-
return import("./index-
|
|
42754
|
+
return import("./index-pFRKwTv2.js").then((m2) => m2.yaml());
|
|
42732
42755
|
case "sql":
|
|
42733
|
-
return import("./index-
|
|
42756
|
+
return import("./index-D2uLA4oe.js").then((m2) => m2.sql());
|
|
42734
42757
|
case "rust":
|
|
42735
|
-
return import("./index-
|
|
42758
|
+
return import("./index-CKPuU6Za.js").then((m2) => m2.rust());
|
|
42736
42759
|
case "go":
|
|
42737
|
-
return import("./index-
|
|
42760
|
+
return import("./index-Tq3ajWxh.js").then((m2) => m2.go());
|
|
42738
42761
|
case "java":
|
|
42739
|
-
return import("./index-
|
|
42762
|
+
return import("./index-U3tOcUUV.js").then((m2) => m2.java());
|
|
42740
42763
|
case "kotlin":
|
|
42741
|
-
return import("./index-
|
|
42764
|
+
return import("./index-U3tOcUUV.js").then((m2) => m2.java());
|
|
42742
42765
|
case "c":
|
|
42743
42766
|
case "cpp":
|
|
42744
|
-
return import("./index-
|
|
42767
|
+
return import("./index-CWr-Kh5M.js").then((m2) => m2.cpp());
|
|
42745
42768
|
case "php":
|
|
42746
|
-
return import("./index-
|
|
42769
|
+
return import("./index-14dCbIAi.js").then((m2) => m2.php());
|
|
42747
42770
|
// Legacy modes via StreamLanguage
|
|
42748
42771
|
case "bash":
|
|
42749
42772
|
case "fish":
|
|
@@ -48707,7 +48730,7 @@ function usePinnedWorkspaces() {
|
|
|
48707
48730
|
list2.push({
|
|
48708
48731
|
project,
|
|
48709
48732
|
worktree: wt2,
|
|
48710
|
-
workspaceId: toWorkspaceId(project.name, wt2.
|
|
48733
|
+
workspaceId: toWorkspaceId(project.name, wt2.name)
|
|
48711
48734
|
});
|
|
48712
48735
|
}
|
|
48713
48736
|
}
|
|
@@ -48719,10 +48742,10 @@ function usePinnedWorkspaces() {
|
|
|
48719
48742
|
const mutation = useMutation({
|
|
48720
48743
|
mutationFn: ({
|
|
48721
48744
|
project,
|
|
48722
|
-
|
|
48745
|
+
name: name2,
|
|
48723
48746
|
pinned: nextPinned
|
|
48724
|
-
}) => adapter2.setWorkspacePinned(project,
|
|
48725
|
-
onMutate: async ({ project,
|
|
48747
|
+
}) => adapter2.setWorkspacePinned(project, name2, nextPinned),
|
|
48748
|
+
onMutate: async ({ project, name: name2, pinned: nextPinned }) => {
|
|
48726
48749
|
await queryClient2.cancelQueries({ queryKey: queryKeys.projects });
|
|
48727
48750
|
const previous2 = queryClient2.getQueryData(queryKeys.projects);
|
|
48728
48751
|
if (previous2) {
|
|
@@ -48730,7 +48753,7 @@ function usePinnedWorkspaces() {
|
|
|
48730
48753
|
(p2) => p2.name === project ? {
|
|
48731
48754
|
...p2,
|
|
48732
48755
|
worktrees: p2.worktrees.map(
|
|
48733
|
-
(w3) => w3.
|
|
48756
|
+
(w3) => w3.name === name2 ? { ...w3, pinned: nextPinned } : w3
|
|
48734
48757
|
)
|
|
48735
48758
|
} : p2
|
|
48736
48759
|
);
|
|
@@ -48749,7 +48772,7 @@ function usePinnedWorkspaces() {
|
|
|
48749
48772
|
}
|
|
48750
48773
|
});
|
|
48751
48774
|
const toggle = reactExports.useCallback(
|
|
48752
|
-
(project,
|
|
48775
|
+
(project, name2, currentlyPinned) => mutation.mutate({ project, name: name2, pinned: !currentlyPinned }),
|
|
48753
48776
|
[mutation.mutate]
|
|
48754
48777
|
);
|
|
48755
48778
|
return { pinned, isPinned, toggle };
|
|
@@ -49013,7 +49036,7 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49013
49036
|
const gitPush = useDashboardStore((s2) => s2.gitPush);
|
|
49014
49037
|
const removeWorkspaceMutation = useRemoveWorkspace();
|
|
49015
49038
|
const isPinned = worktree.pinned;
|
|
49016
|
-
const workspaceId = toWorkspaceId(projectName, worktree.
|
|
49039
|
+
const workspaceId = toWorkspaceId(projectName, worktree.name);
|
|
49017
49040
|
const isActive = useDashboardStore((s2) => s2.activeWorkspaceId === workspaceId);
|
|
49018
49041
|
const href = capabilities2.getWorkspaceHref?.(workspaceId);
|
|
49019
49042
|
reactExports.useEffect(() => {
|
|
@@ -49063,11 +49086,11 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49063
49086
|
const hasUnpushedCommits = (branchStatus?.git.ahead ?? 0) > 0;
|
|
49064
49087
|
const handleDelete2 = () => {
|
|
49065
49088
|
if (!hasUnmergedPR && !isDirty && !hasUnpushedCommits) {
|
|
49066
|
-
removeWorkspaceMutation.mutate({ project: projectName,
|
|
49089
|
+
removeWorkspaceMutation.mutate({ project: projectName, name: worktree.name });
|
|
49067
49090
|
} else {
|
|
49068
49091
|
onShowDeleteDialog({
|
|
49069
49092
|
projectName,
|
|
49070
|
-
|
|
49093
|
+
name: worktree.name,
|
|
49071
49094
|
isUnmerged: hasUnmergedPR,
|
|
49072
49095
|
isDirty,
|
|
49073
49096
|
hasUnpushedCommits
|
|
@@ -49083,11 +49106,11 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49083
49106
|
"span",
|
|
49084
49107
|
{
|
|
49085
49108
|
className: `text-sm truncate ${isActive ? "font-bold text-foreground" : "font-medium text-muted-foreground"}`,
|
|
49086
|
-
children: showProjectName ? `${projectName}/${worktree.
|
|
49109
|
+
children: showProjectName ? `${projectName}/${worktree.name}` : worktree.name
|
|
49087
49110
|
}
|
|
49088
49111
|
)
|
|
49089
49112
|
] }) }),
|
|
49090
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "right", children: `${projectName}/${worktree.
|
|
49113
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "right", children: `${projectName}/${worktree.name}` })
|
|
49091
49114
|
] }),
|
|
49092
49115
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden @[10rem]:flex group-hover:flex items-center gap-2 shrink-0 ml-auto pl-2", children: [
|
|
49093
49116
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SetupStatusIndicator, { setup: setupStatus }),
|
|
@@ -49096,7 +49119,7 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49096
49119
|
] })
|
|
49097
49120
|
] }) }),
|
|
49098
49121
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuContent, { children: [
|
|
49099
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => onTogglePinned(projectName, worktree.
|
|
49122
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => onTogglePinned(projectName, worktree.name, isPinned), children: [
|
|
49100
49123
|
isPinned ? /* @__PURE__ */ jsxRuntimeExports.jsx(PinOff, {}) : /* @__PURE__ */ jsxRuntimeExports.jsx(Pin, {}),
|
|
49101
49124
|
isPinned ? "Unpin workspace" : "Pin workspace"
|
|
49102
49125
|
] }),
|
|
@@ -49117,15 +49140,15 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49117
49140
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Square, {}),
|
|
49118
49141
|
"Run teardown"
|
|
49119
49142
|
] }),
|
|
49120
|
-
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => gitPull(projectName, worktree.
|
|
49143
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => gitPull(projectName, worktree.name), children: [
|
|
49121
49144
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowDownToLine, {}),
|
|
49122
49145
|
"Git pull"
|
|
49123
49146
|
] }),
|
|
49124
|
-
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => gitPush(projectName, worktree.
|
|
49147
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => gitPush(projectName, worktree.name), children: [
|
|
49125
49148
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowUpFromLine, {}),
|
|
49126
49149
|
"Git push"
|
|
49127
49150
|
] }),
|
|
49128
|
-
!isPlain && worktree.
|
|
49151
|
+
!isPlain && worktree.name !== defaultBranch && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { variant: "destructive", onClick: handleDelete2, children: [
|
|
49129
49152
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, {}),
|
|
49130
49153
|
"Delete workspace"
|
|
49131
49154
|
] })
|
|
@@ -49165,8 +49188,8 @@ function SortableProject({
|
|
|
49165
49188
|
};
|
|
49166
49189
|
const openWorkspace = useDashboardStore((s2) => s2.openWorkspace);
|
|
49167
49190
|
const clearNeedsAttention = useDashboardStore((s2) => s2.clearNeedsAttention);
|
|
49168
|
-
const
|
|
49169
|
-
const plainWorkspaceId = isPlain ? toWorkspaceId(project.name,
|
|
49191
|
+
const plainName = isPlain ? project.worktrees[0].name : "";
|
|
49192
|
+
const plainWorkspaceId = isPlain ? toWorkspaceId(project.name, plainName) : "";
|
|
49170
49193
|
const plainIsActive = useDashboardStore(
|
|
49171
49194
|
(s2) => isPlain && s2.activeWorkspaceId === plainWorkspaceId
|
|
49172
49195
|
);
|
|
@@ -49175,7 +49198,7 @@ function SortableProject({
|
|
|
49175
49198
|
const plainIsFocused = isPlain && workspaceIndexStart === focusedIndex;
|
|
49176
49199
|
const activeWorkspaceId = useDashboardStore((s2) => s2.activeWorkspaceId);
|
|
49177
49200
|
const gitHeaderIsActive = reactExports.useMemo(
|
|
49178
|
-
() => !isPlain && project.worktrees.some((wt2) => toWorkspaceId(project.name, wt2.
|
|
49201
|
+
() => !isPlain && project.worktrees.some((wt2) => toWorkspaceId(project.name, wt2.name) === activeWorkspaceId),
|
|
49179
49202
|
[isPlain, project.worktrees, project.name, activeWorkspaceId]
|
|
49180
49203
|
);
|
|
49181
49204
|
const handlePlainOpen = () => {
|
|
@@ -49320,7 +49343,7 @@ function SortableProject({
|
|
|
49320
49343
|
// the project header above, not as sibling rows. The indentation alone
|
|
49321
49344
|
// (no divider rail) conveys the hierarchy, keeping the list uncluttered.
|
|
49322
49345
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-0.5 overflow-hidden ml-3", children: project.worktrees.length === 0 ? hasPinnedSiblings ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground px-4 py-2", children: "No workspaces yet" }) : project.worktrees.map((wt2) => {
|
|
49323
|
-
const wsId = toWorkspaceId(project.name, wt2.
|
|
49346
|
+
const wsId = toWorkspaceId(project.name, wt2.name);
|
|
49324
49347
|
const currentIndex = workspaceIndex++;
|
|
49325
49348
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49326
49349
|
WorkspaceCard,
|
|
@@ -49336,7 +49359,7 @@ function SortableProject({
|
|
|
49336
49359
|
onShowDeleteDialog,
|
|
49337
49360
|
onTogglePinned
|
|
49338
49361
|
},
|
|
49339
|
-
wt2.
|
|
49362
|
+
wt2.name
|
|
49340
49363
|
);
|
|
49341
49364
|
}) })
|
|
49342
49365
|
] });
|
|
@@ -49472,7 +49495,7 @@ function ProjectList({ labelFilter }) {
|
|
|
49472
49495
|
if (headerVisible && labelCollapse.isCollapsed(groupKey)) return [];
|
|
49473
49496
|
return g2.projects.flatMap((p2) => {
|
|
49474
49497
|
if (projectCollapse.isCollapsed(p2.name)) return [];
|
|
49475
|
-
return p2.worktrees.map((wt2) => toWorkspaceId(p2.name, wt2.
|
|
49498
|
+
return p2.worktrees.map((wt2) => toWorkspaceId(p2.name, wt2.name));
|
|
49476
49499
|
});
|
|
49477
49500
|
});
|
|
49478
49501
|
return [...pinnedPart, ...rest];
|
|
@@ -49532,7 +49555,7 @@ function ProjectList({ labelFilter }) {
|
|
|
49532
49555
|
for (const group of groups) {
|
|
49533
49556
|
for (const project of group.projects) {
|
|
49534
49557
|
const containsActive = project.worktrees.some(
|
|
49535
|
-
(wt2) => toWorkspaceId(project.name, wt2.
|
|
49558
|
+
(wt2) => toWorkspaceId(project.name, wt2.name) === activeWorkspaceId
|
|
49536
49559
|
);
|
|
49537
49560
|
if (!containsActive) continue;
|
|
49538
49561
|
if (labelFilter && group.labelId !== labelFilter) return;
|
|
@@ -49766,12 +49789,12 @@ function ProjectList({ labelFilter }) {
|
|
|
49766
49789
|
if (deleteDialog) {
|
|
49767
49790
|
removeWorkspaceMutation.mutate({
|
|
49768
49791
|
project: deleteDialog.projectName,
|
|
49769
|
-
|
|
49792
|
+
name: deleteDialog.name
|
|
49770
49793
|
});
|
|
49771
49794
|
setDeleteDialog(null);
|
|
49772
49795
|
}
|
|
49773
49796
|
},
|
|
49774
|
-
branchName: deleteDialog?.
|
|
49797
|
+
branchName: deleteDialog?.name ?? "",
|
|
49775
49798
|
isUnmerged: deleteDialog?.isUnmerged ?? false,
|
|
49776
49799
|
isDirty: deleteDialog?.isDirty ?? false,
|
|
49777
49800
|
hasUnpushedCommits: deleteDialog?.hasUnpushedCommits ?? false
|
|
@@ -50222,16 +50245,8 @@ function SettingsPage({ open: open2, onOpenChange }) {
|
|
|
50222
50245
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
50223
50246
|
DialogContent,
|
|
50224
50247
|
{
|
|
50225
|
-
|
|
50226
|
-
|
|
50227
|
-
// top-anchored so the address-bar doesn't clip the footer.
|
|
50228
|
-
// Desktop (sm+): float as a centered, capped-width card.
|
|
50229
|
-
[
|
|
50230
|
-
"inset-0 left-0 top-0 h-dvh w-full max-w-none translate-x-0 translate-y-0 rounded-none",
|
|
50231
|
-
"sm:inset-auto sm:top-[50%] sm:left-[50%] sm:h-[80vh] sm:w-full sm:max-w-2xl sm:translate-x-[-50%] sm:translate-y-[-50%] sm:rounded-lg",
|
|
50232
|
-
"overflow-hidden p-0 flex flex-col gap-0"
|
|
50233
|
-
].join(" ")
|
|
50234
|
-
),
|
|
50248
|
+
variant: "bottom-sheet",
|
|
50249
|
+
className: "flex flex-col gap-0 overflow-hidden p-0 lg:h-[80vh] lg:max-w-2xl",
|
|
50235
50250
|
children: [
|
|
50236
50251
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { className: "px-6 pt-6 pb-4 shrink-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Settings" }) }),
|
|
50237
50252
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 min-h-0 overflow-y-auto", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-6 px-6 pb-6", children: [
|
|
@@ -50871,7 +50886,7 @@ async function desktopInvoke$1(cmd2, args) {
|
|
|
50871
50886
|
if (bridge) return await bridge.invoke(cmd2, args);
|
|
50872
50887
|
throw new Error(`desktopInvoke('${cmd2}') called outside the desktop shell`);
|
|
50873
50888
|
}
|
|
50874
|
-
function DashboardShell({
|
|
50889
|
+
function DashboardShell({ bottomActions, hideTitleBar }) {
|
|
50875
50890
|
const { projects, isLoading: loading } = useProjects();
|
|
50876
50891
|
const { settings } = useSettingsQuery();
|
|
50877
50892
|
const labels = settings.labels ?? [];
|
|
@@ -50911,7 +50926,7 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
|
|
|
50911
50926
|
);
|
|
50912
50927
|
const findProjectForWorkspace = reactExports.useCallback(
|
|
50913
50928
|
(workspaceId) => projects.find(
|
|
50914
|
-
(p2) => p2.worktrees.some((wt2) => toWorkspaceId(p2.name, wt2.
|
|
50929
|
+
(p2) => p2.worktrees.some((wt2) => toWorkspaceId(p2.name, wt2.name) === workspaceId)
|
|
50915
50930
|
),
|
|
50916
50931
|
[projects]
|
|
50917
50932
|
);
|
|
@@ -51033,93 +51048,68 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
|
|
|
51033
51048
|
}
|
|
51034
51049
|
),
|
|
51035
51050
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-9 shrink-0 items-center justify-between border-b border-border", children: [
|
|
51036
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-w-0 items-center", children: /* @__PURE__ */ jsxRuntimeExports.
|
|
51037
|
-
|
|
51038
|
-
|
|
51039
|
-
|
|
51040
|
-
|
|
51041
|
-
|
|
51042
|
-
|
|
51043
|
-
|
|
51044
|
-
|
|
51045
|
-
|
|
51046
|
-
"
|
|
51047
|
-
|
|
51048
|
-
|
|
51049
|
-
|
|
51050
|
-
|
|
51051
|
-
|
|
51052
|
-
|
|
51053
|
-
|
|
51054
|
-
|
|
51055
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51056
|
-
"Settings"
|
|
51051
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex min-w-0 items-center", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-1 pl-2", children: labels.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
51052
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51053
|
+
Button,
|
|
51054
|
+
{
|
|
51055
|
+
size: "sm",
|
|
51056
|
+
variant: "ghost",
|
|
51057
|
+
"data-testid": "dashboard__label-filter-trigger",
|
|
51058
|
+
className: `min-w-0 text-sm h-7 px-2 gap-1.5 ${labelFilter ? "bg-accent text-accent-foreground" : "text-muted-foreground"}`,
|
|
51059
|
+
children: activeLabel ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
51060
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51061
|
+
"span",
|
|
51062
|
+
{
|
|
51063
|
+
className: "size-2.5 rounded-full shrink-0",
|
|
51064
|
+
style: { backgroundColor: activeLabel.color }
|
|
51065
|
+
}
|
|
51066
|
+
),
|
|
51067
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: activeLabel.name })
|
|
51068
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
51069
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-3.5 shrink-0" }),
|
|
51070
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: "All" })
|
|
51057
51071
|
] })
|
|
51058
|
-
|
|
51059
|
-
|
|
51060
|
-
|
|
51061
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
51062
|
-
|
|
51072
|
+
}
|
|
51073
|
+
) }),
|
|
51074
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "start", children: [
|
|
51075
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51076
|
+
DropdownMenuItem,
|
|
51063
51077
|
{
|
|
51064
|
-
|
|
51065
|
-
|
|
51066
|
-
|
|
51067
|
-
|
|
51068
|
-
|
|
51078
|
+
"data-testid": "dashboard__label-filter-item--all",
|
|
51079
|
+
onClick: () => setLabelFilter(null),
|
|
51080
|
+
children: [
|
|
51081
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-3.5 shrink-0 mr-2 text-muted-foreground" }),
|
|
51082
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: "All" }),
|
|
51083
|
+
!labelFilter && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2 shrink-0" }),
|
|
51084
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto pl-3 text-xs text-muted-foreground tracking-widest", children: "⌘0" })
|
|
51085
|
+
]
|
|
51086
|
+
}
|
|
51087
|
+
),
|
|
51088
|
+
labels.map((lbl, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51089
|
+
DropdownMenuItem,
|
|
51090
|
+
{
|
|
51091
|
+
"data-testid": `dashboard__label-filter-item--${lbl.id}`,
|
|
51092
|
+
onClick: () => setLabelFilter(lbl.id),
|
|
51093
|
+
children: [
|
|
51069
51094
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51070
51095
|
"span",
|
|
51071
51096
|
{
|
|
51072
|
-
className: "size-2.5 rounded-full shrink-0",
|
|
51073
|
-
style: { backgroundColor:
|
|
51097
|
+
className: "size-2.5 rounded-full shrink-0 mr-2",
|
|
51098
|
+
style: { backgroundColor: lbl.color }
|
|
51074
51099
|
}
|
|
51075
51100
|
),
|
|
51076
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children:
|
|
51077
|
-
|
|
51078
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
51079
|
-
|
|
51080
|
-
|
|
51081
|
-
|
|
51082
|
-
|
|
51083
|
-
|
|
51084
|
-
|
|
51085
|
-
|
|
51086
|
-
{
|
|
51087
|
-
"data-testid": "dashboard__label-filter-item--all",
|
|
51088
|
-
onClick: () => setLabelFilter(null),
|
|
51089
|
-
children: [
|
|
51090
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-3.5 shrink-0 mr-2 text-muted-foreground" }),
|
|
51091
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: "All" }),
|
|
51092
|
-
!labelFilter && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2 shrink-0" }),
|
|
51093
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-auto pl-3 text-xs text-muted-foreground tracking-widest", children: "⌘0" })
|
|
51094
|
-
]
|
|
51095
|
-
}
|
|
51096
|
-
),
|
|
51097
|
-
labels.map((lbl, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51098
|
-
DropdownMenuItem,
|
|
51099
|
-
{
|
|
51100
|
-
"data-testid": `dashboard__label-filter-item--${lbl.id}`,
|
|
51101
|
-
onClick: () => setLabelFilter(lbl.id),
|
|
51102
|
-
children: [
|
|
51103
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
51104
|
-
"span",
|
|
51105
|
-
{
|
|
51106
|
-
className: "size-2.5 rounded-full shrink-0 mr-2",
|
|
51107
|
-
style: { backgroundColor: lbl.color }
|
|
51108
|
-
}
|
|
51109
|
-
),
|
|
51110
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: lbl.name }),
|
|
51111
|
-
labelFilter === lbl.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2 shrink-0" }),
|
|
51112
|
-
idx < 9 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-auto pl-3 text-xs text-muted-foreground tracking-widest", children: [
|
|
51113
|
-
"⌘",
|
|
51114
|
-
idx + 1
|
|
51115
|
-
] })
|
|
51116
|
-
]
|
|
51117
|
-
},
|
|
51118
|
-
lbl.id
|
|
51119
|
-
))
|
|
51120
|
-
] })
|
|
51101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: lbl.name }),
|
|
51102
|
+
labelFilter === lbl.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2 shrink-0" }),
|
|
51103
|
+
idx < 9 && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-auto pl-3 text-xs text-muted-foreground tracking-widest", children: [
|
|
51104
|
+
"⌘",
|
|
51105
|
+
idx + 1
|
|
51106
|
+
] })
|
|
51107
|
+
]
|
|
51108
|
+
},
|
|
51109
|
+
lbl.id
|
|
51110
|
+
))
|
|
51121
51111
|
] })
|
|
51122
|
-
] }) }),
|
|
51112
|
+
] }) }) }),
|
|
51123
51113
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 pr-2", children: [
|
|
51124
51114
|
projects.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
51125
51115
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -51216,6 +51206,30 @@ function DashboardShell({ toolbarMenuItems, hideTitleBar, hideMenu }) {
|
|
|
51216
51206
|
}
|
|
51217
51207
|
)
|
|
51218
51208
|
] }),
|
|
51209
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51210
|
+
"div",
|
|
51211
|
+
{
|
|
51212
|
+
className: "shrink-0 flex h-9 items-center justify-between gap-1 border-t border-border px-2",
|
|
51213
|
+
"data-testid": "project-list__action-bar",
|
|
51214
|
+
children: [
|
|
51215
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
51216
|
+
Button,
|
|
51217
|
+
{
|
|
51218
|
+
size: "sm",
|
|
51219
|
+
variant: "ghost",
|
|
51220
|
+
className: "text-muted-foreground",
|
|
51221
|
+
"data-testid": "project-list__settings-button",
|
|
51222
|
+
onClick: handleSettingsClick,
|
|
51223
|
+
children: [
|
|
51224
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Settings$1, { className: "size-4" }),
|
|
51225
|
+
"Settings"
|
|
51226
|
+
]
|
|
51227
|
+
}
|
|
51228
|
+
),
|
|
51229
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center gap-0.5", children: bottomActions })
|
|
51230
|
+
]
|
|
51231
|
+
}
|
|
51232
|
+
),
|
|
51219
51233
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: showErrorDialog, onOpenChange: setShowErrorDialog, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { children: [
|
|
51220
51234
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
|
|
51221
51235
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { className: "text-destructive", children: "Error" }),
|
|
@@ -52881,7 +52895,7 @@ function useProjectKindMap() {
|
|
|
52881
52895
|
const map2 = /* @__PURE__ */ new Map();
|
|
52882
52896
|
for (const p2 of projects) {
|
|
52883
52897
|
for (const wt2 of p2.worktrees) {
|
|
52884
|
-
map2.set(toWorkspaceId(p2.name, wt2.
|
|
52898
|
+
map2.set(toWorkspaceId(p2.name, wt2.name), p2.kind);
|
|
52885
52899
|
}
|
|
52886
52900
|
}
|
|
52887
52901
|
return map2;
|
|
@@ -53013,7 +53027,7 @@ function useWorkspacePath(workspaceId) {
|
|
|
53013
53027
|
return reactExports.useMemo(() => {
|
|
53014
53028
|
for (const proj of projects) {
|
|
53015
53029
|
for (const wt2 of proj.worktrees) {
|
|
53016
|
-
if (toWorkspaceId(proj.name, wt2.
|
|
53030
|
+
if (toWorkspaceId(proj.name, wt2.name) === workspaceId) {
|
|
53017
53031
|
return wt2.path;
|
|
53018
53032
|
}
|
|
53019
53033
|
}
|
|
@@ -57076,81 +57090,91 @@ function LazyFileRow({
|
|
|
57076
57090
|
fileStatus: status
|
|
57077
57091
|
}
|
|
57078
57092
|
),
|
|
57079
|
-
isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
57080
|
-
|
|
57081
|
-
|
|
57082
|
-
|
|
57083
|
-
|
|
57084
|
-
|
|
57085
|
-
|
|
57086
|
-
|
|
57087
|
-
|
|
57088
|
-
|
|
57089
|
-
|
|
57090
|
-
|
|
57091
|
-
|
|
57092
|
-
|
|
57093
|
-
|
|
57094
|
-
|
|
57095
|
-
|
|
57096
|
-
|
|
57097
|
-
|
|
57098
|
-
|
|
57099
|
-
|
|
57100
|
-
|
|
57101
|
-
|
|
57102
|
-
|
|
57103
|
-
|
|
57104
|
-
|
|
57105
|
-
|
|
57106
|
-
|
|
57107
|
-
|
|
57108
|
-
|
|
57109
|
-
|
|
57110
|
-
|
|
57111
|
-
|
|
57112
|
-
|
|
57113
|
-
|
|
57114
|
-
|
|
57115
|
-
|
|
57116
|
-
|
|
57117
|
-
|
|
57118
|
-
|
|
57119
|
-
|
|
57120
|
-
|
|
57121
|
-
|
|
57122
|
-
|
|
57123
|
-
|
|
57124
|
-
|
|
57125
|
-
|
|
57126
|
-
|
|
57127
|
-
|
|
57128
|
-
|
|
57129
|
-
|
|
57130
|
-
|
|
57131
|
-
|
|
57132
|
-
|
|
57133
|
-
|
|
57134
|
-
|
|
57135
|
-
|
|
57136
|
-
|
|
57137
|
-
|
|
57138
|
-
|
|
57139
|
-
|
|
57140
|
-
|
|
57141
|
-
|
|
57142
|
-
|
|
57143
|
-
|
|
57144
|
-
|
|
57145
|
-
|
|
57146
|
-
|
|
57147
|
-
|
|
57148
|
-
|
|
57149
|
-
|
|
57150
|
-
|
|
57151
|
-
|
|
57152
|
-
|
|
57153
|
-
|
|
57093
|
+
isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
57094
|
+
"div",
|
|
57095
|
+
{
|
|
57096
|
+
className: "border-t border-border/20 bg-muted/30",
|
|
57097
|
+
style: placeholderHeight > 0 ? {
|
|
57098
|
+
contentVisibility: "auto",
|
|
57099
|
+
containIntrinsicBlockSize: `${placeholderHeight}px`
|
|
57100
|
+
} : void 0,
|
|
57101
|
+
children: [
|
|
57102
|
+
diffError && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-4 py-4 text-sm text-destructive", children: diffError }),
|
|
57103
|
+
diff2 !== null && (shouldRender ? (
|
|
57104
|
+
// Wrapper is observed by the ResizeObserver in the effect
|
|
57105
|
+
// above. Its rendered height — "Show full file" bar plus the
|
|
57106
|
+
// CodeMirror editor — is reported back as
|
|
57107
|
+
// `measuredHeight`, then reused verbatim as the placeholder
|
|
57108
|
+
// height on the next unmount cycle (a never-visited row or
|
|
57109
|
+
// an LRU-evicted one).
|
|
57110
|
+
//
|
|
57111
|
+
// The `minHeight` hold prevents a layout shift during the
|
|
57112
|
+
// window between (a) `shouldRender` flipping to true and
|
|
57113
|
+
// (b) the editor's async `setup` finishing (loadLanguage
|
|
57114
|
+
// await + new MergeView() + first paint). Without it the
|
|
57115
|
+
// wrapper is empty-auto-height for that window, collapsing
|
|
57116
|
+
// the row to the "Show full file" bar (~30px) and pushing
|
|
57117
|
+
// every row below it upward; when the editor paints they
|
|
57118
|
+
// snap back down. We pin the wrapper to the
|
|
57119
|
+
// cached/estimated height (the same value the placeholder
|
|
57120
|
+
// uses) until `editorRendered` flips, then let the
|
|
57121
|
+
// editor's natural height take over. The ResizeObserver
|
|
57122
|
+
// only attaches once `editorRendered` is true (see deps
|
|
57123
|
+
// above), so the held value never bleeds into the
|
|
57124
|
+
// measuredHeight cache.
|
|
57125
|
+
//
|
|
57126
|
+
// Mount-once: once `shouldRender` flips true, it stays
|
|
57127
|
+
// true across scroll-aways. The editor's natural height
|
|
57128
|
+
// remains in the layout — the row stays the same size
|
|
57129
|
+
// whether the user is currently looking at it or
|
|
57130
|
+
// scrolled past — so there's no scroll-shift trade-off
|
|
57131
|
+
// to manage. The browser handles culling offscreen tiles
|
|
57132
|
+
// cheaply; the only thing that brings `shouldRender`
|
|
57133
|
+
// back to false is collapse / LRU eviction / target
|
|
57134
|
+
// change, all of which deliberately tear the editor
|
|
57135
|
+
// down.
|
|
57136
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
57137
|
+
"div",
|
|
57138
|
+
{
|
|
57139
|
+
ref: diffBodyRef,
|
|
57140
|
+
style: editorRendered ? void 0 : { minHeight: placeholderHeight },
|
|
57141
|
+
children: [
|
|
57142
|
+
canLoadMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center border-b border-border/20 px-4 py-1.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57143
|
+
"button",
|
|
57144
|
+
{
|
|
57145
|
+
type: "button",
|
|
57146
|
+
onClick: () => onShowFullFile(filename),
|
|
57147
|
+
className: "text-xs text-muted-foreground transition-colors hover:text-foreground",
|
|
57148
|
+
children: "Show full file"
|
|
57149
|
+
}
|
|
57150
|
+
) }),
|
|
57151
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57152
|
+
DiffFileContent,
|
|
57153
|
+
{
|
|
57154
|
+
hunks: diff2,
|
|
57155
|
+
filename,
|
|
57156
|
+
viewMode,
|
|
57157
|
+
onEditorViews: handleEditorViews,
|
|
57158
|
+
onLoadMoreContext: canLoadMore ? () => onLoadMoreContext(filename) : void 0
|
|
57159
|
+
}
|
|
57160
|
+
)
|
|
57161
|
+
]
|
|
57162
|
+
}
|
|
57163
|
+
)
|
|
57164
|
+
) : (
|
|
57165
|
+
// Placeholder occupying the SAME pixel height the CodeMirror
|
|
57166
|
+
// editor would render at, so the row's overall size doesn't
|
|
57167
|
+
// change when LRU eviction tears the editor down (or while
|
|
57168
|
+
// a never-visited row waits for its first IO intersect).
|
|
57169
|
+
// Without this, switching the body between editor and
|
|
57170
|
+
// placeholder would push everything below upward —
|
|
57171
|
+
// visually identical to a layout shift, even though no
|
|
57172
|
+
// content actually moved.
|
|
57173
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { "aria-hidden": true, style: { height: placeholderHeight } })
|
|
57174
|
+
))
|
|
57175
|
+
]
|
|
57176
|
+
}
|
|
57177
|
+
)
|
|
57154
57178
|
]
|
|
57155
57179
|
}
|
|
57156
57180
|
);
|
|
@@ -60165,7 +60189,8 @@ function QuickOpenDialog({
|
|
|
60165
60189
|
DialogContent,
|
|
60166
60190
|
{
|
|
60167
60191
|
"data-testid": "quick-open__root",
|
|
60168
|
-
|
|
60192
|
+
variant: "bottom-sheet",
|
|
60193
|
+
className: "overflow-hidden p-0 lg:max-w-[520px]",
|
|
60169
60194
|
showCloseButton: false,
|
|
60170
60195
|
children: [
|
|
60171
60196
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { className: "sr-only", children: [
|
|
@@ -60312,62 +60337,71 @@ function SearchFilesDialog({
|
|
|
60312
60337
|
[onOpenFile, onOpenChange]
|
|
60313
60338
|
);
|
|
60314
60339
|
const totalMatches = results.length;
|
|
60315
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60316
|
-
|
|
60317
|
-
|
|
60318
|
-
|
|
60319
|
-
|
|
60320
|
-
|
|
60321
|
-
|
|
60322
|
-
|
|
60323
|
-
{
|
|
60324
|
-
|
|
60325
|
-
|
|
60326
|
-
|
|
60327
|
-
|
|
60328
|
-
|
|
60329
|
-
|
|
60330
|
-
}
|
|
60331
|
-
),
|
|
60332
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[400px]", children: [
|
|
60333
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandEmpty, { children: loading ? "Searching..." : query.length < 2 ? "Type at least 2 characters to search." : "No results found." }),
|
|
60334
|
-
grouped.map(([file2, matches2]) => {
|
|
60335
|
-
const FileIcon = getFileIcon(file2);
|
|
60336
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
60337
|
-
CommandGroup,
|
|
60340
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60341
|
+
DialogContent,
|
|
60342
|
+
{
|
|
60343
|
+
"data-testid": "search-files__root",
|
|
60344
|
+
variant: "bottom-sheet",
|
|
60345
|
+
className: "overflow-hidden p-0 lg:max-w-[640px]",
|
|
60346
|
+
showCloseButton: false,
|
|
60347
|
+
children: [
|
|
60348
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { className: "sr-only", children: [
|
|
60349
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Search in Files" }),
|
|
60350
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Text search across workspace files" })
|
|
60351
|
+
] }),
|
|
60352
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Command, { shouldFilter: false, value: selectedValue, onValueChange: setSelectedValue, children: [
|
|
60353
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
60354
|
+
SearchBar,
|
|
60338
60355
|
{
|
|
60339
|
-
|
|
60340
|
-
|
|
60341
|
-
|
|
60342
|
-
|
|
60343
|
-
|
|
60344
|
-
|
|
60356
|
+
ref: searchBarRef,
|
|
60357
|
+
query,
|
|
60358
|
+
onQueryChange: setQuery,
|
|
60359
|
+
options: searchOptions,
|
|
60360
|
+
onOptionsChange: setSearchOptions,
|
|
60361
|
+
placeholder: "Search in files..."
|
|
60362
|
+
}
|
|
60363
|
+
),
|
|
60364
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[400px]", children: [
|
|
60365
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandEmpty, { children: loading ? "Searching..." : query.length < 2 ? "Type at least 2 characters to search." : "No results found." }),
|
|
60366
|
+
grouped.map(([file2, matches2]) => {
|
|
60367
|
+
const FileIcon = getFileIcon(file2);
|
|
60368
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
60369
|
+
CommandGroup,
|
|
60345
60370
|
{
|
|
60346
|
-
|
|
60347
|
-
|
|
60348
|
-
|
|
60349
|
-
|
|
60350
|
-
|
|
60351
|
-
|
|
60371
|
+
heading: /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
60372
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FileIcon, { className: "size-3" }),
|
|
60373
|
+
file2
|
|
60374
|
+
] }),
|
|
60375
|
+
children: matches2.map((match) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60376
|
+
CommandItem,
|
|
60377
|
+
{
|
|
60378
|
+
value: `${file2}:${match.line}:${match.content}`,
|
|
60379
|
+
onSelect: () => handleSelect(file2, match.line),
|
|
60380
|
+
children: [
|
|
60381
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-8 shrink-0 text-right font-mono text-xs text-muted-foreground", children: match.line }),
|
|
60382
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "min-w-0 truncate font-mono text-xs", children: match.content })
|
|
60383
|
+
]
|
|
60384
|
+
},
|
|
60385
|
+
`${file2}:${match.line}:${match.content}`
|
|
60386
|
+
))
|
|
60352
60387
|
},
|
|
60353
|
-
|
|
60354
|
-
)
|
|
60355
|
-
}
|
|
60356
|
-
|
|
60357
|
-
|
|
60358
|
-
|
|
60359
|
-
|
|
60360
|
-
|
|
60361
|
-
|
|
60362
|
-
|
|
60363
|
-
|
|
60364
|
-
|
|
60365
|
-
|
|
60366
|
-
|
|
60367
|
-
|
|
60368
|
-
|
|
60369
|
-
|
|
60370
|
-
] }) });
|
|
60388
|
+
file2
|
|
60389
|
+
);
|
|
60390
|
+
})
|
|
60391
|
+
] }),
|
|
60392
|
+
totalMatches > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-t px-3 py-1.5 text-xs text-muted-foreground", children: [
|
|
60393
|
+
totalMatches,
|
|
60394
|
+
" result",
|
|
60395
|
+
totalMatches !== 1 ? "s" : "",
|
|
60396
|
+
" in ",
|
|
60397
|
+
grouped.length,
|
|
60398
|
+
" file",
|
|
60399
|
+
grouped.length !== 1 ? "s" : ""
|
|
60400
|
+
] })
|
|
60401
|
+
] })
|
|
60402
|
+
]
|
|
60403
|
+
}
|
|
60404
|
+
) });
|
|
60371
60405
|
}
|
|
60372
60406
|
const STORAGE_KEY = "band-recent-workspaces";
|
|
60373
60407
|
const MAX_ENTRIES = 50;
|
|
@@ -60413,10 +60447,11 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60413
60447
|
const entries2 = [];
|
|
60414
60448
|
for (const project of projects) {
|
|
60415
60449
|
for (const worktree of project.worktrees) {
|
|
60416
|
-
const workspaceId = toWorkspaceId(project.name, worktree.
|
|
60450
|
+
const workspaceId = toWorkspaceId(project.name, worktree.name);
|
|
60417
60451
|
entries2.push({
|
|
60418
60452
|
workspaceId,
|
|
60419
60453
|
projectName: project.name,
|
|
60454
|
+
name: worktree.name,
|
|
60420
60455
|
branch: worktree.branch,
|
|
60421
60456
|
agent: statuses.get(workspaceId)?.agent
|
|
60422
60457
|
});
|
|
@@ -60454,7 +60489,8 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60454
60489
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60455
60490
|
DialogContent,
|
|
60456
60491
|
{
|
|
60457
|
-
|
|
60492
|
+
variant: "bottom-sheet",
|
|
60493
|
+
className: "overflow-hidden border-0 bg-popover p-0 shadow-2xl lg:max-w-[520px] lg:border-0",
|
|
60458
60494
|
overlayClassName: "backdrop-blur-sm",
|
|
60459
60495
|
showCloseButton: false,
|
|
60460
60496
|
"data-testid": "workspace-picker",
|
|
@@ -60476,7 +60512,7 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60476
60512
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60477
60513
|
CommandItem,
|
|
60478
60514
|
{
|
|
60479
|
-
value: `${entry.projectName} ${entry.branch}`,
|
|
60515
|
+
value: `${entry.projectName} ${entry.name} ${entry.branch}`,
|
|
60480
60516
|
onSelect: () => handleSelect(entry.workspaceId),
|
|
60481
60517
|
"data-testid": `workspace-picker__item--${entry.workspaceId}`,
|
|
60482
60518
|
className: "group touch-manipulation [@media(pointer:coarse)]:min-h-11 [@media(pointer:coarse)]:gap-3",
|
|
@@ -60485,7 +60521,7 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60485
60521
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-sm font-medium", children: [
|
|
60486
60522
|
entry.projectName,
|
|
60487
60523
|
"/",
|
|
60488
|
-
entry.
|
|
60524
|
+
entry.name
|
|
60489
60525
|
] }),
|
|
60490
60526
|
pinnedNow && /* @__PURE__ */ jsxRuntimeExports.jsx(Pin, { className: "size-3 -rotate-45 text-muted-foreground shrink-0" }),
|
|
60491
60527
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
|
|
@@ -60502,7 +60538,7 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60502
60538
|
onClick: (e3) => {
|
|
60503
60539
|
e3.preventDefault();
|
|
60504
60540
|
e3.stopPropagation();
|
|
60505
|
-
togglePinned(entry.projectName, entry.
|
|
60541
|
+
togglePinned(entry.projectName, entry.name, pinnedNow);
|
|
60506
60542
|
},
|
|
60507
60543
|
children: pinnedNow ? /* @__PURE__ */ jsxRuntimeExports.jsx(PinOff, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Pin, { className: "size-3.5" })
|
|
60508
60544
|
}
|
|
@@ -67006,11 +67042,11 @@ class WebDashboardAdapter {
|
|
|
67006
67042
|
async createWorkspace(project, branch, base2, prompt) {
|
|
67007
67043
|
await this.trpc.workspaces.create.mutate({ project, branch, base: base2, prompt });
|
|
67008
67044
|
}
|
|
67009
|
-
async removeWorkspace(project,
|
|
67010
|
-
await this.trpc.workspaces.remove.mutate({ project,
|
|
67045
|
+
async removeWorkspace(project, name2) {
|
|
67046
|
+
await this.trpc.workspaces.remove.mutate({ project, name: name2 });
|
|
67011
67047
|
}
|
|
67012
|
-
async setWorkspacePinned(project,
|
|
67013
|
-
await this.trpc.workspaces.setPinned.mutate({ project,
|
|
67048
|
+
async setWorkspacePinned(project, name2, pinned) {
|
|
67049
|
+
await this.trpc.workspaces.setPinned.mutate({ project, name: name2, pinned });
|
|
67014
67050
|
}
|
|
67015
67051
|
async clearNeedsAttention(workspaceId) {
|
|
67016
67052
|
await this.trpc.statuses.clearNeedsAttention.mutate({ workspaceId });
|
|
@@ -67018,11 +67054,11 @@ class WebDashboardAdapter {
|
|
|
67018
67054
|
async runScript(path2, scriptType) {
|
|
67019
67055
|
await this.trpc.workspaces.runScript.mutate({ path: path2, scriptType });
|
|
67020
67056
|
}
|
|
67021
|
-
async gitPull(project,
|
|
67022
|
-
await this.trpc.workspaces.gitPull.mutate({ project,
|
|
67057
|
+
async gitPull(project, name2) {
|
|
67058
|
+
await this.trpc.workspaces.gitPull.mutate({ project, name: name2 });
|
|
67023
67059
|
}
|
|
67024
|
-
async gitPush(project,
|
|
67025
|
-
await this.trpc.workspaces.gitPush.mutate({ project,
|
|
67060
|
+
async gitPush(project, name2) {
|
|
67061
|
+
await this.trpc.workspaces.gitPush.mutate({ project, name: name2 });
|
|
67026
67062
|
}
|
|
67027
67063
|
async getSettings() {
|
|
67028
67064
|
return await this.trpc.settings.get.query();
|
|
@@ -109252,7 +109288,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
|
|
|
109252
109288
|
var et$1 = ({ className: e3, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f$5("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e3), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
|
|
109253
109289
|
var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
|
|
109254
109290
|
var ot$1 = ({ language: e3 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e3, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e3 }) });
|
|
109255
|
-
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
109291
|
+
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-DSf8s2aV.js").then((e3) => ({ default: e3.HighlightedCodeBlockBody }))), rt = ({ code: e3, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
|
|
109256
109292
|
let i2 = reactExports.useMemo(() => e3.replace(cn, ""), [e3]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
109257
109293
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
109258
109294
|
return jsxRuntimeExports.jsx(Se$1.Provider, { value: { code: e3 }, children: jsxRuntimeExports.jsxs(et$1, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot$1, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe$1, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
|
|
@@ -109574,7 +109610,7 @@ var Dt = ({ children: e3, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
109574
109610
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f$5("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e3 != null ? e3 : jsxRuntimeExports.jsx(Z$2, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
109575
109611
|
};
|
|
109576
109612
|
var Vt = ({ children: e3, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f$5("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e3 }) })] });
|
|
109577
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
109613
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DGEHf_at.js").then((e3) => ({ default: e3.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
109578
109614
|
function ke$1(e3, t2) {
|
|
109579
109615
|
if (!(e3 != null && e3.position || t2 != null && t2.position)) return true;
|
|
109580
109616
|
if (!(e3 != null && e3.position && (t2 != null && t2.position))) return false;
|
|
@@ -161745,12 +161781,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
161745
161781
|
registerLayoutLoaders([
|
|
161746
161782
|
{
|
|
161747
161783
|
name: "dagre",
|
|
161748
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
161784
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CCIdAwdB.js"), "loader")
|
|
161749
161785
|
},
|
|
161750
161786
|
...[
|
|
161751
161787
|
{
|
|
161752
161788
|
name: "cose-bilkent",
|
|
161753
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
161789
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-D5-w_t4l.js"), "loader")
|
|
161754
161790
|
}
|
|
161755
161791
|
]
|
|
161756
161792
|
]);
|
|
@@ -162189,7 +162225,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
162189
162225
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
162190
162226
|
}, "detector");
|
|
162191
162227
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
162192
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
162228
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-CBv74bWb.js");
|
|
162193
162229
|
return { id, diagram: diagram2 };
|
|
162194
162230
|
}, "loader");
|
|
162195
162231
|
var plugin = {
|
|
@@ -162206,7 +162242,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162206
162242
|
return /^\s*graph/.test(txt);
|
|
162207
162243
|
}, "detector");
|
|
162208
162244
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
162209
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162245
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-Cs7hS9X4.js");
|
|
162210
162246
|
return { id: id2, diagram: diagram2 };
|
|
162211
162247
|
}, "loader");
|
|
162212
162248
|
var plugin2 = {
|
|
@@ -162229,7 +162265,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162229
162265
|
return /^\s*flowchart/.test(txt);
|
|
162230
162266
|
}, "detector");
|
|
162231
162267
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
162232
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162268
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-Cs7hS9X4.js");
|
|
162233
162269
|
return { id: id3, diagram: diagram2 };
|
|
162234
162270
|
}, "loader");
|
|
162235
162271
|
var plugin3 = {
|
|
@@ -162243,7 +162279,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
162243
162279
|
return /^\s*erDiagram/.test(txt);
|
|
162244
162280
|
}, "detector");
|
|
162245
162281
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
162246
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
162282
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DYHtO3j9.js");
|
|
162247
162283
|
return { id: id4, diagram: diagram2 };
|
|
162248
162284
|
}, "loader");
|
|
162249
162285
|
var plugin4 = {
|
|
@@ -162257,7 +162293,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
162257
162293
|
return /^\s*gitGraph/.test(txt);
|
|
162258
162294
|
}, "detector");
|
|
162259
162295
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
162260
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
162296
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-CZHNGOm0.js");
|
|
162261
162297
|
return { id: id5, diagram: diagram2 };
|
|
162262
162298
|
}, "loader");
|
|
162263
162299
|
var plugin5 = {
|
|
@@ -162271,7 +162307,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
162271
162307
|
return /^\s*gantt/.test(txt);
|
|
162272
162308
|
}, "detector");
|
|
162273
162309
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
162274
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
162310
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-BhLp8xvm.js");
|
|
162275
162311
|
return { id: id6, diagram: diagram2 };
|
|
162276
162312
|
}, "loader");
|
|
162277
162313
|
var plugin6 = {
|
|
@@ -162285,7 +162321,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
162285
162321
|
return /^\s*info/.test(txt);
|
|
162286
162322
|
}, "detector");
|
|
162287
162323
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
162288
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
162324
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-D40Crb-p.js");
|
|
162289
162325
|
return { id: id7, diagram: diagram2 };
|
|
162290
162326
|
}, "loader");
|
|
162291
162327
|
var info = {
|
|
@@ -162298,7 +162334,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
162298
162334
|
return /^\s*pie/.test(txt);
|
|
162299
162335
|
}, "detector");
|
|
162300
162336
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
162301
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
162337
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-EgffZsud.js");
|
|
162302
162338
|
return { id: id8, diagram: diagram2 };
|
|
162303
162339
|
}, "loader");
|
|
162304
162340
|
var pie = {
|
|
@@ -162311,7 +162347,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
162311
162347
|
return /^\s*quadrantChart/.test(txt);
|
|
162312
162348
|
}, "detector");
|
|
162313
162349
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
162314
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
162350
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-n2oJWllV.js");
|
|
162315
162351
|
return { id: id9, diagram: diagram2 };
|
|
162316
162352
|
}, "loader");
|
|
162317
162353
|
var plugin7 = {
|
|
@@ -162325,7 +162361,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
162325
162361
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
162326
162362
|
}, "detector");
|
|
162327
162363
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
162328
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
162364
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-aNxYxejD.js");
|
|
162329
162365
|
return { id: id10, diagram: diagram2 };
|
|
162330
162366
|
}, "loader");
|
|
162331
162367
|
var plugin8 = {
|
|
@@ -162339,7 +162375,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
162339
162375
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
162340
162376
|
}, "detector");
|
|
162341
162377
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
162342
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
162378
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-CzCXruFj.js");
|
|
162343
162379
|
return { id: id11, diagram: diagram2 };
|
|
162344
162380
|
}, "loader");
|
|
162345
162381
|
var plugin9 = {
|
|
@@ -162353,7 +162389,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
162353
162389
|
return /^\s*sequenceDiagram/.test(txt);
|
|
162354
162390
|
}, "detector");
|
|
162355
162391
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
162356
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
162392
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-BfX0R0LP.js");
|
|
162357
162393
|
return { id: id12, diagram: diagram2 };
|
|
162358
162394
|
}, "loader");
|
|
162359
162395
|
var plugin10 = {
|
|
@@ -162370,7 +162406,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162370
162406
|
return /^\s*classDiagram/.test(txt);
|
|
162371
162407
|
}, "detector");
|
|
162372
162408
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
162373
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
162409
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-qbF8ds74.js");
|
|
162374
162410
|
return { id: id13, diagram: diagram2 };
|
|
162375
162411
|
}, "loader");
|
|
162376
162412
|
var plugin11 = {
|
|
@@ -162387,7 +162423,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162387
162423
|
return /^\s*classDiagram-v2/.test(txt);
|
|
162388
162424
|
}, "detector");
|
|
162389
162425
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
162390
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
162426
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-qbF8ds74.js");
|
|
162391
162427
|
return { id: id14, diagram: diagram2 };
|
|
162392
162428
|
}, "loader");
|
|
162393
162429
|
var plugin12 = {
|
|
@@ -162404,7 +162440,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162404
162440
|
return /^\s*stateDiagram/.test(txt);
|
|
162405
162441
|
}, "detector");
|
|
162406
162442
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
162407
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
162443
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-QowlLVwh.js");
|
|
162408
162444
|
return { id: id15, diagram: diagram2 };
|
|
162409
162445
|
}, "loader");
|
|
162410
162446
|
var plugin13 = {
|
|
@@ -162424,7 +162460,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162424
162460
|
return false;
|
|
162425
162461
|
}, "detector");
|
|
162426
162462
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
162427
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
162463
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-DVHzQlOF.js");
|
|
162428
162464
|
return { id: id16, diagram: diagram2 };
|
|
162429
162465
|
}, "loader");
|
|
162430
162466
|
var plugin14 = {
|
|
@@ -162438,7 +162474,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
162438
162474
|
return /^\s*journey/.test(txt);
|
|
162439
162475
|
}, "detector");
|
|
162440
162476
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
162441
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
162477
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-dtlVBwV2.js");
|
|
162442
162478
|
return { id: id17, diagram: diagram2 };
|
|
162443
162479
|
}, "loader");
|
|
162444
162480
|
var plugin15 = {
|
|
@@ -162505,7 +162541,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
162505
162541
|
return false;
|
|
162506
162542
|
}, "detector");
|
|
162507
162543
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
162508
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162544
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-Cs7hS9X4.js");
|
|
162509
162545
|
return { id: id18, diagram: diagram2 };
|
|
162510
162546
|
}, "loader");
|
|
162511
162547
|
var plugin16 = {
|
|
@@ -162519,7 +162555,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
162519
162555
|
return /^\s*timeline/.test(txt);
|
|
162520
162556
|
}, "detector");
|
|
162521
162557
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
162522
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-
|
|
162558
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-DUoaC7rz.js");
|
|
162523
162559
|
return { id: id19, diagram: diagram2 };
|
|
162524
162560
|
}, "loader");
|
|
162525
162561
|
var plugin17 = {
|
|
@@ -162533,7 +162569,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
162533
162569
|
return /^\s*mindmap/.test(txt);
|
|
162534
162570
|
}, "detector");
|
|
162535
162571
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
162536
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
162572
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-DYfEp2uH.js");
|
|
162537
162573
|
return { id: id20, diagram: diagram2 };
|
|
162538
162574
|
}, "loader");
|
|
162539
162575
|
var plugin18 = {
|
|
@@ -162547,7 +162583,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
162547
162583
|
return /^\s*kanban/.test(txt);
|
|
162548
162584
|
}, "detector");
|
|
162549
162585
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
162550
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
162586
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-72vgA7Jl.js");
|
|
162551
162587
|
return { id: id21, diagram: diagram2 };
|
|
162552
162588
|
}, "loader");
|
|
162553
162589
|
var plugin19 = {
|
|
@@ -162561,7 +162597,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
162561
162597
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
162562
162598
|
}, "detector");
|
|
162563
162599
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
162564
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
162600
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-C0GqwqSS.js");
|
|
162565
162601
|
return { id: id22, diagram: diagram2 };
|
|
162566
162602
|
}, "loader");
|
|
162567
162603
|
var plugin20 = {
|
|
@@ -162575,7 +162611,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
162575
162611
|
return /^\s*packet(-beta)?/.test(txt);
|
|
162576
162612
|
}, "detector");
|
|
162577
162613
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
162578
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
162614
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-XGIpbjo1.js");
|
|
162579
162615
|
return { id: id23, diagram: diagram2 };
|
|
162580
162616
|
}, "loader");
|
|
162581
162617
|
var packet = {
|
|
@@ -162588,7 +162624,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
162588
162624
|
return /^\s*radar-beta/.test(txt);
|
|
162589
162625
|
}, "detector");
|
|
162590
162626
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
162591
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
162627
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-B07zrGgY.js");
|
|
162592
162628
|
return { id: id24, diagram: diagram2 };
|
|
162593
162629
|
}, "loader");
|
|
162594
162630
|
var radar = {
|
|
@@ -162601,7 +162637,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
162601
162637
|
return /^\s*block(-beta)?/.test(txt);
|
|
162602
162638
|
}, "detector");
|
|
162603
162639
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
162604
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
162640
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-CRv2pc0L.js");
|
|
162605
162641
|
return { id: id25, diagram: diagram2 };
|
|
162606
162642
|
}, "loader");
|
|
162607
162643
|
var plugin21 = {
|
|
@@ -162615,7 +162651,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
162615
162651
|
return /^\s*architecture/.test(txt);
|
|
162616
162652
|
}, "detector");
|
|
162617
162653
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
162618
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-
|
|
162654
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-DVUpIskI.js");
|
|
162619
162655
|
return { id: id26, diagram: diagram2 };
|
|
162620
162656
|
}, "loader");
|
|
162621
162657
|
var architecture = {
|
|
@@ -162629,7 +162665,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
162629
162665
|
return /^\s*treemap/.test(txt);
|
|
162630
162666
|
}, "detector");
|
|
162631
162667
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
162632
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
162668
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-CWGITxy9.js");
|
|
162633
162669
|
return { id: id27, diagram: diagram2 };
|
|
162634
162670
|
}, "loader");
|
|
162635
162671
|
var treemap = {
|
|
@@ -178037,7 +178073,7 @@ function MultiWorkspacePanelHost({ emptyState, children: children2 }) {
|
|
|
178037
178073
|
const validIds = /* @__PURE__ */ new Set();
|
|
178038
178074
|
for (const project of projects) {
|
|
178039
178075
|
for (const worktree of project.worktrees) {
|
|
178040
|
-
validIds.add(toWorkspaceId(project.name, worktree.
|
|
178076
|
+
validIds.add(toWorkspaceId(project.name, worktree.name));
|
|
178041
178077
|
}
|
|
178042
178078
|
}
|
|
178043
178079
|
setCache((prev2) => {
|
|
@@ -199345,6 +199381,11 @@ function ResourcesPage() {
|
|
|
199345
199381
|
queryKey: ["resources", "server"],
|
|
199346
199382
|
queryFn: () => trpc.services.resourcesServer.query()
|
|
199347
199383
|
});
|
|
199384
|
+
const appMetricsQuery = useQuery({
|
|
199385
|
+
queryKey: ["resources", "app-metrics"],
|
|
199386
|
+
queryFn: () => invoke("get_app_metrics"),
|
|
199387
|
+
enabled: isDesktop
|
|
199388
|
+
});
|
|
199348
199389
|
const projectsQuery = useQuery({
|
|
199349
199390
|
queryKey: ["resources", "projects"],
|
|
199350
199391
|
queryFn: () => trpc.services.resourcesProjects.query(),
|
|
@@ -199408,43 +199449,55 @@ function ResourcesPage() {
|
|
|
199408
199449
|
return next2;
|
|
199409
199450
|
});
|
|
199410
199451
|
};
|
|
199411
|
-
const sortedProjects =
|
|
199412
|
-
|
|
199413
|
-
|
|
199414
|
-
|
|
199415
|
-
|
|
199416
|
-
|
|
199417
|
-
|
|
199418
|
-
|
|
199419
|
-
|
|
199452
|
+
const sortedProjects = reactExports.useMemo(
|
|
199453
|
+
() => [...projects].sort((a2, b2) => {
|
|
199454
|
+
const sa = sizes.get(a2.project);
|
|
199455
|
+
const sb = sizes.get(b2.project);
|
|
199456
|
+
if (sa && sb) return sb.sizeBytes - sa.sizeBytes;
|
|
199457
|
+
if (sa && !sb) return -1;
|
|
199458
|
+
if (!sa && sb) return 1;
|
|
199459
|
+
return 0;
|
|
199460
|
+
}),
|
|
199461
|
+
[projects, sizes]
|
|
199462
|
+
);
|
|
199463
|
+
const knownTotalBytes = reactExports.useMemo(
|
|
199464
|
+
() => Array.from(sizes.values()).reduce((sum, s2) => sum + s2.sizeBytes, 0),
|
|
199465
|
+
[sizes]
|
|
199466
|
+
);
|
|
199467
|
+
const totalWorktreeCount = reactExports.useMemo(
|
|
199468
|
+
() => projects.reduce((sum, p2) => sum + p2.worktrees.length, 0),
|
|
199469
|
+
[projects]
|
|
199470
|
+
);
|
|
199420
199471
|
const allLoaded = sizes.size === projects.length;
|
|
199421
|
-
|
|
199422
|
-
|
|
199423
|
-
|
|
199424
|
-
|
|
199425
|
-
|
|
199426
|
-
|
|
199427
|
-
|
|
199428
|
-
|
|
199429
|
-
|
|
199430
|
-
|
|
199431
|
-
|
|
199432
|
-
|
|
199433
|
-
|
|
199434
|
-
|
|
199435
|
-
|
|
199436
|
-
|
|
199437
|
-
|
|
199438
|
-
|
|
199439
|
-
|
|
199440
|
-
|
|
199441
|
-
|
|
199442
|
-
|
|
199443
|
-
|
|
199444
|
-
|
|
199445
|
-
|
|
199446
|
-
|
|
199447
|
-
|
|
199472
|
+
const [serverOpen, setServerOpen] = reactExports.useState(false);
|
|
199473
|
+
const [worktreesOpen, setWorktreesOpen] = reactExports.useState(false);
|
|
199474
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "h-full w-full", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-auto max-w-5xl px-6 py-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "overflow-hidden rounded-xl border border-border [&>*+*]:border-t [&>*+*]:border-border", children: [
|
|
199475
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Collapsible, { open: serverOpen, onOpenChange: setServerOpen, asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { "data-testid": "resources-server-card", children: [
|
|
199476
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199477
|
+
PanelHeader,
|
|
199478
|
+
{
|
|
199479
|
+
title: "Server",
|
|
199480
|
+
toggleTestId: "resources-server-toggle",
|
|
199481
|
+
open: serverOpen,
|
|
199482
|
+
totalTestId: "resources-server-total",
|
|
199483
|
+
total: server ? formatMB(server.memory.rssBytes) : "…",
|
|
199484
|
+
description: `The Node process serving the Band dashboard (${server ? `pid ${server.pid}` : "…"}).`,
|
|
199485
|
+
refresh: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199486
|
+
Button,
|
|
199487
|
+
{
|
|
199488
|
+
variant: "outline",
|
|
199489
|
+
size: "icon-sm",
|
|
199490
|
+
"aria-label": "Refresh",
|
|
199491
|
+
title: "Refresh",
|
|
199492
|
+
"data-testid": "resources-refresh-server",
|
|
199493
|
+
onClick: () => serverQuery.refetch(),
|
|
199494
|
+
disabled: serverQuery.isFetching,
|
|
199495
|
+
children: serverQuery.isFetching ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" })
|
|
199496
|
+
}
|
|
199497
|
+
)
|
|
199498
|
+
}
|
|
199499
|
+
),
|
|
199500
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border p-4", children: serverQuery.isError ? /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-destructive", children: [
|
|
199448
199501
|
"Failed to load server snapshot: ",
|
|
199449
199502
|
String(serverQuery.error)
|
|
199450
199503
|
] }) : !server ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
@@ -199467,37 +199520,42 @@ function ResourcesPage() {
|
|
|
199467
199520
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ServerField, { label: "Array buffers", children: formatMB(server.memory.arrayBuffersBytes) }),
|
|
199468
199521
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ServerField, { label: "Total CPU time (user)", children: formatCpuMs(server.cpu.userMicros) }),
|
|
199469
199522
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ServerField, { label: "Total CPU time (system)", children: formatCpuMs(server.cpu.systemMicros) })
|
|
199470
|
-
] })
|
|
199471
|
-
] }),
|
|
199472
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
199473
|
-
|
|
199474
|
-
|
|
199475
|
-
|
|
199476
|
-
|
|
199523
|
+
] }) }) })
|
|
199524
|
+
] }) }),
|
|
199525
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ElectronCard, { query: appMetricsQuery }),
|
|
199526
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Collapsible, { open: worktreesOpen, onOpenChange: setWorktreesOpen, asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { "data-testid": "resources-worktrees-card", children: [
|
|
199527
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199528
|
+
PanelHeader,
|
|
199529
|
+
{
|
|
199530
|
+
title: "Worktrees",
|
|
199531
|
+
toggleTestId: "resources-worktrees-toggle",
|
|
199532
|
+
open: worktreesOpen,
|
|
199533
|
+
totalTestId: "resources-worktrees-total",
|
|
199534
|
+
total: `${formatBytes(knownTotalBytes)}${allLoaded ? "" : " (partial)"}`,
|
|
199535
|
+
description: /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
199477
199536
|
"Disk usage per tracked git project (allocated blocks, as reported by",
|
|
199478
199537
|
" ",
|
|
199479
199538
|
/* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "rounded bg-muted px-1 py-0.5 text-xs", children: "du" }),
|
|
199480
199539
|
"). Sizes load per project in batches of ",
|
|
199481
199540
|
PROJECT_FETCH_CONCURRENCY,
|
|
199482
199541
|
". Click a project to see its per-worktree breakdown."
|
|
199483
|
-
] })
|
|
199484
|
-
|
|
199485
|
-
|
|
199486
|
-
|
|
199487
|
-
|
|
199488
|
-
|
|
199489
|
-
|
|
199490
|
-
|
|
199491
|
-
|
|
199492
|
-
|
|
199493
|
-
|
|
199494
|
-
projectsQuery.isFetching || !allLoaded ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" })
|
|
199495
|
-
|
|
199496
|
-
|
|
199497
|
-
|
|
199498
|
-
|
|
199499
|
-
|
|
199500
|
-
projectsQuery.isError ? /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-destructive", children: [
|
|
199542
|
+
] }),
|
|
199543
|
+
refresh: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199544
|
+
Button,
|
|
199545
|
+
{
|
|
199546
|
+
variant: "outline",
|
|
199547
|
+
size: "icon-sm",
|
|
199548
|
+
"aria-label": "Refresh",
|
|
199549
|
+
title: "Refresh",
|
|
199550
|
+
"data-testid": "resources-refresh-worktrees",
|
|
199551
|
+
onClick: handleRefreshSizes,
|
|
199552
|
+
disabled: projectsQuery.isFetching || !allLoaded,
|
|
199553
|
+
children: projectsQuery.isFetching || !allLoaded ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" })
|
|
199554
|
+
}
|
|
199555
|
+
)
|
|
199556
|
+
}
|
|
199557
|
+
),
|
|
199558
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border p-4", children: projectsQuery.isError ? /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-destructive", children: [
|
|
199501
199559
|
"Failed to load projects: ",
|
|
199502
199560
|
String(projectsQuery.error)
|
|
199503
199561
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative overflow-x-auto", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -199511,7 +199569,14 @@ function ResourcesPage() {
|
|
|
199511
199569
|
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3 text-right", children: "Worktrees" }),
|
|
199512
199570
|
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3 text-right", children: "Total size" })
|
|
199513
199571
|
] }) }),
|
|
199514
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("tbody", { children: sortedProjects.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199572
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("tbody", { children: sortedProjects.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199573
|
+
"td",
|
|
199574
|
+
{
|
|
199575
|
+
colSpan: 3,
|
|
199576
|
+
className: "py-6 text-center text-sm text-muted-foreground",
|
|
199577
|
+
children: projectsQuery.isFetching ? "Loading…" : "No git projects found"
|
|
199578
|
+
}
|
|
199579
|
+
) }) : sortedProjects.map((project) => {
|
|
199515
199580
|
const size2 = sizes.get(project.project);
|
|
199516
199581
|
const isExpanded = expandedProjects.has(project.project);
|
|
199517
199582
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(reactExports.Fragment, { children: [
|
|
@@ -199593,7 +199658,7 @@ function ResourcesPage() {
|
|
|
199593
199658
|
"Total",
|
|
199594
199659
|
allLoaded ? "" : " (partial)"
|
|
199595
199660
|
] }),
|
|
199596
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-2 pr-3 text-right tabular-nums", children:
|
|
199661
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-2 pr-3 text-right tabular-nums", children: totalWorktreeCount }),
|
|
199597
199662
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199598
199663
|
"td",
|
|
199599
199664
|
{
|
|
@@ -199605,10 +199670,144 @@ function ResourcesPage() {
|
|
|
199605
199670
|
] }) })
|
|
199606
199671
|
]
|
|
199607
199672
|
}
|
|
199608
|
-
) })
|
|
199609
|
-
] })
|
|
199673
|
+
) }) }) })
|
|
199674
|
+
] }) })
|
|
199675
|
+
] }) }) });
|
|
199676
|
+
}
|
|
199677
|
+
function ElectronCard({ query }) {
|
|
199678
|
+
const [open2, setOpen] = reactExports.useState(false);
|
|
199679
|
+
if (!isDesktop) return null;
|
|
199680
|
+
const metrics = query.data;
|
|
199681
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Collapsible, { open: open2, onOpenChange: setOpen, asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("section", { "data-testid": "resources-electron-card", children: [
|
|
199682
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199683
|
+
PanelHeader,
|
|
199684
|
+
{
|
|
199685
|
+
title: "Desktop app (Electron)",
|
|
199686
|
+
toggleTestId: "resources-electron-toggle",
|
|
199687
|
+
open: open2,
|
|
199688
|
+
totalTestId: "resources-electron-total",
|
|
199689
|
+
total: metrics ? formatBytes(metrics.totalMemoryKB * 1024) : "…",
|
|
199690
|
+
description: "Per-process CPU and memory for the Electron main process, GPU process, Chromium renderers (the dashboard and each browser tab), and utility helpers.",
|
|
199691
|
+
refresh: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199692
|
+
Button,
|
|
199693
|
+
{
|
|
199694
|
+
variant: "outline",
|
|
199695
|
+
size: "icon-sm",
|
|
199696
|
+
"aria-label": "Refresh",
|
|
199697
|
+
title: "Refresh",
|
|
199698
|
+
"data-testid": "resources-refresh-electron",
|
|
199699
|
+
onClick: () => query.refetch(),
|
|
199700
|
+
disabled: query.isFetching,
|
|
199701
|
+
children: query.isFetching ? /* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RefreshCw, { className: "size-3.5" })
|
|
199702
|
+
}
|
|
199703
|
+
)
|
|
199704
|
+
}
|
|
199705
|
+
),
|
|
199706
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border p-4", children: query.isError ? /* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-sm text-destructive", children: [
|
|
199707
|
+
"Failed to load Electron metrics: ",
|
|
199708
|
+
String(query.error)
|
|
199709
|
+
] }) : !metrics ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
199710
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Spinner, { className: "size-4" }),
|
|
199711
|
+
"Loading…"
|
|
199712
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative overflow-x-auto", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199713
|
+
"table",
|
|
199714
|
+
{
|
|
199715
|
+
"data-testid": "resources-electron-table",
|
|
199716
|
+
className: "w-full border-collapse text-sm",
|
|
199717
|
+
children: [
|
|
199718
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("thead", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", { className: "border-b border-border text-left text-xs font-medium uppercase tracking-wide text-muted-foreground", children: [
|
|
199719
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3", children: "Process" }),
|
|
199720
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3", children: "Type" }),
|
|
199721
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3 text-right", children: "PID" }),
|
|
199722
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3 text-right", children: "CPU" }),
|
|
199723
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("th", { className: "py-2 pr-3 text-right", children: "Memory" })
|
|
199724
|
+
] }) }),
|
|
199725
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("tbody", { children: metrics.processes.map((p2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199726
|
+
"tr",
|
|
199727
|
+
{
|
|
199728
|
+
"data-testid": `resources-electron-row-${p2.pid}`,
|
|
199729
|
+
className: "border-b border-border/60 last:border-0 hover:bg-muted/40",
|
|
199730
|
+
children: [
|
|
199731
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-1.5 pr-3", children: p2.label }),
|
|
199732
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-1.5 pr-3 text-muted-foreground", children: p2.type }),
|
|
199733
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-1.5 pr-3 text-right tabular-nums", children: p2.pid }),
|
|
199734
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("td", { className: "py-1.5 pr-3 text-right tabular-nums", children: [
|
|
199735
|
+
p2.cpuPercent.toFixed(1),
|
|
199736
|
+
"%"
|
|
199737
|
+
] }),
|
|
199738
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-1.5 pr-3 text-right tabular-nums", children: formatBytes(p2.memoryKB * 1024) })
|
|
199739
|
+
]
|
|
199740
|
+
},
|
|
199741
|
+
p2.pid
|
|
199742
|
+
)) }),
|
|
199743
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("tfoot", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("tr", { className: "border-t-2 border-border font-medium", children: [
|
|
199744
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("td", { className: "py-2 pr-3", "data-testid": "resources-electron-total-count", children: [
|
|
199745
|
+
"Total (",
|
|
199746
|
+
metrics.processCount,
|
|
199747
|
+
")"
|
|
199748
|
+
] }),
|
|
199749
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-2 pr-3" }),
|
|
199750
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("td", { className: "py-2 pr-3" }),
|
|
199751
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199752
|
+
"td",
|
|
199753
|
+
{
|
|
199754
|
+
className: "py-2 pr-3 text-right tabular-nums",
|
|
199755
|
+
"data-testid": "resources-electron-total-cpu",
|
|
199756
|
+
children: [
|
|
199757
|
+
metrics.totalCpuPercent.toFixed(1),
|
|
199758
|
+
"%"
|
|
199759
|
+
]
|
|
199760
|
+
}
|
|
199761
|
+
),
|
|
199762
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199763
|
+
"td",
|
|
199764
|
+
{
|
|
199765
|
+
className: "py-2 pr-3 text-right tabular-nums",
|
|
199766
|
+
"data-testid": "resources-electron-total-memory",
|
|
199767
|
+
children: formatBytes(metrics.totalMemoryKB * 1024)
|
|
199768
|
+
}
|
|
199769
|
+
)
|
|
199770
|
+
] }) })
|
|
199771
|
+
]
|
|
199772
|
+
}
|
|
199773
|
+
) }) }) })
|
|
199610
199774
|
] }) });
|
|
199611
199775
|
}
|
|
199776
|
+
function PanelHeader({
|
|
199777
|
+
title,
|
|
199778
|
+
toggleTestId,
|
|
199779
|
+
open: open2,
|
|
199780
|
+
total,
|
|
199781
|
+
totalTestId,
|
|
199782
|
+
description,
|
|
199783
|
+
refresh
|
|
199784
|
+
}) {
|
|
199785
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-row items-start justify-between gap-2 p-4", children: [
|
|
199786
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1 space-y-1", children: [
|
|
199787
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "text-base font-semibold leading-none", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199788
|
+
CollapsibleTrigger,
|
|
199789
|
+
{
|
|
199790
|
+
"data-testid": toggleTestId,
|
|
199791
|
+
className: "group flex w-full items-center gap-2 text-left",
|
|
199792
|
+
children: [
|
|
199793
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-4 shrink-0 text-muted-foreground transition-transform group-data-[state=open]:rotate-90" }),
|
|
199794
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: title }),
|
|
199795
|
+
!open2 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
199796
|
+
"span",
|
|
199797
|
+
{
|
|
199798
|
+
"data-testid": totalTestId,
|
|
199799
|
+
className: "ml-auto pl-2 font-mono text-sm font-normal text-muted-foreground",
|
|
199800
|
+
children: total
|
|
199801
|
+
}
|
|
199802
|
+
)
|
|
199803
|
+
]
|
|
199804
|
+
}
|
|
199805
|
+
) }),
|
|
199806
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "pl-6 text-sm text-muted-foreground", children: description })
|
|
199807
|
+
] }),
|
|
199808
|
+
refresh
|
|
199809
|
+
] });
|
|
199810
|
+
}
|
|
199612
199811
|
function ServerField({ label, children: children2 }) {
|
|
199613
199812
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
199614
199813
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs font-medium uppercase tracking-wide text-muted-foreground", children: label }),
|
|
@@ -199698,14 +199897,14 @@ function TasksPageContent() {
|
|
|
199698
199897
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col overflow-hidden", children: [
|
|
199699
199898
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b border-border/50 px-4 py-2", children: [
|
|
199700
199899
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: projectFilter, onValueChange: setProjectFilter, children: [
|
|
199701
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 w-40 text-xs", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "All Projects" }) }),
|
|
199900
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 w-40 text-xs", "data-testid": "tasks__project-filter", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "All Projects" }) }),
|
|
199702
199901
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
199703
199902
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: "all", children: "All Projects" }),
|
|
199704
199903
|
projectNames.map((name2) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: name2, children: name2 }, name2))
|
|
199705
199904
|
] })
|
|
199706
199905
|
] }),
|
|
199707
199906
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: statusFilter, onValueChange: (v2) => setStatusFilter(v2), children: [
|
|
199708
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 w-40 text-xs", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "All Statuses" }) }),
|
|
199907
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { className: "h-8 w-40 text-xs", "data-testid": "tasks__status-filter", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "All Statuses" }) }),
|
|
199709
199908
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: ["all", "running", "completed", "failed"].map((status) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: status, className: "capitalize", children: status === "all" ? "All Statuses" : status }, status)) })
|
|
199710
199909
|
] }),
|
|
199711
199910
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "ml-auto flex items-center gap-1", children: [
|
|
@@ -199724,6 +199923,7 @@ function TasksPageContent() {
|
|
|
199724
199923
|
variant: "outline",
|
|
199725
199924
|
size: "xs",
|
|
199726
199925
|
className: "hidden sm:inline-flex",
|
|
199926
|
+
"data-testid": "tasks__new-task-button",
|
|
199727
199927
|
onClick: () => setShowNewTask(true),
|
|
199728
199928
|
children: [
|
|
199729
199929
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "size-3" }),
|
|
@@ -199752,13 +199952,20 @@ function TasksPageContent() {
|
|
|
199752
199952
|
"Retry"
|
|
199753
199953
|
] })
|
|
199754
199954
|
] }),
|
|
199755
|
-
!loading && !error && filteredTasks.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199756
|
-
|
|
199757
|
-
|
|
199758
|
-
|
|
199759
|
-
|
|
199760
|
-
|
|
199761
|
-
|
|
199955
|
+
!loading && !error && filteredTasks.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199956
|
+
"div",
|
|
199957
|
+
{
|
|
199958
|
+
className: "flex flex-col items-center justify-center gap-3 py-16 text-center",
|
|
199959
|
+
"data-testid": "tasks__empty-state",
|
|
199960
|
+
children: [
|
|
199961
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ListTodo, { className: "size-10 text-muted-foreground" }),
|
|
199962
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
199963
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "font-medium", children: "No tasks found" }),
|
|
199964
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: tasks.length > 0 ? "Try adjusting your filters" : "Dispatch a new task to get started" })
|
|
199965
|
+
] })
|
|
199966
|
+
]
|
|
199967
|
+
}
|
|
199968
|
+
),
|
|
199762
199969
|
filteredTasks.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-2 p-4", children: filteredTasks.map((task2) => /* @__PURE__ */ jsxRuntimeExports.jsx(TaskCard, { task: task2, onAction: fetchData, agentMap }, task2.id)) })
|
|
199763
199970
|
] }),
|
|
199764
199971
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -199774,17 +199981,25 @@ function TasksPageContent() {
|
|
|
199774
199981
|
function StatusBadge({ status }) {
|
|
199775
199982
|
switch (status) {
|
|
199776
199983
|
case "running":
|
|
199777
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "secondary", className: "gap-1.5", children: [
|
|
199984
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "secondary", className: "gap-1.5", "data-testid": "tasks__status-badge--running", children: [
|
|
199778
199985
|
/* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3 animate-spin" }),
|
|
199779
199986
|
"Running"
|
|
199780
199987
|
] });
|
|
199781
199988
|
case "completed":
|
|
199782
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199783
|
-
|
|
199784
|
-
|
|
199785
|
-
|
|
199989
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199990
|
+
Badge,
|
|
199991
|
+
{
|
|
199992
|
+
variant: "secondary",
|
|
199993
|
+
className: "gap-1.5 text-green-600 dark:text-green-400",
|
|
199994
|
+
"data-testid": "tasks__status-badge--completed",
|
|
199995
|
+
children: [
|
|
199996
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CircleCheck, { className: "size-3" }),
|
|
199997
|
+
"Completed"
|
|
199998
|
+
]
|
|
199999
|
+
}
|
|
200000
|
+
);
|
|
199786
200001
|
case "failed":
|
|
199787
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "destructive", className: "gap-1.5", children: [
|
|
200002
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Badge, { variant: "destructive", className: "gap-1.5", "data-testid": "tasks__status-badge--failed", children: [
|
|
199788
200003
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CircleAlert, { className: "size-3" }),
|
|
199789
200004
|
"Failed"
|
|
199790
200005
|
] });
|
|
@@ -199819,78 +200034,86 @@ function TaskCard({
|
|
|
199819
200034
|
setActing(false);
|
|
199820
200035
|
}
|
|
199821
200036
|
}, [task2.id, onAction]);
|
|
199822
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
199823
|
-
|
|
199824
|
-
|
|
199825
|
-
|
|
199826
|
-
|
|
199827
|
-
|
|
199828
|
-
|
|
199829
|
-
|
|
199830
|
-
|
|
199831
|
-
|
|
199832
|
-
|
|
199833
|
-
|
|
199834
|
-
|
|
199835
|
-
|
|
199836
|
-
|
|
199837
|
-
|
|
199838
|
-
|
|
199839
|
-
|
|
199840
|
-
|
|
199841
|
-
|
|
199842
|
-
|
|
199843
|
-
|
|
199844
|
-
|
|
199845
|
-
|
|
199846
|
-
|
|
199847
|
-
|
|
199848
|
-
|
|
199849
|
-
|
|
199850
|
-
|
|
199851
|
-
|
|
199852
|
-
|
|
199853
|
-
|
|
199854
|
-
|
|
199855
|
-
|
|
199856
|
-
|
|
199857
|
-
|
|
199858
|
-
|
|
199859
|
-
|
|
199860
|
-
|
|
199861
|
-
|
|
199862
|
-
|
|
199863
|
-
|
|
199864
|
-
|
|
199865
|
-
|
|
199866
|
-
|
|
199867
|
-
|
|
199868
|
-
|
|
199869
|
-
|
|
199870
|
-
|
|
199871
|
-
|
|
199872
|
-
|
|
199873
|
-
|
|
199874
|
-
|
|
199875
|
-
|
|
199876
|
-
|
|
199877
|
-
|
|
199878
|
-
|
|
199879
|
-
|
|
199880
|
-
|
|
199881
|
-
|
|
199882
|
-
|
|
199883
|
-
|
|
199884
|
-
|
|
199885
|
-
|
|
199886
|
-
|
|
199887
|
-
|
|
199888
|
-
|
|
199889
|
-
|
|
199890
|
-
|
|
199891
|
-
|
|
199892
|
-
|
|
199893
|
-
|
|
200037
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
200038
|
+
"div",
|
|
200039
|
+
{
|
|
200040
|
+
className: "flex flex-col gap-2 rounded-lg border-2 border-border/50 p-4 transition-colors hover:border-border",
|
|
200041
|
+
"data-testid": `tasks__card--${task2.id}`,
|
|
200042
|
+
children: [
|
|
200043
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-start justify-between gap-3", children: [
|
|
200044
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "line-clamp-2 min-w-0 flex-1 text-sm font-medium text-foreground", children: task2.prompt }),
|
|
200045
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
200046
|
+
task2.status === "running" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
200047
|
+
Button,
|
|
200048
|
+
{
|
|
200049
|
+
variant: "ghost",
|
|
200050
|
+
size: "icon",
|
|
200051
|
+
className: "size-7",
|
|
200052
|
+
onClick: handleCancel,
|
|
200053
|
+
disabled: acting,
|
|
200054
|
+
title: "Cancel task",
|
|
200055
|
+
children: acting ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(CircleX, { className: "size-3.5" })
|
|
200056
|
+
}
|
|
200057
|
+
),
|
|
200058
|
+
(task2.status === "completed" || task2.status === "failed") && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
200059
|
+
Button,
|
|
200060
|
+
{
|
|
200061
|
+
variant: "ghost",
|
|
200062
|
+
size: "icon",
|
|
200063
|
+
className: "size-7",
|
|
200064
|
+
onClick: handleRerun,
|
|
200065
|
+
disabled: acting,
|
|
200066
|
+
title: "Re-run task",
|
|
200067
|
+
children: acting ? /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 animate-spin" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(RotateCcw, { className: "size-3.5" })
|
|
200068
|
+
}
|
|
200069
|
+
),
|
|
200070
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(StatusBadge, { status: task2.status })
|
|
200071
|
+
] })
|
|
200072
|
+
] }),
|
|
200073
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground", children: [
|
|
200074
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-medium text-foreground/70", children: [
|
|
200075
|
+
task2.project,
|
|
200076
|
+
"/",
|
|
200077
|
+
task2.branch
|
|
200078
|
+
] }),
|
|
200079
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200080
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "inline-flex items-center gap-1", children: [
|
|
200081
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Clock, { className: "size-3" }),
|
|
200082
|
+
relativeTime(task2.startedAt)
|
|
200083
|
+
] }),
|
|
200084
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200085
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: formatDuration(task2.startedAt, task2.completedAt) }),
|
|
200086
|
+
task2.codingAgentId && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
200087
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200088
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: agentMap.get(task2.codingAgentId)?.label ?? task2.codingAgentId })
|
|
200089
|
+
] }),
|
|
200090
|
+
task2.model && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
200091
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200092
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: task2.model })
|
|
200093
|
+
] }),
|
|
200094
|
+
task2.mode && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
200095
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200096
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "capitalize", children: task2.mode })
|
|
200097
|
+
] }),
|
|
200098
|
+
sessionHref && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
200099
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-border", children: "·" }),
|
|
200100
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
200101
|
+
Link,
|
|
200102
|
+
{
|
|
200103
|
+
to: sessionHref,
|
|
200104
|
+
className: "inline-flex items-center gap-1 text-primary hover:underline",
|
|
200105
|
+
"data-testid": "tasks__session-link",
|
|
200106
|
+
children: [
|
|
200107
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ExternalLink$1, { className: "size-3" }),
|
|
200108
|
+
"Session"
|
|
200109
|
+
]
|
|
200110
|
+
}
|
|
200111
|
+
)
|
|
200112
|
+
] })
|
|
200113
|
+
] })
|
|
200114
|
+
]
|
|
200115
|
+
}
|
|
200116
|
+
);
|
|
199894
200117
|
}
|
|
199895
200118
|
function NewTaskDialog({
|
|
199896
200119
|
open: open2,
|
|
@@ -199988,7 +200211,7 @@ function NewTaskDialog({
|
|
|
199988
200211
|
setSubmitting(false);
|
|
199989
200212
|
}
|
|
199990
200213
|
}, [workspaceId, prompt, selectedMode, selectedModel, selectedAgent, onSubmit]);
|
|
199991
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { children: [
|
|
200214
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { "data-testid": "tasks__new-task-dialog", children: [
|
|
199992
200215
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
|
|
199993
200216
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "New Task" }),
|
|
199994
200217
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Dispatch a new task to a coding agent" })
|
|
@@ -199997,7 +200220,7 @@ function NewTaskDialog({
|
|
|
199997
200220
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-2", children: [
|
|
199998
200221
|
/* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium", htmlFor: "project-select", children: "Project" }),
|
|
199999
200222
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: selectedProject, onValueChange: handleProjectChange, children: [
|
|
200000
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { id: "project-select", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Select a project" }) }),
|
|
200223
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { id: "project-select", "data-testid": "tasks__new-task-project", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Select a project" }) }),
|
|
200001
200224
|
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: projects.map((p2) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: p2.name, children: p2.name }, p2.name)) })
|
|
200002
200225
|
] })
|
|
200003
200226
|
] }),
|
|
@@ -200010,7 +200233,7 @@ function NewTaskDialog({
|
|
|
200010
200233
|
onValueChange: setSelectedBranch,
|
|
200011
200234
|
disabled: !selectedProject,
|
|
200012
200235
|
children: [
|
|
200013
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { id: "branch-select", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
200236
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { id: "branch-select", "data-testid": "tasks__new-task-workspace", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
200014
200237
|
SelectValue,
|
|
200015
200238
|
{
|
|
200016
200239
|
placeholder: selectedProject ? "Select a workspace" : "Select a project first"
|
|
@@ -200027,6 +200250,7 @@ function NewTaskDialog({
|
|
|
200027
200250
|
Textarea,
|
|
200028
200251
|
{
|
|
200029
200252
|
id: "task-prompt",
|
|
200253
|
+
"data-testid": "tasks__new-task-prompt",
|
|
200030
200254
|
placeholder: "Describe what the agent should do...",
|
|
200031
200255
|
value: prompt,
|
|
200032
200256
|
onChange: (e3) => setPrompt(e3.target.value),
|
|
@@ -201402,6 +201626,79 @@ function ToolbarOverflowMenuItems() {
|
|
|
201402
201626
|
] })
|
|
201403
201627
|
] });
|
|
201404
201628
|
}
|
|
201629
|
+
function ToolbarActionBar() {
|
|
201630
|
+
const ctx = reactExports.useContext(ToolbarOverflowContext);
|
|
201631
|
+
if (!ctx) {
|
|
201632
|
+
throw new Error("ToolbarActionBar must be used inside ToolbarOverflowProvider");
|
|
201633
|
+
}
|
|
201634
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
201635
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
201636
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
201637
|
+
Button,
|
|
201638
|
+
{
|
|
201639
|
+
size: "icon-sm",
|
|
201640
|
+
variant: "ghost",
|
|
201641
|
+
className: "text-muted-foreground",
|
|
201642
|
+
"aria-label": "Resources",
|
|
201643
|
+
"data-testid": "project-list__resources-button",
|
|
201644
|
+
onClick: ctx.openResources,
|
|
201645
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Activity, { className: "size-4" })
|
|
201646
|
+
}
|
|
201647
|
+
) }),
|
|
201648
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: "Resources" })
|
|
201649
|
+
] }),
|
|
201650
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
201651
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
201652
|
+
Button,
|
|
201653
|
+
{
|
|
201654
|
+
size: "icon-sm",
|
|
201655
|
+
variant: "ghost",
|
|
201656
|
+
className: "text-muted-foreground",
|
|
201657
|
+
"aria-label": "Usage",
|
|
201658
|
+
"data-testid": "project-list__usage-button",
|
|
201659
|
+
onClick: ctx.openReports,
|
|
201660
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(ChartColumn, { className: "size-4" })
|
|
201661
|
+
}
|
|
201662
|
+
) }),
|
|
201663
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: "Usage" })
|
|
201664
|
+
] }),
|
|
201665
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
201666
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
201667
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
201668
|
+
Button,
|
|
201669
|
+
{
|
|
201670
|
+
size: "icon-sm",
|
|
201671
|
+
variant: "ghost",
|
|
201672
|
+
className: "text-muted-foreground",
|
|
201673
|
+
"aria-label": "More actions",
|
|
201674
|
+
"data-testid": "project-list__overflow-trigger",
|
|
201675
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Ellipsis, { className: "size-4" })
|
|
201676
|
+
}
|
|
201677
|
+
) }) }),
|
|
201678
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", children: "More" })
|
|
201679
|
+
] }),
|
|
201680
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", children: [
|
|
201681
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: ctx.openTasks, children: [
|
|
201682
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ListTodo, { className: "size-4" }),
|
|
201683
|
+
"Tasks"
|
|
201684
|
+
] }),
|
|
201685
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: ctx.openCronjobs, children: [
|
|
201686
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Timer$1, { className: "size-4" }),
|
|
201687
|
+
"Cronjobs"
|
|
201688
|
+
] }),
|
|
201689
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onClick: ctx.openTunnel, children: [
|
|
201690
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
201691
|
+
Globe,
|
|
201692
|
+
{
|
|
201693
|
+
className: ctx.tunnelStatus === "error" ? "size-4 text-red-500" : ctx.tunnelStatus === "running" ? "size-4 text-green-500" : "size-4"
|
|
201694
|
+
}
|
|
201695
|
+
),
|
|
201696
|
+
ctx.tunnelStatus === "running" ? "Mobile access" : "Start tunnel"
|
|
201697
|
+
] })
|
|
201698
|
+
] })
|
|
201699
|
+
] })
|
|
201700
|
+
] });
|
|
201701
|
+
}
|
|
201405
201702
|
const bandTheme = {
|
|
201406
201703
|
name: "band",
|
|
201407
201704
|
className: "dockview-theme-band"
|
|
@@ -201421,12 +201718,12 @@ const PANEL_SHORTCUTS = {
|
|
|
201421
201718
|
browser: "⇧⌘B"
|
|
201422
201719
|
};
|
|
201423
201720
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
201424
|
-
() => import("./DockviewTerminalContainer-
|
|
201721
|
+
() => import("./DockviewTerminalContainer-OevWE65L.js").then((m2) => ({
|
|
201425
201722
|
default: m2.DockviewTerminalContainer
|
|
201426
201723
|
}))
|
|
201427
201724
|
);
|
|
201428
201725
|
const DockviewBrowserContainer = reactExports.lazy(
|
|
201429
|
-
() => import("./DockviewBrowserContainer-
|
|
201726
|
+
() => import("./DockviewBrowserContainer-C6QVux14.js").then((m2) => ({
|
|
201430
201727
|
default: m2.DockviewBrowserContainer
|
|
201431
201728
|
}))
|
|
201432
201729
|
);
|
|
@@ -203125,8 +203422,15 @@ function AppShell() {
|
|
|
203125
203422
|
className: "h-full flex flex-col overflow-hidden border-r border-border bg-sidebar",
|
|
203126
203423
|
"data-testid": "app-shell__sidebar",
|
|
203127
203424
|
children: [
|
|
203128
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
203129
|
-
|
|
203425
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
203426
|
+
SidebarTitleBar,
|
|
203427
|
+
{
|
|
203428
|
+
...navControlProps,
|
|
203429
|
+
menuItems: void 0,
|
|
203430
|
+
offsetClass: titleBarOffset
|
|
203431
|
+
}
|
|
203432
|
+
),
|
|
203433
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 min-h-0", children: /* @__PURE__ */ jsxRuntimeExports.jsx(DashboardShell, { hideTitleBar: true, bottomActions: /* @__PURE__ */ jsxRuntimeExports.jsx(ToolbarActionBar, {}) }) })
|
|
203130
203434
|
]
|
|
203131
203435
|
}
|
|
203132
203436
|
)
|
|
@@ -203176,12 +203480,12 @@ function RootLayout() {
|
|
|
203176
203480
|
] })
|
|
203177
203481
|
] });
|
|
203178
203482
|
}
|
|
203179
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
203483
|
+
const $$splitComponentImporter$1 = () => import("./index-CHvqm6Lz.js");
|
|
203180
203484
|
const Route$1 = createFileRoute("/")({
|
|
203181
203485
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
203182
203486
|
});
|
|
203183
|
-
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-
|
|
203184
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId-
|
|
203487
|
+
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-hnIpuUNX.js");
|
|
203488
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId-DRK2dblR.js");
|
|
203185
203489
|
const Route2 = createFileRoute("/workspace/$workspaceId")({
|
|
203186
203490
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
203187
203491
|
// Bookmarks / shared links from before route unification (`/workspace/$id/changes`,
|
|
@@ -203317,7 +203621,7 @@ export {
|
|
|
203317
203621
|
sin as ay,
|
|
203318
203622
|
min as az,
|
|
203319
203623
|
LRLanguage as b,
|
|
203320
|
-
|
|
203624
|
+
cn$2 as b$,
|
|
203321
203625
|
insertNode as b0,
|
|
203322
203626
|
positionNode as b1,
|
|
203323
203627
|
getLineFunctionsWithOffset as b2,
|
|
@@ -203348,13 +203652,13 @@ export {
|
|
|
203348
203652
|
MessageSquare as bR,
|
|
203349
203653
|
useIsDesktop as bS,
|
|
203350
203654
|
ToolbarOverflowProvider as bT,
|
|
203351
|
-
|
|
203655
|
+
ToolbarActionBar as bU,
|
|
203352
203656
|
isDesktop as bV,
|
|
203353
|
-
|
|
203354
|
-
|
|
203355
|
-
|
|
203356
|
-
|
|
203357
|
-
|
|
203657
|
+
array$2 as bW,
|
|
203658
|
+
ordinal as bX,
|
|
203659
|
+
Root$5 as bY,
|
|
203660
|
+
Content$1 as bZ,
|
|
203661
|
+
Close as b_,
|
|
203358
203662
|
NodeWeakMap as ba,
|
|
203359
203663
|
snippetCompletion as bb,
|
|
203360
203664
|
Tag as bc,
|
|
@@ -203382,121 +203686,129 @@ export {
|
|
|
203382
203686
|
isFunction$1 as by,
|
|
203383
203687
|
isEmpty as bz,
|
|
203384
203688
|
continuedIndent as c,
|
|
203385
|
-
|
|
203386
|
-
|
|
203387
|
-
|
|
203388
|
-
|
|
203389
|
-
|
|
203390
|
-
|
|
203391
|
-
|
|
203392
|
-
|
|
203393
|
-
|
|
203394
|
-
|
|
203395
|
-
|
|
203396
|
-
|
|
203397
|
-
|
|
203398
|
-
|
|
203399
|
-
|
|
203400
|
-
|
|
203401
|
-
|
|
203402
|
-
|
|
203403
|
-
|
|
203404
|
-
|
|
203405
|
-
|
|
203406
|
-
|
|
203407
|
-
|
|
203408
|
-
|
|
203409
|
-
|
|
203410
|
-
|
|
203411
|
-
|
|
203412
|
-
|
|
203413
|
-
|
|
203414
|
-
|
|
203415
|
-
|
|
203416
|
-
|
|
203417
|
-
|
|
203418
|
-
|
|
203419
|
-
|
|
203420
|
-
|
|
203421
|
-
|
|
203422
|
-
|
|
203423
|
-
|
|
203424
|
-
|
|
203425
|
-
|
|
203426
|
-
|
|
203427
|
-
|
|
203428
|
-
|
|
203429
|
-
|
|
203430
|
-
|
|
203431
|
-
|
|
203432
|
-
|
|
203433
|
-
|
|
203434
|
-
|
|
203435
|
-
|
|
203436
|
-
|
|
203437
|
-
|
|
203438
|
-
|
|
203439
|
-
|
|
203440
|
-
|
|
203441
|
-
|
|
203442
|
-
|
|
203443
|
-
|
|
203444
|
-
|
|
203445
|
-
|
|
203446
|
-
|
|
203447
|
-
|
|
203448
|
-
|
|
203689
|
+
dayjs2 as c$,
|
|
203690
|
+
Title as c0,
|
|
203691
|
+
Description as c1,
|
|
203692
|
+
Portal$4 as c2,
|
|
203693
|
+
Overlay$1 as c3,
|
|
203694
|
+
GitCompare as c4,
|
|
203695
|
+
FolderOpen as c5,
|
|
203696
|
+
useDashboardStore as c6,
|
|
203697
|
+
DesktopDragRegion as c7,
|
|
203698
|
+
Menu$1 as c8,
|
|
203699
|
+
ChevronsUpDown as c9,
|
|
203700
|
+
ZOOM_CSS_VAR as cA,
|
|
203701
|
+
invoke as cB,
|
|
203702
|
+
listen as cC,
|
|
203703
|
+
reactDomExports as cD,
|
|
203704
|
+
Globe as cE,
|
|
203705
|
+
Popover as cF,
|
|
203706
|
+
PopoverTrigger as cG,
|
|
203707
|
+
PopoverContent as cH,
|
|
203708
|
+
Search as cI,
|
|
203709
|
+
Trash2 as cJ,
|
|
203710
|
+
DropdownMenu as cK,
|
|
203711
|
+
DropdownMenuTrigger as cL,
|
|
203712
|
+
ChevronDown as cM,
|
|
203713
|
+
DropdownMenuContent as cN,
|
|
203714
|
+
DropdownMenuItem as cO,
|
|
203715
|
+
TriangleAlert as cP,
|
|
203716
|
+
RotateCw as cQ,
|
|
203717
|
+
Rgb as cR,
|
|
203718
|
+
rgbConvert as cS,
|
|
203719
|
+
define as cT,
|
|
203720
|
+
extend$2 as cU,
|
|
203721
|
+
Color as cV,
|
|
203722
|
+
nogamma as cW,
|
|
203723
|
+
hue as cX,
|
|
203724
|
+
time$2 as cY,
|
|
203725
|
+
min$1 as cZ,
|
|
203726
|
+
max$1 as c_,
|
|
203727
|
+
DiffView as ca,
|
|
203728
|
+
CodeBrowserView as cb,
|
|
203729
|
+
QuickOpenDialog as cc,
|
|
203730
|
+
SearchFilesDialog as cd,
|
|
203731
|
+
WorkspacePickerDialog as ce,
|
|
203732
|
+
useDiffTarget as cf,
|
|
203733
|
+
useSettingsQuery as cg,
|
|
203734
|
+
agentTypeSupportsSessionListing as ch,
|
|
203735
|
+
ChatView as ci,
|
|
203736
|
+
getUserDefinedConfig as cj,
|
|
203737
|
+
getIconSVG as ck,
|
|
203738
|
+
registerIconPacks as cl,
|
|
203739
|
+
unknownIcon as cm,
|
|
203740
|
+
isFilePath as cn,
|
|
203741
|
+
writeClipboardText as co,
|
|
203742
|
+
readClipboardText as cp,
|
|
203743
|
+
ArrowLeft as cq,
|
|
203744
|
+
ArrowUp as cr,
|
|
203745
|
+
ArrowDown as cs,
|
|
203746
|
+
ArrowRight as ct,
|
|
203747
|
+
ClipboardCopy as cu,
|
|
203748
|
+
ClipboardPaste as cv,
|
|
203749
|
+
getCurrentZoomLevel as cw,
|
|
203750
|
+
openExternalUrl as cx,
|
|
203751
|
+
subscribeToZoomChanges as cy,
|
|
203752
|
+
SearchBar as cz,
|
|
203449
203753
|
foldInside as d,
|
|
203450
|
-
|
|
203451
|
-
|
|
203452
|
-
|
|
203453
|
-
|
|
203454
|
-
|
|
203455
|
-
|
|
203456
|
-
|
|
203457
|
-
|
|
203458
|
-
|
|
203459
|
-
|
|
203460
|
-
|
|
203461
|
-
|
|
203462
|
-
|
|
203463
|
-
|
|
203464
|
-
|
|
203465
|
-
|
|
203466
|
-
|
|
203467
|
-
|
|
203468
|
-
|
|
203469
|
-
|
|
203470
|
-
|
|
203471
|
-
|
|
203472
|
-
|
|
203473
|
-
|
|
203474
|
-
|
|
203475
|
-
|
|
203476
|
-
|
|
203477
|
-
|
|
203478
|
-
|
|
203479
|
-
|
|
203480
|
-
|
|
203481
|
-
|
|
203482
|
-
|
|
203483
|
-
|
|
203484
|
-
|
|
203485
|
-
|
|
203486
|
-
|
|
203487
|
-
|
|
203488
|
-
|
|
203489
|
-
|
|
203490
|
-
|
|
203491
|
-
|
|
203492
|
-
|
|
203493
|
-
|
|
203494
|
-
|
|
203495
|
-
|
|
203496
|
-
|
|
203497
|
-
|
|
203498
|
-
|
|
203499
|
-
|
|
203754
|
+
timeFormat as d0,
|
|
203755
|
+
timeMonth as d1,
|
|
203756
|
+
timeSunday as d2,
|
|
203757
|
+
timeSaturday as d3,
|
|
203758
|
+
timeFriday as d4,
|
|
203759
|
+
timeThursday as d5,
|
|
203760
|
+
timeWednesday as d6,
|
|
203761
|
+
timeTuesday as d7,
|
|
203762
|
+
timeMonday as d8,
|
|
203763
|
+
timeDay as d9,
|
|
203764
|
+
arrayLikeKeys as dA,
|
|
203765
|
+
baseKeys as dB,
|
|
203766
|
+
memoize as dC,
|
|
203767
|
+
isArguments$1 as dD,
|
|
203768
|
+
copyObject as dE,
|
|
203769
|
+
getPrototype as dF,
|
|
203770
|
+
cloneArrayBuffer as dG,
|
|
203771
|
+
cloneTypedArray as dH,
|
|
203772
|
+
getTag$1 as dI,
|
|
203773
|
+
nodeUtil as dJ,
|
|
203774
|
+
copyArray as dK,
|
|
203775
|
+
isBuffer$1 as dL,
|
|
203776
|
+
cloneBuffer as dM,
|
|
203777
|
+
initCloneObject as dN,
|
|
203778
|
+
Stack as dO,
|
|
203779
|
+
MapCache as dP,
|
|
203780
|
+
Uint8Array$1 as dQ,
|
|
203781
|
+
isTypedArray$1 as dR,
|
|
203782
|
+
isLength$1 as dS,
|
|
203783
|
+
Set$1 as dT,
|
|
203784
|
+
createAssigner as dU,
|
|
203785
|
+
isPrototype as dV,
|
|
203786
|
+
router as dW,
|
|
203787
|
+
timeHour as da,
|
|
203788
|
+
timeMinute as db,
|
|
203789
|
+
second as dc,
|
|
203790
|
+
millisecond as dd,
|
|
203791
|
+
isObject$2 as de,
|
|
203792
|
+
isIterateeCall$1 as df,
|
|
203793
|
+
keysIn as dg,
|
|
203794
|
+
eq as dh,
|
|
203795
|
+
isArrayLike$1 as di,
|
|
203796
|
+
isArray$1 as dj,
|
|
203797
|
+
identity$1 as dk,
|
|
203798
|
+
isIndex$1 as dl,
|
|
203799
|
+
assignValue as dm,
|
|
203800
|
+
format as dn,
|
|
203801
|
+
styles2String as dp,
|
|
203802
|
+
isLabelStyle as dq,
|
|
203803
|
+
setToString as dr,
|
|
203804
|
+
overRest as ds,
|
|
203805
|
+
baseFor as dt,
|
|
203806
|
+
baseAssignValue as du,
|
|
203807
|
+
baseUnary as dv,
|
|
203808
|
+
merge$1 as dw,
|
|
203809
|
+
isObjectLike$1 as dx,
|
|
203810
|
+
baseGetTag as dy,
|
|
203811
|
+
Symbol$1 as dz,
|
|
203500
203812
|
ifNotIn as e,
|
|
203501
203813
|
foldNodeProp as f,
|
|
203502
203814
|
completeFromList as g,
|