@saluzi/saluzi-edu 0.7.13 → 0.7.14
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/cli.js +42 -42
- package/dist/rcs-web/assets/{AdminPanel-DugQ1zJs.js → AdminPanel-D2BlOKin.js} +1 -1
- package/dist/rcs-web/assets/{ArtifactView-rXn5UHd0.js → ArtifactView-CdmY8dgX.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ArtifactsGallery-DYZ5MTsU.js → dist/rcs-web/assets/ArtifactsGallery-CgNRmnHR.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/Claim-55pIPPu9.js → dist/rcs-web/assets/Claim-5XUBbu1N.js} +1 -1
- package/dist/rcs-web/assets/{Dashboard-CC-Am4QG.js → Dashboard-xYGSv6Lw.js} +1 -1
- package/dist/rcs-web/assets/{Join-Bv_quRru.js → Join-DWpwHKrN.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/Login-CQvhBtmI.js → dist/rcs-web/assets/Login-BECgsaNA.js} +1 -1
- package/dist/rcs-web/assets/{MemoriesGallery-DmhB-a-r.js → MemoriesGallery-CiOmM1Od.js} +1 -1
- package/dist/rcs-web/assets/{Register-CWCr9uhR.js → Register-CZk-qnY0.js} +1 -1
- package/dist/rcs-web/assets/{RegisterEmpty-BxED5Dy8.js → RegisterEmpty-Ch_-rZ4Q.js} +1 -1
- package/dist/rcs-web/assets/{SessionDetail-BtVDoMg8.js → SessionDetail-BvfRSk-I.js} +7 -7
- package/dist/rcs-web/assets/{SessionVisibilityBadge-mclra9a1.js → SessionVisibilityBadge-DgqWVacE.js} +1 -1
- package/dist/rcs-web/assets/{Setup-BOa1QZgo.js → Setup-wM-Ui88_.js} +1 -1
- package/dist/rcs-web/assets/{ShareLanding-DUksxKDO.js → ShareLanding-CFhEbfTb.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/TeamDetail-N4R7QgkK.js → dist/rcs-web/assets/TeamDetail-DGplkbKB.js} +1 -1
- package/dist/rcs-web/assets/{TeamList-Dkroa-DR.js → TeamList-DCkEwOSN.js} +1 -1
- package/dist/rcs-web/assets/{TeamSettings-sH6k3cBB.js → TeamSettings--GVPCr2u.js} +1 -1
- package/dist/rcs-web/assets/{UserSearchInput-B8gKPGEK.js → UserSearchInput-BL-q5UjI.js} +1 -1
- package/dist/rcs-web/assets/{UserSettings-Cnr-Z5oi.js → UserSettings-Dzu7_2NW.js} +1 -1
- package/dist/rcs-web/assets/{arc-BaScP50H.js → arc-CweLs86f.js} +1 -1
- package/dist/rcs-web/assets/{architectureDiagram-3BPJPVTR-LpUmudjN.js → architectureDiagram-3BPJPVTR-CBnaew3X.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/blockDiagram-GPEHLZMM-BahEW4lQ.js → dist/rcs-web/assets/blockDiagram-GPEHLZMM-B10LIxoE.js} +1 -1
- package/dist/rcs-web/assets/{c4Diagram-AAUBKEIU-NNZbDHKK.js → c4Diagram-AAUBKEIU-D2FPFw7D.js} +1 -1
- package/dist/rcs-web/assets/channel-xCO2xzDo.js +1 -0
- package/dist/rcs-web/assets/{chunk-2J33WTMH-69YYeEie.js → chunk-2J33WTMH-DuAZ1hhX.js} +1 -1
- package/dist/rcs-web/assets/{chunk-4BX2VUAB-CoMWvtbi.js → chunk-4BX2VUAB-2hDcfMbF.js} +1 -1
- package/dist/rcs-web/assets/{chunk-55IACEB6-BhdS00Z_.js → chunk-55IACEB6-yptbXrVo.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-727SXJPM-B-X0tTCc.js → dist/rcs-web/assets/chunk-727SXJPM-CqZXI5V6.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-AQP2D5EJ-uNpZ8YVO.js → dist/rcs-web/assets/chunk-AQP2D5EJ-jQSgh8tv.js} +1 -1
- package/dist/rcs-web/assets/{chunk-FMBD7UC4-INF2n4DE.js → chunk-FMBD7UC4-CXmKLoz9.js} +1 -1
- package/dist/rcs-web/assets/{chunk-ND2GUHAM-CGoZKqoJ.js → chunk-ND2GUHAM-DcwJgQ1I.js} +1 -1
- package/dist/rcs-web/assets/{chunk-QZHKN3VN-B0_Eodir.js → chunk-QZHKN3VN-D5Egk7l_.js} +1 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-Bw1hKsvW.js +1 -0
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-Bw1hKsvW.js +1 -0
- package/dist/rcs-web/assets/{code-block-IT6T5CEO-Dqe2MgFE.js → code-block-IT6T5CEO-DlEre8T_.js} +1 -1
- package/dist/rcs-web/assets/{copy-BM16nNhl.js → copy-CLvdPjzw.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-CnkedUmD.js → dist/rcs-web/assets/cose-bilkent-S5V4N54A-ChTQbRce.js} +1 -1
- package/dist/rcs-web/assets/{dagre-BM42HDAG-C3C2M9Dc.js → dagre-BM42HDAG-C-YbVNb3.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/diagram-2AECGRRQ-ESFaqWFA.js → dist/rcs-web/assets/diagram-2AECGRRQ-DLCij6AY.js} +1 -1
- package/dist/rcs-web/assets/{diagram-5GNKFQAL-18y3Di-Z.js → diagram-5GNKFQAL-BwKzkGdR.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/diagram-KO2AKTUF-HRfgxVLi.js → dist/rcs-web/assets/diagram-KO2AKTUF-BlG8s5sr.js} +1 -1
- package/dist/rcs-web/assets/{diagram-LMA3HP47-BGXS1MbV.js → diagram-LMA3HP47-C_d-MmaZ.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/diagram-OG6HWLK6-mTYLV8qh.js → dist/rcs-web/assets/diagram-OG6HWLK6-DpNm_iwR.js} +1 -1
- package/dist/rcs-web/assets/{dialog-BY4fOXc_.js → dialog-NQ-AVx58.js} +1 -1
- package/dist/rcs-web/assets/{erDiagram-TEJ5UH35-DS5hbsJs.js → erDiagram-TEJ5UH35-BMKjCngx.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/flowDiagram-I6XJVG4X-CZdy8yJc.js → dist/rcs-web/assets/flowDiagram-I6XJVG4X-A17iEmxC.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ganttDiagram-6RSMTGT7-DSBnE024.js → dist/rcs-web/assets/ganttDiagram-6RSMTGT7-B5OlRo5d.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/gitGraphDiagram-PVQCEYII-SPF9bGwd.js → dist/rcs-web/assets/gitGraphDiagram-PVQCEYII-CB2mZRLs.js} +1 -1
- package/dist/rcs-web/assets/{infoDiagram-5YYISTIA-BHH_W4WL.js → infoDiagram-5YYISTIA-CfXW8MRE.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-Dk_V2DBo.js → dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-BhjcnpdC.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/journeyDiagram-JHISSGLW-D9V0wEAf.js → dist/rcs-web/assets/journeyDiagram-JHISSGLW-CApDn6x-.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/kanban-definition-UN3LZRKU-CsqaKKO9.js → dist/rcs-web/assets/kanban-definition-UN3LZRKU-Chx7pPDw.js} +1 -1
- package/dist/rcs-web/assets/{linear-B41O4W2v.js → linear-B-1to2hH.js} +1 -1
- package/dist/rcs-web/assets/{main-BEcUh0F7.js → main-BS9Lw_5N.js} +4 -4
- package/dist/rcs-web/assets/main-CK63KDX7.css +1 -0
- package/{packages/remote-control-server/web/dist/assets/mermaid-VLURNSYL-C1VVhmLq.js → dist/rcs-web/assets/mermaid-VLURNSYL-vwkADU0l.js} +4 -4
- package/dist/rcs-web/assets/{mermaid.core-DQfCv5Cg.js → mermaid.core-B7Vlk3kK.js} +5 -5
- package/dist/rcs-web/assets/{mindmap-definition-RKZ34NQL-BD1xoQCh.js → mindmap-definition-RKZ34NQL-8NONPI2a.js} +1 -1
- package/dist/rcs-web/assets/{notifications-BPvB-uGE.js → notifications-DhCswD0D.js} +1 -1
- package/dist/rcs-web/assets/{pieDiagram-4H26LBE5-C9VTG-uO.js → pieDiagram-4H26LBE5-Bfmy32wf.js} +1 -1
- package/dist/rcs-web/assets/{quadrantDiagram-W4KKPZXB-CcdAz31R.js → quadrantDiagram-W4KKPZXB-Du5i8g4M.js} +1 -1
- package/dist/rcs-web/assets/{refresh-cw-D-EyhwSL.js → refresh-cw-BRyy1vY7.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/requirementDiagram-4Y6WPE33-56ONxGl0.js → dist/rcs-web/assets/requirementDiagram-4Y6WPE33-Ciny9AX3.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-ECkEyAfb.js → dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-sLE95Cwh.js} +1 -1
- package/dist/rcs-web/assets/{sequenceDiagram-3UESZ5HK-C_31JcIA.js → sequenceDiagram-3UESZ5HK-CQZ9uU8-.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/stateDiagram-AJRCARHV-BCCWavRG.js → dist/rcs-web/assets/stateDiagram-AJRCARHV-uc20eqzV.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-v2-BHNVJYJU-CErSQlCd.js → stateDiagram-v2-BHNVJYJU-hihiN4tK.js} +1 -1
- package/dist/rcs-web/assets/{timeline-definition-PNZ67QCA-Bq1dpAT8.js → timeline-definition-PNZ67QCA-lae7py1I.js} +1 -1
- package/dist/rcs-web/assets/{vennDiagram-CIIHVFJN-C0gZpyFU.js → vennDiagram-CIIHVFJN-BWfzq5yI.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-qPrWLnjV.js → dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-BpaZ1YMv.js} +1 -1
- package/dist/rcs-web/assets/{workerType-CWB4ZW61.js → workerType-Csz9RRnt.js} +1 -1
- package/dist/rcs-web/assets/{xychartDiagram-2RQKCTM6-p83OQUAm.js → xychartDiagram-2RQKCTM6-BzVPD5x9.js} +1 -1
- package/dist/rcs-web/index.html +3 -3
- package/package.json +1 -1
- package/packages/remote-control-server/web/dist/assets/{AdminPanel-DugQ1zJs.js → AdminPanel-D2BlOKin.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ArtifactView-rXn5UHd0.js → ArtifactView-CdmY8dgX.js} +1 -1
- package/{dist/rcs-web/assets/ArtifactsGallery-DYZ5MTsU.js → packages/remote-control-server/web/dist/assets/ArtifactsGallery-CgNRmnHR.js} +1 -1
- package/{dist/rcs-web/assets/Claim-55pIPPu9.js → packages/remote-control-server/web/dist/assets/Claim-5XUBbu1N.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{Dashboard-CC-Am4QG.js → Dashboard-xYGSv6Lw.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{Join-Bv_quRru.js → Join-DWpwHKrN.js} +1 -1
- package/{dist/rcs-web/assets/Login-CQvhBtmI.js → packages/remote-control-server/web/dist/assets/Login-BECgsaNA.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{MemoriesGallery-DmhB-a-r.js → MemoriesGallery-CiOmM1Od.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{Register-CWCr9uhR.js → Register-CZk-qnY0.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{RegisterEmpty-BxED5Dy8.js → RegisterEmpty-Ch_-rZ4Q.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{SessionDetail-BtVDoMg8.js → SessionDetail-BvfRSk-I.js} +7 -7
- package/packages/remote-control-server/web/dist/assets/{SessionVisibilityBadge-mclra9a1.js → SessionVisibilityBadge-DgqWVacE.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{Setup-BOa1QZgo.js → Setup-wM-Ui88_.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ShareLanding-DUksxKDO.js → ShareLanding-CFhEbfTb.js} +1 -1
- package/{dist/rcs-web/assets/TeamDetail-N4R7QgkK.js → packages/remote-control-server/web/dist/assets/TeamDetail-DGplkbKB.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{TeamList-Dkroa-DR.js → TeamList-DCkEwOSN.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{TeamSettings-sH6k3cBB.js → TeamSettings--GVPCr2u.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{UserSearchInput-B8gKPGEK.js → UserSearchInput-BL-q5UjI.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{UserSettings-Cnr-Z5oi.js → UserSettings-Dzu7_2NW.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{arc-BaScP50H.js → arc-CweLs86f.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{architectureDiagram-3BPJPVTR-LpUmudjN.js → architectureDiagram-3BPJPVTR-CBnaew3X.js} +1 -1
- package/{dist/rcs-web/assets/blockDiagram-GPEHLZMM-BahEW4lQ.js → packages/remote-control-server/web/dist/assets/blockDiagram-GPEHLZMM-B10LIxoE.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{c4Diagram-AAUBKEIU-NNZbDHKK.js → c4Diagram-AAUBKEIU-D2FPFw7D.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/channel-xCO2xzDo.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{chunk-2J33WTMH-69YYeEie.js → chunk-2J33WTMH-DuAZ1hhX.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-4BX2VUAB-CoMWvtbi.js → chunk-4BX2VUAB-2hDcfMbF.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-55IACEB6-BhdS00Z_.js → chunk-55IACEB6-yptbXrVo.js} +1 -1
- package/{dist/rcs-web/assets/chunk-727SXJPM-B-X0tTCc.js → packages/remote-control-server/web/dist/assets/chunk-727SXJPM-CqZXI5V6.js} +1 -1
- package/{dist/rcs-web/assets/chunk-AQP2D5EJ-uNpZ8YVO.js → packages/remote-control-server/web/dist/assets/chunk-AQP2D5EJ-jQSgh8tv.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-FMBD7UC4-INF2n4DE.js → chunk-FMBD7UC4-CXmKLoz9.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-ND2GUHAM-CGoZKqoJ.js → chunk-ND2GUHAM-DcwJgQ1I.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-QZHKN3VN-B0_Eodir.js → chunk-QZHKN3VN-D5Egk7l_.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-Bw1hKsvW.js +1 -0
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-Bw1hKsvW.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{code-block-IT6T5CEO-Dqe2MgFE.js → code-block-IT6T5CEO-DlEre8T_.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{copy-BM16nNhl.js → copy-CLvdPjzw.js} +1 -1
- package/{dist/rcs-web/assets/cose-bilkent-S5V4N54A-CnkedUmD.js → packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-ChTQbRce.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{dagre-BM42HDAG-C3C2M9Dc.js → dagre-BM42HDAG-C-YbVNb3.js} +1 -1
- package/{dist/rcs-web/assets/diagram-2AECGRRQ-ESFaqWFA.js → packages/remote-control-server/web/dist/assets/diagram-2AECGRRQ-DLCij6AY.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-5GNKFQAL-18y3Di-Z.js → diagram-5GNKFQAL-BwKzkGdR.js} +1 -1
- package/{dist/rcs-web/assets/diagram-KO2AKTUF-HRfgxVLi.js → packages/remote-control-server/web/dist/assets/diagram-KO2AKTUF-BlG8s5sr.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-LMA3HP47-BGXS1MbV.js → diagram-LMA3HP47-C_d-MmaZ.js} +1 -1
- package/{dist/rcs-web/assets/diagram-OG6HWLK6-mTYLV8qh.js → packages/remote-control-server/web/dist/assets/diagram-OG6HWLK6-DpNm_iwR.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{dialog-BY4fOXc_.js → dialog-NQ-AVx58.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{erDiagram-TEJ5UH35-DS5hbsJs.js → erDiagram-TEJ5UH35-BMKjCngx.js} +1 -1
- package/{dist/rcs-web/assets/flowDiagram-I6XJVG4X-CZdy8yJc.js → packages/remote-control-server/web/dist/assets/flowDiagram-I6XJVG4X-A17iEmxC.js} +1 -1
- package/{dist/rcs-web/assets/ganttDiagram-6RSMTGT7-DSBnE024.js → packages/remote-control-server/web/dist/assets/ganttDiagram-6RSMTGT7-B5OlRo5d.js} +1 -1
- package/{dist/rcs-web/assets/gitGraphDiagram-PVQCEYII-SPF9bGwd.js → packages/remote-control-server/web/dist/assets/gitGraphDiagram-PVQCEYII-CB2mZRLs.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{infoDiagram-5YYISTIA-BHH_W4WL.js → infoDiagram-5YYISTIA-CfXW8MRE.js} +1 -1
- package/{dist/rcs-web/assets/ishikawaDiagram-YF4QCWOH-Dk_V2DBo.js → packages/remote-control-server/web/dist/assets/ishikawaDiagram-YF4QCWOH-BhjcnpdC.js} +1 -1
- package/{dist/rcs-web/assets/journeyDiagram-JHISSGLW-D9V0wEAf.js → packages/remote-control-server/web/dist/assets/journeyDiagram-JHISSGLW-CApDn6x-.js} +1 -1
- package/{dist/rcs-web/assets/kanban-definition-UN3LZRKU-CsqaKKO9.js → packages/remote-control-server/web/dist/assets/kanban-definition-UN3LZRKU-Chx7pPDw.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{linear-B41O4W2v.js → linear-B-1to2hH.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{main-BEcUh0F7.js → main-BS9Lw_5N.js} +4 -4
- package/packages/remote-control-server/web/dist/assets/main-CK63KDX7.css +1 -0
- package/{dist/rcs-web/assets/mermaid-VLURNSYL-C1VVhmLq.js → packages/remote-control-server/web/dist/assets/mermaid-VLURNSYL-vwkADU0l.js} +4 -4
- package/packages/remote-control-server/web/dist/assets/{mermaid.core-DQfCv5Cg.js → mermaid.core-B7Vlk3kK.js} +5 -5
- package/packages/remote-control-server/web/dist/assets/{mindmap-definition-RKZ34NQL-BD1xoQCh.js → mindmap-definition-RKZ34NQL-8NONPI2a.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{notifications-BPvB-uGE.js → notifications-DhCswD0D.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{pieDiagram-4H26LBE5-C9VTG-uO.js → pieDiagram-4H26LBE5-Bfmy32wf.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{quadrantDiagram-W4KKPZXB-CcdAz31R.js → quadrantDiagram-W4KKPZXB-Du5i8g4M.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{refresh-cw-D-EyhwSL.js → refresh-cw-BRyy1vY7.js} +1 -1
- package/{dist/rcs-web/assets/requirementDiagram-4Y6WPE33-56ONxGl0.js → packages/remote-control-server/web/dist/assets/requirementDiagram-4Y6WPE33-Ciny9AX3.js} +1 -1
- package/{dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-ECkEyAfb.js → packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-sLE95Cwh.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{sequenceDiagram-3UESZ5HK-C_31JcIA.js → sequenceDiagram-3UESZ5HK-CQZ9uU8-.js} +1 -1
- package/{dist/rcs-web/assets/stateDiagram-AJRCARHV-BCCWavRG.js → packages/remote-control-server/web/dist/assets/stateDiagram-AJRCARHV-uc20eqzV.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-v2-BHNVJYJU-CErSQlCd.js → stateDiagram-v2-BHNVJYJU-hihiN4tK.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{timeline-definition-PNZ67QCA-Bq1dpAT8.js → timeline-definition-PNZ67QCA-lae7py1I.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{vennDiagram-CIIHVFJN-C0gZpyFU.js → vennDiagram-CIIHVFJN-BWfzq5yI.js} +1 -1
- package/{dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-qPrWLnjV.js → packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-BpaZ1YMv.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{workerType-CWB4ZW61.js → workerType-Csz9RRnt.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{xychartDiagram-2RQKCTM6-p83OQUAm.js → xychartDiagram-2RQKCTM6-BzVPD5x9.js} +1 -1
- package/packages/remote-control-server/web/dist/index.html +3 -3
- package/dist/rcs-web/assets/channel-S5Y2JIsm.js +0 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-BftkaBF6.js +0 -1
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-BftkaBF6.js +0 -1
- package/dist/rcs-web/assets/main-B7U6M5cC.css +0 -1
- package/packages/remote-control-server/web/dist/assets/channel-S5Y2JIsm.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-BftkaBF6.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-BftkaBF6.js +0 -1
- package/packages/remote-control-server/web/dist/assets/main-B7U6M5cC.css +0 -1
package/packages/remote-control-server/web/dist/assets/{main-BEcUh0F7.js → main-BS9Lw_5N.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid-VLURNSYL-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid-VLURNSYL-vwkADU0l.js","assets/preload-helper-BiaRt2Oj.js","assets/vendor-DE_-CLIE.js","assets/shiki-ChKhlm5h.js","assets/Dashboard-xYGSv6Lw.js","assets/RegisterEmpty-Ch_-rZ4Q.js","assets/workerType-Csz9RRnt.js","assets/SessionVisibilityBadge-DgqWVacE.js","assets/dialog-NQ-AVx58.js","assets/motion-BILbV7YQ.js","assets/SessionDetail-BvfRSk-I.js","assets/refresh-cw-BRyy1vY7.js","assets/UserSearchInput-BL-q5UjI.js","assets/copy-CLvdPjzw.js","assets/ArtifactsGallery-CgNRmnHR.js","assets/MemoriesGallery-CiOmM1Od.js","assets/notifications-DhCswD0D.js","assets/ShareLanding-CFhEbfTb.js","assets/ArtifactView-CdmY8dgX.js","assets/Claim-5XUBbu1N.js","assets/Login-BECgsaNA.js","assets/Register-CZk-qnY0.js","assets/Setup-wM-Ui88_.js","assets/Join-DWpwHKrN.js","assets/UserSettings-Dzu7_2NW.js","assets/TeamList-DCkEwOSN.js","assets/TeamDetail-DGplkbKB.js","assets/TeamSettings--GVPCr2u.js","assets/AdminPanel-D2BlOKin.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var Fc=Object.defineProperty;var $c=(e,t,n)=>t in e?Fc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var se=(e,t,n)=>$c(e,typeof t!="symbol"?t+"":t,n);import{e as p,a as mt,j as d,R as us,r as da,b as Uc,c as fs,d as zc}from"./vendor-DE_-CLIE.js";import{_ as Ne}from"./preload-helper-BiaRt2Oj.js";import{m as Hc}from"./motion-BILbV7YQ.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function ua(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=ua(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function fa(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=ua(e))&&(r&&(r+=" "),r+=t);return r}const Bc=(e,t)=>{const n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Wc=(e,t)=>({classGroupId:e,validator:t}),ma=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),zn="-",eo=[],Gc="arbitrary..",Vc=e=>{const t=Kc(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return qc(a);const i=a.split(zn),m=i[0]===""&&i.length>1?1:0;return pa(i,m,t)},getConflictingClassGroupIds:(a,i)=>{if(i){const m=r[a],f=n[a];return m?f?Bc(f,m):m:f||eo}return n[a]||eo}}},pa=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],o=n.nextPart.get(s);if(o){const f=pa(e,t+1,o);if(f)return f}const a=n.validators;if(a===null)return;const i=t===0?e.join(zn):e.slice(t).join(zn),m=a.length;for(let f=0;f<m;f++){const l=a[f];if(l.validator(i))return l.classGroupId}},qc=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?Gc+r:void 0})(),Kc=e=>{const{theme:t,classGroups:n}=e;return Yc(n,t)},Yc=(e,t)=>{const n=ma();for(const r in e){const s=e[r];ms(s,n,r,t)}return n},ms=(e,t,n,r)=>{const s=e.length;for(let o=0;o<s;o++){const a=e[o];Xc(a,t,n,r)}},Xc=(e,t,n,r)=>{if(typeof e=="string"){Qc(e,t,n);return}if(typeof e=="function"){Jc(e,t,n,r);return}Zc(e,t,n,r)},Qc=(e,t,n)=>{const r=e===""?t:ha(t,e);r.classGroupId=n},Jc=(e,t,n,r)=>{if(ed(e)){ms(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Wc(n,e))},Zc=(e,t,n,r)=>{const s=Object.entries(e),o=s.length;for(let a=0;a<o;a++){const[i,m]=s[a];ms(m,ha(t,i),n,r)}},ha=(e,t)=>{let n=e;const r=t.split(zn),s=r.length;for(let o=0;o<s;o++){const a=r[o];let i=n.nextPart.get(a);i||(i=ma(),n.nextPart.set(a,i)),n=i}return n},ed=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,td=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null);const s=(o,a)=>{n[o]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(o){let a=n[o];if(a!==void 0)return a;if((a=r[o])!==void 0)return s(o,a),a},set(o,a){o in n?n[o]=a:s(o,a)}}},Hr="!",to=":",nd=[],no=(e,t,n,r,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:s}),rd=e=>{const{prefix:t,experimentalParseClassName:n}=e;let r=s=>{const o=[];let a=0,i=0,m=0,f;const l=s.length;for(let v=0;v<l;v++){const w=s[v];if(a===0&&i===0){if(w===to){o.push(s.slice(m,v)),m=v+1;continue}if(w==="/"){f=v;continue}}w==="["?a++:w==="]"?a--:w==="("?i++:w===")"&&i--}const c=o.length===0?s:s.slice(m);let u=c,h=!1;c.endsWith(Hr)?(u=c.slice(0,-1),h=!0):c.startsWith(Hr)&&(u=c.slice(1),h=!0);const b=f&&f>m?f-m:void 0;return no(o,h,u,b)};if(t){const s=t+to,o=r;r=a=>a.startsWith(s)?o(a.slice(s.length)):no(nd,!1,a,void 0,!0)}if(n){const s=r;r=o=>n({className:o,parseClassName:s})}return r},sd=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{const r=[];let s=[];for(let o=0;o<n.length;o++){const a=n[o],i=a[0]==="[",m=t.has(a);i||m?(s.length>0&&(s.sort(),r.push(...s),s=[]),r.push(a)):s.push(a)}return s.length>0&&(s.sort(),r.push(...s)),r}},od=e=>({cache:td(e.cacheSize),parseClassName:rd(e),sortModifiers:sd(e),postfixLookupClassGroupIds:ad(e),...Vc(e)}),ad=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let r=0;r<n.length;r++)t[n[r]]=!0;return t},id=/\s+/,ld=(e,t)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=t,i=[],m=e.trim().split(id);let f="";for(let l=m.length-1;l>=0;l-=1){const c=m[l],{isExternal:u,modifiers:h,hasImportantModifier:b,baseClassName:v,maybePostfixModifierPosition:w}=n(c);if(u){f=c+(f.length>0?" "+f:f);continue}let y=!!w,T;if(y){const _=v.substring(0,w);T=r(_);const g=T&&a[T]?r(v):void 0;g&&g!==T&&(T=g,y=!1)}else T=r(v);if(!T){if(!y){f=c+(f.length>0?" "+f:f);continue}if(T=r(v),!T){f=c+(f.length>0?" "+f:f);continue}y=!1}const A=h.length===0?"":h.length===1?h[0]:o(h).join(":"),k=b?A+Hr:A,O=k+T;if(i.indexOf(O)>-1)continue;i.push(O);const E=s(T,y);for(let _=0;_<E.length;++_){const g=E[_];i.push(k+g)}f=c+(f.length>0?" "+f:f)}return f},cd=(...e)=>{let t=0,n,r,s="";for(;t<e.length;)(n=e[t++])&&(r=ga(n))&&(s&&(s+=" "),s+=r);return s},ga=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=ga(e[r]))&&(n&&(n+=" "),n+=t);return n},dd=(e,...t)=>{let n,r,s,o;const a=m=>{const f=t.reduce((l,c)=>c(l),e());return n=od(f),r=n.cache.get,s=n.cache.set,o=i,i(m)},i=m=>{const f=r(m);if(f)return f;const l=ld(m,n);return s(m,l),l};return o=a,(...m)=>o(cd(...m))},ud=[],Te=e=>{const t=n=>n[e]||ud;return t.isThemeGetter=!0,t},ba=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,xa=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fd=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,md=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,pd=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,hd=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,gd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,bd=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ft=e=>fd.test(e),ie=e=>!!e&&!Number.isNaN(Number(e)),Ke=e=>!!e&&Number.isInteger(Number(e)),yr=e=>e.endsWith("%")&&ie(e.slice(0,-1)),nt=e=>md.test(e),ya=()=>!0,xd=e=>pd.test(e)&&!hd.test(e),ps=()=>!1,yd=e=>gd.test(e),vd=e=>bd.test(e),wd=e=>!Q(e)&&!J(e),Sd=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Cd=e=>vt(e,Sa,ps),Q=e=>ba.test(e),Et=e=>vt(e,Ca,xd),ro=e=>vt(e,Nd,ie),kd=e=>vt(e,Ea,ya),Ed=e=>vt(e,ka,ps),so=e=>vt(e,va,ps),Ad=e=>vt(e,wa,vd),_n=e=>vt(e,Aa,yd),J=e=>xa.test(e),on=e=>It(e,Ca),Td=e=>It(e,ka),oo=e=>It(e,va),_d=e=>It(e,Sa),Rd=e=>It(e,wa),Rn=e=>It(e,Aa,!0),Md=e=>It(e,Ea,!0),vt=(e,t,n)=>{const r=ba.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},It=(e,t,n=!1)=>{const r=xa.exec(e);return r?r[1]?t(r[1]):n:!1},va=e=>e==="position"||e==="percentage",wa=e=>e==="image"||e==="url",Sa=e=>e==="length"||e==="size"||e==="bg-size",Ca=e=>e==="length",Nd=e=>e==="number",ka=e=>e==="family-name",Ea=e=>e==="number"||e==="weight",Aa=e=>e==="shadow",jd=()=>{const e=Te("color"),t=Te("font"),n=Te("text"),r=Te("font-weight"),s=Te("tracking"),o=Te("leading"),a=Te("breakpoint"),i=Te("container"),m=Te("spacing"),f=Te("radius"),l=Te("shadow"),c=Te("inset-shadow"),u=Te("text-shadow"),h=Te("drop-shadow"),b=Te("blur"),v=Te("perspective"),w=Te("aspect"),y=Te("ease"),T=Te("animate"),A=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],O=()=>[...k(),J,Q],E=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto","contain","none"],g=()=>[J,Q,m],x=()=>[ft,"full","auto",...g()],M=()=>[Ke,"none","subgrid",J,Q],I=()=>["auto",{span:["full",Ke,J,Q]},Ke,J,Q],D=()=>[Ke,"auto",J,Q],F=()=>["auto","min","max","fr",J,Q],j=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],z=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...g()],S=()=>[ft,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],H=()=>[ft,"screen","full","dvw","lvw","svw","min","max","fit",...g()],P=()=>[ft,"screen","full","lh","dvh","lvh","svh","min","max","fit",...g()],U=()=>[e,J,Q],Y=()=>[...k(),oo,so,{position:[J,Q]}],N=()=>["no-repeat",{repeat:["","x","y","space","round"]}],L=()=>["auto","cover","contain",_d,Cd,{size:[J,Q]}],$=()=>[yr,on,Et],R=()=>["","none","full",f,J,Q],B=()=>["",ie,on,Et],V=()=>["solid","dashed","dotted","double"],q=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],K=()=>[ie,yr,oo,so],oe=()=>["","none",b,J,Q],ee=()=>["none",ie,J,Q],re=()=>["none",ie,J,Q],ce=()=>[ie,J,Q],ve=()=>[ft,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[nt],breakpoint:[nt],color:[ya],container:[nt],"drop-shadow":[nt],ease:["in","out","in-out"],font:[wd],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[nt],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[nt],shadow:[nt],spacing:["px",ie],text:[nt],"text-shadow":[nt],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ft,Q,J,w]}],container:["container"],"container-type":[{"@container":["","normal","size",J,Q]}],"container-named":[Sd],columns:[{columns:[ie,Q,J,i]}],"break-after":[{"break-after":A()}],"break-before":[{"break-before":A()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:O()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:x()}],"inset-x":[{"inset-x":x()}],"inset-y":[{"inset-y":x()}],start:[{"inset-s":x(),start:x()}],end:[{"inset-e":x(),end:x()}],"inset-bs":[{"inset-bs":x()}],"inset-be":[{"inset-be":x()}],top:[{top:x()}],right:[{right:x()}],bottom:[{bottom:x()}],left:[{left:x()}],visibility:["visible","invisible","collapse"],z:[{z:[Ke,"auto",J,Q]}],basis:[{basis:[ft,"full","auto",i,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ie,ft,"auto","initial","none",Q]}],grow:[{grow:["",ie,J,Q]}],shrink:[{shrink:["",ie,J,Q]}],order:[{order:[Ke,"first","last","none",J,Q]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:I()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:I()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":F()}],"auto-rows":[{"auto-rows":F()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...j(),"normal"]}],"justify-items":[{"justify-items":[...z(),"normal"]}],"justify-self":[{"justify-self":["auto",...z()]}],"align-content":[{content:["normal",...j()]}],"align-items":[{items:[...z(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...z(),{baseline:["","last"]}]}],"place-content":[{"place-content":j()}],"place-items":[{"place-items":[...z(),"baseline"]}],"place-self":[{"place-self":["auto",...z()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pbs:[{pbs:g()}],pbe:[{pbe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:S()}],"inline-size":[{inline:["auto",...H()]}],"min-inline-size":[{"min-inline":["auto",...H()]}],"max-inline-size":[{"max-inline":["none",...H()]}],"block-size":[{block:["auto",...P()]}],"min-block-size":[{"min-block":["auto",...P()]}],"max-block-size":[{"max-block":["none",...P()]}],w:[{w:[i,"screen",...S()]}],"min-w":[{"min-w":[i,"screen","none",...S()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[a]},...S()]}],h:[{h:["screen","lh",...S()]}],"min-h":[{"min-h":["screen","lh","none",...S()]}],"max-h":[{"max-h":["screen","lh",...S()]}],"font-size":[{text:["base",n,on,Et]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Md,kd]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",yr,Q]}],"font-family":[{font:[Td,Ed,t]}],"font-features":[{"font-features":[Q]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,J,Q]}],"line-clamp":[{"line-clamp":[ie,"none",J,ro]}],leading:[{leading:[o,...g()]}],"list-image":[{"list-image":["none",J,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",J,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...V(),"wavy"]}],"text-decoration-thickness":[{decoration:[ie,"from-font","auto",J,Et]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[ie,"auto",J,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"tab-size":[{tab:[Ke,J,Q]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J,Q]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",J,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Y()}],"bg-repeat":[{bg:N()}],"bg-size":[{bg:L()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ke,J,Q],radial:["",J,Q],conic:[Ke,J,Q]},Rd,Ad]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:$()}],"gradient-via-pos":[{via:$()}],"gradient-to-pos":[{to:$()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:R()}],"rounded-s":[{"rounded-s":R()}],"rounded-e":[{"rounded-e":R()}],"rounded-t":[{"rounded-t":R()}],"rounded-r":[{"rounded-r":R()}],"rounded-b":[{"rounded-b":R()}],"rounded-l":[{"rounded-l":R()}],"rounded-ss":[{"rounded-ss":R()}],"rounded-se":[{"rounded-se":R()}],"rounded-ee":[{"rounded-ee":R()}],"rounded-es":[{"rounded-es":R()}],"rounded-tl":[{"rounded-tl":R()}],"rounded-tr":[{"rounded-tr":R()}],"rounded-br":[{"rounded-br":R()}],"rounded-bl":[{"rounded-bl":R()}],"border-w":[{border:B()}],"border-w-x":[{"border-x":B()}],"border-w-y":[{"border-y":B()}],"border-w-s":[{"border-s":B()}],"border-w-e":[{"border-e":B()}],"border-w-bs":[{"border-bs":B()}],"border-w-be":[{"border-be":B()}],"border-w-t":[{"border-t":B()}],"border-w-r":[{"border-r":B()}],"border-w-b":[{"border-b":B()}],"border-w-l":[{"border-l":B()}],"divide-x":[{"divide-x":B()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":B()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...V(),"hidden","none"]}],"divide-style":[{divide:[...V(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-bs":[{"border-bs":U()}],"border-color-be":[{"border-be":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...V(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ie,J,Q]}],"outline-w":[{outline:["",ie,on,Et]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","none",l,Rn,_n]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",c,Rn,_n]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:B()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[ie,Et]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":B()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",u,Rn,_n]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[ie,J,Q]}],"mix-blend":[{"mix-blend":[...q(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":q()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ie]}],"mask-image-linear-from-pos":[{"mask-linear-from":K()}],"mask-image-linear-to-pos":[{"mask-linear-to":K()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":K()}],"mask-image-t-to-pos":[{"mask-t-to":K()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":K()}],"mask-image-r-to-pos":[{"mask-r-to":K()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":K()}],"mask-image-b-to-pos":[{"mask-b-to":K()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":K()}],"mask-image-l-to-pos":[{"mask-l-to":K()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":K()}],"mask-image-x-to-pos":[{"mask-x-to":K()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":K()}],"mask-image-y-to-pos":[{"mask-y-to":K()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[J,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":K()}],"mask-image-radial-to-pos":[{"mask-radial-to":K()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[ie]}],"mask-image-conic-from-pos":[{"mask-conic-from":K()}],"mask-image-conic-to-pos":[{"mask-conic-to":K()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Y()}],"mask-repeat":[{mask:N()}],"mask-size":[{mask:L()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",J,Q]}],filter:[{filter:["","none",J,Q]}],blur:[{blur:oe()}],brightness:[{brightness:[ie,J,Q]}],contrast:[{contrast:[ie,J,Q]}],"drop-shadow":[{"drop-shadow":["","none",h,Rn,_n]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",ie,J,Q]}],"hue-rotate":[{"hue-rotate":[ie,J,Q]}],invert:[{invert:["",ie,J,Q]}],saturate:[{saturate:[ie,J,Q]}],sepia:[{sepia:["",ie,J,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",J,Q]}],"backdrop-blur":[{"backdrop-blur":oe()}],"backdrop-brightness":[{"backdrop-brightness":[ie,J,Q]}],"backdrop-contrast":[{"backdrop-contrast":[ie,J,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ie,J,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ie,J,Q]}],"backdrop-invert":[{"backdrop-invert":["",ie,J,Q]}],"backdrop-opacity":[{"backdrop-opacity":[ie,J,Q]}],"backdrop-saturate":[{"backdrop-saturate":[ie,J,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",ie,J,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",J,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ie,"initial",J,Q]}],ease:[{ease:["linear","initial",y,J,Q]}],delay:[{delay:[ie,J,Q]}],animate:[{animate:["none",T,J,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[v,J,Q]}],"perspective-origin":[{"perspective-origin":O()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:re()}],"scale-x":[{"scale-x":re()}],"scale-y":[{"scale-y":re()}],"scale-z":[{"scale-z":re()}],"scale-3d":["scale-3d"],skew:[{skew:ce()}],"skew-x":[{"skew-x":ce()}],"skew-y":[{"skew-y":ce()}],transform:[{transform:[J,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:O()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ve()}],"translate-x":[{"translate-x":ve()}],"translate-y":[{"translate-y":ve()}],"translate-z":[{"translate-z":ve()}],"translate-none":["translate-none"],zoom:[{zoom:[Ke,J,Q]}],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",J,Q]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":U()}],"scrollbar-track-color":[{"scrollbar-track":U()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mbs":[{"scroll-mbs":g()}],"scroll-mbe":[{"scroll-mbe":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pbs":[{"scroll-pbs":g()}],"scroll-pbe":[{"scroll-pbe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",J,Q]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[ie,on,Et,ro]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Pd=dd(jd);function Z(...e){return Pd(fa(e))}function Id(e){if(!e)return"";const t=String(e),n=document.createElement("div");return n.textContent=t,n.innerHTML}function ov(e){return e?new Date(e*1e3).toLocaleString():""}function av(e){return e==="archived"||e==="inactive"}function iv(e,t){if(!e)return"";const n=String(e);return n.length>t?n.slice(0,t)+"...":n}function Dd(e){e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,n=>n.toString(16).padStart(2,"0"));return[t.slice(0,4).join(""),t.slice(4,6).join(""),t.slice(6,8).join(""),t.slice(8,10).join(""),t.slice(10,16).join("")].join("-")}function lv(){const e=globalThis.crypto;if(e&&typeof e.randomUUID=="function")return e.randomUUID();if(!e||typeof e.getRandomValues!="function")throw new Error("crypto.getRandomValues is required to generate message UUIDs");const t=new Uint8Array(16);return e.getRandomValues(t),Dd(t)}function cv(e){if(!e||typeof e!="object")return!1;if(e.status==="conversation_cleared")return!0;const t=e.raw;return!!t&&typeof t=="object"&&t.status==="conversation_cleared"}const Od=/^Remote Control connecting(?:…|\.\.\.)$/;function dv(e){return typeof e=="string"&&Od.test(e.trim())}/**
|
|
3
3
|
* @license lucide-react v0.555.0 - ISC
|
|
4
4
|
*
|
|
@@ -351,7 +351,7 @@ ${e.outputText}`;default:return""}}function rw(e,t){const n=t.trim();if(!n)retur
|
|
|
351
351
|
5e:0.5 5c:0.5 5e:0.5 5g:0.5 | 5e:2 r:1 |
|
|
352
352
|
4a:0.5 4a:0.5 4a:0.5 5d:1 | 5f:0.5 5f:0.5 5f:0.5 5a:1 |
|
|
353
353
|
5f:0.5 5d:0.5 5f:0.5 5a:0.5 | 6d:2 r:0.5 5a:0.5 |
|
|
354
|
-
5g:0.5 5e:0.5 5c:0.5 5e:0.5 | 5g:2 5e:0.5 5c:0.5 | 4g:2 r:2`,{name:"William Tell Overture",bpm:144,key:"E major"}),ns=[Jg,Lg,Vg,Hg,Dg,Qg,qg,Zg,Rg,Ug,Kg,Xg,Yg,$g,jg,Gg,zg,Og,Mg,Ng,Wg,Bg,Ig,Pg,Fg,e0];new Map(ns.map(e=>[e.name,e]));function t0(e=Math.random){const t=ns[Math.floor(e()*ns.length)];if(t===void 0)throw new Error("CLASSIC_SCORES is empty");return t}function n0(){return t0(Math.random)}function r0(e,t){return Cg(e,Math.floor(t/kg(e.bpm)))}function s0(e){return`${e.name}, ${Ag(e)}`}function o0(e){return`rgb(${e.r}, ${e.g}, ${e.b})`}function a0({score:e,stalled:t=!1,className:n}){const r=Sl(!0),s=bg(),o=Z("live-glyph inline-flex w-[0.6em] shrink-0 justify-center leading-none",t&&"live-glyph--stalled",n);if(s)return d.jsx("span",{"aria-hidden":"true",className:o,children:"●"});const a=r0(e,r);return d.jsx("span",{"aria-hidden":"true",className:o,children:d.jsx("span",{className:"live-note",style:t?void 0:{color:o0(a.color)},children:a.char})})}function i0({text:e,stalled:t=!1,className:n}){return d.jsx("span",{className:Z("live-word",t&&"live-word--stalled",n),children:e})}function Cl({active:e,since:t,className:n}){const r=xg(e,t);return!e||r<1?null:d.jsxs("span",{"aria-hidden":"true",className:Z("font-mono text-[10px] tabular-nums text-text-muted",n),children:[r,"s"]})}function l0({stalled:e=!1,since:t,className:n}){const[r]=p.useState(()=>n0());return d.jsxs("div",{className:Z("flex items-center gap-2 pt-1.5 font-display min-h-8",n),children:[d.jsx(a0,{score:r,stalled:e,className:"text-base text-brand"}),d.jsxs("span",{role:"status",className:"text-sm font-medium",children:[d.jsxs("span",{className:"sr-only",children:[G("chat.live.working")," · "]}),d.jsx(i0,{text:s0(r),stalled:e})]}),d.jsx(Cl,{active:!0,since:t,className:"self-center"})]})}var c0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],wt=c0.reduce((e,t)=>{const n=Ua(`Primitive.${t}`),r=p.forwardRef((s,o)=>{const{asChild:a,...i}=s,m=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(m,{...i,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),d0=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),u0="VisuallyHidden",kl=p.forwardRef((e,t)=>d.jsx(be.span,{...e,ref:t,style:{...d0,...e.style}}));kl.displayName=u0;var f0=kl,[fr]=it("Tooltip",[tn]),mr=tn(),El="TooltipProvider",m0=700,rs="tooltip.open",[p0,Us]=fr(El),Al=e=>{const{__scopeTooltip:t,delayDuration:n=m0,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:o}=e,a=p.useRef(!0),i=p.useRef(!1),m=p.useRef(0);return p.useEffect(()=>{const f=m.current;return()=>window.clearTimeout(f)},[]),d.jsx(p0,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:p.useCallback(()=>{window.clearTimeout(m.current),a.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:i,onPointerInTransitChange:p.useCallback(f=>{i.current=f},[]),disableHoverableContent:s,children:o})};Al.displayName=El;var mn="Tooltip",[h0,kn]=fr(mn),Tl=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:s,onOpenChange:o,disableHoverableContent:a,delayDuration:i}=e,m=Us(mn,e.__scopeTooltip),f=mr(t),[l,c]=p.useState(null),u=De(),h=p.useRef(0),b=a??m.disableHoverableContent,v=i??m.delayDuration,w=p.useRef(!1),[y,T]=gt({prop:r,defaultProp:s??!1,onChange:_=>{_?(m.onOpen(),document.dispatchEvent(new CustomEvent(rs))):m.onClose(),o==null||o(_)},caller:mn}),A=p.useMemo(()=>y?w.current?"delayed-open":"instant-open":"closed",[y]),k=p.useCallback(()=>{window.clearTimeout(h.current),h.current=0,w.current=!1,T(!0)},[T]),O=p.useCallback(()=>{window.clearTimeout(h.current),h.current=0,T(!1)},[T]),E=p.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{w.current=!0,T(!0),h.current=0},v)},[v,T]);return p.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),d.jsx(As,{...f,children:d.jsx(h0,{scope:t,contentId:u,open:y,stateAttribute:A,trigger:l,onTriggerChange:c,onTriggerEnter:p.useCallback(()=>{m.isOpenDelayedRef.current?E():k()},[m.isOpenDelayedRef,E,k]),onTriggerLeave:p.useCallback(()=>{b?O():(window.clearTimeout(h.current),h.current=0)},[O,b]),onOpen:k,onClose:O,disableHoverableContent:b,children:n})})};Tl.displayName=mn;var ss="TooltipTrigger",_l=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=kn(ss,n),o=Us(ss,n),a=mr(n),i=p.useRef(null),m=Ae(t,i,s.onTriggerChange),f=p.useRef(!1),l=p.useRef(!1),c=p.useCallback(()=>f.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",c),[c]),d.jsx(ir,{asChild:!0,...a,children:d.jsx(be.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:m,onPointerMove:ne(e.onPointerMove,u=>{u.pointerType!=="touch"&&!l.current&&!o.isPointerInTransitRef.current&&(s.onTriggerEnter(),l.current=!0)}),onPointerLeave:ne(e.onPointerLeave,()=>{s.onTriggerLeave(),l.current=!1}),onPointerDown:ne(e.onPointerDown,()=>{s.open&&s.onClose(),f.current=!0,document.addEventListener("pointerup",c,{once:!0})}),onFocus:ne(e.onFocus,()=>{f.current||s.onOpen()}),onBlur:ne(e.onBlur,s.onClose),onClick:ne(e.onClick,s.onClose)})})});_l.displayName=ss;var zs="TooltipPortal",[g0,b0]=fr(zs,{forceMount:void 0}),Rl=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:s}=e,o=kn(zs,t);return d.jsx(g0,{scope:t,forceMount:n,children:d.jsx(ze,{present:n||o.open,children:d.jsx(vn,{asChild:!0,container:s,children:r})})})};Rl.displayName=zs;var Qt="TooltipContent",Ml=p.forwardRef((e,t)=>{const n=b0(Qt,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...o}=e,a=kn(Qt,e.__scopeTooltip);return d.jsx(ze,{present:r||a.open,children:a.disableHoverableContent?d.jsx(Nl,{side:s,...o,ref:t}):d.jsx(x0,{side:s,...o,ref:t})})}),x0=p.forwardRef((e,t)=>{const n=kn(Qt,e.__scopeTooltip),r=Us(Qt,e.__scopeTooltip),s=p.useRef(null),o=Ae(t,s),[a,i]=p.useState(null),{trigger:m,onClose:f}=n,l=s.current,{onPointerInTransitChange:c}=r,u=p.useCallback(()=>{i(null),c(!1)},[c]),h=p.useCallback((b,v)=>{const w=b.currentTarget,y={x:b.clientX,y:b.clientY},T=S0(y,w.getBoundingClientRect()),A=C0(y,T),k=k0(v.getBoundingClientRect()),O=A0([...A,...k]);i(O),c(!0)},[c]);return p.useEffect(()=>()=>u(),[u]),p.useEffect(()=>{if(m&&l){const b=w=>h(w,l),v=w=>h(w,m);return m.addEventListener("pointerleave",b),l.addEventListener("pointerleave",v),()=>{m.removeEventListener("pointerleave",b),l.removeEventListener("pointerleave",v)}}},[m,l,h,u]),p.useEffect(()=>{if(a){const b=v=>{const w=v.target,y={x:v.clientX,y:v.clientY},T=(m==null?void 0:m.contains(w))||(l==null?void 0:l.contains(w)),A=!E0(y,a);T?u():A&&(u(),f())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[m,l,a,f,u]),d.jsx(Nl,{...e,ref:o})}),[y0,v0]=fr(mn,{isInside:!1}),w0=pf("TooltipContent"),Nl=p.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:a,...i}=e,m=kn(Qt,n),f=mr(n),{onClose:l}=m;return p.useEffect(()=>(document.addEventListener(rs,l),()=>document.removeEventListener(rs,l)),[l]),p.useEffect(()=>{if(m.trigger){const c=u=>{const h=u.target;h!=null&&h.contains(m.trigger)&&l()};return window.addEventListener("scroll",c,{capture:!0}),()=>window.removeEventListener("scroll",c,{capture:!0})}},[m.trigger,l]),d.jsx(xn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:c=>c.preventDefault(),onDismiss:l,children:d.jsxs(Ts,{"data-state":m.stateAttribute,...f,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(w0,{children:r}),d.jsx(y0,{scope:n,isInside:!0,children:d.jsx(f0,{id:m.contentId,role:"tooltip",children:s||r})})]})})});Ml.displayName=Qt;var jl="TooltipArrow",Pl=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=mr(n);return v0(jl,n).isInside?null:d.jsx(_s,{...s,...r,ref:t})});Pl.displayName=jl;function S0(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,s,o)){case o:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function C0(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function k0(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function E0(e,t){const{x:n,y:r}=e;let s=!1;for(let o=0,a=t.length-1;o<t.length;a=o++){const i=t[o],m=t[a],f=i.x,l=i.y,c=m.x,u=m.y;l>r!=u>r&&n<(c-f)*(r-l)/(u-l)+f&&(s=!s)}return s}function A0(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),T0(t)}function T0(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const s=e[r];for(;t.length>=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(s.y-a.y)>=(o.y-a.y)*(s.x-a.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(s.y-a.y)>=(o.y-a.y)*(s.x-a.x))n.pop();else break}n.push(s)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var _0=Al,R0=Tl,M0=_l,N0=Rl,j0=Ml,P0=Pl;function I0({delayDuration:e=0,...t}){return d.jsx(_0,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function D0({...e}){return d.jsx(I0,{children:d.jsx(R0,{"data-slot":"tooltip",...e})})}function O0({...e}){return d.jsx(M0,{"data-slot":"tooltip-trigger",...e})}function L0({className:e,sideOffset:t=0,children:n,...r}){return d.jsx(N0,{children:d.jsxs(j0,{"data-slot":"tooltip-content",sideOffset:t,className:Z("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[n,d.jsx(P0,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const F0=p.lazy(()=>Ne(()=>import("./mermaid-VLURNSYL-C1VVhmLq.js").then(e=>e.i),__vite__mapDeps([0,1,2,3])).then(e=>({default:e.Streamdown})));p.createContext(null);const Hs=p.memo(({className:e,children:t,...n})=>d.jsx(p.Suspense,{fallback:d.jsx("div",{className:Z("whitespace-pre-wrap break-words",e),children:t}),children:d.jsx(F0,{className:Z("size-full break-words [overflow-wrap:anywhere] [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),...n,children:t})}),(e,t)=>e.children===t.children);Hs.displayName="MessageResponse";var pr="Collapsible",[$0]=it(pr),[U0,Bs]=$0(pr),Il=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:o,onOpenChange:a,...i}=e,[m,f]=gt({prop:r,defaultProp:s??!1,onChange:a,caller:pr});return d.jsx(U0,{scope:n,disabled:o,contentId:De(),open:m,onOpenToggle:p.useCallback(()=>f(l=>!l),[f]),children:d.jsx(be.div,{"data-state":Gs(m),"data-disabled":o?"":void 0,...i,ref:t})})});Il.displayName=pr;var Dl="CollapsibleTrigger",Ol=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=Bs(Dl,n);return d.jsx(be.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":Gs(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:ne(e.onClick,s.onOpenToggle)})});Ol.displayName=Dl;var Ws="CollapsibleContent",Ll=p.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=Bs(Ws,e.__scopeCollapsible);return d.jsx(ze,{present:n||s.open,children:({present:o})=>d.jsx(z0,{...r,ref:t,present:o})})});Ll.displayName=Ws;var z0=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...o}=e,a=Bs(Ws,n),[i,m]=p.useState(r),f=p.useRef(null),l=Ae(t,f),c=p.useRef(0),u=c.current,h=p.useRef(0),b=h.current,v=a.open||i,w=p.useRef(v),y=p.useRef(void 0);return p.useEffect(()=>{const T=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(T)},[]),rt(()=>{const T=f.current;if(T){y.current=y.current||{transitionDuration:T.style.transitionDuration,animationName:T.style.animationName},T.style.transitionDuration="0s",T.style.animationName="none";const A=T.getBoundingClientRect();c.current=A.height,h.current=A.width,w.current||(T.style.transitionDuration=y.current.transitionDuration,T.style.animationName=y.current.animationName),m(r)}},[a.open,r]),d.jsx(be.div,{"data-state":Gs(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!v,...o,ref:l,style:{"--radix-collapsible-content-height":u?`${u}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:v&&s})});function Gs(e){return e?"open":"closed"}var H0=Il;function B0({...e}){return d.jsx(H0,{"data-slot":"collapsible",...e})}function W0({...e}){return d.jsx(Ol,{"data-slot":"collapsible-trigger",...e})}function G0({...e}){return d.jsx(Ll,{"data-slot":"collapsible-content",...e})}const V0=({children:e,as:t="p",className:n,duration:r=2})=>{const s=Hc.create(t);return d.jsx(s,{animate:{opacity:[.5,1,.5]},className:Z("relative inline-block text-muted-foreground",n),transition:{repeat:Number.POSITIVE_INFINITY,duration:r,ease:"easeInOut"},children:e})},q0=p.memo(V0),Fl=p.createContext(null),K0=()=>{const e=p.useContext(Fl);if(!e)throw new Error("Reasoning components must be used within Reasoning");return e},Y0=1e3,X0=1e3,$l=p.memo(({className:e,isStreaming:t=!1,open:n,defaultOpen:r=!0,onOpenChange:s,duration:o,children:a,...i})=>{const[m,f]=gt({prop:n,defaultProp:r,onChange:s}),[l,c]=gt({prop:o,defaultProp:void 0}),[u,h]=p.useState(!1),[b,v]=p.useState(null);p.useEffect(()=>{t?b===null&&v(Date.now()):b!==null&&(c(Math.ceil((Date.now()-b)/X0)),v(null))},[t,b,c]);const w=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;p.useEffect(()=>{if(!w&&r&&!t&&m&&!u){const T=setTimeout(()=>{f(!1),h(!0)},Y0);return()=>clearTimeout(T)}},[t,m,r,f,u,w]);const y=T=>{f(T)};return d.jsx(Fl.Provider,{value:{isStreaming:t,isOpen:m??!1,setIsOpen:f,duration:l},children:d.jsx(B0,{className:Z("not-prose mb-4",e),onOpenChange:y,open:m,...i,children:a})})}),Q0=(e,t)=>e||t===0?d.jsx(q0,{duration:1,children:"Thinking..."}):t===void 0?d.jsx("p",{children:"Thought for a few seconds"}):d.jsxs("p",{children:["Thought for ",t," seconds"]}),Ul=p.memo(({className:e,children:t,getThinkingMessage:n=Q0,...r})=>{const{isStreaming:s,isOpen:o,duration:a}=K0();return d.jsx(W0,{className:Z("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...r,children:t??d.jsxs(d.Fragment,{children:[d.jsx(_a,{className:"size-4"}),n(s,a),d.jsx(gn,{className:Z("size-4 transition-transform",o?"rotate-180":"rotate-0")})]})})}),zl=p.memo(({className:e,children:t,...n})=>d.jsx(G0,{className:Z("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",e),...n,children:t}));$l.displayName="Reasoning";Ul.displayName="ReasoningTrigger";zl.displayName="ReasoningContent";const jr=200;function J0({entry:e,onRewind:t,onRewindAndEdit:n}){const[r,s]=p.useState(!1),[o,a]=p.useState(!1),i=p.useRef(null),m=p.useCallback(()=>{const f=i.current;f&&a(f.scrollHeight>jr+4)},[]);return p.useEffect(()=>{m()},[m,e.content]),d.jsxs("div",{className:"group/user flex justify-end items-start gap-2",children:[(t||n)&&d.jsxs("div",{className:"mt-1 flex items-center gap-0.5 opacity-0 transition-opacity group-hover/user:opacity-100",children:[t&&d.jsx("button",{type:"button",onClick:t,className:"rounded-md p-1.5 text-text-muted hover:bg-surface-2 hover:text-text-primary transition-colors",title:G("message.rewindHere"),children:d.jsx(Wu,{className:"h-3.5 w-3.5"})}),n&&d.jsx("button",{type:"button",onClick:n,className:"rounded-md p-1.5 text-text-muted hover:bg-surface-2 hover:text-text-primary transition-colors",title:G("message.rewindEdit"),children:d.jsx(ja,{className:"h-3.5 w-3.5"})})]}),d.jsxs("div",{className:"max-w-[85%] sm:max-w-[70%]",children:[e.images&&e.images.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 mb-2 justify-end",children:e.images.map((f,l)=>d.jsx(eb,{image:f},l))}),e.attachments&&e.attachments.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 mb-2 justify-end",children:e.attachments.map((f,l)=>d.jsx(tb,{attachment:f},l))}),e.content&&d.jsxs("div",{className:"relative rounded-2xl rounded-br-md bg-user-bubble border border-user-bubble-border overflow-hidden",children:[d.jsx("div",{ref:i,className:Z("px-5 py-3 text-sm text-text-primary whitespace-pre-wrap font-display leading-relaxed",!r&&o&&`max-h-[${jr}px]`),style:!r&&o?{maxHeight:`${jr}px`}:void 0,children:Id(e.content)}),!r&&o&&d.jsx("div",{className:"absolute bottom-0 inset-x-0 flex flex-col items-center pt-8 bg-gradient-to-t from-user-bubble via-user-bubble/80 to-transparent",children:d.jsxs("button",{type:"button",onClick:()=>s(!0),className:"flex items-center gap-1 px-3 py-1 rounded-full text-xs font-display font-medium text-text-secondary hover:bg-brand/10 transition-colors",children:[d.jsx("span",{children:G("message.expand")}),d.jsx(gn,{className:"h-3 w-3"})]})})]})]})]})}function Z0({entry:e,isStreaming:t}){return d.jsxs("div",{className:"flex gap-4 items-start",children:[d.jsx("div",{className:"w-8 h-8 rounded-lg bg-brand/8 flex items-center justify-center flex-shrink-0 mt-0.5 overflow-hidden",children:d.jsx("img",{src:"/code/pony.svg",alt:"Saluzi",width:28,height:28,className:"object-contain",draggable:!1})}),d.jsxs("div",{className:"flex-1 min-w-0 space-y-3",children:[d.jsx("span",{className:"text-sm font-semibold text-text-primary font-display",children:"Saluzi"}),e.chunks.map((n,r)=>{if(n.type==="thought"){const s=r===e.chunks.length-1,o=t&&s;return d.jsxs($l,{isStreaming:o,className:"mb-1",children:[d.jsx(Ul,{}),d.jsx(zl,{children:d.jsx("div",{className:"text-sm text-text-secondary leading-relaxed",children:n.text})})]},r)}return n.text.trim()?d.jsx("div",{className:"message-content text-text-primary leading-[1.75]",children:d.jsx(Hs,{children:n.text})},r):null})]})]})}function eb({image:e}){const t=`data:${e.mimeType};base64,${e.data}`;return d.jsx("button",{type:"button",className:"rounded-lg overflow-hidden border border-border hover:border-brand/40 transition-colors cursor-pointer",onClick:()=>{const n=window.open("");n&&n.document.write(`<img src="${t}" style="max-width:100%;max-height:100%" />`)},children:d.jsx("img",{src:t,alt:"Uploaded image",className:"h-20 w-20 object-cover"})})}function tb({attachment:e}){const[t,n]=p.useState(!1),r=(()=>{switch(e.kind){case"text":return d.jsx(Kt,{className:"h-4 w-4"});case"table":return d.jsx(gs,{className:"h-4 w-4"});case"directory":return d.jsx(hs,{className:"h-4 w-4"});default:return d.jsx(Kt,{className:"h-4 w-4"})}})(),s=e.size!=null?nb(e.size):null,o=e.kind==="directory"&&e.files?e.files.length:null,a=!!e.textContent;return d.jsxs("div",{className:"min-w-[160px] max-w-[300px]",children:[d.jsxs("button",{type:"button",onClick:()=>a&&n(i=>!i),className:Z("w-full flex items-center gap-2 rounded-lg border border-border bg-surface-1/50 px-3 py-2 text-xs text-text-secondary",a?"hover:border-brand/40 hover:bg-surface-1 cursor-pointer":"cursor-default"),children:[r,d.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[d.jsx("div",{className:"truncate font-mono text-text-primary",title:e.name,children:e.name}),d.jsxs("div",{className:"text-[10px] text-text-muted",children:[s&&d.jsx("span",{children:s}),s&&o!=null&&d.jsx("span",{children:" · "}),o!=null&&d.jsx("span",{children:Se("chat.fileCount",{n:o})})]})]}),a&&d.jsx(gn,{className:Z("h-3.5 w-3.5 flex-shrink-0 transition-transform",t&&"rotate-180")})]}),t&&a&&d.jsx("div",{className:"mt-1 rounded-lg border border-border bg-surface-2 p-3 max-h-[300px] overflow-auto",children:d.jsx("pre",{className:"text-[11px] text-text-secondary font-mono whitespace-pre-wrap break-words",children:e.textContent})})]})}function nb(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}const rb=new Set(["FileEditTool","Edit","SedEdit"]),sb=new Set(["FileWriteTool","Write"]),ob=new Set(["MultiEdit"]),ab=new Set(["BashTool","Bash","PowerShellTool"]);function ib(e){const t=e.match(/^([\w-]+)/);return t?t[1]:e}function Ye(e,t){for(const n of t){const r=e[n];if(typeof r=="string")return r}}function lb(e,t,n={}){if(rb.has(e)){const r=Ye(t,["old_string","oldString"]),s=Ye(t,["new_string","newString"]);return r===void 0||s===void 0?null:[{filePath:Ye(t,["file_path","filePath"])??e,oldString:r,newString:s}]}if(sb.has(e)){const r=Ye(t,["file_path","filePath"]),s=Ye(t,["content"]);if(r===void 0||s===void 0)return null;const o=n.writeOldContent;return[{filePath:r,oldString:o??"",newString:s,label:o===void 0?n.writeUnknownLabel:void 0}]}if(ob.has(e)){const r=t.edits;if(!Array.isArray(r)||r.length===0)return null;const s=Ye(t,["file_path","filePath"])??e,o=[];for(let a=0;a<r.length;a++){const i=r[a];if(!i||typeof i!="object"||Array.isArray(i))continue;const m=i,f=Ye(m,["old_string","oldString"]),l=Ye(m,["new_string","newString"]);f===void 0||l===void 0||o.push({filePath:s,oldString:f,newString:l,label:`#${a+1}`})}return o.length>0?o:null}return null}function cb(e){switch(e){case"allow_once":case"allow_always":return"default";case"reject_once":case"reject_always":return"destructive";default:return"outline"}}function db(e){switch(e){case"allow_once":case"allow_always":return"bg-approve text-white hover:bg-approve-hover";default:return""}}function ub(e){switch(e){case"allow_once":case"allow_always":return d.jsx(hn,{className:"size-4"});case"reject_once":case"reject_always":return d.jsx(bn,{className:"size-4"});default:return null}}function fb({requestId:e,options:t,onRespond:n,className:r}){nn();const s=o=>{n(e,o.optionId,o.kind)};return d.jsxs("div",{className:Z("p-3 border-t border-approve/30 bg-approve/5",r),children:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[d.jsx(Ia,{className:"size-4 text-approve-text"}),d.jsx("span",{className:"text-xs font-medium font-display text-approve-text",children:G("permission.required")})]}),d.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(o=>d.jsxs(Dt,{variant:cb(o.kind),size:"sm",onClick:()=>s(o),className:Z("gap-1.5 font-display",db(o.kind)),children:[ub(o.kind),o.name]},o.optionId))})]})}const Ho=1e3,mb=1e6;function pb({filePath:e,oldString:t,newString:n,label:r}){const s=gb(t,n),o=Wo(s,"add"),a=Wo(s,"remove"),i=s.length>Ho?s.slice(0,Ho):s,m=s.length-i.length;return d.jsxs("div",{className:"rounded-md border border-border overflow-hidden",children:[d.jsxs("div",{className:"flex items-center gap-2 border-b border-border bg-surface-2 px-2 py-1",children:[d.jsx("span",{className:"min-w-0 max-w-[60%] truncate font-mono text-[10px] text-text-primary",title:e,children:e}),o>0&&d.jsxs("span",{className:"font-mono text-[10px] text-green-600 dark:text-green-400",children:["+",o]}),a>0&&d.jsxs("span",{className:"font-mono text-[10px] text-red-600 dark:text-red-400",children:["-",a]}),r&&d.jsx("span",{className:"ml-auto flex-shrink-0 font-display text-[10px] text-text-muted",children:r})]}),d.jsxs("div",{role:"list","aria-label":Se("diff.aria",{path:e,added:o,removed:a}),className:"max-h-48 overflow-auto bg-surface-1/50 py-1 font-mono text-xs",children:[i.map((f,l)=>d.jsx(hb,{line:f},l)),m>0&&d.jsx("div",{className:"px-5 py-0.5 font-display text-[10px] text-text-muted",children:Se("diff.hidden",{n:m})})]})]})}function hb({line:e}){const t=e.type==="add"?"+":e.type==="remove"?"-":" ";return d.jsxs("div",{role:e.type==="context"?void 0:"listitem","aria-label":e.type==="add"?Se("diff.addedLine",{text:e.text}):e.type==="remove"?Se("diff.removedLine",{text:e.text}):void 0,className:Z("flex px-1 leading-relaxed",e.type==="add"&&"bg-green-500/10 text-green-700 dark:text-green-300",e.type==="remove"&&"bg-red-500/10 text-red-700 dark:text-red-300",e.type==="context"&&"text-text-secondary"),children:[d.jsx("span",{className:"w-4 flex-shrink-0 select-none text-center",children:t}),d.jsx("span",{className:"min-w-0 flex-1 whitespace-pre-wrap break-words",children:e.text.length>0?e.text:" "})]})}function Bo(e){return e.length===0?[]:e.split(`
|
|
354
|
+
5g:0.5 5e:0.5 5c:0.5 5e:0.5 | 5g:2 5e:0.5 5c:0.5 | 4g:2 r:2`,{name:"William Tell Overture",bpm:144,key:"E major"}),ns=[Jg,Lg,Vg,Hg,Dg,Qg,qg,Zg,Rg,Ug,Kg,Xg,Yg,$g,jg,Gg,zg,Og,Mg,Ng,Wg,Bg,Ig,Pg,Fg,e0];new Map(ns.map(e=>[e.name,e]));function t0(e=Math.random){const t=ns[Math.floor(e()*ns.length)];if(t===void 0)throw new Error("CLASSIC_SCORES is empty");return t}function n0(){return t0(Math.random)}function r0(e,t){return Cg(e,Math.floor(t/kg(e.bpm)))}function s0(e){return`${e.name}, ${Ag(e)}`}function o0(e){return`rgb(${e.r}, ${e.g}, ${e.b})`}function a0({score:e,stalled:t=!1,className:n}){const r=Sl(!0),s=bg(),o=Z("live-glyph inline-flex w-[0.6em] shrink-0 justify-center leading-none",t&&"live-glyph--stalled",n);if(s)return d.jsx("span",{"aria-hidden":"true",className:o,children:"●"});const a=r0(e,r);return d.jsx("span",{"aria-hidden":"true",className:o,children:d.jsx("span",{className:"live-note",style:t?void 0:{color:o0(a.color)},children:a.char})})}function i0({text:e,stalled:t=!1,className:n}){return d.jsx("span",{className:Z("live-word",t&&"live-word--stalled",n),children:e})}function Cl({active:e,since:t,className:n}){const r=xg(e,t);return!e||r<1?null:d.jsxs("span",{"aria-hidden":"true",className:Z("font-mono text-[10px] tabular-nums text-text-muted",n),children:[r,"s"]})}function l0({stalled:e=!1,since:t,className:n}){const[r]=p.useState(()=>n0());return d.jsxs("div",{className:Z("flex items-center gap-2 pt-1.5 font-display min-h-8",n),children:[d.jsx(a0,{score:r,stalled:e,className:"text-base text-brand"}),d.jsxs("span",{role:"status",className:"text-sm font-medium",children:[d.jsxs("span",{className:"sr-only",children:[G("chat.live.working")," · "]}),d.jsx(i0,{text:s0(r),stalled:e})]}),d.jsx(Cl,{active:!0,since:t,className:"self-center"})]})}var c0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],wt=c0.reduce((e,t)=>{const n=Ua(`Primitive.${t}`),r=p.forwardRef((s,o)=>{const{asChild:a,...i}=s,m=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(m,{...i,ref:o})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),d0=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),u0="VisuallyHidden",kl=p.forwardRef((e,t)=>d.jsx(be.span,{...e,ref:t,style:{...d0,...e.style}}));kl.displayName=u0;var f0=kl,[fr]=it("Tooltip",[tn]),mr=tn(),El="TooltipProvider",m0=700,rs="tooltip.open",[p0,Us]=fr(El),Al=e=>{const{__scopeTooltip:t,delayDuration:n=m0,skipDelayDuration:r=300,disableHoverableContent:s=!1,children:o}=e,a=p.useRef(!0),i=p.useRef(!1),m=p.useRef(0);return p.useEffect(()=>{const f=m.current;return()=>window.clearTimeout(f)},[]),d.jsx(p0,{scope:t,isOpenDelayedRef:a,delayDuration:n,onOpen:p.useCallback(()=>{window.clearTimeout(m.current),a.current=!1},[]),onClose:p.useCallback(()=>{window.clearTimeout(m.current),m.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:i,onPointerInTransitChange:p.useCallback(f=>{i.current=f},[]),disableHoverableContent:s,children:o})};Al.displayName=El;var mn="Tooltip",[h0,kn]=fr(mn),Tl=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:s,onOpenChange:o,disableHoverableContent:a,delayDuration:i}=e,m=Us(mn,e.__scopeTooltip),f=mr(t),[l,c]=p.useState(null),u=De(),h=p.useRef(0),b=a??m.disableHoverableContent,v=i??m.delayDuration,w=p.useRef(!1),[y,T]=gt({prop:r,defaultProp:s??!1,onChange:_=>{_?(m.onOpen(),document.dispatchEvent(new CustomEvent(rs))):m.onClose(),o==null||o(_)},caller:mn}),A=p.useMemo(()=>y?w.current?"delayed-open":"instant-open":"closed",[y]),k=p.useCallback(()=>{window.clearTimeout(h.current),h.current=0,w.current=!1,T(!0)},[T]),O=p.useCallback(()=>{window.clearTimeout(h.current),h.current=0,T(!1)},[T]),E=p.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{w.current=!0,T(!0),h.current=0},v)},[v,T]);return p.useEffect(()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)},[]),d.jsx(As,{...f,children:d.jsx(h0,{scope:t,contentId:u,open:y,stateAttribute:A,trigger:l,onTriggerChange:c,onTriggerEnter:p.useCallback(()=>{m.isOpenDelayedRef.current?E():k()},[m.isOpenDelayedRef,E,k]),onTriggerLeave:p.useCallback(()=>{b?O():(window.clearTimeout(h.current),h.current=0)},[O,b]),onOpen:k,onClose:O,disableHoverableContent:b,children:n})})};Tl.displayName=mn;var ss="TooltipTrigger",_l=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=kn(ss,n),o=Us(ss,n),a=mr(n),i=p.useRef(null),m=Ae(t,i,s.onTriggerChange),f=p.useRef(!1),l=p.useRef(!1),c=p.useCallback(()=>f.current=!1,[]);return p.useEffect(()=>()=>document.removeEventListener("pointerup",c),[c]),d.jsx(ir,{asChild:!0,...a,children:d.jsx(be.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...r,ref:m,onPointerMove:ne(e.onPointerMove,u=>{u.pointerType!=="touch"&&!l.current&&!o.isPointerInTransitRef.current&&(s.onTriggerEnter(),l.current=!0)}),onPointerLeave:ne(e.onPointerLeave,()=>{s.onTriggerLeave(),l.current=!1}),onPointerDown:ne(e.onPointerDown,()=>{s.open&&s.onClose(),f.current=!0,document.addEventListener("pointerup",c,{once:!0})}),onFocus:ne(e.onFocus,()=>{f.current||s.onOpen()}),onBlur:ne(e.onBlur,s.onClose),onClick:ne(e.onClick,s.onClose)})})});_l.displayName=ss;var zs="TooltipPortal",[g0,b0]=fr(zs,{forceMount:void 0}),Rl=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:s}=e,o=kn(zs,t);return d.jsx(g0,{scope:t,forceMount:n,children:d.jsx(ze,{present:n||o.open,children:d.jsx(vn,{asChild:!0,container:s,children:r})})})};Rl.displayName=zs;var Qt="TooltipContent",Ml=p.forwardRef((e,t)=>{const n=b0(Qt,e.__scopeTooltip),{forceMount:r=n.forceMount,side:s="top",...o}=e,a=kn(Qt,e.__scopeTooltip);return d.jsx(ze,{present:r||a.open,children:a.disableHoverableContent?d.jsx(Nl,{side:s,...o,ref:t}):d.jsx(x0,{side:s,...o,ref:t})})}),x0=p.forwardRef((e,t)=>{const n=kn(Qt,e.__scopeTooltip),r=Us(Qt,e.__scopeTooltip),s=p.useRef(null),o=Ae(t,s),[a,i]=p.useState(null),{trigger:m,onClose:f}=n,l=s.current,{onPointerInTransitChange:c}=r,u=p.useCallback(()=>{i(null),c(!1)},[c]),h=p.useCallback((b,v)=>{const w=b.currentTarget,y={x:b.clientX,y:b.clientY},T=S0(y,w.getBoundingClientRect()),A=C0(y,T),k=k0(v.getBoundingClientRect()),O=A0([...A,...k]);i(O),c(!0)},[c]);return p.useEffect(()=>()=>u(),[u]),p.useEffect(()=>{if(m&&l){const b=w=>h(w,l),v=w=>h(w,m);return m.addEventListener("pointerleave",b),l.addEventListener("pointerleave",v),()=>{m.removeEventListener("pointerleave",b),l.removeEventListener("pointerleave",v)}}},[m,l,h,u]),p.useEffect(()=>{if(a){const b=v=>{const w=v.target,y={x:v.clientX,y:v.clientY},T=(m==null?void 0:m.contains(w))||(l==null?void 0:l.contains(w)),A=!E0(y,a);T?u():A&&(u(),f())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[m,l,a,f,u]),d.jsx(Nl,{...e,ref:o})}),[y0,v0]=fr(mn,{isInside:!1}),w0=pf("TooltipContent"),Nl=p.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":s,onEscapeKeyDown:o,onPointerDownOutside:a,...i}=e,m=kn(Qt,n),f=mr(n),{onClose:l}=m;return p.useEffect(()=>(document.addEventListener(rs,l),()=>document.removeEventListener(rs,l)),[l]),p.useEffect(()=>{if(m.trigger){const c=u=>{const h=u.target;h!=null&&h.contains(m.trigger)&&l()};return window.addEventListener("scroll",c,{capture:!0}),()=>window.removeEventListener("scroll",c,{capture:!0})}},[m.trigger,l]),d.jsx(xn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:c=>c.preventDefault(),onDismiss:l,children:d.jsxs(Ts,{"data-state":m.stateAttribute,...f,...i,ref:t,style:{...i.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d.jsx(w0,{children:r}),d.jsx(y0,{scope:n,isInside:!0,children:d.jsx(f0,{id:m.contentId,role:"tooltip",children:s||r})})]})})});Ml.displayName=Qt;var jl="TooltipArrow",Pl=p.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,s=mr(n);return v0(jl,n).isInside?null:d.jsx(_s,{...s,...r,ref:t})});Pl.displayName=jl;function S0(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),s=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(n,r,s,o)){case o:return"left";case s:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function C0(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function k0(e){const{top:t,right:n,bottom:r,left:s}=e;return[{x:s,y:t},{x:n,y:t},{x:n,y:r},{x:s,y:r}]}function E0(e,t){const{x:n,y:r}=e;let s=!1;for(let o=0,a=t.length-1;o<t.length;a=o++){const i=t[o],m=t[a],f=i.x,l=i.y,c=m.x,u=m.y;l>r!=u>r&&n<(c-f)*(r-l)/(u-l)+f&&(s=!s)}return s}function A0(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),T0(t)}function T0(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const s=e[r];for(;t.length>=2;){const o=t[t.length-1],a=t[t.length-2];if((o.x-a.x)*(s.y-a.y)>=(o.y-a.y)*(s.x-a.x))t.pop();else break}t.push(s)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const s=e[r];for(;n.length>=2;){const o=n[n.length-1],a=n[n.length-2];if((o.x-a.x)*(s.y-a.y)>=(o.y-a.y)*(s.x-a.x))n.pop();else break}n.push(s)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var _0=Al,R0=Tl,M0=_l,N0=Rl,j0=Ml,P0=Pl;function I0({delayDuration:e=0,...t}){return d.jsx(_0,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function D0({...e}){return d.jsx(I0,{children:d.jsx(R0,{"data-slot":"tooltip",...e})})}function O0({...e}){return d.jsx(M0,{"data-slot":"tooltip-trigger",...e})}function L0({className:e,sideOffset:t=0,children:n,...r}){return d.jsx(N0,{children:d.jsxs(j0,{"data-slot":"tooltip-content",sideOffset:t,className:Z("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...r,children:[n,d.jsx(P0,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}const F0=p.lazy(()=>Ne(()=>import("./mermaid-VLURNSYL-vwkADU0l.js").then(e=>e.i),__vite__mapDeps([0,1,2,3])).then(e=>({default:e.Streamdown})));p.createContext(null);const Hs=p.memo(({className:e,children:t,...n})=>d.jsx(p.Suspense,{fallback:d.jsx("div",{className:Z("whitespace-pre-wrap break-words",e),children:t}),children:d.jsx(F0,{className:Z("size-full break-words [overflow-wrap:anywhere] [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),...n,children:t})}),(e,t)=>e.children===t.children);Hs.displayName="MessageResponse";var pr="Collapsible",[$0]=it(pr),[U0,Bs]=$0(pr),Il=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:o,onOpenChange:a,...i}=e,[m,f]=gt({prop:r,defaultProp:s??!1,onChange:a,caller:pr});return d.jsx(U0,{scope:n,disabled:o,contentId:De(),open:m,onOpenToggle:p.useCallback(()=>f(l=>!l),[f]),children:d.jsx(be.div,{"data-state":Gs(m),"data-disabled":o?"":void 0,...i,ref:t})})});Il.displayName=pr;var Dl="CollapsibleTrigger",Ol=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=Bs(Dl,n);return d.jsx(be.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":Gs(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:ne(e.onClick,s.onOpenToggle)})});Ol.displayName=Dl;var Ws="CollapsibleContent",Ll=p.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=Bs(Ws,e.__scopeCollapsible);return d.jsx(ze,{present:n||s.open,children:({present:o})=>d.jsx(z0,{...r,ref:t,present:o})})});Ll.displayName=Ws;var z0=p.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...o}=e,a=Bs(Ws,n),[i,m]=p.useState(r),f=p.useRef(null),l=Ae(t,f),c=p.useRef(0),u=c.current,h=p.useRef(0),b=h.current,v=a.open||i,w=p.useRef(v),y=p.useRef(void 0);return p.useEffect(()=>{const T=requestAnimationFrame(()=>w.current=!1);return()=>cancelAnimationFrame(T)},[]),rt(()=>{const T=f.current;if(T){y.current=y.current||{transitionDuration:T.style.transitionDuration,animationName:T.style.animationName},T.style.transitionDuration="0s",T.style.animationName="none";const A=T.getBoundingClientRect();c.current=A.height,h.current=A.width,w.current||(T.style.transitionDuration=y.current.transitionDuration,T.style.animationName=y.current.animationName),m(r)}},[a.open,r]),d.jsx(be.div,{"data-state":Gs(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!v,...o,ref:l,style:{"--radix-collapsible-content-height":u?`${u}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:v&&s})});function Gs(e){return e?"open":"closed"}var H0=Il;function B0({...e}){return d.jsx(H0,{"data-slot":"collapsible",...e})}function W0({...e}){return d.jsx(Ol,{"data-slot":"collapsible-trigger",...e})}function G0({...e}){return d.jsx(Ll,{"data-slot":"collapsible-content",...e})}const V0=({children:e,as:t="p",className:n,duration:r=2})=>{const s=Hc.create(t);return d.jsx(s,{animate:{opacity:[.5,1,.5]},className:Z("relative inline-block text-muted-foreground",n),transition:{repeat:Number.POSITIVE_INFINITY,duration:r,ease:"easeInOut"},children:e})},q0=p.memo(V0),Fl=p.createContext(null),K0=()=>{const e=p.useContext(Fl);if(!e)throw new Error("Reasoning components must be used within Reasoning");return e},Y0=1e3,X0=1e3,$l=p.memo(({className:e,isStreaming:t=!1,open:n,defaultOpen:r=!0,onOpenChange:s,duration:o,children:a,...i})=>{const[m,f]=gt({prop:n,defaultProp:r,onChange:s}),[l,c]=gt({prop:o,defaultProp:void 0}),[u,h]=p.useState(!1),[b,v]=p.useState(null);p.useEffect(()=>{t?b===null&&v(Date.now()):b!==null&&(c(Math.ceil((Date.now()-b)/X0)),v(null))},[t,b,c]);const w=typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;p.useEffect(()=>{if(!w&&r&&!t&&m&&!u){const T=setTimeout(()=>{f(!1),h(!0)},Y0);return()=>clearTimeout(T)}},[t,m,r,f,u,w]);const y=T=>{f(T)};return d.jsx(Fl.Provider,{value:{isStreaming:t,isOpen:m??!1,setIsOpen:f,duration:l},children:d.jsx(B0,{className:Z("not-prose mb-4",e),onOpenChange:y,open:m,...i,children:a})})}),Q0=(e,t)=>e||t===0?d.jsx(q0,{duration:1,children:"Thinking..."}):t===void 0?d.jsx("p",{children:"Thought for a few seconds"}):d.jsxs("p",{children:["Thought for ",t," seconds"]}),Ul=p.memo(({className:e,children:t,getThinkingMessage:n=Q0,...r})=>{const{isStreaming:s,isOpen:o,duration:a}=K0();return d.jsx(W0,{className:Z("flex w-full items-center gap-2 text-muted-foreground text-sm transition-colors hover:text-foreground",e),...r,children:t??d.jsxs(d.Fragment,{children:[d.jsx(_a,{className:"size-4"}),n(s,a),d.jsx(gn,{className:Z("size-4 transition-transform",o?"rotate-180":"rotate-0")})]})})}),zl=p.memo(({className:e,children:t,...n})=>d.jsx(G0,{className:Z("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-muted-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",e),...n,children:t}));$l.displayName="Reasoning";Ul.displayName="ReasoningTrigger";zl.displayName="ReasoningContent";const jr=200;function J0({entry:e,onRewind:t,onRewindAndEdit:n}){const[r,s]=p.useState(!1),[o,a]=p.useState(!1),i=p.useRef(null),m=p.useCallback(()=>{const f=i.current;f&&a(f.scrollHeight>jr+4)},[]);return p.useEffect(()=>{m()},[m,e.content]),d.jsxs("div",{className:"group/user flex justify-end items-start gap-2",children:[(t||n)&&d.jsxs("div",{className:"mt-1 flex items-center gap-0.5 opacity-0 transition-opacity group-hover/user:opacity-100",children:[t&&d.jsx("button",{type:"button",onClick:t,className:"rounded-md p-1.5 text-text-muted hover:bg-surface-2 hover:text-text-primary transition-colors",title:G("message.rewindHere"),children:d.jsx(Wu,{className:"h-3.5 w-3.5"})}),n&&d.jsx("button",{type:"button",onClick:n,className:"rounded-md p-1.5 text-text-muted hover:bg-surface-2 hover:text-text-primary transition-colors",title:G("message.rewindEdit"),children:d.jsx(ja,{className:"h-3.5 w-3.5"})})]}),d.jsxs("div",{className:"max-w-[85%] sm:max-w-[70%]",children:[e.images&&e.images.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 mb-2 justify-end",children:e.images.map((f,l)=>d.jsx(eb,{image:f},l))}),e.attachments&&e.attachments.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 mb-2 justify-end",children:e.attachments.map((f,l)=>d.jsx(tb,{attachment:f},l))}),e.content&&d.jsxs("div",{className:"relative rounded-2xl rounded-br-md bg-user-bubble border border-user-bubble-border overflow-hidden",children:[d.jsx("div",{ref:i,className:Z("px-5 py-3 text-sm text-text-primary whitespace-pre-wrap font-display leading-relaxed",!r&&o&&`max-h-[${jr}px]`),style:!r&&o?{maxHeight:`${jr}px`}:void 0,children:Id(e.content)}),!r&&o&&d.jsx("div",{className:"absolute bottom-0 inset-x-0 flex flex-col items-center pt-8 bg-gradient-to-t from-user-bubble via-user-bubble/80 to-transparent",children:d.jsxs("button",{type:"button",onClick:()=>s(!0),className:"flex items-center gap-1 px-3 py-1 rounded-full text-xs font-display font-medium text-text-secondary hover:bg-brand/10 transition-colors",children:[d.jsx("span",{children:G("message.expand")}),d.jsx(gn,{className:"h-3 w-3"})]})})]})]})]})}function Z0({entry:e,isStreaming:t}){return d.jsxs("div",{className:"flex gap-4 items-start",children:[d.jsx("div",{className:"w-8 h-8 rounded-lg bg-brand/8 flex items-center justify-center flex-shrink-0 mt-0.5 overflow-hidden",children:d.jsx("img",{src:"/code/pony.svg",alt:"Saluzi",width:28,height:28,className:"object-contain",draggable:!1})}),d.jsxs("div",{className:"flex-1 min-w-0 space-y-3",children:[d.jsx("span",{className:"text-sm font-semibold text-text-primary font-display",children:"Saluzi"}),e.chunks.map((n,r)=>{if(n.type==="thought"){const s=r===e.chunks.length-1,o=t&&s;return d.jsxs($l,{isStreaming:o,className:"mb-1",children:[d.jsx(Ul,{}),d.jsx(zl,{children:d.jsx("div",{className:"text-sm text-text-secondary leading-relaxed",children:n.text})})]},r)}return n.text.trim()?d.jsx("div",{className:"message-content text-text-primary leading-[1.75]",children:d.jsx(Hs,{children:n.text})},r):null})]})]})}function eb({image:e}){const t=`data:${e.mimeType};base64,${e.data}`;return d.jsx("button",{type:"button",className:"rounded-lg overflow-hidden border border-border hover:border-brand/40 transition-colors cursor-pointer",onClick:()=>{const n=window.open("");n&&n.document.write(`<img src="${t}" style="max-width:100%;max-height:100%" />`)},children:d.jsx("img",{src:t,alt:"Uploaded image",className:"h-20 w-20 object-cover"})})}function tb({attachment:e}){const[t,n]=p.useState(!1),r=(()=>{switch(e.kind){case"text":return d.jsx(Kt,{className:"h-4 w-4"});case"table":return d.jsx(gs,{className:"h-4 w-4"});case"directory":return d.jsx(hs,{className:"h-4 w-4"});default:return d.jsx(Kt,{className:"h-4 w-4"})}})(),s=e.size!=null?nb(e.size):null,o=e.kind==="directory"&&e.files?e.files.length:null,a=!!e.textContent;return d.jsxs("div",{className:"min-w-[160px] max-w-[300px]",children:[d.jsxs("button",{type:"button",onClick:()=>a&&n(i=>!i),className:Z("w-full flex items-center gap-2 rounded-lg border border-border bg-surface-1/50 px-3 py-2 text-xs text-text-secondary",a?"hover:border-brand/40 hover:bg-surface-1 cursor-pointer":"cursor-default"),children:[r,d.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[d.jsx("div",{className:"truncate font-mono text-text-primary",title:e.name,children:e.name}),d.jsxs("div",{className:"text-[10px] text-text-muted",children:[s&&d.jsx("span",{children:s}),s&&o!=null&&d.jsx("span",{children:" · "}),o!=null&&d.jsx("span",{children:Se("chat.fileCount",{n:o})})]})]}),a&&d.jsx(gn,{className:Z("h-3.5 w-3.5 flex-shrink-0 transition-transform",t&&"rotate-180")})]}),t&&a&&d.jsx("div",{className:"mt-1 rounded-lg border border-border bg-surface-2 p-3 max-h-[300px] overflow-auto",children:d.jsx("pre",{className:"text-[11px] text-text-secondary font-mono whitespace-pre-wrap break-words",children:e.textContent})})]})}function nb(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}const rb=new Set(["FileEditTool","Edit","SedEdit"]),sb=new Set(["FileWriteTool","Write"]),ob=new Set(["MultiEdit"]),ab=new Set(["BashTool","Bash","PowerShellTool"]);function ib(e){const t=e.match(/^([\w-]+)/);return t?t[1]:e}function Ye(e,t){for(const n of t){const r=e[n];if(typeof r=="string")return r}}function lb(e,t,n={}){if(rb.has(e)){const r=Ye(t,["old_string","oldString"]),s=Ye(t,["new_string","newString"]);return r===void 0||s===void 0?null:[{filePath:Ye(t,["file_path","filePath"])??e,oldString:r,newString:s}]}if(sb.has(e)){const r=Ye(t,["file_path","filePath"]),s=Ye(t,["content"]);if(r===void 0||s===void 0)return null;const o=n.writeOldContent;return[{filePath:r,oldString:o??"",newString:s,label:o===void 0?n.writeUnknownLabel:void 0}]}if(ob.has(e)){const r=t.edits;if(!Array.isArray(r)||r.length===0)return null;const s=Ye(t,["file_path","filePath"])??e,o=[];for(let a=0;a<r.length;a++){const i=r[a];if(!i||typeof i!="object"||Array.isArray(i))continue;const m=i,f=Ye(m,["old_string","oldString"]),l=Ye(m,["new_string","newString"]);f===void 0||l===void 0||o.push({filePath:s,oldString:f,newString:l,label:`#${a+1}`})}return o.length>0?o:null}return null}function cb(e){switch(e){case"allow_once":case"allow_always":return"default";case"reject_once":case"reject_always":return"destructive";default:return"outline"}}function db(e){switch(e){case"allow_once":case"allow_always":return"bg-approve text-white hover:bg-approve-hover";default:return""}}function ub(e){switch(e){case"allow_once":case"allow_always":return d.jsx(hn,{className:"size-4"});case"reject_once":case"reject_always":return d.jsx(bn,{className:"size-4"});default:return null}}function fb({requestId:e,options:t,onRespond:n,className:r}){nn();const s=o=>{n(e,o.optionId,o.kind)};return d.jsxs("div",{className:Z("p-3 border-t border-approve/30 bg-approve/5",r),children:[d.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[d.jsx(Ia,{className:"size-4 text-approve-text"}),d.jsx("span",{className:"text-xs font-medium font-display text-approve-text",children:G("permission.required")})]}),d.jsx("div",{className:"flex flex-wrap gap-2",children:t.map(o=>d.jsxs(Dt,{variant:cb(o.kind),size:"sm",onClick:()=>s(o),className:Z("gap-1.5 font-display",db(o.kind)),children:[ub(o.kind),o.name]},o.optionId))})]})}const Ho=1e3,mb=1e6;function pb({filePath:e,oldString:t,newString:n,label:r}){const s=gb(t,n),o=Wo(s,"add"),a=Wo(s,"remove"),i=s.length>Ho?s.slice(0,Ho):s,m=s.length-i.length;return d.jsxs("div",{className:"rounded-md border border-border overflow-hidden",children:[d.jsxs("div",{className:"flex items-center gap-2 border-b border-border bg-surface-2 px-2 py-1",children:[d.jsx("span",{className:"min-w-0 max-w-[60%] truncate font-mono text-[10px] text-text-primary",title:e,children:e}),o>0&&d.jsxs("span",{className:"font-mono text-[10px] text-green-600 dark:text-green-400",children:["+",o]}),a>0&&d.jsxs("span",{className:"font-mono text-[10px] text-red-600 dark:text-red-400",children:["-",a]}),r&&d.jsx("span",{className:"ml-auto flex-shrink-0 font-display text-[10px] text-text-muted",children:r})]}),d.jsxs("div",{role:"list","aria-label":Se("diff.aria",{path:e,added:o,removed:a}),className:"max-h-48 overflow-auto bg-surface-1/50 py-1 font-mono text-xs",children:[i.map((f,l)=>d.jsx(hb,{line:f},l)),m>0&&d.jsx("div",{className:"px-5 py-0.5 font-display text-[10px] text-text-muted",children:Se("diff.hidden",{n:m})})]})]})}function hb({line:e}){const t=e.type==="add"?"+":e.type==="remove"?"-":" ";return d.jsxs("div",{role:e.type==="context"?void 0:"listitem","aria-label":e.type==="add"?Se("diff.addedLine",{text:e.text}):e.type==="remove"?Se("diff.removedLine",{text:e.text}):void 0,className:Z("flex px-1 leading-relaxed",e.type==="add"&&"bg-green-500/10 text-green-700 dark:text-green-300",e.type==="remove"&&"bg-red-500/10 text-red-700 dark:text-red-300",e.type==="context"&&"text-text-secondary"),children:[d.jsx("span",{className:"w-4 flex-shrink-0 select-none text-center",children:t}),d.jsx("span",{className:"min-w-0 flex-1 whitespace-pre-wrap break-words",children:e.text.length>0?e.text:" "})]})}function Bo(e){return e.length===0?[]:e.split(`
|
|
355
355
|
`)}function Wo(e,t){let n=0;for(const r of e)r.type===t&&n++;return n}function gb(e,t){const n=Bo(e),r=Bo(t);let s=0;for(;s<n.length&&s<r.length&&n[s]===r[s];)s++;let o=n.length,a=r.length;for(;o>s&&a>s&&n[o-1]===r[a-1];)o--,a--;const i=[];for(let m=0;m<s;m++)i.push({type:"context",text:n[m]});bb(n.slice(s,o),r.slice(s,a),i);for(let m=o;m<n.length;m++)i.push({type:"context",text:n[m]});return i}function bb(e,t,n){const r=e.length,s=t.length;if(r===0&&s===0)return;if(r*s>mb){for(const f of e)n.push({type:"remove",text:f});for(const f of t)n.push({type:"add",text:f});return}const o=s+1,a=new Uint32Array((r+1)*o);for(let f=r-1;f>=0;f--)for(let l=s-1;l>=0;l--)a[f*o+l]=e[f]===t[l]?a[(f+1)*o+l+1]+1:Math.max(a[(f+1)*o+l],a[f*o+l+1]);let i=0,m=0;for(;i<r&&m<s;)e[i]===t[m]?(n.push({type:"context",text:e[i]}),i++,m++):a[(i+1)*o+m]>=a[i*o+m+1]?(n.push({type:"remove",text:e[i]}),i++):(n.push({type:"add",text:t[m]}),m++);for(;i<r;)n.push({type:"remove",text:e[i]}),i++;for(;m<s;)n.push({type:"add",text:t[m]}),m++}function Hl({entries:e,onPermissionRespond:t}){const[n,r]=p.useState(!1);if(e.length===0)return null;if(e.length===1)return d.jsx("div",{className:"pl-10",children:d.jsx(Go,{tool:e[0].toolCall,compact:!0,onPermissionRespond:t})});const s=Sb(e),o=e.some(a=>a.toolCall.status==="running");return d.jsx("div",{className:"pl-10",children:d.jsxs("div",{className:"rounded-lg border border-border bg-surface-2/50 overflow-hidden",children:[d.jsxs("button",{type:"button",className:"w-full flex items-center gap-2 px-3 py-2 text-sm text-brand-text font-bold hover:bg-brand/10 transition-colors",onClick:()=>r(!n),children:[d.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:Z("transition-transform text-text-muted",n&&"rotate-90"),children:d.jsx("path",{d:"M4 2L8 6L4 10",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),d.jsx("span",{className:"min-w-0 flex-1 truncate text-xs text-brand-text font-bold font-display",children:s}),o&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"shrink-0 text-brand text-[10px]","aria-hidden":"true",children:"●"}),d.jsx("span",{className:"sr-only",children:G("chat.live.running")})]})]}),n&&d.jsx("div",{className:"border-t border-border divide-y divide-border",children:e.map((a,i)=>d.jsx(Go,{tool:a.toolCall,compact:!0,onPermissionRespond:t},a.toolCall.id||i))})]})})}function Go({tool:e,compact:t,onPermissionRespond:n}){const[r,s]=p.useState(!t),o=e.status==="running",a=(()=>{switch(e.status){case"running":return d.jsx("span",{className:"text-brand text-[10px]",children:"●"});case"complete":return d.jsx("span",{className:"text-status-active text-[10px]",children:"✓"});case"error":return d.jsx("span",{className:"text-status-error text-[10px]",children:"✕"});case"waiting_for_confirmation":return d.jsx("span",{className:"text-brand-text text-[10px]",children:"⍻"});case"canceled":return d.jsx("span",{className:"text-text-muted text-[10px]",children:"—"});case"rejected":return d.jsx("span",{className:"text-status-error text-[10px]",children:"✕"});default:return null}})(),i=Bl(e);return d.jsxs("div",{className:Z("px-3 py-2",t&&"py-1"),children:[d.jsxs("button",{type:"button",className:"flex w-full items-center gap-1.5 text-left group",onClick:()=>s(!r),children:[a,d.jsx("span",{className:"min-w-0 flex-1 truncate text-xs font-display font-bold text-brand-text transition-colors",children:e.title}),o&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"sr-only",children:G("chat.live.running")}),d.jsx(Cl,{active:!0})]})]}),e.status==="waiting_for_confirmation"&&e.permissionRequest&&d.jsx("div",{className:"mt-1.5 ml-4",children:d.jsx(fb,{requestId:e.permissionRequest.requestId,options:e.permissionRequest.options,onRespond:n||(()=>{})})}),r&&d.jsx("div",{className:"mt-1.5 ml-4 space-y-1.5",children:vb(e)??d.jsxs(d.Fragment,{children:[e.rawInput&&Object.keys(e.rawInput).length>0&&d.jsx("pre",{className:"text-[11px] bg-surface-1 rounded-md p-2 overflow-x-auto font-mono max-h-36 text-text-secondary",children:Mt(JSON.stringify(e.rawInput,null,2),2e3)}),i&&d.jsx(Gl,{tool:e})]})})]})}const xb=["old_content","oldContent","old_string","oldString","old_text","oldText","previous_content","previousContent"],yb=["output","stdout","stderr","result"];function vb(e){const t=ib(e.title),n=e.rawInput??{},r=lb(t,n,{writeOldContent:Ye(e.rawOutput??{},xb),writeUnknownLabel:G("tool.newFile")});if(r)return d.jsxs(d.Fragment,{children:[r.map((s,o)=>d.jsx(pb,{filePath:s.filePath,oldString:s.oldString,newString:s.newString,label:s.label},o)),Bl(e)&&d.jsx(Gl,{tool:e})]});if(ab.has(t)){const s=Ye(n,["command","cmd","script"]),o=kb(e);return s===void 0&&o.length===0?null:d.jsx(wb,{command:s!==void 0?Mt(s,500):void 0,output:o,isError:e.status==="error"})}return null}function wb({command:e,output:t,isError:n}){return d.jsx("div",{className:Z("rounded-md border overflow-hidden",n?"border-status-error/50":"border-border"),children:d.jsxs("div",{className:"max-h-36 overflow-auto bg-zinc-900 px-2 py-1.5 font-mono text-xs text-zinc-300",children:[e&&d.jsxs("div",{className:"whitespace-pre-wrap break-words text-zinc-500",children:["$ ",e]}),t.length>0&&d.jsx("div",{className:"whitespace-pre-wrap break-words",children:t})]})})}function Sb(e){const t=new Map;for(const r of e){const s=Cb(r.toolCall.title);t.set(s,(t.get(s)||0)+1)}const n=[];for(const[r,s]of t)n.push(s===1?r:Se("tool.callTimes",{n:s,name:r}));return n.length===0?Se("tool.summaryCalls",{n:e.length}):n.length===1?n[0]:Se("tool.summaryTools",{n:e.length,names:n.join("、")})}function Cb(e){const t=e.match(/^(\w+)/);return t?t[1]:e}function Bl(e){return e.status!=="running"&&e.status!=="waiting_for_confirmation"&&!!(e.rawOutput||e.content)}function Wl(e){return!e.content||e.content.length===0?[]:e.content.filter(t=>t.type==="content").filter(t=>t.content.type==="text"&&"text"in t.content).map(t=>t.content.text)}function kb(e){const t=Wl(e);if(t.length>0)return Mt(t.join(`
|
|
356
356
|
`),2e3);const n=e.rawOutput;if(n){for(const r of yb){const s=n[r];if(typeof s=="string"&&s.length>0)return Mt(s,2e3)}if(Object.keys(n).length>0)return Mt(JSON.stringify(n,null,2),2e3)}return""}function Gl({tool:e}){return d.jsx("pre",{className:Z("text-[11px] rounded-md p-2 overflow-x-auto font-mono max-h-36",e.status==="error"?"bg-status-error/10 text-status-error":"bg-surface-1 text-text-secondary"),children:Eb(e)})}function Eb(e){const t=Wl(e);return t.length>0?Mt(t.join(`
|
|
357
357
|
`),2e3):e.rawOutput&&Object.keys(e.rawOutput).length>0?Mt(JSON.stringify(e.rawOutput,null,2),2e3):""}function Mt(e,t){return e.length>t?e.slice(0,t)+"...":e}function Ab({entry:e}){const[t,n]=p.useState(!1),{entries:r}=e;if(r.length===0)return null;const s=r.filter(i=>i.status==="completed").length,o=r.length,a=o>0?Math.round(s/o*100):0;return d.jsx("div",{className:"pl-10",children:d.jsxs("div",{className:"rounded-xl border border-border bg-brand/5 overflow-hidden",children:[d.jsxs("button",{type:"button",className:"w-full flex items-center gap-2 px-3 py-2.5 text-sm hover:bg-surface-1/50 transition-colors",onClick:()=>n(!t),children:[d.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:Z("transition-transform text-text-muted flex-shrink-0",t&&"rotate-90"),children:d.jsx("path",{d:"M4 2L8 6L4 10",stroke:"currentColor",strokeWidth:"1.5",fill:"none"})}),d.jsx("span",{className:"text-xs font-display font-medium text-text-secondary",children:G("plan.title")}),d.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:[s,"/",o]}),d.jsx("div",{className:"flex-1 h-1 rounded-full bg-surface-1 overflow-hidden ml-1 mr-2",children:d.jsx("div",{className:"h-full rounded-full bg-brand/70 transition-all duration-500",style:{width:`${a}%`}})}),d.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:[a,"%"]})]}),!t&&d.jsx("div",{className:Z("border-t border-border px-3 py-1.5 space-y-0.5",o>5&&"max-h-64 overflow-y-auto"),children:r.map((i,m)=>d.jsx(Tb,{entry:i},m))})]})})}function Tb({entry:e}){return d.jsxs("div",{className:"flex items-start gap-2 py-1.5 px-1",children:[d.jsx("span",{className:"flex-shrink-0 mt-0.5",children:d.jsx(_b,{status:e.status})}),d.jsx("span",{className:Z("text-xs leading-relaxed flex-1",e.status==="completed"?"text-text-muted line-through":"text-text-secondary",e.status==="in_progress"&&"text-text-primary font-medium"),children:e.content}),d.jsx(Rb,{priority:e.priority})]})}function _b({status:e}){switch(e){case"completed":return d.jsx(Zd,{className:"h-3.5 w-3.5 text-status-active"});case"in_progress":return d.jsx(Ma,{className:"h-3.5 w-3.5 text-brand-text animate-spin",style:{animationDuration:"2s"}});case"pending":return d.jsx(tu,{className:"h-3.5 w-3.5 text-text-muted"})}}function Rb({priority:e}){const t={high:"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-300",medium:"bg-brand/10 text-brand-text dark:bg-brand/20",low:"bg-surface-1 text-text-muted"},n={high:G("plan.priority.high"),medium:G("plan.priority.medium"),low:G("plan.priority.low")};return d.jsx("span",{className:Z("text-[10px] font-display rounded-full px-1.5 py-0.5 flex-shrink-0 leading-none",t[e]),children:n[e]})}function Mb({entry:e}){const t=e.variant==="error";return d.jsxs("div",{className:"w-full",children:[d.jsx("div",{className:Z("border-t-2",t?"border-status-error":"border-border")}),d.jsxs("div",{className:"pt-3",children:[d.jsx("h3",{className:Z("font-bold font-display text-base",t?"text-status-error":"text-brand-text"),children:e.title}),e.subtitle&&d.jsx("p",{className:"text-sm text-text-muted mt-0.5",children:e.subtitle})]}),d.jsx("div",{className:"py-3 message-content text-text-primary leading-[1.75]",children:d.jsx(Hs,{children:e.outputText})}),d.jsx("div",{className:"pb-1 text-xs text-text-muted italic",children:G("chat.cmdDone")})]})}/*!---------------------------------------------------------------------------------------------
|
|
@@ -360,7 +360,7 @@ ${e.outputText}`;default:return""}}function rw(e,t){const n=t.trim();if(!n)retur
|
|
|
360
360
|
*--------------------------------------------------------------------------------------------*/const Nb={damping:.7,stiffness:.05,mass:1.25},jb=70,Pb=1e3/60,Ib=350;let hr=!1;var ia;(ia=globalThis.document)==null||ia.addEventListener("mousedown",()=>{hr=!0});var la;(la=globalThis.document)==null||la.addEventListener("mouseup",()=>{hr=!1});var ca;(ca=globalThis.document)==null||ca.addEventListener("click",()=>{hr=!1});const Db=(e={})=>{const[t,n]=p.useState(!1),[r,s]=p.useState(e.initial!==!1),[o,a]=p.useState(!1),i=p.useRef(null);i.current=e;const m=p.useCallback(()=>{var k;if(!hr)return!1;const T=window.getSelection();if(!T||!T.rangeCount)return!1;const A=T.getRangeAt(0);return A.commonAncestorContainer.contains(w.current)||((k=w.current)==null?void 0:k.contains(A.commonAncestorContainer))},[]),f=p.useCallback(T=>{c.isAtBottom=T,s(T)},[]),l=p.useCallback(T=>{c.escapedFromLock=T,n(T)},[]),c=p.useMemo(()=>{let T;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){var A;return((A=w.current)==null?void 0:A.scrollTop)??0},set scrollTop(A){if(w.current){const{scrollBehavior:k}=getComputedStyle(w.current);k!=="auto"&&(w.current.style.scrollBehavior="auto"),w.current.scrollTop=A,c.ignoreScrollToTop=w.current.scrollTop,k!=="auto"&&(w.current.style.scrollBehavior=k)}},get targetScrollTop(){return!w.current||!y.current?0:w.current.scrollHeight-1-w.current.clientHeight},get calculatedTargetScrollTop(){if(!w.current||!y.current)return 0;const{targetScrollTop:A}=this;if(!e.targetScrollTop)return A;if((T==null?void 0:T.targetScrollTop)===A)return T.calculatedScrollTop;const k=Math.max(Math.min(e.targetScrollTop(A,{scrollElement:w.current,contentElement:y.current}),A),0);return T={targetScrollTop:A,calculatedScrollTop:k},requestAnimationFrame(()=>{T=void 0}),k},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=jb}}},[]),u=p.useCallback((T={})=>{var x;typeof T=="string"&&(T={animation:T}),T.preserveScrollPosition||f(!0);const A=Date.now()+(Number(T.wait)||0),k=Ir(i.current,T.animation),{ignoreEscapes:O=!1}=T;let E,_=c.calculatedTargetScrollTop;T.duration instanceof Promise?T.duration.finally(()=>{E=Date.now()}):E=A+(T.duration??0);const g=async()=>{const M=new Promise(requestAnimationFrame).then(()=>{var j;if(!c.isAtBottom)return c.animation=void 0,!1;const{scrollTop:I}=c,D=performance.now(),F=(D-(c.lastTick??D))/Pb;if(c.animation||(c.animation={behavior:k,promise:M,ignoreEscapes:O}),c.animation.behavior===k&&(c.lastTick=D),m()||A>Date.now())return g();if(I<Math.min(_,c.calculatedTargetScrollTop)){if(((j=c.animation)==null?void 0:j.behavior)===k){if(k==="instant")return c.scrollTop=c.calculatedTargetScrollTop,g();c.velocity=(k.damping*c.velocity+k.stiffness*c.scrollDifference)/k.mass,c.accumulated+=c.velocity*F,c.scrollTop+=c.accumulated,c.scrollTop!==I&&(c.accumulated=0)}return g()}return E>Date.now()?(_=c.calculatedTargetScrollTop,g()):(c.animation=void 0,c.scrollTop<c.calculatedTargetScrollTop?u({animation:Ir(i.current,i.current.resize),ignoreEscapes:O,duration:Math.max(0,E-Date.now())||void 0}):c.isAtBottom)});return M.then(I=>(requestAnimationFrame(()=>{c.animation||(c.lastTick=void 0,c.velocity=0)}),I))};return T.wait!==!0&&(c.animation=void 0),((x=c.animation)==null?void 0:x.behavior)===k?c.animation.promise:g()},[f,m,c]),h=p.useCallback(()=>{l(!0),f(!1)},[l,f]),b=p.useCallback(({target:T})=>{if(T!==w.current)return;const{scrollTop:A,ignoreScrollToTop:k}=c;let{lastScrollTop:O=A}=c;c.lastScrollTop=A,c.ignoreScrollToTop=void 0,k&&k>A&&(O=k),a(c.isNearBottom),setTimeout(()=>{var g;if(c.resizeDifference||A===k)return;if(m()){l(!0),f(!1);return}const E=A>O,_=A<O;if((g=c.animation)!=null&&g.ignoreEscapes){c.scrollTop=O;return}_&&(l(!0),f(!1)),E&&l(!1),!c.escapedFromLock&&c.isNearBottom&&f(!0)},1)},[l,f,m,c]),v=p.useCallback(({target:T,deltaY:A})=>{var O;let k=T;for(;!["scroll","auto"].includes(getComputedStyle(k).overflow);){if(!k.parentElement)return;k=k.parentElement}k===w.current&&A<0&&w.current.scrollHeight>w.current.clientHeight&&!((O=c.animation)!=null&&O.ignoreEscapes)&&(l(!0),f(!1))},[l,f,c]),w=Vo(T=>{var A,k;(A=w.current)==null||A.removeEventListener("scroll",b),(k=w.current)==null||k.removeEventListener("wheel",v),T==null||T.addEventListener("scroll",b,{passive:!0}),T==null||T.addEventListener("wheel",v,{passive:!0})},[]),y=Vo(T=>{var k,O;if((k=c.resizeObserver)==null||k.disconnect(),!T)return;let A;c.resizeObserver=new ResizeObserver(([E])=>{const{height:_}=E.contentRect,g=_-(A??_);if(c.resizeDifference=g,c.scrollTop>c.targetScrollTop&&(c.scrollTop=c.targetScrollTop),a(c.isNearBottom),g>=0){const x=Ir(i.current,A?i.current.resize:i.current.initial);u({animation:x,wait:!0,preserveScrollPosition:!0,duration:x==="instant"?void 0:Ib})}else c.isNearBottom&&(l(!1),f(!0));A=_,requestAnimationFrame(()=>{setTimeout(()=>{c.resizeDifference===g&&(c.resizeDifference=0)},1)})}),(O=c.resizeObserver)==null||O.observe(T)},[]);return{contentRef:y,scrollRef:w,scrollToBottom:u,stopScroll:h,isAtBottom:r||o,isNearBottom:o,escapedFromLock:t,state:c}};function Vo(e,t){const n=p.useCallback(r=>(n.current=r,e(r)),t);return n}const Pr=new Map;function Ir(...e){const t={...Nb};let n=!1;for(const s of e){if(s==="instant"){n=!0;continue}typeof s=="object"&&(n=!1,t.damping=s.damping??t.damping,t.stiffness=s.stiffness??t.stiffness,t.mass=s.mass??t.mass)}const r=JSON.stringify(t);return Pr.has(r)||Pr.set(r,Object.freeze(t)),n?"instant":Pr.get(r)}/*!---------------------------------------------------------------------------------------------
|
|
361
361
|
* Copyright (c) StackBlitz. All rights reserved.
|
|
362
362
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
363
|
-
*--------------------------------------------------------------------------------------------*/const Vl=p.createContext(null),Ob=typeof window<"u"?p.useLayoutEffect:p.useEffect;function er({instance:e,children:t,resize:n,initial:r,mass:s,damping:o,stiffness:a,targetScrollTop:i,contextRef:m,...f}){const l=p.useRef(null),c=p.useCallback((O,E)=>{const _=(k==null?void 0:k.targetScrollTop)??i;return(_==null?void 0:_(O,E))??O},[i]),u=Db({mass:s,damping:o,stiffness:a,resize:n,initial:r,targetScrollTop:c}),{scrollRef:h,contentRef:b,scrollToBottom:v,stopScroll:w,isAtBottom:y,escapedFromLock:T,state:A}=e??u,k=p.useMemo(()=>({scrollToBottom:v,stopScroll:w,scrollRef:h,isAtBottom:y,escapedFromLock:T,contentRef:b,state:A,get targetScrollTop(){return l.current},set targetScrollTop(O){l.current=O}}),[v,y,b,h,w,T,A]);return p.useImperativeHandle(m,()=>k,[k]),Ob(()=>{h.current&&getComputedStyle(h.current).overflow==="visible"&&(h.current.style.overflow="auto")},[]),p.createElement(Vl.Provider,{value:k},p.createElement("div",{...f},typeof t=="function"?t(k):t))}(function(e){function t({children:n,scrollClassName:r,...s}){const o=Vs();return p.createElement("div",{ref:o.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},p.createElement("div",{...s,ref:o.contentRef},typeof n=="function"?n(o):n))}e.Content=t})(er||(er={}));function Vs(){const e=p.useContext(Vl);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}const Lb=({className:e,...t})=>d.jsx(er,{className:Z("relative flex-1 overflow-y-hidden overflow-x-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Fb=({className:e,...t})=>d.jsx(er.Content,{className:Z("mx-auto flex page-measure flex-col gap-2 px-4 py-8 sm:px-8 sm:py-12 min-w-0",e),...t}),$b=({className:e,title:t=G("common.emptyTitle"),description:n=G("common.emptyDescription"),icon:r,children:s,...o})=>d.jsx("div",{className:Z("flex size-full flex-col items-center justify-center gap-4 p-8 text-center",e),...o,children:s??d.jsxs(d.Fragment,{children:[r&&d.jsx("div",{className:"text-text-muted",children:r}),d.jsxs("div",{className:"space-y-2",children:[d.jsx("h3",{className:"font-semibold text-base font-display text-text-primary",children:t}),n&&d.jsx("p",{className:"text-text-muted text-sm leading-relaxed max-w-xs",children:n})]})]})}),Ub=({className:e,...t})=>{const{scrollToBottom:n}=Vs(),r=p.useCallback(()=>{n()},[n]);return d.jsx(Dt,{className:Z("rounded-full",e),onClick:r,size:"icon",type:"button",variant:"outline",title:"Scroll to bottom",...t,children:d.jsx(Bd,{className:"size-4"})})},zb="data-last-user-message",Hb=({className:e,...t})=>{const n=p.useCallback(()=>{const r=document.querySelector(`[${zb}="true"]`);r&&r.scrollIntoView({behavior:"smooth",block:"start"})},[]);return d.jsx(Dt,{className:Z("rounded-full",e),onClick:n,size:"icon",type:"button",variant:"outline",title:"Scroll to last user message",...t,children:d.jsx(Oa,{className:"size-4"})})},Bb=({className:e,hasUserMessages:t=!1,...n})=>{const{isAtBottom:r}=Vs();return r?null:d.jsxs("div",{className:Z("absolute bottom-4 left-1/2 -translate-x-1/2 flex gap-2",e),...n,children:[t&&d.jsx(Hb,{}),d.jsx(Ub,{})]})};function Wb({entries:e,isLoading:t=!1,turnStartedAt:n,onPermissionRespond:r,emptyTitle:s,emptyDescription:o,searchMatchIds:a,onRewindEntry:i}){var T;const m=qb(e),f=e.length>0;let l=-1;for(let A=m.length-1;A>=0;A--){const k=m[A];if(k.type==="single"&&k.entry.type==="user_message"){l=A;break}}const c=t&&e.length>0,u=`${e.length}:${((T=e[e.length-1])==null?void 0:T.type)??""}`,h=Sl(c),b=e.some(A=>A.type==="tool_call"&&A.toolCall.status==="running"),v=yg(h,u,b),w=!!a&&a.size>0,y=A=>w&&!a.has($n(A));return d.jsx(Lb,{className:"flex-1",children:d.jsxs(Fb,{children:[f?d.jsxs(d.Fragment,{children:[m.map((A,k)=>{if(A.type==="single"){const E=A.entry.type==="user_message"&&k===l,_=m[k+1],g=(_==null?void 0:_.type)==="single"?_.entry:(_==null?void 0:_.type)==="tool_group"?_.entries[0]:void 0;return d.jsx("div",{"data-last-user-message":E?"true":void 0,"data-entry-id":$n(A.entry),className:Z(Gb(A.entry,g),y(A.entry)&&"opacity-40"),children:d.jsx(Vb,{entry:A.entry,isLoading:t,onPermissionRespond:r,onRewindEntry:i})},`entry-${k}`)}const O=A.entries.every(y);return d.jsx("div",{"data-entry-id":$n(A.entries[0]),className:Z("-mt-2",O&&"opacity-40"),children:d.jsx(Hl,{entries:A.entries,onPermissionRespond:r})},`group-${k}`)}),c&&d.jsxs("div",{className:"flex gap-4 items-start",children:[d.jsx("div",{className:"w-8 h-8 rounded-lg bg-brand/8 flex items-center justify-center flex-shrink-0 overflow-hidden",children:d.jsx("img",{src:"/code/pony.svg",alt:"Saluzi",width:28,height:28,className:"object-contain",draggable:!1})}),d.jsx(l0,{stalled:v,since:n})]})]}):d.jsx($b,{title:s,description:o}),d.jsx(Bb,{hasUserMessages:e.some(A=>A.type==="user_message")})]})})}function Gb(e,t){return(e==null?void 0:e.type)==="user_message"?"pt-10 pb-3":(e==null?void 0:e.type)==="assistant_message"?(t==null?void 0:t.type)==="tool_call"?"pt-2 pb-0":"pt-3 pb-8":(e==null?void 0:e.type)==="plan"?"pt-3 pb-3":(e==null?void 0:e.type)==="command_output"?"pt-6 pb-3":"py-1"}function Vb({entry:e,isLoading:t,onPermissionRespond:n,onRewindEntry:r}){switch(e.type){case"user_message":return d.jsx(J0,{entry:e,onRewind:r?()=>r(e,"rewind"):void 0,onRewindAndEdit:r?()=>r(e,"edit"):void 0});case"assistant_message":return d.jsx(Z0,{entry:e,isStreaming:t});case"tool_call":return d.jsx(Hl,{entries:[e],onPermissionRespond:n});case"plan":return d.jsx(Ab,{entry:e});case"command_output":return d.jsx(Mb,{entry:e});default:return null}}function qb(e){const t=[];let n=[];const r=()=>{n.length===1?t.push({type:"single",entry:n[0]}):n.length>1&&t.push({type:"tool_group",entries:n}),n=[]};for(const s of e)s.type==="tool_call"?n.push(s):(r(),t.push({type:"single",entry:s}));return r(),t}function Kb(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}function Yb({commands:e,filter:t,onSelect:n,onClose:r,className:s}){const o=p.useRef(null),[a,i]=p.useState(0),m=p.useMemo(()=>t?e.filter(f=>Kb(t,f.name)):e,[e,t]);return p.useEffect(()=>{i(0)},[t]),p.useEffect(()=>{const f=l=>{o.current&&!o.current.contains(l.target)&&r()};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[r]),p.useEffect(()=>{const f=l=>{if(m.length!==0){if(l.key==="ArrowDown")l.preventDefault(),i(c=>(c+1)%m.length);else if(l.key==="ArrowUp")l.preventDefault(),i(c=>(c-1+m.length)%m.length);else if(l.key==="Enter"&&!l.shiftKey){l.preventDefault();const c=m[a];c&&n(c)}}};return document.addEventListener("keydown",f,!0),()=>document.removeEventListener("keydown",f,!0)},[m,a,n]),p.useEffect(()=>{const f=o.current;if(!f)return;const l=f.querySelector("[data-active='true']");l==null||l.scrollIntoView({block:"nearest"})},[a]),d.jsx("div",{ref:o,className:Z("rounded-xl border border-border bg-surface-2 shadow-lg",s),children:d.jsx("div",{className:"max-h-[320px] overflow-y-auto py-1",children:m.length===0?d.jsx("div",{className:"text-xs text-text-muted font-display py-3 text-center",children:G("chat.noCommands")}):m.map((f,l)=>{var c;return d.jsxs("button",{type:"button","data-active":l===a,onClick:()=>n(f),onMouseEnter:()=>i(l),className:Z("flex w-full items-center gap-2 px-3 py-2 cursor-pointer rounded-lg mx-1 text-left","transition-colors",l===a?"bg-brand/10 text-text-primary":"text-text-secondary hover:bg-surface-1/50"),style:{width:"calc(100% - 8px)"},children:[d.jsxs("span",{className:"text-sm font-display font-medium text-brand-text",children:["/",f.name]}),d.jsx("span",{className:"text-xs text-text-muted truncate flex-1",children:f.description}),((c=f.input)==null?void 0:c.hint)&&d.jsx("span",{className:"text-[10px] text-text-muted italic",children:f.input.hint})]},f.name)})})})}function Rt(e,t){const n=t===void 0?e:`${e}: ${JSON.stringify(t)}`;console.log(n);try{fetch("/code/__debug__",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({label:e,data:t??null})})}catch{}}const ql="rcs_input_history_";function Kl(){try{if(typeof localStorage<"u")return localStorage}catch{}return null}function os(e,t=Kl()){if(!t||!e)return[];try{const n=t.getItem(ql+e);if(!n)return[];const r=JSON.parse(n);return Array.isArray(r)?r.filter(s=>typeof s=="string"):[]}catch{return[]}}function Xb(e,t,n=Kl()){const r=t.trim();if(!n||!e||!r)return os(e,n);const s=os(e,n);if(s[s.length-1]===r)return s;s.push(r);const o=s.slice(-100);try{n.setItem(ql+e,JSON.stringify(o))}catch{}return o}class Qb{constructor(){se(this,"entries",[]);se(this,"draft","");se(this,"cursor",-1)}get active(){return this.cursor>=0}begin(t,n){this.entries=t,this.draft=n,this.cursor=-1}up(){return this.entries.length===0?null:(this.cursor===-1?this.cursor=this.entries.length-1:this.cursor>0&&(this.cursor-=1),this.entries[this.cursor]??null)}down(){return this.cursor===-1?null:this.cursor>=this.entries.length-1?(this.cursor=-1,this.draft):(this.cursor+=1,this.entries[this.cursor]??null)}reset(){this.cursor=-1,this.entries=[],this.draft=""}}const Jb={maxSizeMB:2,maxWidthOrHeight:2048,useWebWorker:!0,fileType:"image/jpeg"},Zb=500*1024,Yl=2*1024*1024,Dr=200,qo=5*1024*1024,ex=new Set([".txt",".md",".markdown",".rst",".json",".jsonl",".yaml",".yml",".toml",".xml",".html",".htm",".csv",".tsv",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".pyw",".rb",".go",".rs",".java",".kt",".kts",".c",".h",".cc",".cpp",".hpp",".cxx",".cs",".swift",".m",".mm",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".sql",".graphql",".gql",".css",".scss",".sass",".less",".styl",".vue",".svelte",".astro",".lua",".r",".R",".jl",".ex",".exs",".erl",".hs",".ml",".php",".pl",".pm",".dockerfile",".makefile",".cmake",".gitignore",".env",".editorconfig",".prettierrc",".eslintrc",".log",".diff",".patch",".ini",".cfg",".conf",".proto",".thrift",".tf",".hcl",".sol"]),tx=new Set([".csv",".tsv",".xlsx",".xls"]);function pn(e){const t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}function Xl(e){if(e.type.startsWith("text/"))return!0;const t=pn(e.name);return ex.has(t)}function as(e){const t=pn(e.name);return tx.has(t)}function nx({onSubmit:e,isLoading:t=!1,onInterrupt:n,disabled:r=!1,placeholder:s,supportsAttachments:o,supportsImages:a,commands:i,onCycleMode:m,queueWhileLoading:f,queuedCount:l,onDequeue:c,onSearchFiles:u,historyKey:h,draftOverride:b,className:v}){const w=o??a??!1,[y,T]=p.useState(""),[A,k]=p.useState([]),[O,E]=p.useState([]),[_,g]=p.useState(!1),[x,M]=p.useState(""),[I,D]=p.useState(!1),[F,j]=p.useState(!1),[z,C]=p.useState(!1),[S,H]=p.useState(null),[P,U]=p.useState([]),[Y,N]=p.useState(0),L=p.useRef(0),$=p.useRef(null),R=p.useRef(null),B=p.useRef(null),V=p.useRef(null),q=p.useRef(null),K=p.useRef(null),oe=p.useRef(null),ee=p.useRef(new Qb),re=p.useRef(h);re.current=h,p.useEffect(()=>{Rt("[ChatInput] mount/supportsAttachments change",{supportsAttachments:w,commandsCount:(i==null?void 0:i.length)??0})},[w,i]),p.useEffect(()=>{!b||b.nonce===0||(T(b.text),ee.current.reset(),requestAnimationFrame(()=>{var W;return(W=$.current)==null?void 0:W.focus()}))},[b]),p.useEffect(()=>{if(!F)return;const W=X=>{var he,Me;const te=X.target,ue=(he=K.current)==null?void 0:he.contains(te),Ee=(Me=oe.current)==null?void 0:Me.contains(te);!ue&&!Ee&&j(!1)};return document.addEventListener("mousedown",W),()=>document.removeEventListener("mousedown",W)},[F]);const ce=p.useCallback(W=>{const X=(W??y).trim(),te=A.length>0||O.length>0;!X&&!te||r||z||(e({text:X,images:A.length>0?A:void 0,attachments:O.length>0?O:void 0}),re.current&&X&&Xb(re.current,X),ee.current.reset(),T(""),k([]),E([]),g(!1),M(""),$.current&&($.current.style.height="auto"))},[y,A,O,r,z,e]),ve=p.useCallback(W=>{const X=re.current;if(!X)return!1;const te=ee.current;if(W==="up"){if(y!=="")return!1;te.active||te.begin(os(X),y);const Ee=te.up();return Ee===null?!1:(T(Ee),requestAnimationFrame(()=>{const he=$.current;he&&(he.focus(),he.setSelectionRange(Ee.length,Ee.length))}),!0)}if(!te.active)return!1;const ue=te.down();return ue===null?!1:(T(ue),requestAnimationFrame(()=>{const Ee=$.current;Ee&&(Ee.focus(),Ee.setSelectionRange(ue.length,ue.length))}),!0)},[y]),fe=p.useCallback(async W=>{if(!u)return;const X=++L.current;try{const te=await u(W);L.current===X&&U(te.slice(0,8))}catch{L.current===X&&U([])}},[u]),we=p.useCallback(W=>{const X=$.current;if(!X||S===null)return;const te=X.selectionStart??y.length,ue=y.slice(0,te),Ee=/(?:^|\s)@([^\s@]*)$/.exec(ue);if(!Ee)return;const he=te-Ee[1].length-1,Me=`@${W} `,Tn=y.slice(0,he)+Me+y.slice(te);T(Tn),H(null),U([]),requestAnimationFrame(()=>{const ct=he+Me.length;X.focus(),X.setSelectionRange(ct,ct)})},[y,S]),me=p.useCallback(W=>{if(W.key==="Tab"&&W.shiftKey&&m){W.preventDefault(),m();return}if(S!==null&&P.length>0){if(W.key==="ArrowDown"||W.key==="ArrowUp"){W.preventDefault(),N(te=>{const ue=W.key==="ArrowDown"?1:-1;return(te+ue+P.length)%P.length});return}if((W.key==="Enter"||W.key==="Tab")&&!W.shiftKey&&!W.nativeEvent.isComposing){W.preventDefault();const te=P[Y];te&&we(te);return}if(W.key==="Escape"){W.preventDefault(),H(null),U([]);return}}if(_){if(W.key==="Escape"){W.preventDefault(),g(!1);return}if(W.key==="ArrowUp"||W.key==="ArrowDown"||W.key==="Enter"){W.preventDefault();return}if(W.key==="Tab"){W.preventDefault(),g(!1);return}}if(W.key==="ArrowUp"&&!W.shiftKey&&!W.metaKey&&!W.ctrlKey&&!W.altKey&&ve("up")){W.preventDefault();return}if(W.key==="ArrowDown"&&!W.shiftKey&&!W.metaKey&&!W.ctrlKey&&!W.altKey&&ve("down")){W.preventDefault();return}W.key==="Enter"&&!W.shiftKey&&!W.nativeEvent.isComposing&&(W.preventDefault(),t&&!f?n==null||n():ce())},[ce,t,f,m,n,_,S,P,Y,we,ve]),de=p.useCallback(W=>{const X=W.target.value;if(T(X),ee.current.reset(),X.startsWith("/")&&i&&i.length>0&&!/\s/.test(X.slice(1))?(g(!0),M(X.slice(1))):_&&(g(!1),M("")),u){const ue=W.target.selectionStart??X.length,Ee=X.slice(0,ue),he=/(?:^|\s)@([^\s@]*)$/.exec(Ee);if(he){const Me=he[1]||"";H(Me),N(0),fe(Me)}else H(null),U([])}const te=W.target;te.style.height="auto",te.style.height=Math.min(te.scrollHeight,200)+"px"},[i,_,u,fe]),xe=p.useCallback(async W=>{if(Rt("[ChatInput] paste event",{canAttach:w,files:W.clipboardData.files.length,types:W.clipboardData.types}),!w)return;const X=Array.from(W.clipboardData.files).filter(te=>te.type.startsWith("image/"));if(Rt("[ChatInput] paste image files",{count:X.length,types:X.map(te=>te.type)}),X.length!==0){W.preventDefault(),C(!0);try{const te=await Or(X);k(ue=>[...ue,...te])}finally{C(!1)}}},[w]),Ce=p.useCallback(async()=>{if(!R.current)return;const W=R.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Or(Array.from(W));k(te=>[...te,...X])}finally{R.current.value="",C(!1)}}},[]),pe=p.useCallback(async()=>{if(!B.current)return;const W=B.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Ko(Array.from(W));E(te=>[...te,...X])}finally{B.current.value="",C(!1)}}},[]),_e=p.useCallback(async()=>{if(!V.current)return;const W=V.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Yo(Array.from(W));E(te=>[...te,...X])}finally{V.current.value="",C(!1)}}},[]),ke=p.useCallback(async()=>{if(!q.current)return;const W=q.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await sx(Array.from(W));X&&E(te=>[...te,X])}finally{q.current.value="",C(!1)}}},[]),ge=p.useCallback(W=>{k(X=>X.filter((te,ue)=>ue!==W))},[]),Ie=p.useCallback(W=>{E(X=>X.filter((te,ue)=>ue!==W))},[]),qe=p.useCallback(W=>{var te,ue;g(!1),M("");const X=`/${W.name}`;(te=W.input)!=null&&te.hint?(T(`${X} `),(ue=$.current)==null||ue.focus()):ce(X)},[ce]),Ft=p.useCallback(W=>{w&&Array.from(W.dataTransfer.types).includes("Files")&&(W.preventDefault(),W.dataTransfer.dropEffect="copy",I||D(!0))},[w,I]),Re=p.useCallback(W=>{const X=W.relatedTarget;(!X||!W.currentTarget.contains(X))&&D(!1)},[]),tt=p.useCallback(async W=>{if(!w)return;const X=Array.from(W.dataTransfer.files);if(X.length!==0){W.preventDefault(),D(!1),C(!0);try{const te=X.filter(he=>he.type.startsWith("image/")),ue=X.filter(he=>!he.type.startsWith("image/")&&as(he)),Ee=X.filter(he=>!he.type.startsWith("image/")&&!as(he)&&Xl(he));if(te.length>0){const he=await Or(te);k(Me=>[...Me,...he])}if(ue.length>0){const he=await Yo(ue);E(Me=>[...Me,...he])}if(Ee.length>0){const he=await Ko(Ee);E(Me=>[...Me,...he])}}finally{C(!1)}}},[w]),je=A.length+O.length,Le=(y.trim()||je>0)&&!r&&!z;return d.jsxs("div",{className:Z("w-full page-measure mx-auto px-4 sm:px-8 pb-4 pt-2",v),children:[d.jsxs("div",{className:"relative",children:[_&&i&&i.length>0&&d.jsx(Yb,{commands:i,filter:x,onSelect:qe,onClose:()=>{g(!1),M("")},className:"absolute bottom-full left-0 right-0 mb-1 z-50"}),S!==null&&P.length>0&&d.jsxs("div",{className:"absolute bottom-full left-0 right-0 mb-1 z-50 overflow-hidden rounded-lg border border-border bg-surface-2 shadow-lg",children:[d.jsx("div",{className:"border-b border-border px-3 py-1.5 text-[10px] text-text-muted",children:Se("chat.fileMatchHint",{query:S?`“@${S}”`:""})}),P.map((W,X)=>d.jsxs("button",{type:"button",onMouseDown:te=>{te.preventDefault(),we(W)},onMouseEnter:()=>N(X),className:Z("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",X===Y?"bg-brand/10 text-text-primary":"text-text-secondary hover:bg-surface-1"),children:[d.jsx(Kt,{className:"h-3.5 w-3.5 flex-shrink-0 text-text-muted"}),d.jsx("span",{className:"truncate font-mono",children:W})]},W))]}),F&&w&&d.jsxs("div",{ref:K,className:"absolute bottom-full left-3 mb-2 min-w-[180px] rounded-lg border border-border bg-surface-2 shadow-lg py-1 z-50",children:[d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=R.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(cu,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.image")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=B.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(Kt,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.textFile")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=V.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(gs,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.sheet")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=q.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(hs,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.directory")})]})]}),d.jsxs("div",{onDragOver:Ft,onDragLeave:Re,onDrop:tt,className:Z("rounded-xl border border-border bg-surface-2 overflow-hidden","focus-within:border-brand/50 focus-within:shadow-[0_0_0_3px_#7D5A8A] transition-all",I&&"border-brand ring-2 ring-brand/40 bg-brand/5"),children:[A.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-3",children:A.map((W,X)=>d.jsxs("div",{className:"relative group",children:[d.jsx("img",{src:`data:${W.mimeType};base64,${W.data}`,alt:`Attached image ${X+1}`,className:"h-14 w-14 object-cover rounded-lg border border-border"}),d.jsx("button",{type:"button",onClick:()=>ge(X),className:"absolute -top-1.5 -right-1.5 min-h-[32px] min-w-[32px] h-5 w-5 rounded-full bg-surface-2 border border-border flex items-center justify-center text-text-muted hover:text-text-primary text-xs opacity-0 group-hover:opacity-100 transition-opacity","aria-label":`Remove image ${X+1}`,children:"×"})]},X))}),O.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-3",children:O.map((W,X)=>d.jsx(rx,{attachment:W,onRemove:()=>Ie(X)},X))}),d.jsxs("div",{className:"flex items-end gap-2 px-3 py-2.5",children:[w&&d.jsxs("div",{className:"relative flex-shrink-0",children:[d.jsxs("button",{ref:oe,type:"button",onClick:()=>j(W=>!W),disabled:r||z,className:Z("h-8 w-8 flex items-center justify-center rounded-lg transition-colors",F?"bg-brand/15 text-brand-text":"text-text-muted hover:text-text-secondary hover:bg-surface-1/50"),children:[d.jsx(Eu,{className:"h-4 w-4"}),d.jsx("span",{className:"sr-only",children:"Attach"})]}),d.jsx("input",{ref:R,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Ce}),d.jsx("input",{ref:B,type:"file",accept:[".txt",".md",".markdown",".rst",".json",".jsonl",".yaml",".yml",".toml",".xml",".html",".htm",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".rb",".go",".rs",".java",".kt",".c",".h",".cc",".cpp",".hpp",".cs",".swift",".sh",".bash",".zsh",".sql",".graphql",".gql",".css",".scss",".sass",".less",".vue",".svelte",".lua",".r",".jl",".ex",".exs",".php",".pl",".dockerfile",".makefile",".gitignore",".env",".editorconfig",".log",".diff",".patch",".ini",".cfg",".conf",".proto",".tf",".hcl",".sol","text/*"].join(","),multiple:!0,className:"hidden",onChange:pe}),d.jsx("input",{ref:V,type:"file",accept:".csv,.tsv,.xlsx,.xls",multiple:!0,className:"hidden",onChange:_e}),d.jsx("input",{ref:q,type:"file",webkitdirectory:"",directory:"",multiple:!0,className:"hidden",onChange:ke})]}),d.jsx("textarea",{ref:$,value:y,onChange:de,onKeyDown:me,onPaste:xe,placeholder:z?G("chat.processingFile"):s,disabled:r,rows:1,className:Z("flex-1 resize-none border-none bg-transparent outline-none self-center","text-sm text-text-primary placeholder:text-text-muted font-display","max-h-[200px] min-h-[24px] leading-normal")}),d.jsx("button",{type:"button",onClick:t?n:()=>ce(),disabled:!t&&!Le,className:Z("flex-shrink-0 h-8 w-8 flex items-center justify-center rounded-lg transition-all",t?"bg-text-primary text-surface-2 hover:bg-text-secondary":Le?"bg-brand text-white hover:bg-brand-light hover:scale-[1.05] active:scale-[0.97]":"bg-surface-1 text-text-muted"),children:t?d.jsx(Fu,{className:"h-3.5 w-3.5",fill:"currentColor"}):z?d.jsx("div",{className:"h-3.5 w-3.5 border-2 border-current border-t-transparent rounded-full animate-spin"}):d.jsx(Nu,{className:"h-4 w-4"})})]})]})]}),l!=null&&l>0&&d.jsxs("div",{className:"mt-1.5 flex items-center justify-center gap-2 text-[10px] text-text-muted font-display",children:[d.jsx(ru,{className:"h-3 w-3"}),d.jsxs("span",{children:[Se("chat.queued",{n:l}),c?G("chat.queuedCancel"):""]}),c&&d.jsxs("button",{type:"button",onClick:()=>{for(let W=l-1;W>=0;W--)c(W)},className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-text-muted hover:text-text-primary hover:bg-surface-2 transition-colors",children:[d.jsx(bn,{className:"h-3 w-3"}),G("common.cancel")]})]}),d.jsx("div",{className:"text-center mt-1.5",children:d.jsxs("span",{className:"text-[10px] text-text-muted font-display",children:[G("chat.inputHint"),u?G("chat.inputHintSuffix"):""]})})]})}function rx({attachment:e,onRemove:t}){const n=(()=>{switch(e.kind){case"text":return d.jsx(Kt,{className:"h-3.5 w-3.5"});case"table":return d.jsx(gs,{className:"h-3.5 w-3.5"});case"directory":return d.jsx(hs,{className:"h-3.5 w-3.5"});default:return d.jsx(Kt,{className:"h-3.5 w-3.5"})}})(),r=e.size!=null?qt(e.size):null,s=e.kind==="directory"&&e.files?e.files.length:null;return d.jsxs("div",{className:"group flex items-center gap-1.5 rounded-lg border border-border bg-surface-1/50 px-2.5 py-1.5 text-xs text-text-secondary",children:[n,d.jsx("span",{className:"max-w-[120px] truncate font-mono",title:e.name,children:e.name}),r&&d.jsx("span",{className:"text-text-muted text-[10px]",children:r}),s!=null&&d.jsx("span",{className:"text-text-muted text-[10px]",children:Se("chat.fileCount",{n:s})}),d.jsx("button",{type:"button",onClick:t,className:"ml-0.5 min-h-[20px] min-w-[20px] h-4 w-4 flex items-center justify-center rounded text-text-muted hover:text-text-primary opacity-0 group-hover:opacity-100 transition-opacity","aria-label":`Remove ${e.name}`,children:d.jsx(bn,{className:"h-3 w-3"})})]})}function qt(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}async function Or(e){const t=[];for(const n of e)try{let r=n,s=n.type;n.size>2*1024*1024&&(r=await Pe(n,Jb),s="image/jpeg");const o=await ox(r);t.push({mimeType:s,data:o})}catch(r){console.error("Failed to process image:",r)}return t}async function Ko(e){const t=[];for(const n of e)try{if(n.size>Yl){console.warn(`Skipping ${n.name}: too large (${qt(n.size)})`);continue}n.size>Zb&&console.warn(`File ${n.name} is large (${qt(n.size)}), may slow down`);const r=await n.text();t.push({kind:"text",name:n.name,size:n.size,textContent:r,mimeType:n.type||"text/plain"})}catch(r){console.error(`Failed to read text file ${n.name}:`,r)}return t}async function Yo(e){const t=[];for(const n of e)try{const r=pn(n.name);if(r===".csv"||r===".tsv"){const s=await n.text();t.push({kind:"table",name:n.name,size:n.size,textContent:s,mimeType:n.type||"text/csv"})}else if(r===".xlsx"||r===".xls"){const s=await n.arrayBuffer(),o=await Ql(s);t.push({kind:"table",name:n.name,size:n.size,textContent:o,mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}}catch(r){console.error(`Failed to process table file ${n.name}:`,r)}return t}async function Ql(e){const t=await Ne(()=>import("./xlsx-CkFp8p6R.js"),[]),n=t.read(e,{type:"array"}),r=[];for(const s of n.SheetNames){const o=n.Sheets[s];if(!o)continue;const a=t.utils.sheet_to_csv(o);n.SheetNames.length>1?r.push(`## Sheet: ${s}
|
|
363
|
+
*--------------------------------------------------------------------------------------------*/const Vl=p.createContext(null),Ob=typeof window<"u"?p.useLayoutEffect:p.useEffect;function er({instance:e,children:t,resize:n,initial:r,mass:s,damping:o,stiffness:a,targetScrollTop:i,contextRef:m,...f}){const l=p.useRef(null),c=p.useCallback((O,E)=>{const _=(k==null?void 0:k.targetScrollTop)??i;return(_==null?void 0:_(O,E))??O},[i]),u=Db({mass:s,damping:o,stiffness:a,resize:n,initial:r,targetScrollTop:c}),{scrollRef:h,contentRef:b,scrollToBottom:v,stopScroll:w,isAtBottom:y,escapedFromLock:T,state:A}=e??u,k=p.useMemo(()=>({scrollToBottom:v,stopScroll:w,scrollRef:h,isAtBottom:y,escapedFromLock:T,contentRef:b,state:A,get targetScrollTop(){return l.current},set targetScrollTop(O){l.current=O}}),[v,y,b,h,w,T,A]);return p.useImperativeHandle(m,()=>k,[k]),Ob(()=>{h.current&&getComputedStyle(h.current).overflow==="visible"&&(h.current.style.overflow="auto")},[]),p.createElement(Vl.Provider,{value:k},p.createElement("div",{...f},typeof t=="function"?t(k):t))}(function(e){function t({children:n,scrollClassName:r,...s}){const o=Vs();return p.createElement("div",{ref:o.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},p.createElement("div",{...s,ref:o.contentRef},typeof n=="function"?n(o):n))}e.Content=t})(er||(er={}));function Vs(){const e=p.useContext(Vl);if(!e)throw new Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}const Lb=({className:e,...t})=>d.jsx(er,{className:Z("relative flex-1 overflow-y-hidden overflow-x-hidden",e),initial:"smooth",resize:"smooth",role:"log",...t}),Fb=({className:e,...t})=>d.jsx(er.Content,{className:Z("mx-auto flex page-measure flex-col gap-2 px-4 py-8 sm:px-8 sm:py-12 min-w-0",e),...t}),$b=({className:e,title:t=G("common.emptyTitle"),description:n=G("common.emptyDescription"),icon:r,children:s,...o})=>d.jsx("div",{className:Z("flex size-full flex-col items-center justify-center gap-4 p-8 text-center",e),...o,children:s??d.jsxs(d.Fragment,{children:[r&&d.jsx("div",{className:"text-text-muted",children:r}),d.jsxs("div",{className:"space-y-2",children:[d.jsx("h3",{className:"font-semibold text-base font-display text-text-primary",children:t}),n&&d.jsx("p",{className:"text-text-muted text-sm leading-relaxed max-w-xs",children:n})]})]})}),Ub=({className:e,...t})=>{const{scrollToBottom:n}=Vs(),r=p.useCallback(()=>{n()},[n]);return d.jsx(Dt,{className:Z("rounded-full",e),onClick:r,size:"icon",type:"button",variant:"outline",title:"Scroll to bottom",...t,children:d.jsx(Bd,{className:"size-4"})})},zb="data-last-user-message",Hb=({className:e,...t})=>{const n=p.useCallback(()=>{const r=document.querySelector(`[${zb}="true"]`);r&&r.scrollIntoView({behavior:"smooth",block:"start"})},[]);return d.jsx(Dt,{className:Z("rounded-full",e),onClick:n,size:"icon",type:"button",variant:"outline",title:"Scroll to last user message",...t,children:d.jsx(Oa,{className:"size-4"})})},Bb=({className:e,hasUserMessages:t=!1,...n})=>{const{isAtBottom:r}=Vs();return r?null:d.jsxs("div",{className:Z("absolute bottom-4 left-1/2 -translate-x-1/2 flex gap-2",e),...n,children:[t&&d.jsx(Hb,{}),d.jsx(Ub,{})]})};function Wb({entries:e,isLoading:t=!1,turnStartedAt:n,onPermissionRespond:r,emptyTitle:s,emptyDescription:o,searchMatchIds:a,onRewindEntry:i}){var T;const m=qb(e),f=e.length>0;let l=-1;for(let A=m.length-1;A>=0;A--){const k=m[A];if(k.type==="single"&&k.entry.type==="user_message"){l=A;break}}const c=t&&e.length>0,u=`${e.length}:${((T=e[e.length-1])==null?void 0:T.type)??""}`,h=Sl(c),b=e.some(A=>A.type==="tool_call"&&A.toolCall.status==="running"),v=yg(h,u,b),w=!!a&&a.size>0,y=A=>w&&!a.has($n(A));return d.jsx(Lb,{className:"flex-1",children:d.jsxs(Fb,{children:[f?d.jsxs(d.Fragment,{children:[m.map((A,k)=>{if(A.type==="single"){const E=A.entry.type==="user_message"&&k===l,_=m[k+1],g=(_==null?void 0:_.type)==="single"?_.entry:(_==null?void 0:_.type)==="tool_group"?_.entries[0]:void 0;return d.jsx("div",{"data-last-user-message":E?"true":void 0,"data-entry-id":$n(A.entry),className:Z(Gb(A.entry,g),y(A.entry)&&"opacity-40"),children:d.jsx(Vb,{entry:A.entry,isLoading:t,onPermissionRespond:r,onRewindEntry:i})},`entry-${k}`)}const O=A.entries.every(y);return d.jsx("div",{"data-entry-id":$n(A.entries[0]),className:Z("-mt-2",O&&"opacity-40"),children:d.jsx(Hl,{entries:A.entries,onPermissionRespond:r})},`group-${k}`)}),c&&d.jsxs("div",{className:"flex gap-4 items-start",children:[d.jsx("div",{className:"w-8 h-8 rounded-lg bg-brand/8 flex items-center justify-center flex-shrink-0 overflow-hidden",children:d.jsx("img",{src:"/code/pony.svg",alt:"Saluzi",width:28,height:28,className:"object-contain",draggable:!1})}),d.jsx(l0,{stalled:v,since:n})]})]}):d.jsx($b,{title:s,description:o}),d.jsx(Bb,{hasUserMessages:e.some(A=>A.type==="user_message")})]})})}function Gb(e,t){return(e==null?void 0:e.type)==="user_message"?"pt-10 pb-3":(e==null?void 0:e.type)==="assistant_message"?(t==null?void 0:t.type)==="tool_call"?"pt-2 pb-0":"pt-3 pb-8":(e==null?void 0:e.type)==="plan"?"pt-3 pb-3":(e==null?void 0:e.type)==="command_output"?"pt-6 pb-3":"py-1"}function Vb({entry:e,isLoading:t,onPermissionRespond:n,onRewindEntry:r}){switch(e.type){case"user_message":return d.jsx(J0,{entry:e,onRewind:r?()=>r(e,"rewind"):void 0,onRewindAndEdit:r?()=>r(e,"edit"):void 0});case"assistant_message":return d.jsx(Z0,{entry:e,isStreaming:t});case"tool_call":return d.jsx(Hl,{entries:[e],onPermissionRespond:n});case"plan":return d.jsx(Ab,{entry:e});case"command_output":return d.jsx(Mb,{entry:e});default:return null}}function qb(e){const t=[];let n=[];const r=()=>{n.length===1?t.push({type:"single",entry:n[0]}):n.length>1&&t.push({type:"tool_group",entries:n}),n=[]};for(const s of e)s.type==="tool_call"?n.push(s):(r(),t.push({type:"single",entry:s}));return r(),t}function Kb(e,t){return e?t.toLowerCase().startsWith(e.toLowerCase()):!0}function Yb({commands:e,filter:t,onSelect:n,onClose:r,className:s}){const o=p.useRef(null),[a,i]=p.useState(0),m=p.useMemo(()=>t?e.filter(f=>Kb(t,f.name)):e,[e,t]);return p.useEffect(()=>{i(0)},[t]),p.useEffect(()=>{const f=l=>{o.current&&!o.current.contains(l.target)&&r()};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[r]),p.useEffect(()=>{const f=l=>{if(m.length!==0){if(l.key==="ArrowDown")l.preventDefault(),i(c=>(c+1)%m.length);else if(l.key==="ArrowUp")l.preventDefault(),i(c=>(c-1+m.length)%m.length);else if(l.key==="Enter"&&!l.shiftKey){l.preventDefault();const c=m[a];c&&n(c)}}};return document.addEventListener("keydown",f,!0),()=>document.removeEventListener("keydown",f,!0)},[m,a,n]),p.useEffect(()=>{const f=o.current;if(!f)return;const l=f.querySelector("[data-active='true']");l==null||l.scrollIntoView({block:"nearest"})},[a]),d.jsx("div",{ref:o,className:Z("rounded-xl border border-border bg-surface-2 shadow-lg",s),children:d.jsx("div",{className:"max-h-[320px] overflow-y-auto py-1",children:m.length===0?d.jsx("div",{className:"text-xs text-text-muted font-display py-3 text-center",children:G("chat.noCommands")}):m.map((f,l)=>{var c;return d.jsxs("button",{type:"button","data-active":l===a,onClick:()=>n(f),onMouseEnter:()=>i(l),className:Z("flex w-full items-center gap-2 px-3 py-2 cursor-pointer rounded-lg mx-1 text-left","transition-colors",l===a?"bg-brand/10 text-text-primary":"text-text-secondary hover:bg-surface-1/50"),style:{width:"calc(100% - 8px)"},children:[d.jsxs("span",{className:"text-sm font-display font-medium text-brand-text",children:["/",f.name]}),d.jsx("span",{className:"text-xs text-text-muted truncate flex-1",children:f.description}),((c=f.input)==null?void 0:c.hint)&&d.jsx("span",{className:"text-[10px] text-text-muted italic",children:f.input.hint})]},f.name)})})})}function Rt(e,t){const n=t===void 0?e:`${e}: ${JSON.stringify(t)}`;console.log(n);try{fetch("/code/__debug__",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({label:e,data:t??null})})}catch{}}const ql="rcs_input_history_";function Kl(){try{if(typeof localStorage<"u")return localStorage}catch{}return null}function os(e,t=Kl()){if(!t||!e)return[];try{const n=t.getItem(ql+e);if(!n)return[];const r=JSON.parse(n);return Array.isArray(r)?r.filter(s=>typeof s=="string"):[]}catch{return[]}}function Xb(e,t,n=Kl()){const r=t.trim();if(!n||!e||!r)return os(e,n);const s=os(e,n);if(s[s.length-1]===r)return s;s.push(r);const o=s.slice(-100);try{n.setItem(ql+e,JSON.stringify(o))}catch{}return o}class Qb{constructor(){se(this,"entries",[]);se(this,"draft","");se(this,"cursor",-1)}get active(){return this.cursor>=0}begin(t,n){this.entries=t,this.draft=n,this.cursor=-1}up(){return this.entries.length===0?null:(this.cursor===-1?this.cursor=this.entries.length-1:this.cursor>0&&(this.cursor-=1),this.entries[this.cursor]??null)}down(){return this.cursor===-1?null:this.cursor>=this.entries.length-1?(this.cursor=-1,this.draft):(this.cursor+=1,this.entries[this.cursor]??null)}reset(){this.cursor=-1,this.entries=[],this.draft=""}}const Jb={maxSizeMB:2,maxWidthOrHeight:2048,useWebWorker:!0,fileType:"image/jpeg"},Zb=500*1024,Yl=2*1024*1024,Dr=200,qo=5*1024*1024,ex=new Set([".txt",".md",".markdown",".rst",".json",".jsonl",".yaml",".yml",".toml",".xml",".html",".htm",".csv",".tsv",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".pyw",".rb",".go",".rs",".java",".kt",".kts",".c",".h",".cc",".cpp",".hpp",".cxx",".cs",".swift",".m",".mm",".sh",".bash",".zsh",".fish",".ps1",".bat",".cmd",".sql",".graphql",".gql",".css",".scss",".sass",".less",".styl",".vue",".svelte",".astro",".lua",".r",".R",".jl",".ex",".exs",".erl",".hs",".ml",".php",".pl",".pm",".dockerfile",".makefile",".cmake",".gitignore",".env",".editorconfig",".prettierrc",".eslintrc",".log",".diff",".patch",".ini",".cfg",".conf",".proto",".thrift",".tf",".hcl",".sol"]),tx=new Set([".csv",".tsv",".xlsx",".xls"]);function pn(e){const t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}function Xl(e){if(e.type.startsWith("text/"))return!0;const t=pn(e.name);return ex.has(t)}function as(e){const t=pn(e.name);return tx.has(t)}function nx({onSubmit:e,isLoading:t=!1,onInterrupt:n,disabled:r=!1,placeholder:s,supportsAttachments:o,supportsImages:a,commands:i,onCycleMode:m,queueWhileLoading:f,queuedCount:l,onDequeue:c,onSearchFiles:u,historyKey:h,draftOverride:b,className:v}){const w=o??a??!1,[y,T]=p.useState(""),[A,k]=p.useState([]),[O,E]=p.useState([]),[_,g]=p.useState(!1),[x,M]=p.useState(""),[I,D]=p.useState(!1),[F,j]=p.useState(!1),[z,C]=p.useState(!1),[S,H]=p.useState(null),[P,U]=p.useState([]),[Y,N]=p.useState(0),L=p.useRef(0),$=p.useRef(null),R=p.useRef(null),B=p.useRef(null),V=p.useRef(null),q=p.useRef(null),K=p.useRef(null),oe=p.useRef(null),ee=p.useRef(new Qb),re=p.useRef(h);re.current=h,p.useEffect(()=>{Rt("[ChatInput] mount/supportsAttachments change",{supportsAttachments:w,commandsCount:(i==null?void 0:i.length)??0})},[w,i]),p.useEffect(()=>{!b||b.nonce===0||(T(b.text),ee.current.reset(),requestAnimationFrame(()=>{var W;return(W=$.current)==null?void 0:W.focus()}))},[b]),p.useEffect(()=>{if(!F)return;const W=X=>{var he,Me;const te=X.target,ue=(he=K.current)==null?void 0:he.contains(te),Ee=(Me=oe.current)==null?void 0:Me.contains(te);!ue&&!Ee&&j(!1)};return document.addEventListener("mousedown",W),()=>document.removeEventListener("mousedown",W)},[F]);const ce=p.useCallback(W=>{const X=(W??y).trim(),te=A.length>0||O.length>0;!X&&!te||r||z||(e({text:X,images:A.length>0?A:void 0,attachments:O.length>0?O:void 0}),re.current&&X&&Xb(re.current,X),ee.current.reset(),T(""),k([]),E([]),g(!1),M(""),$.current&&($.current.style.height="auto"))},[y,A,O,r,z,e]),ve=p.useCallback(W=>{const X=re.current;if(!X)return!1;const te=ee.current;if(W==="up"){if(y!=="")return!1;te.active||te.begin(os(X),y);const Ee=te.up();return Ee===null?!1:(T(Ee),requestAnimationFrame(()=>{const he=$.current;he&&(he.focus(),he.setSelectionRange(Ee.length,Ee.length))}),!0)}if(!te.active)return!1;const ue=te.down();return ue===null?!1:(T(ue),requestAnimationFrame(()=>{const Ee=$.current;Ee&&(Ee.focus(),Ee.setSelectionRange(ue.length,ue.length))}),!0)},[y]),fe=p.useCallback(async W=>{if(!u)return;const X=++L.current;try{const te=await u(W);L.current===X&&U(te.slice(0,8))}catch{L.current===X&&U([])}},[u]),we=p.useCallback(W=>{const X=$.current;if(!X||S===null)return;const te=X.selectionStart??y.length,ue=y.slice(0,te),Ee=/(?:^|\s)@([^\s@]*)$/.exec(ue);if(!Ee)return;const he=te-Ee[1].length-1,Me=`@${W} `,Tn=y.slice(0,he)+Me+y.slice(te);T(Tn),H(null),U([]),requestAnimationFrame(()=>{const ct=he+Me.length;X.focus(),X.setSelectionRange(ct,ct)})},[y,S]),me=p.useCallback(W=>{if(W.key==="Tab"&&W.shiftKey&&m){W.preventDefault(),m();return}if(S!==null&&P.length>0){if(W.key==="ArrowDown"||W.key==="ArrowUp"){W.preventDefault(),N(te=>{const ue=W.key==="ArrowDown"?1:-1;return(te+ue+P.length)%P.length});return}if((W.key==="Enter"||W.key==="Tab")&&!W.shiftKey&&!W.nativeEvent.isComposing){W.preventDefault();const te=P[Y];te&&we(te);return}if(W.key==="Escape"){W.preventDefault(),H(null),U([]);return}}if(_){if(W.key==="Escape"){W.preventDefault(),g(!1);return}if(W.key==="ArrowUp"||W.key==="ArrowDown"||W.key==="Enter"){W.preventDefault();return}if(W.key==="Tab"){W.preventDefault(),g(!1);return}}if(W.key==="ArrowUp"&&!W.shiftKey&&!W.metaKey&&!W.ctrlKey&&!W.altKey&&ve("up")){W.preventDefault();return}if(W.key==="ArrowDown"&&!W.shiftKey&&!W.metaKey&&!W.ctrlKey&&!W.altKey&&ve("down")){W.preventDefault();return}W.key==="Enter"&&!W.shiftKey&&!W.nativeEvent.isComposing&&(W.preventDefault(),t&&!f?n==null||n():ce())},[ce,t,f,m,n,_,S,P,Y,we,ve]),de=p.useCallback(W=>{const X=W.target.value;if(T(X),ee.current.reset(),X.startsWith("/")&&i&&i.length>0&&!/\s/.test(X.slice(1))?(g(!0),M(X.slice(1))):_&&(g(!1),M("")),u){const ue=W.target.selectionStart??X.length,Ee=X.slice(0,ue),he=/(?:^|\s)@([^\s@]*)$/.exec(Ee);if(he){const Me=he[1]||"";H(Me),N(0),fe(Me)}else H(null),U([])}const te=W.target;te.style.height="auto",te.style.height=Math.min(te.scrollHeight,200)+"px"},[i,_,u,fe]),xe=p.useCallback(async W=>{if(Rt("[ChatInput] paste event",{canAttach:w,files:W.clipboardData.files.length,types:W.clipboardData.types}),!w)return;const X=Array.from(W.clipboardData.files).filter(te=>te.type.startsWith("image/"));if(Rt("[ChatInput] paste image files",{count:X.length,types:X.map(te=>te.type)}),X.length!==0){W.preventDefault(),C(!0);try{const te=await Or(X);k(ue=>[...ue,...te])}finally{C(!1)}}},[w]),Ce=p.useCallback(async()=>{if(!R.current)return;const W=R.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Or(Array.from(W));k(te=>[...te,...X])}finally{R.current.value="",C(!1)}}},[]),pe=p.useCallback(async()=>{if(!B.current)return;const W=B.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Ko(Array.from(W));E(te=>[...te,...X])}finally{B.current.value="",C(!1)}}},[]),_e=p.useCallback(async()=>{if(!V.current)return;const W=V.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await Yo(Array.from(W));E(te=>[...te,...X])}finally{V.current.value="",C(!1)}}},[]),ke=p.useCallback(async()=>{if(!q.current)return;const W=q.current.files;if(!(!W||W.length===0)){C(!0);try{const X=await sx(Array.from(W));X&&E(te=>[...te,X])}finally{q.current.value="",C(!1)}}},[]),ge=p.useCallback(W=>{k(X=>X.filter((te,ue)=>ue!==W))},[]),Ie=p.useCallback(W=>{E(X=>X.filter((te,ue)=>ue!==W))},[]),qe=p.useCallback(W=>{var te,ue;g(!1),M("");const X=`/${W.name}`;(te=W.input)!=null&&te.hint?(T(`${X} `),(ue=$.current)==null||ue.focus()):ce(X)},[ce]),Ft=p.useCallback(W=>{w&&Array.from(W.dataTransfer.types).includes("Files")&&(W.preventDefault(),W.dataTransfer.dropEffect="copy",I||D(!0))},[w,I]),Re=p.useCallback(W=>{const X=W.relatedTarget;(!X||!W.currentTarget.contains(X))&&D(!1)},[]),tt=p.useCallback(async W=>{if(!w)return;const X=Array.from(W.dataTransfer.files);if(X.length!==0){W.preventDefault(),D(!1),C(!0);try{const te=X.filter(he=>he.type.startsWith("image/")),ue=X.filter(he=>!he.type.startsWith("image/")&&as(he)),Ee=X.filter(he=>!he.type.startsWith("image/")&&!as(he)&&Xl(he));if(te.length>0){const he=await Or(te);k(Me=>[...Me,...he])}if(ue.length>0){const he=await Yo(ue);E(Me=>[...Me,...he])}if(Ee.length>0){const he=await Ko(Ee);E(Me=>[...Me,...he])}}finally{C(!1)}}},[w]),je=A.length+O.length,Le=(y.trim()||je>0)&&!r&&!z;return d.jsxs("div",{className:Z("w-full page-measure mx-auto px-4 sm:px-8 pb-[max(1rem,env(safe-area-inset-bottom))] pt-2",v),children:[d.jsxs("div",{className:"relative",children:[_&&i&&i.length>0&&d.jsx(Yb,{commands:i,filter:x,onSelect:qe,onClose:()=>{g(!1),M("")},className:"absolute bottom-full left-0 right-0 mb-1 z-50"}),S!==null&&P.length>0&&d.jsxs("div",{className:"absolute bottom-full left-0 right-0 mb-1 z-50 overflow-hidden rounded-lg border border-border bg-surface-2 shadow-lg",children:[d.jsx("div",{className:"border-b border-border px-3 py-1.5 text-[10px] text-text-muted",children:Se("chat.fileMatchHint",{query:S?`“@${S}”`:""})}),P.map((W,X)=>d.jsxs("button",{type:"button",onMouseDown:te=>{te.preventDefault(),we(W)},onMouseEnter:()=>N(X),className:Z("flex w-full items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors",X===Y?"bg-brand/10 text-text-primary":"text-text-secondary hover:bg-surface-1"),children:[d.jsx(Kt,{className:"h-3.5 w-3.5 flex-shrink-0 text-text-muted"}),d.jsx("span",{className:"truncate font-mono",children:W})]},W))]}),F&&w&&d.jsxs("div",{ref:K,className:"absolute bottom-full left-3 mb-2 min-w-[180px] rounded-lg border border-border bg-surface-2 shadow-lg py-1 z-50",children:[d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=R.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(cu,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.image")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=B.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(Kt,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.textFile")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=V.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(gs,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.sheet")})]}),d.jsxs("button",{type:"button",onClick:()=>{var W;j(!1),(W=q.current)==null||W.click()},className:"w-full flex items-center gap-2.5 px-3 py-2 text-sm text-text-primary hover:bg-surface-1 transition-colors text-left",children:[d.jsx(hs,{className:"h-4 w-4 text-text-muted flex-shrink-0"}),d.jsx("span",{children:G("chat.picker.directory")})]})]}),d.jsxs("div",{onDragOver:Ft,onDragLeave:Re,onDrop:tt,className:Z("rounded-xl border border-border bg-surface-2 overflow-hidden","focus-within:border-brand/50 focus-within:shadow-[0_0_0_3px_#7D5A8A] transition-all",I&&"border-brand ring-2 ring-brand/40 bg-brand/5"),children:[A.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-3",children:A.map((W,X)=>d.jsxs("div",{className:"relative group",children:[d.jsx("img",{src:`data:${W.mimeType};base64,${W.data}`,alt:`Attached image ${X+1}`,className:"h-14 w-14 object-cover rounded-lg border border-border"}),d.jsx("button",{type:"button",onClick:()=>ge(X),className:"absolute -top-1.5 -right-1.5 min-h-[32px] min-w-[32px] h-5 w-5 rounded-full bg-surface-2 border border-border flex items-center justify-center text-text-muted hover:text-text-primary text-xs max-sm:opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity","aria-label":`Remove image ${X+1}`,children:"×"})]},X))}),O.length>0&&d.jsx("div",{className:"flex flex-wrap gap-2 px-3 pt-3",children:O.map((W,X)=>d.jsx(rx,{attachment:W,onRemove:()=>Ie(X)},X))}),d.jsxs("div",{className:"flex items-end gap-2 px-3 py-2.5",children:[w&&d.jsxs("div",{className:"relative flex-shrink-0",children:[d.jsxs("button",{ref:oe,type:"button",onClick:()=>j(W=>!W),disabled:r||z,className:Z("h-8 w-8 flex items-center justify-center rounded-lg transition-colors",F?"bg-brand/15 text-brand-text":"text-text-muted hover:text-text-secondary hover:bg-surface-1/50"),children:[d.jsx(Eu,{className:"h-4 w-4"}),d.jsx("span",{className:"sr-only",children:"Attach"})]}),d.jsx("input",{ref:R,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Ce}),d.jsx("input",{ref:B,type:"file",accept:[".txt",".md",".markdown",".rst",".json",".jsonl",".yaml",".yml",".toml",".xml",".html",".htm",".js",".jsx",".ts",".tsx",".mjs",".cjs",".py",".rb",".go",".rs",".java",".kt",".c",".h",".cc",".cpp",".hpp",".cs",".swift",".sh",".bash",".zsh",".sql",".graphql",".gql",".css",".scss",".sass",".less",".vue",".svelte",".lua",".r",".jl",".ex",".exs",".php",".pl",".dockerfile",".makefile",".gitignore",".env",".editorconfig",".log",".diff",".patch",".ini",".cfg",".conf",".proto",".tf",".hcl",".sol","text/*"].join(","),multiple:!0,className:"hidden",onChange:pe}),d.jsx("input",{ref:V,type:"file",accept:".csv,.tsv,.xlsx,.xls",multiple:!0,className:"hidden",onChange:_e}),d.jsx("input",{ref:q,type:"file",webkitdirectory:"",directory:"",multiple:!0,className:"hidden",onChange:ke})]}),d.jsx("textarea",{ref:$,value:y,onChange:de,onKeyDown:me,onPaste:xe,placeholder:z?G("chat.processingFile"):s,disabled:r,rows:1,className:Z("flex-1 resize-none border-none bg-transparent outline-none self-center","text-sm text-text-primary placeholder:text-text-muted font-display","max-h-[200px] min-h-[24px] leading-normal")}),d.jsx("button",{type:"button",onClick:t?n:()=>ce(),disabled:!t&&!Le,className:Z("flex-shrink-0 h-8 w-8 flex items-center justify-center rounded-lg transition-all",t?"bg-text-primary text-surface-2 hover:bg-text-secondary":Le?"bg-brand text-white hover:bg-brand-light hover:scale-[1.05] active:scale-[0.97]":"bg-surface-1 text-text-muted"),children:t?d.jsx(Fu,{className:"h-3.5 w-3.5",fill:"currentColor"}):z?d.jsx("div",{className:"h-3.5 w-3.5 border-2 border-current border-t-transparent rounded-full animate-spin"}):d.jsx(Nu,{className:"h-4 w-4"})})]})]})]}),l!=null&&l>0&&d.jsxs("div",{className:"mt-1.5 flex items-center justify-center gap-2 text-[10px] text-text-muted font-display",children:[d.jsx(ru,{className:"h-3 w-3"}),d.jsxs("span",{children:[Se("chat.queued",{n:l}),c?G("chat.queuedCancel"):""]}),c&&d.jsxs("button",{type:"button",onClick:()=>{for(let W=l-1;W>=0;W--)c(W)},className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-text-muted hover:text-text-primary hover:bg-surface-2 transition-colors",children:[d.jsx(bn,{className:"h-3 w-3"}),G("common.cancel")]})]}),d.jsx("div",{className:"text-center mt-1.5",children:d.jsxs("span",{className:"text-[10px] text-text-muted font-display",children:[G("chat.inputHint"),u?G("chat.inputHintSuffix"):""]})})]})}function rx({attachment:e,onRemove:t}){const n=(()=>{switch(e.kind){case"text":return d.jsx(Kt,{className:"h-3.5 w-3.5"});case"table":return d.jsx(gs,{className:"h-3.5 w-3.5"});case"directory":return d.jsx(hs,{className:"h-3.5 w-3.5"});default:return d.jsx(Kt,{className:"h-3.5 w-3.5"})}})(),r=e.size!=null?qt(e.size):null,s=e.kind==="directory"&&e.files?e.files.length:null;return d.jsxs("div",{className:"group flex items-center gap-1.5 rounded-lg border border-border bg-surface-1/50 px-2.5 py-1.5 text-xs text-text-secondary",children:[n,d.jsx("span",{className:"max-w-[120px] truncate font-mono",title:e.name,children:e.name}),r&&d.jsx("span",{className:"text-text-muted text-[10px]",children:r}),s!=null&&d.jsx("span",{className:"text-text-muted text-[10px]",children:Se("chat.fileCount",{n:s})}),d.jsx("button",{type:"button",onClick:t,className:"ml-0.5 -my-1.5 -mr-1 min-h-[32px] min-w-[32px] h-4 w-4 flex items-center justify-center rounded text-text-muted hover:text-text-primary max-sm:opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity","aria-label":`Remove ${e.name}`,children:d.jsx(bn,{className:"h-3 w-3"})})]})}function qt(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}async function Or(e){const t=[];for(const n of e)try{let r=n,s=n.type;n.size>2*1024*1024&&(r=await Pe(n,Jb),s="image/jpeg");const o=await ox(r);t.push({mimeType:s,data:o})}catch(r){console.error("Failed to process image:",r)}return t}async function Ko(e){const t=[];for(const n of e)try{if(n.size>Yl){console.warn(`Skipping ${n.name}: too large (${qt(n.size)})`);continue}n.size>Zb&&console.warn(`File ${n.name} is large (${qt(n.size)}), may slow down`);const r=await n.text();t.push({kind:"text",name:n.name,size:n.size,textContent:r,mimeType:n.type||"text/plain"})}catch(r){console.error(`Failed to read text file ${n.name}:`,r)}return t}async function Yo(e){const t=[];for(const n of e)try{const r=pn(n.name);if(r===".csv"||r===".tsv"){const s=await n.text();t.push({kind:"table",name:n.name,size:n.size,textContent:s,mimeType:n.type||"text/csv"})}else if(r===".xlsx"||r===".xls"){const s=await n.arrayBuffer(),o=await Ql(s);t.push({kind:"table",name:n.name,size:n.size,textContent:o,mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})}}catch(r){console.error(`Failed to process table file ${n.name}:`,r)}return t}async function Ql(e){const t=await Ne(()=>import("./xlsx-CkFp8p6R.js"),[]),n=t.read(e,{type:"array"}),r=[];for(const s of n.SheetNames){const o=n.Sheets[s];if(!o)continue;const a=t.utils.sheet_to_csv(o);n.SheetNames.length>1?r.push(`## Sheet: ${s}
|
|
364
364
|
|
|
365
365
|
${a}`):r.push(a)}return r.join(`
|
|
366
366
|
|
|
@@ -390,4 +390,4 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
390
390
|
${ee.textContent}`}else{const ce=ee.size!=null?` (${My(ee.size)})`:"";re=`📎 ${ee.name}${ce}
|
|
391
391
|
\`\`\`
|
|
392
392
|
${ee.textContent}
|
|
393
|
-
\`\`\``}B.push({type:"text",text:re}),q.push(ee)}}catch(re){console.error("[ChatInterface] Failed to process attachment:",re)}if(B.length===0)return;const K={type:"user_message",id:`user-${Date.now()}`,content:L,images:V.length>0?V:void 0,attachments:q.length>0?q:void 0};r(ee=>[...ee,K]),o(!0);try{await e.sendPrompt(B)}catch(ee){console.error("[ChatInterface] Failed to send prompt:",ee),o(!1)}},[s,a,e,_,g,x,O,m,M,C]);return d.jsxs("div",{className:"flex flex-col h-full",children:[d.jsx(Wb,{entries:n,isLoading:s&&!a?!1:s,onPermissionRespond:(N,L,$)=>{H(N,L,$)},emptyTitle:a?G("session.emptyTitle"):void 0,emptyDescription:a?G("acp.emptyDescription"):void 0}),d.jsx(ax,{requests:P,onRespond:U}),u&&d.jsx("div",{className:"mx-auto max-w-3xl w-full px-4 sm:px-8 pb-1",children:d.jsxs("div",{className:"rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 px-3 py-2 text-sm text-red-700 dark:text-red-300 flex items-center justify-between",children:[d.jsx("span",{children:u}),d.jsx("button",{type:"button",onClick:()=>h(null),className:"ml-2 text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-200 flex-shrink-0",children:"×"})]})}),d.jsxs("div",{className:"flex-shrink-0",children:[d.jsxs("div",{className:"max-w-3xl mx-auto w-full px-4 sm:px-8 pb-1 flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center gap-1",children:[d.jsx(_y,{mode:A??v,onModeChange:N=>{k(null),w(N),localStorage.setItem("acp_permission_mode",N)}}),d.jsx(hy,{client:e}),d.jsx(lx,{usage:y})]}),n.length>0&&d.jsxs(D0,{children:[d.jsx(O0,{asChild:!0,children:d.jsxs(Dt,{variant:"ghost",size:"sm",className:"h-7 text-xs text-text-muted hover:text-brand-text font-display gap-1",onClick:C,children:[d.jsx(Pa,{className:"h-3 w-3"}),G("acp.newSession")]})}),d.jsx(L0,{children:"New Thread"})]})]}),d.jsx(nx,{onSubmit:Y,isLoading:s,onInterrupt:S,disabled:!a,placeholder:G(a?"acp.inputPlaceholder":"acp.waitingPlaceholder"),supportsAttachments:O,commands:_.length>0?_:void 0,queueWhileLoading:!0})]})]})}function My(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ny({client:e,agentId:t}){nn();const[n,r]=p.useState(!1),s=p.useCallback(async o=>{try{if(e.supportsLoadSession)await e.loadSession({sessionId:o.sessionId,cwd:o.cwd});else if(e.supportsResumeSession)await e.resumeSession({sessionId:o.sessionId,cwd:o.cwd});else throw new Error("Loading or resuming sessions is not supported by this agent.")}catch(a){console.error("Failed to load/resume session:",a)}},[e]);return d.jsxs("div",{className:"flex h-full w-full",children:[d.jsxs("div",{className:Z("hidden md:flex flex-col border-r border-border/60 bg-surface-1/50 transition-all duration-200 flex-shrink-0",n?"w-12":"w-64"),children:[d.jsxs("div",{className:"flex items-center justify-between px-3 py-4",children:[!n&&d.jsx("span",{className:"text-xs font-display font-semibold text-text-muted uppercase tracking-widest px-1",children:G("acp.sessions")}),d.jsxs("div",{className:Z("flex items-center gap-0.5",n&&"mx-auto"),children:[!n&&d.jsx("button",{type:"button",onClick:()=>{},className:"h-7 w-7 flex items-center justify-center rounded-lg text-text-muted hover:text-brand-text hover:bg-brand/10 transition-colors",title:G("acp.newSession"),children:d.jsx(Pa,{className:"h-4 w-4"})}),d.jsx("button",{type:"button",onClick:()=>r(!n),className:"h-7 w-7 flex items-center justify-center rounded-lg text-text-muted hover:text-text-primary hover:bg-surface-2 transition-colors",children:n?d.jsx(Cu,{className:"h-4 w-4"}):d.jsx(wu,{className:"h-4 w-4"})})]})]}),!n&&d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(jy,{client:e,onSelectSession:s})})]}),d.jsx("div",{className:"flex-1 flex flex-col min-w-0",children:d.jsx(Ry,{client:e,agentId:t})})]})}function jy({client:e,onSelectSession:t}){const[n,r]=p.useState([]),[s,o]=p.useState(!0),[a,i]=p.useState(null),[m,f]=p.useState(null),[l,c]=p.useState(""),[u,h]=p.useState(!0),b=p.useRef(null),v=p.useCallback(async()=>{if(!e.supportsSessionList){o(!1);return}o(!0);try{const _=await e.listSessions();r(_.sessions)}catch(_){console.warn("[SidebarSessionList] Failed to load:",_)}finally{o(!1)}},[e]);p.useEffect(()=>{e.getState()==="connected"&&e.supportsSessionList&&v()},[e,v]),p.useEffect(()=>{const _=g=>{g==="connected"&&setTimeout(v,200)};return e.setConnectionStateHandler(_),()=>e.removeConnectionStateHandler(_)},[e,v]),p.useEffect(()=>{const _=setInterval(v,1e4);return()=>clearInterval(_)},[v]),p.useEffect(()=>{e.setSessionDeletedHandler(_=>{v()}),e.setSessionRenamedHandler((_,g)=>{v()})},[e,v]),p.useEffect(()=>{e.setErrorMessageHandler(_=>{/Method not found/i.test(_)&&/session\/(rename|delete)/i.test(_)&&(h(!1),f(null))})},[e]),p.useEffect(()=>{m&&b.current&&(b.current.focus(),b.current.select())},[m]);const w=p.useCallback(_=>{const g=_.title&&_.title.trim()?_.title:_.sessionId.slice(0,8);if(window.confirm(Se("acp.confirmDelete",{label:g})))try{e.deleteSession(_.sessionId),r(x=>x.filter(M=>M.sessionId!==_.sessionId)),a===_.sessionId&&i(null)}catch(x){console.error("[SidebarSessionList] delete failed:",x)}},[e,a]),y=p.useCallback(_=>{f(_.sessionId),c(_.title&&_.title.trim()?_.title:"")},[]),T=p.useCallback(()=>{if(!m)return;const _=l.trim();if(!_){f(null);return}try{e.renameSession(m,_),r(g=>g.map(x=>x.sessionId===m?{...x,title:_}:x))}catch(g){console.error("[SidebarSessionList] rename failed:",g)}f(null)},[e,m,l]),A=p.useCallback(()=>{f(null)},[]),k=p.useCallback(_=>{_.key==="Enter"?(_.preventDefault(),T()):_.key==="Escape"&&(_.preventDefault(),A())},[T,A]),O=p.useMemo(()=>[...n].sort((_,g)=>{const x=_.updatedAt?new Date(_.updatedAt).getTime():0;return(g.updatedAt?new Date(g.updatedAt).getTime():0)-x}),[n]);if(s&&n.length===0)return d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("span",{className:"text-xs text-text-muted font-display",children:G("common.loading")})});if(n.length===0)return d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("span",{className:"text-xs text-text-muted font-display",children:G("acp.emptySessions")})});const E=Py(O);return d.jsx("nav",{className:"py-1","aria-label":G("acp.historyNav"),children:E.map((_,g)=>d.jsxs("div",{children:[g>0&&d.jsx("div",{className:"mx-3 my-2 border-t border-border/40"}),d.jsx("div",{className:"px-4 py-2",children:d.jsx("span",{className:"text-[10px] font-display font-semibold uppercase tracking-widest text-text-muted/70",children:_.label})}),_.sessions.map(x=>{const M=m===x.sessionId;return d.jsxs("div",{className:Z("group relative flex items-center gap-2.5 px-4 py-2 transition-colors",x.sessionId===a?"bg-brand/8 text-text-primary":"text-text-secondary hover:bg-surface-2/60 hover:text-text-primary"),children:[d.jsx(gu,{className:"h-3.5 w-3.5 flex-shrink-0 opacity-50"}),M?d.jsx("input",{ref:b,type:"text",value:l,onChange:I=>c(I.target.value),onKeyDown:k,onBlur:T,className:"flex-1 min-w-0 bg-surface-2 border border-border rounded px-1 py-0.5 text-sm font-display text-text-primary outline-none focus:border-brand",onClick:I=>I.stopPropagation()}):d.jsx("button",{type:"button",onClick:()=>{i(x.sessionId),t(x)},className:"flex-1 min-w-0 text-left",title:x.title||x.sessionId,children:d.jsx("span",{className:"text-sm font-display truncate leading-snug block",children:x.title&&x.title.trim()?x.title:G("acp.newSession")})}),M?d.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[d.jsx("button",{type:"button",onClick:T,className:"h-6 w-6 flex items-center justify-center rounded text-text-muted hover:text-brand-text hover:bg-brand/10 transition-colors",title:G("acp.confirm"),children:d.jsx(hn,{className:"h-3.5 w-3.5"})}),d.jsx("button",{type:"button",onClick:A,className:"h-6 w-6 flex items-center justify-center rounded text-text-muted hover:text-status-error hover:bg-status-error/10 transition-colors",title:G("common.cancel"),children:d.jsx(bn,{className:"h-3.5 w-3.5"})})]}):d.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",title:u?void 0:G("acp.noSessionManagement"),children:[d.jsx("button",{type:"button",disabled:!u,onClick:I=>{I.stopPropagation(),u&&y(x)},className:Z("h-6 w-6 flex items-center justify-center rounded transition-colors",u?"text-text-muted hover:text-brand-text hover:bg-brand/10":"text-text-muted/30 cursor-not-allowed"),title:G(u?"acp.rename":"acp.renameUnsupported"),children:d.jsx(ja,{className:"h-3 w-3"})}),d.jsx("button",{type:"button",disabled:!u,onClick:I=>{I.stopPropagation(),u&&w(x)},className:Z("h-6 w-6 flex items-center justify-center rounded transition-colors",u?"text-text-muted hover:text-status-error hover:bg-status-error/10":"text-text-muted/30 cursor-not-allowed"),title:G(u?"acp.delete":"acp.deleteUnsupported"),children:d.jsx(Hu,{className:"h-3 w-3"})})]})]},x.sessionId)})]},_.label))})}function Py(e){const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(n.getTime()-864e5),s=[{label:G("resume.today"),sessions:[]},{label:G("resume.yesterday"),sessions:[]},{label:G("resume.earlier"),sessions:[]}];for(const o of e){const a=o.updatedAt?new Date(o.updatedAt):new Date(0);a>=n?s[0].sessions.push(o):a>=r?s[1].sessions.push(o):s[2].sessions.push(o)}return s.filter(o=>o.sessions.length>0)}function Iy({url:e,token:t,onBack:n}){const[r,s]=p.useState(null),[o,a]=p.useState("disconnected"),[i,m]=p.useState(null),f=p.useRef(null);return p.useEffect(()=>{const l=new es({proxyUrl:e,token:t});return l.setConnectionStateHandler((c,u)=>{a(c),m(u||null)}),f.current=l,s(l),l.connect().catch(c=>{c instanceof ll||(m(c.message),a("error"))}),()=>{l.disconnect(),f.current=null,s(null),a("disconnected")}},[e,t]),d.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[i&&o==="error"&&d.jsxs("div",{className:"px-4 py-2 bg-status-error/10 text-status-error text-sm border-b",children:[i,d.jsx("button",{onClick:n,className:"ml-3 underline hover:no-underline",children:"Back to Dashboard"})]}),o==="connecting"&&d.jsx("div",{className:"flex-1 flex items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"animate-spin h-8 w-8 border-2 border-brand border-t-transparent rounded-full mx-auto mb-3"}),d.jsx("p",{className:"text-text-muted text-sm",children:"Connecting to ACP agent..."})]})}),o==="error"&&!r&&d.jsx("div",{className:"flex-1 flex items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("p",{className:"font-medium mb-1",children:"Connection Failed"}),d.jsx("p",{className:"text-text-muted text-sm mb-3",children:i}),d.jsx("button",{onClick:n,className:"rounded-lg bg-brand px-4 py-2 text-sm font-medium text-white hover:bg-brand-light transition-colors",children:"Back to Dashboard"})]})}),r&&o==="connected"&&d.jsx(Ny,{client:r})]})}const ds="rcs_admin_key";function Dy(){try{return localStorage.getItem(ds)}catch{return null}}function Oy(){const[e,t]=p.useState(Dy),n=p.useCallback(r=>{const s=r.trim();t(s||null);try{s?localStorage.setItem(ds,s):localStorage.removeItem(ds)}catch{}},[]);return{adminKey:e,setAdminKey:n}}const oa=p.lazy(()=>Ne(()=>import("./Dashboard-CC-Am4QG.js"),__vite__mapDeps([4,2,5,6,7,8,1,9])).then(e=>({default:e.Dashboard}))),Ly=p.lazy(()=>Ne(()=>import("./SessionDetail-BtVDoMg8.js"),__vite__mapDeps([10,2,6,8,11,12,13,14,7,15,1,9,16])).then(e=>({default:e.SessionDetail}))),Fy=p.lazy(()=>Ne(()=>import("./ShareLanding-DUksxKDO.js"),__vite__mapDeps([17,2,1,9])).then(e=>({default:e.ShareLanding}))),aa=p.lazy(()=>Ne(()=>import("./ArtifactsGallery-DYZ5MTsU.js").then(e=>e.a),__vite__mapDeps([14,2,8,13])).then(e=>({default:e.ArtifactsGallery}))),$y=p.lazy(()=>Ne(()=>import("./ArtifactView-rXn5UHd0.js"),__vite__mapDeps([18,2,14,8,13,11,1,9])).then(e=>({default:e.ArtifactView}))),Uy=p.lazy(()=>Ne(()=>import("./MemoriesGallery-DmhB-a-r.js"),__vite__mapDeps([15,2,8,1,9])).then(e=>({default:e.MemoriesGallery}))),zy=p.lazy(()=>Ne(()=>import("./Claim-55pIPPu9.js"),__vite__mapDeps([19,2,1,9])).then(e=>({default:e.Claim}))),Hy=p.lazy(()=>Ne(()=>import("./Login-CQvhBtmI.js"),__vite__mapDeps([20,2,1,9])).then(e=>({default:e.Login}))),By=p.lazy(()=>Ne(()=>import("./Register-CWCr9uhR.js"),__vite__mapDeps([21,2,1,9])).then(e=>({default:e.Register}))),Wy=p.lazy(()=>Ne(()=>import("./Setup-BOa1QZgo.js"),__vite__mapDeps([22,2,1,9])).then(e=>({default:e.Setup}))),Gy=p.lazy(()=>Ne(()=>import("./Join-Bv_quRru.js"),__vite__mapDeps([23,2,1,9])).then(e=>({default:e.Join}))),Vy=p.lazy(()=>Ne(()=>import("./UserSettings-Cnr-Z5oi.js"),__vite__mapDeps([24,2,16,13,1,9])).then(e=>({default:e.UserSettings}))),qy=p.lazy(()=>Ne(()=>import("./TeamList-Dkroa-DR.js"),__vite__mapDeps([25,2,8,1,9])).then(e=>({default:e.TeamList}))),Ky=p.lazy(()=>Ne(()=>import("./TeamDetail-N4R7QgkK.js"),__vite__mapDeps([26,2,5,6,12,13,1,9])).then(e=>({default:e.TeamDetail}))),Yy=p.lazy(()=>Ne(()=>import("./TeamSettings-sH6k3cBB.js"),__vite__mapDeps([27,2,1,9])).then(e=>({default:e.TeamSettings}))),Xy=p.lazy(()=>Ne(()=>import("./AdminPanel-DugQ1zJs.js"),__vite__mapDeps([28,2,1,9])).then(e=>({default:e.AdminPanel}))),Qy=new Set(["login","register","setup","join","share"]),Jy=new Set(["login","register","setup","join"]);function Zy(){return d.jsx(Xu,{defaultTheme:"system",children:d.jsx(Zh,{children:d.jsx(ev,{})})})}function ev(){const[e,t]=p.useState("dashboard"),[n,r]=p.useState(null),[s,o]=p.useState(null),[a,i]=p.useState(null),[m,f]=p.useState(null),{adminKey:l}=Oy(),{user:c,isLoading:u,checkSetupStatus:h}=il();p.useEffect(()=>{zh(l)},[l]);const[b,v]=p.useState(!1);p.useEffect(()=>{!u&&!c?h().then(v):c&&v(!1)},[u,c,h]);const w=p.useCallback(()=>{const x=window.location.pathname,M=new URLSearchParams(window.location.search);if(M.get("acp")==="1"){const P=sessionStorage.getItem("acp_connection");if(P)try{const U=JSON.parse(P);if(U.url&&U.token){f({url:U.url,token:U.token}),sessionStorage.removeItem("acp_connection");const Y=new URL(window.location.href);Y.searchParams.delete("acp"),window.history.replaceState(null,"",Y),t("acp");return}}catch{sessionStorage.removeItem("acp_connection")}}const D=M.get("sid");if(D){new URL(window.location.href).searchParams.delete("sid"),window.history.replaceState(null,"",`/code/${D}`),r(D),i(null),t("session");return}if(x==="/login"){t("login");return}if(x==="/register"){t("register");return}if(x==="/setup"){t("setup");return}if(x==="/join"){t("join");return}if(x==="/settings"){t("settings");return}if(x==="/admin"){t("admin");return}if(x.match(/^\/teams\/([^/]+)\/settings$/)){t("team-settings");return}if(x.match(/^\/teams\/([^/]+)$/)){t("team-detail");return}if(x==="/teams"){t("teams");return}const z=x.match(/^\/code\/s\/([^/]+)/);if(z&&z[1]){i(z[1]),r(null),t("share");return}const C=x.match(/^\/code\/a\/([^/]+)/);if(C&&C[1]){o(C[1]),r(null),i(null),t("artifact-view");return}if(x==="/code/artifacts"||x==="/code/artifacts/"){o(null),r(null),i(null),t("artifacts");return}if(x==="/code/memories"||x==="/code/memories/"){o(null),r(null),i(null),t("memories");return}const S=x.match(/^\/code\/claim\/([^/]+)/);if(S&&S[1]){t("claim");return}const H=x.match(/^\/code\/([^/]+)/);H&&H[1]?(r(H[1]),i(null),t("session")):(r(null),i(null),t("dashboard"))},[]);p.useEffect(()=>(w(),window.addEventListener("popstate",w),()=>window.removeEventListener("popstate",w)),[w]);const y=p.useCallback(x=>{window.history.pushState(null,"",`/code/${x}`),r(x),i(null),o(null),t("session")},[]),T=p.useCallback(()=>{window.history.pushState(null,"","/code/artifacts"),o(null),r(null),i(null),t("artifacts")},[]),A=p.useCallback(()=>{window.history.pushState(null,"","/code/memories"),o(null),r(null),i(null),t("memories")},[]),k=p.useCallback(()=>{window.history.pushState(null,"","/code/"),r(null),i(null),o(null),f(null),t("dashboard")},[]),O=(()=>{let x=e;return u||(b&&x!=="setup"&&x!=="join"&&(x="setup"),!c&&!Qy.has(x)&&(x="login"),c&&(x==="login"||x==="setup")&&(x="dashboard")),x})();if(p.useEffect(()=>{u||(O==="setup"&&window.location.pathname!=="/setup"?window.history.replaceState(null,"","/setup"):O==="login"&&window.location.pathname!=="/login"?window.history.replaceState(null,"","/login"):O==="dashboard"&&c&&window.location.pathname!=="/code/"&&window.history.replaceState(null,"","/code/"))},[O,c,u]),u)return d.jsx("div",{className:"flex h-screen items-center justify-center bg-surface-0 text-text-muted",children:"Loading..."});const E=()=>{if(m&&O==="acp")return d.jsx(Iy,{url:m.url,token:m.token,onBack:k});switch(O){case"login":return d.jsx(Hy,{onSuccess:k,onNavigateRegister:()=>t("register")});case"register":return d.jsx(By,{onSuccess:k,onBack:()=>t("login")});case"setup":return d.jsx(Wy,{onSuccess:k,onAlreadyDone:k});case"join":return d.jsx(Gy,{onSuccess:k,onInvalidInvite:k});case"settings":return d.jsx(Vy,{});case"teams":return d.jsx(qy,{});case"team-detail":return d.jsx(Ky,{});case"team-settings":return d.jsx(Yy,{});case"admin":return(c==null?void 0:c.role)!=="admin"?d.jsx("div",{className:"flex flex-1 items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("p",{className:"text-status-error",children:"403 — Admin access required"}),d.jsx("a",{href:"/code/",className:"mt-4 inline-block text-brand-text hover:underline",children:G("nav.dashboard")})]})}):d.jsx(Xy,{});case"share":return d.jsx(Fy,{});case"claim":return d.jsx(zy,{});case"artifacts":return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(aa,{})});case"artifact-view":return s?d.jsx($y,{artifactId:s,onBack:T}):d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(aa,{})});case"memories":return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(Uy,{})});case"session":return n?d.jsx(Ly,{sessionId:n,onBack:k},n):d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(oa,{onNavigateSession:y})});default:return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(oa,{onNavigateSession:y})})}},_=!Jy.has(O)&&O!=="session",g=O==="artifact-view";return d.jsxs("div",{className:"flex h-screen flex-col bg-surface-0 text-text-primary",children:[_&&d.jsx(tg,{sessionTitle:m?"ACP":void 0,sessionSource:m?"acp":void 0,onBack:m||a?k:void 0,onNavigateArtifacts:g?void 0:T,onNavigateMemories:A}),d.jsx(p.Suspense,{fallback:d.jsx("div",{className:"flex flex-1 items-center justify-center text-text-muted",children:"Loading..."}),children:E()})]})}xy();zc.createRoot(document.getElementById("root")).render(d.jsx(p.StrictMode,{children:d.jsx(Zy,{})}));export{Jv as $,es as A,_a as B,nx as C,pb as D,Ou as E,ou as F,Ia as G,Fu as H,nw as I,ow as J,I0 as K,Ma as L,Hs as M,Hu as N,Gx as O,ja as P,eg as Q,Bx as R,Ru as S,Dh as T,Oa as U,qu as V,ae as W,bn as X,Dv as Y,Av as Z,Fv as _,Ny as a,nn as a$,Hv as a0,_v as a1,Nv as a2,$v as a3,Xv as a4,Wv as a5,Ev as a6,hv as a7,Lv as a8,Ov as a9,Bv as aA,Yv as aB,fa as aC,Z as aD,by as aE,le as aF,Rt as aG,Id as aH,lb as aI,ov as aJ,lv as aK,mv as aL,$n as aM,dv as aN,av as aO,cv as aP,iw as aQ,rw as aR,fv as aS,G as aT,Se as aU,ib as aV,iv as aW,Ey as aX,Hh as aY,Pd as aZ,il as a_,yv as aa,tw as ab,Kv as ac,qv as ad,Vv as ae,Uv as af,zv as ag,gv as ah,bv as ai,xv as aj,pv as ak,kv as al,Mv as am,Qv as an,Gv as ao,ew as ap,Tv as aq,Rv as ar,jv as as,Sv as at,Zv as au,vv as av,Cv as aw,wv as ax,Pv as ay,Iv as az,_r as b,Yh as b0,$h as c,Wb as d,hn as e,gn as f,Ra as g,tu as h,ru as i,aw as j,Vx as k,ll as l,tl as m,rl as n,Ln as o,Ph as p,Po as q,nl as r,py as s,Pa as t,lc as u,dc as v,cc as w,Wx as x,Nu as y,Pu as z};
|
|
393
|
+
\`\`\``}B.push({type:"text",text:re}),q.push(ee)}}catch(re){console.error("[ChatInterface] Failed to process attachment:",re)}if(B.length===0)return;const K={type:"user_message",id:`user-${Date.now()}`,content:L,images:V.length>0?V:void 0,attachments:q.length>0?q:void 0};r(ee=>[...ee,K]),o(!0);try{await e.sendPrompt(B)}catch(ee){console.error("[ChatInterface] Failed to send prompt:",ee),o(!1)}},[s,a,e,_,g,x,O,m,M,C]);return d.jsxs("div",{className:"flex flex-col h-full",children:[d.jsx(Wb,{entries:n,isLoading:s&&!a?!1:s,onPermissionRespond:(N,L,$)=>{H(N,L,$)},emptyTitle:a?G("session.emptyTitle"):void 0,emptyDescription:a?G("acp.emptyDescription"):void 0}),d.jsx(ax,{requests:P,onRespond:U}),u&&d.jsx("div",{className:"mx-auto max-w-3xl w-full px-4 sm:px-8 pb-1",children:d.jsxs("div",{className:"rounded-lg bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 px-3 py-2 text-sm text-red-700 dark:text-red-300 flex items-center justify-between",children:[d.jsx("span",{children:u}),d.jsx("button",{type:"button",onClick:()=>h(null),className:"ml-2 text-red-500 hover:text-red-700 dark:text-red-400 dark:hover:text-red-200 flex-shrink-0",children:"×"})]})}),d.jsxs("div",{className:"flex-shrink-0",children:[d.jsxs("div",{className:"max-w-3xl mx-auto w-full px-4 sm:px-8 pb-1 flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center gap-1",children:[d.jsx(_y,{mode:A??v,onModeChange:N=>{k(null),w(N),localStorage.setItem("acp_permission_mode",N)}}),d.jsx(hy,{client:e}),d.jsx(lx,{usage:y})]}),n.length>0&&d.jsxs(D0,{children:[d.jsx(O0,{asChild:!0,children:d.jsxs(Dt,{variant:"ghost",size:"sm",className:"h-7 text-xs text-text-muted hover:text-brand-text font-display gap-1",onClick:C,children:[d.jsx(Pa,{className:"h-3 w-3"}),G("acp.newSession")]})}),d.jsx(L0,{children:"New Thread"})]})]}),d.jsx(nx,{onSubmit:Y,isLoading:s,onInterrupt:S,disabled:!a,placeholder:G(a?"acp.inputPlaceholder":"acp.waitingPlaceholder"),supportsAttachments:O,commands:_.length>0?_:void 0,queueWhileLoading:!0})]})]})}function My(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Ny({client:e,agentId:t}){nn();const[n,r]=p.useState(!1),s=p.useCallback(async o=>{try{if(e.supportsLoadSession)await e.loadSession({sessionId:o.sessionId,cwd:o.cwd});else if(e.supportsResumeSession)await e.resumeSession({sessionId:o.sessionId,cwd:o.cwd});else throw new Error("Loading or resuming sessions is not supported by this agent.")}catch(a){console.error("Failed to load/resume session:",a)}},[e]);return d.jsxs("div",{className:"flex h-full w-full",children:[d.jsxs("div",{className:Z("hidden md:flex flex-col border-r border-border/60 bg-surface-1/50 transition-all duration-200 flex-shrink-0",n?"w-12":"w-64"),children:[d.jsxs("div",{className:"flex items-center justify-between px-3 py-4",children:[!n&&d.jsx("span",{className:"text-xs font-display font-semibold text-text-muted uppercase tracking-widest px-1",children:G("acp.sessions")}),d.jsxs("div",{className:Z("flex items-center gap-0.5",n&&"mx-auto"),children:[!n&&d.jsx("button",{type:"button",onClick:()=>{},className:"h-7 w-7 flex items-center justify-center rounded-lg text-text-muted hover:text-brand-text hover:bg-brand/10 transition-colors",title:G("acp.newSession"),children:d.jsx(Pa,{className:"h-4 w-4"})}),d.jsx("button",{type:"button",onClick:()=>r(!n),className:"h-7 w-7 flex items-center justify-center rounded-lg text-text-muted hover:text-text-primary hover:bg-surface-2 transition-colors",children:n?d.jsx(Cu,{className:"h-4 w-4"}):d.jsx(wu,{className:"h-4 w-4"})})]})]}),!n&&d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(jy,{client:e,onSelectSession:s})})]}),d.jsx("div",{className:"flex-1 flex flex-col min-w-0",children:d.jsx(Ry,{client:e,agentId:t})})]})}function jy({client:e,onSelectSession:t}){const[n,r]=p.useState([]),[s,o]=p.useState(!0),[a,i]=p.useState(null),[m,f]=p.useState(null),[l,c]=p.useState(""),[u,h]=p.useState(!0),b=p.useRef(null),v=p.useCallback(async()=>{if(!e.supportsSessionList){o(!1);return}o(!0);try{const _=await e.listSessions();r(_.sessions)}catch(_){console.warn("[SidebarSessionList] Failed to load:",_)}finally{o(!1)}},[e]);p.useEffect(()=>{e.getState()==="connected"&&e.supportsSessionList&&v()},[e,v]),p.useEffect(()=>{const _=g=>{g==="connected"&&setTimeout(v,200)};return e.setConnectionStateHandler(_),()=>e.removeConnectionStateHandler(_)},[e,v]),p.useEffect(()=>{const _=setInterval(v,1e4);return()=>clearInterval(_)},[v]),p.useEffect(()=>{e.setSessionDeletedHandler(_=>{v()}),e.setSessionRenamedHandler((_,g)=>{v()})},[e,v]),p.useEffect(()=>{e.setErrorMessageHandler(_=>{/Method not found/i.test(_)&&/session\/(rename|delete)/i.test(_)&&(h(!1),f(null))})},[e]),p.useEffect(()=>{m&&b.current&&(b.current.focus(),b.current.select())},[m]);const w=p.useCallback(_=>{const g=_.title&&_.title.trim()?_.title:_.sessionId.slice(0,8);if(window.confirm(Se("acp.confirmDelete",{label:g})))try{e.deleteSession(_.sessionId),r(x=>x.filter(M=>M.sessionId!==_.sessionId)),a===_.sessionId&&i(null)}catch(x){console.error("[SidebarSessionList] delete failed:",x)}},[e,a]),y=p.useCallback(_=>{f(_.sessionId),c(_.title&&_.title.trim()?_.title:"")},[]),T=p.useCallback(()=>{if(!m)return;const _=l.trim();if(!_){f(null);return}try{e.renameSession(m,_),r(g=>g.map(x=>x.sessionId===m?{...x,title:_}:x))}catch(g){console.error("[SidebarSessionList] rename failed:",g)}f(null)},[e,m,l]),A=p.useCallback(()=>{f(null)},[]),k=p.useCallback(_=>{_.key==="Enter"?(_.preventDefault(),T()):_.key==="Escape"&&(_.preventDefault(),A())},[T,A]),O=p.useMemo(()=>[...n].sort((_,g)=>{const x=_.updatedAt?new Date(_.updatedAt).getTime():0;return(g.updatedAt?new Date(g.updatedAt).getTime():0)-x}),[n]);if(s&&n.length===0)return d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("span",{className:"text-xs text-text-muted font-display",children:G("common.loading")})});if(n.length===0)return d.jsx("div",{className:"flex items-center justify-center py-8",children:d.jsx("span",{className:"text-xs text-text-muted font-display",children:G("acp.emptySessions")})});const E=Py(O);return d.jsx("nav",{className:"py-1","aria-label":G("acp.historyNav"),children:E.map((_,g)=>d.jsxs("div",{children:[g>0&&d.jsx("div",{className:"mx-3 my-2 border-t border-border/40"}),d.jsx("div",{className:"px-4 py-2",children:d.jsx("span",{className:"text-[10px] font-display font-semibold uppercase tracking-widest text-text-muted/70",children:_.label})}),_.sessions.map(x=>{const M=m===x.sessionId;return d.jsxs("div",{className:Z("group relative flex items-center gap-2.5 px-4 py-2 transition-colors",x.sessionId===a?"bg-brand/8 text-text-primary":"text-text-secondary hover:bg-surface-2/60 hover:text-text-primary"),children:[d.jsx(gu,{className:"h-3.5 w-3.5 flex-shrink-0 opacity-50"}),M?d.jsx("input",{ref:b,type:"text",value:l,onChange:I=>c(I.target.value),onKeyDown:k,onBlur:T,className:"flex-1 min-w-0 bg-surface-2 border border-border rounded px-1 py-0.5 text-sm font-display text-text-primary outline-none focus:border-brand",onClick:I=>I.stopPropagation()}):d.jsx("button",{type:"button",onClick:()=>{i(x.sessionId),t(x)},className:"flex-1 min-w-0 text-left",title:x.title||x.sessionId,children:d.jsx("span",{className:"text-sm font-display truncate leading-snug block",children:x.title&&x.title.trim()?x.title:G("acp.newSession")})}),M?d.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[d.jsx("button",{type:"button",onClick:T,className:"h-6 w-6 flex items-center justify-center rounded text-text-muted hover:text-brand-text hover:bg-brand/10 transition-colors",title:G("acp.confirm"),children:d.jsx(hn,{className:"h-3.5 w-3.5"})}),d.jsx("button",{type:"button",onClick:A,className:"h-6 w-6 flex items-center justify-center rounded text-text-muted hover:text-status-error hover:bg-status-error/10 transition-colors",title:G("common.cancel"),children:d.jsx(bn,{className:"h-3.5 w-3.5"})})]}):d.jsxs("div",{className:"flex items-center gap-0.5 flex-shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",title:u?void 0:G("acp.noSessionManagement"),children:[d.jsx("button",{type:"button",disabled:!u,onClick:I=>{I.stopPropagation(),u&&y(x)},className:Z("h-6 w-6 flex items-center justify-center rounded transition-colors",u?"text-text-muted hover:text-brand-text hover:bg-brand/10":"text-text-muted/30 cursor-not-allowed"),title:G(u?"acp.rename":"acp.renameUnsupported"),children:d.jsx(ja,{className:"h-3 w-3"})}),d.jsx("button",{type:"button",disabled:!u,onClick:I=>{I.stopPropagation(),u&&w(x)},className:Z("h-6 w-6 flex items-center justify-center rounded transition-colors",u?"text-text-muted hover:text-status-error hover:bg-status-error/10":"text-text-muted/30 cursor-not-allowed"),title:G(u?"acp.delete":"acp.deleteUnsupported"),children:d.jsx(Hu,{className:"h-3 w-3"})})]})]},x.sessionId)})]},_.label))})}function Py(e){const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(n.getTime()-864e5),s=[{label:G("resume.today"),sessions:[]},{label:G("resume.yesterday"),sessions:[]},{label:G("resume.earlier"),sessions:[]}];for(const o of e){const a=o.updatedAt?new Date(o.updatedAt):new Date(0);a>=n?s[0].sessions.push(o):a>=r?s[1].sessions.push(o):s[2].sessions.push(o)}return s.filter(o=>o.sessions.length>0)}function Iy({url:e,token:t,onBack:n}){const[r,s]=p.useState(null),[o,a]=p.useState("disconnected"),[i,m]=p.useState(null),f=p.useRef(null);return p.useEffect(()=>{const l=new es({proxyUrl:e,token:t});return l.setConnectionStateHandler((c,u)=>{a(c),m(u||null)}),f.current=l,s(l),l.connect().catch(c=>{c instanceof ll||(m(c.message),a("error"))}),()=>{l.disconnect(),f.current=null,s(null),a("disconnected")}},[e,t]),d.jsxs("div",{className:"flex flex-1 flex-col overflow-hidden",children:[i&&o==="error"&&d.jsxs("div",{className:"px-4 py-2 bg-status-error/10 text-status-error text-sm border-b",children:[i,d.jsx("button",{onClick:n,className:"ml-3 underline hover:no-underline",children:"Back to Dashboard"})]}),o==="connecting"&&d.jsx("div",{className:"flex-1 flex items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"animate-spin h-8 w-8 border-2 border-brand border-t-transparent rounded-full mx-auto mb-3"}),d.jsx("p",{className:"text-text-muted text-sm",children:"Connecting to ACP agent..."})]})}),o==="error"&&!r&&d.jsx("div",{className:"flex-1 flex items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("p",{className:"font-medium mb-1",children:"Connection Failed"}),d.jsx("p",{className:"text-text-muted text-sm mb-3",children:i}),d.jsx("button",{onClick:n,className:"rounded-lg bg-brand px-4 py-2 text-sm font-medium text-white hover:bg-brand-light transition-colors",children:"Back to Dashboard"})]})}),r&&o==="connected"&&d.jsx(Ny,{client:r})]})}const ds="rcs_admin_key";function Dy(){try{return localStorage.getItem(ds)}catch{return null}}function Oy(){const[e,t]=p.useState(Dy),n=p.useCallback(r=>{const s=r.trim();t(s||null);try{s?localStorage.setItem(ds,s):localStorage.removeItem(ds)}catch{}},[]);return{adminKey:e,setAdminKey:n}}const oa=p.lazy(()=>Ne(()=>import("./Dashboard-xYGSv6Lw.js"),__vite__mapDeps([4,2,5,6,7,8,1,9])).then(e=>({default:e.Dashboard}))),Ly=p.lazy(()=>Ne(()=>import("./SessionDetail-BvfRSk-I.js"),__vite__mapDeps([10,2,6,8,11,12,13,14,7,15,1,9,16])).then(e=>({default:e.SessionDetail}))),Fy=p.lazy(()=>Ne(()=>import("./ShareLanding-CFhEbfTb.js"),__vite__mapDeps([17,2,1,9])).then(e=>({default:e.ShareLanding}))),aa=p.lazy(()=>Ne(()=>import("./ArtifactsGallery-CgNRmnHR.js").then(e=>e.a),__vite__mapDeps([14,2,8,13])).then(e=>({default:e.ArtifactsGallery}))),$y=p.lazy(()=>Ne(()=>import("./ArtifactView-CdmY8dgX.js"),__vite__mapDeps([18,2,14,8,13,11,1,9])).then(e=>({default:e.ArtifactView}))),Uy=p.lazy(()=>Ne(()=>import("./MemoriesGallery-CiOmM1Od.js"),__vite__mapDeps([15,2,8,1,9])).then(e=>({default:e.MemoriesGallery}))),zy=p.lazy(()=>Ne(()=>import("./Claim-5XUBbu1N.js"),__vite__mapDeps([19,2,1,9])).then(e=>({default:e.Claim}))),Hy=p.lazy(()=>Ne(()=>import("./Login-BECgsaNA.js"),__vite__mapDeps([20,2,1,9])).then(e=>({default:e.Login}))),By=p.lazy(()=>Ne(()=>import("./Register-CZk-qnY0.js"),__vite__mapDeps([21,2,1,9])).then(e=>({default:e.Register}))),Wy=p.lazy(()=>Ne(()=>import("./Setup-wM-Ui88_.js"),__vite__mapDeps([22,2,1,9])).then(e=>({default:e.Setup}))),Gy=p.lazy(()=>Ne(()=>import("./Join-DWpwHKrN.js"),__vite__mapDeps([23,2,1,9])).then(e=>({default:e.Join}))),Vy=p.lazy(()=>Ne(()=>import("./UserSettings-Dzu7_2NW.js"),__vite__mapDeps([24,2,16,13,1,9])).then(e=>({default:e.UserSettings}))),qy=p.lazy(()=>Ne(()=>import("./TeamList-DCkEwOSN.js"),__vite__mapDeps([25,2,8,1,9])).then(e=>({default:e.TeamList}))),Ky=p.lazy(()=>Ne(()=>import("./TeamDetail-DGplkbKB.js"),__vite__mapDeps([26,2,5,6,12,13,1,9])).then(e=>({default:e.TeamDetail}))),Yy=p.lazy(()=>Ne(()=>import("./TeamSettings--GVPCr2u.js"),__vite__mapDeps([27,2,1,9])).then(e=>({default:e.TeamSettings}))),Xy=p.lazy(()=>Ne(()=>import("./AdminPanel-D2BlOKin.js"),__vite__mapDeps([28,2,1,9])).then(e=>({default:e.AdminPanel}))),Qy=new Set(["login","register","setup","join","share"]),Jy=new Set(["login","register","setup","join"]);function Zy(){return d.jsx(Xu,{defaultTheme:"system",children:d.jsx(Zh,{children:d.jsx(ev,{})})})}function ev(){const[e,t]=p.useState("dashboard"),[n,r]=p.useState(null),[s,o]=p.useState(null),[a,i]=p.useState(null),[m,f]=p.useState(null),{adminKey:l}=Oy(),{user:c,isLoading:u,checkSetupStatus:h}=il();p.useEffect(()=>{zh(l)},[l]);const[b,v]=p.useState(!1);p.useEffect(()=>{!u&&!c?h().then(v):c&&v(!1)},[u,c,h]);const w=p.useCallback(()=>{const x=window.location.pathname,M=new URLSearchParams(window.location.search);if(M.get("acp")==="1"){const P=sessionStorage.getItem("acp_connection");if(P)try{const U=JSON.parse(P);if(U.url&&U.token){f({url:U.url,token:U.token}),sessionStorage.removeItem("acp_connection");const Y=new URL(window.location.href);Y.searchParams.delete("acp"),window.history.replaceState(null,"",Y),t("acp");return}}catch{sessionStorage.removeItem("acp_connection")}}const D=M.get("sid");if(D){new URL(window.location.href).searchParams.delete("sid"),window.history.replaceState(null,"",`/code/${D}`),r(D),i(null),t("session");return}if(x==="/login"){t("login");return}if(x==="/register"){t("register");return}if(x==="/setup"){t("setup");return}if(x==="/join"){t("join");return}if(x==="/settings"){t("settings");return}if(x==="/admin"){t("admin");return}if(x.match(/^\/teams\/([^/]+)\/settings$/)){t("team-settings");return}if(x.match(/^\/teams\/([^/]+)$/)){t("team-detail");return}if(x==="/teams"){t("teams");return}const z=x.match(/^\/code\/s\/([^/]+)/);if(z&&z[1]){i(z[1]),r(null),t("share");return}const C=x.match(/^\/code\/a\/([^/]+)/);if(C&&C[1]){o(C[1]),r(null),i(null),t("artifact-view");return}if(x==="/code/artifacts"||x==="/code/artifacts/"){o(null),r(null),i(null),t("artifacts");return}if(x==="/code/memories"||x==="/code/memories/"){o(null),r(null),i(null),t("memories");return}const S=x.match(/^\/code\/claim\/([^/]+)/);if(S&&S[1]){t("claim");return}const H=x.match(/^\/code\/([^/]+)/);H&&H[1]?(r(H[1]),i(null),t("session")):(r(null),i(null),t("dashboard"))},[]);p.useEffect(()=>(w(),window.addEventListener("popstate",w),()=>window.removeEventListener("popstate",w)),[w]);const y=p.useCallback(x=>{window.history.pushState(null,"",`/code/${x}`),r(x),i(null),o(null),t("session")},[]),T=p.useCallback(()=>{window.history.pushState(null,"","/code/artifacts"),o(null),r(null),i(null),t("artifacts")},[]),A=p.useCallback(()=>{window.history.pushState(null,"","/code/memories"),o(null),r(null),i(null),t("memories")},[]),k=p.useCallback(()=>{window.history.pushState(null,"","/code/"),r(null),i(null),o(null),f(null),t("dashboard")},[]),O=(()=>{let x=e;return u||(b&&x!=="setup"&&x!=="join"&&(x="setup"),!c&&!Qy.has(x)&&(x="login"),c&&(x==="login"||x==="setup")&&(x="dashboard")),x})();if(p.useEffect(()=>{u||(O==="setup"&&window.location.pathname!=="/setup"?window.history.replaceState(null,"","/setup"):O==="login"&&window.location.pathname!=="/login"?window.history.replaceState(null,"","/login"):O==="dashboard"&&c&&window.location.pathname!=="/code/"&&window.history.replaceState(null,"","/code/"))},[O,c,u]),u)return d.jsx("div",{className:"flex h-screen items-center justify-center bg-surface-0 text-text-muted",children:"Loading..."});const E=()=>{if(m&&O==="acp")return d.jsx(Iy,{url:m.url,token:m.token,onBack:k});switch(O){case"login":return d.jsx(Hy,{onSuccess:k,onNavigateRegister:()=>t("register")});case"register":return d.jsx(By,{onSuccess:k,onBack:()=>t("login")});case"setup":return d.jsx(Wy,{onSuccess:k,onAlreadyDone:k});case"join":return d.jsx(Gy,{onSuccess:k,onInvalidInvite:k});case"settings":return d.jsx(Vy,{});case"teams":return d.jsx(qy,{});case"team-detail":return d.jsx(Ky,{});case"team-settings":return d.jsx(Yy,{});case"admin":return(c==null?void 0:c.role)!=="admin"?d.jsx("div",{className:"flex flex-1 items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("p",{className:"text-status-error",children:"403 — Admin access required"}),d.jsx("a",{href:"/code/",className:"mt-4 inline-block text-brand-text hover:underline",children:G("nav.dashboard")})]})}):d.jsx(Xy,{});case"share":return d.jsx(Fy,{});case"claim":return d.jsx(zy,{});case"artifacts":return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(aa,{})});case"artifact-view":return s?d.jsx($y,{artifactId:s,onBack:T}):d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(aa,{})});case"memories":return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(Uy,{})});case"session":return n?d.jsx(Ly,{sessionId:n,onBack:k},n):d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(oa,{onNavigateSession:y})});default:return d.jsx("div",{className:"flex-1 overflow-y-auto",children:d.jsx(oa,{onNavigateSession:y})})}},_=!Jy.has(O)&&O!=="session",g=O==="artifact-view";return d.jsxs("div",{className:"flex h-screen flex-col bg-surface-0 text-text-primary",children:[_&&d.jsx(tg,{sessionTitle:m?"ACP":void 0,sessionSource:m?"acp":void 0,onBack:m||a?k:void 0,onNavigateArtifacts:g?void 0:T,onNavigateMemories:A}),d.jsx(p.Suspense,{fallback:d.jsx("div",{className:"flex flex-1 items-center justify-center text-text-muted",children:"Loading..."}),children:E()})]})}xy();zc.createRoot(document.getElementById("root")).render(d.jsx(p.StrictMode,{children:d.jsx(Zy,{})}));export{Jv as $,es as A,_a as B,nx as C,pb as D,Ou as E,ou as F,Ia as G,Fu as H,nw as I,ow as J,I0 as K,Ma as L,Hs as M,Hu as N,Gx as O,ja as P,eg as Q,Bx as R,Ru as S,Dh as T,Oa as U,qu as V,ae as W,bn as X,Dv as Y,Av as Z,Fv as _,Ny as a,nn as a$,Hv as a0,_v as a1,Nv as a2,$v as a3,Xv as a4,Wv as a5,Ev as a6,hv as a7,Lv as a8,Ov as a9,Bv as aA,Yv as aB,fa as aC,Z as aD,by as aE,le as aF,Rt as aG,Id as aH,lb as aI,ov as aJ,lv as aK,mv as aL,$n as aM,dv as aN,av as aO,cv as aP,iw as aQ,rw as aR,fv as aS,G as aT,Se as aU,ib as aV,iv as aW,Ey as aX,Hh as aY,Pd as aZ,il as a_,yv as aa,tw as ab,Kv as ac,qv as ad,Vv as ae,Uv as af,zv as ag,gv as ah,bv as ai,xv as aj,pv as ak,kv as al,Mv as am,Qv as an,Gv as ao,ew as ap,Tv as aq,Rv as ar,jv as as,Sv as at,Zv as au,vv as av,Cv as aw,wv as ax,Pv as ay,Iv as az,_r as b,Yh as b0,$h as c,Wb as d,hn as e,gn as f,Ra as g,tu as h,ru as i,aw as j,Vx as k,ll as l,tl as m,rl as n,Ln as o,Ph as p,Po as q,nl as r,py as s,Pa as t,lc as u,dc as v,cc as w,Wx as x,Nu as y,Pu as z};
|