dorkos 0.119.0 → 0.121.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/cli.js +3332 -2835
- package/dist/browser/native/package-manifest.json +1 -1
- package/dist/browser/source-manifest.json +1 -1
- package/dist/client/assets/{AboutPage-DPEGtCwv.js → AboutPage-CtI8gbER.js} +1 -1
- package/dist/client/assets/{ActivityErrorState-ENqFKw2l.js → ActivityErrorState-CHTXfBS7.js} +1 -1
- package/dist/client/assets/{ActivityPage-Bh3Fhkkr.js → ActivityPage-B8p4yYJL.js} +1 -1
- package/dist/client/assets/{ActivityRow-Mj9YGZo2.js → ActivityRow-CSuSz-92.js} +1 -1
- package/dist/client/assets/{AdapterIcon-BcejWkC-.js → AdapterIcon-Qnxn0cE5.js} +1 -1
- package/dist/client/assets/{AdapterSetupWizard-CEnUjD84.js → AdapterSetupWizard-BG8H-Lld.js} +1 -1
- package/dist/client/assets/{AgentOptionRow-DcKMOkUs.js → AgentOptionRow-BWFQFynn.js} +1 -1
- package/dist/client/assets/{AgentPicker-W6XeKjz9.js → AgentPicker-CL93SET3.js} +1 -1
- package/dist/client/assets/{AgentRequestCard-C8xPf4Ij.js → AgentRequestCard-CamX7Tvr.js} +3 -3
- package/dist/client/assets/{AppearancePage-uoWRNL1C.js → AppearancePage-rN70_7ih.js} +1 -1
- package/dist/client/assets/{ApplyToOverridesDialog-C5Nf8pjH.js → ApplyToOverridesDialog-DeWaXbgm.js} +1 -1
- package/dist/client/assets/{AttentionSignalRow-BI-uQ-ay.js → AttentionSignalRow-CKcSWExi.js} +1 -1
- package/dist/client/assets/{BaseTanStackRouterDevtoolsPanel-B-iktbLX-Cpi-0c7y.js → BaseTanStackRouterDevtoolsPanel-B-iktbLX-BwYaLf2P.js} +1 -1
- package/dist/client/assets/{BindingDialog-B3vCYvfL.js → BindingDialog-DqPDLYbF.js} +1 -1
- package/dist/client/assets/BlintzCanvas-DoAZs5bz.js +1231 -0
- package/dist/client/assets/{BlintzCanvas-GgiCXV7C.css → BlintzCanvas-xZ3u3nk7.css} +1 -1
- package/dist/client/assets/{CanvasCsvContent-DtZuAo03.js → CanvasCsvContent-ViqRJuhW.js} +1 -1
- package/dist/client/assets/CanvasFileContent-ClcHZ_l-.js +2 -0
- package/dist/client/assets/{CanvasModel3dContent-BlYcTOLd.js → CanvasModel3dContent-Cm3msNdQ.js} +2 -2
- package/dist/client/assets/{ChatAppsOff-B996C06C.js → ChatAppsOff-D0PbHYqF.js} +1 -1
- package/dist/client/assets/{CodeMirrorDiff-UfNeO6Wa.js → CodeMirrorDiff-DFNSXeuV.js} +1 -1
- package/dist/client/assets/{CodeMirrorEditor-BMSnTJnS.js → CodeMirrorEditor-AgkgsSqN.js} +1 -1
- package/dist/client/assets/{CommitmentList-LBnn140g.js → CommitmentList-0V6QivXH.js} +1 -1
- package/dist/client/assets/{CommitmentsPage-BNEP939u.js → CommitmentsPage-i3XoHwBj.js} +1 -1
- package/dist/client/assets/{ComputerResourceView-C97PoLhs.js → ComputerResourceView-RPoBc-km.js} +1 -1
- package/dist/client/assets/{ComputerViewer-DVaP4S-x.js → ComputerViewer-2ugaCd0H.js} +1 -1
- package/dist/client/assets/{ConnectionAccessLists-COotkMKW.js → ConnectionAccessLists-DaPP4U96.js} +1 -1
- package/dist/client/assets/{ConnectionsPage-DMqldmCl.js → ConnectionsPage-BVqYvfk5.js} +2 -2
- package/dist/client/assets/{ConventionPage-DXcAUNjb.js → ConventionPage-BoqncrFd.js} +1 -1
- package/dist/client/assets/{ExtensionPageRoute-Cx-zCEnS.js → ExtensionPageRoute-BrOEeNX3.js} +2 -2
- package/dist/client/assets/{FloatingTanStackRouterDevtools-CqogiFob-U9QmMzNM.js → FloatingTanStackRouterDevtools-CqogiFob-DLwix3K7.js} +1 -1
- package/dist/client/assets/HandlePage-B_5GLHsp.js +1 -0
- package/dist/client/assets/{HeartbeatPage-lS53N7qR.js → HeartbeatPage-DgXhbaBJ.js} +1 -1
- package/dist/client/assets/KeyEntry-CRr32Ae5.js +1 -0
- package/dist/client/assets/{LexicalField-NpV0yrX5.js → LexicalField-DeAoA6yr.js} +1 -1
- package/dist/client/assets/{ManagesPage-Dvjt_Ql0.js → ManagesPage-ZBWYLTZx.js} +1 -1
- package/dist/client/assets/{Marketplace-BXrL6XrG.js → Marketplace-iL5p8Omt.js} +4 -4
- package/dist/client/assets/{MarketplaceSourcesView-Xm9UboIG.js → MarketplaceSourcesView-CsNLVOdP.js} +1 -1
- package/dist/client/assets/{McpAppFrame-BOhSmDHb.js → McpAppFrame-B1WPswgk.js} +1 -1
- package/dist/client/assets/McpSigninBody-CJ28yu0o.js +1 -0
- package/dist/client/assets/{Model3dViewer-B0efG9VW.js → Model3dViewer-BIZWdK8g.js} +1 -1
- package/dist/client/assets/NamePage-0nr288eM.js +1 -0
- package/dist/client/assets/{NewDirectMessageMenu-BOwmahin.js → NewDirectMessageMenu-DRx9e9kM.js} +1 -1
- package/dist/client/assets/{NotificationsPage-pQg9DtG3.js → NotificationsPage-cfqgSuVy.js} +1 -1
- package/dist/client/assets/{OpenMeshSwitch-C5dCRdqs.js → OpenMeshSwitch-BIIuKDku.js} +1 -1
- package/dist/client/assets/{OperatorIdentityForm-CgSvpX-s.js → OperatorIdentityForm-BKUSGrs6.js} +1 -1
- package/dist/client/assets/{PermissionHistory-ChEe8iYR.js → PermissionHistory-Ctdqhib6.js} +1 -1
- package/dist/client/assets/{PermissionsPage-C8gICIw9.js → PermissionsPage-CYA_zdrV.js} +1 -1
- package/dist/client/assets/{PersonalityPopover-DcuHjnIT.js → PersonalityPopover-BR4Cpr2C.js} +1 -1
- package/dist/client/assets/PhotoPage-C3Ir3wlA.js +1 -0
- package/dist/client/assets/{PresetPicker-C-HcfktA.js → PresetPicker-zGvDOqTf.js} +2 -2
- package/dist/client/assets/{PreviewRefusedNotice-CgJeWKad.js → PreviewRefusedNotice-D1Tl265t.js} +1 -1
- package/dist/client/assets/{ProfileFields-Bpe71duM.js → ProfileFields-T3vVbHRC.js} +1 -1
- package/dist/client/assets/{ProfilePanelContainer-r2T2nLuy.js → ProfilePanelContainer-CParzTPA.js} +1 -1
- package/dist/client/assets/{ProfileRolePicker-B9as28eL.js → ProfileRolePicker-BU4eiMKn.js} +1 -1
- package/dist/client/assets/{PromptSuggestionChips-BjyRYcZH.js → PromptSuggestionChips-CGNQc2Tf.js} +1 -1
- package/dist/client/assets/{ReportsToPopover-Bs59IbmP.js → ReportsToPopover-Dj5U_Ppi.js} +1 -1
- package/dist/client/assets/{RoomSurface-CcxCucEt.js → RoomSurface-BIyjtxKD.js} +7 -7
- package/dist/client/assets/{RoomsPage-gAEppmDN.js → RoomsPage-Cvs3h6f0.js} +1 -1
- package/dist/client/assets/{RunsOnPopover-BYqbPh-k.js → RunsOnPopover-BUlYwRW4.js} +1 -1
- package/dist/client/assets/{RuntimeConnectFlow-BmMBE_ki.js → RuntimeConnectFlow-ChrvjC84.js} +1 -1
- package/dist/client/assets/{RuntimeSetupDialog-DsDi5RBn.js → RuntimeSetupDialog-BK9yo7YF.js} +1 -1
- package/dist/client/assets/{SessionsPage-Cid8fhdk.js → SessionsPage-CWUwU3US.js} +1 -1
- package/dist/client/assets/SettingsDialog-BApzy0J8.js +12 -0
- package/dist/client/assets/{SkillsPage-YiAaBf5n.js → SkillsPage-z3XnApNX.js} +1 -1
- package/dist/client/assets/{TaskDialogWrapper-BZ19n03x.js → TaskDialogWrapper-BEWUpAlk.js} +1 -1
- package/dist/client/assets/{TasksEmptyState-RqhzTXZs.js → TasksEmptyState-CLwpLnIO.js} +2 -2
- package/dist/client/assets/{TasksPage-CkaqOq26.js → TasksPage-CyHjr9OZ.js} +1 -1
- package/dist/client/assets/{TeamComputerEntry-BFwHEcxT.js → TeamComputerEntry-BHHIofx3.js} +1 -1
- package/dist/client/assets/{ToolsPage-BnCLKQr8.js → ToolsPage-CckCco8x.js} +2 -2
- package/dist/client/assets/TopologyGraph-Dox7aWP3.js +30 -0
- package/dist/client/assets/{TourHost-D6Lclw6P.js → TourHost-CTBewD-a.js} +1 -1
- package/dist/client/assets/{UnlinkDialog-DqKrNRIZ.js → UnlinkDialog-CFRgExId.js} +1 -1
- package/dist/client/assets/{WidgetErrorCard-YpoGnbGt.js → WidgetErrorCard-Dx5oPMlF.js} +3 -3
- package/dist/client/assets/_commonjs-dynamic-modules-TDtrdbi3.js +1 -0
- package/dist/client/assets/_shell-BHUZq_8C.js +80 -0
- package/dist/client/assets/{_shell._home-BcVOIprN.js → _shell._home-DnBkgWs4.js} +1 -1
- package/dist/client/assets/{_shell._home.activity-B-5keh6v.js → _shell._home.activity-CVCC-EEI.js} +1 -1
- package/dist/client/assets/{_shell._home.index-CeUO_fiS.js → _shell._home.index-Ck6jxwIx.js} +1 -1
- package/dist/client/assets/{_shell._home.tasks-DrghkSwu.js → _shell._home.tasks-B7QQAZnA.js} +1 -1
- package/dist/client/assets/{_shell._home.workspaces-ClpXSXb7.js → _shell._home.workspaces-DlrRd9tv.js} +1 -1
- package/dist/client/assets/_shell.channels-CiWehoyl.js +10 -0
- package/dist/client/assets/{_shell.connections-BAyaKCu0.js → _shell.connections-CGP5hZHq.js} +1 -1
- package/dist/client/assets/{_shell.feedback-requests-C_0Cb9ew.js → _shell.feedback-requests-BxxNvw6j.js} +1 -1
- package/dist/client/assets/_shell.marketplace-BoAmyvPt.js +1 -0
- package/dist/client/assets/_shell.marketplace_.sources-BpqWjkGL.js +1 -0
- package/dist/client/assets/{_shell.session-DAOicD3_.js → _shell.session-KyPj3OxK.js} +17 -17
- package/dist/client/assets/{_shell.team-C9JBEYch.js → _shell.team-CsXH3NkS.js} +6 -6
- package/dist/client/assets/_shell.x._extensionId-CfiAgtoq.js +1 -0
- package/dist/client/assets/_shell.x._extensionId_._-CfiAgtoq.js +1 -0
- package/dist/client/assets/abnfDiagram-WEYOIA3C-CMdkyiQ3.js +1 -0
- package/dist/client/assets/{access-copy-DBchOVu9.js → access-copy-CW-z1oMH.js} +1 -1
- package/dist/client/assets/arc-Bw7tftQk.js +1 -0
- package/dist/client/assets/architectureDiagram-ZHVYKT53-BhpXALtX.js +36 -0
- package/dist/client/assets/{banner-DyAc42ob.js → banner-EomQNDOH.js} +1 -1
- package/dist/client/assets/blockDiagram-RJAE7QA3-Bxk_BuZv.js +140 -0
- package/dist/client/assets/c4Diagram-XDPPPE54-CYN0FwR8.js +38 -0
- package/dist/client/assets/{card-B1UFbnvJ.js → card-ww4ebz8h.js} +1 -1
- package/dist/client/assets/channel-DZpRF3QJ.js +1 -0
- package/dist/client/assets/chunk-2E7WHVMD-IPDvYcPa.js +88 -0
- package/dist/client/assets/chunk-2Q5K7J3B-DZ5bU5Ax.js +1 -0
- package/dist/client/assets/chunk-4EMNKR2T-DrsWxa6Y.js +1 -0
- package/dist/client/assets/chunk-55XCU76K-CiBbKG0b.js +1 -0
- package/dist/client/assets/chunk-5VM5RSS4-B3K3MUav.js +15 -0
- package/dist/client/assets/chunk-JWPE2WC7-CjV5RcIh.js +1 -0
- package/dist/client/assets/chunk-VQ5W62QI-CWoRr0H2.js +1 -0
- package/dist/client/assets/chunk-XXDRQBXY-E0nvzXiG.js +1 -0
- package/dist/client/assets/chunk-ZCHMQSOR-DFop6Lvt.js +2 -0
- package/dist/client/assets/classDiagram-v2-4MYWR3UA-B7JJfc9z.js +217 -0
- package/dist/client/assets/{command-EveETx4P.js → command-D4fLpJxA.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-BjNppl29.js +1 -0
- package/dist/client/assets/{cpu-6HIzSTBv.js → cpu-DCe0Yyml.js} +1 -1
- package/dist/client/assets/cynefin-EF2NZ3EQ-PmRntJwW.js +141 -0
- package/dist/client/assets/cynefinDiagram-WF24UDRP-Ctdbp_Vg.js +62 -0
- package/dist/client/assets/cytoscape.esm-BLAcgzS2.js +331 -0
- package/dist/client/assets/dagre-NK4GIZVX-5tvLY2ZW.js +4 -0
- package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/client/assets/diagram-CBK3MWTC-DZO-XBOO.js +24 -0
- package/dist/client/assets/diagram-I5XIIV2D-CWBbA1Pv.js +24 -0
- package/dist/client/assets/diagram-ODIL2UCW-hP5A1tGl.js +30 -0
- package/dist/client/assets/diagram-PFBEJUXE-EI_-RoN7.js +3 -0
- package/dist/client/assets/diagram-RJA3I4VV-TrYq9A4Z.js +41 -0
- package/dist/client/assets/diagram-TYUNFSNR-BAQq2OM5.js +200 -0
- package/dist/client/assets/ebnfDiagram-V4P3TTPT-cKbeW9dQ.js +1 -0
- package/dist/client/assets/elk-QONTBCTQ-wpfNPp0q.js +27 -0
- package/dist/client/assets/{empty-state-DK2Wg9m3.js → empty-state-DXWQsHMf.js} +1 -1
- package/dist/client/assets/erDiagram-KYQIGQAA-Dk0OrvjE.js +99 -0
- package/dist/client/assets/{execution-config-e5c_6oSg.js → execution-config-CAyT2Qoo.js} +1 -1
- package/dist/client/assets/{file-CxdN5JO4.js → file-Bf7D_47y.js} +1 -1
- package/dist/client/assets/{file-exclamation-point-ID9vXo0l.js → file-exclamation-point-DZXE9_8o.js} +1 -1
- package/dist/client/assets/{file-text-DtcloCeg.js → file-text-C1ougnBY.js} +1 -1
- package/dist/client/assets/{find-latest-widget-fence-BGZDFnjV.js → find-latest-widget-fence-B1_-pC-Z.js} +1 -1
- package/dist/client/assets/flowDiagram-IUGLLWBU-CdlOoRZV.js +213 -0
- package/dist/client/assets/{form-Bs1x_gSI.js → form-D7kF-U0d.js} +1 -1
- package/dist/client/assets/{format-cron-i_Bh2HP3.js → format-cron-ZtliseYi.js} +1 -1
- package/dist/client/assets/ganttDiagram-R7GPNTJY-x0MJLv5d.js +292 -0
- package/dist/client/assets/{git-branch-B3IXXOlG.js → git-branch-B2k77X3Q.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-PDYL7XHY-CruCvk7w.js +106 -0
- package/dist/client/assets/graph-5PBe05F8.js +1 -0
- package/dist/client/assets/{heart-BKVGdKg5.js → heart-CmqGJPDc.js} +1 -1
- package/dist/client/assets/{highlighted-body-KPVGNVTW-2S9TnGZL.js → highlighted-body-KPVGNVTW-Bqu2cQDj.js} +1 -1
- package/dist/client/assets/{image-lightbox-D28E719A.js → image-lightbox-BBbz-ThL.js} +1 -1
- package/dist/client/assets/{image-off-BuNZtQ_w.js → image-off-BCtWIY4q.js} +1 -1
- package/dist/client/assets/{index-LPr-pCZr.js → index-1ShgR_xt.js} +1 -1
- package/dist/client/assets/{index-V5Rn9SxH.js → index-8IAr9b71.js} +1 -1
- package/dist/client/assets/{index-rROsmUvj.js → index-8TfzCkKR.js} +1 -1
- package/dist/client/assets/{index-CsUyZMaJ.js → index-B5rRtvWx.js} +1 -1
- package/dist/client/assets/index-B6dEbNhI.js +1 -0
- package/dist/client/assets/{index-7cQQSs20.js → index-BCk4wW-T.js} +1 -1
- package/dist/client/assets/{index-CfpVrvtk.js → index-BIIH5CXj.js} +1 -1
- package/dist/client/assets/{index-DP_WiQNC.js → index-BXMxoWrk.js} +1 -1
- package/dist/client/assets/index-BXZlDqvy.js +74 -0
- package/dist/client/assets/{index-5081rTdO.js → index-BfRW2WTx.js} +1 -1
- package/dist/client/assets/{index-DVpRV8UX.js → index-BpmmNapD.js} +1 -1
- package/dist/client/assets/{index-CQ_s1Luo.js → index-BrQGZ6iF.js} +1 -1
- package/dist/client/assets/{index-KONo3kU0.js → index-BuGQxHrf.js} +1 -1
- package/dist/client/assets/{index-BM9n-UZ_.js → index-BzPgsdPn.js} +1 -1
- package/dist/client/assets/{index-ByUBGmdN.js → index-C11Ssk2u.js} +3 -3
- package/dist/client/assets/{index-Ce9sdGIU.js → index-CJ5v2_Cz.js} +1 -1
- package/dist/client/assets/{index-CIxwv14l.js → index-CMNc_OrC.js} +1 -1
- package/dist/client/assets/{index-ClxqCDE6.js → index-CQ0VLZf-.js} +1 -1
- package/dist/client/assets/{index-CHZfO-eM.js → index-ChwNEkM8.js} +1 -1
- package/dist/client/assets/index-Cl8trmnL.js +1 -0
- package/dist/client/assets/{index-CDBp2azY.js → index-ClBIPuLA.js} +1 -1
- package/dist/client/assets/{index-CtRknSis.js → index-Cml5572f.js} +1 -1
- package/dist/client/assets/{index-DIpkbx_g.js → index-Cp3yShS8.js} +7 -7
- package/dist/client/assets/index-CrflCTqO.css +1 -0
- package/dist/client/assets/{index-CJllc1_e.js → index-CtycM8wY.js} +1 -1
- package/dist/client/assets/{index-DVUGIueq.js → index-Cv0GsC4n.js} +1 -1
- package/dist/client/assets/{index-CqcPXANi.js → index-DAdo_yIq.js} +1 -1
- package/dist/client/assets/{index-DwKOsAwH.js → index-DIxzqCwG.js} +1 -1
- package/dist/client/assets/index-DKDK-3KH.js +17 -0
- package/dist/client/assets/index-DPNBHwcQ.js +1 -0
- package/dist/client/assets/{index-B-wVtE7g.js → index-DbDI5BAA.js} +1 -1
- package/dist/client/assets/index-DcZPWi_I.js +1023 -0
- package/dist/client/assets/{index-Pcm0P4su.js → index-Dmn03xST.js} +1 -1
- package/dist/client/assets/{index-BUAYrK-t.js → index-Do6eeFps.js} +2 -2
- package/dist/client/assets/{index-CAB4SfyK.js → index-DrA03bMq.js} +1 -1
- package/dist/client/assets/{index-5BVp-usS.js → index-DsJWzmWw.js} +1 -1
- package/dist/client/assets/{index-Cc5UdmnD.js → index-EdJm7ZN-.js} +1 -1
- package/dist/client/assets/{index-CxYD3BRB.js → index-JxeBJIuE.js} +1 -1
- package/dist/client/assets/{index-Dr3MaxIU.js → index-mFOJXyAE.js} +3 -3
- package/dist/client/assets/{index-uukEE2As.js → index-rWZWP3Wh.js} +1 -1
- package/dist/client/assets/{index-CFo8WKHw.js → index-t4Ud6YTX.js} +1 -1
- package/dist/client/assets/{index-DaFf8fyv.js → index-xaMF1mrN.js} +1 -1
- package/dist/client/assets/{index-DrBU917j.js → index-xmk9Ohv9.js} +1 -1
- package/dist/client/assets/{index-OTmqX-Xu.js → index-yI1r4pSP.js} +1 -1
- package/dist/client/assets/{index.esm-C1I5Nd91.js → index.esm-CZZtbPRj.js} +1 -1
- package/dist/client/assets/infoDiagram-MVDRKAX5-Bj9DD77n.js +2 -0
- package/dist/client/assets/init-Gi6I4Gst.js +1 -0
- package/dist/client/assets/{inline-code-BxjIkZsu.js → inline-code-g9PVHZI2.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-HPEHV2GE-DckI6dhS.js +70 -0
- package/dist/client/assets/journeyDiagram-BOSHW7O7-Ce1GAVa0.js +139 -0
- package/dist/client/assets/kanban-definition-FNSA4HC5-Kq5O9rZa.js +89 -0
- package/dist/client/assets/katex-DLorvT8M.js +257 -0
- package/dist/client/assets/{layers-CIuBDynf.js → layers-D3lEdRF0.js} +1 -1
- package/dist/client/assets/{lightbulb-C75cqB7d.js → lightbulb-BFE-KkFU.js} +1 -1
- package/dist/client/assets/linear-BT-xgETh.js +1 -0
- package/dist/client/assets/{link-2-g7crG37S.js → link-2-Dvb6g-2Q.js} +1 -1
- package/dist/client/assets/{list-runtime-types-GVPyyQUh.js → list-runtime-types-8YGEK3Al.js} +1 -1
- package/dist/client/assets/{markdown-content-siVxwwSU.js → markdown-content-Cqq_QMXA.js} +1 -1
- package/dist/client/assets/{mention-pill-CjxBxD6M.js → mention-pill-Bnzt4u2l.js} +1 -1
- package/dist/client/assets/mermaid.core-dpp59v7L.js +312 -0
- package/dist/client/assets/{message-square-off-BxuvD1QP.js → message-square-off-BX2XnEDx.js} +1 -1
- package/dist/client/assets/mindmap-definition-6OY57UG3-CFdfJO6g.js +98 -0
- package/dist/client/assets/{more-details-DN_gIeya.js → more-details-B4lBMpKi.js} +1 -1
- package/dist/client/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/client/assets/{owner-notice-DnYrX3mh.js → owner-notice-ByjrIRmX.js} +1 -1
- package/dist/client/assets/{package-b8MxCYZr.js → package-6Rbxg35g.js} +1 -1
- package/dist/client/assets/{page-container-bbfE5uTV.js → page-container-DoZzad36.js} +1 -1
- package/dist/client/assets/{paperclip-BNBU7WUb.js → paperclip-B-jDXtxw.js} +1 -1
- package/dist/client/assets/{path-input-BhzVuKWq.js → path-input-DpqUD8hN.js} +1 -1
- package/dist/client/assets/pegDiagram-ECIUJNBX-eVnSw2Ma.js +1 -0
- package/dist/client/assets/pieDiagram-GNMPY74T-BYG7LY5Q.js +39 -0
- package/dist/client/assets/plug-DnaAhcy4.js +11 -0
- package/dist/client/assets/{primer-trigger-DHPWwwZl.js → primer-trigger-Da5ECjY8.js} +2 -2
- package/dist/client/assets/{profile-errors-DDvyjpcQ.js → profile-errors-GbTNc2-M.js} +1 -1
- package/dist/client/assets/{progress-DUKHwOZJ.js → progress-DlIRjXIA.js} +1 -1
- package/dist/client/assets/quadrantDiagram-D57K4MC3-CRgNKuHR.js +7 -0
- package/dist/client/assets/{query-error-state-DOJRiizQ.js → query-error-state-DB-Jby7_.js} +1 -1
- package/dist/client/assets/{radio-kbMW2w1m.js → radio-CaaE60ws.js} +1 -1
- package/dist/client/assets/railroadDiagram-Y72NRBL7-DGL-Hqz9.js +1 -0
- package/dist/client/assets/registry-DS1Ghdft.js +1 -0
- package/dist/client/assets/{relay-trace-schemas-3XV1_WMC.js → relay-trace-schemas-CcCqyOrA.js} +2 -2
- package/dist/client/assets/requirementDiagram-EQYSW5RA-DKsFpU3l.js +84 -0
- package/dist/client/assets/{room-files-source-CDA5V_Mw.js → room-files-source-CbbVpvSW.js} +1 -1
- package/dist/client/assets/{rotate-ccw-clock-BGYqHuYK.js → rotate-ccw-clock-CeY00nlZ.js} +1 -1
- package/dist/client/assets/{rotate-cw-BdJrGLyp.js → rotate-cw-Djl5J_x9.js} +1 -1
- package/dist/client/assets/sankeyDiagram-SY24JHO5-BFRkDxic.js +40 -0
- package/dist/client/assets/{scroll-area-D-CWiQov.js → scroll-area-BOqrziJf.js} +1 -1
- package/dist/client/assets/{search-x-DNIPyXe6.js → search-x-B_mHjnlo.js} +1 -1
- package/dist/client/assets/sequenceDiagram-BLEHNHQU-fHea3KOI.js +169 -0
- package/dist/client/assets/{shield-check-zWzf9nt2.js → shield-check-Csnr5rFy.js} +1 -1
- package/dist/client/assets/{shield-x-Bu5-LOse.js → shield-x-Dhl4YvvW.js} +1 -1
- package/dist/client/assets/signed-in-BMqAss8c.js +1 -0
- package/dist/client/assets/sizeCapture-INFHLROL-CztsD3qF.js +1 -0
- package/dist/client/assets/{soul-file-CoSSajv6.js → soul-file-DOfamgB5.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-A6IESKWZ-CWyOqZ9S.js +291 -0
- package/dist/client/assets/swimlanes-B3ENRKFQ-0EfOxSAX.js +1 -0
- package/dist/client/assets/swimlanesDiagram-AYQRV4AK-C7fkUKrq.js +8 -0
- package/dist/client/assets/{table-Bt_aJtoi.js → table-L7FvN6Or.js} +1 -1
- package/dist/client/assets/{terminal-ub-ExeTA.js → terminal-C9M5a_PS.js} +1 -1
- package/dist/client/assets/timeline-definition-JXYKGLGB-sFyYvZ20.js +120 -0
- package/dist/client/assets/transform-BqqRT-Iy.js +1 -0
- package/dist/client/assets/{trust-posture-CWt3tUjL.js → trust-posture-dl6qwDtI.js} +1 -1
- package/dist/client/assets/{unplug-BCqRQfhH.js → unplug-CFUEVRbc.js} +1 -1
- package/dist/client/assets/{unverified-catalog-notice-CgvUEO5t.js → unverified-catalog-notice-CdYU3WEJ.js} +1 -1
- package/dist/client/assets/{use-adapter-catalog-ClW3m3Yz.js → use-adapter-catalog-YTofdqDJ.js} +1 -1
- package/dist/client/assets/{use-bindings-CFiTPDOx.js → use-bindings-CpyT6kNu.js} +1 -1
- package/dist/client/assets/{use-composer-prefs-B70wbKdU.js → use-composer-prefs-CK_EK_QJ.js} +1 -1
- package/dist/client/assets/{use-connector-management-B_mb2h8I.js → use-connector-management-DwoK8kon.js} +1 -1
- package/dist/client/assets/{use-deep-link-scroll-DuJW3UA9.js → use-deep-link-scroll-CgRjt48R.js} +1 -1
- package/dist/client/assets/{use-delete-binding-DWXownno.js → use-delete-binding-CfsnMXrL.js} +1 -1
- package/dist/client/assets/{use-dev-links-UPIkbIjA.js → use-dev-links-B3I-ZK34.js} +1 -1
- package/dist/client/assets/{use-external-adapter-catalog-x7pDUqmo.js → use-external-adapter-catalog-aGlZNRrp.js} +1 -1
- package/dist/client/assets/{use-full-activity-feed-l9UhDUNU.js → use-full-activity-feed-B61Olhdw.js} +1 -1
- package/dist/client/assets/use-is-below-desktop-Qwyg-mFb.js +1 -0
- package/dist/client/assets/use-is-hub-CSz6NDaP.js +1 -0
- package/dist/client/assets/{use-jump-back-in-CKA3z2by.js → use-jump-back-in-C39GOTHa.js} +3 -3
- package/dist/client/assets/{use-local-browser-DL5b5JIK.js → use-local-browser-DCwzB4D8.js} +1 -1
- package/dist/client/assets/{use-mesh-topology-BYGYArKq.js → use-mesh-topology-LRYxFuZp.js} +1 -1
- package/dist/client/assets/{use-mounted-ref-D_xUn22L.js → use-mounted-ref-CZaegwTr.js} +1 -1
- package/dist/client/assets/{use-notification-prefs-42ajom2z.js → use-notification-prefs-FtOiUS5H.js} +1 -1
- package/dist/client/assets/{use-panel-tab-placements-CLIDc7_z.js → use-panel-tab-placements-Dv2OPvKh.js} +1 -1
- package/dist/client/assets/use-pending-read-DBOl1ee_.js +1 -0
- package/dist/client/assets/{use-personality-commit-D7jyGUrF.js → use-personality-commit-BB5aeh6p.js} +1 -1
- package/dist/client/assets/use-promo-activation-BW0u7n7m.js +11 -0
- package/dist/client/assets/{use-promo-dismissals-CsJELZ1_.js → use-promo-dismissals-BOXzW4kD.js} +1 -1
- package/dist/client/assets/{use-pulse-freshness-TqSBTrFT.js → use-pulse-freshness-ClW-MLMo.js} +1 -1
- package/dist/client/assets/{use-relay-config-CLeVWrpV.js → use-relay-config-hItHtkSr.js} +1 -1
- package/dist/client/assets/{use-room-follow-claim-C-zlw4nh.js → use-room-follow-claim-wotzxUWc.js} +1 -1
- package/dist/client/assets/{use-roving-tab-list-H2EzOl9b.js → use-roving-tab-list-DkbO6xSs.js} +1 -1
- package/dist/client/assets/use-session-canvas-C_fuAgW_.js +24 -0
- package/dist/client/assets/{use-session-diagnostics-CDmiMYHx.js → use-session-diagnostics-DmxvD-wy.js} +3 -3
- package/dist/client/assets/{use-unclaimed-chats-Bd93jy-J.js → use-unclaimed-chats-DKpexDm3.js} +1 -1
- package/dist/client/assets/use-update-config-CSYwg557.js +1 -0
- package/dist/client/assets/{useMutationState-BZZ5TO4d.js → useMutationState-Btf2Hp1a.js} +1 -1
- package/dist/client/assets/usecaseDiagram-WPOLBNNX-DRngjDUq.js +370 -0
- package/dist/client/assets/value-wA6veExk.js +1 -0
- package/dist/client/assets/vennDiagram-Q3Y3IDCW-iK-dlS1-.js +34 -0
- package/dist/client/assets/wardleyDiagram-IVAIDKWA-sOS67Cks.js +78 -0
- package/dist/client/assets/xychartDiagram-4URNHDU4-EgnLiIao.js +7 -0
- package/dist/client/index.html +2 -2
- package/dist/drizzle/20261017113300_session_public_computer.sql +1 -0
- package/dist/drizzle/meta/20261017113300_snapshot.json +14020 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/server/index.js +24307 -20763
- package/dist/server/index.js.map +2 -2
- package/package.json +7 -7
- package/dist/client/assets/BlintzCanvas-D_HlpfZu.js +0 -1141
- package/dist/client/assets/CanvasFileContent-g5wQR7yt.js +0 -2
- package/dist/client/assets/HandlePage-DUFrvuVy.js +0 -1
- package/dist/client/assets/KeyEntry-tKXV9D24.js +0 -6
- package/dist/client/assets/McpSigninBody-CRj8tXsh.js +0 -1
- package/dist/client/assets/NamePage-fiIXQig_.js +0 -1
- package/dist/client/assets/PhotoPage-BnxmY5mq.js +0 -1
- package/dist/client/assets/SettingsDialog-BZkPlifY.js +0 -12
- package/dist/client/assets/TopologyGraph-CAkARLa1.js +0 -30
- package/dist/client/assets/_shell-BQ7hvFsP.js +0 -90
- package/dist/client/assets/_shell.channels-DYNK-rbr.js +0 -10
- package/dist/client/assets/_shell.marketplace-B1CT9Y3y.js +0 -1
- package/dist/client/assets/_shell.marketplace_.sources-DVHJ2s7a.js +0 -1
- package/dist/client/assets/_shell.x._extensionId-B6Ccjrvp.js +0 -1
- package/dist/client/assets/_shell.x._extensionId_._-B6Ccjrvp.js +0 -1
- package/dist/client/assets/index-BONR--d7.css +0 -1
- package/dist/client/assets/index-BULRe04c.js +0 -1018
- package/dist/client/assets/index-C8NfFfij.js +0 -17
- package/dist/client/assets/index-CRMbYKMh.js +0 -1
- package/dist/client/assets/index-CidWt_HE.js +0 -1
- package/dist/client/assets/index-CoMMwnLj.js +0 -74
- package/dist/client/assets/registry-BisJE2TH.js +0 -1
- package/dist/client/assets/use-is-below-desktop-ByiGZk3p.js +0 -1
- package/dist/client/assets/use-pending-read-Cy9OB3jX.js +0 -1
- package/dist/client/assets/use-promo-activation-Dw1KvykA.js +0 -11
- package/dist/client/assets/use-session-canvas-Bm_AzSm7.js +0 -24
- package/dist/client/assets/use-update-config-DjF61lwf.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-
|
|
2
|
-
var ui=Object.defineProperty;var di=(e,t,n)=>t in e?ui(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ze=(e,t,n)=>di(e,typeof t!="symbol"?t+"":t,n);import{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BXZlDqvy.js","assets/index-DcZPWi_I.js","assets/index-CrflCTqO.css","assets/index-B6dEbNhI.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var ui=Object.defineProperty;var di=(e,t,n)=>t in e?ui(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ze=(e,t,n)=>di(e,typeof t!="symbol"?t+"":t,n);import{fz as fi,hV as Zr,pC as mi,r as l,fw as pi,W as ct,dy as Fe,j as r,ar as K,bx as fe,hK as es,a1 as ke,l2 as eo,q as at,jU as hi,pD as gi,pE as to,pF as xi,pG as bi,g8 as yi,B as oe,a7 as Ae,pH as no,pI as ut,pJ as Ve,G as H,J as it,X as qe,pK as ht,gX as ki,pL as vi,I as Ci,pM as Si,pN as fn,pO as ji,pP as _i,fp as wi,b7 as yt,pQ as so,aW as ce,pR as Ni,pS as Pn,hI as Ei,as as ro,d5 as Di,ap as Ti,n5 as Ai,pT as Rs,dS as Ms,a8 as lt,oA as Fi,pU as Ri,oG as Ct,pV as Qt,a2 as Ye,oC as ts,a4 as St,hb as wt,dR as ns,c6 as Nt,cw as Mi,cx as Oi,cz as Ii,cA as $i,cB as Pi,dw as Li,e as Os,ju as zi,dc as Bi,x as Le,jv as qi,oy as ss,dN as Ui,pW as Hi,pX as Wi,jm as rs,pY as oo,pZ as ao,p_ as Gi,p$ as Vi,iB as os,a3 as as,cr as Et,dQ as is,du as ls,dP as Ki,q0 as Qi,jf as io,q1 as Yi,oD as Xi,hq as Ji,dZ as Zi,aR as Ke,ai as Dt,a9 as cs,q2 as el,n6 as tl,q3 as nl,ba as sl,T as Tt,hy as Ue,hz as He,aj as lo,q4 as Zt,dx as At,jN as rl,c4 as dt,s as Ft,gQ as ol,gk as Is,hE as co,gU as al,C as us,d8 as il,d9 as ll,q5 as cl,l as ul,mX as uo,aT as dl,q6 as fl,q7 as ml,q8 as pl,q9 as hl,qa as gl,qb as Pe,my as Ee,mI as xl,mz as en,aN as bl,hj as yl,cc as kl,bK as vl,iR as Cl,a0 as ds,dz as $s,d7 as fo,f as mo,qc as Sl,em as jl,aX as _l,f6 as po,hN as ho,hu as jt,jg as go,dA as wl,qd as Nl,qe as El,o as xo,y as tn,aS as bo,qf as yo,qg as Dl,m9 as mn,i$ as Tl,kH as Al,bc as ko,eK as Fl,eL as Ps,qh as Ln,qi as vo,qj as Rl,qk as Ml,ql as Co,er as Ol,la as Il,g9 as $l,ga as Pl,gb as Ll,gc as zl,gd as Bl,ge as ql,gf as Ul,gg as Hl,qm as fs,qn as Wl,qo as Gl,qp as Vl,iW as Kl,iX as Ql,iY as Yl,iZ as pn,qq as Xl,i_ as Ls,jM as Jl,bP as Zl,jO as ec,bR as tc,qr as zs,cf as nc,f$ as So,ck as jo,ca as sc,cj as rc,cq as _o,co as oc,lE as ms,qs as ac,aw as ic,qt as lc,lf as re,qu as cc,qv as uc,_ as dc,fW as Bs,iy as Ge,qw as hn,lQ as kt,qx as qs,qy as Us,qz as Hs,c5 as gn,qA as st,eh as vt,qB as fc,qC as wo,qD as No,qE as mc,qF as pc,qG as Eo,lG as hc,qH as Do,qI as et,k_ as To,qJ as gc,bO as xc,lF as bc,qK as yc,fq as Ao,qL as kc,bW as Ws,ns as Fo,ak as nn,qM as vc,qN as Cc,gx as Ro,gu as ps,kc as Sc,qO as jc,qP as _c,qQ as gt,qR as wc,qS as Nc,cs as Ec,eG as Dc,lK as Tc,fm as Ac,l5 as Fc,dI as Rc}from"./index-DcZPWi_I.js";import{P as Mc}from"./PromptSuggestionChips-CGNQc2Tf.js";import{u as Oc,a as Ic,L as $c,f as Pc,b as Lc,c as zc,B as Bc,d as qc}from"./primer-trigger-Da5ECjY8.js";import{E as Uc,F as Hc,e as Wc,h as Gc,f as Vc,P as Kc,g as Qc,d as Yc,q as Xc,j as Jc,b as Zc,G as eu,B as tu,H as Mo,z as nu,u as su,D as ru,v as ou,t as au,p as iu,w as lu,y as cu,o as uu,n as du,k as fu,s as mu,M as pu,i as hu,S as gu,U as xu,A as bu,I as yu,J as ku,K as Gs,x as vu,R as Cu}from"./use-session-diagnostics-DmxvD-wy.js";import{C as Su}from"./card-ww4ebz8h.js";import{a as ju,u as _u,i as wu}from"./use-notification-prefs-FtOiUS5H.js";import{B as Nu}from"./banner-EomQNDOH.js";import{t as It,b as zn,k as Eu,N as Oo,l as Du,g as Tu,C as _t,M as tt,f as Au,D as Fu,U as Ru,F as Mu}from"./index-Cp3yShS8.js";import{a as Ou,b as Iu}from"./markdown-content-Cqq_QMXA.js";import{u as $u,b as Pu}from"./WidgetErrorCard-Dx5oPMlF.js";import{P as Lu,W as zu,a as Bu,C as qu,b as Uu}from"./find-latest-widget-fence-B1_-pC-Z.js";import{a as Io,b as Hu,R as Wu,K as Gu,c as Vu,g as Ku}from"./RuntimeConnectFlow-ChrvjC84.js";import{a as $o,u as Qu,I as Yu}from"./image-off-BCtWIY4q.js";import{S as Xu}from"./shield-check-Csnr5rFy.js";import{a as Ju,c as Zu}from"./composer-insert-BpyATrmR.js";import{u as ed}from"./use-composer-prefs-CK_EK_QJ.js";import{A as Bn,M as td}from"./McpAppFrame-B1WPswgk.js";import{F as Po}from"./file-Bf7D_47y.js";import{S as nd}from"./shield-x-Dhl4YvvW.js";import{u as sd,M as rd}from"./McpSigninBody-CJ28yu0o.js";import{f as od}from"./format-duration-BCr6uzby.js";import{l as ad}from"./use-connector-management-DwoK8kon.js";import{A as id}from"./AgentRequestCard-CamX7Tvr.js";import{F as ld,h as cd}from"./use-session-canvas-C_fuAgW_.js";import{F as ud}from"./file-text-C1ougnBY.js";import"./use-is-below-desktop-Qwyg-mFb.js";import"./git-branch-B2k77X3Q.js";import"./use-update-config-CSYwg557.js";import"./settings-for-runtime-BoOa-ZFG.js";import"./RuntimeSetupDialog-BK9yo7YF.js";import"./inline-code-g9PVHZI2.js";import"./list-runtime-types-8YGEK3Al.js";import"./unverified-catalog-notice-CdYU3WEJ.js";import"./layers-D3lEdRF0.js";import"./cpu-DCe0Yyml.js";import"./file-drag-GDx2qhdk.js";import"./paperclip-B-jDXtxw.js";import"./index-yI1r4pSP.js";import"./index-1ShgR_xt.js";import"./progress-DlIRjXIA.js";import"./table-L7FvN6Or.js";import"./terminal-C9M5a_PS.js";import"./package-6Rbxg35g.js";import"./heart-CmqGJPDc.js";import"./useMutationState-Btf2Hp1a.js";import"./runtime-connect-Dn0T5YWv.js";import"./more-details-B4lBMpKi.js";import"./access-copy-CW-z1oMH.js";import"./query-error-state-DB-Jby7_.js";import"./empty-state-DXWQsHMf.js";import"./use-bindings-CpyT6kNu.js";import"./connection-copy--MA7AN04.js";import"./KeyEntry-CRr32Ae5.js";import"./rotate-cw-Djl5J_x9.js";import"./index.esm-CZZtbPRj.js";function dd(e,t,n={}){const s=e.get();let o=null,a=s,i;const c=typeof s=="string"?s.replace(/[\d.-]/g,""):void 0,u=()=>{o&&(o.stop(),o=null),e.animation=void 0},d=()=>{const h=Vs(e.get()),f=Vs(a);if(h===f){u();return}const x=o?o.getGeneratorVelocity():e.getVelocity();u(),o=new mi({keyframes:[h,f],velocity:x,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:i})},m=()=>{var h;d(),e.animation=o??void 0,(h=e.events.animationStart)==null||h.notify(),o==null||o.then(()=>{var f;e.animation=void 0,(f=e.events.animationComplete)==null||f.notify()})};if(e.attach((h,f)=>{a=h,i=x=>f(xn(x,c)),fi.postRender(m)},u),Zr(t)){let h=n.skipInitialAnimation===!0;const f=t.on("change",g=>{h?(h=!1,e.jump(xn(g,c),!1)):e.set(xn(g,c))}),x=e.on("destroy",f);return()=>{f(),x()}}return u}function xn(e,t){return t?e+t:e}function Vs(e){return typeof e=="number"?e:parseFloat(e)}function fd(e,t={}){const{isStatic:n}=l.useContext(pi),s=()=>Zr(e)?e.get():e;if(n)return $o(s);const o=Qu(s());return l.useInsertionEffect(()=>dd(o,e,t),[o,JSON.stringify(t)]),o}function md(e,t={}){return fd(e,{type:"spring",...t})}function pd(e){const t=Math.floor(e/1e3);if(t<3600){const o=Math.floor(t/60),a=t%60;return`${o}m ${String(a).padStart(2,"0")}s`}const n=Math.floor(t/3600),s=Math.floor(t%3600/60);return`${n}h ${String(s).padStart(2,"0")}m`}function Lo(e){const[t,n]=l.useState(()=>Date.now()),s=l.useRef(null);if(l.useEffect(()=>{if(e===null){s.current&&(clearInterval(s.current),s.current=null);return}return n(Date.now()),s.current=setInterval(()=>n(Date.now()),1e3),()=>{s.current&&(clearInterval(s.current),s.current=null)}},[e]),e===null)return{formatted:"0m 00s",ms:0};const o=Math.max(0,t-e);return{formatted:pd(o),ms:o}}function hd(e={}){const{timeoutMs:t=3e4,onIdle:n,onReturn:s}=e,o=l.useRef(!1),a=l.useRef(null),i=l.useCallback(()=>{o.current||(o.current=!0,n==null||n())},[n]),c=l.useCallback(()=>{o.current&&(o.current=!1,s==null||s())},[s]),u=l.useCallback(()=>{a.current&&clearTimeout(a.current),a.current=setTimeout(i,t),c()},[t,i,c]);return l.useEffect(()=>{a.current=setTimeout(i,t);const d=["mousemove","keydown","scroll","touchstart"];d.forEach(h=>document.addEventListener(h,u,{passive:!0}));const m=()=>{document.hidden?i():u()};return document.addEventListener("visibilitychange",m),()=>{a.current&&clearTimeout(a.current),d.forEach(h=>document.removeEventListener(h,u)),document.removeEventListener("visibilitychange",m)}},[t,i,u]),{isIdle:o.current}}function gd({activeInteraction:e,onApprove:t,onAlwaysAllow:n,onDeny:s,onToggleOption:o,onNavigateOption:a,onNavigateQuestion:i,onSubmit:c,optionCount:u=0,focusedIndex:d=0}){const m=l.useRef(!1);l.useEffect(()=>{m.current=!1},[e==null?void 0:e.toolCallId]),l.useEffect(()=>{if(!e)return;function h(f){const x=f.target,g=(x.tagName==="TEXTAREA"||x.tagName==="INPUT")&&!x.disabled;if(!m.current&&!(f.metaKey||f.ctrlKey||f.altKey)){if(e.type==="approval"){if(f.key==="Enter"&&g&&x.closest("[data-approval-field]")!==null)return;f.key==="Enter"&&f.shiftKey?(f.preventDefault(),m.current=!0,n==null||n()):f.key==="Enter"?(f.preventDefault(),m.current=!0,t==null||t()):f.key==="Escape"&&(f.preventDefault(),m.current=!0,s==null||s());return}if(e.type==="question"){if(g){if(f.key==="Enter"&&!f.shiftKey){f.preventDefault(),c==null||c();return}if(f.key==="ArrowUp"){f.preventDefault(),a==null||a("up");return}if(f.key==="ArrowDown"){f.preventDefault(),a==null||a("down");return}return}const S=parseInt(f.key,10);if(S>=1&&S<=9){f.preventDefault(),S-1<u&&(o==null||o(S-1));return}switch(f.key){case"ArrowUp":f.preventDefault(),a==null||a("up");break;case"ArrowDown":f.preventDefault(),a==null||a("down");break;case" ":f.preventDefault(),o==null||o(d);break;case"ArrowLeft":case"[":f.preventDefault(),i==null||i("prev");break;case"ArrowRight":case"]":f.preventDefault(),i==null||i("next");break;case"Enter":f.preventDefault(),c==null||c();break}}}}return document.addEventListener("keydown",h),()=>document.removeEventListener("keydown",h)},[e,t,n,s,o,a,i,c,u,d])}function zo(){const[e,t]=l.useState(()=>!document.hidden);return l.useEffect(()=>{const n=()=>t(!document.hidden);return document.addEventListener("visibilitychange",n),()=>document.removeEventListener("visibilitychange",n)},[]),e}/**
|
|
3
3
|
* @license lucide-react v1.48.0 - ISC
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the ISC license.
|
|
@@ -29,33 +29,33 @@ var ui=Object.defineProperty;var di=(e,t,n)=>t in e?ui(e,t,{enumerable:!0,config
|
|
|
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 Go={name:"mouse-pointer-click",size:24,node:[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]};Go.node;const Cd=ct(Go);function Sd({color:e,isTextStreaming:t,fadeEdges:n=!0,edge:s="bottom"}){const o=t?1.8:2.5,a=n?"linear-gradient(to right, transparent, black 15%, black 85%, transparent)":void 0,i=s==="top"?"pointer-events-none absolute right-0 top-0 left-0":"pointer-events-none absolute right-0 bottom-0 left-0",c=s==="top"?"top":"bottom";return r.jsxs(K.div,{"aria-hidden":!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.4},className:i,style:{height:n?10:0,overflow:n?"hidden":"visible",maskImage:a,WebkitMaskImage:a},children:[r.jsx("div",{className:"absolute right-0 left-0",style:{[c]:0,height:6,backgroundColor:e,opacity:.6,filter:"blur(3px)"}}),r.jsx(K.div,{initial:{x:"-100%"},animate:{x:"433%"},transition:{x:{duration:o,repeat:1/0,ease:"linear"}},className:"absolute",style:{[c]:0,width:"30%",height:2,background:`linear-gradient(to right, transparent, ${e}, white, transparent)`,willChange:"transform"}}),r.jsx(fe,{children:t&&r.jsx(K.div,{initial:{opacity:0,x:"-100%"},animate:{opacity:.9,x:"1525%"},exit:{opacity:0},transition:{x:{duration:1.1,repeat:1/0,ease:"linear"},opacity:{duration:.2}},className:"absolute",style:{[c]:0,width:"8%",height:1,background:"linear-gradient(to right, transparent, white 40%, white 60%, transparent)",willChange:"transform"}})})]})}const bn={"word-boundary":3,substring:2,subsequence:1},jd=new Set(["/",":","-","_","."," "]);function wd(e,t){if(t===0)return!0;const n=e[t-1];if(jd.has(n))return!0;const s=e[t];return n===n.toLowerCase()&&s!==s.toLowerCase()&&s===s.toUpperCase()}function $t(e,t){return Array.from({length:t},(n,s)=>e+s)}function Pt(e,t,n){const s=1/(1+t),o=n/e.length;return(s*.6+o*.4)*.999}function _d(e,t){let n=0,s=0,o=0;const a=[];for(let i=0;i<t.length&&n<e.length;i++)t[i]===e[n]?(n++,s++,s>o&&(o=s),a.push(i)):s=0;return n===e.length?{indices:a,maxRun:o}:null}function Nd(e,t){const n=t.indices[t.indices.length-1]-t.indices[0]+1,s=t.maxRun/t.indices.length,o=t.indices.length/n,a=t.indices.length/e.length;return(s*.4+o*.3+a*.3)*.999}function Gt(e,t){if(!e)return{match:!0,tier:null,score:0,indices:[]};const n=e.toLowerCase(),s=t.toLowerCase();if(s===n)return{match:!0,tier:"exact",score:5+Pt(t,0,n.length),indices:$t(0,n.length)};if(s.startsWith(n))return{match:!0,tier:"prefix",score:4+Pt(t,0,n.length),indices:$t(0,n.length)};for(let i=1;i<=s.length-n.length;i++)if(wd(t,i)&&s.startsWith(n,i))return{match:!0,tier:"word-boundary",score:bn["word-boundary"]+Pt(t,i,n.length),indices:$t(i,n.length)};const o=s.indexOf(n);if(o>=0)return{match:!0,tier:"substring",score:bn.substring+Pt(t,o,n.length),indices:$t(o,n.length)};const a=_d(n,s);return a?{match:!0,tier:"subsequence",score:bn.subsequence+Nd(t,a),indices:a.indices}:{match:!1,tier:null,score:0,indices:[]}}function Vo(e){return e.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,t=>t.toUpperCase())}function Ed(e,t){return e.length<=t?e:e.slice(0,t)+"…"}function Dd(e){return/^[/~.]/.test(e)||/\.(ts|tsx|js|jsx|json|md|py|rs|go|sh|yml|yaml|toml)$/.test(e)}function qn(e,t){if(e===null)return r.jsx("span",{className:"text-muted-foreground italic",children:"null"});if(typeof e=="boolean")return r.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(e)});if(typeof e=="number")return r.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:e});if(typeof e=="string"){const n=Ed(e,t);return Dd(e)?r.jsx("code",{className:"bg-muted rounded px-1 py-0.5 text-xs break-all",children:n}):r.jsx("span",{className:"break-words",children:n})}if(Array.isArray(e)){const n=e.slice(0,5),s=e.length-5;return r.jsxs("div",{className:"space-y-0.5",children:[n.map((o,a)=>r.jsx("div",{className:"border-border/40 border-l pl-2",children:qn(o,80)},a)),s>0&&r.jsxs("span",{className:"text-muted-foreground text-xs italic",children:["… and ",s," more"]})]})}if(typeof e=="object"){const n=Object.entries(e);return r.jsx("div",{className:"space-y-0.5",children:n.map(([s,o])=>r.jsxs("div",{className:"border-border/40 border-l pl-2",children:[r.jsxs("span",{className:"text-muted-foreground text-xs",children:[Vo(s),": "]}),typeof o=="object"&&o!==null?r.jsx("span",{className:"text-muted-foreground italic",children:"{…}"}):qn(o,80)]},s))})}return r.jsx("span",{children:String(e)})}function Ko({toolName:e,input:t,isStreaming:n=!1}){if(!t)return null;if(n){const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsxs("pre",{className:"text-muted-foreground overflow-x-auto text-xs whitespace-pre-wrap",children:[a,r.jsx("span",{className:"animate-breath ml-0.5 inline-block size-1.5 rounded-full bg-current"})]})}let s;try{s=JSON.parse(t)}catch{const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:a})}if(typeof s!="object"||s===null||Array.isArray(s)){const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:a})}const o=Object.entries(s);return o.length===0?null:r.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:o.map(([a,i])=>r.jsxs("div",{className:"contents",children:[r.jsx("dt",{className:"text-muted-foreground py-0.5 font-medium whitespace-nowrap",children:Vo(a)}),r.jsx("dd",{className:"min-w-0 py-0.5",children:qn(i,120)})]},a))})}class Td{constructor(t){Ze(this,"config");Ze(this,"recentCompletions",[]);Ze(this,"queue",[]);Ze(this,"isIdle",!1);Ze(this,"debounceTimer",null);this.config=t}onTaskCompleted(t,n){if(!this.config.enabled)return;const s=Date.now();this.recentCompletions.push(s),this.recentCompletions=this.recentCompletions.filter(c=>s-c<this.config.debounceWindowMs);const o=n.length,a=n.filter(c=>c.status==="completed").length;if(o>=this.config.minTasksForMajor&&a===o){this.cancelDebounce();const c={level:"major",taskId:t,timestamp:s};this.emitOrQueue(c);return}if(this.recentCompletions.length>=this.config.debounceThreshold){this.cancelDebounce(),this.debounceTimer=setTimeout(()=>{const c={level:"mini",taskId:t,timestamp:Date.now()};this.emitOrQueue(c),this.recentCompletions=[]},this.config.debounceWindowMs);return}if(Math.random()<this.config.miniProbability){const c={level:"mini",taskId:t,timestamp:s};this.emitOrQueue(c)}}setIdle(t){this.isIdle=t}onUserReturn(){if(this.queue.length>0){const n=this.queue.some(s=>s.level==="major")?this.queue.find(s=>s.level==="major"):this.queue[this.queue.length-1];this.config.onCelebrate(n),this.queue=[]}}destroy(){this.cancelDebounce(),this.queue=[],this.recentCompletions=[]}emitOrQueue(t){this.isIdle?this.queue.push(t):this.config.onCelebrate(t)}cancelDebounce(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null)}}const Ad={background:"radial-gradient(circle, rgba(255,215,0,0.15) 0%, transparent 70%)"},Fd={mode:"blur-in",duration:150,easing:"ease-out",sep:"word"},Rd={none:void 0,fade:"fadeIn","blur-in":"blurIn","slide-up":"slideUp"};function Md(e){const t=Rd[e.mode];return t?{animation:t,duration:e.duration??150,easing:e.easing??"ease-out",sep:e.sep??"word"}:!1}function Od(e,t=40){if(e.length<=t)return e;const n=e.split("/").pop()??e,s=n.length+2,o=Math.max(6,t-s);return`${e.slice(0,o)}…/${n}`}function Id({onlyFirst:e=!1}={}){const o="(?:\\u001B\\][^\\u0007\\u001B\\u009C]*(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,e?void 0:"g")}const $d=Id({onlyFirst:!0});function Pd(e){if($d.test(e))return"ansi";const t=e.trimStart();if(t.startsWith("{")||t.startsWith("["))try{return JSON.parse(e),"json"}catch{}return"plain"}function sn(e){var n;const{sessions:t}=es();if(e)return(n=t.find(s=>s.id===e))==null?void 0:n.runtime}const Ld=typeof window<"u"&&window.location.pathname===gi;let yn=null,Ks=!Ld;function zd(e){return Ks?yn===e?!0:(yn=null,!1):(Ks=!0,yn=e,!0)}function Bd(e){var s;const t=ke(),n=((s=eo(e))==null?void 0:s.draft)===!0;l.useEffect(()=>{if(!e||n)return;let o=!1;const a=()=>{o||document.visibilityState!=="visible"||(o=!0,document.removeEventListener("visibilitychange",a),zd(e)||at.getState().recordOpened("session",e),t.markSessionOpened(e).catch(i=>{hi(t,i)}))};if(a(),!o)return document.addEventListener("visibilitychange",a),()=>document.removeEventListener("visibilitychange",a)},[e,n,t])}function Qo(){const e=to(),t=eo(e.session);return{cwd:(t==null?void 0:t.cwd)??e.dir??null}}function Yo({agentId:e,agentName:t,onResumed:n}){const s=xi(),{data:o,dataUpdatedAt:a,refetch:i}=bi(),[c]=l.useState(()=>Date.now());l.useEffect(()=>{i()},[e,i]);const u=t??"This agent";return o!=null&&a>=c&&!o.pauses.some(m=>m.agentId===e)?null:r.jsxs("div",{"data-testid":"agent-paused-notice",role:"status",className:"border-border bg-muted/50 my-2 flex items-center gap-3 rounded-lg border px-4 py-3",children:[r.jsx(yi,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsxs("p",{className:"text-sm font-medium",children:[u," is paused"]}),r.jsx("p",{className:"text-muted-foreground text-xs",children:"Resume it, then send your message again."})]}),r.jsx(oe,{size:"sm",variant:"outline",disabled:s.isPending,onClick:()=>s.mutate(e,{onSuccess:()=>{Ae(`${u} resumed`),n==null||n()}}),children:"Resume"})]})}const qd={session:"this chat",project:"this project",user:"all your Claude chats"};function Ud(e){return e===void 0?void 0:qd[e]}const Hd={duration:.12,ease:"easeOut"},Wd={duration:0},Qs=new Set(["Bash","Write","Edit","NotebookEdit"]),Ys=new Set(["WebFetch","WebSearch"]);function Gd(e){const t=e.includes("__")?e.split("__").pop():e;return Qs.has(t)||Qs.has(e)?"high":Ys.has(t)||Ys.has(e)||e.startsWith("mcp__")?"medium":"low"}function Vd(e){const t=Math.floor(e/60),n=e%60;return t>0?`${t}:${String(n).padStart(2,"0")}`:`${n}s`}function Xo({sessionId:e,toolCallId:t,toolName:n,input:s,isActive:o=!1,onDecided:a,ref:i,timeoutMs:c,approvalStartedAt:u,approvalRemainingMs:d,approvalParked:m,approvalTitle:h,approvalDisplayName:f,approvalDescription:x,approvalBlockedPath:g,approvalDecisionReason:S,approvalHasSuggestions:b,approvalAlwaysAllowScope:k,allowsDenyReason:v=!0}){const y=ke(),p=Me(),j=l.useMemo(()=>Gd(n),[n]),w=no(n),D=ut(n,s),A=f||D,N=Ud(k),[T,C]=l.useState(!1),[E,_]=l.useState(null),[R,M]=l.useState(null),[F,I]=l.useState(!1),[L,U]=l.useState(""),W=l.useRef(""),[te,G]=l.useState(!1),B=o&&!te,[O,$]=l.useState(()=>Date.now()),Q=l.useRef(!1);l.useLayoutEffect(()=>{if(!Q.current){Q.current=!0;return}$(Date.now())},[c,u,d]);const[ue,P]=l.useState(null),Y=l.useMemo(()=>{if(!c||m===!0)return null;const z=d!==void 0?O+d:u?u+c:O+c,ve=Math.min(c,Math.max(0,c-(z-O)));return{expiresAt:z,elapsedMs:ve}},[O,c,u,d,m]),J=E||!c||!Y?null:ue!==null&&ue.expiresAt===Y.expiresAt?ue.seconds:Math.max(0,Math.ceil((Y.expiresAt-O)/1e3));l.useEffect(()=>{if(E||!c||!Y)return;const{expiresAt:z}=Y,ve=setInterval(()=>{const X=Math.max(0,Math.ceil((z-Date.now())/1e3));P({expiresAt:z,seconds:X}),X<=0&&clearInterval(ve)},1e3);return()=>clearInterval(ve)},[c,Y,E]);const se=m===!0||J===0,ee=E||J===null?"":J<=0?"Nobody answered. The agent is waiting for you.":J<=ji?"One minute left to answer.":J<=wi?"Two minutes left to answer.":"",V=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.approveTool(e,t),_("approved"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(_("approved"),a==null||a()):(console.error("Approval failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]),de=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.approveTool(e,t,!0),_("approved"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(_("approved"),a==null||a()):(console.error("Always Allow failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]),ge=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.denyTool(e,t,W.current.trim()||void 0),_("denied"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(_("denied"),a==null||a()):(console.error("Deny failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]);l.useImperativeHandle(i,()=>({approve(){V()},alwaysAllow(){de()},deny(){ge()}}),[V,de,ge]);const pe=r.jsx("span",{role:"status","aria-live":"assertive","aria-atomic":"true",className:"sr-only",children:ee});if(E){const z=E==="approved";return r.jsxs(r.Fragment,{children:[r.jsx(K.div,{initial:p?!1:{opacity:0,scaleY:.9},animate:{opacity:1,scaleY:1},transition:p?Wd:Hd,style:{originY:0},children:r.jsx(Ve,{"data-testid":"tool-approval-decided","data-decision":E,icon:z?r.jsx(it,{className:"text-status-success size-(--size-icon-sm) shrink-0"}):r.jsx(qe,{className:"text-status-error size-(--size-icon-sm) shrink-0"}),label:r.jsx("span",{className:"text-3xs font-mono",children:A}),trailing:r.jsx("span",{className:H("text-2xs rounded-full px-1.5 py-0.5 font-medium",z?"bg-status-success-bg text-status-success-fg":"bg-status-error-bg text-status-error-fg"),children:z?"Allowed":"Not allowed"})})}),pe]})}return r.jsxs(r.Fragment,{children:[r.jsxs(ht.Root,{isActive:o,isResolved:!!E,onAllow:V,onDeny:ge,className:"my-1","data-testid":"tool-approval",children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[r.jsx(ki,{className:H("size-(--size-icon-md)",j==="high"&&"text-status-error",j==="medium"&&"text-status-warning",j==="low"&&"text-muted-foreground")}),r.jsx(ht.Headline,{className:"font-semibold",children:h||"Your agent wants to use a tool"})]}),(x||S||g)&&r.jsxs(ht.Detail,{className:"mb-2",children:[x&&r.jsx("p",{children:x}),S&&!x&&r.jsx("p",{children:S}),g&&r.jsxs("p",{className:"font-mono",children:["Path: ",g]})]}),(c||se)&&!E&&r.jsx("div",{className:"mb-2",children:r.jsx(ht.Countdown,{secondsLeft:se?null:J,...se?{}:{timeoutMs:c},elapsedMs:(Y==null?void 0:Y.elapsedMs)??0,label:se?vi:J===null?"":`${Vd(J)} remaining`})}),r.jsxs("div",{className:"mb-2 flex items-center gap-1.5",children:[w&&r.jsx("span",{className:"bg-muted text-muted-foreground text-3xs rounded px-1 py-0.5 font-medium",children:w}),r.jsx("span",{className:"font-mono text-xs",children:A})]}),s&&r.jsx("div",{className:"bg-muted mb-3 rounded p-2",children:r.jsx(Ko,{toolName:n,input:s})}),R&&r.jsx("p",{className:"text-status-error text-2xs mb-2",children:R}),v&&F&&r.jsx("div",{className:"mb-2",children:r.jsx(Ci,{autoFocus:!0,"data-approval-field":"",value:L,maxLength:Si,disabled:T,onFocus:()=>G(!0),onBlur:()=>G(!1),onChange:z=>{U(z.target.value),W.current=z.target.value},onKeyDown:z=>{z.key==="Enter"&&(z.preventDefault(),ge())},placeholder:"Why not? The agent sees this.","aria-label":"Reason for not allowing",className:"text-xs"})}),r.jsxs(ht.Actions,{children:[r.jsxs(oe,{size:"sm",onClick:V,disabled:T,className:"transition-opacity duration-150",children:[r.jsx(it,{className:"size-(--size-icon-xs)"})," Allow",B&&r.jsx(fn,{className:"ml-1.5",children:"Enter"})]}),b&&r.jsxs(oe,{size:"sm",variant:"outline",onClick:de,disabled:T,"aria-label":N===void 0?"Always allow":`Always allow, ${N}`,className:"transition-opacity duration-150",children:[r.jsx(Yu,{className:"size-(--size-icon-xs)"})," Always allow",N!==void 0&&r.jsx("span",{className:"text-2xs opacity-70",children:`· ${N}`}),B&&r.jsx(fn,{className:"ml-1.5",children:"Shift+Enter"})]}),r.jsxs(oe,{size:"sm",variant:"outline",onClick:ge,disabled:T,className:"transition-opacity duration-150",children:[r.jsx(qe,{className:"size-(--size-icon-xs)"})," Don’t allow",o&&r.jsx(fn,{className:"ml-1.5",children:"Esc"})]}),v&&!F&&r.jsx("button",{type:"button",onClick:()=>I(!0),disabled:T,className:H("text-muted-foreground hover:text-foreground text-2xs rounded underline","focus-visible:ring-ring underline-offset-2 focus-visible:ring-2","focus-visible:outline-none disabled:opacity-50"),children:"Add a reason"})]})]}),pe]})}function Kd(e){if(!e)return[];const t=e.properties??{};return Object.entries(t).map(([n,s])=>({key:n,label:s.description??n,type:s.type??"string",options:s.enum,defaultValue:s.default}))}function Qd({sessionId:e,interactionId:t,serverName:n,message:s,mode:o="form",url:a,requestedSchema:i,status:c,action:u}){const d=ke(),[m,h]=l.useState(!1),[f,x]=l.useState(null),[g,S]=l.useState(null),[b,k]=l.useState({}),[v,y]=l.useState(!1),p=l.useMemo(()=>Kd(i),[i]),j=c!=="pending",w=l.useCallback(async(E,_)=>{if(!(m||j)){h(!0),x(null),S(null);try{await d.submitElicitation(e,t,E,_)}catch(R){if(R.code!=="INTERACTION_ALREADY_RESOLVED"){x("Couldn’t send your answer. Try again."),S(R instanceof Error?R.message:null),h(!1);return}}h(!1)}},[d,e,t,m,j]),D=l.useCallback(()=>{const E={};for(const _ of p)E[_.key]=b[_.key]??_.defaultValue??"";w("accept",E)},[p,b,w]),A=l.useCallback(()=>{w("accept")},[w]),N=l.useCallback(()=>{w("decline")},[w]),T=l.useCallback((E,_)=>{k(R=>({...R,[E]:_}))},[]),C=l.useCallback(()=>{if(a){if(!_i(a)){x(`Couldn’t open ${a}. Nothing has been authorized.`),S(null);return}x(null),S(null),y(!0)}},[a]);return j?r.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 py-1 text-xs",children:[r.jsx("span",{className:"font-mono",children:n}),r.jsx("span",{children:"·"}),r.jsx("span",{children:u==="accept"?"Authorized":u==="decline"?"Declined":"Cancelled"})]}):r.jsxs(K.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.15},className:H("border-border bg-card my-2 rounded-xl border p-4","shadow-soft"),children:[r.jsxs("div",{className:"text-muted-foreground mb-2 flex items-center gap-2 text-xs",children:[r.jsx("span",{className:"bg-muted text-3xs inline-flex items-center rounded-md px-2 py-0.5 font-mono",children:n}),r.jsx("span",{children:"needs something from you"})]}),r.jsx("p",{className:"mb-3 text-sm",children:s}),f&&r.jsxs("div",{className:"mb-2",children:[r.jsx("p",{className:"text-destructive text-xs break-words",children:f}),g&&r.jsx("p",{className:"text-muted-foreground/70 mt-1 text-xs break-words",children:g})]}),o==="url"&&a&&r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(oe,{size:"sm",variant:"outline",onClick:C,disabled:m,children:"Open authorization page"}),v&&r.jsx(oe,{size:"sm",onClick:A,disabled:m,children:m?"Sending…":"Done"}),r.jsx(oe,{size:"sm",variant:"ghost",onClick:N,disabled:m,children:"Decline"})]}),o==="form"&&r.jsxs(r.Fragment,{children:[p.length>0?r.jsx("div",{className:"mb-3 space-y-2",children:p.map(E=>r.jsxs("div",{children:[r.jsx("label",{htmlFor:`elicitation-${t}-${E.key}`,className:"text-muted-foreground mb-1 block text-xs font-medium",children:E.label}),E.options?r.jsxs("select",{id:`elicitation-${t}-${E.key}`,className:"border-input bg-background w-full rounded-md border px-3 py-1.5 text-sm",value:b[E.key]??String(E.defaultValue??""),onChange:_=>T(E.key,_.target.value),disabled:m,children:[r.jsx("option",{value:"",children:"Select…"}),E.options.map(_=>r.jsx("option",{value:_,children:_},_))]}):r.jsx("input",{id:`elicitation-${t}-${E.key}`,type:E.type==="number"?"number":"text",className:"border-input bg-background w-full rounded-md border px-3 py-1.5 text-sm",placeholder:String(E.defaultValue??""),value:b[E.key]??"",onChange:_=>T(E.key,_.target.value),disabled:m})]},E.key))}):r.jsx("p",{className:"text-muted-foreground mb-3 text-xs",children:"No additional input required."}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(oe,{size:"sm",onClick:D,disabled:m,children:m?"Sending…":"Accept"}),r.jsx(oe,{size:"sm",variant:"ghost",onClick:N,disabled:m,children:"Decline"})]})]})]})}const Yd=8,Xd={duration:.3,ease:[.16,1,.3,1]},Jd={duration:0};function Zd(e){const t=Math.round(e/1e3),n=Math.floor(t/60),s=t%60;return n>0?`${n}:${String(s).padStart(2,"0")}`:`${s}s`}function ef(e){return new Date(e).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}function tf(e){return`${e} action${e===1?"":"s"}`}function nf({outcome:e,items:t,resolvedAt:n,startedAt:s,reasonGiven:o,className:a}){var S;const i=Me(),[c,u]=l.useState(!1),d=t.length,m=d>1,h=m?tf(d):(S=t[0])==null?void 0:S.label,f=n!==void 0&&s!==void 0?Math.max(0,n-s):null,x=e==="allowed"?it:e==="denied"?qe:yt,g=e==="allowed"?"text-status-success":e==="denied"?"text-status-error":"text-muted-foreground";return r.jsxs(K.div,{"data-testid":"approval-receipt","data-outcome":e,"data-count":d,initial:i?!1:{opacity:0,y:Yd},animate:{opacity:1,y:0},transition:i?Jd:Xd,className:H("text-muted-foreground my-1 text-xs",a),children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(x,{className:H("size-(--size-icon-xs) shrink-0",g),"aria-hidden":"true"}),r.jsx("span",{className:"min-w-0 truncate",children:e==="expired"?r.jsxs(r.Fragment,{children:["Expired · ",m?`${h} `:"","denied",f!==null&&` after ${Zd(f)}`]}):r.jsxs(r.Fragment,{children:["You ",e==="allowed"?"allowed":"denied"," ",m?h:r.jsx("span",{className:"font-mono",children:h}),e==="denied"&&o===!0&&r.jsx(r.Fragment,{children:" · agent was told why"})]})}),n!==void 0&&r.jsx("time",{dateTime:new Date(n).toISOString(),className:"ml-auto shrink-0 tabular-nums opacity-70",children:ef(n)}),m&&r.jsx("button",{type:"button",onClick:()=>u(b=>!b),"aria-expanded":c,className:H("hover:text-foreground focus-visible:ring-ring shrink-0 rounded underline","underline-offset-2 focus-visible:ring-2 focus-visible:outline-none"),children:c?"Hide":"Show"})]}),m&&c&&r.jsx("ul",{"data-testid":"approval-receipt-items",className:"mt-1 ml-6 space-y-0.5",children:t.map(b=>r.jsx("li",{className:"truncate font-mono",children:b.label},b.toolCallId))})]})}function sf({outcome:e,reasonGiven:t,members:n,lead:s,children:o}){return r.jsxs("div",{className:"flex flex-col",children:[r.jsx(nf,{outcome:e,items:n.map(a=>({toolCallId:a.toolCallId,label:a.approvalDisplayName||ut(a.toolName,a.input??"")})),resolvedAt:s.approvalResolvedAt,startedAt:s.approvalStartedAt,reasonGiven:t}),e!=="allowed"&&s.result&&r.jsx(so,{"data-testid":"approval-receipt-result",content:s.result,className:"text-muted-foreground mt-0.5 ml-6"}),e==="allowed"&&o]})}function Jo(e){return e.endsWith("connectors.request_connection")||e.endsWith("connectors_request_connection")}function Zo(e){if(e)try{return JSON.parse(e)}catch{return}}function Vt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rf(e){const t=Zo(e);if(!Vt(t))return;const{serviceSlug:n,reason:s}=t;if(!(typeof n!="string"||typeof s!="string"))return{serviceSlug:n,reason:s}}function ea(e){const t=Zo(e);if(Vt(t)&&typeof t.requestId=="string")return t.requestId;if(Vt(t)&&Array.isArray(t.content)){const n=t.content.map(s=>Vt(s)&&typeof s.text=="string"?s.text:"").join("");return ea(n)}}function of(e,t){const n=ea(t.result);if(n)return e.find(o=>o.requestId===n);const s=rf(t.input);if(s)return e.filter(o=>o.serviceSlug===s.serviceSlug).sort((o,a)=>a.createdAt.localeCompare(o.createdAt))[0]}function af({sessionId:e,input:t,result:n,fallback:s}){const o=ad(e),a=o.data?of(o.data,{input:t,result:n}):void 0;return a?r.jsx("div",{className:"my-3","data-testid":"chat-agent-request",children:r.jsx(id,{request:a})}):r.jsx(r.Fragment,{children:s})}const kn={name:{exact:0,prefix:1,"word-boundary":2,substring:6,subsequence:8},alias:{exact:3,prefix:4,"word-boundary":5,substring:7,subsequence:9},description:{exact:10,prefix:11,"word-boundary":12,substring:13,subsequence:14}},lf={match:!1,bucket:Number.POSITIVE_INFINITY,score:0};function Xs(e){return e.startsWith("/")?e.slice(1):e}function Js(e,t){return e.bucket<t.bucket||e.bucket===t.bucket&&e.score>t.score}function cf(e,t){let n=lf;const s=Gt(e,Xs(t.fullCommand));s.match&&s.tier&&(n={match:!0,bucket:kn.name[s.tier],score:s.score});for(const o of t.aliases??[]){const a=Gt(e,Xs(o));if(!a.match||!a.tier)continue;const i={bucket:kn.alias[a.tier],score:a.score};Js(i,n)&&(n={match:!0,...i,matchedAlias:o})}if(t.description){const o=Gt(e,t.description);if(o.match&&o.tier){const a={bucket:kn.description[o.tier],score:o.score};Js(a,n)&&(n={match:!0,...a})}}return n}const ta="dorkos:mcp-app-consent:";function na(e){return`${ta}${e}`}function uf(e){try{return localStorage.getItem(na(e))==="granted"}catch{return!1}}function df(e){try{localStorage.setItem(na(e),"granted")}catch{}ff()}const Un=new Set;function ff(){for(const e of Un)e()}function mf(e){Un.add(e);const t=n=>{var s;(s=n.key)!=null&&s.startsWith(ta)&&e()};return window.addEventListener("storage",t),()=>{Un.delete(e),window.removeEventListener("storage",t)}}function pf(e){const t=l.useSyncExternalStore(mf,()=>uf(e),()=>!1),n=l.useCallback(()=>df(e),[e]);return{consented:t,grant:n}}const hf="h-80";function gf({sessionId:e,serverName:t,uri:n,title:s}){const{consented:o,grant:a}=pf(t),i=ce(d=>d.openPip),c=()=>{const d=ce.getState(),m={type:"mcp_app",serverName:t,uri:n,title:s};d.openCanvasDocument(m),Pn(d,"user",m)},u=()=>{i({kind:"mcp_app",sessionId:e,serverName:t,uri:n,title:s??`App · ${t}`})};return o?r.jsxs("div",{className:"overflow-hidden rounded-lg border",children:[r.jsxs("div",{className:"bg-muted/40 flex items-center justify-between border-b px-3 py-1.5",children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs font-medium",children:[r.jsx(Bn,{className:"text-muted-foreground size-3.5 shrink-0"}),r.jsx("span",{className:"truncate",children:s??`App · ${t}`})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{type:"button",onClick:u,"aria-label":"Pop out into a floating window",title:"Pop out",className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1 transition-colors",children:r.jsx(Pu,{className:"size-3.5"})}),r.jsx("button",{type:"button",onClick:c,title:"Open in canvas",className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1 transition-colors",children:r.jsx(Ni,{className:"size-3.5"})})]})]}),r.jsx(ed,{sessionId:e,serverName:t,uri:n,title:s,onRequestFullscreen:c,onRequestPip:u,className:hf})]}):r.jsxs("div",{className:"bg-muted/40 flex flex-col gap-3 rounded-lg border p-4",children:[r.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium",children:[r.jsx(Bn,{className:"text-muted-foreground size-4 shrink-0"}),r.jsxs("span",{children:["Interactive app from ",t]})]}),r.jsxs("div",{className:"text-muted-foreground space-y-1 text-xs",children:[r.jsxs("p",{children:["It runs code from ",t," in a sealed-off frame."]}),r.jsx("p",{children:"It can’t see your chat, files or credentials."})]}),r.jsx("div",{children:r.jsx("button",{type:"button",onClick:a,className:"bg-foreground text-background hover:bg-foreground/90 rounded-lg px-3 py-1.5 text-sm font-medium transition-colors",children:"Show app"})})]})}function xf(e){return e.replace(/[-_]+/g," ").trim()}function bf({action:e}){const t=Iu(),n=xf(e.actionId),s=`Widget interaction${e.title?`, ${e.title}`:""}: ${n}`;return r.jsxs(K.span,{"data-testid":"ui-action-chip",title:e.payload?JSON.stringify(e.payload):void 0,className:H("ml-auto inline-flex w-fit items-center gap-2 rounded-full border py-1 pr-3 pl-1.5","bg-muted/40 shadow-soft text-xs"),initial:t?{opacity:0,y:4,scale:.9}:!1,animate:t?{opacity:1,y:0,scale:1}:!1,transition:t?$u:void 0,children:[r.jsx("span",{className:"sr-only",children:s}),r.jsx("span",{"aria-hidden":!0,className:"bg-primary/10 text-primary flex size-5 shrink-0 items-center justify-center rounded-full",children:r.jsx(Cd,{className:"size-3"})}),r.jsxs("span",{"aria-hidden":!0,className:"text-muted-foreground truncate",children:[e.title&&r.jsx("span",{className:"text-foreground font-medium",children:e.title}),e.title&&r.jsx("span",{className:"px-1 opacity-50",children:"·"}),r.jsx("span",{className:"text-foreground font-medium",children:n})]})]})}const yf=/<ui_action>([\s\S]*?)<\/ui_action>/;function Zs(e){try{const t=JSON.parse(e);return t!==null&&typeof t=="object"?t:null}catch{return null}}function kf(e){const t=e.match(yf);if(!t)return null;const n=t[1].split(`
|
|
32
|
+
*/const Go={name:"mouse-pointer-click",size:24,node:[["path",{d:"M14 4.1 12 6",key:"ita8i4"}],["path",{d:"m5.1 8-2.9-.8",key:"1go3kf"}],["path",{d:"m6 12-1.9 2",key:"mnht97"}],["path",{d:"M7.2 2.2 8 5.1",key:"1cfko1"}],["path",{d:"M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z",key:"s0h3yz"}]]};Go.node;const Cd=ct(Go);function Sd({color:e,isTextStreaming:t,fadeEdges:n=!0,edge:s="bottom"}){const o=Fe()===!0,a=t?1.8:2.5,i=n?"linear-gradient(to right, transparent, black 15%, black 85%, transparent)":void 0,c=s==="top"?"pointer-events-none absolute right-0 top-0 left-0":"pointer-events-none absolute right-0 bottom-0 left-0",u="[--scan-highlight:hsl(var(--background))] dark:[--scan-highlight:hsl(var(--foreground))]",d=s==="top"?"top":"bottom";return r.jsxs(K.div,{"aria-hidden":!0,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.4},className:`${c} ${u}`,style:{height:n?10:0,overflow:n?"hidden":"visible",maskImage:i,WebkitMaskImage:i},children:[r.jsx("div",{className:"absolute right-0 left-0",style:{[d]:0,height:6,backgroundColor:e,opacity:.6,filter:"blur(3px)"}}),!o&&r.jsx(K.div,{initial:{x:"-100%"},animate:{x:"433%"},transition:{x:{duration:a,repeat:1/0,ease:"linear"}},className:"absolute",style:{[d]:0,width:"30%",height:2,background:`linear-gradient(to right, transparent, ${e}, var(--scan-highlight), transparent)`,willChange:"transform"}}),r.jsx(fe,{children:t&&!o&&r.jsx(K.div,{initial:{opacity:0,x:"-100%"},animate:{opacity:.9,x:"1525%"},exit:{opacity:0},transition:{x:{duration:1.1,repeat:1/0,ease:"linear"},opacity:{duration:.2}},className:"absolute",style:{[d]:0,width:"8%",height:1,background:"linear-gradient(to right, transparent, var(--scan-highlight) 40%, var(--scan-highlight) 60%, transparent)",willChange:"transform"}})})]})}const bn={"word-boundary":3,substring:2,subsequence:1},jd=new Set(["/",":","-","_","."," "]);function _d(e,t){if(t===0)return!0;const n=e[t-1];if(jd.has(n))return!0;const s=e[t];return n===n.toLowerCase()&&s!==s.toLowerCase()&&s===s.toUpperCase()}function $t(e,t){return Array.from({length:t},(n,s)=>e+s)}function Pt(e,t,n){const s=1/(1+t),o=n/e.length;return(s*.6+o*.4)*.999}function wd(e,t){let n=0,s=0,o=0;const a=[];for(let i=0;i<t.length&&n<e.length;i++)t[i]===e[n]?(n++,s++,s>o&&(o=s),a.push(i)):s=0;return n===e.length?{indices:a,maxRun:o}:null}function Nd(e,t){const n=t.indices[t.indices.length-1]-t.indices[0]+1,s=t.maxRun/t.indices.length,o=t.indices.length/n,a=t.indices.length/e.length;return(s*.4+o*.3+a*.3)*.999}function Gt(e,t){if(!e)return{match:!0,tier:null,score:0,indices:[]};const n=e.toLowerCase(),s=t.toLowerCase();if(s===n)return{match:!0,tier:"exact",score:5+Pt(t,0,n.length),indices:$t(0,n.length)};if(s.startsWith(n))return{match:!0,tier:"prefix",score:4+Pt(t,0,n.length),indices:$t(0,n.length)};for(let i=1;i<=s.length-n.length;i++)if(_d(t,i)&&s.startsWith(n,i))return{match:!0,tier:"word-boundary",score:bn["word-boundary"]+Pt(t,i,n.length),indices:$t(i,n.length)};const o=s.indexOf(n);if(o>=0)return{match:!0,tier:"substring",score:bn.substring+Pt(t,o,n.length),indices:$t(o,n.length)};const a=wd(n,s);return a?{match:!0,tier:"subsequence",score:bn.subsequence+Nd(t,a),indices:a.indices}:{match:!1,tier:null,score:0,indices:[]}}function Vo(e){return e.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,t=>t.toUpperCase())}function Ed(e,t){return e.length<=t?e:e.slice(0,t)+"…"}function Dd(e){return/^[/~.]/.test(e)||/\.(ts|tsx|js|jsx|json|md|py|rs|go|sh|yml|yaml|toml)$/.test(e)}function qn(e,t){if(e===null)return r.jsx("span",{className:"text-muted-foreground italic",children:"null"});if(typeof e=="boolean")return r.jsx("span",{className:"text-amber-600 dark:text-amber-400",children:String(e)});if(typeof e=="number")return r.jsx("span",{className:"text-blue-600 dark:text-blue-400",children:e});if(typeof e=="string"){const n=Ed(e,t);return Dd(e)?r.jsx("code",{className:"bg-muted rounded px-1 py-0.5 text-xs break-all",children:n}):r.jsx("span",{className:"break-words",children:n})}if(Array.isArray(e)){const n=e.slice(0,5),s=e.length-5;return r.jsxs("div",{className:"space-y-0.5",children:[n.map((o,a)=>r.jsx("div",{className:"border-border/40 border-l pl-2",children:qn(o,80)},a)),s>0&&r.jsxs("span",{className:"text-muted-foreground text-xs italic",children:["… and ",s," more"]})]})}if(typeof e=="object"){const n=Object.entries(e);return r.jsx("div",{className:"space-y-0.5",children:n.map(([s,o])=>r.jsxs("div",{className:"border-border/40 border-l pl-2",children:[r.jsxs("span",{className:"text-muted-foreground text-xs",children:[Vo(s),": "]}),typeof o=="object"&&o!==null?r.jsx("span",{className:"text-muted-foreground italic",children:"{…}"}):qn(o,80)]},s))})}return r.jsx("span",{children:String(e)})}function Ko({toolName:e,input:t,isStreaming:n=!1}){if(!t)return null;if(n){const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsxs("pre",{className:"text-muted-foreground overflow-x-auto text-xs whitespace-pre-wrap",children:[a,r.jsx("span",{className:"animate-breath ml-0.5 inline-block size-1.5 rounded-full bg-current"})]})}let s;try{s=JSON.parse(t)}catch{const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:a})}if(typeof s!="object"||s===null||Array.isArray(s)){const a=t.length>5120?t.slice(0,5120)+"…":t;return r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:a})}const o=Object.entries(s);return o.length===0?null:r.jsx("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:o.map(([a,i])=>r.jsxs("div",{className:"contents",children:[r.jsx("dt",{className:"text-muted-foreground py-0.5 font-medium whitespace-nowrap",children:Vo(a)}),r.jsx("dd",{className:"min-w-0 py-0.5",children:qn(i,120)})]},a))})}class Td{constructor(t){Ze(this,"config");Ze(this,"recentCompletions",[]);Ze(this,"queue",[]);Ze(this,"isIdle",!1);Ze(this,"debounceTimer",null);this.config=t}onTaskCompleted(t,n){if(!this.config.enabled)return;const s=Date.now();this.recentCompletions.push(s),this.recentCompletions=this.recentCompletions.filter(c=>s-c<this.config.debounceWindowMs);const o=n.length,a=n.filter(c=>c.status==="completed").length;if(o>=this.config.minTasksForMajor&&a===o){this.cancelDebounce();const c={level:"major",taskId:t,timestamp:s};this.emitOrQueue(c);return}if(this.recentCompletions.length>=this.config.debounceThreshold){this.cancelDebounce(),this.debounceTimer=setTimeout(()=>{const c={level:"mini",taskId:t,timestamp:Date.now()};this.emitOrQueue(c),this.recentCompletions=[]},this.config.debounceWindowMs);return}if(Math.random()<this.config.miniProbability){const c={level:"mini",taskId:t,timestamp:s};this.emitOrQueue(c)}}setIdle(t){this.isIdle=t}onUserReturn(){if(this.queue.length>0){const n=this.queue.some(s=>s.level==="major")?this.queue.find(s=>s.level==="major"):this.queue[this.queue.length-1];this.config.onCelebrate(n),this.queue=[]}}destroy(){this.cancelDebounce(),this.queue=[],this.recentCompletions=[]}emitOrQueue(t){this.isIdle?this.queue.push(t):this.config.onCelebrate(t)}cancelDebounce(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null)}}const Ad={background:"radial-gradient(circle, rgba(255,215,0,0.15) 0%, transparent 70%)"},Fd={mode:"blur-in",duration:150,easing:"ease-out",sep:"word"},Rd={none:void 0,fade:"fadeIn","blur-in":"blurIn","slide-up":"slideUp"};function Md(e){const t=Rd[e.mode];return t?{animation:t,duration:e.duration??150,easing:e.easing??"ease-out",sep:e.sep??"word"}:!1}function Od(e,t=40){if(e.length<=t)return e;const n=e.split("/").pop()??e,s=n.length+2,o=Math.max(6,t-s);return`${e.slice(0,o)}…/${n}`}function Id({onlyFirst:e=!1}={}){const o="(?:\\u001B\\][^\\u0007\\u001B\\u009C]*(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(o,e?void 0:"g")}const $d=Id({onlyFirst:!0});function Pd(e){if($d.test(e))return"ansi";const t=e.trimStart();if(t.startsWith("{")||t.startsWith("["))try{return JSON.parse(e),"json"}catch{}return"plain"}function sn(e){var n;const{sessions:t}=es();if(e)return(n=t.find(s=>s.id===e))==null?void 0:n.runtime}const Ld=typeof window<"u"&&window.location.pathname===gi;let yn=null,Ks=!Ld;function zd(e){return Ks?yn===e?!0:(yn=null,!1):(Ks=!0,yn=e,!0)}function Bd(e){var s;const t=ke(),n=((s=eo(e))==null?void 0:s.draft)===!0;l.useEffect(()=>{if(!e||n)return;let o=!1;const a=()=>{o||document.visibilityState!=="visible"||(o=!0,document.removeEventListener("visibilitychange",a),zd(e)||at.getState().recordOpened("session",e),t.markSessionOpened(e).catch(i=>{hi(t,i)}))};if(a(),!o)return document.addEventListener("visibilitychange",a),()=>document.removeEventListener("visibilitychange",a)},[e,n,t])}function Qo(){const e=to(),t=eo(e.session);return{cwd:(t==null?void 0:t.cwd)??e.dir??null}}function Yo({agentId:e,agentName:t,onResumed:n}){const s=xi(),{data:o,dataUpdatedAt:a,refetch:i}=bi(),[c]=l.useState(()=>Date.now());l.useEffect(()=>{i()},[e,i]);const u=t??"This agent";return o!=null&&a>=c&&!o.pauses.some(m=>m.agentId===e)?null:r.jsxs("div",{"data-testid":"agent-paused-notice",role:"status",className:"border-border bg-muted/50 my-2 flex items-center gap-3 rounded-lg border px-4 py-3",children:[r.jsx(yi,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsxs("p",{className:"text-sm font-medium",children:[u," is paused"]}),r.jsx("p",{className:"text-muted-foreground text-xs",children:"Resume it, then send your message again."})]}),r.jsx(oe,{size:"sm",variant:"outline",disabled:s.isPending,onClick:()=>s.mutate(e,{onSuccess:()=>{Ae(`${u} resumed`),n==null||n()}}),children:"Resume"})]})}const qd={session:"this chat",project:"this project",user:"all your Claude chats"};function Ud(e){return e===void 0?void 0:qd[e]}const Hd={duration:.12,ease:"easeOut"},Wd={duration:0},Qs=new Set(["Bash","Write","Edit","NotebookEdit"]),Ys=new Set(["WebFetch","WebSearch"]);function Gd(e){const t=e.includes("__")?e.split("__").pop():e;return Qs.has(t)||Qs.has(e)?"high":Ys.has(t)||Ys.has(e)||e.startsWith("mcp__")?"medium":"low"}function Vd(e){const t=Math.floor(e/60),n=e%60;return t>0?`${t}:${String(n).padStart(2,"0")}`:`${n}s`}function Xo({sessionId:e,toolCallId:t,toolName:n,input:s,isActive:o=!1,onDecided:a,ref:i,timeoutMs:c,approvalStartedAt:u,approvalRemainingMs:d,approvalParked:m,approvalTitle:h,approvalDisplayName:f,approvalDescription:x,approvalBlockedPath:g,approvalDecisionReason:S,approvalHasSuggestions:b,approvalAlwaysAllowScope:k,allowsDenyReason:v=!0}){const y=ke(),p=Fe(),j=l.useMemo(()=>Gd(n),[n]),_=no(n),D=ut(n,s),A=f||D,N=Ud(k),[T,C]=l.useState(!1),[E,w]=l.useState(null),[R,M]=l.useState(null),[F,I]=l.useState(!1),[L,U]=l.useState(""),W=l.useRef(""),[te,G]=l.useState(!1),B=o&&!te,[O,$]=l.useState(()=>Date.now()),Q=l.useRef(!1);l.useLayoutEffect(()=>{if(!Q.current){Q.current=!0;return}$(Date.now())},[c,u,d]);const[ue,P]=l.useState(null),Y=l.useMemo(()=>{if(!c||m===!0)return null;const z=d!==void 0?O+d:u?u+c:O+c,ve=Math.min(c,Math.max(0,c-(z-O)));return{expiresAt:z,elapsedMs:ve}},[O,c,u,d,m]),J=E||!c||!Y?null:ue!==null&&ue.expiresAt===Y.expiresAt?ue.seconds:Math.max(0,Math.ceil((Y.expiresAt-O)/1e3));l.useEffect(()=>{if(E||!c||!Y)return;const{expiresAt:z}=Y,ve=setInterval(()=>{const X=Math.max(0,Math.ceil((z-Date.now())/1e3));P({expiresAt:z,seconds:X}),X<=0&&clearInterval(ve)},1e3);return()=>clearInterval(ve)},[c,Y,E]);const se=m===!0||J===0,ee=E||J===null?"":J<=0?"Nobody answered. The agent is waiting for you.":J<=ji?"One minute left to answer.":J<=_i?"Two minutes left to answer.":"",V=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.approveTool(e,t),w("approved"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(w("approved"),a==null||a()):(console.error("Approval failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]),de=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.approveTool(e,t,!0),w("approved"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(w("approved"),a==null||a()):(console.error("Always Allow failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]),ge=l.useCallback(async()=>{if(!(T||E)){C(!0),M(null);try{await y.denyTool(e,t,W.current.trim()||void 0),w("denied"),a==null||a()}catch(z){z.code==="INTERACTION_ALREADY_RESOLVED"?(w("denied"),a==null||a()):(console.error("Deny failed:",z),M("Couldn’t send your answer. Try again."))}finally{C(!1)}}},[T,E,y,e,t,a]);l.useImperativeHandle(i,()=>({approve(){V()},alwaysAllow(){de()},deny(){ge()}}),[V,de,ge]);const pe=r.jsx("span",{role:"status","aria-live":"assertive","aria-atomic":"true",className:"sr-only",children:ee});if(E){const z=E==="approved";return r.jsxs(r.Fragment,{children:[r.jsx(K.div,{initial:p?!1:{opacity:0,scaleY:.9},animate:{opacity:1,scaleY:1},transition:p?Wd:Hd,style:{originY:0},children:r.jsx(Ve,{"data-testid":"tool-approval-decided","data-decision":E,icon:z?r.jsx(it,{className:"text-status-success size-(--size-icon-sm) shrink-0"}):r.jsx(qe,{className:"text-status-error size-(--size-icon-sm) shrink-0"}),label:r.jsx("span",{className:"text-3xs font-mono",children:A}),trailing:r.jsx("span",{className:H("text-2xs rounded-full px-1.5 py-0.5 font-medium",z?"bg-status-success-bg text-status-success-fg":"bg-status-error-bg text-status-error-fg"),children:z?"Allowed":"Not allowed"})})}),pe]})}return r.jsxs(r.Fragment,{children:[r.jsxs(ht.Root,{isActive:o,isResolved:!!E,onAllow:V,onDeny:ge,className:"my-1","data-testid":"tool-approval",children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[r.jsx(ki,{className:H("size-(--size-icon-md)",j==="high"&&"text-status-error",j==="medium"&&"text-status-warning",j==="low"&&"text-muted-foreground")}),r.jsx(ht.Headline,{className:"font-semibold",children:h||"Your agent wants to use a tool"})]}),(x||S||g)&&r.jsxs(ht.Detail,{className:"mb-2",children:[x&&r.jsx("p",{children:x}),S&&!x&&r.jsx("p",{children:S}),g&&r.jsxs("p",{className:"font-mono",children:["Path: ",g]})]}),(c||se)&&!E&&r.jsx("div",{className:"mb-2",children:r.jsx(ht.Countdown,{secondsLeft:se?null:J,...se?{}:{timeoutMs:c},elapsedMs:(Y==null?void 0:Y.elapsedMs)??0,label:se?vi:J===null?"":`${Vd(J)} remaining`})}),r.jsxs("div",{className:"mb-2 flex items-center gap-1.5",children:[_&&r.jsx("span",{className:"bg-muted text-muted-foreground text-3xs rounded px-1 py-0.5 font-medium",children:_}),r.jsx("span",{className:"font-mono text-xs",children:A})]}),s&&r.jsx("div",{className:"bg-muted mb-3 rounded p-2",children:r.jsx(Ko,{toolName:n,input:s})}),R&&r.jsx("p",{className:"text-status-error text-2xs mb-2",children:R}),v&&F&&r.jsx("div",{className:"mb-2",children:r.jsx(Ci,{autoFocus:!0,"data-approval-field":"",value:L,maxLength:Si,disabled:T,onFocus:()=>G(!0),onBlur:()=>G(!1),onChange:z=>{U(z.target.value),W.current=z.target.value},onKeyDown:z=>{z.key==="Enter"&&(z.preventDefault(),ge())},placeholder:"Why not? The agent sees this.","aria-label":"Reason for not allowing",className:"text-xs"})}),r.jsxs(ht.Actions,{children:[r.jsxs(oe,{size:"sm",onClick:V,disabled:T,className:"transition-opacity duration-150",children:[r.jsx(it,{className:"size-(--size-icon-xs)"})," Allow",B&&r.jsx(fn,{className:"ml-1.5",children:"Enter"})]}),b&&r.jsxs(oe,{size:"sm",variant:"outline",onClick:de,disabled:T,"aria-label":N===void 0?"Always allow":`Always allow, ${N}`,className:"transition-opacity duration-150",children:[r.jsx(Xu,{className:"size-(--size-icon-xs)"})," Always allow",N!==void 0&&r.jsx("span",{className:"text-2xs opacity-70",children:`· ${N}`}),B&&r.jsx(fn,{className:"ml-1.5",children:"Shift+Enter"})]}),r.jsxs(oe,{size:"sm",variant:"outline",onClick:ge,disabled:T,className:"transition-opacity duration-150",children:[r.jsx(qe,{className:"size-(--size-icon-xs)"})," Don’t allow",o&&r.jsx(fn,{className:"ml-1.5",children:"Esc"})]}),v&&!F&&r.jsx("button",{type:"button",onClick:()=>I(!0),disabled:T,className:H("text-muted-foreground hover:text-foreground text-2xs rounded underline","focus-visible:ring-ring underline-offset-2 focus-visible:ring-2","focus-visible:outline-none disabled:opacity-50"),children:"Add a reason"})]})]}),pe]})}function Kd(e){if(!e)return[];const t=e.properties??{};return Object.entries(t).map(([n,s])=>({key:n,label:s.description??n,type:s.type??"string",options:s.enum,defaultValue:s.default}))}function Qd({sessionId:e,interactionId:t,serverName:n,message:s,mode:o="form",url:a,requestedSchema:i,status:c,action:u}){const d=ke(),[m,h]=l.useState(!1),[f,x]=l.useState(null),[g,S]=l.useState(null),[b,k]=l.useState({}),[v,y]=l.useState(!1),p=l.useMemo(()=>Kd(i),[i]),j=c!=="pending",_=l.useCallback(async(E,w)=>{if(!(m||j)){h(!0),x(null),S(null);try{await d.submitElicitation(e,t,E,w)}catch(R){if(R.code!=="INTERACTION_ALREADY_RESOLVED"){x("Couldn’t send your answer. Try again."),S(R instanceof Error?R.message:null),h(!1);return}}h(!1)}},[d,e,t,m,j]),D=l.useCallback(()=>{const E={};for(const w of p)E[w.key]=b[w.key]??w.defaultValue??"";_("accept",E)},[p,b,_]),A=l.useCallback(()=>{_("accept")},[_]),N=l.useCallback(()=>{_("decline")},[_]),T=l.useCallback((E,w)=>{k(R=>({...R,[E]:w}))},[]),C=l.useCallback(()=>{if(a){if(!wi(a)){x(`Couldn’t open ${a}. Nothing has been authorized.`),S(null);return}x(null),S(null),y(!0)}},[a]);return j?r.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 py-1 text-xs",children:[r.jsx("span",{className:"font-mono",children:n}),r.jsx("span",{children:"·"}),r.jsx("span",{children:u==="accept"?"Authorized":u==="decline"?"Declined":"Cancelled"})]}):r.jsxs(K.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.15},className:H("border-border bg-card my-2 rounded-xl border p-4","shadow-soft"),children:[r.jsxs("div",{className:"text-muted-foreground mb-2 flex items-center gap-2 text-xs",children:[r.jsx("span",{className:"bg-muted text-3xs inline-flex items-center rounded-md px-2 py-0.5 font-mono",children:n}),r.jsx("span",{children:"needs something from you"})]}),r.jsx("p",{className:"mb-3 text-sm",children:s}),f&&r.jsxs("div",{className:"mb-2",children:[r.jsx("p",{className:"text-destructive text-xs break-words",children:f}),g&&r.jsx("p",{className:"text-muted-foreground/70 mt-1 text-xs break-words",children:g})]}),o==="url"&&a&&r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(oe,{size:"sm",variant:"outline",onClick:C,disabled:m,children:"Open authorization page"}),v&&r.jsx(oe,{size:"sm",onClick:A,disabled:m,children:m?"Sending…":"Done"}),r.jsx(oe,{size:"sm",variant:"ghost",onClick:N,disabled:m,children:"Decline"})]}),o==="form"&&r.jsxs(r.Fragment,{children:[p.length>0?r.jsx("div",{className:"mb-3 space-y-2",children:p.map(E=>r.jsxs("div",{children:[r.jsx("label",{htmlFor:`elicitation-${t}-${E.key}`,className:"text-muted-foreground mb-1 block text-xs font-medium",children:E.label}),E.options?r.jsxs("select",{id:`elicitation-${t}-${E.key}`,className:"border-input bg-background w-full rounded-md border px-3 py-1.5 text-sm",value:b[E.key]??String(E.defaultValue??""),onChange:w=>T(E.key,w.target.value),disabled:m,children:[r.jsx("option",{value:"",children:"Select…"}),E.options.map(w=>r.jsx("option",{value:w,children:w},w))]}):r.jsx("input",{id:`elicitation-${t}-${E.key}`,type:E.type==="number"?"number":"text",className:"border-input bg-background w-full rounded-md border px-3 py-1.5 text-sm",placeholder:String(E.defaultValue??""),value:b[E.key]??"",onChange:w=>T(E.key,w.target.value),disabled:m})]},E.key))}):r.jsx("p",{className:"text-muted-foreground mb-3 text-xs",children:"No additional input required."}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(oe,{size:"sm",onClick:D,disabled:m,children:m?"Sending…":"Accept"}),r.jsx(oe,{size:"sm",variant:"ghost",onClick:N,disabled:m,children:"Decline"})]})]})]})}const Yd=8,Xd={duration:.3,ease:[.16,1,.3,1]},Jd={duration:0};function Zd(e){const t=Math.round(e/1e3),n=Math.floor(t/60),s=t%60;return n>0?`${n}:${String(s).padStart(2,"0")}`:`${s}s`}function ef(e){return new Date(e).toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"})}function tf(e){return`${e} action${e===1?"":"s"}`}function nf({outcome:e,items:t,resolvedAt:n,startedAt:s,reasonGiven:o,className:a}){var S;const i=Fe(),[c,u]=l.useState(!1),d=t.length,m=d>1,h=m?tf(d):(S=t[0])==null?void 0:S.label,f=n!==void 0&&s!==void 0?Math.max(0,n-s):null,x=e==="allowed"?it:e==="denied"?qe:yt,g=e==="allowed"?"text-status-success":e==="denied"?"text-status-error":"text-muted-foreground";return r.jsxs(K.div,{"data-testid":"approval-receipt","data-outcome":e,"data-count":d,initial:i?!1:{opacity:0,y:Yd},animate:{opacity:1,y:0},transition:i?Jd:Xd,className:H("text-muted-foreground my-1 text-xs",a),children:[r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(x,{className:H("size-(--size-icon-xs) shrink-0",g),"aria-hidden":"true"}),r.jsx("span",{className:"min-w-0 truncate",children:e==="expired"?r.jsxs(r.Fragment,{children:["Expired · ",m?`${h} `:"","denied",f!==null&&` after ${Zd(f)}`]}):r.jsxs(r.Fragment,{children:["You ",e==="allowed"?"allowed":"denied"," ",m?h:r.jsx("span",{className:"font-mono",children:h}),e==="denied"&&o===!0&&r.jsx(r.Fragment,{children:" · agent was told why"})]})}),n!==void 0&&r.jsx("time",{dateTime:new Date(n).toISOString(),className:"ml-auto shrink-0 tabular-nums opacity-70",children:ef(n)}),m&&r.jsx("button",{type:"button",onClick:()=>u(b=>!b),"aria-expanded":c,className:H("hover:text-foreground focus-visible:ring-ring shrink-0 rounded underline","underline-offset-2 focus-visible:ring-2 focus-visible:outline-none"),children:c?"Hide":"Show"})]}),m&&c&&r.jsx("ul",{"data-testid":"approval-receipt-items",className:"mt-1 ml-6 space-y-0.5",children:t.map(b=>r.jsx("li",{className:"truncate font-mono",children:b.label},b.toolCallId))})]})}function sf({outcome:e,reasonGiven:t,members:n,lead:s,children:o}){return r.jsxs("div",{className:"flex flex-col",children:[r.jsx(nf,{outcome:e,items:n.map(a=>({toolCallId:a.toolCallId,label:a.approvalDisplayName||ut(a.toolName,a.input??"")})),resolvedAt:s.approvalResolvedAt,startedAt:s.approvalStartedAt,reasonGiven:t}),e!=="allowed"&&s.result&&r.jsx(so,{"data-testid":"approval-receipt-result",content:s.result,className:"text-muted-foreground mt-0.5 ml-6"}),e==="allowed"&&o]})}function Jo(e){return e.endsWith("connectors.request_connection")||e.endsWith("connectors_request_connection")}function Zo(e){if(e)try{return JSON.parse(e)}catch{return}}function Vt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function rf(e){const t=Zo(e);if(!Vt(t))return;const{serviceSlug:n,reason:s}=t;if(!(typeof n!="string"||typeof s!="string"))return{serviceSlug:n,reason:s}}function ea(e){const t=Zo(e);if(Vt(t)&&typeof t.requestId=="string")return t.requestId;if(Vt(t)&&Array.isArray(t.content)){const n=t.content.map(s=>Vt(s)&&typeof s.text=="string"?s.text:"").join("");return ea(n)}}function of(e,t){const n=ea(t.result);if(n)return e.find(o=>o.requestId===n);const s=rf(t.input);if(s)return e.filter(o=>o.serviceSlug===s.serviceSlug).sort((o,a)=>a.createdAt.localeCompare(o.createdAt))[0]}function af({sessionId:e,input:t,result:n,fallback:s}){const o=ad(e),a=o.data?of(o.data,{input:t,result:n}):void 0;return a?r.jsx("div",{className:"my-3","data-testid":"chat-agent-request",children:r.jsx(id,{request:a})}):r.jsx(r.Fragment,{children:s})}const kn={name:{exact:0,prefix:1,"word-boundary":2,substring:6,subsequence:8},alias:{exact:3,prefix:4,"word-boundary":5,substring:7,subsequence:9},description:{exact:10,prefix:11,"word-boundary":12,substring:13,subsequence:14}},lf={match:!1,bucket:Number.POSITIVE_INFINITY,score:0};function Xs(e){return e.startsWith("/")?e.slice(1):e}function Js(e,t){return e.bucket<t.bucket||e.bucket===t.bucket&&e.score>t.score}function cf(e,t){let n=lf;const s=Gt(e,Xs(t.fullCommand));s.match&&s.tier&&(n={match:!0,bucket:kn.name[s.tier],score:s.score});for(const o of t.aliases??[]){const a=Gt(e,Xs(o));if(!a.match||!a.tier)continue;const i={bucket:kn.alias[a.tier],score:a.score};Js(i,n)&&(n={match:!0,...i,matchedAlias:o})}if(t.description){const o=Gt(e,t.description);if(o.match&&o.tier){const a={bucket:kn.description[o.tier],score:o.score};Js(a,n)&&(n={match:!0,...a})}}return n}const ta="dorkos:mcp-app-consent:";function na(e){return`${ta}${e}`}function uf(e){try{return localStorage.getItem(na(e))==="granted"}catch{return!1}}function df(e){try{localStorage.setItem(na(e),"granted")}catch{}ff()}const Un=new Set;function ff(){for(const e of Un)e()}function mf(e){Un.add(e);const t=n=>{var s;(s=n.key)!=null&&s.startsWith(ta)&&e()};return window.addEventListener("storage",t),()=>{Un.delete(e),window.removeEventListener("storage",t)}}function pf(e){const t=l.useSyncExternalStore(mf,()=>uf(e),()=>!1),n=l.useCallback(()=>df(e),[e]);return{consented:t,grant:n}}const hf="h-80";function gf({sessionId:e,serverName:t,uri:n,title:s}){const{consented:o,grant:a}=pf(t),i=ce(d=>d.openPip),c=()=>{const d=ce.getState(),m={type:"mcp_app",serverName:t,uri:n,title:s};d.openCanvasDocument(m),Pn(d,"user",m)},u=()=>{i({kind:"mcp_app",sessionId:e,serverName:t,uri:n,title:s??`App · ${t}`})};return o?r.jsxs("div",{className:"overflow-hidden rounded-lg border",children:[r.jsxs("div",{className:"bg-muted/40 flex items-center justify-between border-b px-3 py-1.5",children:[r.jsxs("div",{className:"flex items-center gap-2 text-xs font-medium",children:[r.jsx(Bn,{className:"text-muted-foreground size-3.5 shrink-0"}),r.jsx("span",{className:"truncate",children:s??`App · ${t}`})]}),r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx("button",{type:"button",onClick:u,"aria-label":"Pop out into a floating window",title:"Pop out",className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1 transition-colors",children:r.jsx(Lu,{className:"size-3.5"})}),r.jsx("button",{type:"button",onClick:c,title:"Open in canvas",className:"text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1 transition-colors",children:r.jsx(Ni,{className:"size-3.5"})})]})]}),r.jsx(td,{sessionId:e,serverName:t,uri:n,title:s,onRequestFullscreen:c,onRequestPip:u,className:hf})]}):r.jsxs("div",{className:"bg-muted/40 flex flex-col gap-3 rounded-lg border p-4",children:[r.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium",children:[r.jsx(Bn,{className:"text-muted-foreground size-4 shrink-0"}),r.jsxs("span",{children:["Interactive app from ",t]})]}),r.jsxs("div",{className:"text-muted-foreground space-y-1 text-xs",children:[r.jsxs("p",{children:["It runs code from ",t," in a sealed-off frame."]}),r.jsx("p",{children:"It can’t see your chat, files or credentials."})]}),r.jsx("div",{children:r.jsx("button",{type:"button",onClick:a,className:"bg-foreground text-background hover:bg-foreground/90 rounded-lg px-3 py-1.5 text-sm font-medium transition-colors",children:"Show app"})})]})}function xf(e){return e.replace(/[-_]+/g," ").trim()}function bf({action:e}){const t=$u(),n=xf(e.actionId),s=`Widget interaction${e.title?`, ${e.title}`:""}: ${n}`;return r.jsxs(K.span,{"data-testid":"ui-action-chip",title:e.payload?JSON.stringify(e.payload):void 0,className:H("ml-auto inline-flex w-fit items-center gap-2 rounded-full border py-1 pr-3 pl-1.5","bg-muted/40 shadow-soft text-xs"),initial:t?{opacity:0,y:4,scale:.9}:!1,animate:t?{opacity:1,y:0,scale:1}:!1,transition:t?Pu:void 0,children:[r.jsx("span",{className:"sr-only",children:s}),r.jsx("span",{"aria-hidden":!0,className:"bg-primary/10 text-primary flex size-5 shrink-0 items-center justify-center rounded-full",children:r.jsx(Cd,{className:"size-3"})}),r.jsxs("span",{"aria-hidden":!0,className:"text-muted-foreground truncate",children:[e.title&&r.jsx("span",{className:"text-foreground font-medium",children:e.title}),e.title&&r.jsx("span",{className:"px-1 opacity-50",children:"·"}),r.jsx("span",{className:"text-foreground font-medium",children:n})]})]})}const yf=/<ui_action>([\s\S]*?)<\/ui_action>/;function Zs(e){try{const t=JSON.parse(e);return t!==null&&typeof t=="object"?t:null}catch{return null}}function kf(e){const t=e.match(yf);if(!t)return null;const n=t[1].split(`
|
|
33
33
|
`);let s=null,o=null,a=null,i=null;for(let c=0;c<n.length;c++){const u=n[c],d=u.match(/^\s*Widget:\s*(.*)$/);if(d){const x=d[1].trim();s=x&&x!=="(untitled)"?x:null;continue}const m=u.match(/^\s*Action:\s*(.*)$/);if(m){o=m[1].trim();continue}const h=u.match(/^\s*Widget ID:\s*(.*)$/);if(h){a=h[1].trim()||null;continue}const f=u.match(/^\s*Payload:\s*(.*)$/);if(f){const x=f[1].trim();if(x&&x!=="(none)")i=Zs(x);else if(!x){let g="";for(let S=c+1;S<n.length;S++){g+=(g?`
|
|
34
|
-
`:"")+n[S];const b=Zs(g.trim());if(b){i=b;break}}}break}}return o?{title:s,actionId:o,widgetId:a,payload:i}:null}function vf({onAllow:e,onNotNow:t}){return r.jsxs(Cu,{"data-slot":"notification-permission-primer",gap:"none",className:"flex-row flex-wrap items-center gap-x-3 gap-y-2 px-3 py-2",children:[r.jsx(Ei,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),r.jsx("p",{className:"text-muted-foreground min-w-0 flex-1 text-xs",children:"Get notified when this needs you, even in another tab."}),r.jsxs("div",{className:"flex w-full shrink-0 flex-wrap items-center justify-end gap-1.5 sm:w-auto",children:[r.jsx(oe,{variant:"ghost",size:"sm",responsive:!1,className:"h-7 px-2 text-xs",onClick:t,children:"Not now"}),r.jsx(oe,{variant:"outline",size:"sm",responsive:!1,className:"h-7 px-2 text-xs",onClick:e,children:"Turn on notifications"})]})]})}function Cf(e){const t=Mc(),{permission:n,request:s}=Su(),{prefs:o,setPrefs:a}=ju(),{data:i}=ro(),c=i!==void 0,[u,d]=l.useState(!1),m=Di()||n==="unsupported";l.useEffect(()=>{if(m||!e)return;const g=setTimeout(Oc,Ic);return()=>clearTimeout(g)},[m,e]);const h=l.useCallback(()=>{d(!0),s().then(()=>{a({browserPermissionPrimerDismissed:!0})})},[s,a]),f=l.useCallback(()=>{d(!0),a({browserPermissionPrimerDismissed:!0})},[a]);return{eligible:!m&&c&&t&&!u&&n==="default"&&!o.browserPermissionPrimerDismissed,allow:h,notNow:f}}const Sf="dorkos:chat:last-seen:";function jf(){try{const e=[];for(let t=0;t<window.localStorage.length;t++){const n=window.localStorage.key(t);n!=null&&n.startsWith(Sf)&&e.push(n)}for(const t of e)window.localStorage.removeItem(t)}catch{}}function wf(e){let t=0;for(const n of e)n._streaming!==!0&&t++;return t}function _f(e){if(typeof e!="object"||e===null)return!1;const{userId:t,threadKind:n,threadId:s,lastReadSeq:o}=e;return typeof t=="string"&&typeof n=="string"&&typeof s=="string"&&typeof o=="number"&&Number.isInteger(o)}function Nf(e,t,n=0){const s=ke(),[o,a]=l.useState(()=>({sessionId:e,lastReadSeq:null,hydrated:!1}));o.sessionId!==e&&a({sessionId:e,lastReadSeq:null,hydrated:!1});const i=l.useRef(0),c=l.useRef(null),u=l.useRef(!1),d=l.useRef(!1),m=l.useRef(e),h=l.useRef(null),f=n+wf(t);l.useEffect(()=>{jf();let v=!1;return m.current=e,i.current=0,c.current=null,u.current=!1,d.current=!1,(async()=>{let y=null;try{y=await s.getReadCursor("session",e)}catch{}v||(y&&(i.current=y.lastReadSeq,h.current=y.userId),a({sessionId:e,lastReadSeq:(y==null?void 0:y.lastReadSeq)??null,hydrated:!0}))})(),()=>{v=!0}},[s,e]);const x=l.useCallback(async()=>{if(!u.current){u.current=!0;try{for(;;){const v=c.current;if(v===null)break;if(c.current=null,v.sessionId!==m.current)continue;if(d.current)break;const y=i.current;i.current=Math.max(y,v.seq);try{const p=await s.setReadCursor("session",v.sessionId,v.seq);h.current=p.userId??h.current}catch{i.current=y,v.sessionId===m.current&&(d.current=!0);break}}}finally{u.current=!1}}},[s]),g=l.useCallback(()=>{!o.hydrated||d.current||f<=i.current||(c.current={sessionId:e,seq:f},x())},[o.hydrated,e,f,x]);Ti("read_cursor",v=>{if(!_f(v)||v.threadKind!=="session"||v.threadId!==e)return;const y=h.current;y!==null&&v.userId!==y||v.lastReadSeq<=i.current||(i.current=v.lastReadSeq,a({sessionId:e,lastReadSeq:v.lastReadSeq,hydrated:!0}))});const S=l.useMemo(()=>t.filter(v=>v._streaming!==!0).map((v,y)=>({id:v.id,seq:n+y+1})),[t,n]),b=o.lastReadSeq,k=Ai(S,b===null?null:Math.min(b,f));return{lastSeenMessageId:k.lastSeenId,unreadFromStart:k.fromStart,markSeen:g,isHydrated:o.hydrated}}function Qe(e){return e.notAllowed!==!0&&e.usage.state!=="limited"}function Ef(e,t){if(e.id===lt||!e.eligible)return e.reason;const n=Fi(e.usage,"seven_day");if(!n||n.usedPct===null)return"usage unknown";const s=Math.min(100,Math.max(0,Math.round(100-n.usedPct))),o=Ri(n.resetsAt,t);return o?`${s}% left · resets ${o}`:`${s}% left`}function rn(e,t){return e.runtime!==void 0&&e.runtime!==t}function Df(e,t){const n=[],s=[];for(const o of e)(rn(o,t)?s:n).push(o);return{same:n,other:s}}function Yt(e,t){return`${e.runtime??t}:${e.id}`}function Tf(e,t,n){if(rn(e,t)){const s=e.runtime;return!e.label&&e.id===Ct?`${Qt({runtime:s,accountLabel:null,identityGate:!1})} (this computer's sign-in)`:Qt({runtime:s,accountLabel:e.label,identityGate:!0})}return e.label?e.label:e.id===Ct&&e.usage.label?e.usage.label:e.usage.path?n(e.usage.path):e.id}function Af(e,t){const n=e.accounts.find(o=>o.id===e.recommendedId);if(n&&Qe(n))return Yt(n,t);const s=e.accounts.find(Qe);return s?Yt(s,t):null}function Ff(e){return e.length===0?null:e.length===1?`${e[0]} is kept out, so it isn’t listed.`:`${`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`} are kept out, so they aren’t listed.`}function Rf(e,t){if(e&&t)return{subtitle:"Picks up in the same folder and branch, from the last checkpoint.",carries:"Carries over: files, branch, checkpoint, task",doesnt:"Doesn’t: the chat itself"};const n="Starts a new chat in the same folder, with a summary of this one.";return{subtitle:e?n:`${n} Sorted by most usage left.`,carries:"Carries over: the folder and a summary of this chat",doesnt:"Doesn’t: the chat itself"}}function Mf(e){return e.carryOver===!1}function Of(e,t,n){return e?!0:(t==null?void 0:t.accounts.some(s=>rn(s,n)))??!1}function If(e){return{id:lt,runtime:e,label:Ms,color:Rs,eligible:!0,reason:"paid from your DorkOS account",usage:{runtime:"claude-code",accountId:lt,path:"",label:Ms,color:Rs,subscriptionType:null,plan:null,credits:null,spend:null,windows:[],state:"unknown",limit:null,updatedAt:null}}}function sa(e,t){const n=ke();return Ye({queryKey:ts.continueOptions(e),queryFn:()=>n.getContinueOptions(e),enabled:t,staleTime:0,retry:!1})}function $f(e){const t=ke();return St({mutationFn:n=>t.continueSession(e,n),retry:!1})}function Pf(e){const t=ke();return St({mutationFn:()=>t.cancelAutoContinue(e),retry:!1})}const er="claude-code",Lf="No other account can take this work right now.";function zf(e){return e instanceof Error&&e.message?e.message:"Couldn’t continue on that account. Try again."}function Bf({row:e,value:t,name:n,status:s,selected:o}){const a=Qe(e);return r.jsxs("label",{"data-slot":"continue-account-row","data-eligible":e.eligible,className:H("flex min-h-11 min-w-0 items-center gap-1.5 rounded-lg border px-2.5 py-2 text-sm transition-colors duration-150","has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-[3px]",o?"border-foreground ring-foreground ring-1 ring-inset":"border-border",a?"hover:bg-muted/50 cursor-pointer":"cursor-not-allowed",!e.eligible&&"opacity-60"),children:[r.jsx(qi,{value:t,disabled:!a,className:"sr-only"}),r.jsx("span",{"aria-hidden":!0,className:"inline-flex",children:r.jsx(ss,{color:e.color,name:n})}),r.jsx("span",{className:"max-w-[55%] shrink-0 truncate font-medium",children:n}),e.badge==="recommended"&&r.jsx("span",{className:H(Ui.success,"border-status-success-border text-2xs shrink-0 rounded-full border px-1.5"),children:"recommended"}),r.jsx("span",{className:"text-muted-foreground ml-auto min-w-0 pl-1 text-right text-xs",children:s})]})}function ra({open:e,onOpenChange:t,sessionId:n,account:s,cancelAutoFirst:o=!1,now:a,onCloseAutoFocus:i}){var ue;const c=_t(),u=a??new Date(c),d=l.useId(),m=s.runtime??er,{accounts:h,nameFor:f}=ns(),[,x]=Nt(),g=Pf(n),S=l.useRef(!1),{mutate:b,reset:k}=g;l.useEffect(()=>{if(!e){S.current=!1,k();return}!o||S.current||(S.current=!0,b())},[e,o,b,k]);const v=e&&(!o||g.isSuccess),y=sa(n,v),p=$f(n),[j,w]=l.useState(null),D=()=>{p.isPending||(w(null),p.reset(),t(!1))},A=P=>P?t(!0):D(),N=v?y.data:void 0,T=N==null?void 0:N.ranking,C=N&&!Mf(N.plan)?[...N.ranking.accounts,...N.credits?[If(m)]:[]]:[],E=C.some(Qe),_=j??(T?Af(T,m):null),R=C.find(P=>Yt(P,m)===_)??null,M=R!==null&&Qe(R),F=P=>Tf(P,m,f),{same:I,other:L}=Df(C,m),U=Rf((N==null?void 0:N.advised)===!0,s.trackerItems.some(P=>P.via==="this-chat")),W=s.accountId??((ue=s.limit)==null?void 0:ue.accountId)??null,te=(N==null?void 0:N.advised)===!0&&m===er&&W!==null?Ff(h.filter(P=>P.id&&P.id!==W&&!I.some(Y=>Y.id===P.id)).map(P=>f(P.path))):null,G=()=>{!R||!Qe(R)||p.mutate(rn(R,m)?{account:R.id,runtime:R.runtime}:{account:R.id},{onSuccess:P=>{D(),P.sessionId&&x(P.sessionId)}})},B=P=>{const Y=Yt(P,m);return r.jsx(Bf,{row:P,value:Y,name:F(P),status:Ef(P,u),selected:Y===_},Y)},O=g.isError?g.error:y.isError&&v?y.error:p.isError?p.error:null,$=e&&!O&&(!v||y.isPending),Q=!$&&N!==void 0;return r.jsx(Mi,{open:e,onOpenChange:A,children:r.jsxs(Oi,{className:"max-h-[85vh] !min-h-0",desktopProps:{className:"sm:max-w-[380px]"},onCloseAutoFocus:i,"aria-labelledby":d,children:[r.jsxs(Ii,{className:"shrink-0 text-left",children:[r.jsx($i,{id:d,className:"text-left",children:"Continue on another account"}),r.jsx(Pi,{className:"text-left",children:U.subtitle})]}),r.jsxs(Li,{className:"flex flex-col gap-3",children:[$&&r.jsxs("div",{className:"flex flex-col gap-1.5",children:[r.jsx(Os,{className:"h-11 rounded-lg"}),r.jsx(Os,{className:"h-11 rounded-lg"})]}),Q&&(E?r.jsxs(zi,{"aria-labelledby":d,value:_??"",onValueChange:w,className:"min-w-0 grid-cols-1 gap-1.5",children:[I.map(B),L.length>0&&r.jsx("div",{className:"text-muted-foreground mt-2 text-xs font-semibold tracking-wide uppercase",children:"Other runtimes"}),L.map(B)]}):r.jsx("p",{className:"text-muted-foreground text-sm",children:Lf})),Q&&te&&r.jsx("p",{className:"text-muted-foreground text-xs",children:te}),Q&&r.jsxs("ul",{className:"text-muted-foreground list-disc pl-4 text-xs",children:[r.jsx("li",{children:U.carries}),r.jsx("li",{children:U.doesnt})]}),O!==null&&r.jsx("p",{role:"alert",className:"text-destructive text-sm",children:zf(O)})]}),r.jsxs(Bi,{className:"shrink-0",children:[r.jsx(oe,{variant:"outline",onClick:D,disabled:p.isPending,children:"Cancel"}),r.jsxs(oe,{onClick:G,disabled:!Q||!E||!M||p.isPending,"aria-busy":p.isPending||void 0,children:[p.isPending&&r.jsx(Le,{}),R&&Q&&E?`Continue on ${F(R)}`:"Continue"]})]})]})})}const qf=1440*60*1e3,Uf="Paused until you continue or the account resets",Hf="Paused until the task moves or the account resets",Wf=new Set(["limited","handing-off","wait-only","all-accounts-out","model-limited"]);function Gf(e){return Wf.has(e)?"critical":"neutral"}function oa(e){return e.carryOver===!1}function rt(e,t){return e!==null&&Date.parse(e)<=t.getTime()}function hs(e){return`${e} should have reset by now.`}function Vf(e,t,n,s){if(rt(n,s))return hs(e);const o=Hi(t,n,s);return o==="out"?`${e} is out of usage.`:o.startsWith("back in ")?`${e} is out of usage · ${o}.`:`${e} is out of usage ${o.slice(4)}.`}function aa(e){return e.plan.mode==="waiting"&&e.plan.resumeAt?e.plan.resumeAt:e.resetsAt}function tr(e,t,n){if(t===null)return`Waiting for ${e}`;if(rt(t,n))return hs(e);const s=Date.parse(t)-n.getTime();return s<qf?`Waiting for ${e} · back in ${Wi(s)}`:`Waiting for ${e} · back ${rs(t,n)}`}function Kf(e,t){return Math.max(0,Math.ceil((Date.parse(e)-t.getTime())/1e3))}const Qf=new Set(["continue-on","move-now","keep-going","resume","open-moved"]);function Yf(e,t){return(()=>{switch(e){case"limited":return[t.canPick&&"continue-on","wait"];case"handing-off":return["move-now",t.canPick&&"choose","wait"];case"model-limited":return[t.hasFallback&&"keep-going",t.canPick&&"continue-on","wait"];case"wait-only":case"all-accounts-out":return["wait"];case"reset-ready":return["resume"];case"moved":return["open-moved",!t.continuedHere&&"continue-here"];default:return[]}})().filter(s=>s!==!1)}const Xf=new Set(["limited","handing-off","wait-only","all-accounts-out","model-limited","waiting-reset"]),vn={canSubmit:!0,placeholder:null};function Jf(e,t,n){if(!e)return vn;const s=oo(e);if(s==="moved")return{canSubmit:t,placeholder:null};if(!Xf.has(s))return vn;const o=i=>i!==null&&!rt(i,n);return o(aa(e))||e.plan.mode==="auto"&&o(e.plan.fireAt)?{canSubmit:!1,placeholder:s==="handing-off"?Hf:Uf}:vn}const Zf=300*1e3;function ia(e,t){const n=Date.parse(e)-Date.parse(t);return Number.isFinite(n)&&n>=0&&n<=Zf}function em(e,t){let n=null;for(const s of e)ia(s.since,t)&&(n===null||Date.parse(s.since)<Date.parse(n.since))&&(n=s);return n}function Hn(e,t){var n;return e?((n=t.find(s=>s.value===e))==null?void 0:n.displayName)??e:null}function tm(e,t){return{from:Hn(e.modelFrom,t)??(e.scope==="model"?ao(e.window,t):null),to:Hn(e.modelTo,t)}}function la(){const{accounts:e,nameFor:t,colorFor:n}=ns(),s=Gi("claude-code",{accountId:Ct,path:null});return o=>{const a=Vi({accountId:o,path:null,accounts:e,usage:o===Ct?s:null,nameFor:t,colorFor:n});return{name:a.name??o,color:a.color}}}const nr=os(e=>({episodes:new Set,choose:t=>e(n=>n.episodes.has(t)?n:{episodes:new Set([...n.episodes,t])})}));function nm(e,t){return`${e}\0${t}`}function ca(e,t){const n=t===null?null:nm(e,t),s=nr(a=>n!==null&&a.episodes.has(n)),o=nr(a=>a.choose);return{continuedHere:s,continueHere:()=>{n!==null&&o(n)}}}const sr="claude-code",sm=new Set(["limited","handing-off","model-limited"]),rm=new Set(["limited","model-limited","all-accounts-out"]);function om(e){return(e==null?void 0:e.runsOn)==="own-sign-in"&&e.chosenBy==="user"}function am(e){return e instanceof Error&&e.message?e.message:"Couldn’t do that. Try again."}function im(e,t){var W,te,G;const n=ke(),s=as(),[,o]=Nt(),a=Et(e,{fetchUsage:!1}),i=t??a,c=i.limit,u=c?oo(c):null,d=i.runtime??sr,m=i.visible,h=la(),f=d===sr&&(c!=null&&c.accountId)?h(c.accountId).name:i.name,x=Qt({runtime:d,accountLabel:f,identityGate:m}),g=is({sessionId:e||void 0,runtime:d}).data??[],S=c?oa(c.plan):!0,b=u!==null&&sm.has(u)&&!S,{isLoaded:k}=ns(),{data:v}=ls(),y=k&&v!==void 0,p=u==="model-limited",j=sa(e,b&&y&&(p?m:!m)),w=b&&(p?m&&(((W=j.data)==null?void 0:W.ranking.accounts.some(Qe))??!1):Of(m,(te=j.data)==null?void 0:te.ranking,d)),{continuedHere:D,continueHere:A}=ca(e,(c==null?void 0:c.since)??null),{data:N}=Ki(),T=u!==null&&rm.has(u)&&!S&&(c==null?void 0:c.accountId)!==lt&&Qi(N,d)&&!om((G=N==null?void 0:N.defaults)==null?void 0:G[d]),C=(c==null?void 0:c.since)??null,E=`${C}:${u}`,[_,R]=l.useState(null),M=B=>R(B===null?null:{key:E,message:B}),F=B=>M(am(B)),I=St({mutationFn:B=>n.waitForReset(e,B),retry:!1,onError:F}),L=St({mutationFn:B=>n.continueSession(e,B),retry:!1,onError:F,onSuccess:B=>{B.sessionId&&B.sessionId!==e&&o(B.sessionId)}}),U=l.useRef(C);return l.useEffect(()=>{U.current!==null&&C===null&&s.invalidateQueries({queryKey:ts.limitHistory(e)}),U.current=C},[C,e,s]),{account:i,limit:c,state:u,runtime:d,subject:x,identityGate:m,canPick:w,creditsOffered:T,nameOf:h,models:g,continuedHere:D,continueHere:A,wait:B=>{M(null),I.mutate(B===void 0?{}:{autoResume:B})},continueOn:B=>{M(null),L.mutate(B)},openSession:B=>o(B),pending:I.isPending||L.isPending,failure:(_==null?void 0:_.key)===E?_.message:null}}function Cn({visible:e,spoken:t,spokenKey:n}){const[s,o]=l.useState({key:n,text:t});return s.key!==n&&o({key:n,text:t}),r.jsxs(r.Fragment,{children:[r.jsx("span",{"aria-hidden":!0,children:e}),r.jsx("span",{className:"sr-only",children:s.key===n?s.text:t})]})}function Sn({account:e,showDot:t}){return r.jsxs(r.Fragment,{children:[t&&e.color&&r.jsx("span",{"aria-hidden":!0,className:"mr-1 inline-flex align-middle",children:r.jsx(ss,{color:e.color,name:e.name,tooltip:!1})}),e.name]})}function lm(e,t){switch(e){case"continue-on":return"Continue on another account…";case"move-now":return"Move now";case"choose":return"Choose account…";case"keep-going":return`Keep going on ${t}, same account`;case"resume":return"Continue";case"open-moved":return"Open it →";case"continue-here":return"Continue here anyway";case"wait":return"Wait for reset"}}function cm({sessionId:e,onSend:t,account:n,now:s}){const o=im(e,n),a=io(),{limit:i,state:c,subject:u,identityGate:d}=o,m=_t(c==="handing-off"?1e3:6e4),h=s??new Date(m),f=i?i.since:null,[x,g]=l.useState(null),S=o.canPick&&f!==null&&x===f,b=E=>g(E?f:null),k=l.useId();if(!i||!c)return null;const v=o.creditsOffered&&a!==null,y=i.plan,p=Hn(i.modelFallback,o.models),j=Yf(c,{canPick:o.canPick,hasFallback:p!==null,continuedHere:o.continuedHere}),w=`${c}:${i.since}:${u}`;let D,A=null,N=!1;switch(c){case"all-accounts-out":{D="All accounts are out.";const E=i.allOut;if(E!=null&&E.resetsAt){const _=o.nameOf(E.accountId);A=rt(E.resetsAt,h)?hs(_.name):r.jsxs(r.Fragment,{children:["Soonest back: ",r.jsx(Sn,{account:_,showDot:d}),","," ",rs(E.resetsAt,h)]})}break}case"model-limited":D=`${ao(i.window,o.models)} is out on ${u} for this week.`;break;case"waiting-reset":{const E=aa(i);D=r.jsx(Cn,{visible:tr(u,E,h),spoken:tr(u,E,h),spokenKey:`${w}:${rt(E,h)}`});break}case"reset-ready":D=y.mode==="waiting"&&y.unconfirmed?`${u} should have reset by now.`:`${u} has reset.`;break;case"moved":{if(y.mode!=="continued")return null;const E=o.nameOf(y.accountId);D=r.jsxs(r.Fragment,{children:["This task continued on ",r.jsx(Sn,{account:E,showDot:d}),"."]});break}default:{const E=Vf(u,i.window,i.resetsAt,h);if(D=r.jsx(Cn,{visible:E,spoken:E,spokenKey:`${w}:${rt(i.resetsAt,h)}`}),c==="handing-off"&&y.mode==="auto"){const _=o.nameOf(y.target),R=Kf(y.fireAt,h);N=R===0,A=r.jsx(Cn,{visible:r.jsxs(r.Fragment,{children:["Moving this task to ",r.jsx(Sn,{account:_,showDot:d}),N?"…":` in ${R}s…`]}),spoken:N?`Moving this task to ${_.name}.`:`Moving this task to ${_.name} in ${R} seconds.`,spokenKey:`${w}:${y.fireAt}:${_.name}:${N}`})}}}const T=E=>{switch(E){case"continue-on":case"choose":b(!0);return;case"move-now":y.mode==="auto"&&o.continueOn({account:y.target});return;case"keep-going":i.modelFallback&&o.continueOn({model:i.modelFallback});return;case"resume":t(Yi);return;case"open-moved":y.mode==="continued"&&o.openSession(y.sessionId);return;case"continue-here":o.continueHere();return;case"wait":o.wait();return}},C=c==="waiting-reset"&&y.mode==="waiting"&&!oa(y);return r.jsxs(r.Fragment,{children:[r.jsxs(_u,{variant:Gf(c),role:"status",icon:null,"data-slot":"account-limit-banner","data-state":c,className:"mx-4 mb-2 rounded-lg border px-3 py-2",children:[r.jsxs("p",{children:[r.jsx("strong",{className:"font-semibold",children:D}),A&&r.jsxs(r.Fragment,{children:[" ",A]})]}),C&&r.jsxs("div",{className:"mt-1.5 flex items-center gap-2",children:[r.jsx("input",{id:k,type:"checkbox",className:"size-3.5",checked:y.autoResume,disabled:o.pending,onChange:E=>o.wait(E.target.checked)}),r.jsx("label",{htmlFor:k,children:"Continue automatically when it resets"})]}),v&&a&&r.jsx("div",{className:"mt-1.5",children:a({runtime:o.runtime,origin:`limit:${e}`,intent:"keep-going",confirmAfterLink:{prompt:"Linked. Continue on DorkOS credits?",action:"Continue"},onChoose:()=>o.continueOn({account:lt})})}),j.length>0&&r.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:j.map(E=>r.jsx(oe,{size:"sm",variant:Qf.has(E)&&!v?"default":E==="continue-here"?"ghost":"outline",className:"h-auto min-h-11 max-w-full py-1 whitespace-normal md:min-h-8",disabled:o.pending||E==="move-now"&&N,onClick:()=>T(E),children:lm(E,p)},E))}),o.failure&&r.jsx("p",{role:"alert",className:"text-destructive mt-1.5",children:o.failure})]}),o.canPick&&r.jsx(ra,{open:S,onOpenChange:b,sessionId:e,account:{runtime:o.runtime,accountId:o.account.accountId,limit:i,trackerItems:o.account.trackerItems},cancelAutoFirst:c==="handing-off",now:s})]})}function um(e){const t=ke();return Ye({queryKey:ts.limitHistory(e),queryFn:()=>t.getLimitHistory(e),enabled:e!=="",retry:!1})}const dm={moved:Ji,"resumed-reset":yt,"resumed-model":yt,"resumed-early":yt};function fm({entry:e,now:t}){const n=_t(),s=t??new Date(n),o=la(),a=Xi(e.runtime),i=is({runtime:e.runtime}).data??[],[,c]=Nt(),u=e.runtime==="claude-code"&&e.accountId?o(e.accountId).name:null,d=Qt({runtime:e.runtime,accountLabel:u,identityGate:a}),m=`at ${rs(e.resolvedAt,s)}`,h=dm[e.resolution];let f;switch(e.resolution){case"moved":{const x=e.toAccountId?o(e.toAccountId):null,g=x?r.jsxs(r.Fragment,{children:[a&&x.color&&r.jsx("span",{"aria-hidden":!0,className:"mr-0.5 inline-flex align-middle",children:r.jsx(ss,{color:x.color,name:x.name,tooltip:!1})}),x.name]}):null;f=r.jsxs(r.Fragment,{children:[d," ran out · moved",g&&r.jsxs(r.Fragment,{children:[" to ",e.toSessionId?r.jsx("button",{type:"button",className:"hover:text-foreground focus-visible:ring-ring rounded-sm underline underline-offset-2 outline-none focus-visible:ring-2",onClick:()=>c(e.toSessionId),children:g}):g]})," ",m]});break}case"resumed-reset":f=`Resumed after reset ${m}`;break;case"resumed-model":{const{from:x,to:g}=tm(e,i);f=g?`${x??d} ran out · continued on ${g} ${m}`:`${d} ran out · continued here ${m}`;break}case"resumed-early":f=`${d} ran out · continued here ${m}`;break}return r.jsxs("p",{"data-slot":"account-limit-marker","data-resolution":e.resolution,className:"text-muted-foreground text-2xs my-2 flex items-center gap-1.5",children:[r.jsx(h,{"aria-hidden":!0,className:"size-3 shrink-0"}),r.jsx("span",{className:"min-w-0",children:f})]})}function mm({sessionId:e,at:t,fallback:n,now:s}){const{limit:o}=Et(e,{fetchUsage:!1}),a=um(e),[i,c]=l.useState(null),u=o!==null&&(t===""||ia(o.since,t));if(u&&((i==null?void 0:i.data)!==a.dataUpdatedAt||i.error!==a.errorUpdatedAt)&&c({data:a.dataUpdatedAt,error:a.errorUpdatedAt}),u||a.isPending)return null;const d=a.data&&t?em(a.data.entries,t):null;return d?r.jsx(fm,{entry:d,now:s}):o===null&&i!==null&&a.dataUpdatedAt===i.data&&a.errorUpdatedAt===i.error?null:r.jsx(r.Fragment,{children:n})}function pm(e){const{limit:t}=Et(e,{fetchUsage:!1}),{continuedHere:n}=ca(e,(t==null?void 0:t.since)??null),s=_t();return Jf(t,n,new Date(s))}function hm(e){return Et(e,{fetchUsage:!1}).limit!==null}function gm({text:e,indices:t,startOffset:n=0}){const s=new Set(t.map(o=>o-n));return r.jsx(r.Fragment,{children:e.split("").map((o,a)=>s.has(a)?r.jsx("span",{className:"text-foreground font-semibold",children:o},a):r.jsx("span",{children:o},a))})}function xm({filteredFiles:e,selectedIndex:t,onSelect:n}){return l.useEffect(()=>{const s=document.getElementById(`file-item-${t}`);s&&s.scrollIntoView({block:"nearest"})},[t]),r.jsx(K.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:s=>s.preventDefault(),children:r.jsx("div",{id:"file-palette-listbox",role:"listbox",className:"max-h-72 overflow-y-auto p-1.5",children:e.length===0?r.jsx("div",{className:"text-muted-foreground px-2 py-4 text-center text-sm",children:"No files found."}):e.map((s,o)=>{const a=o===t,i=s.isDirectory?Zi:Po;return r.jsxs("div",{id:`file-item-${o}`,role:"option","aria-selected":a,"data-selected":a,tabIndex:a?0:-1,onClick:()=>n(s),onKeyDown:c=>{c.key==="Enter"&&n(s)},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:[r.jsx(i,{className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("span",{className:"text-foreground truncate text-sm font-medium",children:r.jsx(gm,{text:s.filename,indices:s.indices,startOffset:s.directory.length})}),s.directory&&r.jsx("p",{className:"text-muted-foreground/70 truncate text-xs leading-normal",children:s.directory})]})]},s.path)})})})}function bm(e){const t=ke();return Ye({queryKey:["files",{cwd:e??null}],queryFn:()=>t.listFiles(e),enabled:!!e,staleTime:Ke.FILES_STALE_TIME_MS,gcTime:Ke.FILES_GC_TIME_MS})}const ym="You",km="human",vm="system",Cm="System",Sm="agent",jm="Agent",wm="chat-sender:",rr="room-author:",_m="Room member",Nm="runtime:";function Em(e){return e.messageType==="local_command_output"||e.messageType==="compaction"}function Dm(e,t){var a,i,c,u,d,m;if(Em(e)||e._chatStop)return{kind:"system",id:vm,displayName:Cm};const n=e.role==="user"?(i=(a=e.chatMessages)==null?void 0:a[0])==null?void 0:i.from:void 0;if(n){const h=n.agentId??n.chatId,f=((c=t.senderAgent)==null?void 0:c.call(t,n))??Dt({id:h});return{kind:"agent",id:`${wm}${h}`,displayName:n.agentName,emoji:f.emoji,color:f.color}}const s=e.role==="user"?e.roomMessage:void 0;if(s&&!((u=s.author)!=null&&u.you))return Tm(s,t);if(e.role==="user")return{kind:"human",id:km,displayName:((d=t.humanName)==null?void 0:d.trim())||ym};if(t.agent){const{id:h,displayName:f,emoji:x,color:g,imageUrl:S}=t.agent;return{kind:"agent",id:h,displayName:f,emoji:x,color:g,imageUrl:S}}const o=(m=t.runtime)==null?void 0:m.trim();return o?{kind:"agent",id:`${Nm}${o}`,displayName:cs(o),runtime:o}:{kind:"agent",id:Sm,displayName:jm}}function Tm(e,t){var o;const{author:n}=e;if(!n)return{kind:"human",id:`${rr}entry:${e.entryId}`,displayName:_m};const s=`${rr}${n.id}`;if(n.kind==="agent"){const a=n.agentId??n.id,i=((o=t.senderAgent)==null?void 0:o.call(t,{agentId:a,chatId:a}))??Dt({id:a,...n.emoji?{icon:n.emoji}:{},...n.color?{color:n.color}:{}});return{kind:"agent",id:s,displayName:n.displayName,...i}}return{kind:n.kind,id:s,displayName:n.displayName}}function ua(e){return`msg-${e}`}function Am(){return{last:null}}function Fm(e,t){const{resolveAuthor:n,now:s,cache:o}=t,a=t.lastSeenMessageId??null,i=t.unreadFromStart??!1,c=o==null?void 0:o.last,u=c&&c.resolveAuthor===n&&c.now===s&&c.lastSeenMessageId===a&&c.unreadFromStart===i?c:null;let d=0;if(u){const b=Math.min(e.length,u.messages.length);for(;d<b&&e[d]===u.messages[d];)d++}const m=u?u.authors.slice(0,d):[],h=u?u.items.slice(0,d):[];for(let b=m.length;b<e.length;b++){const k=e[b],v=n(k,b);m.push(v),h.push({id:k.id,authorId:v.id,timestamp:k.timestamp})}const f={now:s,lastSeenId:a,unreadFromStart:i},{rows:x,kept:g}=u?el(h,f,u.timeline,d):{rows:tl(h,f),kept:0},S=u?u.rows.slice(0,g):[];for(let b=g;b<x.length;b++){const k=x[b];S.push(k.kind!=="item"?k:{kind:"message",key:ua(e[k.index].id),messageIndex:k.index,message:e[k.index],grouping:k.grouping,author:m[k.index]})}return o&&(o.last={messages:e,authors:m,items:h,resolveAuthor:n,now:s,lastSeenMessageId:a,unreadFromStart:i,timeline:x,rows:S}),S}function Rm(e){const t=[],n=new Set;for(const s of e){const o=s.lastIndexOf("/"),a=o>=0?s.slice(0,o+1):"",i=o>=0?s.slice(o+1):s;t.push({path:s,filename:i,directory:a,isDirectory:!1});const c=s.split("/");for(let u=1;u<c.length;u++){const d=c.slice(0,u).join("/")+"/";n.has(d)||(n.add(d),t.push({path:d,filename:c[u-1]+"/",directory:u>1?c.slice(0,u-1).join("/")+"/":"",isDirectory:!0}))}}return t}function Mm(e,t){const n=[...e].reverse().find(s=>s.role==="user");if(n!=null&&n.content)return n.content;if((t==null?void 0:t.kind)==="first-message"&&t.kickoffMessage)return t.kickoffMessage}const da=Symbol("no-error-part");function Om(e){for(let t=e.length-1;t>=0;t--){const n=e[t].parts;for(let s=n.length-1;s>=0;s--){const o=n[s];if(o.type==="error")return o.category}}return da}function Im(e){const{messages:t,status:n,lastErrorCategory:s,queuedCount:o,draft:a}=e;if(a.trim().length>0||n==="streaming"||o>0)return null;let i=-1;for(let d=t.length-1;d>=0;d--)if(t[d].role==="user"){i=d;break}const c=i===-1?"":t[i].content.trim();if(!c)return null;const u=Om(t.slice(i+1));return u!==da?u==="auth_error"?c:null:n==="error"&&s==="auth_error"?c:null}const $m="dorkos:signin-resume",Pm=1e4;function Lm(){const e=l.useRef(new Map),t=l.useRef(null);return l.useEffect(()=>{const n=nl($m);t.current=n;const s=e.current,o=n.onMessage(a=>{s.set(a.sessionId,Date.now())});return()=>{o(),n.close(),t.current=null}},[]),l.useMemo(()=>({claimedElsewhere:n=>{const s=e.current.get(n);return s!==void 0&&Date.now()-s<Pm},claim:n=>{var s;return(s=t.current)==null?void 0:s.postMessage({sessionId:n})}}),[])}function fa(e){switch(e){case"pending":case"running":return r.jsx(Le,{size:"xs",className:It({status:e})});case"complete":return r.jsx(it,{className:H("size-(--size-icon-xs)",It({status:e}))});case"error":return r.jsx(qe,{className:H("size-(--size-icon-xs)",It({status:e}))});case"neutral":return r.jsx(sl,{className:H("size-(--size-icon-xs)",It({status:e}))})}}function or({type:e,toolName:t,toolInput:n,...s}){const o=e==="approval"?"Waiting for approval":"Answering questions",a=t?ut(t,n??""):null,i=a?`${o} · ${a}`:`${o}…`;return r.jsx("div",{className:"bg-muted/50 rounded-msg-tool text-muted-foreground shadow-msg-tool border px-3 py-1 text-sm transition-colors duration-150",...s,children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Le,{className:"shrink-0"}),r.jsx("span",{className:"truncate text-xs",children:i})]})})}function Rt({expanded:e,onToggle:t,header:n,children:s,variant:o="default",dimmed:a=!1,disabled:i=!1,hideChevron:c=!1,extraContent:u,ariaLabel:d,className:m,...h}){const f=c?void 0:e;return r.jsxs("div",{className:H("bg-muted/40 mt-px rounded-md border-l-2 text-sm transition-[opacity,background-color,border-color,box-shadow] duration-200 first:mt-1","hover:bg-muted/60 hover:border-l-muted-foreground/60 hover:shadow-soft",o==="default"&&"border-l-muted-foreground/30",o==="thinking"&&"border-l-muted-foreground/20",o==="memory"&&"border-l-muted-foreground/20",a&&!e&&"opacity-50 hover:opacity-100",m),...h,children:[r.jsxs("button",{onClick:()=>!i&&t(),disabled:i,className:H("focus-ring flex w-full items-center gap-2 rounded-md px-3 py-1",i&&"cursor-default"),"aria-expanded":f,"aria-label":d,children:[n,!c&&!i&&r.jsx(K.div,{animate:{rotate:e?180:0},transition:{type:"spring",stiffness:400,damping:30},className:"ml-auto",children:r.jsx(Tt,{className:"text-muted-foreground size-(--size-icon-xs)"})})]}),u,r.jsx(fe,{initial:!1,children:e&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("div",{className:"border-border/50 border-t px-3 pt-1 pb-3",children:s})})})]})}const zm=[0,.2,.4];function ma({className:e}){return r.jsx("div",{className:H("flex gap-1",e),"data-testid":"typing-dots","aria-hidden":"true",children:zm.map(t=>r.jsx("span",{className:"bg-muted-foreground h-2 w-2 rounded-full",style:{animation:"typing-dot 1.4s ease-in-out infinite",animationDelay:`${t}s`}},t))})}function Bm({record:e}){const t=Me(),{color:n,emoji:s}=Dt({id:e.agentId,icon:e.icon,color:e.color}),o=e.displayName.trim()||"Your agent";return r.jsxs("div",{className:"flex flex-col items-center gap-5 text-center","data-testid":"first-light",children:[r.jsx(K.div,{animate:t?void 0:{scale:[1,1.05,1],opacity:[.9,1,.9]},transition:t?void 0:{duration:3,repeat:1/0,ease:"easeInOut"},children:r.jsx(lo,{color:n,emoji:s,size:"lg"})}),r.jsxs("div",{className:"flex flex-col items-center gap-3",children:[r.jsxs("p",{className:"text-muted-foreground text-base","aria-live":"polite",children:[o," is waking up…"]}),r.jsx(ma,{})]})]})}function qm({birthRecord:e,firstLightRecord:t}){return(e==null?void 0:e.greetingFailed)===!0?r.jsxs("div",{className:"text-center","data-testid":"greeting-failed-empty",children:[r.jsxs("p",{className:"text-muted-foreground text-base",children:[e.displayName," couldn’t say hello just now"]}),r.jsx("p",{className:"text-muted-foreground/60 mt-2 text-sm",children:"Send a message to get started."})]}):t?r.jsx(Bm,{record:t}):r.jsxs("div",{className:"text-center",children:[r.jsx("p",{className:"text-muted-foreground text-base",children:"Start a chat"}),r.jsx("p",{className:"text-muted-foreground/60 mt-2 text-sm",children:"Type a message below to begin."})]})}function Um(e){const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Hm({sessionId:e}){const t=Zt(e),n=Me();if(!t||t.kind==="first-message")return null;const s=Um(t.bornAt),o=At(t.runtime).label;return r.jsxs(K.div,{initial:n?!1:{opacity:0,y:-4},animate:{opacity:1,y:0},transition:{duration:.3},"data-testid":"birth-certificate",className:"text-muted-foreground flex items-center justify-center gap-1.5 px-4 pt-3 pb-1 text-xs",children:[r.jsx(rl,{className:"text-primary size-3.5 shrink-0 fill-current","aria-hidden":"true"}),r.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[r.jsx("span",{className:"text-foreground font-medium",children:t.displayName}),s&&r.jsxs(r.Fragment,{children:[r.jsx(jn,{}),r.jsxs("span",{children:["born ",s]})]}),r.jsx(jn,{}),r.jsxs("span",{className:"min-w-0 truncate",children:["lives in ",r.jsx("code",{className:"text-2xs",children:t.path})]}),r.jsx(jn,{}),r.jsxs("span",{className:"shrink-0",children:["runs on ",o]})]})]})}function jn(){return r.jsx("span",{"aria-hidden":"true",className:"text-muted-foreground/50 shrink-0",children:"·"})}const Wm="another chat";function Gm(e,t){const n=t==null?void 0:t.find(s=>s.id===e);return n?ol(n)?Is("autonomy"):n.label:co(e)?Is("autonomy"):al(e)}function Vm({startedBy:e,modes:t}){var a;const n=dt();if(!e)return null;const s=((a=e.reason)==null?void 0:a.trim())||null,o=e.kind==="chat"?e.permission:null;return r.jsxs(r.Fragment,{children:[r.jsx(Km,{startedBy:e,reason:s,navigate:n}),o&&r.jsxs("p",{"data-testid":"started-level-line",className:"text-muted-foreground mx-auto max-w-prose px-4 pb-1 text-center text-xs",children:["Started at ",Gm(o.mode,t),","," ",o.sameAsStarter?"same as":"lower than"," the chat that started it."]})]})}function Km({startedBy:e,reason:t,navigate:n}){return r.jsxs("p",{"data-testid":"started-by-line",className:"text-muted-foreground mx-auto max-w-prose px-4 pt-3 pb-1 text-center text-xs",children:[e.kind==="extension"?r.jsxs(r.Fragment,{children:["Started by the"," ",r.jsx("span",{className:"text-foreground font-medium",children:e.extensionName})," extension"]}):r.jsxs(r.Fragment,{children:["Started from"," ",r.jsx("button",{type:"button",onClick:()=>void n(Ft({session:e.sessionId})),className:"text-foreground focus-visible:ring-ring rounded-sm font-medium underline-offset-2 hover:underline focus-visible:ring-2 focus-visible:outline-none",children:e.title??Wm})]}),t&&r.jsxs(r.Fragment,{children:[": ",t]})]})}function Qm({content:e}){const[t,n]=l.useState(!1);return r.jsxs("div",{"data-testid":"started-prompt",className:"px-4 py-1",children:[r.jsxs("button",{type:"button","aria-expanded":t,onClick:()=>n(s=>!s),className:"text-muted-foreground hover:text-foreground focus-visible:ring-ring mx-auto flex items-center gap-1 rounded-sm text-xs focus-visible:ring-2 focus-visible:outline-none",children:["What it was asked",r.jsx(us,{"aria-hidden":"true",className:H("size-3 transition-transform duration-200",t&&"rotate-90")})]}),t&&r.jsx("div",{className:"bg-muted/40 text-foreground mx-auto mt-2 max-w-prose rounded-md px-3 py-2 text-sm break-words whitespace-pre-wrap",children:e})]})}const Ym={a:ll,img:Ou},pa=l.createContext({isStreaming:!1});function Xm(e){const t=l.useContext(pa);return r.jsx(zu,{...e,...t})}const Jm={renderers:[{language:Lu,component:Xm}]};function gs({content:e,isStreaming:t=!1,textEffect:n=Fd,sessionId:s,isLatestWidgetMessage:o}){const a=Md(n),i=l.useMemo(()=>({sessionId:s,isLatestMessage:o,isStreaming:t}),[s,o,t]);return r.jsx(pa.Provider,{value:i,children:r.jsx("div",{className:H("relative",t&&"streaming-cursor"),children:r.jsx(Mu,{resetKey:e,fallback:r.jsx("div",{className:"text-sm break-words whitespace-pre-wrap",children:e}),children:r.jsx(il,{shikiTheme:["github-light","github-dark"],components:Ym,animated:a,isAnimating:t,plugins:Jm,children:e})})})})}function Wn(e){if(e)try{const t=JSON.parse(e);return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:void 0}catch{return}}function he(e,t){const n=e==null?void 0:e[t];return typeof n=="string"&&n.length>0?n:void 0}function Zm(e){const t=Wn(e);if(t){if(Array.isArray(t.content))for(const n of t.content){const s=typeof(n==null?void 0:n.text)=="string"?Wn(n.text):void 0;if(s)return s}return t}}function ha(e){const t=cl(e.toolName);if(t!=="chat_send"&&t!=="session_start"&&t!=="chat_stop")return null;const n=Wn(e.input),s=Zm(e.result),o=ep(e,s),a=o===void 0&&(s==null?void 0:s.status)==="approval_required",i=he(n,"delivery");return{tool:t,...he(n,t==="chat_stop"?"chat":"to")!==void 0?{to:he(n,t==="chat_stop"?"chat":"to")}:{},...he(n,t==="session_start"?"prompt":"message")!==void 0?{message:he(n,t==="session_start"?"prompt":"message")}:{},...he(n,"summary")!==void 0?{summary:he(n,"summary")}:{},...i==="queue"||i==="steer"||i==="interrupt"?{delivery:i}:{},...he(n,"reason")!==void 0?{reason:he(n,"reason")}:{},...he(s,"messageId")!==void 0?{messageId:he(s,"messageId")}:{},...(he(s,"chatId")??he(s,"sessionId"))!==void 0?{chatId:he(s,"chatId")??he(s,"sessionId")}:{},...o!==void 0?{error:o}:{},...a?{waiting:a}:{},...t==="chat_stop"&&o===void 0&&(s==null?void 0:s.stopped)===!1?{notRunning:!0}:{},...he(s,"note")!==void 0?{note:he(s,"note")}:{}}}const Lt="It could not be sent.";function ep(e,t){var n;if((t==null?void 0:t.status)==="denied")return he(t,"message")??Lt;if((t==null?void 0:t.ok)===!1||typeof(t==null?void 0:t.error)=="string")return he(t,"error")??he(t,"message")??Lt;if(e.status==="error")return t?he(t,"error")??he(t,"message")??Lt:((n=e.result)==null?void 0:n.trim())||Lt}function tp(e,t=60){const n=e.trim().split(new RegExp("(?<=[.!?])\\s"))[0]??"";if(n.length<=t)return n;const s=n.slice(0,t),o=s.lastIndexOf(" ");return`${(o>t/2?s.slice(0,o):s).replace(/[\s,;:.]+$/,"")}…`}function np(e,t){if(e){for(let n=t.length-1;n>=0;n--)if(t[n].to.chatId===e)return t[n].to}}function sp(e,t){if(e.messageId)return t.find(n=>n.id===e.messageId);if(e.tool==="session_start"&&e.chatId)return t.find(n=>n.kind==="start"&&n.to.chatId===e.chatId)}function rp(e,t){if(e&&e.trim())return e.trim();const s=((t??"").split(`
|
|
35
|
-
`).find(o=>o.trim()!=="")??"").replace(/^#+\s*/,"").trim();return s.length>72?`${s.slice(0,71)}…`:s}function op(e,t){if(t.error)return{label:"Failed",tone:"error"};if(t.waiting)return{label:"Waiting for approval",tone:"muted"};if(!e)return{label:t.pending?"Sending":"Sent",tone:"muted"};switch(e.status){case"queued":return{label:e.position?`Queued · #${e.position}`:"Queued",tone:"muted"};case"steered":return{label:"Steered in",tone:"done"};case"working":return{label:e.delivery==="interrupt"?"Interrupted, working":"Working",tone:"active"};case"delivered":return{label:e.delivery==="interrupt"?"Interrupted, then delivered":"Delivered",tone:"done"};case"replied":return{label:"Replied",tone:"done"};case"failed":return{label:"Failed",tone:"error"};default:return{label:"Sent",tone:"muted"}}}function ap(e){const t=[];return e.kind==="report"&&t.push("Report"),e.kind==="start"&&t.push("Started this chat"),e.delivery==="steer"&&t.push("Steered in"),e.delivery==="interrupt"&&t.push("Interrupted"),t}function ga(e,t){var n,s;for(const o of e){if((n=o.chatMessages)!=null&&n.some(i=>i.id===t))return o.id;const a=[...o.toolCalls??[],...(o.parts??[]).filter(i=>i.type==="tool_call")];for(const i of a)if(((s=ha(i))==null?void 0:s.messageId)===t)return o.id}}const ar=new WeakMap;function ip(e,t){if(t.length===0)return e;const n=[];let s=0;const o=a=>{let i=ar.get(a);return i||(i={id:`chat-stop-${a.id}`,role:"user",content:"",parts:[],timestamp:a.at,_chatStop:a},ar.set(a,i)),i};for(const a of e){const i=a.timestamp==="",c=i?Number.NaN:Date.parse(a.timestamp),u=d=>i||!Number.isNaN(c)&&Date.parse(d.at)<c;for(;s<t.length&&u(t[s]);)n.push(o(t[s])),s+=1;n.push(a)}for(;s<t.length;)n.push(o(t[s])),s+=1;return n}function lp({stamp:e}){const t=ap(e);return t.length===0?null:r.jsx(r.Fragment,{children:t.map(n=>r.jsx("span",{"data-testid":"chat-message-tag",className:"bg-muted text-muted-foreground rounded px-1.5 py-px text-[11px] leading-4 font-medium",children:n},n))})}function xa({stamp:e}){const t=dt(),n=e.from.chatTitle??"another chat";return r.jsxs("span",{"data-testid":"chat-from-mark",className:"inline-flex min-w-0 flex-wrap items-center gap-1.5 text-xs",children:[r.jsxs("span",{className:"text-muted-foreground inline-flex min-w-0 items-center gap-1",children:[r.jsx("span",{"aria-hidden":!0,children:"·"}),r.jsx("span",{children:"from"}),r.jsx("button",{type:"button",onClick:()=>void t(Ft({session:e.from.chatId,message:e.id})),className:"focus-ring text-foreground/80 hover:text-foreground max-w-48 truncate underline-offset-4 hover:underline",children:n})]}),r.jsx(lp,{stamp:e})]})}function cp({sessionId:e,messageId:t}){const n=dt();return r.jsxs("button",{type:"button","data-testid":"chat-reply-to",onClick:()=>void n(Ft({session:e,message:t})),className:"focus-ring text-muted-foreground hover:text-foreground focus-visible:text-foreground mb-1 inline-flex items-center gap-1 text-xs underline-offset-4 hover:underline",children:[r.jsx(bd,{"aria-hidden":!0,className:"size-3"}),"Reply to your message"]})}function up({stamps:e,sessionId:t}){return r.jsx("div",{className:"space-y-2","data-testid":"received-chat-messages",children:e.map((n,s)=>r.jsxs("div",{"data-testid":"received-chat-message","data-kind":n.kind,className:"border-status-info-border bg-status-info-bg rounded-r-md border-l-2 py-1.5 pr-2 pl-3",children:[n.replyToId&&t&&r.jsx(cp,{sessionId:t,messageId:n.replyToId}),s>0&&r.jsxs("div",{className:"text-muted-foreground mb-1 flex flex-wrap items-center gap-1.5 text-xs",children:[r.jsx("span",{className:"text-foreground/80 font-medium",children:n.from.agentName}),r.jsx(xa,{stamp:n})]}),r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:n.text,isStreaming:!1,...t?{sessionId:t}:{}})})]},n.id))})}function dp({stamp:e}){const t=dt(),n=e.roomLabel??"a room";return r.jsxs("span",{"data-testid":"room-post-mark",className:"text-muted-foreground inline-flex min-w-0 items-center gap-1 text-xs",children:[r.jsx("span",{"aria-hidden":!0,children:"·"}),r.jsx("span",{children:"in"}),r.jsx("button",{type:"button","aria-label":`Open ${n}`,onClick:()=>void t({...ul.channels(),search:{id:e.roomId}}),className:"focus-ring text-foreground/80 hover:text-foreground max-w-48 truncate underline-offset-4 hover:underline",children:n})]})}const fp={muted:"text-muted-foreground",active:"text-foreground",done:"text-muted-foreground",error:"text-destructive"};function mp(e){return e.charAt(0).toUpperCase()+e.slice(1)}function pp(e,t,n){if(e.error)return e.error;if(e.waiting)return"Waiting for a person to approve it.";if(e.tool==="chat_stop")return e.note??(e.notRunning?"Nothing was running there.":"Asked it to stop.");if(!t)return e.note??"Sent.";const s=mp(n);switch(t.status){case"queued":return t.position?`Waiting for ${n} to finish its turn. Number ${t.position} in line.`:`Waiting for ${n} to finish its turn.`;case"steered":return`Joined ${n}’s running turn.`;case"working":return t.delivery==="interrupt"?`Stopped ${n}’s turn. ${s} is on this now.`:`${s} is working on it.`;case"delivered":return`${s} read it and finished its turn.`;case"replied":return`${s} replied.`;case"failed":return t.failureReason??"It was not delivered.";default:return"Sent."}}function hp(e,t){return e.error?{label:"Failed",tone:"error"}:e.waiting?{label:"Waiting for approval",tone:"muted"}:t?{label:"Stopping",tone:"muted"}:e.notRunning?{label:"Not running",tone:"muted"}:{label:"Stopped",tone:"done"}}function gp({part:e,sent:t,at:n,sessionId:s}){const[o,a]=l.useState(!1),i=l.useId(),c=dt(),u=ha(e);if(!u)return null;const d=e.status==="pending"||e.status==="running",m=sp(u,t),h=(m==null?void 0:m.to.chatId)??u.chatId??(u.tool==="chat_stop"?u.to:void 0),f=(m==null?void 0:m.to)??np(h,t),x=(f==null?void 0:f.agentName)??"the agent",g=f==null?void 0:f.chatTitle,S=Dt({id:(f==null?void 0:f.agentId)??u.to??h??"chat"}),b=u.tool==="chat_stop"?hp(u,d):op(m,{...u,pending:d}),k=rp((m==null?void 0:m.summary)??u.summary,(m==null?void 0:m.text)??u.message),v=n?zn(n):m?zn(m.sentAt):"",y=u.error??((m==null?void 0:m.status)==="failed"?m.failureReason:void 0),p=y?tp(y):u.tool==="chat_stop"?u.reason:k!==g?k:"",j=u.tool==="session_start"?vd:u.tool==="chat_stop"?uo:dl,w=u.tool==="session_start"?"Started spin-off chat":u.tool==="chat_stop"?u.error||u.notRunning?"Tried to stop":"Stopped":"To",D=u.tool==="session_start"?g??(k||"a new chat"):u.tool==="chat_stop"?g??"a chat":(f==null?void 0:f.agentName)??g??"a chat",A=()=>{h&&c(Ft({session:h,...m?{message:m.id}:{}}))};return r.jsxs("div",{"data-testid":"sent-chat-card","data-tool":u.tool,"data-state":b.label,className:"border-border/70 bg-background my-1.5 rounded-lg border text-sm",children:[r.jsxs("button",{type:"button",onClick:()=>a(N=>!N),"aria-expanded":o,...o?{"aria-controls":i}:{},className:"focus-ring hover:bg-muted/40 flex w-full min-w-0 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors duration-150",children:[r.jsx(lo,{size:"xs",emoji:S.emoji,color:S.color}),r.jsx(j,{"aria-hidden":!0,className:"text-muted-foreground hidden size-3.5 shrink-0 sm:block"}),r.jsxs("span",{className:"min-w-0 flex-1 truncate",children:[r.jsxs("span",{className:"text-muted-foreground",children:[w," "]}),r.jsx("span",{className:"font-medium",children:D}),u.tool==="chat_send"&&g&&(f==null?void 0:f.agentName)&&r.jsxs("span",{className:"text-muted-foreground",children:[" · ",g]}),p&&(u.tool!=="session_start"||y)&&r.jsxs("span",{"data-testid":"sent-chat-aside",className:H("text-muted-foreground",!y&&"hidden sm:inline"),children:[" ","· ",p]})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[r.jsx("span",{className:H("text-xs",fp[b.tone]),"data-testid":"sent-chat-state",children:b.label}),v&&r.jsx("time",{className:"text-muted-foreground hidden text-xs tabular-nums sm:inline",children:v}),r.jsx(Tt,{"aria-hidden":!0,className:H("text-muted-foreground size-3.5 transition-transform duration-200",o&&"rotate-180")})]})]}),o&&r.jsxs("div",{id:i,className:"border-border/60 space-y-2 border-t px-3 py-2",children:[((m==null?void 0:m.text)??u.message??u.reason)&&r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:(m==null?void 0:m.text)??u.message??u.reason??"",isStreaming:!1,...s?{sessionId:s}:{}})}),r.jsxs("p",{className:"text-muted-foreground text-xs",children:[pp(u,m,x),u.note&&u.tool!=="chat_stop"&&m?` ${u.note}`:""]}),h&&!u.error&&!u.waiting&&r.jsx("button",{type:"button",onClick:A,className:"focus-ring text-foreground text-xs font-medium underline-offset-4 hover:underline",children:"Open chat →"})]})]})}function xp({notice:e}){const t=dt();return r.jsxs("div",{"data-testid":"chat-stop-line",className:"text-muted-foreground flex flex-wrap items-center gap-1.5 text-xs",children:[r.jsx(uo,{"aria-hidden":!0,className:"size-3.5 shrink-0"}),r.jsxs("span",{children:["Stopped by ",r.jsx("span",{className:"text-foreground/80 font-medium",children:e.by.agentName})," · ",r.jsx("button",{type:"button",onClick:()=>void t(Ft({session:e.by.chatId})),className:"focus-ring hover:text-foreground underline-offset-4 hover:underline",children:e.by.chatTitle??"another chat"}),e.reason?`: ${e.reason}`:""]})]})}const bp={sent:[],stops:[]},yp=new hl;function ba(e){const t=fl(),n=l.useContext(ml),s=pl(e??""),{data:o}=Ye({queryKey:["chat-activity",e,s],queryFn:()=>t.getChatActivity(e),enabled:!!e&&t!==null&&n!==void 0,placeholderData:(a,i)=>(i==null?void 0:i.queryKey[1])===e?a:void 0,staleTime:3e4},n??yp);return o??bp}function xs(e){const t=[],n=[];for(const s of e)s.type==="text"?t.push(s.text):s.type==="tool_call"&&n.push({toolCallId:s.toolCallId,toolName:s.toolName,input:s.input||"",result:s.result,progressOutput:s.progressOutput,status:s.status,interactiveType:s.interactiveType,questions:s.questions,answers:s.answers,timeoutMs:s.timeoutMs,hooks:s.hooks,startedAt:s.startedAt,completedAt:s.completedAt,approvalStartedAt:s.approvalStartedAt,approvalRemainingMs:s.approvalRemainingMs,approvalParked:s.approvalParked,approvalTitle:s.approvalTitle,approvalDisplayName:s.approvalDisplayName,approvalDescription:s.approvalDescription,approvalBlockedPath:s.approvalBlockedPath,approvalDecisionReason:s.approvalDecisionReason,approvalHasSuggestions:s.approvalHasSuggestions,approvalAlwaysAllowScope:s.approvalAlwaysAllowScope});return{content:t.join(`
|
|
36
|
-
`),toolCalls:n}}const ir=new WeakMap;function kp(e){let t=ir.get(e);return t||(t=e.map(ot),ir.set(e,t)),t}function ot(e){const t=e.parts?[...e.parts]:[];if(t.length===0&&(e.content&&t.push({type:"text",text:e.content}),e.toolCalls))for(const s of e.toolCalls)t.push({type:"tool_call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.input,result:s.result,status:s.status,...s.questions||s.questionOutcome?{interactiveType:"question",questions:s.questions,answers:s.answers,questionOutcome:s.questionOutcome}:{},...s.approvalOutcome?{interactiveType:"approval",approvalOutcome:s.approvalOutcome,approvalResolvedAt:s.approvalResolvedAt,approvalStartedAt:s.approvalStartedAt,approvalReasonGiven:s.approvalReasonGiven}:{}});const n=xs(t);return{id:e.id,role:e.role,content:n.content,toolCalls:n.toolCalls.length>0?n.toolCalls:void 0,parts:t,timestamp:e.timestamp||"",messageType:e.messageType,compactMetadata:e.compactMetadata,commandName:e.commandName,commandArgs:e.commandArgs,...e.chatMessages&&e.chatMessages.length>0?{chatMessages:e.chatMessages}:{},...e.roomMessage?{roomMessage:e.roomMessage}:{}}}function vp(e,t,n){const s=new Set(e.map(d=>d.id)),o=e.filter(d=>d._streaming),a=o.find(d=>d.role==="user"),i=o.find(d=>d.role==="assistant"),c=[];let u=-1;for(let d=0;d<t.length;d++){const m=t[d];if(!s.has(m.id)){if(a&&m.role==="user"&&m.content===a.content){u=d,n(h=>h.map(f=>f.id===a.id?{...ot(m),_streaming:!1}:f));continue}if(i&&u>=0&&d===u+1&&m.role==="assistant"){const h=ot(m),f=new Set(h.parts.filter(S=>S.type==="background_task").map(S=>S.taskId)),x=i.parts.filter(S=>S.type==="background_task"&&!f.has(S.taskId)),g=x.length>0?[...h.parts,...x]:h.parts;n(S=>S.map(b=>b.id===i.id?{...h,parts:g,_streaming:!1}:b));continue}c.push(m)}}c.length>0&&n(d=>[...d,...c.map(ot)])}const Cp=20;function Sp(e,t){var k;const n=ke(),s=gl(e),o=Pe(v=>v.seeks[e]),[a,i]=l.useState(null),c=l.useRef(null),u=a===e,d=l.useRef({key:"",count:0}),m=s.windowStartId!==null&&((k=t[0])==null?void 0:k.id)===s.windowStartId,h=l.useMemo(()=>m?s.earlier.map(ot):[],[m,s.earlier]),f=l.useMemo(()=>h.length>0?[...h,...t]:t,[h,t]),x=m&&s.remaining>0,g=m?s.remaining:0,S=l.useCallback(()=>{var p;if(c.current===e||!x)return;const{generation:v}=s,y=((p=s.earlier[0])==null?void 0:p.id)??s.windowStartId;y&&(c.current=e,i(e),n.getMessages(e,void 0,{before:y}).then(j=>{Pe.getState().prependPage(e,v,j.messages,j.earlierMessages??0)}).catch(j=>{console.warn("[chat] could not read earlier messages",j),Pe.getState().endSeek(e)}).finally(()=>{c.current===e&&(c.current=null,i(null))}))},[x,e,n,s]),b=o!==void 0&&(f.some(v=>v.id===o)||ga([...s.earlier,...Ee.getState().getSession(e).messages],o)!==void 0);return l.useEffect(()=>{if(o===void 0){d.current={key:"",count:0};return}const v=`${e}:${o}`;if(d.current.key!==v&&(d.current={key:v,count:0}),!(s.generation===0||u)){if(b||!x||d.current.count>=Cp){Pe.getState().endSeek(e);return}d.current.count+=1,S()}},[o,b,x,u,S,e,s.generation]),{messages:f,earlierCount:h.length,messagesBefore:g,canLoadEarlier:x,isLoadingEarlier:u,isSeeking:o!==void 0,loadEarlier:S}}function jp({celebration:e,onComplete:t}){const n=l.useRef(null),s=(e==null?void 0:e.level)==="major",o=l.useCallback(()=>{t()},[t]);return l.useEffect(()=>{if(!s)return;let a=!1;xl({kind:"burst"}).then(c=>{if(a){c();return}n.current=c});const i=setTimeout(()=>{o()},en.CELEBRATION_DISPLAY_MS);return()=>{var c;a=!0,(c=n.current)==null||c.call(n),n.current=null,clearTimeout(i)}},[s,o]),r.jsx(fe,{children:s&&r.jsx(K.div,{"aria-hidden":"true",className:"pointer-events-none fixed inset-0 z-50",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1.1},transition:{duration:.6,ease:"easeOut"},style:Ad})})}const bs=l.createContext(null);function wp({children:e,value:t}){const n=l.useMemo(()=>t,[t.sessionId,t.isStreaming,t.isLatestWidgetMessage,t.isFinalMessage,t.activeToolCallId,t.onToolRef,t.focusedOptionIndex,t.onToolDecided,t.onRetry,t.onSigninComplete,t.onChooseModel,t.inputZoneToolCallId,t.textEffect,t.runtimeLabel,t.allowsDenyReason]);return r.jsx(bs,{value:n,children:e})}function _p(){const e=l.useContext(bs);if(!e)throw new Error("useMessageContext must be used within MessageProvider");return e}function Np(){return l.useContext(bs)}function Ep(e){if(e<1e3)return"<1s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;return`${n}m ${s}s`}function Dp({text:e,isStreaming:t,elapsedMs:n}){const[s,o]=l.useState(t),a=l.useRef(t),i=l.useRef(null);l.useEffect(()=>{a.current&&!t&&o(!1),a.current=t},[t]),l.useEffect(()=>{t&&s&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[e,t,s]);const c=n?`Thought for ${Ep(n)}`:"Thinking…";return r.jsx(Rt,{expanded:s,onToggle:()=>o(!s),variant:"thinking",dimmed:!t,disabled:t,ariaLabel:c,"data-testid":"thinking-block","data-streaming":t?"true":void 0,header:r.jsxs(r.Fragment,{children:[r.jsx(xd,{className:H("text-muted-foreground size-(--size-icon-xs)",t&&"animate-breath")}),r.jsx("span",{className:H("text-3xs text-muted-foreground font-mono",t&&"animate-breath"),children:c})]}),children:r.jsx("div",{ref:i,className:"max-h-32 overflow-y-auto",children:r.jsx("pre",{className:"text-muted-foreground text-xs break-words whitespace-pre-wrap",children:e})})})}function Tp({mode:e,memories:t,isStreaming:n}){const[s,o]=l.useState(n),a=l.useRef(n);if(l.useEffect(()=>{a.current&&!n&&o(!1),a.current=n},[n]),t.length===0)return null;const i=t.length,c=n?i<=1?"Consulting memory…":`Consulting ${i} memories…`:i===1?"Recalled 1 memory":`Recalled ${i} memories`,u=e==="synthesize"?bl:yl,d=e==="synthesize"?"sparkles":"bookopen";return r.jsx(Rt,{expanded:s,onToggle:()=>o(!s),variant:"memory",dimmed:!n,disabled:n,ariaLabel:c,"data-testid":"memory-recall-block","data-streaming":n?"true":void 0,header:r.jsxs(r.Fragment,{children:[r.jsx(u,{"aria-hidden":"true","data-testid":"memory-recall-header-icon","data-icon":d,className:H("text-muted-foreground size-(--size-icon-xs)",n&&"animate-breath")}),r.jsx("span",{className:H("text-3xs text-muted-foreground font-mono",n&&"animate-breath"),children:c})]}),children:r.jsx(Ap,{memories:t})})}function Ap({memories:e}){return r.jsx("ul",{className:"flex flex-col gap-1 px-3 py-2",children:e.map(t=>r.jsx(Fp,{memory:t},t.path))})}function Fp({memory:e}){const t=e.path.startsWith("<synthesis:"),n=e.scope==="team"?kl:vl,s=e.scope==="team"?"team":"personal",{copy:o}=Cl({toastOnSettle:!0}),a=()=>{const i=t&&e.content?e.content:e.path;o(i)};if(t&&e.content){const i=e.path.replace(/^<synthesis:/,"synthesis:").replace(/>$/,"");return r.jsx("li",{children:r.jsxs("button",{type:"button",onClick:a,"aria-label":`Copy synthesized ${s} memory content`,"data-scope":e.scope,className:"focus-ring hover:bg-muted/50 flex min-h-[44px] w-full flex-col items-start gap-1 rounded-md px-2 py-1 text-left transition-colors duration-150",children:[r.jsx("span",{className:"text-sm",children:e.content}),r.jsxs("span",{className:"text-3xs text-muted-foreground flex items-center gap-1 font-mono",children:[r.jsx(n,{"aria-hidden":"true",className:"size-(--size-icon-xs)"}),i]})]})})}return r.jsx("li",{children:r.jsxs("button",{type:"button",onClick:a,"aria-label":`Copy ${s} memory path ${e.path}`,"data-scope":e.scope,className:"focus-ring hover:bg-muted/50 flex min-h-[44px] w-full items-center gap-2 rounded-md px-2 py-1 text-left transition-colors duration-150",children:[r.jsx("span",{className:"flex-1 truncate font-mono text-sm",children:Od(e.path,40)}),r.jsx(n,{"aria-hidden":"true",className:"text-muted-foreground size-(--size-icon-xs)"})]})})}function Kt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ya(e){return e===void 0?"Summarized (asked by the agent)":`Summarized at ${e}% (asked by the agent)`}function Rp(e){if((e==null?void 0:e.requestedBy)==="agent")return ya(e.contextPercent);const t=["Context compacted"];return(e==null?void 0:e.preTokens)!==void 0&&t.push(`${Kt(e.preTokens)} tokens`),e!=null&&e.trigger&&t.push(e.trigger),t.join(" · ")}function Mp(e,t){return e===void 0?"Compacted context":t===void 0?`Compacted context · ${Kt(e)} tokens summarized`:`Compacted context · ${Kt(e)} → ${Kt(t)} tokens`}function Op({trigger:e,preTokens:t,postTokens:n,failed:s,error:o,requestedBy:a,contextPercent:i}){return s?r.jsx(Ve,{"data-testid":"compact-boundary-row","data-failed":"true",icon:r.jsx(ds,{"aria-hidden":"true",className:"text-status-warning-dot size-3 shrink-0"}),label:r.jsx("span",{className:"text-status-warning-fg",children:a==="agent"?"Couldn’t compact (asked by the agent)":"Couldn’t compact"}),children:o?r.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:o}):null}):a==="agent"?r.jsx(Ve,{"data-testid":"compact-boundary-row","data-requested-by":"agent",icon:r.jsx($s,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:ya(i)})}):r.jsx(Ve,{"data-testid":"compact-boundary-row",icon:r.jsx($s,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:Mp(t,n)}),trailing:e?r.jsx("span",{"data-testid":"compact-boundary-trigger",className:"text-3xs text-muted-foreground/70 ml-auto font-mono uppercase",children:e}):void 0})}function Ip({part:e}){const[t,n]=l.useState(!1);return t?r.jsxs("div",{"data-testid":"message-image-missing",className:H("my-3 flex items-center gap-2 rounded-md border px-3 py-2","text-muted-foreground border-border/60 bg-muted/30 text-sm"),children:[r.jsx(Qu,{"aria-hidden":"true",className:"size-4 shrink-0"}),r.jsx("span",{children:e.alt?`${e.alt}, not available`:"This image is not available."})]}):r.jsx("figure",{className:"my-3","data-testid":"message-image",children:r.jsx(fo,{image:{src:e.url,alt:e.alt??"Image produced by the agent"},className:"block",children:r.jsx("img",{src:e.url,alt:e.alt??"Image produced by the agent",loading:"lazy",decoding:"async",onError:()=>n(!0),className:"border-border/60 bg-muted/20 max-h-[32rem] max-w-full rounded-md border object-contain"})})})}function $p({content:e}){return r.jsx(Ve,{"data-testid":"staged-context-note",icon:r.jsx(mo,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:"Added context for the next reply"}),children:r.jsx("p",{className:"text-muted-foreground/80 mt-1 text-xs whitespace-pre-wrap",children:e})})}function Pp(e){if(e<1e3)return"<1s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;return`${n}m ${s}s`}function Lp(e){return e==="untracked"?"neutral":e==="stopped"?"complete":e}function zp(e){const t=[];return e.toolUses&&t.push(`${e.toolUses} tool ${e.toolUses===1?"call":"calls"}`),e.durationMs&&t.push(Pp(e.durationMs)),t.length>0?t.join(" · "):null}function Bp({part:e}){const[t,n]=l.useState(!1),s=l.useRef(null),o=zp(e),a=e.subagentText,i=e.status==="untracked",c=!!(o||e.summary||e.lastToolName||a||i);return l.useEffect(()=>{const u=s.current;u&&(u.scrollTop=u.scrollHeight)},[a]),r.jsx(Rt,{expanded:t,onToggle:()=>c&&n(!t),hideChevron:!c,ariaLabel:`Background task: ${e.description}`,"data-testid":"subagent-block","data-task-id":e.taskId,"data-status":e.status,header:r.jsxs(r.Fragment,{children:[fa(Lp(e.status)),r.jsx("span",{className:"text-3xs truncate font-mono",children:e.description}),o&&r.jsx("span",{className:"text-3xs text-muted-foreground ml-1 shrink-0",children:o})]}),children:r.jsxs("div",{className:"space-y-1.5",children:[a&&r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-3xs text-muted-foreground/70 tracking-wide uppercase",children:"Helper output"}),r.jsx("pre",{ref:s,className:"text-foreground/90 bg-muted/50 max-h-64 overflow-y-auto rounded-md p-2 text-xs break-words whitespace-pre-wrap","data-testid":"subagent-text",children:a})]}),e.lastToolName&&e.status==="running"&&r.jsxs("p",{className:"text-3xs text-muted-foreground",children:["Last tool: ",r.jsx("span",{className:"font-mono",children:e.lastToolName})]}),e.summary&&r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:e.summary}),i&&r.jsx("p",{className:"text-3xs text-muted-foreground","data-testid":"subagent-untracked",children:"No longer tracked. It may still be running."})]})})}const qp=e=>typeof e=="boolean"||e instanceof Boolean,Up=e=>typeof e=="number"||e instanceof Number,Hp=e=>typeof e=="bigint"||e instanceof BigInt,ka=e=>!!e&&e instanceof Date,Wp=e=>typeof e=="string"||e instanceof String,Gp=e=>Array.isArray(e),va=e=>typeof e=="object"&&e!==null,Ca=e=>!!e&&e instanceof Object&&typeof e=="function";function Xt(e,t){return t===void 0&&(t=!1),!e||t?`"${e}"`:e}function Vp(e,t,n){return n?JSON.stringify(e):t?`"${e}"`:e}function Sa(e){let{field:t,value:n,data:s,lastElement:o,openBracket:a,closeBracket:i,level:c,style:u,shouldExpandNode:d,clickToExpandNode:m,outerRef:h,beforeExpandChange:f}=e;const x=l.useRef(!1),[g,S]=l.useState(()=>d(c,n,t)),b=l.useRef(null);l.useEffect(()=>{x.current?S(d(c,n,t)):x.current=!0},[d]);const k=l.useId();if(s.length===0)return Kp({field:t,openBracket:a,closeBracket:i,lastElement:o,style:u});const v=g?u.collapseIcon:u.expandIcon,y=g?u.ariaLables.collapseJson:u.ariaLables.expandJson,p=c+1,j=s.length-1,w=N=>{g!==N&&(!f||f({level:c,value:n,field:t,newExpandValue:N}))&&S(N)},D=N=>{if(N.key==="ArrowRight"||N.key==="ArrowLeft")N.preventDefault(),w(N.key==="ArrowRight");else if(N.key==="ArrowUp"||N.key==="ArrowDown"){N.preventDefault();const T=N.key==="ArrowUp"?-1:1;if(!h.current)return;const C=h.current.querySelectorAll("[role=button]");let E=-1;for(let R=0;R<C.length;R++)if(C[R].tabIndex===0){E=R;break}if(E<0)return;const _=(E+T+C.length)%C.length;C[E].tabIndex=-1,C[_].tabIndex=0,C[_].focus()}},A=()=>{var N;w(!g);const T=b.current;if(!T)return;const C=(N=h.current)===null||N===void 0?void 0:N.querySelector('[role=button][tabindex="0"]');C&&(C.tabIndex=-1),T.tabIndex=0,T.focus()};return l.createElement("div",{className:u.basicChildStyle,role:"treeitem","aria-expanded":g,"aria-selected":void 0},l.createElement("span",{className:v,onClick:A,onKeyDown:D,role:"button","aria-label":y,"aria-expanded":g,"aria-controls":g?k:void 0,ref:b,tabIndex:c===0?0:-1}),(t||t==="")&&(m?l.createElement("span",{className:u.clickableLabel,onClick:A,onKeyDown:D},Xt(t,u.quotesForFieldNames),":"):l.createElement("span",{className:u.label},Xt(t,u.quotesForFieldNames),":")),l.createElement("span",{className:u.punctuation},a),g?l.createElement("ul",{id:k,role:"group",className:u.childFieldsContainer},s.map((N,T)=>l.createElement(Gn,{key:N[0]||T,field:N[0],value:N[1],style:u,lastElement:T===j,level:p,shouldExpandNode:d,clickToExpandNode:m,beforeExpandChange:f,outerRef:h}))):l.createElement("span",{className:u.collapsedContent,onClick:A,onKeyDown:D}),l.createElement("span",{className:u.punctuation},i),!o&&l.createElement("span",{className:u.punctuation},","))}function Kp(e){let{field:t,openBracket:n,closeBracket:s,lastElement:o,style:a}=e;return l.createElement("div",{className:a.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&l.createElement("span",{className:a.label},Xt(t,a.quotesForFieldNames),":"),l.createElement("span",{className:a.punctuation},n),l.createElement("span",{className:a.punctuation},s),!o&&l.createElement("span",{className:a.punctuation},","))}function Qp(e){let{field:t,value:n,style:s,lastElement:o,shouldExpandNode:a,clickToExpandNode:i,level:c,outerRef:u,beforeExpandChange:d}=e;return Sa({field:t,value:n,lastElement:o||!1,level:c,openBracket:"{",closeBracket:"}",style:s,shouldExpandNode:a,clickToExpandNode:i,data:Object.keys(n).map(m=>[m,n[m]]),outerRef:u,beforeExpandChange:d})}function Yp(e){let{field:t,value:n,style:s,lastElement:o,level:a,shouldExpandNode:i,clickToExpandNode:c,outerRef:u,beforeExpandChange:d}=e;return Sa({field:t,value:n,lastElement:o||!1,level:a,openBracket:"[",closeBracket:"]",style:s,shouldExpandNode:i,clickToExpandNode:c,data:n.map(m=>[void 0,m]),outerRef:u,beforeExpandChange:d})}function Xp(e){let{field:t,value:n,style:s,lastElement:o}=e,a,i=s.otherValue;return n===null?(a="null",i=s.nullValue):n===void 0?(a="undefined",i=s.undefinedValue):Wp(n)?(a=Vp(n,!s.noQuotesForStringValues,s.stringifyStringValues),i=s.stringValue):qp(n)?(a=n?"true":"false",i=s.booleanValue):Up(n)?(a=n.toString(),i=s.numberValue):Hp(n)?(a=`${n.toString()}n`,i=s.numberValue):ka(n)?a=n.toISOString():Ca(n)?a="function() { }":a=n.toString(),l.createElement("div",{className:s.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&l.createElement("span",{className:s.label},Xt(t,s.quotesForFieldNames),":"),l.createElement("span",{className:i},a),!o&&l.createElement("span",{className:s.punctuation},","))}function Gn(e){const t=e.value;return Gp(t)?l.createElement(Yp,Object.assign({},e)):va(t)&&!ka(t)&&!Ca(t)?l.createElement(Qp,Object.assign({},e)):l.createElement(Xp,Object.assign({},e))}var ne={"container-light":"_2IvMF _GzYRV","basic-element-style":"_2bkNM","child-fields-container":"_1BXBN","label-light":"_1MGIk","clickable-label-light":"_2YKJg _1MGIk _1MFti","punctuation-light":"_3uHL6 _3eOF8","value-null-light":"_2T6PJ","value-undefined-light":"_1Gho6","value-string-light":"_vGjyY","value-number-light":"_1bQdo","value-boolean-light":"_3zQKs","value-other-light":"_1xvuR","collapse-icon-light":"_oLqym _f10Tu _1MFti _1LId0","expand-icon-light":"_2AXVT _f10Tu _1MFti _1UmXx","collapsed-content-light":"_2KJWg _1pNG9 _1MFti","container-dark":"_11RoI _GzYRV","expand-icon-dark":"_17H2C _f10Tu _1MFti _1UmXx","collapse-icon-dark":"_3QHg2 _f10Tu _1MFti _1LId0","collapsed-content-dark":"_3fDAz _1pNG9 _1MFti","label-dark":"_2bSDX","clickable-label-dark":"_1RQEj _2bSDX _1MFti","punctuation-dark":"_gsbQL _3eOF8","value-null-dark":"_LaAZe","value-undefined-dark":"_GTKgm","value-string-dark":"_Chy1W","value-number-dark":"_2bveF","value-boolean-dark":"_2vRm-","value-other-dark":"_1prJR"};const ja={collapseJson:"collapse JSON",expandJson:"expand JSON"},wn={container:ne["container-light"],basicChildStyle:ne["basic-element-style"],childFieldsContainer:ne["child-fields-container"],label:ne["label-light"],clickableLabel:ne["clickable-label-light"],nullValue:ne["value-null-light"],undefinedValue:ne["value-undefined-light"],stringValue:ne["value-string-light"],booleanValue:ne["value-boolean-light"],numberValue:ne["value-number-light"],otherValue:ne["value-other-light"],punctuation:ne["punctuation-light"],collapseIcon:ne["collapse-icon-light"],expandIcon:ne["expand-icon-light"],collapsedContent:ne["collapsed-content-light"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:ja,stringifyStringValues:!1},Jp={container:ne["container-dark"],basicChildStyle:ne["basic-element-style"],childFieldsContainer:ne["child-fields-container"],label:ne["label-dark"],clickableLabel:ne["clickable-label-dark"],nullValue:ne["value-null-dark"],undefinedValue:ne["value-undefined-dark"],stringValue:ne["value-string-dark"],booleanValue:ne["value-boolean-dark"],numberValue:ne["value-number-dark"],otherValue:ne["value-other-dark"],punctuation:ne["punctuation-dark"],collapseIcon:ne["collapse-icon-dark"],expandIcon:ne["expand-icon-dark"],collapsedContent:ne["collapsed-content-dark"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:ja,stringifyStringValues:!1},Zp=()=>!0,eh=e=>e<1,th=e=>{let{data:t,style:n=wn,shouldExpandNode:s=Zp,clickToExpandNode:o=!1,beforeExpandChange:a,compactTopLevel:i,...c}=e;const u=l.useRef(null);return l.createElement("div",Object.assign({"aria-label":"JSON view"},c,{className:n.container,ref:u,role:"tree"}),i&&va(t)?Object.entries(t).map(d=>{let[m,h]=d;return l.createElement(Gn,{key:m,field:m,value:h,style:{...wn,...n},lastElement:!0,level:1,shouldExpandNode:s,clickToExpandNode:o,beforeExpandChange:a,outerRef:u})}):l.createElement(Gn,{value:t,style:{...wn,...n},lastElement:!0,level:0,shouldExpandNode:s,clickToExpandNode:o,outerRef:u,beforeExpandChange:a}))};var Te={},_n,lr;function nh(){if(lr)return _n;lr=1;const e=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],t=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm;class n{static escapeForHtml(o){return new n().escapeForHtml(o)}static linkify(o){return new n().linkify(o)}static ansiToHtml(o,a){return new n().ansiToHtml(o,a)}static ansiToJson(o,a){return new n().ansiToJson(o,a)}static ansiToText(o){return new n().ansiToText(o)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let u=0;u<8;++u)this.PALETTE_COLORS.push(e[c][u].color);let o=[0,95,135,175,215,255],a=(c,u,d)=>o[c]+", "+o[u]+", "+o[d];for(let c=0;c<6;++c)for(let u=0;u<6;++u)for(let d=0;d<6;++d)this.PALETTE_COLORS.push(a(c,u,d));let i=8;for(let c=0;c<24;++c,i+=10)this.PALETTE_COLORS.push(i+", "+i+", "+i)}escapeForHtml(o){return o.replace(/[&<>\"]/gm,a=>a=="&"?"&":a=='"'?""":a=="<"?"<":a==">"?">":"")}linkify(o){return o.replace(t,a=>`<a href="${a}">${a}</a>`)}ansiToHtml(o,a){return this.process(o,a,!0)}ansiToJson(o,a){return a=a||{},a.json=!0,a.clearLine=!1,this.process(o,a,!0)}ansiToText(o){return this.process(o,{},!1)}process(o,a,i){let c=this,u=o.split(/\033\[/),d=u.shift();a==null&&(a={}),a.clearLine=/\r/.test(o);let m=u.map(h=>this.processChunk(h,a,i));if(a&&a.json){let h=c.processChunkJson("");return h.content=d,h.clearLine=a.clearLine,m.unshift(h),a.remove_empty&&(m=m.filter(f=>!f.isEmpty())),m}else m.unshift(d);return m.join("")}processChunkJson(o,a,i){a=typeof a>"u"?{}:a;let c=a.use_classes=typeof a.use_classes<"u"&&a.use_classes,u=a.key=c?"class":"color",d={content:o,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:a.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!d.content},m=o.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!m)return d;d.content=m[4];let h=m[2].split(";");if(m[1]!==""||m[3]!=="m"||!i)return d;let f=this;for(;h.length>0;){let x=h.shift(),g=parseInt(x);if(isNaN(g)||g===0)f.fg=f.bg=null,f.decorations=[];else if(g===1)f.decorations.push("bold");else if(g===2)f.decorations.push("dim");else if(g===3)f.decorations.push("italic");else if(g===4)f.decorations.push("underline");else if(g===5)f.decorations.push("blink");else if(g===7)f.decorations.push("reverse");else if(g===8)f.decorations.push("hidden");else if(g===9)f.decorations.push("strikethrough");else if(g===21)f.removeDecoration("bold");else if(g===22)f.removeDecoration("bold"),f.removeDecoration("dim");else if(g===23)f.removeDecoration("italic");else if(g===24)f.removeDecoration("underline");else if(g===25)f.removeDecoration("blink");else if(g===27)f.removeDecoration("reverse");else if(g===28)f.removeDecoration("hidden");else if(g===29)f.removeDecoration("strikethrough");else if(g===39)f.fg=null;else if(g===49)f.bg=null;else if(g>=30&&g<38)f.fg=e[0][g%10][u];else if(g>=90&&g<98)f.fg=e[1][g%10][u];else if(g>=40&&g<48)f.bg=e[0][g%10][u];else if(g>=100&&g<108)f.bg=e[1][g%10][u];else if(g===38||g===48){let S=g===38;if(h.length>=1){let b=h.shift();if(b==="5"&&h.length>=1){let k=parseInt(h.shift());if(k>=0&&k<=255)if(!c)this.PALETTE_COLORS||f.setupPalette(),S?f.fg=this.PALETTE_COLORS[k]:f.bg=this.PALETTE_COLORS[k];else{let v=k>=16?"ansi-palette-"+k:e[k>7?1:0][k%8].class;S?f.fg=v:f.bg=v}}else if(b==="2"&&h.length>=3){let k=parseInt(h.shift()),v=parseInt(h.shift()),y=parseInt(h.shift());if(k>=0&&k<=255&&v>=0&&v<=255&&y>=0&&y<=255){let p=k+", "+v+", "+y;c?S?(f.fg="ansi-truecolor",f.fg_truecolor=p):(f.bg="ansi-truecolor",f.bg_truecolor=p):S?f.fg=p:f.bg=p}}}}}return f.fg===null&&f.bg===null&&f.decorations.length===0||(d.fg=f.fg,d.bg=f.bg,d.fg_truecolor=f.fg_truecolor,d.bg_truecolor=f.bg_truecolor,d.decorations=f.decorations,d.decoration=f.decorations.slice(-1).pop()||null,d.was_processed=!0),d}processChunk(o,a,i){a=a||{};let c=this.processChunkJson(o,a,i),u=a.use_classes;if(c.decorations=c.decorations.filter(g=>{if(g==="reverse"){c.fg||(c.fg=e[0][7][u?"class":"color"]),c.bg||(c.bg=e[0][0][u?"class":"color"]);let S=c.fg;c.fg=c.bg,c.bg=S;let b=c.fg_truecolor;return c.fg_truecolor=c.bg_truecolor,c.bg_truecolor=b,c.isInverted=!0,!1}return!0}),a.json)return c;if(c.isEmpty())return"";if(!c.was_processed)return c.content;let d=[],m=[],h=[],f={},x=g=>{let S=[],b;for(b in g)g.hasOwnProperty(b)&&S.push("data-"+b+'="'+this.escapeForHtml(g[b])+'"');return S.length>0?" "+S.join(" "):""};return c.isInverted&&(f["ansi-is-inverted"]="true"),c.fg&&(u?(d.push(c.fg+"-fg"),c.fg_truecolor!==null&&(f["ansi-truecolor-fg"]=c.fg_truecolor,c.fg_truecolor=null)):d.push("color:rgb("+c.fg+")")),c.bg&&(u?(d.push(c.bg+"-bg"),c.bg_truecolor!==null&&(f["ansi-truecolor-bg"]=c.bg_truecolor,c.bg_truecolor=null)):d.push("background-color:rgb("+c.bg+")")),c.decorations.forEach(g=>{if(u){m.push("ansi-"+g);return}g==="bold"?m.push("font-weight:bold"):g==="dim"?m.push("opacity:0.5"):g==="italic"?m.push("font-style:italic"):g==="hidden"?m.push("visibility:hidden"):g==="strikethrough"?h.push("line-through"):h.push(g)}),h.length&&m.push("text-decoration:"+h.join(" ")),u?'<span class="'+d.concat(m).join(" ")+'"'+x(f)+">"+c.content+"</span>":'<span style="'+d.concat(m).join(";")+'"'+x(f)+">"+c.content+"</span>"}removeDecoration(o){const a=this.decorations.indexOf(o);a>=0&&this.decorations.splice(a,1)}}return _n=n,_n}var xt={exports:{}},cr;function sh(){if(cr)return xt.exports;cr=1;function e(o){if(!o)return"";if(!/\r/.test(o))return o;for(o=o.replace(/\r+\n/gm,`
|
|
34
|
+
`:"")+n[S];const b=Zs(g.trim());if(b){i=b;break}}}break}}return o?{title:s,actionId:o,widgetId:a,payload:i}:null}function vf({onAllow:e,onNotNow:t}){return r.jsxs(Su,{"data-slot":"notification-permission-primer",gap:"none",className:"flex-row flex-wrap items-center gap-x-3 gap-y-2 px-3 py-2",children:[r.jsx(Ei,{className:"text-muted-foreground size-4 shrink-0","aria-hidden":!0}),r.jsx("p",{className:"text-muted-foreground min-w-0 flex-1 text-xs",children:"Get notified when this needs you, even in another tab."}),r.jsxs("div",{className:"flex w-full shrink-0 flex-wrap items-center justify-end gap-1.5 sm:w-auto",children:[r.jsx(oe,{variant:"ghost",size:"sm",responsive:!1,className:"h-7 px-2 text-xs",onClick:t,children:"Not now"}),r.jsx(oe,{variant:"outline",size:"sm",responsive:!1,className:"h-7 px-2 text-xs",onClick:e,children:"Turn on notifications"})]})]})}function Cf(e){const t=Oc(),{permission:n,request:s}=ju(),{prefs:o,setPrefs:a}=_u(),{data:i}=ro(),c=i!==void 0,[u,d]=l.useState(!1),m=Di()||n==="unsupported";l.useEffect(()=>{if(m||!e)return;const g=setTimeout(Ic,$c);return()=>clearTimeout(g)},[m,e]);const h=l.useCallback(()=>{d(!0),s().then(()=>{a({browserPermissionPrimerDismissed:!0})})},[s,a]),f=l.useCallback(()=>{d(!0),a({browserPermissionPrimerDismissed:!0})},[a]);return{eligible:!m&&c&&t&&!u&&n==="default"&&!o.browserPermissionPrimerDismissed,allow:h,notNow:f}}const Sf="dorkos:chat:last-seen:";function jf(){try{const e=[];for(let t=0;t<window.localStorage.length;t++){const n=window.localStorage.key(t);n!=null&&n.startsWith(Sf)&&e.push(n)}for(const t of e)window.localStorage.removeItem(t)}catch{}}function _f(e){let t=0;for(const n of e)n._streaming!==!0&&t++;return t}function wf(e){if(typeof e!="object"||e===null)return!1;const{userId:t,threadKind:n,threadId:s,lastReadSeq:o}=e;return typeof t=="string"&&typeof n=="string"&&typeof s=="string"&&typeof o=="number"&&Number.isInteger(o)}function Nf(e,t,n=0){const s=ke(),[o,a]=l.useState(()=>({sessionId:e,lastReadSeq:null,hydrated:!1}));o.sessionId!==e&&a({sessionId:e,lastReadSeq:null,hydrated:!1});const i=l.useRef(0),c=l.useRef(null),u=l.useRef(!1),d=l.useRef(!1),m=l.useRef(e),h=l.useRef(null),f=n+_f(t);l.useEffect(()=>{jf();let v=!1;return m.current=e,i.current=0,c.current=null,u.current=!1,d.current=!1,(async()=>{let y=null;try{y=await s.getReadCursor("session",e)}catch{}v||(y&&(i.current=y.lastReadSeq,h.current=y.userId),a({sessionId:e,lastReadSeq:(y==null?void 0:y.lastReadSeq)??null,hydrated:!0}))})(),()=>{v=!0}},[s,e]);const x=l.useCallback(async()=>{if(!u.current){u.current=!0;try{for(;;){const v=c.current;if(v===null)break;if(c.current=null,v.sessionId!==m.current)continue;if(d.current)break;const y=i.current;i.current=Math.max(y,v.seq);try{const p=await s.setReadCursor("session",v.sessionId,v.seq);h.current=p.userId??h.current}catch{i.current=y,v.sessionId===m.current&&(d.current=!0);break}}}finally{u.current=!1}}},[s]),g=l.useCallback(()=>{!o.hydrated||d.current||f<=i.current||(c.current={sessionId:e,seq:f},x())},[o.hydrated,e,f,x]);Ti("read_cursor",v=>{if(!wf(v)||v.threadKind!=="session"||v.threadId!==e)return;const y=h.current;y!==null&&v.userId!==y||v.lastReadSeq<=i.current||(i.current=v.lastReadSeq,a({sessionId:e,lastReadSeq:v.lastReadSeq,hydrated:!0}))});const S=l.useMemo(()=>t.filter(v=>v._streaming!==!0).map((v,y)=>({id:v.id,seq:n+y+1})),[t,n]),b=o.lastReadSeq,k=Ai(S,b===null?null:Math.min(b,f));return{lastSeenMessageId:k.lastSeenId,unreadFromStart:k.fromStart,markSeen:g,isHydrated:o.hydrated}}function Qe(e){return e.notAllowed!==!0&&e.usage.state!=="limited"}function Ef(e,t){if(e.id===lt||!e.eligible)return e.reason;const n=Fi(e.usage,"seven_day");if(!n||n.usedPct===null)return"usage unknown";const s=Math.min(100,Math.max(0,Math.round(100-n.usedPct))),o=Ri(n.resetsAt,t);return o?`${s}% left · resets ${o}`:`${s}% left`}function rn(e,t){return e.runtime!==void 0&&e.runtime!==t}function Df(e,t){const n=[],s=[];for(const o of e)(rn(o,t)?s:n).push(o);return{same:n,other:s}}function Yt(e,t){return`${e.runtime??t}:${e.id}`}function Tf(e,t,n){if(rn(e,t)){const s=e.runtime;return!e.label&&e.id===Ct?`${Qt({runtime:s,accountLabel:null,identityGate:!1})} (this computer's sign-in)`:Qt({runtime:s,accountLabel:e.label,identityGate:!0})}return e.label?e.label:e.id===Ct&&e.usage.label?e.usage.label:e.usage.path?n(e.usage.path):e.id}function Af(e,t){const n=e.accounts.find(o=>o.id===e.recommendedId);if(n&&Qe(n))return Yt(n,t);const s=e.accounts.find(Qe);return s?Yt(s,t):null}function Ff(e){return e.length===0?null:e.length===1?`${e[0]} is kept out, so it isn’t listed.`:`${`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`} are kept out, so they aren’t listed.`}function Rf(e,t){if(e&&t)return{subtitle:"Picks up in the same folder and branch, from the last checkpoint.",carries:"Carries over: files, branch, checkpoint, task",doesnt:"Doesn’t: the chat itself"};const n="Starts a new chat in the same folder, with a summary of this one.";return{subtitle:e?n:`${n} Sorted by most usage left.`,carries:"Carries over: the folder and a summary of this chat",doesnt:"Doesn’t: the chat itself"}}function Mf(e){return e.carryOver===!1}function Of(e,t,n){return e?!0:(t==null?void 0:t.accounts.some(s=>rn(s,n)))??!1}function If(e){return{id:lt,runtime:e,label:Ms,color:Rs,eligible:!0,reason:"paid from your DorkOS account",usage:{runtime:"claude-code",accountId:lt,path:"",label:Ms,color:Rs,subscriptionType:null,plan:null,credits:null,spend:null,windows:[],state:"unknown",limit:null,updatedAt:null}}}function sa(e,t){const n=ke();return Ye({queryKey:ts.continueOptions(e),queryFn:()=>n.getContinueOptions(e),enabled:t,staleTime:0,retry:!1})}function $f(e){const t=ke();return St({mutationFn:n=>t.continueSession(e,n),retry:!1})}function Pf(e){const t=ke();return St({mutationFn:()=>t.cancelAutoContinue(e),retry:!1})}const er="claude-code",Lf="No other account can take this work right now.";function zf(e){return e instanceof Error&&e.message?e.message:"Couldn’t continue on that account. Try again."}function Bf({row:e,value:t,name:n,status:s,selected:o}){const a=Qe(e);return r.jsxs("label",{"data-slot":"continue-account-row","data-eligible":e.eligible,className:H("flex min-h-11 min-w-0 items-center gap-1.5 rounded-lg border px-2.5 py-2 text-sm transition-colors duration-150","has-[:focus-visible]:ring-ring has-[:focus-visible]:ring-[3px]",o?"border-foreground ring-foreground ring-1 ring-inset":"border-border",a?"hover:bg-muted/50 cursor-pointer":"cursor-not-allowed",!e.eligible&&"opacity-60"),children:[r.jsx(qi,{value:t,disabled:!a,className:"sr-only"}),r.jsx("span",{"aria-hidden":!0,className:"inline-flex",children:r.jsx(ss,{color:e.color,name:n})}),r.jsx("span",{className:"max-w-[55%] shrink-0 truncate font-medium",children:n}),e.badge==="recommended"&&r.jsx("span",{className:H(Ui.success,"border-status-success-border text-2xs shrink-0 rounded-full border px-1.5"),children:"recommended"}),r.jsx("span",{className:"text-muted-foreground ml-auto min-w-0 pl-1 text-right text-xs",children:s})]})}function ra({open:e,onOpenChange:t,sessionId:n,account:s,cancelAutoFirst:o=!1,now:a,onCloseAutoFocus:i}){var ue;const c=wt(),u=a??new Date(c),d=l.useId(),m=s.runtime??er,{accounts:h,nameFor:f}=ns(),[,x]=Nt(),g=Pf(n),S=l.useRef(!1),{mutate:b,reset:k}=g;l.useEffect(()=>{if(!e){S.current=!1,k();return}!o||S.current||(S.current=!0,b())},[e,o,b,k]);const v=e&&(!o||g.isSuccess),y=sa(n,v),p=$f(n),[j,_]=l.useState(null),D=()=>{p.isPending||(_(null),p.reset(),t(!1))},A=P=>P?t(!0):D(),N=v?y.data:void 0,T=N==null?void 0:N.ranking,C=N&&!Mf(N.plan)?[...N.ranking.accounts,...N.credits?[If(m)]:[]]:[],E=C.some(Qe),w=j??(T?Af(T,m):null),R=C.find(P=>Yt(P,m)===w)??null,M=R!==null&&Qe(R),F=P=>Tf(P,m,f),{same:I,other:L}=Df(C,m),U=Rf((N==null?void 0:N.advised)===!0,s.trackerItems.some(P=>P.via==="this-chat")),W=s.accountId??((ue=s.limit)==null?void 0:ue.accountId)??null,te=(N==null?void 0:N.advised)===!0&&m===er&&W!==null?Ff(h.filter(P=>P.id&&P.id!==W&&!I.some(Y=>Y.id===P.id)).map(P=>f(P.path))):null,G=()=>{!R||!Qe(R)||p.mutate(rn(R,m)?{account:R.id,runtime:R.runtime}:{account:R.id},{onSuccess:P=>{D(),P.sessionId&&x(P.sessionId)}})},B=P=>{const Y=Yt(P,m);return r.jsx(Bf,{row:P,value:Y,name:F(P),status:Ef(P,u),selected:Y===w},Y)},O=g.isError?g.error:y.isError&&v?y.error:p.isError?p.error:null,$=e&&!O&&(!v||y.isPending),Q=!$&&N!==void 0;return r.jsx(Mi,{open:e,onOpenChange:A,children:r.jsxs(Oi,{className:"max-h-[85vh] !min-h-0",desktopProps:{className:"sm:max-w-[380px]"},onCloseAutoFocus:i,"aria-labelledby":d,children:[r.jsxs(Ii,{className:"shrink-0 text-left",children:[r.jsx($i,{id:d,className:"text-left",children:"Continue on another account"}),r.jsx(Pi,{className:"text-left",children:U.subtitle})]}),r.jsxs(Li,{className:"flex flex-col gap-3",children:[$&&r.jsxs("div",{className:"flex flex-col gap-1.5",children:[r.jsx(Os,{className:"h-11 rounded-lg"}),r.jsx(Os,{className:"h-11 rounded-lg"})]}),Q&&(E?r.jsxs(zi,{"aria-labelledby":d,value:w??"",onValueChange:_,className:"min-w-0 grid-cols-1 gap-1.5",children:[I.map(B),L.length>0&&r.jsx("div",{className:"text-muted-foreground mt-2 text-xs font-semibold tracking-wide uppercase",children:"Other runtimes"}),L.map(B)]}):r.jsx("p",{className:"text-muted-foreground text-sm",children:Lf})),Q&&te&&r.jsx("p",{className:"text-muted-foreground text-xs",children:te}),Q&&r.jsxs("ul",{className:"text-muted-foreground list-disc pl-4 text-xs",children:[r.jsx("li",{children:U.carries}),r.jsx("li",{children:U.doesnt})]}),O!==null&&r.jsx("p",{role:"alert",className:"text-destructive text-sm",children:zf(O)})]}),r.jsxs(Bi,{className:"shrink-0",children:[r.jsx(oe,{variant:"outline",onClick:D,disabled:p.isPending,children:"Cancel"}),r.jsxs(oe,{onClick:G,disabled:!Q||!E||!M||p.isPending,"aria-busy":p.isPending||void 0,children:[p.isPending&&r.jsx(Le,{}),R&&Q&&E?`Continue on ${F(R)}`:"Continue"]})]})]})})}const qf=1440*60*1e3,Uf="Paused until you continue or the account resets",Hf="Paused until the task moves or the account resets",Wf=new Set(["limited","handing-off","wait-only","all-accounts-out","model-limited"]);function Gf(e){return Wf.has(e)?"critical":"neutral"}function oa(e){return e.carryOver===!1}function rt(e,t){return e!==null&&Date.parse(e)<=t.getTime()}function hs(e){return`${e} should have reset by now.`}function Vf(e,t,n,s){if(rt(n,s))return hs(e);const o=Hi(t,n,s);return o==="out"?`${e} is out of usage.`:o.startsWith("back in ")?`${e} is out of usage · ${o}.`:`${e} is out of usage ${o.slice(4)}.`}function aa(e){return e.plan.mode==="waiting"&&e.plan.resumeAt?e.plan.resumeAt:e.resetsAt}function tr(e,t,n){if(t===null)return`Waiting for ${e}`;if(rt(t,n))return hs(e);const s=Date.parse(t)-n.getTime();return s<qf?`Waiting for ${e} · back in ${Wi(s)}`:`Waiting for ${e} · back ${rs(t,n)}`}function Kf(e,t){return Math.max(0,Math.ceil((Date.parse(e)-t.getTime())/1e3))}const Qf=new Set(["continue-on","move-now","keep-going","resume","open-moved"]);function Yf(e,t){return(()=>{switch(e){case"limited":return[t.canPick&&"continue-on","wait"];case"handing-off":return["move-now",t.canPick&&"choose","wait"];case"model-limited":return[t.hasFallback&&"keep-going",t.canPick&&"continue-on","wait"];case"wait-only":case"all-accounts-out":return["wait"];case"reset-ready":return["resume"];case"moved":return["open-moved",!t.continuedHere&&"continue-here"];default:return[]}})().filter(s=>s!==!1)}const Xf=new Set(["limited","handing-off","wait-only","all-accounts-out","model-limited","waiting-reset"]),vn={canSubmit:!0,placeholder:null};function Jf(e,t,n){if(!e)return vn;const s=oo(e);if(s==="moved")return{canSubmit:t,placeholder:null};if(!Xf.has(s))return vn;const o=i=>i!==null&&!rt(i,n);return o(aa(e))||e.plan.mode==="auto"&&o(e.plan.fireAt)?{canSubmit:!1,placeholder:s==="handing-off"?Hf:Uf}:vn}const Zf=300*1e3;function ia(e,t){const n=Date.parse(e)-Date.parse(t);return Number.isFinite(n)&&n>=0&&n<=Zf}function em(e,t){let n=null;for(const s of e)ia(s.since,t)&&(n===null||Date.parse(s.since)<Date.parse(n.since))&&(n=s);return n}function Hn(e,t){var n;return e?((n=t.find(s=>s.value===e))==null?void 0:n.displayName)??e:null}function tm(e,t){return{from:Hn(e.modelFrom,t)??(e.scope==="model"?ao(e.window,t):null),to:Hn(e.modelTo,t)}}function la(){const{accounts:e,nameFor:t,colorFor:n}=ns(),s=Gi("claude-code",{accountId:Ct,path:null});return o=>{const a=Vi({accountId:o,path:null,accounts:e,usage:o===Ct?s:null,nameFor:t,colorFor:n});return{name:a.name??o,color:a.color}}}const nr=os(e=>({episodes:new Set,choose:t=>e(n=>n.episodes.has(t)?n:{episodes:new Set([...n.episodes,t])})}));function nm(e,t){return`${e}\0${t}`}function ca(e,t){const n=t===null?null:nm(e,t),s=nr(a=>n!==null&&a.episodes.has(n)),o=nr(a=>a.choose);return{continuedHere:s,continueHere:()=>{n!==null&&o(n)}}}const sr="claude-code",sm=new Set(["limited","handing-off","model-limited"]),rm=new Set(["limited","model-limited","all-accounts-out"]);function om(e){return(e==null?void 0:e.runsOn)==="own-sign-in"&&e.chosenBy==="user"}function am(e){return e instanceof Error&&e.message?e.message:"Couldn’t do that. Try again."}function im(e,t){var W,te,G;const n=ke(),s=as(),[,o]=Nt(),a=Et(e,{fetchUsage:!1}),i=t??a,c=i.limit,u=c?oo(c):null,d=i.runtime??sr,m=i.visible,h=la(),f=d===sr&&(c!=null&&c.accountId)?h(c.accountId).name:i.name,x=Qt({runtime:d,accountLabel:f,identityGate:m}),g=is({sessionId:e||void 0,runtime:d}).data??[],S=c?oa(c.plan):!0,b=u!==null&&sm.has(u)&&!S,{isLoaded:k}=ns(),{data:v}=ls(),y=k&&v!==void 0,p=u==="model-limited",j=sa(e,b&&y&&(p?m:!m)),_=b&&(p?m&&(((W=j.data)==null?void 0:W.ranking.accounts.some(Qe))??!1):Of(m,(te=j.data)==null?void 0:te.ranking,d)),{continuedHere:D,continueHere:A}=ca(e,(c==null?void 0:c.since)??null),{data:N}=Ki(),T=u!==null&&rm.has(u)&&!S&&(c==null?void 0:c.accountId)!==lt&&Qi(N,d)&&!om((G=N==null?void 0:N.defaults)==null?void 0:G[d]),C=(c==null?void 0:c.since)??null,E=`${C}:${u}`,[w,R]=l.useState(null),M=B=>R(B===null?null:{key:E,message:B}),F=B=>M(am(B)),I=St({mutationFn:B=>n.waitForReset(e,B),retry:!1,onError:F}),L=St({mutationFn:B=>n.continueSession(e,B),retry:!1,onError:F,onSuccess:B=>{B.sessionId&&B.sessionId!==e&&o(B.sessionId)}}),U=l.useRef(C);return l.useEffect(()=>{U.current!==null&&C===null&&s.invalidateQueries({queryKey:ts.limitHistory(e)}),U.current=C},[C,e,s]),{account:i,limit:c,state:u,runtime:d,subject:x,identityGate:m,canPick:_,creditsOffered:T,nameOf:h,models:g,continuedHere:D,continueHere:A,wait:B=>{M(null),I.mutate(B===void 0?{}:{autoResume:B})},continueOn:B=>{M(null),L.mutate(B)},openSession:B=>o(B),pending:I.isPending||L.isPending,failure:(w==null?void 0:w.key)===E?w.message:null}}function Cn({visible:e,spoken:t,spokenKey:n}){const[s,o]=l.useState({key:n,text:t});return s.key!==n&&o({key:n,text:t}),r.jsxs(r.Fragment,{children:[r.jsx("span",{"aria-hidden":!0,children:e}),r.jsx("span",{className:"sr-only",children:s.key===n?s.text:t})]})}function Sn({account:e,showDot:t}){return r.jsxs(r.Fragment,{children:[t&&e.color&&r.jsx("span",{"aria-hidden":!0,className:"mr-1 inline-flex align-middle",children:r.jsx(ss,{color:e.color,name:e.name,tooltip:!1})}),e.name]})}function lm(e,t){switch(e){case"continue-on":return"Continue on another account…";case"move-now":return"Move now";case"choose":return"Choose account…";case"keep-going":return`Keep going on ${t}, same account`;case"resume":return"Continue";case"open-moved":return"Open it →";case"continue-here":return"Continue here anyway";case"wait":return"Wait for reset"}}function cm({sessionId:e,onSend:t,account:n,now:s}){const o=im(e,n),a=io(),{limit:i,state:c,subject:u,identityGate:d}=o,m=wt(c==="handing-off"?1e3:6e4),h=s??new Date(m),f=i?i.since:null,[x,g]=l.useState(null),S=o.canPick&&f!==null&&x===f,b=E=>g(E?f:null),k=l.useId();if(!i||!c)return null;const v=o.creditsOffered&&a!==null,y=i.plan,p=Hn(i.modelFallback,o.models),j=Yf(c,{canPick:o.canPick,hasFallback:p!==null,continuedHere:o.continuedHere}),_=`${c}:${i.since}:${u}`;let D,A=null,N=!1;switch(c){case"all-accounts-out":{D="All accounts are out.";const E=i.allOut;if(E!=null&&E.resetsAt){const w=o.nameOf(E.accountId);A=rt(E.resetsAt,h)?hs(w.name):r.jsxs(r.Fragment,{children:["Soonest back: ",r.jsx(Sn,{account:w,showDot:d}),","," ",rs(E.resetsAt,h)]})}break}case"model-limited":D=`${ao(i.window,o.models)} is out on ${u} for this week.`;break;case"waiting-reset":{const E=aa(i);D=r.jsx(Cn,{visible:tr(u,E,h),spoken:tr(u,E,h),spokenKey:`${_}:${rt(E,h)}`});break}case"reset-ready":D=y.mode==="waiting"&&y.unconfirmed?`${u} should have reset by now.`:`${u} has reset.`;break;case"moved":{if(y.mode!=="continued")return null;const E=o.nameOf(y.accountId);D=r.jsxs(r.Fragment,{children:["This task continued on ",r.jsx(Sn,{account:E,showDot:d}),"."]});break}default:{const E=Vf(u,i.window,i.resetsAt,h);if(D=r.jsx(Cn,{visible:E,spoken:E,spokenKey:`${_}:${rt(i.resetsAt,h)}`}),c==="handing-off"&&y.mode==="auto"){const w=o.nameOf(y.target),R=Kf(y.fireAt,h);N=R===0,A=r.jsx(Cn,{visible:r.jsxs(r.Fragment,{children:["Moving this task to ",r.jsx(Sn,{account:w,showDot:d}),N?"…":` in ${R}s…`]}),spoken:N?`Moving this task to ${w.name}.`:`Moving this task to ${w.name} in ${R} seconds.`,spokenKey:`${_}:${y.fireAt}:${w.name}:${N}`})}}}const T=E=>{switch(E){case"continue-on":case"choose":b(!0);return;case"move-now":y.mode==="auto"&&o.continueOn({account:y.target});return;case"keep-going":i.modelFallback&&o.continueOn({model:i.modelFallback});return;case"resume":t(Yi);return;case"open-moved":y.mode==="continued"&&o.openSession(y.sessionId);return;case"continue-here":o.continueHere();return;case"wait":o.wait();return}},C=c==="waiting-reset"&&y.mode==="waiting"&&!oa(y);return r.jsxs(r.Fragment,{children:[r.jsxs(Nu,{variant:Gf(c),role:"status",icon:null,"data-slot":"account-limit-banner","data-state":c,className:"mx-4 mb-2 rounded-lg border px-3 py-2",children:[r.jsxs("p",{children:[r.jsx("strong",{className:"font-semibold",children:D}),A&&r.jsxs(r.Fragment,{children:[" ",A]})]}),C&&r.jsxs("div",{className:"mt-1.5 flex items-center gap-2",children:[r.jsx("input",{id:k,type:"checkbox",className:"size-3.5",checked:y.autoResume,disabled:o.pending,onChange:E=>o.wait(E.target.checked)}),r.jsx("label",{htmlFor:k,children:"Continue automatically when it resets"})]}),v&&a&&r.jsx("div",{className:"mt-1.5",children:a({runtime:o.runtime,origin:`limit:${e}`,intent:"keep-going",confirmAfterLink:{prompt:"Linked. Continue on DorkOS credits?",action:"Continue"},onChoose:()=>o.continueOn({account:lt})})}),j.length>0&&r.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:j.map(E=>r.jsx(oe,{size:"sm",variant:Qf.has(E)&&!v?"default":E==="continue-here"?"ghost":"outline",className:"h-auto min-h-11 max-w-full py-1 whitespace-normal md:min-h-8",disabled:o.pending||E==="move-now"&&N,onClick:()=>T(E),children:lm(E,p)},E))}),o.failure&&r.jsx("p",{role:"alert",className:"text-destructive mt-1.5",children:o.failure})]}),o.canPick&&r.jsx(ra,{open:S,onOpenChange:b,sessionId:e,account:{runtime:o.runtime,accountId:o.account.accountId,limit:i,trackerItems:o.account.trackerItems},cancelAutoFirst:c==="handing-off",now:s})]})}function um(e){const t=ke();return Ye({queryKey:ts.limitHistory(e),queryFn:()=>t.getLimitHistory(e),enabled:e!=="",retry:!1})}const dm={moved:Ji,"resumed-reset":yt,"resumed-model":yt,"resumed-early":yt};function fm({entry:e,now:t}){const n=wt(),s=t??new Date(n),o=la(),a=Xi(e.runtime),i=is({runtime:e.runtime}).data??[],[,c]=Nt(),u=e.runtime==="claude-code"&&e.accountId?o(e.accountId).name:null,d=Qt({runtime:e.runtime,accountLabel:u,identityGate:a}),m=`at ${rs(e.resolvedAt,s)}`,h=dm[e.resolution];let f;switch(e.resolution){case"moved":{const x=e.toAccountId?o(e.toAccountId):null,g=x?r.jsxs(r.Fragment,{children:[a&&x.color&&r.jsx("span",{"aria-hidden":!0,className:"mr-0.5 inline-flex align-middle",children:r.jsx(ss,{color:x.color,name:x.name,tooltip:!1})}),x.name]}):null;f=r.jsxs(r.Fragment,{children:[d," ran out · moved",g&&r.jsxs(r.Fragment,{children:[" to ",e.toSessionId?r.jsx("button",{type:"button",className:"hover:text-foreground focus-visible:ring-ring rounded-sm underline underline-offset-2 outline-none focus-visible:ring-2",onClick:()=>c(e.toSessionId),children:g}):g]})," ",m]});break}case"resumed-reset":f=`Resumed after reset ${m}`;break;case"resumed-model":{const{from:x,to:g}=tm(e,i);f=g?`${x??d} ran out · continued on ${g} ${m}`:`${d} ran out · continued here ${m}`;break}case"resumed-early":f=`${d} ran out · continued here ${m}`;break}return r.jsxs("p",{"data-slot":"account-limit-marker","data-resolution":e.resolution,className:"text-muted-foreground text-2xs my-2 flex items-center gap-1.5",children:[r.jsx(h,{"aria-hidden":!0,className:"size-3 shrink-0"}),r.jsx("span",{className:"min-w-0",children:f})]})}function mm({sessionId:e,at:t,fallback:n,now:s}){const{limit:o}=Et(e,{fetchUsage:!1}),a=um(e),[i,c]=l.useState(null),u=o!==null&&(t===""||ia(o.since,t));if(u&&((i==null?void 0:i.data)!==a.dataUpdatedAt||i.error!==a.errorUpdatedAt)&&c({data:a.dataUpdatedAt,error:a.errorUpdatedAt}),u||a.isPending)return null;const d=a.data&&t?em(a.data.entries,t):null;return d?r.jsx(fm,{entry:d,now:s}):o===null&&i!==null&&a.dataUpdatedAt===i.data&&a.errorUpdatedAt===i.error?null:r.jsx(r.Fragment,{children:n})}function pm(e){const{limit:t}=Et(e,{fetchUsage:!1}),{continuedHere:n}=ca(e,(t==null?void 0:t.since)??null),s=wt();return Jf(t,n,new Date(s))}function hm(e){return Et(e,{fetchUsage:!1}).limit!==null}function gm({text:e,indices:t,startOffset:n=0}){const s=new Set(t.map(o=>o-n));return r.jsx(r.Fragment,{children:e.split("").map((o,a)=>s.has(a)?r.jsx("span",{className:"text-foreground font-semibold",children:o},a):r.jsx("span",{children:o},a))})}function xm({filteredFiles:e,selectedIndex:t,onSelect:n}){return l.useEffect(()=>{const s=document.getElementById(`file-item-${t}`);s&&s.scrollIntoView({block:"nearest"})},[t]),r.jsx(K.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:s=>s.preventDefault(),children:r.jsx("div",{id:"file-palette-listbox",role:"listbox",className:"max-h-72 overflow-y-auto p-1.5",children:e.length===0?r.jsx("div",{className:"text-muted-foreground px-2 py-4 text-center text-sm",children:"No files found."}):e.map((s,o)=>{const a=o===t,i=s.isDirectory?Zi:Po;return r.jsxs("div",{id:`file-item-${o}`,role:"option","aria-selected":a,"data-selected":a,tabIndex:a?0:-1,onClick:()=>n(s),onKeyDown:c=>{c.key==="Enter"&&n(s)},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:[r.jsx(i,{className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0",children:[r.jsx("span",{className:"text-foreground truncate text-sm font-medium",children:r.jsx(gm,{text:s.filename,indices:s.indices,startOffset:s.directory.length})}),s.directory&&r.jsx("p",{className:"text-muted-foreground/70 truncate text-xs leading-normal",children:s.directory})]})]},s.path)})})})}function bm(e){const t=ke();return Ye({queryKey:["files",{cwd:e??null}],queryFn:()=>t.listFiles(e),enabled:!!e,staleTime:Ke.FILES_STALE_TIME_MS,gcTime:Ke.FILES_GC_TIME_MS})}const ym="You",km="human",vm="system",Cm="System",Sm="agent",jm="Agent",_m="chat-sender:",rr="room-author:",wm="Room member",Nm="runtime:";function Em(e){return e.messageType==="local_command_output"||e.messageType==="compaction"}function Dm(e,t){var a,i,c,u,d,m;if(Em(e)||e._chatStop)return{kind:"system",id:vm,displayName:Cm};const n=e.role==="user"?(i=(a=e.chatMessages)==null?void 0:a[0])==null?void 0:i.from:void 0;if(n){const h=n.agentId??n.chatId,f=((c=t.senderAgent)==null?void 0:c.call(t,n))??Dt({id:h});return{kind:"agent",id:`${_m}${h}`,displayName:n.agentName,emoji:f.emoji,color:f.color}}const s=e.role==="user"?e.roomMessage:void 0;if(s&&!((u=s.author)!=null&&u.you))return Tm(s,t);if(e.role==="user")return{kind:"human",id:km,displayName:((d=t.humanName)==null?void 0:d.trim())||ym};if(t.agent){const{id:h,displayName:f,emoji:x,color:g,imageUrl:S}=t.agent;return{kind:"agent",id:h,displayName:f,emoji:x,color:g,imageUrl:S}}const o=(m=t.runtime)==null?void 0:m.trim();return o?{kind:"agent",id:`${Nm}${o}`,displayName:cs(o),runtime:o}:{kind:"agent",id:Sm,displayName:jm}}function Tm(e,t){var o;const{author:n}=e;if(!n)return{kind:"human",id:`${rr}entry:${e.entryId}`,displayName:wm};const s=`${rr}${n.id}`;if(n.kind==="agent"){const a=n.agentId??n.id,i=((o=t.senderAgent)==null?void 0:o.call(t,{agentId:a,chatId:a}))??Dt({id:a,...n.emoji?{icon:n.emoji}:{},...n.color?{color:n.color}:{}});return{kind:"agent",id:s,displayName:n.displayName,...i}}return{kind:n.kind,id:s,displayName:n.displayName}}function ua(e){return`msg-${e}`}function Am(){return{last:null}}function Fm(e,t){const{resolveAuthor:n,now:s,cache:o}=t,a=t.lastSeenMessageId??null,i=t.unreadFromStart??!1,c=o==null?void 0:o.last,u=c&&c.resolveAuthor===n&&c.now===s&&c.lastSeenMessageId===a&&c.unreadFromStart===i?c:null;let d=0;if(u){const b=Math.min(e.length,u.messages.length);for(;d<b&&e[d]===u.messages[d];)d++}const m=u?u.authors.slice(0,d):[],h=u?u.items.slice(0,d):[];for(let b=m.length;b<e.length;b++){const k=e[b],v=n(k,b);m.push(v),h.push({id:k.id,authorId:v.id,timestamp:k.timestamp})}const f={now:s,lastSeenId:a,unreadFromStart:i},{rows:x,kept:g}=u?el(h,f,u.timeline,d):{rows:tl(h,f),kept:0},S=u?u.rows.slice(0,g):[];for(let b=g;b<x.length;b++){const k=x[b];S.push(k.kind!=="item"?k:{kind:"message",key:ua(e[k.index].id),messageIndex:k.index,message:e[k.index],grouping:k.grouping,author:m[k.index]})}return o&&(o.last={messages:e,authors:m,items:h,resolveAuthor:n,now:s,lastSeenMessageId:a,unreadFromStart:i,timeline:x,rows:S}),S}function Rm(e){const t=[],n=new Set;for(const s of e){const o=s.lastIndexOf("/"),a=o>=0?s.slice(0,o+1):"",i=o>=0?s.slice(o+1):s;t.push({path:s,filename:i,directory:a,isDirectory:!1});const c=s.split("/");for(let u=1;u<c.length;u++){const d=c.slice(0,u).join("/")+"/";n.has(d)||(n.add(d),t.push({path:d,filename:c[u-1]+"/",directory:u>1?c.slice(0,u-1).join("/")+"/":"",isDirectory:!0}))}}return t}function Mm(e,t){const n=[...e].reverse().find(s=>s.role==="user");if(n!=null&&n.content)return n.content;if((t==null?void 0:t.kind)==="first-message"&&t.kickoffMessage)return t.kickoffMessage}const da=Symbol("no-error-part");function Om(e){for(let t=e.length-1;t>=0;t--){const n=e[t].parts;for(let s=n.length-1;s>=0;s--){const o=n[s];if(o.type==="error")return o.category}}return da}function Im(e){const{messages:t,status:n,lastErrorCategory:s,queuedCount:o,draft:a}=e;if(a.trim().length>0||n==="streaming"||o>0)return null;let i=-1;for(let d=t.length-1;d>=0;d--)if(t[d].role==="user"){i=d;break}const c=i===-1?"":t[i].content.trim();if(!c)return null;const u=Om(t.slice(i+1));return u!==da?u==="auth_error"?c:null:n==="error"&&s==="auth_error"?c:null}const $m="dorkos:signin-resume",Pm=1e4;function Lm(){const e=l.useRef(new Map),t=l.useRef(null);return l.useEffect(()=>{const n=nl($m);t.current=n;const s=e.current,o=n.onMessage(a=>{s.set(a.sessionId,Date.now())});return()=>{o(),n.close(),t.current=null}},[]),l.useMemo(()=>({claimedElsewhere:n=>{const s=e.current.get(n);return s!==void 0&&Date.now()-s<Pm},claim:n=>{var s;return(s=t.current)==null?void 0:s.postMessage({sessionId:n})}}),[])}function fa(e){switch(e){case"pending":case"running":return r.jsx(Le,{size:"xs",className:It({status:e})});case"complete":return r.jsx(it,{className:H("size-(--size-icon-xs)",It({status:e}))});case"error":return r.jsx(qe,{className:H("size-(--size-icon-xs)",It({status:e}))});case"neutral":return r.jsx(sl,{className:H("size-(--size-icon-xs)",It({status:e}))})}}function or({type:e,toolName:t,toolInput:n,...s}){const o=e==="approval"?"Waiting for approval":"Answering questions",a=t?ut(t,n??""):null,i=a?`${o} · ${a}`:`${o}…`;return r.jsx("div",{className:"bg-muted/50 rounded-msg-tool text-muted-foreground shadow-msg-tool border px-3 py-1 text-sm transition-colors duration-150",...s,children:r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsx(Le,{className:"shrink-0"}),r.jsx("span",{className:"truncate text-xs",children:i})]})})}function Rt({expanded:e,onToggle:t,header:n,children:s,variant:o="default",dimmed:a=!1,disabled:i=!1,hideChevron:c=!1,extraContent:u,ariaLabel:d,className:m,...h}){const f=c?void 0:e;return r.jsxs("div",{className:H("bg-muted/40 mt-px rounded-md border-l-2 text-sm transition-[opacity,background-color,border-color,box-shadow] duration-200 first:mt-1","hover:bg-muted/60 hover:border-l-muted-foreground/60 hover:shadow-soft",o==="default"&&"border-l-muted-foreground/30",o==="thinking"&&"border-l-muted-foreground/20",o==="memory"&&"border-l-muted-foreground/20",a&&!e&&"opacity-50 hover:opacity-100",m),...h,children:[r.jsxs("button",{onClick:()=>!i&&t(),disabled:i,className:H("focus-ring flex w-full items-center gap-2 rounded-md px-3 py-1",i&&"cursor-default"),"aria-expanded":f,"aria-label":d,children:[n,!c&&!i&&r.jsx(K.div,{animate:{rotate:e?180:0},transition:{type:"spring",stiffness:400,damping:30},className:"ml-auto",children:r.jsx(Tt,{className:"text-muted-foreground size-(--size-icon-xs)"})})]}),u,r.jsx(fe,{initial:!1,children:e&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("div",{className:"border-border/50 border-t px-3 pt-1 pb-3",children:s})})})]})}const zm=[0,.2,.4];function ma({className:e}){return r.jsx("div",{className:H("flex gap-1",e),"data-testid":"typing-dots","aria-hidden":"true",children:zm.map(t=>r.jsx("span",{className:"bg-muted-foreground h-2 w-2 rounded-full",style:{animation:"typing-dot 1.4s ease-in-out infinite",animationDelay:`${t}s`}},t))})}function Bm({record:e}){const t=Fe(),{color:n,emoji:s}=Dt({id:e.agentId,icon:e.icon,color:e.color}),o=e.displayName.trim()||"Your agent";return r.jsxs("div",{className:"flex flex-col items-center gap-5 text-center","data-testid":"first-light",children:[r.jsx(K.div,{animate:t?void 0:{scale:[1,1.05,1],opacity:[.9,1,.9]},transition:t?void 0:{duration:3,repeat:1/0,ease:"easeInOut"},children:r.jsx(lo,{color:n,emoji:s,size:"lg"})}),r.jsxs("div",{className:"flex flex-col items-center gap-3",children:[r.jsxs("p",{className:"text-muted-foreground text-base","aria-live":"polite",children:[o," is waking up…"]}),r.jsx(ma,{})]})]})}function qm({birthRecord:e,firstLightRecord:t}){return(e==null?void 0:e.greetingFailed)===!0?r.jsxs("div",{className:"text-center","data-testid":"greeting-failed-empty",children:[r.jsxs("p",{className:"text-muted-foreground text-base",children:[e.displayName," couldn’t say hello just now"]}),r.jsx("p",{className:"text-muted-foreground/60 mt-2 text-sm",children:"Send a message to get started."})]}):t?r.jsx(Bm,{record:t}):r.jsxs("div",{className:"text-center",children:[r.jsx("p",{className:"text-muted-foreground text-base",children:"Start a chat"}),r.jsx("p",{className:"text-muted-foreground/60 mt-2 text-sm",children:"Type a message below to begin."})]})}function Um(e){const t=new Date(e);return Number.isNaN(t.getTime())?"":t.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Hm({sessionId:e}){const t=Zt(e),n=Fe();if(!t||t.kind==="first-message")return null;const s=Um(t.bornAt),o=At(t.runtime).label;return r.jsxs(K.div,{initial:n?!1:{opacity:0,y:-4},animate:{opacity:1,y:0},transition:{duration:.3},"data-testid":"birth-certificate",className:"text-muted-foreground flex items-center justify-center gap-1.5 px-4 pt-3 pb-1 text-xs",children:[r.jsx(rl,{className:"text-primary size-3.5 shrink-0 fill-current","aria-hidden":"true"}),r.jsxs("span",{className:"flex min-w-0 items-center gap-1.5",children:[r.jsx("span",{className:"text-foreground font-medium",children:t.displayName}),s&&r.jsxs(r.Fragment,{children:[r.jsx(jn,{}),r.jsxs("span",{children:["born ",s]})]}),r.jsx(jn,{}),r.jsxs("span",{className:"min-w-0 truncate",children:["lives in ",r.jsx("code",{className:"text-2xs",children:t.path})]}),r.jsx(jn,{}),r.jsxs("span",{className:"shrink-0",children:["runs on ",o]})]})]})}function jn(){return r.jsx("span",{"aria-hidden":"true",className:"text-muted-foreground/50 shrink-0",children:"·"})}const Wm="another chat";function Gm(e,t){const n=t==null?void 0:t.find(s=>s.id===e);return n?ol(n)?Is("autonomy"):n.label:co(e)?Is("autonomy"):al(e)}function Vm({startedBy:e,modes:t}){var a;const n=dt();if(!e)return null;const s=((a=e.reason)==null?void 0:a.trim())||null,o=e.kind==="chat"?e.permission:null;return r.jsxs(r.Fragment,{children:[r.jsx(Km,{startedBy:e,reason:s,navigate:n}),o&&r.jsxs("p",{"data-testid":"started-level-line",className:"text-muted-foreground mx-auto max-w-prose px-4 pb-1 text-center text-xs",children:["Started at ",Gm(o.mode,t),","," ",o.sameAsStarter?"same as":"lower than"," the chat that started it."]})]})}function Km({startedBy:e,reason:t,navigate:n}){return r.jsxs("p",{"data-testid":"started-by-line",className:"text-muted-foreground mx-auto max-w-prose px-4 pt-3 pb-1 text-center text-xs",children:[e.kind==="extension"?r.jsxs(r.Fragment,{children:["Started by the"," ",r.jsx("span",{className:"text-foreground font-medium",children:e.extensionName})," extension"]}):r.jsxs(r.Fragment,{children:["Started from"," ",r.jsx("button",{type:"button",onClick:()=>void n(Ft({session:e.sessionId})),className:"text-foreground focus-visible:ring-ring rounded-sm font-medium underline-offset-2 hover:underline focus-visible:ring-2 focus-visible:outline-none",children:e.title??Wm})]}),t&&r.jsxs(r.Fragment,{children:[": ",t]})]})}function Qm({content:e}){const[t,n]=l.useState(!1);return r.jsxs("div",{"data-testid":"started-prompt",className:"px-4 py-1",children:[r.jsxs("button",{type:"button","aria-expanded":t,onClick:()=>n(s=>!s),className:"text-muted-foreground hover:text-foreground focus-visible:ring-ring mx-auto flex items-center gap-1 rounded-sm text-xs focus-visible:ring-2 focus-visible:outline-none",children:["What it was asked",r.jsx(us,{"aria-hidden":"true",className:H("size-3 transition-transform duration-200",t&&"rotate-90")})]}),t&&r.jsx("div",{className:"bg-muted/40 text-foreground mx-auto mt-2 max-w-prose rounded-md px-3 py-2 text-sm break-words whitespace-pre-wrap",children:e})]})}const Ym={a:ll,img:Iu},pa=l.createContext({isStreaming:!1});function Xm(e){const t=l.useContext(pa);return r.jsx(Bu,{...e,...t})}const Jm={renderers:[{language:zu,component:Xm}]};function gs({content:e,isStreaming:t=!1,textEffect:n=Fd,sessionId:s,isLatestWidgetMessage:o}){const a=Md(n),i=l.useMemo(()=>({sessionId:s,isLatestMessage:o,isStreaming:t}),[s,o,t]);return r.jsx(pa.Provider,{value:i,children:r.jsx("div",{className:H("relative",t&&"streaming-cursor"),children:r.jsx(Ou,{resetKey:e,fallback:r.jsx("div",{className:"text-sm break-words whitespace-pre-wrap",children:e}),children:r.jsx(il,{shikiTheme:["github-light","github-dark"],components:Ym,animated:a,isAnimating:t,plugins:Jm,children:e})})})})}function Wn(e){if(e)try{const t=JSON.parse(e);return t!==null&&typeof t=="object"&&!Array.isArray(t)?t:void 0}catch{return}}function he(e,t){const n=e==null?void 0:e[t];return typeof n=="string"&&n.length>0?n:void 0}function Zm(e){const t=Wn(e);if(t){if(Array.isArray(t.content))for(const n of t.content){const s=typeof(n==null?void 0:n.text)=="string"?Wn(n.text):void 0;if(s)return s}return t}}function ha(e){const t=cl(e.toolName);if(t!=="chat_send"&&t!=="session_start"&&t!=="chat_stop")return null;const n=Wn(e.input),s=Zm(e.result),o=ep(e,s),a=o===void 0&&(s==null?void 0:s.status)==="approval_required",i=he(n,"delivery");return{tool:t,...he(n,t==="chat_stop"?"chat":"to")!==void 0?{to:he(n,t==="chat_stop"?"chat":"to")}:{},...he(n,t==="session_start"?"prompt":"message")!==void 0?{message:he(n,t==="session_start"?"prompt":"message")}:{},...he(n,"summary")!==void 0?{summary:he(n,"summary")}:{},...i==="queue"||i==="steer"||i==="interrupt"?{delivery:i}:{},...he(n,"reason")!==void 0?{reason:he(n,"reason")}:{},...he(s,"messageId")!==void 0?{messageId:he(s,"messageId")}:{},...(he(s,"chatId")??he(s,"sessionId"))!==void 0?{chatId:he(s,"chatId")??he(s,"sessionId")}:{},...o!==void 0?{error:o}:{},...a?{waiting:a}:{},...t==="chat_stop"&&o===void 0&&(s==null?void 0:s.stopped)===!1?{notRunning:!0}:{},...he(s,"note")!==void 0?{note:he(s,"note")}:{}}}const Lt="It could not be sent.";function ep(e,t){var n;if((t==null?void 0:t.status)==="denied")return he(t,"message")??Lt;if((t==null?void 0:t.ok)===!1||typeof(t==null?void 0:t.error)=="string")return he(t,"error")??he(t,"message")??Lt;if(e.status==="error")return t?he(t,"error")??he(t,"message")??Lt:((n=e.result)==null?void 0:n.trim())||Lt}function tp(e,t=60){const n=e.trim().split(new RegExp("(?<=[.!?])\\s"))[0]??"";if(n.length<=t)return n;const s=n.slice(0,t),o=s.lastIndexOf(" ");return`${(o>t/2?s.slice(0,o):s).replace(/[\s,;:.]+$/,"")}…`}function np(e,t){if(e){for(let n=t.length-1;n>=0;n--)if(t[n].to.chatId===e)return t[n].to}}function sp(e,t){if(e.messageId)return t.find(n=>n.id===e.messageId);if(e.tool==="session_start"&&e.chatId)return t.find(n=>n.kind==="start"&&n.to.chatId===e.chatId)}function rp(e,t){if(e&&e.trim())return e.trim();const s=((t??"").split(`
|
|
35
|
+
`).find(o=>o.trim()!=="")??"").replace(/^#+\s*/,"").trim();return s.length>72?`${s.slice(0,71)}…`:s}function op(e,t){if(t.error)return{label:"Failed",tone:"error"};if(t.waiting)return{label:"Waiting for approval",tone:"muted"};if(!e)return{label:t.pending?"Sending":"Sent",tone:"muted"};switch(e.status){case"queued":return{label:e.position?`Queued · #${e.position}`:"Queued",tone:"muted"};case"steered":return{label:"Steered in",tone:"done"};case"working":return{label:e.delivery==="interrupt"?"Interrupted, working":"Working",tone:"active"};case"delivered":return{label:e.delivery==="interrupt"?"Interrupted, then delivered":"Delivered",tone:"done"};case"replied":return{label:"Replied",tone:"done"};case"failed":return{label:"Failed",tone:"error"};default:return{label:"Sent",tone:"muted"}}}function ap(e){const t=[];return e.kind==="report"&&t.push("Report"),e.kind==="start"&&t.push("Started this chat"),e.delivery==="steer"&&t.push("Steered in"),e.delivery==="interrupt"&&t.push("Interrupted"),t}function ga(e,t){var n,s;for(const o of e){if((n=o.chatMessages)!=null&&n.some(i=>i.id===t))return o.id;const a=[...o.toolCalls??[],...(o.parts??[]).filter(i=>i.type==="tool_call")];for(const i of a)if(((s=ha(i))==null?void 0:s.messageId)===t)return o.id}}const ar=new WeakMap;function ip(e,t){if(t.length===0)return e;const n=[];let s=0;const o=a=>{let i=ar.get(a);return i||(i={id:`chat-stop-${a.id}`,role:"user",content:"",parts:[],timestamp:a.at,_chatStop:a},ar.set(a,i)),i};for(const a of e){const i=a.timestamp==="",c=i?Number.NaN:Date.parse(a.timestamp),u=d=>i||!Number.isNaN(c)&&Date.parse(d.at)<c;for(;s<t.length&&u(t[s]);)n.push(o(t[s])),s+=1;n.push(a)}for(;s<t.length;)n.push(o(t[s])),s+=1;return n}function lp({stamp:e}){const t=ap(e);return t.length===0?null:r.jsx(r.Fragment,{children:t.map(n=>r.jsx("span",{"data-testid":"chat-message-tag",className:"bg-muted text-muted-foreground text-2xs rounded px-1.5 py-px leading-4 font-medium",children:n},n))})}function xa({stamp:e}){const t=dt(),n=e.from.chatTitle??"another chat";return r.jsxs("span",{"data-testid":"chat-from-mark",className:"inline-flex min-w-0 flex-wrap items-center gap-1.5 text-xs",children:[r.jsxs("span",{className:"text-muted-foreground inline-flex min-w-0 items-center gap-1",children:[r.jsx("span",{"aria-hidden":!0,children:"·"}),r.jsx("span",{children:"from"}),r.jsx("button",{type:"button",onClick:()=>void t(Ft({session:e.from.chatId,message:e.id})),className:"focus-ring text-foreground/80 hover:text-foreground max-w-48 truncate underline-offset-4 hover:underline",children:n})]}),r.jsx(lp,{stamp:e})]})}function cp({sessionId:e,messageId:t}){const n=dt();return r.jsxs("button",{type:"button","data-testid":"chat-reply-to",onClick:()=>void n(Ft({session:e,message:t})),className:"focus-ring text-muted-foreground hover:text-foreground focus-visible:text-foreground mb-1 inline-flex items-center gap-1 text-xs underline-offset-4 hover:underline",children:[r.jsx(bd,{"aria-hidden":!0,className:"size-3"}),"Reply to your message"]})}function up({stamps:e,sessionId:t}){return r.jsx("div",{className:"space-y-2","data-testid":"received-chat-messages",children:e.map((n,s)=>r.jsxs("div",{"data-testid":"received-chat-message","data-kind":n.kind,className:"border-status-info-border bg-status-info-bg rounded-r-md border-l-2 py-1.5 pr-2 pl-3",children:[n.replyToId&&t&&r.jsx(cp,{sessionId:t,messageId:n.replyToId}),s>0&&r.jsxs("div",{className:"text-muted-foreground mb-1 flex flex-wrap items-center gap-1.5 text-xs",children:[r.jsx("span",{className:"text-foreground/80 font-medium",children:n.from.agentName}),r.jsx(xa,{stamp:n})]}),r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:n.text,isStreaming:!1,...t?{sessionId:t}:{}})})]},n.id))})}function dp({stamp:e}){const t=dt(),n=e.roomLabel??"a room";return r.jsxs("span",{"data-testid":"room-post-mark",className:"text-muted-foreground inline-flex min-w-0 items-center gap-1 text-xs",children:[r.jsx("span",{"aria-hidden":!0,children:"·"}),r.jsx("span",{children:"in"}),r.jsx("button",{type:"button","aria-label":`Open ${n}`,onClick:()=>void t({...ul.channels(),search:{id:e.roomId}}),className:"focus-ring text-foreground/80 hover:text-foreground max-w-48 truncate underline-offset-4 hover:underline",children:n})]})}const fp={muted:"text-muted-foreground",active:"text-foreground",done:"text-muted-foreground",error:"text-destructive"};function mp(e){return e.charAt(0).toUpperCase()+e.slice(1)}function pp(e,t,n){if(e.error)return e.error;if(e.waiting)return"Waiting for a person to approve it.";if(e.tool==="chat_stop")return e.note??(e.notRunning?"Nothing was running there.":"Asked it to stop.");if(!t)return e.note??"Sent.";const s=mp(n);switch(t.status){case"queued":return t.position?`Waiting for ${n} to finish its turn. Number ${t.position} in line.`:`Waiting for ${n} to finish its turn.`;case"steered":return`Joined ${n}’s running turn.`;case"working":return t.delivery==="interrupt"?`Stopped ${n}’s turn. ${s} is on this now.`:`${s} is working on it.`;case"delivered":return`${s} read it and finished its turn.`;case"replied":return`${s} replied.`;case"failed":return t.failureReason??"It was not delivered.";default:return"Sent."}}function hp(e,t){return e.error?{label:"Failed",tone:"error"}:e.waiting?{label:"Waiting for approval",tone:"muted"}:t?{label:"Stopping",tone:"muted"}:e.notRunning?{label:"Not running",tone:"muted"}:{label:"Stopped",tone:"done"}}function gp({part:e,sent:t,at:n,sessionId:s}){const[o,a]=l.useState(!1),i=l.useId(),c=dt(),u=ha(e);if(!u)return null;const d=e.status==="pending"||e.status==="running",m=sp(u,t),h=(m==null?void 0:m.to.chatId)??u.chatId??(u.tool==="chat_stop"?u.to:void 0),f=(m==null?void 0:m.to)??np(h,t),x=(f==null?void 0:f.agentName)??"the agent",g=f==null?void 0:f.chatTitle,S=Dt({id:(f==null?void 0:f.agentId)??u.to??h??"chat"}),b=u.tool==="chat_stop"?hp(u,d):op(m,{...u,pending:d}),k=rp((m==null?void 0:m.summary)??u.summary,(m==null?void 0:m.text)??u.message),v=n?zn(n):m?zn(m.sentAt):"",y=u.error??((m==null?void 0:m.status)==="failed"?m.failureReason:void 0),p=y?tp(y):u.tool==="chat_stop"?u.reason:k!==g?k:"",j=u.tool==="session_start"?vd:u.tool==="chat_stop"?uo:dl,_=u.tool==="session_start"?"Started spin-off chat":u.tool==="chat_stop"?u.error||u.notRunning?"Tried to stop":"Stopped":"To",D=u.tool==="session_start"?g??(k||"a new chat"):u.tool==="chat_stop"?g??"a chat":(f==null?void 0:f.agentName)??g??"a chat",A=()=>{h&&c(Ft({session:h,...m?{message:m.id}:{}}))};return r.jsxs("div",{"data-testid":"sent-chat-card","data-tool":u.tool,"data-state":b.label,className:"border-border/70 bg-background my-1.5 rounded-lg border text-sm",children:[r.jsxs("button",{type:"button",onClick:()=>a(N=>!N),"aria-expanded":o,...o?{"aria-controls":i}:{},className:"focus-ring hover:bg-muted/40 flex w-full min-w-0 items-center gap-2 rounded-lg px-3 py-2 text-left transition-colors duration-150",children:[r.jsx(lo,{size:"xs",emoji:S.emoji,color:S.color}),r.jsx(j,{"aria-hidden":!0,className:"text-muted-foreground hidden size-3.5 shrink-0 sm:block"}),r.jsxs("span",{className:"min-w-0 flex-1 truncate",children:[r.jsxs("span",{className:"text-muted-foreground",children:[_," "]}),r.jsx("span",{className:"font-medium",children:D}),u.tool==="chat_send"&&g&&(f==null?void 0:f.agentName)&&r.jsxs("span",{className:"text-muted-foreground",children:[" · ",g]}),p&&(u.tool!=="session_start"||y)&&r.jsxs("span",{"data-testid":"sent-chat-aside",className:H("text-muted-foreground",!y&&"hidden sm:inline"),children:[" ","· ",p]})]}),r.jsxs("span",{className:"flex shrink-0 items-center gap-2",children:[r.jsx("span",{className:H("text-xs",fp[b.tone]),"data-testid":"sent-chat-state",children:b.label}),v&&r.jsx("time",{className:"text-muted-foreground hidden text-xs tabular-nums sm:inline",children:v}),r.jsx(Tt,{"aria-hidden":!0,className:H("text-muted-foreground size-3.5 transition-transform duration-200",o&&"rotate-180")})]})]}),o&&r.jsxs("div",{id:i,className:"border-border/60 space-y-2 border-t px-3 py-2",children:[((m==null?void 0:m.text)??u.message??u.reason)&&r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:(m==null?void 0:m.text)??u.message??u.reason??"",isStreaming:!1,...s?{sessionId:s}:{}})}),r.jsxs("p",{className:"text-muted-foreground text-xs",children:[pp(u,m,x),u.note&&u.tool!=="chat_stop"&&m?` ${u.note}`:""]}),h&&!u.error&&!u.waiting&&r.jsx("button",{type:"button",onClick:A,className:"focus-ring text-foreground text-xs font-medium underline-offset-4 hover:underline",children:"Open chat →"})]})]})}function xp({notice:e}){const t=dt();return r.jsxs("div",{"data-testid":"chat-stop-line",className:"text-muted-foreground flex flex-wrap items-center gap-1.5 text-xs",children:[r.jsx(uo,{"aria-hidden":!0,className:"size-3.5 shrink-0"}),r.jsxs("span",{children:["Stopped by ",r.jsx("span",{className:"text-foreground/80 font-medium",children:e.by.agentName})," · ",r.jsx("button",{type:"button",onClick:()=>void t(Ft({session:e.by.chatId})),className:"focus-ring hover:text-foreground underline-offset-4 hover:underline",children:e.by.chatTitle??"another chat"}),e.reason?`: ${e.reason}`:""]})]})}const bp={sent:[],stops:[]},yp=new hl;function ba(e){const t=fl(),n=l.useContext(ml),s=pl(e??""),{data:o}=Ye({queryKey:["chat-activity",e,s],queryFn:()=>t.getChatActivity(e),enabled:!!e&&t!==null&&n!==void 0,placeholderData:(a,i)=>(i==null?void 0:i.queryKey[1])===e?a:void 0,staleTime:3e4},n??yp);return o??bp}function xs(e){const t=[],n=[];for(const s of e)s.type==="text"?t.push(s.text):s.type==="tool_call"&&n.push({toolCallId:s.toolCallId,toolName:s.toolName,input:s.input||"",result:s.result,progressOutput:s.progressOutput,status:s.status,interactiveType:s.interactiveType,questions:s.questions,answers:s.answers,timeoutMs:s.timeoutMs,hooks:s.hooks,startedAt:s.startedAt,completedAt:s.completedAt,approvalStartedAt:s.approvalStartedAt,approvalRemainingMs:s.approvalRemainingMs,approvalParked:s.approvalParked,approvalTitle:s.approvalTitle,approvalDisplayName:s.approvalDisplayName,approvalDescription:s.approvalDescription,approvalBlockedPath:s.approvalBlockedPath,approvalDecisionReason:s.approvalDecisionReason,approvalHasSuggestions:s.approvalHasSuggestions,approvalAlwaysAllowScope:s.approvalAlwaysAllowScope});return{content:t.join(`
|
|
36
|
+
`),toolCalls:n}}const ir=new WeakMap;function kp(e){let t=ir.get(e);return t||(t=e.map(ot),ir.set(e,t)),t}function ot(e){const t=e.parts?[...e.parts]:[];if(t.length===0&&(e.content&&t.push({type:"text",text:e.content}),e.toolCalls))for(const s of e.toolCalls)t.push({type:"tool_call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.input,result:s.result,status:s.status,...s.questions||s.questionOutcome?{interactiveType:"question",questions:s.questions,answers:s.answers,questionOutcome:s.questionOutcome}:{},...s.approvalOutcome?{interactiveType:"approval",approvalOutcome:s.approvalOutcome,approvalResolvedAt:s.approvalResolvedAt,approvalStartedAt:s.approvalStartedAt,approvalReasonGiven:s.approvalReasonGiven}:{}});const n=xs(t);return{id:e.id,role:e.role,content:n.content,toolCalls:n.toolCalls.length>0?n.toolCalls:void 0,parts:t,timestamp:e.timestamp||"",messageType:e.messageType,compactMetadata:e.compactMetadata,commandName:e.commandName,commandArgs:e.commandArgs,...e.chatMessages&&e.chatMessages.length>0?{chatMessages:e.chatMessages}:{},...e.roomMessage?{roomMessage:e.roomMessage}:{}}}function vp(e,t,n){const s=new Set(e.map(d=>d.id)),o=e.filter(d=>d._streaming),a=o.find(d=>d.role==="user"),i=o.find(d=>d.role==="assistant"),c=[];let u=-1;for(let d=0;d<t.length;d++){const m=t[d];if(!s.has(m.id)){if(a&&m.role==="user"&&m.content===a.content){u=d,n(h=>h.map(f=>f.id===a.id?{...ot(m),_streaming:!1}:f));continue}if(i&&u>=0&&d===u+1&&m.role==="assistant"){const h=ot(m),f=new Set(h.parts.filter(S=>S.type==="background_task").map(S=>S.taskId)),x=i.parts.filter(S=>S.type==="background_task"&&!f.has(S.taskId)),g=x.length>0?[...h.parts,...x]:h.parts;n(S=>S.map(b=>b.id===i.id?{...h,parts:g,_streaming:!1}:b));continue}c.push(m)}}c.length>0&&n(d=>[...d,...c.map(ot)])}const Cp=20;function Sp(e,t){var k;const n=ke(),s=gl(e),o=Pe(v=>v.seeks[e]),[a,i]=l.useState(null),c=l.useRef(null),u=a===e,d=l.useRef({key:"",count:0}),m=s.windowStartId!==null&&((k=t[0])==null?void 0:k.id)===s.windowStartId,h=l.useMemo(()=>m?s.earlier.map(ot):[],[m,s.earlier]),f=l.useMemo(()=>h.length>0?[...h,...t]:t,[h,t]),x=m&&s.remaining>0,g=m?s.remaining:0,S=l.useCallback(()=>{var p;if(c.current===e||!x)return;const{generation:v}=s,y=((p=s.earlier[0])==null?void 0:p.id)??s.windowStartId;y&&(c.current=e,i(e),n.getMessages(e,void 0,{before:y}).then(j=>{Pe.getState().prependPage(e,v,j.messages,j.earlierMessages??0)}).catch(j=>{console.warn("[chat] could not read earlier messages",j),Pe.getState().endSeek(e)}).finally(()=>{c.current===e&&(c.current=null,i(null))}))},[x,e,n,s]),b=o!==void 0&&(f.some(v=>v.id===o)||ga([...s.earlier,...Ee.getState().getSession(e).messages],o)!==void 0);return l.useEffect(()=>{if(o===void 0){d.current={key:"",count:0};return}const v=`${e}:${o}`;if(d.current.key!==v&&(d.current={key:v,count:0}),!(s.generation===0||u)){if(b||!x||d.current.count>=Cp){Pe.getState().endSeek(e);return}d.current.count+=1,S()}},[o,b,x,u,S,e,s.generation]),{messages:f,earlierCount:h.length,messagesBefore:g,canLoadEarlier:x,isLoadingEarlier:u,isSeeking:o!==void 0,loadEarlier:S}}function jp({celebration:e,onComplete:t}){const n=l.useRef(null),s=(e==null?void 0:e.level)==="major",o=l.useCallback(()=>{t()},[t]);return l.useEffect(()=>{if(!s)return;let a=!1;xl({kind:"burst"}).then(c=>{if(a){c();return}n.current=c});const i=setTimeout(()=>{o()},en.CELEBRATION_DISPLAY_MS);return()=>{var c;a=!0,(c=n.current)==null||c.call(n),n.current=null,clearTimeout(i)}},[s,o]),r.jsx(fe,{children:s&&r.jsx(K.div,{"aria-hidden":"true",className:"pointer-events-none fixed inset-0 z-50",initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:1.1},transition:{duration:.6,ease:"easeOut"},style:Ad})})}const bs=l.createContext(null);function _p({children:e,value:t}){const n=l.useMemo(()=>t,[t.sessionId,t.isStreaming,t.isLatestWidgetMessage,t.isFinalMessage,t.activeToolCallId,t.onToolRef,t.focusedOptionIndex,t.onToolDecided,t.onRetry,t.onSigninComplete,t.onChooseModel,t.inputZoneToolCallId,t.textEffect,t.runtimeLabel,t.allowsDenyReason]);return r.jsx(bs,{value:n,children:e})}function wp(){const e=l.useContext(bs);if(!e)throw new Error("useMessageContext must be used within MessageProvider");return e}function Np(){return l.useContext(bs)}function Ep(e){if(e<1e3)return"<1s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;return`${n}m ${s}s`}function Dp({text:e,isStreaming:t,elapsedMs:n}){const[s,o]=l.useState(t),a=l.useRef(t),i=l.useRef(null);l.useEffect(()=>{a.current&&!t&&o(!1),a.current=t},[t]),l.useEffect(()=>{t&&s&&i.current&&(i.current.scrollTop=i.current.scrollHeight)},[e,t,s]);const c=n?`Thought for ${Ep(n)}`:"Thinking…";return r.jsx(Rt,{expanded:s,onToggle:()=>o(!s),variant:"thinking",dimmed:!t,disabled:t,ariaLabel:c,"data-testid":"thinking-block","data-streaming":t?"true":void 0,header:r.jsxs(r.Fragment,{children:[r.jsx(xd,{className:H("text-muted-foreground size-(--size-icon-xs)",t&&"animate-breath")}),r.jsx("span",{className:H("text-3xs text-muted-foreground font-mono",t&&"animate-breath"),children:c})]}),children:r.jsx("div",{ref:i,className:"max-h-32 overflow-y-auto",children:r.jsx("pre",{className:"text-muted-foreground text-xs break-words whitespace-pre-wrap",children:e})})})}function Tp({mode:e,memories:t,isStreaming:n}){const[s,o]=l.useState(n),a=l.useRef(n);if(l.useEffect(()=>{a.current&&!n&&o(!1),a.current=n},[n]),t.length===0)return null;const i=t.length,c=n?i<=1?"Consulting memory…":`Consulting ${i} memories…`:i===1?"Recalled 1 memory":`Recalled ${i} memories`,u=e==="synthesize"?bl:yl,d=e==="synthesize"?"sparkles":"bookopen";return r.jsx(Rt,{expanded:s,onToggle:()=>o(!s),variant:"memory",dimmed:!n,disabled:n,ariaLabel:c,"data-testid":"memory-recall-block","data-streaming":n?"true":void 0,header:r.jsxs(r.Fragment,{children:[r.jsx(u,{"aria-hidden":"true","data-testid":"memory-recall-header-icon","data-icon":d,className:H("text-muted-foreground size-(--size-icon-xs)",n&&"animate-breath")}),r.jsx("span",{className:H("text-3xs text-muted-foreground font-mono",n&&"animate-breath"),children:c})]}),children:r.jsx(Ap,{memories:t})})}function Ap({memories:e}){return r.jsx("ul",{className:"flex flex-col gap-1 px-3 py-2",children:e.map(t=>r.jsx(Fp,{memory:t},t.path))})}function Fp({memory:e}){const t=e.path.startsWith("<synthesis:"),n=e.scope==="team"?kl:vl,s=e.scope==="team"?"team":"personal",{copy:o}=Cl({toastOnSettle:!0}),a=()=>{const i=t&&e.content?e.content:e.path;o(i)};if(t&&e.content){const i=e.path.replace(/^<synthesis:/,"synthesis:").replace(/>$/,"");return r.jsx("li",{children:r.jsxs("button",{type:"button",onClick:a,"aria-label":`Copy synthesized ${s} memory content`,"data-scope":e.scope,className:"focus-ring hover:bg-muted/50 flex min-h-[44px] w-full flex-col items-start gap-1 rounded-md px-2 py-1 text-left transition-colors duration-150",children:[r.jsx("span",{className:"text-sm",children:e.content}),r.jsxs("span",{className:"text-3xs text-muted-foreground flex items-center gap-1 font-mono",children:[r.jsx(n,{"aria-hidden":"true",className:"size-(--size-icon-xs)"}),i]})]})})}return r.jsx("li",{children:r.jsxs("button",{type:"button",onClick:a,"aria-label":`Copy ${s} memory path ${e.path}`,"data-scope":e.scope,className:"focus-ring hover:bg-muted/50 flex min-h-[44px] w-full items-center gap-2 rounded-md px-2 py-1 text-left transition-colors duration-150",children:[r.jsx("span",{className:"flex-1 truncate font-mono text-sm",children:Od(e.path,40)}),r.jsx(n,{"aria-hidden":"true",className:"text-muted-foreground size-(--size-icon-xs)"})]})})}function Kt(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function ya(e){return e===void 0?"Summarized (asked by the agent)":`Summarized at ${e}% (asked by the agent)`}function Rp(e){if((e==null?void 0:e.requestedBy)==="agent")return ya(e.contextPercent);const t=["Context compacted"];return(e==null?void 0:e.preTokens)!==void 0&&t.push(`${Kt(e.preTokens)} tokens`),e!=null&&e.trigger&&t.push(e.trigger),t.join(" · ")}function Mp(e,t){return e===void 0?"Compacted context":t===void 0?`Compacted context · ${Kt(e)} tokens summarized`:`Compacted context · ${Kt(e)} → ${Kt(t)} tokens`}function Op({trigger:e,preTokens:t,postTokens:n,failed:s,error:o,requestedBy:a,contextPercent:i}){return s?r.jsx(Ve,{"data-testid":"compact-boundary-row","data-failed":"true",icon:r.jsx(ds,{"aria-hidden":"true",className:"text-status-warning-dot size-3 shrink-0"}),label:r.jsx("span",{className:"text-status-warning-fg",children:a==="agent"?"Couldn’t compact (asked by the agent)":"Couldn’t compact"}),children:o?r.jsx("p",{className:"text-muted-foreground mt-1 text-xs",children:o}):null}):a==="agent"?r.jsx(Ve,{"data-testid":"compact-boundary-row","data-requested-by":"agent",icon:r.jsx($s,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:ya(i)})}):r.jsx(Ve,{"data-testid":"compact-boundary-row",icon:r.jsx($s,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:Mp(t,n)}),trailing:e?r.jsx("span",{"data-testid":"compact-boundary-trigger",className:"text-3xs text-muted-foreground/70 ml-auto font-mono uppercase",children:e}):void 0})}function Ip({part:e}){const[t,n]=l.useState(!1);return t?r.jsxs("div",{"data-testid":"message-image-missing",className:H("my-3 flex items-center gap-2 rounded-md border px-3 py-2","text-muted-foreground border-border/60 bg-muted/30 text-sm"),children:[r.jsx(Yu,{"aria-hidden":"true",className:"size-4 shrink-0"}),r.jsx("span",{children:e.alt?`${e.alt}, not available`:"This image is not available."})]}):r.jsx("figure",{className:"my-3","data-testid":"message-image",children:r.jsx(fo,{image:{src:e.url,alt:e.alt??"Image produced by the agent"},className:"block",children:r.jsx("img",{src:e.url,alt:e.alt??"Image produced by the agent",loading:"lazy",decoding:"async",onError:()=>n(!0),className:"border-border/60 bg-muted/20 max-h-[32rem] max-w-full rounded-md border object-contain"})})})}function $p({content:e}){return r.jsx(Ve,{"data-testid":"staged-context-note",icon:r.jsx(mo,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:"Added context for the next reply"}),children:r.jsx("p",{className:"text-muted-foreground/80 mt-1 text-xs whitespace-pre-wrap",children:e})})}function Pp(e){if(e<1e3)return"<1s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60),s=t%60;return`${n}m ${s}s`}function Lp(e){return e==="untracked"?"neutral":e==="stopped"?"complete":e}function zp(e){const t=[];return e.toolUses&&t.push(`${e.toolUses} tool ${e.toolUses===1?"call":"calls"}`),e.durationMs&&t.push(Pp(e.durationMs)),t.length>0?t.join(" · "):null}function Bp({part:e}){const[t,n]=l.useState(!1),s=l.useRef(null),o=zp(e),a=e.subagentText,i=e.status==="untracked",c=!!(o||e.summary||e.lastToolName||a||i);return l.useEffect(()=>{const u=s.current;u&&(u.scrollTop=u.scrollHeight)},[a]),r.jsx(Rt,{expanded:t,onToggle:()=>c&&n(!t),hideChevron:!c,ariaLabel:`Background task: ${e.description}`,"data-testid":"subagent-block","data-task-id":e.taskId,"data-status":e.status,header:r.jsxs(r.Fragment,{children:[fa(Lp(e.status)),r.jsx("span",{className:"text-3xs truncate font-mono",children:e.description}),o&&r.jsx("span",{className:"text-3xs text-muted-foreground ml-1 shrink-0",children:o})]}),children:r.jsxs("div",{className:"space-y-1.5",children:[a&&r.jsxs("div",{className:"space-y-1",children:[r.jsx("p",{className:"text-3xs text-muted-foreground/70 tracking-wide uppercase",children:"Helper output"}),r.jsx("pre",{ref:s,className:"text-foreground/90 bg-muted/50 max-h-64 overflow-y-auto rounded-md p-2 text-xs break-words whitespace-pre-wrap","data-testid":"subagent-text",children:a})]}),e.lastToolName&&e.status==="running"&&r.jsxs("p",{className:"text-3xs text-muted-foreground",children:["Last tool: ",r.jsx("span",{className:"font-mono",children:e.lastToolName})]}),e.summary&&r.jsx("pre",{className:"overflow-x-auto text-xs whitespace-pre-wrap",children:e.summary}),i&&r.jsx("p",{className:"text-3xs text-muted-foreground","data-testid":"subagent-untracked",children:"No longer tracked. It may still be running."})]})})}const qp=e=>typeof e=="boolean"||e instanceof Boolean,Up=e=>typeof e=="number"||e instanceof Number,Hp=e=>typeof e=="bigint"||e instanceof BigInt,ka=e=>!!e&&e instanceof Date,Wp=e=>typeof e=="string"||e instanceof String,Gp=e=>Array.isArray(e),va=e=>typeof e=="object"&&e!==null,Ca=e=>!!e&&e instanceof Object&&typeof e=="function";function Xt(e,t){return t===void 0&&(t=!1),!e||t?`"${e}"`:e}function Vp(e,t,n){return n?JSON.stringify(e):t?`"${e}"`:e}function Sa(e){let{field:t,value:n,data:s,lastElement:o,openBracket:a,closeBracket:i,level:c,style:u,shouldExpandNode:d,clickToExpandNode:m,outerRef:h,beforeExpandChange:f}=e;const x=l.useRef(!1),[g,S]=l.useState(()=>d(c,n,t)),b=l.useRef(null);l.useEffect(()=>{x.current?S(d(c,n,t)):x.current=!0},[d]);const k=l.useId();if(s.length===0)return Kp({field:t,openBracket:a,closeBracket:i,lastElement:o,style:u});const v=g?u.collapseIcon:u.expandIcon,y=g?u.ariaLables.collapseJson:u.ariaLables.expandJson,p=c+1,j=s.length-1,_=N=>{g!==N&&(!f||f({level:c,value:n,field:t,newExpandValue:N}))&&S(N)},D=N=>{if(N.key==="ArrowRight"||N.key==="ArrowLeft")N.preventDefault(),_(N.key==="ArrowRight");else if(N.key==="ArrowUp"||N.key==="ArrowDown"){N.preventDefault();const T=N.key==="ArrowUp"?-1:1;if(!h.current)return;const C=h.current.querySelectorAll("[role=button]");let E=-1;for(let R=0;R<C.length;R++)if(C[R].tabIndex===0){E=R;break}if(E<0)return;const w=(E+T+C.length)%C.length;C[E].tabIndex=-1,C[w].tabIndex=0,C[w].focus()}},A=()=>{var N;_(!g);const T=b.current;if(!T)return;const C=(N=h.current)===null||N===void 0?void 0:N.querySelector('[role=button][tabindex="0"]');C&&(C.tabIndex=-1),T.tabIndex=0,T.focus()};return l.createElement("div",{className:u.basicChildStyle,role:"treeitem","aria-expanded":g,"aria-selected":void 0},l.createElement("span",{className:v,onClick:A,onKeyDown:D,role:"button","aria-label":y,"aria-expanded":g,"aria-controls":g?k:void 0,ref:b,tabIndex:c===0?0:-1}),(t||t==="")&&(m?l.createElement("span",{className:u.clickableLabel,onClick:A,onKeyDown:D},Xt(t,u.quotesForFieldNames),":"):l.createElement("span",{className:u.label},Xt(t,u.quotesForFieldNames),":")),l.createElement("span",{className:u.punctuation},a),g?l.createElement("ul",{id:k,role:"group",className:u.childFieldsContainer},s.map((N,T)=>l.createElement(Gn,{key:N[0]||T,field:N[0],value:N[1],style:u,lastElement:T===j,level:p,shouldExpandNode:d,clickToExpandNode:m,beforeExpandChange:f,outerRef:h}))):l.createElement("span",{className:u.collapsedContent,onClick:A,onKeyDown:D}),l.createElement("span",{className:u.punctuation},i),!o&&l.createElement("span",{className:u.punctuation},","))}function Kp(e){let{field:t,openBracket:n,closeBracket:s,lastElement:o,style:a}=e;return l.createElement("div",{className:a.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&l.createElement("span",{className:a.label},Xt(t,a.quotesForFieldNames),":"),l.createElement("span",{className:a.punctuation},n),l.createElement("span",{className:a.punctuation},s),!o&&l.createElement("span",{className:a.punctuation},","))}function Qp(e){let{field:t,value:n,style:s,lastElement:o,shouldExpandNode:a,clickToExpandNode:i,level:c,outerRef:u,beforeExpandChange:d}=e;return Sa({field:t,value:n,lastElement:o||!1,level:c,openBracket:"{",closeBracket:"}",style:s,shouldExpandNode:a,clickToExpandNode:i,data:Object.keys(n).map(m=>[m,n[m]]),outerRef:u,beforeExpandChange:d})}function Yp(e){let{field:t,value:n,style:s,lastElement:o,level:a,shouldExpandNode:i,clickToExpandNode:c,outerRef:u,beforeExpandChange:d}=e;return Sa({field:t,value:n,lastElement:o||!1,level:a,openBracket:"[",closeBracket:"]",style:s,shouldExpandNode:i,clickToExpandNode:c,data:n.map(m=>[void 0,m]),outerRef:u,beforeExpandChange:d})}function Xp(e){let{field:t,value:n,style:s,lastElement:o}=e,a,i=s.otherValue;return n===null?(a="null",i=s.nullValue):n===void 0?(a="undefined",i=s.undefinedValue):Wp(n)?(a=Vp(n,!s.noQuotesForStringValues,s.stringifyStringValues),i=s.stringValue):qp(n)?(a=n?"true":"false",i=s.booleanValue):Up(n)?(a=n.toString(),i=s.numberValue):Hp(n)?(a=`${n.toString()}n`,i=s.numberValue):ka(n)?a=n.toISOString():Ca(n)?a="function() { }":a=n.toString(),l.createElement("div",{className:s.basicChildStyle,role:"treeitem","aria-selected":void 0},(t||t==="")&&l.createElement("span",{className:s.label},Xt(t,s.quotesForFieldNames),":"),l.createElement("span",{className:i},a),!o&&l.createElement("span",{className:s.punctuation},","))}function Gn(e){const t=e.value;return Gp(t)?l.createElement(Yp,Object.assign({},e)):va(t)&&!ka(t)&&!Ca(t)?l.createElement(Qp,Object.assign({},e)):l.createElement(Xp,Object.assign({},e))}var ne={"container-light":"_2IvMF _GzYRV","basic-element-style":"_2bkNM","child-fields-container":"_1BXBN","label-light":"_1MGIk","clickable-label-light":"_2YKJg _1MGIk _1MFti","punctuation-light":"_3uHL6 _3eOF8","value-null-light":"_2T6PJ","value-undefined-light":"_1Gho6","value-string-light":"_vGjyY","value-number-light":"_1bQdo","value-boolean-light":"_3zQKs","value-other-light":"_1xvuR","collapse-icon-light":"_oLqym _f10Tu _1MFti _1LId0","expand-icon-light":"_2AXVT _f10Tu _1MFti _1UmXx","collapsed-content-light":"_2KJWg _1pNG9 _1MFti","container-dark":"_11RoI _GzYRV","expand-icon-dark":"_17H2C _f10Tu _1MFti _1UmXx","collapse-icon-dark":"_3QHg2 _f10Tu _1MFti _1LId0","collapsed-content-dark":"_3fDAz _1pNG9 _1MFti","label-dark":"_2bSDX","clickable-label-dark":"_1RQEj _2bSDX _1MFti","punctuation-dark":"_gsbQL _3eOF8","value-null-dark":"_LaAZe","value-undefined-dark":"_GTKgm","value-string-dark":"_Chy1W","value-number-dark":"_2bveF","value-boolean-dark":"_2vRm-","value-other-dark":"_1prJR"};const ja={collapseJson:"collapse JSON",expandJson:"expand JSON"},_n={container:ne["container-light"],basicChildStyle:ne["basic-element-style"],childFieldsContainer:ne["child-fields-container"],label:ne["label-light"],clickableLabel:ne["clickable-label-light"],nullValue:ne["value-null-light"],undefinedValue:ne["value-undefined-light"],stringValue:ne["value-string-light"],booleanValue:ne["value-boolean-light"],numberValue:ne["value-number-light"],otherValue:ne["value-other-light"],punctuation:ne["punctuation-light"],collapseIcon:ne["collapse-icon-light"],expandIcon:ne["expand-icon-light"],collapsedContent:ne["collapsed-content-light"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:ja,stringifyStringValues:!1},Jp={container:ne["container-dark"],basicChildStyle:ne["basic-element-style"],childFieldsContainer:ne["child-fields-container"],label:ne["label-dark"],clickableLabel:ne["clickable-label-dark"],nullValue:ne["value-null-dark"],undefinedValue:ne["value-undefined-dark"],stringValue:ne["value-string-dark"],booleanValue:ne["value-boolean-dark"],numberValue:ne["value-number-dark"],otherValue:ne["value-other-dark"],punctuation:ne["punctuation-dark"],collapseIcon:ne["collapse-icon-dark"],expandIcon:ne["expand-icon-dark"],collapsedContent:ne["collapsed-content-dark"],noQuotesForStringValues:!1,quotesForFieldNames:!1,ariaLables:ja,stringifyStringValues:!1},Zp=()=>!0,eh=e=>e<1,th=e=>{let{data:t,style:n=_n,shouldExpandNode:s=Zp,clickToExpandNode:o=!1,beforeExpandChange:a,compactTopLevel:i,...c}=e;const u=l.useRef(null);return l.createElement("div",Object.assign({"aria-label":"JSON view"},c,{className:n.container,ref:u,role:"tree"}),i&&va(t)?Object.entries(t).map(d=>{let[m,h]=d;return l.createElement(Gn,{key:m,field:m,value:h,style:{..._n,...n},lastElement:!0,level:1,shouldExpandNode:s,clickToExpandNode:o,beforeExpandChange:a,outerRef:u})}):l.createElement(Gn,{value:t,style:{..._n,...n},lastElement:!0,level:0,shouldExpandNode:s,clickToExpandNode:o,outerRef:u,beforeExpandChange:a}))};var Te={},wn,lr;function nh(){if(lr)return wn;lr=1;const e=[[{color:"0, 0, 0",class:"ansi-black"},{color:"187, 0, 0",class:"ansi-red"},{color:"0, 187, 0",class:"ansi-green"},{color:"187, 187, 0",class:"ansi-yellow"},{color:"0, 0, 187",class:"ansi-blue"},{color:"187, 0, 187",class:"ansi-magenta"},{color:"0, 187, 187",class:"ansi-cyan"},{color:"255,255,255",class:"ansi-white"}],[{color:"85, 85, 85",class:"ansi-bright-black"},{color:"255, 85, 85",class:"ansi-bright-red"},{color:"0, 255, 0",class:"ansi-bright-green"},{color:"255, 255, 85",class:"ansi-bright-yellow"},{color:"85, 85, 255",class:"ansi-bright-blue"},{color:"255, 85, 255",class:"ansi-bright-magenta"},{color:"85, 255, 255",class:"ansi-bright-cyan"},{color:"255, 255, 255",class:"ansi-bright-white"}]],t=/(https?:\/\/(?:[A-Za-z0-9#;/?:@=+$',_.!~*()[\]-]|&|%[A-Fa-f0-9]{2})+)/gm;class n{static escapeForHtml(o){return new n().escapeForHtml(o)}static linkify(o){return new n().linkify(o)}static ansiToHtml(o,a){return new n().ansiToHtml(o,a)}static ansiToJson(o,a){return new n().ansiToJson(o,a)}static ansiToText(o){return new n().ansiToText(o)}constructor(){this.fg=this.bg=this.fg_truecolor=this.bg_truecolor=null,this.bright=0,this.decorations=[]}setupPalette(){this.PALETTE_COLORS=[];for(let c=0;c<2;++c)for(let u=0;u<8;++u)this.PALETTE_COLORS.push(e[c][u].color);let o=[0,95,135,175,215,255],a=(c,u,d)=>o[c]+", "+o[u]+", "+o[d];for(let c=0;c<6;++c)for(let u=0;u<6;++u)for(let d=0;d<6;++d)this.PALETTE_COLORS.push(a(c,u,d));let i=8;for(let c=0;c<24;++c,i+=10)this.PALETTE_COLORS.push(i+", "+i+", "+i)}escapeForHtml(o){return o.replace(/[&<>\"]/gm,a=>a=="&"?"&":a=='"'?""":a=="<"?"<":a==">"?">":"")}linkify(o){return o.replace(t,a=>`<a href="${a}">${a}</a>`)}ansiToHtml(o,a){return this.process(o,a,!0)}ansiToJson(o,a){return a=a||{},a.json=!0,a.clearLine=!1,this.process(o,a,!0)}ansiToText(o){return this.process(o,{},!1)}process(o,a,i){let c=this,u=o.split(/\033\[/),d=u.shift();a==null&&(a={}),a.clearLine=/\r/.test(o);let m=u.map(h=>this.processChunk(h,a,i));if(a&&a.json){let h=c.processChunkJson("");return h.content=d,h.clearLine=a.clearLine,m.unshift(h),a.remove_empty&&(m=m.filter(f=>!f.isEmpty())),m}else m.unshift(d);return m.join("")}processChunkJson(o,a,i){a=typeof a>"u"?{}:a;let c=a.use_classes=typeof a.use_classes<"u"&&a.use_classes,u=a.key=c?"class":"color",d={content:o,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,isInverted:!1,clearLine:a.clearLine,decoration:null,decorations:[],was_processed:!1,isEmpty:()=>!d.content},m=o.match(/^([!\x3c-\x3f]*)([\d;]*)([\x20-\x2c]*[\x40-\x7e])([\s\S]*)/m);if(!m)return d;d.content=m[4];let h=m[2].split(";");if(m[1]!==""||m[3]!=="m"||!i)return d;let f=this;for(;h.length>0;){let x=h.shift(),g=parseInt(x);if(isNaN(g)||g===0)f.fg=f.bg=null,f.decorations=[];else if(g===1)f.decorations.push("bold");else if(g===2)f.decorations.push("dim");else if(g===3)f.decorations.push("italic");else if(g===4)f.decorations.push("underline");else if(g===5)f.decorations.push("blink");else if(g===7)f.decorations.push("reverse");else if(g===8)f.decorations.push("hidden");else if(g===9)f.decorations.push("strikethrough");else if(g===21)f.removeDecoration("bold");else if(g===22)f.removeDecoration("bold"),f.removeDecoration("dim");else if(g===23)f.removeDecoration("italic");else if(g===24)f.removeDecoration("underline");else if(g===25)f.removeDecoration("blink");else if(g===27)f.removeDecoration("reverse");else if(g===28)f.removeDecoration("hidden");else if(g===29)f.removeDecoration("strikethrough");else if(g===39)f.fg=null;else if(g===49)f.bg=null;else if(g>=30&&g<38)f.fg=e[0][g%10][u];else if(g>=90&&g<98)f.fg=e[1][g%10][u];else if(g>=40&&g<48)f.bg=e[0][g%10][u];else if(g>=100&&g<108)f.bg=e[1][g%10][u];else if(g===38||g===48){let S=g===38;if(h.length>=1){let b=h.shift();if(b==="5"&&h.length>=1){let k=parseInt(h.shift());if(k>=0&&k<=255)if(!c)this.PALETTE_COLORS||f.setupPalette(),S?f.fg=this.PALETTE_COLORS[k]:f.bg=this.PALETTE_COLORS[k];else{let v=k>=16?"ansi-palette-"+k:e[k>7?1:0][k%8].class;S?f.fg=v:f.bg=v}}else if(b==="2"&&h.length>=3){let k=parseInt(h.shift()),v=parseInt(h.shift()),y=parseInt(h.shift());if(k>=0&&k<=255&&v>=0&&v<=255&&y>=0&&y<=255){let p=k+", "+v+", "+y;c?S?(f.fg="ansi-truecolor",f.fg_truecolor=p):(f.bg="ansi-truecolor",f.bg_truecolor=p):S?f.fg=p:f.bg=p}}}}}return f.fg===null&&f.bg===null&&f.decorations.length===0||(d.fg=f.fg,d.bg=f.bg,d.fg_truecolor=f.fg_truecolor,d.bg_truecolor=f.bg_truecolor,d.decorations=f.decorations,d.decoration=f.decorations.slice(-1).pop()||null,d.was_processed=!0),d}processChunk(o,a,i){a=a||{};let c=this.processChunkJson(o,a,i),u=a.use_classes;if(c.decorations=c.decorations.filter(g=>{if(g==="reverse"){c.fg||(c.fg=e[0][7][u?"class":"color"]),c.bg||(c.bg=e[0][0][u?"class":"color"]);let S=c.fg;c.fg=c.bg,c.bg=S;let b=c.fg_truecolor;return c.fg_truecolor=c.bg_truecolor,c.bg_truecolor=b,c.isInverted=!0,!1}return!0}),a.json)return c;if(c.isEmpty())return"";if(!c.was_processed)return c.content;let d=[],m=[],h=[],f={},x=g=>{let S=[],b;for(b in g)g.hasOwnProperty(b)&&S.push("data-"+b+'="'+this.escapeForHtml(g[b])+'"');return S.length>0?" "+S.join(" "):""};return c.isInverted&&(f["ansi-is-inverted"]="true"),c.fg&&(u?(d.push(c.fg+"-fg"),c.fg_truecolor!==null&&(f["ansi-truecolor-fg"]=c.fg_truecolor,c.fg_truecolor=null)):d.push("color:rgb("+c.fg+")")),c.bg&&(u?(d.push(c.bg+"-bg"),c.bg_truecolor!==null&&(f["ansi-truecolor-bg"]=c.bg_truecolor,c.bg_truecolor=null)):d.push("background-color:rgb("+c.bg+")")),c.decorations.forEach(g=>{if(u){m.push("ansi-"+g);return}g==="bold"?m.push("font-weight:bold"):g==="dim"?m.push("opacity:0.5"):g==="italic"?m.push("font-style:italic"):g==="hidden"?m.push("visibility:hidden"):g==="strikethrough"?h.push("line-through"):h.push(g)}),h.length&&m.push("text-decoration:"+h.join(" ")),u?'<span class="'+d.concat(m).join(" ")+'"'+x(f)+">"+c.content+"</span>":'<span style="'+d.concat(m).join(";")+'"'+x(f)+">"+c.content+"</span>"}removeDecoration(o){const a=this.decorations.indexOf(o);a>=0&&this.decorations.splice(a,1)}}return wn=n,wn}var xt={exports:{}},cr;function sh(){if(cr)return xt.exports;cr=1;function e(o){if(!o)return"";if(!/\r/.test(o))return o;for(o=o.replace(/\r+\n/gm,`
|
|
37
37
|
`);/\r./.test(o);)o=o.replace(/^([^\r\n]*)\r+([^\r\n]+)/gm,function(a,i,c){return c+i.slice(c.length)});return o}function t(o){for(var a=0,i=0;i<o.length;i++)o[a].length<=o[i].length&&(a=i);return a}function n(o){if(!/\r/.test(o))return o;for(var a=o.split("\r"),i=[];a.length>0;){var c=t(a);i.push(a[c]),a=a.slice(c+1)}return i.join("\r")}function s(o){if(!o)return"";if(!/\r/.test(o))return o;if(!/\n/.test(o))return n(o);o=o.replace(/\r+\n/gm,`
|
|
38
38
|
`);var a=o.lastIndexOf(`
|
|
39
39
|
`);return e(o.slice(0,a))+`
|
|
40
|
-
`+n(o.slice(a+1))}return xt.exports=e,xt.exports.escapeCarriageReturn=e,xt.exports.escapeCarriageReturnSafe=s,xt.exports}var Be={},ur;function rh(){if(ur)return Be;ur=1;var e=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,t=/[\0-\x1F\x7F-\x9F]/,n=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,s=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,o=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,a=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;return Be.Any=e,Be.Cc=t,Be.Cf=n,Be.P=s,Be.S=o,Be.Z=a,Be}var Nn,dr;function oh(){if(dr)return Nn;dr=1;var e=rh();function t(y){const p={};y=y||{},p.src_Any=e.Any.source,p.src_Cc=e.Cc.source,p.src_Z=e.Z.source,p.src_P=e.P.source,p.src_ZPCc=[p.src_Z,p.src_P,p.src_Cc].join("|"),p.src_ZCc=[p.src_Z,p.src_Cc].join("|");const j="[><|]";return p.src_pseudo_letter=`(?:(?!${j}|${p.src_ZPCc})${p.src_Any})`,p.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",p.src_auth=`(?:(?:(?!${p.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`,p.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",p.src_host_terminator=`(?=$|${j}|${p.src_ZPCc})(?!${y["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${p.src_ZPCc}))`,p.src_path=`(?:[/?#](?:(?!${p.src_ZCc}|${j}|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!${p.src_ZCc}|\\]).)*\\]|\\((?:(?!${p.src_ZCc}|[)]).)*\\)|\\{(?:(?!${p.src_ZCc}|[}]).)*\\}|\\"(?:(?!${p.src_ZCc}|["]).)+\\"|\\'(?:(?!${p.src_ZCc}|[']).)+\\'|\\'(?=${p.src_pseudo_letter}|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!${p.src_ZCc}|[.]|$)|`+(y["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+`,(?!${p.src_ZCc}|$)|;(?!${p.src_ZCc}|$)|\\!+(?!${p.src_ZCc}|[!]|$)|\\?(?!${p.src_ZCc}|[?]|$))+|\\/)?`,p.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]{0,63}',p.src_xn="xn--[a-z0-9\\-]{1,59}",p.src_domain_root="(?:"+p.src_xn+`|${p.src_pseudo_letter}{1,63})`,p.src_domain="(?:"+p.src_xn+`|(?:${p.src_pseudo_letter})|(?:${p.src_pseudo_letter}(?:-|${p.src_pseudo_letter}){0,61}${p.src_pseudo_letter}))`,p.src_host=`(?:(?:(?:(?:${p.src_domain})\\.)*${p.src_domain}))`,p.tpl_host_fuzzy="(?:"+p.src_ip4+`|(?:(?:(?:${p.src_domain})\\.)+(?:%TLDS%)))`,p.tpl_host_no_ip_fuzzy=`(?:(?:(?:${p.src_domain})\\.)+(?:%TLDS%))`,p.src_host_strict=p.src_host+p.src_host_terminator,p.tpl_host_fuzzy_strict=p.tpl_host_fuzzy+p.src_host_terminator,p.src_host_port_strict=p.src_host+p.src_port+p.src_host_terminator,p.tpl_host_port_fuzzy_strict=p.tpl_host_fuzzy+p.src_port+p.src_host_terminator,p.tpl_host_port_no_ip_fuzzy_strict=p.tpl_host_no_ip_fuzzy+p.src_port+p.src_host_terminator,p.tpl_host_fuzzy_test=`localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:${p.src_ZPCc}|>|$))`,p.tpl_email_fuzzy=`(^|${j}|"|\\(|${p.src_ZCc})(${p.src_email_name}@${p.tpl_host_fuzzy_strict})`,p.tpl_link_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${p.src_ZPCc}))((?![$+<=>^\`||])${p.tpl_host_port_fuzzy_strict}${p.src_path})`,p.tpl_link_no_ip_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${p.src_ZPCc}))((?![$+<=>^\`||])${p.tpl_host_port_no_ip_fuzzy_strict}${p.src_path})`,p}function n(y){return Array.prototype.slice.call(arguments,1).forEach(function(j){j&&Object.keys(j).forEach(function(w){y[w]=j[w]})}),y}function s(y){return Object.prototype.toString.call(y)}function o(y){return s(y)==="[object String]"}function a(y){return s(y)==="[object Object]"}function i(y){return s(y)==="[object RegExp]"}function c(y){return s(y)==="[object Function]"}function u(y){return y.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const d={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function m(y){return Object.keys(y||{}).reduce(function(p,j){return p||d.hasOwnProperty(j)},!1)}const h={"http:":{validate:function(y,p,j){const w=y.slice(p);return j.re.http||(j.re.http=new RegExp(`^\\/\\/${j.re.src_auth}${j.re.src_host_port_strict}${j.re.src_path}`,"i")),j.re.http.test(w)?w.match(j.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(y,p,j){const w=y.slice(p);return j.re.no_http||(j.re.no_http=new RegExp("^"+j.re.src_auth+`(?:localhost|(?:(?:${j.re.src_domain})\\.)+${j.re.src_domain_root})`+j.re.src_port+j.re.src_host_terminator+j.re.src_path,"i")),j.re.no_http.test(w)?p>=3&&y[p-3]===":"||p>=3&&y[p-3]==="/"?0:w.match(j.re.no_http)[0].length:0}},"mailto:":{validate:function(y,p,j){const w=y.slice(p);return j.re.mailto||(j.re.mailto=new RegExp(`^${j.re.src_email_name}@${j.re.src_host_strict}`,"i")),j.re.mailto.test(w)?w.match(j.re.mailto)[0].length:0}}},f="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",x="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function g(y){return function(p,j){const w=p.slice(j);return y.test(w)?w.match(y)[0].length:0}}function S(){return function(y,p){p.normalize(y)}}function b(y){const p=y.re=t(y.__opts__),j=y.__tlds__.slice();y.onCompile(),y.__tlds_replaced__||j.push(f),j.push(p.src_xn),p.src_tlds=j.join("|");function w(T){return T.replace("%TLDS%",p.src_tlds)}p.email_fuzzy=RegExp(w(p.tpl_email_fuzzy),"i"),p.email_fuzzy_global=RegExp(w(p.tpl_email_fuzzy),"ig"),p.link_fuzzy=RegExp(w(p.tpl_link_fuzzy),"i"),p.link_fuzzy_global=RegExp(w(p.tpl_link_fuzzy),"ig"),p.link_no_ip_fuzzy=RegExp(w(p.tpl_link_no_ip_fuzzy),"i"),p.link_no_ip_fuzzy_global=RegExp(w(p.tpl_link_no_ip_fuzzy),"ig"),p.host_fuzzy_test=RegExp(w(p.tpl_host_fuzzy_test),"i");const D=[];y.__compiled__={};function A(T,C){throw new Error(`(LinkifyIt) Invalid schema "${T}": ${C}`)}Object.keys(y.__schemas__).forEach(function(T){const C=y.__schemas__[T];if(C===null)return;const E={validate:null,link:null};if(y.__compiled__[T]=E,a(C)){i(C.validate)?E.validate=g(C.validate):c(C.validate)?E.validate=C.validate:A(T,C),c(C.normalize)?E.normalize=C.normalize:C.normalize?A(T,C):E.normalize=S();return}if(o(C)){D.push(T);return}A(T,C)}),D.forEach(function(T){y.__compiled__[y.__schemas__[T]]&&(y.__compiled__[T].validate=y.__compiled__[y.__schemas__[T]].validate,y.__compiled__[T].normalize=y.__compiled__[y.__schemas__[T]].normalize)}),y.__compiled__[""]={validate:null,normalize:S()};const N=Object.keys(y.__compiled__).filter(function(T){return T.length>0&&y.__compiled__[T]}).map(u).join("|");y.re.schema_test=RegExp(`(^|(?!_)(?:[><|]|${p.src_ZPCc}))(${N})`,"i"),y.re.schema_search=RegExp(`(^|(?!_)(?:[><|]|${p.src_ZPCc}))(${N})`,"ig"),y.re.schema_at_start=RegExp(`^${y.re.schema_search.source}`,"i"),y.re.pretest=RegExp(`(${y.re.schema_test.source})|(${y.re.host_fuzzy_test.source})|@`,"i")}function k(y,p,j,w){const D=y.slice(j,w);this.schema=p.toLowerCase(),this.index=j,this.lastIndex=w,this.raw=D,this.text=D,this.url=D}function v(y,p){if(!(this instanceof v))return new v(y,p);p||m(y)&&(p=y,y={}),this.__opts__=n({},d,p),this.__schemas__=n({},h,y),this.__compiled__={},this.__tlds__=x,this.__tlds_replaced__=!1,this.re={},b(this)}return v.prototype.add=function(p,j){return this.__schemas__[p]=j,b(this),this},v.prototype.set=function(p){return this.__opts__=n(this.__opts__,p),this},v.prototype.test=function(p){if(!p.length)return!1;let j,w;if(this.re.schema_test.test(p)){for(w=this.re.schema_search,w.lastIndex=0;(j=w.exec(p))!==null;)if(this.testSchemaAt(p,j[2],w.lastIndex))return!0}return!!(this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&p.search(this.re.host_fuzzy_test)>=0&&p.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy)!==null||this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&p.indexOf("@")>=0&&p.match(this.re.email_fuzzy)!==null)},v.prototype.pretest=function(p){return this.re.pretest.test(p)},v.prototype.testSchemaAt=function(p,j,w){return this.__compiled__[j.toLowerCase()]?this.__compiled__[j.toLowerCase()].validate(p,w,this):0},v.prototype.match=function(p){const j=[],w=[],D=[],A=[];let N,T,C;function E(M,F){return M?F?M.index!==F.index?M.index<F.index?M:F:M.lastIndex>=F.lastIndex?M:F:M:F}if(!p.length)return null;if(this.re.schema_test.test(p))for(C=this.re.schema_search,C.lastIndex=0;(N=C.exec(p))!==null;)T=this.testSchemaAt(p,N[2],C.lastIndex),T&&w.push({schema:N[2],index:N.index+N[1].length,lastIndex:N.index+N[0].length+T});if(this.__opts__.fuzzyLink&&this.__compiled__["http:"])for(C=this.__opts__.fuzzyIP?this.re.link_fuzzy_global:this.re.link_no_ip_fuzzy_global,C.lastIndex=0;(N=C.exec(p))!==null;)D.push({schema:"",index:N.index+N[1].length,lastIndex:N.index+N[0].length});if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"])for(C=this.re.email_fuzzy_global,C.lastIndex=0;(N=C.exec(p))!==null;)A.push({schema:"mailto:",index:N.index+N[1].length,lastIndex:N.index+N[0].length});const _=[0,0,0];let R=0;for(;;){const M=[w[_[0]],A[_[1]],D[_[2]]],F=E(E(M[0],M[1]),M[2]);if(!F)break;if(F===M[0]?_[0]++:F===M[1]?_[1]++:_[2]++,F.index<R)continue;const I=new k(p,F.schema,F.index,F.lastIndex);this.__compiled__[I.schema].normalize(I,this),j.push(I),R=F.lastIndex}return j.length?j:null},v.prototype.matchAtStart=function(p){if(!p.length)return null;const j=this.re.schema_at_start.exec(p);if(!j)return null;const w=this.testSchemaAt(p,j[2],j[0].length);if(!w)return null;const D=new k(p,j[2],j.index+j[1].length,j.index+j[0].length+w);return this.__compiled__[D.schema].normalize(D,this),D},v.prototype.tlds=function(p,j){return p=Array.isArray(p)?p:[p],j?(this.__tlds__=this.__tlds__.concat(p).sort().filter(function(w,D,A){return w!==A[D-1]}).reverse(),b(this),this):(this.__tlds__=p.slice(),this.__tlds_replaced__=!0,b(this),this)},v.prototype.normalize=function(p){p.schema||(p.url=`http://${p.url}`),p.schema==="mailto:"&&!/^mailto:/i.test(p.url)&&(p.url=`mailto:${p.url}`)},v.prototype.onCompile=function(){},Nn=v,Nn}var fr;function ah(){if(fr)return Te;fr=1;var e=Te&&Te.__createBinding||(Object.create?(function(b,k,v,y){y===void 0&&(y=v);var p=Object.getOwnPropertyDescriptor(k,v);(!p||("get"in p?!k.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return k[v]}}),Object.defineProperty(b,y,p)}):(function(b,k,v,y){y===void 0&&(y=v),b[y]=k[v]})),t=Te&&Te.__setModuleDefault||(Object.create?(function(b,k){Object.defineProperty(b,"default",{enumerable:!0,value:k})}):function(b,k){b.default=k}),n=Te&&Te.__importStar||(function(){var b=function(k){return b=Object.getOwnPropertyNames||function(v){var y=[];for(var p in v)Object.prototype.hasOwnProperty.call(v,p)&&(y[y.length]=p);return y},b(k)};return function(k){if(k&&k.__esModule)return k;var v={};if(k!=null)for(var y=b(k),p=0;p<y.length;p++)y[p]!=="default"&&e(v,k,y[p]);return t(v,k),v}})(),s=Te&&Te.__importDefault||function(b){return b&&b.__esModule?b:{default:b}};Object.defineProperty(Te,"__esModule",{value:!0}),Te.default=g;const o=s(nh()),a=sh(),i=s(oh()),c=n(Sl());function u(b,k=!1){return b=(0,a.escapeCarriageReturn)(S(b)),o.default.ansiToJson(b,{json:!0,remove_empty:!0,use_classes:k})}function d(b){let k="";return b.bg&&(k+=`${b.bg}-bg `),b.fg&&(k+=`${b.fg}-fg `),b.decoration&&(k+=`ansi-${b.decoration} `),k===""?null:(k=k.substring(0,k.length-1),k)}function m(b){const k={};switch(b.bg&&(k.backgroundColor=`rgb(${b.bg})`),b.fg&&(k.color=`rgb(${b.fg})`),b.decoration){case"bold":k.fontWeight="bold";break;case"dim":k.opacity="0.5";break;case"italic":k.fontStyle="italic";break;case"hidden":k.visibility="hidden";break;case"strikethrough":k.textDecoration="line-through";break;case"underline":k.textDecoration="underline";break;case"blink":k.textDecoration="blink";break}return k}function h(b,k,v,y){const p=k?null:m(v),j=k?d(v):null;return b?b==="fuzzy"?x(v,y,p,j):f(v,y,p,j):c.createElement("span",{style:p,key:y,className:j},v.content)}function f(b,k,v,y){const p=[],j=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let w=0,D;for(;(D=j.exec(b.content))!==null;){const[,A,N]=D,T=D.index+A.length;T>w&&p.push(b.content.substring(w,T));const C=N.startsWith("www.")?`http://${N}`:N;p.push(c.createElement("a",{key:w,href:C,target:"_blank"},`${N}`)),w=j.lastIndex}return w<b.content.length&&p.push(b.content.substring(w)),c.createElement("span",{style:v,key:k,className:y},p)}function x(b,k,v,y){var p;const j=(0,i.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!j.pretest(b.content))return c.createElement("span",{style:v,key:k,className:y},b.content);const w=j.match(b.content);if(!w)return c.createElement("span",{style:v,key:k,className:y},b.content);const D=[b.content.substring(0,(p=w[0])===null||p===void 0?void 0:p.index)];return w.forEach((A,N)=>{var T;D.push(c.createElement("a",{href:A.url,target:"_blank",key:N},b.content.substring(A.index,A.lastIndex))),w[N+1]&&D.push(b.content.substring(w[N].lastIndex,(T=w[N+1])===null||T===void 0?void 0:T.index))}),w[w.length-1].lastIndex!==b.content.length&&D.push(b.content.substring(w[w.length-1].lastIndex,b.content.length)),c.createElement("span",{style:v,key:k,className:y},D)}function g(b){const{className:k,useClasses:v,children:y,linkify:p}=b;return c.createElement("code",{className:k},u(y??"",v??!1).map(h.bind(null,p??!1,v??!1)))}function S(b){let k=b;do b=k,k=b.replace(/[^\n]\x08/gm,"");while(k.length<b.length);return b}return Te}var ih=ah();const lh=jl(ih),ch=l.lazy(()=>wl(()=>import("./index-CoMMwnLj.js"),__vite__mapDeps([0,1,2]))),uh={...Jp,container:"bg-transparent text-xs font-mono leading-relaxed",label:"text-muted-foreground font-medium mr-1",clickableLabel:"text-muted-foreground font-medium mr-1 cursor-pointer",nullValue:"text-muted-foreground italic",undefinedValue:"text-muted-foreground italic",stringValue:"text-foreground",booleanValue:"text-amber-400",numberValue:"text-blue-400",otherValue:"text-muted-foreground",punctuation:"text-muted-foreground",collapseIcon:'text-muted-foreground mr-1 cursor-pointer text-[1.2em] select-none after:content-["▾"]',expandIcon:'text-muted-foreground mr-1 cursor-pointer text-[1.2em] select-none after:content-["▸"]',collapsedContent:'text-muted-foreground mr-1 cursor-pointer after:text-[0.8em] after:content-["…"]'},mr=5120;function dh(e){try{const t=JSON.parse(e);return typeof t=="object"&&t!==null&&("old_string"in t||"new_string"in t)?t:null}catch{return null}}function En({children:e,rawContent:t,supportsRawToggle:n,isRaw:s,onToggleRaw:o}){const[a,i]=l.useState(!1),c=t.length>mr,u=c&&!a?t.slice(0,mr):t;return r.jsxs("div",{className:"space-y-1",children:[n&&r.jsx("div",{className:"flex justify-end",children:r.jsx("button",{onClick:o,className:"text-muted-foreground hover:text-foreground text-xs underline",children:s?"Formatted":"Raw"})}),s?r.jsxs(r.Fragment,{children:[r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:u}),c&&!a&&r.jsxs("button",{onClick:()=>i(!0),className:"text-muted-foreground hover:text-foreground text-xs underline",children:["Show full output (",(t.length/1024).toFixed(1),"KB)"]})]}):e]})}function fh({oldValue:e,newValue:t,rawContent:n}){return r.jsx(l.Suspense,{fallback:r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:n}),children:r.jsx(ch,{oldValue:e,newValue:t,splitView:!1,useDarkTheme:!0,hideLineNumbers:!0,showDiffOnly:!0,extraLinesSurroundingDiff:2,styles:{variables:{dark:{diffViewerBackground:"transparent",addedBackground:"rgba(34, 197, 94, 0.1)",addedColor:"rgb(134, 239, 172)",addedGutterBackground:"rgba(34, 197, 94, 0.08)",wordAddedBackground:"rgba(34, 197, 94, 0.2)",removedBackground:"rgba(239, 68, 68, 0.1)",removedColor:"rgb(252, 165, 165)",removedGutterBackground:"rgba(239, 68, 68, 0.08)",wordRemovedBackground:"rgba(239, 68, 68, 0.2)",gutterBackground:"hsl(0 0% 9%)",gutterBackgroundDark:"hsl(0 0% 7%)",gutterColor:"hsl(0 0% 40%)"}}}})})}function wa({content:e,toolName:t,input:n}){const[s,o]=l.useState(!1);if(t==="Edit"&&n){const i=dh(n);if(i)return r.jsx(fh,{oldValue:i.old_string??"",newValue:i.new_string??"",rawContent:e})}const a=Pd(e);if(a==="json"){let i;try{i=JSON.parse(e)}catch{i={}}return r.jsx(En,{rawContent:e,supportsRawToggle:!0,isRaw:s,onToggleRaw:()=>o(c=>!c),children:r.jsx(th,{data:i,style:uh,shouldExpandNode:eh})})}return a==="ansi"?r.jsx(En,{rawContent:e,supportsRawToggle:!0,isRaw:s,onToggleRaw:()=>o(i=>!i),children:r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:r.jsx(lh,{children:e})})}):r.jsx(En,{rawContent:e,supportsRawToggle:!1,isRaw:!0,onToggleRaw:()=>{},children:null})}function mh(e){try{const t=JSON.parse(e);if(!t||typeof t!="object")return e;const n=t;if(n.error&&typeof n.error=="object"){const s=n.error;if(typeof s.message=="string")return s.message}return typeof n.message=="string"?n.message:e}catch{return e}}function ph(e){const t=mh(e),n=t.match(/The ['"`]([^'"`]+)['"`] model requires a newer version of Codex\b/i);if(n)return{message:`The Codex version DorkOS is using is too old for ${n[1]}. Update DorkOS (or your custom Codex installation), then try again. You can also choose another model.`,category:"runtime_update_required",details:e};const s=t.match(/The ['"`]([^'"`]+)['"`] model is not supported when using Codex with a ChatGPT account\b/i);return s?{message:`${s[1]} isn’t available with a ChatGPT account. Choose another model from the model menu.`,category:"model_unavailable",details:e}:null}const _a="runtimes";function hh({label:e}){const{open:t}=po();return r.jsx("button",{type:"button",onClick:()=>t(_a),className:"text-muted-foreground hover:text-foreground mt-2 block text-xs underline decoration-dotted underline-offset-2 transition-colors",children:e})}function gh({runtime:e,sessionId:t,onRetry:n,onSigninComplete:s}){const[o,a]=l.useState(!1),i=Gu(e,{sessionId:t,onCompleted:()=>a((s==null?void 0:s())??!1)}),c=Vu(e);return i.isSuccess?r.jsxs("div",{className:"mt-3","data-testid":"auth-error-signin-success",children:[r.jsxs("p",{className:"text-status-success-fg flex items-center gap-2 text-sm",role:"status",children:[r.jsx(it,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),o?"Signed in. Sending your message again…":"Signed in."]}),!o&&n&&r.jsxs(oe,{size:"sm",onClick:n,className:"mt-2 gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]}):r.jsxs("div",{className:"mt-3","data-testid":"auth-error-signin",children:[r.jsx("p",{className:"text-muted-foreground mb-2 flex items-center gap-2 text-sm",role:"status",children:i.isPending&&r.jsxs(r.Fragment,{children:[r.jsx(Le,{size:"xs",className:"shrink-0"}),c.signInPending]})}),i.isError&&r.jsx("p",{className:"text-destructive mb-2 text-sm",role:"alert",children:i.errorMessage}),r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsxs(oe,{size:"sm",onClick:i.login,disabled:i.isPending,className:"gap-1.5","data-testid":"auth-error-signin-button",children:[r.jsx(ho,{className:"size-3"}),i.isError?"Try again":c.signInLabel]}),n&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:n,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]}),r.jsx(hh,{label:"Use an API key instead"})]})}function pr({onRetry:e}){return r.jsx("div",{className:"mt-3","data-testid":"auth-error-remote-guidance",children:r.jsx(Hu,{...e?{onRetry:e}:{}})})}function Na({onRetry:e}){const{open:t}=po();return r.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r.jsxs(oe,{size:"sm",onClick:()=>t(_a),className:"gap-1.5",children:[r.jsx(ho,{className:"size-3"}),"Fix sign-in"]}),e&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:e,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]})}function xh({runtime:e,sessionId:t,onRetry:n,renderOffer:s,lead:o,children:a}){const i=!Io(),c=go(),u=ce(f=>f.setRetryAccount),d=At(e).label,m=s({runtime:e,origin:`auth-error:${t}`,note:`This makes new ${d} work on this computer run on your DorkOS credits.`,chosen:n?`New ${d} work on this computer now runs on your DorkOS credits. Sending your message again…`:`New ${d} work on this computer now runs on your DorkOS credits.`,...n?{confirmAfterLink:{prompt:"Linked. Send again on DorkOS credits?",action:"Send again"}}:{},onChoose:async()=>{await c.mutateAsync({runtime:e,useCredits:!0}),n&&(u({id:lt,sessionId:t}),n())}}),h=f=>r.jsxs("section",{"aria-label":"Other ways",children:[r.jsx("p",{className:"text-muted-foreground text-2xs font-medium tracking-wide uppercase",children:"Other ways"}),f]});return o?r.jsxs("div",{className:"mt-3 space-y-3","data-testid":"auth-error-credits-first",children:[m,h(a),r.jsx(Wu,{ollama:_l(e)==="provider-picker",remote:i})]}):r.jsxs("div",{"data-testid":"auth-error-credits-other-way",children:[a,r.jsx("div",{className:"mt-3",children:h(m)})]})}function bh({sessionId:e,onRetry:t,onSigninComplete:n}){var h;const{sessions:s,isLoading:o}=es(),a=Io(),i=(h=s.find(f=>f.id===e))==null?void 0:h.runtime,c=Uu(i),u=io(),d=i!==void 0&&u!==null&&(c==="lead"||c==="other-way");if(!a&&!d)return r.jsx(pr,{onRetry:t});if(o)return null;const m=a?!i||!Nl(i)?r.jsx(Na,{onRetry:t}):r.jsx(gh,{runtime:i,sessionId:e,onRetry:t,onSigninComplete:n}):r.jsx(pr,{onRetry:t});return d&&i&&u?r.jsx(xh,{runtime:i,sessionId:e,onRetry:t,renderOffer:u,lead:c==="lead",children:m}):m}function yh({sessionId:e,onRetry:t,onSigninComplete:n}){return e?r.jsx(bh,{sessionId:e,onRetry:t,onSigninComplete:n}):r.jsx(Na,{onRetry:t})}const kh="credits_unavailable",vh="folder-sign-in";function Ch({onRetry:e,sessionId:t,runtimeLabel:n,reason:s}){const o=ce(g=>g.setRetryAccount),a=El(),i=go(),c=xo(),u=sn(t),d=tn(u??null);if(!e)return null;const m=Sh(d),h=n?`your ${n}`:"your own",f=()=>{if(d!==void 0){if(m==="pick-for-send"){t&&o({id:Ct,sessionId:t}),e();return}i.mutate({runtime:d.type,useCredits:!1},{onSuccess:()=>m==="new-conversation"?c(void 0,{runtime:d.type}):e()})}},x=()=>{t&&a.mutate(t,{onSuccess:({launch:g})=>{g!=null&&g.ok&&o({id:g.accountId,sessionId:t}),e()}})};return r.jsxs("div",{className:"mt-2 flex flex-col gap-2","data-testid":"credits-error-actions",children:[r.jsxs("div",{className:"flex flex-wrap gap-2",children:[r.jsxs(oe,{size:"sm",variant:"outline",onClick:e,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]}),t&&r.jsx(oe,{size:"sm",variant:"outline",onClick:f,disabled:d===void 0||i.isPending,children:m==="new-conversation"?`Start a new chat on ${h} sign-in`:`Use ${h} sign-in`}),t&&s===vh&&r.jsx(oe,{size:"sm",variant:"outline",onClick:x,disabled:a.isPending,children:"Don’t use credits in this project"})]}),t&&m==="whole-runtime"&&r.jsxs("p",{className:"text-muted-foreground text-xs","data-testid":"credits-own-sign-in-reach",children:["This moves all ",n??"its"," chats to ",h," sign-in, not just this one."]}),a.error&&r.jsx("p",{className:"text-muted-foreground text-xs",role:"status",children:a.error.message}),i.isError&&r.jsx("p",{className:"text-muted-foreground text-xs",role:"status",children:"Couldn’t switch to your own sign-in. Try again in a moment."})]})}function Sh(e){var t;return e===void 0||e.supportsAccounts?"pick-for-send":((t=e.credits)==null?void 0:t.scope)==="conversation"?"new-conversation":"whole-runtime"}function jh({category:e,onChooseModel:t}){return t?r.jsxs(oe,{size:"sm",onClick:t,className:"mt-3 gap-1.5",children:[r.jsx(bo,{className:"size-3"}),e==="runtime_update_required"?"Choose another model":"Choose model"]}):null}const wh="your agent",_h="agent",hr={max_turns:{heading:"Turn limit reached",subtext:"The agent ran for its maximum number of turns.",retryable:!1},execution_error:{heading:"Agent stopped unexpectedly",subtext:"Something went wrong before it finished.",retryable:!0},budget_exceeded:{heading:"Cost limit reached",subtext:"This chat hit its spending limit.",retryable:!1},output_format_error:{heading:"Output format error",subtext:"The agent couldn’t produce the required output format.",retryable:!1},auth_error:{heading:"Sign in again",subtext:"Your login stopped working. Sign in again to continue.",retryable:!0},model_unavailable:{heading:"Model unavailable",subtext:"Choose another model from the model menu.",retryable:!1},runtime_update_required:{heading:"Codex update required",subtext:"Update DorkOS or your Codex install, then try again. Or choose another model.",retryable:!1}},Nh=new Set(["max_turns","budget_exceeded","output_format_error","auth_error"]);function Eh(e){return`Sign in to ${e??wh} again`}function Dh(e){return`Your ${e??_h} login stopped working. Sign in again to continue.`}const Th="rate_limit";function on(e){const{code:t,at:n,sessionId:s,reason:o}=e;return t===yo&&o?r.jsx(Yo,{agentId:o}):t===Th&&s?r.jsx(mm,{sessionId:s,at:n??"",fallback:r.jsx(gr,{...e})}):r.jsx(gr,{...e})}function gr({message:e,category:t,details:n,onRetry:s,heading:o,subtext:a,runtimeLabel:i,sessionId:c,onSigninComplete:u,onChooseModel:d,code:m,reason:h}){const[f,x]=l.useState(!1),g=m===kh,S=l.useMemo(()=>ph(e),[e]),b=(S==null?void 0:S.category)??t,k=(S==null?void 0:S.message)??e,v=S?n!=null&&n.includes(S.details??"")?n:[n,S.details].filter(Boolean).join(`
|
|
41
|
-
`):n,y=b==="auth_error",p=b?hr[b]??hr.execution_error:null,j=y?Eh(i):b==="runtime_update_required"&&i?`${i} update required`:p==null?void 0:p.heading,
|
|
42
|
-
`),F=(p==null?void 0:p.retryable)??!!s;return r.jsx("div",{"data-testid":"error-message-block",className:H("my-2 rounded-lg border px-4 py-3","border-destructive/30 bg-destructive/5 text-foreground"),children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(ds,{className:"text-destructive mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm font-medium",children:D}),r.jsx("p",{className:"text-muted-foreground mt-0.5 text-sm wrap-anywhere whitespace-pre-wrap",children:r.jsx(mn,{text:T})}),R&&r.jsx("p",{className:"text-muted-foreground mt-1 text-sm wrap-anywhere whitespace-pre-wrap",children:r.jsx(mn,{text:R})}),M&&r.jsxs("button",{type:"button",onClick:()=>x(!f),className:"text-muted-foreground hover:text-foreground mt-2 flex items-center gap-1 text-xs","aria-expanded":f,children:[r.jsx(K.div,{animate:{rotate:f?0:-90},transition:{type:"spring",stiffness:400,damping:30},children:r.jsx(Tt,{className:"size-3"})}),"Details"]}),r.jsx(fe,{initial:!1,children:f&&M&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("pre",{className:"bg-muted/50 mt-1 max-h-40 overflow-auto rounded p-2 text-xs whitespace-pre-wrap",children:r.jsx(mn,{text:M})})})}),g&&r.jsx(Ch,{onRetry:s,sessionId:c,runtimeLabel:i,reason:h}),y&&r.jsx(yh,{sessionId:c,onRetry:s,onSigninComplete:u}),(b==="model_unavailable"||b==="runtime_update_required")&&r.jsx(jh,{category:b,onChooseModel:d})]}),!y&&!g&&F&&s&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:s,className:"shrink-0 gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]})})}const Ah=8;function Fh({toolName:e,reasonType:t,reason:n,message:s,agentId:o}){const a=n||s,i=t==="classifier",c=t==="asyncAgent",u=o!==void 0?`Helper ${o.slice(0,Ah)}`:c?"A background helper":null,m=u!==null?`${u} was blocked from using ${e}${i?" by auto mode":""}: ${a}`:i?`Blocked by auto mode: ${a}`:`Blocked: ${a}`;return r.jsxs("div",{"data-testid":"permission-denied-chip","data-reason-type":t,"data-agent-id":o,className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-amber-500/30 bg-amber-500/5"),children:[r.jsx(td,{"aria-hidden":"true",className:"mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-500"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm",children:m}),c?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-muted-foreground mt-0.5 text-xs",children:"Background helpers can’t ask for approval, so this was blocked."}),r.jsx("p",{className:"text-muted-foreground mt-0.5 text-xs",children:"Do it yourself, or ask the agent to run it in the foreground."})]}):null,r.jsx("p",{className:"text-muted-foreground mt-0.5 font-mono text-xs",children:e})]})]})}const Rh=50;function Mh(e){return e.type==="tool_call"&&e.interactiveType==="approval"&&e.approvalOutcome!==void 0}function Oh(e,t){return e.approvalOutcome!==t.approvalOutcome||(e.approvalReasonGiven??!1)!==(t.approvalReasonGiven??!1)||e.approvalResolvedAt===void 0||t.approvalResolvedAt===void 0?!1:Math.abs(e.approvalResolvedAt-t.approvalResolvedAt)<=Rh}function Ih(e){const t=new Map;let n=null;for(let s=0;s<e.length;s++){const o=e[s];if(!Mh(o)){n=null;continue}if(n&&Oh(n.part,o)){n.group.indices.push(s),t.set(s,n.group);continue}const a={leadIndex:s,indices:[s],outcome:o.approvalOutcome,reasonGiven:o.approvalReasonGiven??!1};t.set(s,a),n={group:a,part:o}}return t}function $h(e){return e.questionOutcome!==void 0?e.questionOutcome==="answered":e.status!=="pending"}function Ph(e){return e.status==="pending"?void 0:e.questionOutcome}function Lh({message:e}){return r.jsx(Ve,{"data-testid":"unreadable-entry-note",icon:r.jsx(Tl,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:e})})}function zh({title:e}){return r.jsxs("div",{"data-testid":"capability-approval-timed-out",className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-border bg-muted/40"),children:[r.jsx(yt,{"aria-hidden":"true",className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm",children:"The agent stopped waiting for your answer."}),r.jsxs("p",{className:"text-muted-foreground mt-0.5 text-xs",children:["“",e,"” is still in Approvals. Answer it, then ask the agent to retry."]})]})]})}function Vn({testId:e,icon:t,children:n}){return r.jsxs("div",{"data-testid":e,className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-border bg-muted/40"),children:[t,r.jsx("div",{className:"min-w-0 flex-1",children:n})]})}function Bh({part:e}){return e.outcome==="failed"?r.jsx(Vn,{testId:"mcp-signin-failed",icon:r.jsx(ds,{"aria-hidden":"true",className:"text-status-warning-dot mt-0.5 size-4 shrink-0"}),children:r.jsxs("p",{className:"text-sm",children:["Sign-in to “",e.serverName,"” didn’t finish. Ask your agent to retry."]})}):r.jsx(Vn,{testId:"mcp-signin-receipt",icon:r.jsx(ko,{"aria-hidden":"true",className:"text-status-success mt-0.5 size-4 shrink-0"}),children:r.jsxs("p",{className:"text-sm",children:["Connected to ",e.serverName,e.toolCount===void 0?"":` · ${e.toolCount} tool${e.toolCount===1?"":"s"}`,"."]})})}function qh({part:e}){const t=nd(e.agentId,e.serverName),{adopt:n}=t,s=e.outcome!==void 0;return l.useEffect(()=>{s||n({flowId:e.flowId,authorizeUrl:e.authorizeUrl,disclosure:e.disclosure})},[s,n,e.flowId,e.authorizeUrl,e.disclosure]),e.outcome!==void 0?r.jsx(Bh,{part:e}):r.jsxs(Vn,{testId:"mcp-signin-card",icon:r.jsx(rd,{"aria-hidden":"true",className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),children:[r.jsxs("p",{className:"text-sm",children:["Sign in to ",e.serverName]}),r.jsx(sd,{flow:t,serverName:e.serverName,failedActions:r.jsx(oe,{variant:"secondary",size:"sm",onClick:()=>t.start(),className:"focus-visible:ring-2",children:"Try again"})})]})}function Uh({fromName:e,toName:t}){return r.jsx(Ve,{"data-testid":"model-substituted-row",icon:r.jsx(bo,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsxs("span",{className:"text-muted-foreground",children:["DorkOS credits don’t cover ",e,", so this ran on ",t,". Switch in the model menu."]})})}const Hh={running:r.jsx(Le,{size:"xs",className:"text-muted-foreground"}),success:r.jsx(it,{className:"text-muted-foreground size-(--size-icon-xs)"}),error:r.jsx(qe,{className:"text-destructive size-(--size-icon-xs)"}),cancelled:r.jsx(qe,{className:"text-muted-foreground size-(--size-icon-xs)"})};function Wh({hook:e}){const t=!!(e.stdout||e.stderr),[n,s]=l.useState(e.status==="error"),o=e.stderr||e.stdout;return r.jsxs("div",{children:[r.jsxs("button",{onClick:()=>t&&s(a=>!a),className:H("flex w-full items-center gap-1.5 py-0.5",!t&&"cursor-default"),"aria-expanded":t?n:void 0,disabled:!t,children:[Hh[e.status],r.jsx("span",{className:H("text-3xs font-mono",e.status==="error"?"text-destructive":"text-muted-foreground"),children:e.hookName}),e.status==="error"&&r.jsx("span",{className:"text-3xs text-destructive",children:"Error"}),e.exitCode!==void 0&&r.jsxs("span",{className:"text-3xs text-muted-foreground ml-auto",children:["exit ",e.exitCode]})]}),r.jsx(fe,{initial:!1,children:n&&t&&o&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("pre",{className:"text-muted-foreground max-h-32 overflow-y-auto py-1 text-xs whitespace-pre-wrap",children:o})})})]})}function Gh({toolCall:e,defaultExpanded:t=!1}){const[n,s]=l.useState(t),o=!!e.progressOutput;l.useEffect(()=>{o&&!n&&s(!0)},[o]);const a=e.hooks&&e.hooks.length>0?r.jsx("div",{className:"border-border/50 space-y-0.5 border-t px-3 py-1",children:e.hooks.map(u=>r.jsx(Wh,{hook:u},u.hookId))}):void 0,i=e.startedAt&&e.completedAt?e.completedAt-e.startedAt:void 0,c=no(e.toolName);return r.jsxs(Rt,{expanded:n,onToggle:()=>s(!n),dimmed:e.status==="complete",extraContent:a,"data-testid":"tool-call-card","data-tool-name":e.toolName,"data-status":e.status,header:r.jsxs(r.Fragment,{children:[fa(e.status),c&&r.jsx("span",{className:"bg-muted text-muted-foreground text-3xs rounded px-1 py-0.5 font-medium",children:c}),r.jsx("span",{className:"text-3xs flex-1 text-left font-mono",children:ut(e.toolName,e.input)}),i!==void 0&&r.jsx("span",{className:"text-muted-foreground text-3xs tabular-nums",children:od(i)})]}),children:[e.status==="running"&&!e.input?r.jsxs("div",{className:"text-muted-foreground flex items-center gap-1.5 py-1 text-xs",children:[r.jsx(Le,{size:"xs"}),r.jsx("span",{children:"Preparing…"})]}):e.input!==void 0&&e.input!==""?r.jsx(Ko,{toolName:e.toolName,input:e.input,isStreaming:e.status==="running"}):null,e.progressOutput&&!e.result&&r.jsx(so,{content:e.progressOutput,className:"mt-2 border-t pt-2"}),e.result&&r.jsx("div",{className:"mt-2 border-t pt-2",children:r.jsx(wa,{content:e.result,toolName:e.toolName,input:e.input})})]})}function Vh(e){if(e.startsWith("mcp__"))return e.split("__")[1]||void 0}function Ea(e,t,n){const s=l.useRef(e),[o,a]=l.useState(!(t&&s.current==="complete"));return l.useEffect(()=>{if(t&&e==="complete"&&s.current!=="complete"&&!n){const i=setTimeout(()=>a(!1),en.TOOL_CALL_AUTO_HIDE_MS);return()=>clearTimeout(i)}},[e,t,n]),!t||n?!0:o}function Kh({part:e,autoHide:t,expandToolCalls:n}){var a;const s=((a=e.hooks)==null?void 0:a.some(i=>i.status==="error"))??!1,o=Ea(e.status,t,s);return r.jsx(fe,{children:o&&r.jsx(K.div,{exit:{height:0,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},className:"overflow-hidden",children:r.jsx(Gh,{toolCall:{toolCallId:e.toolCallId,toolName:e.toolName,input:e.input||"",result:e.result,progressOutput:e.progressOutput,status:e.status,hooks:e.hooks,startedAt:e.startedAt,completedAt:e.completedAt},defaultExpanded:n})},e.toolCallId)})}function Dn({part:e,sessionId:t,autoHide:n,expandToolCalls:s}){const o=e.ui?Vh(e.toolName):void 0,a=r.jsx(Kh,{part:e,autoHide:n,expandToolCalls:s});return!e.ui||e.status!=="complete"||!o?a:r.jsxs("div",{className:"flex flex-col gap-2",children:[a,r.jsx(gf,{sessionId:t,serverName:o,uri:e.ui.resourceUri})]})}function Qh({part:e,autoHide:t,index:n}){const s=e.isStreaming?"running":"complete",o=Ea(s,t,!1);return r.jsx(fe,{children:o&&r.jsx(K.div,{exit:{height:0,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},className:"overflow-hidden",children:r.jsx(Dp,{text:e.text,isStreaming:e.isStreaming??!1,elapsedMs:e.elapsedMs})},`thinking-${n}`)})}const Yh=4,xr=2;function Xh({children:e}){const[t,n]=l.useState(!1);if(e.length<=Yh||t)return r.jsx(r.Fragment,{children:e});const s=e.length-xr;return r.jsxs(r.Fragment,{children:[e.slice(0,xr),r.jsx(Rt,{expanded:!1,onToggle:()=>n(!0),ariaLabel:`Show ${s} more steps`,className:"border-l-muted-foreground/15",header:r.jsxs("span",{className:"text-3xs text-muted-foreground font-mono",children:["and ",s," more steps…"]}),children:r.jsx(r.Fragment,{})})]})}const Jh=/\|\||&&|;|\|/,Zh=/<<|>/,br=60;function eg(e){if(!e)return null;try{const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function Ie(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function tg(e,t){const n=e.split(`
|
|
40
|
+
`+n(o.slice(a+1))}return xt.exports=e,xt.exports.escapeCarriageReturn=e,xt.exports.escapeCarriageReturnSafe=s,xt.exports}var Be={},ur;function rh(){if(ur)return Be;ur=1;var e=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,t=/[\0-\x1F\x7F-\x9F]/,n=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,s=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,o=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,a=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;return Be.Any=e,Be.Cc=t,Be.Cf=n,Be.P=s,Be.S=o,Be.Z=a,Be}var Nn,dr;function oh(){if(dr)return Nn;dr=1;var e=rh();function t(y){const p={};y=y||{},p.src_Any=e.Any.source,p.src_Cc=e.Cc.source,p.src_Z=e.Z.source,p.src_P=e.P.source,p.src_ZPCc=[p.src_Z,p.src_P,p.src_Cc].join("|"),p.src_ZCc=[p.src_Z,p.src_Cc].join("|");const j="[><|]";return p.src_pseudo_letter=`(?:(?!${j}|${p.src_ZPCc})${p.src_Any})`,p.src_ip4="(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",p.src_auth=`(?:(?:(?!${p.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`,p.src_port="(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?",p.src_host_terminator=`(?=$|${j}|${p.src_ZPCc})(?!${y["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${p.src_ZPCc}))`,p.src_path=`(?:[/?#](?:(?!${p.src_ZCc}|${j}|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!${p.src_ZCc}|\\]).)*\\]|\\((?:(?!${p.src_ZCc}|[)]).)*\\)|\\{(?:(?!${p.src_ZCc}|[}]).)*\\}|\\"(?:(?!${p.src_ZCc}|["]).)+\\"|\\'(?:(?!${p.src_ZCc}|[']).)+\\'|\\'(?=${p.src_pseudo_letter}|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!${p.src_ZCc}|[.]|$)|`+(y["---"]?"\\-(?!--(?:[^-]|$))(?:-*)|":"\\-+|")+`,(?!${p.src_ZCc}|$)|;(?!${p.src_ZCc}|$)|\\!+(?!${p.src_ZCc}|[!]|$)|\\?(?!${p.src_ZCc}|[?]|$))+|\\/)?`,p.src_email_name='[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]{0,63}',p.src_xn="xn--[a-z0-9\\-]{1,59}",p.src_domain_root="(?:"+p.src_xn+`|${p.src_pseudo_letter}{1,63})`,p.src_domain="(?:"+p.src_xn+`|(?:${p.src_pseudo_letter})|(?:${p.src_pseudo_letter}(?:-|${p.src_pseudo_letter}){0,61}${p.src_pseudo_letter}))`,p.src_host=`(?:(?:(?:(?:${p.src_domain})\\.)*${p.src_domain}))`,p.tpl_host_fuzzy="(?:"+p.src_ip4+`|(?:(?:(?:${p.src_domain})\\.)+(?:%TLDS%)))`,p.tpl_host_no_ip_fuzzy=`(?:(?:(?:${p.src_domain})\\.)+(?:%TLDS%))`,p.src_host_strict=p.src_host+p.src_host_terminator,p.tpl_host_fuzzy_strict=p.tpl_host_fuzzy+p.src_host_terminator,p.src_host_port_strict=p.src_host+p.src_port+p.src_host_terminator,p.tpl_host_port_fuzzy_strict=p.tpl_host_fuzzy+p.src_port+p.src_host_terminator,p.tpl_host_port_no_ip_fuzzy_strict=p.tpl_host_no_ip_fuzzy+p.src_port+p.src_host_terminator,p.tpl_host_fuzzy_test=`localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:${p.src_ZPCc}|>|$))`,p.tpl_email_fuzzy=`(^|${j}|"|\\(|${p.src_ZCc})(${p.src_email_name}@${p.tpl_host_fuzzy_strict})`,p.tpl_link_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${p.src_ZPCc}))((?![$+<=>^\`||])${p.tpl_host_port_fuzzy_strict}${p.src_path})`,p.tpl_link_no_ip_fuzzy=`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${p.src_ZPCc}))((?![$+<=>^\`||])${p.tpl_host_port_no_ip_fuzzy_strict}${p.src_path})`,p}function n(y){return Array.prototype.slice.call(arguments,1).forEach(function(j){j&&Object.keys(j).forEach(function(_){y[_]=j[_]})}),y}function s(y){return Object.prototype.toString.call(y)}function o(y){return s(y)==="[object String]"}function a(y){return s(y)==="[object Object]"}function i(y){return s(y)==="[object RegExp]"}function c(y){return s(y)==="[object Function]"}function u(y){return y.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const d={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function m(y){return Object.keys(y||{}).reduce(function(p,j){return p||d.hasOwnProperty(j)},!1)}const h={"http:":{validate:function(y,p,j){const _=y.slice(p);return j.re.http||(j.re.http=new RegExp(`^\\/\\/${j.re.src_auth}${j.re.src_host_port_strict}${j.re.src_path}`,"i")),j.re.http.test(_)?_.match(j.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(y,p,j){const _=y.slice(p);return j.re.no_http||(j.re.no_http=new RegExp("^"+j.re.src_auth+`(?:localhost|(?:(?:${j.re.src_domain})\\.)+${j.re.src_domain_root})`+j.re.src_port+j.re.src_host_terminator+j.re.src_path,"i")),j.re.no_http.test(_)?p>=3&&y[p-3]===":"||p>=3&&y[p-3]==="/"?0:_.match(j.re.no_http)[0].length:0}},"mailto:":{validate:function(y,p,j){const _=y.slice(p);return j.re.mailto||(j.re.mailto=new RegExp(`^${j.re.src_email_name}@${j.re.src_host_strict}`,"i")),j.re.mailto.test(_)?_.match(j.re.mailto)[0].length:0}}},f="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",x="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function g(y){return function(p,j){const _=p.slice(j);return y.test(_)?_.match(y)[0].length:0}}function S(){return function(y,p){p.normalize(y)}}function b(y){const p=y.re=t(y.__opts__),j=y.__tlds__.slice();y.onCompile(),y.__tlds_replaced__||j.push(f),j.push(p.src_xn),p.src_tlds=j.join("|");function _(T){return T.replace("%TLDS%",p.src_tlds)}p.email_fuzzy=RegExp(_(p.tpl_email_fuzzy),"i"),p.email_fuzzy_global=RegExp(_(p.tpl_email_fuzzy),"ig"),p.link_fuzzy=RegExp(_(p.tpl_link_fuzzy),"i"),p.link_fuzzy_global=RegExp(_(p.tpl_link_fuzzy),"ig"),p.link_no_ip_fuzzy=RegExp(_(p.tpl_link_no_ip_fuzzy),"i"),p.link_no_ip_fuzzy_global=RegExp(_(p.tpl_link_no_ip_fuzzy),"ig"),p.host_fuzzy_test=RegExp(_(p.tpl_host_fuzzy_test),"i");const D=[];y.__compiled__={};function A(T,C){throw new Error(`(LinkifyIt) Invalid schema "${T}": ${C}`)}Object.keys(y.__schemas__).forEach(function(T){const C=y.__schemas__[T];if(C===null)return;const E={validate:null,link:null};if(y.__compiled__[T]=E,a(C)){i(C.validate)?E.validate=g(C.validate):c(C.validate)?E.validate=C.validate:A(T,C),c(C.normalize)?E.normalize=C.normalize:C.normalize?A(T,C):E.normalize=S();return}if(o(C)){D.push(T);return}A(T,C)}),D.forEach(function(T){y.__compiled__[y.__schemas__[T]]&&(y.__compiled__[T].validate=y.__compiled__[y.__schemas__[T]].validate,y.__compiled__[T].normalize=y.__compiled__[y.__schemas__[T]].normalize)}),y.__compiled__[""]={validate:null,normalize:S()};const N=Object.keys(y.__compiled__).filter(function(T){return T.length>0&&y.__compiled__[T]}).map(u).join("|");y.re.schema_test=RegExp(`(^|(?!_)(?:[><|]|${p.src_ZPCc}))(${N})`,"i"),y.re.schema_search=RegExp(`(^|(?!_)(?:[><|]|${p.src_ZPCc}))(${N})`,"ig"),y.re.schema_at_start=RegExp(`^${y.re.schema_search.source}`,"i"),y.re.pretest=RegExp(`(${y.re.schema_test.source})|(${y.re.host_fuzzy_test.source})|@`,"i")}function k(y,p,j,_){const D=y.slice(j,_);this.schema=p.toLowerCase(),this.index=j,this.lastIndex=_,this.raw=D,this.text=D,this.url=D}function v(y,p){if(!(this instanceof v))return new v(y,p);p||m(y)&&(p=y,y={}),this.__opts__=n({},d,p),this.__schemas__=n({},h,y),this.__compiled__={},this.__tlds__=x,this.__tlds_replaced__=!1,this.re={},b(this)}return v.prototype.add=function(p,j){return this.__schemas__[p]=j,b(this),this},v.prototype.set=function(p){return this.__opts__=n(this.__opts__,p),this},v.prototype.test=function(p){if(!p.length)return!1;let j,_;if(this.re.schema_test.test(p)){for(_=this.re.schema_search,_.lastIndex=0;(j=_.exec(p))!==null;)if(this.testSchemaAt(p,j[2],_.lastIndex))return!0}return!!(this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&p.search(this.re.host_fuzzy_test)>=0&&p.match(this.__opts__.fuzzyIP?this.re.link_fuzzy:this.re.link_no_ip_fuzzy)!==null||this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"]&&p.indexOf("@")>=0&&p.match(this.re.email_fuzzy)!==null)},v.prototype.pretest=function(p){return this.re.pretest.test(p)},v.prototype.testSchemaAt=function(p,j,_){return this.__compiled__[j.toLowerCase()]?this.__compiled__[j.toLowerCase()].validate(p,_,this):0},v.prototype.match=function(p){const j=[],_=[],D=[],A=[];let N,T,C;function E(M,F){return M?F?M.index!==F.index?M.index<F.index?M:F:M.lastIndex>=F.lastIndex?M:F:M:F}if(!p.length)return null;if(this.re.schema_test.test(p))for(C=this.re.schema_search,C.lastIndex=0;(N=C.exec(p))!==null;)T=this.testSchemaAt(p,N[2],C.lastIndex),T&&_.push({schema:N[2],index:N.index+N[1].length,lastIndex:N.index+N[0].length+T});if(this.__opts__.fuzzyLink&&this.__compiled__["http:"])for(C=this.__opts__.fuzzyIP?this.re.link_fuzzy_global:this.re.link_no_ip_fuzzy_global,C.lastIndex=0;(N=C.exec(p))!==null;)D.push({schema:"",index:N.index+N[1].length,lastIndex:N.index+N[0].length});if(this.__opts__.fuzzyEmail&&this.__compiled__["mailto:"])for(C=this.re.email_fuzzy_global,C.lastIndex=0;(N=C.exec(p))!==null;)A.push({schema:"mailto:",index:N.index+N[1].length,lastIndex:N.index+N[0].length});const w=[0,0,0];let R=0;for(;;){const M=[_[w[0]],A[w[1]],D[w[2]]],F=E(E(M[0],M[1]),M[2]);if(!F)break;if(F===M[0]?w[0]++:F===M[1]?w[1]++:w[2]++,F.index<R)continue;const I=new k(p,F.schema,F.index,F.lastIndex);this.__compiled__[I.schema].normalize(I,this),j.push(I),R=F.lastIndex}return j.length?j:null},v.prototype.matchAtStart=function(p){if(!p.length)return null;const j=this.re.schema_at_start.exec(p);if(!j)return null;const _=this.testSchemaAt(p,j[2],j[0].length);if(!_)return null;const D=new k(p,j[2],j.index+j[1].length,j.index+j[0].length+_);return this.__compiled__[D.schema].normalize(D,this),D},v.prototype.tlds=function(p,j){return p=Array.isArray(p)?p:[p],j?(this.__tlds__=this.__tlds__.concat(p).sort().filter(function(_,D,A){return _!==A[D-1]}).reverse(),b(this),this):(this.__tlds__=p.slice(),this.__tlds_replaced__=!0,b(this),this)},v.prototype.normalize=function(p){p.schema||(p.url=`http://${p.url}`),p.schema==="mailto:"&&!/^mailto:/i.test(p.url)&&(p.url=`mailto:${p.url}`)},v.prototype.onCompile=function(){},Nn=v,Nn}var fr;function ah(){if(fr)return Te;fr=1;var e=Te&&Te.__createBinding||(Object.create?(function(b,k,v,y){y===void 0&&(y=v);var p=Object.getOwnPropertyDescriptor(k,v);(!p||("get"in p?!k.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return k[v]}}),Object.defineProperty(b,y,p)}):(function(b,k,v,y){y===void 0&&(y=v),b[y]=k[v]})),t=Te&&Te.__setModuleDefault||(Object.create?(function(b,k){Object.defineProperty(b,"default",{enumerable:!0,value:k})}):function(b,k){b.default=k}),n=Te&&Te.__importStar||(function(){var b=function(k){return b=Object.getOwnPropertyNames||function(v){var y=[];for(var p in v)Object.prototype.hasOwnProperty.call(v,p)&&(y[y.length]=p);return y},b(k)};return function(k){if(k&&k.__esModule)return k;var v={};if(k!=null)for(var y=b(k),p=0;p<y.length;p++)y[p]!=="default"&&e(v,k,y[p]);return t(v,k),v}})(),s=Te&&Te.__importDefault||function(b){return b&&b.__esModule?b:{default:b}};Object.defineProperty(Te,"__esModule",{value:!0}),Te.default=g;const o=s(nh()),a=sh(),i=s(oh()),c=n(Sl());function u(b,k=!1){return b=(0,a.escapeCarriageReturn)(S(b)),o.default.ansiToJson(b,{json:!0,remove_empty:!0,use_classes:k})}function d(b){let k="";return b.bg&&(k+=`${b.bg}-bg `),b.fg&&(k+=`${b.fg}-fg `),b.decoration&&(k+=`ansi-${b.decoration} `),k===""?null:(k=k.substring(0,k.length-1),k)}function m(b){const k={};switch(b.bg&&(k.backgroundColor=`rgb(${b.bg})`),b.fg&&(k.color=`rgb(${b.fg})`),b.decoration){case"bold":k.fontWeight="bold";break;case"dim":k.opacity="0.5";break;case"italic":k.fontStyle="italic";break;case"hidden":k.visibility="hidden";break;case"strikethrough":k.textDecoration="line-through";break;case"underline":k.textDecoration="underline";break;case"blink":k.textDecoration="blink";break}return k}function h(b,k,v,y){const p=k?null:m(v),j=k?d(v):null;return b?b==="fuzzy"?x(v,y,p,j):f(v,y,p,j):c.createElement("span",{style:p,key:y,className:j},v.content)}function f(b,k,v,y){const p=[],j=/(\s|^)(https?:\/\/(?:www\.|(?!www))[^\s.]+\.[^\s]{2,}|www\.[^\s]+\.[^\s]{2,})/g;let _=0,D;for(;(D=j.exec(b.content))!==null;){const[,A,N]=D,T=D.index+A.length;T>_&&p.push(b.content.substring(_,T));const C=N.startsWith("www.")?`http://${N}`:N;p.push(c.createElement("a",{key:_,href:C,target:"_blank"},`${N}`)),_=j.lastIndex}return _<b.content.length&&p.push(b.content.substring(_)),c.createElement("span",{style:v,key:k,className:y},p)}function x(b,k,v,y){var p;const j=(0,i.default)({fuzzyEmail:!1}).tlds(["io"],!0);if(!j.pretest(b.content))return c.createElement("span",{style:v,key:k,className:y},b.content);const _=j.match(b.content);if(!_)return c.createElement("span",{style:v,key:k,className:y},b.content);const D=[b.content.substring(0,(p=_[0])===null||p===void 0?void 0:p.index)];return _.forEach((A,N)=>{var T;D.push(c.createElement("a",{href:A.url,target:"_blank",key:N},b.content.substring(A.index,A.lastIndex))),_[N+1]&&D.push(b.content.substring(_[N].lastIndex,(T=_[N+1])===null||T===void 0?void 0:T.index))}),_[_.length-1].lastIndex!==b.content.length&&D.push(b.content.substring(_[_.length-1].lastIndex,b.content.length)),c.createElement("span",{style:v,key:k,className:y},D)}function g(b){const{className:k,useClasses:v,children:y,linkify:p}=b;return c.createElement("code",{className:k},u(y??"",v??!1).map(h.bind(null,p??!1,v??!1)))}function S(b){let k=b;do b=k,k=b.replace(/[^\n]\x08/gm,"");while(k.length<b.length);return b}return Te}var ih=ah();const lh=jl(ih),ch=l.lazy(()=>_l(()=>import("./index-BXZlDqvy.js"),__vite__mapDeps([0,1,2,3]))),uh={...Jp,container:"bg-transparent text-xs font-mono leading-relaxed",label:"text-muted-foreground font-medium mr-1",clickableLabel:"text-muted-foreground font-medium mr-1 cursor-pointer",nullValue:"text-muted-foreground italic",undefinedValue:"text-muted-foreground italic",stringValue:"text-foreground",booleanValue:"text-amber-400",numberValue:"text-blue-400",otherValue:"text-muted-foreground",punctuation:"text-muted-foreground",collapseIcon:'text-muted-foreground mr-1 cursor-pointer text-[1.2em] select-none after:content-["▾"]',expandIcon:'text-muted-foreground mr-1 cursor-pointer text-[1.2em] select-none after:content-["▸"]',collapsedContent:'text-muted-foreground mr-1 cursor-pointer after:text-[0.8em] after:content-["…"]'},mr=5120;function dh(e){try{const t=JSON.parse(e);return typeof t=="object"&&t!==null&&("old_string"in t||"new_string"in t)?t:null}catch{return null}}function En({children:e,rawContent:t,supportsRawToggle:n,isRaw:s,onToggleRaw:o}){const[a,i]=l.useState(!1),c=t.length>mr,u=c&&!a?t.slice(0,mr):t;return r.jsxs("div",{className:"space-y-1",children:[n&&r.jsx("div",{className:"flex justify-end",children:r.jsx("button",{onClick:o,className:"text-muted-foreground hover:text-foreground text-xs underline",children:s?"Formatted":"Raw"})}),s?r.jsxs(r.Fragment,{children:[r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:u}),c&&!a&&r.jsxs("button",{onClick:()=>i(!0),className:"text-muted-foreground hover:text-foreground text-xs underline",children:["Show full output (",(t.length/1024).toFixed(1),"KB)"]})]}):e]})}function fh({oldValue:e,newValue:t,rawContent:n}){return r.jsx(l.Suspense,{fallback:r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:n}),children:r.jsx(ch,{oldValue:e,newValue:t,splitView:!1,useDarkTheme:!0,hideLineNumbers:!0,showDiffOnly:!0,extraLinesSurroundingDiff:2,styles:{variables:{dark:{diffViewerBackground:"transparent",addedBackground:"rgba(34, 197, 94, 0.1)",addedColor:"rgb(134, 239, 172)",addedGutterBackground:"rgba(34, 197, 94, 0.08)",wordAddedBackground:"rgba(34, 197, 94, 0.2)",removedBackground:"rgba(239, 68, 68, 0.1)",removedColor:"rgb(252, 165, 165)",removedGutterBackground:"rgba(239, 68, 68, 0.08)",wordRemovedBackground:"rgba(239, 68, 68, 0.2)",gutterBackground:"hsl(0 0% 9%)",gutterBackgroundDark:"hsl(0 0% 7%)",gutterColor:"hsl(0 0% 40%)"}}}})})}function _a({content:e,toolName:t,input:n}){const[s,o]=l.useState(!1);if(t==="Edit"&&n){const i=dh(n);if(i)return r.jsx(fh,{oldValue:i.old_string??"",newValue:i.new_string??"",rawContent:e})}const a=Pd(e);if(a==="json"){let i;try{i=JSON.parse(e)}catch{i={}}return r.jsx(En,{rawContent:e,supportsRawToggle:!0,isRaw:s,onToggleRaw:()=>o(c=>!c),children:r.jsx(th,{data:i,style:uh,shouldExpandNode:eh})})}return a==="ansi"?r.jsx(En,{rawContent:e,supportsRawToggle:!0,isRaw:s,onToggleRaw:()=>o(i=>!i),children:r.jsx("pre",{className:"max-h-64 overflow-y-auto text-xs whitespace-pre-wrap",children:r.jsx(lh,{children:e})})}):r.jsx(En,{rawContent:e,supportsRawToggle:!1,isRaw:!0,onToggleRaw:()=>{},children:null})}function mh(e){try{const t=JSON.parse(e);if(!t||typeof t!="object")return e;const n=t;if(n.error&&typeof n.error=="object"){const s=n.error;if(typeof s.message=="string")return s.message}return typeof n.message=="string"?n.message:e}catch{return e}}function ph(e){const t=mh(e),n=t.match(/The ['"`]([^'"`]+)['"`] model requires a newer version of Codex\b/i);if(n)return{message:`The Codex version DorkOS is using is too old for ${n[1]}. Update DorkOS (or your custom Codex installation), then try again. You can also choose another model.`,category:"runtime_update_required",details:e};const s=t.match(/The ['"`]([^'"`]+)['"`] model is not supported when using Codex with a ChatGPT account\b/i);return s?{message:`${s[1]} isn’t available with a ChatGPT account. Choose another model from the model menu.`,category:"model_unavailable",details:e}:null}const wa="runtimes";function hh({label:e}){const{open:t}=po();return r.jsx("button",{type:"button",onClick:()=>t(wa),className:"text-muted-foreground hover:text-foreground mt-2 block text-xs underline decoration-dotted underline-offset-2 transition-colors",children:e})}function gh({runtime:e,sessionId:t,onRetry:n,onSigninComplete:s}){const[o,a]=l.useState(!1),i=Vu(e,{sessionId:t,onCompleted:()=>a((s==null?void 0:s())??!1)}),c=Ku(e);return i.isSuccess?r.jsxs("div",{className:"mt-3","data-testid":"auth-error-signin-success",children:[r.jsxs("p",{className:"text-status-success-fg flex items-center gap-2 text-sm",role:"status",children:[r.jsx(it,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),o?"Signed in. Sending your message again…":"Signed in."]}),!o&&n&&r.jsxs(oe,{size:"sm",onClick:n,className:"mt-2 gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]}):r.jsxs("div",{className:"mt-3","data-testid":"auth-error-signin",children:[r.jsx("p",{className:"text-muted-foreground mb-2 flex items-center gap-2 text-sm",role:"status",children:i.isPending&&r.jsxs(r.Fragment,{children:[r.jsx(Le,{size:"xs",className:"shrink-0"}),c.signInPending]})}),i.isError&&r.jsx("p",{className:"text-destructive mb-2 text-sm",role:"alert",children:i.errorMessage}),r.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[r.jsxs(oe,{size:"sm",onClick:i.login,disabled:i.isPending,className:"gap-1.5","data-testid":"auth-error-signin-button",children:[r.jsx(ho,{className:"size-3"}),i.isError?"Try again":c.signInLabel]}),n&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:n,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]}),r.jsx(hh,{label:"Use an API key instead"})]})}function pr({onRetry:e}){return r.jsx("div",{className:"mt-3","data-testid":"auth-error-remote-guidance",children:r.jsx(Wu,{...e?{onRetry:e}:{}})})}function Na({onRetry:e}){const{open:t}=po();return r.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[r.jsxs(oe,{size:"sm",onClick:()=>t(wa),className:"gap-1.5",children:[r.jsx(ho,{className:"size-3"}),"Fix sign-in"]}),e&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:e,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]})}function xh({runtime:e,sessionId:t,onRetry:n,renderOffer:s,lead:o,children:a}){const i=!Io(),c=go(),u=ce(f=>f.setRetryAccount),d=At(e).label,m=s({runtime:e,origin:`auth-error:${t}`,note:`This makes new ${d} work on this computer run on your DorkOS credits.`,chosen:n?`New ${d} work on this computer now runs on your DorkOS credits. Sending your message again…`:`New ${d} work on this computer now runs on your DorkOS credits.`,...n?{confirmAfterLink:{prompt:"Linked. Send again on DorkOS credits?",action:"Send again"}}:{},onChoose:async()=>{await c.mutateAsync({runtime:e,useCredits:!0}),n&&(u({id:lt,sessionId:t}),n())}}),h=f=>r.jsxs("section",{"aria-label":"Other ways",children:[r.jsx("p",{className:"text-muted-foreground text-2xs font-medium tracking-wide uppercase",children:"Other ways"}),f]});return o?r.jsxs("div",{className:"mt-3 space-y-3","data-testid":"auth-error-credits-first",children:[m,h(a),r.jsx(Gu,{ollama:wl(e)==="provider-picker",remote:i})]}):r.jsxs("div",{"data-testid":"auth-error-credits-other-way",children:[a,r.jsx("div",{className:"mt-3",children:h(m)})]})}function bh({sessionId:e,onRetry:t,onSigninComplete:n}){var h;const{sessions:s,isLoading:o}=es(),a=Io(),i=(h=s.find(f=>f.id===e))==null?void 0:h.runtime,c=Hu(i),u=io(),d=i!==void 0&&u!==null&&(c==="lead"||c==="other-way");if(!a&&!d)return r.jsx(pr,{onRetry:t});if(o)return null;const m=a?!i||!Nl(i)?r.jsx(Na,{onRetry:t}):r.jsx(gh,{runtime:i,sessionId:e,onRetry:t,onSigninComplete:n}):r.jsx(pr,{onRetry:t});return d&&i&&u?r.jsx(xh,{runtime:i,sessionId:e,onRetry:t,renderOffer:u,lead:c==="lead",children:m}):m}function yh({sessionId:e,onRetry:t,onSigninComplete:n}){return e?r.jsx(bh,{sessionId:e,onRetry:t,onSigninComplete:n}):r.jsx(Na,{onRetry:t})}const kh="credits_unavailable",vh="folder-sign-in";function Ch({onRetry:e,sessionId:t,runtimeLabel:n,reason:s}){const o=ce(g=>g.setRetryAccount),a=El(),i=go(),c=xo(),u=sn(t),d=tn(u??null);if(!e)return null;const m=Sh(d),h=n?`your ${n}`:"your own",f=()=>{if(d!==void 0){if(m==="pick-for-send"){t&&o({id:Ct,sessionId:t}),e();return}i.mutate({runtime:d.type,useCredits:!1},{onSuccess:()=>m==="new-conversation"?c(void 0,{runtime:d.type}):e()})}},x=()=>{t&&a.mutate(t,{onSuccess:({launch:g})=>{g!=null&&g.ok&&o({id:g.accountId,sessionId:t}),e()}})};return r.jsxs("div",{className:"mt-2 flex flex-col gap-2","data-testid":"credits-error-actions",children:[r.jsxs("div",{className:"flex flex-wrap gap-2",children:[r.jsxs(oe,{size:"sm",variant:"outline",onClick:e,className:"gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]}),t&&r.jsx(oe,{size:"sm",variant:"outline",onClick:f,disabled:d===void 0||i.isPending,children:m==="new-conversation"?`Start a new chat on ${h} sign-in`:`Use ${h} sign-in`}),t&&s===vh&&r.jsx(oe,{size:"sm",variant:"outline",onClick:x,disabled:a.isPending,children:"Don’t use credits in this project"})]}),t&&m==="whole-runtime"&&r.jsxs("p",{className:"text-muted-foreground text-xs","data-testid":"credits-own-sign-in-reach",children:["This moves all ",n??"its"," chats to ",h," sign-in, not just this one."]}),a.error&&r.jsx("p",{className:"text-muted-foreground text-xs",role:"status",children:a.error.message}),i.isError&&r.jsx("p",{className:"text-muted-foreground text-xs",role:"status",children:"Couldn’t switch to your own sign-in. Try again in a moment."})]})}function Sh(e){var t;return e===void 0||e.supportsAccounts?"pick-for-send":((t=e.credits)==null?void 0:t.scope)==="conversation"?"new-conversation":"whole-runtime"}function jh({category:e,onChooseModel:t}){return t?r.jsxs(oe,{size:"sm",onClick:t,className:"mt-3 gap-1.5",children:[r.jsx(bo,{className:"size-3"}),e==="runtime_update_required"?"Choose another model":"Choose model"]}):null}const _h="your agent",wh="agent",hr={max_turns:{heading:"Turn limit reached",subtext:"The agent ran for its maximum number of turns.",retryable:!1},execution_error:{heading:"Agent stopped unexpectedly",subtext:"Something went wrong before it finished.",retryable:!0},budget_exceeded:{heading:"Cost limit reached",subtext:"This chat hit its spending limit.",retryable:!1},output_format_error:{heading:"Output format error",subtext:"The agent couldn’t produce the required output format.",retryable:!1},auth_error:{heading:"Sign in again",subtext:"Your login stopped working. Sign in again to continue.",retryable:!0},model_unavailable:{heading:"Model unavailable",subtext:"Choose another model from the model menu.",retryable:!1},runtime_update_required:{heading:"Codex update required",subtext:"Update DorkOS or your Codex install, then try again. Or choose another model.",retryable:!1}},Nh=new Set(["max_turns","budget_exceeded","output_format_error","auth_error"]);function Eh(e){return`Sign in to ${e??_h} again`}function Dh(e){return`Your ${e??wh} login stopped working. Sign in again to continue.`}const Th="rate_limit";function on(e){const{code:t,at:n,sessionId:s,reason:o}=e;return t===yo&&o?r.jsx(Yo,{agentId:o}):t===Th&&s?r.jsx(mm,{sessionId:s,at:n??"",fallback:r.jsx(gr,{...e})}):r.jsx(gr,{...e})}function gr({message:e,category:t,details:n,onRetry:s,heading:o,subtext:a,runtimeLabel:i,sessionId:c,onSigninComplete:u,onChooseModel:d,code:m,reason:h}){const[f,x]=l.useState(!1),g=m===kh,S=l.useMemo(()=>ph(e),[e]),b=(S==null?void 0:S.category)??t,k=(S==null?void 0:S.message)??e,v=S?n!=null&&n.includes(S.details??"")?n:[n,S.details].filter(Boolean).join(`
|
|
41
|
+
`):n,y=b==="auth_error",p=b?hr[b]??hr.execution_error:null,j=y?Eh(i):b==="runtime_update_required"&&i?`${i} update required`:p==null?void 0:p.heading,_=y?Dh(i):p==null?void 0:p.subtext,D=g?"Couldn’t reach DorkOS credits":S?j??"Error":o??j??"Error",A=k.trim(),N=b!==void 0&&Nh.has(b),T=g?A:(S&&(a==null?void 0:a.trim())===e.trim()?void 0:a)??(N?_:A||_)??A,C=T.trim(),E=l.useMemo(()=>Dl(A),[A]),w=!A||A===C||A===D,R=!w&&(!N||E)?A:null,M=w||R!==null||v!=null&&v.includes(A)?v:[v,A].filter(Boolean).join(`
|
|
42
|
+
`),F=(p==null?void 0:p.retryable)??!!s;return r.jsx("div",{"data-testid":"error-message-block",className:H("my-2 rounded-lg border px-4 py-3","border-destructive/30 bg-destructive/5 text-foreground"),children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(ds,{className:"text-destructive mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm font-medium",children:D}),r.jsx("p",{className:"text-muted-foreground mt-0.5 text-sm wrap-anywhere whitespace-pre-wrap",children:r.jsx(mn,{text:T})}),R&&r.jsx("p",{className:"text-muted-foreground mt-1 text-sm wrap-anywhere whitespace-pre-wrap",children:r.jsx(mn,{text:R})}),M&&r.jsxs("button",{type:"button",onClick:()=>x(!f),className:"text-muted-foreground hover:text-foreground mt-2 flex items-center gap-1 text-xs","aria-expanded":f,children:[r.jsx(K.div,{animate:{rotate:f?0:-90},transition:{type:"spring",stiffness:400,damping:30},children:r.jsx(Tt,{className:"size-3"})}),"Details"]}),r.jsx(fe,{initial:!1,children:f&&M&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("pre",{className:"bg-muted/50 mt-1 max-h-40 overflow-auto rounded p-2 text-xs whitespace-pre-wrap",children:r.jsx(mn,{text:M})})})}),g&&r.jsx(Ch,{onRetry:s,sessionId:c,runtimeLabel:i,reason:h}),y&&r.jsx(yh,{sessionId:c,onRetry:s,onSigninComplete:u}),(b==="model_unavailable"||b==="runtime_update_required")&&r.jsx(jh,{category:b,onChooseModel:d})]}),!y&&!g&&F&&s&&r.jsxs(oe,{variant:"outline",size:"sm",onClick:s,className:"shrink-0 gap-1.5",children:[r.jsx(jt,{className:"size-3"}),"Retry"]})]})})}const Ah=8;function Fh({toolName:e,reasonType:t,reason:n,message:s,agentId:o}){const a=n||s,i=t==="classifier",c=t==="asyncAgent",u=o!==void 0?`Helper ${o.slice(0,Ah)}`:c?"A background helper":null,m=u!==null?`${u} was blocked from using ${e}${i?" by auto mode":""}: ${a}`:i?`Blocked by auto mode: ${a}`:`Blocked: ${a}`;return r.jsxs("div",{"data-testid":"permission-denied-chip","data-reason-type":t,"data-agent-id":o,className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-amber-500/30 bg-amber-500/5"),children:[r.jsx(nd,{"aria-hidden":"true",className:"mt-0.5 size-4 shrink-0 text-amber-600 dark:text-amber-500"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm",children:m}),c?r.jsxs(r.Fragment,{children:[r.jsx("p",{className:"text-muted-foreground mt-0.5 text-xs",children:"Background helpers can’t ask for approval, so this was blocked."}),r.jsx("p",{className:"text-muted-foreground mt-0.5 text-xs",children:"Do it yourself, or ask the agent to run it in the foreground."})]}):null,r.jsx("p",{className:"text-muted-foreground mt-0.5 font-mono text-xs",children:e})]})]})}const Rh=50;function Mh(e){return e.type==="tool_call"&&e.interactiveType==="approval"&&e.approvalOutcome!==void 0}function Oh(e,t){return e.approvalOutcome!==t.approvalOutcome||(e.approvalReasonGiven??!1)!==(t.approvalReasonGiven??!1)||e.approvalResolvedAt===void 0||t.approvalResolvedAt===void 0?!1:Math.abs(e.approvalResolvedAt-t.approvalResolvedAt)<=Rh}function Ih(e){const t=new Map;let n=null;for(let s=0;s<e.length;s++){const o=e[s];if(!Mh(o)){n=null;continue}if(n&&Oh(n.part,o)){n.group.indices.push(s),t.set(s,n.group);continue}const a={leadIndex:s,indices:[s],outcome:o.approvalOutcome,reasonGiven:o.approvalReasonGiven??!1};t.set(s,a),n={group:a,part:o}}return t}function $h(e){return e.questionOutcome!==void 0?e.questionOutcome==="answered":e.status!=="pending"}function Ph(e){return e.status==="pending"?void 0:e.questionOutcome}function Lh({message:e}){return r.jsx(Ve,{"data-testid":"unreadable-entry-note",icon:r.jsx(Tl,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsx("span",{className:"text-muted-foreground",children:e})})}function zh({title:e}){return r.jsxs("div",{"data-testid":"capability-approval-timed-out",className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-border bg-muted/40"),children:[r.jsx(yt,{"aria-hidden":"true",className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),r.jsxs("div",{className:"min-w-0 flex-1",children:[r.jsx("p",{className:"text-sm",children:"The agent stopped waiting for your answer."}),r.jsxs("p",{className:"text-muted-foreground mt-0.5 text-xs",children:["“",e,"” is still in Approvals. Answer it, then ask the agent to retry."]})]})]})}function Vn({testId:e,icon:t,children:n}){return r.jsxs("div",{"data-testid":e,className:H("my-2 flex items-start gap-2 rounded-md border px-3 py-2","text-foreground border-border bg-muted/40"),children:[t,r.jsx("div",{className:"min-w-0 flex-1",children:n})]})}function Bh({part:e}){return e.outcome==="failed"?r.jsx(Vn,{testId:"mcp-signin-failed",icon:r.jsx(ds,{"aria-hidden":"true",className:"text-status-warning-dot mt-0.5 size-4 shrink-0"}),children:r.jsxs("p",{className:"text-sm",children:["Sign-in to “",e.serverName,"” didn’t finish. Ask your agent to retry."]})}):r.jsx(Vn,{testId:"mcp-signin-receipt",icon:r.jsx(ko,{"aria-hidden":"true",className:"text-status-success mt-0.5 size-4 shrink-0"}),children:r.jsxs("p",{className:"text-sm",children:["Connected to ",e.serverName,e.toolCount===void 0?"":` · ${e.toolCount} tool${e.toolCount===1?"":"s"}`,"."]})})}function qh({part:e}){const t=sd(e.agentId,e.serverName),{adopt:n}=t,s=e.outcome!==void 0;return l.useEffect(()=>{s||n({flowId:e.flowId,authorizeUrl:e.authorizeUrl,disclosure:e.disclosure})},[s,n,e.flowId,e.authorizeUrl,e.disclosure]),e.outcome!==void 0?r.jsx(Bh,{part:e}):r.jsxs(Vn,{testId:"mcp-signin-card",icon:r.jsx(Al,{"aria-hidden":"true",className:"text-muted-foreground mt-0.5 size-4 shrink-0"}),children:[r.jsxs("p",{className:"text-sm",children:["Sign in to ",e.serverName]}),r.jsx(rd,{flow:t,serverName:e.serverName,failedActions:r.jsx(oe,{variant:"secondary",size:"sm",onClick:()=>t.start(),className:"focus-visible:ring-2",children:"Try again"})})]})}function Uh({fromName:e,toName:t}){return r.jsx(Ve,{"data-testid":"model-substituted-row",icon:r.jsx(bo,{"aria-hidden":"true",className:"text-muted-foreground size-3 shrink-0"}),label:r.jsxs("span",{className:"text-muted-foreground",children:["DorkOS credits don’t cover ",e,", so this ran on ",t,". Switch in the model menu."]})})}const Hh={running:r.jsx(Le,{size:"xs",className:"text-muted-foreground"}),success:r.jsx(it,{className:"text-muted-foreground size-(--size-icon-xs)"}),error:r.jsx(qe,{className:"text-destructive size-(--size-icon-xs)"}),cancelled:r.jsx(qe,{className:"text-muted-foreground size-(--size-icon-xs)"})};function Wh({hook:e}){const t=!!(e.stdout||e.stderr),[n,s]=l.useState(e.status==="error"),o=e.stderr||e.stdout;return r.jsxs("div",{children:[r.jsxs("button",{onClick:()=>t&&s(a=>!a),className:H("flex w-full items-center gap-1.5 py-0.5",!t&&"cursor-default"),"aria-expanded":t?n:void 0,disabled:!t,children:[Hh[e.status],r.jsx("span",{className:H("text-3xs font-mono",e.status==="error"?"text-destructive":"text-muted-foreground"),children:e.hookName}),e.status==="error"&&r.jsx("span",{className:"text-3xs text-destructive",children:"Error"}),e.exitCode!==void 0&&r.jsxs("span",{className:"text-3xs text-muted-foreground ml-auto",children:["exit ",e.exitCode]})]}),r.jsx(fe,{initial:!1,children:n&&t&&o&&r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"overflow-hidden",children:r.jsx("pre",{className:"text-muted-foreground max-h-32 overflow-y-auto py-1 text-xs whitespace-pre-wrap",children:o})})})]})}function Gh({toolCall:e,defaultExpanded:t=!1}){const[n,s]=l.useState(t),o=!!e.progressOutput;l.useEffect(()=>{o&&!n&&s(!0)},[o]);const a=e.hooks&&e.hooks.length>0?r.jsx("div",{className:"border-border/50 space-y-0.5 border-t px-3 py-1",children:e.hooks.map(u=>r.jsx(Wh,{hook:u},u.hookId))}):void 0,i=e.startedAt&&e.completedAt?e.completedAt-e.startedAt:void 0,c=no(e.toolName);return r.jsxs(Rt,{expanded:n,onToggle:()=>s(!n),dimmed:e.status==="complete",extraContent:a,"data-testid":"tool-call-card","data-tool-name":e.toolName,"data-status":e.status,header:r.jsxs(r.Fragment,{children:[fa(e.status),c&&r.jsx("span",{className:"bg-muted text-muted-foreground text-3xs rounded px-1 py-0.5 font-medium",children:c}),r.jsx("span",{className:"text-3xs flex-1 text-left font-mono",children:ut(e.toolName,e.input)}),i!==void 0&&r.jsx("span",{className:"text-muted-foreground text-3xs tabular-nums",children:od(i)})]}),children:[e.status==="running"&&!e.input?r.jsxs("div",{className:"text-muted-foreground flex items-center gap-1.5 py-1 text-xs",children:[r.jsx(Le,{size:"xs"}),r.jsx("span",{children:"Preparing…"})]}):e.input!==void 0&&e.input!==""?r.jsx(Ko,{toolName:e.toolName,input:e.input,isStreaming:e.status==="running"}):null,e.progressOutput&&!e.result&&r.jsx(so,{content:e.progressOutput,className:"mt-2 border-t pt-2"}),e.result&&r.jsx("div",{className:"mt-2 border-t pt-2",children:r.jsx(_a,{content:e.result,toolName:e.toolName,input:e.input})})]})}function Vh(e){if(e.startsWith("mcp__"))return e.split("__")[1]||void 0}function Ea(e,t,n){const s=l.useRef(e),[o,a]=l.useState(!(t&&s.current==="complete"));return l.useEffect(()=>{if(t&&e==="complete"&&s.current!=="complete"&&!n){const i=setTimeout(()=>a(!1),en.TOOL_CALL_AUTO_HIDE_MS);return()=>clearTimeout(i)}},[e,t,n]),!t||n?!0:o}function Kh({part:e,autoHide:t,expandToolCalls:n}){var a;const s=((a=e.hooks)==null?void 0:a.some(i=>i.status==="error"))??!1,o=Ea(e.status,t,s);return r.jsx(fe,{children:o&&r.jsx(K.div,{exit:{height:0,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},className:"overflow-hidden",children:r.jsx(Gh,{toolCall:{toolCallId:e.toolCallId,toolName:e.toolName,input:e.input||"",result:e.result,progressOutput:e.progressOutput,status:e.status,hooks:e.hooks,startedAt:e.startedAt,completedAt:e.completedAt},defaultExpanded:n})},e.toolCallId)})}function Dn({part:e,sessionId:t,autoHide:n,expandToolCalls:s}){const o=e.ui?Vh(e.toolName):void 0,a=r.jsx(Kh,{part:e,autoHide:n,expandToolCalls:s});return!e.ui||e.status!=="complete"||!o?a:r.jsxs("div",{className:"flex flex-col gap-2",children:[a,r.jsx(gf,{sessionId:t,serverName:o,uri:e.ui.resourceUri})]})}function Qh({part:e,autoHide:t,index:n}){const s=e.isStreaming?"running":"complete",o=Ea(s,t,!1);return r.jsx(fe,{children:o&&r.jsx(K.div,{exit:{height:0,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},className:"overflow-hidden",children:r.jsx(Dp,{text:e.text,isStreaming:e.isStreaming??!1,elapsedMs:e.elapsedMs})},`thinking-${n}`)})}const Yh=4,xr=2;function Xh({children:e}){const[t,n]=l.useState(!1);if(e.length<=Yh||t)return r.jsx(r.Fragment,{children:e});const s=e.length-xr;return r.jsxs(r.Fragment,{children:[e.slice(0,xr),r.jsx(Rt,{expanded:!1,onToggle:()=>n(!0),ariaLabel:`Show ${s} more steps`,className:"border-l-muted-foreground/15",header:r.jsxs("span",{className:"text-3xs text-muted-foreground font-mono",children:["and ",s," more steps…"]}),children:r.jsx(r.Fragment,{})})]})}const Jh=/\|\||&&|;|\|/,Zh=/<<|>/,br=60;function eg(e){if(!e)return null;try{const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:null}catch{return null}}function Ie(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function tg(e,t){const n=e.split(`
|
|
43
43
|
`),s=t.split(`
|
|
44
44
|
`);let o=0;for(;o<n.length&&o<s.length&&n[o]===s[o];)o++;let a=0;for(;a<n.length-o&&a<s.length-o&&n[n.length-1-a]===s[s.length-1-a];)a++;const i=o+a;return{additions:Math.max(0,s.length-i),deletions:Math.max(0,n.length-i)}}function Kn(e){const t=e.old_string,n=e.new_string;if(!(typeof t!="string"&&typeof n!="string"))return tg(typeof t=="string"?t:"",typeof n=="string"?n:"")}function ng(e){const t=e.edits;if(!Array.isArray(t))return Kn(e);let n=0,s=0,o=!1;for(const a of t){if(typeof a!="object"||a===null)continue;const i=Kn(a);i&&(n+=i.additions,s+=i.deletions,o=!0)}return o?{additions:n,deletions:s}:void 0}function sg(e){return e?` +${e.additions} −${e.deletions}`:""}function rg(e){return e.length===0?0:e.replace(/\n$/,"").split(`
|
|
45
45
|
`).length}function Da(e){const t=e.replace(/\/+$/,"");if(t.length===0)return e;const n=t.startsWith("/"),s=[];for(const a of t.split("/"))if(!(a===""||a===".")){if(a===".."){const i=s[s.length-1];i!==void 0&&i!==".."?s.pop():n||s.push("..");continue}s.push(a)}const o=s.join("/");return o.length===0?n?"/":e:n?`/${o}`:o}function og(e,t){if(e===t)return!0;const n=e.startsWith("/")?e:t,s=e.startsWith("/")?t:e;return!n.startsWith("/")||s.startsWith("/")?!1:n.endsWith(`/${s}`)}function Ta(e){const t=Da(e).split("/");return t[t.length-1]||e}function ag(e){try{const t=new URL(e);return t.hash="",t.toString()}catch{return e}}function ig(e){try{return new URL(e).hostname.replace(/^www\./,"")}catch{return e}}function lg(e){if(!e)return;const t=e.trim();if(t.length===0)return;if(/^no (matches|files)/i.test(t))return 0;const n=/^(\d+)$/.exec(t);if(n)return Number(n[1]);const s=/(\d+)\s+(?:matches?|lines?)/i.exec(t);if(s)return Number(s[1]);if(!/\d+\s+files?/i.test(t))return t.split(`
|
|
46
46
|
`).filter(o=>o.trim().length>0).length}function cg(e){var s;const n=((s=e.split(`
|
|
47
47
|
`).find(o=>o.trim().length>0))==null?void 0:s.trim())??e.trim();return n.length<=br?n:`${n.slice(0,br-1).trimEnd()}…`}function ug(e){const t=[];let n="",s=null,o=!1;for(const a of e){if(s){a===s?s=null:n+=a;continue}if(a==='"'||a==="'"){s=a,o=!0;continue}if(/\s/.test(a)){o&&t.push(n),n="",o=!1;continue}n+=a,o=!0}return o&&t.push(n),t}function dg(e){const t=[];for(const n of e.split(`
|
|
48
|
-
`)){for(const s of n.split(Jh)){const o=ug(s.trim());if(o.length===0)continue;let a;if(o[0]==="git"&&o[1]==="rm")a=2;else if(o[0]==="rm")a=1;else continue;for(const i of o.slice(a)){if(i.includes(">")||i.includes("<"))break;i==="--"||i.startsWith("-")||i.length===0||t.push(i)}}if(Zh.test(n))break}return t}const yr={delete:3,create:2,edit:1,read:0,search:0,fetch:0,run:0},fg=new Set(["Task","Agent","TodoWrite"]);function ys(e){return e===1?"1 hit":`${e} hits`}const mg=/[*?[\]~$]/;function bt(e,t,n,s,o){const a=Da(e);return{key:`file:${a}`,kind:"file",label:o===!0?a:Ta(a),fullTarget:a,verb:t,entry:n,additions:s==null?void 0:s.additions,deletions:s==null?void 0:s.deletions,pattern:o===!0?!0:void 0}}function pg(e){const{toolName:t}=e;if(fg.has(t)||t.startsWith("mcp__"))return[];const n=eg(e.input);if(!n)return[];switch(t){case"Read":{const s=Ie(n,"file_path");return s?[bt(s,"read","read")]:[]}case"Glob":{const s=Ie(n,"pattern");return s?[{key:`file:${s}`,kind:"file",label:s,fullTarget:s,verb:"read",entry:"globbed",pattern:!0}]:[]}case"Grep":{const s=Ie(n,"pattern");if(!s)return[];const o=e.status==="error"?void 0:lg(e.result);return[{key:`grep:${s}`,kind:"command",label:`"${s}"`,fullTarget:s,verb:"search",entry:o===void 0?"searched":`searched (${ys(o)})`,hits:o}]}case"Edit":case"MultiEdit":case"NotebookEdit":{const s=Ie(n,"file_path")??Ie(n,"notebook_path");if(!s)return[];const o=t==="MultiEdit"?ng(n):Kn(n);return[bt(s,"edit",`edited${sg(o)}`,o)]}case"Write":{const s=Ie(n,"file_path");if(!s)return[];if(!/created/i.test(e.result??""))return[bt(s,"edit","wrote")];const a=Ie(n,"content"),i=a===void 0?void 0:{additions:rg(a)};return[bt(s,"create",`created${i?` +${i.additions}`:""}`,i)]}case"Bash":{const s=Ie(n,"command");if(!s)return[];const o=[{key:`run:${s}`,kind:"command",label:cg(s),fullTarget:s,verb:"run",entry:"ran"}];for(const a of dg(s))o.push(bt(a,"delete","deleted",void 0,mg.test(a)));return o}case"WebFetch":{const s=Ie(n,"url");return s?[{key:`url:${ag(s)}`,kind:"url",label:ig(s),fullTarget:s,verb:"fetch",entry:"fetched"}]:[]}case"WebSearch":{const s=Ie(n,"query");return s?[{key:`websearch:${s}`,kind:"command",label:s,fullTarget:s,verb:"search",entry:"searched the web"}]:[]}default:return[]}}function hg(e,t){if(t.kind!=="file"||t.pattern===!0||e.has(t.key))return t.key;for(const n of e.values())if(!(n.kind!=="file"||n.pattern===!0)&&og(n.fullTarget,t.fullTarget))return n.key;return t.key}function gg(e,t,n,s,o){const a=hg(e,t),i=e.get(a);if(!i){e.set(a,{key:a,kind:t.kind,label:t.label,fullTarget:t.fullTarget,verb:t.verb,live:s,error:o,touches:1,additions:t.additions,deletions:t.deletions,hits:t.hits,pattern:t.pattern,firstSeq:n,lastSeq:n,history:[t.entry]});return}i.touches+=1,i.lastSeq=n,i.live=i.live||s,i.error=i.error||o,i.history.push(t.entry),t.additions!==void 0&&(i.additions=(i.additions??0)+t.additions),t.deletions!==void 0&&(i.deletions=(i.deletions??0)+t.deletions),t.hits!==void 0&&(i.hits=(i.hits??0)+t.hits),t.pattern||(i.pattern=void 0),i.kind==="file"&&i.pattern!==!0&&t.fullTarget.startsWith("/")&&!i.fullTarget.startsWith("/")&&(i.fullTarget=t.fullTarget,i.label=Ta(t.fullTarget)),i.verb==="read"&&t.verb==="edit"&&(i.upgraded=!0),yr[t.verb]>yr[i.verb]&&(i.verb=t.verb)}const kr=new WeakMap;function xg(e){const t=kr.get(e);if(t&&t.input===e.input&&t.result===e.result&&t.status===e.status)return t.touches;const n=pg(e);return kr.set(e,{input:e.input,result:e.result,status:e.status,touches:n}),n}function bg(e){const t=new Map;return e.forEach((n,s)=>{if(n.type!=="tool_call")return;const o=n.status==="pending"||n.status==="running",a=n.status==="error";for(const i of xg(n))gg(t,i,s,o,a)}),[...t.values()]}const Aa={expanded:!1,verbFilter:null,order:"grouped"},Tn=os(e=>({views:{},update:(t,n)=>e(s=>({views:{...s.views,[t]:{...s.views[t]??Aa,...n}}}))}));function yg(e,t){const n=t.find(s=>s.type==="tool_call");return`${e}:${(n==null?void 0:n.toolCallId)??""}`}function kg(e){const t=Tn(c=>c.views[e]),n=Tn(c=>c.update),s=t??Aa,o=l.useCallback(()=>{var c;return n(e,{expanded:!((c=Tn.getState().views[e])!=null&&c.expanded)})},[e,n]),a=l.useCallback(c=>n(e,{verbFilter:c}),[e,n]),i=l.useCallback(c=>n(e,{order:c}),[e,n]);return l.useMemo(()=>({...s,toggleExpanded:o,setVerbFilter:a,setOrder:i}),[s,o,a,i])}const vr=4,ft=[.4,0,.2,1],vg={type:"spring",stiffness:320,damping:28},Cg={duration:.25,ease:ft},Sg={x:-16,scale:.45,opacity:0},Jt={duration:.15,ease:ft},Cr={duration:.3,ease:ft},Sr={duration:.15,ease:ft},jg={duration:.3,ease:ft},
|
|
49
|
-
`)}function Rg(e){const t=e.pattern===!0&&e.verb==="read"?"Globbed":ln[e.verb],n=e.verb==="run"?e.label:e.fullTarget,s=[`${t} ${n}`];return e.touches>1&&s.push(`${e.touches} times`),e.hits!==void 0&&s.push(ys(e.hits)),e.additions!==void 0&&s.push(`${e.additions} added`),e.deletions!==void 0&&s.push(`${e.deletions} removed`),e.error&&s.push("didn’t work"),s.join(", ")}const wr="bg-muted text-muted-foreground shrink-0 rounded-full px-1.5 text-3xs leading-[1.4] tabular-nums";function Ma({chip:e,onOpen:t,animated:n=!1,pulseUpgrade:s=!1,onUpgradeSeen:o}){const a=Me()??!1,i=s&&!a,c=Ag(e),u=e.verb==="delete",d=e.additions!==void 0||e.deletions!==void 0,m=n&&(e.verb==="create"||e.verb==="delete");return r.jsxs(K.button,{...Eg(n,a),type:"button","data-testid":"touch-chip","data-verb":e.verb,"data-live":e.live,"data-arriving":m?"true":void 0,title:Fg(e),"aria-label":Rg(e),onClick:()=>t(e),className:H("touch-chip relative inline-flex max-w-56 items-center gap-1.5 rounded-full border","px-2 py-0.5 text-xs","bg-card text-foreground border-border","focus-visible:ring-ring outline-none focus-visible:ring-2",c?"hover:bg-accent hover:text-accent-foreground":"cursor-default",u&&"text-muted-foreground line-through opacity-60",e.error&&"border-destructive/40 bg-destructive/10 text-destructive"),children:[r.jsx("span",{"aria-hidden":"true",className:"chip-sweep"}),r.jsxs("span",{className:"chip-icon relative inline-flex w-4 shrink-0 items-center justify-center leading-none",children:[r.jsx("span",{className:"chip-glyph inline-flex items-center justify-center [perspective:400px]",children:r.jsx(fe,{initial:!1,mode:"wait",children:r.jsx(K.span,{"aria-hidden":"true",initial:a?{opacity:0}:{opacity:0,rotateX:-90},animate:a?{opacity:1}:{opacity:1,rotateX:0},exit:a?{opacity:0}:{opacity:0,rotateX:90},transition:Sr,children:an[e.verb]},e.verb)})}),i&&r.jsx(K.span,{"aria-hidden":"true","data-testid":"chip-upgrade-pulse",className:"border-primary pointer-events-none absolute -inset-1 rounded-full border",initial:{scale:.6,opacity:.8},animate:{scale:1.8,opacity:0},transition:jg,onAnimationComplete:()=>o==null?void 0:o(e.key)})]}),r.jsx("span",{className:"chip-label truncate",children:e.label}),e.verb==="edit"&&e.live&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-caret",className:"chip-caret"}),e.verb==="run"&&e.live&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-cursor",className:"chip-cursor"}),e.verb==="fetch"&&e.live&&r.jsxs("span",{"aria-hidden":"true","data-testid":"chip-dots",className:"chip-dots",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),e.verb==="create"&&m&&r.jsxs(r.Fragment,{children:[r.jsx("svg",{"aria-hidden":"true","data-testid":"chip-pen",className:"chip-pen",children:r.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",rx:"11",ry:"11",pathLength:"100"})}),r.jsx("span",{"aria-hidden":"true",className:"chip-spark"})]}),e.verb==="delete"&&m&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-puff",className:"chip-puff"}),e.touches>1&&r.jsxs("span",{className:wr,children:["×",e.touches]}),e.hits!==void 0&&r.jsx("span",{className:wr,children:ys(e.hits)}),d&&r.jsxs(K.span,{className:"shrink-0 tabular-nums",initial:i?{opacity:0,x:-4}:!1,animate:{opacity:1,x:0},transition:Sr,children:[e.additions!==void 0&&r.jsxs("span",{className:"text-status-success-fg",children:["+",r.jsx(jr,{value:e.additions,live:e.live})]}),e.additions!==void 0&&e.deletions!==void 0&&" ",e.deletions!==void 0&&r.jsxs("span",{className:"text-destructive",children:["−",r.jsx(jr,{value:e.deletions,live:e.live})]})]})]})}const _r=new Map(Fa.map((e,t)=>[e,t]));function Mg(e,t){const n=[...e];return t==="chronological"?n.sort((s,o)=>s.lastSeq-o.lastSeq):n.sort((s,o)=>(_r.get(s.verb)??0)-(_r.get(o.verb)??0)||s.firstSeq-o.firstSeq)}function Og({id:e,chips:t,onOpen:n,verbFilter:s,onVerbFilterChange:o,order:a,onOrderChange:i}){const c=l.useMemo(()=>Ra(t),[t]),u=l.useMemo(()=>{const d=s?t.filter(m=>m.verb===s):t;return Mg(d,a)},[t,s,a]);return r.jsxs("div",{id:e,role:"region","aria-label":"Touched files and links","data-testid":"chip-tray",className:"border-border bg-card/50 flex flex-col gap-2 rounded-md border p-2",children:[r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[r.jsx("div",{role:"group","aria-label":"Filter by what happened",className:"flex flex-wrap gap-1",children:c.map(d=>{const m=s===d.verb;return r.jsxs(oe,{variant:"outline",size:"xs","aria-pressed":m,"data-testid":`chip-filter-${d.verb}`,onClick:()=>o(m?null:d.verb),className:H("rounded-full",m?"border-primary dark:border-primary text-foreground":"text-muted-foreground"),children:[r.jsx("span",{"aria-hidden":"true",children:an[d.verb]}),r.jsx("span",{className:"sr-only",children:ln[d.verb]}),r.jsx("span",{className:"tabular-nums",children:d.chips.length})]},d.verb)})}),r.jsxs(Al,{value:a,onValueChange:d=>i(d),"aria-label":"Order the roster",className:"w-auto",children:[r.jsx(Ps,{value:"grouped",children:"Grouped"}),r.jsx(Ps,{value:"chronological",children:"Chronological"})]})]}),r.jsx("div",{"data-testid":"chip-tray-roster",className:"flex max-h-60 flex-wrap items-start gap-1.5 overflow-y-auto overscroll-contain",children:u.map(d=>r.jsx(Ma,{chip:d,onOpen:n},d.key))})]})}const Ig=new Set;function $g(){const[e,t]=l.useState(Ig),n=l.useCallback((o,a)=>a===!0&&!e.has(o),[e]),s=l.useCallback(o=>{t(a=>a.has(o)?a:new Set(a).add(o))},[]);return{shouldPulse:n,acknowledge:s}}function Pg(e){const t=[...e].sort((n,s)=>n.lastSeq-s.lastSeq);return{visible:t.slice(-vr),absorbed:t.slice(0,Math.max(0,t.length-vr))}}function Lg(e){return e.map(t=>{const n=[`${t.chips.length} ${ln[t.verb].toLowerCase()}`];return t.additions!==void 0&&n.push(`${t.additions} added`),t.deletions!==void 0&&n.push(`${t.deletions} removed`),n.join(", ")}).join("; ")}function zg({verb:e,count:t,additions:n,deletions:s}){return r.jsxs("span",{"data-testid":`chip-summary-${e}`,className:"inline-flex items-center gap-1",children:[r.jsx("span",{"aria-hidden":"true",children:an[e]}),r.jsx("span",{className:"sr-only",children:ln[e]}),r.jsx("span",{className:"tabular-nums",children:t}),(n!==void 0||s!==void 0)&&r.jsxs("span",{className:"tabular-nums",children:[n!==void 0&&r.jsxs("span",{className:"text-status-success-fg",children:["+",n]}),n!==void 0&&s!==void 0&&" ",s!==void 0&&r.jsxs("span",{className:"text-destructive",children:["−",s]})]})]})}function Bg({parts:e,sessionId:t,turnActive:n=!1}){const s=Me()??!1,o=l.useMemo(()=>bg(e),[e]),a=$g(),i=l.useId(),c=kg(l.useMemo(()=>yg(t,e),[t,e])),u=l.useCallback(x=>{if(x.pattern===!0)return;const g=ce.getState();if(x.kind==="url"){const S={type:"url",url:x.fullTarget};g.openCanvasDocument(S),Pn(g,"user",S);return}if(x.kind==="file"){const S={type:"file",sourcePath:x.fullTarget};g.openCanvasDocument(S),Pn(g,"user",S)}},[]),d=l.useMemo(()=>Ra(o),[o]),m=n||o.some(x=>x.live),{visible:h,absorbed:f}=l.useMemo(()=>Pg(o),[o]);return o.length===0?null:r.jsxs("div",{"data-testid":"touch-chip-strip",className:"mt-2 flex flex-col gap-2",children:[r.jsx(fe,{initial:!1,mode:"wait",children:m?r.jsxs(K.div,{"data-testid":"chip-live-row",role:"group","aria-label":"Latest activity",exit:s?{opacity:0}:{opacity:0,height:0},transition:s?Jt:Cr,className:"flex min-w-0 items-center gap-1.5 overflow-hidden",children:[f.length>0&&r.jsx(Tg,{chips:f,expanded:c.expanded,controls:i,onExpand:c.toggleExpanded}),r.jsx(fe,{initial:!1,children:h.map(x=>r.jsx(Ma,{chip:x,onOpen:u,animated:!0,pulseUpgrade:a.shouldPulse(x.key,x.upgraded),onUpgradeSeen:a.acknowledge},x.key))})]},"live"):r.jsxs(K.div,{"data-testid":"chip-summary-line",role:"group","aria-label":Lg(d),initial:{opacity:0},animate:{opacity:1},transition:s?Jt:Cr,className:"text-muted-foreground flex flex-wrap items-center gap-x-1.5 gap-y-1 text-xs",children:[d.map((x,g)=>r.jsxs(l.Fragment,{children:[g>0&&r.jsx("span",{"aria-hidden":"true",children:"·"}),r.jsx(zg,{verb:x.verb,count:x.chips.length,additions:x.additions,deletions:x.deletions})]},x.verb)),r.jsx("span",{"aria-hidden":"true",children:"·"}),r.jsx("button",{type:"button","aria-expanded":c.expanded,"aria-controls":i,onClick:c.toggleExpanded,className:H("hover:text-foreground rounded-sm underline underline-offset-2","focus-visible:ring-ring outline-none focus-visible:ring-2"),children:c.expanded?"hide":"show all"})]},"settled")}),c.expanded&&r.jsx(Og,{id:i,chips:o,onOpen:u,verbFilter:c.verbFilter,onVerbFilterChange:c.setVerbFilter,order:c.order,onOrderChange:c.setOrder})]})}function Nr(e){return e.type==="thinking"?!0:e.type==="tool_call"&&!e.interactiveType&&!Jo(e.toolName)&&!Ln(e.toolName)}function qg({message:e}){const{sessionId:t,isStreaming:n,isLatestWidgetMessage:s,isFinalMessage:o,activeToolCallId:a,onToolRef:i,focusedOptionIndex:c,onToolDecided:u,onRetry:d,onSigninComplete:m,onChooseModel:h,inputZoneToolCallId:f,textEffect:x,runtimeLabel:g,allowsDenyReason:S}=_p(),b=ce(C=>C.expandToolCalls),k=ce(C=>C.autoHideToolCalls),v=e.parts??[],{sent:y}=ba(t),p=l.useCallback(C=>{i==null||i(C)},[i]),j=l.useCallback(C=>{i==null||i(C)},[i]),w=Ih(v.map(C=>C.type==="tool_call"&&Ln(C.toolName)?{...C,interactiveType:void 0}:C));let D=-1;for(let C=v.length-1;C>=0;C--)if(v[C].type==="text"){D=C;break}function A(C,E){if(C.type==="text")return r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:C.text,isStreaming:n&&E===D,textEffect:x,sessionId:t,isLatestWidgetMessage:s})},`text-${E}`);if(C.type==="background_task")return r.jsx(Bp,{part:C},C.taskId);if(C.type==="error"&&C.code===vo)return r.jsx(Lh,{message:C.message},`unreadable-${E}`);if(C.type==="error")return r.jsx(on,{message:C.message,category:C.category,details:C.details,code:C.code,reason:C.reason,at:e.timestamp,onRetry:o&&C.category!==void 0?d:void 0,onSigninComplete:m,onChooseModel:h,runtimeLabel:g,sessionId:t},`error-${E}`);if(C.type==="thinking")return r.jsx(Qh,{part:C,autoHide:k,index:E},`thinking-${E}`);if(C.type==="elicitation")return r.jsx(Qd,{sessionId:t,interactionId:C.interactionId,serverName:C.serverName,message:C.message,mode:C.mode,url:C.url,requestedSchema:C.requestedSchema,status:C.status,action:C.action},`elicitation-${C.interactionId}`);if(C.type==="memory_recall")return r.jsx(Tp,{mode:C.mode,memories:C.memories,isStreaming:C.isStreaming??!1},`memory-recall-${E}`);if(C.type==="permission_denied")return r.jsx(Fh,{toolName:C.toolName,reasonType:C.reasonType,reason:C.reason,message:C.message,agentId:C.agentId},`permission-denied-${C.toolCallId}-${E}`);if(C.type==="model_substituted")return r.jsx(Uh,{fromName:C.fromName,toName:C.toName},`model-substituted-${E}`);if(C.type==="compact_boundary")return r.jsx(Op,{trigger:C.trigger,preTokens:C.preTokens,postTokens:C.postTokens,failed:C.failed,error:C.error,requestedBy:C.requestedBy,contextPercent:C.contextPercent},`compact-boundary-${E}`);if(C.type==="capability_approval")return C.outcome==="timeout"?r.jsx(zh,{title:Fl(C.approval)},`capability-approval-${C.approval.approvalId}`):r.jsx(Rl,{approval:C.approval},`capability-approval-${C.approval.approvalId}`);if(C.type==="mcp_signin")return r.jsx(qh,{part:C},`mcp-signin-${C.agentId}-${C.flowId}`);if(C.type==="image")return r.jsx(Ip,{part:C},`image-${C.attachmentId}-${E}`);if(C.type!=="tool_call")return null;const _=C;if(_.interactiveType==="approval"&&_.status==="pending"){if(_.toolCallId===f)return r.jsx(or,{type:"approval",toolName:_.toolName,toolInput:_.input},_.toolCallId);const M=_.toolCallId===a;return r.jsx(Xo,{ref:M?p:void 0,sessionId:t,toolCallId:_.toolCallId,toolName:_.toolName,input:_.input||"",timeoutMs:_.timeoutMs,approvalStartedAt:_.approvalStartedAt,approvalRemainingMs:_.approvalRemainingMs,approvalParked:_.approvalParked,approvalTitle:_.approvalTitle,approvalDisplayName:_.approvalDisplayName,approvalDescription:_.approvalDescription,approvalBlockedPath:_.approvalBlockedPath,approvalDecisionReason:_.approvalDecisionReason,approvalHasSuggestions:_.approvalHasSuggestions,approvalAlwaysAllowScope:_.approvalAlwaysAllowScope,isActive:M,onDecided:u?()=>u(_.toolCallId):void 0,allowsDenyReason:S},_.toolCallId)}const R=w.get(E);if(R){if(R.leadIndex!==E)return null;const M=R.indices.map(F=>v[F]).filter(F=>F.type==="tool_call");return r.jsx(sf,{outcome:R.outcome,reasonGiven:R.reasonGiven,members:M,lead:_,children:M.map(F=>r.jsx(Dn,{part:F,sessionId:t,autoHide:k,expandToolCalls:b},F.toolCallId))},`approval-receipt-${_.toolCallId}`)}if(_.interactiveType==="question"){if(_.toolCallId===f)return r.jsx(or,{type:"question",toolName:_.toolName,toolInput:_.input},_.toolCallId);const M=_.toolCallId===a;return r.jsx(Co,{ref:M?j:void 0,sessionId:t,toolCallId:_.toolCallId,questions:_.questions??[],answers:_.answers??($h(_)?{}:void 0),outcome:Ph(_),result:_.result,isActive:M,focusedOptionIndex:M?c:-1,onDecided:u?F=>u(_.toolCallId,F):void 0},_.toolCallId)}return Ln(_.toolName)?r.jsx(gp,{part:_,sent:y,...e.timestamp?{at:e.timestamp}:{},...t?{sessionId:t}:{}},_.toolCallId):Jo(_.toolName)?r.jsx(af,{sessionId:t,input:_.input,result:_.result,fallback:r.jsx(Dn,{part:_,sessionId:t,autoHide:k,expandToolCalls:b})},_.toolCallId):r.jsx(Dn,{part:_,sessionId:t,autoHide:k,expandToolCalls:b},_.toolCallId)}const N=[];let T=[];for(let C=0;C<v.length;C++){const E=v[C];Nr(E)?T.push(C):(T.length>0&&(N.push(T.length===1?{type:"single",index:T[0]}:{type:"run",indices:[...T]}),T=[]),N.push({type:"single",index:C}))}return T.length>0&&N.push(T.length===1?{type:"single",index:T[0]}:{type:"run",indices:[...T]}),r.jsxs(r.Fragment,{children:[N.map(C=>{if(C.type==="single"){const _=v[C.index];return Nr(_)?r.jsx("div",{className:"my-3",children:A(_,C.index)},`spacer-${C.index}`):A(_,C.index)}const E=C.indices.map(_=>A(v[_],_));return r.jsx("div",{className:"my-3",children:r.jsx(Xh,{children:E})},`run-${C.indices[0]}`)}),r.jsx(Bg,{parts:v,sessionId:t,turnActive:e._streaming===!0})]})}const Ug=/^Please read the following uploaded file\(s\):\n((?:- .+\n)+)\n?/,Hg=/^[a-f0-9]{8}-/,Wg=new Set(["png","jpg","jpeg","gif","webp","svg"]);function Gg(e){const t=e.match(Ug);if(!t)return{files:[],textContent:e};const s=t[1].split(`
|
|
50
|
-
`).filter(a=>a.startsWith("- ")).map(a=>{var m;const i=a.slice(2).trim(),u=(i.split("/").pop()??i).replace(Hg,""),d=((m=u.split(".").pop())==null?void 0:m.toLowerCase())??"";return{path:i,displayName:u,isImage:Wg.has(d)}}),o=e.slice(t[0].length).trim();return{files:s,textContent:o}}function Vg(e){var n;switch(((n=e.split(".").pop())==null?void 0:n.toLowerCase())??""){case"txt":case"md":case"log":return ud;case"ts":case"tsx":case"js":case"jsx":case"json":case"py":case"rs":case"go":return ld;case"csv":case"xls":case"xlsx":return kd;case"png":case"jpg":case"jpeg":case"gif":case"webp":case"svg":return yd;default:return Po}}function Kg({files:e}){const t=ce(n=>n.selectedCwd);return e.length===0?null:r.jsx("div",{className:"flex flex-wrap gap-1.5 pb-1.5",children:e.map(n=>{const s=n.path.split("/").pop()??n.path;if(n.isImage){const a=`/api/uploads/${encodeURIComponent(s)}?cwd=${encodeURIComponent(t??"")}`;return r.jsx(K.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.15},children:r.jsx(fo,{image:{src:a,alt:n.displayName,downloadName:n.displayName},className:"block rounded-lg",children:r.jsx("img",{src:a,alt:n.displayName,loading:"lazy",className:"border-border/50 max-h-[120px] max-w-[200px] rounded-lg border object-contain"})})},n.path)}const o=Vg(n.displayName);return r.jsxs(K.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.15},className:"bg-muted flex items-center gap-1 rounded-md px-2 py-1 text-xs",children:[r.jsx(o,{className:"text-muted-foreground size-3 shrink-0"}),r.jsx("span",{className:"max-w-40 truncate",children:n.displayName})]},n.path)})})}function Qg({message:e}){var i;const t=(i=Np())==null?void 0:i.sessionId,[n,s]=l.useState(!1),o=l.useMemo(()=>Gg(e.content),[e.content]),a=l.useMemo(()=>kf(e.content),[e.content]);if(a)return r.jsx(bf,{action:a});if(e.chatMessages&&e.chatMessages.length>0)return r.jsx(up,{stamps:e.chatMessages,...t?{sessionId:t}:{}});if(e.messageType==="command")return r.jsx("div",{className:"text-msg-command-fg font-mono text-sm break-words",children:e.content});if(e.messageType==="local_command_output")return r.jsx(wa,{content:e.content,toolName:""});if(e.messageType==="compaction"){const c=Rp(e.compactMetadata),u=e.content.trim(),d=r.jsx("div",{className:"bg-border/40 h-px flex-1"});return u.length===0?r.jsxs("div",{"data-testid":"compaction-row",className:"text-msg-compaction-fg flex w-full items-center gap-2 text-xs",children:[d,r.jsx("span",{children:c}),d]}):r.jsxs("div",{className:"w-full","data-testid":"compaction-row",children:[r.jsxs("button",{onClick:()=>s(!n),className:"text-msg-compaction-fg flex w-full items-center gap-2 text-xs",children:[d,r.jsx(us,{className:H("size-3 transition-transform duration-200",n&&"rotate-90")}),r.jsx("span",{children:c}),d]}),n&&r.jsx("div",{className:"text-msg-compaction-fg mt-2 text-xs whitespace-pre-wrap",children:e.content})]})}return r.jsxs("div",{children:[o.files.length>0&&r.jsx(Kg,{files:o.files}),o.textContent&&r.jsx("div",{className:"break-words whitespace-pre-wrap",children:o.textContent})]})}function Yg({tasks:e,isCollapsed:t,onToggleCollapse:n}){const s=e.length,o=e.filter(c=>c.status==="completed").length,a=o===s&&s>0,i=s>0?o/s*100:0;return r.jsxs("button",{onClick:n,className:"text-muted-foreground hover:text-foreground flex w-full items-center gap-2 text-xs",children:[t?r.jsx(us,{className:"size-(--size-icon-xs) shrink-0"}):r.jsx(Tt,{className:"size-(--size-icon-xs) shrink-0"}),r.jsx("div",{className:"bg-muted h-0.5 flex-1 overflow-hidden rounded-full",children:r.jsx("div",{"data-slot":"progress-fill",className:`h-full rounded-full transition-[width,background-color] duration-300 ease-out ${a?"bg-green-500":"bg-blue-500"}`,style:{width:`${i}%`}})}),r.jsxs("span",{className:"shrink-0 tabular-nums",children:[o,"/",s," ",s===1?"task":"tasks"]})]})}function Xg({activeForm:e,isCollapsed:t}){return r.jsx(fe,{children:e&&!t&&r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mb-1 flex items-center gap-2 text-xs text-blue-400",children:[r.jsx(Le,{size:"xs",className:"shrink-0"}),r.jsx("span",{className:"truncate",children:e})]})})}const Jg={in_progress:"",pending:"waiting ",completed:"done "};function Er({tasks:e,onScrollToTask:t}){return r.jsx(r.Fragment,{children:e.map((n,s)=>r.jsxs("span",{children:[r.jsx("button",{onClick:o=>{o.stopPropagation(),t(n.id)},className:"hover:text-foreground underline decoration-dotted",children:n.subject}),s<e.length-1&&", "]},n.id))})}function Zg({task:e,taskMap:t,statusSince:n,onScrollToTask:s}){var d,m;const o=Lo(n),a=Jg[e.status]??"",i=((d=e.blockedBy)==null?void 0:d.map(h=>t.get(h)).filter(h=>h!=null))??[],c=((m=e.blocks)==null?void 0:m.map(h=>t.get(h)).filter(h=>h!=null))??[],u=[];return n!==null&&u.push(r.jsxs("span",{children:[a,o.formatted]},"time")),e.owner&&u.push(r.jsx("span",{children:e.owner},"owner")),i.length>0&&u.push(r.jsxs("span",{className:"inline-flex items-center gap-1",children:["← ",r.jsx(Er,{tasks:i,onScrollToTask:s})]},"blocked-by")),c.length>0&&u.push(r.jsxs("span",{className:"inline-flex items-center gap-1",children:["→ ",r.jsx(Er,{tasks:c,onScrollToTask:s})]},"blocks")),r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mt-0.5 ml-6 space-y-1",children:[e.description&&r.jsx("p",{className:"text-muted-foreground text-xs whitespace-pre-wrap",children:e.description}),u.length>0&&r.jsx("div",{className:"text-muted-foreground text-2xs flex flex-wrap items-center gap-1",children:u.map((h,f)=>r.jsxs("span",{className:"flex items-center gap-1",children:[f>0&&r.jsx("span",{className:"text-muted-foreground/50",children:"·"}),h]},f))})]})}const Dr={in_progress:r.jsx(Le,{size:"xs",className:"text-status-info shrink-0"}),pending:r.jsx(Ml,{className:"text-muted-foreground size-(--size-icon-xs) shrink-0"}),completed:r.jsx(ko,{className:"text-status-success size-(--size-icon-xs) shrink-0"})};function ex({task:e,isBlocked:t,isExpanded:n,onToggleExpand:s,onHover:o,isHighlightedAsDep:a,isHighlightedAsDependent:i,taskMap:c,statusSince:u,isCelebrating:d,onCelebrationComplete:m,onScrollToTask:h}){const f=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),s())};return r.jsxs(K.li,{"data-task-id":e.id,children:[r.jsxs("div",{role:"button",tabIndex:0,"aria-expanded":n,"data-task-id":e.id,onClick:s,onKeyDown:f,onMouseEnter:()=>o(e.id),onMouseLeave:()=>o(null),className:H("hover:bg-muted/40 focus-visible:bg-muted/40 relative flex items-center gap-2 rounded py-0.5 text-xs transition-colors",e.status==="completed"&&"text-muted-foreground/50 line-through",e.status==="in_progress"&&"text-foreground font-medium",e.status==="pending"&&!t&&"text-muted-foreground",e.status==="pending"&&t&&"text-muted-foreground/50",a&&"border-l-2 border-blue-400 pl-1.5",i&&"border-l-2 border-amber-400 pl-1.5",!a&&!i&&"border-l-2 border-transparent pl-1.5"),children:[d&&r.jsx(K.div,{"aria-hidden":"true",className:"absolute inset-0 rounded",initial:{backgroundPosition:"-200% 0"},animate:{backgroundPosition:"200% 0"},transition:{duration:.4,ease:"easeOut"},style:{backgroundImage:"linear-gradient(90deg, transparent 0%, rgba(255,215,0,0.2) 50%, transparent 100%)",backgroundSize:"200% 100%"}}),d?r.jsx(K.span,{initial:{scale:1},animate:{scale:[1,1.4,1]},transition:{type:"spring",stiffness:400,damping:10},onAnimationComplete:()=>m==null?void 0:m(),children:Dr[e.status]}):Dr[e.status],r.jsx("span",{className:"truncate",children:e.subject})]}),r.jsx(fe,{children:n&&r.jsx(Zg,{task:e,taskMap:c,statusSince:u,onScrollToTask:h})})]})}function tx(e,t){var n;return(n=e.blockedBy)!=null&&n.length?e.blockedBy.some(s=>{const o=t.get(s);return o&&o.status!=="completed"}):!1}const nx=10,sx="max-h-[30svh] sm:max-h-[40svh]";function rx({tasks:e,taskMap:t,activeForm:n,isCollapsed:s,onToggleCollapse:o,celebratingTaskId:a,onCelebrationComplete:i,statusTimestamps:c}){const[u,d]=l.useState(null),[m,h]=l.useState(null),f=l.useCallback(b=>{d(k=>k===b?null:b)},[]),x=l.useCallback(b=>{const k=document.querySelector(`[data-task-id="${b}"]`);k&&(k.scrollIntoView({behavior:"smooth",block:"nearest"}),k.classList.add("bg-blue-500/10"),setTimeout(()=>k.classList.remove("bg-blue-500/10"),1e3))},[]);if(e.length===0)return null;const g=e.slice(0,nx),S=m?t.get(m):null;return r.jsxs("div",{className:"border-t px-4 py-2",children:[r.jsx(Xg,{activeForm:n,isCollapsed:s}),r.jsx(Yg,{tasks:e,isCollapsed:s,onToggleCollapse:o}),r.jsx(fe,{children:!s&&r.jsx(K.ul,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:H("mt-1 space-y-0.5 overflow-y-auto",sx),children:g.map(b=>{var w,D;const k=b.id===a&&b.status==="completed",v=tx(b,t),y=c.get(b.id),p=((w=S==null?void 0:S.blockedBy)==null?void 0:w.includes(b.id))??!1,j=((D=S==null?void 0:S.blocks)==null?void 0:D.includes(b.id))??!1;return r.jsx(ex,{task:b,isBlocked:v,isExpanded:u===b.id,onToggleExpand:()=>f(b.id),onHover:h,isHighlightedAsDep:p,isHighlightedAsDependent:j,taskMap:t,statusSince:(y==null?void 0:y.since)??null,isCelebrating:k,onCelebrationComplete:i,onScrollToTask:x},b.id)})})})]})}function ox({color:e}){const t=[{bx:"-8px",by:"-10px",delay:"0s"},{bx:"8px",by:"-8px",delay:"0.03s"},{bx:"-6px",by:"6px",delay:"0.06s"},{bx:"10px",by:"4px",delay:"0.09s"},{bx:"0px",by:"-12px",delay:"0.04s"},{bx:"-10px",by:"0px",delay:"0.07s"},{bx:"6px",by:"10px",delay:"0.05s"},{bx:"-4px",by:"-6px",delay:"0.08s"}];return r.jsx("div",{className:"pointer-events-none absolute inset-0",children:t.map((n,s)=>r.jsx("span",{className:"absolute top-1/2 left-1/2 size-[3px] rounded-full",style:{backgroundColor:e,"--bx":n.bx,"--by":n.by,animation:`burst-particle 0.5s ease-out ${n.delay} forwards`}},s))})}const ax=350;function ix({status:e,color:t}){return r.jsxs("svg",{className:"check-appear h-6 w-[22px]",viewBox:"0 0 22 24","data-status":e,children:[r.jsx("circle",{cx:"11",cy:"12",r:"7",fill:"none",stroke:t,strokeWidth:"1.5",opacity:"0.3"}),e==="error"&&r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"8",y1:"9",x2:"14",y2:"15",stroke:t,strokeWidth:"2",strokeLinecap:"round"}),r.jsx("line",{x1:"14",y1:"9",x2:"8",y2:"15",stroke:t,strokeWidth:"2",strokeLinecap:"round"})]}),e==="untracked"&&r.jsx("line",{x1:"8",y1:"12",x2:"14",y2:"12",stroke:t,strokeWidth:"2",strokeLinecap:"round",opacity:"0.5"}),e!=="error"&&e!=="untracked"&&r.jsx("polyline",{points:"7,12 10,15 15,9",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function lx({agent:e,index:t}){const n=l.useMemo(()=>({animationDelay:`${t*.09}s`}),[t]),[s,o]=l.useState(e.status==="running"?"running":"done"),a=l.useRef(e.status),i=l.useRef(null);return l.useEffect(()=>{const c=a.current;if(a.current=e.status,c==="running"&&e.status!=="running"){o("celebrating"),i.current=setTimeout(()=>o("done"),ax);return}c!=="running"&&e.status==="running"&&(i.current&&clearTimeout(i.current),i.current=null,o("running"))},[e.status]),l.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]),s==="done"?r.jsx("div",{className:"relative inline-flex",children:r.jsx(ix,{status:e.status,color:e.color})}):r.jsxs("div",{className:"group relative inline-flex",children:[r.jsx("svg",{className:"h-6 w-[22px] shrink-0",style:{"--c":e.color},viewBox:"0 0 22 24","aria-label":e.description,children:r.jsxs("g",{className:"r-all",style:n,children:[r.jsx("circle",{cx:"11",cy:"4.5",r:"2.8",fill:"var(--c)"}),r.jsx("circle",{cx:"12.3",cy:"3.7",r:"0.6",fill:"hsl(0 0% 100% / 0.7)"}),r.jsx("ellipse",{cx:"11",cy:"10.5",rx:"2.5",ry:"3.5",fill:"var(--c)"}),r.jsxs("g",{className:"r-rua",style:n,children:[r.jsx("line",{x1:"12",y1:"9",x2:"14",y2:"11",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-rfa",style:n,children:r.jsx("line",{x1:"14",y1:"11",x2:"14.5",y2:"13",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-lua",style:n,children:[r.jsx("line",{x1:"10",y1:"9",x2:"8",y2:"11",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-lfa",style:n,children:r.jsx("line",{x1:"8",y1:"11",x2:"7.5",y2:"13",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-rt",style:n,children:[r.jsx("line",{x1:"11",y1:"14",x2:"13",y2:"17",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-rs",style:n,children:r.jsx("line",{x1:"13",y1:"17",x2:"13.5",y2:"21",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-lt",style:n,children:[r.jsx("line",{x1:"11",y1:"14",x2:"9",y2:"17",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-ls",style:n,children:r.jsx("line",{x1:"9",y1:"17",x2:"8.5",y2:"21",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]})]})}),s==="celebrating"&&r.jsx(ox,{color:e.color}),s==="running"&&r.jsxs("div",{"data-testid":"agent-runner-tooltip",className:H("pointer-events-none absolute bottom-[calc(100%+8px)] left-1/2 hidden","-translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,translate] duration-150","group-hover:translate-y-0 group-hover:opacity-100","border-border bg-popover z-10 rounded-lg border px-3 py-2 whitespace-nowrap","text-foreground text-2xs shadow-lg md:block"),children:[r.jsxs("div",{className:"mb-0.5 flex items-center gap-1.5 font-semibold",children:[r.jsx("div",{className:"size-1.5 shrink-0 rounded-full",style:{backgroundColor:e.color}}),e.description]}),r.jsxs("div",{className:"text-muted-foreground text-3xs font-mono",children:[e.toolUses??0," tool calls · ",Math.round((e.durationMs??0)/1e3),"s"]}),e.lastToolName&&r.jsxs("div",{className:"text-muted-foreground/60 text-3xs mt-0.5 font-mono",children:["Last: ",e.lastToolName]}),r.jsx("div",{className:"border-t-border absolute top-full left-1/2 -translate-x-1/2 border-5 border-transparent"})]})]})}function cx({bashTasks:e}){const t=Me(),n=e.filter(o=>o.taskType==="bash"),s=n.length;return s===0?null:r.jsxs("div",{role:"status","aria-live":"polite","aria-label":`${s} bash task${s!==1?"s":""} running`,className:"flex items-center gap-1.5",children:[r.jsx(fe,{mode:"popLayout",children:n.map(o=>r.jsxs(K.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{duration:.25},className:"relative flex size-3 items-center justify-center",children:[o.status==="running"&&!t&&r.jsx("span",{className:"task-dot-tasks absolute inset-0 rounded-full opacity-40",style:{backgroundColor:o.color,animation:"task-dot-tasks 2s ease-in-out infinite"}}),r.jsx("span",{className:"relative size-1.5 rounded-full",style:{backgroundColor:o.color}})]},o.taskId))}),r.jsxs("span",{className:"text-muted-foreground text-xs whitespace-nowrap",children:[s," task",s!==1?"s":""]})]})}const ux=3e3;function dx({taskType:e,onConfirm:t}){const[n,s]=l.useState(!1),o=l.useRef(null);l.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),l.useEffect(()=>{if(n)return o.current=setTimeout(()=>{s(!1)},ux),()=>{o.current&&clearTimeout(o.current)}},[n]);const a=l.useCallback(()=>{if(e==="bash"){t();return}n?(o.current&&clearTimeout(o.current),s(!1),t()):s(!0)},[e,n,t]),i=l.useCallback(c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),a())},[a]);return r.jsx("button",{onClick:a,onKeyDown:i,className:H("flex shrink-0 items-center justify-center rounded transition-colors duration-150","focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-1",n?"bg-destructive/5 text-destructive hover:bg-destructive/10 text-3xs px-1.5 py-0.5 font-medium":"text-muted-foreground/40 hover:text-destructive size-4"),"aria-label":n?"Press again to stop task":"Stop task",tabIndex:0,children:n?"Stop?":r.jsx(qe,{className:"size-3"})})}function Tr({task:e,onStop:t}){const n=e.taskType==="agent"?e.description??"Background agent":e.command??"Background task",s=e.durationMs?Math.round(e.durationMs/1e3):0,o=e.status==="running";return r.jsxs("div",{className:H("flex items-center gap-2 rounded-md px-2 py-1 text-xs",o?"bg-muted":"bg-muted/50 opacity-60"),children:[r.jsx("span",{className:"size-2 shrink-0 rounded-full",style:{backgroundColor:e.color}}),r.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0 tracking-wider uppercase",children:e.taskType}),r.jsx("span",{className:"text-foreground min-w-0 flex-1 truncate",children:n}),e.taskType==="agent"&&e.toolUses!==void 0&&e.toolUses>0&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs shrink-0 font-mono",children:[e.toolUses," tools"]}),e.taskType==="agent"&&e.lastToolName&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs hidden max-w-24 shrink-0 truncate font-mono md:inline",children:["Last: ",e.lastToolName]}),s>0&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs shrink-0 font-mono",children:[s,"s"]}),o&&r.jsx(dx,{taskType:e.taskType,onConfirm:t})]})}function fx({tasks:e,ambientTasks:t=[],onStopTask:n}){return r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"border-border overflow-hidden border-t px-2 py-1.5",children:r.jsxs("div",{className:"flex flex-col gap-1",children:[e.map(s=>r.jsx(Tr,{task:s,onStop:()=>n(s.taskId)},s.taskId)),t.length>0&&r.jsxs(r.Fragment,{children:[r.jsxs("p",{className:"text-muted-foreground/60 text-3xs mt-1 px-2",children:[t.length," housekeeping task",t.length!==1?"s":""," the agent runs for itself"]}),t.map(s=>r.jsx(Tr,{task:s,onStop:()=>n(s.taskId)},s.taskId))]})]})})}const Qn=4;function mx(e){return e==="stopped"?"complete":e}const px="relative after:absolute after:-inset-x-1 after:-inset-y-2.5 md:after:hidden",Oa=[.16,1,.3,1],hx={width:{duration:.4,ease:Oa},opacity:{duration:.25}};function gx({tasks:e,onStopTask:t}){const[n,s]=l.useState(!1),o=Me(),{shown:a,ambient:i}=qc(e),c=a.filter(b=>b.taskType==="agent"),u=a.filter(b=>b.taskType==="bash"),d=a.length,m=c.slice(0,Qn),h=c.length-Qn,f=c.reduce((b,k)=>b+(k.toolUses??0),0),x=Math.max(0,...a.map(b=>Math.round((b.durationMs??0)/1e3))),g=o?{duration:0}:{duration:.35,ease:Oa},S=d>0;return r.jsx(fe,{children:(d>0||i.length>0)&&r.jsxs(K.div,{...S?{role:"status","aria-live":"polite","aria-label":`${d} background task${d!==1?"s":""} running`}:{role:"group","aria-label":"Background tasks"},initial:{opacity:0,y:6,maxHeight:0},animate:{opacity:1,y:0,maxHeight:n?400:44},exit:{opacity:0,maxHeight:0},transition:g,className:"border-border bg-card overflow-hidden rounded-lg border",children:[r.jsxs("div",{className:"flex min-h-9 items-center gap-2 px-2 py-1.5",children:[c.length>0&&r.jsx(xx,{visibleAgents:m,overflowAgentCount:h,allAgentTasks:c}),c.length>0&&u.length>0&&r.jsx("div",{className:"bg-border h-4 w-px shrink-0"}),u.length>0&&r.jsx(cx,{bashTasks:u}),d>0&&r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"text-muted-foreground text-xs whitespace-nowrap",children:[r.jsx("strong",{className:"text-foreground font-semibold",children:d})," task",d!==1?"s":""," running"]}),r.jsxs("span",{className:"text-muted-foreground/60 text-2xs ml-auto font-mono whitespace-nowrap",children:[f>0&&r.jsxs(r.Fragment,{children:[f," tools · "]}),x,"s"]})]}),r.jsxs("button",{type:"button",onClick:()=>s(b=>!b),className:H("text-muted-foreground hover:text-foreground flex shrink-0 items-center gap-1 transition-colors duration-150",d>0?"ml-1":"ml-auto",px),"aria-label":n?"Collapse task details":"Expand task details","aria-expanded":n,children:[d>0&&r.jsx("span",{className:"text-3xs tabular-nums",children:d}),r.jsx(Tt,{className:H("size-3.5 transition-transform duration-200",n&&"rotate-180")})]})]}),r.jsx(fe,{children:n&&r.jsx(fx,{tasks:a,ambientTasks:i,onStopTask:t})})]},"background-task-bar")})}function xx({visibleAgents:e,overflowAgentCount:t,allAgentTasks:n}){return r.jsxs("div",{className:"flex items-center gap-0",children:[r.jsx(fe,{mode:"popLayout",children:e.map((s,o)=>r.jsx(K.div,{initial:{width:0,opacity:0},animate:{width:22,opacity:1},exit:{width:0,opacity:0},transition:hx,className:"shrink-0",children:r.jsx(lx,{agent:{taskId:s.taskId,description:s.description??"",status:mx(s.status),color:s.color,toolUses:s.toolUses,lastToolName:s.lastToolName,durationMs:s.durationMs,summary:s.summary},index:o})},s.taskId))}),t>0&&r.jsx(bx,{count:t,overflowTasks:n.slice(Qn)})]})}function bx({count:e,overflowTasks:t}){return r.jsxs("div",{className:"group relative",children:[r.jsxs("div",{className:"text-muted-foreground bg-muted text-3xs flex size-6 shrink-0 items-center justify-center rounded-full font-semibold","aria-label":`${e} more helper${e===1?"":"s"} running`,children:["+",e]}),r.jsxs("div",{"data-testid":"overflow-badge-tooltip",className:H("pointer-events-none absolute bottom-[calc(100%+8px)] left-1/2 hidden","-translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,translate] duration-150","group-hover:translate-y-0 group-hover:opacity-100","border-border bg-popover z-10 rounded-lg border px-3 py-2 whitespace-nowrap","text-foreground text-2xs shadow-lg md:block"),children:[t.map(n=>r.jsxs("div",{className:"flex items-center gap-1.5 py-0.5",children:[r.jsx("div",{className:"size-1.5 shrink-0 rounded-full",style:{backgroundColor:n.color}}),r.jsx("span",{className:"text-3xs",children:n.description})]},n.taskId)),r.jsx("div",{className:"border-t-border absolute top-full left-1/2 -translate-x-1/2 border-5 border-transparent"})]})]})}const An="after:absolute after:-inset-1 md:after:hidden";function yx({queue:e,editingId:t,onEdit:n,onRemove:s,onSend:o,onMoveUp:a,statusNote:i,onSwitchNow:c}){return e.length===0?null:r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mb-1.5 overflow-hidden",children:[r.jsxs("div",{className:"text-muted-foreground mb-1 flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:"font-medium",children:["Queued (",e.length,")"]}),r.jsxs("span",{className:"truncate",children:["· ",i]})]}),r.jsx("div",{className:"space-y-0.5",children:r.jsx(fe,{mode:"popLayout",children:e.map((u,d)=>r.jsx(K.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0,transition:{type:"spring",stiffness:320,damping:28}},exit:{opacity:0,scale:.95,transition:{duration:.15}},layout:!0,children:r.jsxs("div",{className:H("group flex w-full items-center gap-2 rounded-md border-l-2 border-l-transparent pr-2 transition-colors md:gap-1",t===u.id?"border-l-primary bg-muted":"hover:bg-muted/50"),children:[r.jsxs("button",{type:"button",onClick:()=>n(u.id),"aria-current":t===u.id?!0:void 0,className:"focus-ring flex min-w-0 flex-1 items-center gap-2 rounded-md py-1.5 pl-3 text-left",children:[r.jsxs("span",{className:"text-muted-foreground shrink-0 text-xs font-medium",children:[d+1,"."]}),r.jsxs("span",{className:"min-w-0 flex-1",children:[r.jsx("span",{className:"text-muted-foreground line-clamp-1 text-sm",children:u.content}),u.notice!==null&&r.jsx("span",{className:"text-muted-foreground/70 line-clamp-1 text-xs",children:u.notice}),u.waiting!==void 0&&r.jsx("span",{className:"text-muted-foreground/70 line-clamp-1 text-xs",children:u.waiting.line})]}),!u.mine&&r.jsxs("span",{className:"text-muted-foreground/60 flex shrink-0 items-center",title:"Queued from another window",children:[r.jsx(Bn,{className:"size-3","aria-hidden":"true"}),r.jsx("span",{className:"sr-only",children:"Queued from another window"})]})]}),u.waiting!==void 0&&c!==void 0&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:c,title:u.waiting.switchHint,"aria-describedby":`switch-now-${u.id}`,className:"focus-ring text-muted-foreground hover:text-foreground shrink-0 rounded-sm px-1.5 py-1 text-xs font-medium transition-colors",children:"Switch now"}),r.jsx("span",{id:`switch-now-${u.id}`,className:"sr-only",children:u.waiting.switchHint})]}),d>0&&r.jsx("button",{type:"button",onClick:()=>a(u.id),className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-visible:opacity-100",An),"aria-label":`Move queued message ${d+1} earlier`,children:r.jsx(Ol,{className:"size-3"})}),d>0&&r.jsx("button",{type:"button",onClick:()=>o(u.id),"aria-label":`Send queued message ${d+1} next`,className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm transition-colors",An),children:r.jsx(Bu,{className:"size-3"})}),r.jsx("button",{type:"button",onClick:()=>s(u.id),className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-visible:opacity-100",An),"aria-label":`Remove queued message ${d+1}`,children:r.jsx(qe,{className:"size-3"})})]})},u.id))})})]})}function kx({open:e,onOpenChange:t,queuedCount:n,onConfirm:s}){const o=n===1?"message":"messages";return r.jsx(Il,{open:e,onOpenChange:t,children:r.jsxs($l,{children:[r.jsxs(Pl,{children:[r.jsxs(Ll,{children:["Stop, and put ",n," queued ",o," back?"]}),r.jsxs(zl,{children:["The agent stops. Your ",o," ",n===1?"goes":"go"," back to the composer."]})]}),r.jsxs(Bl,{children:[r.jsx(ql,{children:"Keep going"}),r.jsx(Ul,{onClick:s,children:"Stop"})]})]})})}const vx={initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4}},Cx={duration:.3,ease:"easeInOut"};function Sx({text:e,animationKey:t}){return r.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-start overflow-hidden py-0.5",children:r.jsx(fe,{mode:"wait",children:r.jsx(K.span,{variants:vx,initial:"initial",animate:"animate",exit:"exit",transition:Cx,className:"text-muted-foreground truncate text-sm",children:e},t)})})}function jx(e){const t=ke();return Ye({queryKey:["workspace-for-session",e??null],queryFn:()=>t.resolveWorkspace(e),enabled:!!e}).data??null}async function Ia(e,t,n){try{return await e.runCommandIntent(t,"compact",n),!0}catch(s){const o=s.code==="SESSION_LOCKED";return Ae.error(o?"Your agent is busy. Try again in a moment.":"Couldn’t compact the chat."),!1}}const Yn=os(e=>({open:!1,setOpen:t=>e({open:t}),reveal:()=>e({open:!0})})),wx=200,Xn=[{name:"rename",description:"Rename the current chat",argHint:"<new title>",run:(e,t)=>{const n=e.replace(/\s+/g," ").trim().slice(0,wx).trim();return n?t.sessionId?(t.renameSession(n),!0):(t.notify("No open chat to rename","error"),!1):(t.notify("Usage: /rename <new title>","error"),!1)}},{name:"clear",description:"Start a new chat here",run:(e,t)=>(t.startFreshSession(t.sessionId),!0)},{name:"context",description:"Show context usage and cost",run:(e,t)=>(t.focusUsageSurface(),!0)}],_x=/^\/(\S+)(?:\s+([\s\S]*))?$/;function $a(e){const t=_x.exec(e);if(!t)return null;const n=t[1],s=(t[2]??"").trim(),o=fs(n);if(o&&o.fulfillment==="client-native"){const i=Xn.find(c=>c.name===o.id);if(i)return{command:i,args:s}}const a=Xn.find(i=>i.name===n.toLowerCase());return a?{command:a,args:s}:null}const Ar=Xn.map(e=>({command:e.name,fullCommand:`/${e.name}`,description:e.description,argumentHint:e.argHint}));function Pa(e){const t=/^\/(\S+)([\s\S]*)$/.exec(e.trim());return t?{token:t[1],rest:t[2].trim()}:null}function Nx(e){const t=Pa(e);return t?fs(t.token)?!0:$a(e.trim())!==null:!1}function Ex(e,t,n={}){const{mutateAsync:s}=Hl(e),o=ke(),{startFreshSession:a,compact:i}=n,[c,u]=l.useState(0),d=l.useCallback(h=>{u(x=>x+1);const f=()=>u(x=>Math.max(0,x-1));h.then(f,f)},[]);return{tryRun:l.useCallback(h=>{const f=Pa(h),x=f?fs(f.token):null;if(f&&(x==null?void 0:x.fulfillment)==="runtime"&&i){if(!i.supported)return Ae.error(`Compact isn’t available on ${i.runtimeLabel||"this agent"}`),{handled:!0,ran:!1};if(!t)return Ae.error("No open chat to compact"),{handled:!0,ran:!1};const k=Ia(o,t,f.rest||void 0);return d(k),{handled:!0,ran:!0,confirmed:k}}const g=$a(h);if(!g)return{handled:!1};let S;return{handled:!0,ran:g.command.run(g.args,{sessionId:t,renameSession:k=>{t&&(S=s({sessionId:t,title:k}).then(()=>(Ae.success(`Renamed chat to “${k}”`),!0),()=>!1),d(S))},notify:(k,v)=>v==="error"?Ae.error(k):Ae.success(k),startFreshSession:k=>a==null?void 0:a(k),focusUsageSurface:()=>Yn.getState().reveal()}),...S?{confirmed:S}:{}}},[s,o,t,a,i,d]),commandPending:c>0}}function La(e,t){return{supported:(e==null?void 0:e.compact.supported)!==!1,runtimeLabel:t}}function Fr(e){const t=e.trim().toLowerCase();return t.startsWith("/")?t:`/${t}`}function Dx(e){return Gl.map(t=>{var s,o;const n=t.fulfillment==="runtime"&&((o=(s=e==null?void 0:e.commandIntents)==null?void 0:s[t.id])==null?void 0:o.supported)===!1;return{command:t.id,fullCommand:t.canonical,description:t.description,argumentHint:t.argumentHint,aliases:[...t.aliases],...n?{disabled:!0,disabledReason:`Not available on ${e.runtimeLabel}`}:{}}})}function Tx(e,t){const n=Wl(),s=Dx(t),o=Ar.filter(c=>!(c.command!==void 0&&n.has(`/${c.command}`))),a=new Set(Ar.map(c=>c.command)),i=e.filter(c=>{if(c.command!==void 0&&a.has(c.command))return!1;const u=[c.fullCommand,...c.aliases??[]].map(Fr);return c.command!==void 0&&u.push(Fr(c.command)),!u.some(d=>n.has(d))});return[...s,...o,...i]}const Ax=3e4;function Fx({percent:e,compactSupported:t,isStreaming:n}){return!(e===null||e<Uc||!t||n)}function Rx({sessionId:e,percent:t,compactSupported:n,isStreaming:s}){const o=ke(),[a,i]=l.useState(!1),c=l.useRef(!1),u=l.useRef(null),d=l.useCallback(()=>{c.current=!1,i(!1),u.current!==null&&(clearTimeout(u.current),u.current=null)},[]);l.useEffect(()=>{s&&c.current&&d()},[s,d]),l.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const m=l.useCallback(()=>{c.current||!e||(c.current=!0,i(!0),u.current=setTimeout(()=>{u.current=null,c.current=!1,i(!1)},Ax),Ia(o,e).then(h=>{h||d()}))},[e,o,d]);return{visible:Fx({percent:t,compactSupported:n,isStreaming:s}),percent:t??0,pending:a,onCompact:m}}function Mx({children:e,onSwitchAgent:t,onViewProfile:n,onNewSession:s}){return r.jsxs(Vl,{children:[r.jsx(Kl,{className:"min-w-0",children:e}),r.jsxs(Ql,{className:"w-48",children:[r.jsxs(pn,{onClick:t,children:[r.jsx(Yl,{className:"mr-2 size-4"}),"Switch agent"]}),r.jsx(Ls,{}),r.jsxs(pn,{onClick:n,children:[r.jsx(Xl,{className:"mr-2 size-4"}),"View profile"]}),r.jsx(Ls,{}),r.jsxs(pn,{onClick:s,children:[r.jsx(mo,{className:"mr-2 size-4"}),"New chat"]})]})]})}function Ox({agentName:e,agentColor:t,agentEmoji:n,agentPath:s,nameHidden:o}){const a=Jl(s),{open:i}=Zl(),c=l.useCallback(()=>{s&&ec.getState().openProfileDocked(s)},[s]),u=l.useCallback(()=>{if(a===void 0)return c();i(a)},[a,i,c]),d=l.useCallback(()=>{ce.getState().openGlobalPaletteWithSearch("@")},[]),m=xo(),h=l.useCallback(()=>{m(s??void 0)},[m,s]);return!e||!t||!n?null:r.jsx("span",{className:"inline-flex min-w-0 items-center",children:s?r.jsx(Mx,{onSwitchAgent:d,onViewProfile:u,onNewSession:h,children:r.jsx(zs,{size:"xs",name:e,color:t,emoji:n,nameHidden:o,onClick:u,className:"max-w-full"})}):r.jsx(zs,{size:"xs",name:e,color:t,emoji:n,nameHidden:o,className:"max-w-full"})})}function Ix({sessionId:e,account:t}){const[n,s]=l.useState(!1),[o,a]=l.useState(!1),i=l.useRef(null);return r.jsxs(r.Fragment,{children:[r.jsx("span",{ref:i,className:"contents",children:r.jsx(tc,{sessionId:e,account:t,open:n,onOpenChange:s,onContinue:()=>{s(!1),a(!0)}})}),r.jsx(ra,{open:o,onOpenChange:a,sessionId:e,account:t,onCloseAutoFocus:c=>{var d;const u=(d=i.current)==null?void 0:d.querySelector("button");u&&(c.preventDefault(),u.focus())}})]})}function $x({ctx:e,items:t}){return r.jsx("span",{className:"inline-flex min-w-0 items-center gap-2",children:t.map((n,s)=>{const o=n.component;return r.jsxs(l.Fragment,{children:[s>0&&r.jsx("span",{className:"text-muted-foreground/30 shrink-0","aria-hidden":"true",children:"·"}),r.jsx("span",{role:"group","aria-label":n.label,"data-testid":`extension-status-item-${n.id}`,className:"inline-flex min-w-0 items-center",children:r.jsx(So,{fallback:null,onError:a=>za(n,a),children:r.jsx(o,{...e})})})]},n.id)})})}function za(e,t){console.warn(`[extensions] ${e.extensionId}'s status-bar item "${e.id}" failed to draw and is hidden.`,t)}function Px({ctx:e,items:t}){return r.jsx(r.Fragment,{children:t.map(n=>{const s=n.component;return r.jsxs("div",{role:"group","aria-label":n.label,"data-testid":`session-row-extension-${n.id}`,className:"flex items-center gap-2 px-1 py-1 text-sm",children:[r.jsx("span",{className:"shrink-0",children:n.label}),r.jsx("span",{className:"min-w-0 flex-1"}),r.jsx("span",{className:"text-muted-foreground inline-flex min-w-0 items-center text-xs",children:r.jsx(So,{fallback:null,onError:o=>za(n,o),children:r.jsx(s,{...e})})})]},n.id)})})}function Lx(e){const{costUsd:t,costBasis:n,...s}=e;return s}function zx(e){var m;const{sessionId:t,agent:n,status:s,runtimeChip:o,onUpdateSession:a}=e,i={},c=e.density!=="full";n.name&&n.color&&n.emoji&&(i.agent=r.jsx(Ox,{agentName:n.name,agentColor:n.color,agentEmoji:n.emoji,agentPath:n.path,nameHidden:e.density==="avatar"})),s.cwd&&(i.cwd=r.jsx(Hc,{cwd:s.cwd})),e.gitStatus&&(i.git=r.jsx(Zc,{data:e.gitStatus,workspace:e.workspace,compact:c})),o.runtime!==null&&(i.runtime=r.jsx(Wc,{runtime:o.runtime,model:o.model,onChangeRuntime:o.onChangeRuntime,canSelect:o.canSelect,account:o.account,compact:!0}));const u=jo(e.account);u!==null&&(i.account=r.jsx(Ix,{sessionId:t,account:e.account})),e.extensions.items.length>0&&(i.extensions=r.jsx($x,{ctx:e.extensions.ctx,items:e.extensions.items})),i.model=r.jsx(Gc,{model:s.model,onChangeModel:h=>a({model:h}),effort:s.effort,onChangeEffort:h=>a({effort:h??void 0}),fastMode:s.fastMode,onChangeFastMode:h=>a({fastMode:h}),disabled:!t,sessionId:t||void 0,runtime:o.runtime,onCredits:e.account.onCredits,compact:c}),(m=e.plan)!=null&&m.active||(i.permission=r.jsx(Vc,{mode:s.permissionMode,onChangeMode:e.onChangeMode,disabled:!t,pending:!s.permissionModeKnown,runtime:o.runtime,modelSupportsAutoMode:e.modelSupportsAutoMode,compact:c,makeDefault:e.makeDefault,onOpenChange:e.onPermissionPickerOpenChange})),e.plan&&(i.plan=r.jsx(Kc,{descriptor:e.plan.descriptor,active:e.plan.active,onToggle:e.plan.onToggle,disabled:!t})),e.contextPercent!==null&&(i.context=r.jsx(Qc,{percent:e.contextPercent,contextUsage:e.contextUsage,compact:e.compact,reading:e.contextReading}));const d=e.usage&&e.usageSource==="account"&&!e.supportsCostTracking?Lx(e.usage):e.usage;return d&&nc(d)&&(e.supportsCostTracking||e.usageSource==="account")&&!Yc({account:u})&&(i.usage=r.jsx(sc,{usage:d,observedAt:e.usageObservedAt,now:e.now})),e.liveSubagentCount>0&&(i.subagents=r.jsx(Xc,{count:e.liveSubagentCount,running:e.runningSubagents,waiting:e.waitingOnSubagents})),i.connection=r.jsx(Jc,{connectionState:e.connectionState,compact:c}),i}const Bx=[],qx="(max-width: 639px)";function Ux({sessionId:e,sessionStatus:t,isStreaming:n,syncConnectionState:s,agentName:o,agentColor:a,agentEmoji:i,agentPath:c}){var De,Oe;const{ref:u,budget:d}=eu(),m=wo(e),h=Mo(e,t,n,m.runtime),f=Et(e||null),{pins:x}=tu(),g=nu(e),S=su(e,f,g.usage),b=S.usage,k=_t(),v=new Date(k),y=rc(b,S.observedAt,v),p=g.contextUsage,j=((De=ms(e))==null?void 0:De.contextUsage)??null,w=Yn(le=>le.open),D=Yn(le=>le.setOpen),{data:A}=ru(h.cwd),N=jx(h.cwd),{project:T}=oc(h.cwd),C=ac(qx),E=l.useMemo(()=>({sessionId:e,cwd:h.cwd,project:T,trackerItems:f.trackerItems,compact:C}),[e,h.cwd,T,f.trackerItems,C]),_=ou(E),{data:R}=ls(),M=au(g.activeSubagents).running,F=g.runningSubagentCount??M.length,{data:I}=is({sessionId:e||void 0,runtime:m.runtime??void 0}),L=((Oe=I==null?void 0:I.find(le=>le.value===h.model))==null?void 0:Oe.supportsAutoMode)??!1,U=tn(m.runtime),W=(U==null?void 0:U.permissionModes.values)??Bx,te=U==null?void 0:U.permissionModes.default,G=ic(e),B=re(le=>le.recordAutoConfirmed),[O,$]=l.useState(!1),Q=iu({sessionId:e,runtime:m.runtime,declaredModes:W,runtimeDefaultMode:te}),[ue,P]=l.useState(!1),Y=l.useCallback(le=>h.updateSession({permissionMode:le}),[h]),J=l.useCallback(le=>{if(le==="auto"&&!G){$(!0);return}Y(le).then(_e=>{_e&&Q.offerFor(le)})},[G,Y,Q,$]),se=l.useCallback(()=>{B(e),Y("auto"),$(!1)},[B,e,Y,$]),ee=lc(W),V=ee!==void 0&&h.permissionMode===ee.id,de=cc(e),ge=re(le=>le.recordModeBeforePlan),pe=l.useCallback(le=>{if(!ee)return;if(le){ge(e,h.permissionMode),Y(ee.id);return}const _e=de,ze=_e!==void 0&&W.some(Xe=>Xe.id===_e)&&(_e!=="auto"||L)?_e:te;ze&&Y(ze)},[ee,ge,e,h,Y,de,W,L,te]),z=m.runtime?At(m.runtime).label:"",ve=La(U==null?void 0:U.commandIntents,z),X=g.contextPercent,Z=Rx({sessionId:e,percent:X,compactSupported:ve.supported,isStreaming:n}),[ae,me]=l.useState(!1);lu(()=>me(le=>!le));const we={cwd:h.cwd,git:cu(A)?uu(A.branch,A.clean,A.detached):null,contextPercent:X,connectionState:s,permissionMode:h.permissionMode,permissionDescriptor:(U==null?void 0:U.permissionModes.values.find(le=>le.id===h.permissionMode))??null,permissionPickerOpen:ue,plan:ee?{active:V}:null,runtime:m.runtime===null||R===void 0?null:{type:m.runtime,isDefault:m.runtime===R.defaultRuntime,canSelect:m.canSelect},account:jo(f),usage:b,usageStale:y,subagentsInFlight:F,extensionItems:_.promotion},ie=Z.visible&&d.density==="full",Fe=Z.visible&&!ie,Ce=zx({sessionId:e,agent:{name:o,color:a,emoji:i,path:c},status:h,onUpdateSession:h.updateSession,onChangeMode:J,makeDefault:ue?Q.line:null,onPermissionPickerOpenChange:P,modelSupportsAutoMode:L,plan:ee?{descriptor:ee,active:V,onToggle:pe}:null,gitStatus:A,workspace:N,runtimeChip:m,account:f,contextPercent:X,contextUsage:p,contextReading:j,compact:ie?{pending:Z.pending,onCompact:Z.onCompact}:null,usage:b,usageSource:S.source,usageObservedAt:S.observedAt,now:v,supportsCostTracking:(U==null?void 0:U.supportsCostTracking)??!0,runningSubagents:M,liveSubagentCount:F,waitingOnSubagents:g.lifecycle==="idle",connectionState:s,density:d.density,extensions:{ctx:E,items:_.visible}}),{items:je,overflow:xe}=du(fu({ctx:we,pins:x,nodes:Ce}),d);return r.jsxs("div",{ref:u,className:"relative pt-2",children:[!ue&&Q.line&&r.jsx(mu,{...Q.line,placement:"overlay"}),r.jsx(pu,{items:je,trailing:r.jsx(hu,{open:ae,onOpenChange:me,diagnostics:g,controls:{plan:ee?{active:V,onToggle:pe}:null},promotionContext:we,overflowCount:xe,addOns:_.visible.length>0?r.jsx(Px,{ctx:E,items:_.visible}):void 0,urgentAction:Fe?{label:`Compact chat · ${Z.percent}% full`,onAction:Z.onCompact,pending:Z.pending}:null})}),r.jsx(gu,{usage:b??null,accountUsage:S.accountUsage,observedAt:S.observedAt,open:w,onOpenChange:D}),r.jsx(xu,{open:O,onOpenChange:$,onConfirm:se})]})}const Hx=Object.freeze({completed:"Completed",aborted_tools:"Tool stopped",aborted_streaming:"Reply stopped",max_turns:"Turn limit reached",blocking_limit:"Blocking limit",rapid_refill_breaker:"Rate limit",prompt_too_long:"Prompt too long",image_error:"Image error",model_error:"Model error",stop_hook_prevented:"Stopped by hook",hook_stopped:"Hook stopped",tool_deferred:"Tool deferred"});function Wx(e){return e!==void 0&&e!=="completed"}function Gx(e){const t=Hx[e];return t!==void 0?t:Vx(e)}function Vx(e){if(e.length===0)return"Ended";const t=e.replace(/[_-]+/g," ").trim().split(/\s+/);if(t.length===0)return"Ended";const[n,...s]=t;return[n.charAt(0).toUpperCase()+n.slice(1).toLowerCase(),...s.map(a=>a.toLowerCase())].join(" ")}function Kx({terminalReason:e}){const t=Wx(e),n=t?Gx(e):"";return r.jsx(fe,{children:t&&r.jsx(K.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.2,ease:"easeOut"},className:"flex px-4 py-1","data-testid":"terminal-reason-chip",children:r.jsx(uc,{variant:"secondary","aria-label":`Chat ended: ${n}`,children:n})},e)})}const Qx="The turn ended before completing.";function Yx({sessionId:e,onRetry:t,onSigninComplete:n,onChooseModel:s}){var f;const o=sn(e),a=((f=ms(e))==null?void 0:f.lastError)??null,i=(a==null?void 0:a.category)==="auth_error"||(a==null?void 0:a.category)==="model_unavailable"||(a==null?void 0:a.category)==="runtime_update_required",c=!i&&o?`${At(o).label} stopped unexpectedly`:void 0,u=(a==null?void 0:a.message)??Qx,d=i?void 0:u,m=o?cs(o):void 0,h=a?[a.code,a.details].filter(Boolean).join(`
|
|
51
|
-
`):void 0;return r.jsx(K.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{delay:.3,duration:.2,ease:"easeOut"},className:"mx-4 mb-2","data-testid":"turn-failed-notice",children:r.jsx(on,{category:(a==null?void 0:a.category)??"execution_error",heading:c,message:u,subtext:d,details:h||void 0,onRetry:t,onSigninComplete:n,onChooseModel:s,runtimeLabel:m,sessionId:e,...a!=null&&a.code?{code:a.code}:{},...a!=null&&a.reason?{reason:a.reason}:{}})})}const Xx=["Type @ to mention a file","Type / to browse commands","End a line with \\ to keep typing","Drop or paste files to attach"];function Jx(e,t,n){const s=l.useCallback(g=>{var v;if(!e||!t.current)return;const S=re.getState(),b=(v=n.current)==null?void 0:v.get(e);if(b!==void 0&&S.getSession(e).mountGeneration!==b)return;const k=typeof g=="function"?g(S.getSession(e).messages):g;S.updateSession(e,{messages:k})},[e,t,n]),o=l.useCallback(g=>{e&&re.getState().updateSession(e,{input:g})},[e]),a=l.useCallback(g=>{e&&re.getState().updateSession(e,{status:g})},[e]),i=l.useCallback(g=>{e&&re.getState().updateSession(e,{error:g})},[e]),c=l.useCallback(g=>{e&&re.getState().updateSession(e,{sessionStatus:g})},[e]),u=l.useCallback(g=>{e&&re.getState().updateSession(e,{estimatedTokens:g})},[e]),d=l.useCallback(g=>{e&&re.getState().updateSession(e,{streamStartTime:g})},[e]),m=l.useCallback(g=>{e&&re.getState().updateSession(e,{isTextStreaming:g})},[e]),h=l.useCallback(g=>{e&&re.getState().updateSession(e,{systemStatus:g})},[e]),f=l.useCallback(g=>{e&&re.getState().updateSession(e,{operationProgress:g})},[e]),x=l.useCallback(g=>{e&&re.getState().updateSession(e,{promptSuggestions:g})},[e]);return{setMessages:s,setInput:o,setStatus:a,setError:i,setSessionStatus:c,setEstimatedTokens:u,setStreamStartTime:d,setIsTextStreaming:m,setSystemStatus:h,setOperationProgress:f,setPromptSuggestions:x}}function Zx({sessionId:e,sid:t,transport:n,sessionCwd:s,enableMessagePolling:o,isStreaming:a,streamHydrated:i,setMessages:c}){const u=zo(),d=s.cwd,m=l.useRef(d);l.useEffect(()=>{m.current=d},[d]);const h=l.useRef(i);l.useEffect(()=>{h.current=i},[i]);const f=Ye({queryKey:["messages",e,d],queryFn:()=>n.getMessages(e,d??void 0,{newest:!0}),staleTime:Ke.MESSAGE_STALE_TIME_MS,refetchOnWindowFocus:!1,enabled:e!==null&&!i,refetchInterval:()=>a||!o?!1:u?Ke.ACTIVE_TAB_REFETCH_MS:Ke.BACKGROUND_TAB_REFETCH_MS});return l.useEffect(()=>{const x=re.getState();t&&x.updateSession(t,{historySeeded:!1}),x.getSession(e??"").status!=="streaming"&&c([])},[e,d,t,c]),l.useEffect(()=>{if(!f.data)return;const x=f.data.messages,g=re.getState().getSession(t).historySeeded;if(!g&&x.length>0){if(a)return;if(t&&re.getState().updateSession(t,{historySeeded:!0}),e&&!h.current){const S=f.data.earlierMessages??0;Pe.getState().noteSnapshot(e,x[0].id,S)}c(x.map(ot));return}g&&!a&&vp(re.getState().getSession(t).messages,x,c)},[f.data,a,e,t,c]),{historyQuery:f}}function Ba(e,t){if(e===t)return;const{opened:n,counts:s,mergeUsage:o}=at.getState(),a=Bs("session",e),i=Date.parse(n[a]??"");Number.isNaN(i)||o([{key:Bs("session",t),lastUsedAt:i,useCount:s[a]??1}])}function Jn(e,t,n){e&&n.then(s=>{if(!s)return;const o=re.getState();o.getSession(e).input.trim()===t.trim()&&o.updateSession(e,{input:""})},()=>{})}const zt=new Map;function e0(e,t){const s=(zt.get(e)??Promise.resolve()).then(t),o=s.then(()=>{},()=>{});return zt.set(e,o),o.then(()=>{zt.get(e)===o&&zt.delete(e)}),s}const nt=new Set;function Rr(e){var o;const t=e,n=typeof(t==null?void 0:t.code)=="string"?t.code:void 0,s=(o=t==null?void 0:t.body)==null?void 0:o.agentId;return{...n?{code:n}:{},...typeof s=="string"?{agentId:s}:{}}}function t0({sessionId:e,input:t,status:n,transport:s,queryClient:o,selectedCwd:a,onSessionIdChangeReplace:i,transformContent:c,launchRuntime:u,agentPath:d,agentLookupPending:m,agentLookupFailed:h,launchAccount:f,takeSeedContext:x,setInput:g,setError:S,tryNativeCommand:b}){const k=l.useRef(a);l.useEffect(()=>{k.current=a},[a]);const v=l.useRef(u);l.useEffect(()=>{v.current=u},[u]);const y=l.useRef(f);l.useEffect(()=>{y.current=f},[f]);const{data:p}=ls(),j=l.useRef(p==null?void 0:p.defaultRuntime);l.useEffect(()=>{j.current=p==null?void 0:p.defaultRuntime},[p==null?void 0:p.defaultRuntime]);const w=bu(e,u),D=l.useRef(w.mode);l.useEffect(()=>{D.current=w.mode},[w.mode]);const A=l.useRef(c);l.useEffect(()=>{A.current=c});const N=l.useRef(x);l.useEffect(()=>{N.current=x});const T=l.useRef(i);l.useEffect(()=>{T.current=i});const C=l.useCallback(async(G,B,O={})=>{var de,ge,pe;if(!O.kickoff){const z=b(G);if(z.handled){B&&z.ran&&(z.confirmed?Jn(e,G,z.confirmed):g(""));return}}const $=e,Q=O.cwd??k.current;S(null);const ue=o.getQueryData(Ge.list(Q))??[],P=hn($),Y=(P==null?void 0:P.draft)??!ue.some(z=>z.id===$),J=(P==null?void 0:P.draft)===!1?!1:Y||nt.has($);if(J&&(m||h))return;J&&nt.add($),O.kickoff||(at.getState().recordOpened("session",$),Q&&at.getState().recordOpened("agent",Q)),kt.attachSession($,Q);let se;try{se=!O.kickoff&&A.current?await A.current(G):G}catch(z){if(O.kickoff)throw z;S({heading:"Couldn’t send message",message:z.message||"The attachment didn’t upload. Try again.",retryable:!1});return}const ee=Ee.getState();if(Y){const z=new Date().toISOString();qs(o,Q,{id:$,title:`Chat ${$.slice(0,8)}`,createdAt:z,updatedAt:z,permissionMode:((de=o.getQueryData(Ge.detail($,Q)))==null?void 0:de.permissionMode)??D.current??"default",runtime:v.current??j.current??"claude-code"})}const V=crypto.randomUUID();O.kickoff||ee.setOptimisticUserMessage($,{id:V,content:G}),ee.setTriggerPending($,!0),B&&g("");try{const z=Us(ce.getState(),Q??null),{uiState:ve,commit:X}=Hs($,z),ae={clientMessageId:V,context:ve?{uiState:ve}:void 0};J&&(ae.create=!0),J&&v.current&&(ae.runtime=v.current),J&&d&&(ae.agentPath=d),J&&y.current&&(ae.account=y.current);const me=ce.getState().retryAccount;(me==null?void 0:me.sessionId)===$&&(ae.account=me.id,ce.getState().setRetryAccount(null));const we=(ge=N.current)==null?void 0:ge.call(N);we&&(ae.seedContext=we);const{sessionId:ie}=await s.postMessage($,se,Q??void 0,ae);if(nt.delete($),P){const Ce={...P,draft:!1};gn($,Ce),gn(ie,Ce)}if(X(ie),ie!==$){Ee.getState().migrateSessionContinuity($,ie),ce.getState().carryCanvasWritesAcross($,ie),kt.attachSession(ie,Q),Ba($,ie),st.getState().migrate($,ie);const Ce=o.getQueryData(Ge.list(Q))??[],je=Ce.find(xe=>xe.id===$);je&&!Ce.some(xe=>xe.id===ie)&&qs(o,Q,{...je,id:ie}),o.setQueryData(Ge.list(Q),xe=>xe==null?void 0:xe.filter(De=>De.id!==$))}(pe=T.current)==null||pe.call(T,ie);const Fe=ie;setTimeout(()=>{var xe;const Ce=vt.getState().rekeys[Fe]??Fe,je=Ee.getState().getSession(Ce);je.triggerPending&&((xe=je.status)==null?void 0:xe.lifecycle)!=="streaming"&&Ee.getState().setTriggerPending(Ce,!1)},en.TRIGGER_PENDING_TIMEOUT_MS)}catch(z){if(Ee.getState().setOptimisticUserMessage($,null),Ee.getState().setTriggerPending($,!1),O.kickoff)throw z;S({heading:"Couldn’t send message",message:z.message||"Couldn’t reach DorkOS. Try again.",retryable:!0,...Rr(z)})}},[e,s,o,g,S,b,d,m,h]),E=l.useCallback(async(G,B)=>{!G.trim()||n==="streaming"||await C(G.trim(),(B==null?void 0:B.clearInput)===!0,{...B!=null&&B.cwd?{cwd:B.cwd}:{}})},[n,C]),_=l.useCallback(()=>E(t,{clearInput:!0}),[t,E]),R=l.useCallback(async(G,B,O)=>{if(!e)return!1;const $=e,Q=k.current;S(null);const ue=(o.getQueryData(Ge.list(Q))??[]).some(Y=>Y.id===$),P=hn($);return((P==null?void 0:P.draft)??!ue)&&nt.add($),e0($,async()=>{var J;let Y;try{Y=A.current?await A.current(G):G}catch(se){return S({heading:O,message:se.message||"The attachment didn’t upload. Try again.",retryable:!1}),!1}try{const se=Us(ce.getState(),Q??null),{uiState:ee,commit:V}=Hs($,se),de={...ee?{uiState:ee}:{},...B==="queue"?{queued:!0}:{}},ge=Object.keys(de).length>0?de:void 0,pe=((J=hn($))==null?void 0:J.draft)===!1?!1:nt.has($);if(pe&&(m||h))return!1;const{sessionId:z}=await s.postMessage($,Y,Q??void 0,{context:ge,disposition:B,...pe?{create:!0,...v.current&&{runtime:v.current},...y.current&&{account:y.current},...d&&{agentPath:d}}:{}});return pe&&nt.delete($),P&&gn(z,{...P,draft:!1}),V(z),!0}catch(se){return S({heading:O,message:se.message||"Couldn’t reach DorkOS. Try again.",retryable:!1,...Rr(se)}),!1}})},[e,s,o,S,d,m,h]),M=l.useCallback(G=>R(G,"queue","Couldn’t queue message"),[R]),F=l.useCallback(G=>R(G,"steer","Couldn’t steer the agent"),[R]),I=l.useCallback(G=>R(G,"stage","Couldn’t add context"),[R]),L=l.useCallback(async()=>{if(!e)return{receipt:{outcome:"not-running",reason:"no-open-turn",runtime:"unknown"},cancelled:[]};try{const{receipt:G,cancelledQueued:B}=await s.interruptSession(e);return{receipt:G,cancelled:B??[]}}catch{return{receipt:{outcome:"failed",reason:"delivery-failed",runtime:"unknown"},cancelled:[]}}},[e,s]),U=l.useCallback(async G=>{S(null),await C(G,!1)},[C,S]),W=l.useCallback(async(G,B)=>{await C(G,!1,{kickoff:!0,...B?{cwd:B}:{}})},[C]),te=l.useCallback((G,B)=>{},[]);return{handleSubmit:_,submitContent:E,enqueueContent:M,steerContent:F,addContextContent:I,stop:L,retryMessage:U,submitKickoff:W,markToolCallResponded:te}}const Bt=new Set,Mr=new Set,qt=new Set;function n0(e){var t;return e.role==="user"||e.content.trim().length>0||(((t=e.toolCalls)==null?void 0:t.length)??0)>0?!0:e.parts.some(n=>n.type==="tool_call")}function s0({sessionId:e,cwd:t,status:n,messages:s,hydrated:o,canStart:a=!0,submitKickoff:i,submitContent:c}){const u=Zt(e),d=s.length,m=s.some(n0);l.useEffect(()=>{if(!e)return;if(!u){t&&d===0&&n==="idle"&&st.getState().claimByPath(t,e);return}if(u.fired||Bt.has(e)||!a||d>0||n!=="idle")return;Bt.add(e),st.getState().markFired(e);const h=u.kind==="first-message";(h?c:i)(u.kickoffMessage,u.path||void 0).catch(x=>{console.warn("[chat] first-turn trigger failed for newborn session",e,x),Mr.has(e)?h||st.getState().markGreetingFailed(e):(Mr.add(e),Bt.delete(e),st.getState().resetFired(e))})},[e,t,u,n,d,a,i,c]),l.useEffect(()=>{if(!(!e||!u)&&u.kind!=="first-message"&&!(!u.fired&&!Bt.has(e))&&!u.greetingFailed){if(m){qt.delete(e);return}if(n==="streaming"){qt.add(e);return}o&&qt.has(e)&&(qt.delete(e),st.getState().markGreetingFailed(e))}},[e,u,n,m,o])}function r0(e,t){return l.useEffect(()=>{dc(),kt.connectList(),e&&kt.attachSession(e,t)},[e,t]),l.useEffect(()=>()=>kt.releaseSession(),[]),_o(e??"")}function o0(e,t){const n=No(e),s=l.useRef(t);l.useEffect(()=>{s.current=t}),l.useEffect(()=>{var o;!n||!e||(Ba(e,n),(o=s.current)==null||o.call(s,n))},[n,e])}const a0=500;function i0(e,t,n){const s=l.useRef(new Map),[o,a]=l.useState(null),i=t.length>0?t[0].seq:-1;l.useEffect(()=>{const h=s.current;if(!e||!n){e&&h.delete(e),a(null);return}let f=h.get(e);(!f||f.turnSeq!==i)&&(f={turnSeq:i,anchor:Date.now()},h.set(e,f)),a(f.anchor)},[e,n,i]);const c=l.useMemo(()=>{let h=0;for(const f of t)f.type==="text_delta"&&(h+=f.text.length);return h/4},[t]),[u,d]=l.useState(!1),m=l.useRef({sid:null,tokens:0});return l.useEffect(()=>{const h=m.current,f=e===h.sid&&c>h.tokens;if(m.current={sid:e,tokens:c},f&&!u&&d(!0),!f&&!u)return;const x=setTimeout(()=>d(!1),a0);return()=>clearTimeout(x)},[e,c,u]),{streamStartTime:o,estimatedTokens:c,isTextStreaming:u}}function l0(e,t,n,s){const o=l.useRef(new Map),a=l.useRef(s);l.useEffect(()=>{a.current=s}),l.useEffect(()=>{var d;if(!e)return;const i=o.current,c=n??0;let u=i.get(e);(!u||u.floor!==c)&&(u={floor:c,seen:c},i.set(e,u));for(const m of t)m.seq<=u.seen||(m.type==="todo_update"&&((d=a.current)==null||d.call(a,{action:m.action,task:m.task,tasks:m.tasks,previousId:m.previousId})),u.seen=m.seq)},[e,t,n])}function c0(e){let t=null,n=null;for(const s of e){if(s.type==="operation_progress"){t=s.state==="started"?{operation:s.operation,determinate:s.determinate,...s.percent!==void 0?{percent:s.percent}:{},...s.message!==void 0?{message:s.message}:{}}:null;continue}if(s.type==="system_status"){s.status||(n={message:s.message});continue}n=null}return{operationProgress:t,systemStatus:n}}function u0(e,t){return e===null||t===null?e===t:e.operation===t.operation&&e.determinate===t.determinate&&e.percent===t.percent&&e.message===t.message}function d0(e,t){return((e==null?void 0:e.message)??null)===((t==null?void 0:t.message)??null)}function f0(e,t,n,s){const o=l.useRef(new Map),a=l.useRef(new Map),i=l.useRef(n),c=l.useRef(s);l.useEffect(()=>{i.current=n,c.current=s}),l.useEffect(()=>{if(!e)return;const{operationProgress:u,systemStatus:d}=c0(t),m=o.current.get(e)??null;u0(m,u)||(i.current(u),o.current.set(e,u));const h=a.current.get(e)??null;d0(h,d)||(c.current(d),a.current.set(e,d))},[e,t])}function m0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="capability_approval"&&s.approval.approvalId===t)return s}}function p0(e,t){const n=m0(e,t.approval.approvalId);n?n.approval=t.approval:e.push({type:"capability_approval",approval:t.approval})}function h0(e,t){const n=e.findIndex(o=>o.type==="capability_approval"&&o.approval.approvalId===t.approvalId);if(n===-1)return;if(t.outcome!=="timeout"){e.splice(n,1);return}const s=e[n];s.outcome="timeout"}function g0(e,t,n){return e.findIndex(s=>s.type==="mcp_signin"&&s.agentId===t&&s.serverName===n&&s.outcome===void 0)}function x0(e,t){const n={type:"mcp_signin",serverName:t.serverName,agentId:t.agentId,flowId:t.flowId,authorizeUrl:t.authorizeUrl,disclosure:t.disclosure},s=g0(e,t.agentId,t.serverName);s===-1?e.push(n):e[s]=n}function b0(e,t){const n=e.findIndex(o=>o.type==="mcp_signin"&&o.flowId===t.flowId);if(n===-1)return;const s=e[n];s.outcome=t.outcome,t.toolCount!==void 0&&(s.toolCount=t.toolCount)}function y0(e){return e.type==="interaction_resolved"||e.type==="capability_approval_resolved"||e.type==="mcp_signin_resolved"}function k0(e){const t=new Set;for(const n of e)n.type==="interaction_resolved"&&t.add(n.id);return t}const Or="__in_progress_turn__",v0="__optimistic_user__";function C0(e){return{id:v0,role:"user",content:e,parts:[{type:"text",text:e}],timestamp:"",_streaming:!0}}function S0(e){return{id:`steer-${e.messageId}`,role:"user",content:e.content,parts:[{type:"text",text:e.content}],timestamp:"",_streaming:!0,...e.chatMessages&&e.chatMessages.length>0?{chatMessages:e.chatMessages}:{}}}function j0(e){return{id:`staged-${e.messageId}`,role:"user",content:e.content,parts:[{type:"text",text:e.content}],timestamp:"",_streaming:!0,_stagedContext:!0}}function $e(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="tool_call"&&s.toolCallId===t)return s}}function cn(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="elicitation"&&s.interactionId===t)return s}}function w0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="background_task"&&s.taskId===t)return s}}function _0(e,t){qa(e);const n=e[e.length-1];n&&n.type==="text"?n.text+=t.text:e.push({type:"text",text:t.text})}function N0(e,t){const n=e[e.length-1];n&&n.type==="thinking"&&n.isStreaming?n.text+=t.text:e.push({type:"thinking",text:t.text,isStreaming:!0})}function qa(e){for(const t of e)t.type==="thinking"&&t.isStreaming&&(t.isStreaming=!1)}function E0(e,t,n){const s=$e(e,t.toolCallId);if(s){t.input!==void 0&&(s.input=(s.input??"")+t.input);return}const o=n.get(t.toolCallId);n.delete(t.toolCallId),e.push({type:"tool_call",toolCallId:t.toolCallId,toolName:t.toolName,input:t.input??"",status:t.status,...o&&o.length>0?{hooks:o}:{}})}function D0(e,t){const n=$e(e,t.toolCallId);n?(n.result=t.result,n.status=t.status,t.ui!==void 0&&(n.ui=t.ui),t.result!==void 0&&(n.progressOutput=void 0)):e.push({type:"tool_call",toolCallId:t.toolCallId,toolName:t.toolName,input:t.input??"",result:t.result,status:t.status,...t.ui!==void 0?{ui:t.ui}:{}})}function T0(e,t){const n=$e(e,t.toolCallId);n&&(n.progressOutput=(n.progressOutput??"")+t.content)}function Ua(e,t){const n={interactiveType:"approval",input:t.input,status:"pending",timeoutMs:t.timeoutMs,approvalStartedAt:t.startedAt,approvalRemainingMs:t.remainingMs,approvalTitle:t.title,approvalDisplayName:t.displayName,approvalDescription:t.description,approvalBlockedPath:t.blockedPath,approvalDecisionReason:t.decisionReason,approvalHasSuggestions:t.hasSuggestions,approvalAlwaysAllowScope:t.alwaysAllowScope},s=$e(e,t.id);s?Object.assign(s,n):e.push({type:"tool_call",toolCallId:t.id,toolName:t.toolName,...n})}function Ha(e,t){const n=$e(e,t.id),s={timeoutMs:t.timeoutMs,approvalStartedAt:t.startedAt,approvalRemainingMs:t.remainingMs};n?(n.interactiveType="question",n.questions=t.questions,n.status="pending",Object.assign(n,s)):e.push({type:"tool_call",toolCallId:t.id,toolName:"AskUserQuestion",input:"",status:"pending",interactiveType:"question",questions:t.questions,...s})}function Wa(e,t){const n={serverName:t.serverName,message:t.message,mode:t.mode,url:t.url,elicitationId:t.elicitationId,requestedSchema:t.requestedSchema,status:"pending",startedAt:t.startedAt,remainingMs:t.remainingMs,timeoutMs:t.timeoutMs},s=cn(e,t.id);s?Object.assign(s,n):e.push({type:"elicitation",interactionId:t.id,...n})}function A0(e){return e==="denied"||e==="expired"||e==="cancelled"?"error":e==="answered"?"complete":"running"}function F0(e,t){const n=$e(e,t.id);if(n){n.status==="pending"&&(n.status=A0(t.resolution),n.approvalRemainingMs=void 0);const o=fc(t);o&&(n.interactiveType="approval",n.approvalOutcome=o,n.approvalResolvedAt=t.at,t.reasonGiven===!0&&(n.approvalReasonGiven=!0),n.approvalStartedAt=t.startedAt??n.approvalStartedAt);const a=mc(t);a&&(n.questionOutcome=a)}const s=cn(e,t.id);s&&s.status==="pending"&&(s.status="submitted",s.remainingMs=void 0)}function R0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="tool_call"&&s.hooks){const o=s.hooks.find(a=>a.hookId===t);if(o)return o}}}function M0(e,t){for(const n of e.values()){const s=n.find(o=>o.hookId===t);if(s)return s}}function O0(e,t,n){const s=R0(e,t.hookId)??M0(n,t.hookId);if(s){s.status=t.status,t.hookName!==void 0&&(s.hookName=t.hookName),t.stdout!==void 0&&(s.stdout=t.stdout),t.stderr!==void 0&&(s.stderr=t.stderr),t.exitCode!==void 0&&(s.exitCode=t.exitCode);return}if(!t.toolCallId)return;const o={hookId:t.hookId,hookName:t.hookName??"",hookEvent:t.hookEvent??"",status:t.status,stdout:t.stdout??"",stderr:t.stderr??"",...t.exitCode!==void 0?{exitCode:t.exitCode}:{}},a=$e(e,t.toolCallId);a?a.hooks=[...a.hooks??[],o]:n.set(t.toolCallId,[...n.get(t.toolCallId)??[],o])}function I0(e,t){const n=e[0];if(n&&n.type==="memory_recall"){const a=new Set(n.memories.map(c=>c.path)),i=t.memories.filter(c=>!a.has(c.path));i.length>0&&(n.memories=[...n.memories,...i]);return}const s=new Set,o=t.memories.filter(a=>s.has(a.path)?!1:(s.add(a.path),!0));e.unshift({type:"memory_recall",mode:t.mode,memories:o,isStreaming:!0})}function $0(e,t){e.push({type:"image",attachmentId:t.attachmentId,url:t.url,mediaType:t.mediaType,size:t.size,...t.alt!==void 0?{alt:t.alt}:{}})}function P0(e,t){e.push({type:"compact_boundary",...t.trigger!==void 0?{trigger:t.trigger}:{},...t.preTokens!==void 0?{preTokens:t.preTokens}:{},...t.postTokens!==void 0?{postTokens:t.postTokens}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.requestedBy!==void 0?{requestedBy:t.requestedBy}:{},...t.contextPercent!==void 0?{contextPercent:t.contextPercent}:{}})}function L0(e,t){e.push({type:"permission_denied",toolCallId:t.toolCallId,toolName:t.toolName,message:t.message,...t.reasonType!==void 0?{reasonType:t.reasonType}:{},...t.reason!==void 0?{reason:t.reason}:{},...t.agentId!==void 0?{agentId:t.agentId}:{}})}function z0(e,t){t.operation!=="compaction"||t.state!=="failed"||e.push({type:"compact_boundary",failed:!0,...t.error!==void 0?{error:t.error}:{},...t.requestedBy!==void 0?{requestedBy:t.requestedBy}:{}})}function B0(e,t){qa(e);const n=t.code!==void 0?t.details!==void 0?`[${t.code}] ${t.details}`:`[${t.code}]`:t.details;e.push({type:"error",message:t.message,...t.category!==void 0?{category:t.category}:{},...n!==void 0?{details:n}:{},...t.code!==void 0?{code:t.code}:{},...t.reason!==void 0?{reason:t.reason}:{}})}function q0(e,t){const n=w0(e,t.taskId);n?(n.status=t.status,t.description!==void 0&&(n.description=t.description),t.toolUses!==void 0&&(n.toolUses=t.toolUses),t.lastToolName!==void 0&&(n.lastToolName=t.lastToolName),t.summary!==void 0&&(n.summary=t.summary),t.ambient!==void 0&&(n.ambient=t.ambient)):e.push({type:"background_task",taskId:t.taskId,taskType:"agent",status:t.status,startedAt:0,description:t.description,toolUses:t.toolUses,lastToolName:t.lastToolName,summary:t.summary,ambient:t.ambient})}const U0={approval:"approval_required",question:"question_prompt",elicitation:"elicitation_prompt"};function H0(e){const{type:t,...n}=e;return{...n,seq:0,type:U0[t]}}function W0(e,t){const n=$e(e,t);return(n==null?void 0:n.interactiveType)!==void 0?!0:cn(e,t)!==void 0}function G0(e,t){switch(t.type){case"approval_required":Ua(e,t);break;case"question_prompt":Ha(e,t);break;case"elicitation_prompt":Wa(e,t);break}}function V0(e,t,n){const s=$e(e,t.id);if(s){!n&&s.result===void 0&&(s.status="pending"),s.approvalStartedAt=t.startedAt,s.approvalRemainingMs=t.remainingMs,t.timeoutMs!==void 0&&(s.timeoutMs=t.timeoutMs),s.approvalParked=t.parked===!0?!0:void 0;return}const o=cn(e,t.id);o&&(o.startedAt=t.startedAt,o.remainingMs=t.remainingMs,t.timeoutMs!==void 0&&(o.timeoutMs=t.timeoutMs))}function K0(e,t,n){for(const s of t){if(W0(e,s.id)){V0(e,s,n.has(s.id));continue}G0(e,H0(s)),Q0(e,s)}}function Q0(e,t){if(t.parked!==!0)return;const n=$e(e,t.id);n&&(n.approvalParked=!0)}function Zn(e){const t=[],n=new Map;for(const s of e)switch(s.type){case"text_delta":_0(t,s);break;case"thinking_delta":N0(t,s);break;case"tool_call":E0(t,s,n);break;case"tool_result":D0(t,s);break;case"tool_progress":T0(t,s);break;case"approval_required":Ua(t,s);break;case"question_prompt":Ha(t,s);break;case"elicitation_prompt":Wa(t,s);break;case"capability_approval_required":p0(t,s);break;case"capability_approval_resolved":h0(t,s);break;case"mcp_signin_required":x0(t,s);break;case"mcp_signin_resolved":b0(t,s);break;case"interaction_resolved":F0(t,s);break;case"subagent_update":q0(t,s);break;case"hook_update":O0(t,s,n);break;case"memory_recall":I0(t,s);break;case"image_attachment":$0(t,s);break;case"compact_boundary":P0(t,s);break;case"permission_denied":L0(t,s);break;case"model_substituted":t.push({type:"model_substituted",from:s.from,fromName:s.fromName,to:s.to,toName:s.toName,reason:s.reason});break;case"operation_progress":z0(t,s);break;case"error":B0(t,s);break}return t}function Ir(e,t){if(e.length===0)return null;const n=xs(e);return{id:t,role:"assistant",content:n.content,toolCalls:n.toolCalls.length>0?n.toolCalls:[],parts:e,timestamp:"",_streaming:!0}}function Y0(e,t){const n=[];let s=[],o=0;for(const[c,u]of e.entries()){if(u.type!=="turn_input"&&u.type!=="context_staged"){s.push(u);continue}const d=Zn([...s,...e.slice(c+1).filter(y0)]),m=Ir(d,`${Or}-${o}`);m&&n.push(m),o+=1,n.push(u.type==="turn_input"?S0(u):j0(u)),s=[]}const a=Zn(s);K0(a,t,k0(e));const i=Ir(a,Or);return i&&n.push(i),n}function X0(e){const t=new Set;for(const n of e)for(const s of n.parts)s.type==="tool_call"&&t.add(s.toolCallId);return t}function J0(e){return e.type==="tool_call"&&e.result===void 0&&e.answers===void 0&&e.approvalOutcome===void 0&&(e.questionOutcome===void 0||e.questionOutcome==="unresolved")}function Z0(e,t){const n=e.parts.filter(o=>o.type!=="tool_call"||!t.has(o.toolCallId)||!J0(o));if(n.length===e.parts.length)return e;if(n.length===0)return null;const s=xs(n);return{...e,parts:n,content:s.content,toolCalls:s.toolCalls.length>0?s.toolCalls:void 0}}function eb(e){let t=e.length;for(;t>0&&e[t-1].role==="assistant";)t-=1;return t}function tb(e,t,n=[],s=null){const o=Y0(t,n),a=X0(o),i=kp(e),c=a.size===0?i.length:eb(i),u=[];for(const[d,m]of i.entries()){const h=d<c?m:Z0(m,a);h&&u.push(h)}return s&&u.push(C0(s.content)),u.push(...o),u}function $r(e){const t=new Map;for(const n of e)n.type!=="tool_call"||n.approvalOutcome===void 0||t.set(n.toolCallId,{outcome:n.approvalOutcome,resolvedAt:n.approvalResolvedAt,startedAt:n.approvalStartedAt,displayName:n.approvalDisplayName,reasonGiven:n.approvalReasonGiven});return t}function nb(e,t){return e.interactiveType==="approval"&&e.approvalOutcome===t.outcome&&e.approvalResolvedAt===t.resolvedAt&&e.approvalStartedAt===t.startedAt&&e.approvalReasonGiven===t.reasonGiven}function sb(e,t){return t.size===0?e:e.map(n=>{if(!n.parts)return n;let s=!1;const o=n.parts.map(a=>{if(a.type!=="tool_call")return a;const i=t.get(a.toolCallId);return!i||nb(a,i)?a:(s=!0,{...a,interactiveType:"approval",approvalOutcome:i.outcome,approvalResolvedAt:i.resolvedAt,approvalStartedAt:i.startedAt,approvalReasonGiven:i.reasonGiven,...i.displayName!==void 0?{approvalDisplayName:i.displayName}:{}})});return s?{...n,parts:o}:n})}function rb(e,t){var o;if(!t.tail)return t.messages;const n=(o=t.messages[0])==null?void 0:o.id,s=n===void 0?-1:e.findIndex(a=>a.id===n);return s===-1?null:[...e.slice(0,s),...t.messages]}async function ob(e,t,n,s){const o=ab(s());if(o!==void 0){const a=await e.getMessages(t,n,{since:o}),i=rb(s(),a);if(i)return i}return(await e.getMessages(t,n)).messages}function ab(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="user")return e[t].id}function ib({sessionId:e,transport:t,sessionCwd:n,streamState:s,queryClient:o,onStreamingDone:a}){var v;const i=n.cwd,c=l.useRef(e),u=l.useRef(i),d=l.useRef(a);l.useEffect(()=>{c.current=e,u.current=i,d.current=a});const m=l.useRef(new Map),h=l.useRef(new Map),f=l.useRef(new Map),x=l.useRef(new Map),g=l.useRef(new Map),S=((v=s.status)==null?void 0:v.lifecycle)??null,b=s.hydrationGeneration,k=s.userTurnCount;l.useEffect(()=>{var T,C,E;if(!e)return;const y=g.current.get(e);g.current.set(e,k),y!==void 0&&k!==y&&x.current.set(e,!1);const p=h.current.get(e);if(h.current.set(e,b),p!==b){m.current.set(e,S),S==="streaming"&&f.current.set(e,((T=Ee.getState().getSession(e).optimisticUserMessage)==null?void 0:T.id)??null);return}const j=m.current.get(e)??null;if(m.current.set(e,S),S==="streaming"&&j!=="streaming"&&f.current.set(e,((C=Ee.getState().getSession(e).optimisticUserMessage)==null?void 0:C.id)??null),!(j==="streaming"&&S!=="streaming"&&S!==null))return;const D=e,A=f.current.get(D)??null,N=$r(Zn(Ee.getState().getSession(D).inProgressTurn));ob(t,D,u.current??void 0,()=>Ee.getState().getSession(D).messages).then(_=>{var U;const R=Ee.getState(),M=R.getSession(D),F=((U=M.status)==null?void 0:U.lifecycle)==="streaming",I=new Map([...$r(M.messages.flatMap(W=>W.parts??[])),...N]);R.setHistoryMessages(D,sb(_,I),{preserveInProgressTurn:F});const L=M.optimisticUserMessage;(L===null||L.id===A)&&R.setOptimisticUserMessage(D,null)}).catch(_=>{console.warn("[turn-end-reconcile] history reload failed",{sessionId:D,error:_ instanceof Error?_.message:String(_)})}),o.invalidateQueries({queryKey:["tasks",D]}),x.current.get(D)!==!0&&(x.current.set(D,!0),(E=d.current)==null||E.call(d))},[e,S,b,k,t,o])}function lb(e){return e.streamReadyCursor!==null||e.messages.length>0||e.inProgressTurn.length>0||e.optimisticUserMessage!==null}function Ga(e,t){const n=lb(e),s=n?e.messages:t,o=Pr.get(s);if(o&&o.hydrated===n&&o.inProgressTurn===e.inProgressTurn&&o.pendingInteractions===e.pendingInteractions&&o.optimisticUserMessage===e.optimisticUserMessage&&o.legacyMessages===t)return o.result;const a=n?tb(e.messages,e.inProgressTurn,e.pendingInteractions,e.optimisticUserMessage):t,i=$c(a);return Pr.set(s,{hydrated:n,inProgressTurn:e.inProgressTurn,pendingInteractions:e.pendingInteractions,optimisticUserMessage:e.optimisticUserMessage,legacyMessages:t,result:i}),i}const Pr=new WeakMap;function cb(e,t={}){const n=ke(),s=as(),o=ce(V=>V.selectedCwd),a=ce(V=>V.enableMessagePolling),i=ce(V=>V.pendingAccount),c=Qo(),u=e??"",{messages:d,input:m,status:h,error:f,sessionStatus:x,systemStatus:g,operationProgress:S,promptSuggestions:b}=Eo(u),k=r0(e,c.cwd);o0(e,t.onSessionIdChangeReplace);const v=pc(u),y=l.useMemo(()=>Ga(k,d),[k,d]),p=yu(k,h),{streamStartTime:j,estimatedTokens:w,isTextStreaming:D}=i0(e,k.inProgressTurn,p==="streaming");l0(e,k.inProgressTurn,k.streamReadyCursor,t.onTaskEvent);const A=l.useRef(!0);l.useEffect(()=>(A.current=!0,()=>{A.current=!1}),[]);const N=l.useRef(new Map);l.useLayoutEffect(()=>{u&&(N.current.has(u)||N.current.set(u,re.getState().getSession(u).mountGeneration))},[u]);const{setMessages:T,setInput:C,setError:E,setSystemStatus:_,setOperationProgress:R}=Jx(u,A,N);f0(e,k.inProgressTurn,R,_),u&&re.getState().initSession(u),l.useEffect(()=>{e&&(re.getState().initSession(e),re.getState().touchSession(e),N.current.set(e,re.getState().getSession(e).mountGeneration))},[e]),l.useEffect(()=>{if(e)return vt.getState().clearUnseen(e),vt.subscribe(V=>{V.unseen[e]!==void 0&&vt.getState().clearUnseen(e)})},[e]);const{historyQuery:M}=Zx({sessionId:e,sid:u,transport:n,sessionCwd:c,enableMessagePolling:a,isStreaming:p==="streaming",streamHydrated:k.streamReadyCursor!==null,setMessages:T}),F=Ex(o,e,{startFreshSession:t.startFreshSession,compact:t.compactIntent}),{handleSubmit:I,submitContent:L,enqueueContent:U,steerContent:W,addContextContent:te,stop:G,retryMessage:B,submitKickoff:O,markToolCallResponded:$}=t0({sessionId:e,input:m,status:p,transport:n,queryClient:s,selectedCwd:o,onSessionIdChangeReplace:t.onSessionIdChangeReplace,transformContent:t.transformContent,launchRuntime:t.launchRuntime,agentPath:t.agentPath,agentLookupPending:t.agentLookupPending,agentLookupFailed:t.agentLookupFailed,launchAccount:(i==null?void 0:i.sessionId)===u?i.id:null,takeSeedContext:t.takeSeedContext,setInput:C,setError:E,tryNativeCommand:F.tryRun}),Q=k.streamReadyCursor!==null,ue=l.useCallback((V,de)=>L(V,de?{cwd:de}:void 0),[L]);s0({sessionId:e,cwd:o,status:p,messages:y,hydrated:Q,canStart:!t.agentLookupPending&&!t.agentLookupFailed,submitKickoff:O,submitContent:ue}),ib({sessionId:e,transport:n,sessionCwd:c,streamState:k,queryClient:s,onStreamingDone:t.onStreamingDone});const P=M.isLoading&&y.length===0,Y=l.useMemo(()=>y.flatMap(V=>V.toolCalls||[]).filter(V=>V.interactiveType&&V.status==="pending"),[y]),J=Y[0]||null,se=J!==null,ee=(J==null?void 0:J.interactiveType)||null;return{messages:y,input:m,setInput:C,handleSubmit:I,submitContent:L,enqueueContent:U,steerContent:W,addContextContent:te,status:p,error:f,stop:G,retryMessage:B,isLoadingHistory:P,hydrated:Q,sessionStatus:x,streamStartTime:j,estimatedTokens:w,isTextStreaming:D,isWaitingForUser:se,waitingType:ee,activeInteraction:J,pendingInteractions:Y,markToolCallResponded:$,systemStatus:g,operationProgress:S,promptSuggestions:b,syncConnectionState:v,tryNativeCommand:F.tryRun,commandPending:F.commandPending}}function ub(e){switch(e.outcome){case"acked":return{message:"You stopped this reply.",isFailure:!1};case"closed":return{message:"Stopped. Your agent didn’t answer, so DorkOS ended it.",isFailure:!1};case"not-running":return{message:null,isFailure:!1};case"unconfirmed":return{message:`Stop requested. ${fb(e.runtime)} didn’t confirm, so it may still be working.`,isFailure:!1};case"failed":return{message:"Couldn’t stop it. Try again.",isFailure:!0}}}function db(e,t){return!Do(e)||e.outcome==="not-running"&&t}function fb(e){switch(e){case"claude-code":return"Claude Code";case"codex":return"Codex";case"opencode":return"OpenCode";case"doe":return"DorkOS";default:return"Your agent"}}function mb(){const e=ce(d=>d.showTaskCelebrations),[t,n]=l.useState(null),[s,o]=l.useState(null),a=l.useRef(null),i=l.useRef(!1);l.useEffect(()=>{const d=window.matchMedia("(prefers-reduced-motion: reduce)");i.current=d.matches;const m=h=>{i.current=h.matches};return d.addEventListener("change",m),()=>d.removeEventListener("change",m)},[]),hd({timeoutMs:et.IDLE_TIMEOUT_MS,onIdle:l.useCallback(()=>{var d;(d=a.current)==null||d.setIdle(!0)},[]),onReturn:l.useCallback(()=>{var d,m;(d=a.current)==null||d.setIdle(!1),(m=a.current)==null||m.onUserReturn()},[])}),l.useEffect(()=>{const d=new Td({enabled:e,miniProbability:et.MINI_PROBABILITY,debounceWindowMs:et.DEBOUNCE_WINDOW_MS,debounceThreshold:et.DEBOUNCE_THRESHOLD,minTasksForMajor:et.MIN_TASKS_FOR_MAJOR,idleTimeoutMs:et.IDLE_TIMEOUT_MS,onCelebrate:m=>{i.current&&m.level==="major"?n({...m,level:"mini"}):n(m),m.level==="mini"&&o(m.taskId)}});return a.current=d,()=>d.destroy()},[e]);const c=l.useCallback((d,m)=>{var h;d.action==="update"&&d.task.status==="completed"&&d.task.id&&((h=a.current)==null||h.onTaskCompleted(d.task.id,m))},[]),u=l.useCallback(()=>{n(null),o(null)},[]);return{handleTaskEvent:c,activeCelebration:t,celebratingTaskId:s,clearCelebration:u}}function Fn(){return{tasks:new Map,statusTimestamps:new Map,legacyCreateCount:0}}function pb(e){const t={};for(const[n,s]of Object.entries(e))s!==void 0&&s!==""&&(t[n]=s);return t}function Rn(e,t,n){switch(t.action){case"snapshot":{e.tasks.clear(),e.statusTimestamps.clear();const s=t.tasks??[t.task];for(const o of s)e.tasks.set(o.id,o),e.statusTimestamps.set(o.id,{status:o.status,since:n});return}case"create":{const s=t.task.id||`legacy:${e.legacyCreateCount++}`,o=s===t.task.id?t.task:{...t.task,id:s};e.tasks.set(s,o),e.statusTimestamps.set(s,{status:o.status,since:n});return}case"id_assigned":{const s=t.previousId;if(!s)return;const o=e.tasks.get(s);if(!o)return;const a=t.task.id;e.tasks.delete(s),e.tasks.set(a,{...o,id:a});const i=e.statusTimestamps.get(s);e.statusTimestamps.delete(s),e.statusTimestamps.set(a,i??{status:o.status,since:n});return}case"remove":{e.tasks.delete(t.task.id),e.statusTimestamps.delete(t.task.id);return}case"update":{if(!t.task.id)return;const s=e.tasks.get(t.task.id);if(!s)return;e.tasks.set(t.task.id,{...s,...pb(t.task)}),t.task.status&&t.task.status!==s.status&&e.statusTimestamps.set(t.task.id,{status:t.task.status,since:n});return}}}function Lr(e,t){var n;return(n=e.blockedBy)!=null&&n.length?e.blockedBy.some(s=>{const o=t.get(s);return o&&o.status!=="completed"}):!1}function hb(e,t){return[...e].sort((n,s)=>{const o=n.status==="in_progress"?0:n.status==="pending"&&!Lr(n,t)?1:n.status==="pending"?2:3,a=s.status==="in_progress"?0:s.status==="pending"&&!Lr(s,t)?1:s.status==="pending"?2:3;return o-a})}const gb=10;let zr=0;function Ut(e){return e==="streaming"||e==="blocked"}function xb(e,t=!1){const n=ke(),o=Qo().cwd,a=ce(N=>N.enableMessagePolling),i=zo(),[c,u]=l.useState(Fn()),d=To(e??""),[m,h]=l.useState(()=>!Ut(d)),f=l.useRef([]),x=l.useRef(0),{data:g}=Ye({queryKey:["tasks",e,o],queryFn:async()=>{const N=++zr;return{...await n.getTasks(e,o??void 0),fetchOrder:N}},staleTime:3e4,refetchOnWindowFocus:!1,enabled:e!==null,refetchInterval:()=>!a||t?!1:i?Ke.ACTIVE_TAB_REFETCH_MS:Ke.BACKGROUND_TAB_REFETCH_MS}),S=l.useRef(null);l.useEffect(()=>{const N=`${e??""}::${o??""}`,T=S.current!==N;if(S.current=N,T&&(f.current=[],x.current=0,u(Fn())),!g||g.fetchOrder<=x.current)return;x.current=g.fetchOrder;const C=Fn();g.tasks.length>0&&Rn(C,{action:"snapshot",task:g.tasks[0],tasks:g.tasks},Date.now()),f.current=f.current.filter(({order:E})=>E>g.fetchOrder);for(const{event:E,receivedAt:_}of f.current)Rn(C,E,_);u(C)},[g,e,o]);const b=l.useCallback(N=>{const T=Date.now();N.action==="snapshot"&&(f.current=[]),f.current.push({order:++zr,event:N,receivedAt:T}),u(C=>{const E={tasks:new Map(C.tasks),statusTimestamps:new Map(C.statusTimestamps),legacyCreateCount:C.legacyCreateCount};return Rn(E,N,T),E})},[]),k=l.useRef(!1),v=l.useCallback(()=>{h(N=>(k.current=!N,!N))},[]),y=l.useRef(Ut(d));l.useEffect(()=>{const N=Ut(d);N!==y.current&&(y.current=N,N?k.current||h(!1):h(!0))},[d]);const p=l.useRef(null);l.useEffect(()=>{const N=`${e??""}::${o??""}`;if(p.current===N)return;p.current=N;const T=Ut(d);y.current=T,k.current=!1,h(!T)},[e,o,d]);const j=Array.from(c.tasks.values()),w=hb(j,c.tasks),D=j.find(N=>N.status==="in_progress"),A=(D==null?void 0:D.activeForm)??null;return{tasks:w.slice(0,gb),taskMap:c.tasks,activeForm:A,isCollapsed:m,toggleCollapse:v,handleTaskEvent:b,statusTimestamps:c.statusTimestamps}}function bb(e){const t=l.useRef(null),[n,s]=l.useState(0),[o,a]=l.useState(!1),[i,c]=l.useState(0),u=l.useCallback(k=>{t.current=k,c(k&&"getOptionCount"in k?k.getOptionCount():0)},[]);l.useEffect(()=>{s(0),c(0),a(!1)},[e==null?void 0:e.toolCallId]);const d=l.useMemo(()=>e!=null&&e.interactiveType?{type:e.interactiveType,toolCallId:e.toolCallId}:null,[e]),m=l.useCallback(()=>{const k=t.current;k&&"approve"in k&&k.approve()},[]),h=l.useCallback(()=>{const k=t.current;k&&"alwaysAllow"in k&&k.alwaysAllow()},[]),f=l.useCallback(()=>{const k=t.current;k&&"deny"in k&&k.deny()},[]),x=l.useCallback(k=>{const v=t.current;v&&"toggleOption"in v&&(v.toggleOption(k),s(k),a(!0))},[]),g=l.useCallback(k=>{if(!o){a(!0);return}s(v=>{const y=t.current,p=y&&"getOptionCount"in y?y.getOptionCount():0;return p===0?v:k==="up"?v<=0?p-1:v-1:v>=p-1?0:v+1})},[o]),S=l.useCallback(k=>{const v=t.current;v&&"navigateQuestion"in v&&(v.navigateQuestion(k),s(0),a(!0),c(v.getOptionCount()))},[]),b=l.useCallback(()=>{const k=t.current;k&&"submit"in k&&k.submit()},[]);return gd({activeInteraction:d,onApprove:m,onAlwaysAllow:h,onDeny:f,onToggleOption:x,onNavigateOption:g,onNavigateQuestion:S,onSubmit:b,optionCount:i,focusedIndex:n}),{handleToolRef:u,focusedOptionIndex:o?n:-1}}function Ht(e,t,n){var a;const s=e.length;if(s===0)return 0;let o=(t%s+s)%s;for(let i=0;i<s;i++){if(!((a=e[o])!=null&&a.disabled))return o;o=(o+n+s)%s}return t}function yb({commands:e,input:t,cursorPos:n}){const[s,o]=l.useState(!1),[a,i]=l.useState(""),[c,u]=l.useState(-1),d=l.useMemo(()=>a?e.map(j=>({cmd:j,rank:cf(a,j)})).filter(j=>j.rank.match).sort((j,w)=>j.rank.bucket-w.rank.bucket||w.rank.score-j.rank.score).map(({cmd:j,rank:w})=>({...j,matchedAlias:w.matchedAlias})):e,[e,a]),[m,h]=l.useState(null),f=m!==null&&m.query===a&&m.open===s?m.index:Ht(d,0,1),x=d[f],g=d.length===0||x!==void 0&&!x.disabled?f:Ht(d,0,1),S=l.useCallback((j,w)=>{const A=j.slice(0,w).match(/(^|\s)\/([\w:-]*)$/);return A?(o(!0),i(A[2]),u((A.index??0)+A[1].length),!0):(o(!1),!1)},[]),b=l.useCallback(j=>{const w=t.slice(0,c),D=t.slice(c+1+a.length);return o(!1),w+j.fullCommand+(D.startsWith(" ")?"":" ")+D},[t,a,c]),k=l.useCallback(()=>{h({query:a,open:s,index:Ht(d,g+1,1)})},[d,g,a,s]),v=l.useCallback(()=>{h({query:a,open:s,index:Ht(d,g-1,-1)})},[d,g,a,s]),y=l.useCallback(()=>{const j=d[g];return j&&!j.disabled?b(j):(j||o(!1),null)},[d,g,b]),p=l.useCallback(()=>{o(!1),i("")},[]);return{showCommands:s,setShowCommands:o,commandQuery:a,selectedIndex:g,filteredCommands:d,slashTriggerPos:c,detectCommandTrigger:S,handleCommandSelect:b,handleArrowUp:v,handleArrowDown:k,handleKeyboardSelect:y,resetCommand:p}}function kb({fileEntries:e,input:t,cursorPos:n}){const[s,o]=l.useState(!1),[a,i]=l.useState(""),[c,u]=l.useState(0),[d,m]=l.useState(-1),h=l.useMemo(()=>s?a?e.map(v=>({...v,...Gt(a,v.path)})).filter(v=>v.match).sort((v,y)=>y.score-v.score).slice(0,50):e.slice(0,50).map(v=>({...v,indices:[]})):[],[e,a,s]);l.useEffect(()=>{u(0)},[a,s]),l.useEffect(()=>{h.length>0&&c>=h.length&&u(h.length-1)},[h.length,c]);const f=l.useCallback((v,y)=>{const j=v.slice(0,y).match(/(^|\s)@([\w./:-]*)$/);return j?(o(!0),i(j[2]),m((j.index??0)+j[1].length),!0):(o(!1),!1)},[]),x=l.useCallback(v=>{const y=t.slice(0,d),p=t.slice(d+1+a.length);if(v.isDirectory){const w=y+"@"+v.path+p,D=y.length+1+v.path.length;return i(v.path),u(0),{newValue:w,newCursorPos:D,keepOpen:!0}}const j=y+"@"+v.path+" "+p;return o(!1),{newValue:j,keepOpen:!1}},[t,d,a]),g=l.useCallback(()=>{u(v=>h.length===0?0:(v+1)%h.length)},[h.length]),S=l.useCallback(()=>{u(v=>h.length===0?0:(v-1+h.length)%h.length)},[h.length]),b=l.useCallback(()=>h.length>0&&c<h.length?x(h[c]):(o(!1),null),[h,c,x]),k=l.useCallback(()=>{o(!1),i("")},[]);return{showFiles:s,setShowFiles:o,fileQuery:a,fileSelectedIndex:c,filteredFiles:h,fileTriggerPos:d,detectFileTrigger:f,handleFileSelect:x,handleArrowUp:S,handleArrowDown:g,handleKeyboardSelect:b,resetFiles:k}}function vb({input:e,setInput:t,commands:n,fileEntries:s}){const[o,a]=l.useState(0),i=yb({commands:n,input:e,cursorPos:o}),c=kb({fileEntries:s,input:e,cursorPos:o}),u=l.useCallback((w,D)=>{if(c.detectFileTrigger(w,D)){i.setShowCommands(!1);return}if(i.detectCommandTrigger(w,D)){c.setShowFiles(!1);return}c.setShowFiles(!1),i.setShowCommands(!1)},[c,i]),d=l.useRef({value:e,cursor:0});l.useEffect(()=>{d.current.value=e},[e]);const m=l.useCallback(w=>{t(w),d.current={value:w,cursor:d.current.cursor||w.length},u(w,d.current.cursor)},[t,u]),h=l.useCallback(w=>{a(w),d.current={value:d.current.value,cursor:w},u(d.current.value,w)},[u]),f=l.useCallback(w=>{const D=i.handleCommandSelect(w);t(D)},[i,t]),x=l.useCallback(w=>{const D=c.handleFileSelect(w);t(D.newValue),D.newCursorPos!==void 0&&a(D.newCursorPos)},[c,t]),g=l.useCallback(()=>{c.showFiles?c.handleArrowDown():i.handleArrowDown()},[c,i]),S=l.useCallback(()=>{c.showFiles?c.handleArrowUp():i.handleArrowUp()},[c,i]),b=l.useCallback(()=>{if(c.showFiles){const w=c.handleKeyboardSelect();w&&(t(w.newValue),w.newCursorPos!==void 0&&a(w.newCursorPos))}else if(i.showCommands){const w=i.handleKeyboardSelect();w&&t(w)}},[c,i,t]),k=l.useCallback(()=>{i.setShowCommands(!1),c.setShowFiles(!1)},[i,c]),v=i.showCommands||c.showFiles,y=c.showFiles&&c.filteredFiles.length>0||i.showCommands&&i.filteredCommands.length>0,p=c.showFiles?"file-palette-listbox":i.showCommands?"command-palette-listbox":void 0,j=c.showFiles&&c.filteredFiles.length>0?`file-item-${c.fileSelectedIndex}`:i.showCommands&&i.filteredCommands.length>0?`command-item-${i.selectedIndex}`:void 0;return{commands:{show:i.showCommands,filtered:i.filteredCommands,selectedIndex:i.selectedIndex},files:{show:c.showFiles,filtered:c.filteredFiles,selectedIndex:c.fileSelectedIndex},isPaletteOpen:v,paletteHasResults:y,activeDescendantId:j,paletteListboxId:p,handleInputChange:m,handleCursorChange:h,handleArrowUp:S,handleArrowDown:g,handleKeyboardSelect:b,handleCommandSelect:f,handleFileSelect:x,dismissPalettes:k}}function Cb(e,t,n){const s=ce(i=>i.setIsStreaming),o=ce(i=>i.setIsWaitingForUser),a=ce(i=>i.setIsTextStreaming);l.useEffect(()=>(s(e==="streaming"),()=>s(!1)),[e,s]),l.useEffect(()=>(o(t),()=>o(!1)),[t,o]),l.useEffect(()=>(a(n),()=>a(!1)),[n,a])}function Sb(){const e=ke(),t=ce(f=>f.selectedCwd),[n,s]=l.useState([]),o=l.useCallback(f=>{const x=f.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));s(g=>[...g,...x])},[]),a=l.useCallback(f=>{s(x=>x.filter(g=>g.id!==f))},[]),i=l.useCallback(()=>{s([])},[]),c=l.useCallback(f=>{s(x=>x.map(g=>g.id===f&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),u=l.useRef(null),d=St({meta:{suppressErrorToast:!0},mutationFn:async f=>{if(!t)throw new Error("No working directory selected");s(b=>b.map(k=>f.some(v=>v.id===k.id)?{...k,status:"uploading"}:k));const x=b=>{s(k=>k.map(v=>v.status==="uploading"?{...v,progress:b.percentage}:v))},g=new AbortController;u.current=g;const S=f.map(b=>b.file);return e.uploadFiles(S,t,x,g.signal)},onSettled:()=>{u.current=null},onSuccess:(f,x)=>{s(g=>g.map(S=>{const b=x.findIndex(k=>k.id===S.id);return b===-1?S:{...S,status:"uploaded",progress:100,result:f[b]}}))},onError:f=>{s(x=>x.map(g=>g.status==="uploading"?{...g,status:"error",error:f.message}:g))}}),m=l.useCallback(()=>{var f;(f=u.current)==null||f.abort()},[]),h=l.useCallback(async()=>{const f=n.filter(b=>b.status==="error");if(f.length>0)throw new Error(f.length===1?`${f[0].file.name} did not upload. Retry it or remove it, then send again.`:`${f.length} attachments did not upload. Retry them or remove them, then send again.`);const x=n.filter(b=>b.status==="uploaded"&&b.result).map(b=>b.result.savedPath),g=n.filter(b=>b.status==="pending");if(g.length===0)return x;const S=await d.mutateAsync(g);return[...x,...S.map(b=>b.savedPath)]},[n,d]);return{pendingFiles:n,addFiles:o,removeFile:a,retryFile:c,clearFiles:i,cancelUpload:m,uploadAndGetPaths:h,hasPendingFiles:n.length>0,hasFailedUpload:n.some(f=>f.status==="error"),isUploading:d.isPending}}const Mn=new Set,On=new Set;function jb(e,t){return`${e}\0${t}`}function wb({sessionId:e,prompt:t,autoSend:n,input:s,setInput:o,messageCount:a,hydrated:i,status:c,submitBlocked:u=!1,submit:d,onSeeded:m,onConsumed:h}){const f=t!=null&&t.trim()?t:void 0,x=e&&f?jb(e,f):null;l.useEffect(()=>{if(!(!x||!f)&&!Mn.has(x)&&i){if(Mn.add(x),s.length>0||a>0){On.add(x),h==null||h();return}o(f),m==null||m(),n||h==null||h()}},[x,f,n,s,i,a,o,m,h]),l.useEffect(()=>{!x||!f||!n||On.has(x)||Mn.has(x)&&s===f&&(!i||a>0||c==="streaming"||u||(On.add(x),h==null||h(),d()))},[x,f,n,s,i,a,c,u,d,h])}const Br=hc-256,qr=`
|
|
52
|
-
…(context truncated)`,Ur={"/":"the home team room","/activity":"the activity feed","/team":"the team page","/session":"a chat session","/tasks":"the scheduled-work page","/channels":"a channel","/workspaces":"the workspaces page","/connections":"the connections page","/marketplace":"the marketplace","/feedback-requests":"the feedback requests page"};function
|
|
53
|
-
`);return n.length<=Br?n:n.slice(0,Br-qr.length)+qr}const Eb="dorkbot-help",Wt=new Set;function Db({sessionId:e,seed:t,messageCount:n,hydrated:s,onConsumed:o}){const a=t===Eb&&e!==null,{data:i}=gc({enabled:a}),{data:c}=ro(),u=vt(xc(f=>Object.entries(f.statuses).filter(([,x])=>x.lifecycle==="error").map(([x])=>x))),d=l.useRef({agentNames:[],version:null,updateReady:!1,erroredSessionIds:[]}),m=l.useRef({armed:a,sessionId:e,messageCount:n}),h=l.useRef(o);return l.useEffect(()=>{const f=(c==null?void 0:c.latestVersion)??null,x=(c==null?void 0:c.version)??null;d.current={agentNames:((i==null?void 0:i.agents)??[]).map(g=>g.displayName??g.name),version:x,updateReady:f!==null&&x!==null&&wu(f,x),erroredSessionIds:u}},[i,c,u]),l.useEffect(()=>{m.current={armed:a,sessionId:e,messageCount:n},h.current=o},[a,e,n,o]),l.useEffect(()=>{!a||e===null||!s||n===0||Wt.has(e)||(Wt.add(e),o==null||o())},[a,e,s,n,o]),l.useCallback(()=>{var x;const f=m.current;if(!(!f.armed||f.sessionId===null)&&!(f.messageCount>0)&&!Wt.has(f.sessionId))return Wt.add(f.sessionId),(x=h.current)==null||x.call(h),Nb({...d.current,originPath:bc()})},[])}function Tb(e,t,n,s=!1){if(e!=="error"||t||s)return!1;let o=-1;for(let i=n.length-1;i>=0;i--)if(n[i].role==="user"){o=i;break}return!n.slice(o+1).some(i=>i.parts.some(c=>c.type==="error"&&c.code!==vo))}const Ab=4e3;function Fb(e){const t=e.approvalDisplayName||ut(e.toolName,e.input??"");return e.approvalOutcome==="allowed"?`Allowed ${t}. Recorded in the chat.`:e.approvalOutcome==="denied"?`Didn’t allow ${t}. Recorded in the chat.`:`${t} wasn’t answered in time, so it didn’t run. Recorded in the chat.`}function Rb(e,t){const n=l.useRef(null),s=l.useRef(null),[o,a]=l.useState({text:"",nonce:0});return l.useEffect(()=>{s.current!==t&&(s.current=t,n.current=null);const i=e.filter(d=>d.type==="tool_call"&&d.approvalOutcome!==void 0);if(n.current===null){n.current=new Set(i.map(d=>d.toolCallId));return}const c=i.filter(d=>!n.current.has(d.toolCallId));if(c.length===0)return;for(const d of c)n.current.add(d.toolCallId);const u=c.length===1?Fb(c[0]):`Answered ${c.length} permission requests. Recorded in the chat.`;a(d=>({text:u,nonce:d.nonce+1}))},[e,t]),l.useEffect(()=>{if(o.text==="")return;const i=setTimeout(()=>a(c=>({text:"",nonce:c.nonce})),Ab);return()=>clearTimeout(i)},[o]),o.text===""?"":o.nonce%2===0?o.text:`${o.text}`}const Hr=["hsl(var(--chart-1))","hsl(var(--chart-2))","hsl(var(--chart-3))","hsl(var(--chart-4))","hsl(var(--chart-5))"],Wr=5e3,Mb=1e3,Ob=1500,Ib=new Set;function $b(e){const t=l.useRef(new Map),n=Ao({byTask:new Map,assigned:0}),[s,o]=l.useState(Ib),[,a]=l.useState(0),i=l.useMemo(()=>{const u=new Map;for(const d of e)for(const m of d.parts)m.type==="background_task"&&u.set(m.taskId,m);return u},[e]);l.useEffect(()=>{if(!Array.from(i.values()).some(m=>m.taskType==="bash"&&m.status==="running"&&Date.now()-m.startedAt<Wr))return;const d=setInterval(()=>{a(m=>m+1)},Mb);return()=>clearInterval(d)},[i]);const c=l.useRef(new Set);return l.useLayoutEffect(()=>{for(const[u,d]of i)t.current.get(u)==="running"&&d.status!=="running"&&!Gs(d)&&o(h=>h.has(u)?h:new Set(h).add(u)),t.current.set(u,d.status)},[i]),l.useEffect(()=>{for(const u of s)c.current.has(u)||(c.current.add(u),setTimeout(()=>{c.current.delete(u),o(d=>{if(!d.has(u))return d;const m=new Set(d);return m.delete(u),m})},Ob))},[s]),l.useMemo(()=>{const u=Date.now(),d=[],m=n.read();let h=m.assigned;for(const[f,x]of i){const g=x.status==="running",S=s.has(f);if(!g&&!S||x.taskType==="bash"&&g&&u-x.startedAt<Wr)continue;let b=m.byTask.get(f);b===void 0&&(b=Hr[h%Hr.length],h+=1,m.byTask.set(f,b),n.write({byTask:m.byTask,assigned:h})),d.push({taskId:x.taskId,taskType:x.taskType,status:x.status,color:b,startedAt:x.startedAt,description:x.description,toolUses:x.toolUses,lastToolName:x.lastToolName,durationMs:x.durationMs,summary:x.summary,command:x.command,ambient:Gs(x)})}return d},[i,s,n])}const Pb=new Set(["streaming","blocked"]);function Lb(e,t){return e.length===0||e[0].waitingOn!==void 0||t&&Pb.has(t)?e:e.slice(1)}function In(e,t,n){return`${e} ${e===1?t:n}`}const Gr={"delivery-owed":"a helper’s report","waiting-on-person":"your answer","timer-pending":"a reminder the agent set"},zb={"timer-pending":"Switching now cancels the reminder."};function Bb(e){const{agents:t,shells:n,other:s}=e.holding,o=[t>0?In(t,"helper","helpers"):void 0,n>0?In(n,"command","commands"):void 0,s>0?In(s,"background job","background jobs"):void 0].filter(d=>d!==void 0),a=o.length===0?void 0:o.length===1?o[0]:`${o.slice(0,-1).join(", ")} and ${o.at(-1)}`,i=e.pins,c=i.includes("cwd")&&e.targetFolderName?`moves to ${e.targetFolderName}`:i.includes("agentIdentity")?"switches agents":i.includes("systemPromptAppend")?"loads new instructions":"applies new settings";return{line:`${a!==void 0?`Held for ${a}.`:e.because!==void 0&&Gr[e.because]!==void 0?`Held for ${Gr[e.because]}.`:"Held until the agent is free."} Sending it ${c}.`,switchHint:a!==void 0?`Switching now stops ${a}.`:(e.because!==void 0?zb[e.because]:void 0)??"Switching now stops what the agent is doing."}}const qb={"session-idle":null,unsupported:"Queued. This agent can’t take a message mid-task.","not-steerable":"Couldn’t cut in. It’s waiting in line.","not-stageable":null,"turn-owned-elsewhere":"Couldn’t cut in: something else is running it. It’s waiting in line.","pending-interaction":"Queued. The agent needs your answer first."};function Ub(e){return e!=null&&e.degradedBecause?qb[e.degradedBecause]:null}function Vr(e){return(e==null?void 0:e.code)==="QUEUED_MESSAGE_NOT_FOUND"}function Hb({sessionId:e,waiting:t,onEnqueue:n}){const s=ke(),o=yc(e??""),[a,i]=l.useState(null),c=l.useMemo(()=>t.map(p=>({id:p.id,content:p.content,mine:s.clientId===void 0||p.enqueuedBy===s.clientId,notice:Ub(o[p.id]),...p.waitingOn?{waiting:Bb(p.waitingOn)}:{}})),[t,o,s.clientId]),u=l.useMemo(()=>{if(a===null)return null;const p=c.findIndex(j=>j.id===a);return p===-1?null:p},[a,c]),d=l.useCallback(()=>{var p;if(e)return(p=Ee.getState().getSession(e).queuedMessages[0])==null?void 0:p.id},[e]),m=l.useCallback((p,j)=>{p().catch(w=>{Vr(w)||Ae.error(j)})},[]),h=l.useCallback(async p=>{const j=p.trim();return!j||!e?!1:n(j)},[e,n]),f=l.useCallback((p,j)=>{e&&m(()=>s.updateQueuedMessage(e,p,{content:j}),"Couldn’t save that change")},[e,s,m]),x=l.useCallback(p=>{i(j=>j===p?null:j),e&&m(()=>s.removeQueuedMessage(e,p),"Couldn’t take that message off the queue")},[e,s,m]),g=l.useCallback((p,j)=>{if(!e)return;const w=D=>s.updateQueuedMessage(e,p,{move:{before:D}});m(async()=>{try{await w(j)}catch(D){if(!Vr(D))throw D;const A=d();if(A===void 0||A===p)return;await w(A)}},"Couldn’t move that message")},[e,s,m,d]),S=l.useCallback(p=>c.findIndex(w=>w.id===p)<=0?!1:(i(w=>w===p?null:w),g(p,c[0].id),!0),[c,g]),b=l.useCallback(p=>{const j=c.findIndex(w=>w.id===p);j<=0||g(p,c[j-1].id)},[c,g]),k=l.useCallback(p=>{const j=c.find(w=>w.id===p);return j?(i(p),j.content):null},[c]),v=l.useCallback(()=>{i(null)},[]),y=l.useCallback(p=>{a!==null&&(f(a,p),i(null))},[a,f]);return{queue:c,editingId:a,editingIndex:u,addToQueue:h,removeFromQueue:x,sendNow:S,moveUp:b,startEditing:k,cancelEditing:v,saveEditing:y,updateQueued:f}}function Va(e,t){return e===null?null:`${e} ${t??""}`}function Wb({input:e,setInput:t,sessionId:n,selectedCwd:s,waiting:o,onEnqueue:a,onSteer:i,onStage:c,tryNativeCommand:u,chatInputRef:d}){const m=l.useRef(""),h=l.useRef(null),f=Va(n,s);l.useEffect(()=>{m.current="",h.current=null},[f]);const x=Hb({sessionId:n,waiting:o,onEnqueue:a}),g=x.cancelEditing;l.useEffect(()=>{g()},[f,g]);const S=l.useCallback(()=>{const F=x.editingId;if(F===null)return;const I=e.trim();I&&(x.updateQueued(F,I),Nx(I)&&Ae.warning("Saved as a command. It runs instead of sending."))},[e,x]),b=Ws(x.editingId),k=Ws(x.updateQueued);l.useEffect(()=>{const F=n;return()=>{const I=b.read();if(I===null||!F)return;const L=re.getState(),U=L.getSession(F).input.trim();U&&k.read()(I,U),L.updateSession(F,{input:m.current})}},[f]);const v=l.useCallback(F=>{const I=e.trim();if(!I)return;const L=u(I);if(L.handled){if(!L.ran)return;L.confirmed?Jn(n,I,L.confirmed):t("");return}if(h.current===I)return;h.current=I,at.getState().recordOpened("session",n),s&&at.getState().recordOpened("agent",s);const U=F(I);U.finally(()=>{h.current===I&&(h.current=null)}),Jn(n,I,U)},[e,s,n,t,u]),y=l.useCallback(()=>v(F=>x.addToQueue(F)),[v,x]),p=l.useCallback(()=>{i&&v(i)},[v,i]),j=l.useCallback(()=>{c&&v(c)},[v,c]),w=l.useCallback(F=>{var U,W;if(x.editingId===F){(U=d.current)==null||U.focus();return}const I=x.editingId!==null;I&&S();const L=x.startEditing(F);L!==null&&(I||(m.current=e),t(L),(W=d.current)==null||W.focus())},[e,x,S,t,d]),D=l.useCallback(()=>{if(x.editingId===null)return;const F=e.trim();if(!F)return;const I=u(F);if(I.handled){I.ran&&(x.cancelEditing(),t(m.current));return}x.saveEditing(F),t(m.current)},[e,x,t,u]),A=l.useCallback(()=>{x.cancelEditing(),t(m.current)},[x,t]),N=l.useCallback(F=>{x.editingId===F&&t(m.current),x.removeFromQueue(F)},[x,t]),T=l.useCallback(F=>{const I=x.editingId===F;I&&S(),x.sendNow(F)&&I&&t(m.current)},[x,S,t]),C=l.useCallback(F=>{x.moveUp(F)},[x]),E=l.useCallback(F=>{var U;const I=(U=x.queue[F])==null?void 0:U.id;if(I!==void 0&&I===x.editingId)return;S();const L=I===void 0?null:x.startEditing(I);if(L===null){x.cancelEditing(),t(m.current);return}t(L)},[x,S,t]),_=l.useCallback(()=>{S(),x.cancelEditing(),t(m.current)},[S,x,t]),R=l.useCallback(()=>{const{editingIndex:F,queue:I}=x;if(F===null){if(I.length===0)return;m.current=e,E(I.length-1)}else F>0?E(F-1):_()},[E,e,_,x]),M=l.useCallback(()=>{const{editingIndex:F,queue:I}=x;F!==null&&(F<I.length-1?E(F+1):_())},[E,_,x]);return{queue:x.queue,editingId:x.editingId,editingIndex:x.editingIndex,handleQueue:y,handleSteer:p,handleStage:j,handleQueueEdit:w,handleQueueSaveEdit:D,handleQueueCancelEdit:A,handleQueueRemove:N,handleQueueSend:T,handleQueueMoveUp:C,handleQueueNavigateUp:R,handleQueueNavigateDown:M,leaveQueueForStop:_}}const Gb=5e3,Kr=3;function Ka(){try{const e=Number(localStorage.getItem(Fo.PLACEHOLDER_HINT_CYCLES));return Number.isFinite(e)&&e>0?e:0}catch{return 0}}function Vb(){const e=Ka()+1;try{localStorage.setItem(Fo.PLACEHOLDER_HINT_CYCLES,String(e))}catch{}return e}function Kb(e){const t=[...e];for(let n=t.length-1;n>0;n--){const s=Math.floor(Math.random()*(n+1));[t[n],t[s]]=[t[s],t[n]]}return t}function Qb({defaultText:e,hints:t,enabled:n,intervalMs:s=Gb}){const[o]=l.useState(()=>t.length>0?Kb(t):[]),[a,i]=l.useState(()=>Ka()>=Kr),[c,u]=l.useState({key:0,hintIndex:-1}),d=l.useRef(0),m=l.useRef(0),h=l.useRef(!1);return l.useEffect(()=>{if(a||!n||t.length===0){h.current&&(h.current=!1,d.current+=1,u({key:d.current,hintIndex:-1}));return}const x=setInterval(()=>{if(d.current+=1,h.current=!h.current,!h.current){u({key:d.current,hintIndex:-1});return}const g=m.current%t.length;m.current+=1,m.current%t.length===0&&Vb()>=Kr&&i(!0),u({key:d.current,hintIndex:g})},s);return()=>clearInterval(x)},[n,t.length,s,a]),{text:c.hintIndex>=0?o[c.hintIndex]??e:e,key:c.key}}const $n=/[.!?…:](?=\s|$)|\n/g;function Qr(e,t,n){const s=e.startsWith(t)?t.length:0,o=e.slice(0,s),a=e.slice(s);if(a.trim()==="")return{chunk:"",announced:o};if(n)return{chunk:a.trim(),announced:e};$n.lastIndex=0;let i=-1;for(let c=$n.exec(a);c!==null;c=$n.exec(a))i=c.index+c[0].length;return i===-1?{chunk:"",announced:o}:{chunk:a.slice(0,i).trim(),announced:e.slice(0,s+i)}}const Yb=1500,Xb=4e3,Jb=400;function Zb({messageId:e,text:t,isStreaming:n}){const s=l.useRef(new Map),[o,a]=l.useState({text:"",nonce:0});return l.useEffect(()=>{if(e===void 0)return;if(s.current.get(e)===void 0){if(!n)return;s.current.clear(),s.current.set(e,{announced:t.length<=Jb?"":t})}const c=s.current.get(e),{chunk:u,announced:d}=Qr(t,c.announced,!1);c.announced=d,u!==""&&a(h=>({text:u,nonce:h.nonce+1}));const m=setTimeout(()=>{const h=Qr(t,c.announced,!0);c.announced=h.announced,h.chunk!==""&&a(f=>({text:h.chunk,nonce:f.nonce+1}))},Yb);return()=>clearTimeout(m)},[e,t,n]),l.useEffect(()=>{if(o.text==="")return;const i=setTimeout(()=>a(c=>({text:"",nonce:c.nonce})),Xb);return()=>clearTimeout(i)},[o]),o.text===""?"":o.nonce%2===0?o.text:`${o.text}`}const Qa={reactions:!1,threads:!1,runWith:!0,attachments:!0,mentions:!1,streamHealth:!1,presence:!1,turnStatus:!0,asks:!0};function Yr(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${Math.round(e)} tokens`}function ey(e){const{formatted:t}=Lo(e.status==="streaming"?e.streamStartTime:null),n=co(e.permissionMode),s=l.useRef(e.status),o=l.useRef(t),a=l.useRef(e.estimatedTokens),[i,c]=l.useState(!1);return l.useEffect(()=>{e.status==="streaming"&&(o.current=t,a.current=e.estimatedTokens,s.current!=="streaming"&&c(!1))},[e.status,t,e.estimatedTokens]),l.useEffect(()=>{s.current==="streaming"&&e.status==="idle"&&a.current>0&&c(!0),s.current=e.status},[e.status]),l.useEffect(()=>{if(!i)return;const u=setTimeout(()=>c(!1),en.TURN_COMPLETE_DISMISS_MS);return()=>clearTimeout(u)},[i]),Nu({capabilities:Qa,asks:e.asks??Oo,stalled:!1,presence:Eu,turn:{status:e.status,isWaitingForUser:e.isWaitingForUser,waitingType:e.waitingType,operationProgress:e.operationProgress==null?null:{message:e.operationProgress.message??null,determinate:e.operationProgress.determinate,percent:e.operationProgress.percent??null},systemStatus:e.systemStatus??null,elapsed:t,activity:e.activity,tokens:Yr(e.estimatedTokens),isBypass:n,showComplete:i,lastElapsed:o.current,lastTokens:Yr(a.current)}})}function ty(e){const{sessionId:t,placeholder:n,files:s}=e,o=l.useRef(e);l.useEffect(()=>{o.current=e});const a=l.useCallback(S=>o.current.files.addFiles(S),[]),i=l.useCallback(S=>o.current.files.removeFile(S),[]),c=l.useCallback(S=>o.current.files.retryFile(S),[]),u=l.useCallback(()=>o.current.files.cancelUpload(),[]),{pendingFiles:d,hasFailedUpload:m,isUploading:h}=s,f=l.useMemo(()=>({staged:d,add:a,remove:i,retry:c,cancel:u,hasFailed:m,isUploading:h,holdsSendWhileUploading:!0}),[d,m,h,a,i,c,u]),x=l.useCallback(async S=>{await o.current.submit(S.text)},[]),g=l.useCallback(async S=>{if(!await o.current.enqueue(S.text))throw new Error("Couldn’t queue that message. Try again.")},[]);return l.useMemo(()=>({kind:"session",id:t,placeholder:n,canSend:t!=="",...t===""?{canSendReason:"Pick a chat, or start a new one."}:{},send:x,queue:g,attachments:f}),[t,n,f,x,g])}function ny({error:e,composerAgent:t,onRetry:n}){return e.code===yo&&e.agentId?r.jsx("div",{className:"mx-4 mb-2",children:r.jsx(Yo,{agentId:e.agentId,...(t==null?void 0:t.id)===e.agentId?{agentName:nn(t,"This agent")}:{}})}):r.jsx("div",{className:"mx-4 mb-2",children:r.jsx(on,{message:e.message,heading:e.heading,subtext:e.message,onRetry:e.retryable?n:void 0})})}const sy={duration:.16,delay:.08,ease:[.16,1,.3,1]},ry={duration:0};function oy({sessionId:e,activeInteraction:t,pendingApprovals:n,focusedOptionIndex:s,onToolRef:o,onToolDecided:a,queueDepth:i=0,allowsDenyReason:c=!0}){const u=g=>a(t.toolCallId,g),d=Me(),{answerAll:m,isAnswering:h,error:f}=kc(),x=l.useMemo(()=>n.map(g=>({sessionId:e,cwd:"",interaction:{type:"approval",id:g.toolCallId,startedAt:g.approvalStartedAt??0,remainingMs:g.timeoutMs??0,toolName:g.toolName,input:g.input??"",hasSuggestions:g.approvalHasSuggestions??!1}})),[n,e]);return r.jsxs(r.Fragment,{children:[n.length>=2&&r.jsx(vc,{className:"mb-1.5",headline:`${n.length} tools are waiting on you`,items:n.map(g=>({id:g.toolCallId,line:ut(g.toolName,g.input??"")})),onAllowAll:()=>void m(x,"allow"),onDenyAll:()=>void m(x,"deny"),isAnswering:h,error:f}),r.jsx(fe,{mode:"wait",initial:!1,children:r.jsx(K.div,{initial:d?!1:{opacity:0,y:6},animate:{opacity:1,y:0},transition:d?ry:sy,children:t.interactiveType==="approval"?r.jsx(Xo,{ref:o,sessionId:e,toolCallId:t.toolCallId,toolName:t.toolName,input:t.input||"",isActive:!0,onDecided:u,timeoutMs:t.timeoutMs,approvalStartedAt:t.approvalStartedAt,approvalRemainingMs:t.approvalRemainingMs,approvalParked:t.approvalParked,approvalTitle:t.approvalTitle,approvalDisplayName:t.approvalDisplayName,approvalDescription:t.approvalDescription,approvalBlockedPath:t.approvalBlockedPath,approvalDecisionReason:t.approvalDecisionReason,approvalHasSuggestions:t.approvalHasSuggestions,approvalAlwaysAllowScope:t.approvalAlwaysAllowScope,allowsDenyReason:c}):t.interactiveType==="question"&&t.questions?r.jsx(Co,{ref:o,sessionId:e,toolCallId:t.toolCallId,questions:t.questions,answers:t.answers,isActive:!0,focusedOptionIndex:s,onDecided:u}):null},t.toolCallId)}),i>0&&r.jsx("p",{className:"text-muted-foreground px-1 pt-2 text-xs",children:i===1?"1 message sends once you answer.":`${i} messages send once you answer.`})]})}function ay({filteredCommands:e,selectedIndex:t,onSelect:n}){const s=l.useMemo(()=>{const o=[],a=new Map;let i=0;for(const c of e){const u=c.namespace??"built-in";a.has(u)||a.set(u,[]),a.get(u).push({cmd:c,index:i++})}for(const[c,u]of a)o.push({namespace:c,items:u});return o},[e]);return l.useEffect(()=>{const o=document.getElementById(`command-item-${t}`);o&&o.scrollIntoView({block:"nearest"})},[t]),r.jsx(K.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:r.jsx("div",{id:"command-palette-listbox",role:"listbox",className:"max-h-72 overflow-y-auto p-1.5",children:e.length===0?r.jsx("div",{className:"text-muted-foreground px-2 py-4 text-center text-sm",children:"No commands found."}):s.map(({namespace:o,items:a},i)=>r.jsxs("div",{children:[i>0&&r.jsx("div",{className:"bg-border mx-2 my-1.5 h-px"}),r.jsx("div",{className:"text-muted-foreground/70 text-2xs px-2 pt-1.5 pb-1 font-medium tracking-wide uppercase",children:o}),a.map(({cmd:c,index:u})=>{const d=u===t,m=c.disabled===!0;return r.jsxs("div",{id:`command-item-${u}`,role:"option","aria-selected":d,"aria-disabled":m,"data-selected":d,"data-disabled":m,tabIndex:d?0:-1,onClick:()=>{m||n(c)},onKeyDown:h=>{h.key==="Enter"&&!m&&n(c)},className:m?"cursor-not-allowed rounded-md px-2 py-1.5 opacity-45":"data-[selected=true]:bg-accent hover:bg-muted cursor-pointer rounded-md px-2 py-1.5 transition-colors duration-100",children:[r.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[r.jsx("span",{className:"text-foreground shrink-0 font-mono text-[13px] font-medium",children:c.fullCommand}),c.argumentHint&&r.jsx("span",{className:"text-muted-foreground/50 shrink-0 font-mono text-xs",children:c.argumentHint}),m&&c.disabledReason?r.jsx("span",{className:"text-muted-foreground/70 text-2xs ml-auto shrink-0",children:c.disabledReason}):c.matchedAlias&&r.jsxs("span",{className:"text-muted-foreground/60 text-2xs ml-auto shrink-0 font-mono italic",children:["matched /",c.matchedAlias.replace(/^\//,"")]})]}),c.description&&r.jsx("p",{className:"text-muted-foreground mt-0.5 truncate text-xs leading-normal",children:c.description})]},c.fullCommand)})]},o))})})}function iy(e,t,n,s){return e!==null?`Edit queued message ${e+1} of ${n}. Press Enter to save`:t&&n>0?`Compose another (${n} queued)`:t?"Compose next. It sends when ready":s}function ly({chatInputRef:e,input:t,autocomplete:n,steerContent:s,addContextContent:o,tryNativeCommand:a,commandPending:i,agentLookupPending:c=!1,agentLookupError:u=!1,status:d,stop:m,setInput:h,sessionId:f,sessionStatus:x,waiting:g,interaction:S,sync:b}){var ze,Xe;const{active:k,pendingApprovals:v,focusedOptionIndex:y,onToolRef:p,onToolDecided:j}=S,w=d==="streaming",D=ce(be=>be.isTextStreaming),[A]=Ro(),N=ke(),{data:T}=ps(A),C=Cc(T??null,A??""),E=T?nn(T):void 0,{target:_}=Du(),R=(_==null?void 0:_.placeholder)??"Send a message…",M=Sc(f),F=pm(f),I=sn(f),L=tn(I),U=jc(f),W=((L==null?void 0:L.supportsSteer)??!1)&&(U??!0),te=(L==null?void 0:L.supportsContextStaging)??!1,G=((ze=L==null?void 0:L.permissionModes)==null?void 0:ze.denyReason)??!0,B=l.useCallback(async be=>{if((_==null?void 0:_.queue)===void 0)return!1;try{return await _.queue({text:be}),!0}catch{return!1}},[_]),O=Wb({input:t,setInput:h,sessionId:f,selectedCwd:A,waiting:g,onEnqueue:B,onSteer:s,onStage:o,tryNativeCommand:a,chatInputRef:e}),[$,Q]=l.useState(null),ue=l.useRef(null),P=l.useCallback(be=>{const ye=ue.current;if(ue.current=null,be.length===0)return;const Ne=be.map(Re=>ye&&Re.id===ye.id?ye.content:Re.content).join(`
|
|
48
|
+
`)){for(const s of n.split(Jh)){const o=ug(s.trim());if(o.length===0)continue;let a;if(o[0]==="git"&&o[1]==="rm")a=2;else if(o[0]==="rm")a=1;else continue;for(const i of o.slice(a)){if(i.includes(">")||i.includes("<"))break;i==="--"||i.startsWith("-")||i.length===0||t.push(i)}}if(Zh.test(n))break}return t}const yr={delete:3,create:2,edit:1,read:0,search:0,fetch:0,run:0},fg=new Set(["Task","Agent","TodoWrite"]);function ys(e){return e===1?"1 hit":`${e} hits`}const mg=/[*?[\]~$]/;function bt(e,t,n,s,o){const a=Da(e);return{key:`file:${a}`,kind:"file",label:o===!0?a:Ta(a),fullTarget:a,verb:t,entry:n,additions:s==null?void 0:s.additions,deletions:s==null?void 0:s.deletions,pattern:o===!0?!0:void 0}}function pg(e){const{toolName:t}=e;if(fg.has(t)||t.startsWith("mcp__"))return[];const n=eg(e.input);if(!n)return[];switch(t){case"Read":{const s=Ie(n,"file_path");return s?[bt(s,"read","read")]:[]}case"Glob":{const s=Ie(n,"pattern");return s?[{key:`file:${s}`,kind:"file",label:s,fullTarget:s,verb:"read",entry:"globbed",pattern:!0}]:[]}case"Grep":{const s=Ie(n,"pattern");if(!s)return[];const o=e.status==="error"?void 0:lg(e.result);return[{key:`grep:${s}`,kind:"command",label:`"${s}"`,fullTarget:s,verb:"search",entry:o===void 0?"searched":`searched (${ys(o)})`,hits:o}]}case"Edit":case"MultiEdit":case"NotebookEdit":{const s=Ie(n,"file_path")??Ie(n,"notebook_path");if(!s)return[];const o=t==="MultiEdit"?ng(n):Kn(n);return[bt(s,"edit",`edited${sg(o)}`,o)]}case"Write":{const s=Ie(n,"file_path");if(!s)return[];if(!/created/i.test(e.result??""))return[bt(s,"edit","wrote")];const a=Ie(n,"content"),i=a===void 0?void 0:{additions:rg(a)};return[bt(s,"create",`created${i?` +${i.additions}`:""}`,i)]}case"Bash":{const s=Ie(n,"command");if(!s)return[];const o=[{key:`run:${s}`,kind:"command",label:cg(s),fullTarget:s,verb:"run",entry:"ran"}];for(const a of dg(s))o.push(bt(a,"delete","deleted",void 0,mg.test(a)));return o}case"WebFetch":{const s=Ie(n,"url");return s?[{key:`url:${ag(s)}`,kind:"url",label:ig(s),fullTarget:s,verb:"fetch",entry:"fetched"}]:[]}case"WebSearch":{const s=Ie(n,"query");return s?[{key:`websearch:${s}`,kind:"command",label:s,fullTarget:s,verb:"search",entry:"searched the web"}]:[]}default:return[]}}function hg(e,t){if(t.kind!=="file"||t.pattern===!0||e.has(t.key))return t.key;for(const n of e.values())if(!(n.kind!=="file"||n.pattern===!0)&&og(n.fullTarget,t.fullTarget))return n.key;return t.key}function gg(e,t,n,s,o){const a=hg(e,t),i=e.get(a);if(!i){e.set(a,{key:a,kind:t.kind,label:t.label,fullTarget:t.fullTarget,verb:t.verb,live:s,error:o,touches:1,additions:t.additions,deletions:t.deletions,hits:t.hits,pattern:t.pattern,firstSeq:n,lastSeq:n,history:[t.entry]});return}i.touches+=1,i.lastSeq=n,i.live=i.live||s,i.error=i.error||o,i.history.push(t.entry),t.additions!==void 0&&(i.additions=(i.additions??0)+t.additions),t.deletions!==void 0&&(i.deletions=(i.deletions??0)+t.deletions),t.hits!==void 0&&(i.hits=(i.hits??0)+t.hits),t.pattern||(i.pattern=void 0),i.kind==="file"&&i.pattern!==!0&&t.fullTarget.startsWith("/")&&!i.fullTarget.startsWith("/")&&(i.fullTarget=t.fullTarget,i.label=Ta(t.fullTarget)),i.verb==="read"&&t.verb==="edit"&&(i.upgraded=!0),yr[t.verb]>yr[i.verb]&&(i.verb=t.verb)}const kr=new WeakMap;function xg(e){const t=kr.get(e);if(t&&t.input===e.input&&t.result===e.result&&t.status===e.status)return t.touches;const n=pg(e);return kr.set(e,{input:e.input,result:e.result,status:e.status,touches:n}),n}function bg(e){const t=new Map;return e.forEach((n,s)=>{if(n.type!=="tool_call")return;const o=n.status==="pending"||n.status==="running",a=n.status==="error";for(const i of xg(n))gg(t,i,s,o,a)}),[...t.values()]}const Aa={expanded:!1,verbFilter:null,order:"grouped"},Tn=os(e=>({views:{},update:(t,n)=>e(s=>({views:{...s.views,[t]:{...s.views[t]??Aa,...n}}}))}));function yg(e,t){const n=t.find(s=>s.type==="tool_call");return`${e}:${(n==null?void 0:n.toolCallId)??""}`}function kg(e){const t=Tn(c=>c.views[e]),n=Tn(c=>c.update),s=t??Aa,o=l.useCallback(()=>{var c;return n(e,{expanded:!((c=Tn.getState().views[e])!=null&&c.expanded)})},[e,n]),a=l.useCallback(c=>n(e,{verbFilter:c}),[e,n]),i=l.useCallback(c=>n(e,{order:c}),[e,n]);return l.useMemo(()=>({...s,toggleExpanded:o,setVerbFilter:a,setOrder:i}),[s,o,a,i])}const vr=4,ft=[.4,0,.2,1],vg={type:"spring",stiffness:320,damping:28},Cg={duration:.25,ease:ft},Sg={x:-16,scale:.45,opacity:0},Jt={duration:.15,ease:ft},Cr={duration:.3,ease:ft},Sr={duration:.15,ease:ft},jg={duration:.3,ease:ft},_g={stiffness:220,damping:30},wg={rotate:[0,-4,3,0],scale:[1,1.08,1,1]},Ng={duration:.3,ease:ft};function Eg(e,t){return e?t?{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:Jt},transition:Jt}:{initial:{opacity:0,y:7},animate:{opacity:1,y:0},exit:{...Sg,transition:Cg},transition:vg}:{}}const an={read:"📖",search:"🔍",edit:"✏️",create:"✚",delete:"🗑",fetch:"🌐",run:"▮"},ln={read:"Read",search:"Searched",edit:"Edited",create:"Created",delete:"Deleted",fetch:"Fetched",run:"Ran"},Fa=["read","search","edit","create","delete","fetch","run"];function Ra(e){return Fa.map(t=>{const n=e.filter(o=>o.verb===t),s={verb:t,chips:n};for(const o of n)o.additions!==void 0&&(s.additions=(s.additions??0)+o.additions),o.deletions!==void 0&&(s.deletions=(s.deletions??0)+o.deletions);return s}).filter(t=>t.chips.length>0)}const Dg=["z-30","-ml-2 z-20 opacity-70","-ml-2 z-10 opacity-45"];function Tg({chips:e,expanded:t,controls:n,onExpand:s}){const o=Fe()??!1,a=e.slice(-3).reverse();return r.jsxs("button",{type:"button","data-testid":"chip-pile","aria-expanded":t,"aria-controls":n,"aria-label":`Show everything this turn touched (${e.length} more)`,onClick:s,className:H("flex shrink-0 items-center gap-1.5 rounded-full py-0.5 pr-1.5 pl-0.5","hover:bg-accent focus-visible:ring-ring outline-none focus-visible:ring-2"),children:[r.jsx(K.span,{animate:o?{rotate:0,scale:1}:wg,transition:Ng,className:"flex origin-bottom items-center",children:a.map((i,c)=>r.jsx("span",{"aria-hidden":"true",className:H("bg-card border-border text-3xs flex size-5 items-center justify-center rounded-full border leading-none",Dg[c]),children:an[i.verb]},i.key))},e.length),r.jsx("span",{"data-testid":"chip-pile-count",className:"bg-primary text-primary-foreground text-3xs rounded-full px-1.5 tabular-nums",children:e.length})]})}function jr({value:e,live:t}){const n=Fe()??!1,s=md(e,_g),o=$o(s,a=>Math.round(a));return l.useEffect(()=>{s.set(e)},[s,e]),!t||n?r.jsx(r.Fragment,{children:e}):r.jsx(K.span,{children:o})}function Ag(e){return e.kind!=="command"&&e.pattern!==!0}function Fg(e){return[e.fullTarget,e.history.join(", "),e.pattern===!0?"A pattern, not one file. There is nothing to open.":""].filter(Boolean).join(`
|
|
49
|
+
`)}function Rg(e){const t=e.pattern===!0&&e.verb==="read"?"Globbed":ln[e.verb],n=e.verb==="run"?e.label:e.fullTarget,s=[`${t} ${n}`];return e.touches>1&&s.push(`${e.touches} times`),e.hits!==void 0&&s.push(ys(e.hits)),e.additions!==void 0&&s.push(`${e.additions} added`),e.deletions!==void 0&&s.push(`${e.deletions} removed`),e.error&&s.push("didn’t work"),s.join(", ")}const _r="bg-muted text-muted-foreground shrink-0 rounded-full px-1.5 text-3xs leading-[1.4] tabular-nums";function Ma({chip:e,onOpen:t,animated:n=!1,pulseUpgrade:s=!1,onUpgradeSeen:o}){const a=Fe()??!1,i=s&&!a,c=Ag(e),u=e.verb==="delete",d=e.additions!==void 0||e.deletions!==void 0,m=n&&(e.verb==="create"||e.verb==="delete");return r.jsxs(K.button,{...Eg(n,a),type:"button","data-testid":"touch-chip","data-verb":e.verb,"data-live":e.live,"data-arriving":m?"true":void 0,title:Fg(e),"aria-label":Rg(e),onClick:()=>t(e),className:H("touch-chip relative inline-flex max-w-56 items-center gap-1.5 rounded-full border","px-2 py-0.5 text-xs","bg-card text-foreground border-border","focus-visible:ring-ring outline-none focus-visible:ring-2",c?"hover:bg-accent hover:text-accent-foreground":"cursor-default",u&&"text-muted-foreground line-through opacity-60",e.error&&"border-destructive/40 bg-destructive/10 text-destructive"),children:[r.jsx("span",{"aria-hidden":"true",className:"chip-sweep"}),r.jsxs("span",{className:"chip-icon relative inline-flex w-4 shrink-0 items-center justify-center leading-none",children:[r.jsx("span",{className:"chip-glyph inline-flex items-center justify-center [perspective:400px]",children:r.jsx(fe,{initial:!1,mode:"wait",children:r.jsx(K.span,{"aria-hidden":"true",initial:a?{opacity:0}:{opacity:0,rotateX:-90},animate:a?{opacity:1}:{opacity:1,rotateX:0},exit:a?{opacity:0}:{opacity:0,rotateX:90},transition:Sr,children:an[e.verb]},e.verb)})}),i&&r.jsx(K.span,{"aria-hidden":"true","data-testid":"chip-upgrade-pulse",className:"border-primary pointer-events-none absolute -inset-1 rounded-full border",initial:{scale:.6,opacity:.8},animate:{scale:1.8,opacity:0},transition:jg,onAnimationComplete:()=>o==null?void 0:o(e.key)})]}),r.jsx("span",{className:"chip-label truncate",children:e.label}),e.verb==="edit"&&e.live&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-caret",className:"chip-caret"}),e.verb==="run"&&e.live&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-cursor",className:"chip-cursor"}),e.verb==="fetch"&&e.live&&r.jsxs("span",{"aria-hidden":"true","data-testid":"chip-dots",className:"chip-dots",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]}),e.verb==="create"&&m&&r.jsxs(r.Fragment,{children:[r.jsx("svg",{"aria-hidden":"true","data-testid":"chip-pen",className:"chip-pen",children:r.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",rx:"11",ry:"11",pathLength:"100"})}),r.jsx("span",{"aria-hidden":"true",className:"chip-spark"})]}),e.verb==="delete"&&m&&r.jsx("span",{"aria-hidden":"true","data-testid":"chip-puff",className:"chip-puff"}),e.touches>1&&r.jsxs("span",{className:_r,children:["×",e.touches]}),e.hits!==void 0&&r.jsx("span",{className:_r,children:ys(e.hits)}),d&&r.jsxs(K.span,{className:"shrink-0 tabular-nums",initial:i?{opacity:0,x:-4}:!1,animate:{opacity:1,x:0},transition:Sr,children:[e.additions!==void 0&&r.jsxs("span",{className:"text-status-success-fg",children:["+",r.jsx(jr,{value:e.additions,live:e.live})]}),e.additions!==void 0&&e.deletions!==void 0&&" ",e.deletions!==void 0&&r.jsxs("span",{className:"text-destructive",children:["−",r.jsx(jr,{value:e.deletions,live:e.live})]})]})]})}const wr=new Map(Fa.map((e,t)=>[e,t]));function Mg(e,t){const n=[...e];return t==="chronological"?n.sort((s,o)=>s.lastSeq-o.lastSeq):n.sort((s,o)=>(wr.get(s.verb)??0)-(wr.get(o.verb)??0)||s.firstSeq-o.firstSeq)}function Og({id:e,chips:t,onOpen:n,verbFilter:s,onVerbFilterChange:o,order:a,onOrderChange:i}){const c=l.useMemo(()=>Ra(t),[t]),u=l.useMemo(()=>{const d=s?t.filter(m=>m.verb===s):t;return Mg(d,a)},[t,s,a]);return r.jsxs("div",{id:e,role:"region","aria-label":"Touched files and links","data-testid":"chip-tray",className:"border-border bg-card/50 flex flex-col gap-2 rounded-md border p-2",children:[r.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[r.jsx("div",{role:"group","aria-label":"Filter by what happened",className:"flex flex-wrap gap-1",children:c.map(d=>{const m=s===d.verb;return r.jsxs(oe,{variant:"outline",size:"xs","aria-pressed":m,"data-testid":`chip-filter-${d.verb}`,onClick:()=>o(m?null:d.verb),className:H("rounded-full",m?"border-primary dark:border-primary text-foreground":"text-muted-foreground"),children:[r.jsx("span",{"aria-hidden":"true",children:an[d.verb]}),r.jsx("span",{className:"sr-only",children:ln[d.verb]}),r.jsx("span",{className:"tabular-nums",children:d.chips.length})]},d.verb)})}),r.jsxs(Fl,{value:a,onValueChange:d=>i(d),"aria-label":"Order the roster",className:"w-auto",children:[r.jsx(Ps,{value:"grouped",children:"Grouped"}),r.jsx(Ps,{value:"chronological",children:"Chronological"})]})]}),r.jsx("div",{"data-testid":"chip-tray-roster",className:"flex max-h-60 flex-wrap items-start gap-1.5 overflow-y-auto overscroll-contain",children:u.map(d=>r.jsx(Ma,{chip:d,onOpen:n},d.key))})]})}const Ig=new Set;function $g(){const[e,t]=l.useState(Ig),n=l.useCallback((o,a)=>a===!0&&!e.has(o),[e]),s=l.useCallback(o=>{t(a=>a.has(o)?a:new Set(a).add(o))},[]);return{shouldPulse:n,acknowledge:s}}function Pg(e){const t=[...e].sort((n,s)=>n.lastSeq-s.lastSeq);return{visible:t.slice(-vr),absorbed:t.slice(0,Math.max(0,t.length-vr))}}function Lg(e){return e.map(t=>{const n=[`${t.chips.length} ${ln[t.verb].toLowerCase()}`];return t.additions!==void 0&&n.push(`${t.additions} added`),t.deletions!==void 0&&n.push(`${t.deletions} removed`),n.join(", ")}).join("; ")}function zg({verb:e,count:t,additions:n,deletions:s}){return r.jsxs("span",{"data-testid":`chip-summary-${e}`,className:"inline-flex items-center gap-1",children:[r.jsx("span",{"aria-hidden":"true",children:an[e]}),r.jsx("span",{className:"sr-only",children:ln[e]}),r.jsx("span",{className:"tabular-nums",children:t}),(n!==void 0||s!==void 0)&&r.jsxs("span",{className:"tabular-nums",children:[n!==void 0&&r.jsxs("span",{className:"text-status-success-fg",children:["+",n]}),n!==void 0&&s!==void 0&&" ",s!==void 0&&r.jsxs("span",{className:"text-destructive",children:["−",s]})]})]})}function Bg({parts:e,sessionId:t,turnActive:n=!1}){const s=Fe()??!1,o=l.useMemo(()=>bg(e),[e]),a=$g(),i=l.useId(),c=kg(l.useMemo(()=>yg(t,e),[t,e])),u=l.useCallback(x=>{if(x.pattern===!0)return;const g=ce.getState();if(x.kind==="url"){const S={type:"url",url:x.fullTarget};g.openCanvasDocument(S),Pn(g,"user",S);return}if(x.kind==="file"){const S={type:"file",sourcePath:x.fullTarget};g.openCanvasDocument(S),Pn(g,"user",S)}},[]),d=l.useMemo(()=>Ra(o),[o]),m=n||o.some(x=>x.live),{visible:h,absorbed:f}=l.useMemo(()=>Pg(o),[o]);return o.length===0?null:r.jsxs("div",{"data-testid":"touch-chip-strip",className:"mt-2 flex flex-col gap-2",children:[r.jsx(fe,{initial:!1,mode:"wait",children:m?r.jsxs(K.div,{"data-testid":"chip-live-row",role:"group","aria-label":"Latest activity",exit:s?{opacity:0}:{opacity:0,height:0},transition:s?Jt:Cr,className:"flex min-w-0 items-center gap-1.5 overflow-hidden",children:[f.length>0&&r.jsx(Tg,{chips:f,expanded:c.expanded,controls:i,onExpand:c.toggleExpanded}),r.jsx(fe,{initial:!1,children:h.map(x=>r.jsx(Ma,{chip:x,onOpen:u,animated:!0,pulseUpgrade:a.shouldPulse(x.key,x.upgraded),onUpgradeSeen:a.acknowledge},x.key))})]},"live"):r.jsxs(K.div,{"data-testid":"chip-summary-line",role:"group","aria-label":Lg(d),initial:{opacity:0},animate:{opacity:1},transition:s?Jt:Cr,className:"text-muted-foreground flex flex-wrap items-center gap-x-1.5 gap-y-1 text-xs",children:[d.map((x,g)=>r.jsxs(l.Fragment,{children:[g>0&&r.jsx("span",{"aria-hidden":"true",children:"·"}),r.jsx(zg,{verb:x.verb,count:x.chips.length,additions:x.additions,deletions:x.deletions})]},x.verb)),r.jsx("span",{"aria-hidden":"true",children:"·"}),r.jsx("button",{type:"button","aria-expanded":c.expanded,"aria-controls":i,onClick:c.toggleExpanded,className:H("hover:text-foreground rounded-sm underline underline-offset-2","focus-visible:ring-ring outline-none focus-visible:ring-2"),children:c.expanded?"hide":"show all"})]},"settled")}),c.expanded&&r.jsx(Og,{id:i,chips:o,onOpen:u,verbFilter:c.verbFilter,onVerbFilterChange:c.setVerbFilter,order:c.order,onOrderChange:c.setOrder})]})}function Nr(e){return e.type==="thinking"?!0:e.type==="tool_call"&&!e.interactiveType&&!Jo(e.toolName)&&!Ln(e.toolName)}function qg({message:e}){const{sessionId:t,isStreaming:n,isLatestWidgetMessage:s,isFinalMessage:o,activeToolCallId:a,onToolRef:i,focusedOptionIndex:c,onToolDecided:u,onRetry:d,onSigninComplete:m,onChooseModel:h,inputZoneToolCallId:f,textEffect:x,runtimeLabel:g,allowsDenyReason:S}=wp(),b=ce(C=>C.expandToolCalls),k=ce(C=>C.autoHideToolCalls),v=e.parts??[],{sent:y}=ba(t),p=l.useCallback(C=>{i==null||i(C)},[i]),j=l.useCallback(C=>{i==null||i(C)},[i]),_=Ih(v.map(C=>C.type==="tool_call"&&Ln(C.toolName)?{...C,interactiveType:void 0}:C));let D=-1;for(let C=v.length-1;C>=0;C--)if(v[C].type==="text"){D=C;break}function A(C,E){if(C.type==="text")return r.jsx("div",{className:"msg-prose",children:r.jsx(gs,{content:C.text,isStreaming:n&&E===D,textEffect:x,sessionId:t,isLatestWidgetMessage:s})},`text-${E}`);if(C.type==="background_task")return r.jsx(Bp,{part:C},C.taskId);if(C.type==="error"&&C.code===vo)return r.jsx(Lh,{message:C.message},`unreadable-${E}`);if(C.type==="error")return r.jsx(on,{message:C.message,category:C.category,details:C.details,code:C.code,reason:C.reason,at:e.timestamp,onRetry:o&&C.category!==void 0?d:void 0,onSigninComplete:m,onChooseModel:h,runtimeLabel:g,sessionId:t},`error-${E}`);if(C.type==="thinking")return r.jsx(Qh,{part:C,autoHide:k,index:E},`thinking-${E}`);if(C.type==="elicitation")return r.jsx(Qd,{sessionId:t,interactionId:C.interactionId,serverName:C.serverName,message:C.message,mode:C.mode,url:C.url,requestedSchema:C.requestedSchema,status:C.status,action:C.action},`elicitation-${C.interactionId}`);if(C.type==="memory_recall")return r.jsx(Tp,{mode:C.mode,memories:C.memories,isStreaming:C.isStreaming??!1},`memory-recall-${E}`);if(C.type==="permission_denied")return r.jsx(Fh,{toolName:C.toolName,reasonType:C.reasonType,reason:C.reason,message:C.message,agentId:C.agentId},`permission-denied-${C.toolCallId}-${E}`);if(C.type==="model_substituted")return r.jsx(Uh,{fromName:C.fromName,toName:C.toName},`model-substituted-${E}`);if(C.type==="compact_boundary")return r.jsx(Op,{trigger:C.trigger,preTokens:C.preTokens,postTokens:C.postTokens,failed:C.failed,error:C.error,requestedBy:C.requestedBy,contextPercent:C.contextPercent},`compact-boundary-${E}`);if(C.type==="capability_approval")return C.outcome==="timeout"?r.jsx(zh,{title:Rl(C.approval)},`capability-approval-${C.approval.approvalId}`):r.jsx(Ml,{approval:C.approval},`capability-approval-${C.approval.approvalId}`);if(C.type==="mcp_signin")return r.jsx(qh,{part:C},`mcp-signin-${C.agentId}-${C.flowId}`);if(C.type==="image")return r.jsx(Ip,{part:C},`image-${C.attachmentId}-${E}`);if(C.type!=="tool_call")return null;const w=C;if(w.interactiveType==="approval"&&w.status==="pending"){if(w.toolCallId===f)return r.jsx(or,{type:"approval",toolName:w.toolName,toolInput:w.input},w.toolCallId);const M=w.toolCallId===a;return r.jsx(Xo,{ref:M?p:void 0,sessionId:t,toolCallId:w.toolCallId,toolName:w.toolName,input:w.input||"",timeoutMs:w.timeoutMs,approvalStartedAt:w.approvalStartedAt,approvalRemainingMs:w.approvalRemainingMs,approvalParked:w.approvalParked,approvalTitle:w.approvalTitle,approvalDisplayName:w.approvalDisplayName,approvalDescription:w.approvalDescription,approvalBlockedPath:w.approvalBlockedPath,approvalDecisionReason:w.approvalDecisionReason,approvalHasSuggestions:w.approvalHasSuggestions,approvalAlwaysAllowScope:w.approvalAlwaysAllowScope,isActive:M,onDecided:u?()=>u(w.toolCallId):void 0,allowsDenyReason:S},w.toolCallId)}const R=_.get(E);if(R){if(R.leadIndex!==E)return null;const M=R.indices.map(F=>v[F]).filter(F=>F.type==="tool_call");return r.jsx(sf,{outcome:R.outcome,reasonGiven:R.reasonGiven,members:M,lead:w,children:M.map(F=>r.jsx(Dn,{part:F,sessionId:t,autoHide:k,expandToolCalls:b},F.toolCallId))},`approval-receipt-${w.toolCallId}`)}if(w.interactiveType==="question"){if(w.toolCallId===f)return r.jsx(or,{type:"question",toolName:w.toolName,toolInput:w.input},w.toolCallId);const M=w.toolCallId===a;return r.jsx(Co,{ref:M?j:void 0,sessionId:t,toolCallId:w.toolCallId,questions:w.questions??[],answers:w.answers??($h(w)?{}:void 0),outcome:Ph(w),result:w.result,isActive:M,focusedOptionIndex:M?c:-1,onDecided:u?F=>u(w.toolCallId,F):void 0},w.toolCallId)}return Ln(w.toolName)?r.jsx(gp,{part:w,sent:y,...e.timestamp?{at:e.timestamp}:{},...t?{sessionId:t}:{}},w.toolCallId):Jo(w.toolName)?r.jsx(af,{sessionId:t,input:w.input,result:w.result,fallback:r.jsx(Dn,{part:w,sessionId:t,autoHide:k,expandToolCalls:b})},w.toolCallId):r.jsx(Dn,{part:w,sessionId:t,autoHide:k,expandToolCalls:b},w.toolCallId)}const N=[];let T=[];for(let C=0;C<v.length;C++){const E=v[C];Nr(E)?T.push(C):(T.length>0&&(N.push(T.length===1?{type:"single",index:T[0]}:{type:"run",indices:[...T]}),T=[]),N.push({type:"single",index:C}))}return T.length>0&&N.push(T.length===1?{type:"single",index:T[0]}:{type:"run",indices:[...T]}),r.jsxs(r.Fragment,{children:[N.map(C=>{if(C.type==="single"){const w=v[C.index];return Nr(w)?r.jsx("div",{className:"my-3",children:A(w,C.index)},`spacer-${C.index}`):A(w,C.index)}const E=C.indices.map(w=>A(v[w],w));return r.jsx("div",{className:"my-3",children:r.jsx(Xh,{children:E})},`run-${C.indices[0]}`)}),r.jsx(Bg,{parts:v,sessionId:t,turnActive:e._streaming===!0})]})}const Ug=/^Please read the following uploaded file\(s\):\n((?:- .+\n)+)\n?/,Hg=/^[a-f0-9]{8}-/,Wg=new Set(["png","jpg","jpeg","gif","webp","svg"]);function Gg(e){const t=e.match(Ug);if(!t)return{files:[],textContent:e};const s=t[1].split(`
|
|
50
|
+
`).filter(a=>a.startsWith("- ")).map(a=>{var m;const i=a.slice(2).trim(),u=(i.split("/").pop()??i).replace(Hg,""),d=((m=u.split(".").pop())==null?void 0:m.toLowerCase())??"";return{path:i,displayName:u,isImage:Wg.has(d)}}),o=e.slice(t[0].length).trim();return{files:s,textContent:o}}function Vg(e){var n;switch(((n=e.split(".").pop())==null?void 0:n.toLowerCase())??""){case"txt":case"md":case"log":return ud;case"ts":case"tsx":case"js":case"jsx":case"json":case"py":case"rs":case"go":return ld;case"csv":case"xls":case"xlsx":return kd;case"png":case"jpg":case"jpeg":case"gif":case"webp":case"svg":return yd;default:return Po}}function Kg({files:e}){const t=ce(n=>n.selectedCwd);return e.length===0?null:r.jsx("div",{className:"flex flex-wrap gap-1.5 pb-1.5",children:e.map(n=>{const s=n.path.split("/").pop()??n.path;if(n.isImage){const a=`/api/uploads/${encodeURIComponent(s)}?cwd=${encodeURIComponent(t??"")}`;return r.jsx(K.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.15},children:r.jsx(fo,{image:{src:a,alt:n.displayName,downloadName:n.displayName},className:"block rounded-lg",children:r.jsx("img",{src:a,alt:n.displayName,loading:"lazy",className:"border-border/50 max-h-[120px] max-w-[200px] rounded-lg border object-contain"})})},n.path)}const o=Vg(n.displayName);return r.jsxs(K.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.15},className:"bg-muted flex items-center gap-1 rounded-md px-2 py-1 text-xs",children:[r.jsx(o,{className:"text-muted-foreground size-3 shrink-0"}),r.jsx("span",{className:"max-w-40 truncate",children:n.displayName})]},n.path)})})}function Qg({message:e}){var i;const t=(i=Np())==null?void 0:i.sessionId,[n,s]=l.useState(!1),o=l.useMemo(()=>Gg(e.content),[e.content]),a=l.useMemo(()=>kf(e.content),[e.content]);if(a)return r.jsx(bf,{action:a});if(e.chatMessages&&e.chatMessages.length>0)return r.jsx(up,{stamps:e.chatMessages,...t?{sessionId:t}:{}});if(e.messageType==="command")return r.jsx("div",{className:"text-msg-command-fg font-mono text-sm break-words",children:e.content});if(e.messageType==="local_command_output")return r.jsx(_a,{content:e.content,toolName:""});if(e.messageType==="compaction"){const c=Rp(e.compactMetadata),u=e.content.trim(),d=r.jsx("div",{className:"bg-border/40 h-px flex-1"});return u.length===0?r.jsxs("div",{"data-testid":"compaction-row",className:"text-msg-compaction-fg flex w-full items-center gap-2 text-xs",children:[d,r.jsx("span",{children:c}),d]}):r.jsxs("div",{className:"w-full","data-testid":"compaction-row",children:[r.jsxs("button",{onClick:()=>s(!n),className:"text-msg-compaction-fg flex w-full items-center gap-2 text-xs",children:[d,r.jsx(us,{className:H("size-3 transition-transform duration-200",n&&"rotate-90")}),r.jsx("span",{children:c}),d]}),n&&r.jsx("div",{className:"text-msg-compaction-fg mt-2 text-xs whitespace-pre-wrap",children:e.content})]})}return r.jsxs("div",{children:[o.files.length>0&&r.jsx(Kg,{files:o.files}),o.textContent&&r.jsx("div",{className:"break-words whitespace-pre-wrap",children:o.textContent})]})}function Yg({tasks:e,isCollapsed:t,onToggleCollapse:n}){const s=e.length,o=e.filter(c=>c.status==="completed").length,a=o===s&&s>0,i=s>0?o/s*100:0;return r.jsxs("button",{onClick:n,className:"text-muted-foreground hover:text-foreground flex w-full items-center gap-2 text-xs",children:[t?r.jsx(us,{className:"size-(--size-icon-xs) shrink-0"}):r.jsx(Tt,{className:"size-(--size-icon-xs) shrink-0"}),r.jsx("div",{className:"bg-muted h-0.5 flex-1 overflow-hidden rounded-full",children:r.jsx("div",{"data-slot":"progress-fill",className:`h-full rounded-full transition-[width,background-color] duration-300 ease-out ${a?"bg-green-500":"bg-blue-500"}`,style:{width:`${i}%`}})}),r.jsxs("span",{className:"shrink-0 tabular-nums",children:[o,"/",s," ",s===1?"task":"tasks"]})]})}function Xg({activeForm:e,isCollapsed:t}){return r.jsx(fe,{children:e&&!t&&r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mb-1 flex items-center gap-2 text-xs text-blue-400",children:[r.jsx(Le,{size:"xs",className:"shrink-0"}),r.jsx("span",{className:"truncate",children:e})]})})}const Jg={in_progress:"",pending:"waiting ",completed:"done "};function Er({tasks:e,onScrollToTask:t}){return r.jsx(r.Fragment,{children:e.map((n,s)=>r.jsxs("span",{children:[r.jsx("button",{onClick:o=>{o.stopPropagation(),t(n.id)},className:"hover:text-foreground underline decoration-dotted",children:n.subject}),s<e.length-1&&", "]},n.id))})}function Zg({task:e,taskMap:t,statusSince:n,onScrollToTask:s}){var d,m;const o=Lo(n),a=Jg[e.status]??"",i=((d=e.blockedBy)==null?void 0:d.map(h=>t.get(h)).filter(h=>h!=null))??[],c=((m=e.blocks)==null?void 0:m.map(h=>t.get(h)).filter(h=>h!=null))??[],u=[];return n!==null&&u.push(r.jsxs("span",{children:[a,o.formatted]},"time")),e.owner&&u.push(r.jsx("span",{children:e.owner},"owner")),i.length>0&&u.push(r.jsxs("span",{className:"inline-flex items-center gap-1",children:["← ",r.jsx(Er,{tasks:i,onScrollToTask:s})]},"blocked-by")),c.length>0&&u.push(r.jsxs("span",{className:"inline-flex items-center gap-1",children:["→ ",r.jsx(Er,{tasks:c,onScrollToTask:s})]},"blocks")),r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mt-0.5 ml-6 space-y-1",children:[e.description&&r.jsx("p",{className:"text-muted-foreground text-xs whitespace-pre-wrap",children:e.description}),u.length>0&&r.jsx("div",{className:"text-muted-foreground text-2xs flex flex-wrap items-center gap-1",children:u.map((h,f)=>r.jsxs("span",{className:"flex items-center gap-1",children:[f>0&&r.jsx("span",{className:"text-muted-foreground/50",children:"·"}),h]},f))})]})}const Dr={in_progress:r.jsx(Le,{size:"xs",className:"text-status-info shrink-0"}),pending:r.jsx(Ol,{className:"text-muted-foreground size-(--size-icon-xs) shrink-0"}),completed:r.jsx(ko,{className:"text-status-success size-(--size-icon-xs) shrink-0"})};function ex({task:e,isBlocked:t,isExpanded:n,onToggleExpand:s,onHover:o,isHighlightedAsDep:a,isHighlightedAsDependent:i,taskMap:c,statusSince:u,isCelebrating:d,onCelebrationComplete:m,onScrollToTask:h}){const f=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),s())};return r.jsxs(K.li,{"data-task-id":e.id,children:[r.jsxs("div",{role:"button",tabIndex:0,"aria-expanded":n,"data-task-id":e.id,onClick:s,onKeyDown:f,onMouseEnter:()=>o(e.id),onMouseLeave:()=>o(null),className:H("hover:bg-muted/40 focus-visible:bg-muted/40 relative flex items-center gap-2 rounded py-0.5 text-xs transition-colors",e.status==="completed"&&"text-muted-foreground/50 line-through",e.status==="in_progress"&&"text-foreground font-medium",e.status==="pending"&&!t&&"text-muted-foreground",e.status==="pending"&&t&&"text-muted-foreground/50",a&&"border-l-2 border-blue-400 pl-1.5",i&&"border-l-2 border-amber-400 pl-1.5",!a&&!i&&"border-l-2 border-transparent pl-1.5"),children:[d&&r.jsx(K.div,{"aria-hidden":"true",className:"absolute inset-0 rounded",initial:{backgroundPosition:"-200% 0"},animate:{backgroundPosition:"200% 0"},transition:{duration:.4,ease:"easeOut"},style:{backgroundImage:"linear-gradient(90deg, transparent 0%, rgba(255,215,0,0.2) 50%, transparent 100%)",backgroundSize:"200% 100%"}}),d?r.jsx(K.span,{initial:{scale:1},animate:{scale:[1,1.4,1]},transition:{type:"spring",stiffness:400,damping:10},onAnimationComplete:()=>m==null?void 0:m(),children:Dr[e.status]}):Dr[e.status],r.jsx("span",{className:"truncate",children:e.subject})]}),r.jsx(fe,{children:n&&r.jsx(Zg,{task:e,taskMap:c,statusSince:u,onScrollToTask:h})})]})}function tx(e,t){var n;return(n=e.blockedBy)!=null&&n.length?e.blockedBy.some(s=>{const o=t.get(s);return o&&o.status!=="completed"}):!1}const nx=10,sx="max-h-[30svh] sm:max-h-[40svh]";function rx({tasks:e,taskMap:t,activeForm:n,isCollapsed:s,onToggleCollapse:o,celebratingTaskId:a,onCelebrationComplete:i,statusTimestamps:c}){const[u,d]=l.useState(null),[m,h]=l.useState(null),f=l.useCallback(b=>{d(k=>k===b?null:b)},[]),x=l.useCallback(b=>{const k=document.querySelector(`[data-task-id="${b}"]`);k&&(k.scrollIntoView({behavior:"smooth",block:"nearest"}),k.classList.add("bg-blue-500/10"),setTimeout(()=>k.classList.remove("bg-blue-500/10"),1e3))},[]);if(e.length===0)return null;const g=e.slice(0,nx),S=m?t.get(m):null;return r.jsxs("div",{className:"border-t px-4 py-2",children:[r.jsx(Xg,{activeForm:n,isCollapsed:s}),r.jsx(Yg,{tasks:e,isCollapsed:s,onToggleCollapse:o}),r.jsx(fe,{children:!s&&r.jsx(K.ul,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:H("mt-1 space-y-0.5 overflow-y-auto",sx),children:g.map(b=>{var _,D;const k=b.id===a&&b.status==="completed",v=tx(b,t),y=c.get(b.id),p=((_=S==null?void 0:S.blockedBy)==null?void 0:_.includes(b.id))??!1,j=((D=S==null?void 0:S.blocks)==null?void 0:D.includes(b.id))??!1;return r.jsx(ex,{task:b,isBlocked:v,isExpanded:u===b.id,onToggleExpand:()=>f(b.id),onHover:h,isHighlightedAsDep:p,isHighlightedAsDependent:j,taskMap:t,statusSince:(y==null?void 0:y.since)??null,isCelebrating:k,onCelebrationComplete:i,onScrollToTask:x},b.id)})})})]})}function ox({color:e}){const t=[{bx:"-8px",by:"-10px",delay:"0s"},{bx:"8px",by:"-8px",delay:"0.03s"},{bx:"-6px",by:"6px",delay:"0.06s"},{bx:"10px",by:"4px",delay:"0.09s"},{bx:"0px",by:"-12px",delay:"0.04s"},{bx:"-10px",by:"0px",delay:"0.07s"},{bx:"6px",by:"10px",delay:"0.05s"},{bx:"-4px",by:"-6px",delay:"0.08s"}];return r.jsx("div",{className:"pointer-events-none absolute inset-0",children:t.map((n,s)=>r.jsx("span",{className:"absolute top-1/2 left-1/2 size-[3px] rounded-full",style:{backgroundColor:e,"--bx":n.bx,"--by":n.by,animation:`burst-particle 0.5s ease-out ${n.delay} forwards`}},s))})}const ax=350;function ix({status:e,color:t}){return r.jsxs("svg",{className:"check-appear h-6 w-[22px]",viewBox:"0 0 22 24","data-status":e,children:[r.jsx("circle",{cx:"11",cy:"12",r:"7",fill:"none",stroke:t,strokeWidth:"1.5",opacity:"0.3"}),e==="error"&&r.jsxs(r.Fragment,{children:[r.jsx("line",{x1:"8",y1:"9",x2:"14",y2:"15",stroke:t,strokeWidth:"2",strokeLinecap:"round"}),r.jsx("line",{x1:"14",y1:"9",x2:"8",y2:"15",stroke:t,strokeWidth:"2",strokeLinecap:"round"})]}),e==="untracked"&&r.jsx("line",{x1:"8",y1:"12",x2:"14",y2:"12",stroke:t,strokeWidth:"2",strokeLinecap:"round",opacity:"0.5"}),e!=="error"&&e!=="untracked"&&r.jsx("polyline",{points:"7,12 10,15 15,9",fill:"none",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]})}function lx({agent:e,index:t}){const n=l.useMemo(()=>({animationDelay:`${t*.09}s`}),[t]),[s,o]=l.useState(e.status==="running"?"running":"done"),a=l.useRef(e.status),i=l.useRef(null);return l.useEffect(()=>{const c=a.current;if(a.current=e.status,c==="running"&&e.status!=="running"){o("celebrating"),i.current=setTimeout(()=>o("done"),ax);return}c!=="running"&&e.status==="running"&&(i.current&&clearTimeout(i.current),i.current=null,o("running"))},[e.status]),l.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]),s==="done"?r.jsx("div",{className:"relative inline-flex",children:r.jsx(ix,{status:e.status,color:e.color})}):r.jsxs("div",{className:"group relative inline-flex",children:[r.jsx("svg",{className:"h-6 w-[22px] shrink-0",style:{"--c":e.color},viewBox:"0 0 22 24","aria-label":e.description,children:r.jsxs("g",{className:"r-all",style:n,children:[r.jsx("circle",{cx:"11",cy:"4.5",r:"2.8",fill:"var(--c)"}),r.jsx("circle",{cx:"12.3",cy:"3.7",r:"0.6",fill:"hsl(0 0% 100% / 0.7)"}),r.jsx("ellipse",{cx:"11",cy:"10.5",rx:"2.5",ry:"3.5",fill:"var(--c)"}),r.jsxs("g",{className:"r-rua",style:n,children:[r.jsx("line",{x1:"12",y1:"9",x2:"14",y2:"11",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-rfa",style:n,children:r.jsx("line",{x1:"14",y1:"11",x2:"14.5",y2:"13",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-lua",style:n,children:[r.jsx("line",{x1:"10",y1:"9",x2:"8",y2:"11",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-lfa",style:n,children:r.jsx("line",{x1:"8",y1:"11",x2:"7.5",y2:"13",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-rt",style:n,children:[r.jsx("line",{x1:"11",y1:"14",x2:"13",y2:"17",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-rs",style:n,children:r.jsx("line",{x1:"13",y1:"17",x2:"13.5",y2:"21",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]}),r.jsxs("g",{className:"r-lt",style:n,children:[r.jsx("line",{x1:"11",y1:"14",x2:"9",y2:"17",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"}),r.jsx("g",{className:"r-ls",style:n,children:r.jsx("line",{x1:"9",y1:"17",x2:"8.5",y2:"21",stroke:"var(--c)",strokeWidth:"1.8",strokeLinecap:"round"})})]})]})}),s==="celebrating"&&r.jsx(ox,{color:e.color}),s==="running"&&r.jsxs("div",{"data-testid":"agent-runner-tooltip",className:H("pointer-events-none absolute bottom-[calc(100%+8px)] left-1/2 hidden","-translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,translate] duration-150","group-hover:translate-y-0 group-hover:opacity-100","border-border bg-popover z-10 rounded-lg border px-3 py-2 whitespace-nowrap","text-foreground text-2xs shadow-lg md:block"),children:[r.jsxs("div",{className:"mb-0.5 flex items-center gap-1.5 font-semibold",children:[r.jsx("div",{className:"size-1.5 shrink-0 rounded-full",style:{backgroundColor:e.color}}),e.description]}),r.jsxs("div",{className:"text-muted-foreground text-3xs font-mono",children:[e.toolUses??0," tool calls · ",Math.round((e.durationMs??0)/1e3),"s"]}),e.lastToolName&&r.jsxs("div",{className:"text-muted-foreground/60 text-3xs mt-0.5 font-mono",children:["Last: ",e.lastToolName]}),r.jsx("div",{className:"border-t-border absolute top-full left-1/2 -translate-x-1/2 border-5 border-transparent"})]})]})}function cx({bashTasks:e}){const t=Fe(),n=e.filter(o=>o.taskType==="bash"),s=n.length;return s===0?null:r.jsxs("div",{role:"status","aria-live":"polite","aria-label":`${s} bash task${s!==1?"s":""} running`,className:"flex items-center gap-1.5",children:[r.jsx(fe,{mode:"popLayout",children:n.map(o=>r.jsxs(K.div,{initial:{scale:0,opacity:0},animate:{scale:1,opacity:1},exit:{scale:0,opacity:0},transition:{duration:.25},className:"relative flex size-3 items-center justify-center",children:[o.status==="running"&&!t&&r.jsx("span",{className:"task-dot-tasks absolute inset-0 rounded-full opacity-40",style:{backgroundColor:o.color,animation:"task-dot-tasks 2s ease-in-out infinite"}}),r.jsx("span",{className:"relative size-1.5 rounded-full",style:{backgroundColor:o.color}})]},o.taskId))}),r.jsxs("span",{className:"text-muted-foreground text-xs whitespace-nowrap",children:[s," task",s!==1?"s":""]})]})}const ux=3e3;function dx({taskType:e,onConfirm:t}){const[n,s]=l.useState(!1),o=l.useRef(null);l.useEffect(()=>()=>{o.current&&clearTimeout(o.current)},[]),l.useEffect(()=>{if(n)return o.current=setTimeout(()=>{s(!1)},ux),()=>{o.current&&clearTimeout(o.current)}},[n]);const a=l.useCallback(()=>{if(e==="bash"){t();return}n?(o.current&&clearTimeout(o.current),s(!1),t()):s(!0)},[e,n,t]),i=l.useCallback(c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),a())},[a]);return r.jsx("button",{onClick:a,onKeyDown:i,className:H("flex shrink-0 items-center justify-center rounded transition-colors duration-150","focus-visible:ring-ring focus-visible:ring-2 focus-visible:ring-offset-1",n?"bg-destructive/5 text-destructive hover:bg-destructive/10 text-3xs px-1.5 py-0.5 font-medium":"text-muted-foreground/40 hover:text-destructive size-4"),"aria-label":n?"Press again to stop task":"Stop task",tabIndex:0,children:n?"Stop?":r.jsx(qe,{className:"size-3"})})}function Tr({task:e,onStop:t}){const n=e.taskType==="agent"?e.description??"Background agent":e.command??"Background task",s=e.durationMs?Math.round(e.durationMs/1e3):0,o=e.status==="running";return r.jsxs("div",{className:H("flex items-center gap-2 rounded-md px-2 py-1 text-xs",o?"bg-muted":"bg-muted/50 opacity-60"),children:[r.jsx("span",{className:"size-2 shrink-0 rounded-full",style:{backgroundColor:e.color}}),r.jsx("span",{className:"text-muted-foreground/60 text-3xs shrink-0 tracking-wider uppercase",children:e.taskType}),r.jsx("span",{className:"text-foreground min-w-0 flex-1 truncate",children:n}),e.taskType==="agent"&&e.toolUses!==void 0&&e.toolUses>0&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs shrink-0 font-mono",children:[e.toolUses," tools"]}),e.taskType==="agent"&&e.lastToolName&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs hidden max-w-24 shrink-0 truncate font-mono md:inline",children:["Last: ",e.lastToolName]}),s>0&&r.jsxs("span",{className:"text-muted-foreground/60 text-3xs shrink-0 font-mono",children:[s,"s"]}),o&&r.jsx(dx,{taskType:e.taskType,onConfirm:t})]})}function fx({tasks:e,ambientTasks:t=[],onStopTask:n}){return r.jsx(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"border-border overflow-hidden border-t px-2 py-1.5",children:r.jsxs("div",{className:"flex flex-col gap-1",children:[e.map(s=>r.jsx(Tr,{task:s,onStop:()=>n(s.taskId)},s.taskId)),t.length>0&&r.jsxs(r.Fragment,{children:[r.jsxs("p",{className:"text-muted-foreground/60 text-3xs mt-1 px-2",children:[t.length," housekeeping task",t.length!==1?"s":""," the agent runs for itself"]}),t.map(s=>r.jsx(Tr,{task:s,onStop:()=>n(s.taskId)},s.taskId))]})]})})}const Qn=4;function mx(e){return e==="stopped"?"complete":e}const px="relative after:absolute after:-inset-x-1 after:-inset-y-2.5 md:after:hidden",Oa=[.16,1,.3,1],hx={width:{duration:.4,ease:Oa},opacity:{duration:.25}};function gx({tasks:e,onStopTask:t}){const[n,s]=l.useState(!1),o=Fe(),{shown:a,ambient:i}=Uc(e),c=a.filter(b=>b.taskType==="agent"),u=a.filter(b=>b.taskType==="bash"),d=a.length,m=c.slice(0,Qn),h=c.length-Qn,f=c.reduce((b,k)=>b+(k.toolUses??0),0),x=Math.max(0,...a.map(b=>Math.round((b.durationMs??0)/1e3))),g=o?{duration:0}:{duration:.35,ease:Oa},S=d>0;return r.jsx(fe,{children:(d>0||i.length>0)&&r.jsxs(K.div,{...S?{role:"status","aria-live":"polite","aria-label":`${d} background task${d!==1?"s":""} running`}:{role:"group","aria-label":"Background tasks"},initial:{opacity:0,y:6,maxHeight:0},animate:{opacity:1,y:0,maxHeight:n?400:44},exit:{opacity:0,maxHeight:0},transition:g,className:"border-border bg-card overflow-hidden rounded-lg border",children:[r.jsxs("div",{className:"flex min-h-9 items-center gap-2 px-2 py-1.5",children:[c.length>0&&r.jsx(xx,{visibleAgents:m,overflowAgentCount:h,allAgentTasks:c}),c.length>0&&u.length>0&&r.jsx("div",{className:"bg-border h-4 w-px shrink-0"}),u.length>0&&r.jsx(cx,{bashTasks:u}),d>0&&r.jsxs(r.Fragment,{children:[r.jsxs("span",{className:"text-muted-foreground text-xs whitespace-nowrap",children:[r.jsx("strong",{className:"text-foreground font-semibold",children:d})," task",d!==1?"s":""," running"]}),r.jsxs("span",{className:"text-muted-foreground/60 text-2xs ml-auto font-mono whitespace-nowrap",children:[f>0&&r.jsxs(r.Fragment,{children:[f," tools · "]}),x,"s"]})]}),r.jsxs("button",{type:"button",onClick:()=>s(b=>!b),className:H("text-muted-foreground hover:text-foreground flex shrink-0 items-center gap-1 transition-colors duration-150",d>0?"ml-1":"ml-auto",px),"aria-label":n?"Collapse task details":"Expand task details","aria-expanded":n,children:[d>0&&r.jsx("span",{className:"text-3xs tabular-nums",children:d}),r.jsx(Tt,{className:H("size-3.5 transition-transform duration-200",n&&"rotate-180")})]})]}),r.jsx(fe,{children:n&&r.jsx(fx,{tasks:a,ambientTasks:i,onStopTask:t})})]},"background-task-bar")})}function xx({visibleAgents:e,overflowAgentCount:t,allAgentTasks:n}){return r.jsxs("div",{className:"flex items-center gap-0",children:[r.jsx(fe,{mode:"popLayout",children:e.map((s,o)=>r.jsx(K.div,{initial:{width:0,opacity:0},animate:{width:22,opacity:1},exit:{width:0,opacity:0},transition:hx,className:"shrink-0",children:r.jsx(lx,{agent:{taskId:s.taskId,description:s.description??"",status:mx(s.status),color:s.color,toolUses:s.toolUses,lastToolName:s.lastToolName,durationMs:s.durationMs,summary:s.summary},index:o})},s.taskId))}),t>0&&r.jsx(bx,{count:t,overflowTasks:n.slice(Qn)})]})}function bx({count:e,overflowTasks:t}){return r.jsxs("div",{className:"group relative",children:[r.jsxs("div",{className:"text-muted-foreground bg-muted text-3xs flex size-6 shrink-0 items-center justify-center rounded-full font-semibold","aria-label":`${e} more helper${e===1?"":"s"} running`,children:["+",e]}),r.jsxs("div",{"data-testid":"overflow-badge-tooltip",className:H("pointer-events-none absolute bottom-[calc(100%+8px)] left-1/2 hidden","-translate-x-1/2 translate-y-1 opacity-0 transition-[opacity,translate] duration-150","group-hover:translate-y-0 group-hover:opacity-100","border-border bg-popover z-10 rounded-lg border px-3 py-2 whitespace-nowrap","text-foreground text-2xs shadow-lg md:block"),children:[t.map(n=>r.jsxs("div",{className:"flex items-center gap-1.5 py-0.5",children:[r.jsx("div",{className:"size-1.5 shrink-0 rounded-full",style:{backgroundColor:n.color}}),r.jsx("span",{className:"text-3xs",children:n.description})]},n.taskId)),r.jsx("div",{className:"border-t-border absolute top-full left-1/2 -translate-x-1/2 border-5 border-transparent"})]})]})}const An="after:absolute after:-inset-1 md:after:hidden";function yx({queue:e,editingId:t,onEdit:n,onRemove:s,onSend:o,onMoveUp:a,statusNote:i,onSwitchNow:c}){return e.length===0?null:r.jsxs(K.div,{variants:He,initial:"initial",animate:"animate",exit:"exit",transition:Ue,className:"mb-1.5 overflow-hidden",children:[r.jsxs("div",{className:"text-muted-foreground mb-1 flex items-baseline gap-1 text-xs",children:[r.jsxs("span",{className:"font-medium",children:["Queued (",e.length,")"]}),r.jsxs("span",{className:"truncate",children:["· ",i]})]}),r.jsx("div",{className:"space-y-0.5",children:r.jsx(fe,{mode:"popLayout",children:e.map((u,d)=>r.jsx(K.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0,transition:{type:"spring",stiffness:320,damping:28}},exit:{opacity:0,scale:.95,transition:{duration:.15}},layout:!0,children:r.jsxs("div",{className:H("group flex w-full items-center gap-2 rounded-md border-l-2 border-l-transparent pr-2 transition-colors md:gap-1",t===u.id?"border-l-primary bg-muted":"hover:bg-muted/50"),children:[r.jsxs("button",{type:"button",onClick:()=>n(u.id),"aria-current":t===u.id?!0:void 0,className:"focus-ring flex min-w-0 flex-1 items-center gap-2 rounded-md py-1.5 pl-3 text-left",children:[r.jsxs("span",{className:"text-muted-foreground shrink-0 text-xs font-medium",children:[d+1,"."]}),r.jsxs("span",{className:"min-w-0 flex-1",children:[r.jsx("span",{className:"text-muted-foreground line-clamp-1 text-sm",children:u.content}),u.notice!==null&&r.jsx("span",{className:"text-muted-foreground/70 line-clamp-1 text-xs",children:u.notice}),u.waiting!==void 0&&r.jsx("span",{className:"text-muted-foreground/70 line-clamp-1 text-xs",children:u.waiting.line})]}),!u.mine&&r.jsxs("span",{className:"text-muted-foreground/60 flex shrink-0 items-center",title:"Queued from another window",children:[r.jsx(Bn,{className:"size-3","aria-hidden":"true"}),r.jsx("span",{className:"sr-only",children:"Queued from another window"})]})]}),u.waiting!==void 0&&c!==void 0&&r.jsxs(r.Fragment,{children:[r.jsx("button",{type:"button",onClick:c,title:u.waiting.switchHint,"aria-describedby":`switch-now-${u.id}`,className:"focus-ring text-muted-foreground hover:text-foreground shrink-0 rounded-sm px-1.5 py-1 text-xs font-medium transition-colors",children:"Switch now"}),r.jsx("span",{id:`switch-now-${u.id}`,className:"sr-only",children:u.waiting.switchHint})]}),d>0&&r.jsx("button",{type:"button",onClick:()=>a(u.id),className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-visible:opacity-100",An),"aria-label":`Move queued message ${d+1} earlier`,children:r.jsx(Il,{className:"size-3"})}),d>0&&r.jsx("button",{type:"button",onClick:()=>o(u.id),"aria-label":`Send queued message ${d+1} next`,className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm transition-colors",An),children:r.jsx(qu,{className:"size-3"})}),r.jsx("button",{type:"button",onClick:()=>s(u.id),className:H("focus-ring text-muted-foreground hover:text-foreground relative flex size-6 shrink-0 items-center justify-center rounded-sm opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:focus-visible:opacity-100",An),"aria-label":`Remove queued message ${d+1}`,children:r.jsx(qe,{className:"size-3"})})]})},u.id))})})]})}function kx({open:e,onOpenChange:t,queuedCount:n,onConfirm:s}){const o=n===1?"message":"messages";return r.jsx($l,{open:e,onOpenChange:t,children:r.jsxs(Pl,{children:[r.jsxs(Ll,{children:[r.jsxs(zl,{children:["Stop, and put ",n," queued ",o," back?"]}),r.jsxs(Bl,{children:["The agent stops. Your ",o," ",n===1?"goes":"go"," back to the composer."]})]}),r.jsxs(ql,{children:[r.jsx(Ul,{children:"Keep going"}),r.jsx(Hl,{onClick:s,children:"Stop"})]})]})})}const vx={initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4}},Cx={duration:.3,ease:"easeInOut"};function Sx({text:e,animationKey:t}){return r.jsx("div",{className:"pointer-events-none absolute inset-0 flex items-start overflow-hidden py-0.5",children:r.jsx(fe,{mode:"wait",children:r.jsx(K.span,{variants:vx,initial:"initial",animate:"animate",exit:"exit",transition:Cx,className:"text-muted-foreground truncate text-sm",children:e},t)})})}function jx(e){const t=ke();return Ye({queryKey:["workspace-for-session",e??null],queryFn:()=>t.resolveWorkspace(e),enabled:!!e}).data??null}async function Ia(e,t,n){try{return await e.runCommandIntent(t,"compact",n),!0}catch(s){const o=s.code==="SESSION_LOCKED";return Ae.error(o?"Your agent is busy. Try again in a moment.":"Couldn’t compact the chat."),!1}}const Yn=os(e=>({open:!1,setOpen:t=>e({open:t}),reveal:()=>e({open:!0})})),_x=200,Xn=[{name:"rename",description:"Rename the current chat",argHint:"<new title>",run:(e,t)=>{const n=e.replace(/\s+/g," ").trim().slice(0,_x).trim();return n?t.sessionId?(t.renameSession(n),!0):(t.notify("No open chat to rename","error"),!1):(t.notify("Usage: /rename <new title>","error"),!1)}},{name:"clear",description:"Start a new chat here",run:(e,t)=>(t.startFreshSession(t.sessionId),!0)},{name:"context",description:"Show context usage and cost",run:(e,t)=>(t.focusUsageSurface(),!0)}],wx=/^\/(\S+)(?:\s+([\s\S]*))?$/;function $a(e){const t=wx.exec(e);if(!t)return null;const n=t[1],s=(t[2]??"").trim(),o=fs(n);if(o&&o.fulfillment==="client-native"){const i=Xn.find(c=>c.name===o.id);if(i)return{command:i,args:s}}const a=Xn.find(i=>i.name===n.toLowerCase());return a?{command:a,args:s}:null}const Ar=Xn.map(e=>({command:e.name,fullCommand:`/${e.name}`,description:e.description,argumentHint:e.argHint}));function Pa(e){const t=/^\/(\S+)([\s\S]*)$/.exec(e.trim());return t?{token:t[1],rest:t[2].trim()}:null}function Nx(e){const t=Pa(e);return t?fs(t.token)?!0:$a(e.trim())!==null:!1}function Ex(e,t,n={}){const{mutateAsync:s}=Wl(e),o=ke(),{startFreshSession:a,compact:i}=n,[c,u]=l.useState(0),d=l.useCallback(h=>{u(x=>x+1);const f=()=>u(x=>Math.max(0,x-1));h.then(f,f)},[]);return{tryRun:l.useCallback(h=>{const f=Pa(h),x=f?fs(f.token):null;if(f&&(x==null?void 0:x.fulfillment)==="runtime"&&i){if(!i.supported)return Ae.error(`Compact isn’t available on ${i.runtimeLabel||"this agent"}`),{handled:!0,ran:!1};if(!t)return Ae.error("No open chat to compact"),{handled:!0,ran:!1};const k=Ia(o,t,f.rest||void 0);return d(k),{handled:!0,ran:!0,confirmed:k}}const g=$a(h);if(!g)return{handled:!1};let S;return{handled:!0,ran:g.command.run(g.args,{sessionId:t,renameSession:k=>{t&&(S=s({sessionId:t,title:k}).then(()=>(Ae.success(`Renamed chat to “${k}”`),!0),()=>!1),d(S))},notify:(k,v)=>v==="error"?Ae.error(k):Ae.success(k),startFreshSession:k=>a==null?void 0:a(k),focusUsageSurface:()=>Yn.getState().reveal()}),...S?{confirmed:S}:{}}},[s,o,t,a,i,d]),commandPending:c>0}}function La(e,t){return{supported:(e==null?void 0:e.compact.supported)!==!1,runtimeLabel:t}}function Fr(e){const t=e.trim().toLowerCase();return t.startsWith("/")?t:`/${t}`}function Dx(e){return Vl.map(t=>{var s,o;const n=t.fulfillment==="runtime"&&((o=(s=e==null?void 0:e.commandIntents)==null?void 0:s[t.id])==null?void 0:o.supported)===!1;return{command:t.id,fullCommand:t.canonical,description:t.description,argumentHint:t.argumentHint,aliases:[...t.aliases],...n?{disabled:!0,disabledReason:`Not available on ${e.runtimeLabel}`}:{}}})}function Tx(e,t){const n=Gl(),s=Dx(t),o=Ar.filter(c=>!(c.command!==void 0&&n.has(`/${c.command}`))),a=new Set(Ar.map(c=>c.command)),i=e.filter(c=>{if(c.command!==void 0&&a.has(c.command))return!1;const u=[c.fullCommand,...c.aliases??[]].map(Fr);return c.command!==void 0&&u.push(Fr(c.command)),!u.some(d=>n.has(d))});return[...s,...o,...i]}const Ax=3e4;function Fx({percent:e,compactSupported:t,isStreaming:n}){return!(e===null||e<Hc||!t||n)}function Rx({sessionId:e,percent:t,compactSupported:n,isStreaming:s}){const o=ke(),[a,i]=l.useState(!1),c=l.useRef(!1),u=l.useRef(null),d=l.useCallback(()=>{c.current=!1,i(!1),u.current!==null&&(clearTimeout(u.current),u.current=null)},[]);l.useEffect(()=>{s&&c.current&&d()},[s,d]),l.useEffect(()=>()=>{u.current!==null&&clearTimeout(u.current)},[]);const m=l.useCallback(()=>{c.current||!e||(c.current=!0,i(!0),u.current=setTimeout(()=>{u.current=null,c.current=!1,i(!1)},Ax),Ia(o,e).then(h=>{h||d()}))},[e,o,d]);return{visible:Fx({percent:t,compactSupported:n,isStreaming:s}),percent:t??0,pending:a,onCompact:m}}function Mx({children:e,onSwitchAgent:t,onViewProfile:n,onNewSession:s}){return r.jsxs(Kl,{children:[r.jsx(Ql,{className:"min-w-0",children:e}),r.jsxs(Yl,{className:"w-48",children:[r.jsxs(pn,{onClick:t,children:[r.jsx(Xl,{className:"mr-2 size-4"}),"Switch agent"]}),r.jsx(Ls,{}),r.jsxs(pn,{onClick:n,children:[r.jsx(Jl,{className:"mr-2 size-4"}),"View profile"]}),r.jsx(Ls,{}),r.jsxs(pn,{onClick:s,children:[r.jsx(mo,{className:"mr-2 size-4"}),"New chat"]})]})]})}function Ox({agentName:e,agentColor:t,agentEmoji:n,agentPath:s,nameHidden:o}){const a=Zl(s),{open:i}=ec(),c=l.useCallback(()=>{s&&tc.getState().openProfileDocked(s)},[s]),u=l.useCallback(()=>{if(a===void 0)return c();i(a)},[a,i,c]),d=l.useCallback(()=>{ce.getState().openGlobalPaletteWithSearch("@")},[]),m=xo(),h=l.useCallback(()=>{m(s??void 0)},[m,s]);return!e||!t||!n?null:r.jsx("span",{className:"inline-flex min-w-0 items-center",children:s?r.jsx(Mx,{onSwitchAgent:d,onViewProfile:u,onNewSession:h,children:r.jsx(zs,{size:"xs",name:e,color:t,emoji:n,nameHidden:o,onClick:u,className:"max-w-full"})}):r.jsx(zs,{size:"xs",name:e,color:t,emoji:n,nameHidden:o,className:"max-w-full"})})}function Ix({sessionId:e,account:t}){const[n,s]=l.useState(!1),[o,a]=l.useState(!1),i=l.useRef(null);return r.jsxs(r.Fragment,{children:[r.jsx("span",{ref:i,className:"contents",children:r.jsx(nc,{sessionId:e,account:t,open:n,onOpenChange:s,onContinue:()=>{s(!1),a(!0)}})}),r.jsx(ra,{open:o,onOpenChange:a,sessionId:e,account:t,onCloseAutoFocus:c=>{var d;const u=(d=i.current)==null?void 0:d.querySelector("button");u&&(c.preventDefault(),u.focus())}})]})}function $x({ctx:e,items:t}){return r.jsx("span",{className:"inline-flex min-w-0 items-center gap-2",children:t.map((n,s)=>{const o=n.component;return r.jsxs(l.Fragment,{children:[s>0&&r.jsx("span",{className:"text-muted-foreground/30 shrink-0","aria-hidden":"true",children:"·"}),r.jsx("span",{role:"group","aria-label":n.label,"data-testid":`extension-status-item-${n.id}`,className:"inline-flex min-w-0 items-center",children:r.jsx(So,{fallback:null,onError:a=>za(n,a),children:r.jsx(o,{...e})})})]},n.id)})})}function za(e,t){console.warn(`[extensions] ${e.extensionId}'s status-bar item "${e.id}" failed to draw and is hidden.`,t)}function Px({ctx:e,items:t}){return r.jsx(r.Fragment,{children:t.map(n=>{const s=n.component;return r.jsxs("div",{role:"group","aria-label":n.label,"data-testid":`session-row-extension-${n.id}`,className:"flex items-center gap-2 px-1 py-1 text-sm",children:[r.jsx("span",{className:"shrink-0",children:n.label}),r.jsx("span",{className:"min-w-0 flex-1"}),r.jsx("span",{className:"text-muted-foreground inline-flex min-w-0 items-center text-xs",children:r.jsx(So,{fallback:null,onError:o=>za(n,o),children:r.jsx(s,{...e})})})]},n.id)})})}function Lx(e){const{costUsd:t,costBasis:n,...s}=e;return s}function zx(e){var m;const{sessionId:t,agent:n,status:s,runtimeChip:o,onUpdateSession:a}=e,i={},c=e.density!=="full";n.name&&n.color&&n.emoji&&(i.agent=r.jsx(Ox,{agentName:n.name,agentColor:n.color,agentEmoji:n.emoji,agentPath:n.path,nameHidden:e.density==="avatar"})),s.cwd&&(i.cwd=r.jsx(Wc,{cwd:s.cwd})),e.gitStatus&&(i.git=r.jsx(eu,{data:e.gitStatus,workspace:e.workspace,compact:c})),o.runtime!==null&&(i.runtime=r.jsx(Gc,{runtime:o.runtime,model:o.model,onChangeRuntime:o.onChangeRuntime,canSelect:o.canSelect,account:o.account,compact:!0}));const u=jo(e.account);u!==null&&(i.account=r.jsx(Ix,{sessionId:t,account:e.account})),e.extensions.items.length>0&&(i.extensions=r.jsx($x,{ctx:e.extensions.ctx,items:e.extensions.items})),i.model=r.jsx(Vc,{model:s.model,onChangeModel:h=>a({model:h}),effort:s.effort,onChangeEffort:h=>a({effort:h??void 0}),fastMode:s.fastMode,onChangeFastMode:h=>a({fastMode:h}),disabled:!t,sessionId:t||void 0,runtime:o.runtime,onCredits:e.account.onCredits,compact:c}),(m=e.plan)!=null&&m.active||(i.permission=r.jsx(Kc,{mode:s.permissionMode,onChangeMode:e.onChangeMode,disabled:!t,pending:!s.permissionModeKnown,runtime:o.runtime,modelSupportsAutoMode:e.modelSupportsAutoMode,compact:c,makeDefault:e.makeDefault,onOpenChange:e.onPermissionPickerOpenChange})),e.plan&&(i.plan=r.jsx(Qc,{descriptor:e.plan.descriptor,active:e.plan.active,onToggle:e.plan.onToggle,disabled:!t})),e.contextPercent!==null&&(i.context=r.jsx(Yc,{percent:e.contextPercent,contextUsage:e.contextUsage,compact:e.compact,reading:e.contextReading}));const d=e.usage&&e.usageSource==="account"&&!e.supportsCostTracking?Lx(e.usage):e.usage;return d&&sc(d)&&(e.supportsCostTracking||e.usageSource==="account")&&!Xc({account:u})&&(i.usage=r.jsx(rc,{usage:d,observedAt:e.usageObservedAt,now:e.now})),e.liveSubagentCount>0&&(i.subagents=r.jsx(Jc,{count:e.liveSubagentCount,running:e.runningSubagents,waiting:e.waitingOnSubagents})),i.connection=r.jsx(Zc,{connectionState:e.connectionState,compact:c}),i}const Bx=[],qx="(max-width: 639px)";function Ux({sessionId:e,sessionStatus:t,isStreaming:n,syncConnectionState:s,agentName:o,agentColor:a,agentEmoji:i,agentPath:c}){var De,Oe;const{ref:u,budget:d}=tu(),m=_o(e),h=Mo(e,t,n,m.runtime),f=Et(e||null),{pins:x}=nu(),g=su(e),S=ru(e,f,g.usage),b=S.usage,k=wt(),v=new Date(k),y=oc(b,S.observedAt,v),p=g.contextUsage,j=((De=ms(e))==null?void 0:De.contextUsage)??null,_=Yn(le=>le.open),D=Yn(le=>le.setOpen),{data:A}=ou(h.cwd),N=jx(h.cwd),{project:T}=ac(h.cwd),C=ic(qx),E=l.useMemo(()=>({sessionId:e,cwd:h.cwd,project:T,trackerItems:f.trackerItems,compact:C}),[e,h.cwd,T,f.trackerItems,C]),w=au(E),{data:R}=ls(),M=iu(g.activeSubagents).running,F=g.runningSubagentCount??M.length,{data:I}=is({sessionId:e||void 0,runtime:m.runtime??void 0}),L=((Oe=I==null?void 0:I.find(le=>le.value===h.model))==null?void 0:Oe.supportsAutoMode)??!1,U=tn(m.runtime),W=(U==null?void 0:U.permissionModes.values)??Bx,te=U==null?void 0:U.permissionModes.default,G=lc(e),B=re(le=>le.recordAutoConfirmed),[O,$]=l.useState(!1),Q=lu({sessionId:e,runtime:m.runtime,declaredModes:W,runtimeDefaultMode:te}),[ue,P]=l.useState(!1),Y=l.useCallback(le=>h.updateSession({permissionMode:le}),[h]),J=l.useCallback(le=>{if(le==="auto"&&!G){$(!0);return}Y(le).then(we=>{we&&Q.offerFor(le)})},[G,Y,Q,$]),se=l.useCallback(()=>{B(e),Y("auto"),$(!1)},[B,e,Y,$]),ee=cc(W),V=ee!==void 0&&h.permissionMode===ee.id,de=uc(e),ge=re(le=>le.recordModeBeforePlan),pe=l.useCallback(le=>{if(!ee)return;if(le){ge(e,h.permissionMode),Y(ee.id);return}const we=de,ze=we!==void 0&&W.some(Xe=>Xe.id===we)&&(we!=="auto"||L)?we:te;ze&&Y(ze)},[ee,ge,e,h,Y,de,W,L,te]),z=m.runtime?At(m.runtime).label:"",ve=La(U==null?void 0:U.commandIntents,z),X=g.contextPercent,Z=Rx({sessionId:e,percent:X,compactSupported:ve.supported,isStreaming:n}),[ae,me]=l.useState(!1);cu(()=>me(le=>!le));const _e={cwd:h.cwd,git:uu(A)?du(A.branch,A.clean,A.detached):null,contextPercent:X,connectionState:s,permissionMode:h.permissionMode,permissionDescriptor:(U==null?void 0:U.permissionModes.values.find(le=>le.id===h.permissionMode))??null,permissionPickerOpen:ue,plan:ee?{active:V}:null,runtime:m.runtime===null||R===void 0?null:{type:m.runtime,isDefault:m.runtime===R.defaultRuntime,canSelect:m.canSelect},account:jo(f),usage:b,usageStale:y,subagentsInFlight:F,extensionItems:w.promotion},ie=Z.visible&&d.density==="full",Re=Z.visible&&!ie,Ce=zx({sessionId:e,agent:{name:o,color:a,emoji:i,path:c},status:h,onUpdateSession:h.updateSession,onChangeMode:J,makeDefault:ue?Q.line:null,onPermissionPickerOpenChange:P,modelSupportsAutoMode:L,plan:ee?{descriptor:ee,active:V,onToggle:pe}:null,gitStatus:A,workspace:N,runtimeChip:m,account:f,contextPercent:X,contextUsage:p,contextReading:j,compact:ie?{pending:Z.pending,onCompact:Z.onCompact}:null,usage:b,usageSource:S.source,usageObservedAt:S.observedAt,now:v,supportsCostTracking:(U==null?void 0:U.supportsCostTracking)??!0,runningSubagents:M,liveSubagentCount:F,waitingOnSubagents:g.lifecycle==="idle",connectionState:s,density:d.density,extensions:{ctx:E,items:w.visible}}),{items:je,overflow:xe}=fu(mu({ctx:_e,pins:x,nodes:Ce}),d);return r.jsxs("div",{ref:u,className:"relative pt-2",children:[!ue&&Q.line&&r.jsx(pu,{...Q.line,placement:"overlay"}),r.jsx(hu,{items:je,trailing:r.jsx(gu,{open:ae,onOpenChange:me,diagnostics:g,controls:{plan:ee?{active:V,onToggle:pe}:null},promotionContext:_e,overflowCount:xe,addOns:w.visible.length>0?r.jsx(Px,{ctx:E,items:w.visible}):void 0,urgentAction:Re?{label:`Compact chat · ${Z.percent}% full`,onAction:Z.onCompact,pending:Z.pending}:null})}),r.jsx(xu,{usage:b??null,accountUsage:S.accountUsage,observedAt:S.observedAt,open:_,onOpenChange:D}),r.jsx(bu,{open:O,onOpenChange:$,onConfirm:se})]})}const Hx=Object.freeze({completed:"Completed",aborted_tools:"Tool stopped",aborted_streaming:"Reply stopped",max_turns:"Turn limit reached",blocking_limit:"Blocking limit",rapid_refill_breaker:"Rate limit",prompt_too_long:"Prompt too long",image_error:"Image error",model_error:"Model error",stop_hook_prevented:"Stopped by hook",hook_stopped:"Hook stopped",tool_deferred:"Tool deferred"});function Wx(e){return e!==void 0&&e!=="completed"}function Gx(e){const t=Hx[e];return t!==void 0?t:Vx(e)}function Vx(e){if(e.length===0)return"Ended";const t=e.replace(/[_-]+/g," ").trim().split(/\s+/);if(t.length===0)return"Ended";const[n,...s]=t;return[n.charAt(0).toUpperCase()+n.slice(1).toLowerCase(),...s.map(a=>a.toLowerCase())].join(" ")}function Kx({terminalReason:e}){const t=Wx(e),n=t?Gx(e):"";return r.jsx(fe,{children:t&&r.jsx(K.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{duration:.2,ease:"easeOut"},className:"flex px-4 py-1","data-testid":"terminal-reason-chip",children:r.jsx(dc,{variant:"secondary","aria-label":`Chat ended: ${n}`,children:n})},e)})}const Qx="The turn ended before completing.";function Yx({sessionId:e,onRetry:t,onSigninComplete:n,onChooseModel:s}){var f;const o=sn(e),a=((f=ms(e))==null?void 0:f.lastError)??null,i=(a==null?void 0:a.category)==="auth_error"||(a==null?void 0:a.category)==="model_unavailable"||(a==null?void 0:a.category)==="runtime_update_required",c=!i&&o?`${At(o).label} stopped unexpectedly`:void 0,u=(a==null?void 0:a.message)??Qx,d=i?void 0:u,m=o?cs(o):void 0,h=a?[a.code,a.details].filter(Boolean).join(`
|
|
51
|
+
`):void 0;return r.jsx(K.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{delay:.3,duration:.2,ease:"easeOut"},className:"mx-4 mb-2","data-testid":"turn-failed-notice",children:r.jsx(on,{category:(a==null?void 0:a.category)??"execution_error",heading:c,message:u,subtext:d,details:h||void 0,onRetry:t,onSigninComplete:n,onChooseModel:s,runtimeLabel:m,sessionId:e,...a!=null&&a.code?{code:a.code}:{},...a!=null&&a.reason?{reason:a.reason}:{}})})}const Xx=["Type @ to mention a file","Type / to browse commands","End a line with \\ to keep typing","Drop or paste files to attach"];function Jx(e,t,n){const s=l.useCallback(g=>{var v;if(!e||!t.current)return;const S=re.getState(),b=(v=n.current)==null?void 0:v.get(e);if(b!==void 0&&S.getSession(e).mountGeneration!==b)return;const k=typeof g=="function"?g(S.getSession(e).messages):g;S.updateSession(e,{messages:k})},[e,t,n]),o=l.useCallback(g=>{e&&re.getState().updateSession(e,{input:g})},[e]),a=l.useCallback(g=>{e&&re.getState().updateSession(e,{status:g})},[e]),i=l.useCallback(g=>{e&&re.getState().updateSession(e,{error:g})},[e]),c=l.useCallback(g=>{e&&re.getState().updateSession(e,{sessionStatus:g})},[e]),u=l.useCallback(g=>{e&&re.getState().updateSession(e,{estimatedTokens:g})},[e]),d=l.useCallback(g=>{e&&re.getState().updateSession(e,{streamStartTime:g})},[e]),m=l.useCallback(g=>{e&&re.getState().updateSession(e,{isTextStreaming:g})},[e]),h=l.useCallback(g=>{e&&re.getState().updateSession(e,{systemStatus:g})},[e]),f=l.useCallback(g=>{e&&re.getState().updateSession(e,{operationProgress:g})},[e]),x=l.useCallback(g=>{e&&re.getState().updateSession(e,{promptSuggestions:g})},[e]);return{setMessages:s,setInput:o,setStatus:a,setError:i,setSessionStatus:c,setEstimatedTokens:u,setStreamStartTime:d,setIsTextStreaming:m,setSystemStatus:h,setOperationProgress:f,setPromptSuggestions:x}}function Zx({sessionId:e,sid:t,transport:n,sessionCwd:s,enableMessagePolling:o,isStreaming:a,streamHydrated:i,setMessages:c}){const u=zo(),d=s.cwd,m=l.useRef(d);l.useEffect(()=>{m.current=d},[d]);const h=l.useRef(i);l.useEffect(()=>{h.current=i},[i]);const f=Ye({queryKey:["messages",e,d],queryFn:()=>n.getMessages(e,d??void 0,{newest:!0}),staleTime:Ke.MESSAGE_STALE_TIME_MS,refetchOnWindowFocus:!1,enabled:e!==null&&!i,refetchInterval:()=>a||!o?!1:u?Ke.ACTIVE_TAB_REFETCH_MS:Ke.BACKGROUND_TAB_REFETCH_MS});return l.useEffect(()=>{const x=re.getState();t&&x.updateSession(t,{historySeeded:!1}),x.getSession(e??"").status!=="streaming"&&c([])},[e,d,t,c]),l.useEffect(()=>{if(!f.data)return;const x=f.data.messages,g=re.getState().getSession(t).historySeeded;if(!g&&x.length>0){if(a)return;if(t&&re.getState().updateSession(t,{historySeeded:!0}),e&&!h.current){const S=f.data.earlierMessages??0;Pe.getState().noteSnapshot(e,x[0].id,S)}c(x.map(ot));return}g&&!a&&vp(re.getState().getSession(t).messages,x,c)},[f.data,a,e,t,c]),{historyQuery:f}}function Ba(e,t){if(e===t)return;const{opened:n,counts:s,mergeUsage:o}=at.getState(),a=Bs("session",e),i=Date.parse(n[a]??"");Number.isNaN(i)||o([{key:Bs("session",t),lastUsedAt:i,useCount:s[a]??1}])}function Jn(e,t,n){e&&n.then(s=>{if(!s)return;const o=re.getState();o.getSession(e).input.trim()===t.trim()&&o.updateSession(e,{input:""})},()=>{})}const zt=new Map;function e0(e,t){const s=(zt.get(e)??Promise.resolve()).then(t),o=s.then(()=>{},()=>{});return zt.set(e,o),o.then(()=>{zt.get(e)===o&&zt.delete(e)}),s}const nt=new Set;function Rr(e){var o;const t=e,n=typeof(t==null?void 0:t.code)=="string"?t.code:void 0,s=(o=t==null?void 0:t.body)==null?void 0:o.agentId;return{...n?{code:n}:{},...typeof s=="string"?{agentId:s}:{}}}function t0({sessionId:e,input:t,status:n,transport:s,queryClient:o,selectedCwd:a,onSessionIdChangeReplace:i,transformContent:c,launchRuntime:u,agentPath:d,agentLookupPending:m,agentLookupFailed:h,launchAccount:f,takeSeedContext:x,setInput:g,setError:S,tryNativeCommand:b}){const k=l.useRef(a);l.useEffect(()=>{k.current=a},[a]);const v=l.useRef(u);l.useEffect(()=>{v.current=u},[u]);const y=l.useRef(f);l.useEffect(()=>{y.current=f},[f]);const{data:p}=ls(),j=l.useRef(p==null?void 0:p.defaultRuntime);l.useEffect(()=>{j.current=p==null?void 0:p.defaultRuntime},[p==null?void 0:p.defaultRuntime]);const _=yu(e,u),D=l.useRef(_.mode);l.useEffect(()=>{D.current=_.mode},[_.mode]);const A=l.useRef(c);l.useEffect(()=>{A.current=c});const N=l.useRef(x);l.useEffect(()=>{N.current=x});const T=l.useRef(i);l.useEffect(()=>{T.current=i});const C=l.useCallback(async(G,B,O={})=>{var de,ge,pe;if(!O.kickoff){const z=b(G);if(z.handled){B&&z.ran&&(z.confirmed?Jn(e,G,z.confirmed):g(""));return}}const $=e,Q=O.cwd??k.current;S(null);const ue=o.getQueryData(Ge.list(Q))??[],P=hn($),Y=(P==null?void 0:P.draft)??!ue.some(z=>z.id===$),J=(P==null?void 0:P.draft)===!1?!1:Y||nt.has($);if(J&&(m||h))return;J&&nt.add($),O.kickoff||(at.getState().recordOpened("session",$),Q&&at.getState().recordOpened("agent",Q)),kt.attachSession($,Q);let se;try{se=!O.kickoff&&A.current?await A.current(G):G}catch(z){if(O.kickoff)throw z;S({heading:"Couldn’t send message",message:z.message||"The attachment didn’t upload. Try again.",retryable:!1});return}const ee=Ee.getState();if(Y){const z=new Date().toISOString();qs(o,Q,{id:$,title:`Chat ${$.slice(0,8)}`,createdAt:z,updatedAt:z,permissionMode:((de=o.getQueryData(Ge.detail($,Q)))==null?void 0:de.permissionMode)??D.current??"default",runtime:v.current??j.current??"claude-code"})}const V=crypto.randomUUID();O.kickoff||ee.setOptimisticUserMessage($,{id:V,content:G}),ee.setTriggerPending($,!0),B&&g("");try{const z=Us(ce.getState(),Q??null),{uiState:ve,commit:X}=Hs($,z),ae={clientMessageId:V,context:ve?{uiState:ve}:void 0};J&&(ae.create=!0),J&&v.current&&(ae.runtime=v.current),J&&d&&(ae.agentPath=d),J&&y.current&&(ae.account=y.current);const me=ce.getState().retryAccount;(me==null?void 0:me.sessionId)===$&&(ae.account=me.id,ce.getState().setRetryAccount(null));const _e=(ge=N.current)==null?void 0:ge.call(N);_e&&(ae.seedContext=_e);const{sessionId:ie}=await s.postMessage($,se,Q??void 0,ae);if(nt.delete($),P){const Ce={...P,draft:!1};gn($,Ce),gn(ie,Ce)}if(X(ie),ie!==$){Ee.getState().migrateSessionContinuity($,ie),ce.getState().carryCanvasWritesAcross($,ie),kt.attachSession(ie,Q),Ba($,ie),st.getState().migrate($,ie);const Ce=o.getQueryData(Ge.list(Q))??[],je=Ce.find(xe=>xe.id===$);je&&!Ce.some(xe=>xe.id===ie)&&qs(o,Q,{...je,id:ie}),o.setQueryData(Ge.list(Q),xe=>xe==null?void 0:xe.filter(De=>De.id!==$))}(pe=T.current)==null||pe.call(T,ie);const Re=ie;setTimeout(()=>{var xe;const Ce=vt.getState().rekeys[Re]??Re,je=Ee.getState().getSession(Ce);je.triggerPending&&((xe=je.status)==null?void 0:xe.lifecycle)!=="streaming"&&Ee.getState().setTriggerPending(Ce,!1)},en.TRIGGER_PENDING_TIMEOUT_MS)}catch(z){if(Ee.getState().setOptimisticUserMessage($,null),Ee.getState().setTriggerPending($,!1),O.kickoff)throw z;S({heading:"Couldn’t send message",message:z.message||"Couldn’t reach DorkOS. Try again.",retryable:!0,...Rr(z)})}},[e,s,o,g,S,b,d,m,h]),E=l.useCallback(async(G,B)=>{!G.trim()||n==="streaming"||await C(G.trim(),(B==null?void 0:B.clearInput)===!0,{...B!=null&&B.cwd?{cwd:B.cwd}:{}})},[n,C]),w=l.useCallback(()=>E(t,{clearInput:!0}),[t,E]),R=l.useCallback(async(G,B,O)=>{if(!e)return!1;const $=e,Q=k.current;S(null);const ue=(o.getQueryData(Ge.list(Q))??[]).some(Y=>Y.id===$),P=hn($);return((P==null?void 0:P.draft)??!ue)&&nt.add($),e0($,async()=>{var J;let Y;try{Y=A.current?await A.current(G):G}catch(se){return S({heading:O,message:se.message||"The attachment didn’t upload. Try again.",retryable:!1}),!1}try{const se=Us(ce.getState(),Q??null),{uiState:ee,commit:V}=Hs($,se),de={...ee?{uiState:ee}:{},...B==="queue"?{queued:!0}:{}},ge=Object.keys(de).length>0?de:void 0,pe=((J=hn($))==null?void 0:J.draft)===!1?!1:nt.has($);if(pe&&(m||h))return!1;const{sessionId:z}=await s.postMessage($,Y,Q??void 0,{context:ge,disposition:B,...pe?{create:!0,...v.current&&{runtime:v.current},...y.current&&{account:y.current},...d&&{agentPath:d}}:{}});return pe&&nt.delete($),P&&gn(z,{...P,draft:!1}),V(z),!0}catch(se){return S({heading:O,message:se.message||"Couldn’t reach DorkOS. Try again.",retryable:!1,...Rr(se)}),!1}})},[e,s,o,S,d,m,h]),M=l.useCallback(G=>R(G,"queue","Couldn’t queue message"),[R]),F=l.useCallback(G=>R(G,"steer","Couldn’t steer the agent"),[R]),I=l.useCallback(G=>R(G,"stage","Couldn’t add context"),[R]),L=l.useCallback(async()=>{if(!e)return{receipt:{outcome:"not-running",reason:"no-open-turn",runtime:"unknown"},cancelled:[]};try{const{receipt:G,cancelledQueued:B}=await s.interruptSession(e);return{receipt:G,cancelled:B??[]}}catch{return{receipt:{outcome:"failed",reason:"delivery-failed",runtime:"unknown"},cancelled:[]}}},[e,s]),U=l.useCallback(async G=>{S(null),await C(G,!1)},[C,S]),W=l.useCallback(async(G,B)=>{await C(G,!1,{kickoff:!0,...B?{cwd:B}:{}})},[C]),te=l.useCallback((G,B)=>{},[]);return{handleSubmit:w,submitContent:E,enqueueContent:M,steerContent:F,addContextContent:I,stop:L,retryMessage:U,submitKickoff:W,markToolCallResponded:te}}const Bt=new Set,Mr=new Set,qt=new Set;function n0(e){var t;return e.role==="user"||e.content.trim().length>0||(((t=e.toolCalls)==null?void 0:t.length)??0)>0?!0:e.parts.some(n=>n.type==="tool_call")}function s0({sessionId:e,cwd:t,status:n,messages:s,hydrated:o,canStart:a=!0,submitKickoff:i,submitContent:c}){const u=Zt(e),d=s.length,m=s.some(n0);l.useEffect(()=>{if(!e)return;if(!u){t&&d===0&&n==="idle"&&st.getState().claimByPath(t,e);return}if(u.fired||Bt.has(e)||!a||d>0||n!=="idle")return;Bt.add(e),st.getState().markFired(e);const h=u.kind==="first-message";(h?c:i)(u.kickoffMessage,u.path||void 0).catch(x=>{console.warn("[chat] first-turn trigger failed for newborn session",e,x),Mr.has(e)?h||st.getState().markGreetingFailed(e):(Mr.add(e),Bt.delete(e),st.getState().resetFired(e))})},[e,t,u,n,d,a,i,c]),l.useEffect(()=>{if(!(!e||!u)&&u.kind!=="first-message"&&!(!u.fired&&!Bt.has(e))&&!u.greetingFailed){if(m){qt.delete(e);return}if(n==="streaming"){qt.add(e);return}o&&qt.has(e)&&(qt.delete(e),st.getState().markGreetingFailed(e))}},[e,u,n,m,o])}function r0(e,t){return l.useEffect(()=>{fc(),kt.connectList(),e&&kt.attachSession(e,t)},[e,t]),l.useEffect(()=>()=>kt.releaseSession(),[]),wo(e??"")}function o0(e,t){const n=No(e),s=l.useRef(t);l.useEffect(()=>{s.current=t}),l.useEffect(()=>{var o;!n||!e||(Ba(e,n),(o=s.current)==null||o.call(s,n))},[n,e])}const a0=500;function i0(e,t,n){const s=l.useRef(new Map),[o,a]=l.useState(null),i=t.length>0?t[0].seq:-1;l.useEffect(()=>{const h=s.current;if(!e||!n){e&&h.delete(e),a(null);return}let f=h.get(e);(!f||f.turnSeq!==i)&&(f={turnSeq:i,anchor:Date.now()},h.set(e,f)),a(f.anchor)},[e,n,i]);const c=l.useMemo(()=>{let h=0;for(const f of t)f.type==="text_delta"&&(h+=f.text.length);return h/4},[t]),[u,d]=l.useState(!1),m=l.useRef({sid:null,tokens:0});return l.useEffect(()=>{const h=m.current,f=e===h.sid&&c>h.tokens;if(m.current={sid:e,tokens:c},f&&!u&&d(!0),!f&&!u)return;const x=setTimeout(()=>d(!1),a0);return()=>clearTimeout(x)},[e,c,u]),{streamStartTime:o,estimatedTokens:c,isTextStreaming:u}}function l0(e,t,n,s){const o=l.useRef(new Map),a=l.useRef(s);l.useEffect(()=>{a.current=s}),l.useEffect(()=>{var d;if(!e)return;const i=o.current,c=n??0;let u=i.get(e);(!u||u.floor!==c)&&(u={floor:c,seen:c},i.set(e,u));for(const m of t)m.seq<=u.seen||(m.type==="todo_update"&&((d=a.current)==null||d.call(a,{action:m.action,task:m.task,tasks:m.tasks,previousId:m.previousId})),u.seen=m.seq)},[e,t,n])}function c0(e){let t=null,n=null;for(const s of e){if(s.type==="operation_progress"){t=s.state==="started"?{operation:s.operation,determinate:s.determinate,...s.percent!==void 0?{percent:s.percent}:{},...s.message!==void 0?{message:s.message}:{}}:null;continue}if(s.type==="system_status"){s.status||(n={message:s.message});continue}n=null}return{operationProgress:t,systemStatus:n}}function u0(e,t){return e===null||t===null?e===t:e.operation===t.operation&&e.determinate===t.determinate&&e.percent===t.percent&&e.message===t.message}function d0(e,t){return((e==null?void 0:e.message)??null)===((t==null?void 0:t.message)??null)}function f0(e,t,n,s){const o=l.useRef(new Map),a=l.useRef(new Map),i=l.useRef(n),c=l.useRef(s);l.useEffect(()=>{i.current=n,c.current=s}),l.useEffect(()=>{if(!e)return;const{operationProgress:u,systemStatus:d}=c0(t),m=o.current.get(e)??null;u0(m,u)||(i.current(u),o.current.set(e,u));const h=a.current.get(e)??null;d0(h,d)||(c.current(d),a.current.set(e,d))},[e,t])}function m0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="capability_approval"&&s.approval.approvalId===t)return s}}function p0(e,t){const n=m0(e,t.approval.approvalId);n?n.approval=t.approval:e.push({type:"capability_approval",approval:t.approval})}function h0(e,t){const n=e.findIndex(o=>o.type==="capability_approval"&&o.approval.approvalId===t.approvalId);if(n===-1)return;if(t.outcome!=="timeout"){e.splice(n,1);return}const s=e[n];s.outcome="timeout"}function g0(e,t,n){return e.findIndex(s=>s.type==="mcp_signin"&&s.agentId===t&&s.serverName===n&&s.outcome===void 0)}function x0(e,t){const n={type:"mcp_signin",serverName:t.serverName,agentId:t.agentId,flowId:t.flowId,authorizeUrl:t.authorizeUrl,disclosure:t.disclosure},s=g0(e,t.agentId,t.serverName);s===-1?e.push(n):e[s]=n}function b0(e,t){const n=e.findIndex(o=>o.type==="mcp_signin"&&o.flowId===t.flowId);if(n===-1)return;const s=e[n];s.outcome=t.outcome,t.toolCount!==void 0&&(s.toolCount=t.toolCount)}function y0(e){return e.type==="interaction_resolved"||e.type==="capability_approval_resolved"||e.type==="mcp_signin_resolved"}function k0(e){const t=new Set;for(const n of e)n.type==="interaction_resolved"&&t.add(n.id);return t}const Or="__in_progress_turn__",v0="__optimistic_user__";function C0(e){return{id:v0,role:"user",content:e,parts:[{type:"text",text:e}],timestamp:"",_streaming:!0}}function S0(e){return{id:`steer-${e.messageId}`,role:"user",content:e.content,parts:[{type:"text",text:e.content}],timestamp:"",_streaming:!0,...e.chatMessages&&e.chatMessages.length>0?{chatMessages:e.chatMessages}:{}}}function j0(e){return{id:`staged-${e.messageId}`,role:"user",content:e.content,parts:[{type:"text",text:e.content}],timestamp:"",_streaming:!0,_stagedContext:!0}}function $e(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="tool_call"&&s.toolCallId===t)return s}}function cn(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="elicitation"&&s.interactionId===t)return s}}function _0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="background_task"&&s.taskId===t)return s}}function w0(e,t){qa(e);const n=e[e.length-1];n&&n.type==="text"?n.text+=t.text:e.push({type:"text",text:t.text})}function N0(e,t){const n=e[e.length-1];n&&n.type==="thinking"&&n.isStreaming?n.text+=t.text:e.push({type:"thinking",text:t.text,isStreaming:!0})}function qa(e){for(const t of e)t.type==="thinking"&&t.isStreaming&&(t.isStreaming=!1)}function E0(e,t,n){const s=$e(e,t.toolCallId);if(s){t.input!==void 0&&(s.input=(s.input??"")+t.input);return}const o=n.get(t.toolCallId);n.delete(t.toolCallId),e.push({type:"tool_call",toolCallId:t.toolCallId,toolName:t.toolName,input:t.input??"",status:t.status,...o&&o.length>0?{hooks:o}:{}})}function D0(e,t){const n=$e(e,t.toolCallId);n?(n.result=t.result,n.status=t.status,t.ui!==void 0&&(n.ui=t.ui),t.result!==void 0&&(n.progressOutput=void 0)):e.push({type:"tool_call",toolCallId:t.toolCallId,toolName:t.toolName,input:t.input??"",result:t.result,status:t.status,...t.ui!==void 0?{ui:t.ui}:{}})}function T0(e,t){const n=$e(e,t.toolCallId);n&&(n.progressOutput=(n.progressOutput??"")+t.content)}function Ua(e,t){const n={interactiveType:"approval",input:t.input,status:"pending",timeoutMs:t.timeoutMs,approvalStartedAt:t.startedAt,approvalRemainingMs:t.remainingMs,approvalTitle:t.title,approvalDisplayName:t.displayName,approvalDescription:t.description,approvalBlockedPath:t.blockedPath,approvalDecisionReason:t.decisionReason,approvalHasSuggestions:t.hasSuggestions,approvalAlwaysAllowScope:t.alwaysAllowScope},s=$e(e,t.id);s?Object.assign(s,n):e.push({type:"tool_call",toolCallId:t.id,toolName:t.toolName,...n})}function Ha(e,t){const n=$e(e,t.id),s={timeoutMs:t.timeoutMs,approvalStartedAt:t.startedAt,approvalRemainingMs:t.remainingMs};n?(n.interactiveType="question",n.questions=t.questions,n.status="pending",Object.assign(n,s)):e.push({type:"tool_call",toolCallId:t.id,toolName:"AskUserQuestion",input:"",status:"pending",interactiveType:"question",questions:t.questions,...s})}function Wa(e,t){const n={serverName:t.serverName,message:t.message,mode:t.mode,url:t.url,elicitationId:t.elicitationId,requestedSchema:t.requestedSchema,status:"pending",startedAt:t.startedAt,remainingMs:t.remainingMs,timeoutMs:t.timeoutMs},s=cn(e,t.id);s?Object.assign(s,n):e.push({type:"elicitation",interactionId:t.id,...n})}function A0(e){return e==="denied"||e==="expired"||e==="cancelled"?"error":e==="answered"?"complete":"running"}function F0(e,t){const n=$e(e,t.id);if(n){n.status==="pending"&&(n.status=A0(t.resolution),n.approvalRemainingMs=void 0);const o=mc(t);o&&(n.interactiveType="approval",n.approvalOutcome=o,n.approvalResolvedAt=t.at,t.reasonGiven===!0&&(n.approvalReasonGiven=!0),n.approvalStartedAt=t.startedAt??n.approvalStartedAt);const a=pc(t);a&&(n.questionOutcome=a)}const s=cn(e,t.id);s&&s.status==="pending"&&(s.status="submitted",s.remainingMs=void 0)}function R0(e,t){for(let n=e.length-1;n>=0;n--){const s=e[n];if(s.type==="tool_call"&&s.hooks){const o=s.hooks.find(a=>a.hookId===t);if(o)return o}}}function M0(e,t){for(const n of e.values()){const s=n.find(o=>o.hookId===t);if(s)return s}}function O0(e,t,n){const s=R0(e,t.hookId)??M0(n,t.hookId);if(s){s.status=t.status,t.hookName!==void 0&&(s.hookName=t.hookName),t.stdout!==void 0&&(s.stdout=t.stdout),t.stderr!==void 0&&(s.stderr=t.stderr),t.exitCode!==void 0&&(s.exitCode=t.exitCode);return}if(!t.toolCallId)return;const o={hookId:t.hookId,hookName:t.hookName??"",hookEvent:t.hookEvent??"",status:t.status,stdout:t.stdout??"",stderr:t.stderr??"",...t.exitCode!==void 0?{exitCode:t.exitCode}:{}},a=$e(e,t.toolCallId);a?a.hooks=[...a.hooks??[],o]:n.set(t.toolCallId,[...n.get(t.toolCallId)??[],o])}function I0(e,t){const n=e[0];if(n&&n.type==="memory_recall"){const a=new Set(n.memories.map(c=>c.path)),i=t.memories.filter(c=>!a.has(c.path));i.length>0&&(n.memories=[...n.memories,...i]);return}const s=new Set,o=t.memories.filter(a=>s.has(a.path)?!1:(s.add(a.path),!0));e.unshift({type:"memory_recall",mode:t.mode,memories:o,isStreaming:!0})}function $0(e,t){e.push({type:"image",attachmentId:t.attachmentId,url:t.url,mediaType:t.mediaType,size:t.size,...t.alt!==void 0?{alt:t.alt}:{}})}function P0(e,t){e.push({type:"compact_boundary",...t.trigger!==void 0?{trigger:t.trigger}:{},...t.preTokens!==void 0?{preTokens:t.preTokens}:{},...t.postTokens!==void 0?{postTokens:t.postTokens}:{},...t.durationMs!==void 0?{durationMs:t.durationMs}:{},...t.requestedBy!==void 0?{requestedBy:t.requestedBy}:{},...t.contextPercent!==void 0?{contextPercent:t.contextPercent}:{}})}function L0(e,t){e.push({type:"permission_denied",toolCallId:t.toolCallId,toolName:t.toolName,message:t.message,...t.reasonType!==void 0?{reasonType:t.reasonType}:{},...t.reason!==void 0?{reason:t.reason}:{},...t.agentId!==void 0?{agentId:t.agentId}:{}})}function z0(e,t){t.operation!=="compaction"||t.state!=="failed"||e.push({type:"compact_boundary",failed:!0,...t.error!==void 0?{error:t.error}:{},...t.requestedBy!==void 0?{requestedBy:t.requestedBy}:{}})}function B0(e,t){qa(e);const n=t.code!==void 0?t.details!==void 0?`[${t.code}] ${t.details}`:`[${t.code}]`:t.details;e.push({type:"error",message:t.message,...t.category!==void 0?{category:t.category}:{},...n!==void 0?{details:n}:{},...t.code!==void 0?{code:t.code}:{},...t.reason!==void 0?{reason:t.reason}:{}})}function q0(e,t){const n=_0(e,t.taskId);n?(n.status=t.status,t.description!==void 0&&(n.description=t.description),t.toolUses!==void 0&&(n.toolUses=t.toolUses),t.lastToolName!==void 0&&(n.lastToolName=t.lastToolName),t.summary!==void 0&&(n.summary=t.summary),t.ambient!==void 0&&(n.ambient=t.ambient)):e.push({type:"background_task",taskId:t.taskId,taskType:"agent",status:t.status,startedAt:0,description:t.description,toolUses:t.toolUses,lastToolName:t.lastToolName,summary:t.summary,ambient:t.ambient})}const U0={approval:"approval_required",question:"question_prompt",elicitation:"elicitation_prompt"};function H0(e){const{type:t,...n}=e;return{...n,seq:0,type:U0[t]}}function W0(e,t){const n=$e(e,t);return(n==null?void 0:n.interactiveType)!==void 0?!0:cn(e,t)!==void 0}function G0(e,t){switch(t.type){case"approval_required":Ua(e,t);break;case"question_prompt":Ha(e,t);break;case"elicitation_prompt":Wa(e,t);break}}function V0(e,t,n){const s=$e(e,t.id);if(s){!n&&s.result===void 0&&(s.status="pending"),s.approvalStartedAt=t.startedAt,s.approvalRemainingMs=t.remainingMs,t.timeoutMs!==void 0&&(s.timeoutMs=t.timeoutMs),s.approvalParked=t.parked===!0?!0:void 0;return}const o=cn(e,t.id);o&&(o.startedAt=t.startedAt,o.remainingMs=t.remainingMs,t.timeoutMs!==void 0&&(o.timeoutMs=t.timeoutMs))}function K0(e,t,n){for(const s of t){if(W0(e,s.id)){V0(e,s,n.has(s.id));continue}G0(e,H0(s)),Q0(e,s)}}function Q0(e,t){if(t.parked!==!0)return;const n=$e(e,t.id);n&&(n.approvalParked=!0)}function Zn(e){const t=[],n=new Map;for(const s of e)switch(s.type){case"text_delta":w0(t,s);break;case"thinking_delta":N0(t,s);break;case"tool_call":E0(t,s,n);break;case"tool_result":D0(t,s);break;case"tool_progress":T0(t,s);break;case"approval_required":Ua(t,s);break;case"question_prompt":Ha(t,s);break;case"elicitation_prompt":Wa(t,s);break;case"capability_approval_required":p0(t,s);break;case"capability_approval_resolved":h0(t,s);break;case"mcp_signin_required":x0(t,s);break;case"mcp_signin_resolved":b0(t,s);break;case"interaction_resolved":F0(t,s);break;case"subagent_update":q0(t,s);break;case"hook_update":O0(t,s,n);break;case"memory_recall":I0(t,s);break;case"image_attachment":$0(t,s);break;case"compact_boundary":P0(t,s);break;case"permission_denied":L0(t,s);break;case"model_substituted":t.push({type:"model_substituted",from:s.from,fromName:s.fromName,to:s.to,toName:s.toName,reason:s.reason});break;case"operation_progress":z0(t,s);break;case"error":B0(t,s);break}return t}function Ir(e,t){if(e.length===0)return null;const n=xs(e);return{id:t,role:"assistant",content:n.content,toolCalls:n.toolCalls.length>0?n.toolCalls:[],parts:e,timestamp:"",_streaming:!0}}function Y0(e,t){const n=[];let s=[],o=0;for(const[c,u]of e.entries()){if(u.type!=="turn_input"&&u.type!=="context_staged"){s.push(u);continue}const d=Zn([...s,...e.slice(c+1).filter(y0)]),m=Ir(d,`${Or}-${o}`);m&&n.push(m),o+=1,n.push(u.type==="turn_input"?S0(u):j0(u)),s=[]}const a=Zn(s);K0(a,t,k0(e));const i=Ir(a,Or);return i&&n.push(i),n}function X0(e){const t=new Set;for(const n of e)for(const s of n.parts)s.type==="tool_call"&&t.add(s.toolCallId);return t}function J0(e){return e.type==="tool_call"&&e.result===void 0&&e.answers===void 0&&e.approvalOutcome===void 0&&(e.questionOutcome===void 0||e.questionOutcome==="unresolved")}function Z0(e,t){const n=e.parts.filter(o=>o.type!=="tool_call"||!t.has(o.toolCallId)||!J0(o));if(n.length===e.parts.length)return e;if(n.length===0)return null;const s=xs(n);return{...e,parts:n,content:s.content,toolCalls:s.toolCalls.length>0?s.toolCalls:void 0}}function eb(e){let t=e.length;for(;t>0&&e[t-1].role==="assistant";)t-=1;return t}function tb(e,t,n=[],s=null){const o=Y0(t,n),a=X0(o),i=kp(e),c=a.size===0?i.length:eb(i),u=[];for(const[d,m]of i.entries()){const h=d<c?m:Z0(m,a);h&&u.push(h)}return s&&u.push(C0(s.content)),u.push(...o),u}function $r(e){const t=new Map;for(const n of e)n.type!=="tool_call"||n.approvalOutcome===void 0||t.set(n.toolCallId,{outcome:n.approvalOutcome,resolvedAt:n.approvalResolvedAt,startedAt:n.approvalStartedAt,displayName:n.approvalDisplayName,reasonGiven:n.approvalReasonGiven});return t}function nb(e,t){return e.interactiveType==="approval"&&e.approvalOutcome===t.outcome&&e.approvalResolvedAt===t.resolvedAt&&e.approvalStartedAt===t.startedAt&&e.approvalReasonGiven===t.reasonGiven}function sb(e,t){return t.size===0?e:e.map(n=>{if(!n.parts)return n;let s=!1;const o=n.parts.map(a=>{if(a.type!=="tool_call")return a;const i=t.get(a.toolCallId);return!i||nb(a,i)?a:(s=!0,{...a,interactiveType:"approval",approvalOutcome:i.outcome,approvalResolvedAt:i.resolvedAt,approvalStartedAt:i.startedAt,approvalReasonGiven:i.reasonGiven,...i.displayName!==void 0?{approvalDisplayName:i.displayName}:{}})});return s?{...n,parts:o}:n})}function rb(e,t){var o;if(!t.tail)return t.messages;const n=(o=t.messages[0])==null?void 0:o.id,s=n===void 0?-1:e.findIndex(a=>a.id===n);return s===-1?null:[...e.slice(0,s),...t.messages]}async function ob(e,t,n,s){const o=ab(s());if(o!==void 0){const a=await e.getMessages(t,n,{since:o}),i=rb(s(),a);if(i)return i}return(await e.getMessages(t,n)).messages}function ab(e){for(let t=e.length-1;t>=0;t--)if(e[t].role==="user")return e[t].id}function ib({sessionId:e,transport:t,sessionCwd:n,streamState:s,queryClient:o,onStreamingDone:a}){var v;const i=n.cwd,c=l.useRef(e),u=l.useRef(i),d=l.useRef(a);l.useEffect(()=>{c.current=e,u.current=i,d.current=a});const m=l.useRef(new Map),h=l.useRef(new Map),f=l.useRef(new Map),x=l.useRef(new Map),g=l.useRef(new Map),S=((v=s.status)==null?void 0:v.lifecycle)??null,b=s.hydrationGeneration,k=s.userTurnCount;l.useEffect(()=>{var T,C,E;if(!e)return;const y=g.current.get(e);g.current.set(e,k),y!==void 0&&k!==y&&x.current.set(e,!1);const p=h.current.get(e);if(h.current.set(e,b),p!==b){m.current.set(e,S),S==="streaming"&&f.current.set(e,((T=Ee.getState().getSession(e).optimisticUserMessage)==null?void 0:T.id)??null);return}const j=m.current.get(e)??null;if(m.current.set(e,S),S==="streaming"&&j!=="streaming"&&f.current.set(e,((C=Ee.getState().getSession(e).optimisticUserMessage)==null?void 0:C.id)??null),!(j==="streaming"&&S!=="streaming"&&S!==null))return;const D=e,A=f.current.get(D)??null,N=$r(Zn(Ee.getState().getSession(D).inProgressTurn));ob(t,D,u.current??void 0,()=>Ee.getState().getSession(D).messages).then(w=>{var U;const R=Ee.getState(),M=R.getSession(D),F=((U=M.status)==null?void 0:U.lifecycle)==="streaming",I=new Map([...$r(M.messages.flatMap(W=>W.parts??[])),...N]);R.setHistoryMessages(D,sb(w,I),{preserveInProgressTurn:F});const L=M.optimisticUserMessage;(L===null||L.id===A)&&R.setOptimisticUserMessage(D,null)}).catch(w=>{console.warn("[turn-end-reconcile] history reload failed",{sessionId:D,error:w instanceof Error?w.message:String(w)})}),o.invalidateQueries({queryKey:["tasks",D]}),x.current.get(D)!==!0&&(x.current.set(D,!0),(E=d.current)==null||E.call(d))},[e,S,b,k,t,o])}function lb(e){return e.streamReadyCursor!==null||e.messages.length>0||e.inProgressTurn.length>0||e.optimisticUserMessage!==null}function Ga(e,t){const n=lb(e),s=n?e.messages:t,o=Pr.get(s);if(o&&o.hydrated===n&&o.inProgressTurn===e.inProgressTurn&&o.pendingInteractions===e.pendingInteractions&&o.optimisticUserMessage===e.optimisticUserMessage&&o.legacyMessages===t)return o.result;const a=n?tb(e.messages,e.inProgressTurn,e.pendingInteractions,e.optimisticUserMessage):t,i=Pc(a);return Pr.set(s,{hydrated:n,inProgressTurn:e.inProgressTurn,pendingInteractions:e.pendingInteractions,optimisticUserMessage:e.optimisticUserMessage,legacyMessages:t,result:i}),i}const Pr=new WeakMap;function cb(e,t={}){const n=ke(),s=as(),o=ce(V=>V.selectedCwd),a=ce(V=>V.enableMessagePolling),i=ce(V=>V.pendingAccount),c=Qo(),u=e??"",{messages:d,input:m,status:h,error:f,sessionStatus:x,systemStatus:g,operationProgress:S,promptSuggestions:b}=Eo(u),k=r0(e,c.cwd);o0(e,t.onSessionIdChangeReplace);const v=hc(u),y=l.useMemo(()=>Ga(k,d),[k,d]),p=ku(k,h),{streamStartTime:j,estimatedTokens:_,isTextStreaming:D}=i0(e,k.inProgressTurn,p==="streaming");l0(e,k.inProgressTurn,k.streamReadyCursor,t.onTaskEvent);const A=l.useRef(!0);l.useEffect(()=>(A.current=!0,()=>{A.current=!1}),[]);const N=l.useRef(new Map);l.useLayoutEffect(()=>{u&&(N.current.has(u)||N.current.set(u,re.getState().getSession(u).mountGeneration))},[u]);const{setMessages:T,setInput:C,setError:E,setSystemStatus:w,setOperationProgress:R}=Jx(u,A,N);f0(e,k.inProgressTurn,R,w),u&&re.getState().initSession(u),l.useEffect(()=>{e&&(re.getState().initSession(e),re.getState().touchSession(e),N.current.set(e,re.getState().getSession(e).mountGeneration))},[e]),l.useEffect(()=>{if(e)return vt.getState().clearUnseen(e),vt.subscribe(V=>{V.unseen[e]!==void 0&&vt.getState().clearUnseen(e)})},[e]);const{historyQuery:M}=Zx({sessionId:e,sid:u,transport:n,sessionCwd:c,enableMessagePolling:a,isStreaming:p==="streaming",streamHydrated:k.streamReadyCursor!==null,setMessages:T}),F=Ex(o,e,{startFreshSession:t.startFreshSession,compact:t.compactIntent}),{handleSubmit:I,submitContent:L,enqueueContent:U,steerContent:W,addContextContent:te,stop:G,retryMessage:B,submitKickoff:O,markToolCallResponded:$}=t0({sessionId:e,input:m,status:p,transport:n,queryClient:s,selectedCwd:o,onSessionIdChangeReplace:t.onSessionIdChangeReplace,transformContent:t.transformContent,launchRuntime:t.launchRuntime,agentPath:t.agentPath,agentLookupPending:t.agentLookupPending,agentLookupFailed:t.agentLookupFailed,launchAccount:(i==null?void 0:i.sessionId)===u?i.id:null,takeSeedContext:t.takeSeedContext,setInput:C,setError:E,tryNativeCommand:F.tryRun}),Q=k.streamReadyCursor!==null,ue=l.useCallback((V,de)=>L(V,de?{cwd:de}:void 0),[L]);s0({sessionId:e,cwd:o,status:p,messages:y,hydrated:Q,canStart:!t.agentLookupPending&&!t.agentLookupFailed,submitKickoff:O,submitContent:ue}),ib({sessionId:e,transport:n,sessionCwd:c,streamState:k,queryClient:s,onStreamingDone:t.onStreamingDone});const P=M.isLoading&&y.length===0,Y=l.useMemo(()=>y.flatMap(V=>V.toolCalls||[]).filter(V=>V.interactiveType&&V.status==="pending"),[y]),J=Y[0]||null,se=J!==null,ee=(J==null?void 0:J.interactiveType)||null;return{messages:y,input:m,setInput:C,handleSubmit:I,submitContent:L,enqueueContent:U,steerContent:W,addContextContent:te,status:p,error:f,stop:G,retryMessage:B,isLoadingHistory:P,hydrated:Q,sessionStatus:x,streamStartTime:j,estimatedTokens:_,isTextStreaming:D,isWaitingForUser:se,waitingType:ee,activeInteraction:J,pendingInteractions:Y,markToolCallResponded:$,systemStatus:g,operationProgress:S,promptSuggestions:b,syncConnectionState:v,tryNativeCommand:F.tryRun,commandPending:F.commandPending}}function ub(e){switch(e.outcome){case"acked":return{message:"You stopped this reply.",isFailure:!1};case"closed":return{message:"Stopped. Your agent didn’t answer, so DorkOS ended it.",isFailure:!1};case"not-running":return{message:null,isFailure:!1};case"unconfirmed":return{message:`Stop requested. ${fb(e.runtime)} didn’t confirm, so it may still be working.`,isFailure:!1};case"failed":return{message:"Couldn’t stop it. Try again.",isFailure:!0}}}function db(e,t){return!Do(e)||e.outcome==="not-running"&&t}function fb(e){switch(e){case"claude-code":return"Claude Code";case"codex":return"Codex";case"opencode":return"OpenCode";case"doe":return"DorkOS";default:return"Your agent"}}function mb(){const e=ce(d=>d.showTaskCelebrations),[t,n]=l.useState(null),[s,o]=l.useState(null),a=l.useRef(null),i=l.useRef(!1);l.useEffect(()=>{const d=window.matchMedia("(prefers-reduced-motion: reduce)");i.current=d.matches;const m=h=>{i.current=h.matches};return d.addEventListener("change",m),()=>d.removeEventListener("change",m)},[]),hd({timeoutMs:et.IDLE_TIMEOUT_MS,onIdle:l.useCallback(()=>{var d;(d=a.current)==null||d.setIdle(!0)},[]),onReturn:l.useCallback(()=>{var d,m;(d=a.current)==null||d.setIdle(!1),(m=a.current)==null||m.onUserReturn()},[])}),l.useEffect(()=>{const d=new Td({enabled:e,miniProbability:et.MINI_PROBABILITY,debounceWindowMs:et.DEBOUNCE_WINDOW_MS,debounceThreshold:et.DEBOUNCE_THRESHOLD,minTasksForMajor:et.MIN_TASKS_FOR_MAJOR,idleTimeoutMs:et.IDLE_TIMEOUT_MS,onCelebrate:m=>{i.current&&m.level==="major"?n({...m,level:"mini"}):n(m),m.level==="mini"&&o(m.taskId)}});return a.current=d,()=>d.destroy()},[e]);const c=l.useCallback((d,m)=>{var h;d.action==="update"&&d.task.status==="completed"&&d.task.id&&((h=a.current)==null||h.onTaskCompleted(d.task.id,m))},[]),u=l.useCallback(()=>{n(null),o(null)},[]);return{handleTaskEvent:c,activeCelebration:t,celebratingTaskId:s,clearCelebration:u}}function Fn(){return{tasks:new Map,statusTimestamps:new Map,legacyCreateCount:0}}function pb(e){const t={};for(const[n,s]of Object.entries(e))s!==void 0&&s!==""&&(t[n]=s);return t}function Rn(e,t,n){switch(t.action){case"snapshot":{e.tasks.clear(),e.statusTimestamps.clear();const s=t.tasks??[t.task];for(const o of s)e.tasks.set(o.id,o),e.statusTimestamps.set(o.id,{status:o.status,since:n});return}case"create":{const s=t.task.id||`legacy:${e.legacyCreateCount++}`,o=s===t.task.id?t.task:{...t.task,id:s};e.tasks.set(s,o),e.statusTimestamps.set(s,{status:o.status,since:n});return}case"id_assigned":{const s=t.previousId;if(!s)return;const o=e.tasks.get(s);if(!o)return;const a=t.task.id;e.tasks.delete(s),e.tasks.set(a,{...o,id:a});const i=e.statusTimestamps.get(s);e.statusTimestamps.delete(s),e.statusTimestamps.set(a,i??{status:o.status,since:n});return}case"remove":{e.tasks.delete(t.task.id),e.statusTimestamps.delete(t.task.id);return}case"update":{if(!t.task.id)return;const s=e.tasks.get(t.task.id);if(!s)return;e.tasks.set(t.task.id,{...s,...pb(t.task)}),t.task.status&&t.task.status!==s.status&&e.statusTimestamps.set(t.task.id,{status:t.task.status,since:n});return}}}function Lr(e,t){var n;return(n=e.blockedBy)!=null&&n.length?e.blockedBy.some(s=>{const o=t.get(s);return o&&o.status!=="completed"}):!1}function hb(e,t){return[...e].sort((n,s)=>{const o=n.status==="in_progress"?0:n.status==="pending"&&!Lr(n,t)?1:n.status==="pending"?2:3,a=s.status==="in_progress"?0:s.status==="pending"&&!Lr(s,t)?1:s.status==="pending"?2:3;return o-a})}const gb=10;let zr=0;function Ut(e){return e==="streaming"||e==="blocked"}function xb(e,t=!1){const n=ke(),o=Qo().cwd,a=ce(N=>N.enableMessagePolling),i=zo(),[c,u]=l.useState(Fn()),d=To(e??""),[m,h]=l.useState(()=>!Ut(d)),f=l.useRef([]),x=l.useRef(0),{data:g}=Ye({queryKey:["tasks",e,o],queryFn:async()=>{const N=++zr;return{...await n.getTasks(e,o??void 0),fetchOrder:N}},staleTime:3e4,refetchOnWindowFocus:!1,enabled:e!==null,refetchInterval:()=>!a||t?!1:i?Ke.ACTIVE_TAB_REFETCH_MS:Ke.BACKGROUND_TAB_REFETCH_MS}),S=l.useRef(null);l.useEffect(()=>{const N=`${e??""}::${o??""}`,T=S.current!==N;if(S.current=N,T&&(f.current=[],x.current=0,u(Fn())),!g||g.fetchOrder<=x.current)return;x.current=g.fetchOrder;const C=Fn();g.tasks.length>0&&Rn(C,{action:"snapshot",task:g.tasks[0],tasks:g.tasks},Date.now()),f.current=f.current.filter(({order:E})=>E>g.fetchOrder);for(const{event:E,receivedAt:w}of f.current)Rn(C,E,w);u(C)},[g,e,o]);const b=l.useCallback(N=>{const T=Date.now();N.action==="snapshot"&&(f.current=[]),f.current.push({order:++zr,event:N,receivedAt:T}),u(C=>{const E={tasks:new Map(C.tasks),statusTimestamps:new Map(C.statusTimestamps),legacyCreateCount:C.legacyCreateCount};return Rn(E,N,T),E})},[]),k=l.useRef(!1),v=l.useCallback(()=>{h(N=>(k.current=!N,!N))},[]),y=l.useRef(Ut(d));l.useEffect(()=>{const N=Ut(d);N!==y.current&&(y.current=N,N?k.current||h(!1):h(!0))},[d]);const p=l.useRef(null);l.useEffect(()=>{const N=`${e??""}::${o??""}`;if(p.current===N)return;p.current=N;const T=Ut(d);y.current=T,k.current=!1,h(!T)},[e,o,d]);const j=Array.from(c.tasks.values()),_=hb(j,c.tasks),D=j.find(N=>N.status==="in_progress"),A=(D==null?void 0:D.activeForm)??null;return{tasks:_.slice(0,gb),taskMap:c.tasks,activeForm:A,isCollapsed:m,toggleCollapse:v,handleTaskEvent:b,statusTimestamps:c.statusTimestamps}}function bb(e){const t=l.useRef(null),[n,s]=l.useState(0),[o,a]=l.useState(!1),[i,c]=l.useState(0),u=l.useCallback(k=>{t.current=k,c(k&&"getOptionCount"in k?k.getOptionCount():0)},[]);l.useEffect(()=>{s(0),c(0),a(!1)},[e==null?void 0:e.toolCallId]);const d=l.useMemo(()=>e!=null&&e.interactiveType?{type:e.interactiveType,toolCallId:e.toolCallId}:null,[e]),m=l.useCallback(()=>{const k=t.current;k&&"approve"in k&&k.approve()},[]),h=l.useCallback(()=>{const k=t.current;k&&"alwaysAllow"in k&&k.alwaysAllow()},[]),f=l.useCallback(()=>{const k=t.current;k&&"deny"in k&&k.deny()},[]),x=l.useCallback(k=>{const v=t.current;v&&"toggleOption"in v&&(v.toggleOption(k),s(k),a(!0))},[]),g=l.useCallback(k=>{if(!o){a(!0);return}s(v=>{const y=t.current,p=y&&"getOptionCount"in y?y.getOptionCount():0;return p===0?v:k==="up"?v<=0?p-1:v-1:v>=p-1?0:v+1})},[o]),S=l.useCallback(k=>{const v=t.current;v&&"navigateQuestion"in v&&(v.navigateQuestion(k),s(0),a(!0),c(v.getOptionCount()))},[]),b=l.useCallback(()=>{const k=t.current;k&&"submit"in k&&k.submit()},[]);return gd({activeInteraction:d,onApprove:m,onAlwaysAllow:h,onDeny:f,onToggleOption:x,onNavigateOption:g,onNavigateQuestion:S,onSubmit:b,optionCount:i,focusedIndex:n}),{handleToolRef:u,focusedOptionIndex:o?n:-1}}function Ht(e,t,n){var a;const s=e.length;if(s===0)return 0;let o=(t%s+s)%s;for(let i=0;i<s;i++){if(!((a=e[o])!=null&&a.disabled))return o;o=(o+n+s)%s}return t}function yb({commands:e,input:t,cursorPos:n}){const[s,o]=l.useState(!1),[a,i]=l.useState(""),[c,u]=l.useState(-1),d=l.useMemo(()=>a?e.map(j=>({cmd:j,rank:cf(a,j)})).filter(j=>j.rank.match).sort((j,_)=>j.rank.bucket-_.rank.bucket||_.rank.score-j.rank.score).map(({cmd:j,rank:_})=>({...j,matchedAlias:_.matchedAlias})):e,[e,a]),[m,h]=l.useState(null),f=m!==null&&m.query===a&&m.open===s?m.index:Ht(d,0,1),x=d[f],g=d.length===0||x!==void 0&&!x.disabled?f:Ht(d,0,1),S=l.useCallback((j,_)=>{const A=j.slice(0,_).match(/(^|\s)\/([\w:-]*)$/);return A?(o(!0),i(A[2]),u((A.index??0)+A[1].length),!0):(o(!1),!1)},[]),b=l.useCallback(j=>{const _=t.slice(0,c),D=t.slice(c+1+a.length);return o(!1),_+j.fullCommand+(D.startsWith(" ")?"":" ")+D},[t,a,c]),k=l.useCallback(()=>{h({query:a,open:s,index:Ht(d,g+1,1)})},[d,g,a,s]),v=l.useCallback(()=>{h({query:a,open:s,index:Ht(d,g-1,-1)})},[d,g,a,s]),y=l.useCallback(()=>{const j=d[g];return j&&!j.disabled?b(j):(j||o(!1),null)},[d,g,b]),p=l.useCallback(()=>{o(!1),i("")},[]);return{showCommands:s,setShowCommands:o,commandQuery:a,selectedIndex:g,filteredCommands:d,slashTriggerPos:c,detectCommandTrigger:S,handleCommandSelect:b,handleArrowUp:v,handleArrowDown:k,handleKeyboardSelect:y,resetCommand:p}}function kb({fileEntries:e,input:t,cursorPos:n}){const[s,o]=l.useState(!1),[a,i]=l.useState(""),[c,u]=l.useState(0),[d,m]=l.useState(-1),h=l.useMemo(()=>s?a?e.map(v=>({...v,...Gt(a,v.path)})).filter(v=>v.match).sort((v,y)=>y.score-v.score).slice(0,50):e.slice(0,50).map(v=>({...v,indices:[]})):[],[e,a,s]);l.useEffect(()=>{u(0)},[a,s]),l.useEffect(()=>{h.length>0&&c>=h.length&&u(h.length-1)},[h.length,c]);const f=l.useCallback((v,y)=>{const j=v.slice(0,y).match(/(^|\s)@([\w./:-]*)$/);return j?(o(!0),i(j[2]),m((j.index??0)+j[1].length),!0):(o(!1),!1)},[]),x=l.useCallback(v=>{const y=t.slice(0,d),p=t.slice(d+1+a.length);if(v.isDirectory){const _=y+"@"+v.path+p,D=y.length+1+v.path.length;return i(v.path),u(0),{newValue:_,newCursorPos:D,keepOpen:!0}}const j=y+"@"+v.path+" "+p;return o(!1),{newValue:j,keepOpen:!1}},[t,d,a]),g=l.useCallback(()=>{u(v=>h.length===0?0:(v+1)%h.length)},[h.length]),S=l.useCallback(()=>{u(v=>h.length===0?0:(v-1+h.length)%h.length)},[h.length]),b=l.useCallback(()=>h.length>0&&c<h.length?x(h[c]):(o(!1),null),[h,c,x]),k=l.useCallback(()=>{o(!1),i("")},[]);return{showFiles:s,setShowFiles:o,fileQuery:a,fileSelectedIndex:c,filteredFiles:h,fileTriggerPos:d,detectFileTrigger:f,handleFileSelect:x,handleArrowUp:S,handleArrowDown:g,handleKeyboardSelect:b,resetFiles:k}}function vb({input:e,setInput:t,commands:n,fileEntries:s}){const[o,a]=l.useState(0),i=yb({commands:n,input:e,cursorPos:o}),c=kb({fileEntries:s,input:e,cursorPos:o}),u=l.useCallback((_,D)=>{if(c.detectFileTrigger(_,D)){i.setShowCommands(!1);return}if(i.detectCommandTrigger(_,D)){c.setShowFiles(!1);return}c.setShowFiles(!1),i.setShowCommands(!1)},[c,i]),d=l.useRef({value:e,cursor:0});l.useEffect(()=>{d.current.value=e},[e]);const m=l.useCallback(_=>{t(_),d.current={value:_,cursor:d.current.cursor||_.length},u(_,d.current.cursor)},[t,u]),h=l.useCallback(_=>{a(_),d.current={value:d.current.value,cursor:_},u(d.current.value,_)},[u]),f=l.useCallback(_=>{const D=i.handleCommandSelect(_);t(D)},[i,t]),x=l.useCallback(_=>{const D=c.handleFileSelect(_);t(D.newValue),D.newCursorPos!==void 0&&a(D.newCursorPos)},[c,t]),g=l.useCallback(()=>{c.showFiles?c.handleArrowDown():i.handleArrowDown()},[c,i]),S=l.useCallback(()=>{c.showFiles?c.handleArrowUp():i.handleArrowUp()},[c,i]),b=l.useCallback(()=>{if(c.showFiles){const _=c.handleKeyboardSelect();_&&(t(_.newValue),_.newCursorPos!==void 0&&a(_.newCursorPos))}else if(i.showCommands){const _=i.handleKeyboardSelect();_&&t(_)}},[c,i,t]),k=l.useCallback(()=>{i.setShowCommands(!1),c.setShowFiles(!1)},[i,c]),v=i.showCommands||c.showFiles,y=c.showFiles&&c.filteredFiles.length>0||i.showCommands&&i.filteredCommands.length>0,p=c.showFiles?"file-palette-listbox":i.showCommands?"command-palette-listbox":void 0,j=c.showFiles&&c.filteredFiles.length>0?`file-item-${c.fileSelectedIndex}`:i.showCommands&&i.filteredCommands.length>0?`command-item-${i.selectedIndex}`:void 0;return{commands:{show:i.showCommands,filtered:i.filteredCommands,selectedIndex:i.selectedIndex},files:{show:c.showFiles,filtered:c.filteredFiles,selectedIndex:c.fileSelectedIndex},isPaletteOpen:v,paletteHasResults:y,activeDescendantId:j,paletteListboxId:p,handleInputChange:m,handleCursorChange:h,handleArrowUp:S,handleArrowDown:g,handleKeyboardSelect:b,handleCommandSelect:f,handleFileSelect:x,dismissPalettes:k}}function Cb(e,t,n){const s=ce(i=>i.setIsStreaming),o=ce(i=>i.setIsWaitingForUser),a=ce(i=>i.setIsTextStreaming);l.useEffect(()=>(s(e==="streaming"),()=>s(!1)),[e,s]),l.useEffect(()=>(o(t),()=>o(!1)),[t,o]),l.useEffect(()=>(a(n),()=>a(!1)),[n,a])}function Sb(){const e=ke(),t=ce(f=>f.selectedCwd),[n,s]=l.useState([]),o=l.useCallback(f=>{const x=f.map(g=>({id:crypto.randomUUID(),file:g,status:"pending",progress:0}));s(g=>[...g,...x])},[]),a=l.useCallback(f=>{s(x=>x.filter(g=>g.id!==f))},[]),i=l.useCallback(()=>{s([])},[]),c=l.useCallback(f=>{s(x=>x.map(g=>g.id===f&&g.status==="error"?{...g,status:"pending",progress:0,error:void 0}:g))},[]),u=l.useRef(null),d=St({meta:{suppressErrorToast:!0},mutationFn:async f=>{if(!t)throw new Error("No working directory selected");s(b=>b.map(k=>f.some(v=>v.id===k.id)?{...k,status:"uploading"}:k));const x=b=>{s(k=>k.map(v=>v.status==="uploading"?{...v,progress:b.percentage}:v))},g=new AbortController;u.current=g;const S=f.map(b=>b.file);return e.uploadFiles(S,t,x,g.signal)},onSettled:()=>{u.current=null},onSuccess:(f,x)=>{s(g=>g.map(S=>{const b=x.findIndex(k=>k.id===S.id);return b===-1?S:{...S,status:"uploaded",progress:100,result:f[b]}}))},onError:f=>{s(x=>x.map(g=>g.status==="uploading"?{...g,status:"error",error:f.message}:g))}}),m=l.useCallback(()=>{var f;(f=u.current)==null||f.abort()},[]),h=l.useCallback(async()=>{const f=n.filter(b=>b.status==="error");if(f.length>0)throw new Error(f.length===1?`${f[0].file.name} did not upload. Retry it or remove it, then send again.`:`${f.length} attachments did not upload. Retry them or remove them, then send again.`);const x=n.filter(b=>b.status==="uploaded"&&b.result).map(b=>b.result.savedPath),g=n.filter(b=>b.status==="pending");if(g.length===0)return x;const S=await d.mutateAsync(g);return[...x,...S.map(b=>b.savedPath)]},[n,d]);return{pendingFiles:n,addFiles:o,removeFile:a,retryFile:c,clearFiles:i,cancelUpload:m,uploadAndGetPaths:h,hasPendingFiles:n.length>0,hasFailedUpload:n.some(f=>f.status==="error"),isUploading:d.isPending}}const Mn=new Set,On=new Set;function jb(e,t){return`${e}\0${t}`}function _b({sessionId:e,prompt:t,autoSend:n,input:s,setInput:o,messageCount:a,hydrated:i,status:c,submitBlocked:u=!1,submit:d,onSeeded:m,onConsumed:h}){const f=t!=null&&t.trim()?t:void 0,x=e&&f?jb(e,f):null;l.useEffect(()=>{if(!(!x||!f)&&!Mn.has(x)&&i){if(Mn.add(x),s.length>0||a>0){On.add(x),h==null||h();return}o(f),m==null||m(),n||h==null||h()}},[x,f,n,s,i,a,o,m,h]),l.useEffect(()=>{!x||!f||!n||On.has(x)||Mn.has(x)&&s===f&&(!i||a>0||c==="streaming"||u||(On.add(x),h==null||h(),d()))},[x,f,n,s,i,a,c,u,d,h])}const Br=gc-256,qr=`
|
|
52
|
+
…(context truncated)`,Ur={"/":"the home team room","/activity":"the activity feed","/team":"the team page","/session":"a chat session","/tasks":"the scheduled-work page","/channels":"a channel","/workspaces":"the workspaces page","/connections":"the connections page","/marketplace":"the marketplace","/feedback-requests":"the feedback requests page"};function wb(e){const t=`/${e.split("/").filter(Boolean)[0]??""}`;return Ur[e]??Ur[t]??`the ${e} page`}function Nb(e){const t=['The person opened this conversation by pressing "Ask DorkBot" in the DorkOS sidebar, so they are asking for help with DorkOS itself. Greet them with what you can see below and offer the next step; do not repeat this back to them.'];e.originPath!==null&&t.push(`They were on ${wb(e.originPath)} (${e.originPath}).`),t.push(e.agentNames.length===1?"They have 1 agent registered.":`They have ${e.agentNames.length} agents registered.`),e.agentNames.length>0&&t.push(`Their agents: ${e.agentNames.join(", ")}.`),e.version!==null&&t.push(e.updateReady?`They are running DorkOS v${e.version}, and a newer version is ready to install.`:`They are running DorkOS v${e.version}.`),e.erroredSessionIds.length>0&&t.push(`These conversations ended in an error and may be what they want help with: ${e.erroredSessionIds.join(", ")}.`);const n=t.join(`
|
|
53
|
+
`);return n.length<=Br?n:n.slice(0,Br-qr.length)+qr}const Eb="dorkbot-help",Wt=new Set;function Db({sessionId:e,seed:t,messageCount:n,hydrated:s,onConsumed:o}){const a=t===Eb&&e!==null,{data:i}=xc({enabled:a}),{data:c}=ro(),u=vt(bc(f=>Object.entries(f.statuses).filter(([,x])=>x.lifecycle==="error").map(([x])=>x))),d=l.useRef({agentNames:[],version:null,updateReady:!1,erroredSessionIds:[]}),m=l.useRef({armed:a,sessionId:e,messageCount:n}),h=l.useRef(o);return l.useEffect(()=>{const f=(c==null?void 0:c.latestVersion)??null,x=(c==null?void 0:c.version)??null;d.current={agentNames:((i==null?void 0:i.agents)??[]).map(g=>g.displayName??g.name),version:x,updateReady:f!==null&&x!==null&&wu(f,x),erroredSessionIds:u}},[i,c,u]),l.useEffect(()=>{m.current={armed:a,sessionId:e,messageCount:n},h.current=o},[a,e,n,o]),l.useEffect(()=>{!a||e===null||!s||n===0||Wt.has(e)||(Wt.add(e),o==null||o())},[a,e,s,n,o]),l.useCallback(()=>{var x;const f=m.current;if(!(!f.armed||f.sessionId===null)&&!(f.messageCount>0)&&!Wt.has(f.sessionId))return Wt.add(f.sessionId),(x=h.current)==null||x.call(h),Nb({...d.current,originPath:yc()})},[])}function Tb(e,t,n,s=!1){if(e!=="error"||t||s)return!1;let o=-1;for(let i=n.length-1;i>=0;i--)if(n[i].role==="user"){o=i;break}return!n.slice(o+1).some(i=>i.parts.some(c=>c.type==="error"&&c.code!==vo))}const Ab=4e3;function Fb(e){const t=e.approvalDisplayName||ut(e.toolName,e.input??"");return e.approvalOutcome==="allowed"?`Allowed ${t}. Recorded in the chat.`:e.approvalOutcome==="denied"?`Didn’t allow ${t}. Recorded in the chat.`:`${t} wasn’t answered in time, so it didn’t run. Recorded in the chat.`}function Rb(e,t){const n=l.useRef(null),s=l.useRef(null),[o,a]=l.useState({text:"",nonce:0});return l.useEffect(()=>{s.current!==t&&(s.current=t,n.current=null);const i=e.filter(d=>d.type==="tool_call"&&d.approvalOutcome!==void 0);if(n.current===null){n.current=new Set(i.map(d=>d.toolCallId));return}const c=i.filter(d=>!n.current.has(d.toolCallId));if(c.length===0)return;for(const d of c)n.current.add(d.toolCallId);const u=c.length===1?Fb(c[0]):`Answered ${c.length} permission requests. Recorded in the chat.`;a(d=>({text:u,nonce:d.nonce+1}))},[e,t]),l.useEffect(()=>{if(o.text==="")return;const i=setTimeout(()=>a(c=>({text:"",nonce:c.nonce})),Ab);return()=>clearTimeout(i)},[o]),o.text===""?"":o.nonce%2===0?o.text:`${o.text}`}const Hr=["hsl(var(--chart-1))","hsl(var(--chart-2))","hsl(var(--chart-3))","hsl(var(--chart-4))","hsl(var(--chart-5))"],Wr=5e3,Mb=1e3,Ob=1500,Ib=new Set;function $b(e){const t=l.useRef(new Map),n=Ao({byTask:new Map,assigned:0}),[s,o]=l.useState(Ib),[,a]=l.useState(0),i=l.useMemo(()=>{const u=new Map;for(const d of e)for(const m of d.parts)m.type==="background_task"&&u.set(m.taskId,m);return u},[e]);l.useEffect(()=>{if(!Array.from(i.values()).some(m=>m.taskType==="bash"&&m.status==="running"&&Date.now()-m.startedAt<Wr))return;const d=setInterval(()=>{a(m=>m+1)},Mb);return()=>clearInterval(d)},[i]);const c=l.useRef(new Set);return l.useLayoutEffect(()=>{for(const[u,d]of i)t.current.get(u)==="running"&&d.status!=="running"&&!Gs(d)&&o(h=>h.has(u)?h:new Set(h).add(u)),t.current.set(u,d.status)},[i]),l.useEffect(()=>{for(const u of s)c.current.has(u)||(c.current.add(u),setTimeout(()=>{c.current.delete(u),o(d=>{if(!d.has(u))return d;const m=new Set(d);return m.delete(u),m})},Ob))},[s]),l.useMemo(()=>{const u=Date.now(),d=[],m=n.read();let h=m.assigned;for(const[f,x]of i){const g=x.status==="running",S=s.has(f);if(!g&&!S||x.taskType==="bash"&&g&&u-x.startedAt<Wr)continue;let b=m.byTask.get(f);b===void 0&&(b=Hr[h%Hr.length],h+=1,m.byTask.set(f,b),n.write({byTask:m.byTask,assigned:h})),d.push({taskId:x.taskId,taskType:x.taskType,status:x.status,color:b,startedAt:x.startedAt,description:x.description,toolUses:x.toolUses,lastToolName:x.lastToolName,durationMs:x.durationMs,summary:x.summary,command:x.command,ambient:Gs(x)})}return d},[i,s,n])}const Pb=new Set(["streaming","blocked"]);function Lb(e,t){return e.length===0||e[0].waitingOn!==void 0||t&&Pb.has(t)?e:e.slice(1)}function In(e,t,n){return`${e} ${e===1?t:n}`}const Gr={"delivery-owed":"a helper’s report","waiting-on-person":"your answer","timer-pending":"a reminder the agent set"},zb={"timer-pending":"Switching now cancels the reminder."};function Bb(e){const{agents:t,shells:n,other:s}=e.holding,o=[t>0?In(t,"helper","helpers"):void 0,n>0?In(n,"command","commands"):void 0,s>0?In(s,"background job","background jobs"):void 0].filter(d=>d!==void 0),a=o.length===0?void 0:o.length===1?o[0]:`${o.slice(0,-1).join(", ")} and ${o.at(-1)}`,i=e.pins,c=i.includes("cwd")&&e.targetFolderName?`moves to ${e.targetFolderName}`:i.includes("agentIdentity")?"switches agents":i.includes("systemPromptAppend")?"loads new instructions":"applies new settings";return{line:`${a!==void 0?`Held for ${a}.`:e.because!==void 0&&Gr[e.because]!==void 0?`Held for ${Gr[e.because]}.`:"Held until the agent is free."} Sending it ${c}.`,switchHint:a!==void 0?`Switching now stops ${a}.`:(e.because!==void 0?zb[e.because]:void 0)??"Switching now stops what the agent is doing."}}const qb={"session-idle":null,unsupported:"Queued. This agent can’t take a message mid-task.","not-steerable":"Couldn’t cut in. It’s waiting in line.","not-stageable":null,"turn-owned-elsewhere":"Couldn’t cut in: something else is running it. It’s waiting in line.","pending-interaction":"Queued. The agent needs your answer first."};function Ub(e){return e!=null&&e.degradedBecause?qb[e.degradedBecause]:null}function Vr(e){return(e==null?void 0:e.code)==="QUEUED_MESSAGE_NOT_FOUND"}function Hb({sessionId:e,waiting:t,onEnqueue:n}){const s=ke(),o=kc(e??""),[a,i]=l.useState(null),c=l.useMemo(()=>t.map(p=>({id:p.id,content:p.content,mine:s.clientId===void 0||p.enqueuedBy===s.clientId,notice:Ub(o[p.id]),...p.waitingOn?{waiting:Bb(p.waitingOn)}:{}})),[t,o,s.clientId]),u=l.useMemo(()=>{if(a===null)return null;const p=c.findIndex(j=>j.id===a);return p===-1?null:p},[a,c]),d=l.useCallback(()=>{var p;if(e)return(p=Ee.getState().getSession(e).queuedMessages[0])==null?void 0:p.id},[e]),m=l.useCallback((p,j)=>{p().catch(_=>{Vr(_)||Ae.error(j)})},[]),h=l.useCallback(async p=>{const j=p.trim();return!j||!e?!1:n(j)},[e,n]),f=l.useCallback((p,j)=>{e&&m(()=>s.updateQueuedMessage(e,p,{content:j}),"Couldn’t save that change")},[e,s,m]),x=l.useCallback(p=>{i(j=>j===p?null:j),e&&m(()=>s.removeQueuedMessage(e,p),"Couldn’t take that message off the queue")},[e,s,m]),g=l.useCallback((p,j)=>{if(!e)return;const _=D=>s.updateQueuedMessage(e,p,{move:{before:D}});m(async()=>{try{await _(j)}catch(D){if(!Vr(D))throw D;const A=d();if(A===void 0||A===p)return;await _(A)}},"Couldn’t move that message")},[e,s,m,d]),S=l.useCallback(p=>c.findIndex(_=>_.id===p)<=0?!1:(i(_=>_===p?null:_),g(p,c[0].id),!0),[c,g]),b=l.useCallback(p=>{const j=c.findIndex(_=>_.id===p);j<=0||g(p,c[j-1].id)},[c,g]),k=l.useCallback(p=>{const j=c.find(_=>_.id===p);return j?(i(p),j.content):null},[c]),v=l.useCallback(()=>{i(null)},[]),y=l.useCallback(p=>{a!==null&&(f(a,p),i(null))},[a,f]);return{queue:c,editingId:a,editingIndex:u,addToQueue:h,removeFromQueue:x,sendNow:S,moveUp:b,startEditing:k,cancelEditing:v,saveEditing:y,updateQueued:f}}function Va(e,t){return e===null?null:`${e} ${t??""}`}function Wb({input:e,setInput:t,sessionId:n,selectedCwd:s,waiting:o,onEnqueue:a,onSteer:i,onStage:c,tryNativeCommand:u,chatInputRef:d}){const m=l.useRef(""),h=l.useRef(null),f=Va(n,s);l.useEffect(()=>{m.current="",h.current=null},[f]);const x=Hb({sessionId:n,waiting:o,onEnqueue:a}),g=x.cancelEditing;l.useEffect(()=>{g()},[f,g]);const S=l.useCallback(()=>{const F=x.editingId;if(F===null)return;const I=e.trim();I&&(x.updateQueued(F,I),Nx(I)&&Ae.warning("Saved as a command. It runs instead of sending."))},[e,x]),b=Ws(x.editingId),k=Ws(x.updateQueued);l.useEffect(()=>{const F=n;return()=>{const I=b.read();if(I===null||!F)return;const L=re.getState(),U=L.getSession(F).input.trim();U&&k.read()(I,U),L.updateSession(F,{input:m.current})}},[f]);const v=l.useCallback(F=>{const I=e.trim();if(!I)return;const L=u(I);if(L.handled){if(!L.ran)return;L.confirmed?Jn(n,I,L.confirmed):t("");return}if(h.current===I)return;h.current=I,at.getState().recordOpened("session",n),s&&at.getState().recordOpened("agent",s);const U=F(I);U.finally(()=>{h.current===I&&(h.current=null)}),Jn(n,I,U)},[e,s,n,t,u]),y=l.useCallback(()=>v(F=>x.addToQueue(F)),[v,x]),p=l.useCallback(()=>{i&&v(i)},[v,i]),j=l.useCallback(()=>{c&&v(c)},[v,c]),_=l.useCallback(F=>{var U,W;if(x.editingId===F){(U=d.current)==null||U.focus();return}const I=x.editingId!==null;I&&S();const L=x.startEditing(F);L!==null&&(I||(m.current=e),t(L),(W=d.current)==null||W.focus())},[e,x,S,t,d]),D=l.useCallback(()=>{if(x.editingId===null)return;const F=e.trim();if(!F)return;const I=u(F);if(I.handled){I.ran&&(x.cancelEditing(),t(m.current));return}x.saveEditing(F),t(m.current)},[e,x,t,u]),A=l.useCallback(()=>{x.cancelEditing(),t(m.current)},[x,t]),N=l.useCallback(F=>{x.editingId===F&&t(m.current),x.removeFromQueue(F)},[x,t]),T=l.useCallback(F=>{const I=x.editingId===F;I&&S(),x.sendNow(F)&&I&&t(m.current)},[x,S,t]),C=l.useCallback(F=>{x.moveUp(F)},[x]),E=l.useCallback(F=>{var U;const I=(U=x.queue[F])==null?void 0:U.id;if(I!==void 0&&I===x.editingId)return;S();const L=I===void 0?null:x.startEditing(I);if(L===null){x.cancelEditing(),t(m.current);return}t(L)},[x,S,t]),w=l.useCallback(()=>{S(),x.cancelEditing(),t(m.current)},[S,x,t]),R=l.useCallback(()=>{const{editingIndex:F,queue:I}=x;if(F===null){if(I.length===0)return;m.current=e,E(I.length-1)}else F>0?E(F-1):w()},[E,e,w,x]),M=l.useCallback(()=>{const{editingIndex:F,queue:I}=x;F!==null&&(F<I.length-1?E(F+1):w())},[E,w,x]);return{queue:x.queue,editingId:x.editingId,editingIndex:x.editingIndex,handleQueue:y,handleSteer:p,handleStage:j,handleQueueEdit:_,handleQueueSaveEdit:D,handleQueueCancelEdit:A,handleQueueRemove:N,handleQueueSend:T,handleQueueMoveUp:C,handleQueueNavigateUp:R,handleQueueNavigateDown:M,leaveQueueForStop:w}}const Gb=5e3,Kr=3;function Ka(){try{const e=Number(localStorage.getItem(Fo.PLACEHOLDER_HINT_CYCLES));return Number.isFinite(e)&&e>0?e:0}catch{return 0}}function Vb(){const e=Ka()+1;try{localStorage.setItem(Fo.PLACEHOLDER_HINT_CYCLES,String(e))}catch{}return e}function Kb(e){const t=[...e];for(let n=t.length-1;n>0;n--){const s=Math.floor(Math.random()*(n+1));[t[n],t[s]]=[t[s],t[n]]}return t}function Qb({defaultText:e,hints:t,enabled:n,intervalMs:s=Gb}){const[o]=l.useState(()=>t.length>0?Kb(t):[]),[a,i]=l.useState(()=>Ka()>=Kr),[c,u]=l.useState({key:0,hintIndex:-1}),d=l.useRef(0),m=l.useRef(0),h=l.useRef(!1);return l.useEffect(()=>{if(a||!n||t.length===0){h.current&&(h.current=!1,d.current+=1,u({key:d.current,hintIndex:-1}));return}const x=setInterval(()=>{if(d.current+=1,h.current=!h.current,!h.current){u({key:d.current,hintIndex:-1});return}const g=m.current%t.length;m.current+=1,m.current%t.length===0&&Vb()>=Kr&&i(!0),u({key:d.current,hintIndex:g})},s);return()=>clearInterval(x)},[n,t.length,s,a]),{text:c.hintIndex>=0?o[c.hintIndex]??e:e,key:c.key}}const $n=/[.!?…:](?=\s|$)|\n/g;function Qr(e,t,n){const s=e.startsWith(t)?t.length:0,o=e.slice(0,s),a=e.slice(s);if(a.trim()==="")return{chunk:"",announced:o};if(n)return{chunk:a.trim(),announced:e};$n.lastIndex=0;let i=-1;for(let c=$n.exec(a);c!==null;c=$n.exec(a))i=c.index+c[0].length;return i===-1?{chunk:"",announced:o}:{chunk:a.slice(0,i).trim(),announced:e.slice(0,s+i)}}const Yb=1500,Xb=4e3,Jb=400;function Zb({messageId:e,text:t,isStreaming:n}){const s=l.useRef(new Map),[o,a]=l.useState({text:"",nonce:0});return l.useEffect(()=>{if(e===void 0)return;if(s.current.get(e)===void 0){if(!n)return;s.current.clear(),s.current.set(e,{announced:t.length<=Jb?"":t})}const c=s.current.get(e),{chunk:u,announced:d}=Qr(t,c.announced,!1);c.announced=d,u!==""&&a(h=>({text:u,nonce:h.nonce+1}));const m=setTimeout(()=>{const h=Qr(t,c.announced,!0);c.announced=h.announced,h.chunk!==""&&a(f=>({text:h.chunk,nonce:f.nonce+1}))},Yb);return()=>clearTimeout(m)},[e,t,n]),l.useEffect(()=>{if(o.text==="")return;const i=setTimeout(()=>a(c=>({text:"",nonce:c.nonce})),Xb);return()=>clearTimeout(i)},[o]),o.text===""?"":o.nonce%2===0?o.text:`${o.text}`}const Qa={reactions:!1,threads:!1,runWith:!0,attachments:!0,mentions:!1,streamHealth:!1,presence:!1,turnStatus:!0,asks:!0};function Yr(e){return e>=1e3?`~${(e/1e3).toFixed(1)}k tokens`:`~${Math.round(e)} tokens`}function ey(e){const{formatted:t}=Lo(e.status==="streaming"?e.streamStartTime:null),n=co(e.permissionMode),s=l.useRef(e.status),o=l.useRef(t),a=l.useRef(e.estimatedTokens),[i,c]=l.useState(!1);return l.useEffect(()=>{e.status==="streaming"&&(o.current=t,a.current=e.estimatedTokens,s.current!=="streaming"&&c(!1))},[e.status,t,e.estimatedTokens]),l.useEffect(()=>{s.current==="streaming"&&e.status==="idle"&&a.current>0&&c(!0),s.current=e.status},[e.status]),l.useEffect(()=>{if(!i)return;const u=setTimeout(()=>c(!1),en.TURN_COMPLETE_DISMISS_MS);return()=>clearTimeout(u)},[i]),Eu({capabilities:Qa,asks:e.asks??Oo,stalled:!1,presence:Du,turn:{status:e.status,isWaitingForUser:e.isWaitingForUser,waitingType:e.waitingType,operationProgress:e.operationProgress==null?null:{message:e.operationProgress.message??null,determinate:e.operationProgress.determinate,percent:e.operationProgress.percent??null},systemStatus:e.systemStatus??null,elapsed:t,activity:e.activity,tokens:Yr(e.estimatedTokens),isBypass:n,showComplete:i,lastElapsed:o.current,lastTokens:Yr(a.current)}})}function ty(e){const{sessionId:t,placeholder:n,files:s}=e,o=l.useRef(e);l.useEffect(()=>{o.current=e});const a=l.useCallback(S=>o.current.files.addFiles(S),[]),i=l.useCallback(S=>o.current.files.removeFile(S),[]),c=l.useCallback(S=>o.current.files.retryFile(S),[]),u=l.useCallback(()=>o.current.files.cancelUpload(),[]),{pendingFiles:d,hasFailedUpload:m,isUploading:h}=s,f=l.useMemo(()=>({staged:d,add:a,remove:i,retry:c,cancel:u,hasFailed:m,isUploading:h,holdsSendWhileUploading:!0}),[d,m,h,a,i,c,u]),x=l.useCallback(async S=>{await o.current.submit(S.text)},[]),g=l.useCallback(async S=>{if(!await o.current.enqueue(S.text))throw new Error("Couldn’t queue that message. Try again.")},[]);return l.useMemo(()=>({kind:"session",id:t,placeholder:n,canSend:t!=="",...t===""?{canSendReason:"Pick a chat, or start a new one."}:{},send:x,queue:g,attachments:f}),[t,n,f,x,g])}function ny({error:e,composerAgent:t,onRetry:n}){return e.code===yo&&e.agentId?r.jsx("div",{className:"mx-4 mb-2",children:r.jsx(Yo,{agentId:e.agentId,...(t==null?void 0:t.id)===e.agentId?{agentName:nn(t,"This agent")}:{}})}):r.jsx("div",{className:"mx-4 mb-2",children:r.jsx(on,{message:e.message,heading:e.heading,subtext:e.message,onRetry:e.retryable?n:void 0})})}const sy={duration:.16,delay:.08,ease:[.16,1,.3,1]},ry={duration:0};function oy({sessionId:e,activeInteraction:t,pendingApprovals:n,focusedOptionIndex:s,onToolRef:o,onToolDecided:a,queueDepth:i=0,allowsDenyReason:c=!0}){const u=g=>a(t.toolCallId,g),d=Fe(),{answerAll:m,isAnswering:h,error:f}=vc(),x=l.useMemo(()=>n.map(g=>({sessionId:e,cwd:"",interaction:{type:"approval",id:g.toolCallId,startedAt:g.approvalStartedAt??0,remainingMs:g.timeoutMs??0,toolName:g.toolName,input:g.input??"",hasSuggestions:g.approvalHasSuggestions??!1}})),[n,e]);return r.jsxs(r.Fragment,{children:[n.length>=2&&r.jsx(Cc,{className:"mb-1.5",headline:`${n.length} tools are waiting on you`,items:n.map(g=>({id:g.toolCallId,line:ut(g.toolName,g.input??"")})),onAllowAll:()=>void m(x,"allow"),onDenyAll:()=>void m(x,"deny"),isAnswering:h,error:f}),r.jsx(fe,{mode:"wait",initial:!1,children:r.jsx(K.div,{initial:d?!1:{opacity:0,y:6},animate:{opacity:1,y:0},transition:d?ry:sy,children:t.interactiveType==="approval"?r.jsx(Xo,{ref:o,sessionId:e,toolCallId:t.toolCallId,toolName:t.toolName,input:t.input||"",isActive:!0,onDecided:u,timeoutMs:t.timeoutMs,approvalStartedAt:t.approvalStartedAt,approvalRemainingMs:t.approvalRemainingMs,approvalParked:t.approvalParked,approvalTitle:t.approvalTitle,approvalDisplayName:t.approvalDisplayName,approvalDescription:t.approvalDescription,approvalBlockedPath:t.approvalBlockedPath,approvalDecisionReason:t.approvalDecisionReason,approvalHasSuggestions:t.approvalHasSuggestions,approvalAlwaysAllowScope:t.approvalAlwaysAllowScope,allowsDenyReason:c}):t.interactiveType==="question"&&t.questions?r.jsx(Co,{ref:o,sessionId:e,toolCallId:t.toolCallId,questions:t.questions,answers:t.answers,isActive:!0,focusedOptionIndex:s,onDecided:u}):null},t.toolCallId)}),i>0&&r.jsx("p",{className:"text-muted-foreground px-1 pt-2 text-xs",children:i===1?"1 message sends once you answer.":`${i} messages send once you answer.`})]})}function ay({filteredCommands:e,selectedIndex:t,onSelect:n}){const s=l.useMemo(()=>{const o=[],a=new Map;let i=0;for(const c of e){const u=c.namespace??"built-in";a.has(u)||a.set(u,[]),a.get(u).push({cmd:c,index:i++})}for(const[c,u]of a)o.push({namespace:c,items:u});return o},[e]);return l.useEffect(()=>{const o=document.getElementById(`command-item-${t}`);o&&o.scrollIntoView({block:"nearest"})},[t]),r.jsx(K.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:r.jsx("div",{id:"command-palette-listbox",role:"listbox",className:"max-h-72 overflow-y-auto p-1.5",children:e.length===0?r.jsx("div",{className:"text-muted-foreground px-2 py-4 text-center text-sm",children:"No commands found."}):s.map(({namespace:o,items:a},i)=>r.jsxs("div",{children:[i>0&&r.jsx("div",{className:"bg-border mx-2 my-1.5 h-px"}),r.jsx("div",{className:"text-muted-foreground/70 text-2xs px-2 pt-1.5 pb-1 font-medium tracking-wide uppercase",children:o}),a.map(({cmd:c,index:u})=>{const d=u===t,m=c.disabled===!0;return r.jsxs("div",{id:`command-item-${u}`,role:"option","aria-selected":d,"aria-disabled":m,"data-selected":d,"data-disabled":m,tabIndex:d?0:-1,onClick:()=>{m||n(c)},onKeyDown:h=>{h.key==="Enter"&&!m&&n(c)},className:m?"cursor-not-allowed rounded-md px-2 py-1.5 opacity-45":"data-[selected=true]:bg-accent hover:bg-muted cursor-pointer rounded-md px-2 py-1.5 transition-colors duration-100",children:[r.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[r.jsx("span",{className:"text-foreground text-control shrink-0 font-mono font-medium",children:c.fullCommand}),c.argumentHint&&r.jsx("span",{className:"text-muted-foreground/50 shrink-0 font-mono text-xs",children:c.argumentHint}),m&&c.disabledReason?r.jsx("span",{className:"text-muted-foreground/70 text-2xs ml-auto shrink-0",children:c.disabledReason}):c.matchedAlias&&r.jsxs("span",{className:"text-muted-foreground/60 text-2xs ml-auto shrink-0 font-mono italic",children:["matched /",c.matchedAlias.replace(/^\//,"")]})]}),c.description&&r.jsx("p",{className:"text-muted-foreground mt-0.5 truncate text-xs leading-normal",children:c.description})]},c.fullCommand)})]},o))})})}function iy(e,t,n,s){return e!==null?`Edit queued message ${e+1} of ${n}. Press Enter to save`:t&&n>0?`Compose another (${n} queued)`:t?"Compose next. It sends when ready":s}function ly({chatInputRef:e,input:t,autocomplete:n,steerContent:s,addContextContent:o,tryNativeCommand:a,commandPending:i,agentLookupPending:c=!1,agentLookupError:u=!1,status:d,stop:m,setInput:h,sessionId:f,sessionStatus:x,waiting:g,interaction:S,sync:b}){var ze,Xe;const{active:k,pendingApprovals:v,focusedOptionIndex:y,onToolRef:p,onToolDecided:j}=S,_=d==="streaming",D=ce(be=>be.isTextStreaming),[A]=Ro(),N=ke(),{data:T}=ps(A),C=Sc(T??null,A??""),E=T?nn(T):void 0,{target:w}=Tu(),R=(w==null?void 0:w.placeholder)??"Send a message…",M=jc(f),F=pm(f),I=sn(f),L=tn(I),U=_c(f),W=((L==null?void 0:L.supportsSteer)??!1)&&(U??!0),te=(L==null?void 0:L.supportsContextStaging)??!1,G=((ze=L==null?void 0:L.permissionModes)==null?void 0:ze.denyReason)??!0,B=l.useCallback(async be=>{if((w==null?void 0:w.queue)===void 0)return!1;try{return await w.queue({text:be}),!0}catch{return!1}},[w]),O=Wb({input:t,setInput:h,sessionId:f,selectedCwd:A,waiting:g,onEnqueue:B,onSteer:s,onStage:o,tryNativeCommand:a,chatInputRef:e}),[$,Q]=l.useState(null),ue=l.useRef(null),P=l.useCallback(be=>{const ye=ue.current;if(ue.current=null,be.length===0)return;const Ne=be.map(Me=>ye&&Me.id===ye.id?ye.content:Me.content).join(`
|
|
54
54
|
|
|
55
55
|
`),We=re.getState().getSession(f).input.trim();h(We?`${We}
|
|
56
56
|
|
|
57
|
-
${Ne}`:Ne)},[f,h]),[Y,J]=l.useState(null),se=Y===f&&w,ee=l.useRef(null),V=l.useCallback(()=>{ee.current=null,J(null)},[]);l.useEffect(()=>{w||V()},[w,f,V]);const de=l.useRef(w);l.useEffect(()=>{de.current=w},[w]);const ge=O.leaveQueueForStop,pe=l.useRef(O.editingId);l.useEffect(()=>{pe.current=O.editingId},[O.editingId]);const z=l.useCallback(()=>{const be=pe.current;if(be!==null){const ye=re.getState().getSession(f).input.trim();ye&&(ue.current={id:be,content:ye}),ge()}ee.current=f,J(f),m().then(ye=>{P(ye.cancelled),db(ye.receipt,de.current)&&V();const Ne=ub(ye.receipt);Ne.message!==null&&!Do(ye.receipt)&&(Ne.isFailure?Ae.error(Ne.message):Ae.warning(Ne.message))}).catch(()=>{V()})},[f,m,P,V,ge]),ve=l.useCallback(()=>{if(!(ee.current===f||se)){if(g.length===0){z();return}Q({sessionId:f,queuedCount:g.length})}},[f,se,g.length,z]),X=l.useCallback(()=>{ee.current===f||se||(Q(null),z())},[f,se,z]);l.useEffect(()=>{($==null?void 0:$.sessionId)===f&&g.length===0&&Q(null)},[$,f,g.length]);const{messages:Z}=Eo(f),ae=_o(f),me=l.useMemo(()=>Ga(ae,Z),[ae,Z]),we=$b(me),ie=l.useCallback(async be=>{if(f)try{await N.stopTask(f,be)}catch(ye){console.error("[chat] Failed to stop task:",ye)}},[f,N]),Fe=l.useCallback(()=>{f&&N.switchSessionProcess(f).catch(()=>{Ae.error("Couldn’t switch. Try again.")})},[f,N]),Ce=l.useRef(t);l.useEffect(()=>{Ce.current=t});const je=l.useCallback(be=>{var Re;const ye=Ce.current,Ne=ye.length>0&&!/\s$/.test(ye)?" ":"",We=`${ye}${Ne}${be}`;h(We),(Re=e.current)==null||Re.focusAt(We.length)},[h,e]);l.useEffect(()=>Xu(je),[je]);const xe=!w&&O.editingIndex===null,De=Qb({defaultText:R,hints:Xx,enabled:xe&&t===""}),Oe=Zu(),le=l.useCallback(()=>{n.dismissPalettes(),!(_===null||!_.canSend)&&_.send({text:t})},[n,_,t]),_e=l.useCallback(()=>{n.dismissPalettes(),O.handleQueue()},[n,O]),mt=l.useCallback(()=>{n.dismissPalettes(),O.handleSteer()},[n,O]),pt=l.useCallback(()=>{n.dismissPalettes(),O.handleStage()},[n,O]);return r.jsx(wt.Composer,{className:"chat-input-container",onPathDropped:be=>je(Ju(be)),inputRef:e,value:t,onChange:n.handleInputChange,onSubmit:le,head:r.jsx(fe,{children:w&&r.jsx(Sd,{color:C.color,isTextStreaming:D,edge:"top"})}),asks:k?r.jsx(oy,{sessionId:f,activeInteraction:k,pendingApprovals:v,focusedOptionIndex:y,onToolRef:p,onToolDecided:j,queueDepth:O.queue.length,allowsDenyReason:G}):null,overlays:r.jsx(r.Fragment,{children:r.jsxs(fe,{children:[n.commands.show&&r.jsx(ay,{filteredCommands:n.commands.filtered,selectedIndex:n.commands.selectedIndex,onSelect:n.handleCommandSelect}),n.files.show&&r.jsx(xm,{filteredFiles:n.files.filtered,selectedIndex:n.files.selectedIndex,onSelect:n.handleFileSelect})]})}),queue:r.jsx(fe,{children:O.queue.length>0&&r.jsx(yx,{queue:O.queue,editingId:O.editingId,onEdit:O.handleQueueEdit,onRemove:O.handleQueueRemove,onSend:O.handleQueueSend,onMoveUp:O.handleQueueMoveUp,onSwitchNow:Fe,statusNote:M?"Waiting for your answer above":((Xe=O.queue[0])==null?void 0:Xe.waiting)!==void 0?"Sending when the agent is free":"Sending one at a time as the agent finishes"})}),aboveInput:r.jsx(gx,{tasks:we,onStopTask:ie}),footer:r.jsx(wt.Footer,{asChild:!0,children:r.jsx(Ux,{sessionId:f,sessionStatus:x,isStreaming:w,syncConnectionState:b.connectionState,agentName:E,agentColor:C.color,agentEmoji:C.emoji,agentPath:A??void 0})}),input:{isStreaming:w,commandPending:i,...c||u?{canSubmit:!1,canSubmitReason:u?"Check this folder again before you start.":"Checking this folder…"}:{},...F.canSubmit?{}:{canSubmit:!1},onStop:ve,stopPending:se,onEscape:n.dismissPalettes,onClear:()=>{h(""),n.dismissPalettes()},isPaletteOpen:n.isPaletteOpen,paletteHasResults:n.paletteHasResults,onArrowUp:n.handleArrowUp,onArrowDown:n.handleArrowDown,onCommandSelect:n.handleKeyboardSelect,activeDescendantId:n.activeDescendantId,paletteListboxId:n.paletteListboxId,onCursorChange:n.handleCursorChange,richText:Oe,editingQueueItem:O.editingIndex!==null,...O.editingIndex===null?{}:{editingPosition:O.editingIndex+1},queueDepth:O.queue.length,onQueue:_e,...W?{onSteer:mt}:{},...te?{onStage:pt}:{},onSaveEdit:O.handleQueueSaveEdit,onCancelEdit:O.handleQueueCancelEdit,onQueueNavigateUp:O.handleQueueNavigateUp,onQueueNavigateDown:O.handleQueueNavigateDown,queueHasItems:O.queue.length>0,contextKey:Va(f,A)??void 0,placeholder:F.placeholder??iy(O.editingIndex,w,O.queue.length,R),placeholderOverlay:xe&&F.canSubmit?r.jsx(Sx,{text:De.text,animationKey:De.key}):null},children:r.jsx(kx,{open:($==null?void 0:$.sessionId)===f,onOpenChange:be=>{be||Q(null)},queuedCount:($==null?void 0:$.queuedCount)??0,onConfirm:X})})}const cy=e=>{const t=e;return t.role==="user"?r.jsx(Qg,{message:t}):r.jsx(qg,{message:t})};function uy(e,t){for(const n of Object.keys({...e,...t}))if(!(n==="grouping"||n==="author"||n==="feedPosition")&&!Object.is(e[n],t[n]))return!1;return e.grouping.position===t.grouping.position&&Xr(e.author,t.author)&&Xr(e.feedPosition,t.feedPosition)}function Xr(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(s=>Object.is(e[s],t[s]))}const dy=l.memo(fy,uy);function fy({message:e,grouping:t,author:n,sessionId:s,isNew:o=!1,isStreaming:a=!1,isLatestWidgetMessage:i=!0,isFinalMessage:c=!0,activeToolCallId:u=null,onToolRef:d,focusedOptionIndex:m=-1,onToolDecided:h,onRetry:f,onSigninComplete:x,onChooseModel:g,inputZoneToolCallId:S=null,textEffect:b,runtimeLabel:k,allowsDenyReason:v,feedPosition:y}){var L,U;const p=l.useId(),j=`${p}-author`,w=`${p}-content`,D=l.useRef(null),A=t.position==="first"||t.position==="only",N=e.role==="user",T=N&&e.messageType!=="local_command_output",C=N?(L=e.chatMessages)==null?void 0:L[0]:void 0,E=N&&C===void 0?e.roomMessage:void 0,_=T&&C===void 0&&(E===void 0||((U=E.author)==null?void 0:U.you)===!0)&&e.messageType!=="command"&&e.messageType!=="compaction"&&e.content.trim().length>0,R=e.timestamp?zn(e.timestamp):"",M=R.length>0,F=M?e.timestamp:void 0,I=l.useCallback(()=>{var W;return(W=D.current)==null?void 0:W.focus()},[]);return r.jsx(wp,{value:{sessionId:s,isStreaming:a,isLatestWidgetMessage:i,isFinalMessage:c,activeToolCallId:u,onToolRef:d,focusedOptionIndex:m,onToolDecided:h,onRetry:f,onSigninComplete:x,onChooseModel:g,inputZoneToolCallId:S,textEffect:b,runtimeLabel:k,allowsDenyReason:v},children:r.jsxs(tt.Root,{ref:D,role:T?"user":"assistant",position:t.position,isNew:o,"data-testid":"message-item","data-role":e.role,...A?{"aria-labelledby":j}:{"aria-label":M?`${n.displayName}, ${R}`:n.displayName},"aria-describedby":w,...Tu(y),children:[r.jsx(tt.Gutter,{author:n,at:F}),r.jsxs(tt.Body,{children:[r.jsx(tt.Author,{id:j,author:n,at:F,...C?{mark:r.jsx(xa,{stamp:C}),className:"flex-wrap gap-y-0.5"}:E?{mark:r.jsx(dp,{stamp:E}),className:"flex-wrap gap-y-0.5"}:{}}),r.jsx(tt.Content,{id:w,children:cy(e,{rowId:e.id})}),_&&r.jsx(tt.Actions,{runWith:{prompt:e.content,sessionId:s},onExit:I})]})]})})}function my({loading:e,onLoad:t}){return r.jsx("div",{className:"flex justify-center px-4 py-3",children:r.jsxs(oe,{type:"button",variant:"ghost",size:"sm",onClick:t,disabled:e,"data-testid":"session-load-earlier",className:"text-muted-foreground hover:text-foreground h-7 gap-2 text-xs",children:[e&&r.jsx(Le,{size:"xs"}),e?"Loading earlier messages…":"Earlier messages"]})})}const Jr="Conversation",py={kind:"notice",id:"session-load-earlier",at:"",body:null},hy=[];function gy(e){for(let t=e.length-1;t>=0;t--)if(e[t].content.includes(qu))return t;return-1}function xy({messages:e,sessionId:t,isLoadingHistory:n=!1,hydrated:s=!1,isTextStreaming:o=!1,activeToolCallId:a=null,onToolRef:i,focusedOptionIndex:c=-1,onToolDecided:u,onRetry:d,onSigninComplete:m,onChooseModel:h,inputZoneToolCallId:f=null,textEffect:x,runtimeLabel:g,allowsDenyReason:S,landOnRow:b,foldFirstPrompt:k=!1}){const v=gt(i),y=gt(u),p=gt(d),j=gt(m),w=gt(h),D=Sp(t,e),A=D.messages,{stops:N}=ba(t),T=l.useMemo(()=>ip(A,N),[A,N]),C=l.useMemo(()=>{let X=0;return T.map(Z=>Z._chatStop?-1:X++)},[T]),E=Ao(null);E.read()===null&&A.length>0&&E.write(D.messagesBefore+A.length);const _=l.useMemo(()=>gy(T),[T]),R=l.useMemo(()=>k&&!D.canLoadEarlier?T.findIndex(X=>X.role==="user"&&X.messageType===void 0&&!X._stagedContext&&!X._chatStop):-1,[k,D.canLoadEarlier,T]),M=Zt(t),F=ce(X=>X.selectedCwd),I=sn(t),{data:L}=ps(F),U=l.useMemo(()=>({agent:L?{id:L.id,displayName:nn(L),...Dt(L)}:null,runtime:I}),[L,I]),W=A[A.length-1],te=(W==null?void 0:W.role)==="assistant"?W:void 0,G=Zb({messageId:te==null?void 0:te.id,text:(te==null?void 0:te.content)??"",isStreaming:te!==void 0&&o}),B=Rb((W==null?void 0:W.parts)??hy,t),{lastSeenMessageId:O,unreadFromStart:$,markSeen:Q,isHydrated:ue}=Nf(t,A,D.messagesBefore),[P,Y]=l.useState(()=>Date.now()),J=l.useRef(null);l.useLayoutEffect(()=>{const X=Date.now(),Z=new Date(X).toDateString();if(J.current===null){J.current=Z;return}J.current!==Z&&(J.current=Z,Y(X))},[T]);const se=l.useCallback(X=>Dm(X,U),[U]),[ee]=l.useState(Am),V=l.useMemo(()=>Fm(T,{resolveAuthor:se,now:P,lastSeenMessageId:O,unreadFromStart:$,cache:ee}),[T,se,P,O,$,ee]),[de]=l.useState(()=>new WeakMap),ge=l.useMemo(()=>{const X=V.map(Z=>{const ae=de.get(Z);if(ae)return ae;const me=Z.kind==="day-divider"?{kind:"day-divider",id:Z.key,label:Z.label}:Z.kind==="unread-divider"?{kind:"unread-divider",id:Z.key}:{kind:"message",id:Z.key,payload:Z.message,grouping:Z.grouping,author:Z.author,at:Z.message.timestamp};return de.set(Z,me),me});return D.canLoadEarlier?[py,...X]:X},[V,de,D.canLoadEarlier]),pe=D.canLoadEarlier?1:0,z=l.useCallback((X,Z)=>{var De,Oe;if(pe===1&&Z.index===0)return r.jsx(my,{loading:D.isLoadingEarlier,onLoad:D.loadEarlier});const ae=V[Z.index-pe];if(ae.kind==="day-divider")return r.jsx(Au,{label:ae.label});if(ae.kind==="unread-divider")return r.jsx(Fu,{});const{message:me,messageIndex:we}=ae;if(me._stagedContext)return r.jsx($p,{content:me.content});if(me._chatStop)return r.jsx("div",{className:"px-4 py-1",children:r.jsx(xp,{notice:me._chatStop})});if(we===R)return r.jsx(Qm,{content:((Oe=(De=me.chatMessages)==null?void 0:De[0])==null?void 0:Oe.text)??me.content});const ie=C[we]??we,Fe=ie===A.length-1,Ce=Fe&&me.role==="assistant",je=_===-1||we>=_,xe=E.read();return r.jsx(dy,{message:me,grouping:ae.grouping,author:ae.author,sessionId:t,isNew:xe!==null&&D.messagesBefore+ie>=xe,isStreaming:Ce&&o,isLatestWidgetMessage:je,isFinalMessage:Fe,activeToolCallId:a,onToolRef:v,focusedOptionIndex:c,onToolDecided:y,onRetry:p,onSigninComplete:j,onChooseModel:w,inputZoneToolCallId:f,textEffect:x,runtimeLabel:g,allowsDenyReason:S,feedPosition:{index:ie+1,total:A.length}})},[V,pe,D.isLoadingEarlier,D.loadEarlier,D.messagesBefore,A.length,C,_,R,t,E,o,a,v,c,y,p,j,w,f,x,g,S]),ve=M&&M.kind!=="first-message"&&M.fired&&!M.greetingFailed&&s?M:null;return r.jsx(wt.Timeline,{conversationId:t,label:Jr,rows:ge,renderRow:z,landOn:"unread",landingReady:ue&&!D.isSeeking,...b===void 0?{}:{landOnRow:b},onReachedBottom:Q,transcriptAnnouncement:G,approvalAnnouncement:B,className:"pt-12 [--conversation-thumb-top:3rem]",loading:n?r.jsx(Ru,{label:Jr,busy:!0,className:"flex h-full items-center justify-center","data-testid":"transcript-feed-loading",children:r.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[r.jsx(ma,{}),"Loading chat…"]})}):void 0,empty:r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(qm,{birthRecord:M,firstLightRecord:ve})}),"data-testid":"message-list",feedTestId:"transcript-feed"})}function by({sessionId:e,launchRuntime:t,launchPrompt:n,launchSend:s=!1,launchSeed:o,onLaunchConsumed:a,landOnRow:i}){var Ds,Ts,As;const[,c]=Nt(),u=as(),d=l.useRef(null),m=l.useRef(null),h=l.useCallback(()=>{var q,Se;(Se=(q=m.current)==null?void 0:q.querySelector('[data-testid="model-config-trigger"]'))==null||Se.click()},[]),f=xb(e),x=wc(e??""),g=mb(),{play:S}=Pc(),[b]=Ro(),{data:k,isPending:v,isError:y,refetch:p}=ps(b),{sessions:j}=es(),w=e!==null&&!j.some(q=>q.id===e),D=_c(e),A=Sb(),N=l.useCallback(async q=>{let Se=q;if(A.hasPendingFiles){const Je=await A.uploadAndGetPaths(),Fs=b?Je.map(Ot=>Ot.startsWith(b)?Ot.slice(b.length).replace(/^\//,""):Ot):Je;Fs.length>0&&(Se=`Please read the following uploaded file(s):
|
|
57
|
+
${Ne}`:Ne)},[f,h]),[Y,J]=l.useState(null),se=Y===f&&_,ee=l.useRef(null),V=l.useCallback(()=>{ee.current=null,J(null)},[]);l.useEffect(()=>{_||V()},[_,f,V]);const de=l.useRef(_);l.useEffect(()=>{de.current=_},[_]);const ge=O.leaveQueueForStop,pe=l.useRef(O.editingId);l.useEffect(()=>{pe.current=O.editingId},[O.editingId]);const z=l.useCallback(()=>{const be=pe.current;if(be!==null){const ye=re.getState().getSession(f).input.trim();ye&&(ue.current={id:be,content:ye}),ge()}ee.current=f,J(f),m().then(ye=>{P(ye.cancelled),db(ye.receipt,de.current)&&V();const Ne=ub(ye.receipt);Ne.message!==null&&!Do(ye.receipt)&&(Ne.isFailure?Ae.error(Ne.message):Ae.warning(Ne.message))}).catch(()=>{V()})},[f,m,P,V,ge]),ve=l.useCallback(()=>{if(!(ee.current===f||se)){if(g.length===0){z();return}Q({sessionId:f,queuedCount:g.length})}},[f,se,g.length,z]),X=l.useCallback(()=>{ee.current===f||se||(Q(null),z())},[f,se,z]);l.useEffect(()=>{($==null?void 0:$.sessionId)===f&&g.length===0&&Q(null)},[$,f,g.length]);const{messages:Z}=Eo(f),ae=wo(f),me=l.useMemo(()=>Ga(ae,Z),[ae,Z]),_e=$b(me),ie=l.useCallback(async be=>{if(f)try{await N.stopTask(f,be)}catch(ye){console.error("[chat] Failed to stop task:",ye)}},[f,N]),Re=l.useCallback(()=>{f&&N.switchSessionProcess(f).catch(()=>{Ae.error("Couldn’t switch. Try again.")})},[f,N]),Ce=l.useRef(t);l.useEffect(()=>{Ce.current=t});const je=l.useCallback(be=>{var Me;const ye=Ce.current,Ne=ye.length>0&&!/\s$/.test(ye)?" ":"",We=`${ye}${Ne}${be}`;h(We),(Me=e.current)==null||Me.focusAt(We.length)},[h,e]);l.useEffect(()=>Ju(je),[je]);const xe=!_&&O.editingIndex===null,De=Qb({defaultText:R,hints:Xx,enabled:xe&&t===""}),Oe=ed(),le=l.useCallback(()=>{n.dismissPalettes(),!(w===null||!w.canSend)&&w.send({text:t})},[n,w,t]),we=l.useCallback(()=>{n.dismissPalettes(),O.handleQueue()},[n,O]),mt=l.useCallback(()=>{n.dismissPalettes(),O.handleSteer()},[n,O]),pt=l.useCallback(()=>{n.dismissPalettes(),O.handleStage()},[n,O]);return r.jsx(_t.Composer,{className:"chat-input-container",onPathDropped:be=>je(Zu(be)),inputRef:e,value:t,onChange:n.handleInputChange,onSubmit:le,head:r.jsx(fe,{children:_&&r.jsx(Sd,{color:C.color,isTextStreaming:D,edge:"top"})}),asks:k?r.jsx(oy,{sessionId:f,activeInteraction:k,pendingApprovals:v,focusedOptionIndex:y,onToolRef:p,onToolDecided:j,queueDepth:O.queue.length,allowsDenyReason:G}):null,overlays:r.jsx(r.Fragment,{children:r.jsxs(fe,{children:[n.commands.show&&r.jsx(ay,{filteredCommands:n.commands.filtered,selectedIndex:n.commands.selectedIndex,onSelect:n.handleCommandSelect}),n.files.show&&r.jsx(xm,{filteredFiles:n.files.filtered,selectedIndex:n.files.selectedIndex,onSelect:n.handleFileSelect})]})}),queue:r.jsx(fe,{children:O.queue.length>0&&r.jsx(yx,{queue:O.queue,editingId:O.editingId,onEdit:O.handleQueueEdit,onRemove:O.handleQueueRemove,onSend:O.handleQueueSend,onMoveUp:O.handleQueueMoveUp,onSwitchNow:Re,statusNote:M?"Waiting for your answer above":((Xe=O.queue[0])==null?void 0:Xe.waiting)!==void 0?"Sending when the agent is free":"Sending one at a time as the agent finishes"})}),aboveInput:r.jsx(gx,{tasks:_e,onStopTask:ie}),footer:r.jsx(_t.Footer,{asChild:!0,children:r.jsx(Ux,{sessionId:f,sessionStatus:x,isStreaming:_,syncConnectionState:b.connectionState,agentName:E,agentColor:C.color,agentEmoji:C.emoji,agentPath:A??void 0})}),input:{isStreaming:_,commandPending:i,...c||u?{canSubmit:!1,canSubmitReason:u?"Check this folder again before you start.":"Checking this folder…"}:{},...F.canSubmit?{}:{canSubmit:!1},onStop:ve,stopPending:se,onEscape:n.dismissPalettes,onClear:()=>{h(""),n.dismissPalettes()},isPaletteOpen:n.isPaletteOpen,paletteHasResults:n.paletteHasResults,onArrowUp:n.handleArrowUp,onArrowDown:n.handleArrowDown,onCommandSelect:n.handleKeyboardSelect,activeDescendantId:n.activeDescendantId,paletteListboxId:n.paletteListboxId,onCursorChange:n.handleCursorChange,richText:Oe,editingQueueItem:O.editingIndex!==null,...O.editingIndex===null?{}:{editingPosition:O.editingIndex+1},queueDepth:O.queue.length,onQueue:we,...W?{onSteer:mt}:{},...te?{onStage:pt}:{},onSaveEdit:O.handleQueueSaveEdit,onCancelEdit:O.handleQueueCancelEdit,onQueueNavigateUp:O.handleQueueNavigateUp,onQueueNavigateDown:O.handleQueueNavigateDown,queueHasItems:O.queue.length>0,contextKey:Va(f,A)??void 0,placeholder:F.placeholder??iy(O.editingIndex,_,O.queue.length,R),placeholderOverlay:xe&&F.canSubmit?r.jsx(Sx,{text:De.text,animationKey:De.key}):null},children:r.jsx(kx,{open:($==null?void 0:$.sessionId)===f,onOpenChange:be=>{be||Q(null)},queuedCount:($==null?void 0:$.queuedCount)??0,onConfirm:X})})}const cy=e=>{const t=e;return t.role==="user"?r.jsx(Qg,{message:t}):r.jsx(qg,{message:t})};function uy(e,t){for(const n of Object.keys({...e,...t}))if(!(n==="grouping"||n==="author"||n==="feedPosition")&&!Object.is(e[n],t[n]))return!1;return e.grouping.position===t.grouping.position&&Xr(e.author,t.author)&&Xr(e.feedPosition,t.feedPosition)}function Xr(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(s=>Object.is(e[s],t[s]))}const dy=l.memo(fy,uy);function fy({message:e,grouping:t,author:n,sessionId:s,isNew:o=!1,isStreaming:a=!1,isLatestWidgetMessage:i=!0,isFinalMessage:c=!0,activeToolCallId:u=null,onToolRef:d,focusedOptionIndex:m=-1,onToolDecided:h,onRetry:f,onSigninComplete:x,onChooseModel:g,inputZoneToolCallId:S=null,textEffect:b,runtimeLabel:k,allowsDenyReason:v,feedPosition:y}){var L,U;const p=l.useId(),j=`${p}-author`,_=`${p}-content`,D=l.useRef(null),A=t.position==="first"||t.position==="only",N=e.role==="user",T=N&&e.messageType!=="local_command_output",C=N?(L=e.chatMessages)==null?void 0:L[0]:void 0,E=N&&C===void 0?e.roomMessage:void 0,w=T&&C===void 0&&(E===void 0||((U=E.author)==null?void 0:U.you)===!0)&&e.messageType!=="command"&&e.messageType!=="compaction"&&e.content.trim().length>0,R=e.timestamp?zn(e.timestamp):"",M=R.length>0,F=M?e.timestamp:void 0,I=l.useCallback(()=>{var W;return(W=D.current)==null?void 0:W.focus()},[]);return r.jsx(_p,{value:{sessionId:s,isStreaming:a,isLatestWidgetMessage:i,isFinalMessage:c,activeToolCallId:u,onToolRef:d,focusedOptionIndex:m,onToolDecided:h,onRetry:f,onSigninComplete:x,onChooseModel:g,inputZoneToolCallId:S,textEffect:b,runtimeLabel:k,allowsDenyReason:v},children:r.jsxs(tt.Root,{ref:D,role:T?"user":"assistant",position:t.position,isNew:o,"data-testid":"message-item","data-role":e.role,...A?{"aria-labelledby":j}:{"aria-label":M?`${n.displayName}, ${R}`:n.displayName},"aria-describedby":_,...Au(y),children:[r.jsx(tt.Gutter,{author:n,at:F}),r.jsxs(tt.Body,{children:[r.jsx(tt.Author,{id:j,author:n,at:F,...C?{mark:r.jsx(xa,{stamp:C}),className:"flex-wrap gap-y-0.5"}:E?{mark:r.jsx(dp,{stamp:E}),className:"flex-wrap gap-y-0.5"}:{}}),r.jsx(tt.Content,{id:_,children:cy(e,{rowId:e.id})}),w&&r.jsx(tt.Actions,{runWith:{prompt:e.content,sessionId:s},onExit:I})]})]})})}function my({loading:e,onLoad:t}){return r.jsx("div",{className:"flex justify-center px-4 py-3",children:r.jsxs(oe,{type:"button",variant:"ghost",size:"sm",onClick:t,disabled:e,"data-testid":"session-load-earlier",className:"text-muted-foreground hover:text-foreground h-7 gap-2 text-xs",children:[e&&r.jsx(Le,{size:"xs"}),e?"Loading earlier messages…":"Earlier messages"]})})}const Jr="Conversation",py={kind:"notice",id:"session-load-earlier",at:"",body:null},hy=[];function gy(e){for(let t=e.length-1;t>=0;t--)if(e[t].content.includes(Uu))return t;return-1}function xy({messages:e,sessionId:t,isLoadingHistory:n=!1,hydrated:s=!1,isTextStreaming:o=!1,activeToolCallId:a=null,onToolRef:i,focusedOptionIndex:c=-1,onToolDecided:u,onRetry:d,onSigninComplete:m,onChooseModel:h,inputZoneToolCallId:f=null,textEffect:x,runtimeLabel:g,allowsDenyReason:S,landOnRow:b,foldFirstPrompt:k=!1}){const v=gt(i),y=gt(u),p=gt(d),j=gt(m),_=gt(h),D=Sp(t,e),A=D.messages,{stops:N}=ba(t),T=l.useMemo(()=>ip(A,N),[A,N]),C=l.useMemo(()=>{let X=0;return T.map(Z=>Z._chatStop?-1:X++)},[T]),E=Ao(null);E.read()===null&&A.length>0&&E.write(D.messagesBefore+A.length);const w=l.useMemo(()=>gy(T),[T]),R=l.useMemo(()=>k&&!D.canLoadEarlier?T.findIndex(X=>X.role==="user"&&X.messageType===void 0&&!X._stagedContext&&!X._chatStop):-1,[k,D.canLoadEarlier,T]),M=Zt(t),F=ce(X=>X.selectedCwd),I=sn(t),{data:L}=ps(F),U=l.useMemo(()=>({agent:L?{id:L.id,displayName:nn(L),...Dt(L)}:null,runtime:I}),[L,I]),W=A[A.length-1],te=(W==null?void 0:W.role)==="assistant"?W:void 0,G=Zb({messageId:te==null?void 0:te.id,text:(te==null?void 0:te.content)??"",isStreaming:te!==void 0&&o}),B=Rb((W==null?void 0:W.parts)??hy,t),{lastSeenMessageId:O,unreadFromStart:$,markSeen:Q,isHydrated:ue}=Nf(t,A,D.messagesBefore),[P,Y]=l.useState(()=>Date.now()),J=l.useRef(null);l.useLayoutEffect(()=>{const X=Date.now(),Z=new Date(X).toDateString();if(J.current===null){J.current=Z;return}J.current!==Z&&(J.current=Z,Y(X))},[T]);const se=l.useCallback(X=>Dm(X,U),[U]),[ee]=l.useState(Am),V=l.useMemo(()=>Fm(T,{resolveAuthor:se,now:P,lastSeenMessageId:O,unreadFromStart:$,cache:ee}),[T,se,P,O,$,ee]),[de]=l.useState(()=>new WeakMap),ge=l.useMemo(()=>{const X=V.map(Z=>{const ae=de.get(Z);if(ae)return ae;const me=Z.kind==="day-divider"?{kind:"day-divider",id:Z.key,label:Z.label}:Z.kind==="unread-divider"?{kind:"unread-divider",id:Z.key}:{kind:"message",id:Z.key,payload:Z.message,grouping:Z.grouping,author:Z.author,at:Z.message.timestamp};return de.set(Z,me),me});return D.canLoadEarlier?[py,...X]:X},[V,de,D.canLoadEarlier]),pe=D.canLoadEarlier?1:0,z=l.useCallback((X,Z)=>{var De,Oe;if(pe===1&&Z.index===0)return r.jsx(my,{loading:D.isLoadingEarlier,onLoad:D.loadEarlier});const ae=V[Z.index-pe];if(ae.kind==="day-divider")return r.jsx(Fu,{label:ae.label});if(ae.kind==="unread-divider")return r.jsx(Ru,{});const{message:me,messageIndex:_e}=ae;if(me._stagedContext)return r.jsx($p,{content:me.content});if(me._chatStop)return r.jsx("div",{className:"px-4 py-1",children:r.jsx(xp,{notice:me._chatStop})});if(_e===R)return r.jsx(Qm,{content:((Oe=(De=me.chatMessages)==null?void 0:De[0])==null?void 0:Oe.text)??me.content});const ie=C[_e]??_e,Re=ie===A.length-1,Ce=Re&&me.role==="assistant",je=w===-1||_e>=w,xe=E.read();return r.jsx(dy,{message:me,grouping:ae.grouping,author:ae.author,sessionId:t,isNew:xe!==null&&D.messagesBefore+ie>=xe,isStreaming:Ce&&o,isLatestWidgetMessage:je,isFinalMessage:Re,activeToolCallId:a,onToolRef:v,focusedOptionIndex:c,onToolDecided:y,onRetry:p,onSigninComplete:j,onChooseModel:_,inputZoneToolCallId:f,textEffect:x,runtimeLabel:g,allowsDenyReason:S,feedPosition:{index:ie+1,total:A.length}})},[V,pe,D.isLoadingEarlier,D.loadEarlier,D.messagesBefore,A.length,C,w,R,t,E,o,a,v,c,y,p,j,_,f,x,g,S]),ve=M&&M.kind!=="first-message"&&M.fired&&!M.greetingFailed&&s?M:null;return r.jsx(_t.Timeline,{conversationId:t,label:Jr,rows:ge,renderRow:z,landOn:"unread",landingReady:ue&&!D.isSeeking,...b===void 0?{}:{landOnRow:b},onReachedBottom:Q,transcriptAnnouncement:G,approvalAnnouncement:B,className:"pt-12 [--conversation-thumb-top:3rem]",loading:n?r.jsx(Mu,{label:Jr,busy:!0,className:"flex h-full items-center justify-center","data-testid":"transcript-feed-loading",children:r.jsxs("div",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[r.jsx(ma,{}),"Loading chat…"]})}):void 0,empty:r.jsx("div",{className:"flex h-full items-center justify-center",children:r.jsx(qm,{birthRecord:M,firstLightRecord:ve})}),"data-testid":"message-list",feedTestId:"transcript-feed"})}function by({sessionId:e,launchRuntime:t,launchPrompt:n,launchSend:s=!1,launchSeed:o,onLaunchConsumed:a,landOnRow:i}){var Ds,Ts,As;const[,c]=Nt(),u=as(),d=l.useRef(null),m=l.useRef(null),h=l.useCallback(()=>{var q,Se;(Se=(q=m.current)==null?void 0:q.querySelector('[data-testid="model-config-trigger"]'))==null||Se.click()},[]),f=xb(e),x=wc(e??""),g=mb(),{play:S}=Lc(),[b]=Ro(),{data:k,isPending:v,isError:y,refetch:p}=ps(b),{sessions:j}=es(),_=e!==null&&!j.some(q=>q.id===e),D=Nc(e),A=Sb(),N=l.useCallback(async q=>{let Se=q;if(A.hasPendingFiles){const Je=await A.uploadAndGetPaths(),Fs=b?Je.map(Ot=>Ot.startsWith(b)?Ot.slice(b.length).replace(/^\//,""):Ot):Je;Fs.length>0&&(Se=`Please read the following uploaded file(s):
|
|
58
58
|
${Fs.map(ci=>`- ${ci}`).join(`
|
|
59
59
|
`)}
|
|
60
60
|
|
|
61
|
-
${Se}`),A.clearFiles()}return Se},[A,b]),T=l.useCallback(q=>{f.handleTaskEvent(q);const Se=f.tasks.map(Je=>Je.id===q.task.id?{...Je,...q.task}:Je);g.handleTaskEvent(q,Se)},[f,g]);l.useCallback(q=>{c(q),u.invalidateQueries({queryKey:Ge.bySession(q)})},[c,u]);const C=l.useCallback(q=>{c(q,{replace:!0}),u.invalidateQueries({queryKey:Ge.bySession(q)})},[c,u]),E=l.useCallback(q=>{c(crypto.randomUUID(),{continuedFrom:q??void 0,draft:!0})},[c]),
|
|
61
|
+
${Se}`),A.clearFiles()}return Se},[A,b]),T=l.useCallback(q=>{f.handleTaskEvent(q);const Se=f.tasks.map(Je=>Je.id===q.task.id?{...Je,...q.task}:Je);g.handleTaskEvent(q,Se)},[f,g]);l.useCallback(q=>{c(q),u.invalidateQueries({queryKey:Ge.bySession(q)})},[c,u]);const C=l.useCallback(q=>{c(q,{replace:!0}),u.invalidateQueries({queryKey:Ge.bySession(q)})},[c,u]),E=l.useCallback(q=>{c(crypto.randomUUID(),{continuedFrom:q??void 0,draft:!0})},[c]),w=_o(e??""),R=tn(w.runtime),M=w.runtime?At(w.runtime).label:"",F=((Ds=R==null?void 0:R.permissionModes)==null?void 0:Ds.denyReason)??!0,I=l.useMemo(()=>La(R==null?void 0:R.commandIntents,M),[R,M]),L=l.useRef(null),U=l.useCallback(()=>{var q;return(q=L.current)==null?void 0:q.call(L)},[]),{messages:W,input:te,setInput:G,handleSubmit:B,submitContent:O,enqueueContent:$,steerContent:Q,addContextContent:ue,status:P,error:Y,stop:J,isLoadingHistory:se,hydrated:ee,sessionStatus:V,streamStartTime:de,estimatedTokens:ge,isTextStreaming:pe,isWaitingForUser:z,waitingType:ve,activeInteraction:X,pendingInteractions:Z,markToolCallResponded:ae,systemStatus:me,operationProgress:_e,promptSuggestions:ie,syncConnectionState:Re,retryMessage:Ce,tryNativeCommand:je,commandPending:xe}=cb(e,{transformContent:N,onTaskEvent:T,onSessionIdChangeReplace:C,startFreshSession:E,compactIntent:I,launchRuntime:t,...k&&b?{agentPath:b}:{},agentLookupPending:b!==null&&v,agentLookupFailed:b!==null&&y,takeSeedContext:U,onStreamingDone:l.useCallback(()=>{S("turn-end"),u.invalidateQueries({queryKey:["commands"]})},[S,u])}),De=l.useCallback(q=>O(q,{clearInput:!0}),[O]),{permissionMode:Oe,permissionModeKnown:le}=Mo(e,V,P==="streaming"),we=vu(e,w.runtime,le?Oe:void 0),mt=Ec(q=>q.setOpen);l.useEffect(()=>{mt(!1)},[e,mt]);const{handleToolRef:pt,focusedOptionIndex:ze}=bb(X);Cb(P,z,pe),l.useEffect(()=>{var q;(q=d.current)==null||q.focusUnlessTouch()},[e]);const Xe=l.useCallback(()=>{var q;(q=d.current)==null||q.focusUnlessTouch()},[]);_b({sessionId:e,prompt:n,autoSend:s,input:te,setInput:G,messageCount:W.length,hydrated:ee,status:P,submitBlocked:_&&b!==null&&(v||y),submit:B,onSeeded:Xe,onConsumed:a});const be=Db({sessionId:e,seed:o,messageCount:W.length,hydrated:ee,onConsumed:a});l.useEffect(()=>{L.current=be},[be]);const ye=w.runtime?cs(w.runtime):void 0,{data:Ne}=zc(b,e??void 0,w.runtime??void 0),We=l.useMemo(()=>Tx((Ne==null?void 0:Ne.commands)??[],{commandIntents:R==null?void 0:R.commandIntents,runtimeLabel:M}),[Ne,R,M]),{data:Me}=bm(b),Ya=l.useMemo(()=>Me!=null&&Me.files?Rm(Me.files):[],[Me]),Xa=vb({input:te,setInput:G,commands:We,fileEntries:Ya}),ks=l.useCallback(()=>{const q=[...W].reverse().find(Se=>Se.role==="user");q!=null&&q.content&&O(q.content)},[W,O]),vs=Zt(e??""),Ja=l.useCallback(()=>{const q=Mm(W,vs);q&&Ce(q)},[W,vs,Ce]),Cs=P==="idle"&&ie.length>0&&te.length===0,Za=Dc("chat.suggestion-chips"),ei=hm(e??""),ti=Tb(P,Y,W,ei),ni=l.useMemo(()=>W.some(q=>q.role==="user"),[W]),Ss=l.useCallback(q=>{var Se;G(q),(Se=d.current)==null||Se.focus()},[G]),si=Oo,Mt=Tc(e??""),un=To(e??""),ri=l.useMemo(()=>Lb(Mt,un),[Mt,un]),js=(As=(Ts=ms(e??""))==null?void 0:Ts.lastError)==null?void 0:As.category,dn=Lm(),_s=l.useCallback(()=>{const q=e??"";if(dn.claimedElsewhere(q))return!1;const Se=Im({messages:W,status:P,lastErrorCategory:js,queuedCount:Mt.length,draft:re.getState().getSession(q).input});return Se===null?!1:(dn.claim(q),O(Se),!0)},[W,P,js,Mt.length,e,O,dn]),oi=k?`Message ${nn(k)}…`:"Send a message…",ai=ty({sessionId:e??"",placeholder:oi,submit:De,enqueue:$,files:A}),{eligible:ws,allow:Ns,notNow:Es}=Cf(P==="streaming"),ii=l.useMemo(()=>[{id:"prompt-suggestions",show:Cs,render:()=>r.jsx(Mc,{suggestions:ie,onChipClick:Ss})},{id:"permission-primer",show:ws,render:()=>r.jsx(vf,{onAllow:Ns,onNotNow:Es})},{id:"read-only-mode",show:we.eligible,render:()=>r.jsx(Cu,{runtimeLabel:we.runtimeLabel,onShown:we.markShown,onDismiss:we.dismiss})}],[Cs,ie,Ss,ws,Ns,Es,we]),li=ey({asks:si,status:P,streamStartTime:de,estimatedTokens:ge,permissionMode:Oe,isWaitingForUser:z??!1,waitingType:ve??"approval",operationProgress:_e,systemStatus:me,activity:x});return r.jsx(_t.Root,{surface:"session",capabilities:Qa,target:ai,children:r.jsxs("div",{ref:m,"data-testid":"chat-panel","data-turn-status":P,"data-turn-lifecycle":un??void 0,className:"flex h-full w-full flex-col",children:[r.jsx(Hm,{sessionId:e}),r.jsx(Vm,{startedBy:D,modes:R==null?void 0:R.permissionModes.values}),r.jsx(xy,{messages:W,sessionId:e,isLoadingHistory:se,hydrated:ee,isTextStreaming:pe,activeToolCallId:(X==null?void 0:X.toolCallId)??null,onToolRef:pt,focusedOptionIndex:ze,onToolDecided:ae,onRetry:ks,onSigninComplete:_s,onChooseModel:h,inputZoneToolCallId:(X==null?void 0:X.toolCallId)??null,runtimeLabel:ye,allowsDenyReason:F,...i===void 0?{}:{landOnRow:i},foldFirstPrompt:D!==null}),r.jsx(Kx,{terminalReason:V==null?void 0:V.terminalReason}),r.jsx(_t.LiveLane,{state:li,scope:"session"}),r.jsx(Bc,{candidates:ii,ready:ee,name:"session-bottom-slot",className:"px-4 pb-2"}),P==="idle"&&Za.map(q=>r.jsx(q.component,{},q.id)),r.jsx(jp,{celebration:g.activeCelebration,onComplete:g.clearCelebration}),r.jsx(rx,{tasks:f.tasks,taskMap:f.taskMap,activeForm:f.activeForm,isCollapsed:f.isCollapsed,onToggleCollapse:f.toggleCollapse,celebratingTaskId:g.celebratingTaskId,onCelebrationComplete:g.clearCelebration,statusTimestamps:f.statusTimestamps}),ti&&r.jsx(Yx,{sessionId:e,onRetry:ni?ks:void 0,onSigninComplete:_s,onChooseModel:h}),Y&&r.jsx(ny,{error:Y,composerAgent:k,onRetry:Ja}),_&&y&&r.jsx("div",{className:"mx-4 mb-2",children:r.jsx(on,{heading:"Couldn’t check this folder",message:"DorkOS couldn’t tell if an agent owns this folder. Try again.",onRetry:()=>void p()})}),e&&r.jsx(cm,{sessionId:e,onSend:q=>void O(q)}),r.jsx(ly,{chatInputRef:d,input:te,autocomplete:Xa,steerContent:Q,addContextContent:ue,tryNativeCommand:je,commandPending:xe,agentLookupPending:_&&b!==null&&v,agentLookupError:_&&b!==null&&y,status:P,stop:J,setInput:G,sessionId:e??"",sessionStatus:V,waiting:ri,interaction:{active:X,pendingApprovals:Z.filter(q=>q.interactiveType==="approval"),focusedOptionIndex:ze,onToolRef:pt,onToolDecided:ae},sync:{connectionState:Re}})]})})}function yy(e,t){const n=e===null||t===void 0?null:`${e}:${t}`,s=l.useRef(null);l.useEffect(()=>{if(!(e===null||t===void 0))return s.current=`${e}:${t}`,Pe.getState().seek(e,t),()=>{const i=Pe.getState();i.seeks[e]===t&&i.endSeek(e)}},[e,t]);const o=l.useRef(null),a=l.useCallback(()=>{var d;if(n===null||o.current===n||t===void 0||e===null)return;const i=Pe.getState().seeks[e]===t;if(s.current!==n||i)return;o.current=n;const c=((d=Pe.getState().sessions[e])==null?void 0:d.earlier)??[],u=Ee.getState().getSession(e).messages;return ua(ga([...c,...u],t)??t)},[n,t,e]);return n===null?void 0:a}function ky(){const[e]=Nt();Bd(e);const{runtime:t,prompt:n,send:s,seed:o,message:a}=to(),i=Ac(),c=yy(e,a),{data:u}=Fc(e,{enabled:!1,select:h=>h.title}),d=No(e);cd(e,{canonical:d===null}),qc();const m=l.useCallback(()=>{i==null||i({search:h=>({...h,prompt:void 0,send:void 0,seed:void 0}),replace:!0})},[i]);return r.jsxs(r.Fragment,{children:[r.jsx(Rc,{children:u!=null&&u.trim()?u:"Chat"}),r.jsx(by,{sessionId:e,launchRuntime:t,launchPrompt:n,launchSend:s==="1",launchSeed:o,onLaunchConsumed:m,...c===void 0?{}:{landOnRow:c}})]})}const Sk=ky;export{Sk as component};
|