dorkos 0.127.0 → 0.127.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +1059 -729
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-BnnwvwU1.js → AboutPage-CwNzli7O.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-DW-plne9.js → ActivityErrorState-D9UR9aYX.js} +1 -1
- package/dist/client/assets/{ActivityPage-BMrtNC9t.js → ActivityPage-DeL7N0Rt.js} +1 -1
- package/dist/client/assets/{ActivityRow-BnBDxJqK.js → ActivityRow-DuuG4S5E.js} +1 -1
- package/dist/client/assets/{AdapterIcon-J2UUIfEX.js → AdapterIcon-bYKCnumH.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-MDV6zwYC.js → AdapterSetupWizard-ByQU3Ryd.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-Dj2MlE6E.js → AgentOptionRow-CN9dDSeG.js} +1 -1
- package/dist/client/assets/{AgentPicker-D6MsFN_H.js → AgentPicker-Bbvnww9v.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-BTyuNOhU.js → AgentRequestCard-DmLUHbGa.js} +1 -1
- package/dist/client/assets/{AppearancePage-DJfJUAkw.js → AppearancePage-CS6bwH4x.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-Akw0_458.js → ApplyToOverridesDialog-DG6pYkhN.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-Cx9-sStN.js → AttentionSignalRow-ByeDJweR.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-CRlmlore.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-CSaHAO1F.js} +1 -1
- package/dist/client/assets/{BindingDialog-ZAX-h6D4.js → BindingDialog-nNZW4-SF.js} +1 -1
- package/dist/client/assets/{BlintzCanvas-fEMJgpNx.js → BlintzCanvas-BXwncq3A.js} +3 -3
- package/dist/client/assets/{CanvasCsvContent-CUoIFG7g.js → CanvasCsvContent-Dt7ko9e1.js} +1 -1
- package/dist/client/assets/{CanvasFileContent-Cg2jcXse.js → CanvasFileContent-TO3VAFTI.js} +2 -2
- package/dist/client/assets/{CanvasModel3dContent-BL-UiHAj.js → CanvasModel3dContent-DNK3EY5W.js} +2 -2
- package/dist/client/assets/{ChannelComposer-BHxXoQwT.js → ChannelComposer-Bfi3hAgy.js} +12 -12
- package/dist/client/assets/{ChatAppsOff-CSSu_yVC.js → ChatAppsOff-BxUf0caI.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-dfcDpguR.js → CodeMirrorDiff-C78KCVkj.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-C1YQ35ki.js → CodeMirrorEditor-BWSTKK9s.js} +1 -1
- package/dist/client/assets/{CommitmentList-B6RG_hWB.js → CommitmentList-oKrIigLt.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-CDFvo1lt.js → CommitmentsPage-DKtyvmFd.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-vJ8UfRNm.js → ComputerResourceView-DjtpGKRB.js} +1 -1
- package/dist/client/assets/{ComputerViewer-BTqPuZyh.js → ComputerViewer-B7a77fXa.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-DPnmOuiA.js → ConnectionAccessLists-BxLNtKdv.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-CSHnGkha.js → ConnectionsPage-DQEOL79u.js} +1 -1
- package/dist/client/assets/{ConventionPage-C6WsAvm4.js → ConventionPage-BJ1Fkt7H.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-CGjw2Cwy.js → ExtensionPageRoute-DMbNbOMW.js} +1 -1
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-CKlmwuIc.js → FloatingTanStackRouterDevtools-CqogiFob-BmisG40-.js} +1 -1
- package/dist/client/assets/{ForwardConsentHost-D8rVtTRp.js → ForwardConsentHost-DdEYtIvk.js} +1 -1
- package/dist/client/assets/HandlePage-rhsJ5LBy.js +1 -0
- package/dist/client/assets/{HeartbeatPage-DQImR4dY.js → HeartbeatPage-DsVZLbVN.js} +1 -1
- package/dist/client/assets/{KeyEntry-BerpQFQT.js → KeyEntry-B9twGZOd.js} +1 -1
- package/dist/client/assets/{LexicalField-CkcKNJGL.js → LexicalField-CBm1TZpt.js} +1 -1
- package/dist/client/assets/{ManagesPage-CV4xieFk.js → ManagesPage-bAtPePVC.js} +1 -1
- package/dist/client/assets/{Marketplace-Cp0e4Nv8.js → Marketplace-DRaPW5c2.js} +1 -1
- package/dist/client/assets/{MarketplaceSourcesView-ZBNnVSuv.js → MarketplaceSourcesView-lYEkmUGJ.js} +1 -1
- package/dist/client/assets/{McpAppFrame-BtKAUDBg.js → McpAppFrame-BzZqyRxQ.js} +1 -1
- package/dist/client/assets/{McpSigninBody-DjGrp_sO.js → McpSigninBody-oVPX3ZDZ.js} +1 -1
- package/dist/client/assets/{Model3dViewer-BSX1QGsE.js → Model3dViewer-DrS3qYW1.js} +1 -1
- package/dist/client/assets/NamePage-BvRDf9r1.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-DTQ7vFsa.js → NewDirectMessageMenu-BkPbuzx8.js} +1 -1
- package/dist/client/assets/{NotificationsPage-q7BDVKOz.js → NotificationsPage-CKU37E34.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-aAMKDAyc.js → OpenMeshSwitch-B7z7XHNR.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-CCAvadEZ.js → OperatorIdentityForm-BzZoS4KD.js} +1 -1
- package/dist/client/assets/{PermissionHistory-_8m4ohGq.js → PermissionHistory-D_WFGZtw.js} +1 -1
- package/dist/client/assets/{PermissionsPage-DHl8sCfQ.js → PermissionsPage-15DeeKpE.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-DOql0nWB.js → PersonalityPopover-CQ-iLQpo.js} +1 -1
- package/dist/client/assets/PhotoPage-CDCmTcmR.js +1 -0
- package/dist/client/assets/{PreviewRefusedNotice-BfvSYL-w.js → PreviewRefusedNotice-DzvwQvMr.js} +1 -1
- package/dist/client/assets/{ProfileFields-CX2mdPAV.js → ProfileFields-EgcVDViF.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-Cj_57NEG.js → ProfilePanelContainer-zAOmdAo9.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-D7F0PDw9.js → ProfileRolePicker-D5ScObov.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-BopMvYe7.js → PromptSuggestionChips-DlajKFMJ.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-CG_hjT_U.js → ReportsToPopover-BZBQY9rT.js} +1 -1
- package/dist/client/assets/{RoomSurface-Mt3dk4_6.js → RoomSurface-YZW_jtGD.js} +1 -1
- package/dist/client/assets/{RoomsPage-ByHhS_HA.js → RoomsPage-BY2Yzdxs.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-DS8_Au0B.js → RunsOnPopover-CeQJLljM.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-hhvWVRMu.js → RuntimeConnectFlow-BgLzK2Pf.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-NKy3mLEH.js → RuntimeSetupDialog-B9dgB_DN.js} +1 -1
- package/dist/client/assets/{SeenDevices-65oxnxk6.js → SeenDevices-C-4m1c9h.js} +1 -1
- package/dist/client/assets/{SessionsPage-WbWf0huR.js → SessionsPage-B5PdbDLK.js} +1 -1
- package/dist/client/assets/{SettingsDialog-e33ltTb6.js → SettingsDialog-C8TP1x7g.js} +1 -1
- package/dist/client/assets/{SkillsPage-Cj3XrV8s.js → SkillsPage-D5GNx64I.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-DJAGQuab.js → TaskDialogWrapper-DOpxfrLl.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-DNI1C274.js → TasksEmptyState-sW-pmnOm.js} +1 -1
- package/dist/client/assets/{TasksPage-Dc1j_X1K.js → TasksPage-BGtTF442.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-DWenh1bP.js → TeamComputerEntry-BCW51xMv.js} +1 -1
- package/dist/client/assets/{ToolsPage-CXKq_axq.js → ToolsPage-Craa3-78.js} +1 -1
- package/dist/client/assets/{TopologyGraph-DgTGLoaA.js → TopologyGraph-BVbPyC0W.js} +1 -1
- package/dist/client/assets/{TourHost-C4KKDX9k.js → TourHost-ChgzKB0c.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-GfsbP91q.js → UnlinkDialog-BtQvTzCP.js} +1 -1
- package/dist/client/assets/{UnreadDivider-C52_nmrB.js → UnreadDivider-qMUA2rFP.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-BZkAK-Ke.js → WidgetErrorCard-DcsOHVds.js} +1 -1
- package/dist/client/assets/{WithheldExtensionsNotice-Dt51QZLT.js → WithheldExtensionsNotice-Cts8hGJP.js} +1 -1
- package/dist/client/assets/{WorkView-YozVoXhb.js → WorkView-ynqZVa-o.js} +1 -1
- package/dist/client/assets/{_shell-BScdINMH.js → _shell-DOg4Lmhv.js} +1 -1
- package/dist/client/assets/{_shell._home-CUusDXBM.js → _shell._home-BZpx4Mbk.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-DPjJ1_vZ.js → _shell._home.activity-Dk3nKLHQ.js} +1 -1
- package/dist/client/assets/{_shell._home.index-CTBWy5Au.js → _shell._home.index-B9rvWnn_.js} +1 -1
- package/dist/client/assets/{_shell._home.tasks-DWFh5Qbq.js → _shell._home.tasks-BCPd5sNc.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-DWjB1sCd.js → _shell._home.workspaces-BVBkkkT0.js} +1 -1
- package/dist/client/assets/{_shell.channels-C6v3yOzH.js → _shell.channels-myIv11W5.js} +1 -1
- package/dist/client/assets/{_shell.connections-jXaP35mN.js → _shell.connections-DFZFVHNc.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-CyV-aboj.js → _shell.feedback-requests-tPcWZDaV.js} +1 -1
- package/dist/client/assets/_shell.marketplace-DIC-vQZq.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-Dk7fKhJ6.js +1 -0
- package/dist/client/assets/_shell.session-BAq7SnHK.js +1 -0
- package/dist/client/assets/{_shell.team-BPevCu33.js → _shell.team-IofNRuKL.js} +3 -3
- package/dist/client/assets/{_shell.threads-gzYSpt7x.js → _shell.threads-B-nWDy_6.js} +1 -1
- package/dist/client/assets/_shell.x._extensionId-B9CWzm8d.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-B9CWzm8d.js +1 -0
- package/dist/client/assets/{abnfDiagram-WEYOIA3C-iUnN9Com.js → abnfDiagram-WEYOIA3C-COAdUrvu.js} +1 -1
- package/dist/client/assets/{access-copy-CP0B1ZT9.js → access-copy-laAy9--H.js} +1 -1
- package/dist/client/assets/{arc-BVSQ4HBO.js → arc-2_zvZ-gp.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZHVYKT53-_zlUU8PS.js → architectureDiagram-ZHVYKT53-D2vJp2ju.js} +1 -1
- package/dist/client/assets/{banner-DTCBttcQ.js → banner-Dq7DY4At.js} +1 -1
- package/dist/client/assets/{blockDiagram-RJAE7QA3-COqNq2ny.js → blockDiagram-RJAE7QA3-CxjfUYKV.js} +1 -1
- package/dist/client/assets/{c4Diagram-XDPPPE54-Caa3QxQ_.js → c4Diagram-XDPPPE54-DBtTwidp.js} +1 -1
- package/dist/client/assets/{card-D9DO5nt4.js → card-fYp8lOoT.js} +1 -1
- package/dist/client/assets/channel-ByM_gaT3.js +1 -0
- package/dist/client/assets/{chunk-2E7WHVMD-BqirxZIN.js → chunk-2E7WHVMD-BAzBaRVY.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-CYGt3XQf.js → chunk-2Q5K7J3B-0_0KxG0G.js} +1 -1
- package/dist/client/assets/{chunk-4EMNKR2T-Bx234GPP.js → chunk-4EMNKR2T-DmpZgXUr.js} +1 -1
- package/dist/client/assets/{chunk-55XCU76K-CAA7du3_.js → chunk-55XCU76K-DOa5mrA1.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-Dxl-FvVz.js → chunk-5VM5RSS4-BqzmE_oJ.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-CjcTenhr.js → chunk-JWPE2WC7-C2F-qKzA.js} +1 -1
- package/dist/client/assets/{chunk-VQ5W62QI-COdK9J2i.js → chunk-VQ5W62QI-Cj9J_zab.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-DeXzMeSy.js → chunk-XXDRQBXY-Cyiza8Ap.js} +1 -1
- package/dist/client/assets/{chunk-ZCHMQSOR-C7r0u2k6.js → chunk-ZCHMQSOR-ITupr164.js} +2 -2
- package/dist/client/assets/{classDiagram-v2-4MYWR3UA-BSI2Eza3.js → classDiagram-v2-4MYWR3UA-BH0_3wSx.js} +1 -1
- package/dist/client/assets/{command-C7Cl56dV.js → command-tbegvEE8.js} +1 -1
- package/dist/client/assets/{cose-bilkent-JH36ORCC-CLzQXbOG.js → cose-bilkent-JH36ORCC-sZqlNAZ4.js} +1 -1
- package/dist/client/assets/{cpu-CLfYM0zq.js → cpu-DDplcjVv.js} +1 -1
- package/dist/client/assets/{cynefin-EF2NZ3EQ-e_0nKhb5.js → cynefin-EF2NZ3EQ-6Kjz5H9v.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-WF24UDRP-Cflfw_GE.js → cynefinDiagram-WF24UDRP-DK7-moDM.js} +1 -1
- package/dist/client/assets/{dagre-NK4GIZVX-D66Simjb.js → dagre-NK4GIZVX-C---Yw3S.js} +1 -1
- package/dist/client/assets/{diagram-CBK3MWTC-CJEeUCUY.js → diagram-CBK3MWTC-BZo3ih_3.js} +1 -1
- package/dist/client/assets/{diagram-I5XIIV2D-BPSiDLoN.js → diagram-I5XIIV2D-DsHN5Ikp.js} +1 -1
- package/dist/client/assets/{diagram-ODIL2UCW-DJptgW_s.js → diagram-ODIL2UCW-CVtFfjkm.js} +1 -1
- package/dist/client/assets/{diagram-PFBEJUXE-BECklqVg.js → diagram-PFBEJUXE-RrxvbTzz.js} +1 -1
- package/dist/client/assets/{diagram-RJA3I4VV-B-veBl7Z.js → diagram-RJA3I4VV-T4vRcsqE.js} +1 -1
- package/dist/client/assets/{diagram-TYUNFSNR-U8kleemE.js → diagram-TYUNFSNR-DvgDENOh.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-V4P3TTPT-DlwBfJCe.js → ebnfDiagram-V4P3TTPT-CT_Ykhnb.js} +1 -1
- package/dist/client/assets/{elk-QONTBCTQ-DnFzEb3y.js → elk-QONTBCTQ-1cHLrAbL.js} +1 -1
- package/dist/client/assets/{empty-state-2mQX7azC.js → empty-state-BuerUR2L.js} +1 -1
- package/dist/client/assets/{erDiagram-KYQIGQAA-CYTM37Ws.js → erDiagram-KYQIGQAA-sKNWkMEB.js} +1 -1
- package/dist/client/assets/{execution-config-COqY7hHn.js → execution-config-b_HoE2gl.js} +1 -1
- package/dist/client/assets/{file-CKSjJRX5.js → file-CG3ZGubn.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-ad7FedZ9.js → file-exclamation-point-CVXN_udI.js} +1 -1
- package/dist/client/assets/{file-text-DXPPkxAL.js → file-text-iUPjXTFV.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-BsDq4SYp.js → find-latest-widget-fence-DF1tpWBU.js} +1 -1
- package/dist/client/assets/{flowDiagram-IUGLLWBU-DD259OPj.js → flowDiagram-IUGLLWBU-Dpro5XJ_.js} +1 -1
- package/dist/client/assets/{form-C9cPRNOV.js → form-CiD71zin.js} +1 -1
- package/dist/client/assets/{format-cron-DIw9_M6c.js → format-cron-B88ttX8j.js} +1 -1
- package/dist/client/assets/{ganttDiagram-R7GPNTJY-BmoAVY6N.js → ganttDiagram-R7GPNTJY-CtR4oMUH.js} +1 -1
- package/dist/client/assets/{git-branch-DlUQMA-U.js → git-branch-DZBdAsc0.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PDYL7XHY-Db8GGxGr.js → gitGraphDiagram-PDYL7XHY--euaveVk.js} +1 -1
- package/dist/client/assets/{graph-BqwkokGk.js → graph-jzPQScij.js} +1 -1
- package/dist/client/assets/{heart-CRoafWCm.js → heart-CNrKCfIZ.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-D-QIuqsv.js → highlighted-body-KPVGNVTW-3HmPoqzm.js} +1 -1
- package/dist/client/assets/{image-lightbox-BZBT_ptW.js → image-lightbox-CV8y6iVA.js} +1 -1
- package/dist/client/assets/{image-off-Bc6AP3w0.js → image-off-0A5Y9ekR.js} +1 -1
- package/dist/client/assets/{index-jIAsl-Y5.js → index-1z7QYB4x.js} +2 -2
- package/dist/client/assets/{index-BeCzlnZ3.js → index-B2dE15Nh.js} +1 -1
- package/dist/client/assets/{index-CWfreKgt.js → index-BBSooI6P.js} +1 -1
- package/dist/client/assets/{index-Dtb34mrg.js → index-BKDTRodW.js} +1 -1
- package/dist/client/assets/{index-CNsZn6QE.js → index-BL3de6b2.js} +1 -1
- package/dist/client/assets/{index-bSzhhjtG.js → index-BLHGc7hd.js} +1 -1
- package/dist/client/assets/{index-ByyXrDny.js → index-BP95cLC1.js} +1 -1
- package/dist/client/assets/{index-CTFwtIJP.js → index-BU6kskMP.js} +1 -1
- package/dist/client/assets/index-BUTqV5Hw.js +1 -0
- package/dist/client/assets/{index-Clr1ssap.js → index-BZkrahcw.js} +1 -1
- package/dist/client/assets/{index-BHNwprrd.js → index-B_ScMg0T.js} +1 -1
- package/dist/client/assets/{index-CZ4wx2F3.js → index-Bgo2UMWk.js} +1 -1
- package/dist/client/assets/{index-zIfhHvVv.js → index-BihGQXHU.js} +1 -1
- package/dist/client/assets/index-BuLpfIsj.js +1 -0
- package/dist/client/assets/{index-Bw1l5I4w.js → index-BwqobvEU.js} +1 -1
- package/dist/client/assets/{index-CptdhVbC.js → index-C2NwvhhG.js} +1 -1
- package/dist/client/assets/{index-AxYQRAoO.js → index-COAKEYxS.js} +1 -1
- package/dist/client/assets/{index-CWx_JEio.js → index-CeqxJyr2.js} +1 -1
- package/dist/client/assets/{index-zSj20f3H.js → index-ClIWAc6a.js} +1 -1
- package/dist/client/assets/{index-CMWttCLt.js → index-CsGjmUNs.js} +1 -1
- package/dist/client/assets/{index-a8LKmWxN.js → index-Cu4ctkPn.js} +1 -1
- package/dist/client/assets/{index-CoFRHepD.js → index-D0wnu6mZ.js} +1 -1
- package/dist/client/assets/{index-DDGc0Nfu.js → index-D6lfnwuN.js} +1 -1
- package/dist/client/assets/{index-Cs9yQ5zH.js → index-D7HEC8Yo.js} +1 -1
- package/dist/client/assets/{index-Hf3kLtiJ.js → index-DFSOBVsY.js} +1 -1
- package/dist/client/assets/{index-y1yAU07O.js → index-DGl_kpd1.js} +1 -1
- package/dist/client/assets/{index-CFV7Ggyj.js → index-DKxKfg7Y.js} +1 -1
- package/dist/client/assets/{index-Be3_cvW0.js → index-DTmOp_1r.js} +1 -1
- package/dist/client/assets/{index-BwOvHDL2.js → index-DdHstbQU.js} +1 -1
- package/dist/client/assets/{index-mrbr3BaJ.js → index-DdLM7r4n.js} +1 -1
- package/dist/client/assets/{index-x0XGESNQ.js → index-DjmZGH7V.js} +1 -1
- package/dist/client/assets/{index-DV5hFlfw.js → index-DloK7L_D.js} +1 -1
- package/dist/client/assets/{index-Cx2slDvh.js → index-DxYiYBCN.js} +1 -1
- package/dist/client/assets/{index-B_i3pTpf.js → index-DyyjN4h7.js} +1 -1
- package/dist/client/assets/{index-DwyVu2Mh.js → index-GPUOanO_.js} +1 -1
- package/dist/client/assets/{index-DMlo5rLX.js → index-JGRdQWAP.js} +1 -1
- package/dist/client/assets/{index-Cpy9wOYc.js → index-KUHF1hd1.js} +1 -1
- package/dist/client/assets/{index-eF6QtmU6.js → index-PQ9ky1pb.js} +1 -1
- package/dist/client/assets/{index-DfWZORsm.js → index-ZV77GAWw.js} +1 -1
- package/dist/client/assets/{index-B48IJBNm.js → index-_8SHxs8S.js} +247 -247
- package/dist/client/assets/{index-78G8l1M7.js → index-mG1tkeJL.js} +1 -1
- package/dist/client/assets/{index-sCJ7YWzB.js → index-qgNv3Cxj.js} +3 -3
- package/dist/client/assets/{index-okP_lDUw.js → index-zQs7Z5os.js} +1 -1
- package/dist/client/assets/{index.esm-uC5dql6Q.js → index.esm-C41qhCJ5.js} +1 -1
- package/dist/client/assets/{infoDiagram-MVDRKAX5-y6U3OQ5m.js → infoDiagram-MVDRKAX5-DrdZIXXy.js} +1 -1
- package/dist/client/assets/{inline-code-BCFlKPIb.js → inline-code-AHNJTNEg.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-HPEHV2GE-D32SA0vX.js → ishikawaDiagram-HPEHV2GE-DUbSK1_E.js} +1 -1
- package/dist/client/assets/{journeyDiagram-BOSHW7O7-D1X0dI8X.js → journeyDiagram-BOSHW7O7-BR52zXJU.js} +1 -1
- package/dist/client/assets/{kanban-definition-FNSA4HC5-gU9KcKa4.js → kanban-definition-FNSA4HC5-_Wcjt7SY.js} +1 -1
- package/dist/client/assets/{layers-A4MxcGWV.js → layers-IVPemhwp.js} +1 -1
- package/dist/client/assets/{lightbulb-Dh2dYHMS.js → lightbulb-DrVZQcOf.js} +1 -1
- package/dist/client/assets/{link-2-qEUih2FP.js → link-2-Irbj23wB.js} +1 -1
- package/dist/client/assets/{list-runtime-types-B1J9AtqH.js → list-runtime-types-BtXx3u9w.js} +1 -1
- package/dist/client/assets/{markdown-content-BA0KEJH_.js → markdown-content-DBXaMyx0.js} +1 -1
- package/dist/client/assets/{mention-pill-0aHe3D1A.js → mention-pill-BjC9bceV.js} +1 -1
- package/dist/client/assets/{mermaid.core-Birdr1kF.js → mermaid.core-BwsoL8Cm.js} +4 -4
- package/dist/client/assets/{message-square-off-DvVenheW.js → message-square-off-CIYKFEKw.js} +1 -1
- package/dist/client/assets/{mindmap-definition-6OY57UG3-CLlh3nSF.js → mindmap-definition-6OY57UG3-1IqhYOl3.js} +1 -1
- package/dist/client/assets/{more-details-Bo2AAXHj.js → more-details-CEMEkDUz.js} +1 -1
- package/dist/client/assets/{owner-notice-DReCUEf1.js → owner-notice-BJY5v-87.js} +1 -1
- package/dist/client/assets/{package-CxZe6vve.js → package-CTn_hN2S.js} +1 -1
- package/dist/client/assets/{page-container-Bx1sr900.js → page-container-Cde6fRTi.js} +1 -1
- package/dist/client/assets/{pane-resize-handle-ojhYGmDs.js → pane-resize-handle-CyT6JG8q.js} +1 -1
- package/dist/client/assets/{paperclip-D3-8ygf1.js → paperclip-szlXSQSk.js} +1 -1
- package/dist/client/assets/{path-input-D_o1_pAa.js → path-input-AlewPslD.js} +1 -1
- package/dist/client/assets/{pegDiagram-ECIUJNBX-BeMd_oXJ.js → pegDiagram-ECIUJNBX-Djw-8h2r.js} +1 -1
- package/dist/client/assets/{pieDiagram-GNMPY74T-CXUXnp_A.js → pieDiagram-GNMPY74T-DsZyw9x9.js} +1 -1
- package/dist/client/assets/{plug-Du5LK0oZ.js → plug-CgD9bf2Y.js} +1 -1
- package/dist/client/assets/{primer-trigger-BxofQe1n.js → primer-trigger-ZBFgqPeY.js} +1 -1
- package/dist/client/assets/{profile-errors-C0BgTjzk.js → profile-errors-Lfs66dvr.js} +1 -1
- package/dist/client/assets/{progress-AKcr8opu.js → progress-BKspNOdx.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-D57K4MC3-FTkKRlZm.js → quadrantDiagram-D57K4MC3-D_Vi6U-2.js} +1 -1
- package/dist/client/assets/{query-error-state-CRmZMMkL.js → query-error-state-B9bR1eRh.js} +1 -1
- package/dist/client/assets/{radio-DQHR6Su5.js → radio-CmZ30mVT.js} +1 -1
- package/dist/client/assets/{railroadDiagram-Y72NRBL7-D5TdGrPg.js → railroadDiagram-Y72NRBL7-C6PgeQHt.js} +1 -1
- package/dist/client/assets/{registry-BxY1lah6.js → registry-CSe_ncC2.js} +4 -4
- package/dist/client/assets/registry-D10b3VBA.js +1 -0
- package/dist/client/assets/{relay-trace-schemas---fuhTF2.js → relay-trace-schemas-CdZnmG6_.js} +1 -1
- package/dist/client/assets/{repeat-zL9y24zY.js → repeat-DmCgFtjt.js} +1 -1
- package/dist/client/assets/{requirementDiagram-EQYSW5RA-Dxiv9lE0.js → requirementDiagram-EQYSW5RA-CnNYn7qe.js} +1 -1
- package/dist/client/assets/{room-files-source-B0WR4gIC.js → room-files-source-BbEFTxX0.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-BUhy2_cF.js → rotate-ccw-clock-k0vIMOao.js} +1 -1
- package/dist/client/assets/{rotate-cw-CCrNd4eJ.js → rotate-cw-OJ7jzj3C.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-SY24JHO5-C3jjstXq.js → sankeyDiagram-SY24JHO5-0KFthF8u.js} +1 -1
- package/dist/client/assets/{scroll-area-D6gNpFjK.js → scroll-area-vYE-OvYe.js} +1 -1
- package/dist/client/assets/{search-x-CUZ1LRYe.js → search-x-mbqB9SFV.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-BLEHNHQU-CIDmjz0x.js → sequenceDiagram-BLEHNHQU-BD3TzBXD.js} +1 -1
- package/dist/client/assets/{shield-x-Ch7sY2XD.js → shield-x-By16ILlp.js} +1 -1
- package/dist/client/assets/{signed-in-BQ44fFH5.js → signed-in-DNUF_3Fa.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-Dkp-75Wy.js → sizeCapture-INFHLROL-BIJvrYdE.js} +1 -1
- package/dist/client/assets/{soul-file-CTFcpRMh.js → soul-file-C81l7z8x.js} +1 -1
- package/dist/client/assets/{stateDiagram-v2-A6IESKWZ-L_51UnwV.js → stateDiagram-v2-A6IESKWZ-CtigYKfx.js} +1 -1
- package/dist/client/assets/{swimlanes-B3ENRKFQ-D-etAQQd.js → swimlanes-B3ENRKFQ-CPMK7lCN.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C24DKoiY.js +8 -0
- package/dist/client/assets/{table-D6BUawIb.js → table-jPIEjPov.js} +1 -1
- package/dist/client/assets/{timeline-definition-JXYKGLGB-DNxnC3VG.js → timeline-definition-JXYKGLGB-CtihfrW4.js} +1 -1
- package/dist/client/assets/{trust-posture-5IWBJmA5.js → trust-posture-olfknSP7.js} +1 -1
- package/dist/client/assets/{unplug-BVIT6OSL.js → unplug-Bm7nHhBA.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-BA7_V-80.js → unverified-catalog-notice-DogkKIUJ.js} +1 -1
- package/dist/client/assets/{use-bindings-DdWRXvtd.js → use-bindings-C0bBY5jd.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-DC5w4eWw.js → use-composer-prefs-V6vxLUUc.js} +1 -1
- package/dist/client/assets/{use-connector-management-DDlpD6tk.js → use-connector-management-DLOJoz45.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-Cvv0VcXx.js → use-deep-link-scroll-ODQAWdEP.js} +1 -1
- package/dist/client/assets/{use-delete-binding-D585ISkL.js → use-delete-binding-BL0OOgo0.js} +1 -1
- package/dist/client/assets/{use-dev-links-BwS5hgur.js → use-dev-links-DmzL_awM.js} +1 -1
- package/dist/client/assets/{use-direct-message-panel--unflmj8.js → use-direct-message-panel-7DpsxnS_.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-DUyh1bH1.js → use-external-adapter-catalog-D7yXhN3U.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-DsNOIkL8.js → use-full-activity-feed-CnShEfSU.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-C1nTBNsP.js +1 -0
- package/dist/client/assets/{use-local-browser-DGIut7R4.js → use-local-browser-Ba-XDxE0.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-DNXD7seM.js → use-mesh-topology-DhUhzu7Y.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-7xoMthh4.js → use-mounted-ref-Vm8D40hS.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-CzibxpTZ.js → use-notification-prefs-Cjb26GhZ.js} +1 -1
- package/dist/client/assets/use-pending-read-r81zBhY9.js +1 -0
- package/dist/client/assets/{use-personality-commit-isaMS7W5.js → use-personality-commit-D1SSZI1q.js} +1 -1
- package/dist/client/assets/{use-promo-activation-DesLEeyi.js → use-promo-activation-D1DYLKS8.js} +1 -1
- package/dist/client/assets/{use-promo-dismissals-DQi8tey8.js → use-promo-dismissals-ByGIekeo.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-DPplpvcq.js → use-pulse-freshness-CDqh0_k8.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-C4UikQzz.js → use-room-follow-claim-ysyr_uyD.js} +1 -1
- package/dist/client/assets/{use-room-sessions-C6wsszcG.js → use-room-sessions-_zhdKcKj.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-DEh387tR.js → use-roving-tab-list-CoJ0aHCJ.js} +1 -1
- package/dist/client/assets/{use-session-canvas-B2CM1KZu.js → use-session-canvas-IKy8PO1l.js} +3 -3
- package/dist/client/assets/{use-status-budget-CltxSIUD.js → use-status-budget-yYQ7GR9y.js} +1 -1
- package/dist/client/assets/{use-transform-CNLqlc2h.js → use-transform-B5MsPCLG.js} +1 -1
- package/dist/client/assets/{use-unclaimed-chats-DJyl7A1E.js → use-unclaimed-chats-CjOWILFh.js} +1 -1
- package/dist/client/assets/use-update-config-B49bVEOw.js +1 -0
- package/dist/client/assets/{useMutationState-BX-ggHVY.js → useMutationState-4dFTMb_f.js} +1 -1
- package/dist/client/assets/{usecaseDiagram-WPOLBNNX-2l6yZUUH.js → usecaseDiagram-WPOLBNNX-DD4D-089.js} +1 -1
- package/dist/client/assets/{vennDiagram-Q3Y3IDCW-DIOfjNDq.js → vennDiagram-Q3Y3IDCW-DjVDYX3w.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-IVAIDKWA-B5Hx1we8.js → wardleyDiagram-IVAIDKWA-bupKx7P8.js} +1 -1
- package/dist/client/assets/{xychartDiagram-4URNHDU4-sy90CqIK.js → xychartDiagram-4URNHDU4-DoCyS7MC.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/drizzle/20261030041403_dor3376_project_only_schedules.sql +1 -0
- package/dist/drizzle/meta/20261030041403_snapshot.json +14101 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/server/index.js +16905 -15493
- package/dist/server/index.js.map +2 -2
- package/package.json +5 -5
- package/dist/client/assets/HandlePage-BciCIffv.js +0 -1
- package/dist/client/assets/NamePage-tBV32PJI.js +0 -1
- package/dist/client/assets/PhotoPage-DtX2GEvQ.js +0 -1
- package/dist/client/assets/_shell.marketplace-Cp2Udmlv.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-Dg0YgG-u.js +0 -1
- package/dist/client/assets/_shell.session-DyKnijqi.js +0 -1
- package/dist/client/assets/_shell.x._extensionId-BA0u_ZTU.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-BA0u_ZTU.js +0 -1
- package/dist/client/assets/channel-CenDG0-I.js +0 -1
- package/dist/client/assets/index-DSt16Y0s.js +0 -1
- package/dist/client/assets/index-sZ8Dddnp.js +0 -1
- package/dist/client/assets/registry-CWK5lzYs.js +0 -1
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-zjIBWGY4.js +0 -8
- package/dist/client/assets/use-is-below-desktop-C-4kc5lS.js +0 -1
- package/dist/client/assets/use-pending-read-BTR5-HXf.js +0 -1
- package/dist/client/assets/use-update-config-B2rsDnxk.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CodeMirrorEditor-
|
|
2
|
-
import{r as a,aW as z,h7 as ce,j as t,G as O,g0 as oe,g1 as le,B as D,g2 as ue,g3 as de,g4 as X,h8 as fe,dj as he,dk as pe,J as me,gh as ve,dl as xe,a3 as ge,h9 as be,aX as ee,a1 as ye,ha as je,a2 as Ce}from"./index-B48IJBNm.js";import{u as ke,a as we,b as Re}from"./use-session-canvas-B2CM1KZu.js";import{R as Te}from"./rotate-cw-CCrNd4eJ.js";import"./query-keys-DeYqUDia.js";import"./index.esm-uC5dql6Q.js";import"./WidgetErrorCard-BZkAK-Ke.js";import"./index-Hf3kLtiJ.js";import"./card-D9DO5nt4.js";import"./progress-AKcr8opu.js";import"./markdown-content-BA0KEJH_.js";import"./table-D6BUawIb.js";import"./package-CxZe6vve.js";import"./heart-CRoafWCm.js";import"./git-branch-DlUQMA-U.js";import"./file-text-DXPPkxAL.js";import"./file-CKSjJRX5.js";import"./McpAppFrame-BtKAUDBg.js";import"./more-details-Bo2AAXHj.js";function B(e,r){return["canvas-file",e,r]}function Ne({documentId:e,sourcePath:r,binding:d,save:n,draftRef:o,revisionRef:s,finishAttemptRef:C,timerRef:y,finalSaveRef:b,invalidateConfirmedFile:p}){const x=a.useRef({binding:d,save:n,invalidateConfirmedFile:p}),_=a.useRef(null),f=a.useRef(null);return a.useLayoutEffect(()=>{x.current={binding:d,save:n,invalidateConfirmedFile:p}}),a.useLayoutEffect(()=>{const w=z.getState().openDocuments.find(m=>m.id===e);if(!w||typeof w.openedAt!="number")return;const R=ce(e,w.openedAt,r,{required:()=>!!x.current.binding,current:()=>{const m=f.current;return!!m&&m.revision===s.current&&m.attempt===C.current&&m.binding===x.current.binding&&m.save===x.current.save&&m.binding.current()},invalidateConfirmedFile:()=>x.current.invalidateConfirmedFile(),prepare:async()=>{var c;f.current=null;const{binding:m,save:T}=x.current;if(!(m!=null&&m.current()))return!1;y.current&&(clearTimeout(y.current),y.current=null);const F=o.current,g=s.current,l=++C.current,i=await T(F);return i.status!=="changed"&&i.status!=="no_op"||i.confirmed.content!==F||s.current!==g||C.current!==l||x.current.binding!==m||x.current.save!==T||!m.current()?!1:((c=b.current)==null||c.cancel(),b.current=null,f.current={revision:g,attempt:l,binding:m,save:T},!0)}});return _.current=R,()=>R.retire()},[e,r,o,s,C,y,b]),_}function M(e){return e.status==="refused"||e.status==="local_uncertain"?e.status:"unavailable"}function _e(e,r,d){var l;const n=a.useRef(e),o=a.useRef(null),s=a.useRef(null),[C,y]=a.useState({identity:e.identity,phase:"pending",busy:!1});a.useLayoutEffect(()=>{n.current=e},[e]);const b=a.useCallback((i,c)=>{o.current===i&&n.current.identity===i&&n.current.current()&&y(u=>({identity:i,...c,historical:c.historical??(u.identity===i?u.historical:void 0)}))},[]),p=a.useCallback(i=>{o.current!==i||n.current.identity!==i||y(c=>c.identity===i?{...c,phase:"unavailable",busy:!1}:{identity:i,phase:"unavailable",busy:!1})},[]),x=e.identity,_=e.supported;a.useLayoutEffect(()=>{const i=n.current;s.current=null,o.current=x;let c=!1;return _&&r==="ready"&&i.discover().then(u=>{c||(u.status==="observed"?b(x,{phase:"ready",discovery:u.value,busy:!1}):u.status!=="idle"?b(x,{phase:M(u),busy:!1}):p(x))}),()=>{c=!0,s.current=null,o.current===x&&(o.current=null)}},[x,_,r,d,b,p]);const f=C.identity===e.identity?C:void 0,w=a.useCallback(async()=>{const i=n.current,c=i.identity;if(o.current!==c||!i.current())return;s.current=null,y(j=>({identity:c,phase:"pending",busy:!0,historical:j.identity===c?j.historical:void 0}));const u=await i.discover(!0);u.status==="observed"?b(c,{phase:"ready",discovery:u.value,busy:!1}):u.status!=="idle"?b(c,{phase:M(u),busy:!1}):p(c)},[b,p]),R=a.useCallback(async i=>{const c=n.current,u=c.identity;if(o.current!==u||!c.current())return;s.current=null,y(h=>({identity:u,phase:"pending",busy:!0,discovery:h.identity===u?h.discovery:void 0,historical:h.identity===u?h.historical:void 0}));const j=await c.recover(i);j.status==="observed"?b(u,{phase:"ready",discovery:j.value.discovery,historical:j.value.result.entry,busy:!1}):j.status!=="idle"?b(u,{phase:M(j),busy:!1}):p(u)},[b,p]),m=a.useCallback(async()=>{const i=n.current,c=i.identity;if(o.current!==c||!i.current())return{status:"idle"};const u={};s.current=u,y(h=>h.identity===c?{...h,phase:"pending",busy:!0}:h);const j=await i.inspectCurrent();return s.current!==u?{status:"idle"}:(s.current=null,j.status==="idle"&&p(c),o.current===c&&n.current.identity===c&&i.current()&&j.status!=="idle"&&y(h=>h.identity===c?{...h,phase:j.status==="observed"?"ready":M(j),busy:!1}:h),j)},[p]),T=e.supported&&r==="ready",F=r==="pending"?"pending":(f==null?void 0:f.phase)??"pending",g=T&&(F!=="ready"||((l=f==null?void 0:f.discovery)==null?void 0:l.admission)==="blocked");return{supported:T,phase:F,editBlocked:g,busy:(f==null?void 0:f.busy)??F==="pending",discovery:f==null?void 0:f.discovery,historical:f==null?void 0:f.historical,refresh:w,recover:R,inspectCurrent:m}}const Fe={unavailable:"Couldn’t check previous saves, so editing is off.",refused:"This file can’t be edited from this canvas."};function Pe(e){var r,d,n;return e.supported?e.phase==="unavailable"||e.phase==="refused"||e.phase==="local_uncertain"?!0:((r=e.discovery)==null?void 0:r.admission)==="blocked"||((d=e.discovery)==null?void 0:d.entries.some(o=>o.state==="review"))===!0||((n=e.historical)==null?void 0:n.state)==="receipt":!1}function Z({recovery:e,editing:r,loadCurrent:d}){var o;if(e.phase==="unavailable"||e.phase==="refused")return t.jsxs(t.Fragment,{children:[t.jsx("p",{role:"alert",className:"col-start-1 row-start-1 py-1.5",children:Fe[e.phase]}),t.jsx(D,{type:"button",size:"sm",variant:"outline",className:"col-span-2 col-start-1 row-start-2 mb-1.5 justify-self-start @md:col-span-1 @md:col-start-2 @md:row-start-1 @md:mb-0",disabled:e.busy||r,onClick:()=>void e.refresh(),children:"Check again"})]});if(e.phase==="local_uncertain")return t.jsx("p",{role:"alert",children:"Use Retry original save. Checking previous saves won’t confirm this save."});const n=e.discovery;return t.jsxs("div",{className:"space-y-1",children:[(n==null?void 0:n.admission)==="blocked"&&t.jsx("p",{role:"alert",children:"An unresolved original save blocks this file. This list may not include the blocking operation."}),(n==null?void 0:n.hasMore)&&t.jsx("p",{children:"Only the latest 25 matching saves are shown. Older evidence is omitted."}),n&&n.entries.length>0&&t.jsx(t.Fragment,{children:t.jsx("ul",{children:n.entries.map(s=>t.jsxs("li",{children:[t.jsxs("span",{children:[s.eventId,":"," ",s.state==="receipt"?"Historical save recorded":s.state==="review"?"Original save needs review":s.state==="no_op"?"Original save made no change":"Original save failed before replacement"]}),s.state==="review"&&(s.reason==="prepared_without_replacement"?t.jsx("p",{children:"This save needs manual review. These controls won’t write the file."}):t.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[t.jsx("p",{children:"The original saved replacement must be proven before its receipt can be settled."}),t.jsx(D,{type:"button",size:"sm",variant:"outline",disabled:e.busy||r,onClick:()=>void e.recover(s.eventId),children:"Recover original receipt"})]}))]},s.eventId))})}),(n==null?void 0:n.admission)==="blocked"&&n.entries.length===0&&t.jsx("p",{children:"No matching recent saves."}),((o=e.historical)==null?void 0:o.state)==="receipt"&&t.jsxs("div",{role:"status",className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[t.jsxs("div",{children:[t.jsx("p",{children:"Previous save confirmed. Your current draft may differ."}),t.jsx("p",{children:e.historical.currentFileMatch==="different"?"The current file differs from that historical save.":e.historical.currentFileMatch==="same_saved_replacement"?"The saved replacement matched when checked; current bytes still require a fresh load.":"The current file was not checked."})]}),t.jsx(D,{type:"button",size:"sm",variant:"outline",disabled:r||e.editBlocked||e.busy,onClick:d,children:"Load current file"})]})]})}function Se({recovery:e,editing:r,loadCurrent:d}){return!e.supported||r?null:t.jsxs(oe,{children:[t.jsx(le,{asChild:!0,children:t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground","aria-label":"More file actions",children:t.jsx(ue,{className:"size-4"})})}),t.jsxs(de,{align:"end",children:[t.jsx(X,{disabled:e.busy,onSelect:()=>void e.refresh(),children:"Check previous saves"}),t.jsx(X,{disabled:e.editBlocked||e.busy,onSelect:()=>d(),children:"Load current file"})]})]})}function De({recovery:e,editing:r,loadCurrent:d,toolbar:n}){const o=Pe(e),s=e.phase==="unavailable"||e.phase==="refused";return t.jsxs(t.Fragment,{children:[e.supported&&e.phase==="pending"&&t.jsx("p",{role:"status",className:"sr-only",children:"Checking previous saves…"}),t.jsx("div",{...o?{role:"region","aria-label":"Previous file saves"}:{},className:O("shrink-0",o?"bg-muted text-foreground mx-2 mt-2 rounded-md py-1 pr-1 pl-3 text-sm":"flex justify-end px-2 pt-1",o&&(s?"@container":"flow-root")),children:t.jsxs("div",{className:O(o&&s&&"grid grid-cols-[1fr_auto] items-center gap-x-2 @md:grid-cols-[1fr_auto_auto]"),children:[t.jsx("div",{className:O("flex items-center gap-1",o&&!s&&"float-right ml-2",o&&s&&"col-start-2 row-start-1 @md:col-start-3"),children:n}),o&&(s?t.jsx(Z,{recovery:e,editing:r,loadCurrent:d}):t.jsx("div",{className:"py-1.5",children:t.jsx(Z,{recovery:e,editing:r,loadCurrent:d})}))]})})]})}function Le({editing:e,off:r,observation:d,onClick:n}){return t.jsx(fe,{children:t.jsxs(he,{...r?{}:{open:!1},children:[t.jsx(pe,{asChild:!0,children:t.jsx("span",{className:"inline-flex",children:t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground",onClick:n,"aria-label":e?"Finish editing":"Edit file",disabled:r,"data-document-save-observation":d,children:e?t.jsx(me,{className:"size-4"}):t.jsx(ve,{className:"size-4"})})})}),t.jsx(xe,{children:"Editing is off"})]})})}const Ee=a.lazy(()=>ee(()=>import("./CodeMirrorEditor-C1YQ35ki.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.CodeMirrorEditor}))),ze=a.lazy(()=>ee(()=>import("./BlintzCanvas-fEMJgpNx.js").then(e=>e.B),__vite__mapDeps([5,1,2,6,4,7])).then(e=>({default:e.BlintzCanvas}))),Be=500;function Me(e,r){return r==="markdown"||/\.(md|markdown|mdx)$/i.test(e)}function Oe(e){switch(e){case"saving":return"Saving…";case"saved":return"Saved";case"error":return"Couldn’t save";case"uncertain":return"Save not confirmed";default:return null}}function te({content:e,documentId:r,cwd:d,loaded:n,theme:o,isEditing:s,onEditingChange:C,setDocumentEditing:y,observedBinding:b,fileSaveObservation:p="unavailable",recoveryBinding:x}){const _=e.readOnly!==!0,f=Me(e.sourcePath,e.language),w=ge(),[R,m]=a.useState(n),[T,F]=a.useState(),g=a.useRef(b);a.useLayoutEffect(()=>{g.current=b},[b]);const l=ke({documentId:r,sourcePath:e.sourcePath,cwd:d,loadedContent:n,documentSaveBinding:T,documentRecoveryBinding:x}),i=_e(l.recovery,p,x),c=we({cwd:d,sourcePath:f?e.sourcePath:null,content:R,saved:l.status==="saved"}),u=a.useRef(!1),j=a.useRef(s);a.useLayoutEffect(()=>(u.current=!0,j.current=s,()=>{u.current=!1}),[s]);const h=a.useRef(null),S=a.useRef(R),L=a.useRef(0),A=a.useRef(0),I=a.useRef(l.save),K=a.useRef(l.prepareFinalSave),U=a.useRef(l.waitForCloseDrain),E=a.useRef(null),V=a.useRef(C),Y=Ne({documentId:r,sourcePath:e.sourcePath,binding:T,save:l.save,draftRef:S,revisionRef:L,finishAttemptRef:A,timerRef:h,finalSaveRef:E,invalidateConfirmedFile:()=>{w.invalidateQueries({queryKey:B(d,e.sourcePath)}).catch(()=>{})}});a.useEffect(()=>{S.current=R,I.current=l.save,K.current=l.prepareFinalSave,U.current=l.waitForCloseDrain,V.current=C});const $=a.useCallback(v=>{var k;L.current+=1,S.current=v,m(v),(k=E.current)==null||k.cancel(),E.current=K.current(v),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{h.current=null,I.current(S.current)},Be)},[]),se=()=>{var P;if(i.editBlocked||p==="pending"||p==="ready"&&!((P=g.current)!=null&&P.current()))return;const v=g.current,k=v&&Object.freeze({...v.incarnation});F(v!=null&&v.current()&&k?{incarnation:k,current:()=>{const N=g.current;return!!N&&be(k,N.incarnation)&&N.current()}}:void 0),L.current+=1,S.current=n,m(n),C(!0),y(r,!0)},ne=async()=>{h.current&&(clearTimeout(h.current),h.current=null);const v=S.current,k=L.current,P=++A.current,N=await I.current(v);if(N.status!=="changed"&&N.status!=="no_op"||L.current!==k||A.current!==P||N.confirmed.content!==v)return;const q=N.confirmed;q.content===S.current&&w.setQueryData(B(d,e.sourcePath),Q=>Q&&{...Q,content:q.content,hash:q.hash}),C(!1),y(r,!1)},re=()=>{w.invalidateQueries({queryKey:B(d,e.sourcePath)})};a.useEffect(()=>{var v;s||(h.current&&clearTimeout(h.current),h.current=null,(v=E.current)==null||v.cancel(),E.current=null)},[s]),a.useEffect(()=>{const v=Y.current;return()=>{var N;h.current&&(clearTimeout(h.current),h.current=null);const k=(N=E.current)==null?void 0:N.flush(),P=S.current;v==null||v.settleRetirement(Promise.resolve(k).then(()=>U.current(P))),E.current=null,y(r,!1),V.current(!1)}},[r,y,Y]);const G=async()=>{if(s||!u.current||i.editBlocked)return;const v=L.current,k=await i.inspectCurrent();k.status!=="observed"||!u.current||j.current||L.current!==v||!l.recovery.current()||w.setQueryData(B(d,e.sourcePath),P=>P&&{...P,...k.value})},ae=()=>{const v=l.adoptDisk();v!=null&&m(v)},ie=()=>{l.overwrite(S.current)},W=l.status==="saved"?l.confirmedContent!==R?"Unsaved changes":l.documentReceipt?"Save recorded":"Saved to file":Oe(l.status),J=s?R:n;return t.jsxs("div",{className:"relative flex h-full flex-col",children:[t.jsx(De,{recovery:i,editing:s,loadCurrent:()=>void G(),toolbar:t.jsxs(t.Fragment,{children:[_&&W&&t.jsx("span",{className:O("mr-1 text-xs",l.status==="error"?"text-destructive":"text-muted-foreground"),"aria-live":"polite",children:W}),!s&&p==="pending"&&t.jsx("span",{role:"status",children:"Checking document…"}),!s&&t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground",onClick:re,"aria-label":"Refresh from disk",children:t.jsx(Te,{className:"size-4"})}),_&&t.jsx(Le,{editing:s,off:!s&&(p==="pending"||i.editBlocked),observation:p,onClick:s?()=>void ne():se}),t.jsx(Se,{recovery:i,editing:s,loadCurrent:()=>void G()})]})}),l.status==="uncertain"&&t.jsxs("div",{role:"status",className:"mx-2 mt-2 flex items-center gap-2 text-sm",children:[t.jsx("span",{children:"Save not confirmed. Retry the original save before saving another draft."}),t.jsx(D,{type:"button",variant:"ghost",size:"sm",onClick:()=>void l.retryUnconfirmed(),children:"Retry original save"})]}),l.status==="conflict"&&t.jsxs("div",{className:"bg-destructive/10 text-destructive mx-2 mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 rounded-md px-3 py-2 text-sm",children:[t.jsx("span",{className:"flex-1",children:"This file changed on disk since you opened it."}),t.jsx(D,{type:"button",variant:"ghost",size:"sm",className:"h-7",onClick:ae,children:"Reload"}),t.jsx(D,{type:"button",variant:"destructive",size:"sm",className:"h-7",onClick:ie,children:"Overwrite"})]}),t.jsx("div",{className:"min-h-0 flex-1",children:t.jsx(a.Suspense,{fallback:t.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading editor…"}),children:f?t.jsx("div",{className:"px-2 pb-6",children:t.jsx(ze,{value:J,editable:s,onChange:s?$:void 0,wikiLinks:c})}):t.jsx(Ee,{value:J,editable:s,filename:e.sourcePath,languageHint:e.language,theme:o,onChange:s?$:void 0})})})]})}function Ae(e){const{fileSaveBinding:r,fileSaveObservation:d}=Re(e.documentId);return t.jsx(te,{...e,observedBinding:r,recoveryBinding:r,fileSaveObservation:d})}function Ie(e){switch(e==null?void 0:e.code){case"NOT_FOUND":return"This file doesn’t exist.";case"NOT_A_FILE":return"This path is a directory, not a file.";case"TOO_LARGE":return"This file is too large to open here.";case"BINARY_FILE":return"This file isn’t text, so the editor can’t show it.";default:return"This file couldn’t be loaded."}}function at({content:e,documentId:r}){const d=ye(),n=z(g=>g.selectedCwd),o=z(g=>g.setDocumentEditing),s=z(g=>{var l;return((l=g.openDocuments.find(i=>i.id===r))==null?void 0:l.editing)??!1}),C=je(),y=z(g=>g.canvasSessionId),b=z(g=>g.roomCanvasLiveRoomId),{data:p,error:x,isLoading:_}=Ce({queryKey:B(n,e.sourcePath),enabled:n!==null,queryFn:()=>d.readFileContent(n,e.sourcePath),staleTime:3e4,retry:!1}),[f,w]=a.useState(null),R=g=>{w(g&&p?{pinnedHash:p.hash}:null)};if(n===null)return t.jsx(H,{children:"Open a chat to view files."});if(_)return t.jsx(H,{children:"Loading file…"});if(x||!p)return t.jsx(H,{children:Ie(x)});const m=f!==null&&s,T=(m?f==null?void 0:f.pinnedHash:null)??p.hash,F=y&&!b?Ae:te;return t.jsx(F,{content:e,documentId:r,cwd:n,loaded:p.content,theme:C,isEditing:m,onEditingChange:R,setDocumentEditing:o},`${e.sourcePath}:${T}`)}function H({children:e}){return t.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:t.jsx("p",{children:e})})}export{at as CanvasFileContent};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/CodeMirrorEditor-BWSTKK9s.js","assets/index-_8SHxs8S.js","assets/index-Dry_agqN.css","assets/index-zQs7Z5os.js","assets/index-qgNv3Cxj.js","assets/BlintzCanvas-BXwncq3A.js","assets/index-BihGQXHU.js","assets/BlintzCanvas-DCXOV_yN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as a,aW as z,h7 as ce,j as t,G as O,g0 as oe,g1 as le,B as D,g2 as ue,g3 as de,g4 as X,h8 as fe,dj as he,dk as pe,J as me,gh as ve,dl as xe,a3 as ge,h9 as be,aX as ee,a1 as ye,ha as je,a2 as Ce}from"./index-_8SHxs8S.js";import{u as ke,a as we,b as Re}from"./use-session-canvas-IKy8PO1l.js";import{R as Te}from"./rotate-cw-OJ7jzj3C.js";import"./query-keys-DeYqUDia.js";import"./index.esm-C41qhCJ5.js";import"./WidgetErrorCard-DcsOHVds.js";import"./index-DFSOBVsY.js";import"./card-fYp8lOoT.js";import"./progress-BKspNOdx.js";import"./markdown-content-DBXaMyx0.js";import"./table-jPIEjPov.js";import"./package-CTn_hN2S.js";import"./heart-CNrKCfIZ.js";import"./git-branch-DZBdAsc0.js";import"./file-text-iUPjXTFV.js";import"./file-CG3ZGubn.js";import"./McpAppFrame-BzZqyRxQ.js";import"./more-details-CEMEkDUz.js";function B(e,r){return["canvas-file",e,r]}function Ne({documentId:e,sourcePath:r,binding:d,save:n,draftRef:o,revisionRef:s,finishAttemptRef:C,timerRef:y,finalSaveRef:b,invalidateConfirmedFile:p}){const x=a.useRef({binding:d,save:n,invalidateConfirmedFile:p}),_=a.useRef(null),f=a.useRef(null);return a.useLayoutEffect(()=>{x.current={binding:d,save:n,invalidateConfirmedFile:p}}),a.useLayoutEffect(()=>{const w=z.getState().openDocuments.find(m=>m.id===e);if(!w||typeof w.openedAt!="number")return;const R=ce(e,w.openedAt,r,{required:()=>!!x.current.binding,current:()=>{const m=f.current;return!!m&&m.revision===s.current&&m.attempt===C.current&&m.binding===x.current.binding&&m.save===x.current.save&&m.binding.current()},invalidateConfirmedFile:()=>x.current.invalidateConfirmedFile(),prepare:async()=>{var c;f.current=null;const{binding:m,save:T}=x.current;if(!(m!=null&&m.current()))return!1;y.current&&(clearTimeout(y.current),y.current=null);const F=o.current,g=s.current,l=++C.current,i=await T(F);return i.status!=="changed"&&i.status!=="no_op"||i.confirmed.content!==F||s.current!==g||C.current!==l||x.current.binding!==m||x.current.save!==T||!m.current()?!1:((c=b.current)==null||c.cancel(),b.current=null,f.current={revision:g,attempt:l,binding:m,save:T},!0)}});return _.current=R,()=>R.retire()},[e,r,o,s,C,y,b]),_}function M(e){return e.status==="refused"||e.status==="local_uncertain"?e.status:"unavailable"}function _e(e,r,d){var l;const n=a.useRef(e),o=a.useRef(null),s=a.useRef(null),[C,y]=a.useState({identity:e.identity,phase:"pending",busy:!1});a.useLayoutEffect(()=>{n.current=e},[e]);const b=a.useCallback((i,c)=>{o.current===i&&n.current.identity===i&&n.current.current()&&y(u=>({identity:i,...c,historical:c.historical??(u.identity===i?u.historical:void 0)}))},[]),p=a.useCallback(i=>{o.current!==i||n.current.identity!==i||y(c=>c.identity===i?{...c,phase:"unavailable",busy:!1}:{identity:i,phase:"unavailable",busy:!1})},[]),x=e.identity,_=e.supported;a.useLayoutEffect(()=>{const i=n.current;s.current=null,o.current=x;let c=!1;return _&&r==="ready"&&i.discover().then(u=>{c||(u.status==="observed"?b(x,{phase:"ready",discovery:u.value,busy:!1}):u.status!=="idle"?b(x,{phase:M(u),busy:!1}):p(x))}),()=>{c=!0,s.current=null,o.current===x&&(o.current=null)}},[x,_,r,d,b,p]);const f=C.identity===e.identity?C:void 0,w=a.useCallback(async()=>{const i=n.current,c=i.identity;if(o.current!==c||!i.current())return;s.current=null,y(j=>({identity:c,phase:"pending",busy:!0,historical:j.identity===c?j.historical:void 0}));const u=await i.discover(!0);u.status==="observed"?b(c,{phase:"ready",discovery:u.value,busy:!1}):u.status!=="idle"?b(c,{phase:M(u),busy:!1}):p(c)},[b,p]),R=a.useCallback(async i=>{const c=n.current,u=c.identity;if(o.current!==u||!c.current())return;s.current=null,y(h=>({identity:u,phase:"pending",busy:!0,discovery:h.identity===u?h.discovery:void 0,historical:h.identity===u?h.historical:void 0}));const j=await c.recover(i);j.status==="observed"?b(u,{phase:"ready",discovery:j.value.discovery,historical:j.value.result.entry,busy:!1}):j.status!=="idle"?b(u,{phase:M(j),busy:!1}):p(u)},[b,p]),m=a.useCallback(async()=>{const i=n.current,c=i.identity;if(o.current!==c||!i.current())return{status:"idle"};const u={};s.current=u,y(h=>h.identity===c?{...h,phase:"pending",busy:!0}:h);const j=await i.inspectCurrent();return s.current!==u?{status:"idle"}:(s.current=null,j.status==="idle"&&p(c),o.current===c&&n.current.identity===c&&i.current()&&j.status!=="idle"&&y(h=>h.identity===c?{...h,phase:j.status==="observed"?"ready":M(j),busy:!1}:h),j)},[p]),T=e.supported&&r==="ready",F=r==="pending"?"pending":(f==null?void 0:f.phase)??"pending",g=T&&(F!=="ready"||((l=f==null?void 0:f.discovery)==null?void 0:l.admission)==="blocked");return{supported:T,phase:F,editBlocked:g,busy:(f==null?void 0:f.busy)??F==="pending",discovery:f==null?void 0:f.discovery,historical:f==null?void 0:f.historical,refresh:w,recover:R,inspectCurrent:m}}const Fe={unavailable:"Couldn’t check previous saves, so editing is off.",refused:"This file can’t be edited from this canvas."};function Pe(e){var r,d,n;return e.supported?e.phase==="unavailable"||e.phase==="refused"||e.phase==="local_uncertain"?!0:((r=e.discovery)==null?void 0:r.admission)==="blocked"||((d=e.discovery)==null?void 0:d.entries.some(o=>o.state==="review"))===!0||((n=e.historical)==null?void 0:n.state)==="receipt":!1}function Z({recovery:e,editing:r,loadCurrent:d}){var o;if(e.phase==="unavailable"||e.phase==="refused")return t.jsxs(t.Fragment,{children:[t.jsx("p",{role:"alert",className:"col-start-1 row-start-1 py-1.5",children:Fe[e.phase]}),t.jsx(D,{type:"button",size:"sm",variant:"outline",className:"col-span-2 col-start-1 row-start-2 mb-1.5 justify-self-start @md:col-span-1 @md:col-start-2 @md:row-start-1 @md:mb-0",disabled:e.busy||r,onClick:()=>void e.refresh(),children:"Check again"})]});if(e.phase==="local_uncertain")return t.jsx("p",{role:"alert",children:"Use Retry original save. Checking previous saves won’t confirm this save."});const n=e.discovery;return t.jsxs("div",{className:"space-y-1",children:[(n==null?void 0:n.admission)==="blocked"&&t.jsx("p",{role:"alert",children:"An unresolved original save blocks this file. This list may not include the blocking operation."}),(n==null?void 0:n.hasMore)&&t.jsx("p",{children:"Only the latest 25 matching saves are shown. Older evidence is omitted."}),n&&n.entries.length>0&&t.jsx(t.Fragment,{children:t.jsx("ul",{children:n.entries.map(s=>t.jsxs("li",{children:[t.jsxs("span",{children:[s.eventId,":"," ",s.state==="receipt"?"Historical save recorded":s.state==="review"?"Original save needs review":s.state==="no_op"?"Original save made no change":"Original save failed before replacement"]}),s.state==="review"&&(s.reason==="prepared_without_replacement"?t.jsx("p",{children:"This save needs manual review. These controls won’t write the file."}):t.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[t.jsx("p",{children:"The original saved replacement must be proven before its receipt can be settled."}),t.jsx(D,{type:"button",size:"sm",variant:"outline",disabled:e.busy||r,onClick:()=>void e.recover(s.eventId),children:"Recover original receipt"})]}))]},s.eventId))})}),(n==null?void 0:n.admission)==="blocked"&&n.entries.length===0&&t.jsx("p",{children:"No matching recent saves."}),((o=e.historical)==null?void 0:o.state)==="receipt"&&t.jsxs("div",{role:"status",className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[t.jsxs("div",{children:[t.jsx("p",{children:"Previous save confirmed. Your current draft may differ."}),t.jsx("p",{children:e.historical.currentFileMatch==="different"?"The current file differs from that historical save.":e.historical.currentFileMatch==="same_saved_replacement"?"The saved replacement matched when checked; current bytes still require a fresh load.":"The current file was not checked."})]}),t.jsx(D,{type:"button",size:"sm",variant:"outline",disabled:r||e.editBlocked||e.busy,onClick:d,children:"Load current file"})]})]})}function Se({recovery:e,editing:r,loadCurrent:d}){return!e.supported||r?null:t.jsxs(oe,{children:[t.jsx(le,{asChild:!0,children:t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground","aria-label":"More file actions",children:t.jsx(ue,{className:"size-4"})})}),t.jsxs(de,{align:"end",children:[t.jsx(X,{disabled:e.busy,onSelect:()=>void e.refresh(),children:"Check previous saves"}),t.jsx(X,{disabled:e.editBlocked||e.busy,onSelect:()=>d(),children:"Load current file"})]})]})}function De({recovery:e,editing:r,loadCurrent:d,toolbar:n}){const o=Pe(e),s=e.phase==="unavailable"||e.phase==="refused";return t.jsxs(t.Fragment,{children:[e.supported&&e.phase==="pending"&&t.jsx("p",{role:"status",className:"sr-only",children:"Checking previous saves…"}),t.jsx("div",{...o?{role:"region","aria-label":"Previous file saves"}:{},className:O("shrink-0",o?"bg-muted text-foreground mx-2 mt-2 rounded-md py-1 pr-1 pl-3 text-sm":"flex justify-end px-2 pt-1",o&&(s?"@container":"flow-root")),children:t.jsxs("div",{className:O(o&&s&&"grid grid-cols-[1fr_auto] items-center gap-x-2 @md:grid-cols-[1fr_auto_auto]"),children:[t.jsx("div",{className:O("flex items-center gap-1",o&&!s&&"float-right ml-2",o&&s&&"col-start-2 row-start-1 @md:col-start-3"),children:n}),o&&(s?t.jsx(Z,{recovery:e,editing:r,loadCurrent:d}):t.jsx("div",{className:"py-1.5",children:t.jsx(Z,{recovery:e,editing:r,loadCurrent:d})}))]})})]})}function Le({editing:e,off:r,observation:d,onClick:n}){return t.jsx(fe,{children:t.jsxs(he,{...r?{}:{open:!1},children:[t.jsx(pe,{asChild:!0,children:t.jsx("span",{className:"inline-flex",children:t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground",onClick:n,"aria-label":e?"Finish editing":"Edit file",disabled:r,"data-document-save-observation":d,children:e?t.jsx(me,{className:"size-4"}):t.jsx(ve,{className:"size-4"})})})}),t.jsx(xe,{children:"Editing is off"})]})})}const Ee=a.lazy(()=>ee(()=>import("./CodeMirrorEditor-BWSTKK9s.js"),__vite__mapDeps([0,1,2,3,4])).then(e=>({default:e.CodeMirrorEditor}))),ze=a.lazy(()=>ee(()=>import("./BlintzCanvas-BXwncq3A.js").then(e=>e.B),__vite__mapDeps([5,1,2,6,4,7])).then(e=>({default:e.BlintzCanvas}))),Be=500;function Me(e,r){return r==="markdown"||/\.(md|markdown|mdx)$/i.test(e)}function Oe(e){switch(e){case"saving":return"Saving…";case"saved":return"Saved";case"error":return"Couldn’t save";case"uncertain":return"Save not confirmed";default:return null}}function te({content:e,documentId:r,cwd:d,loaded:n,theme:o,isEditing:s,onEditingChange:C,setDocumentEditing:y,observedBinding:b,fileSaveObservation:p="unavailable",recoveryBinding:x}){const _=e.readOnly!==!0,f=Me(e.sourcePath,e.language),w=ge(),[R,m]=a.useState(n),[T,F]=a.useState(),g=a.useRef(b);a.useLayoutEffect(()=>{g.current=b},[b]);const l=ke({documentId:r,sourcePath:e.sourcePath,cwd:d,loadedContent:n,documentSaveBinding:T,documentRecoveryBinding:x}),i=_e(l.recovery,p,x),c=we({cwd:d,sourcePath:f?e.sourcePath:null,content:R,saved:l.status==="saved"}),u=a.useRef(!1),j=a.useRef(s);a.useLayoutEffect(()=>(u.current=!0,j.current=s,()=>{u.current=!1}),[s]);const h=a.useRef(null),S=a.useRef(R),L=a.useRef(0),A=a.useRef(0),I=a.useRef(l.save),K=a.useRef(l.prepareFinalSave),U=a.useRef(l.waitForCloseDrain),E=a.useRef(null),V=a.useRef(C),Y=Ne({documentId:r,sourcePath:e.sourcePath,binding:T,save:l.save,draftRef:S,revisionRef:L,finishAttemptRef:A,timerRef:h,finalSaveRef:E,invalidateConfirmedFile:()=>{w.invalidateQueries({queryKey:B(d,e.sourcePath)}).catch(()=>{})}});a.useEffect(()=>{S.current=R,I.current=l.save,K.current=l.prepareFinalSave,U.current=l.waitForCloseDrain,V.current=C});const $=a.useCallback(v=>{var k;L.current+=1,S.current=v,m(v),(k=E.current)==null||k.cancel(),E.current=K.current(v),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{h.current=null,I.current(S.current)},Be)},[]),se=()=>{var P;if(i.editBlocked||p==="pending"||p==="ready"&&!((P=g.current)!=null&&P.current()))return;const v=g.current,k=v&&Object.freeze({...v.incarnation});F(v!=null&&v.current()&&k?{incarnation:k,current:()=>{const N=g.current;return!!N&&be(k,N.incarnation)&&N.current()}}:void 0),L.current+=1,S.current=n,m(n),C(!0),y(r,!0)},ne=async()=>{h.current&&(clearTimeout(h.current),h.current=null);const v=S.current,k=L.current,P=++A.current,N=await I.current(v);if(N.status!=="changed"&&N.status!=="no_op"||L.current!==k||A.current!==P||N.confirmed.content!==v)return;const q=N.confirmed;q.content===S.current&&w.setQueryData(B(d,e.sourcePath),Q=>Q&&{...Q,content:q.content,hash:q.hash}),C(!1),y(r,!1)},re=()=>{w.invalidateQueries({queryKey:B(d,e.sourcePath)})};a.useEffect(()=>{var v;s||(h.current&&clearTimeout(h.current),h.current=null,(v=E.current)==null||v.cancel(),E.current=null)},[s]),a.useEffect(()=>{const v=Y.current;return()=>{var N;h.current&&(clearTimeout(h.current),h.current=null);const k=(N=E.current)==null?void 0:N.flush(),P=S.current;v==null||v.settleRetirement(Promise.resolve(k).then(()=>U.current(P))),E.current=null,y(r,!1),V.current(!1)}},[r,y,Y]);const G=async()=>{if(s||!u.current||i.editBlocked)return;const v=L.current,k=await i.inspectCurrent();k.status!=="observed"||!u.current||j.current||L.current!==v||!l.recovery.current()||w.setQueryData(B(d,e.sourcePath),P=>P&&{...P,...k.value})},ae=()=>{const v=l.adoptDisk();v!=null&&m(v)},ie=()=>{l.overwrite(S.current)},W=l.status==="saved"?l.confirmedContent!==R?"Unsaved changes":l.documentReceipt?"Save recorded":"Saved to file":Oe(l.status),J=s?R:n;return t.jsxs("div",{className:"relative flex h-full flex-col",children:[t.jsx(De,{recovery:i,editing:s,loadCurrent:()=>void G(),toolbar:t.jsxs(t.Fragment,{children:[_&&W&&t.jsx("span",{className:O("mr-1 text-xs",l.status==="error"?"text-destructive":"text-muted-foreground"),"aria-live":"polite",children:W}),!s&&p==="pending"&&t.jsx("span",{role:"status",children:"Checking document…"}),!s&&t.jsx(D,{type:"button",variant:"ghost",size:"icon-md",className:"text-muted-foreground hover:text-foreground",onClick:re,"aria-label":"Refresh from disk",children:t.jsx(Te,{className:"size-4"})}),_&&t.jsx(Le,{editing:s,off:!s&&(p==="pending"||i.editBlocked),observation:p,onClick:s?()=>void ne():se}),t.jsx(Se,{recovery:i,editing:s,loadCurrent:()=>void G()})]})}),l.status==="uncertain"&&t.jsxs("div",{role:"status",className:"mx-2 mt-2 flex items-center gap-2 text-sm",children:[t.jsx("span",{children:"Save not confirmed. Retry the original save before saving another draft."}),t.jsx(D,{type:"button",variant:"ghost",size:"sm",onClick:()=>void l.retryUnconfirmed(),children:"Retry original save"})]}),l.status==="conflict"&&t.jsxs("div",{className:"bg-destructive/10 text-destructive mx-2 mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 rounded-md px-3 py-2 text-sm",children:[t.jsx("span",{className:"flex-1",children:"This file changed on disk since you opened it."}),t.jsx(D,{type:"button",variant:"ghost",size:"sm",className:"h-7",onClick:ae,children:"Reload"}),t.jsx(D,{type:"button",variant:"destructive",size:"sm",className:"h-7",onClick:ie,children:"Overwrite"})]}),t.jsx("div",{className:"min-h-0 flex-1",children:t.jsx(a.Suspense,{fallback:t.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading editor…"}),children:f?t.jsx("div",{className:"px-2 pb-6",children:t.jsx(ze,{value:J,editable:s,onChange:s?$:void 0,wikiLinks:c})}):t.jsx(Ee,{value:J,editable:s,filename:e.sourcePath,languageHint:e.language,theme:o,onChange:s?$:void 0})})})]})}function Ae(e){const{fileSaveBinding:r,fileSaveObservation:d}=Re(e.documentId);return t.jsx(te,{...e,observedBinding:r,recoveryBinding:r,fileSaveObservation:d})}function Ie(e){switch(e==null?void 0:e.code){case"NOT_FOUND":return"This file doesn’t exist.";case"NOT_A_FILE":return"This path is a directory, not a file.";case"TOO_LARGE":return"This file is too large to open here.";case"BINARY_FILE":return"This file isn’t text, so the editor can’t show it.";default:return"This file couldn’t be loaded."}}function at({content:e,documentId:r}){const d=ye(),n=z(g=>g.selectedCwd),o=z(g=>g.setDocumentEditing),s=z(g=>{var l;return((l=g.openDocuments.find(i=>i.id===r))==null?void 0:l.editing)??!1}),C=je(),y=z(g=>g.canvasSessionId),b=z(g=>g.roomCanvasLiveRoomId),{data:p,error:x,isLoading:_}=Ce({queryKey:B(n,e.sourcePath),enabled:n!==null,queryFn:()=>d.readFileContent(n,e.sourcePath),staleTime:3e4,retry:!1}),[f,w]=a.useState(null),R=g=>{w(g&&p?{pinnedHash:p.hash}:null)};if(n===null)return t.jsx(H,{children:"Open a chat to view files."});if(_)return t.jsx(H,{children:"Loading file…"});if(x||!p)return t.jsx(H,{children:Ie(x)});const m=f!==null&&s,T=(m?f==null?void 0:f.pinnedHash:null)??p.hash,F=y&&!b?Ae:te;return t.jsx(F,{content:e,documentId:r,cwd:n,loaded:p.content,theme:C,isEditing:m,onEditingChange:R,setDocumentEditing:o},`${e.sourcePath}:${T}`)}function H({children:e}){return t.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:t.jsx("p",{children:e})})}export{at as CanvasFileContent};
|
package/dist/client/assets/{CanvasModel3dContent-BL-UiHAj.js → CanvasModel3dContent-DNK3EY5W.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Model3dViewer-
|
|
2
|
-
import{a1 as m,aW as n,r as s,j as t,aX as p}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Model3dViewer-DrS3qYW1.js","assets/index-_8SHxs8S.js","assets/index-Dry_agqN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a1 as m,aW as n,r as s,j as t,aX as p}from"./index-_8SHxs8S.js";import{r as u}from"./use-session-canvas-IKy8PO1l.js";import"./rotate-cw-OJ7jzj3C.js";import"./query-keys-DeYqUDia.js";import"./index.esm-C41qhCJ5.js";import"./WidgetErrorCard-DcsOHVds.js";import"./index-DFSOBVsY.js";import"./card-fYp8lOoT.js";import"./progress-BKspNOdx.js";import"./markdown-content-DBXaMyx0.js";import"./table-jPIEjPov.js";import"./package-CTn_hN2S.js";import"./heart-CNrKCfIZ.js";import"./git-branch-DZBdAsc0.js";import"./file-text-iUPjXTFV.js";import"./file-CG3ZGubn.js";import"./McpAppFrame-BzZqyRxQ.js";import"./more-details-CEMEkDUz.js";const d=s.lazy(()=>p(()=>import("./Model3dViewer-DrS3qYW1.js"),__vite__mapDeps([0,1,2])).then(e=>({default:e.Model3dViewer})));function f(e){var o;const r=(o=e.split(".").pop())==null?void 0:o.toLowerCase();return r==="glb"||r==="gltf"?"gltf":r==="stl"?"stl":r==="obj"?"obj":r==="3mf"?"3mf":r==="ply"?"ply":r==="fbx"?"fbx":r==="dae"?"dae":null}function A({content:e}){const r=m(),o=n(i=>i.selectedCwd),l=s.useMemo(()=>u(e.src,i=>r.mediaUrl(o??"",i)),[e.src,r,o]),a=s.useMemo(()=>f(e.src),[e.src]);return l.url===null||a===null?t.jsx("div",{className:"text-muted-foreground flex h-full items-center justify-center p-8 text-center",children:t.jsx("p",{children:"This 3D model can’t be displayed here."})}):t.jsx("div",{className:"bg-muted/40 h-full w-full",children:t.jsx(s.Suspense,{fallback:t.jsx("div",{className:"text-muted-foreground p-4 text-sm",children:"Loading 3D viewer…"}),children:t.jsx(d,{url:l.url,format:a,label:e.title??"Canvas 3D model"})})})}export{A as CanvasModel3dContent,f as formatOf};
|
|
@@ -1,44 +1,44 @@
|
|
|
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,h4 as
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BLHGc7hd.js","assets/index-_8SHxs8S.js","assets/index-Dry_agqN.css","assets/room-files-source-BbEFTxX0.js","assets/markdown-content-DBXaMyx0.js","assets/file-exclamation-point-CVXN_udI.js","assets/query-keys-DeYqUDia.js","assets/composer-insert-BpyATrmR.js","assets/index-BP95cLC1.js","assets/file-drag-GDx2qhdk.js","assets/rotate-cw-OJ7jzj3C.js","assets/link-2-Irbj23wB.js","assets/file-CG3ZGubn.js","assets/git-branch-DZBdAsc0.js","assets/more-details-CEMEkDUz.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{O as F,r as c,j as l,B as ue,h4 as vn,n2 as kn,g as wn,k4 as In,G as te,a1 as fe,a3 as Pe,a4 as Fe,aN as H,ch as Le,ci as Nn,cX as Rn,n3 as Cn,lB as An,n4 as Mn,h as Sn,av as jn,co as Be,gw as se,q as Z,dD as Ue,s as pe,l$ as _n,n5 as On,mF as En,n6 as Tn,eR as $n,g8 as Dn,Y as Pn,e2 as Fn,n0 as Ln,n7 as Bn,n8 as Un,a0 as Hn,bv as Kn,n9 as qn,na as Wn,ju as zn,it as Vn,gB as Gn,kV as Ie,nb as He,bU as Yn,kU as X,kY as Ke,nc as Jn,cg as ge,ag as Xn,bY as he,im as qe,nd as Qn,cs as We,ne as Zn,fe as et,kl as ze,nf as Ve,aX as nt,gy as Ge,kX as tt,ng as Ye,nh as st,ni as ot,nj as at,nk as Ne,eT as rt,nl as it,nm as ct,nn as lt,no as dt,np as ut,nq as mt,l as ft,hh as pt,ap as Je,kM as gt,ah as ht,nr as xt,ns as yt,nt as bt,b6 as vt,c4 as kt,nu as wt,nv as It,nw as Nt,nx as Rt,bw as Re,f2 as Ct}from"./index-_8SHxs8S.js";import{g as Ce,m as Ae,h as xe,f as Xe,M as At,a as Mt,E as St,i as jt,j as _t,c as P,k as Ot,b as Et,l as Tt,u as $t,C as Dt}from"./registry-CSe_ncC2.js";import"./WidgetErrorCard-DcsOHVds.js";import{R as Pt,A as Qe}from"./repeat-DmCgFtjt.js";import{u as Ft}from"./use-room-sessions-_zhdKcKj.js";import{M as Lt}from"./markdown-content-DBXaMyx0.js";import{W as Bt,a as Ut}from"./find-latest-widget-fence-DF1tpWBU.js";import{f as Ht}from"./format-duration-BCr6uzby.js";import{H as Kt,a as qt,b as Wt}from"./RuntimeSetupDialog-B9dgB_DN.js";import{M as Me}from"./mention-pill-BjC9bceV.js";import{R as zt}from"./rotate-ccw-clock-k0vIMOao.js";import{U as Vt}from"./unplug-Bm7nHhBA.js";import{M as Se}from"./message-square-off-CIYKFEKw.js";import{i as Gt}from"./registry-D10b3VBA.js";/**
|
|
3
3
|
* @license lucide-react v1.48.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
6
6
|
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/const
|
|
7
|
+
*/const Ze={name:"hand",size:24,node:[["path",{d:"M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2",key:"1fvzgz"}],["path",{d:"M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2",key:"1kc0my"}],["path",{d:"M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8",key:"10h0bg"}],["path",{d:"M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15",key:"1s1gnw"}]]};Ze.node;const Yt=F(Ze);/**
|
|
8
8
|
* @license lucide-react v1.48.0 - ISC
|
|
9
9
|
*
|
|
10
10
|
* This source code is licensed under the ISC license.
|
|
11
11
|
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
-
*/const
|
|
12
|
+
*/const en={name:"link-2-off",size:24,node:[["path",{d:"M9 17H7A5 5 0 0 1 7 7",key:"10o201"}],["path",{d:"M15 7h2a5 5 0 0 1 4 8",key:"1d3206"}],["line",{x1:"8",x2:"12",y1:"12",y2:"12",key:"rvw6j4"}],["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}]]};en.node;const Jt=F(en);/**
|
|
13
13
|
* @license lucide-react v1.48.0 - ISC
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the ISC license.
|
|
16
16
|
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/const
|
|
17
|
+
*/const nn={name:"megaphone",size:24,node:[["path",{d:"M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",key:"q8bfy3"}],["path",{d:"M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14",key:"1853fq"}],["path",{d:"M8 6v8",key:"15ugcq"}]]};nn.node;const Xt=F(nn);/**
|
|
18
18
|
* @license lucide-react v1.48.0 - ISC
|
|
19
19
|
*
|
|
20
20
|
* This source code is licensed under the ISC license.
|
|
21
21
|
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/const
|
|
22
|
+
*/const tn={name:"power-off",size:24,node:[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]};tn.node;const Qt=F(tn);/**
|
|
23
23
|
* @license lucide-react v1.48.0 - ISC
|
|
24
24
|
*
|
|
25
25
|
* This source code is licensed under the ISC license.
|
|
26
26
|
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
-
*/const
|
|
27
|
+
*/const sn={name:"reply",size:24,node:[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]]};sn.node;const Zt=F(sn);/**
|
|
28
28
|
* @license lucide-react v1.48.0 - ISC
|
|
29
29
|
*
|
|
30
30
|
* This source code is licensed under the ISC license.
|
|
31
31
|
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
-
*/const
|
|
32
|
+
*/const on={name:"timer",size:24,node:[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]};on.node;const es=F(on);/**
|
|
33
33
|
* @license lucide-react v1.48.0 - ISC
|
|
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
|
|
37
|
+
*/const an={name:"user-minus",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:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]};an.node;const je=F(an);/**
|
|
38
38
|
* @license lucide-react v1.48.0 - ISC
|
|
39
39
|
*
|
|
40
40
|
* This source code is licensed under the ISC license.
|
|
41
41
|
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
-
*/const an={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"}]]};an.node;const es=F(an),ns='[data-slot="identity-hover-card-actions"] button:not(:disabled)';function ts(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 u=0,x=0;const v=()=>{var f;const m=(f=a.current)==null?void 0:f.querySelector(ns);if(m)return m.focus();++u<10&&(x=requestAnimationFrame(v))};return v(),()=>cancelAnimationFrame(x)},[t]);const i=c.useCallback(u=>{var x;!u&&((x=a.current)!=null&&x.contains(document.activeElement))||s(u)},[s]),d=c.useCallback(u=>{!o||u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),r.current=!0,s(!0))},[o,s]),p=c.useMemo(()=>({onEscapeKeyDown:()=>{var u;return(u=n.current)==null?void 0:u.focus()},onBlur:u=>{var v,m,f;const x=u.relatedTarget;x&&((v=a.current)!=null&&v.contains(x)||(m=n.current)!=null&&m.contains(x))||(f=a.current)!=null&&f.contains(document.activeElement)||s(!1)}}),[s,n]);return{contentRef:a,handleOpenChange:i,onTriggerKeyDown:d,contentHandlers:p}}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 ss({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 os({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(bn,{className:"size-3.5 shrink-0","aria-hidden":!0}),l.jsx("span",{className:"truncate",children:e.session.label})]})]})}const as=300;function G({className:e,children:t}){return l.jsx("span",{className:te("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:p,handle:u,color:x,emoji:v,imageUrl:m,origin:f,agent:g}=e,w=x??"hsl(var(--muted-foreground))",h=typeof f=="object"&&f!==null,y=d==="agent"&&(g==null?void 0:g.working)!=null?g.working:null,[I,S]=c.useState(!1),M=c.useCallback(k=>{S(k),a==null||a(k)},[a]),C=c.useRef(!1),N=c.useRef(null),A=vn({onLongPress:()=>{C.current&&M(!0)}}),{contentRef:_,handleOpenChange:j,onTriggerKeyDown:b,contentHandlers:O}=ts({open:I,setOpen:M,triggerRef:N,enabled:r&&o!==void 0});return l.jsxs(Ut,{open:I,onOpenChange:j,openDelay:as,children:[l.jsx(Ht,{asChild:!0,ref:N,"data-gesture-priority":"",...A,onPointerDown:k=>{C.current=k.pointerType==="touch"||k.pointerType==="pen",A.onPointerDown(k)},...r?{onClick:()=>M(!0),onKeyDown:b}:{},children:t}),l.jsxs(Kt,{ref:_,...O,...o?{role:"dialog","aria-label":p}:{},"data-slot":"identity-hover-card",align:"start",className:te("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(kn,{"aria-hidden":!0,color:w,emoji:v,imageUrl:m,fallback:wn(p),kind:d,origin:f,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:p}),u&&l.jsxs("p",{className:"text-muted-foreground truncate text-xs font-medium",children:["@",u]})]})]}),n&&l.jsx(ss,{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(G,{children:[g.runtime,g.model].filter(Boolean).join(" · ")}),y&&l.jsxs(G,{className:"bg-status-success-bg text-status-success-fg",children:["Working · ",Bt(y.forMs)]}),d==="human"&&l.jsx(G,{children:h?f.platform:"On this machine"}),d==="agent"&&(g==null?void 0:g.managedBy)&&l.jsxs(G,{children:["Managed by"," ",g.managedBy.handle?`@${g.managedBy.handle}`:g.managedBy.displayName]})]}),o?l.jsx(os,{actions:o,onAct:()=>{var k;(k=N.current)==null||k.focus(),M(!1)}}):s?l.jsx("button",{type:"button","data-slot":"identity-hover-card-profile",onClick:()=>{var k;(k=N.current)==null||k.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 rs(){const e=fe(),t=De();return Pe({onMutate:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var u;const r=t.getQueryData(H.entries(s)),i=(u=r==null?void 0:r.find(x=>x.id===n))==null?void 0:u.reactions,{reactions:d,on:p}=Ce(i,o,a);return t.setQueryData(H.entries(s),x=>Ae(x,n,d)),{on:p}},mutationFn:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var d,p;const r=t.getQueryData(H.entries(s)),i=((p=(d=r==null?void 0:r.find(u=>u.id===n))==null?void 0:d.reactions)==null?void 0:p.some(u=>u.emoji===o&&u.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 p=(x=d==null?void 0:d.find(v=>v.id===o))==null?void 0:x.reactions,{reactions:u}=Ce(p,a,r,!i.on);return Ae(d,o,u)})},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 q(e){return e.threadRootEntryId??e.parentEntryId}function is(e){return q(e)??e.id}function cs(e,t){return Math.max(t??0,e)}function Zo(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:cs(e.length,s),lastAt:n.createdAt,unread:o}}function ls(e){var M,C;const{agentPath:t,displayName:s,onViewProfile:n,engaged:o}=e,a=Fe(),r=In(),i=a&&o&&t!==void 0,d=Nn(i?t:null),p=Rn(d.member),u=Cn(),x=An(),v=Mn(),m=Sn(),{data:f}=Le({enabled:i&&r}),g=m.status==="ready"?m.roomId:null,w=f==null?void 0:f.find(N=>N.id===g),h=w?se(w):null,y=(C=(M=d.member)==null?void 0:M.agent)==null?void 0:C.effectiveRuntimeId,I=c.useCallback(()=>{t!==void 0&&(Z.getState().recordOpened("agent",t),u({agentPath:t},y?{runtime:y}:{}))},[t,u,y]),S=c.useCallback(async()=>{if(t===void 0||!v)return;const N=await x(t);if(N===null){Be(`${s} has no session in ${h??"this room"} yet`);return}v(pe({session:N}))},[t,v,x,s,h]);return c.useMemo(()=>!a||t===void 0?null:{about:{role:d.role,status:p},actions:{onMessage:I,...n?{onViewProfile:n}:{},...r&&h?{session:{label:`Session in ${h}`,onOpen:()=>void S()}}:{}}},[a,t,d.role,p,I,n,r,h,S])}function ds({identity:e,agentPath:t,onViewProfile:s,openOnClick:n=!1,children:o}){const[a,r]=c.useState(!1),i=ls({agentPath:t,displayName:e.displayName,onViewProfile:s,engaged:a}),d=c.useCallback(p=>{p&&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 us(e){return l.jsx(Lt,{code:e.code,isIncomplete:e.isIncomplete})}const ms=[{language:Ft,component:us}],fs={turn_failed:{Icon:Bn,tone:"text-status-warning"},agent_busy:{Icon:Ln},agent_gone:{Icon:es,tone:"text-status-warning"},agent_left:{Icon:Se,tone:"text-status-warning"},room_archived:{Icon:Fn},agent_reseated:{Icon:Pn},handle_changed:{Icon:Xe},files_set_up:{Icon:Dn},runtime_gone:{Icon:Xt,tone:"text-status-warning"},agent_paused:{Icon:$n},agent_declined:{Icon:zt},agent_unavailable:{Icon:Tn},awaiting_approval:{Icon:Gt,tone:"text-status-warning"},halted:{Icon:En},budget_reached:{Icon:On},cascade_stopped:{Icon:_n},addressing_changed:{Icon:Jt},bridge_blocked:{Icon:Wt,tone:"text-status-warning"},bridge_undelivered:{Icon:jn,tone:"text-status-warning"},bridge_rate_limited:{Icon:Zt},bridge_second_agent_refused:{Icon:Se},bridge_disconnected:{Icon:Yt},bridge_agent_swapped:{Icon:$t},bridge_history_note:{Icon:qt}},ps={Icon:Un},le=80;function gs(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 hs(e,t,s){const n=xs(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-2",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 xs(e,t){if(t!==void 0){const n=Hn(t),o=e.lastIndexOf(n);if(o!==-1)return{index:o,words:n}}const s=Kn.exec(e);return s===null?null:{index:s.index,words:s[0]}}function ys({entry:e,feedPosition:t,rowId:s,sessionLink:n,subjectName:o}){const{Icon:a,tone:r}=(e.body.notice&&fs[e.body.notice])??ps;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":gs(e.body.text)},...xe(t),className:te("focus-visible:ring-ring flex items-start gap-2 px-[var(--msg-padding-x)] py-2 text-xs outline-none focus-visible:ring-2",r??"text-muted-foreground"),children:[l.jsx(a,{"aria-hidden":!0,className:"mt-px size-3.5 shrink-0"}),l.jsx("span",{children:n?hs(e.body.text,n,o):e.body.text})]})}const bs=Vt.moment;function vs({entry:e,moment:t,subject:s,subjectIdentity:n,feedPosition:o,rowId:a}){const r=Je(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-visible:ring-ring px-[var(--msg-padding-x)] py-1 outline-none focus-visible:ring-2",children:l.jsxs("div",{className:"border-border/60 bg-muted/40 flex items-center gap-2.5 rounded-lg border 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(Rt,{author:s}),l.jsx("span",{className:"sr-only",children:s.displayName})]})}),l.jsx(bs,{"data-testid":"room-moment-mark","aria-hidden":!0,className:"text-muted-foreground size-3.5 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:Ct(e.createdAt),className:"text-msg-timestamp shrink-0 text-xs",children:r})]})})}function ks(e,t){const s=X.getState(),n=s.drafts[e]??"",o=n===""||n.endsWith(" ")||n.endsWith(`
|
|
43
|
-
`)?"":" ";s.set(e,`${n}${o}@${t} `)}function ws({roomId:e,entry:t,author:s,viewerAuthorId:n,onViewProfile:o}){const a=is(t),r=t.body.text,i=(s==null?void 0:s.id)===n?void 0:(s==null?void 0:s.handle)??void 0,d=s==null?void 0:s.displayName,{copy:p}=qn({toastOnSettle:!0});return c.useMemo(()=>{const u={reply:{id:"reply",label:"Reply in thread",icon:Qt,run:()=>{zn.getState().openThread(e,a,!0),Ie.getState().requestFocus(Ue(e,a))}},copy:{id:"copy",label:"Copy text",icon:Wn,run:()=>void p(r)}};return o!==void 0&&(u.profile={id:"profile",label:"View profile",icon:Vn,run:o}),i!==void 0&&(u.mention={id:"mention",label:d===void 0?"Mention author":`Mention ${d}`,icon:Xe,run:()=>{ks(e,i),Ie.getState().requestFocus(e)}}),At.map(x=>u[x]).filter(x=>x!==void 0)},[e,a,r,i,d,o,p])}function Is(e){if(e.kind==="notice")return{kind:"notice"};const t=e.body.moment;return t?{kind:"moment",moment:t}:{kind:"message"}}function ea(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 na(e,t){const s=e.body.subjectAuthorId;return s===void 0||t.has(e.authorId)?e.authorId:s}function Ns(e,t,s){const n=t.get(e),o=He({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 ta(e){const t=new Set;for(const a of e)q(a)===null&&t.add(a.id);const s=[],n=new Map,o=new Set;for(const a of e){const r=q(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 Rs(e){return`thread-${e}`}function Cs(e){return`thread-row-${e}`}function sa(e){return`thread-panel-entry-${e}`}function As(e){return`room-entry-${e}`}function Ms(e,t){const s=e.find(i=>i.id===t);if(s===void 0)return null;const n=q(s)??null,o={rowId:t,domId:As(t)};if(n===null)return o;const a=e.find(i=>i.id===n);return a!==void 0&&(q(a)??null)===null?{rowId:Rs(n),domId:Cs(n)}:o}function oa(e,t){if(t===null)return null;const s=e.find(n=>n.seq===t);return s===void 0?null:Ms(e,s.id)}const je=48;function aa(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>je?`${a.slice(0,je).trimEnd()}…`:a}}function Ss(e,t){const s=new Map;for(const n of e){const o=t[n.projectPath];if(!o)continue;const a=Gn({runtime:o.runtime,model:o.model});s.set(ge(n.projectPath),{memberId:n.id,visual:Yn(o),runtime:a.label,...a.modelLabel!==null&&{model:a.modelLabel}})}return s}function js(e){const t=new Map;for(const[s,n]of e)t.set(s,n.visual);return t}const _s={info:new Map,faces:new Map},be=c.createContext(_s);function ra({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=Ke(s),o=c.useMemo(()=>Ss(t,n.data??{}),[t,n.data]),a=c.useMemo(()=>js(o),[o]);return c.useMemo(()=>({info:o,faces:a}),[o,a])}function ee(e){const t=c.useContext(be);return e===void 0?void 0:t.info.get(e)}function Os(){return c.useContext(be).faces}function Es({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 Q=120,Ts="code block";function $s(e){if(e.length<=Q&&!e.includes("```"))return null;const t=Ds(e);return t.length===0?null:t}function Ds(e){const t=e.replace(/```[\s\S]*?(?:```|$)/g,` ${Ts} `).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<=Q)return t;const s=Ps(t,Q),n=s.lastIndexOf(" ");return`${(n>Q/2?s.slice(0,n):s).trimEnd()}…`}function Ps(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 Fs({roomId:e,entry:t,viewerAuthorId:s,reactionFrequents:n,streamStalled:o,isMember:a=!0}){const r=rs(),i=o===!0||!a,d=c.useMemo(()=>t.reactions??[],[t.reactions]),p=c.useMemo(()=>d.filter(v=>Mt(v,s)).map(v=>v.emoji),[d,s]),u=c.useCallback(v=>r.mutate({roomId:e,entryId:t.id,emoji:v,viewerAuthorId:s}),[r,e,t.id,s]),x=c.useMemo(()=>({quick:n,mine:p,onToggle:u,disabled:i}),[n,p,u,i]);return{reactions:d,toggle:u,quickRow:x}}function Ls({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 Bs(e,t){var x,v;const s=t.body.subjectAuthorId,n=t.body.notice,o=t.kind==="notice"&&n!==void 0&&s!==void 0&&Jn.includes(n),a=Dt(e,{enabled:o}),r=qe(),i=De(),d=fe(),p=o?((v=(x=a.data)==null?void 0:x.bindings.find(m=>m.authorId===s))==null?void 0:v.sessionId)??null:null,u=c.useCallback(m=>{m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||(m.preventDefault(),!(p===null||s===void 0)&&Xn({queryClient:i,transport:d},e,s).then(f=>{f.kind!=="none"&&r(pe({session:f.kind==="bound"?f.sessionId:p}))}))},[s,r,i,e,p,d]);return c.useMemo(()=>p===null?null:{href:Qn({session:p}),onOpen:u},[u,p])}const ne="mention",ve="author_id",Us={[ne]:[ve]},Hs=[ne];function Ks(e,t){if(!t||t.length===0)return e;const s=qs(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),p=n.slice(a,a+r),u=n.slice(a+r);n=`${d}<${ne} ${ve}="${i}">${p}</${ne}>${u}`}return n}function qs(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 Ws=/^[\s,&+/]*(?:and[\s,&+/]+)?$/i;function zs(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=new Set;let o=!0;return s.map((a,r)=>{if(o&&r>0){const i=s[r-1];o=Ws.test(e.slice(i.offset+i.length,a.offset))}return o&&n.add(a.authorId),n.has(a.authorId)?a:{...a,cc:!0}})}function Vs(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 Gs=new Map,rn=c.createContext(Gs);function Ys({authors:e,children:t}){return l.jsx(rn.Provider,{value:e,children:t})}function Js(e){const t=c.useContext(rn);return e===void 0?void 0:t.get(e)}const _e=new WeakMap;function Xs(e){const t=_e.get(e);if(t)return t;const s=new Map(e.map(n=>[ge(n.projectPath),n.projectPath]));return _e.set(e,s),s}function Qs(e){var n;const s=(n=he().data)==null?void 0:n.agents;return c.useMemo(()=>e===void 0||!s?void 0:Xs(s).get(e),[s,e])}function cn(e){const{agentRef:t,identity:s,onViewProfile:n}=e,o=Fe(),a=Qs(o?t:void 0),r=ee(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=(p,u={})=>l.jsx(ds,{identity:i,agentPath:a,onViewProfile:n,openOnClick:u.openOnClick??!1,children:p});return{wrap:d,wrapAvatar:p=>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:p}),{openOnClick:!0}),wrapName:p=>d(l.jsx("button",{type:"button","aria-haspopup":"dialog",className:te(p.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 Zs={kind:"human",displayName:""};function eo(e){return typeof e=="string"?e.replace(/^@/,""):""}function no({authorId:e,children:t,cc:s}){const n=Js(e),o=ee(n==null?void 0:n.agentRef),{open:a}=We(),r=n?He({record:n,override:o==null?void 0:o.visual}):null,i=n?ze(n,o==null?void 0:o.memberId):void 0,d=c.useMemo(()=>i===void 0?void 0:()=>a(i),[i,a]),p=r==null?void 0:r.color,u=r==null?void 0:r.emoji,x=r==null?void 0:r.imageUrl,v=c.useMemo(()=>n?{kind:n.kind,displayName:n.displayName,handle:n.handle??void 0,color:p,emoji:u,imageUrl:x,origin:n.origin,agent:o&&{runtime:o.runtime,...o.model&&{model:o.model}}}:null,[n,p,u,x,o]),m=cn({agentRef:n==null?void 0:n.agentRef,identity:v??Zs,onViewProfile:d});if(!n||!v)return l.jsx(Me,{kind:"human",label:eo(t),resolved:!1});const g=m?{role:"button",tabIndex:0,"aria-haspopup":"dialog"}:d?{role:"button",tabIndex:0,"aria-label":`View ${n.displayName}’s profile`,onClick:d,onKeyDown:h=>{h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),d())}}:{},w=l.jsx(Me,{kind:n.kind,label:n.displayName,handle:n.handle??void 0,color:n.color,origin:n.origin,resolved:!0,interactive:d!==void 0,...g,cc:s});return m?m.wrap(w,{openOnClick:!0}):l.jsx(ye,{onViewProfile:d,identity:v,children:w})}function to(e,t=new Set){return{mention:s=>{const n=s[ve],o=typeof n=="string"?n:void 0;return!o||!e.has(o)?l.jsx(l.Fragment,{children:s.children}):l.jsx(no,{authorId:o,cc:t.has(o),children:s.children})}}}function so({entry:e,authors:t}){const s=c.useMemo(()=>Ks(e.body.text,e.mentionSpans),[e.body.text,e.mentionSpans]),n=c.useMemo(()=>{var r;return new Set(((r=e.mentionSpans)==null?void 0:r.map(i=>i.authorId))??[])},[e.mentionSpans]),o=c.useMemo(()=>new Set(Vs(e.mentionSpans??[])),[e.mentionSpans]),a=c.useMemo(()=>to(n,o),[n,o]);return l.jsx(Ys,{authors:t,children:l.jsx(Pt,{content:s,className:"msg-prose",allowedTags:Us,literalTagContent:Hs,components:a,renderers:ms})})}function oo(e){return function(s){return l.jsx(so,{entry:s,authors:e})}}const ln="the top folder";function Oe(e){return e.slice(e.lastIndexOf("/")+1)}function ao(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function ro(e){return e===""?ln:`${e}/`}function de(e){return e.target!==void 0?e.target===""?ln:e.target:ro(ao(e.paths[0]??""))}function io(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 ${Oe(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 ${Oe(s)} from the chat to ${de(e)}`}}const co=c.lazy(()=>Zn(()=>import("./index-bSzhhjtG.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(e=>({default:e.SaveToRoomFilesButton})));function ca({roomId:e,entry:t,author:s,authorRef:n,authors:o,viewerAuthorId:a,authorNames:r,reactionFrequents:i,streamStalled:d,isMember:p=!0,grouping:u,orphanedReply:x,answers:v,feedPosition:m,rowId:f}){const g=Je(t.createdAt),w=c.useMemo(()=>{const L=$s(t.body.text),ie=St(t.attachments??[]);if(ie===null)return L;const we=L??t.body.text.trim();return we.length>0?`${we} ${ie}`:ie},[t.body.text,t.attachments]),h=c.useId(),y=`${h}-author`,I=`${h}-content`,S=`${h}-summary`,M=c.useRef(null),C=c.useRef(null),N=c.useRef(null),{reactions:A,toggle:_,quickRow:j}=Fs({roomId:e,entry:t,viewerAuthorId:a,reactionFrequents:i,streamStalled:d,isMember:p}),b=ee(n==null?void 0:n.agentRef),{open:O}=We(),k=n===void 0?void 0:ze(n,b==null?void 0:b.memberId),T=c.useCallback(()=>{k!==void 0&&O(k)},[O,k]),$=k===void 0?void 0:T,W=ws({roomId:e,entry:t,author:n,viewerAuthorId:a,onViewProfile:$}),z=(n==null?void 0:n.handle)??void 0,B=c.useMemo(()=>({kind:s.kind,displayName:s.displayName,handle:z,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl}),[s.kind,s.displayName,z,s.color,s.emoji,s.imageUrl]),D=cn({agentRef:n==null?void 0:n.agentRef,identity:B,onViewProfile:$}),R=Ls({barRef:C,pillsRef:N,hasReactions:A.length>0}),U=c.useCallback(()=>{var L;return(L=M.current)==null?void 0:L.focus()},[]),oe=c.useMemo(()=>oo(o),[o]),gn=c.useCallback(L=>l.jsx(c.Suspense,{fallback:null,children:l.jsx(co,{roomId:e,attachment:L})}),[e]),hn=Os(),ae=t.body.subjectAuthorId??t.authorId,E=o.get(ae),V=ee(E==null?void 0:E.agentRef),xn=Bs(e,t),re=Is(t);if(re.kind==="notice")return l.jsx(ys,{entry:t,feedPosition:m,rowId:f,sessionLink:xn,subjectName:E==null?void 0:E.displayName});if(re.kind==="moment")return l.jsx(vs,{entry:t,moment:re.moment,subject:ae===t.authorId?s:Ns(ae,o,hn),subjectIdentity:{handle:(E==null?void 0:E.handle)??void 0,origin:E==null?void 0:E.origin,agent:V&&{runtime:V.runtime,...V.model&&{model:V.model}}},feedPosition:m,rowId:f});const yn=u.position==="first"||u.position==="only";return l.jsxs(P.Root,{ref:M,id:f,position:u.position,actions:W,reactions:j,"data-testid":"room-entry",tabIndex:0,...Es({showAuthorHeader:yn,headerId:y,displayName:s.displayName,time:g,summary:w,contentId:I,summaryId:S,feedPosition:m}),onKeyDown:R,children:[l.jsx(P.Gutter,{author:s,at:t.createdAt,onViewProfile:D?void 0:$,isSelf:t.authorId===a,renderAvatar:D==null?void 0:D.wrapAvatar}),l.jsxs(P.Body,{children:[l.jsx(P.Author,{id:y,author:s,at:t.createdAt,origin:n==null?void 0:n.origin,renderName:D==null?void 0:D.wrapName}),x===!0&&l.jsx("p",{"data-testid":"room-entry-orphan",className:"text-muted-foreground text-xs italic",children:"Replying to an earlier message"}),v!=null&&l.jsx("p",{"data-testid":"room-entry-answers",className:"text-muted-foreground mb-1 truncate text-xs italic",children:`Answering “${v.excerpt}”`}),t.body.via&&l.jsx(jt,{via:t.body.via}),l.jsx(P.Content,{id:I,className:"wrap-anywhere [&_pre]:overflow-x-auto [&_pre]:wrap-normal",children:t.body.fileChange?l.jsx("p",{"data-testid":"room-entry-file-change",className:"wrap-anywhere",children:io(t.body.fileChange,(E==null?void 0:E.displayName)??"Somebody")}):oe(t,{rowId:t.id,isStreaming:!1})}),w!==null&&l.jsx("span",{id:S,className:"hidden",children:w}),l.jsx(P.Attachments,{items:t.attachments??[],renderAction:p?gn:void 0}),l.jsx(P.Reactions,{ref:N,reactions:A,viewerAuthorId:a,names:r,frequents:i,onToggle:_,disabled:d===!0||!p,onExit:U}),l.jsx(P.Actions,{actions:W,reactions:j,barRef:C,onExit:U})]})]})}const la={reactions:!0,threads:!0,runWith:!1,attachments:!0,mentions:!0,streamHealth:!0,presence:!0,turnStatus:!1,asks:!0};function lo(e){const t=fe(),[s,n]=c.useState([]),o=c.useRef(new Map),a=c.useCallback(m=>{const f=m.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));n(g=>[...g,...f])},[]),r=c.useCallback(m=>{o.current.delete(m),n(f=>f.filter(g=>g.id!==m))},[]),i=c.useCallback(m=>{if(!m){o.current.clear(),n([]);return}const f=new Set(m);for(const g of f)o.current.delete(g);n(g=>g.filter(w=>!f.has(w.id)))},[]),d=c.useCallback(m=>{o.current.delete(m),n(f=>f.map(g=>g.id===m&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),p=c.useRef(null),u=Pe({meta:{suppressErrorToast:!0},mutationFn:async m=>{n(h=>h.map(y=>m.some(I=>I.id===y.id)?{...y,status:"uploading"}:y));const f=h=>{n(y=>y.map(I=>I.status==="uploading"?{...I,progress:h.percentage}:I))},g=new AbortController;p.current=g;const w=m.map(h=>h.file);return t.uploadRoomAttachments(e,w,f,g.signal)},onSettled:()=>{p.current=null},onSuccess:(m,f)=>{f.forEach((g,w)=>{const h=m[w];h&&o.current.set(g.id,h.id)}),n(g=>g.map(w=>f.findIndex(y=>y.id===w.id)===-1?w:{...w,status:"uploaded",progress:100}))},onError:m=>{n(f=>f.map(g=>g.status==="uploading"?{...g,status:"error",error:m.message}:g))}}),x=c.useCallback(()=>{var m;(m=p.current)==null||m.abort()},[]),v=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 f=s.filter(g=>g.status==="pending");return f.length>0&&await u.mutateAsync(f),s.map(g=>o.current.get(g.id)).filter(g=>g!==void 0)},[s,u]);return{pendingFiles:s,addFiles:a,removeFile:r,retryFile:d,clearFiles:i,cancelUpload:x,uploadAndGetIds:v,hasPendingFiles:s.length>0,hasFailedUpload:s.some(m=>m.status==="error"),isUploading:u.isPending}}function da(e){const{room:t,threadRootId:s}=e,n=_t(),o=Ot(),a=lo((t==null?void 0:t.id)??""),r=t!==void 0&&Ve(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),[]),p=c.useCallback(y=>i.current.attachments.removeFile(y),[]),u=c.useCallback(y=>i.current.attachments.retryFile(y),[]),x=c.useCallback(()=>i.current.attachments.cancelUpload(),[]),{pendingFiles:v,hasFailedUpload:m,isUploading:f}=a,g=c.useMemo(()=>({staged:v,add:d,remove:p,retry:u,cancel:x,hasFailed:m,isUploading:f,holdsSendWhileUploading:!1}),[v,m,f,d,p,u,x]),w=c.useCallback(async y=>{const{attachments:I,post:S,reply:M,room:C,threadRootId:N}=i.current;if(C===void 0)throw new Error("That room isn’t loaded yet.");if(C.archived)throw new Error("This room is archived.");Z.getState().recordOpened("room",C.id);const A=et(),_=I.pendingFiles.map(k=>k.file.name),j=I.pendingFiles.map(k=>k.id),b=await I.uploadAndGetIds();I.clearFiles(j);const O=y.parentEntryId??N;if(O!==void 0){M.mutate({roomId:C.id,rootEntryId:O,text:y.text,clientId:A,attachmentIds:b,attachmentNames:_});return}S.mutate({roomId:C.id,text:y.text,clientId:A,attachmentIds:b,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:Ge},send:w,attachments:g}),[t,s,r,g,w]),attachments:a}}const dn=8;function un(e){if(e==null)return null;const t=e.replace(/\s+/g," ").trim();return t.length===0?null:t}function uo(e){if(st(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`:un(e.topic)}function Ee(e){return{kind:"session",id:e.id,name:tt(e.title),summary:un(e.lastMessagePreview),lastActivityAt:e.updatedAt,session:e}}function mo(e){return{kind:e.kind==="dm"?"dm":"channel",id:e.id,name:se(e),summary:uo(e),lastActivityAt:e.lastActivityAt,room:e}}function Y(e){if(e===void 0)return null;const t=Date.parse(e);return Number.isNaN(t)?null:t}function fo(e){return e.kind==="session"?Ne("session",e.id):Ne("room",e.id)}function Te(e,t){const s=[Y(t[fo(e)]),...e.kind==="session"?[Y(e.session.lastTouchedByYouAt),Y(e.session.userLastMessageAt)]:[]].filter(n=>n!==null);return s.length>0?Math.max(...s):Y(e.lastActivityAt)??Number.NEGATIVE_INFINITY}function po(e){return(t,s)=>Te(s,e)-Te(t,e)||s.id.localeCompare(t.id)}function go(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 ho(e,t){return!(t.has(e.id)||e.unreadCount===null||e.lastActivityAt===e.createdAt)}function xo({sessions:e,rooms:t,mutedRoomIds:s=new Set,interactions:n={},limit:o=dn}){const{yours:a,spinOffs:r,automated:i}=nt(e),d=po(n),p=[...a.map(Ee),...t.filter(u=>ho(u,s)).map(mo)].sort(d);return{items:go(p).slice(0,o),automated:[...r,...i].map(Ee).sort(d).slice(0,o)}}const yo=3,bo=rt;function vo({limit:e=dn,mutedRoomIds:t,enabled:s=!0}={}){var p,u;const n=ot(Math.max(e*yo,bo),{enabled:s}),o=Le({enabled:s}),a=at(),r=(p=n.data)==null?void 0:p.sessions,i=o.data;return{...c.useMemo(()=>xo({sessions:r??[],rooms:i??[],mutedRoomIds:t,interactions:a,limit:e}),[r,i,t,a,e]),isLoading:s&&(n.isLoading||o.isLoading),warnings:((u=n.data)==null?void 0:u.warnings)??[]}}const ko=6,mn="jump-back-in-listbox";function ke(e){return`jump-back-in-item-${e}`}const wo='[role="combobox"]';function K(e){return e instanceof Element&&e.matches(wo)}function Io({value:e,yieldToPalette:t=!1,enabled:s=!0}){const n=qe(),o=it(),[a,r]=c.useState(!1),[i,d]=c.useState({stamp:"",index:0}),[p,u]=c.useState(!1),[x,v]=c.useState(!1);e.length>0&&!x&&v(!0);const m=c.useRef(!1);c.useEffect(()=>{m.current=!0},[]);const{data:f}=he({enabled:s}),g=c.useMemo(()=>((f==null?void 0:f.agents)??[]).map(R=>R.projectPath),[f]),{data:w}=Ke(g,{enabled:s}),h=c.useMemo(()=>w??{},[w]),y=c.useMemo(()=>ct(g,h),[g,h]),I=c.useMemo(()=>new Map(g.map(R=>[ge(R),R])),[g]),S=c.useCallback(R=>lt({room:R,agentsByPath:h,pathByAgentRef:I}),[h,I]),M=c.useMemo(()=>dt(o.muted),[o.muted]),{items:C}=vo({mutedRoomIds:M,enabled:s}),N=c.useMemo(()=>C.slice(0,ko),[C]),A=s&&a&&!p&&!x&&!t&&e.length===0&&N.length>0,_=`${A}:${N.length}`,j=i.stamp===_?i.index:0,b=c.useCallback(R=>{m.current&&K(R.target)&&(u(!1),v(!1),r(!0))},[]),O=c.useCallback(R=>{K(R.target)&&r(!0)},[]),k=c.useCallback(R=>{K(R.target)&&r(!1)},[]),T=c.useCallback(R=>{N.length!==0&&d(U=>{const oe=U.stamp===_?U.index:0;return{stamp:_,index:(oe+R+N.length)%N.length}})},[N.length,_]),$=c.useCallback(()=>T(1),[T]),W=c.useCallback(()=>T(-1),[T]),z=c.useCallback(()=>{u(!0)},[]),B=c.useCallback(R=>{if(u(!0),R.kind==="session"){R.session.cwd&&Z.getState().recordOpened("agent",R.session.cwd),n(pe({dir:R.session.cwd??void 0,session:R.session.id}));return}Z.getState().recordOpened("room",R.room.id),n({...ut.channels(),search:{id:R.room.id}})},[n]),D=c.useCallback(()=>{const R=N[j];!A||!R||B(R)},[A,N,j,B]);return{isOpen:A,hasRows:N.length>0,rows:N,agents:h,displayNames:y,visualOf:S,selectedIndex:j,activeDescendantId:A&&N[j]!==void 0?ke(j):void 0,listboxId:A?mn:void 0,handleFocus:b,handleBlur:k,handlePointerDown:O,moveDown:$,moveUp:W,selectHighlighted:D,selectRow:B,dismiss:z}}function fn({mark:e,label:t,title:s,summary:n,lastActivityAt:o,index:a,isSelected:r,now:i,onSelect:d}){const p=c.useMemo(()=>Number.isNaN(Date.parse(o))?null:yt(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}),p!==null&&l.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0",children:p})]}),n!==null&&l.jsx("span",{className:"text-muted-foreground/70 text-2xs truncate",children:n})]})]})}function No({item:e,agent:t,displayName:s,index:n,isSelected:o,now:a,onSelect:r}){const i=ft(t,e.session.cwd??s);return l.jsx(fn,{mark:l.jsx(pt,{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 Ro({item:e,visual:t,index:s,isSelected:n,now:o,onSelect:a}){return l.jsx(fn,{mark:l.jsx(ht,{room:e.room,participants:e.room.participants,visuals:xt(t)}),label:l.jsx(gt,{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 Co({rows:e,selectedIndex:t,agents:s={},displayNames:n={},visualOf:o,onSelect:a}){const r=mt(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(Ye.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:mn,role:"listbox","aria-label":"Jump back in",className:"max-h-72 overflow-y-auto p-1.5",children:e.map((i,d)=>{var p;return i.kind==="session"?l.jsx(No,{item:i,agent:i.session.cwd&&s[i.session.cwd]||null,displayName:i.session.cwd&&n[i.session.cwd]||((p=i.session.cwd)==null?void 0:p.split("/").pop())||"Agent",index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`session-${i.id}`):l.jsx(Ro,{item:i,visual:o(i.room),index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`room-${i.id}`)})})})}const $e={people:"People",agents:"Agents"},Ao=["people","agents"];function Mo(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 So(e,t,s){const n=t.trim().toLowerCase(),o=e.map((a,r)=>({row:a,position:r,tier:jo(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 jo(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 J(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 _o(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 Oo=/(^|\s)@([A-Za-z0-9_.-]*)$/,pn="mention-palette-listbox";function me(e){return`mention-item-${e}`}function Eo({members:e,viewerAuthorId:t,text:s,sectionOrder:n=Ao}){var O;const[o,a]=c.useState(!1),[r,i]=c.useState(""),[d,p]=c.useState(-1),u=bt(s),x=c.useRef(!1),v=c.useMemo(()=>Mo(e,t),[e,t]),m=c.useMemo(()=>o?So(v,r,n):[],[v,r,o,n]),[f,g]=c.useState(null),w=f!==null&&f.query===r&&f.open===o?f.index:J(m,0,1),h=m[w],y=m.length===0||h!==void 0&&!h.disabled?w:J(m,0,1),I=c.useCallback((k,T)=>{const $=k.slice(0,T).match(Oo);if(!$){a(!1);return}a(!0),i($[2]),p(($.index??0)+$[1].length)},[]),S=c.useCallback(k=>{u.write(k),x.current=!1},[u]),M=c.useCallback(k=>{x.current||I(u.read(),k)},[I,u]),C=c.useCallback(()=>{g({query:r,open:o,index:J(m,y+1,1)})},[m,y,r,o]),N=c.useCallback(()=>{g({query:r,open:o,index:J(m,y-1,-1)})},[m,y,r,o]),A=c.useCallback(k=>k.disabled||k.handle===void 0?null:(x.current=!0,a(!1),_o(u.read(),d,r,k.handle)),[d,r,u]),_=c.useCallback(()=>{const k=m[y];return k?A(k):(a(!1),null)},[m,y,A]),j=c.useCallback(()=>{x.current=!0,a(!1)},[]),b=m.some(k=>!k.disabled);return{isOpen:o,hasSelectableRows:b,rows:m,selectedIndex:y,activeDescendantId:o&&((O=m[y])==null?void 0:O.disabled)===!1?me(y):void 0,listboxId:o?pn:void 0,noteTextChange:S,handleCursorChange:M,moveDown:C,moveUp:N,selectHighlighted:_,selectRow:A,dismiss:j}}function To({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(Ye.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:pn,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 p=d===t;return l.jsxs("div",{id:me(d),role:"option","aria-selected":p,"aria-disabled":i.disabled,"data-selected":p,"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 $o=/@([A-Za-z0-9][A-Za-z0-9_.-]*)/g,Do=/[.\-_]+$/;function Po(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($o)){if(o.index===void 0)continue;const a=o[1].toLowerCase(),r=a.replace(Do,""),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 Fo(e,t){const s=zs(e,Po(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||n.length===0)return null;const a=r=>r.map(i=>`@${i}`).join(", ");return`Asks ${a(n)} · cc ${a(o)}`}function ua({room:e,threadRootId:t,focusOnMount:s,offerJumpBackIn:n,onFocusChange:o,attachments:a}){const r=t===void 0?e.id:Ue(e.id,t),i=vt(r),{target:d}=Et(),p=kt(),u=wt(r),x=c.useRef(null),v=Ve(e.members,e.viewerAuthorId),m=c.useRef(!1),f=Eo({members:e.members,viewerAuthorId:e.viewerAuthorId,text:i}),g=c.useMemo(()=>e.kind==="channel"?Fo(i,e.members):null,[e.kind,e.members,i]),w=n===!0,h=Io({value:i,yieldToPalette:f.isOpen,enabled:w}),y=c.useRef(u);c.useEffect(()=>{var b;u!==y.current&&(y.current=u,(b=x.current)==null||b.focus())},[u]),c.useEffect(()=>{var b;s===!0&&((b=x.current)==null||b.focusUnlessTouch())},[]);const I=c.useCallback(b=>X.getState().set(r,b),[r]),[S,M]=c.useState(null);c.useLayoutEffect(()=>{var b;S!==null&&((b=x.current)==null||b.focusAt(S.pos))},[S]);const C=c.useCallback(b=>{b&&(I(b.value),M({pos:b.cursorPos}))},[I]),N=c.useCallback(b=>C(f.selectRow(b)),[f,C]),A=c.useCallback(()=>C(f.selectHighlighted()),[f,C]),_=()=>{if(d===null||!d.canSend||m.current)return;f.dismiss();const b=X.getState().take(r).trim();if(b==="")return;const O=a.pendingFiles.length>0;O&&(m.current=!0),d.send({text:b}).catch(()=>{const k=X.getState(),T=k.drafts[r]??"";k.set(r,T===""?b:`${b}
|
|
44
|
-
${T}`)}).finally(()=>{O&&(m.current=!1)})};if(!v)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:
|
|
42
|
+
*/const rn={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"}]]};rn.node;const ns=F(rn),ts='[data-slot="identity-hover-card-actions"] button:not(:disabled)';function ss(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 u=0,x=0;const v=()=>{var f;const m=(f=a.current)==null?void 0:f.querySelector(ts);if(m)return m.focus();++u<10&&(x=requestAnimationFrame(v))};return v(),()=>cancelAnimationFrame(x)},[t]);const i=c.useCallback(u=>{var x;!u&&((x=a.current)!=null&&x.contains(document.activeElement))||s(u)},[s]),d=c.useCallback(u=>{!o||u.key!=="Enter"&&u.key!==" "||(u.preventDefault(),r.current=!0,s(!0))},[o,s]),p=c.useMemo(()=>({onEscapeKeyDown:()=>{var u;return(u=n.current)==null?void 0:u.focus()},onBlur:u=>{var v,m,f;const x=u.relatedTarget;x&&((v=a.current)!=null&&v.contains(x)||(m=n.current)!=null&&m.contains(x))||(f=a.current)!=null&&f.contains(document.activeElement)||s(!1)}}),[s,n]);return{contentRef:a,handleOpenChange:i,onTriggerKeyDown:d,contentHandlers:p}}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 os({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 as({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(vn,{className:"size-3.5 shrink-0","aria-hidden":!0}),l.jsx("span",{className:"truncate",children:e.session.label})]})]})}const rs=300;function G({className:e,children:t}){return l.jsx("span",{className:te("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:p,handle:u,color:x,emoji:v,imageUrl:m,origin:f,agent:g}=e,w=x??"hsl(var(--muted-foreground))",h=typeof f=="object"&&f!==null,y=d==="agent"&&(g==null?void 0:g.working)!=null?g.working:null,[I,S]=c.useState(!1),M=c.useCallback(k=>{S(k),a==null||a(k)},[a]),C=c.useRef(!1),N=c.useRef(null),A=kn({onLongPress:()=>{C.current&&M(!0)}}),{contentRef:_,handleOpenChange:j,onTriggerKeyDown:b,contentHandlers:O}=ss({open:I,setOpen:M,triggerRef:N,enabled:r&&o!==void 0});return l.jsxs(Kt,{open:I,onOpenChange:j,openDelay:rs,children:[l.jsx(qt,{asChild:!0,ref:N,"data-gesture-priority":"",...A,onPointerDown:k=>{C.current=k.pointerType==="touch"||k.pointerType==="pen",A.onPointerDown(k)},...r?{onClick:()=>M(!0),onKeyDown:b}:{},children:t}),l.jsxs(Wt,{ref:_,...O,...o?{role:"dialog","aria-label":p}:{},"data-slot":"identity-hover-card",align:"start",className:te("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(wn,{"aria-hidden":!0,color:w,emoji:v,imageUrl:m,fallback:In(p),kind:d,origin:f,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:p}),u&&l.jsxs("p",{className:"text-muted-foreground truncate text-xs font-medium",children:["@",u]})]})]}),n&&l.jsx(os,{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(G,{children:[g.runtime,g.model].filter(Boolean).join(" · ")}),y&&l.jsxs(G,{className:"bg-status-success-bg text-status-success-fg",children:["Working · ",Ht(y.forMs)]}),d==="human"&&l.jsx(G,{children:h?f.platform:"On this machine"}),d==="agent"&&(g==null?void 0:g.managedBy)&&l.jsxs(G,{children:["Managed by"," ",g.managedBy.handle?`@${g.managedBy.handle}`:g.managedBy.displayName]})]}),o?l.jsx(as,{actions:o,onAct:()=>{var k;(k=N.current)==null||k.focus(),M(!1)}}):s?l.jsx("button",{type:"button","data-slot":"identity-hover-card-profile",onClick:()=>{var k;(k=N.current)==null||k.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 is(){const e=fe(),t=Pe();return Fe({onMutate:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var u;const r=t.getQueryData(H.entries(s)),i=(u=r==null?void 0:r.find(x=>x.id===n))==null?void 0:u.reactions,{reactions:d,on:p}=Ce(i,o,a);return t.setQueryData(H.entries(s),x=>Ae(x,n,d)),{on:p}},mutationFn:({roomId:s,entryId:n,emoji:o,viewerAuthorId:a})=>{var d,p;const r=t.getQueryData(H.entries(s)),i=((p=(d=r==null?void 0:r.find(u=>u.id===n))==null?void 0:d.reactions)==null?void 0:p.some(u=>u.emoji===o&&u.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 p=(x=d==null?void 0:d.find(v=>v.id===o))==null?void 0:x.reactions,{reactions:u}=Ce(p,a,r,!i.on);return Ae(d,o,u)})},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 q(e){return e.threadRootEntryId??e.parentEntryId}function cs(e){return q(e)??e.id}function ls(e,t){return Math.max(t??0,e)}function ea(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:ls(e.length,s),lastAt:n.createdAt,unread:o}}function ds(e){var M,C;const{agentPath:t,displayName:s,onViewProfile:n,engaged:o}=e,a=Le(),r=Nn(),i=a&&o&&t!==void 0,d=Rn(i?t:null),p=Cn(d.member),u=An(),x=Mn(),v=Sn(),m=jn(),{data:f}=Be({enabled:i&&r}),g=m.status==="ready"?m.roomId:null,w=f==null?void 0:f.find(N=>N.id===g),h=w?se(w):null,y=(C=(M=d.member)==null?void 0:M.agent)==null?void 0:C.effectiveRuntimeId,I=c.useCallback(()=>{t!==void 0&&(Z.getState().recordOpened("agent",t),u({agentPath:t},y?{runtime:y}:{}))},[t,u,y]),S=c.useCallback(async()=>{if(t===void 0||!v)return;const N=await x(t);if(N===null){Ue(`${s} has no session in ${h??"this room"} yet`);return}v(pe({session:N}))},[t,v,x,s,h]);return c.useMemo(()=>!a||t===void 0?null:{about:{role:d.role,status:p},actions:{onMessage:I,...n?{onViewProfile:n}:{},...r&&h?{session:{label:`Session in ${h}`,onOpen:()=>void S()}}:{}}},[a,t,d.role,p,I,n,r,h,S])}function us({identity:e,agentPath:t,onViewProfile:s,openOnClick:n=!1,children:o}){const[a,r]=c.useState(!1),i=ds({agentPath:t,displayName:e.displayName,onViewProfile:s,engaged:a}),d=c.useCallback(p=>{p&&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 ms(e){return l.jsx(Ut,{code:e.code,isIncomplete:e.isIncomplete})}const fs=[{language:Bt,component:ms}],ps={turn_failed:{Icon:Hn,tone:"text-status-warning"},agent_busy:{Icon:Un},agent_gone:{Icon:ns,tone:"text-status-warning"},agent_left:{Icon:je,tone:"text-status-warning"},room_archived:{Icon:Bn},agent_reseated:{Icon:Ln},handle_changed:{Icon:Qe},files_set_up:{Icon:Fn},handoff_shared:{Icon:Pn},handoff_declined:{Icon:Se},runtime_gone:{Icon:Qt,tone:"text-status-warning"},agent_paused:{Icon:Dn},agent_declined:{Icon:Se},agent_unavailable:{Icon:$n},awaiting_approval:{Icon:Yt,tone:"text-status-warning"},halted:{Icon:Tn},budget_reached:{Icon:En},cascade_stopped:{Icon:On},addressing_changed:{Icon:Xt},bridge_blocked:{Icon:Vt,tone:"text-status-warning"},bridge_undelivered:{Icon:_n,tone:"text-status-warning"},bridge_rate_limited:{Icon:es},bridge_second_agent_refused:{Icon:je},bridge_disconnected:{Icon:Jt},bridge_agent_swapped:{Icon:Pt},bridge_history_note:{Icon:zt}},gs={Icon:Kn},le=80;function hs(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 xs(e,t,s){const n=ys(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-2",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 ys(e,t){if(t!==void 0){const n=qn(t),o=e.lastIndexOf(n);if(o!==-1)return{index:o,words:n}}const s=Wn.exec(e);return s===null?null:{index:s.index,words:s[0]}}function bs({entry:e,feedPosition:t,rowId:s,sessionLink:n,subjectName:o}){const{Icon:a,tone:r}=(e.body.notice&&ps[e.body.notice])??gs;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":hs(e.body.text)},...xe(t),className:te("focus-visible:ring-ring flex items-start gap-2 px-[var(--msg-padding-x)] py-2 text-xs outline-none focus-visible:ring-2",r??"text-muted-foreground"),children:[l.jsx(a,{"aria-hidden":!0,className:"mt-px size-3.5 shrink-0"}),l.jsx("span",{children:n?xs(e.body.text,n,o):e.body.text})]})}const vs=Gt.moment;function ks({entry:e,moment:t,subject:s,subjectIdentity:n,feedPosition:o,rowId:a}){const r=Xe(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-visible:ring-ring px-[var(--msg-padding-x)] py-1 outline-none focus-visible:ring-2",children:l.jsxs("div",{className:"border-border/60 bg-muted/40 flex items-center gap-2.5 rounded-lg border 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(At,{author:s}),l.jsx("span",{className:"sr-only",children:s.displayName})]})}),l.jsx(vs,{"data-testid":"room-moment-mark","aria-hidden":!0,className:"text-muted-foreground size-3.5 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:Mt(e.createdAt),className:"text-msg-timestamp shrink-0 text-xs",children:r})]})})}function ws(e,t){const s=X.getState(),n=s.drafts[e]??"",o=n===""||n.endsWith(" ")||n.endsWith(`
|
|
43
|
+
`)?"":" ";s.set(e,`${n}${o}@${t} `)}function Is({roomId:e,entry:t,author:s,viewerAuthorId:n,onViewProfile:o}){const a=cs(t),r=t.body.text,i=(s==null?void 0:s.id)===n?void 0:(s==null?void 0:s.handle)??void 0,d=s==null?void 0:s.displayName,{copy:p}=zn({toastOnSettle:!0});return c.useMemo(()=>{const u={reply:{id:"reply",label:"Reply in thread",icon:Zt,run:()=>{Gn.getState().openThread(e,a,!0),Ie.getState().requestFocus(He(e,a))}},copy:{id:"copy",label:"Copy text",icon:Vn,run:()=>void p(r)}};return o!==void 0&&(u.profile={id:"profile",label:"View profile",icon:Yn,run:o}),i!==void 0&&(u.mention={id:"mention",label:d===void 0?"Mention author":`Mention ${d}`,icon:Qe,run:()=>{ws(e,i),Ie.getState().requestFocus(e)}}),St.map(x=>u[x]).filter(x=>x!==void 0)},[e,a,r,i,d,o,p])}function Ns(e){if(e.kind==="notice")return{kind:"notice"};const t=e.body.moment;return t?{kind:"moment",moment:t}:{kind:"message"}}function na(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 ta(e,t){const s=e.body.subjectAuthorId;return s===void 0||t.has(e.authorId)?e.authorId:s}function Rs(e,t,s){const n=t.get(e),o=Ke({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 sa(e){const t=new Set;for(const a of e)q(a)===null&&t.add(a.id);const s=[],n=new Map,o=new Set;for(const a of e){const r=q(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 Cs(e){return`thread-${e}`}function As(e){return`thread-row-${e}`}function oa(e){return`thread-panel-entry-${e}`}function Ms(e){return`room-entry-${e}`}function Ss(e,t){const s=e.find(i=>i.id===t);if(s===void 0)return null;const n=q(s)??null,o={rowId:t,domId:Ms(t)};if(n===null)return o;const a=e.find(i=>i.id===n);return a!==void 0&&(q(a)??null)===null?{rowId:Cs(n),domId:As(n)}:o}function aa(e,t){if(t===null)return null;const s=e.find(n=>n.seq===t);return s===void 0?null:Ss(e,s.id)}const _e=48;function ra(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>_e?`${a.slice(0,_e).trimEnd()}…`:a}}function js(e,t){const s=new Map;for(const n of e){const o=t[n.projectPath];if(!o)continue;const a=Jn({runtime:o.runtime,model:o.model});s.set(ge(n.projectPath),{memberId:n.id,visual:Xn(o),runtime:a.label,...a.modelLabel!==null&&{model:a.modelLabel}})}return s}function _s(e){const t=new Map;for(const[s,n]of e)t.set(s,n.visual);return t}const Os={info:new Map,faces:new Map},be=c.createContext(Os);function ia({known:e,children:t}){return l.jsx(be.Provider,{value:e,children:t})}function ca(){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=qe(s),o=c.useMemo(()=>js(t,n.data??{}),[t,n.data]),a=c.useMemo(()=>_s(o),[o]);return c.useMemo(()=>({info:o,faces:a}),[o,a])}function ee(e){const t=c.useContext(be);return e===void 0?void 0:t.info.get(e)}function Es(){return c.useContext(be).faces}function Ts({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 Q=120,$s="code block";function Ds(e){if(e.length<=Q&&!e.includes("```"))return null;const t=Ps(e);return t.length===0?null:t}function Ps(e){const t=e.replace(/```[\s\S]*?(?:```|$)/g,` ${$s} `).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<=Q)return t;const s=Fs(t,Q),n=s.lastIndexOf(" ");return`${(n>Q/2?s.slice(0,n):s).trimEnd()}…`}function Fs(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 Ls({roomId:e,entry:t,viewerAuthorId:s,reactionFrequents:n,streamStalled:o,isMember:a=!0}){const r=is(),i=o===!0||!a,d=c.useMemo(()=>t.reactions??[],[t.reactions]),p=c.useMemo(()=>d.filter(v=>jt(v,s)).map(v=>v.emoji),[d,s]),u=c.useCallback(v=>r.mutate({roomId:e,entryId:t.id,emoji:v,viewerAuthorId:s}),[r,e,t.id,s]),x=c.useMemo(()=>({quick:n,mine:p,onToggle:u,disabled:i}),[n,p,u,i]);return{reactions:d,toggle:u,quickRow:x}}function Bs({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 Us(e,t){var x,v;const s=t.body.subjectAuthorId,n=t.body.notice,o=t.kind==="notice"&&n!==void 0&&s!==void 0&&Qn.includes(n),a=Ft(e,{enabled:o}),r=We(),i=Pe(),d=fe(),p=o?((v=(x=a.data)==null?void 0:x.bindings.find(m=>m.authorId===s))==null?void 0:v.sessionId)??null:null,u=c.useCallback(m=>{m.button!==0||m.metaKey||m.ctrlKey||m.shiftKey||m.altKey||(m.preventDefault(),!(p===null||s===void 0)&&Zn({queryClient:i,transport:d},e,s).then(f=>{f.kind!=="none"&&r(pe({session:f.kind==="bound"?f.sessionId:p}))}))},[s,r,i,e,p,d]);return c.useMemo(()=>p===null?null:{href:et({session:p}),onOpen:u},[u,p])}const ne="mention",ve="author_id",Hs={[ne]:[ve]},Ks=[ne];function qs(e,t){if(!t||t.length===0)return e;const s=Ws(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),p=n.slice(a,a+r),u=n.slice(a+r);n=`${d}<${ne} ${ve}="${i}">${p}</${ne}>${u}`}return n}function Ws(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 zs=/^[\s,&+/]*(?:and[\s,&+/]+)?$/i;function Vs(e,t){const s=[...t].sort((a,r)=>a.offset-r.offset),n=new Set;let o=!0;return s.map((a,r)=>{if(o&&r>0){const i=s[r-1];o=zs.test(e.slice(i.offset+i.length,a.offset))}return o&&n.add(a.authorId),n.has(a.authorId)?a:{...a,cc:!0}})}function Gs(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 Ys=new Map,cn=c.createContext(Ys);function Js({authors:e,children:t}){return l.jsx(cn.Provider,{value:e,children:t})}function Xs(e){const t=c.useContext(cn);return e===void 0?void 0:t.get(e)}const Oe=new WeakMap;function Qs(e){const t=Oe.get(e);if(t)return t;const s=new Map(e.map(n=>[ge(n.projectPath),n.projectPath]));return Oe.set(e,s),s}function Zs(e){var n;const s=(n=he().data)==null?void 0:n.agents;return c.useMemo(()=>e===void 0||!s?void 0:Qs(s).get(e),[s,e])}function ln(e){const{agentRef:t,identity:s,onViewProfile:n}=e,o=Le(),a=Zs(o?t:void 0),r=ee(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=(p,u={})=>l.jsx(us,{identity:i,agentPath:a,onViewProfile:n,openOnClick:u.openOnClick??!1,children:p});return{wrap:d,wrapAvatar:p=>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:p}),{openOnClick:!0}),wrapName:p=>d(l.jsx("button",{type:"button","aria-haspopup":"dialog",className:te(p.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 eo={kind:"human",displayName:""};function no(e){return typeof e=="string"?e.replace(/^@/,""):""}function to({authorId:e,children:t,cc:s}){const n=Xs(e),o=ee(n==null?void 0:n.agentRef),{open:a}=ze(),r=n?Ke({record:n,override:o==null?void 0:o.visual}):null,i=n?Ve(n,o==null?void 0:o.memberId):void 0,d=c.useMemo(()=>i===void 0?void 0:()=>a(i),[i,a]),p=r==null?void 0:r.color,u=r==null?void 0:r.emoji,x=r==null?void 0:r.imageUrl,v=c.useMemo(()=>n?{kind:n.kind,displayName:n.displayName,handle:n.handle??void 0,color:p,emoji:u,imageUrl:x,origin:n.origin,agent:o&&{runtime:o.runtime,...o.model&&{model:o.model}}}:null,[n,p,u,x,o]),m=ln({agentRef:n==null?void 0:n.agentRef,identity:v??eo,onViewProfile:d});if(!n||!v)return l.jsx(Me,{kind:"human",label:no(t),resolved:!1});const g=m?{role:"button",tabIndex:0,"aria-haspopup":"dialog"}:d?{role:"button",tabIndex:0,"aria-label":`View ${n.displayName}’s profile`,onClick:d,onKeyDown:h=>{h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),d())}}:{},w=l.jsx(Me,{kind:n.kind,label:n.displayName,handle:n.handle??void 0,color:n.color,origin:n.origin,resolved:!0,interactive:d!==void 0,...g,cc:s});return m?m.wrap(w,{openOnClick:!0}):l.jsx(ye,{onViewProfile:d,identity:v,children:w})}function so(e,t=new Set){return{mention:s=>{const n=s[ve],o=typeof n=="string"?n:void 0;return!o||!e.has(o)?l.jsx(l.Fragment,{children:s.children}):l.jsx(to,{authorId:o,cc:t.has(o),children:s.children})}}}function oo({entry:e,authors:t}){const s=c.useMemo(()=>qs(e.body.text,e.mentionSpans),[e.body.text,e.mentionSpans]),n=c.useMemo(()=>{var r;return new Set(((r=e.mentionSpans)==null?void 0:r.map(i=>i.authorId))??[])},[e.mentionSpans]),o=c.useMemo(()=>new Set(Gs(e.mentionSpans??[])),[e.mentionSpans]),a=c.useMemo(()=>so(n,o),[n,o]);return l.jsx(Js,{authors:t,children:l.jsx(Lt,{content:s,className:"msg-prose",allowedTags:Hs,literalTagContent:Ks,components:a,renderers:fs})})}function ao(e){return function(s){return l.jsx(oo,{entry:s,authors:e})}}const dn="the top folder";function Ee(e){return e.slice(e.lastIndexOf("/")+1)}function ro(e){const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)}function io(e){return e===""?dn:`${e}/`}function de(e){return e.target!==void 0?e.target===""?dn:e.target:io(ro(e.paths[0]??""))}function co(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 ${Ee(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 ${Ee(s)} from the chat to ${de(e)}`}}const lo=c.lazy(()=>nt(()=>import("./index-BLHGc7hd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])).then(e=>({default:e.SaveToRoomFilesButton})));function la({roomId:e,entry:t,author:s,authorRef:n,authors:o,viewerAuthorId:a,authorNames:r,reactionFrequents:i,streamStalled:d,isMember:p=!0,grouping:u,orphanedReply:x,answers:v,feedPosition:m,rowId:f}){const g=Xe(t.createdAt),w=c.useMemo(()=>{const L=Ds(t.body.text),ie=_t(t.attachments??[]);if(ie===null)return L;const we=L??t.body.text.trim();return we.length>0?`${we} ${ie}`:ie},[t.body.text,t.attachments]),h=c.useId(),y=`${h}-author`,I=`${h}-content`,S=`${h}-summary`,M=c.useRef(null),C=c.useRef(null),N=c.useRef(null),{reactions:A,toggle:_,quickRow:j}=Ls({roomId:e,entry:t,viewerAuthorId:a,reactionFrequents:i,streamStalled:d,isMember:p}),b=ee(n==null?void 0:n.agentRef),{open:O}=ze(),k=n===void 0?void 0:Ve(n,b==null?void 0:b.memberId),T=c.useCallback(()=>{k!==void 0&&O(k)},[O,k]),$=k===void 0?void 0:T,W=Is({roomId:e,entry:t,author:n,viewerAuthorId:a,onViewProfile:$}),z=(n==null?void 0:n.handle)??void 0,B=c.useMemo(()=>({kind:s.kind,displayName:s.displayName,handle:z,color:s.color,emoji:s.emoji,imageUrl:s.imageUrl}),[s.kind,s.displayName,z,s.color,s.emoji,s.imageUrl]),D=ln({agentRef:n==null?void 0:n.agentRef,identity:B,onViewProfile:$}),R=Bs({barRef:C,pillsRef:N,hasReactions:A.length>0}),U=c.useCallback(()=>{var L;return(L=M.current)==null?void 0:L.focus()},[]),oe=c.useMemo(()=>ao(o),[o]),hn=c.useCallback(L=>l.jsx(c.Suspense,{fallback:null,children:l.jsx(lo,{roomId:e,attachment:L})}),[e]),xn=Es(),ae=t.body.subjectAuthorId??t.authorId,E=o.get(ae),V=ee(E==null?void 0:E.agentRef),yn=Us(e,t),re=Ns(t);if(re.kind==="notice")return l.jsx(bs,{entry:t,feedPosition:m,rowId:f,sessionLink:yn,subjectName:E==null?void 0:E.displayName});if(re.kind==="moment")return l.jsx(ks,{entry:t,moment:re.moment,subject:ae===t.authorId?s:Rs(ae,o,xn),subjectIdentity:{handle:(E==null?void 0:E.handle)??void 0,origin:E==null?void 0:E.origin,agent:V&&{runtime:V.runtime,...V.model&&{model:V.model}}},feedPosition:m,rowId:f});const bn=u.position==="first"||u.position==="only";return l.jsxs(P.Root,{ref:M,id:f,position:u.position,actions:W,reactions:j,"data-testid":"room-entry",tabIndex:0,...Ts({showAuthorHeader:bn,headerId:y,displayName:s.displayName,time:g,summary:w,contentId:I,summaryId:S,feedPosition:m}),onKeyDown:R,children:[l.jsx(P.Gutter,{author:s,at:t.createdAt,onViewProfile:D?void 0:$,isSelf:t.authorId===a,renderAvatar:D==null?void 0:D.wrapAvatar}),l.jsxs(P.Body,{children:[l.jsx(P.Author,{id:y,author:s,at:t.createdAt,origin:n==null?void 0:n.origin,renderName:D==null?void 0:D.wrapName}),x===!0&&l.jsx("p",{"data-testid":"room-entry-orphan",className:"text-muted-foreground text-xs italic",children:"Replying to an earlier message"}),v!=null&&l.jsx("p",{"data-testid":"room-entry-answers",className:"text-muted-foreground mb-1 truncate text-xs italic",children:`Answering “${v.excerpt}”`}),t.body.via&&l.jsx(Ot,{via:t.body.via}),l.jsx(P.Content,{id:I,className:"wrap-anywhere [&_pre]:overflow-x-auto [&_pre]:wrap-normal",children:t.body.fileChange?l.jsx("p",{"data-testid":"room-entry-file-change",className:"wrap-anywhere",children:co(t.body.fileChange,(E==null?void 0:E.displayName)??"Somebody")}):oe(t,{rowId:t.id,isStreaming:!1})}),w!==null&&l.jsx("span",{id:S,className:"hidden",children:w}),l.jsx(P.Attachments,{items:t.attachments??[],renderAction:p?hn:void 0}),l.jsx(P.Reactions,{ref:N,reactions:A,viewerAuthorId:a,names:r,frequents:i,onToggle:_,disabled:d===!0||!p,onExit:U}),l.jsx(P.Actions,{actions:W,reactions:j,barRef:C,onExit:U})]})]})}const da={reactions:!0,threads:!0,runWith:!1,attachments:!0,mentions:!0,streamHealth:!0,presence:!0,turnStatus:!1,asks:!0};function uo(e){const t=fe(),[s,n]=c.useState([]),o=c.useRef(new Map),a=c.useCallback(m=>{const f=m.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));n(g=>[...g,...f])},[]),r=c.useCallback(m=>{o.current.delete(m),n(f=>f.filter(g=>g.id!==m))},[]),i=c.useCallback(m=>{if(!m){o.current.clear(),n([]);return}const f=new Set(m);for(const g of f)o.current.delete(g);n(g=>g.filter(w=>!f.has(w.id)))},[]),d=c.useCallback(m=>{o.current.delete(m),n(f=>f.map(g=>g.id===m&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),p=c.useRef(null),u=Fe({meta:{suppressErrorToast:!0},mutationFn:async m=>{n(h=>h.map(y=>m.some(I=>I.id===y.id)?{...y,status:"uploading"}:y));const f=h=>{n(y=>y.map(I=>I.status==="uploading"?{...I,progress:h.percentage}:I))},g=new AbortController;p.current=g;const w=m.map(h=>h.file);return t.uploadRoomAttachments(e,w,f,g.signal)},onSettled:()=>{p.current=null},onSuccess:(m,f)=>{f.forEach((g,w)=>{const h=m[w];h&&o.current.set(g.id,h.id)}),n(g=>g.map(w=>f.findIndex(y=>y.id===w.id)===-1?w:{...w,status:"uploaded",progress:100}))},onError:m=>{n(f=>f.map(g=>g.status==="uploading"?{...g,status:"error",error:m.message}:g))}}),x=c.useCallback(()=>{var m;(m=p.current)==null||m.abort()},[]),v=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 f=s.filter(g=>g.status==="pending");return f.length>0&&await u.mutateAsync(f),s.map(g=>o.current.get(g.id)).filter(g=>g!==void 0)},[s,u]);return{pendingFiles:s,addFiles:a,removeFile:r,retryFile:d,clearFiles:i,cancelUpload:x,uploadAndGetIds:v,hasPendingFiles:s.length>0,hasFailedUpload:s.some(m=>m.status==="error"),isUploading:u.isPending}}function ua(e){const{room:t,threadRootId:s}=e,n=Et(),o=Tt(),a=uo((t==null?void 0:t.id)??""),r=t!==void 0&&Ge(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),[]),p=c.useCallback(y=>i.current.attachments.removeFile(y),[]),u=c.useCallback(y=>i.current.attachments.retryFile(y),[]),x=c.useCallback(()=>i.current.attachments.cancelUpload(),[]),{pendingFiles:v,hasFailedUpload:m,isUploading:f}=a,g=c.useMemo(()=>({staged:v,add:d,remove:p,retry:u,cancel:x,hasFailed:m,isUploading:f,holdsSendWhileUploading:!1}),[v,m,f,d,p,u,x]),w=c.useCallback(async y=>{const{attachments:I,post:S,reply:M,room:C,threadRootId:N}=i.current;if(C===void 0)throw new Error("That room isn’t loaded yet.");if(C.archived)throw new Error("This room is archived.");Z.getState().recordOpened("room",C.id);const A=tt(),_=I.pendingFiles.map(k=>k.file.name),j=I.pendingFiles.map(k=>k.id),b=await I.uploadAndGetIds();I.clearFiles(j);const O=y.parentEntryId??N;if(O!==void 0){M.mutate({roomId:C.id,rootEntryId:O,text:y.text,clientId:A,attachmentIds:b,attachmentNames:_});return}S.mutate({roomId:C.id,text:y.text,clientId:A,attachmentIds:b,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:Ye},send:w,attachments:g}),[t,s,r,g,w]),attachments:a}}const un=8;function mn(e){if(e==null)return null;const t=e.replace(/\s+/g," ").trim();return t.length===0?null:t}function mo(e){if(at(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`:mn(e.topic)}function Te(e){return{kind:"session",id:e.id,name:ot(e.title),summary:mn(e.lastMessagePreview),lastActivityAt:e.updatedAt,session:e}}function fo(e){return{kind:e.kind==="dm"?"dm":"channel",id:e.id,name:se(e),summary:mo(e),lastActivityAt:e.lastActivityAt,room:e}}function Y(e){if(e===void 0)return null;const t=Date.parse(e);return Number.isNaN(t)?null:t}function po(e){return e.kind==="session"?Ne("session",e.id):Ne("room",e.id)}function $e(e,t){const s=[Y(t[po(e)]),...e.kind==="session"?[Y(e.session.lastTouchedByYouAt),Y(e.session.userLastMessageAt)]:[]].filter(n=>n!==null);return s.length>0?Math.max(...s):Y(e.lastActivityAt)??Number.NEGATIVE_INFINITY}function go(e){return(t,s)=>$e(s,e)-$e(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 xo(e,t){return!(t.has(e.id)||e.unreadCount===null||e.lastActivityAt===e.createdAt)}function yo({sessions:e,rooms:t,mutedRoomIds:s=new Set,interactions:n={},limit:o=un}){const{yours:a,spinOffs:r,automated:i}=st(e),d=go(n),p=[...a.map(Te),...t.filter(u=>xo(u,s)).map(fo)].sort(d);return{items:ho(p).slice(0,o),automated:[...r,...i].map(Te).sort(d).slice(0,o)}}const bo=3,vo=ct;function ko({limit:e=un,mutedRoomIds:t,enabled:s=!0}={}){var p,u;const n=rt(Math.max(e*bo,vo),{enabled:s}),o=Be({enabled:s}),a=it(),r=(p=n.data)==null?void 0:p.sessions,i=o.data;return{...c.useMemo(()=>yo({sessions:r??[],rooms:i??[],mutedRoomIds:t,interactions:a,limit:e}),[r,i,t,a,e]),isLoading:s&&(n.isLoading||o.isLoading),warnings:((u=n.data)==null?void 0:u.warnings)??[]}}const wo=6,fn="jump-back-in-listbox";function ke(e){return`jump-back-in-item-${e}`}const Io='[role="combobox"]';function K(e){return e instanceof Element&&e.matches(Io)}function No({value:e,yieldToPalette:t=!1,enabled:s=!0}){const n=We(),o=lt(),[a,r]=c.useState(!1),[i,d]=c.useState({stamp:"",index:0}),[p,u]=c.useState(!1),[x,v]=c.useState(!1);e.length>0&&!x&&v(!0);const m=c.useRef(!1);c.useEffect(()=>{m.current=!0},[]);const{data:f}=he({enabled:s}),g=c.useMemo(()=>((f==null?void 0:f.agents)??[]).map(R=>R.projectPath),[f]),{data:w}=qe(g,{enabled:s}),h=c.useMemo(()=>w??{},[w]),y=c.useMemo(()=>dt(g,h),[g,h]),I=c.useMemo(()=>new Map(g.map(R=>[ge(R),R])),[g]),S=c.useCallback(R=>ut({room:R,agentsByPath:h,pathByAgentRef:I}),[h,I]),M=c.useMemo(()=>mt(o.muted),[o.muted]),{items:C}=ko({mutedRoomIds:M,enabled:s}),N=c.useMemo(()=>C.slice(0,wo),[C]),A=s&&a&&!p&&!x&&!t&&e.length===0&&N.length>0,_=`${A}:${N.length}`,j=i.stamp===_?i.index:0,b=c.useCallback(R=>{m.current&&K(R.target)&&(u(!1),v(!1),r(!0))},[]),O=c.useCallback(R=>{K(R.target)&&r(!0)},[]),k=c.useCallback(R=>{K(R.target)&&r(!1)},[]),T=c.useCallback(R=>{N.length!==0&&d(U=>{const oe=U.stamp===_?U.index:0;return{stamp:_,index:(oe+R+N.length)%N.length}})},[N.length,_]),$=c.useCallback(()=>T(1),[T]),W=c.useCallback(()=>T(-1),[T]),z=c.useCallback(()=>{u(!0)},[]),B=c.useCallback(R=>{if(u(!0),R.kind==="session"){R.session.cwd&&Z.getState().recordOpened("agent",R.session.cwd),n(pe({dir:R.session.cwd??void 0,session:R.session.id}));return}Z.getState().recordOpened("room",R.room.id),n({...ft.channels(),search:{id:R.room.id}})},[n]),D=c.useCallback(()=>{const R=N[j];!A||!R||B(R)},[A,N,j,B]);return{isOpen:A,hasRows:N.length>0,rows:N,agents:h,displayNames:y,visualOf:S,selectedIndex:j,activeDescendantId:A&&N[j]!==void 0?ke(j):void 0,listboxId:A?fn:void 0,handleFocus:b,handleBlur:k,handlePointerDown:O,moveDown:$,moveUp:W,selectHighlighted:D,selectRow:B,dismiss:z}}function pn({mark:e,label:t,title:s,summary:n,lastActivityAt:o,index:a,isSelected:r,now:i,onSelect:d}){const p=c.useMemo(()=>Number.isNaN(Date.parse(o))?null:vt(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}),p!==null&&l.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0",children:p})]}),n!==null&&l.jsx("span",{className:"text-muted-foreground/70 text-2xs truncate",children:n})]})]})}function Ro({item:e,agent:t,displayName:s,index:n,isSelected:o,now:a,onSelect:r}){const i=gt(t,e.session.cwd??s);return l.jsx(pn,{mark:l.jsx(ht,{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 Co({item:e,visual:t,index:s,isSelected:n,now:o,onSelect:a}){return l.jsx(pn,{mark:l.jsx(yt,{room:e.room,participants:e.room.participants,visuals:bt(t)}),label:l.jsx(xt,{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 Ao({rows:e,selectedIndex:t,agents:s={},displayNames:n={},visualOf:o,onSelect:a}){const r=pt(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(Je.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:fn,role:"listbox","aria-label":"Jump back in",className:"max-h-72 overflow-y-auto p-1.5",children:e.map((i,d)=>{var p;return i.kind==="session"?l.jsx(Ro,{item:i,agent:i.session.cwd&&s[i.session.cwd]||null,displayName:i.session.cwd&&n[i.session.cwd]||((p=i.session.cwd)==null?void 0:p.split("/").pop())||"Agent",index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`session-${i.id}`):l.jsx(Co,{item:i,visual:o(i.room),index:d,isSelected:d===t,now:r,onSelect:()=>a(i)},`room-${i.id}`)})})})}const De={people:"People",agents:"Agents"},Mo=["people","agents"];function So(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 jo(e,t,s){const n=t.trim().toLowerCase(),o=e.map((a,r)=>({row:a,position:r,tier:_o(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 _o(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 J(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 Oo(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 Eo=/(^|\s)@([A-Za-z0-9_.-]*)$/,gn="mention-palette-listbox";function me(e){return`mention-item-${e}`}function To({members:e,viewerAuthorId:t,text:s,sectionOrder:n=Mo}){var O;const[o,a]=c.useState(!1),[r,i]=c.useState(""),[d,p]=c.useState(-1),u=kt(s),x=c.useRef(!1),v=c.useMemo(()=>So(e,t),[e,t]),m=c.useMemo(()=>o?jo(v,r,n):[],[v,r,o,n]),[f,g]=c.useState(null),w=f!==null&&f.query===r&&f.open===o?f.index:J(m,0,1),h=m[w],y=m.length===0||h!==void 0&&!h.disabled?w:J(m,0,1),I=c.useCallback((k,T)=>{const $=k.slice(0,T).match(Eo);if(!$){a(!1);return}a(!0),i($[2]),p(($.index??0)+$[1].length)},[]),S=c.useCallback(k=>{u.write(k),x.current=!1},[u]),M=c.useCallback(k=>{x.current||I(u.read(),k)},[I,u]),C=c.useCallback(()=>{g({query:r,open:o,index:J(m,y+1,1)})},[m,y,r,o]),N=c.useCallback(()=>{g({query:r,open:o,index:J(m,y-1,-1)})},[m,y,r,o]),A=c.useCallback(k=>k.disabled||k.handle===void 0?null:(x.current=!0,a(!1),Oo(u.read(),d,r,k.handle)),[d,r,u]),_=c.useCallback(()=>{const k=m[y];return k?A(k):(a(!1),null)},[m,y,A]),j=c.useCallback(()=>{x.current=!0,a(!1)},[]),b=m.some(k=>!k.disabled);return{isOpen:o,hasSelectableRows:b,rows:m,selectedIndex:y,activeDescendantId:o&&((O=m[y])==null?void 0:O.disabled)===!1?me(y):void 0,listboxId:o?gn:void 0,noteTextChange:S,handleCursorChange:M,moveDown:C,moveUp:N,selectHighlighted:_,selectRow:A,dismiss:j}}function $o({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(Je.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:gn,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":De[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:De[o]}),a.map(({row:i,index:d})=>{const p=d===t;return l.jsxs("div",{id:me(d),role:"option","aria-selected":p,"aria-disabled":i.disabled,"data-selected":p,"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 Do=/@([A-Za-z0-9][A-Za-z0-9_.-]*)/g,Po=/[.\-_]+$/;function Fo(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(Do)){if(o.index===void 0)continue;const a=o[1].toLowerCase(),r=a.replace(Po,""),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 Lo(e,t){const s=Vs(e,Fo(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||n.length===0)return null;const a=r=>r.map(i=>`@${i}`).join(", ");return`Asks ${a(n)} · cc ${a(o)}`}function ma({room:e,threadRootId:t,focusOnMount:s,offerJumpBackIn:n,onFocusChange:o,attachments:a}){const r=t===void 0?e.id:He(e.id,t),i=wt(r),{target:d}=$t(),p=It(),u=Nt(r),x=c.useRef(null),v=Ge(e.members,e.viewerAuthorId),m=c.useRef(!1),f=To({members:e.members,viewerAuthorId:e.viewerAuthorId,text:i}),g=c.useMemo(()=>e.kind==="channel"?Lo(i,e.members):null,[e.kind,e.members,i]),w=n===!0,h=No({value:i,yieldToPalette:f.isOpen,enabled:w}),y=c.useRef(u);c.useEffect(()=>{var b;u!==y.current&&(y.current=u,(b=x.current)==null||b.focus())},[u]),c.useEffect(()=>{var b;s===!0&&((b=x.current)==null||b.focusUnlessTouch())},[]);const I=c.useCallback(b=>X.getState().set(r,b),[r]),[S,M]=c.useState(null);c.useLayoutEffect(()=>{var b;S!==null&&((b=x.current)==null||b.focusAt(S.pos))},[S]);const C=c.useCallback(b=>{b&&(I(b.value),M({pos:b.cursorPos}))},[I]),N=c.useCallback(b=>C(f.selectRow(b)),[f,C]),A=c.useCallback(()=>C(f.selectHighlighted()),[f,C]),_=()=>{if(d===null||!d.canSend||m.current)return;f.dismiss();const b=X.getState().take(r).trim();if(b==="")return;const O=a.pendingFiles.length>0;O&&(m.current=!0),d.send({text:b}).catch(()=>{const k=X.getState(),T=k.drafts[r]??"";k.set(r,T===""?b:`${b}
|
|
44
|
+
${T}`)}).finally(()=>{O&&(m.current=!1)})};if(!v)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:Ye}),l.jsx(ue,{type:"button",size:"sm",variant:"outline",disabled:p.isPending,onClick:()=>p.mutate({roomId:e.id,authorId:e.viewerAuthorId},{onSuccess:()=>Ue.success(`You joined ${se(e)}`)}),children:Rt})]});const j=l.jsx(Dt.Composer,{inputRef:x,value:i,onChange:b=>{I(b),f.noteTextChange(b)},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:f.isOpen&&f.rows.length===0?"No one by that name.":""}),mentionPicker:l.jsx(Re,{children:f.isOpen&&l.jsx($o,{rows:f.rows,selectedIndex:f.selectedIndex,onSelect:N})}),overlays:l.jsx(l.Fragment,{children:l.jsx(Re,{children:h.isOpen&&l.jsx(Ao,{rows:h.rows,selectedIndex:h.selectedIndex,agents:h.agents,displayNames:h.displayNames,visualOf:h.visualOf,onSelect:h.selectRow})})}),input:{onCursorChange:f.handleCursorChange,isStreaming:!1,isPaletteOpen:f.isOpen||h.isOpen,paletteHasResults:h.isOpen?h.hasRows:f.hasSelectableRows,onArrowUp:h.isOpen?h.moveUp:f.moveUp,onArrowDown:h.isOpen?h.moveDown:f.moveDown,onCommandSelect:h.isOpen?h.selectHighlighted:A,onEscape:h.isOpen?h.dismiss:f.dismiss,tabPicks:!h.isOpen,onClear:()=>{I(""),f.dismiss()},activeDescendantId:h.isOpen?h.activeDescendantId:f.activeDescendantId,paletteListboxId:h.isOpen?h.listboxId:f.listboxId,contextKey:r,...a.hasFailedUpload?{canSubmitReason:"A file didn’t upload. Try it again or remove it, then send."}:{}}});return!w&&o===void 0?j:l.jsx("section",{className:"flex flex-col","data-testid":Ct.homeComposer,onFocus:b=>{h.handleFocus(b),K(b.target)&&(o==null||o(!0))},onBlur:b=>{h.handleBlur(b),K(b.target)&&(o==null||o(!1))},onPointerDown:h.handlePointerDown,children:j})}export{ia as A,ma as C,ye as I,da as R,na as a,la as b,Rs as c,ta as d,ca as e,ra as f,sa as g,Cs as h,ls as i,ea as j,As as k,Ms as l,Ss as m,oa as n,aa as o,K as p,cs as r,q as t,ua as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{O as m,a1 as x,aW as k,r as v,j as t,B as d,G as p,dD as y}from"./index-
|
|
1
|
+
import{O as m,a1 as x,aW as k,r as v,j as t,B as d,G as p,dD as y}from"./index-_8SHxs8S.js";import{u as D}from"./use-update-config-B49bVEOw.js";import{I as O}from"./inline-code-AHNJTNEg.js";/**
|
|
2
2
|
* @license lucide-react v1.48.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|