@band-app/server 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{DockviewTerminalContainer-BpFVSRxD.js → DockviewTerminalContainer-ZSiC-7Wm.js} +2 -2
- package/dist/client/assets/{TerminalPanel-BntKxpyp.js → TerminalPanel-CvR6-tkK.js} +1 -1
- package/dist/client/assets/{_basePickBy-DF5xdsrk.js → _basePickBy-DOsvMYxz.js} +1 -1
- package/dist/client/assets/{_baseUniq-CoueVsbE.js → _baseUniq-BjUzcTYJ.js} +1 -1
- package/dist/client/assets/{arc-BFzNwh12.js → arc-PqmhKm1W.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-By7wadQM.js → architectureDiagram-VXUJARFQ-70d15Hrt.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-BC_1TUzk.js → blockDiagram-VD42YOAC-Cjib0DnE.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-BCk4UTN8.js → c4Diagram-YG6GDRKO-DGbJac2z.js} +1 -1
- package/dist/client/assets/channel-DHmLqpit.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BNQvAlfk.js → chunk-4BX2VUAB-DWXbUTDx.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-BttquFk4.js → chunk-55IACEB6-DHmlIacM.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-BlpucGaJ.js → chunk-B4BG7PRW-DGMr7A2W.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-Clc7KEpM.js → chunk-DI55MBZ5-VyMTkEX3.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-B4AJ2Dku.js → chunk-FMBD7UC4-U9WC5yh7.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-zpQdzj4o.js → chunk-QN33PNHL-CpWV7s74.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-C91vV1DW.js → chunk-QZHKN3VN-D_6wYXhV.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-Cos_2ZyH.js → chunk-TZMSLE5B-CnmYfvpb.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-C7zDhZrE.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-C7zDhZrE.js +1 -0
- package/dist/client/assets/clone-yyq3D0Pq.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DCYrgoD8.js → cose-bilkent-S5V4N54A-DqlCuXUu.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-M5t81982.js → dagre-6UL2VRFP-D9ySXysT.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-D2Ek6C2z.js → diagram-PSM6KHXK-Bee22nwJ.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-CVWybKcv.js → diagram-QEK2KX5R-CKYtwRXE.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-BCqpWwzq.js → diagram-S2PKOQOG-tl720Ns4.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-BYtyKpu4.js → erDiagram-Q2GNP2WA-Di8LTTo8.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-DBuUJVnr.js → flowDiagram-NV44I4VS-CUDkVJGW.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-BsFBEaF2.js → ganttDiagram-JELNMOA3-CemMEWZ6.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-7exAUrbl.js → gitGraphDiagram-V2S2FVAM-B54xBQm4.js} +1 -1
- package/dist/client/assets/{graph-Du1niQqO.js → graph-CzD8aRj3.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-DvSWBwhR.js → highlighted-body-B3W2YXNL-c47RLD13.js} +1 -1
- package/dist/client/assets/{index-qlT4M9zl.js → index-BL6NMKnC.js} +1 -1
- package/dist/client/assets/{index-Dub-xnlF.js → index-BoSG4rS2.js} +1 -1
- package/dist/client/assets/{index-DsX632ci.js → index-C1eSoFff.js} +1 -1
- package/dist/client/assets/{index-wMCMKab0.js → index-CIv4jKEj.js} +1 -1
- package/dist/client/assets/{index-Bel4N-0p.js → index-CMZEEi2J.js} +1 -1
- package/dist/client/assets/{index-DAZesMJA.js → index-Cy7F9VKd.js} +1 -1
- package/dist/client/assets/{index-riX__uwi.js → index-D6MZ26li.js} +1 -1
- package/dist/client/assets/{index-bTf5A-ZO.js → index-DC_vWJCw.js} +1 -1
- package/dist/client/assets/{index-CuPxzY7a.js → index-DPj7uf3N.js} +1 -1
- package/dist/client/assets/{index-BT08YowC.js → index-DWMpZHMT.js} +1 -1
- package/dist/client/assets/{index-DvN4Pfwf.js → index-D_mhg0lQ.js} +1 -1
- package/dist/client/assets/{index-BhNPdWcD.js → index-DaIPQb3r.js} +1 -1
- package/dist/client/assets/{index-FzJ61zmb.js → index-DfCwszrX.js} +1 -1
- package/dist/client/assets/{index-BXV8DVgO.js → index-DjJ5-Fte.js} +1 -1
- package/dist/client/assets/{index-DiLsWyyw.js → index-Dt6ZyNUI.js} +1 -1
- package/dist/client/assets/{index-PcpmPUME.js → index-Qbd6pW8g.js} +1 -1
- package/dist/client/assets/{index-Q9Papv40.js → index-btFeV2j3.js} +1 -1
- package/dist/client/assets/{index-B8zm4Wn1.js → index-gOMe0dPC.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP-ClKnBgfU.js → infoDiagram-HS3SLOUP-Cvh6X3kP.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-ptjlJtex.js → journeyDiagram-XKPGCS4Q-Czi5TePn.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-Dqk-kV2N.js → kanban-definition-3W4ZIXB7-Bk0MW3W-.js} +1 -1
- package/dist/client/assets/{layout-PMiGD6HA.js → layout-Ckq0ckKz.js} +1 -1
- package/dist/client/assets/{linear-BRPhIkB4.js → linear-BMO1jkHz.js} +1 -1
- package/dist/client/assets/{main-ssLEzQJf.js → main-B0LPsZMa.js} +224 -224
- package/dist/client/assets/main-Tt4WZJMG.css +1 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-CKiZT-9L.js → mindmap-definition-VGOIOE7T-oF701YVn.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-BtN0lt7V.js → pieDiagram-ADFJNKIX-DOa3ALEx.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-064IuExP.js → quadrantDiagram-AYHSOK5B-BwhElI6Y.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DfSwHkne.js → requirementDiagram-UZGBJVZJ-DcR2cX9-.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-CkEgokt8.js → sankeyDiagram-TZEHDZUN-BTpr4N1X.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-B8GUQ9mm.js → sequenceDiagram-WL72ISMW-B8wh2px2.js} +1 -1
- package/dist/client/assets/{square-terminal-voIzqAV1.js → square-terminal-bul2OB6w.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-BvI2n1mZ.js → stateDiagram-FKZM4ZOC-Bt4IkUn2.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-D3_tub1u.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-2QHGwOvE.js → timeline-definition-IT6M3QCI-Dybsx7bF.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-Cnr0AhFV.js → treemap-GDKQZRPO-CuwqbPPy.js} +1 -1
- package/dist/client/assets/{useSessionListContext-BxG0jHjf.js → useSessionListContext-DGvLgX3O.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-C6DFXubr.js → workspace._workspaceId-CflKFp3C.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.changes-B8i4zvL_.js → workspace._workspaceId.changes-B0bx2wbG.js} +1 -1
- package/dist/client/assets/workspace._workspaceId.code-C9yB34AE.js +1 -0
- package/dist/client/assets/{workspace._workspaceId.code._-BIhs37Mu.js → workspace._workspaceId.code._-yf2wdjm9.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.code.index-YAGicxpL.js → workspace._workspaceId.code.index-BsCAmmyN.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.index-CzEuNQ6a.js → workspace._workspaceId.index-MrOOg9VQ.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.terminal-CrGI8r-m.js → workspace._workspaceId.terminal-DPBz1J_0.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-C6jlfQdQ.js → xychartDiagram-PRI3JC2R-ZIdDg6qe.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-Dyp-rCDV.js → DockviewTerminalContainer-DFjZuSCT.js} +3 -3
- package/dist/server/assets/{TerminalPanel-Bn1gtOEI.js → TerminalPanel-tg1GdSr0.js} +1 -1
- package/dist/server/assets/{_basePickBy-BnJ4ajzM.js → _basePickBy-DbFLVHsB.js} +2 -2
- package/dist/server/assets/{_baseUniq-BeWm3tGf.js → _baseUniq-CLmEqJvy.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-D3hMj8OZ.js → _tanstack-start-manifest_v-DlURH9DQ.js} +1 -1
- package/dist/server/assets/{arc-BlpfkuC0.js → arc-DZLAbVTx.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-BJ7ewH5u.js → architecture-7HQA4BMR-CQ0E5QYW.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-TRCw2ugF.js → architectureDiagram-VXUJARFQ-evDLySHH.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-Dh9a8aso.js → blockDiagram-VD42YOAC-DBsHlPXM.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-BrRKberj.js → c4Diagram-YG6GDRKO-h5CZPoPy.js} +2 -2
- package/dist/server/assets/{channel-o5SG-fgD.js → channel-CKJ1HkO1.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-B4PS8pUF.js → chunk-4BX2VUAB-3odGT6c4.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-By5B62Vv.js → chunk-55IACEB6-LXKtVbTR.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-DQCDsnub.js → chunk-B4BG7PRW-Br-1a8gS.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-MMKD3vhO.js → chunk-DI55MBZ5-BAz_7LcE.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-CGSmUkeN.js → chunk-FMBD7UC4-CqMTTql5.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-DtOY2Tk4.js → chunk-QN33PNHL-HclxJzvx.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-CEBb15S0.js → chunk-QZHKN3VN-TEpNJ3fK.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-BR7Wfzu-.js → chunk-TZMSLE5B-CnZe9dM5.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-CVGo_62f.js → classDiagram-2ON5EDUG-Cd6_FR9V.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-CVGo_62f.js → classDiagram-v2-WZHVMYZB-Cd6_FR9V.js} +5 -5
- package/dist/server/assets/{clone-Dava77iI.js → clone-AjunVJRj.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-C_1AzHCC.js → cose-bilkent-S5V4N54A-D7LPM_vS.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-Boln2sn2.js → dagre-6UL2VRFP-CNeAACXh.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-BJe9rht3.js → diagram-PSM6KHXK-FHT3vuUn.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-CGNcKosm.js → diagram-QEK2KX5R-Du9tqqDq.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-KHkj72ld.js → diagram-S2PKOQOG-BvH3_hXv.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-CQPyD9EF.js → erDiagram-Q2GNP2WA-Bl5SlyVt.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-vyBoOcPY.js → flowDiagram-NV44I4VS-TOzUwhF5.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-DzN3kslF.js → ganttDiagram-JELNMOA3-BHAA60wa.js} +2 -2
- package/dist/server/assets/{gitGraph-G5XIXVHT-B2GLfoRF.js → gitGraph-G5XIXVHT-rOVJvGHO.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-B5EDhgt0.js → gitGraphDiagram-V2S2FVAM-VzFNa7CX.js} +7 -7
- package/dist/server/assets/{graph-DM2YnSRF.js → graph-Bcuzin2V.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-h_Fr1oTy.js → highlighted-body-B3W2YXNL-DsiXofbu.js} +1 -1
- package/dist/server/assets/{index-xaaGh4ls.js → index-BF37iFwT.js} +2 -2
- package/dist/server/assets/{index-no5gnAsf.js → index-BN_ghim8.js} +2 -2
- package/dist/server/assets/{index-DgHW7UNt.js → index-BNygmRkO.js} +2 -2
- package/dist/server/assets/{index-EvPsdhYL.js → index-BS2yvWd8.js} +2 -2
- package/dist/server/assets/{index-C-1szG3T.js → index-BsO3ggd_.js} +2 -2
- package/dist/server/assets/{index-BsJzTvSJ.js → index-BuX-CbGB.js} +4 -4
- package/dist/server/assets/{index-DnQXmsaa.js → index-Bw1GdZx-.js} +2 -2
- package/dist/server/assets/{index-DbAlA7HO.js → index-CAqpyyUA.js} +3 -3
- package/dist/server/assets/{index-WTleB0lf.js → index-CBNyhkhK.js} +2 -2
- package/dist/server/assets/{index-DafoxTP2.js → index-CERytpw-.js} +2 -2
- package/dist/server/assets/{index-BiZndo5l.js → index-CJCPubzA.js} +1 -1
- package/dist/server/assets/{index-BIDr1DTu.js → index-ChbBCGbG.js} +3 -3
- package/dist/server/assets/{index-DknBLjbj.js → index-CiwITdnL.js} +2 -2
- package/dist/server/assets/{index-DBmY9Kl-.js → index-Cjn0yAaG.js} +2 -2
- package/dist/server/assets/{index-CS6JuHB3.js → index-CpuhPF5t.js} +5 -5
- package/dist/server/assets/{index-DDLILDN_.js → index-DE0zASO3.js} +5 -5
- package/dist/server/assets/{index-B0FUh3Pc.js → index-DUQ1u3ED.js} +1 -1
- package/dist/server/assets/{index-DQxHX7Lv.js → index-bEeLtTPr.js} +2 -2
- package/dist/server/assets/{info-VBDWY6EO-BSVsdtnm.js → info-VBDWY6EO-BVbRb-4Z.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-DbxrgmBd.js → infoDiagram-HS3SLOUP-esUYZzYH.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-PyE_5Gmw.js → journeyDiagram-XKPGCS4Q-D40eNc21.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-PMuJIj2B.js → kanban-definition-3W4ZIXB7-5N_75bcJ.js} +2 -2
- package/dist/server/assets/{layout-B67zHI7Q.js → layout-CbRLlNEr.js} +4 -4
- package/dist/server/assets/{linear-D86t5s_z.js → linear-CSZB2dRK.js} +1 -1
- package/dist/server/assets/{mermaid-3ZIDBTTL-Bm5x4pKu.js → mermaid-3ZIDBTTL-BEV29Yuc.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-CrQ4TUTQ.js → mermaid-parser.core-D1DVTNTM.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-CS-q_lU-.js → mindmap-definition-VGOIOE7T-Dd16Sy8E.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-BhN2HFTO.js → packet-DYOGHKS2-Jv2GC4PV.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-Db-fTydN.js → pie-VRWISCQL-CzY7Q_jX.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-jACR3wDP.js → pieDiagram-ADFJNKIX-BygyuGnX.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-BuOoP_Hg.js → quadrantDiagram-AYHSOK5B-B_XQ04Qi.js} +2 -2
- package/dist/server/assets/{radar-ZZBFDIW7-DTdnWlmn.js → radar-ZZBFDIW7-D1Km6RgJ.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-XXmbIh8u.js → requirementDiagram-UZGBJVZJ-HsUrO2es.js} +3 -3
- package/dist/server/assets/{router-D6T53n2M.js → router-86ALGZbb.js} +922 -375
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-DDyaGWkS.js → sankeyDiagram-TZEHDZUN-D2agLPgC.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-GTC4KppE.js → sequenceDiagram-WL72ISMW-B9xPBmx_.js} +3 -3
- package/dist/server/assets/{square-terminal-DaAOn53I.js → square-terminal-C1jD7kGR.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-BxYN7guF.js → stateDiagram-FKZM4ZOC-DHDTsTYT.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-BNKwWfxp.js → stateDiagram-v2-4FDKWEC3-UzPAvMjA.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-CA7TxBUn.js → timeline-definition-IT6M3QCI-BkV8-JpZ.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-CiJPF4Eo.js → treemap-GDKQZRPO-BnwMc3nx.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-C936_ZgM.js → workspace._workspaceId-CxbLYQ4n.js} +2 -2
- package/dist/server/assets/{workspace._workspaceId.changes-CH3KFMSq.js → workspace._workspaceId.changes-st-QDRaZ.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code._-BuovU8kl.js → workspace._workspaceId.code._-DXGsbzXN.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code.index-BHzxCT1V.js → workspace._workspaceId.code.index-ChSU7TbG.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.index-86dKrOT8.js → workspace._workspaceId.index-WQW8azst.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.terminal-BAeUoj6m.js → workspace._workspaceId.terminal-o_dPhCio.js} +2 -2
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-BmMwldTO.js → xychartDiagram-PRI3JC2R-3zGezmQ5.js} +2 -2
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +317 -127
- package/package.json +5 -5
- package/dist/client/assets/channel-CFM6cryD.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CZiRGipy.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CZiRGipy.js +0 -1
- package/dist/client/assets/clone-Bre_bsCp.js +0 -1
- package/dist/client/assets/main-DsI295kl.css +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-D8yWUoXF.js +0 -1
- package/dist/client/assets/workspace._workspaceId.code-CX8MyOEp.js +0 -1
package/dist/start-server.mjs
CHANGED
|
@@ -79376,7 +79376,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
79376
79376
|
name: "pointerup"
|
|
79377
79377
|
}
|
|
79378
79378
|
};
|
|
79379
|
-
var
|
|
79379
|
+
var PointerSensor = class extends AbstractPointerSensor {
|
|
79380
79380
|
constructor(props) {
|
|
79381
79381
|
const {
|
|
79382
79382
|
event
|
|
@@ -79385,7 +79385,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
79385
79385
|
super(props, events, listenerTarget);
|
|
79386
79386
|
}
|
|
79387
79387
|
};
|
|
79388
|
-
|
|
79388
|
+
PointerSensor.activators = [{
|
|
79389
79389
|
eventName: "onPointerDown",
|
|
79390
79390
|
handler: (_ref, _ref2) => {
|
|
79391
79391
|
let {
|
|
@@ -79415,12 +79415,12 @@ var require_core_cjs_development = __commonJS({
|
|
|
79415
79415
|
(function(MouseButton2) {
|
|
79416
79416
|
MouseButton2[MouseButton2["RightClick"] = 2] = "RightClick";
|
|
79417
79417
|
})(MouseButton || (MouseButton = {}));
|
|
79418
|
-
var
|
|
79418
|
+
var MouseSensor2 = class extends AbstractPointerSensor {
|
|
79419
79419
|
constructor(props) {
|
|
79420
79420
|
super(props, events$1, utilities.getOwnerDocument(props.event.target));
|
|
79421
79421
|
}
|
|
79422
79422
|
};
|
|
79423
|
-
|
|
79423
|
+
MouseSensor2.activators = [{
|
|
79424
79424
|
eventName: "onMouseDown",
|
|
79425
79425
|
handler: (_ref, _ref2) => {
|
|
79426
79426
|
let {
|
|
@@ -79449,7 +79449,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
79449
79449
|
name: "touchend"
|
|
79450
79450
|
}
|
|
79451
79451
|
};
|
|
79452
|
-
var
|
|
79452
|
+
var TouchSensor2 = class extends AbstractPointerSensor {
|
|
79453
79453
|
constructor(props) {
|
|
79454
79454
|
super(props, events$2);
|
|
79455
79455
|
}
|
|
@@ -79465,7 +79465,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
79465
79465
|
}
|
|
79466
79466
|
}
|
|
79467
79467
|
};
|
|
79468
|
-
|
|
79468
|
+
TouchSensor2.activators = [{
|
|
79469
79469
|
eventName: "onTouchStart",
|
|
79470
79470
|
handler: (_ref, _ref2) => {
|
|
79471
79471
|
let {
|
|
@@ -80119,7 +80119,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
80119
80119
|
}), [rect, nodeRef, setRef2]);
|
|
80120
80120
|
}
|
|
80121
80121
|
var defaultSensors = [{
|
|
80122
|
-
sensor:
|
|
80122
|
+
sensor: PointerSensor,
|
|
80123
80123
|
options: {}
|
|
80124
80124
|
}, {
|
|
80125
80125
|
sensor: KeyboardSensor,
|
|
@@ -81036,7 +81036,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
81036
81036
|
transform: transform2
|
|
81037
81037
|
};
|
|
81038
81038
|
}
|
|
81039
|
-
function
|
|
81039
|
+
function useDndContext2() {
|
|
81040
81040
|
return React32.useContext(PublicContext);
|
|
81041
81041
|
}
|
|
81042
81042
|
var ID_PREFIX$1 = "Droppable";
|
|
@@ -81464,7 +81464,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
81464
81464
|
scrollableAncestors,
|
|
81465
81465
|
scrollableAncestorRects,
|
|
81466
81466
|
windowRect: windowRect2
|
|
81467
|
-
} =
|
|
81467
|
+
} = useDndContext2();
|
|
81468
81468
|
const transform2 = React32.useContext(ActiveDraggableContext);
|
|
81469
81469
|
const key2 = useKey(active == null ? void 0 : active.id);
|
|
81470
81470
|
const modifiedTransform = applyModifiers(modifiers, {
|
|
@@ -81510,9 +81510,9 @@ var require_core_cjs_development = __commonJS({
|
|
|
81510
81510
|
exports.DndContext = DndContext2;
|
|
81511
81511
|
exports.DragOverlay = DragOverlay2;
|
|
81512
81512
|
exports.KeyboardSensor = KeyboardSensor;
|
|
81513
|
-
exports.MouseSensor =
|
|
81514
|
-
exports.PointerSensor =
|
|
81515
|
-
exports.TouchSensor =
|
|
81513
|
+
exports.MouseSensor = MouseSensor2;
|
|
81514
|
+
exports.PointerSensor = PointerSensor;
|
|
81515
|
+
exports.TouchSensor = TouchSensor2;
|
|
81516
81516
|
exports.applyModifiers = applyModifiers;
|
|
81517
81517
|
exports.closestCenter = closestCenter2;
|
|
81518
81518
|
exports.closestCorners = closestCorners;
|
|
@@ -81527,7 +81527,7 @@ var require_core_cjs_development = __commonJS({
|
|
|
81527
81527
|
exports.getScrollableAncestors = getScrollableAncestors;
|
|
81528
81528
|
exports.pointerWithin = pointerWithin;
|
|
81529
81529
|
exports.rectIntersection = rectIntersection;
|
|
81530
|
-
exports.useDndContext =
|
|
81530
|
+
exports.useDndContext = useDndContext2;
|
|
81531
81531
|
exports.useDndMonitor = useDndMonitor;
|
|
81532
81532
|
exports.useDraggable = useDraggable;
|
|
81533
81533
|
exports.useDroppable = useDroppable2;
|
|
@@ -117056,7 +117056,7 @@ function ContextMenuItem2({
|
|
|
117056
117056
|
"data-inset": inset,
|
|
117057
117057
|
"data-variant": variant,
|
|
117058
117058
|
className: cn(
|
|
117059
|
-
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
|
|
117059
|
+
"relative flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground dark:focus:bg-neutral-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",
|
|
117060
117060
|
className
|
|
117061
117061
|
),
|
|
117062
117062
|
...props
|
|
@@ -119800,37 +119800,47 @@ var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
|
|
|
119800
119800
|
var import_react10 = __toESM(require_react(), 1);
|
|
119801
119801
|
var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
|
|
119802
119802
|
|
|
119803
|
+
// ../../packages/dashboard-core/src/components/CommitDialog.tsx
|
|
119804
|
+
var import_react11 = __toESM(require_react(), 1);
|
|
119805
|
+
var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
|
|
119806
|
+
|
|
119803
119807
|
// ../../packages/dashboard-core/src/components/DashboardShell.tsx
|
|
119804
|
-
var
|
|
119808
|
+
var import_react22 = __toESM(require_react(), 1);
|
|
119805
119809
|
|
|
119806
119810
|
// ../../packages/dashboard-core/src/hooks/use-cli-setup.ts
|
|
119807
|
-
var
|
|
119811
|
+
var import_react12 = __toESM(require_react(), 1);
|
|
119812
|
+
|
|
119813
|
+
// ../../packages/dashboard-core/src/hooks/use-collapse-state.ts
|
|
119814
|
+
var import_react13 = __toESM(require_react(), 1);
|
|
119808
119815
|
|
|
119809
119816
|
// ../../packages/dashboard-core/src/hooks/use-hooks-setup.ts
|
|
119810
|
-
var
|
|
119817
|
+
var import_react14 = __toESM(require_react(), 1);
|
|
119818
|
+
|
|
119819
|
+
// ../../packages/dashboard-core/src/hooks/use-label-filter.ts
|
|
119820
|
+
var import_react15 = __toESM(require_react(), 1);
|
|
119811
119821
|
|
|
119812
119822
|
// ../../packages/dashboard-core/src/hooks/use-status.ts
|
|
119813
|
-
var
|
|
119823
|
+
var import_react16 = __toESM(require_react(), 1);
|
|
119814
119824
|
|
|
119815
119825
|
// ../../packages/dashboard-core/src/components/ProjectList.tsx
|
|
119816
119826
|
var import_core8 = __toESM(require_dist3(), 1);
|
|
119817
119827
|
var import_sortable = __toESM(require_dist4(), 1);
|
|
119818
119828
|
var import_utilities = __toESM(require_dist(), 1);
|
|
119819
|
-
var
|
|
119829
|
+
var import_react19 = __toESM(require_react(), 1);
|
|
119820
119830
|
|
|
119821
119831
|
// ../../packages/dashboard-core/src/components/DeleteWorkspaceDialog.tsx
|
|
119822
|
-
var
|
|
119832
|
+
var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
|
|
119823
119833
|
|
|
119824
119834
|
// ../../packages/dashboard-core/src/components/NewWorkspaceForm.tsx
|
|
119825
|
-
var
|
|
119826
|
-
var
|
|
119835
|
+
var import_react17 = __toESM(require_react(), 1);
|
|
119836
|
+
var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
|
|
119827
119837
|
|
|
119828
119838
|
// ../../packages/dashboard-core/src/components/WorkspaceCard.tsx
|
|
119829
119839
|
var import_lucide_react4 = __toESM(require_lucide_react(), 1);
|
|
119830
|
-
var
|
|
119840
|
+
var import_react18 = __toESM(require_react(), 1);
|
|
119831
119841
|
|
|
119832
119842
|
// ../../packages/dashboard-core/src/components/GitStatusIndicator.tsx
|
|
119833
|
-
var
|
|
119843
|
+
var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
|
|
119834
119844
|
function GitStatusIndicator({ git }) {
|
|
119835
119845
|
const parts = [];
|
|
119836
119846
|
if (git.conflict) {
|
|
@@ -119862,27 +119872,27 @@ function GitStatusIndicator({ git }) {
|
|
|
119862
119872
|
});
|
|
119863
119873
|
}
|
|
119864
119874
|
if (parts.length === 0) return null;
|
|
119865
|
-
return /* @__PURE__ */ (0,
|
|
119866
|
-
/* @__PURE__ */ (0,
|
|
119867
|
-
/* @__PURE__ */ (0,
|
|
119875
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Tooltip2, { children: [
|
|
119876
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "inline-flex items-center gap-0.5 font-mono text-[11px] leading-none shrink-0 pr-0.5", children: parts.map((p6) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: p6.color, children: p6.text }, p6.text)) }) }),
|
|
119877
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TooltipContent2, { children: parts.map((p6) => p6.tooltip).join(", ") })
|
|
119868
119878
|
] });
|
|
119869
119879
|
}
|
|
119870
119880
|
|
|
119871
119881
|
// ../../packages/dashboard-core/src/components/SetupStatusIndicator.tsx
|
|
119872
119882
|
var import_lucide_react3 = __toESM(require_lucide_react(), 1);
|
|
119873
|
-
var
|
|
119883
|
+
var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
|
|
119874
119884
|
function SetupStatusIndicator({ setup }) {
|
|
119875
119885
|
if (!setup) return null;
|
|
119876
119886
|
if (setup.state === "running") {
|
|
119877
|
-
return /* @__PURE__ */ (0,
|
|
119878
|
-
/* @__PURE__ */ (0,
|
|
119879
|
-
/* @__PURE__ */ (0,
|
|
119887
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip2, { children: [
|
|
119888
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react3.Loader, { className: "size-3.5 shrink-0 text-blue-600 dark:text-blue-400 animate-spin" }) }),
|
|
119889
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipContent2, { side: "top", children: "Setting up workspace..." })
|
|
119880
119890
|
] });
|
|
119881
119891
|
}
|
|
119882
119892
|
if (setup.state === "failed") {
|
|
119883
|
-
return /* @__PURE__ */ (0,
|
|
119884
|
-
/* @__PURE__ */ (0,
|
|
119885
|
-
/* @__PURE__ */ (0,
|
|
119893
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Tooltip2, { children: [
|
|
119894
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react3.CircleAlert, { className: "size-3.5 shrink-0 text-red-600 dark:text-red-400" }) }),
|
|
119895
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(TooltipContent2, { side: "top", children: [
|
|
119886
119896
|
"Setup failed",
|
|
119887
119897
|
setup.error ? `: ${setup.error}` : ""
|
|
119888
119898
|
] })
|
|
@@ -119892,8 +119902,8 @@ function SetupStatusIndicator({ setup }) {
|
|
|
119892
119902
|
}
|
|
119893
119903
|
|
|
119894
119904
|
// ../../packages/dashboard-core/src/components/WorkspaceCard.tsx
|
|
119895
|
-
var
|
|
119896
|
-
var WorkspaceCard = (0,
|
|
119905
|
+
var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
|
|
119906
|
+
var WorkspaceCard = (0, import_react18.memo)(function WorkspaceCard2({
|
|
119897
119907
|
worktree,
|
|
119898
119908
|
projectName,
|
|
119899
119909
|
defaultBranch,
|
|
@@ -119901,12 +119911,11 @@ var WorkspaceCard = (0, import_react15.memo)(function WorkspaceCard2({
|
|
|
119901
119911
|
branchStatus,
|
|
119902
119912
|
setupStatus,
|
|
119903
119913
|
isFocused,
|
|
119904
|
-
onShowDeleteDialog
|
|
119905
|
-
editMode
|
|
119914
|
+
onShowDeleteDialog
|
|
119906
119915
|
}) {
|
|
119907
|
-
const cardRef = (0,
|
|
119916
|
+
const cardRef = (0, import_react18.useRef)(null);
|
|
119908
119917
|
const capabilities = useCapabilities();
|
|
119909
|
-
(0,
|
|
119918
|
+
(0, import_react18.useEffect)(() => {
|
|
119910
119919
|
if (isFocused) {
|
|
119911
119920
|
cardRef.current?.scrollIntoView({ block: "nearest" });
|
|
119912
119921
|
}
|
|
@@ -119928,7 +119937,7 @@ var WorkspaceCard = (0, import_react15.memo)(function WorkspaceCard2({
|
|
|
119928
119937
|
openWorkspace(workspaceId);
|
|
119929
119938
|
}
|
|
119930
119939
|
};
|
|
119931
|
-
const className = `@container group flex flex-row items-center justify-between
|
|
119940
|
+
const className = `@container group flex flex-row items-center justify-between pl-3 pr-2 py-1 min-w-0 overflow-hidden cursor-pointer select-none transition-colors hover:bg-accent/50 ${isActive ? "bg-accent/50 border-l-2 border-l-primary" : ""} ${isFocused ? "ring-2 ring-inset ring-ring" : ""} ${href ? "no-underline text-inherit" : ""}`;
|
|
119932
119941
|
const containerProps = {
|
|
119933
119942
|
ref: cardRef,
|
|
119934
119943
|
className,
|
|
@@ -119961,12 +119970,12 @@ var WorkspaceCard = (0, import_react15.memo)(function WorkspaceCard2({
|
|
|
119961
119970
|
});
|
|
119962
119971
|
}
|
|
119963
119972
|
};
|
|
119964
|
-
return /* @__PURE__ */ (0,
|
|
119965
|
-
/* @__PURE__ */ (0,
|
|
119966
|
-
/* @__PURE__ */ (0,
|
|
119967
|
-
/* @__PURE__ */ (0,
|
|
119968
|
-
/* @__PURE__ */ (0,
|
|
119969
|
-
/* @__PURE__ */ (0,
|
|
119973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenu2, { children: [
|
|
119974
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ContextMenuTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { ...containerProps, children: [
|
|
119975
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Tooltip2, { children: [
|
|
119976
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(TooltipTrigger2, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex items-center gap-2 min-w-0 overflow-hidden", children: [
|
|
119977
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AgentStatusIndicator, { agent: status?.agent, isActive }),
|
|
119978
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
119970
119979
|
"span",
|
|
119971
119980
|
{
|
|
119972
119981
|
className: `text-sm truncate ${isActive ? "font-semibold text-foreground" : "font-medium text-muted-foreground"}`,
|
|
@@ -119974,41 +119983,41 @@ var WorkspaceCard = (0, import_react15.memo)(function WorkspaceCard2({
|
|
|
119974
119983
|
}
|
|
119975
119984
|
)
|
|
119976
119985
|
] }) }),
|
|
119977
|
-
/* @__PURE__ */ (0,
|
|
119986
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(TooltipContent2, { side: "top", children: worktree.branch })
|
|
119978
119987
|
] }),
|
|
119979
|
-
|
|
119980
|
-
/* @__PURE__ */ (0,
|
|
119981
|
-
branchStatus && /* @__PURE__ */ (0,
|
|
119982
|
-
branchStatus && /* @__PURE__ */ (0,
|
|
119988
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "hidden @[10rem]:flex group-hover:flex items-center gap-2 shrink-0 ml-auto pl-2", children: [
|
|
119989
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(SetupStatusIndicator, { setup: setupStatus }),
|
|
119990
|
+
branchStatus && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(GitStatusIndicator, { git: branchStatus.git }),
|
|
119991
|
+
branchStatus && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(CIStatusIndicator, { ci: branchStatus.ci })
|
|
119983
119992
|
] })
|
|
119984
119993
|
] }) }),
|
|
119985
|
-
/* @__PURE__ */ (0,
|
|
119986
|
-
capabilities.copyPath && /* @__PURE__ */ (0,
|
|
119987
|
-
/* @__PURE__ */ (0,
|
|
119994
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuContent2, { children: [
|
|
119995
|
+
capabilities.copyPath && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => navigator.clipboard.writeText(worktree.path), children: [
|
|
119996
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.Clipboard, {}),
|
|
119988
119997
|
"Copy path"
|
|
119989
119998
|
] }),
|
|
119990
|
-
capabilities.revealInFinder && /* @__PURE__ */ (0,
|
|
119991
|
-
/* @__PURE__ */ (0,
|
|
119999
|
+
capabilities.revealInFinder && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => capabilities.revealInFinder(worktree.path), children: [
|
|
120000
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.FolderOpen, {}),
|
|
119992
120001
|
"Open in Finder"
|
|
119993
120002
|
] }),
|
|
119994
|
-
worktree.hasSetup && /* @__PURE__ */ (0,
|
|
119995
|
-
/* @__PURE__ */ (0,
|
|
120003
|
+
worktree.hasSetup && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => runScript(worktree.path, "setup"), children: [
|
|
120004
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.Play, {}),
|
|
119996
120005
|
"Run setup"
|
|
119997
120006
|
] }),
|
|
119998
|
-
worktree.hasTeardown && /* @__PURE__ */ (0,
|
|
119999
|
-
/* @__PURE__ */ (0,
|
|
120007
|
+
worktree.hasTeardown && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => runScript(worktree.path, "teardown"), children: [
|
|
120008
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.Square, {}),
|
|
120000
120009
|
"Run teardown"
|
|
120001
120010
|
] }),
|
|
120002
|
-
/* @__PURE__ */ (0,
|
|
120003
|
-
/* @__PURE__ */ (0,
|
|
120011
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => gitPull(projectName, worktree.branch), children: [
|
|
120012
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.ArrowDownToLine, {}),
|
|
120004
120013
|
"Git pull"
|
|
120005
120014
|
] }),
|
|
120006
|
-
/* @__PURE__ */ (0,
|
|
120007
|
-
/* @__PURE__ */ (0,
|
|
120015
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { onClick: () => gitPush(projectName, worktree.branch), children: [
|
|
120016
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.ArrowUpFromLine, {}),
|
|
120008
120017
|
"Git push"
|
|
120009
120018
|
] }),
|
|
120010
|
-
worktree.branch !== defaultBranch && /* @__PURE__ */ (0,
|
|
120011
|
-
/* @__PURE__ */ (0,
|
|
120019
|
+
worktree.branch !== defaultBranch && /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(ContextMenuItem2, { variant: "destructive", onClick: handleDelete, children: [
|
|
120020
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_lucide_react4.Trash2, {}),
|
|
120012
120021
|
"Delete workspace"
|
|
120013
120022
|
] })
|
|
120014
120023
|
] })
|
|
@@ -120016,57 +120025,57 @@ var WorkspaceCard = (0, import_react15.memo)(function WorkspaceCard2({
|
|
|
120016
120025
|
});
|
|
120017
120026
|
|
|
120018
120027
|
// ../../packages/dashboard-core/src/components/ProjectList.tsx
|
|
120019
|
-
var
|
|
120028
|
+
var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
|
|
120020
120029
|
|
|
120021
120030
|
// ../../packages/dashboard-core/src/components/SettingsPage.tsx
|
|
120022
|
-
var
|
|
120031
|
+
var import_react21 = __toESM(require_react(), 1);
|
|
120023
120032
|
|
|
120024
120033
|
// ../../packages/dashboard-core/src/lib/experimental-flags.ts
|
|
120025
|
-
var
|
|
120034
|
+
var import_react20 = __toESM(require_react(), 1);
|
|
120026
120035
|
|
|
120027
120036
|
// ../../packages/dashboard-core/src/components/settings/SettingsRow.tsx
|
|
120028
|
-
var
|
|
120037
|
+
var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
|
|
120029
120038
|
|
|
120030
120039
|
// ../../packages/dashboard-core/src/components/settings/SettingsSection.tsx
|
|
120031
|
-
var
|
|
120040
|
+
var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
|
|
120032
120041
|
|
|
120033
120042
|
// ../../packages/dashboard-core/src/components/SettingsPage.tsx
|
|
120034
|
-
var
|
|
120043
|
+
var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
|
|
120035
120044
|
|
|
120036
120045
|
// ../../packages/dashboard-core/src/components/DashboardShell.tsx
|
|
120037
|
-
var
|
|
120046
|
+
var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
|
|
120038
120047
|
var isElectron = typeof window !== "undefined" && "__BAND_DESKTOP__" in window;
|
|
120039
120048
|
|
|
120040
120049
|
// ../../packages/dashboard-core/src/components/DiffView.tsx
|
|
120041
120050
|
init_dist4();
|
|
120042
|
-
var
|
|
120051
|
+
var import_react26 = __toESM(require_react(), 1);
|
|
120043
120052
|
|
|
120044
120053
|
// ../../packages/dashboard-core/src/hooks/use-search.ts
|
|
120045
|
-
var
|
|
120054
|
+
var import_react23 = __toESM(require_react(), 1);
|
|
120046
120055
|
|
|
120047
120056
|
// ../../packages/dashboard-core/src/components/ChangesFileTree.tsx
|
|
120048
|
-
var
|
|
120057
|
+
var import_react24 = __toESM(require_react(), 1);
|
|
120049
120058
|
|
|
120050
120059
|
// ../../packages/dashboard-core/src/components/FileStatusBadge.tsx
|
|
120051
|
-
var
|
|
120060
|
+
var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
|
|
120052
120061
|
|
|
120053
120062
|
// ../../packages/dashboard-core/src/components/ChangesFileTree.tsx
|
|
120054
|
-
var
|
|
120063
|
+
var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
|
|
120055
120064
|
|
|
120056
120065
|
// ../../packages/dashboard-core/src/components/RevertFileDialog.tsx
|
|
120057
|
-
var
|
|
120066
|
+
var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
|
|
120058
120067
|
|
|
120059
120068
|
// ../../packages/dashboard-core/src/components/SearchBar.tsx
|
|
120060
120069
|
var import_lucide_react5 = __toESM(require_lucide_react(), 1);
|
|
120061
|
-
var
|
|
120062
|
-
var
|
|
120070
|
+
var import_react25 = __toESM(require_react(), 1);
|
|
120071
|
+
var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
|
|
120063
120072
|
function ToggleButton({
|
|
120064
120073
|
active,
|
|
120065
120074
|
onClick,
|
|
120066
120075
|
title,
|
|
120067
120076
|
children
|
|
120068
120077
|
}) {
|
|
120069
|
-
return /* @__PURE__ */ (0,
|
|
120078
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
120070
120079
|
"button",
|
|
120071
120080
|
{
|
|
120072
120081
|
type: "button",
|
|
@@ -120077,7 +120086,7 @@ function ToggleButton({
|
|
|
120077
120086
|
}
|
|
120078
120087
|
);
|
|
120079
120088
|
}
|
|
120080
|
-
var SearchBar = (0,
|
|
120089
|
+
var SearchBar = (0, import_react25.forwardRef)(function SearchBar2({
|
|
120081
120090
|
query,
|
|
120082
120091
|
onQueryChange,
|
|
120083
120092
|
options: options2,
|
|
@@ -120089,27 +120098,27 @@ var SearchBar = (0, import_react22.forwardRef)(function SearchBar2({
|
|
|
120089
120098
|
onClose,
|
|
120090
120099
|
className
|
|
120091
120100
|
}, ref) {
|
|
120092
|
-
const inputRef = (0,
|
|
120093
|
-
(0,
|
|
120101
|
+
const inputRef = (0, import_react25.useRef)(null);
|
|
120102
|
+
(0, import_react25.useImperativeHandle)(ref, () => ({
|
|
120094
120103
|
focus: () => inputRef.current?.focus(),
|
|
120095
120104
|
select: () => inputRef.current?.select()
|
|
120096
120105
|
}));
|
|
120097
|
-
const toggleCase = (0,
|
|
120106
|
+
const toggleCase = (0, import_react25.useCallback)(() => {
|
|
120098
120107
|
onOptionsChange({ ...options2, caseSensitive: !options2.caseSensitive });
|
|
120099
120108
|
}, [options2, onOptionsChange]);
|
|
120100
|
-
const toggleWholeWord = (0,
|
|
120109
|
+
const toggleWholeWord = (0, import_react25.useCallback)(() => {
|
|
120101
120110
|
onOptionsChange({ ...options2, wholeWord: !options2.wholeWord });
|
|
120102
120111
|
}, [options2, onOptionsChange]);
|
|
120103
|
-
const toggleRegex = (0,
|
|
120112
|
+
const toggleRegex = (0, import_react25.useCallback)(() => {
|
|
120104
120113
|
onOptionsChange({ ...options2, regex: !options2.regex });
|
|
120105
120114
|
}, [options2, onOptionsChange]);
|
|
120106
|
-
return /* @__PURE__ */ (0,
|
|
120115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
120107
120116
|
"div",
|
|
120108
120117
|
{
|
|
120109
120118
|
className: `flex shrink-0 items-center gap-1.5 border-b border-border bg-muted/30 px-3 py-1.5 ${className ?? ""}`,
|
|
120110
120119
|
children: [
|
|
120111
|
-
/* @__PURE__ */ (0,
|
|
120112
|
-
/* @__PURE__ */ (0,
|
|
120120
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.Search, { className: "size-3.5 shrink-0 text-muted-foreground" }),
|
|
120121
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
120113
120122
|
"input",
|
|
120114
120123
|
{
|
|
120115
120124
|
ref: inputRef,
|
|
@@ -120130,11 +120139,11 @@ var SearchBar = (0, import_react22.forwardRef)(function SearchBar2({
|
|
|
120130
120139
|
}
|
|
120131
120140
|
}
|
|
120132
120141
|
),
|
|
120133
|
-
/* @__PURE__ */ (0,
|
|
120134
|
-
/* @__PURE__ */ (0,
|
|
120135
|
-
/* @__PURE__ */ (0,
|
|
120136
|
-
matchInfo && query && /* @__PURE__ */ (0,
|
|
120137
|
-
onPrevious && /* @__PURE__ */ (0,
|
|
120142
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ToggleButton, { active: options2.caseSensitive, onClick: toggleCase, title: "Match Case", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.CaseSensitive, { className: "size-4" }) }),
|
|
120143
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ToggleButton, { active: options2.wholeWord, onClick: toggleWholeWord, title: "Match Whole Word", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.WholeWord, { className: "size-4" }) }),
|
|
120144
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ToggleButton, { active: options2.regex, onClick: toggleRegex, title: "Use Regular Expression", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.Regex, { className: "size-4" }) }),
|
|
120145
|
+
matchInfo && query && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "shrink-0 text-xs text-muted-foreground tabular-nums", children: matchInfo.total > 0 ? `${matchInfo.current} of ${matchInfo.total}` : "No results" }),
|
|
120146
|
+
onPrevious && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
120138
120147
|
"button",
|
|
120139
120148
|
{
|
|
120140
120149
|
type: "button",
|
|
@@ -120142,10 +120151,10 @@ var SearchBar = (0, import_react22.forwardRef)(function SearchBar2({
|
|
|
120142
120151
|
disabled: !matchInfo || matchInfo.total === 0,
|
|
120143
120152
|
className: "inline-flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground disabled:opacity-30",
|
|
120144
120153
|
title: "Previous match (Shift+Enter)",
|
|
120145
|
-
children: /* @__PURE__ */ (0,
|
|
120154
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.ChevronUp, { className: "size-3.5" })
|
|
120146
120155
|
}
|
|
120147
120156
|
),
|
|
120148
|
-
onNext && /* @__PURE__ */ (0,
|
|
120157
|
+
onNext && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
120149
120158
|
"button",
|
|
120150
120159
|
{
|
|
120151
120160
|
type: "button",
|
|
@@ -120153,17 +120162,17 @@ var SearchBar = (0, import_react22.forwardRef)(function SearchBar2({
|
|
|
120153
120162
|
disabled: !matchInfo || matchInfo.total === 0,
|
|
120154
120163
|
className: "inline-flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground disabled:opacity-30",
|
|
120155
120164
|
title: "Next match (Enter)",
|
|
120156
|
-
children: /* @__PURE__ */ (0,
|
|
120165
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.ChevronDown, { className: "size-3.5" })
|
|
120157
120166
|
}
|
|
120158
120167
|
),
|
|
120159
|
-
onClose && /* @__PURE__ */ (0,
|
|
120168
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
120160
120169
|
"button",
|
|
120161
120170
|
{
|
|
120162
120171
|
type: "button",
|
|
120163
120172
|
onClick: onClose,
|
|
120164
120173
|
className: "inline-flex size-6 items-center justify-center rounded text-muted-foreground hover:text-foreground",
|
|
120165
120174
|
title: "Close (Escape)",
|
|
120166
|
-
children: /* @__PURE__ */ (0,
|
|
120175
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_lucide_react5.X, { className: "size-3.5" })
|
|
120167
120176
|
}
|
|
120168
120177
|
)
|
|
120169
120178
|
]
|
|
@@ -120172,7 +120181,7 @@ var SearchBar = (0, import_react22.forwardRef)(function SearchBar2({
|
|
|
120172
120181
|
});
|
|
120173
120182
|
|
|
120174
120183
|
// ../../packages/dashboard-core/src/components/DiffView.tsx
|
|
120175
|
-
var
|
|
120184
|
+
var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
|
|
120176
120185
|
var diffTheme = EditorView.theme({
|
|
120177
120186
|
".cm-insertedLine": { backgroundColor: "rgba(34, 197, 94, 0.1)" },
|
|
120178
120187
|
".cm-deletedLine": { backgroundColor: "rgba(239, 68, 68, 0.1)" },
|
|
@@ -120222,39 +120231,39 @@ var diffTheme = EditorView.theme({
|
|
|
120222
120231
|
});
|
|
120223
120232
|
|
|
120224
120233
|
// ../../packages/dashboard-core/src/components/FileBrowser.tsx
|
|
120225
|
-
var
|
|
120226
|
-
var
|
|
120234
|
+
var import_react27 = __toESM(require_react(), 1);
|
|
120235
|
+
var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
|
|
120227
120236
|
|
|
120228
120237
|
// ../../packages/dashboard-core/src/components/FileViewer.tsx
|
|
120229
|
-
var
|
|
120238
|
+
var import_react29 = __toESM(require_react(), 1);
|
|
120230
120239
|
|
|
120231
120240
|
// ../../packages/dashboard-core/src/components/ImagePreview.tsx
|
|
120232
|
-
var
|
|
120233
|
-
var
|
|
120241
|
+
var import_react28 = __toESM(require_react(), 1);
|
|
120242
|
+
var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
|
|
120234
120243
|
|
|
120235
120244
|
// ../../packages/dashboard-core/src/components/PdfPreview.tsx
|
|
120236
|
-
var
|
|
120245
|
+
var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
|
|
120237
120246
|
|
|
120238
120247
|
// ../../packages/dashboard-core/src/components/FileViewer.tsx
|
|
120239
|
-
var
|
|
120248
|
+
var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
|
|
120240
120249
|
|
|
120241
120250
|
// ../../packages/dashboard-core/src/components/QuickOpenDialog.tsx
|
|
120242
|
-
var
|
|
120243
|
-
var
|
|
120251
|
+
var import_react30 = __toESM(require_react(), 1);
|
|
120252
|
+
var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
|
|
120244
120253
|
|
|
120245
120254
|
// ../../packages/dashboard-core/src/components/SearchFilesDialog.tsx
|
|
120246
|
-
var
|
|
120247
|
-
var
|
|
120255
|
+
var import_react31 = __toESM(require_react(), 1);
|
|
120256
|
+
var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
|
|
120248
120257
|
|
|
120249
120258
|
// ../../packages/dashboard-core/src/components/WorkspacePickerDialog.tsx
|
|
120250
|
-
var
|
|
120251
|
-
var
|
|
120259
|
+
var import_react32 = __toESM(require_react(), 1);
|
|
120260
|
+
var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
|
|
120252
120261
|
|
|
120253
120262
|
// ../../packages/dashboard-core/src/components/WorkspaceTabNav.tsx
|
|
120254
|
-
var
|
|
120263
|
+
var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
|
|
120255
120264
|
|
|
120256
120265
|
// ../../packages/dashboard-core/src/hooks/use-editor-history.ts
|
|
120257
|
-
var
|
|
120266
|
+
var import_react33 = __toESM(require_react(), 1);
|
|
120258
120267
|
|
|
120259
120268
|
// ../../node_modules/.pnpm/marked@15.0.12/node_modules/marked/lib/marked.esm.js
|
|
120260
120269
|
function _getDefaults() {
|
|
@@ -130386,6 +130395,10 @@ async function createMetadataAgent(agentId) {
|
|
|
130386
130395
|
const config2 = getAgentConfig(bandHome(), agentId);
|
|
130387
130396
|
return createCodingAgent(config2);
|
|
130388
130397
|
}
|
|
130398
|
+
async function createWorkspaceAgent(worktreePath, agentId) {
|
|
130399
|
+
const config2 = getAgentConfig(worktreePath, agentId);
|
|
130400
|
+
return createCodingAgent(config2);
|
|
130401
|
+
}
|
|
130389
130402
|
async function replaceAgent(chatId, worktreePath, agentId) {
|
|
130390
130403
|
const existing = pool.get(chatId);
|
|
130391
130404
|
if (existing?.agent.abort) {
|
|
@@ -130945,10 +130958,17 @@ async function syncWorktrees() {
|
|
|
130945
130958
|
}
|
|
130946
130959
|
|
|
130947
130960
|
// src/lib/branch-status-poller.ts
|
|
130948
|
-
var
|
|
130949
|
-
|
|
130961
|
+
var INTERVALS = {
|
|
130962
|
+
// 5 s git / 30 s CI — the original cadence, used when the user is actively looking at the UI on AC power.
|
|
130963
|
+
active: { pollMs: 5e3, ciTicks: 6 },
|
|
130964
|
+
// 30 s git / 3 min CI — window unfocused OR on battery (but not both).
|
|
130965
|
+
idle: { pollMs: 3e4, ciTicks: 6 },
|
|
130966
|
+
// 60 s git / 10 min CI — window unfocused AND on battery.
|
|
130967
|
+
background: { pollMs: 6e4, ciTicks: 10 }
|
|
130968
|
+
};
|
|
130950
130969
|
var pollerTimer = null;
|
|
130951
130970
|
var tickCount = 0;
|
|
130971
|
+
var currentActivity = "active";
|
|
130952
130972
|
var repoInfoCache = /* @__PURE__ */ new Map();
|
|
130953
130973
|
function getWorkspaces() {
|
|
130954
130974
|
const state2 = loadState();
|
|
@@ -131099,7 +131119,7 @@ async function getBatchedCIStatuses(workspaces) {
|
|
|
131099
131119
|
}
|
|
131100
131120
|
async function pollTick() {
|
|
131101
131121
|
tickCount++;
|
|
131102
|
-
const isCITick = tickCount %
|
|
131122
|
+
const isCITick = tickCount % INTERVALS[currentActivity].ciTicks === 0;
|
|
131103
131123
|
if (tickCount === 1 || isCITick) {
|
|
131104
131124
|
await syncWorktrees().catch((err) => console.error("syncWorktrees error:", err));
|
|
131105
131125
|
}
|
|
@@ -131170,7 +131190,7 @@ function startBranchStatusPoller() {
|
|
|
131170
131190
|
pollTick().catch((err) => console.error("Branch status poll error:", err));
|
|
131171
131191
|
pollerTimer = setInterval(() => {
|
|
131172
131192
|
pollTick().catch((err) => console.error("Branch status poll error:", err));
|
|
131173
|
-
},
|
|
131193
|
+
}, INTERVALS[currentActivity].pollMs);
|
|
131174
131194
|
}
|
|
131175
131195
|
function stopBranchStatusPoller() {
|
|
131176
131196
|
if (pollerTimer) {
|
|
@@ -131178,6 +131198,20 @@ function stopBranchStatusPoller() {
|
|
|
131178
131198
|
pollerTimer = null;
|
|
131179
131199
|
}
|
|
131180
131200
|
}
|
|
131201
|
+
function setPollerActivity(activity) {
|
|
131202
|
+
if (activity === currentActivity) return;
|
|
131203
|
+
currentActivity = activity;
|
|
131204
|
+
if (pollerTimer) {
|
|
131205
|
+
clearInterval(pollerTimer);
|
|
131206
|
+
tickCount = 0;
|
|
131207
|
+
pollerTimer = setInterval(() => {
|
|
131208
|
+
pollTick().catch((err) => console.error("Branch status poll error:", err));
|
|
131209
|
+
}, INTERVALS[activity].pollMs);
|
|
131210
|
+
}
|
|
131211
|
+
}
|
|
131212
|
+
function getPollerActivity() {
|
|
131213
|
+
return currentActivity;
|
|
131214
|
+
}
|
|
131181
131215
|
|
|
131182
131216
|
// src/lib/setup-runner.ts
|
|
131183
131217
|
import { spawn as spawn5 } from "node:child_process";
|
|
@@ -131652,9 +131686,9 @@ var PENDING_KEY2 = Symbol.for("band.pending-inputs");
|
|
|
131652
131686
|
var g11 = globalThis;
|
|
131653
131687
|
if (!g11[PENDING_KEY2]) g11[PENDING_KEY2] = /* @__PURE__ */ new Map();
|
|
131654
131688
|
var pendingInputs = g11[PENDING_KEY2];
|
|
131655
|
-
function createPendingInput(approvalId) {
|
|
131689
|
+
function createPendingInput(approvalId, workspaceId) {
|
|
131656
131690
|
return new Promise((resolve8, reject) => {
|
|
131657
|
-
pendingInputs.set(approvalId, { resolve: resolve8, reject });
|
|
131691
|
+
pendingInputs.set(approvalId, { resolve: resolve8, reject, workspaceId });
|
|
131658
131692
|
});
|
|
131659
131693
|
}
|
|
131660
131694
|
function resolvePendingInput(approvalId, answers) {
|
|
@@ -131670,6 +131704,12 @@ function rejectAllPendingInputs(error40) {
|
|
|
131670
131704
|
pending2.reject(error40);
|
|
131671
131705
|
}
|
|
131672
131706
|
}
|
|
131707
|
+
function hasPendingInputForWorkspace(workspaceId) {
|
|
131708
|
+
for (const pending2 of pendingInputs.values()) {
|
|
131709
|
+
if (pending2.workspaceId === workspaceId) return true;
|
|
131710
|
+
}
|
|
131711
|
+
return false;
|
|
131712
|
+
}
|
|
131673
131713
|
|
|
131674
131714
|
// src/lib/task-store.ts
|
|
131675
131715
|
init_src();
|
|
@@ -132074,7 +132114,7 @@ async function runTask(chatId, task) {
|
|
|
132074
132114
|
});
|
|
132075
132115
|
const needsAttention = upsertWorkspaceStatus(task.workspaceId, { status: "needs_attention" });
|
|
132076
132116
|
emit({ kind: "update", status: needsAttention });
|
|
132077
|
-
const answers = await createPendingInput(request.approvalId);
|
|
132117
|
+
const answers = await createPendingInput(request.approvalId, task.workspaceId);
|
|
132078
132118
|
const restored = upsertWorkspaceStatus(task.workspaceId, { status: "working" });
|
|
132079
132119
|
emit({ kind: "update", status: restored });
|
|
132080
132120
|
return answers;
|
|
@@ -134580,7 +134620,7 @@ function attachSession(ws, terminalId, workspaceId, session, isNew) {
|
|
|
134580
134620
|
}
|
|
134581
134621
|
} catch {
|
|
134582
134622
|
}
|
|
134583
|
-
},
|
|
134623
|
+
}, 3e3);
|
|
134584
134624
|
const exitDisposable = session.pty.onExit(({ exitCode }) => {
|
|
134585
134625
|
clearInterval(processInterval);
|
|
134586
134626
|
log18.debug("PTY exited with code %d for terminal %s", exitCode, terminalId);
|
|
@@ -142954,6 +142994,144 @@ var workspaceRouter = t2.router({
|
|
|
142954
142994
|
}
|
|
142955
142995
|
return { ok: true };
|
|
142956
142996
|
}),
|
|
142997
|
+
gitPull: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string() })).mutation(async ({ input }) => {
|
|
142998
|
+
const workspace = resolveWorkspace(input.workspaceId);
|
|
142999
|
+
if (!workspace) {
|
|
143000
|
+
throw new Error("Workspace not found");
|
|
143001
|
+
}
|
|
143002
|
+
const cwd = workspace.worktree.path;
|
|
143003
|
+
try {
|
|
143004
|
+
await execGit(["pull", "--rebase"], cwd);
|
|
143005
|
+
} catch (e2) {
|
|
143006
|
+
const msg = String(e2);
|
|
143007
|
+
if (msg.includes("Cannot rebase onto multiple branches")) {
|
|
143008
|
+
return { ok: true };
|
|
143009
|
+
}
|
|
143010
|
+
throw new Error(e2 instanceof Error ? e2.message : msg);
|
|
143011
|
+
}
|
|
143012
|
+
return { ok: true };
|
|
143013
|
+
}),
|
|
143014
|
+
gitPush: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string() })).mutation(async ({ input }) => {
|
|
143015
|
+
const workspace = resolveWorkspace(input.workspaceId);
|
|
143016
|
+
if (!workspace) {
|
|
143017
|
+
throw new Error("Workspace not found");
|
|
143018
|
+
}
|
|
143019
|
+
const cwd = workspace.worktree.path;
|
|
143020
|
+
try {
|
|
143021
|
+
await execGit(["push"], cwd);
|
|
143022
|
+
} catch {
|
|
143023
|
+
let headBranch;
|
|
143024
|
+
try {
|
|
143025
|
+
headBranch = (await execGit(["rev-parse", "--abbrev-ref", "HEAD"], cwd)).trim();
|
|
143026
|
+
} catch {
|
|
143027
|
+
headBranch = workspace.worktree.branch;
|
|
143028
|
+
}
|
|
143029
|
+
try {
|
|
143030
|
+
await execGit(["push", "--set-upstream", "origin", headBranch], cwd);
|
|
143031
|
+
} catch (e2) {
|
|
143032
|
+
throw new Error(e2 instanceof Error ? e2.message : String(e2));
|
|
143033
|
+
}
|
|
143034
|
+
}
|
|
143035
|
+
return { ok: true };
|
|
143036
|
+
}),
|
|
143037
|
+
gitCommit: publicProcedure.input(
|
|
143038
|
+
external_exports2.object({
|
|
143039
|
+
workspaceId: external_exports2.string(),
|
|
143040
|
+
message: external_exports2.string().min(1, "commit message is required"),
|
|
143041
|
+
body: external_exports2.string().optional()
|
|
143042
|
+
})
|
|
143043
|
+
).mutation(async ({ input }) => {
|
|
143044
|
+
const workspace = resolveWorkspace(input.workspaceId);
|
|
143045
|
+
if (!workspace) {
|
|
143046
|
+
throw new Error("Workspace not found");
|
|
143047
|
+
}
|
|
143048
|
+
const cwd = workspace.worktree.path;
|
|
143049
|
+
await execGit(["add", "-A"], cwd);
|
|
143050
|
+
const args = ["commit", "-m", input.message];
|
|
143051
|
+
const body = input.body?.trim();
|
|
143052
|
+
if (body) {
|
|
143053
|
+
args.push("-m", body);
|
|
143054
|
+
}
|
|
143055
|
+
try {
|
|
143056
|
+
await execGit(args, cwd);
|
|
143057
|
+
} catch (e2) {
|
|
143058
|
+
throw new Error(e2 instanceof Error ? e2.message : String(e2));
|
|
143059
|
+
}
|
|
143060
|
+
return { ok: true };
|
|
143061
|
+
}),
|
|
143062
|
+
generateCommitMessage: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string() })).mutation(async ({ input }) => {
|
|
143063
|
+
const workspace = resolveWorkspace(input.workspaceId);
|
|
143064
|
+
if (!workspace) {
|
|
143065
|
+
throw new Error("Workspace not found");
|
|
143066
|
+
}
|
|
143067
|
+
const cwd = workspace.worktree.path;
|
|
143068
|
+
try {
|
|
143069
|
+
const status = await execGit(["status", "--porcelain"], cwd);
|
|
143070
|
+
if (!status.trim()) {
|
|
143071
|
+
throw new Error("No changes to summarise");
|
|
143072
|
+
}
|
|
143073
|
+
} catch (e2) {
|
|
143074
|
+
if (e2 instanceof Error && e2.message === "No changes to summarise") {
|
|
143075
|
+
throw e2;
|
|
143076
|
+
}
|
|
143077
|
+
}
|
|
143078
|
+
const settings = loadSettings();
|
|
143079
|
+
const agentDef = getAgentDefinition(settings);
|
|
143080
|
+
const prompt = [
|
|
143081
|
+
"You are running inside a git workspace. Write a commit message for the changes that are pending in this workspace right now.",
|
|
143082
|
+
"",
|
|
143083
|
+
"Steps:",
|
|
143084
|
+
" 1. Run `git status` and `git diff HEAD` (and `git diff --stat` if the diff is large) to understand what changed.",
|
|
143085
|
+
" 2. If helpful, read a few of the changed files or recent commits (`git log -5 --oneline`) to match the project's commit style.",
|
|
143086
|
+
" 3. Write a single commit message.",
|
|
143087
|
+
"",
|
|
143088
|
+
"Format:",
|
|
143089
|
+
" - First line: a concise subject (\u2264 72 chars), imperative mood, no trailing period.",
|
|
143090
|
+
" - Then a blank line.",
|
|
143091
|
+
" - Then a body that explains *why* the change is being made and any notable details.",
|
|
143092
|
+
"",
|
|
143093
|
+
"Output ONLY the final commit message as plain text \u2014 no markdown fences, no preamble, no commentary, no tool-call summaries. Do not modify any files."
|
|
143094
|
+
].join("\n");
|
|
143095
|
+
let agent;
|
|
143096
|
+
try {
|
|
143097
|
+
agent = await createWorkspaceAgent(cwd, agentDef.id);
|
|
143098
|
+
} catch (e2) {
|
|
143099
|
+
throw new Error(
|
|
143100
|
+
`Failed to start coding agent "${agentDef.label}": ${e2 instanceof Error ? e2.message : String(e2)}`
|
|
143101
|
+
);
|
|
143102
|
+
}
|
|
143103
|
+
let lastTurnText = "";
|
|
143104
|
+
try {
|
|
143105
|
+
for await (const event of agent.runSession(prompt, void 0, {
|
|
143106
|
+
maxTurns: 8
|
|
143107
|
+
})) {
|
|
143108
|
+
if (event.type === "text-delta") {
|
|
143109
|
+
lastTurnText += event.text;
|
|
143110
|
+
} else if (event.type === "tool-result") {
|
|
143111
|
+
lastTurnText = "";
|
|
143112
|
+
} else if (event.type === "error") {
|
|
143113
|
+
throw new Error(event.message);
|
|
143114
|
+
}
|
|
143115
|
+
}
|
|
143116
|
+
} finally {
|
|
143117
|
+
agent.abort?.();
|
|
143118
|
+
}
|
|
143119
|
+
const cleaned = lastTurnText.trim();
|
|
143120
|
+
if (!cleaned) {
|
|
143121
|
+
throw new Error("Agent returned an empty response");
|
|
143122
|
+
}
|
|
143123
|
+
const lines = cleaned.split("\n");
|
|
143124
|
+
const subject = (lines.shift() ?? "").trim();
|
|
143125
|
+
while (lines.length > 0 && lines[0].trim() === "") {
|
|
143126
|
+
lines.shift();
|
|
143127
|
+
}
|
|
143128
|
+
const body = lines.join("\n").trim();
|
|
143129
|
+
return {
|
|
143130
|
+
message: subject,
|
|
143131
|
+
body,
|
|
143132
|
+
agentLabel: agentDef.label
|
|
143133
|
+
};
|
|
143134
|
+
}),
|
|
142957
143135
|
listFiles: publicProcedure.input(external_exports2.object({ workspaceId: external_exports2.string(), path: external_exports2.string().default("") })).query(async ({ input }) => {
|
|
142958
143136
|
const workspace = resolveWorkspace(input.workspaceId);
|
|
142959
143137
|
if (!workspace) {
|
|
@@ -143479,7 +143657,15 @@ var servicesRouter = t2.router({
|
|
|
143479
143657
|
};
|
|
143480
143658
|
log23.debug({ result }, "services.health result");
|
|
143481
143659
|
return result;
|
|
143482
|
-
})
|
|
143660
|
+
}),
|
|
143661
|
+
// Activity level controls how often the branch-status poller fires.
|
|
143662
|
+
// Driven by the Electron main process based on window focus + power state.
|
|
143663
|
+
// See `apps/desktop/src/main/services/activity-monitor.ts`.
|
|
143664
|
+
setActivity: publicProcedure.input(external_exports2.object({ activity: external_exports2.enum(["active", "idle", "background"]) })).mutation(({ input }) => {
|
|
143665
|
+
setPollerActivity(input.activity);
|
|
143666
|
+
return { activity: input.activity };
|
|
143667
|
+
}),
|
|
143668
|
+
getActivity: publicProcedure.query(() => ({ activity: getPollerActivity() }))
|
|
143483
143669
|
});
|
|
143484
143670
|
var chatRouter = t2.router({
|
|
143485
143671
|
answer: publicProcedure.input(external_exports2.object({ approvalId: external_exports2.string(), answers: external_exports2.record(external_exports2.string(), external_exports2.string()) })).mutation(({ input }) => {
|
|
@@ -143518,6 +143704,10 @@ var statusesRouter = t2.router({
|
|
|
143518
143704
|
}
|
|
143519
143705
|
return { ok: true };
|
|
143520
143706
|
}
|
|
143707
|
+
if (hasPendingInputForWorkspace(input.workspaceId)) {
|
|
143708
|
+
emit({ kind: "update", status: existing });
|
|
143709
|
+
return { ok: true };
|
|
143710
|
+
}
|
|
143521
143711
|
const status = upsertWorkspaceStatus(input.workspaceId, { status: "waiting" });
|
|
143522
143712
|
emit({ kind: "update", status });
|
|
143523
143713
|
return { ok: true };
|