dorkos 0.133.0 → 0.134.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +371 -82
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-D-EHHVPa.js → AboutPage-zOZ0j1a0.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-BTHnE1vP.js → ActivityErrorState-BlHkTJeC.js} +1 -1
- package/dist/client/assets/{ActivityPage-BfSLPIdR.js → ActivityPage-LCOV7KDT.js} +1 -1
- package/dist/client/assets/{ActivityRow-PwUBjQw8.js → ActivityRow-CvDae84E.js} +1 -1
- package/dist/client/assets/{AdapterIcon-DgkNN6bi.js → AdapterIcon-Dm5QP8_9.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-DX0dzp7q.js → AdapterSetupWizard-CNga-lEN.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-ApuDEKqq.js → AgentOptionRow-CHb4ifHN.js} +1 -1
- package/dist/client/assets/{AgentPicker-BDci-9aL.js → AgentPicker-B8WFWr7p.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-B2gxCMGi.js → AgentRequestCard-Cnhi_1sr.js} +3 -3
- package/dist/client/assets/{AppearancePage-8SVnFe0k.js → AppearancePage-BI5qdQoW.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-CnL1ubxL.js → ApplyToOverridesDialog-gSHV8ggp.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-CCKhUtil.js → AttentionSignalRow-QgzOBKxa.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-B7wFPzG4.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-Ck8dc5X4.js} +3 -3
- package/dist/client/assets/{BindingDialog-C4BHVXno.js → BindingDialog-DX1N_tTX.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-7E5uwVms.js → BlintzCanvas-FqS5vfnA.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-l7lfyDGn.js → CanvasCsvContent-B9h8JQsV.js} +4 -4
- package/dist/client/assets/CanvasFileContent-BXo8hS_n.js +2 -0
- package/dist/client/assets/CanvasModel3dContent-BhAho9NF.js +2 -0
- package/dist/client/assets/{ChannelComposer-CAYvz_ZB.js → ChannelComposer-DUKyoCYz.js} +5 -5
- package/dist/client/assets/{ChatAppsOff-CNeKBVNz.js → ChatAppsOff-hxeSExhA.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-BZRcNFsS.js → CodeMirrorDiff-BoDEtyYj.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-DD5tArRn.js → CodeMirrorEditor-CU7h0emU.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-BUmsVssG.js → ComputerResourceView-Dd4Kedxf.js} +1 -1
- package/dist/client/assets/{ComputerViewer-BKMR5LkF.js → ComputerViewer-CssfoCBB.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-DYUiFmPY.js → ConnectionAccessLists-2qFBRKpv.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-DR2Kfm9Q.js → ConnectionsPage-CPyrw58B.js} +1 -1
- package/dist/client/assets/{ConventionPage-Do6q8873.js → ConventionPage-B2MERyNx.js} +2 -2
- package/dist/client/assets/{ExtensionPageRoute-CP7NM7fw.js → ExtensionPageRoute-7x-7Ad0_.js} +1 -1
- package/dist/client/assets/{FeatureDisabledState-Bi23k3rg.js → FeatureDisabledState-DsbRcnZ6.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-lRlmDXYz.js → FloatingTanStackRouterDevtools-CqogiFob-BReszru7.js} +1 -1
- package/dist/client/assets/{ForwardConsentHost-DSR1pEEK.js → ForwardConsentHost-DOwU-xQ9.js} +1 -1
- package/dist/client/assets/HandlePage-B7fNgSTl.js +1 -0
- package/dist/client/assets/{HeartbeatPage-BTNVcHOI.js → HeartbeatPage-0qi56iQb.js} +1 -1
- package/dist/client/assets/{KeyEntry-67acsEG2.js → KeyEntry-uKZG5d2z.js} +1 -1
- package/dist/client/assets/{LexicalField-Cb68LIar.js → LexicalField-CKc8eUK3.js} +2 -2
- package/dist/client/assets/{ManagesPage-ChPlBF42.js → ManagesPage-DWVLpjw2.js} +1 -1
- package/dist/client/assets/{Marketplace-CzPhJEE1.js → Marketplace-VBnmDEQE.js} +4 -4
- package/dist/client/assets/{MarketplaceSourcesView-CmQgxQmU.js → MarketplaceSourcesView-BRuo8wIH.js} +1 -1
- package/dist/client/assets/{McpAppFrame-z5JUaCSA.js → McpAppFrame-IfamHBcy.js} +1 -1
- package/dist/client/assets/{McpSigninBody-ZrnzwrOH.js → McpSigninBody-VmuxAjoo.js} +1 -1
- package/dist/client/assets/{Model3dViewer-HJpWK-JI.js → Model3dViewer-CT4aYUpn.js} +1 -1
- package/dist/client/assets/NamePage-CFRvBLJ8.js +1 -0
- package/dist/client/assets/NewDirectMessageMenu-BZFyclIS.js +1 -0
- package/dist/client/assets/{NotificationsPage-DwNUI0Z3.js → NotificationsPage-DMJf-hq3.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-RNAZY1vn.js → OpenMeshSwitch-DltP6-54.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-B7S2C_eT.js → OperatorIdentityForm-C8oS_fQG.js} +1 -1
- package/dist/client/assets/PermissionHistory-BAe31Nl3.js +1 -0
- package/dist/client/assets/{PermissionsPage-ToK0DZVV.js → PermissionsPage-CqvpcXTJ.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-BvMtUQRM.js → PersonalityPopover-D8l_Hfc1.js} +1 -1
- package/dist/client/assets/PhotoPage-DTl81tTW.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-DzbkMrUo.js → PreviewRefusedNotice-DZh7zTEt.js} +1 -1
- package/dist/client/assets/{ProfileFields-DU8dTGHT.js → ProfileFields-T1f833SK.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-BfT-ufV7.js → ProfilePanelContainer-BSbE5rqM.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-DrOtV-0N.js → ProfileRolePicker-CpAhjq-e.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-CEnhme_V.js → PromptSuggestionChips-BGZ3HP31.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-CwjpR1Tw.js → ReportsToPopover-DfmvDL7E.js} +1 -1
- package/dist/client/assets/{RoomSurface-CChzNJKw.js → RoomSurface-DCYXQ79N.js} +1 -1
- package/dist/client/assets/{RoomsPage-Dbf6ijKr.js → RoomsPage-DTMTTWEf.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-Bh5sSsSC.js → RunsOnPopover-CjJiJgly.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-BYQnY5vv.js → RuntimeConnectFlow-Dinsb9em.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-DTO5v0dP.js → RuntimeSetupDialog-UhsfZRye.js} +1 -1
- package/dist/client/assets/{SeenDevices-cuY7ASEy.js → SeenDevices-CuXXI7Jv.js} +3 -3
- package/dist/client/assets/{SessionsPage-BrqpVx-t.js → SessionsPage-Cn4rUeyL.js} +1 -1
- package/dist/client/assets/{SettingsDialog-DCAZX_1d.js → SettingsDialog-CZrhYejc.js} +3 -3
- package/dist/client/assets/{SkillsPage-D5who_ZH.js → SkillsPage-CoanF7Jz.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-BJ6XtOC5.js → TaskDialogWrapper-CU4PkcGk.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-B3SjsxQa.js → TasksEmptyState-lWVZXYPS.js} +2 -2
- package/dist/client/assets/{TasksPage-B72w7J87.js → TasksPage-BPmiut-D.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-B9ma5j-X.js → TeamComputerEntry-2RKJhINy.js} +1 -1
- package/dist/client/assets/{TodoPromiseList-DDKWAfmv.js → TodoPromiseList-iODTn1_b.js} +1 -1
- package/dist/client/assets/{TodoPromisesPage-BNXpvXzS.js → TodoPromisesPage-BCm38YVu.js} +1 -1
- package/dist/client/assets/{ToolsPage-DbJykCG3.js → ToolsPage-Bboa9crU.js} +1 -1
- package/dist/client/assets/{TopologyGraph-DKZS3nlr.js → TopologyGraph-Dw_sLFBL.js} +1 -1
- package/dist/client/assets/{TourHost-Bw3Uoea5.js → TourHost-BUV9rMNn.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-B-XCFNSd.js → UnlinkDialog-B7lL7sxN.js} +1 -1
- package/dist/client/assets/{UnreadDivider-1aPVzwd7.js → UnreadDivider-DCB47jhk.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-C5ieVv_9.js → WidgetErrorCard-D14BNvfm.js} +2 -2
- package/dist/client/assets/{WithheldExtensionsNotice-CCO4ClRZ.js → WithheldExtensionsNotice-I0VwWxDY.js} +1 -1
- package/dist/client/assets/{WorkQueuePage-BbPKNwDg.js → WorkQueuePage-wVj3wlat.js} +1 -1
- package/dist/client/assets/{WorkView-BRcytACJ.js → WorkView-MSsuFZVO.js} +1 -1
- package/dist/client/assets/{_shell-EwFeSIGp.js → _shell-Bp1Mn6YU.js} +4 -4
- package/dist/client/assets/{_shell._home-DD2mg-iK.js → _shell._home-CylH7Gjr.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-Z1QuU2M4.js → _shell._home.activity-BABzsE_Y.js} +1 -1
- package/dist/client/assets/_shell._home.index-BWXNHCGe.js +3 -0
- package/dist/client/assets/{_shell._home.tasks-BtC85Iut.js → _shell._home.tasks-BJg6t5SW.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-qMG5OJYR.js → _shell._home.workspaces-B3LBf9vr.js} +1 -1
- package/dist/client/assets/{_shell.channels-BE4EK-iM.js → _shell.channels-C0xYFINv.js} +2 -2
- package/dist/client/assets/_shell.connections-73FPamLr.js +6 -0
- package/dist/client/assets/{_shell.feedback-requests-CwKSkkuD.js → _shell.feedback-requests-BYYmQE_b.js} +1 -1
- package/dist/client/assets/_shell.marketplace-CiBixBHr.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-DPUWEdt6.js +1 -0
- package/dist/client/assets/_shell.session-CJhLuYyA.js +1 -0
- package/dist/client/assets/{_shell.team-Dm5a4f8_.js → _shell.team-BbulfYAQ.js} +3 -3
- package/dist/client/assets/_shell.threads-CRFlslhF.js +1 -0
- package/dist/client/assets/_shell.todos-CmwRh6jX.js +6 -0
- package/dist/client/assets/_shell.x._extensionId-DdKU91-V.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-DdKU91-V.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-Bu2T3jVw.js → abnfDiagram-WEYOIA3C-CF3eRhtw.js} +1 -1
- package/dist/client/assets/{access-copy-tkiFMhRf.js → access-copy-EuKlRWLG.js} +1 -1
- package/dist/client/assets/{arc-5q4SfXO9.js → arc-BqnZif1q.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-BnDMOBhV.js → architectureDiagram-ZHVYKT53-CQytXLkh.js} +1 -1
- package/dist/client/assets/{banner-CSKUrrI0.js → banner-nfkn2OLZ.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-CtushlEs.js → blockDiagram-RJAE7QA3-CXieJU3q.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-7L-qYwKH.js → c4Diagram-XDPPPE54-BPmgfFrI.js} +1 -1
- package/dist/client/assets/channel-BOMQJ9aR.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-ksBVyqQ3.js → chunk-2E7WHVMD-BtumkVCk.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-Bfqdkihb.js → chunk-2Q5K7J3B-BUsPKn6-.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-Brf2dH9x.js → chunk-4EMNKR2T-CuRou8Oa.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-BlE7Cq40.js → chunk-55XCU76K-CafKfo9G.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-Bkgg3j7L.js → chunk-5VM5RSS4-BdemtVRg.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-B9TRpN4O.js → chunk-JWPE2WC7-C1pKIt5Q.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-ZoILnIYi.js → chunk-VQ5W62QI-DPIQcwQZ.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-r2xNhaKz.js → chunk-XXDRQBXY-CDtiCG5n.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-DfV3cF7d.js → chunk-ZCHMQSOR-DsHVvsHO.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-VOVqMNNP.js → classDiagram-v2-4MYWR3UA-CNKi62Mk.js} +1 -1
- package/dist/client/assets/{command-CaUEAy3b.js → command-D1cWVheG.js} +1 -1
- package/dist/client/assets/{copy-button-BOznikwM.js → copy-button-BHHQAtAH.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-CAdBvyLz.js → cose-bilkent-JH36ORCC-CqK8lNYm.js} +1 -1
- package/dist/client/assets/{cpu-j9vX9Wfk.js → cpu-BhPT23rn.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-DcH1A9Oo.js → cynefin-EF2NZ3EQ-DUFv7wAT.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-DJuKBXHi.js → cynefinDiagram-WF24UDRP-DprACurA.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-D099H_0S.js → dagre-NK4GIZVX-CFCbvrTm.js} +1 -1
- package/dist/client/assets/{detail-row-Crl89jnh.js → detail-row-DBa1uo_y.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-Cd_4W9XO.js → diagram-CBK3MWTC-BgRgWBNs.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-Bc7aQKt3.js → diagram-I5XIIV2D-Bvmxrku7.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-awVJZ4Bg.js → diagram-ODIL2UCW-CqzUdcUW.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-dhsj9aeU.js → diagram-PFBEJUXE-DwXryVWl.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-Dm59CbiV.js → diagram-RJA3I4VV-DqGvHPAI.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-BhvcIjA9.js → diagram-TYUNFSNR-GOfZ43Y3.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-C4wT_MTC.js → ebnfDiagram-V4P3TTPT-lF7-sW99.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-CPI0zjmW.js → elk-QONTBCTQ-Cd5kFMK6.js} +1 -1
- package/dist/client/assets/{empty-state-BHcmkSzu.js → empty-state-CHse95jw.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-C_vGcbOB.js → erDiagram-KYQIGQAA-BqXJlTJO.js} +1 -1
- package/dist/client/assets/{execution-config-BS5rtvTZ.js → execution-config-U_R_H28y.js} +1 -1
- package/dist/client/assets/{file-CQGljfDT.js → file-DZ6-r1A3.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-B0a55VME.js → file-exclamation-point-CR6qeV6m.js} +1 -1
- package/dist/client/assets/{file-text-Cycq_S0e.js → file-text-4-Vc22J-.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-B6sJdG3Q.js → find-latest-widget-fence-D61kyRv5.js} +2 -2
- package/dist/client/assets/{flowDiagram-IUGLLWBU-_VNfmnxx.js → flowDiagram-IUGLLWBU-C18poulN.js} +1 -1
- package/dist/client/assets/{form-BL14vwyB.js → form-B51NLChW.js} +1 -1
- package/dist/client/assets/{format-cron-meJMgYNe.js → format-cron-CrDI8dcD.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-o0gGU7X_.js → ganttDiagram-R7GPNTJY-BHa77y_O.js} +1 -1
- package/dist/client/assets/{git-branch-CsLE6G0Y.js → git-branch-CzV_Mp0H.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-DjXjUpJo.js → gitGraphDiagram-PDYL7XHY-DdfDaaK5.js} +1 -1
- package/dist/client/assets/{graph-BMYee_VK.js → graph-stVQph_6.js} +1 -1
- package/dist/client/assets/{heart-Cn3a-UQI.js → heart-B7rSSNjF.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-DsX5yCC0.js → highlighted-body-KPVGNVTW-BDppiTvx.js} +1 -1
- package/dist/client/assets/{image-lightbox-BZ_eBZgA.js → image-lightbox-DwZmxmRU.js} +1 -1
- package/dist/client/assets/{image-off-DjR7LI5G.js → image-off-B65OAyEw.js} +1 -1
- package/dist/client/assets/{index-BR1m9FON.js → index-B2JoVHek.js} +231 -231
- package/dist/client/assets/{index-Cb_p_ynP.js → index-BC7vn8oJ.js} +1 -1
- package/dist/client/assets/{index-DARchye_.js → index-BD0bxxdG.js} +1 -1
- package/dist/client/assets/{index-BxWr8Mrf.js → index-BJE7FpeW.js} +1 -1
- package/dist/client/assets/{index-CczLBUKI.js → index-BLepK8Tm.js} +1 -1
- package/dist/client/assets/{index-Z2ApBQt4.js → index-BNMepjWi.js} +1 -1
- package/dist/client/assets/{index-H4e5Wpmi.js → index-B_7AgsWu.js} +1 -1
- package/dist/client/assets/{index-Cgjq7a-8.js → index-BchQNMCW.js} +1 -1
- package/dist/client/assets/{index-DFb4kOjm.js → index-BgKo-iME.js} +2 -2
- package/dist/client/assets/{index-Kt6r3DQg.js → index-BncKYCzR.js} +1 -1
- package/dist/client/assets/{index-CpWxcN5D.js → index-Bocv39Dy.js} +1 -1
- package/dist/client/assets/{index-BcnwvTnt.js → index-Bx9vkvgI.js} +1 -1
- package/dist/client/assets/{index-o6kGmVGx.js → index-ByKStnc0.js} +1 -1
- package/dist/client/assets/index-C2FXv0W1.js +1 -0
- package/dist/client/assets/index-CCRFURxg.js +1 -0
- package/dist/client/assets/{index-DLN0kcME.js → index-CNXWcd0h.js} +1 -1
- package/dist/client/assets/index-CT9qR-37.js +1 -0
- package/dist/client/assets/{index-vHKVYcH7.js → index-CXbvnAWk.js} +1 -1
- package/dist/client/assets/{index-Cv67OXfk.js → index-CaWtXSTG.js} +1 -1
- package/dist/client/assets/{index-DQ8uADJF.js → index-CayDBSDe.js} +1 -1
- package/dist/client/assets/{index-4rSR8lau.js → index-Ci17H_nH.js} +1 -1
- package/dist/client/assets/{index-DqZmnJED.js → index-CpCaGGh0.js} +1 -1
- package/dist/client/assets/{index-CfKSlYjb.js → index-CvLTkguu.js} +1 -1
- package/dist/client/assets/{index-dY7IFpet.js → index-CyTJNCti.js} +1 -1
- package/dist/client/assets/{index-Joav7LQU.js → index-CzDpDW1S.js} +1 -1
- package/dist/client/assets/{index-B4TxpTKD.js → index-D1FZurLO.js} +1 -1
- package/dist/client/assets/{index-BmKHO-FD.js → index-D5HU9MN-.js} +1 -1
- package/dist/client/assets/index-DBjkg_lo.css +1 -0
- package/dist/client/assets/{index-gmyiXkmr.js → index-DCymAWyX.js} +1 -1
- package/dist/client/assets/{index-faSyUc2q.js → index-DDPQZJQz.js} +1 -1
- package/dist/client/assets/{index-Cf4Gtxf9.js → index-DK-qQXH4.js} +1 -1
- package/dist/client/assets/{index-DrlB9RSk.js → index-DTJV1dBd.js} +1 -1
- package/dist/client/assets/{index-DiM3QX-4.js → index-Dhj4iWHB.js} +3 -3
- package/dist/client/assets/index-DxqA8BnM.js +1 -0
- package/dist/client/assets/{index-DlvUENo4.js → index-DzVJOMZm.js} +1 -1
- package/dist/client/assets/{index-47--OGKJ.js → index-FRNKkajP.js} +1 -1
- package/dist/client/assets/{index-Dfko0tSp.js → index-L1Tsd-wn.js} +1 -1
- package/dist/client/assets/{index-KganLhU1.js → index-QaablvAu.js} +2 -2
- package/dist/client/assets/{index-DMSSN08i.js → index-SawUg2NU.js} +1 -1
- package/dist/client/assets/{index-B8LqLhq7.js → index-YObNtFmj.js} +1 -1
- package/dist/client/assets/{index-1MwES_vb.js → index-iRuOpaV9.js} +1 -1
- package/dist/client/assets/{index-BOCclWF3.js → index-ulrRTPa9.js} +1 -1
- package/dist/client/assets/{index-BsZkXHsH.js → index-wcSHU-xr.js} +1 -1
- package/dist/client/assets/{index-D5Qmx1JR.js → index-yZEr0YWk.js} +3 -3
- package/dist/client/assets/{index.esm-CJIDYBqd.js → index.esm-gt8tvZ7J.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-B1mMyUlp.js → infoDiagram-MVDRKAX5-DzhnMotD.js} +1 -1
- package/dist/client/assets/{inline-code-mh48Uhbi.js → inline-code-rYW-kJLB.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-efEMQ0_X.js → ishikawaDiagram-HPEHV2GE-CfEX5E3R.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-DSAywiVk.js → journeyDiagram-BOSHW7O7-oPrRia7f.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-B9pbU4zK.js → kanban-definition-FNSA4HC5-c4CFmcMa.js} +1 -1
- package/dist/client/assets/{layers-B0Z5Od3N.js → layers-D9XZggr2.js} +1 -1
- package/dist/client/assets/{lightbulb-Cfb5ecEd.js → lightbulb-DQBO5jSg.js} +1 -1
- package/dist/client/assets/{link-2-Dzy5BUL3.js → link-2-CZiWX9vI.js} +1 -1
- package/dist/client/assets/{list-runtime-types-DLmjtBMq.js → list-runtime-types-Dry1muZ1.js} +1 -1
- package/dist/client/assets/{markdown-content-DhAtZOfj.js → markdown-content-FcvkqTTS.js} +1 -1
- package/dist/client/assets/{mention-pill-DmA8FxL4.js → mention-pill-BxASQ-6w.js} +1 -1
- package/dist/client/assets/{mermaid.core-DUIkdbeL.js → mermaid.core-BqACpHu4.js} +4 -4
- package/dist/client/assets/{message-square-off-BowIzJUV.js → message-square-off-SMiCYjYr.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-Dz7ZOR4C.js → mindmap-definition-6OY57UG3-BSYcYnyL.js} +1 -1
- package/dist/client/assets/{more-details-DV7LmY0E.js → more-details-D9_Bn2GL.js} +1 -1
- package/dist/client/assets/{owner-notice-DdFc2P8z.js → owner-notice-DO2xE-1L.js} +1 -1
- package/dist/client/assets/{package-BhKXbvU_.js → package-DpqGENzU.js} +1 -1
- package/dist/client/assets/{page-container-0sWZ3xh9.js → page-container-Cta3RqHd.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-Bjy4udre.js → pane-resize-handle-BJ0XV-Zg.js} +1 -1
- package/dist/client/assets/{paperclip-C-7LhBfl.js → paperclip-CItlLyje.js} +1 -1
- package/dist/client/assets/{path-input-BPVyI72G.js → path-input-CAkVS5XR.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-C4EOP-Fa.js → pegDiagram-ECIUJNBX-Bnc4eqtF.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CQ1OxRkv.js → pieDiagram-GNMPY74T-7gG33sSR.js} +1 -1
- package/dist/client/assets/{plug-CIZ-wWL8.js → plug-Cb8qsOxJ.js} +1 -1
- package/dist/client/assets/{primer-trigger-XA5fLzR5.js → primer-trigger-BG3lb31_.js} +2 -2
- package/dist/client/assets/{profile-errors-C1XACbc9.js → profile-errors-T-3VgU7E.js} +1 -1
- package/dist/client/assets/progress-CwpnobNW.js +1 -0
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-Cw4BdkpS.js → quadrantDiagram-D57K4MC3-Dr2Z6GbA.js} +1 -1
- package/dist/client/assets/{query-error-state-Cm-Lozlb.js → query-error-state-BV8fyXBe.js} +1 -1
- package/dist/client/assets/{radio-DQ29H26H.js → radio-SApjvqfy.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-CSKtYLmm.js → railroadDiagram-Y72NRBL7-7kfKSzWs.js} +1 -1
- package/dist/client/assets/{registry-Tbt9pcZl.js → registry-BcpatPes.js} +4 -4
- package/dist/client/assets/registry-BuTvvFn6.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-4AAUf-Zl.js → relay-trace-schemas-eOfnfe4X.js} +2 -2
- package/dist/client/assets/{repeat-B8g-x-Sc.js → repeat-BB0attnO.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-BPSBZr7X.js → requirementDiagram-EQYSW5RA-CmOVPT7N.js} +1 -1
- package/dist/client/assets/{room-files-source-BkiK4-ZI.js → room-files-source-C32w3dXr.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-DRtL-2nr.js → rotate-ccw-clock-C1SBdbZP.js} +1 -1
- package/dist/client/assets/{rotate-cw-BbHkWN-J.js → rotate-cw-BTqPAMgP.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-DVlHablQ.js → sankeyDiagram-SY24JHO5-DFcTUSd1.js} +1 -1
- package/dist/client/assets/{scroll-area-DAC7NrVU.js → scroll-area-rEyYMbHG.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU--wZkN8xk.js → sequenceDiagram-BLEHNHQU-BNY4ALqc.js} +1 -1
- package/dist/client/assets/server-BCFl_ur3.js +6 -0
- package/dist/client/assets/{shield-x-CEWfkzDN.js → shield-x-B2nLbkhR.js} +1 -1
- package/dist/client/assets/{signed-in-CMhCR-m8.js → signed-in-BcxH99a5.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-CLXc7d3S.js → sizeCapture-INFHLROL-CuNPY5HV.js} +1 -1
- package/dist/client/assets/{soul-file-CbX7rNqz.js → soul-file-ITCKiDY9.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-5xa1FM_X.js → stateDiagram-v2-A6IESKWZ-CmUdZZJs.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-DKgxJxjE.js → swimlanes-B3ENRKFQ-BmNmFgsZ.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-Cd_Magxj.js +8 -0
- package/dist/client/assets/{table-D0EJT0uP.js → table-COZ3E1UU.js} +1 -1
- package/dist/client/assets/{tabs-Ctjzrm8t.js → tabs-CDr3zS_2.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-B9P7ituI.js → timeline-definition-JXYKGLGB-Cq7UTNkh.js} +1 -1
- package/dist/client/assets/{trust-dial-D__tIhzt.js → trust-dial-BsEooNiu.js} +2 -2
- package/dist/client/assets/{trust-posture-DaHHtOZn.js → trust-posture-Dk5ctS0Q.js} +1 -1
- package/dist/client/assets/{unplug-B-ipHefz.js → unplug-DB0xx2bf.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-C8swqaTn.js → unverified-catalog-notice-CQoKhOjQ.js} +1 -1
- package/dist/client/assets/{use-bindings-gLHRNAFU.js → use-bindings-CEhDyZoj.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-CjpxcBIe.js → use-composer-prefs-uC9mUd0f.js} +1 -1
- package/dist/client/assets/{use-connector-management-BLiCJMgU.js → use-connector-management-54m5ZcyP.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-r2nKjzA-.js → use-deep-link-scroll-C4DQRnGX.js} +1 -1
- package/dist/client/assets/{use-delete-binding-BSiOik_K.js → use-delete-binding-Cr9soEn-.js} +1 -1
- package/dist/client/assets/{use-dev-links-DXcIlMf-.js → use-dev-links-CXGFC-N0.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel-BbH8N4mE.js → use-direct-message-panel-BxwiNzks.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-mmKni5ui.js → use-external-adapter-catalog-D3xkw3mY.js} +1 -1
- package/dist/client/assets/{use-filter-state-CiPZ0AIH.js → use-filter-state-N0pdU49v.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-DXroUzfN.js → use-full-activity-feed-COuRZq_w.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-CgAcZ8iA.js +1 -0
- package/dist/client/assets/{use-mesh-topology-upehQ5Cv.js → use-mesh-topology-BSRzCO1U.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-IHwyriaF.js → use-mounted-ref-pxDiCOyS.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-BHOK2P2l.js → use-notification-prefs-6N6Y4rqG.js} +1 -1
- package/dist/client/assets/use-pending-read-HbJdwxw1.js +1 -0
- package/dist/client/assets/{use-personality-commit-Chf3UX8P.js → use-personality-commit-Dl3YK7Qd.js} +1 -1
- package/dist/client/assets/{use-promo-activation-Dlw6bg7G.js → use-promo-activation-DXRrwLes.js} +2 -2
- package/dist/client/assets/{use-promo-dismissals-Dx_fli7I.js → use-promo-dismissals-DnqiKhqW.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-CG_I6a-O.js → use-pulse-freshness-D9uzSgz_.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-Bgrpr3bO.js → use-room-follow-claim-Ch6ZoOAv.js} +1 -1
- package/dist/client/assets/{use-room-sessions-DecGrP3E.js → use-room-sessions-C3NpXFWY.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-CDkh-Ujm.js → use-roving-tab-list-LZku4K5R.js} +1 -1
- package/dist/client/assets/{use-session-canvas-tvLLPQcm.js → use-session-canvas-Bub7vCaj.js} +6 -6
- package/dist/client/assets/{use-status-budget-BBl2yxLR.js → use-status-budget-DrAROrOw.js} +2 -2
- package/dist/client/assets/{use-todos-BzRauzdQ.js → use-todos-COW66MhB.js} +1 -1
- package/dist/client/assets/{use-transform-DzJeHpxm.js → use-transform-CXFCVk8z.js} +1 -1
- package/dist/client/assets/{use-unclaimed-chats--HZdmq4F.js → use-unclaimed-chats-T3kskM3T.js} +1 -1
- package/dist/client/assets/use-update-config-BhLEnZe5.js +1 -0
- package/dist/client/assets/{useMutationState-DIywUTDG.js → useMutationState-6Zu1xBsZ.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-C9aLJ03F.js → usecaseDiagram-WPOLBNNX-CUu-YUIY.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-ChBIWbL0.js → vennDiagram-Q3Y3IDCW-CfA29THe.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-DvQDOaTm.js → wardleyDiagram-IVAIDKWA-CrARcH-W.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-8FxLPP2c.js → xychartDiagram-4URNHDU4-BCVaXTG3.js} +1 -1
- package/dist/client/assets/{zap-DSllMMHe.js → zap-C-pr1sst.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/drizzle/20261108035027_dor3547_extension_grant_subject.sql +30 -0
- package/dist/drizzle/meta/20261108035027_snapshot.json +15121 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/server/extension-child.cjs +19 -3
- package/dist/server/index.js +13162 -12123
- package/dist/server/index.js.map +2 -2
- package/package.json +2 -2
- package/dist/client/assets/CanvasFileContent-Bqd0IEfK.js +0 -2
- package/dist/client/assets/CanvasModel3dContent-DqL0Sy4r.js +0 -2
- package/dist/client/assets/HandlePage-aHId3bYX.js +0 -1
- package/dist/client/assets/NamePage-C7F-SotG.js +0 -1
- package/dist/client/assets/NewDirectMessageMenu-CjBjzsDe.js +0 -1
- package/dist/client/assets/PermissionHistory-D0chstxf.js +0 -1
- package/dist/client/assets/PhotoPage-Cqo3PNO_.js +0 -1
- package/dist/client/assets/_shell._home.index-BzTYr8Bw.js +0 -3
- package/dist/client/assets/_shell.connections-CBx0ogzx.js +0 -1
- package/dist/client/assets/_shell.marketplace-CgWBUKSA.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-8HZpKFDI.js +0 -1
- package/dist/client/assets/_shell.session-D6HcVbnm.js +0 -1
- package/dist/client/assets/_shell.threads-BavVtQOE.js +0 -1
- package/dist/client/assets/_shell.todos-B6uWr0zA.js +0 -6
- package/dist/client/assets/_shell.x._extensionId-DaELdkCH.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-DaELdkCH.js +0 -1
- package/dist/client/assets/channel-A3XT7_2L.js +0 -1
- package/dist/client/assets/index-BJRgbiEd.js +0 -1
- package/dist/client/assets/index-BcFn_S6b.js +0 -1
- package/dist/client/assets/index-BdVQOlVQ.css +0 -1
- package/dist/client/assets/index-C5EvpXcq.js +0 -1
- package/dist/client/assets/index-DZhMvc9m.js +0 -1
- package/dist/client/assets/progress-BA2JPtb6.js +0 -6
- package/dist/client/assets/registry-jD9zw538.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-f6MOc3pl.js +0 -8
- package/dist/client/assets/use-is-below-desktop-LUZL5z5t.js +0 -1
- package/dist/client/assets/use-pending-read-mVsOBTzn.js +0 -1
- package/dist/client/assets/use-update-config-DjL7-nUR.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
import{O as F,r as c,j as l,B as ue,
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Dhj4iWHB.js","assets/index-B2JoVHek.js","assets/index-DBjkg_lo.css","assets/room-files-source-C32w3dXr.js","assets/markdown-content-FcvkqTTS.js","assets/file-exclamation-point-CR6qeV6m.js","assets/query-keys-DeYqUDia.js","assets/composer-insert-BpyATrmR.js","assets/index-BchQNMCW.js","assets/file-drag-GDx2qhdk.js","assets/rotate-cw-BTqPAMgP.js","assets/link-2-CZiWX9vI.js","assets/file-DZ6-r1A3.js","assets/git-branch-CzV_Mp0H.js","assets/more-details-D9_Bn2GL.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{O as F,r as c,j as l,B as ue,ha as Rn,nh as An,g as Sn,kG as jn,G as K,a5 as fe,a7 as Be,a8 as Ue,aR as H,co as He,cp as Mn,cZ as _n,ni as On,m9 as En,nj as Tn,h as $n,ay as Dn,cv as We,gI as se,q as ee,dR as Ke,s as pe,mz as Pn,nk as Ln,n4 as Fn,nl as Bn,nm as Un,ff as Hn,gm as Wn,a0 as Kn,ei as zn,nf as qn,nn as Vn,no as Gn,a4 as Jn,bx as Yn,np as Qn,nq as Xn,Y as Zn,$ as et,gN as nt,lv as Re,nr as ze,b$ as tt,bg as st,lu as X,ly as qe,ns as ot,cn as ge,ak as at,c3 as he,iw as Ve,cb as rt,_ as Ge,nt as it,cz as Je,nu as ct,fI as lt,kX as Ye,nv as Qe,nw as dt,a$ as ut,gK as Xe,lx as mt,nx as Ze,ny as ft,nz as pt,nA as gt,nB as Ae,fh as ht,nC as xt,nD as yt,nE as bt,nF as vt,nG as kt,nH as wt,l as It,ho as Nt,lm as Ct,al as Rt,nI as At,nJ as St,nK as jt,ba as Mt,nL as _t,nM as Ot,nN as Et,nO as Tt,Z as Se,fs as $t}from"./index-B2JoVHek.js";import{g as je,m as Me,h as xe,f as en,M as Dt,a as Pt,E as Lt,i as Ft,j as Bt,c as P,k as Ut,T as Ht,b as Wt,l as Kt,r as zt,u as qt,C as Vt}from"./registry-BcpatPes.js";import"./WidgetErrorCard-D14BNvfm.js";import{R as Gt,A as nn}from"./repeat-BB0attnO.js";import{u as Jt}from"./use-room-sessions-C3NpXFWY.js";import{M as Yt}from"./markdown-content-FcvkqTTS.js";import{W as Qt,a as Xt}from"./find-latest-widget-fence-D61kyRv5.js";import{f as Zt}from"./format-duration-BCr6uzby.js";import{H as es,a as ns,b as ts}from"./RuntimeSetupDialog-UhsfZRye.js";import{M as _e}from"./mention-pill-BxASQ-6w.js";import{R as ss}from"./rotate-ccw-clock-C1SBdbZP.js";import{U as os}from"./unplug-DB0xx2bf.js";import{M as Oe}from"./message-square-off-SMiCYjYr.js";import{i as as}from"./registry-BuTvvFn6.js";/**
|
|
3
3
|
* @license lucide-react v1.48.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
@@ -34,7 +34,7 @@ import{O as F,r as c,j as l,B as ue,he as Rn,nA as An,g as Sn,kH as Mn,G as K,a5
|
|
|
34
34
|
*
|
|
35
35
|
* This source code is licensed under the ISC license.
|
|
36
36
|
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
-
*/const ln={name:"user-x",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]};ln.node;const us=F(ln),ms='[data-slot="identity-hover-card-actions"] button:not(:disabled)';function fs(e){const{open:t,setOpen:s,triggerRef:n,enabled:o}=e,a=c.useRef(null),r=c.useRef(!1);c.useEffect(()=>{if(!t||!r.current)return;r.current=!1;let p=0,x=0;const b=()=>{var u;const m=(u=a.current)==null?void 0:u.querySelector(ms);if(m)return m.focus();++p<10&&(x=requestAnimationFrame(b))};return b(),()=>cancelAnimationFrame(x)},[t]);const i=c.useCallback(p=>{var x;!p&&((x=a.current)!=null&&x.contains(document.activeElement))||s(p)},[s]),d=c.useCallback(p=>{!o||p.key!=="Enter"&&p.key!==" "||(p.preventDefault(),r.current=!0,s(!0))},[o,s]),f=c.useMemo(()=>({onEscapeKeyDown:()=>{var p;return(p=n.current)==null?void 0:p.focus()},onBlur:p=>{var b,m,u;const x=p.relatedTarget;x&&((b=a.current)!=null&&b.contains(x)||(m=n.current)!=null&&m.contains(x))||(u=a.current)!=null&&u.contains(document.activeElement)||s(!1)}}),[s,n]);return{contentRef:a,handleOpenChange:i,onTriggerKeyDown:d,contentHandlers:f}}function ce(e){const t=e.key==="ArrowRight"||e.key==="ArrowDown",s=e.key==="ArrowLeft"||e.key==="ArrowUp",n=e.key==="Tab";if(!t&&!s&&!n)return;const o=e.currentTarget.closest('[data-slot="identity-hover-card-actions"]');if(!o)return;const a=Array.from(o.querySelectorAll("button:not(:disabled)")),r=a.indexOf(document.activeElement);if(r===-1||a.length===0)return;e.preventDefault();const i=s||n&&e.shiftKey?-1:1;a[(r+i+a.length)%a.length].focus()}function ps({kind:e,about:t}){const n=[e==="agent"?"Agent":e==="human"?"Person":null,t.role].filter(Boolean).join(" · ");return!n&&!t.status?null:l.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5 px-3 pb-3","data-slot":"identity-hover-card-about",children:[n&&l.jsx("p",{className:"text-muted-foreground truncate text-xs",title:n,children:n}),t.status&&l.jsx("p",{className:"text-foreground/80 truncate text-xs","data-slot":"identity-hover-card-status",children:t.status})]})}function gs({actions:e,onAct:t}){const s=n=>()=>{t(),n()};return l.jsxs("div",{className:"border-border mt-auto flex flex-col gap-2 border-t p-3","data-slot":"identity-hover-card-actions",role:"group","aria-label":"Actions",children:[l.jsxs("div",{className:"flex gap-2",children:[e.onMessage&&l.jsx(ue,{size:"xs",className:"flex-1",onClick:s(e.onMessage),onKeyDown:ce,children:"Message"}),e.onViewProfile&&l.jsx(ue,{size:"xs",variant:"outline",className:"flex-1",onClick:s(e.onViewProfile),onKeyDown:ce,children:"Profile"})]}),e.session&&l.jsxs("button",{type:"button","data-slot":"identity-hover-card-session",onClick:s(e.session.onOpen),onKeyDown:ce,className:"text-muted-foreground hover:text-foreground focus-visible:ring-ring flex min-w-0 items-center gap-1.5 rounded-sm text-left text-xs transition-colors focus-visible:ring-2 focus-visible:outline-none",children:[l.jsx(Rn,{className:"size-3.5 shrink-0","aria-hidden":!0}),l.jsx("span",{className:"truncate",children:e.session.label})]})]})}const hs=300;function Y({className:e,children:t}){return l.jsx("span",{className:K("bg-muted text-muted-foreground text-2xs inline-flex max-w-full items-center gap-1 truncate rounded-full px-2 py-0.5",e),children:t})}function ye({identity:e,children:t,onViewProfile:s,about:n,actions:o,onOpenChange:a,openOnClick:r=!1,className:i}){const{kind:d,displayName:f,handle:p,color:x,emoji:b,imageUrl:m,origin:u,agent:g}=e,w=x??"hsl(var(--muted-foreground))",h=typeof u=="object"&&u!==null,y=d==="agent"&&(g==null?void 0:g.working)!=null?g.working:null,[k,M]=c.useState(!1),j=c.useRef(!0);c.useEffect(()=>(j.current=!0,()=>{j.current=!1}),[]);const R=c.useCallback(A=>{j.current&&(M(A),a==null||a(A))},[a]),N=c.useRef(!1),S=c.useRef(null),_=An({onLongPress:()=>{N.current&&R(!0)}}),{contentRef:O,handleOpenChange:v,onTriggerKeyDown:E,contentHandlers:I}=fs({open:k,setOpen:R,triggerRef:S,enabled:r&&o!==void 0});return l.jsxs(es,{open:k,onOpenChange:v,openDelay:hs,children:[l.jsx(ns,{asChild:!0,ref:S,"data-gesture-priority":"",..._,onPointerDown:A=>{N.current=A.pointerType==="touch"||A.pointerType==="pen",_.onPointerDown(A)},...r?{onClick:()=>R(!0),onKeyDown:E}:{},children:t}),l.jsxs(ts,{ref:O,...I,...o?{role:"dialog","aria-label":f}:{},"data-slot":"identity-hover-card",align:"start",className:K("flex w-64 flex-col gap-0 overflow-hidden p-0",i),children:[l.jsxs("div",{className:"flex items-center gap-3 p-3",children:[l.jsx(Sn,{"aria-hidden":!0,color:w,emoji:b,imageUrl:m,fallback:Mn(f),kind:d,origin:u,status:y?"working":"idle",size:"md"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-foreground truncate text-sm font-semibold",children:f}),p&&l.jsxs("p",{className:"text-muted-foreground truncate text-xs font-medium",children:["@",p]})]})]}),n&&l.jsx(ps,{kind:d,about:n}),l.jsxs("div",{className:"flex flex-wrap gap-1.5 px-3 pb-3 empty:hidden",children:[d==="agent"&&((g==null?void 0:g.runtime)||(g==null?void 0:g.model))&&l.jsx(Y,{children:[g.runtime,g.model].filter(Boolean).join(" · ")}),y&&l.jsxs(Y,{className:"bg-status-success-bg text-status-success-fg",children:["Working · ",Zt(y.forMs)]}),d==="human"&&l.jsx(Y,{children:h?u.platform:"On this machine"}),d==="agent"&&(g==null?void 0:g.managedBy)&&l.jsxs(Y,{children:["Managed by"," ",g.managedBy.handle?`@${g.managedBy.handle}`:g.managedBy.displayName]})]}),o?l.jsx(gs,{actions:o,onAct:()=>{var A;(A=S.current)==null||A.focus(),R(!1)}}):s?l.jsx("button",{type:"button","data-slot":"identity-hover-card-profile",onClick:()=>{var A;(A=S.current)==null||A.focus(),s()},className:"border-border hover:bg-accent focus-visible:ring-ring text-brand-text mt-auto flex w-full items-center border-t px-3 py-2 text-left text-xs font-medium transition-colors focus-visible:ring-2 focus-visible:outline-none",children:"View profile"}):l.jsxs("div",{className:"border-border mt-auto flex items-center justify-between border-t px-3 py-2",children:[l.jsx("span",{className:"text-muted-foreground text-xs font-medium",children:"View profile"}),l.jsx("span",{className:"text-muted-foreground text-3xs tracking-wide uppercase",children:"soon"})]})]})]})}function xs(){const e=fe(),t=Be();return Ue({onMutate:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var p;const r=t.getQueryData(H.entries(s)),i=(p=r==null?void 0:r.find(x=>x.id===n))==null?void 0:p.reactions,{reactions:d,on:f}=Me(i,o,a);return t.setQueryData(H.entries(s),x=>je(x,n,d)),{on:f}},mutationFn:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var d,f;const r=t.getQueryData(H.entries(s)),i=((f=(d=r==null?void 0:r.find(p=>p.id===n))==null?void 0:d.reactions)==null?void 0:f.some(p=>p.emoji===o&&p.authorIds.includes(a)))??!1;return e.toggleReaction(s,n,{emoji:o,on:i})},onError:(s,{roomId:n,entryId:o,emoji:a,viewerAuthorId:r},i)=>{i!==void 0&&t.setQueryData(H.entries(n),d=>{var x;const f=(x=d==null?void 0:d.find(b=>b.id===o))==null?void 0:x.reactions,{reactions:p}=Me(f,a,r,!i.on);return je(d,o,p)})},onSuccess:({frequents:s},{roomId:n})=>{t.setQueryData(H.detail(n),o=>o&&{...o,reactionFrequents:s})},meta:{errorLabel:"Couldn’t add your reaction",errorToastId:"room-reaction"}})}function z(e){return e.threadRootEntryId??e.parentEntryId}function ys(e){return z(e)??e.id}function bs(e,t){return Math.max(t??0,e)}function pa(e,t,s){let n=e[0],o=0;for(const a of e)a.seq>n.seq&&(n=a),t!==null&&a.seq>t&&(o+=1);return{count:bs(e.length,s),lastAt:n.createdAt,unread:o}}function vs(e){var j,R;const{agentPath:t,displayName:s,onViewProfile:n,engaged:o}=e,a=He(),r=jn(),i=a&&o&&t!==void 0,d=_n(i?t:null),f=On(d.member),p=En(),x=Tn(),b=$n(),m=Dn(),{data:u}=We({enabled:i&&r}),g=m.status==="ready"?m.roomId:null,w=u==null?void 0:u.find(N=>N.id===g),h=w?se(w):null,y=(R=(j=d.member)==null?void 0:j.agent)==null?void 0:R.effectiveRuntimeId,k=c.useCallback(()=>{t!==void 0&&(ee.getState().recordOpened("agent",t),p({agentPath:t},y?{runtime:y}:{}))},[t,p,y]),M=c.useCallback(async()=>{if(t===void 0||!b)return;const N=await x(t);if(N===null){Ke(`${s} has no session in ${h??"this room"} yet`);return}b(pe({session:N}))},[t,b,x,s,h]);return c.useMemo(()=>!a||t===void 0?null:{about:{role:d.role,status:f},actions:{onMessage:k,...n?{onViewProfile:n}:{},...r&&h?{session:{label:`Session in ${h}`,onOpen:()=>void M()}}:{}}},[a,t,d.role,f,k,n,r,h,M])}function ks({identity:e,agentPath:t,onViewProfile:s,openOnClick:n=!1,children:o}){const[a,r]=c.useState(!1),i=vs({agentPath:t,displayName:e.displayName,onViewProfile:s,engaged:a}),d=c.useCallback(f=>{f&&r(!0)},[]);return l.jsx(ye,{identity:e,onViewProfile:s,onOpenChange:d,openOnClick:n&&i!==null,...i?{about:i.about,actions:i.actions}:{},children:o})}function ws(e){return l.jsx(Xt,{code:e.code,isIncomplete:e.isIncomplete})}const Is=[{language:Qt,component:ws}],Ns={turn_failed:{Icon:Yn,warm:!0},agent_busy:{Icon:Gn},agent_gone:{Icon:us,warm:!0},agent_left:{Icon:Ee,warm:!0},room_archived:{Icon:Vn},agent_reseated:{Icon:qn},handle_changed:{Icon:nn},files_set_up:{Icon:zn},handoff_shared:{Icon:Kn},handoff_declined:{Icon:Oe},runtime_gone:{Icon:cs,warm:!0},agent_paused:{Icon:Wn},agent_declined:{Icon:Oe},agent_unavailable:{Icon:Hn},awaiting_approval:{Icon:Un,warm:!0},halted:{Icon:Bn},budget_reached:{Icon:Fn},cascade_stopped:{Icon:Ln},addressing_changed:{Icon:is},bridge_blocked:{Icon:os,warm:!0},bridge_undelivered:{Icon:Pn,warm:!0},bridge_rate_limited:{Icon:ds},bridge_second_agent_refused:{Icon:Ee},bridge_disconnected:{Icon:rs},bridge_agent_swapped:{Icon:Gt},bridge_history_note:{Icon:ss}},Cs={Icon:Jn};function dn(e){return(e&&Ns[e])??Cs}function ga(e){return dn(e).warm===!0}const le=80;function Rs(e){const t=e.trim();if(t.length<=le)return t;const s=t.slice(0,le),n=s.lastIndexOf(" ");return`${(n>le/2?s.slice(0,n):s).trimEnd()}…`}function As(e,t,s){const n=Ss(e,s),o=a=>l.jsx("a",{href:t.href,onClick:t.onOpen,"data-testid":"room-notice-session-link",className:"focus-ring hover:text-foreground rounded py-2 font-medium underline underline-offset-3",children:a});return n===null?l.jsxs(l.Fragment,{children:[e," ",o("Open chat")]}):l.jsxs(l.Fragment,{children:[e.slice(0,n.index),o(n.words),e.slice(n.index+n.words.length)]})}function Ss(e,t){if(t!==void 0){const n=Qn(t),o=e.lastIndexOf(n);if(o!==-1)return{index:o,words:n}}const s=Xn.exec(e);return s===null?null:{index:s.index,words:s[0]}}function Ms({entry:e,feedPosition:t,rowId:s,sessionLink:n,subjectName:o}){const{Icon:a,warm:r}=dn(e.body.notice);return l.jsxs("p",{id:s,"data-slot":"notice-row","data-testid":"room-notice","data-notice":e.body.notice??"unknown",...t&&{role:"article","aria-label":Rs(e.body.text)},...xe(t),className:K("focus-ring-inset flex items-start gap-[var(--msg-gap)] px-[var(--msg-padding-x)] py-1.5 text-xs",r?"text-foreground":"text-muted-foreground"),children:[l.jsx("span",{"data-slot":"notice-mark",className:"flex w-[var(--msg-gutter-width)] shrink-0 justify-center",children:l.jsx(a,{"aria-hidden":!0,className:K("mt-0.5 size-(--size-icon-xs) shrink-0",r?"text-status-warning-fg":"text-muted-foreground")})}),l.jsx("span",{className:"min-w-0",children:n?As(e.body.text,n,o):e.body.text})]})}const js=as.moment;function _s({entry:e,moment:t,subject:s,subjectIdentity:n,feedPosition:o,rowId:a}){const r=en(e.createdAt);return l.jsx("div",{id:a,"data-slot":"moment-row","data-testid":"room-moment","data-moment":t.kind,role:"article","aria-label":`Moment: ${e.body.text}`,...xe(o),className:"focus-ring-inset px-[var(--msg-padding-x)] py-1",children:l.jsxs("div",{className:"bg-foreground/4 flex items-center gap-2.5 rounded-lg px-3 py-2",children:[l.jsx(ye,{identity:{kind:s.kind,displayName:s.displayName,handle:n==null?void 0:n.handle,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl,origin:n==null?void 0:n.origin,agent:n==null?void 0:n.agent},children:l.jsxs("span",{"data-testid":"room-moment-identity",className:"flex shrink-0 items-center",children:[l.jsx(Dt,{author:s}),l.jsx("span",{className:"sr-only",children:s.displayName})]})}),l.jsx(js,{"data-testid":"room-moment-mark","aria-hidden":!0,className:"text-muted-foreground size-(--size-icon-xs) shrink-0"}),l.jsx("p",{className:"min-w-0 flex-1 text-sm",children:e.body.text}),r.length>0&&l.jsx("time",{dateTime:e.createdAt,title:Pt(e.createdAt),className:"text-msg-timestamp shrink-0 text-xs",children:r})]})})}function Os(e,t){const s=X.getState(),n=s.drafts[e]??"",o=n===""||n.endsWith(" ")||n.endsWith(`
|
|
38
|
-
`)?"":" ";s.set(e,`${n}${o}@${t} `)}function Es({roomId:e,entry:t,author:s,viewerAuthorId:n,onViewProfile:o,onMakeTodo:a}){const r=ys(t),i=t.body.text,d=(s==null?void 0:s.id)===n?void 0:(s==null?void 0:s.handle)??void 0,f=s==null?void 0:s.displayName,{copy:p}=Zn({toastOnSettle:!0});return c.useMemo(()=>{const x={reply:{id:"reply",label:"Reply in thread",icon:ls,run:()=>{nt.getState().openThread(e,r,!0),Re.getState().requestFocus(ze(e,r))}},copy:{id:"copy",label:"Copy text",icon:et,run:()=>void p(i)}};return o!==void 0&&(x.profile={id:"profile",label:"View profile",icon:tt,run:o}),a!==void 0&&(x.todo={id:"todo",label:"Make a to-do",icon:st,run:a}),d!==void 0&&(x.mention={id:"mention",label:f===void 0?"Mention author":`Mention ${f}`,icon:nn,run:()=>{Os(e,d),Re.getState().requestFocus(e)}}),Lt.map(b=>x[b]).filter(b=>b!==void 0)},[e,r,i,d,f,o,a,p])}function Ts(e){if(e.kind==="notice")return{kind:"notice"};const t=e.body.moment;return t?{kind:"moment",moment:t}:{kind:"message"}}function ha(e,t=[]){return new Map([...t.map(s=>[s.author.id,{...s.author,origin:s.origin}]),...e.map(s=>[s.author.id,{...s.author,origin:s.origin}])])}function xa(e,t){const s=e.body.subjectAuthorId;return s===void 0||t.has(e.authorId)?e.authorId:s}function $s(e,t,s){const n=t.get(e),o=qe({record:{kind:(n==null?void 0:n.kind)??"system",id:e,displayName:(n==null?void 0:n.displayName)??"Unknown",emoji:n==null?void 0:n.emoji,color:n==null?void 0:n.color,imageUrl:n==null?void 0:n.imageUrl},override:(n==null?void 0:n.agentRef)===void 0?null:s==null?void 0:s.get(n.agentRef)});return{kind:o.kind,id:e,displayName:(n==null?void 0:n.displayName)??"Unknown",emoji:o.emoji,imageUrl:o.imageUrl,color:o.color,isExternal:typeof(n==null?void 0:n.origin)=="object"&&(n==null?void 0:n.origin)!==null,...(n==null?void 0:n.retired)===!0?{retired:!0}:{}}}function ya(e){const t=new Set;for(const a of e)z(a)===null&&t.add(a.id);const s=[],n=new Map,o=new Set;for(const a of e){const r=z(a);if(r===null){s.push(a);continue}if(!t.has(r)){s.push(a),o.add(a.id);continue}const i=n.get(r);i?i.push(a):n.set(r,[a])}return{topLevel:s,repliesByRoot:n,orphaned:o}}function Ds(e){return`thread-${e}`}function Ps(e){return`thread-row-${e}`}function ba(e){return`thread-panel-entry-${e}`}function Ls(e){return`room-entry-${e}`}function Fs(e,t){const s=e.find(i=>i.id===t);if(s===void 0)return null;const n=z(s)??null,o={rowId:t,domId:Ls(t)};if(n===null)return o;const a=e.find(i=>i.id===n);return a!==void 0&&(z(a)??null)===null?{rowId:Ds(n),domId:Ps(n)}:o}function va(e,t){if(t===null)return null;const s=e.find(n=>n.seq===t);return s===void 0?null:Fs(e,s.id)}const Te=48;function ka(e,t,s){const n=e.body.answersEntryId;if(n===void 0||n===e.id||t!==void 0&&t.id===n)return null;const o=s(n);if(o===void 0)return null;const a=o.body.text.replace(/\s+/gu," ").trim();return a.length===0?null:{entryId:n,excerpt:a.length>Te?`${a.slice(0,Te).trimEnd()}…`:a}}function Bs(e,t){const s=new Map;for(const n of e){const o=t[n.projectPath];if(!o)continue;const a=ot({runtime:o.runtime,model:o.model});s.set(ge(n.projectPath),{memberId:n.id,visual:at(o),runtime:a.label,...a.modelLabel!==null&&{model:a.modelLabel}})}return s}function Us(e){const t=new Map;for(const[s,n]of e)t.set(s,n.visual);return t}const Hs={info:new Map,faces:new Map},be=c.createContext(Hs);function wa({known:e,children:t}){return l.jsx(be.Provider,{value:e,children:t})}function Ia(){const e=he(),t=c.useMemo(()=>{var r;return((r=e.data)==null?void 0:r.agents)??[]},[e.data]),s=c.useMemo(()=>t.map(r=>r.projectPath),[t]),n=Ve(s),o=c.useMemo(()=>Bs(t,n.data??{}),[t,n.data]),a=c.useMemo(()=>Us(o),[o]);return c.useMemo(()=>({info:o,faces:a}),[o,a])}function ne(e){const t=c.useContext(be);return e===void 0?void 0:t.info.get(e)}function Ws(){return c.useContext(be).faces}const $e={people:"People",agents:"Agents"},Ks=["people","agents"];function zs(e,t){const s=[];for(const{author:n}of e){if(n.kind==="system"||n.id===t||n.retired)continue;const o=n.handle;s.push({section:n.kind==="agent"?"agents":"people",authorId:n.id,label:n.displayName,...o?{handle:o}:{},...n.emoji?{emoji:n.emoji}:{},...n.color?{color:n.color}:{},disabled:!o,...o?{}:{disabledReason:"No @name"}})}return s}function qs(e,t,s){const n=t.trim().toLowerCase(),o=e.map((a,r)=>({row:a,position:r,tier:Vs(a,n)})).filter(a=>a.tier!==null).sort((a,r)=>a.tier-r.tier||a.position-r.position);return s.flatMap(a=>o.filter(r=>r.row.section===a).map(({row:r})=>r))}function Vs(e,t){var o;if(t==="")return 0;const s=[(o=e.handle)==null?void 0:o.toLowerCase(),e.label.toLowerCase()].filter(a=>a!==void 0);let n=null;for(const a of s){const r=a===t?0:a.startsWith(t)?1:a.includes(t)?2:null;r!==null&&(n===null||r<n)&&(n=r)}return n}function
|
|
39
|
-
`,t-1)+1;return Xs.test(e.slice(s,t))}function eo(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=s.map(a=>Zs(e,a.offset)),o=new Set(s.filter((a,r)=>!n[r]).map(a=>a.authorId));return s.map((a,r)=>n[r]&&!o.has(a.authorId)?{...a,cc:!0}:a)}function no(e,t){const s=e.length>0?`Woke ${e.join(", ")}.`:"Woke nobody.";return t.length>0?`${s} Cc: ${t.join(", ")}.`:s}function mn(e){const t=new Set(e.filter(n=>!n.cc).map(n=>n.authorId)),s=[];for(const n of e)n.cc&&!t.has(n.authorId)&&!s.includes(n.authorId)&&s.push(n.authorId);return s}const to=/@([A-Za-z0-9][A-Za-z0-9_.-]*)/g,so=/[.\-_]+$/;function oo(e,t){const s=new Map;for(const{author:o}of t)o.handle&&s.set(o.handle.toLowerCase(),o.handle);const n=[];for(const o of e.matchAll(to)){if(o.index===void 0)continue;const a=o[1].toLowerCase(),r=a.replace(so,""),i=s.get(a)??s.get(r);if(!i)continue;const d=(s.has(a)?a.length:r.length)+1;n.push({offset:o.index,length:d,authorId:i,handle:i})}return n}function ao(e,t){const s=eo(e,oo(e,t)),n=[],o=[];for(const r of s){const i=r.cc?o:n;i.includes(r.handle)||i.push(r.handle)}if(o.length===0)return null;const a=r=>r.map(i=>`@${i}`).join(", ");return`${n.length>0?`Wakes ${a(n)}`:"Wakes nobody"} · cc ${a(o)}`}function ro(e,t){const s=e.mentions.filter(r=>r!==e.authorId);if(s.length===0)return null;const n=new Set(mn(e.mentionSpans??[])),o=r=>{var i,d;return`@${((i=t.get(r))==null?void 0:i.handle)??((d=t.get(r))==null?void 0:d.displayName)??r}`},a=s.filter(r=>{var i;return!n.has(r)&&((i=t.get(r))==null?void 0:i.kind)==="agent"});return no(a.map(o),s.filter(r=>n.has(r)).map(o))}function io({showAuthorHeader:e,headerId:t,displayName:s,time:n,summary:o,contentId:a,summaryId:r,feedPosition:i}){return{...e?{"aria-labelledby":t}:{"aria-label":n.length>0?`${s}, ${n}`:s},"aria-describedby":o===null?a:r,...xe(i)}}const Z=120,co="code block";function lo(e){if(e.length<=Z&&!e.includes("```"))return null;const t=uo(e);return t.length===0?null:t}function uo(e){const t=e.replace(/```[\s\S]*?(?:```|$)/g,` ${co} `).replace(/`([^`]*)`/g,"$1").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(?:#{1,6}\s+|>\s?|[-*+]\s+)/gm,"").replace(/^\s{0,3}\|?[\s:|-]*\|[\s:|-]*$/gm," ").replace(/\|/g," ").replace(/[*_~]{1,3}/g,"").replace(/\s+/g," ").trim();if(t.length<=Z)return t;const s=mo(t,Z),n=s.lastIndexOf(" ");return`${(n>Z/2?s.slice(0,n):s).trimEnd()}…`}function mo(e,t){if(typeof Intl.Segmenter=="function"){const n=new Intl.Segmenter(void 0,{granularity:"grapheme"});let o="";for(const{segment:a}of n.segment(e)){if(o.length+a.length>t)break;o+=a}return o}let s="";for(const n of e){if(s.length+n.length>t)break;s+=n}return s}function fo({roomId:e,entry:t,viewerAuthorId:s,reactionFrequents:n,streamStalled:o,isMember:a=!0}){const r=xs(),i=o===!0||!a,d=c.useMemo(()=>t.reactions??[],[t.reactions]),f=c.useMemo(()=>d.filter(b=>Ft(b,s)).map(b=>b.emoji),[d,s]),p=c.useCallback(b=>r.mutate({roomId:e,entryId:t.id,emoji:b,viewerAuthorId:s}),[r,e,t.id,s]),x=c.useMemo(()=>({quick:n,mine:f,onToggle:p,disabled:i}),[n,f,p,i]);return{reactions:d,toggle:p,quickRow:x}}function po({barRef:e,pillsRef:t,hasReactions:s}){return n=>{var a,r;if(n.target!==n.currentTarget)return;const{key:o}=n;if(o==="ArrowDown"&&s){n.preventDefault(),(a=t.current)==null||a.focusFirst();return}o!=="ArrowRight"&&o!=="Enter"||(n.preventDefault(),(r=e.current)==null||r.focusFirst())}}function go(e,t){var x,b;const s=t.body.subjectAuthorId,n=t.body.notice,o=t.kind==="notice"&&n!==void 0&&s!==void 0&&it.includes(n),a=Yt(e,{enabled:o}),r=Ye(),i=Be(),d=fe(),f=o?((b=(x=a.data)==null?void 0:x.bindings.find(m=>m.authorId===s))==null?void 0:b.sessionId)??null:null,p=c.useCallback(m=>{m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||(m.preventDefault(),!(f===null||s===void 0)&&ct({queryClient:i,transport:d},e,s).then(u=>{u.kind!=="none"&&r(pe({session:u.kind==="bound"?u.sessionId:f}))}))},[s,r,i,e,f,d]);return c.useMemo(()=>f===null?null:{href:lt({session:f}),onOpen:p},[p,f])}const te="mention",ve="author_id",ho={[te]:[ve]},xo=[te];function yo(e,t){if(!t||t.length===0)return e;const s=bo(e,t);if(s.length===0)return e;let n=e;for(let o=s.length-1;o>=0;o--){const{offset:a,length:r,authorId:i}=s[o],d=n.slice(0,a),f=n.slice(a,a+r),p=n.slice(a+r);n=`${d}<${te} ${ve}="${i}">${f}</${te}>${p}`}return n}function bo(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=[];let o=0;for(const a of s)a.offset<o||a.offset+a.length>e.length||(n.push(a),o=a.offset+a.length);return n}const vo=/(?:^|[^\p{L}\p{N}_])cc$/iu;function ko(e,t){const s=new Set;for(const n of t)n.cc&&vo.test(e.slice(0,n.offset).trimEnd())&&s.add(n.authorId);return s}const wo=new Map,fn=c.createContext(wo);function Io({authors:e,children:t}){return l.jsx(fn.Provider,{value:e,children:t})}function No(e){const t=c.useContext(fn);return e===void 0?void 0:t.get(e)}const De=new WeakMap;function Co(e){const t=De.get(e);if(t)return t;const s=new Map(e.map(n=>[ge(n.projectPath),n.projectPath]));return De.set(e,s),s}function Ro(e){var n;const s=(n=he().data)==null?void 0:n.agents;return c.useMemo(()=>e===void 0||!s?void 0:Co(s).get(e),[s,e])}function pn(e){const{agentRef:t,identity:s,onViewProfile:n}=e,o=He(),a=Ro(o?t:void 0),r=ne(t);return c.useMemo(()=>{if(!o||s.kind!=="agent"||a===void 0)return null;const i={...s,agent:r&&{runtime:r.runtime,...r.model&&{model:r.model}}},d=(f,p={})=>l.jsx(ks,{identity:i,agentPath:a,onViewProfile:n,openOnClick:p.openOnClick??!1,children:f});return{wrap:d,wrapAvatar:f=>d(l.jsx("button",{type:"button",tabIndex:-1,"aria-label":s.displayName,"aria-haspopup":"dialog",className:"focus-ring inline-flex cursor-pointer rounded-sm","data-slot":"room-agent-card-face",children:f}),{openOnClick:!0}),wrapName:f=>d(l.jsx("button",{type:"button","aria-haspopup":"dialog",className:K(f.props.className,"focus-ring cursor-pointer rounded-sm text-left underline-offset-4 hover:underline"),"data-slot":"room-agent-card-name",children:s.displayName}),{openOnClick:!0})}},[o,s,a,r,n])}const Ao={kind:"human",displayName:""};function So(e){return typeof e=="string"?e.replace(/^@/,""):""}function Mo({authorId:e,children:t,cc:s,ccWord:n}){const o=No(e),a=ne(o==null?void 0:o.agentRef),{open:r}=Je(),i=o?qe({record:o,override:a==null?void 0:a.visual}):null,d=o?Qe(o,a==null?void 0:a.memberId):void 0,f=c.useMemo(()=>d===void 0?void 0:()=>r(d),[d,r]),p=i==null?void 0:i.color,x=i==null?void 0:i.emoji,b=i==null?void 0:i.imageUrl,m=c.useMemo(()=>o?{kind:o.kind,displayName:o.displayName,handle:o.handle??void 0,color:p,emoji:x,imageUrl:b,origin:o.origin,agent:a&&{runtime:a.runtime,...a.model&&{model:a.model}}}:null,[o,p,x,b,a]),u=pn({agentRef:o==null?void 0:o.agentRef,identity:m??Ao,onViewProfile:f});if(!o||!m)return l.jsx(_e,{kind:"human",label:So(t),resolved:!1});const w=u?{role:"button",tabIndex:0,"aria-haspopup":"dialog"}:f?{role:"button",tabIndex:0,"aria-label":`View ${o.displayName}’s profile`,onClick:f,onKeyDown:y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),f())}}:{},h=l.jsx(_e,{kind:o.kind,label:o.displayName,handle:o.handle??void 0,color:o.color,origin:o.origin,resolved:!0,interactive:f!==void 0,...w,cc:s,ccWord:n});return u?u.wrap(h,{openOnClick:!0}):l.jsx(ye,{onViewProfile:f,identity:m,children:h})}function jo(e,t=new Set,s=new Set){return{mention:n=>{const o=n[ve],a=typeof o=="string"?o:void 0;return!a||!e.has(a)?l.jsx(l.Fragment,{children:n.children}):l.jsx(Mo,{authorId:a,cc:t.has(a),ccWord:!s.has(a),children:n.children})}}}function _o({entry:e,authors:t}){const s=c.useMemo(()=>yo(e.body.text,e.mentionSpans),[e.body.text,e.mentionSpans]),n=c.useMemo(()=>{var i;return new Set(((i=e.mentionSpans)==null?void 0:i.map(d=>d.authorId))??[])},[e.mentionSpans]),o=c.useMemo(()=>new Set(mn(e.mentionSpans??[])),[e.mentionSpans]),a=c.useMemo(()=>ko(e.body.text,e.mentionSpans??[]),[e.body.text,e.mentionSpans]),r=c.useMemo(()=>jo(n,o,a),[n,o,a]);return l.jsx(Io,{authors:t,children:l.jsx(Jt,{content:s,className:"msg-prose",allowedTags:ho,literalTagContent:xo,components:r,renderers:Is})})}function Oo(e){return function(s){return l.jsx(_o,{entry:s,authors:e})}}const gn="the top folder";function Pe(e){return e.slice(e.lastIndexOf("/")+1)}function Eo(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function To(e){return e===""?gn:`${e}/`}function de(e){return e.target!==void 0?e.target===""?gn:e.target:To(Eo(e.paths[0]??""))}function $o(e,t){const s=e.paths[0]??"",n=e.target;switch(e.kind){case"edit":return`${t} edited ${n??s}`;case"add":return`${t} added ${n??s}`;case"upload":return e.pathCount===1?`${t} uploaded ${Pe(s)} to ${de(e)}`:`${t} uploaded ${e.pathCount} files to ${de(e)}`;case"rename":{const o=e.from??"";return n!==void 0?`${t} renamed ${o} to ${n}`:o.endsWith("/")?`${t} renamed ${o}`:`${t} renamed ${o} to ${s}`}case"delete":return n!==void 0?`${t} deleted ${n}`:e.pathCount===1?`${t} deleted ${s}`:`${t} deleted ${e.pathCount} files`;case"from-attachment":return`${t} saved ${Pe(s)} from the chat to ${de(e)}`}}const Do=c.lazy(()=>ut(()=>import("./index-DiM3QX-4.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(e=>({default:e.SaveToRoomFilesButton})));function Na({roomId:e,entry:t,author:s,authorRef:n,authors:o,viewerAuthorId:a,authorNames:r,reactionFrequents:i,streamStalled:d,isMember:f=!0,grouping:p,orphanedReply:x,answers:b,feedPosition:m,rowId:u,roomKind:g,headsThread:w=!1}){const h=en(t.createdAt),y=c.useMemo(()=>{const L=lo(t.body.text),ie=Bt(t.attachments??[]);if(ie===null)return L;const Ce=L??t.body.text.trim();return Ce.length>0?`${Ce} ${ie}`:ie},[t.body.text,t.attachments]),k=c.useId(),M=`${k}-author`,j=`${k}-content`,R=`${k}-summary`,N=c.useRef(null),S=c.useRef(null),_=c.useRef(null),{reactions:O,toggle:v,quickRow:E}=fo({roomId:e,entry:t,viewerAuthorId:a,reactionFrequents:i,streamStalled:d,isMember:f}),I=ne(n==null?void 0:n.agentRef),{open:A}=Je(),$=n===void 0?void 0:Qe(n,I==null?void 0:I.memberId),oe=c.useCallback(()=>{$!==void 0&&A($)},[A,$]),B=$===void 0?void 0:oe,U=dt(t.id,t.body.text),q=Es({roomId:e,entry:t,author:n,viewerAuthorId:a,onViewProfile:B,onMakeTodo:U}),C=(n==null?void 0:n.handle)??void 0,V=c.useMemo(()=>({kind:s.kind,displayName:s.displayName,handle:C,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl}),[s.kind,s.displayName,C,s.color,s.emoji,s.imageUrl]),D=pn({agentRef:n==null?void 0:n.agentRef,identity:V,onViewProfile:B}),vn=po({barRef:S,pillsRef:_,hasReactions:O.length>0}),we=c.useCallback(()=>{var L;return(L=N.current)==null?void 0:L.focus()},[]),kn=c.useMemo(()=>Oo(o),[o]),Ie=c.useMemo(()=>g==="channel"&&t.authorId===a?ro(t,o):null,[g,t,a,o]),wn=c.useCallback(L=>l.jsx(c.Suspense,{fallback:null,children:l.jsx(Do,{roomId:e,attachment:L})}),[e]),In=Ws(),ae=t.body.subjectAuthorId??t.authorId,T=o.get(ae),G=ne(T==null?void 0:T.agentRef),Nn=go(e,t),re=Ts(t);if(re.kind==="notice")return l.jsx(Ms,{entry:t,feedPosition:m,rowId:u,sessionLink:Nn,subjectName:T==null?void 0:T.displayName});if(re.kind==="moment")return l.jsx(_s,{entry:t,moment:re.moment,subject:ae===t.authorId?s:$s(ae,o,In),subjectIdentity:{handle:(T==null?void 0:T.handle)??void 0,origin:T==null?void 0:T.origin,agent:G&&{runtime:G.runtime,...G.model&&{model:G.model}}},feedPosition:m,rowId:u});const Cn=p.position==="first"||p.position==="only",Ne=t.authorId===a;return l.jsxs(P.Root,{ref:N,id:u,position:p.position,className:w?"pb-0":void 0,actions:q,reactions:E,"data-testid":"room-entry",tabIndex:0,...io({showAuthorHeader:Cn,headerId:M,displayName:s.displayName,time:h,summary:y,contentId:j,summaryId:R,feedPosition:m}),onKeyDown:vn,children:[l.jsx(P.Gutter,{author:s,at:t.createdAt,onViewProfile:D?void 0:B,isSelf:Ne,renderAvatar:D==null?void 0:D.wrapAvatar}),l.jsxs(P.Body,{children:[l.jsx(P.Author,{id:M,author:s,at:t.createdAt,origin:n==null?void 0:n.origin,isSelf:Ne,renderName:D==null?void 0:D.wrapName}),x===!0&&l.jsx("p",{"data-testid":"room-entry-orphan",className:"text-muted-foreground text-xs",children:"Replying to an earlier message"}),b!=null&&l.jsx("p",{"data-testid":"room-entry-answers",className:"text-muted-foreground mb-1 truncate text-xs",children:`Answering “${b.excerpt}”`}),t.body.via&&l.jsx(Ut,{via:t.body.via}),l.jsx(P.Content,{id:j,className:"wrap-anywhere [&_pre]:overflow-x-auto [&_pre]:wrap-normal",children:t.body.todo&&n===void 0?l.jsx(Ht,{todoId:t.body.todo.todoId}):t.body.fileChange?l.jsx("p",{"data-testid":"room-entry-file-change",className:"wrap-anywhere",children:$o(t.body.fileChange,(T==null?void 0:T.displayName)??"Somebody")}):kn(t,{rowId:t.id,isStreaming:!1})}),Ie!==null&&l.jsx("p",{"data-testid":"room-entry-reach",className:"text-muted-foreground text-xs",children:Ie}),y!==null&&l.jsx("span",{id:R,className:"hidden",children:y}),l.jsx(P.Attachments,{items:t.attachments??[],renderAction:f?wn:void 0}),l.jsx(P.Reactions,{ref:_,reactions:O,viewerAuthorId:a,names:r,frequents:i,onToggle:v,disabled:d===!0||!f,onExit:we}),l.jsx(P.Actions,{actions:q,reactions:E,barRef:S,onExit:we})]})]})}const Ca={reactions:!0,threads:!0,runWith:!1,attachments:!0,mentions:!0,streamHealth:!0,presence:!0,turnStatus:!1,asks:!0};function Po(e){const t=fe(),[s,n]=c.useState([]),o=c.useRef(new Map),a=c.useCallback(m=>{const u=m.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));n(g=>[...g,...u])},[]),r=c.useCallback(m=>{o.current.delete(m),n(u=>u.filter(g=>g.id!==m))},[]),i=c.useCallback(m=>{if(!m){o.current.clear(),n([]);return}const u=new Set(m);for(const g of u)o.current.delete(g);n(g=>g.filter(w=>!u.has(w.id)))},[]),d=c.useCallback(m=>{o.current.delete(m),n(u=>u.map(g=>g.id===m&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),f=c.useRef(null),p=Ue({meta:{suppressErrorToast:!0},mutationFn:async m=>{n(h=>h.map(y=>m.some(k=>k.id===y.id)?{...y,status:"uploading"}:y));const u=h=>{n(y=>y.map(k=>k.status==="uploading"?{...k,progress:h.percentage}:k))},g=new AbortController;f.current=g;const w=m.map(h=>h.file);return t.uploadRoomAttachments(e,w,u,g.signal)},onSettled:()=>{f.current=null},onSuccess:(m,u)=>{u.forEach((g,w)=>{const h=m[w];h&&o.current.set(g.id,h.id)}),n(g=>g.map(w=>u.findIndex(y=>y.id===w.id)===-1?w:{...w,status:"uploaded",progress:100}))},onError:m=>{n(u=>u.map(g=>g.status==="uploading"?{...g,status:"error",error:m.message}:g))}}),x=c.useCallback(()=>{var m;(m=f.current)==null||m.abort()},[]),b=c.useCallback(async()=>{const m=s.filter(g=>g.status==="error");if(m.length>0)throw new Error(m.length===1?`${m[0].file.name} didn’t upload. Try again or remove it.`:`${m.length} files didn’t upload. Try again or remove them.`);const u=s.filter(g=>g.status==="pending");return u.length>0&&await p.mutateAsync(u),s.map(g=>o.current.get(g.id)).filter(g=>g!==void 0)},[s,p]);return{pendingFiles:s,addFiles:a,removeFile:r,retryFile:d,clearFiles:i,cancelUpload:x,uploadAndGetIds:b,hasPendingFiles:s.length>0,hasFailedUpload:s.some(m=>m.status==="error"),isUploading:p.isPending}}function Ra(e){const{room:t,threadRootId:s}=e,n=Wt(),o=Kt(),a=Po((t==null?void 0:t.id)??""),r=t!==void 0&&Xe(t.members,t.viewerAuthorId),i=c.useRef({attachments:a,post:n,reply:o,room:t,threadRootId:s});c.useEffect(()=>{i.current={attachments:a,post:n,reply:o,room:t,threadRootId:s}});const d=c.useCallback(y=>i.current.attachments.addFiles(y),[]),f=c.useCallback(y=>i.current.attachments.removeFile(y),[]),p=c.useCallback(y=>i.current.attachments.retryFile(y),[]),x=c.useCallback(()=>i.current.attachments.cancelUpload(),[]),{pendingFiles:b,hasFailedUpload:m,isUploading:u}=a,g=c.useMemo(()=>({staged:b,add:d,remove:f,retry:p,cancel:x,hasFailed:m,isUploading:u,holdsSendWhileUploading:!1}),[b,m,u,d,f,p,x]),w=c.useCallback(async y=>{const{attachments:k,post:M,reply:j,room:R,threadRootId:N}=i.current;if(R===void 0)throw new Error("That room isn’t loaded yet.");if(R.archived)throw new Error("This room is archived.");ee.getState().recordOpened("room",R.id);const S=mt(),_=k.pendingFiles.map(I=>I.file.name),O=k.pendingFiles.map(I=>I.id),v=await k.uploadAndGetIds();k.clearFiles(O);const E=y.parentEntryId??N;if(zt({roomId:R.id,threadRootId:E??null},y.text),E!==void 0){j.mutate({roomId:R.id,rootEntryId:E,text:y.text,clientId:S,attachmentIds:v,attachmentNames:_});return}M.mutate({roomId:R.id,text:y.text,clientId:S,attachmentIds:v,attachmentNames:_})},[]);return{target:c.useMemo(()=>({kind:"room",id:(t==null?void 0:t.id)??"",placeholder:t===void 0?"Message…":s===void 0?`Message ${se(t)}…`:"Reply in this thread…",canSend:t!==void 0&&!t.archived&&r,...t===void 0?{canSendReason:"Still opening this room…"}:t.archived?{canSendReason:"This room is archived. You can read it, but not add to it."}:r?{}:{canSendReason:Ze},send:w,attachments:g}),[t,s,r,g,w]),attachments:a}}const hn=8;function xn(e){if(e==null)return null;const t=e.replace(/\s+/g," ").trim();return t.length===0?null:t}function Lo(e){if(gt(e)){const s=e.unreadCount??0;return s===1?"1 new message":`${s} new messages`}const t=e.working??0;return t>0?t===1?"1 agent working":`${t} agents working`:xn(e.topic)}function Le(e){return{kind:"session",id:e.id,name:pt(e.title),summary:xn(e.lastMessagePreview),lastActivityAt:e.updatedAt,session:e}}function Fo(e){return{kind:e.kind==="dm"?"dm":"channel",id:e.id,name:se(e),summary:Lo(e),lastActivityAt:e.lastActivityAt,room:e}}function Q(e){if(e===void 0)return null;const t=Date.parse(e);return Number.isNaN(t)?null:t}function Bo(e){return e.kind==="session"?Ae("session",e.id):Ae("room",e.id)}function Fe(e,t){const s=[Q(t[Bo(e)]),...e.kind==="session"?[Q(e.session.lastTouchedByYouAt),Q(e.session.userLastMessageAt)]:[]].filter(n=>n!==null);return s.length>0?Math.max(...s):Q(e.lastActivityAt)??Number.NEGATIVE_INFINITY}function Uo(e){return(t,s)=>Fe(s,e)-Fe(t,e)||s.id.localeCompare(t.id)}function Ho(e){const t=new Set;return e.filter(s=>{const n=`${s.kind}:${s.id}`;return t.has(n)?!1:(t.add(n),!0)})}function Wo(e,t){return!(t.has(e.id)||e.unreadCount===null||e.lastActivityAt===e.createdAt)}function Ko({sessions:e,rooms:t,mutedRoomIds:s=new Set,interactions:n={},limit:o=hn}){const{yours:a,spinOffs:r,automated:i}=ft(e),d=Uo(n),f=[...a.map(Le),...t.filter(p=>Wo(p,s)).map(Fo)].sort(d);return{items:Ho(f).slice(0,o),automated:[...r,...i].map(Le).sort(d).slice(0,o)}}const zo=3,qo=yt;function Vo({limit:e=hn,mutedRoomIds:t,enabled:s=!0}={}){var f,p;const n=ht(Math.max(e*zo,qo),{enabled:s}),o=We({enabled:s}),a=xt(),r=(f=n.data)==null?void 0:f.sessions,i=o.data;return{...c.useMemo(()=>Ko({sessions:r??[],rooms:i??[],mutedRoomIds:t,interactions:a,limit:e}),[r,i,t,a,e]),isLoading:s&&(n.isLoading||o.isLoading),warnings:((p=n.data)==null?void 0:p.warnings)??[]}}const Go=6,yn="jump-back-in-listbox";function ke(e){return`jump-back-in-item-${e}`}const Yo='[role="combobox"]';function W(e){return e instanceof Element&&e.matches(Yo)}function Jo({value:e,yieldToPalette:t=!1,enabled:s=!0}){const n=Ye(),o=bt(),[a,r]=c.useState(!1),[i,d]=c.useState({stamp:"",index:0}),[f,p]=c.useState(!1),[x,b]=c.useState(!1);e.length>0&&!x&&b(!0);const m=c.useRef(!1);c.useEffect(()=>{m.current=!0},[]);const{data:u}=he({enabled:s}),g=c.useMemo(()=>((u==null?void 0:u.agents)??[]).map(C=>C.projectPath),[u]),{data:w}=Ve(g,{enabled:s}),h=c.useMemo(()=>w??{},[w]),y=c.useMemo(()=>vt(g,h),[g,h]),k=c.useMemo(()=>new Map(g.map(C=>[ge(C),C])),[g]),M=c.useCallback(C=>kt({room:C,agentsByPath:h,pathByAgentRef:k}),[h,k]),j=c.useMemo(()=>wt(o.muted),[o.muted]),{items:R}=Vo({mutedRoomIds:j,enabled:s}),N=c.useMemo(()=>R.slice(0,Go),[R]),S=s&&a&&!f&&!x&&!t&&e.length===0&&N.length>0,_=`${S}:${N.length}`,O=i.stamp===_?i.index:0,v=c.useCallback(C=>{m.current&&W(C.target)&&(p(!1),b(!1),r(!0))},[]),E=c.useCallback(C=>{W(C.target)&&r(!0)},[]),I=c.useCallback(C=>{W(C.target)&&r(!1)},[]),A=c.useCallback(C=>{N.length!==0&&d(V=>{const D=V.stamp===_?V.index:0;return{stamp:_,index:(D+C+N.length)%N.length}})},[N.length,_]),$=c.useCallback(()=>A(1),[A]),oe=c.useCallback(()=>A(-1),[A]),B=c.useCallback(()=>{p(!0)},[]),U=c.useCallback(C=>{if(p(!0),C.kind==="session"){C.session.cwd&&ee.getState().recordOpened("agent",C.session.cwd),n(pe({dir:C.session.cwd??void 0,session:C.session.id}));return}ee.getState().recordOpened("room",C.room.id),n({...It.channels(),search:{id:C.room.id}})},[n]),q=c.useCallback(()=>{const C=N[O];!S||!C||U(C)},[S,N,O,U]);return{isOpen:S,hasRows:N.length>0,rows:N,agents:h,displayNames:y,visualOf:M,selectedIndex:O,activeDescendantId:S&&N[O]!==void 0?ke(O):void 0,listboxId:S?yn:void 0,handleFocus:v,handleBlur:I,handlePointerDown:E,moveDown:$,moveUp:oe,selectHighlighted:q,selectRow:U,dismiss:B}}function bn({mark:e,label:t,title:s,summary:n,lastActivityAt:o,index:a,isSelected:r,now:i,onSelect:d}){const f=c.useMemo(()=>Number.isNaN(Date.parse(o))?null:jt(o),[o,i]);return l.jsxs("div",{id:ke(a),role:"option","aria-selected":r,"data-selected":r,title:s,onClick:d,className:"data-[selected=true]:bg-accent hover:bg-muted flex cursor-pointer items-start gap-2 rounded-md px-2 py-1.5 transition-colors duration-100",children:[l.jsx("span",{className:"mt-px flex shrink-0 items-center",children:e}),l.jsxs("span",{className:"flex min-w-0 flex-1 flex-col",children:[l.jsxs("span",{className:"flex w-full items-center gap-1.5",children:[l.jsx("span",{className:"text-foreground min-w-0 flex-1 truncate text-sm",children:t}),f!==null&&l.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0",children:f})]}),n!==null&&l.jsx("span",{className:"text-muted-foreground/70 text-2xs truncate",children:n})]})]})}function Qo({item:e,agent:t,displayName:s,index:n,isSelected:o,now:a,onSelect:r}){const i=Ct(t,e.session.cwd??s);return l.jsx(bn,{mark:l.jsx(Rt,{color:i.color,emoji:i.emoji,size:"xs"}),label:e.name,title:`${s} · ${e.name}`,summary:e.summary,lastActivityAt:e.lastActivityAt,index:n,isSelected:o,now:a,onSelect:r})}function Xo({item:e,visual:t,index:s,isSelected:n,now:o,onSelect:a}){return l.jsx(bn,{mark:l.jsx(St,{room:e.room,participants:e.room.participants,visuals:Mt(t)}),label:l.jsx(At,{room:e.room}),title:e.summary===null?e.name:`${e.name} · ${e.summary}`,summary:e.summary,lastActivityAt:e.lastActivityAt,index:s,isSelected:n,now:o,onSelect:a})}function Zo({rows:e,selectedIndex:t,agents:s={},displayNames:n={},visualOf:o,onSelect:a}){const r=Nt(6e4);return c.useEffect(()=>{var i,d;(d=(i=document.getElementById(ke(t)))==null?void 0:i.scrollIntoView)==null||d.call(i,{block:"nearest"})},[t]),l.jsx(Ge.div,{initial:{opacity:0,scale:.98,y:4},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:4},transition:{duration:.15,ease:[0,0,.2,1]},className:"bg-popover max-h-80 overflow-hidden rounded-lg border shadow-lg",onMouseDown:i=>i.preventDefault(),children:l.jsx("div",{id:yn,role:"listbox","aria-label":"Jump back in",className:"max-h-72 overflow-y-auto p-1.5",children:e.map((i,d)=>{var f;return i.kind==="session"?l.jsx(Qo,{item:i,agent:i.session.cwd&&s[i.session.cwd]||null,displayName:i.session.cwd&&n[i.session.cwd]||((f=i.session.cwd)==null?void 0:f.split("/").pop())||"Agent",index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`session-${i.id}`):l.jsx(Xo,{item:i,visual:o(i.room),index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`room-${i.id}`)})})})}function Aa({room:e,threadRootId:t,focusOnMount:s,offerJumpBackIn:n,onFocusChange:o,attachments:a}){const r=t===void 0?e.id:ze(e.id,t),i=_t(r),{target:d}=qt(),f=Ot(),p=Et(r),x=c.useRef(null),b=Xe(e.members,e.viewerAuthorId),m=c.useRef(!1),u=Js({members:e.members,viewerAuthorId:e.viewerAuthorId,text:i}),g=c.useMemo(()=>e.kind==="channel"?ao(i,e.members):null,[e.kind,e.members,i]),w=n===!0,h=Jo({value:i,yieldToPalette:u.isOpen,enabled:w}),y=c.useRef(p);c.useEffect(()=>{var v;p!==y.current&&(y.current=p,(v=x.current)==null||v.focus())},[p]),c.useEffect(()=>{var v;s===!0&&((v=x.current)==null||v.focusUnlessTouch())},[]);const k=c.useCallback(v=>X.getState().set(r,v),[r]),[M,j]=c.useState(null);c.useLayoutEffect(()=>{var v;M!==null&&((v=x.current)==null||v.focusAt(M.pos))},[M]);const R=c.useCallback(v=>{v&&(k(v.value),j({pos:v.cursorPos}))},[k]),N=c.useCallback(v=>R(u.selectRow(v)),[u,R]),S=c.useCallback(()=>R(u.selectHighlighted()),[u,R]),_=()=>{if(d===null||!d.canSend||m.current)return;u.dismiss();const v=X.getState().take(r).trim();if(v==="")return;const E=a.pendingFiles.length>0;E&&(m.current=!0),d.send({text:v}).catch(()=>{const I=X.getState(),A=I.drafts[r]??"";I.set(r,A===""?v:`${v}
|
|
37
|
+
*/const ln={name:"user-x",size:24,node:[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"17",x2:"22",y1:"8",y2:"13",key:"3nzzx3"}],["line",{x1:"22",x2:"17",y1:"8",y2:"13",key:"1swrse"}]]};ln.node;const us=F(ln),ms='[data-slot="identity-hover-card-actions"] button:not(:disabled)';function fs(e){const{open:t,setOpen:s,triggerRef:n,enabled:o}=e,a=c.useRef(null),r=c.useRef(!1);c.useEffect(()=>{if(!t||!r.current)return;r.current=!1;let p=0,x=0;const b=()=>{var u;const m=(u=a.current)==null?void 0:u.querySelector(ms);if(m)return m.focus();++p<10&&(x=requestAnimationFrame(b))};return b(),()=>cancelAnimationFrame(x)},[t]);const i=c.useCallback(p=>{var x;!p&&((x=a.current)!=null&&x.contains(document.activeElement))||s(p)},[s]),d=c.useCallback(p=>{!o||p.key!=="Enter"&&p.key!==" "||(p.preventDefault(),r.current=!0,s(!0))},[o,s]),f=c.useMemo(()=>({onEscapeKeyDown:()=>{var p;return(p=n.current)==null?void 0:p.focus()},onBlur:p=>{var b,m,u;const x=p.relatedTarget;x&&((b=a.current)!=null&&b.contains(x)||(m=n.current)!=null&&m.contains(x))||(u=a.current)!=null&&u.contains(document.activeElement)||s(!1)}}),[s,n]);return{contentRef:a,handleOpenChange:i,onTriggerKeyDown:d,contentHandlers:f}}function ce(e){const t=e.key==="ArrowRight"||e.key==="ArrowDown",s=e.key==="ArrowLeft"||e.key==="ArrowUp",n=e.key==="Tab";if(!t&&!s&&!n)return;const o=e.currentTarget.closest('[data-slot="identity-hover-card-actions"]');if(!o)return;const a=Array.from(o.querySelectorAll("button:not(:disabled)")),r=a.indexOf(document.activeElement);if(r===-1||a.length===0)return;e.preventDefault();const i=s||n&&e.shiftKey?-1:1;a[(r+i+a.length)%a.length].focus()}function ps({kind:e,about:t}){const n=[e==="agent"?"Agent":e==="human"?"Person":null,t.role].filter(Boolean).join(" · ");return!n&&!t.status?null:l.jsxs("div",{className:"flex min-w-0 flex-col gap-0.5 px-3 pb-3","data-slot":"identity-hover-card-about",children:[n&&l.jsx("p",{className:"text-muted-foreground truncate text-xs",title:n,children:n}),t.status&&l.jsx("p",{className:"text-foreground/80 truncate text-xs","data-slot":"identity-hover-card-status",children:t.status})]})}function gs({actions:e,onAct:t}){const s=n=>()=>{t(),n()};return l.jsxs("div",{className:"border-border mt-auto flex flex-col gap-2 border-t p-3","data-slot":"identity-hover-card-actions",role:"group","aria-label":"Actions",children:[l.jsxs("div",{className:"flex gap-2",children:[e.onMessage&&l.jsx(ue,{size:"xs",className:"flex-1",onClick:s(e.onMessage),onKeyDown:ce,children:"Message"}),e.onViewProfile&&l.jsx(ue,{size:"xs",variant:"outline",className:"flex-1",onClick:s(e.onViewProfile),onKeyDown:ce,children:"Profile"})]}),e.session&&l.jsxs("button",{type:"button","data-slot":"identity-hover-card-session",onClick:s(e.session.onOpen),onKeyDown:ce,className:"text-muted-foreground hover:text-foreground focus-visible:ring-ring flex min-w-0 items-center gap-1.5 rounded-sm text-left text-xs transition-colors focus-visible:ring-2 focus-visible:outline-none",children:[l.jsx(Rn,{className:"size-3.5 shrink-0","aria-hidden":!0}),l.jsx("span",{className:"truncate",children:e.session.label})]})]})}const hs=300;function J({className:e,children:t}){return l.jsx("span",{className:K("bg-muted text-muted-foreground text-2xs inline-flex max-w-full items-center gap-1 truncate rounded-full px-2 py-0.5",e),children:t})}function ye({identity:e,children:t,onViewProfile:s,about:n,actions:o,onOpenChange:a,openOnClick:r=!1,className:i}){const{kind:d,displayName:f,handle:p,color:x,emoji:b,imageUrl:m,origin:u,agent:g}=e,w=x??"hsl(var(--muted-foreground))",h=typeof u=="object"&&u!==null,y=d==="agent"&&(g==null?void 0:g.working)!=null?g.working:null,[k,j]=c.useState(!1),M=c.useRef(!0);c.useEffect(()=>(M.current=!0,()=>{M.current=!1}),[]);const R=c.useCallback(A=>{M.current&&(j(A),a==null||a(A))},[a]),N=c.useRef(!1),S=c.useRef(null),_=An({onLongPress:()=>{N.current&&R(!0)}}),{contentRef:O,handleOpenChange:v,onTriggerKeyDown:E,contentHandlers:I}=fs({open:k,setOpen:R,triggerRef:S,enabled:r&&o!==void 0});return l.jsxs(es,{open:k,onOpenChange:v,openDelay:hs,children:[l.jsx(ns,{asChild:!0,ref:S,"data-gesture-priority":"",..._,onPointerDown:A=>{N.current=A.pointerType==="touch"||A.pointerType==="pen",_.onPointerDown(A)},...r?{onClick:()=>R(!0),onKeyDown:E}:{},children:t}),l.jsxs(ts,{ref:O,...I,...o?{role:"dialog","aria-label":f}:{},"data-slot":"identity-hover-card",align:"start",className:K("flex w-64 flex-col gap-0 overflow-hidden p-0",i),children:[l.jsxs("div",{className:"flex items-center gap-3 p-3",children:[l.jsx(Sn,{"aria-hidden":!0,color:w,emoji:b,imageUrl:m,fallback:jn(f),kind:d,origin:u,status:y?"working":"idle",size:"md"}),l.jsxs("div",{className:"min-w-0",children:[l.jsx("p",{className:"text-foreground truncate text-sm font-semibold",children:f}),p&&l.jsxs("p",{className:"text-muted-foreground truncate text-xs font-medium",children:["@",p]})]})]}),n&&l.jsx(ps,{kind:d,about:n}),l.jsxs("div",{className:"flex flex-wrap gap-1.5 px-3 pb-3 empty:hidden",children:[d==="agent"&&((g==null?void 0:g.runtime)||(g==null?void 0:g.model))&&l.jsx(J,{children:[g.runtime,g.model].filter(Boolean).join(" · ")}),y&&l.jsxs(J,{className:"bg-status-success-bg text-status-success-fg",children:["Working · ",Zt(y.forMs)]}),d==="human"&&l.jsx(J,{children:h?u.platform:"On this machine"}),d==="agent"&&(g==null?void 0:g.managedBy)&&l.jsxs(J,{children:["Managed by"," ",g.managedBy.handle?`@${g.managedBy.handle}`:g.managedBy.displayName]})]}),o?l.jsx(gs,{actions:o,onAct:()=>{var A;(A=S.current)==null||A.focus(),R(!1)}}):s?l.jsx("button",{type:"button","data-slot":"identity-hover-card-profile",onClick:()=>{var A;(A=S.current)==null||A.focus(),s()},className:"border-border hover:bg-accent focus-visible:ring-ring text-brand-text mt-auto flex w-full items-center border-t px-3 py-2 text-left text-xs font-medium transition-colors focus-visible:ring-2 focus-visible:outline-none",children:"View profile"}):l.jsxs("div",{className:"border-border mt-auto flex items-center justify-between border-t px-3 py-2",children:[l.jsx("span",{className:"text-muted-foreground text-xs font-medium",children:"View profile"}),l.jsx("span",{className:"text-muted-foreground text-3xs tracking-wide uppercase",children:"soon"})]})]})]})}function xs(){const e=fe(),t=Be();return Ue({onMutate:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var p;const r=t.getQueryData(H.entries(s)),i=(p=r==null?void 0:r.find(x=>x.id===n))==null?void 0:p.reactions,{reactions:d,on:f}=je(i,o,a);return t.setQueryData(H.entries(s),x=>Me(x,n,d)),{on:f}},mutationFn:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var d,f;const r=t.getQueryData(H.entries(s)),i=((f=(d=r==null?void 0:r.find(p=>p.id===n))==null?void 0:d.reactions)==null?void 0:f.some(p=>p.emoji===o&&p.authorIds.includes(a)))??!1;return e.toggleReaction(s,n,{emoji:o,on:i})},onError:(s,{roomId:n,entryId:o,emoji:a,viewerAuthorId:r},i)=>{i!==void 0&&t.setQueryData(H.entries(n),d=>{var x;const f=(x=d==null?void 0:d.find(b=>b.id===o))==null?void 0:x.reactions,{reactions:p}=je(f,a,r,!i.on);return Me(d,o,p)})},onSuccess:({frequents:s},{roomId:n})=>{t.setQueryData(H.detail(n),o=>o&&{...o,reactionFrequents:s})},meta:{errorLabel:"Couldn’t add your reaction",errorToastId:"room-reaction"}})}function z(e){return e.threadRootEntryId??e.parentEntryId}function ys(e){return z(e)??e.id}function bs(e,t){return Math.max(t??0,e)}function pa(e,t,s){let n=e[0],o=0;for(const a of e)a.seq>n.seq&&(n=a),t!==null&&a.seq>t&&(o+=1);return{count:bs(e.length,s),lastAt:n.createdAt,unread:o}}function vs(e){var M,R;const{agentPath:t,displayName:s,onViewProfile:n,engaged:o}=e,a=He(),r=Mn(),i=a&&o&&t!==void 0,d=_n(i?t:null),f=On(d.member),p=En(),x=Tn(),b=$n(),m=Dn(),{data:u}=We({enabled:i&&r}),g=m.status==="ready"?m.roomId:null,w=u==null?void 0:u.find(N=>N.id===g),h=w?se(w):null,y=(R=(M=d.member)==null?void 0:M.agent)==null?void 0:R.effectiveRuntimeId,k=c.useCallback(()=>{t!==void 0&&(ee.getState().recordOpened("agent",t),p({agentPath:t},y?{runtime:y}:{}))},[t,p,y]),j=c.useCallback(async()=>{if(t===void 0||!b)return;const N=await x(t);if(N===null){Ke(`${s} has no session in ${h??"this room"} yet`);return}b(pe({session:N}))},[t,b,x,s,h]);return c.useMemo(()=>!a||t===void 0?null:{about:{role:d.role,status:f},actions:{onMessage:k,...n?{onViewProfile:n}:{},...r&&h?{session:{label:`Session in ${h}`,onOpen:()=>void j()}}:{}}},[a,t,d.role,f,k,n,r,h,j])}function ks({identity:e,agentPath:t,onViewProfile:s,openOnClick:n=!1,children:o}){const[a,r]=c.useState(!1),i=vs({agentPath:t,displayName:e.displayName,onViewProfile:s,engaged:a}),d=c.useCallback(f=>{f&&r(!0)},[]);return l.jsx(ye,{identity:e,onViewProfile:s,onOpenChange:d,openOnClick:n&&i!==null,...i?{about:i.about,actions:i.actions}:{},children:o})}function ws(e){return l.jsx(Xt,{code:e.code,isIncomplete:e.isIncomplete})}const Is=[{language:Qt,component:ws}],Ns={turn_failed:{Icon:Jn,warm:!0},agent_busy:{Icon:Gn},agent_gone:{Icon:us,warm:!0},agent_left:{Icon:Ee,warm:!0},room_archived:{Icon:Vn},agent_reseated:{Icon:qn},handle_changed:{Icon:nn},files_set_up:{Icon:zn},handoff_shared:{Icon:Kn},handoff_declined:{Icon:Oe},runtime_gone:{Icon:cs,warm:!0},agent_paused:{Icon:Wn},agent_declined:{Icon:Oe},agent_unavailable:{Icon:Hn},awaiting_approval:{Icon:Un,warm:!0},halted:{Icon:Bn},budget_reached:{Icon:Fn},cascade_stopped:{Icon:Ln},addressing_changed:{Icon:is},bridge_blocked:{Icon:os,warm:!0},bridge_undelivered:{Icon:Pn,warm:!0},bridge_rate_limited:{Icon:ds},bridge_second_agent_refused:{Icon:Ee},bridge_disconnected:{Icon:rs},bridge_agent_swapped:{Icon:Gt},bridge_history_note:{Icon:ss}},Cs={Icon:Yn};function dn(e){return(e&&Ns[e])??Cs}function ga(e){return dn(e).warm===!0}const le=80;function Rs(e){const t=e.trim();if(t.length<=le)return t;const s=t.slice(0,le),n=s.lastIndexOf(" ");return`${(n>le/2?s.slice(0,n):s).trimEnd()}…`}function As(e,t,s){const n=Ss(e,s),o=a=>l.jsx("a",{href:t.href,onClick:t.onOpen,"data-testid":"room-notice-session-link",className:"focus-ring hover:text-foreground rounded py-2 font-medium underline underline-offset-3",children:a});return n===null?l.jsxs(l.Fragment,{children:[e," ",o("Open chat")]}):l.jsxs(l.Fragment,{children:[e.slice(0,n.index),o(n.words),e.slice(n.index+n.words.length)]})}function Ss(e,t){if(t!==void 0){const n=Qn(t),o=e.lastIndexOf(n);if(o!==-1)return{index:o,words:n}}const s=Xn.exec(e);return s===null?null:{index:s.index,words:s[0]}}function js({entry:e,feedPosition:t,rowId:s,sessionLink:n,subjectName:o}){const{Icon:a,warm:r}=dn(e.body.notice);return l.jsxs("p",{id:s,"data-slot":"notice-row","data-testid":"room-notice","data-notice":e.body.notice??"unknown",...t&&{role:"article","aria-label":Rs(e.body.text)},...xe(t),className:K("focus-ring-inset flex items-start gap-[var(--msg-gap)] px-[var(--msg-padding-x)] py-1.5 text-xs",r?"text-foreground":"text-muted-foreground"),children:[l.jsx("span",{"data-slot":"notice-mark",className:"flex w-[var(--msg-gutter-width)] shrink-0 justify-center",children:l.jsx(a,{"aria-hidden":!0,className:K("mt-0.5 size-(--size-icon-xs) shrink-0",r?"text-status-warning-fg":"text-muted-foreground")})}),l.jsx("span",{className:"min-w-0",children:n?As(e.body.text,n,o):e.body.text})]})}const Ms=as.moment;function _s({entry:e,moment:t,subject:s,subjectIdentity:n,feedPosition:o,rowId:a}){const r=en(e.createdAt);return l.jsx("div",{id:a,"data-slot":"moment-row","data-testid":"room-moment","data-moment":t.kind,role:"article","aria-label":`Moment: ${e.body.text}`,...xe(o),className:"focus-ring-inset px-[var(--msg-padding-x)] py-1",children:l.jsxs("div",{className:"bg-foreground/4 flex items-center gap-2.5 rounded-lg px-3 py-2",children:[l.jsx(ye,{identity:{kind:s.kind,displayName:s.displayName,handle:n==null?void 0:n.handle,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl,origin:n==null?void 0:n.origin,agent:n==null?void 0:n.agent},children:l.jsxs("span",{"data-testid":"room-moment-identity",className:"flex shrink-0 items-center",children:[l.jsx(Dt,{author:s}),l.jsx("span",{className:"sr-only",children:s.displayName})]})}),l.jsx(Ms,{"data-testid":"room-moment-mark","aria-hidden":!0,className:"text-muted-foreground size-(--size-icon-xs) shrink-0"}),l.jsx("p",{className:"min-w-0 flex-1 text-sm",children:e.body.text}),r.length>0&&l.jsx("time",{dateTime:e.createdAt,title:Pt(e.createdAt),className:"text-msg-timestamp shrink-0 text-xs",children:r})]})})}function Os(e,t){const s=X.getState(),n=s.drafts[e]??"",o=n===""||n.endsWith(" ")||n.endsWith(`
|
|
38
|
+
`)?"":" ";s.set(e,`${n}${o}@${t} `)}function Es({roomId:e,entry:t,author:s,viewerAuthorId:n,onViewProfile:o,onMakeTodo:a}){const r=ys(t),i=t.body.text,d=(s==null?void 0:s.id)===n?void 0:(s==null?void 0:s.handle)??void 0,f=s==null?void 0:s.displayName,{copy:p}=Zn({toastOnSettle:!0});return c.useMemo(()=>{const x={reply:{id:"reply",label:"Reply in thread",icon:ls,run:()=>{nt.getState().openThread(e,r,!0),Re.getState().requestFocus(ze(e,r))}},copy:{id:"copy",label:"Copy text",icon:et,run:()=>void p(i)}};return o!==void 0&&(x.profile={id:"profile",label:"View profile",icon:tt,run:o}),a!==void 0&&(x.todo={id:"todo",label:"Make a to-do",icon:st,run:a}),d!==void 0&&(x.mention={id:"mention",label:f===void 0?"Mention author":`Mention ${f}`,icon:nn,run:()=>{Os(e,d),Re.getState().requestFocus(e)}}),Lt.map(b=>x[b]).filter(b=>b!==void 0)},[e,r,i,d,f,o,a,p])}function Ts(e){if(e.kind==="notice")return{kind:"notice"};const t=e.body.moment;return t?{kind:"moment",moment:t}:{kind:"message"}}function ha(e,t=[]){return new Map([...t.map(s=>[s.author.id,{...s.author,origin:s.origin}]),...e.map(s=>[s.author.id,{...s.author,origin:s.origin}])])}function xa(e,t){const s=e.body.subjectAuthorId;return s===void 0||t.has(e.authorId)?e.authorId:s}function $s(e,t,s){const n=t.get(e),o=qe({record:{kind:(n==null?void 0:n.kind)??"system",id:e,displayName:(n==null?void 0:n.displayName)??"Unknown",emoji:n==null?void 0:n.emoji,color:n==null?void 0:n.color,imageUrl:n==null?void 0:n.imageUrl},override:(n==null?void 0:n.agentRef)===void 0?null:s==null?void 0:s.get(n.agentRef)});return{kind:o.kind,id:e,displayName:(n==null?void 0:n.displayName)??"Unknown",emoji:o.emoji,imageUrl:o.imageUrl,color:o.color,isExternal:typeof(n==null?void 0:n.origin)=="object"&&(n==null?void 0:n.origin)!==null,...(n==null?void 0:n.retired)===!0?{retired:!0}:{}}}function ya(e){const t=new Set;for(const a of e)z(a)===null&&t.add(a.id);const s=[],n=new Map,o=new Set;for(const a of e){const r=z(a);if(r===null){s.push(a);continue}if(!t.has(r)){s.push(a),o.add(a.id);continue}const i=n.get(r);i?i.push(a):n.set(r,[a])}return{topLevel:s,repliesByRoot:n,orphaned:o}}function Ds(e){return`thread-${e}`}function Ps(e){return`thread-row-${e}`}function ba(e){return`thread-panel-entry-${e}`}function Ls(e){return`room-entry-${e}`}function Fs(e,t){const s=e.find(i=>i.id===t);if(s===void 0)return null;const n=z(s)??null,o={rowId:t,domId:Ls(t)};if(n===null)return o;const a=e.find(i=>i.id===n);return a!==void 0&&(z(a)??null)===null?{rowId:Ds(n),domId:Ps(n)}:o}function va(e,t){if(t===null)return null;const s=e.find(n=>n.seq===t);return s===void 0?null:Fs(e,s.id)}const Te=48;function ka(e,t,s){const n=e.body.answersEntryId;if(n===void 0||n===e.id||t!==void 0&&t.id===n)return null;const o=s(n);if(o===void 0)return null;const a=o.body.text.replace(/\s+/gu," ").trim();return a.length===0?null:{entryId:n,excerpt:a.length>Te?`${a.slice(0,Te).trimEnd()}…`:a}}function Bs(e,t){const s=new Map;for(const n of e){const o=t[n.projectPath];if(!o)continue;const a=ot({runtime:o.runtime,model:o.model});s.set(ge(n.projectPath),{memberId:n.id,visual:at(o),runtime:a.label,...a.modelLabel!==null&&{model:a.modelLabel}})}return s}function Us(e){const t=new Map;for(const[s,n]of e)t.set(s,n.visual);return t}const Hs={info:new Map,faces:new Map},be=c.createContext(Hs);function wa({known:e,children:t}){return l.jsx(be.Provider,{value:e,children:t})}function Ia(){const e=he(),t=c.useMemo(()=>{var r;return((r=e.data)==null?void 0:r.agents)??[]},[e.data]),s=c.useMemo(()=>t.map(r=>r.projectPath),[t]),n=Ve(s),o=c.useMemo(()=>Bs(t,n.data??{}),[t,n.data]),a=c.useMemo(()=>Us(o),[o]);return c.useMemo(()=>({info:o,faces:a}),[o,a])}function ne(e){const t=c.useContext(be);return e===void 0?void 0:t.info.get(e)}function Ws(){return c.useContext(be).faces}const $e={people:"People",agents:"Agents"},Ks=["people","agents"];function zs(e,t){const s=[];for(const{author:n}of e){if(n.kind==="system"||n.id===t||n.retired)continue;const o=n.handle;s.push({section:n.kind==="agent"?"agents":"people",authorId:n.id,label:n.displayName,...o?{handle:o}:{},...n.emoji?{emoji:n.emoji}:{},...n.color?{color:n.color}:{},disabled:!o,...o?{}:{disabledReason:"No @name"}})}return s}function qs(e,t,s){const n=t.trim().toLowerCase(),o=e.map((a,r)=>({row:a,position:r,tier:Vs(a,n)})).filter(a=>a.tier!==null).sort((a,r)=>a.tier-r.tier||a.position-r.position);return s.flatMap(a=>o.filter(r=>r.row.section===a).map(({row:r})=>r))}function Vs(e,t){var o;if(t==="")return 0;const s=[(o=e.handle)==null?void 0:o.toLowerCase(),e.label.toLowerCase()].filter(a=>a!==void 0);let n=null;for(const a of s){const r=a===t?0:a.startsWith(t)?1:a.includes(t)?2:null;r!==null&&(n===null||r<n)&&(n=r)}return n}function Y(e,t,s){var a;const n=e.length;if(n===0)return 0;let o=(t%n+n)%n;for(let r=0;r<n;r++){if(!((a=e[o])!=null&&a.disabled))return o;o=(o+s+n)%n}return 0}function Gs(e,t,s,n){const o=e.slice(0,t),a=e.slice(t+1+s.length),r=`@${n}`,i=a.startsWith(" ")?"":" ";return{value:o+r+i+a,cursorPos:o.length+r.length+1}}const Js=/(^|\s)@([A-Za-z0-9_.-]*)$/,un="mention-palette-listbox";function me(e){return`mention-item-${e}`}function Ys({members:e,viewerAuthorId:t,text:s,sectionOrder:n=Ks}){var E;const[o,a]=c.useState(!1),[r,i]=c.useState(""),[d,f]=c.useState(-1),p=rt(s),x=c.useRef(!1),b=c.useMemo(()=>zs(e,t),[e,t]),m=c.useMemo(()=>o?qs(b,r,n):[],[b,r,o,n]),[u,g]=c.useState(null),w=u!==null&&u.query===r&&u.open===o?u.index:Y(m,0,1),h=m[w],y=m.length===0||h!==void 0&&!h.disabled?w:Y(m,0,1),k=c.useCallback((I,A)=>{const $=I.slice(0,A).match(Js);if(!$){a(!1);return}a(!0),i($[2]),f(($.index??0)+$[1].length)},[]),j=c.useCallback(I=>{p.write(I),x.current=!1},[p]),M=c.useCallback(I=>{x.current||k(p.read(),I)},[k,p]),R=c.useCallback(()=>{g({query:r,open:o,index:Y(m,y+1,1)})},[m,y,r,o]),N=c.useCallback(()=>{g({query:r,open:o,index:Y(m,y-1,-1)})},[m,y,r,o]),S=c.useCallback(I=>I.disabled||I.handle===void 0?null:(x.current=!0,a(!1),Gs(p.read(),d,r,I.handle)),[d,r,p]),_=c.useCallback(()=>{const I=m[y];return I?S(I):(a(!1),null)},[m,y,S]),O=c.useCallback(()=>{x.current=!0,a(!1)},[]),v=m.some(I=>!I.disabled);return{isOpen:o,hasSelectableRows:v,rows:m,selectedIndex:y,activeDescendantId:o&&((E=m[y])==null?void 0:E.disabled)===!1?me(y):void 0,listboxId:o?un:void 0,noteTextChange:j,handleCursorChange:M,moveDown:R,moveUp:N,selectHighlighted:_,selectRow:S,dismiss:O}}function Qs({rows:e,selectedIndex:t,onSelect:s}){const n=c.useMemo(()=>{const o=[];return e.forEach((a,r)=>{const i=o[o.length-1];i&&i.section===a.section?i.items.push({row:a,index:r}):o.push({section:a.section,items:[{row:a,index:r}]})}),o},[e]);return c.useEffect(()=>{var o;(o=document.getElementById(me(t)))==null||o.scrollIntoView({block:"nearest"})},[t]),l.jsx(Ge.div,{initial:{opacity:0,scale:.98,y:4},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:4},transition:{duration:.15,ease:[0,0,.2,1]},className:"bg-popover max-h-80 overflow-hidden rounded-lg border shadow-lg",onMouseDown:o=>o.preventDefault(),children:l.jsx("div",{id:un,role:"listbox","aria-label":"Mentions",className:"max-h-72 overflow-y-auto p-1.5",children:e.length===0?l.jsx("div",{className:"text-muted-foreground px-2 py-4 text-center text-sm",children:"No one by that name."}):n.map(({section:o,items:a},r)=>l.jsxs("div",{role:"group","aria-label":$e[o],children:[r>0&&l.jsx("div",{className:"bg-border mx-2 my-1.5 h-px"}),l.jsx("div",{"aria-hidden":!0,className:"text-muted-foreground/70 text-2xs px-2 pt-1.5 pb-1 font-medium tracking-wide uppercase",children:$e[o]}),a.map(({row:i,index:d})=>{const f=d===t;return l.jsxs("div",{id:me(d),role:"option","aria-selected":f,"aria-disabled":i.disabled,"data-selected":f,"data-disabled":i.disabled,onClick:()=>{i.disabled||s(i)},className:i.disabled?"flex cursor-not-allowed items-center gap-2 rounded-md px-2 py-1.5 opacity-45":"data-[selected=true]:bg-accent hover:bg-muted flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 transition-colors duration-100",children:[l.jsx("span",{"aria-hidden":!0,className:"size-4 shrink-0 text-center text-sm leading-none",children:i.emoji}),l.jsx("span",{className:"text-foreground truncate text-sm font-medium",children:i.label}),i.handle!==void 0&&l.jsxs("span",{className:"text-muted-foreground/70 truncate font-mono text-xs",children:["@",i.handle]}),i.disabledReason!==void 0&&l.jsx("span",{className:"text-muted-foreground/70 text-2xs ml-auto shrink-0",children:i.disabledReason})]},i.authorId)})]},o))})})}const Xs=/(?:^|[^A-Za-z0-9_.@-])cc(?![A-Za-z0-9_])/i;function Zs(e,t){const s=e.lastIndexOf(`
|
|
39
|
+
`,t-1)+1;return Xs.test(e.slice(s,t))}function eo(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=s.map(a=>Zs(e,a.offset)),o=new Set(s.filter((a,r)=>!n[r]).map(a=>a.authorId));return s.map((a,r)=>n[r]&&!o.has(a.authorId)?{...a,cc:!0}:a)}function no(e,t){const s=e.length>0?`Woke ${e.join(", ")}.`:"Woke nobody.";return t.length>0?`${s} Cc: ${t.join(", ")}.`:s}function mn(e){const t=new Set(e.filter(n=>!n.cc).map(n=>n.authorId)),s=[];for(const n of e)n.cc&&!t.has(n.authorId)&&!s.includes(n.authorId)&&s.push(n.authorId);return s}const to=/@([A-Za-z0-9][A-Za-z0-9_.-]*)/g,so=/[.\-_]+$/;function oo(e,t){const s=new Map;for(const{author:o}of t)o.handle&&s.set(o.handle.toLowerCase(),o.handle);const n=[];for(const o of e.matchAll(to)){if(o.index===void 0)continue;const a=o[1].toLowerCase(),r=a.replace(so,""),i=s.get(a)??s.get(r);if(!i)continue;const d=(s.has(a)?a.length:r.length)+1;n.push({offset:o.index,length:d,authorId:i,handle:i})}return n}function ao(e,t){const s=eo(e,oo(e,t)),n=[],o=[];for(const r of s){const i=r.cc?o:n;i.includes(r.handle)||i.push(r.handle)}if(o.length===0)return null;const a=r=>r.map(i=>`@${i}`).join(", ");return`${n.length>0?`Wakes ${a(n)}`:"Wakes nobody"} · cc ${a(o)}`}function ro(e,t){const s=e.mentions.filter(r=>r!==e.authorId);if(s.length===0)return null;const n=new Set(mn(e.mentionSpans??[])),o=r=>{var i,d;return`@${((i=t.get(r))==null?void 0:i.handle)??((d=t.get(r))==null?void 0:d.displayName)??r}`},a=s.filter(r=>{var i;return!n.has(r)&&((i=t.get(r))==null?void 0:i.kind)==="agent"});return no(a.map(o),s.filter(r=>n.has(r)).map(o))}function io({showAuthorHeader:e,headerId:t,displayName:s,time:n,summary:o,contentId:a,summaryId:r,feedPosition:i}){return{...e?{"aria-labelledby":t}:{"aria-label":n.length>0?`${s}, ${n}`:s},"aria-describedby":o===null?a:r,...xe(i)}}const Z=120,co="code block";function lo(e){if(e.length<=Z&&!e.includes("```"))return null;const t=uo(e);return t.length===0?null:t}function uo(e){const t=e.replace(/```[\s\S]*?(?:```|$)/g,` ${co} `).replace(/`([^`]*)`/g,"$1").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^\s{0,3}(?:#{1,6}\s+|>\s?|[-*+]\s+)/gm,"").replace(/^\s{0,3}\|?[\s:|-]*\|[\s:|-]*$/gm," ").replace(/\|/g," ").replace(/[*_~]{1,3}/g,"").replace(/\s+/g," ").trim();if(t.length<=Z)return t;const s=mo(t,Z),n=s.lastIndexOf(" ");return`${(n>Z/2?s.slice(0,n):s).trimEnd()}…`}function mo(e,t){if(typeof Intl.Segmenter=="function"){const n=new Intl.Segmenter(void 0,{granularity:"grapheme"});let o="";for(const{segment:a}of n.segment(e)){if(o.length+a.length>t)break;o+=a}return o}let s="";for(const n of e){if(s.length+n.length>t)break;s+=n}return s}function fo({roomId:e,entry:t,viewerAuthorId:s,reactionFrequents:n,streamStalled:o,isMember:a=!0}){const r=xs(),i=o===!0||!a,d=c.useMemo(()=>t.reactions??[],[t.reactions]),f=c.useMemo(()=>d.filter(b=>Ft(b,s)).map(b=>b.emoji),[d,s]),p=c.useCallback(b=>r.mutate({roomId:e,entryId:t.id,emoji:b,viewerAuthorId:s}),[r,e,t.id,s]),x=c.useMemo(()=>({quick:n,mine:f,onToggle:p,disabled:i}),[n,f,p,i]);return{reactions:d,toggle:p,quickRow:x}}function po({barRef:e,pillsRef:t,hasReactions:s}){return n=>{var a,r;if(n.target!==n.currentTarget)return;const{key:o}=n;if(o==="ArrowDown"&&s){n.preventDefault(),(a=t.current)==null||a.focusFirst();return}o!=="ArrowRight"&&o!=="Enter"||(n.preventDefault(),(r=e.current)==null||r.focusFirst())}}function go(e,t){var x,b;const s=t.body.subjectAuthorId,n=t.body.notice,o=t.kind==="notice"&&n!==void 0&&s!==void 0&&it.includes(n),a=Jt(e,{enabled:o}),r=Je(),i=Be(),d=fe(),f=o?((b=(x=a.data)==null?void 0:x.bindings.find(m=>m.authorId===s))==null?void 0:b.sessionId)??null:null,p=c.useCallback(m=>{m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||(m.preventDefault(),!(f===null||s===void 0)&&ct({queryClient:i,transport:d},e,s).then(u=>{u.kind!=="none"&&r(pe({session:u.kind==="bound"?u.sessionId:f}))}))},[s,r,i,e,f,d]);return c.useMemo(()=>f===null?null:{href:lt({session:f}),onOpen:p},[p,f])}const te="mention",ve="author_id",ho={[te]:[ve]},xo=[te];function yo(e,t){if(!t||t.length===0)return e;const s=bo(e,t);if(s.length===0)return e;let n=e;for(let o=s.length-1;o>=0;o--){const{offset:a,length:r,authorId:i}=s[o],d=n.slice(0,a),f=n.slice(a,a+r),p=n.slice(a+r);n=`${d}<${te} ${ve}="${i}">${f}</${te}>${p}`}return n}function bo(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=[];let o=0;for(const a of s)a.offset<o||a.offset+a.length>e.length||(n.push(a),o=a.offset+a.length);return n}const vo=/(?:^|[^\p{L}\p{N}_])cc$/iu;function ko(e,t){const s=new Set;for(const n of t)n.cc&&vo.test(e.slice(0,n.offset).trimEnd())&&s.add(n.authorId);return s}const wo=new Map,fn=c.createContext(wo);function Io({authors:e,children:t}){return l.jsx(fn.Provider,{value:e,children:t})}function No(e){const t=c.useContext(fn);return e===void 0?void 0:t.get(e)}const De=new WeakMap;function Co(e){const t=De.get(e);if(t)return t;const s=new Map(e.map(n=>[ge(n.projectPath),n.projectPath]));return De.set(e,s),s}function Ro(e){var n;const s=(n=he().data)==null?void 0:n.agents;return c.useMemo(()=>e===void 0||!s?void 0:Co(s).get(e),[s,e])}function pn(e){const{agentRef:t,identity:s,onViewProfile:n}=e,o=He(),a=Ro(o?t:void 0),r=ne(t);return c.useMemo(()=>{if(!o||s.kind!=="agent"||a===void 0)return null;const i={...s,agent:r&&{runtime:r.runtime,...r.model&&{model:r.model}}},d=(f,p={})=>l.jsx(ks,{identity:i,agentPath:a,onViewProfile:n,openOnClick:p.openOnClick??!1,children:f});return{wrap:d,wrapAvatar:f=>d(l.jsx("button",{type:"button",tabIndex:-1,"aria-label":s.displayName,"aria-haspopup":"dialog",className:"focus-ring inline-flex cursor-pointer rounded-sm","data-slot":"room-agent-card-face",children:f}),{openOnClick:!0}),wrapName:f=>d(l.jsx("button",{type:"button","aria-haspopup":"dialog",className:K(f.props.className,"focus-ring cursor-pointer rounded-sm text-left underline-offset-4 hover:underline"),"data-slot":"room-agent-card-name",children:s.displayName}),{openOnClick:!0})}},[o,s,a,r,n])}const Ao={kind:"human",displayName:""};function So(e){return typeof e=="string"?e.replace(/^@/,""):""}function jo({authorId:e,children:t,cc:s,ccWord:n}){const o=No(e),a=ne(o==null?void 0:o.agentRef),{open:r}=Ye(),i=o?qe({record:o,override:a==null?void 0:a.visual}):null,d=o?Qe(o,a==null?void 0:a.memberId):void 0,f=c.useMemo(()=>d===void 0?void 0:()=>r(d),[d,r]),p=i==null?void 0:i.color,x=i==null?void 0:i.emoji,b=i==null?void 0:i.imageUrl,m=c.useMemo(()=>o?{kind:o.kind,displayName:o.displayName,handle:o.handle??void 0,color:p,emoji:x,imageUrl:b,origin:o.origin,agent:a&&{runtime:a.runtime,...a.model&&{model:a.model}}}:null,[o,p,x,b,a]),u=pn({agentRef:o==null?void 0:o.agentRef,identity:m??Ao,onViewProfile:f});if(!o||!m)return l.jsx(_e,{kind:"human",label:So(t),resolved:!1});const w=u?{role:"button",tabIndex:0,"aria-haspopup":"dialog"}:f?{role:"button",tabIndex:0,"aria-label":`View ${o.displayName}’s profile`,onClick:f,onKeyDown:y=>{y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),f())}}:{},h=l.jsx(_e,{kind:o.kind,label:o.displayName,handle:o.handle??void 0,color:o.color,origin:o.origin,resolved:!0,interactive:f!==void 0,...w,cc:s,ccWord:n});return u?u.wrap(h,{openOnClick:!0}):l.jsx(ye,{onViewProfile:f,identity:m,children:h})}function Mo(e,t=new Set,s=new Set){return{mention:n=>{const o=n[ve],a=typeof o=="string"?o:void 0;return!a||!e.has(a)?l.jsx(l.Fragment,{children:n.children}):l.jsx(jo,{authorId:a,cc:t.has(a),ccWord:!s.has(a),children:n.children})}}}function _o({entry:e,authors:t}){const s=c.useMemo(()=>yo(e.body.text,e.mentionSpans),[e.body.text,e.mentionSpans]),n=c.useMemo(()=>{var i;return new Set(((i=e.mentionSpans)==null?void 0:i.map(d=>d.authorId))??[])},[e.mentionSpans]),o=c.useMemo(()=>new Set(mn(e.mentionSpans??[])),[e.mentionSpans]),a=c.useMemo(()=>ko(e.body.text,e.mentionSpans??[]),[e.body.text,e.mentionSpans]),r=c.useMemo(()=>Mo(n,o,a),[n,o,a]);return l.jsx(Io,{authors:t,children:l.jsx(Yt,{content:s,className:"msg-prose",allowedTags:ho,literalTagContent:xo,components:r,renderers:Is})})}function Oo(e){return function(s){return l.jsx(_o,{entry:s,authors:e})}}const gn="the top folder";function Pe(e){return e.slice(e.lastIndexOf("/")+1)}function Eo(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function To(e){return e===""?gn:`${e}/`}function de(e){return e.target!==void 0?e.target===""?gn:e.target:To(Eo(e.paths[0]??""))}function $o(e,t){const s=e.paths[0]??"",n=e.target;switch(e.kind){case"edit":return`${t} edited ${n??s}`;case"add":return`${t} added ${n??s}`;case"upload":return e.pathCount===1?`${t} uploaded ${Pe(s)} to ${de(e)}`:`${t} uploaded ${e.pathCount} files to ${de(e)}`;case"rename":{const o=e.from??"";return n!==void 0?`${t} renamed ${o} to ${n}`:o.endsWith("/")?`${t} renamed ${o}`:`${t} renamed ${o} to ${s}`}case"delete":return n!==void 0?`${t} deleted ${n}`:e.pathCount===1?`${t} deleted ${s}`:`${t} deleted ${e.pathCount} files`;case"from-attachment":return`${t} saved ${Pe(s)} from the chat to ${de(e)}`}}const Do=c.lazy(()=>ut(()=>import("./index-Dhj4iWHB.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(e=>({default:e.SaveToRoomFilesButton})));function Na({roomId:e,entry:t,author:s,authorRef:n,authors:o,viewerAuthorId:a,authorNames:r,reactionFrequents:i,streamStalled:d,isMember:f=!0,grouping:p,orphanedReply:x,answers:b,feedPosition:m,rowId:u,roomKind:g,headsThread:w=!1}){const h=en(t.createdAt),y=c.useMemo(()=>{const L=lo(t.body.text),ie=Bt(t.attachments??[]);if(ie===null)return L;const Ce=L??t.body.text.trim();return Ce.length>0?`${Ce} ${ie}`:ie},[t.body.text,t.attachments]),k=c.useId(),j=`${k}-author`,M=`${k}-content`,R=`${k}-summary`,N=c.useRef(null),S=c.useRef(null),_=c.useRef(null),{reactions:O,toggle:v,quickRow:E}=fo({roomId:e,entry:t,viewerAuthorId:a,reactionFrequents:i,streamStalled:d,isMember:f}),I=ne(n==null?void 0:n.agentRef),{open:A}=Ye(),$=n===void 0?void 0:Qe(n,I==null?void 0:I.memberId),oe=c.useCallback(()=>{$!==void 0&&A($)},[A,$]),B=$===void 0?void 0:oe,U=dt(t.id,t.body.text),q=Es({roomId:e,entry:t,author:n,viewerAuthorId:a,onViewProfile:B,onMakeTodo:U}),C=(n==null?void 0:n.handle)??void 0,V=c.useMemo(()=>({kind:s.kind,displayName:s.displayName,handle:C,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl}),[s.kind,s.displayName,C,s.color,s.emoji,s.imageUrl]),D=pn({agentRef:n==null?void 0:n.agentRef,identity:V,onViewProfile:B}),vn=po({barRef:S,pillsRef:_,hasReactions:O.length>0}),we=c.useCallback(()=>{var L;return(L=N.current)==null?void 0:L.focus()},[]),kn=c.useMemo(()=>Oo(o),[o]),Ie=c.useMemo(()=>g==="channel"&&t.authorId===a?ro(t,o):null,[g,t,a,o]),wn=c.useCallback(L=>l.jsx(c.Suspense,{fallback:null,children:l.jsx(Do,{roomId:e,attachment:L})}),[e]),In=Ws(),ae=t.body.subjectAuthorId??t.authorId,T=o.get(ae),G=ne(T==null?void 0:T.agentRef),Nn=go(e,t),re=Ts(t);if(re.kind==="notice")return l.jsx(js,{entry:t,feedPosition:m,rowId:u,sessionLink:Nn,subjectName:T==null?void 0:T.displayName});if(re.kind==="moment")return l.jsx(_s,{entry:t,moment:re.moment,subject:ae===t.authorId?s:$s(ae,o,In),subjectIdentity:{handle:(T==null?void 0:T.handle)??void 0,origin:T==null?void 0:T.origin,agent:G&&{runtime:G.runtime,...G.model&&{model:G.model}}},feedPosition:m,rowId:u});const Cn=p.position==="first"||p.position==="only",Ne=t.authorId===a;return l.jsxs(P.Root,{ref:N,id:u,position:p.position,className:w?"pb-0":void 0,actions:q,reactions:E,"data-testid":"room-entry",tabIndex:0,...io({showAuthorHeader:Cn,headerId:j,displayName:s.displayName,time:h,summary:y,contentId:M,summaryId:R,feedPosition:m}),onKeyDown:vn,children:[l.jsx(P.Gutter,{author:s,at:t.createdAt,onViewProfile:D?void 0:B,isSelf:Ne,renderAvatar:D==null?void 0:D.wrapAvatar}),l.jsxs(P.Body,{children:[l.jsx(P.Author,{id:j,author:s,at:t.createdAt,origin:n==null?void 0:n.origin,isSelf:Ne,renderName:D==null?void 0:D.wrapName}),x===!0&&l.jsx("p",{"data-testid":"room-entry-orphan",className:"text-muted-foreground text-xs",children:"Replying to an earlier message"}),b!=null&&l.jsx("p",{"data-testid":"room-entry-answers",className:"text-muted-foreground mb-1 truncate text-xs",children:`Answering “${b.excerpt}”`}),t.body.via&&l.jsx(Ut,{via:t.body.via}),l.jsx(P.Content,{id:M,className:"wrap-anywhere [&_pre]:overflow-x-auto [&_pre]:wrap-normal",children:t.body.todo&&n===void 0?l.jsx(Ht,{todoId:t.body.todo.todoId}):t.body.fileChange?l.jsx("p",{"data-testid":"room-entry-file-change",className:"wrap-anywhere",children:$o(t.body.fileChange,(T==null?void 0:T.displayName)??"Somebody")}):kn(t,{rowId:t.id,isStreaming:!1})}),Ie!==null&&l.jsx("p",{"data-testid":"room-entry-reach",className:"text-muted-foreground text-xs",children:Ie}),y!==null&&l.jsx("span",{id:R,className:"hidden",children:y}),l.jsx(P.Attachments,{items:t.attachments??[],renderAction:f?wn:void 0}),l.jsx(P.Reactions,{ref:_,reactions:O,viewerAuthorId:a,names:r,frequents:i,onToggle:v,disabled:d===!0||!f,onExit:we}),l.jsx(P.Actions,{actions:q,reactions:E,barRef:S,onExit:we})]})]})}const Ca={reactions:!0,threads:!0,runWith:!1,attachments:!0,mentions:!0,streamHealth:!0,presence:!0,turnStatus:!1,asks:!0};function Po(e){const t=fe(),[s,n]=c.useState([]),o=c.useRef(new Map),a=c.useCallback(m=>{const u=m.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));n(g=>[...g,...u])},[]),r=c.useCallback(m=>{o.current.delete(m),n(u=>u.filter(g=>g.id!==m))},[]),i=c.useCallback(m=>{if(!m){o.current.clear(),n([]);return}const u=new Set(m);for(const g of u)o.current.delete(g);n(g=>g.filter(w=>!u.has(w.id)))},[]),d=c.useCallback(m=>{o.current.delete(m),n(u=>u.map(g=>g.id===m&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),f=c.useRef(null),p=Ue({meta:{suppressErrorToast:!0},mutationFn:async m=>{n(h=>h.map(y=>m.some(k=>k.id===y.id)?{...y,status:"uploading"}:y));const u=h=>{n(y=>y.map(k=>k.status==="uploading"?{...k,progress:h.percentage}:k))},g=new AbortController;f.current=g;const w=m.map(h=>h.file);return t.uploadRoomAttachments(e,w,u,g.signal)},onSettled:()=>{f.current=null},onSuccess:(m,u)=>{u.forEach((g,w)=>{const h=m[w];h&&o.current.set(g.id,h.id)}),n(g=>g.map(w=>u.findIndex(y=>y.id===w.id)===-1?w:{...w,status:"uploaded",progress:100}))},onError:m=>{n(u=>u.map(g=>g.status==="uploading"?{...g,status:"error",error:m.message}:g))}}),x=c.useCallback(()=>{var m;(m=f.current)==null||m.abort()},[]),b=c.useCallback(async()=>{const m=s.filter(g=>g.status==="error");if(m.length>0)throw new Error(m.length===1?`${m[0].file.name} didn’t upload. Try again or remove it.`:`${m.length} files didn’t upload. Try again or remove them.`);const u=s.filter(g=>g.status==="pending");return u.length>0&&await p.mutateAsync(u),s.map(g=>o.current.get(g.id)).filter(g=>g!==void 0)},[s,p]);return{pendingFiles:s,addFiles:a,removeFile:r,retryFile:d,clearFiles:i,cancelUpload:x,uploadAndGetIds:b,hasPendingFiles:s.length>0,hasFailedUpload:s.some(m=>m.status==="error"),isUploading:p.isPending}}function Ra(e){const{room:t,threadRootId:s}=e,n=Wt(),o=Kt(),a=Po((t==null?void 0:t.id)??""),r=t!==void 0&&Xe(t.members,t.viewerAuthorId),i=c.useRef({attachments:a,post:n,reply:o,room:t,threadRootId:s});c.useEffect(()=>{i.current={attachments:a,post:n,reply:o,room:t,threadRootId:s}});const d=c.useCallback(y=>i.current.attachments.addFiles(y),[]),f=c.useCallback(y=>i.current.attachments.removeFile(y),[]),p=c.useCallback(y=>i.current.attachments.retryFile(y),[]),x=c.useCallback(()=>i.current.attachments.cancelUpload(),[]),{pendingFiles:b,hasFailedUpload:m,isUploading:u}=a,g=c.useMemo(()=>({staged:b,add:d,remove:f,retry:p,cancel:x,hasFailed:m,isUploading:u,holdsSendWhileUploading:!1}),[b,m,u,d,f,p,x]),w=c.useCallback(async y=>{const{attachments:k,post:j,reply:M,room:R,threadRootId:N}=i.current;if(R===void 0)throw new Error("That room isn’t loaded yet.");if(R.archived)throw new Error("This room is archived.");ee.getState().recordOpened("room",R.id);const S=mt(),_=k.pendingFiles.map(I=>I.file.name),O=k.pendingFiles.map(I=>I.id),v=await k.uploadAndGetIds();k.clearFiles(O);const E=y.parentEntryId??N;if(zt({roomId:R.id,threadRootId:E??null},y.text),E!==void 0){M.mutate({roomId:R.id,rootEntryId:E,text:y.text,clientId:S,attachmentIds:v,attachmentNames:_});return}j.mutate({roomId:R.id,text:y.text,clientId:S,attachmentIds:v,attachmentNames:_})},[]);return{target:c.useMemo(()=>({kind:"room",id:(t==null?void 0:t.id)??"",placeholder:t===void 0?"Message…":s===void 0?`Message ${se(t)}…`:"Reply in this thread…",canSend:t!==void 0&&!t.archived&&r,...t===void 0?{canSendReason:"Still opening this room…"}:t.archived?{canSendReason:"This room is archived. You can read it, but not add to it."}:r?{}:{canSendReason:Ze},send:w,attachments:g}),[t,s,r,g,w]),attachments:a}}const hn=8;function xn(e){if(e==null)return null;const t=e.replace(/\s+/g," ").trim();return t.length===0?null:t}function Lo(e){if(gt(e)){const s=e.unreadCount??0;return s===1?"1 new message":`${s} new messages`}const t=e.working??0;return t>0?t===1?"1 agent working":`${t} agents working`:xn(e.topic)}function Le(e){return{kind:"session",id:e.id,name:pt(e.title),summary:xn(e.lastMessagePreview),lastActivityAt:e.updatedAt,session:e}}function Fo(e){return{kind:e.kind==="dm"?"dm":"channel",id:e.id,name:se(e),summary:Lo(e),lastActivityAt:e.lastActivityAt,room:e}}function Q(e){if(e===void 0)return null;const t=Date.parse(e);return Number.isNaN(t)?null:t}function Bo(e){return e.kind==="session"?Ae("session",e.id):Ae("room",e.id)}function Fe(e,t){const s=[Q(t[Bo(e)]),...e.kind==="session"?[Q(e.session.lastTouchedByYouAt),Q(e.session.userLastMessageAt)]:[]].filter(n=>n!==null);return s.length>0?Math.max(...s):Q(e.lastActivityAt)??Number.NEGATIVE_INFINITY}function Uo(e){return(t,s)=>Fe(s,e)-Fe(t,e)||s.id.localeCompare(t.id)}function Ho(e){const t=new Set;return e.filter(s=>{const n=`${s.kind}:${s.id}`;return t.has(n)?!1:(t.add(n),!0)})}function Wo(e,t){return!(t.has(e.id)||e.unreadCount===null||e.lastActivityAt===e.createdAt)}function Ko({sessions:e,rooms:t,mutedRoomIds:s=new Set,interactions:n={},limit:o=hn}){const{yours:a,spinOffs:r,automated:i}=ft(e),d=Uo(n),f=[...a.map(Le),...t.filter(p=>Wo(p,s)).map(Fo)].sort(d);return{items:Ho(f).slice(0,o),automated:[...r,...i].map(Le).sort(d).slice(0,o)}}const zo=3,qo=yt;function Vo({limit:e=hn,mutedRoomIds:t,enabled:s=!0}={}){var f,p;const n=ht(Math.max(e*zo,qo),{enabled:s}),o=We({enabled:s}),a=xt(),r=(f=n.data)==null?void 0:f.sessions,i=o.data;return{...c.useMemo(()=>Ko({sessions:r??[],rooms:i??[],mutedRoomIds:t,interactions:a,limit:e}),[r,i,t,a,e]),isLoading:s&&(n.isLoading||o.isLoading),warnings:((p=n.data)==null?void 0:p.warnings)??[]}}const Go=6,yn="jump-back-in-listbox";function ke(e){return`jump-back-in-item-${e}`}const Jo='[role="combobox"]';function W(e){return e instanceof Element&&e.matches(Jo)}function Yo({value:e,yieldToPalette:t=!1,enabled:s=!0}){const n=Je(),o=bt(),[a,r]=c.useState(!1),[i,d]=c.useState({stamp:"",index:0}),[f,p]=c.useState(!1),[x,b]=c.useState(!1);e.length>0&&!x&&b(!0);const m=c.useRef(!1);c.useEffect(()=>{m.current=!0},[]);const{data:u}=he({enabled:s}),g=c.useMemo(()=>((u==null?void 0:u.agents)??[]).map(C=>C.projectPath),[u]),{data:w}=Ve(g,{enabled:s}),h=c.useMemo(()=>w??{},[w]),y=c.useMemo(()=>vt(g,h),[g,h]),k=c.useMemo(()=>new Map(g.map(C=>[ge(C),C])),[g]),j=c.useCallback(C=>kt({room:C,agentsByPath:h,pathByAgentRef:k}),[h,k]),M=c.useMemo(()=>wt(o.muted),[o.muted]),{items:R}=Vo({mutedRoomIds:M,enabled:s}),N=c.useMemo(()=>R.slice(0,Go),[R]),S=s&&a&&!f&&!x&&!t&&e.length===0&&N.length>0,_=`${S}:${N.length}`,O=i.stamp===_?i.index:0,v=c.useCallback(C=>{m.current&&W(C.target)&&(p(!1),b(!1),r(!0))},[]),E=c.useCallback(C=>{W(C.target)&&r(!0)},[]),I=c.useCallback(C=>{W(C.target)&&r(!1)},[]),A=c.useCallback(C=>{N.length!==0&&d(V=>{const D=V.stamp===_?V.index:0;return{stamp:_,index:(D+C+N.length)%N.length}})},[N.length,_]),$=c.useCallback(()=>A(1),[A]),oe=c.useCallback(()=>A(-1),[A]),B=c.useCallback(()=>{p(!0)},[]),U=c.useCallback(C=>{if(p(!0),C.kind==="session"){C.session.cwd&&ee.getState().recordOpened("agent",C.session.cwd),n(pe({dir:C.session.cwd??void 0,session:C.session.id}));return}ee.getState().recordOpened("room",C.room.id),n({...It.channels(),search:{id:C.room.id}})},[n]),q=c.useCallback(()=>{const C=N[O];!S||!C||U(C)},[S,N,O,U]);return{isOpen:S,hasRows:N.length>0,rows:N,agents:h,displayNames:y,visualOf:j,selectedIndex:O,activeDescendantId:S&&N[O]!==void 0?ke(O):void 0,listboxId:S?yn:void 0,handleFocus:v,handleBlur:I,handlePointerDown:E,moveDown:$,moveUp:oe,selectHighlighted:q,selectRow:U,dismiss:B}}function bn({mark:e,label:t,title:s,summary:n,lastActivityAt:o,index:a,isSelected:r,now:i,onSelect:d}){const f=c.useMemo(()=>Number.isNaN(Date.parse(o))?null:Mt(o),[o,i]);return l.jsxs("div",{id:ke(a),role:"option","aria-selected":r,"data-selected":r,title:s,onClick:d,className:"data-[selected=true]:bg-accent hover:bg-muted flex cursor-pointer items-start gap-2 rounded-md px-2 py-1.5 transition-colors duration-100",children:[l.jsx("span",{className:"mt-px flex shrink-0 items-center",children:e}),l.jsxs("span",{className:"flex min-w-0 flex-1 flex-col",children:[l.jsxs("span",{className:"flex w-full items-center gap-1.5",children:[l.jsx("span",{className:"text-foreground min-w-0 flex-1 truncate text-sm",children:t}),f!==null&&l.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0",children:f})]}),n!==null&&l.jsx("span",{className:"text-muted-foreground/70 text-2xs truncate",children:n})]})]})}function Qo({item:e,agent:t,displayName:s,index:n,isSelected:o,now:a,onSelect:r}){const i=Ct(t,e.session.cwd??s);return l.jsx(bn,{mark:l.jsx(Rt,{color:i.color,emoji:i.emoji,size:"xs"}),label:e.name,title:`${s} · ${e.name}`,summary:e.summary,lastActivityAt:e.lastActivityAt,index:n,isSelected:o,now:a,onSelect:r})}function Xo({item:e,visual:t,index:s,isSelected:n,now:o,onSelect:a}){return l.jsx(bn,{mark:l.jsx(St,{room:e.room,participants:e.room.participants,visuals:jt(t)}),label:l.jsx(At,{room:e.room}),title:e.summary===null?e.name:`${e.name} · ${e.summary}`,summary:e.summary,lastActivityAt:e.lastActivityAt,index:s,isSelected:n,now:o,onSelect:a})}function Zo({rows:e,selectedIndex:t,agents:s={},displayNames:n={},visualOf:o,onSelect:a}){const r=Nt(6e4);return c.useEffect(()=>{var i,d;(d=(i=document.getElementById(ke(t)))==null?void 0:i.scrollIntoView)==null||d.call(i,{block:"nearest"})},[t]),l.jsx(Ge.div,{initial:{opacity:0,scale:.98,y:4},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.98,y:4},transition:{duration:.15,ease:[0,0,.2,1]},className:"bg-popover max-h-80 overflow-hidden rounded-lg border shadow-lg",onMouseDown:i=>i.preventDefault(),children:l.jsx("div",{id:yn,role:"listbox","aria-label":"Jump back in",className:"max-h-72 overflow-y-auto p-1.5",children:e.map((i,d)=>{var f;return i.kind==="session"?l.jsx(Qo,{item:i,agent:i.session.cwd&&s[i.session.cwd]||null,displayName:i.session.cwd&&n[i.session.cwd]||((f=i.session.cwd)==null?void 0:f.split("/").pop())||"Agent",index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`session-${i.id}`):l.jsx(Xo,{item:i,visual:o(i.room),index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`room-${i.id}`)})})})}function Aa({room:e,threadRootId:t,focusOnMount:s,offerJumpBackIn:n,onFocusChange:o,attachments:a}){const r=t===void 0?e.id:ze(e.id,t),i=_t(r),{target:d}=qt(),f=Ot(),p=Et(r),x=c.useRef(null),b=Xe(e.members,e.viewerAuthorId),m=c.useRef(!1),u=Ys({members:e.members,viewerAuthorId:e.viewerAuthorId,text:i}),g=c.useMemo(()=>e.kind==="channel"?ao(i,e.members):null,[e.kind,e.members,i]),w=n===!0,h=Yo({value:i,yieldToPalette:u.isOpen,enabled:w}),y=c.useRef(p);c.useEffect(()=>{var v;p!==y.current&&(y.current=p,(v=x.current)==null||v.focus())},[p]),c.useEffect(()=>{var v;s===!0&&((v=x.current)==null||v.focusUnlessTouch())},[]);const k=c.useCallback(v=>X.getState().set(r,v),[r]),[j,M]=c.useState(null);c.useLayoutEffect(()=>{var v;j!==null&&((v=x.current)==null||v.focusAt(j.pos))},[j]);const R=c.useCallback(v=>{v&&(k(v.value),M({pos:v.cursorPos}))},[k]),N=c.useCallback(v=>R(u.selectRow(v)),[u,R]),S=c.useCallback(()=>R(u.selectHighlighted()),[u,R]),_=()=>{if(d===null||!d.canSend||m.current)return;u.dismiss();const v=X.getState().take(r).trim();if(v==="")return;const E=a.pendingFiles.length>0;E&&(m.current=!0),d.send({text:v}).catch(()=>{const I=X.getState(),A=I.drafts[r]??"";I.set(r,A===""?v:`${v}
|
|
40
40
|
${A}`)}).finally(()=>{E&&(m.current=!1)})};if(!b)return l.jsxs("div",{className:"flex items-center justify-between gap-3 border-t px-4 py-3",children:[l.jsx("p",{className:"text-muted-foreground text-sm",children:Ze}),l.jsx(ue,{type:"button",size:"sm",variant:"outline",disabled:f.isPending,onClick:()=>f.mutate({roomId:e.id,authorId:e.viewerAuthorId},{onSuccess:()=>Ke.success(`You joined ${se(e)}`)}),children:Tt})]});const O=l.jsx(Vt.Composer,{inputRef:x,value:i,onChange:v=>{k(v),u.noteTextChange(v)},onSubmit:_,footer:g?l.jsx("p",{"data-slot":"cc-line",className:"text-muted-foreground px-3 pb-2 text-xs",children:g}):void 0,head:l.jsx("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"sr-only",children:u.isOpen&&u.rows.length===0?"No one by that name.":""}),mentionPicker:l.jsx(Se,{children:u.isOpen&&l.jsx(Qs,{rows:u.rows,selectedIndex:u.selectedIndex,onSelect:N})}),overlays:l.jsx(l.Fragment,{children:l.jsx(Se,{children:h.isOpen&&l.jsx(Zo,{rows:h.rows,selectedIndex:h.selectedIndex,agents:h.agents,displayNames:h.displayNames,visualOf:h.visualOf,onSelect:h.selectRow})})}),input:{onCursorChange:u.handleCursorChange,isStreaming:!1,isPaletteOpen:u.isOpen||h.isOpen,paletteHasResults:h.isOpen?h.hasRows:u.hasSelectableRows,onArrowUp:h.isOpen?h.moveUp:u.moveUp,onArrowDown:h.isOpen?h.moveDown:u.moveDown,onCommandSelect:h.isOpen?h.selectHighlighted:S,onEscape:h.isOpen?h.dismiss:u.dismiss,tabPicks:!h.isOpen,onClear:()=>{k(""),u.dismiss()},activeDescendantId:h.isOpen?h.activeDescendantId:u.activeDescendantId,paletteListboxId:h.isOpen?h.listboxId:u.listboxId,contextKey:r,...a.hasFailedUpload?{canSubmitReason:"A file didn’t upload. Try it again or remove it, then send."}:{}}});return!w&&o===void 0?O:l.jsx("section",{className:"flex flex-col","data-testid":$t.homeComposer,onFocus:v=>{h.handleFocus(v),W(v.target)&&(o==null||o(!0))},onBlur:v=>{h.handleBlur(v),W(v.target)&&(o==null||o(!1))},onPointerDown:h.handlePointerDown,children:O})}export{wa as A,Aa as C,ye as I,Ca as R,ha as a,Na as b,$s as c,xa as d,Ia as e,ka as f,ya as g,Ds as h,ga as i,bs as j,pa as k,Ps as l,Ls as m,Fs as n,ba as o,va as p,W as q,ys as r,z as t,Ra as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as m,a5 as x,
|
|
1
|
+
import{O as m,a5 as x,a_ as k,r as v,j as t,B as d,G as p,dR as R}from"./index-B2JoVHek.js";import{u as y}from"./use-update-config-BhLEnZe5.js";import{I as O}from"./inline-code-rYW-kJLB.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{j as J,r as T}from"./index-BR1m9FON.js";import{R as lt}from"./index-Cf4Gtxf9.js";import{o as Q,E as B,q as ne,C as Ge,S as G,r as Ne,u as Fe,v as st,w as H,x as M,F as Ve,R as N,W as Y,G as oe,y as ot,z as at,A as je,B as Ie,H as ft,V as dt,m as ht,n as ct}from"./index-D5Qmx1JR.js";class v{constructor(e,n,l,i){this.fromA=e,this.toA=n,this.fromB=l,this.toB=i}offset(e,n=e){return new v(this.fromA+e,this.toA+e,this.fromB+n,this.toB+n)}}function y(t,e,n,l,i,r){if(t==l)return[];let s=fe(t,e,n,l,i,r),o=de(t,e+s,n,l,i+s,r);e+=s,n-=o,i+=s,r-=o;let f=n-e,h=r-i;if(!f||!h)return[new v(e,n,i,r)];if(f>h){let d=t.slice(e,n).indexOf(l.slice(i,r));if(d>-1)return[new v(e,e+d,i,i),new v(e+d+h,n,r,r)]}else if(h>f){let d=l.slice(i,r).indexOf(t.slice(e,n));if(d>-1)return[new v(e,e,i,i+d),new v(n,n,i+d+f,r)]}if(f==1||h==1)return[new v(e,n,i,r)];let a=He(t,e,n,l,i,r);if(a){let[d,c,u]=a;return y(t,e,d,l,i,c).concat(y(t,d+u,n,l,c+u,r))}return ut(t,e,n,l,i,r)}let I=1e9,U=0,ae=!1;function ut(t,e,n,l,i,r){let s=n-e,o=r-i;if(I<1e9&&Math.min(s,o)>I*16||U>0&&Date.now()>U)return Math.min(s,o)>I*64?[new v(e,n,i,r)]:ge(t,e,n,l,i,r);let f=Math.ceil((s+o)/2);ee.reset(f),te.reset(f);let h=(u,m)=>t.charCodeAt(e+u)==l.charCodeAt(i+m),a=(u,m)=>t.charCodeAt(n-u-1)==l.charCodeAt(r-m-1),d=(s-o)%2!=0?te:null,c=d?null:ee;for(let u=0;u<f;u++){if(u>I||U>0&&!(u&63)&&Date.now()>U)return ge(t,e,n,l,i,r);let m=ee.advance(u,s,o,f,d,!1,h)||te.advance(u,s,o,f,c,!0,a);if(m)return mt(t,e,n,e+m[0],l,i,r,i+m[1])}return[new v(e,n,i,r)]}class Ue{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let n=0;n<this.len;n++)this.vec[n]=-1;this.vec[e+1]=0,this.start=this.end=0}advance(e,n,l,i,r,s,o){for(let f=-e+this.start;f<=e-this.end;f+=2){let h=i+f,a=f==-e||f!=e&&this.vec[h-1]<this.vec[h+1]?this.vec[h+1]:this.vec[h-1]+1,d=a-f;for(;a<n&&d<l&&o(a,d);)a++,d++;if(this.vec[h]=a,a>n)this.end+=2;else if(d>l)this.start+=2;else if(r){let c=i+(n-l)-f;if(c>=0&&c<this.len&&r.vec[c]!=-1)if(s){let u=r.vec[c];if(u>=n-a)return[u,i+u-c]}else{let u=n-r.vec[c];if(a>=u)return[a,d]}}}return null}}const ee=new Ue,te=new Ue;function mt(t,e,n,l,i,r,s,o){let f=!1;return!F(t,l)&&++l==n&&(f=!0),!F(i,o)&&++o==s&&(f=!0),f?[new v(e,n,r,s)]:y(t,e,l,i,r,o).concat(y(t,l,n,i,o,s))}function We(t,e){let n=1,l=Math.min(t,e);for(;n<l;)n=n<<1;return n}function fe(t,e,n,l,i,r){if(e==n||e==r||t.charCodeAt(e)!=l.charCodeAt(i))return 0;let s=We(n-e,r-i);for(let o=e,f=i;;){let h=o+s,a=f+s;if(h>n||a>r||t.slice(o,h)!=l.slice(f,a)){if(s==1)return o-e-(F(t,o)?0:1);s=s>>1}else{if(h==n||a==r)return h-e;o=h,f=a}}}function de(t,e,n,l,i,r){if(e==n||i==r||t.charCodeAt(n-1)!=l.charCodeAt(r-1))return 0;let s=We(n-e,r-i);for(let o=n,f=r;;){let h=o-s,a=f-s;if(h<e||a<i||t.slice(h,o)!=l.slice(a,f)){if(s==1)return n-o-(F(t,o)?0:1);s=s>>1}else{if(h==e||a==i)return n-h;o=h,f=a}}}function re(t,e,n,l,i,r,s,o){let f=l.slice(i,r),h=null;for(;;){if(h||s<o)return h;for(let a=e+s;;){F(t,a)||a++;let d=a+s;if(F(t,d)||(d+=d==a+1?1:-1),d>=n)break;let c=t.slice(a,d),u=-1;for(;(u=f.indexOf(c,u+1))!=-1;){let m=fe(t,d,n,l,i+u+c.length,r),p=de(t,e,a,l,i,i+u),g=c.length+m+p;(!h||h[2]<g)&&(h=[a-p,i+u-p,g])}a=d}if(o<0)return h;s=s>>1}}function He(t,e,n,l,i,r){let s=n-e,o=r-i;if(s<o){let f=He(l,i,r,t,e,n);return f&&[f[1],f[0],f[2]]}return s<4||o*2<s?null:re(t,e,n,l,i,r,Math.floor(s/4),-1)}function ge(t,e,n,l,i,r){ae=!0;let s=n-e,o=r-i,f;if(s<o){let c=re(l,i,r,t,e,n,Math.floor(s/6),50);f=c&&[c[1],c[0],c[2]]}else f=re(t,e,n,l,i,r,Math.floor(o/6),50);if(!f)return[new v(e,n,i,r)];let[h,a,d]=f;return y(t,e,h,l,i,a).concat(y(t,h+d,n,l,a+d,r))}function ze(t,e){for(let n=1;n<t.length;n++){let l=t[n-1],i=t[n];l.toA>i.fromA-e&&l.toB>i.fromB-e&&(t[n-1]=new v(l.fromA,i.toA,l.fromB,i.toB),t.splice(n--,1))}}function gt(t,e,n){for(;;){ze(n,1);let l=!1;for(let i=0;i<n.length;i++){let r=n[i],s,o;(s=fe(t,r.fromA,r.toA,e,r.fromB,r.toB))&&(r=n[i]=new v(r.fromA+s,r.toA,r.fromB+s,r.toB)),(o=de(t,r.fromA,r.toA,e,r.fromB,r.toB))&&(r=n[i]=new v(r.fromA,r.toA-o,r.fromB,r.toB-o));let f=r.toA-r.fromA,h=r.toB-r.fromB;if(f&&h)continue;let a=r.fromA-(i?n[i-1].toA:0),d=(i<n.length-1?n[i+1].fromA:t.length)-r.toA;if(!a||!d)continue;let c=f?t.slice(r.fromA,r.toA):e.slice(r.fromB,r.toB);a<=c.length&&t.slice(r.fromA-a,r.fromA)==c.slice(c.length-a)?(n[i]=new v(r.fromA-a,r.toA-a,r.fromB-a,r.toB-a),l=!0):d<=c.length&&t.slice(r.toA,r.toA+d)==c.slice(0,d)&&(n[i]=new v(r.fromA+d,r.toA+d,r.fromB+d,r.toB+d),l=!0)}if(!l)break}return n}function pt(t,e,n){for(let l=0,i=0;i<t.length;i++){let r=t[i],s=r.toA-r.fromA,o=r.toB-r.fromB;if(s&&o||s>3||o>3){let f=i==t.length-1?e.length:t[i+1].fromA,h=r.fromA-l,a=f-r.toA,d=Ce(e,r.fromA,h),c=pe(e,r.toA,a),u=r.fromA-d,m=c-r.toA;if((!s||!o)&&u&&m){let p=Math.max(s,o),[g,C,S]=s?[e,r.fromA,r.toA]:[n,r.fromB,r.toB];p>u&&e.slice(d,r.fromA)==g.slice(S-u,S)?(r=t[i]=new v(d,d+s,r.fromB-u,r.toB-u),d=r.fromA,c=pe(e,r.toA,f-r.toA)):p>m&&e.slice(r.toA,c)==g.slice(C,C+m)&&(r=t[i]=new v(c-s,c,r.fromB+m,r.toB+m),c=r.toA,d=Ce(e,r.fromA,r.fromA-l)),u=r.fromA-d,m=c-r.toA}if(u||m)r=t[i]=new v(r.fromA-u,r.toA+m,r.fromB-u,r.toB+m);else if(s){if(!o){let p=Ae(e,r.fromA,r.toA),g,C=p<0?-1:ve(e,r.toA,r.fromA);p>-1&&(g=p-r.fromA)<=a&&e.slice(r.fromA,p)==e.slice(r.toA,r.toA+g)?r=t[i]=r.offset(g):C>-1&&(g=r.toA-C)<=h&&e.slice(r.fromA-g,r.fromA)==e.slice(C,r.toA)&&(r=t[i]=r.offset(-g))}}else{let p=Ae(n,r.fromB,r.toB),g,C=p<0?-1:ve(n,r.toB,r.fromB);p>-1&&(g=p-r.fromB)<=a&&n.slice(r.fromB,p)==n.slice(r.toB,r.toB+g)?r=t[i]=r.offset(g):C>-1&&(g=r.toB-C)<=h&&n.slice(r.fromB-g,r.fromB)==n.slice(C,r.toB)&&(r=t[i]=r.offset(-g))}}l=r.toA}return ze(t,3),t}let E;try{E=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch{}function Pe(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function qe(t,e){if(e==t.length)return 0;let n=t.charCodeAt(e);return n<192?Pe(n)?1:0:E?!Je(n)||e==t.length-1?E.test(String.fromCharCode(n))?1:0:E.test(t.slice(e,e+2))?2:0:0}function _e(t,e){if(!e)return 0;let n=t.charCodeAt(e-1);return n<192?Pe(n)?1:0:E?!Ke(n)||e==1?E.test(String.fromCharCode(n))?1:0:E.test(t.slice(e-2,e))?2:0:0}const $e=8;function pe(t,e,n){if(e==t.length||!_e(t,e))return e;for(let l=e,i=e+n,r=0;r<$e;r++){let s=qe(t,l);if(!s||l+s>i)return l;l+=s}return e}function Ce(t,e,n){if(!e||!qe(t,e))return e;for(let l=e,i=e-n,r=0;r<$e;r++){let s=_e(t,l);if(!s||l-s<i)return l;l-=s}return e}function ve(t,e,n){for(;e!=n;e--)if(t.charCodeAt(e-1)==10)return e;return-1}function Ae(t,e,n){for(;e!=n;e++)if(t.charCodeAt(e)==10)return e;return-1}const Je=t=>t>=55296&&t<=56319,Ke=t=>t>=56320&&t<=57343;function F(t,e){return!e||e==t.length||!Je(t.charCodeAt(e-1))||!Ke(t.charCodeAt(e))}function Ct(t,e,n){var l;let i=n==null?void 0:n.override;return i?i(t,e):(I=((l=n==null?void 0:n.scanLimit)!==null&&l!==void 0?l:1e9)>>1,U=n!=null&&n.timeout?Date.now()+n.timeout:0,ae=!1,gt(t,e,y(t,0,t.length,e,0,e.length)))}function Qe(){return!ae}function Ye(t,e,n){return pt(Ct(t,e,n),t,e)}const b=Ve.define({combine:t=>t[0]}),ie=G.define(),Ze=Ve.define(),k=H.define({create(t){return null},update(t,e){for(let n of e.effects)n.is(ie)&&(t=n.value);for(let n of e.state.facet(Ze))t=n(t,e);return t}});function vt(t){let e=t.field(k,!1);if(!e)return null;let n=t.facet(b);return{chunks:e,side:n?n.side:null}}class O{constructor(e,n,l,i,r,s=!0){this.changes=e,this.fromA=n,this.toA=l,this.fromB=i,this.toB=r,this.precise=s}offset(e,n){return e||n?new O(this.changes,this.fromA+e,this.toA+e,this.fromB+n,this.toB+n,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,n,l){let i=Ye(e.toString(),n.toString(),l);return Xe(i,e,n,0,0,Qe())}static updateA(e,n,l,i,r){return be(Be(e,i,!0,l.length),e,n,l,r)}static updateB(e,n,l,i,r){return be(Be(e,i,!1,n.length),e,n,l,r)}}function xe(t,e,n,l){let i=n.lineAt(t),r=l.lineAt(e);return i.to==t&&r.to==e&&t<n.length&&e<l.length?[t+1,e+1]:[i.from,r.from]}function we(t,e,n,l){let i=n.lineAt(t),r=l.lineAt(e);return i.from==t&&r.from==e?[t,e]:[i.to+1,r.to+1]}function Xe(t,e,n,l,i,r){let s=[];for(let o=0;o<t.length;o++){let f=t[o],[h,a]=xe(f.fromA+l,f.fromB+i,e,n),[d,c]=we(f.toA+l,f.toB+i,e,n),u=[f.offset(-h+l,-a+i)];for(;o<t.length-1;){let m=t[o+1],[p,g]=xe(m.fromA+l,m.fromB+i,e,n);if(p>d+1&&g>c+1)break;u.push(m.offset(-h+l,-a+i)),[d,c]=we(m.toA+l,m.toB+i,e,n),o++}s.push(new O(u,h,Math.max(h,d),a,Math.max(a,c),r))}return s}const z=1e3;function ke(t,e,n,l){let i=0,r=t.length;for(;;){if(i==r){let a=0,d=0;i&&({toA:a,toB:d}=t[i-1]);let c=e-(n?a:d);return[a+c,d+c]}let s=i+r>>1,o=t[s],[f,h]=n?[o.fromA,o.toA]:[o.fromB,o.toB];if(f>e)r=s;else if(h<=e)i=s+1;else return l?[o.fromA,o.fromB]:[o.toA,o.toB]}}function Be(t,e,n,l){let i=[];return e.iterChangedRanges((r,s,o,f)=>{let h=0,a=n?e.length:l,d=0,c=n?l:e.length;r>z&&([h,d]=ke(t,r-z,n,!0)),s<e.length-z&&([a,c]=ke(t,s+z,n,!1));let u=f-o-(s-r),m,[p,g]=n?[u,0]:[0,u];i.length&&(m=i[i.length-1]).toA>=h?i[i.length-1]={fromA:m.fromA,fromB:m.fromB,toA:a,toB:c,diffA:m.diffA+p,diffB:m.diffB+g}:i.push({fromA:h,toA:a,fromB:d,toB:c,diffA:p,diffB:g})}),i}function be(t,e,n,l,i){if(!t.length)return e;let r=[];for(let s=0,o=0,f=0,h=0;;s++){let a=s==t.length?null:t[s],d=a?a.fromA+o:n.length,c=a?a.fromB+f:l.length;for(;h<e.length;){let g=e[h];if(a&&(g.toA+o>d||g.toB+f>c))break;r.push(g.offset(o,f)),h++}if(!a)break;let u=a.toA+o+a.diffA,m=a.toB+f+a.diffB,p=Ye(n.sliceString(d,u),l.sliceString(c,m),i);for(let g of Xe(p,n,l,d,c,Qe()))r.push(g);for(o+=a.diffA,f+=a.diffB;h<e.length;){let g=e[h];if(g.fromA+o>u&&g.fromB+f>m)break;h++}}return r}const et={scanLimit:500},Z=dt.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=Le(t))}update(t){(t.docChanged||t.viewportChanged||At(t.startState,t.state)||xt(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=Le(t.view))}},{decorations:t=>t.deco}),P=Q.low(je({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(Z))===null||e===void 0?void 0:e.gutter)||Ie.empty}}));function At(t,e){return t.field(k,!1)!=e.field(k,!1)}function xt(t,e){return t.facet(b)!=e.facet(b)}const Me=M.line({class:"cm-changedLine"}),tt=M.mark({class:"cm-changedText"}),wt=M.mark({tagName:"ins",class:"cm-insertedLine"}),kt=M.mark({tagName:"del",class:"cm-deletedLine"}),De=new class extends oe{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function Bt(t,e,n,l,i,r){let s=n?t.fromA:t.fromB,o=n?t.toA:t.toB,f=0;if(s!=o){i.add(s,s,Me),i.add(s,o,n?kt:wt),r&&r.add(s,s,De);for(let h=e.iterRange(s,o-1),a=s;!h.next().done;){if(h.lineBreak){a++,i.add(a,a,Me),r&&r.add(a,a,De);continue}let d=a+h.value.length;if(l)for(;f<t.changes.length;){let c=t.changes[f],u=s+(n?c.fromA:c.fromB),m=s+(n?c.toA:c.toB),p=Math.max(a,u),g=Math.min(d,m);if(p<g&&i.add(p,g,tt),m<d)f++;else break}a=d}}}function Le(t){let e=t.state.field(k),{side:n,highlightChanges:l,markGutter:i,overrideChunk:r}=t.state.facet(b),s=n=="a",o=new N,f=i?new N:null,{from:h,to:a}=t.viewport;for(let d of e){if((s?d.fromA:d.fromB)>=a)break;(s?d.toA:d.toB)>h&&(!r||!r(t.state,d,o,f))&&Bt(d,t.state.doc,s,l,o,f)}return{deco:o.finish(),gutter:f&&f.finish()}}class q extends Y{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}const K=G.define({map:(t,e)=>t.map(e)}),W=H.define({create:()=>M.none,update:(t,e)=>{for(let n of e.effects)if(n.is(K))return n.value;return t.map(e.changes)},provide:t=>B.decorations.from(t)}),_=.01;function Se(t,e){if(t.size!=e.size)return!1;let n=t.iter(),l=e.iter();for(;n.value;){if(n.from!=l.from||Math.abs(n.value.spec.widget.height-l.value.spec.widget.height)>1)return!1;n.next(),l.next()}return!0}function bt(t,e,n){let l=new N,i=new N,r=t.state.field(W).iter(),s=e.state.field(W).iter(),o=0,f=0,h=0,a=0,d=t.viewport,c=e.viewport;for(let g=0;;g++){let C=g<n.length?n[g]:null,S=C?C.fromA:t.state.doc.length,R=C?C.fromB:e.state.doc.length;if(o<S){let x=t.lineBlockAt(o).top+h,D=e.lineBlockAt(f).top+a,w=x-D;w<-_?(h-=w,l.add(o,o,M.widget({widget:new q(-w),block:!0,side:-1}))):w>_&&(a+=w,i.add(f,f,M.widget({widget:new q(w),block:!0,side:-1})))}if(S>o+1e3&&o<d.from&&S>d.from&&f<c.from&&R>c.from){let x=Math.min(d.from-o,c.from-f);o+=x,f+=x,g--}else if(C)o=C.toA,f=C.toB;else break;for(;r.value&&r.from<o;)h-=r.value.spec.widget.height,r.next();for(;s.value&&s.from<f;)a-=s.value.spec.widget.height,s.next()}for(;r.value;)h-=r.value.spec.widget.height,r.next();for(;s.value;)a-=s.value.spec.widget.height,s.next();let u=t.contentHeight+h-(e.contentHeight+a);u<_?l.add(t.state.doc.length,t.state.doc.length,M.widget({widget:new q(-u),block:!0,side:1})):u>_&&i.add(e.state.doc.length,e.state.doc.length,M.widget({widget:new q(u),block:!0,side:1}));let m=l.finish(),p=i.finish();Se(m,t.state.field(W))||t.dispatch({effects:K.of(m)}),Se(p,e.state.field(W))||e.dispatch({effects:K.of(p)})}const le=G.define({map:(t,e)=>e.mapPos(t)});class Mt extends Y{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let n=document.createElement("div");return n.className="cm-collapsedLines",n.textContent=e.state.phrase("$ unchanged lines",this.lines),n.addEventListener("click",l=>{let i=e.posAtDOM(l.target);e.dispatch({effects:le.of(i)});let{side:r,sibling:s}=e.state.facet(b);s&&s().dispatch({effects:le.of(Dt(i,e.state.field(k),r=="a"))})}),n}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}}function Dt(t,e,n){let l=0,i=0;for(let r=0;;r++){let s=r<e.length?e[r]:null;if(!s||(n?s.fromA:s.fromB)>=t)return i+(t-l);[l,i]=n?[s.toA,s.toB]:[s.toB,s.toA]}}const Lt=H.define({create(t){return M.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(le)&&(t=t.update({filter:l=>l!=n.value}));if(t.size&&e.state.field(k)!=e.startState.field(k,!1)){let n=e.state.facet(b).side=="a",l=[];for(let i of e.state.field(k))t.between(n?i.fromA:i.fromB,n?i.toA:i.toB,r=>{l.push(r)});l.length&&(t=t.update({filter:i=>l.indexOf(i)<0}))}return t},provide:t=>B.decorations.from(t)});function se({margin:t=3,minSize:e=4}){return Lt.init(n=>St(n,t,e))}function St(t,e,n){let l=new N,i=t.facet(b).side=="a",r=t.field(k),s=1;for(let o=0;;o++){let f=o<r.length?r[o]:null,h=o?s+e:1,a=f?t.doc.lineAt(i?f.fromA:f.fromB).number-1-e:t.doc.lines,d=a-h+1;if(d>=n&&l.add(t.doc.line(h).from,t.doc.line(a).to,M.replace({widget:new Mt(d),block:!0})),!f)break;s=t.doc.lineAt(Math.min(t.doc.length,i?f.toA:f.toB)).number}return l.finish()}const Ot=B.styleModule.of(new st({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),nt=B.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"⦚"',marginInlineEnd:"7px"},"&:after":{content:'"⦚"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),Oe=new Ge,$=new Ge;class Et{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||et;let n=[Q.low(Z),nt,Ot,W,B.updateListener.of(d=>{this.measuring<0&&(d.heightChanged||d.viewportChanged)&&!d.transactions.some(c=>c.effects.some(u=>u.is(K)))&&this.measure()})],l=[b.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&l.push(P);let i=ne.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],B.editorAttributes.of({class:"cm-merge-a"}),$.of(l),n]}),r=[b.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&r.push(P);let s=ne.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],B.editorAttributes.of({class:"cm-merge-b"}),$.of(r),n]});this.chunks=O.build(i.doc,s.doc,this.diffConf);let o=[k.init(()=>this.chunks),Oe.of(e.collapseUnchanged?se(e.collapseUnchanged):[])];i=i.update({effects:G.appendConfig.of(o)}).state,s=s.update({effects:G.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let f=e.orientation||"a-b",h=document.createElement("div");h.className="cm-mergeViewEditor";let a=document.createElement("div");a.className="cm-mergeViewEditor",this.editorDOM.appendChild(f=="a-b"?h:a),this.editorDOM.appendChild(f=="a-b"?a:h),this.a=new B({state:i,parent:h,root:e.root,dispatchTransactions:d=>this.dispatch(d,this.a)}),this.b=new B({state:s,parent:a,root:e.root,dispatchTransactions:d=>this.dispatch(d,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,n){if(e.some(l=>l.docChanged)){let l=e[e.length-1],i=e.reduce((s,o)=>s.compose(o.changes),Ne.empty(e[0].startState.doc.length));this.chunks=n==this.a?O.updateA(this.chunks,l.newDoc,this.b.state.doc,i,this.diffConf):O.updateB(this.chunks,this.a.state.doc,l.newDoc,i,this.diffConf),n.update([...e,l.state.update({effects:ie.of(this.chunks)})]);let r=n==this.a?this.b:this.a;r.update([r.state.update({effects:ie.of(this.chunks)})]),this.scheduleMeasure()}else n.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let r=e.orientation!="b-a";if(r!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let s=this.a.dom.parentNode,o=this.b.dom.parentNode;s.remove(),o.remove(),this.editorDOM.insertBefore(r?s:o,this.editorDOM.firstChild),this.editorDOM.appendChild(r?o:s),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let r=!!this.revertDOM,s=this.revertToA,o=this.renderRevert;"revertControls"in e&&(r=!!e.revertControls,s=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(r,s,o)}let n="highlightChanges"in e,l="gutter"in e,i="collapseUnchanged"in e;if(n||l||i){let r=[],s=[];if(n||l){let o=this.a.state.facet(b),f=l?e.gutter!==!1:o.markGutter,h=n?e.highlightChanges!==!1:o.highlightChanges;r.push($.reconfigure([b.of({side:"a",sibling:()=>this.b,highlightChanges:h,markGutter:f}),f?P:[]])),s.push($.reconfigure([b.of({side:"b",sibling:()=>this.a,highlightChanges:h,markGutter:f}),f?P:[]]))}if(i){let o=Oe.reconfigure(e.collapseUnchanged?se(e.collapseUnchanged):[]);r.push(o),s.push(o)}this.a.dispatch({effects:r}),this.b.dispatch({effects:s})}this.scheduleMeasure()}setupRevertControls(e,n,l){this.revertToA=n,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=l,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",i=>this.revertClicked(i)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){bt(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,n=e.firstChild,l=this.a.viewport,i=this.b.viewport;for(let r=0;r<this.chunks.length;r++){let s=this.chunks[r];if(s.fromA>l.to||s.fromB>i.to)break;if(s.fromA<l.from||s.fromB<i.from)continue;let o=this.a.lineBlockAt(s.fromA).top+"px";for(;n&&+n.dataset.chunk<r;)n=Ee(n);n&&n.dataset.chunk==String(r)?(n.style.top!=o&&(n.style.top=o),n=n.nextSibling):e.insertBefore(this.renderRevertButton(o,r),n)}for(;n;)n=Ee(n)}renderRevertButton(e,n){let l;if(this.renderRevert)l=this.renderRevert();else{l=document.createElement("button");let i=this.a.state.phrase("Revert this chunk");l.setAttribute("aria-label",i),l.setAttribute("title",i),l.textContent=this.revertToLeft?"⇜":"⇝"}return l.style.top=e,l.setAttribute("data-chunk",String(n)),l}revertClicked(e){let n=e.target,l;for(;n&&n.parentNode!=this.revertDOM;)n=n.parentNode;if(n&&(l=this.chunks[n.dataset.chunk])){let[i,r,s,o,f,h]=this.revertToA?[this.b,this.a,l.fromB,l.toB,l.fromA,l.toA]:[this.a,this.b,l.fromA,l.toA,l.fromB,l.toB],a=i.state.sliceDoc(s,Math.max(s,o-1));s!=o&&h<=r.state.doc.length&&(a+=i.state.lineBreak),r.dispatch({changes:{from:f,to:Math.min(r.state.doc.length,h),insert:a},userEvent:"revert"}),e.preventDefault()}}destroy(){this.a.destroy(),this.b.destroy(),this.measuring>-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}function Ee(t){let e=t.nextSibling;return t.remove(),e}const yt=new class extends oe{constructor(){super(...arguments),this.elementClass="cm-deletedLineGutter"}},Rt=Q.low(je({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(Z))===null||e===void 0?void 0:e.gutter)||Ie.empty},widgetMarker:(t,e)=>e instanceof rt?yt:null}));function Tt(t){var e;let n=typeof t.original=="string"?Fe.of(t.original.split(/\r?\n/)):t.original,l=t.diffConfig||et;return[Q.low(Z),Vt,nt,B.editorAttributes.of({class:"cm-merge-b"}),Ze.of((i,r)=>{let s=r.effects.find(o=>o.is(he));return s&&(i=O.updateA(i,s.value.doc,r.startState.doc,s.value.changes,l)),r.docChanged&&(i=O.updateB(i,r.state.field(V),r.newDoc,r.changes,l)),i}),b.of({highlightChanges:t.highlightChanges!==!1,markGutter:t.gutter!==!1,syntaxHighlightDeletions:t.syntaxHighlightDeletions!==!1,syntaxHighlightDeletionsMaxLength:3e3,mergeControls:(e=t.mergeControls)!==null&&e!==void 0?e:!0,overrideChunk:t.allowInlineDiffs?Wt:void 0,side:"b"}),V.init(()=>n),t.gutter!==!1?Rt:[],t.collapseUnchanged?se(t.collapseUnchanged):[],k.init(i=>O.build(n,i.doc,l))]}const he=G.define(),V=H.define({create:()=>Fe.empty,update(t,e){for(let n of e.effects)n.is(he)&&(t=n.value.doc);return t}}),ye=new WeakMap;class rt extends Y{constructor(e){super(),this.buildDOM=e,this.dom=null}eq(e){return this.dom==e.dom}toDOM(e){return this.dom||(this.dom=this.buildDOM(e))}}function Gt(t,e,n){let l=ye.get(e.changes);if(l)return l;let i=s=>{let{highlightChanges:o,syntaxHighlightDeletions:f,syntaxHighlightDeletionsMaxLength:h,mergeControls:a}=t.facet(b),d=document.createElement("div");if(d.className="cm-deletedChunk",a){let x=d.appendChild(document.createElement("div"));x.className="cm-chunkButtons";let D=A=>{A.preventDefault(),Nt(s,s.posAtDOM(d))},w=A=>{A.preventDefault(),Ft(s,s.posAtDOM(d))};if(typeof a=="function")x.appendChild(a("accept",D)),x.appendChild(a("reject",w));else{let A=x.appendChild(document.createElement("button"));A.name="accept",A.textContent=t.phrase("Accept"),A.onmousedown=D;let L=x.appendChild(document.createElement("button"));L.name="reject",L.textContent=t.phrase("Reject"),L.onmousedown=w}}if(n||e.fromA>=e.toA)return d;let c=s.state.field(V).sliceString(e.fromA,e.endA),u=f&&t.facet(ot),m=S(),p=e.changes,g=0,C=!1;function S(){let x=d.appendChild(document.createElement("div"));return x.className="cm-deletedLine",x.appendChild(document.createElement("del"))}function R(x,D,w){for(let A=x;A<D;){if(c.charAt(A)==`
|
|
1
|
+
import{j as J,r as T}from"./index-B2JoVHek.js";import{R as lt}from"./index-DK-qQXH4.js";import{o as Q,E as B,q as ne,C as Ge,S as G,r as Ne,u as Fe,v as st,w as H,x as M,F as Ve,R as N,W as Y,G as oe,y as ot,z as at,A as je,B as Ie,H as ft,V as dt,m as ht,n as ct}from"./index-yZEr0YWk.js";class v{constructor(e,n,l,i){this.fromA=e,this.toA=n,this.fromB=l,this.toB=i}offset(e,n=e){return new v(this.fromA+e,this.toA+e,this.fromB+n,this.toB+n)}}function y(t,e,n,l,i,r){if(t==l)return[];let s=fe(t,e,n,l,i,r),o=de(t,e+s,n,l,i+s,r);e+=s,n-=o,i+=s,r-=o;let f=n-e,h=r-i;if(!f||!h)return[new v(e,n,i,r)];if(f>h){let d=t.slice(e,n).indexOf(l.slice(i,r));if(d>-1)return[new v(e,e+d,i,i),new v(e+d+h,n,r,r)]}else if(h>f){let d=l.slice(i,r).indexOf(t.slice(e,n));if(d>-1)return[new v(e,e,i,i+d),new v(n,n,i+d+f,r)]}if(f==1||h==1)return[new v(e,n,i,r)];let a=He(t,e,n,l,i,r);if(a){let[d,c,u]=a;return y(t,e,d,l,i,c).concat(y(t,d+u,n,l,c+u,r))}return ut(t,e,n,l,i,r)}let I=1e9,U=0,ae=!1;function ut(t,e,n,l,i,r){let s=n-e,o=r-i;if(I<1e9&&Math.min(s,o)>I*16||U>0&&Date.now()>U)return Math.min(s,o)>I*64?[new v(e,n,i,r)]:ge(t,e,n,l,i,r);let f=Math.ceil((s+o)/2);ee.reset(f),te.reset(f);let h=(u,m)=>t.charCodeAt(e+u)==l.charCodeAt(i+m),a=(u,m)=>t.charCodeAt(n-u-1)==l.charCodeAt(r-m-1),d=(s-o)%2!=0?te:null,c=d?null:ee;for(let u=0;u<f;u++){if(u>I||U>0&&!(u&63)&&Date.now()>U)return ge(t,e,n,l,i,r);let m=ee.advance(u,s,o,f,d,!1,h)||te.advance(u,s,o,f,c,!0,a);if(m)return mt(t,e,n,e+m[0],l,i,r,i+m[1])}return[new v(e,n,i,r)]}class Ue{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let n=0;n<this.len;n++)this.vec[n]=-1;this.vec[e+1]=0,this.start=this.end=0}advance(e,n,l,i,r,s,o){for(let f=-e+this.start;f<=e-this.end;f+=2){let h=i+f,a=f==-e||f!=e&&this.vec[h-1]<this.vec[h+1]?this.vec[h+1]:this.vec[h-1]+1,d=a-f;for(;a<n&&d<l&&o(a,d);)a++,d++;if(this.vec[h]=a,a>n)this.end+=2;else if(d>l)this.start+=2;else if(r){let c=i+(n-l)-f;if(c>=0&&c<this.len&&r.vec[c]!=-1)if(s){let u=r.vec[c];if(u>=n-a)return[u,i+u-c]}else{let u=n-r.vec[c];if(a>=u)return[a,d]}}}return null}}const ee=new Ue,te=new Ue;function mt(t,e,n,l,i,r,s,o){let f=!1;return!F(t,l)&&++l==n&&(f=!0),!F(i,o)&&++o==s&&(f=!0),f?[new v(e,n,r,s)]:y(t,e,l,i,r,o).concat(y(t,l,n,i,o,s))}function We(t,e){let n=1,l=Math.min(t,e);for(;n<l;)n=n<<1;return n}function fe(t,e,n,l,i,r){if(e==n||e==r||t.charCodeAt(e)!=l.charCodeAt(i))return 0;let s=We(n-e,r-i);for(let o=e,f=i;;){let h=o+s,a=f+s;if(h>n||a>r||t.slice(o,h)!=l.slice(f,a)){if(s==1)return o-e-(F(t,o)?0:1);s=s>>1}else{if(h==n||a==r)return h-e;o=h,f=a}}}function de(t,e,n,l,i,r){if(e==n||i==r||t.charCodeAt(n-1)!=l.charCodeAt(r-1))return 0;let s=We(n-e,r-i);for(let o=n,f=r;;){let h=o-s,a=f-s;if(h<e||a<i||t.slice(h,o)!=l.slice(a,f)){if(s==1)return n-o-(F(t,o)?0:1);s=s>>1}else{if(h==e||a==i)return n-h;o=h,f=a}}}function re(t,e,n,l,i,r,s,o){let f=l.slice(i,r),h=null;for(;;){if(h||s<o)return h;for(let a=e+s;;){F(t,a)||a++;let d=a+s;if(F(t,d)||(d+=d==a+1?1:-1),d>=n)break;let c=t.slice(a,d),u=-1;for(;(u=f.indexOf(c,u+1))!=-1;){let m=fe(t,d,n,l,i+u+c.length,r),p=de(t,e,a,l,i,i+u),g=c.length+m+p;(!h||h[2]<g)&&(h=[a-p,i+u-p,g])}a=d}if(o<0)return h;s=s>>1}}function He(t,e,n,l,i,r){let s=n-e,o=r-i;if(s<o){let f=He(l,i,r,t,e,n);return f&&[f[1],f[0],f[2]]}return s<4||o*2<s?null:re(t,e,n,l,i,r,Math.floor(s/4),-1)}function ge(t,e,n,l,i,r){ae=!0;let s=n-e,o=r-i,f;if(s<o){let c=re(l,i,r,t,e,n,Math.floor(s/6),50);f=c&&[c[1],c[0],c[2]]}else f=re(t,e,n,l,i,r,Math.floor(o/6),50);if(!f)return[new v(e,n,i,r)];let[h,a,d]=f;return y(t,e,h,l,i,a).concat(y(t,h+d,n,l,a+d,r))}function ze(t,e){for(let n=1;n<t.length;n++){let l=t[n-1],i=t[n];l.toA>i.fromA-e&&l.toB>i.fromB-e&&(t[n-1]=new v(l.fromA,i.toA,l.fromB,i.toB),t.splice(n--,1))}}function gt(t,e,n){for(;;){ze(n,1);let l=!1;for(let i=0;i<n.length;i++){let r=n[i],s,o;(s=fe(t,r.fromA,r.toA,e,r.fromB,r.toB))&&(r=n[i]=new v(r.fromA+s,r.toA,r.fromB+s,r.toB)),(o=de(t,r.fromA,r.toA,e,r.fromB,r.toB))&&(r=n[i]=new v(r.fromA,r.toA-o,r.fromB,r.toB-o));let f=r.toA-r.fromA,h=r.toB-r.fromB;if(f&&h)continue;let a=r.fromA-(i?n[i-1].toA:0),d=(i<n.length-1?n[i+1].fromA:t.length)-r.toA;if(!a||!d)continue;let c=f?t.slice(r.fromA,r.toA):e.slice(r.fromB,r.toB);a<=c.length&&t.slice(r.fromA-a,r.fromA)==c.slice(c.length-a)?(n[i]=new v(r.fromA-a,r.toA-a,r.fromB-a,r.toB-a),l=!0):d<=c.length&&t.slice(r.toA,r.toA+d)==c.slice(0,d)&&(n[i]=new v(r.fromA+d,r.toA+d,r.fromB+d,r.toB+d),l=!0)}if(!l)break}return n}function pt(t,e,n){for(let l=0,i=0;i<t.length;i++){let r=t[i],s=r.toA-r.fromA,o=r.toB-r.fromB;if(s&&o||s>3||o>3){let f=i==t.length-1?e.length:t[i+1].fromA,h=r.fromA-l,a=f-r.toA,d=Ce(e,r.fromA,h),c=pe(e,r.toA,a),u=r.fromA-d,m=c-r.toA;if((!s||!o)&&u&&m){let p=Math.max(s,o),[g,C,S]=s?[e,r.fromA,r.toA]:[n,r.fromB,r.toB];p>u&&e.slice(d,r.fromA)==g.slice(S-u,S)?(r=t[i]=new v(d,d+s,r.fromB-u,r.toB-u),d=r.fromA,c=pe(e,r.toA,f-r.toA)):p>m&&e.slice(r.toA,c)==g.slice(C,C+m)&&(r=t[i]=new v(c-s,c,r.fromB+m,r.toB+m),c=r.toA,d=Ce(e,r.fromA,r.fromA-l)),u=r.fromA-d,m=c-r.toA}if(u||m)r=t[i]=new v(r.fromA-u,r.toA+m,r.fromB-u,r.toB+m);else if(s){if(!o){let p=Ae(e,r.fromA,r.toA),g,C=p<0?-1:ve(e,r.toA,r.fromA);p>-1&&(g=p-r.fromA)<=a&&e.slice(r.fromA,p)==e.slice(r.toA,r.toA+g)?r=t[i]=r.offset(g):C>-1&&(g=r.toA-C)<=h&&e.slice(r.fromA-g,r.fromA)==e.slice(C,r.toA)&&(r=t[i]=r.offset(-g))}}else{let p=Ae(n,r.fromB,r.toB),g,C=p<0?-1:ve(n,r.toB,r.fromB);p>-1&&(g=p-r.fromB)<=a&&n.slice(r.fromB,p)==n.slice(r.toB,r.toB+g)?r=t[i]=r.offset(g):C>-1&&(g=r.toB-C)<=h&&n.slice(r.fromB-g,r.fromB)==n.slice(C,r.toB)&&(r=t[i]=r.offset(-g))}}l=r.toA}return ze(t,3),t}let E;try{E=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch{}function Pe(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function qe(t,e){if(e==t.length)return 0;let n=t.charCodeAt(e);return n<192?Pe(n)?1:0:E?!Je(n)||e==t.length-1?E.test(String.fromCharCode(n))?1:0:E.test(t.slice(e,e+2))?2:0:0}function _e(t,e){if(!e)return 0;let n=t.charCodeAt(e-1);return n<192?Pe(n)?1:0:E?!Ke(n)||e==1?E.test(String.fromCharCode(n))?1:0:E.test(t.slice(e-2,e))?2:0:0}const $e=8;function pe(t,e,n){if(e==t.length||!_e(t,e))return e;for(let l=e,i=e+n,r=0;r<$e;r++){let s=qe(t,l);if(!s||l+s>i)return l;l+=s}return e}function Ce(t,e,n){if(!e||!qe(t,e))return e;for(let l=e,i=e-n,r=0;r<$e;r++){let s=_e(t,l);if(!s||l-s<i)return l;l-=s}return e}function ve(t,e,n){for(;e!=n;e--)if(t.charCodeAt(e-1)==10)return e;return-1}function Ae(t,e,n){for(;e!=n;e++)if(t.charCodeAt(e)==10)return e;return-1}const Je=t=>t>=55296&&t<=56319,Ke=t=>t>=56320&&t<=57343;function F(t,e){return!e||e==t.length||!Je(t.charCodeAt(e-1))||!Ke(t.charCodeAt(e))}function Ct(t,e,n){var l;let i=n==null?void 0:n.override;return i?i(t,e):(I=((l=n==null?void 0:n.scanLimit)!==null&&l!==void 0?l:1e9)>>1,U=n!=null&&n.timeout?Date.now()+n.timeout:0,ae=!1,gt(t,e,y(t,0,t.length,e,0,e.length)))}function Qe(){return!ae}function Ye(t,e,n){return pt(Ct(t,e,n),t,e)}const b=Ve.define({combine:t=>t[0]}),ie=G.define(),Ze=Ve.define(),k=H.define({create(t){return null},update(t,e){for(let n of e.effects)n.is(ie)&&(t=n.value);for(let n of e.state.facet(Ze))t=n(t,e);return t}});function vt(t){let e=t.field(k,!1);if(!e)return null;let n=t.facet(b);return{chunks:e,side:n?n.side:null}}class O{constructor(e,n,l,i,r,s=!0){this.changes=e,this.fromA=n,this.toA=l,this.fromB=i,this.toB=r,this.precise=s}offset(e,n){return e||n?new O(this.changes,this.fromA+e,this.toA+e,this.fromB+n,this.toB+n,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,n,l){let i=Ye(e.toString(),n.toString(),l);return Xe(i,e,n,0,0,Qe())}static updateA(e,n,l,i,r){return be(Be(e,i,!0,l.length),e,n,l,r)}static updateB(e,n,l,i,r){return be(Be(e,i,!1,n.length),e,n,l,r)}}function xe(t,e,n,l){let i=n.lineAt(t),r=l.lineAt(e);return i.to==t&&r.to==e&&t<n.length&&e<l.length?[t+1,e+1]:[i.from,r.from]}function we(t,e,n,l){let i=n.lineAt(t),r=l.lineAt(e);return i.from==t&&r.from==e?[t,e]:[i.to+1,r.to+1]}function Xe(t,e,n,l,i,r){let s=[];for(let o=0;o<t.length;o++){let f=t[o],[h,a]=xe(f.fromA+l,f.fromB+i,e,n),[d,c]=we(f.toA+l,f.toB+i,e,n),u=[f.offset(-h+l,-a+i)];for(;o<t.length-1;){let m=t[o+1],[p,g]=xe(m.fromA+l,m.fromB+i,e,n);if(p>d+1&&g>c+1)break;u.push(m.offset(-h+l,-a+i)),[d,c]=we(m.toA+l,m.toB+i,e,n),o++}s.push(new O(u,h,Math.max(h,d),a,Math.max(a,c),r))}return s}const z=1e3;function ke(t,e,n,l){let i=0,r=t.length;for(;;){if(i==r){let a=0,d=0;i&&({toA:a,toB:d}=t[i-1]);let c=e-(n?a:d);return[a+c,d+c]}let s=i+r>>1,o=t[s],[f,h]=n?[o.fromA,o.toA]:[o.fromB,o.toB];if(f>e)r=s;else if(h<=e)i=s+1;else return l?[o.fromA,o.fromB]:[o.toA,o.toB]}}function Be(t,e,n,l){let i=[];return e.iterChangedRanges((r,s,o,f)=>{let h=0,a=n?e.length:l,d=0,c=n?l:e.length;r>z&&([h,d]=ke(t,r-z,n,!0)),s<e.length-z&&([a,c]=ke(t,s+z,n,!1));let u=f-o-(s-r),m,[p,g]=n?[u,0]:[0,u];i.length&&(m=i[i.length-1]).toA>=h?i[i.length-1]={fromA:m.fromA,fromB:m.fromB,toA:a,toB:c,diffA:m.diffA+p,diffB:m.diffB+g}:i.push({fromA:h,toA:a,fromB:d,toB:c,diffA:p,diffB:g})}),i}function be(t,e,n,l,i){if(!t.length)return e;let r=[];for(let s=0,o=0,f=0,h=0;;s++){let a=s==t.length?null:t[s],d=a?a.fromA+o:n.length,c=a?a.fromB+f:l.length;for(;h<e.length;){let g=e[h];if(a&&(g.toA+o>d||g.toB+f>c))break;r.push(g.offset(o,f)),h++}if(!a)break;let u=a.toA+o+a.diffA,m=a.toB+f+a.diffB,p=Ye(n.sliceString(d,u),l.sliceString(c,m),i);for(let g of Xe(p,n,l,d,c,Qe()))r.push(g);for(o+=a.diffA,f+=a.diffB;h<e.length;){let g=e[h];if(g.fromA+o>u&&g.fromB+f>m)break;h++}}return r}const et={scanLimit:500},Z=dt.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=Le(t))}update(t){(t.docChanged||t.viewportChanged||At(t.startState,t.state)||xt(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=Le(t.view))}},{decorations:t=>t.deco}),P=Q.low(je({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(Z))===null||e===void 0?void 0:e.gutter)||Ie.empty}}));function At(t,e){return t.field(k,!1)!=e.field(k,!1)}function xt(t,e){return t.facet(b)!=e.facet(b)}const Me=M.line({class:"cm-changedLine"}),tt=M.mark({class:"cm-changedText"}),wt=M.mark({tagName:"ins",class:"cm-insertedLine"}),kt=M.mark({tagName:"del",class:"cm-deletedLine"}),De=new class extends oe{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function Bt(t,e,n,l,i,r){let s=n?t.fromA:t.fromB,o=n?t.toA:t.toB,f=0;if(s!=o){i.add(s,s,Me),i.add(s,o,n?kt:wt),r&&r.add(s,s,De);for(let h=e.iterRange(s,o-1),a=s;!h.next().done;){if(h.lineBreak){a++,i.add(a,a,Me),r&&r.add(a,a,De);continue}let d=a+h.value.length;if(l)for(;f<t.changes.length;){let c=t.changes[f],u=s+(n?c.fromA:c.fromB),m=s+(n?c.toA:c.toB),p=Math.max(a,u),g=Math.min(d,m);if(p<g&&i.add(p,g,tt),m<d)f++;else break}a=d}}}function Le(t){let e=t.state.field(k),{side:n,highlightChanges:l,markGutter:i,overrideChunk:r}=t.state.facet(b),s=n=="a",o=new N,f=i?new N:null,{from:h,to:a}=t.viewport;for(let d of e){if((s?d.fromA:d.fromB)>=a)break;(s?d.toA:d.toB)>h&&(!r||!r(t.state,d,o,f))&&Bt(d,t.state.doc,s,l,o,f)}return{deco:o.finish(),gutter:f&&f.finish()}}class q extends Y{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}const K=G.define({map:(t,e)=>t.map(e)}),W=H.define({create:()=>M.none,update:(t,e)=>{for(let n of e.effects)if(n.is(K))return n.value;return t.map(e.changes)},provide:t=>B.decorations.from(t)}),_=.01;function Se(t,e){if(t.size!=e.size)return!1;let n=t.iter(),l=e.iter();for(;n.value;){if(n.from!=l.from||Math.abs(n.value.spec.widget.height-l.value.spec.widget.height)>1)return!1;n.next(),l.next()}return!0}function bt(t,e,n){let l=new N,i=new N,r=t.state.field(W).iter(),s=e.state.field(W).iter(),o=0,f=0,h=0,a=0,d=t.viewport,c=e.viewport;for(let g=0;;g++){let C=g<n.length?n[g]:null,S=C?C.fromA:t.state.doc.length,R=C?C.fromB:e.state.doc.length;if(o<S){let x=t.lineBlockAt(o).top+h,D=e.lineBlockAt(f).top+a,w=x-D;w<-_?(h-=w,l.add(o,o,M.widget({widget:new q(-w),block:!0,side:-1}))):w>_&&(a+=w,i.add(f,f,M.widget({widget:new q(w),block:!0,side:-1})))}if(S>o+1e3&&o<d.from&&S>d.from&&f<c.from&&R>c.from){let x=Math.min(d.from-o,c.from-f);o+=x,f+=x,g--}else if(C)o=C.toA,f=C.toB;else break;for(;r.value&&r.from<o;)h-=r.value.spec.widget.height,r.next();for(;s.value&&s.from<f;)a-=s.value.spec.widget.height,s.next()}for(;r.value;)h-=r.value.spec.widget.height,r.next();for(;s.value;)a-=s.value.spec.widget.height,s.next();let u=t.contentHeight+h-(e.contentHeight+a);u<_?l.add(t.state.doc.length,t.state.doc.length,M.widget({widget:new q(-u),block:!0,side:1})):u>_&&i.add(e.state.doc.length,e.state.doc.length,M.widget({widget:new q(u),block:!0,side:1}));let m=l.finish(),p=i.finish();Se(m,t.state.field(W))||t.dispatch({effects:K.of(m)}),Se(p,e.state.field(W))||e.dispatch({effects:K.of(p)})}const le=G.define({map:(t,e)=>e.mapPos(t)});class Mt extends Y{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let n=document.createElement("div");return n.className="cm-collapsedLines",n.textContent=e.state.phrase("$ unchanged lines",this.lines),n.addEventListener("click",l=>{let i=e.posAtDOM(l.target);e.dispatch({effects:le.of(i)});let{side:r,sibling:s}=e.state.facet(b);s&&s().dispatch({effects:le.of(Dt(i,e.state.field(k),r=="a"))})}),n}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}}function Dt(t,e,n){let l=0,i=0;for(let r=0;;r++){let s=r<e.length?e[r]:null;if(!s||(n?s.fromA:s.fromB)>=t)return i+(t-l);[l,i]=n?[s.toA,s.toB]:[s.toB,s.toA]}}const Lt=H.define({create(t){return M.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)n.is(le)&&(t=t.update({filter:l=>l!=n.value}));if(t.size&&e.state.field(k)!=e.startState.field(k,!1)){let n=e.state.facet(b).side=="a",l=[];for(let i of e.state.field(k))t.between(n?i.fromA:i.fromB,n?i.toA:i.toB,r=>{l.push(r)});l.length&&(t=t.update({filter:i=>l.indexOf(i)<0}))}return t},provide:t=>B.decorations.from(t)});function se({margin:t=3,minSize:e=4}){return Lt.init(n=>St(n,t,e))}function St(t,e,n){let l=new N,i=t.facet(b).side=="a",r=t.field(k),s=1;for(let o=0;;o++){let f=o<r.length?r[o]:null,h=o?s+e:1,a=f?t.doc.lineAt(i?f.fromA:f.fromB).number-1-e:t.doc.lines,d=a-h+1;if(d>=n&&l.add(t.doc.line(h).from,t.doc.line(a).to,M.replace({widget:new Mt(d),block:!0})),!f)break;s=t.doc.lineAt(Math.min(t.doc.length,i?f.toA:f.toB)).number}return l.finish()}const Ot=B.styleModule.of(new st({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),nt=B.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"⦚"',marginInlineEnd:"7px"},"&:after":{content:'"⦚"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),Oe=new Ge,$=new Ge;class Et{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||et;let n=[Q.low(Z),nt,Ot,W,B.updateListener.of(d=>{this.measuring<0&&(d.heightChanged||d.viewportChanged)&&!d.transactions.some(c=>c.effects.some(u=>u.is(K)))&&this.measure()})],l=[b.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&l.push(P);let i=ne.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],B.editorAttributes.of({class:"cm-merge-a"}),$.of(l),n]}),r=[b.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&r.push(P);let s=ne.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],B.editorAttributes.of({class:"cm-merge-b"}),$.of(r),n]});this.chunks=O.build(i.doc,s.doc,this.diffConf);let o=[k.init(()=>this.chunks),Oe.of(e.collapseUnchanged?se(e.collapseUnchanged):[])];i=i.update({effects:G.appendConfig.of(o)}).state,s=s.update({effects:G.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let f=e.orientation||"a-b",h=document.createElement("div");h.className="cm-mergeViewEditor";let a=document.createElement("div");a.className="cm-mergeViewEditor",this.editorDOM.appendChild(f=="a-b"?h:a),this.editorDOM.appendChild(f=="a-b"?a:h),this.a=new B({state:i,parent:h,root:e.root,dispatchTransactions:d=>this.dispatch(d,this.a)}),this.b=new B({state:s,parent:a,root:e.root,dispatchTransactions:d=>this.dispatch(d,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,n){if(e.some(l=>l.docChanged)){let l=e[e.length-1],i=e.reduce((s,o)=>s.compose(o.changes),Ne.empty(e[0].startState.doc.length));this.chunks=n==this.a?O.updateA(this.chunks,l.newDoc,this.b.state.doc,i,this.diffConf):O.updateB(this.chunks,this.a.state.doc,l.newDoc,i,this.diffConf),n.update([...e,l.state.update({effects:ie.of(this.chunks)})]);let r=n==this.a?this.b:this.a;r.update([r.state.update({effects:ie.of(this.chunks)})]),this.scheduleMeasure()}else n.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let r=e.orientation!="b-a";if(r!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let s=this.a.dom.parentNode,o=this.b.dom.parentNode;s.remove(),o.remove(),this.editorDOM.insertBefore(r?s:o,this.editorDOM.firstChild),this.editorDOM.appendChild(r?o:s),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let r=!!this.revertDOM,s=this.revertToA,o=this.renderRevert;"revertControls"in e&&(r=!!e.revertControls,s=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(r,s,o)}let n="highlightChanges"in e,l="gutter"in e,i="collapseUnchanged"in e;if(n||l||i){let r=[],s=[];if(n||l){let o=this.a.state.facet(b),f=l?e.gutter!==!1:o.markGutter,h=n?e.highlightChanges!==!1:o.highlightChanges;r.push($.reconfigure([b.of({side:"a",sibling:()=>this.b,highlightChanges:h,markGutter:f}),f?P:[]])),s.push($.reconfigure([b.of({side:"b",sibling:()=>this.a,highlightChanges:h,markGutter:f}),f?P:[]]))}if(i){let o=Oe.reconfigure(e.collapseUnchanged?se(e.collapseUnchanged):[]);r.push(o),s.push(o)}this.a.dispatch({effects:r}),this.b.dispatch({effects:s})}this.scheduleMeasure()}setupRevertControls(e,n,l){this.revertToA=n,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=l,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",i=>this.revertClicked(i)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){bt(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,n=e.firstChild,l=this.a.viewport,i=this.b.viewport;for(let r=0;r<this.chunks.length;r++){let s=this.chunks[r];if(s.fromA>l.to||s.fromB>i.to)break;if(s.fromA<l.from||s.fromB<i.from)continue;let o=this.a.lineBlockAt(s.fromA).top+"px";for(;n&&+n.dataset.chunk<r;)n=Ee(n);n&&n.dataset.chunk==String(r)?(n.style.top!=o&&(n.style.top=o),n=n.nextSibling):e.insertBefore(this.renderRevertButton(o,r),n)}for(;n;)n=Ee(n)}renderRevertButton(e,n){let l;if(this.renderRevert)l=this.renderRevert();else{l=document.createElement("button");let i=this.a.state.phrase("Revert this chunk");l.setAttribute("aria-label",i),l.setAttribute("title",i),l.textContent=this.revertToLeft?"⇜":"⇝"}return l.style.top=e,l.setAttribute("data-chunk",String(n)),l}revertClicked(e){let n=e.target,l;for(;n&&n.parentNode!=this.revertDOM;)n=n.parentNode;if(n&&(l=this.chunks[n.dataset.chunk])){let[i,r,s,o,f,h]=this.revertToA?[this.b,this.a,l.fromB,l.toB,l.fromA,l.toA]:[this.a,this.b,l.fromA,l.toA,l.fromB,l.toB],a=i.state.sliceDoc(s,Math.max(s,o-1));s!=o&&h<=r.state.doc.length&&(a+=i.state.lineBreak),r.dispatch({changes:{from:f,to:Math.min(r.state.doc.length,h),insert:a},userEvent:"revert"}),e.preventDefault()}}destroy(){this.a.destroy(),this.b.destroy(),this.measuring>-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}function Ee(t){let e=t.nextSibling;return t.remove(),e}const yt=new class extends oe{constructor(){super(...arguments),this.elementClass="cm-deletedLineGutter"}},Rt=Q.low(je({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(Z))===null||e===void 0?void 0:e.gutter)||Ie.empty},widgetMarker:(t,e)=>e instanceof rt?yt:null}));function Tt(t){var e;let n=typeof t.original=="string"?Fe.of(t.original.split(/\r?\n/)):t.original,l=t.diffConfig||et;return[Q.low(Z),Vt,nt,B.editorAttributes.of({class:"cm-merge-b"}),Ze.of((i,r)=>{let s=r.effects.find(o=>o.is(he));return s&&(i=O.updateA(i,s.value.doc,r.startState.doc,s.value.changes,l)),r.docChanged&&(i=O.updateB(i,r.state.field(V),r.newDoc,r.changes,l)),i}),b.of({highlightChanges:t.highlightChanges!==!1,markGutter:t.gutter!==!1,syntaxHighlightDeletions:t.syntaxHighlightDeletions!==!1,syntaxHighlightDeletionsMaxLength:3e3,mergeControls:(e=t.mergeControls)!==null&&e!==void 0?e:!0,overrideChunk:t.allowInlineDiffs?Wt:void 0,side:"b"}),V.init(()=>n),t.gutter!==!1?Rt:[],t.collapseUnchanged?se(t.collapseUnchanged):[],k.init(i=>O.build(n,i.doc,l))]}const he=G.define(),V=H.define({create:()=>Fe.empty,update(t,e){for(let n of e.effects)n.is(he)&&(t=n.value.doc);return t}}),ye=new WeakMap;class rt extends Y{constructor(e){super(),this.buildDOM=e,this.dom=null}eq(e){return this.dom==e.dom}toDOM(e){return this.dom||(this.dom=this.buildDOM(e))}}function Gt(t,e,n){let l=ye.get(e.changes);if(l)return l;let i=s=>{let{highlightChanges:o,syntaxHighlightDeletions:f,syntaxHighlightDeletionsMaxLength:h,mergeControls:a}=t.facet(b),d=document.createElement("div");if(d.className="cm-deletedChunk",a){let x=d.appendChild(document.createElement("div"));x.className="cm-chunkButtons";let D=A=>{A.preventDefault(),Nt(s,s.posAtDOM(d))},w=A=>{A.preventDefault(),Ft(s,s.posAtDOM(d))};if(typeof a=="function")x.appendChild(a("accept",D)),x.appendChild(a("reject",w));else{let A=x.appendChild(document.createElement("button"));A.name="accept",A.textContent=t.phrase("Accept"),A.onmousedown=D;let L=x.appendChild(document.createElement("button"));L.name="reject",L.textContent=t.phrase("Reject"),L.onmousedown=w}}if(n||e.fromA>=e.toA)return d;let c=s.state.field(V).sliceString(e.fromA,e.endA),u=f&&t.facet(ot),m=S(),p=e.changes,g=0,C=!1;function S(){let x=d.appendChild(document.createElement("div"));return x.className="cm-deletedLine",x.appendChild(document.createElement("del"))}function R(x,D,w){for(let A=x;A<D;){if(c.charAt(A)==`
|
|
2
2
|
`){m.firstChild||m.appendChild(document.createElement("br")),m=S(),A++;continue}let L=D,ce=w+(C?" cm-deletedText":""),ue=!1,X=c.indexOf(`
|
|
3
3
|
`,A);if(X>-1&&X<D&&(L=X),o&&g<p.length){let j=Math.max(0,C?p[g].toA:p[g].fromA);j<=L&&(L=j,C&&g++,ue=!0)}if(L>A){let j=document.createTextNode(c.slice(A,L));if(ce){let me=m.appendChild(document.createElement("span"));me.className=ce,me.appendChild(j)}else m.appendChild(j);A=L}ue&&(C=!C)}}if(u&&e.toA-e.fromA<=h){let x=u.parser.parse(c),D=0;at(x,{style:w=>ft(t,w)},(w,A,L)=>{w>D&&R(D,w,""),R(w,A,L),D=A}),R(D,c.length,"")}else R(0,c.length,"");return m.firstChild||m.appendChild(document.createElement("br")),d},r=M.widget({block:!0,side:-1,widget:new rt(i)});return ye.set(e.changes,r),r}function Nt(t,e){let{state:n}=t,l=e??n.selection.main.head,i=t.state.field(k).find(f=>f.fromB<=l&&f.endB>=l);if(!i)return!1;let r=t.state.sliceDoc(i.fromB,Math.max(i.fromB,i.toB-1)),s=t.state.field(V);i.fromB!=i.toB&&i.toA<=s.length&&(r+=t.state.lineBreak);let o=Ne.of({from:i.fromA,to:Math.min(s.length,i.toA),insert:r},s.length);return t.dispatch({effects:he.of({doc:o.apply(s),changes:o}),userEvent:"accept"}),!0}function Ft(t,e){let{state:n}=t,l=e??n.selection.main.head,i=n.field(k).find(o=>o.fromB<=l&&o.endB>=l);if(!i)return!1;let s=n.field(V).sliceString(i.fromA,Math.max(i.fromA,i.toA-1));return i.fromA!=i.toA&&i.toB<=n.doc.length&&(s+=n.lineBreak),t.dispatch({changes:{from:i.fromB,to:Math.min(n.doc.length,i.toB),insert:s},userEvent:"revert"}),!0}function Re(t){let e=new N;for(let n of t.field(k)){let l=t.facet(b).overrideChunk&&it(t,n);e.add(n.fromB,n.fromB,Gt(t,n,!!l))}return e.finish()}const Vt=H.define({create:t=>Re(t),update(t,e){return e.state.field(k,!1)!=e.startState.field(k,!1)?Re(e.state):t},provide:t=>B.decorations.from(t)}),Te=new WeakMap;function it(t,e){let n=Te.get(e);if(n!==void 0)return n;n=null;let l=t.field(V),i=t.doc,r=l.lineAt(e.endA).number-l.lineAt(e.fromA).number+1,s=i.lineAt(e.endB).number-i.lineAt(e.fromB).number+1;e:if(r==s&&r<10){let o=[],f=0,h=e.fromA,a=e.fromB;for(let d of e.changes){if(d.fromA<d.toA){f+=d.toA-d.fromA;let c=l.sliceString(h+d.fromA,h+d.toA);if(/\n/.test(c))break e;o.push(M.widget({widget:new jt(c),side:-1}).range(a+d.fromB))}d.fromB<d.toB&&o.push(tt.range(a+d.fromB,a+d.toB))}f<e.endA-e.fromA-r*2&&(n=o)}return Te.set(e,n),n}class jt extends Y{constructor(e){super(),this.text=e}eq(e){return this.text==e.text}toDOM(e){let n=document.createElement("del");return n.className="cm-deletedText",n.textContent=this.text,n}}const It=new class extends oe{constructor(){super(...arguments),this.elementClass="cm-inlineChangedLineGutter"}},Ut=M.line({class:"cm-inlineChangedLine"});function Wt(t,e,n,l){let i=it(t,e),r=0;if(!i)return!1;for(let s=t.doc.lineAt(e.fromB);;){for(l&&l.add(s.from,s.from,It),n.add(s.from,s.from,Ut);r<i.length&&i[r].to<=s.to;){let o=i[r++];n.add(o.from,o.to,o.value)}if(s.to>=e.endB)break;s=t.doc.lineAt(s.to+1)}return!0}function Ht(t){const[e,n]=T.useState([]);return T.useEffect(()=>{let l=!1;const i=ht.matchFilename(ct,t);if(!i){n([]);return}return i.load().then(r=>{l||n([r])}).catch(()=>{l||n([])}),()=>{l=!0}},[t]),e}function Kt({baseline:t,current:e,theme:n,filename:l,sideBySide:i,onRejectHunk:r,onHunkCountChange:s}){const o=Ht(l);return i?J.jsx(Pt,{baseline:t,current:e,theme:n,languageExtension:o}):J.jsx(zt,{baseline:t,current:e,theme:n,languageExtension:o,onRejectHunk:r,onHunkCountChange:s})}function zt({baseline:t,current:e,theme:n,languageExtension:l,onRejectHunk:i,onHunkCountChange:r}){const s=T.useRef(-1),o=T.useMemo(()=>[B.lineWrapping,Tt({original:t,gutter:!0,mergeControls:!0,collapseUnchanged:{margin:3,minSize:4}}),...l],[t,l]);return J.jsx(lt,{value:e,editable:!1,readOnly:!0,theme:n,height:"100%",className:"desktop:select-text h-full text-sm",extensions:o,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},onChange:f=>i(f),onUpdate:f=>{var a;const h=((a=vt(f.state))==null?void 0:a.chunks.length)??null;h!==null&&h!==s.current&&(s.current=h,r(h))}})}function Pt({baseline:t,current:e,theme:n,languageExtension:l}){const i=T.useRef(null);return T.useEffect(()=>{const r=i.current;if(!r)return;const s=[B.editable.of(!1),ne.readOnly.of(!0),B.lineWrapping,...n==="dark"?[qt()]:[],...l],o=new Et({a:{doc:t,extensions:s},b:{doc:e,extensions:s},parent:r,collapseUnchanged:{margin:3,minSize:4},highlightChanges:!0,gutter:!0});return()=>o.destroy()},[t,e,n,l]),J.jsx("div",{ref:i,className:"cm-diff-split h-full overflow-auto text-sm"})}function qt(){return B.theme({"&":{backgroundColor:"transparent",color:"inherit"}},{dark:!0})}export{Kt as CodeMirrorDiff};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,j as f}from"./index-
|
|
1
|
+
import{r as n,j as f}from"./index-B2JoVHek.js";import{R as l}from"./index-DK-qQXH4.js";import{m as a,n as c,E as x}from"./index-yZEr0YWk.js";function j({value:u,editable:t,filename:i,languageHint:e,theme:h,onChange:m}){const[g,r]=n.useState([]);return n.useEffect(()=>{let s=!1;const o=e?a.matchLanguageName(c,e,!0):a.matchFilename(c,i);if(!o){r([]);return}return o.load().then(p=>{s||r([p])}).catch(()=>{s||r([])}),()=>{s=!0}},[i,e]),f.jsx(l,{value:u,editable:t,readOnly:!t,onChange:m,theme:h,height:"100%",className:"desktop:select-text h-full text-sm",extensions:[x.lineWrapping,...g],basicSetup:{highlightActiveLine:t,highlightActiveLineGutter:t}})}export{j as CodeMirrorEditor};
|
package/dist/client/assets/{ComputerResourceView-BUmsVssG.js → ComputerResourceView-Dd4Kedxf.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as g,a5 as x,
|
|
1
|
+
import{O as g,a5 as x,a_ as o,r as C,j as e,B as d,a0 as P}from"./index-B2JoVHek.js";import{r as m,u as f,C as w}from"./ComputerViewer-CssfoCBB.js";import{u as v}from"./use-is-below-desktop-CgAcZ8iA.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var R=Object.defineProperty;var S=(i,t,e)=>t in i?R(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var o=(i,t,e)=>S(i,typeof t!="symbol"?t+"":t,e);import{a5 as D,a6 as F,r as h,j as a,I as O,B as y,G as I}from"./index-
|
|
1
|
+
var R=Object.defineProperty;var S=(i,t,e)=>t in i?R(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var o=(i,t,e)=>S(i,typeof t!="symbol"?t+"":t,e);import{a5 as D,a6 as F,r as h,j as a,I as O,B as y,G as I}from"./index-B2JoVHek.js";const Y=["computer","local"];function z(){const i=D();return F({queryKey:Y,queryFn:()=>i.getComputer(),networkMode:"always",refetchInterval:2e3,retry:!1})}class B{constructor(t,e,r){o(this,"snapshot",{frame:null,lease:null,owner:null,busy:!1,error:!1,controlError:!1});o(this,"listeners",new Map);o(this,"timer");o(this,"epoch",0);o(this,"acquisition",0);o(this,"queue",Promise.resolve());o(this,"movePending",!1);o(this,"polling",!1);o(this,"retired",!1);o(this,"pendingOwner",null);o(this,"frameRequest",null);o(this,"getSnapshot",()=>this.snapshot);o(this,"subscribe",(t,e)=>(this.listeners.set(t,e),!this.polling&&!this.retired&&this.start(),()=>{this.listeners.delete(t),this.releaseFor(t),this.listeners.size===0&&(this.epoch+=1,this.polling=!1,clearTimeout(this.timer),this.update({frame:null}))}));o(this,"release",async()=>{const t=this.snapshot.lease;this.drop();const e=this.acquisition;if(t)try{await this.transport.releaseComputerControl(t.leaseId)}catch{e===this.acquisition&&this.update({error:!0,frame:null})}});o(this,"releaseFor",t=>this.snapshot.owner===t||this.pendingOwner===t?this.release():Promise.resolve());o(this,"acquire",async t=>{if(this.retired||!this.listeners.has(t)||this.snapshot.busy||!this.snapshot.frame||this.snapshot.lease)return;const e=++this.acquisition;this.pendingOwner=t,this.update({busy:!0,controlError:!1});try{const r=await this.transport.acquireComputerControl();if(!this.listeners.has(t)||e!==this.acquisition||r.generation!==this.generation){await this.transport.releaseComputerControl(r.leaseId);return}this.update({lease:r,owner:t,controlError:!1})}catch{e===this.acquisition&&this.update({controlError:!0})}finally{e===this.acquisition&&(this.pendingOwner=null,this.update({busy:!1}))}});o(this,"send",(t,e)=>{const r=this.snapshot.lease;if(!r||this.snapshot.owner!==t||!this.listeners.has(t))return Promise.resolve(!1);const l=e.kind==="pointer"&&e.action==="move";if(l&&this.movePending)return Promise.resolve(!1);l&&(this.movePending=!0);const n=this.queue.then(async()=>{if(this.snapshot.lease!==r||this.snapshot.owner!==t||!this.listeners.has(t))return l&&(this.movePending=!1),!1;try{return await this.transport.sendComputerInput({...e,...r}),!0}catch{return this.snapshot.lease===r&&this.snapshot.owner===t&&(this.update({error:!0,frame:null}),await this.release()),!1}finally{l&&(this.movePending=!1)}});return this.queue=n.then(()=>{}),n});this.transport=t,this.generation=e,this.previous=r}update(t){this.snapshot={...this.snapshot,...t};for(const e of this.listeners.values())e()}retire(){this.retired=!0,this.epoch+=1,this.polling=!1,clearTimeout(this.timer),this.release(),this.update({frame:null,error:!0})}start(){var r;(r=this.previous)==null||r.retire(),this.previous=void 0,this.polling=!0;const t=++this.epoch,e=async()=>{const l=this.snapshot.lease;try{const n=this.frameRequest??this.transport.getComputerFrame();this.frameRequest=n;const u=await n.finally(()=>{this.frameRequest===n&&(this.frameRequest=null)});if(t!==this.epoch)return;u.generation!==this.generation?(this.update({frame:null,error:!0}),this.release()):(u.controlledByYou===!1&&l&&this.snapshot.lease===l&&this.drop(),this.update({frame:u,error:!1}))}catch{if(t!==this.epoch)return;this.update({frame:null,error:!0}),this.release()}t===this.epoch&&(this.timer=setTimeout(()=>void e(),500))};e()}drop(){this.acquisition+=1,this.movePending=!1,this.pendingOwner=null,this.update({lease:null,owner:null,busy:!1,controlError:!1})}}const k=new WeakMap;function Q(i){var t;return((t=k.get(i))==null?void 0:t.release())??Promise.resolve()}function K(i,t){let e=k.get(i);return(!e||e.generation!==t)&&(e=new B(i,t,e),k.set(i,e)),e}function L(i){const t=D(),e=h.useId(),r=h.useMemo(()=>K(t,i),[t,i]),l=h.useCallback(u=>r.subscribe(e,u),[r,e]),n=h.useSyncExternalStore(l,r.getSnapshot);return{...n,lease:n.owner===e?n.lease:null,controlledElsewhere:!!(n.lease&&n.owner!==e),session:r,owner:e}}function U({send:i}){const[t,e]=h.useState(""),[r,l]=h.useState(!1),n=h.useRef(!0);return h.useEffect(()=>(n.current=!0,()=>{n.current=!1}),[]),a.jsxs("form",{className:"flex flex-wrap gap-2",onSubmit:u=>{if(u.preventDefault(),!t||r)return;const m=t;l(!0),i({kind:"text",text:m}).then(c=>{n.current&&c&&e(d=>d===m?"":d)}).finally(()=>{n.current&&l(!1)})},children:[a.jsx(O,{"aria-label":"Type on computer",placeholder:"Type on computer",value:t,maxLength:4096,autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,className:"min-w-0 flex-1",onChange:u=>e(u.target.value)}),a.jsx(y,{type:"submit","aria-disabled":r||!t,"aria-busy":r,children:"Type"}),a.jsx(y,{type:"button",variant:"outline",onClick:()=>{i({kind:"key",key:"Enter",action:"down"}),i({kind:"key",key:"Enter",action:"up"})},children:"Enter"})]})}function _({generation:i,onClose:t}){const{frame:e,lease:r,busy:l,error:n,controlError:u,controlledElsewhere:m,session:c,owner:d}=L(i),E=h.useRef(null),q=h.useId(),v=c.release,x=s=>c.send(d,s),N=async()=>{var s;await c.acquire(d),(s=E.current)==null||s.focus()};h.useEffect(()=>{const s=()=>{c.releaseFor(d)},g=()=>{document.hidden&&s()};return window.addEventListener("blur",s),document.addEventListener("visibilitychange",g),()=>{window.removeEventListener("blur",s),document.removeEventListener("visibilitychange",g)}},[c,d,v]);const w=(s,g)=>{var j,P,T,M;if(!r||!e)return;const p=s.currentTarget.getBoundingClientRect();if(!p.width||!p.height)return;const f=Math.min(p.width/e.width,p.height/e.height),b=p.left+(p.width-e.width*f)/2,C=p.top+(p.height-e.height*f)/2;(s.clientX<b||s.clientX>b+e.width*f||s.clientY<C||s.clientY>C+e.height*f)&&!((P=(j=s.currentTarget).hasPointerCapture)!=null&&P.call(j,s.pointerId))||(s.preventDefault(),g==="down"&&(s.currentTarget.focus(),(M=(T=s.currentTarget).setPointerCapture)==null||M.call(T,s.pointerId)),x({kind:"pointer",action:g,button:Math.max(0,Math.min(2,s.button)),x:Math.max(0,Math.min(e.width-1,Math.floor((s.clientX-b)/f))),y:Math.max(0,Math.min(e.height-1,Math.floor((s.clientY-C)/f)))}))};return a.jsxs("section",{"data-slot":"computer-viewer","aria-label":"Computer desktop",className:"flex h-full min-h-0 flex-col gap-2 overflow-auto p-3",onBlur:s=>{s.currentTarget.contains(s.relatedTarget)||c.releaseFor(d)},children:[a.jsxs("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[a.jsx("p",{className:"text-muted-foreground mr-auto text-sm",role:"status",children:n?"Disconnected":r?"You have control":e?"Watching":"Connecting…"}),r?a.jsx(y,{variant:"outline",onClick:()=>void v(),children:"Return control"}):a.jsx(y,{variant:"outline",disabled:!e||m,"aria-disabled":l||!e||m,"aria-busy":l,onClick:()=>void N(),children:"Take over"}),t&&a.jsx(y,{variant:"ghost",onClick:t,children:"Close view"})]}),n&&a.jsx("p",{role:"alert",className:"text-destructive text-sm",children:"Disconnected. Trying to reconnect…"}),u&&!n&&a.jsx("p",{role:"alert",className:"text-destructive text-sm",children:"Couldn’t take control. Try again."}),e?a.jsx("div",{ref:E,role:"application","aria-label":"Computer desktop control","aria-describedby":q,tabIndex:r?0:-1,className:I("focus-visible:ring-ring block min-h-20 w-full flex-1 rounded-md outline-none select-none focus-visible:ring-2",r?"touch-none":"touch-pan-y"),onDragStart:s=>s.preventDefault(),onContextMenu:s=>s.preventDefault(),onPointerDown:s=>w(s,"down"),onPointerMove:s=>w(s,"move"),onPointerUp:s=>w(s,"up"),onPointerCancel:()=>void c.releaseFor(d),onKeyDown:s=>{if(r){if(s.preventDefault(),s.key==="Escape"&&s.ctrlKey&&s.shiftKey){v();return}s.repeat||x({kind:"key",key:s.key,action:"down"})}},onKeyUp:s=>{r&&(s.preventDefault(),x({kind:"key",key:s.key,action:"up"}))},children:a.jsx("img",{src:e.dataUrl,width:e.width,height:e.height,alt:"Live computer desktop",draggable:!1,className:"block h-full w-full rounded-md object-contain"})}):a.jsx("p",{role:"status",className:"text-muted-foreground py-10 text-center text-sm",children:"Waiting for the desktop…"}),r&&a.jsx(U,{send:x},r.leaseId),a.jsx("p",{id:q,className:I("text-muted-foreground shrink-0 text-xs",!r&&"sr-only"),children:"Press Control + Shift + Escape to return control."}),t&&a.jsx("p",{className:"text-muted-foreground shrink-0 text-xs",children:"Closing this view keeps the computer running."})]})}export{_ as C,Y as a,Q as r,z as u};
|
package/dist/client/assets/{ConnectionAccessLists-DYUiFmPY.js → ConnectionAccessLists-2qFBRKpv.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s,e as x,B as o,a0 as m,a1 as u,a2 as h,a3 as g}from"./index-
|
|
1
|
+
import{j as s,e as x,B as o,a0 as m,a1 as u,a2 as h,a3 as g}from"./index-B2JoVHek.js";import{u as p,s as l,a as j,b as f}from"./access-copy-EuKlRWLG.js";import{Q as N}from"./query-error-state-BV8fyXBe.js";const v={agent:"From the agent",this_chat:"Only in this chat"};function k({agentId:n,onManage:e}){var i;const a=p(n);if(a.isPending)return s.jsx(x,{className:"h-24 w-full rounded-lg"});if(a.isError)return s.jsx(N,{title:"Couldn’t load account access",description:"Nothing changed. Try again.",onRetry:()=>void a.refetch(),isRetrying:a.isFetching});const c=((i=a.data)==null?void 0:i.connections)??[];return s.jsxs("section",{"aria-labelledby":"agent-account-access",className:"space-y-3",children:[s.jsxs("div",{className:"flex items-center justify-between gap-3",children:[s.jsxs("div",{children:[s.jsx("h3",{id:"agent-account-access",className:"text-sm font-semibold",children:"Account access"}),s.jsx("p",{className:"text-muted-foreground mt-0.5 text-xs",children:"Accounts this agent can use."})]}),e&&s.jsxs(o,{variant:"ghost",size:"sm",onClick:e,children:["Manage",s.jsx(m,{className:"size-3.5","aria-hidden":!0})]})]}),c.length===0?s.jsxs("div",{className:"bg-muted/40 rounded-lg p-4 text-sm",children:[s.jsx("p",{className:"font-medium",children:"No account access"}),s.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:"Give access from the Connections page."})]}):s.jsx("ul",{className:"space-y-1.5",children:c.map(t=>{const r=t.readiness.state==="ready";return s.jsxs("li",{"data-testid":`agent-connection-${t.connectionId}`,className:"bg-muted/40 flex min-h-11 items-center gap-3 rounded-lg px-3 py-2",children:[s.jsx(u,{iconKey:t.toolkit,displayName:l(t.toolkit),className:"size-7"}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("p",{className:"truncate text-sm font-medium",children:[l(t.toolkit)," (",t.label,")"]}),s.jsxs("p",{className:"text-muted-foreground text-xs",children:[t.operationRevisionIds.length," approved"," ",t.operationRevisionIds.length===1?"action":"actions",t.everyAgent&&" · given to every agent"]})]}),s.jsx(h,{size:"xs",variant:r?"secondary":"outline",title:r?void 0:t.readiness.copy.owner,children:r?"Available":"Unavailable"})]},t.connectionId)})})]})}const y="This only affects this chat. Turning an app back on never adds access.",C="Couldn’t change access for this chat. Try again.";function b(n){return(n==null?void 0:n.code)==="session_access_other_agent"?n.message:C}function T({sessionId:n,onManage:e,emptyAction:a,footer:c}){var r;const i=j(n);if(i.isPending)return s.jsx(x,{className:"h-16 w-full rounded-lg"});if(i.isError)return s.jsxs("section",{"data-testid":"session-connectors",className:"space-y-2",children:[s.jsx("p",{role:"alert",className:"text-destructive px-1 text-xs",children:"Couldn’t load account access."}),s.jsx(o,{variant:"ghost",size:"sm",onClick:()=>void i.refetch(),children:"Try again"})]});const t=((r=i.data)==null?void 0:r.connections)??[];return s.jsxs("section",{"data-testid":"session-connectors","aria-labelledby":"session-account-access",className:"space-y-1",children:[s.jsxs("div",{className:"flex items-center justify-between gap-2 px-1 pb-1",children:[s.jsx("h3",{id:"session-account-access",className:"text-muted-foreground text-xs font-medium tracking-wide uppercase",children:"Connections"}),e&&s.jsxs(o,{variant:"ghost",size:"xs",onClick:e,children:["Manage agent access",s.jsx(m,{className:"size-3","aria-hidden":!0})]})]}),t.length===0?s.jsxs("div",{className:"bg-muted/40 space-y-2 rounded-md px-2.5 py-3",children:[s.jsxs("div",{children:[s.jsx("p",{className:"text-sm font-medium",children:"No account access"}),s.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:"Ask this agent to request the access it needs."})]}),a]}):s.jsxs(s.Fragment,{children:[t.some(d=>d.thisChat)&&s.jsx("p",{className:"text-muted-foreground px-1 pb-1 text-xs",children:y}),t.map(d=>s.jsx(S,{sessionId:n,connection:d},d.connectionId))]}),t.length>0&&c]})}function S({sessionId:n,connection:e}){const a=f(n),c=e.readiness.state==="ready",i=`${l(e.toolkit)} (${e.label})`;return s.jsxs("div",{"data-testid":`session-connection-${e.connectionId}`,"data-reason":e.readiness.reason,className:"bg-muted/40 rounded-md px-2.5 py-2",children:[s.jsxs("div",{className:"flex items-start gap-2",children:[s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[s.jsx("span",{className:"text-sm font-medium",children:i}),s.jsx(h,{size:"xs",variant:c?"secondary":"outline",children:c?v[e.source]:"Not available"})]}),s.jsx("p",{className:c?"text-muted-foreground mt-1 text-xs":"text-status-warning-fg mt-1 text-xs",children:c?`${e.operationRevisionIds.length} ${e.operationRevisionIds.length===1?"action":"actions"} available in this chat.`:e.readiness.copy.owner})]}),e.thisChat&&s.jsx(g,{"aria-label":`${i} in this chat`,"data-testid":`session-connection-switch-${e.connectionId}`,checked:e.thisChat==="on",disabled:a.isPending,onCheckedChange:t=>a.mutate({connectionId:e.connectionId,on:t}),className:"mt-0.5 shrink-0"})]}),a.isError&&e.thisChat&&s.jsx("p",{role:"alert",className:"text-destructive mt-1 text-xs",children:b(a.error)})]})}export{k as A,T as S};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as Z,a5 as H,a8 as Q,r,
|
|
1
|
+
import{O as Z,a5 as H,a8 as Q,r,ba as J,j as e,G as I,bD as K,a2 as F,dn as X,dp as Y,dq as ee,ge as se,gf as te,B,gg as ae,gh as ne,gi as R,x as ie,gj as re,gk as L,gl as ce,gm as oe,bO as de,bP as le,bQ as me,bR as ue,bS as pe,bT as xe,bU as ge,bW as he,gn as fe,go as je,f as ye,gp as ve,gq as Ne,gr as W,dR as N,am as be,b as Ce,e as Te}from"./index-B2JoVHek.js";import{A as Ie}from"./ConnectionAccessLists-2qFBRKpv.js";import{u as Ae}from"./use-bindings-CEhDyZoj.js";import{b as Se,u as we,a as ke,t as De,B as Re}from"./BindingDialog-DX1N_tTX.js";import{u as Me}from"./use-delete-binding-Cr9soEn-.js";import{u as Pe,A as Be}from"./AdapterSetupWizard-CNga-lEN.js";import{u as Ee}from"./use-external-adapter-catalog-D3xkw3mY.js";import"./relay-trace-schemas-eOfnfe4X.js";import{A as _,a as P,b as ze}from"./AdapterIcon-Dm5QP8_9.js";import{R as q}from"./radio-SApjvqfy.js";import"./access-copy-EuKlRWLG.js";import"./query-error-state-BV8fyXBe.js";import"./empty-state-CHse95jw.js";import"./form-B51NLChW.js";import"./trust-posture-Dk5ctS0Q.js";import"./trust-dial-BsEooNiu.js";import"./zap-C-pr1sst.js";import"./markdown-content-FcvkqTTS.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|