pisper 0.6.6 → 0.6.7

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.
Files changed (115) hide show
  1. package/package.json +7 -7
  2. package/web/.vite/manifest.json +481 -336
  3. package/web/assets/AppDialog-DuxuKq-0.js +1 -0
  4. package/web/assets/{AppOverlays-C_WrmeqC.js → AppOverlays-YPxRUvLN.js} +1 -1
  5. package/web/assets/{AppSelect-DNIjPL7I.js → AppSelect-DEmkrcvY.js} +1 -1
  6. package/web/assets/{AppShortcuts-V38tUYTp.js → AppShortcuts-CA7hbebL.js} +1 -1
  7. package/web/assets/{AssetsPage-BmSnyLZ5.js → AssetsPage-CkNI_8qz.js} +1 -1
  8. package/web/assets/{ChannelsPage-Da3JaYaC.js → ChannelsPage-BYfRQyV0.js} +1 -1
  9. package/web/assets/ChatAppearancePage-N_2bunil.js +2 -0
  10. package/web/assets/{ChatDockView-5Aptiph6.js → ChatDockView-B4nZfbx5.js} +1 -1
  11. package/web/assets/ChatHistoryPage-Di3epmcR.js +1 -0
  12. package/web/assets/ChatPage-IN5m7Fqh.js +4 -0
  13. package/web/assets/ConfigPage-BKTEOlQE.js +1 -0
  14. package/web/assets/{DecisionsPage-BwJ7RTAE.js → DecisionsPage-DNAUZCij.js} +1 -1
  15. package/web/assets/{DesktopWindowControls-CLVd8sg6.js → DesktopWindowControls-BAnWUUAZ.js} +1 -1
  16. package/web/assets/{FileAttachmentPreview-C6QaQFwb.js → FileAttachmentPreview-x4AORCVt.js} +1 -1
  17. package/web/assets/{FloatingWidgets-QMhElaDR.js → FloatingWidgets-CdbBMke7.js} +1 -1
  18. package/web/assets/GitDiffViewer-oJDF7l74.js +2 -0
  19. package/web/assets/{ListDetailLayout-S-IBs4f_.js → ListDetailLayout-Ctr6r0OI.js} +1 -1
  20. package/web/assets/{MarkdownMessage-bfyuGoi1.js → MarkdownMessage-D9zxSf6j.js} +1 -1
  21. package/web/assets/McpPage-DaOkWcq6.js +1 -0
  22. package/web/assets/{MemoryPage-CC37SohP.js → MemoryPage-B5sqhaYW.js} +1 -1
  23. package/web/assets/MobileContextScreen-DiM-lGec.js +2 -0
  24. package/web/assets/MobileNavigation-DZx6cE9f.js +1 -0
  25. package/web/assets/MobileShellContext-Cvv0RcjA.js +1 -0
  26. package/web/assets/MobileViewportStabilizer-BAI_nmS_.js +1 -0
  27. package/web/assets/{PageHeader-75eh-Z_A.js → PageHeader-FBipSHuW.js} +1 -1
  28. package/web/assets/{PluginsPage-za6FNr_k.js → PluginsPage-BFLnVcnm.js} +1 -1
  29. package/web/assets/{QuickPromptIdeas-CEjBwWlM.js → QuickPromptIdeas-CVcEEpAl.js} +1 -1
  30. package/web/assets/{SchedulesPage-BR1oIqzi.js → SchedulesPage-CVnoI4wZ.js} +1 -1
  31. package/web/assets/SessionContextPanel-CEmCvPx4.js +2 -0
  32. package/web/assets/SessionFilesPane-CAdkivkE.js +2 -0
  33. package/web/assets/{SidebarUpdateStatus-Chfb-00K.js → SidebarUpdateStatus-Co3QAKmb.js} +1 -1
  34. package/web/assets/{SkillsPage-DfFjecBO.js → SkillsPage-d8t6_KDS.js} +1 -1
  35. package/web/assets/{TaskProcessesPane-DJszMYjM.js → TaskProcessesPane-PRgpCplN.js} +1 -1
  36. package/web/assets/{TaskTerminalView-DyTURB64.js → TaskTerminalView-Dt8gIY5E.js} +1 -1
  37. package/web/assets/{TerminalPanel-BFqST5ja.js → TerminalPanel-BRib2LP-.js} +1 -1
  38. package/web/assets/{ThemeToggleButton-DmYU4_Nh.js → ThemeToggleButton-C1lL__80.js} +1 -1
  39. package/web/assets/{WebDesktopPet-COIAEeuY.js → WebDesktopPet-BWpgoZI3.js} +1 -1
  40. package/web/assets/WorkbenchNavigation-DmNiD2FD.js +1 -0
  41. package/web/assets/{WorkflowsPage-Heg3iqQg.js → WorkflowsPage-aRy0lYQ1.js} +1 -1
  42. package/web/assets/{WorkspacePicker-DFCZ_IJu.js → WorkspacePicker-NkoVoqez.js} +1 -1
  43. package/web/assets/{api-D8wGrWiI.js → api-CiEo53J1.js} +1 -1
  44. package/web/assets/app-update-CLhMRrNS.js +32 -0
  45. package/web/assets/calendar-clock-VIxTaqqy.js +1 -0
  46. package/web/assets/catalog-DLWnYiJc.js +1 -0
  47. package/web/assets/chat-api-CbgoP-8X.js +1 -0
  48. package/web/assets/{client-store-lT3geTlX.js → client-store-DCqgdbAp.js} +1 -1
  49. package/web/assets/{component-api-kxyOYPJN.js → component-api-BboiUuyG.js} +1 -1
  50. package/web/assets/{config-search-BThCMhnj.js → config-search-Cwglajsz.js} +1 -1
  51. package/web/assets/events-f8vVvSfH.js +1 -0
  52. package/web/assets/{floating-widgets-store-BhuWgVRT.js → floating-widgets-store-BAfPpV4Z.js} +2 -2
  53. package/web/assets/git-diff-f-zMaQOk.js +3 -0
  54. package/web/assets/{http-rQRvhTOP.js → http-Dx387MGl.js} +1 -1
  55. package/web/assets/i18n-CblgkPOp.js +1 -0
  56. package/web/assets/{index-BVIvzUyZ.js → index-BAYzSwUr.js} +2 -2
  57. package/web/assets/index-Bcpvpefn.css +2 -0
  58. package/web/assets/monitor-ORxecA9m.js +1 -0
  59. package/web/assets/mount-app-DGgK0IVe.js +9 -0
  60. package/web/assets/mutation-CEbxdVYy.js +1 -0
  61. package/web/assets/panels-top-left-K8n2CefH.js +1 -0
  62. package/web/assets/project-diff-summary-BzAMC_7C.js +1 -0
  63. package/web/assets/public-Cv_Xe2Sp.js +1 -0
  64. package/web/assets/{public-components-CS0BXa3D.js → public-components-Dfm4D7vP.js} +1 -1
  65. package/web/assets/public-navigation-zJPpUiuy.js +2 -0
  66. package/web/assets/query-Bj-DUNYq.js +1 -0
  67. package/web/assets/radio-tower-jGQwrFWB.js +1 -0
  68. package/web/assets/{runtime-capabilities-store-D5g-oC-Z.js → runtime-capabilities-store-C1lkVKpw.js} +1 -1
  69. package/web/assets/scale-pAyho3H9.js +1 -0
  70. package/web/assets/{session-change-summary-api-4_dTNU4L.js → session-change-summary-api-CqJa3Wdh.js} +1 -1
  71. package/web/assets/{session-organization-api-1F_dNhFa.js → session-organization-api-B0E2RXLS.js} +1 -1
  72. package/web/assets/session-streaming-state-DUehpyTs.js +3 -0
  73. package/web/assets/settings-navigation-BhTYSdv9.js +1 -0
  74. package/web/assets/{shortcuts-CAyIKRpZ.js → shortcuts-ChJr3RP4.js} +1 -1
  75. package/web/assets/{sidebar-CjfGBEog.js → sidebar-CERcJRog.js} +1 -1
  76. package/web/assets/{speech-session-BoAvAzPN.js → speech-session-BPNbd_CM.js} +1 -1
  77. package/web/assets/startup-queries-uKXB2KOP.js +1 -0
  78. package/web/assets/{ui-store-D-oOtKbW.js → ui-store-BM6pl-Rq.js} +1 -1
  79. package/web/assets/use-back-layer-B4dm_FZt.js +1 -0
  80. package/web/assets/{use-i18n-Dpn7lxcE.js → use-i18n-BrWBoyFl.js} +1 -1
  81. package/web/assets/use-mobile-PCHaokZZ.js +1 -0
  82. package/web/assets/{useCustomUiComponents-DzY3OjE_.js → useCustomUiComponents-IxX7wKrp.js} +1 -1
  83. package/web/assets/useQuery-DdcpUQhO.js +1 -0
  84. package/web/assets/web-preview-D1qOo-1X.js +1 -0
  85. package/web/assets/{web-preview-events-BS5O8D7_.js → web-preview-events-BMXsxTa3.js} +1 -1
  86. package/web/assets/web-preview-panel-B7JAZr2D.js +552 -0
  87. package/web/index.html +2 -2
  88. package/web/assets/ChatAppearancePage-Cjy9iir_.js +0 -2
  89. package/web/assets/ChatHistoryPage-BhXVvudL.js +0 -1
  90. package/web/assets/ChatPage-CzcvU3Tv.js +0 -4
  91. package/web/assets/ConfigPage-F1Y_oed5.js +0 -1
  92. package/web/assets/GitDiffViewer-Dv9WOiX1.js +0 -4
  93. package/web/assets/McpPage-CaUm1pYY.js +0 -1
  94. package/web/assets/MobileViewportStabilizer-OtwVmIPm.js +0 -1
  95. package/web/assets/SessionContextPanel-nvijY4R5.js +0 -2
  96. package/web/assets/WorkbenchNavigation-BBZRfeaC.js +0 -1
  97. package/web/assets/app-update-BHhqGwQp.js +0 -32
  98. package/web/assets/back-navigation-DS0YlxM8.js +0 -1
  99. package/web/assets/catalog-DpGpcvIi.js +0 -1
  100. package/web/assets/chat-api-CYidanXn.js +0 -1
  101. package/web/assets/events-By17Y3YI.js +0 -1
  102. package/web/assets/i18n-CAJMli-q.js +0 -1
  103. package/web/assets/index-Z8qQPd8t.css +0 -2
  104. package/web/assets/mount-app-Sl2T_gzZ.js +0 -9
  105. package/web/assets/mutation-Difliohy.js +0 -1
  106. package/web/assets/public-DAsd8NDM.js +0 -1
  107. package/web/assets/public-navigation-BzM_ocRb.js +0 -2
  108. package/web/assets/radio-tower-BW78Ns4R.js +0 -1
  109. package/web/assets/session-streaming-state-CX6zkOkc.js +0 -3
  110. package/web/assets/startup-queries-DItwFTRv.js +0 -1
  111. package/web/assets/use-back-layer-Cxm0-40v.js +0 -1
  112. package/web/assets/use-mobile-YXncArOq.js +0 -1
  113. package/web/assets/useQuery-Bg3cTjsY.js +0 -1
  114. package/web/assets/web-preview-C3u-dblt.js +0 -1
  115. package/web/assets/web-preview-panel-CHiIjAoR.js +0 -552
@@ -1,9 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SidebarUpdateStatus-Chfb-00K.js","assets/vendor-react-DwNgTV1j.js","assets/rolldown-runtime-B0Z9INg1.js","assets/use-i18n-Dpn7lxcE.js","assets/i18n-CAJMli-q.js","assets/vendor-router-CZg2bCPV.js","assets/index-BVIvzUyZ.js","assets/index-Z8qQPd8t.css","assets/storage-BpAqa-YY.js","assets/vendor-state-GkUciC5H.js","assets/download-BCfIiuaL.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/external-link-CEQqPcqc.js","assets/refresh-cw-TbWxTY4K.js","assets/rocket-BgLSjoHY.js","assets/DesktopWindowControls-CLVd8sg6.js","assets/minus-BuutOHSj.js","assets/square-bHHVTT3G.js","assets/x-07u4-129.js","assets/AppShortcuts-V38tUYTp.js","assets/shortcuts-CAyIKRpZ.js","assets/FloatingWidgets-QMhElaDR.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/grip-vertical-B__LYT0s.js","assets/rotate-ccw-C0v8V77_.js","assets/use-mobile-YXncArOq.js","assets/client-store-lT3geTlX.js","assets/api-D8wGrWiI.js","assets/http-rQRvhTOP.js","assets/abort-signal-f4JsiYKX.js","assets/button-BcPDt1Ge.js","assets/dist-Cfh4kzCK.js","assets/floating-widgets-store-BhuWgVRT.js","assets/useCustomUiComponents-DzY3OjE_.js","assets/useQuery-Bg3cTjsY.js","assets/queryOptions-Dfvzj6n2.js","assets/AppOverlays-C_WrmeqC.js","assets/loader-circle-BOwQzHB-.js","assets/message-square-SKjZyY3v.js","assets/plus-fQbSqB1n.js","assets/search-D0mqDaf_.js","assets/tag-CqkeJlBf.js","assets/startup-queries-DItwFTRv.js","assets/mutation-Difliohy.js","assets/dialog-CGGxREwU.js","assets/dist-BdkTa5R3.js","assets/dist-B_a0oV4U.js","assets/es2015-0QT3KgdC.js","assets/input-CvjGYteF.js","assets/field-3bN8nouy.js","assets/label-BzlNatZM.js","assets/separator-BDICnhEL.js","assets/format-BRFKAYMT.js","assets/chat-api-CYidanXn.js","assets/app-primitives-DhqJLud3.js","assets/switch-Ci_hmu39.js","assets/dist-TksYpDID.js","assets/tabs-DQYVDdOp.js","assets/dist-DAs5KRGl.js","assets/card-BdUpL1KB.js","assets/WebDesktopPet-COIAEeuY.js","assets/public-components-CS0BXa3D.js","assets/arrow-right-DqLOhpA2.js","assets/bot-B3TaBp_T.js","assets/key-round-C29uZbsf.js","assets/server-BgNvmqwJ.js","assets/config-search-BThCMhnj.js","assets/WorkbenchNavigation-BBZRfeaC.js","assets/dropdown-menu-LKlOCZsZ.js","assets/dist-DF5Gcb5O.js","assets/dist-alOyD2Bh.js","assets/chevron-right-C3t2Rckj.js","assets/activity-BCxvXCG3.js","assets/blocks-Olsdp5Lp.js","assets/brain-qxhnKqYP.js","assets/radio-tower-BW78Ns4R.js","assets/earth-Ddy13fHh.js","assets/file-diff-GxOMJkLj.js","assets/folder-open-FIShC5Qk.js","assets/link-2-mgasYn21.js","assets/plug-BsIeHRwC.js","assets/rotate-ccw-clock-CO6Bw-sF.js","assets/public-workspace-D_-I7fA7.js","assets/sparkles-S_eeuqn9.js","assets/square-terminal-BVG6cUT1.js","assets/workflow-Bg94dy8I.js","assets/runtime-capabilities-store-D5g-oC-Z.js","assets/public-navigation-BzM_ocRb.js","assets/pin-off-DRR1KEvN.js","assets/pin-Dc2zE4cS.js","assets/circle-alert-DCChabnT.js","assets/panel-right-BSUtqUd8.js","assets/pencil-U08v_vV9.js","assets/trash-2-CNrPOoPR.js","assets/events-By17Y3YI.js","assets/session-organization-api-1F_dNhFa.js","assets/pick-system-directory-BnIFt85A.js","assets/sidebar-CjfGBEog.js","assets/tooltip-Bxq7c2mZ.js","assets/dist-BlIIpW6W.js","assets/sheet-CAEHyJHI.js","assets/PageHeader-75eh-Z_A.js","assets/ThemeToggleButton-DmYU4_Nh.js","assets/sun-DBWBo3We.js","assets/ui-store-D-oOtKbW.js","assets/play-DNDjDNGn.js","assets/save-CHBB52P8.js","assets/TerminalPanel-BFqST5ja.js","assets/terminal-context-aIsIJPn8.js","assets/TaskTerminalView-DyTURB64.js","assets/PageState-CzlR-lkL.js","assets/TaskTerminalView-BrP-ENHg.css","assets/MobileViewportStabilizer-OtwVmIPm.js","assets/catalog-DpGpcvIi.js","assets/ChatPage-CzcvU3Tv.js","assets/web-preview-panel-CHiIjAoR.js","assets/collapsible-C__hRcbA.js","assets/AppSelect-DNIjPL7I.js","assets/check-2vYc6QaP.js","assets/chevron-down-CxtxIjiP.js","assets/popover-BBuzaBfd.js","assets/progress-C_G6VqQ_.js","assets/chevron-left-BAtyp3_6.js","assets/circle-check-iEdCm3Pw.js","assets/circle-x-Ba4QL7Ec.js","assets/ellipsis-CfGKfbq6.js","assets/shield-alert-CvFOTe9h.js","assets/file-text-N9JICX6E.js","assets/file-Bllajneu.js","assets/session-streaming-state-CX6zkOkc.js","assets/circle-dot-nVrXgDaG.js","assets/clock-3-CBHGbD_G.js","assets/code-xml-BrUXrBax.js","assets/copy-DHmIFc52.js","assets/info-DATxy0fb.js","assets/list-checks-B5Jl4aiO.js","assets/web-preview-C3u-dblt.js","assets/shield-check-Gvek4RJ7.js","assets/triangle-alert-CE1q54ci.js","assets/alert-QoPGoIY6.js","assets/vendor-motion-DSW3wzXK.js","assets/MarkdownMessage-bfyuGoi1.js","assets/vendor-markdown-plugins-DisoihU3.js","assets/vendor-shiki-runtime-UFMr0O-Q.js","assets/vendor-markdown-plugins-DEcVZfaU.css","assets/vendor-markdown-Ck4Y_w0n.js","assets/route-context-DvWDul4T.js","assets/GitDiffViewer-Dv9WOiX1.js","assets/FileAttachmentPreview-C6QaQFwb.js","assets/paperclip-BCXrwYpb.js","assets/sliders-horizontal-Dryf1XyC.js","assets/wrench-6pg6_bqI.js","assets/use-back-layer-Cxm0-40v.js","assets/back-navigation-DS0YlxM8.js","assets/tool-labels-DJzY62Yr.js","assets/speech-session-BoAvAzPN.js","assets/WorkspacePicker-DFCZ_IJu.js","assets/usePagePrimaryAction-CWPC0C_f.js","assets/brand-DIEc3fK8.js","assets/web-preview-events-BS5O8D7_.js","assets/side-chat-context-Dr2QLUJA.js","assets/ChatHistoryPage-BhXVvudL.js","assets/StarOrbit-BAAjh-hY.js","assets/session-change-summary-api-4_dTNU4L.js","assets/react-bits-DQli9s7O.css","assets/AssetsPage-BmSnyLZ5.js","assets/PageFrame-BiJUCJku.js","assets/PageToolbar-DGjx3obb.js","assets/mobile-runtime-recovery-tbTyacip.js","assets/ChannelsPage-Da3JaYaC.js","assets/message-circle-D-XrK6Ft.js","assets/send-Cj-W03w_.js","assets/ListDetailLayout-S-IBs4f_.js","assets/arrow-left-B8oVrQ2S.js","assets/SchedulesPage-BR1oIqzi.js","assets/bell-BjONAtgH.js","assets/ConfigPage-F1Y_oed5.js","assets/zap-3wDb3GcJ.js","assets/flask-conical-DhW5v7Zz.js","assets/image-BY_c3FYU.js","assets/app-update-BHhqGwQp.js","assets/wand-sparkles-DdQneChm.js","assets/browser-notifications-DBS0oXqN.js","assets/ChatAppearancePage-Cjy9iir_.js","assets/PluginsPage-za6FNr_k.js","assets/file-code-corner-BnE1ljT0.js","assets/MemoryPage-CC37SohP.js","assets/use-animation-visibility-_Xe7jeUy.js","assets/McpPage-CaUm1pYY.js","assets/textarea-bYCRTyEt.js","assets/SkillsPage-DfFjecBO.js","assets/public-DAsd8NDM.js","assets/settings-2-CXJjXJS9.js","assets/DecisionsPage-BwJ7RTAE.js","assets/WorkflowsPage-Heg3iqQg.js","assets/sprite-engine-catalog-D1HQWa1X.js","assets/vendor-xyflow-hxQFvEHK.js","assets/vendor-xyflow-DLioOiRN.css","assets/routes-C4kwUiVG.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{a as t,c as n,d as r,i,l as a,o,p as s,r as c,s as l,t as u,u as d}from"./vendor-router-CZg2bCPV.js";import{t as f}from"./index-BVIvzUyZ.js";import{i as p,n as m,r as h,t as g}from"./vendor-react-DwNgTV1j.js";import{t as _}from"./vendor-ui-DvrYggeS.js";import{a as v,c as y,i as b,o as x,r as S,s as C,t as w}from"./i18n-CAJMli-q.js";import{n as T,r as E,t as D}from"./use-i18n-Dpn7lxcE.js";import{t as O}from"./storage-BpAqa-YY.js";import{i as k}from"./dist-Cfh4kzCK.js";import{a as A,c as j,i as M,l as ee,o as N,r as te,s as ne,t as re}from"./dist-B_a0oV4U.js";import{r as ie}from"./dist-BlIIpW6W.js";import{a as ae}from"./dist-DAs5KRGl.js";import{c as oe,i as se,o as ce}from"./es2015-0QT3KgdC.js";import{t as le}from"./label-BzlNatZM.js";import{r as P}from"./tooltip-Bxq7c2mZ.js";import{t as F}from"./utils-C8uzG5AZ.js";import{t as I}from"./createLucideIcon-Cd-3GVxJ.js";import{t as ue}from"./bell-BjONAtgH.js";import{t as L}from"./bot-B3TaBp_T.js";import{t as R}from"./brain-qxhnKqYP.js";import{n as de,t as fe}from"./radio-tower-BW78Ns4R.js";import{t as pe}from"./circle-check-iEdCm3Pw.js";import{t as me}from"./folder-open-FIShC5Qk.js";import{t as he}from"./info-DATxy0fb.js";import{a as ge,c as _e,d as ve,l as ye,n as be,r as xe,s as Se,u as Ce}from"./app-update-BHhqGwQp.js";import{t as we}from"./message-square-SKjZyY3v.js";import{a as Te,i as Ee,n as De,r as Oe}from"./web-preview-C3u-dblt.js";import{t as ke}from"./plug-BsIeHRwC.js";import{t as Ae}from"./refresh-cw-TbWxTY4K.js";import{t as je}from"./search-D0mqDaf_.js";import{t as Me}from"./server-BgNvmqwJ.js";import{t as z}from"./sparkles-S_eeuqn9.js";import{t as B}from"./triangle-alert-CE1q54ci.js";import{t as Ne}from"./workflow-Bg94dy8I.js";import{t as Pe}from"./x-07u4-129.js";import{r as Fe}from"./use-mobile-YXncArOq.js";import{r as Ie}from"./http-rQRvhTOP.js";import{t as Le}from"./api-D8wGrWiI.js";import{n as V,t as Re}from"./client-store-lT3geTlX.js";import{t as H}from"./button-BcPDt1Ge.js";import{n as U,t as ze}from"./useQuery-Bg3cTjsY.js";import{a as Be,i as Ve,n as He,o as Ue,r as We,t as Ge}from"./startup-queries-DItwFTRv.js";import{a as Ke,i as qe,n as W,r as Je,t as Ye}from"./runtime-capabilities-store-D5g-oC-Z.js";import{i as Xe,r as Ze,s as Qe,t as $e}from"./dialog-CGGxREwU.js";import{t as G}from"./input-CvjGYteF.js";import{t as et}from"./chat-api-CYidanXn.js";import{r as tt}from"./app-primitives-DhqJLud3.js";import{r as K}from"./ui-store-D-oOtKbW.js";import{t as nt}from"./route-context-DvWDul4T.js";import{t as q}from"./back-navigation-DS0YlxM8.js";import{t as J}from"./brand-DIEc3fK8.js";import{g as rt,h as it,n as at,t as ot}from"./events-By17Y3YI.js";import{r as st}from"./web-preview-events-BS5O8D7_.js";import{i as ct,n as lt,r as ut,t as dt}from"./sidebar-CjfGBEog.js";import{i as ft}from"./browser-notifications-DBS0oXqN.js";import{a as pt,i as mt,n as Y,r as ht,t as gt}from"./routes-C4kwUiVG.js";var X=e(p());function _t({i18n:e,defaultNS:t,children:n}){let r=(0,X.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,X.createElement)(E.Provider,{value:r},n)}var vt=e(m(),1),Z=h(),yt=Object.defineProperty,Q=(e,t)=>yt(e,`name`,{value:t,configurable:!0}),bt=`ToastProvider`,[xt,St,Ct]=ae(`Toast`),[wt,Tt]=ne(`Toast`,[Ct]),[Et,Dt]=wt(bt),Ot=Q(e=>{let{__scopeToast:t,label:n=`Notification`,duration:r=5e3,swipeDirection:i=`right`,swipeThreshold:a=50,announcerContainer:o,children:s}=e,[c,l]=X.useState(null),[u,d]=X.useState(0),f=X.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${bt}\`. Expected non-empty \`string\`.`),(0,Z.jsx)(xt.Provider,{scope:t,children:(0,Z.jsx)(Et,{scope:t,label:n,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:u,viewport:c,onViewportChange:l,onToastAdd:X.useCallback(()=>d(e=>e+1),[]),onToastRemove:X.useCallback(()=>d(e=>e-1),[]),isClosePausedRef:f,announcerContainer:o,children:s})})},`ToastProvider`),kt=`ToastViewport`,At=[`F8`],jt=`toast.viewportPause`,Mt=`toast.viewportResume`,Nt=X.forwardRef(Q(function(e,t){let{__scopeToast:n,hotkey:r=At,label:i=`Notifications ({hotkey})`,...a}=e,o=Dt(kt,n),s=St(n),c=X.useRef(null),l=X.useRef(null),u=X.useRef(null),d=X.useRef(null),f=k(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;X.useEffect(()=>{let e=Q(e=>{r.length!==0&&r.every(t=>e[t]||e.code===t)&&d.current?.focus()},`handleKeyDown`);return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[r]),X.useEffect(()=>{let e=c.current,t=d.current;if(m&&e&&t){let n=Q(()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(jt);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},`handlePause`),r=Q(()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(Mt);t.dispatchEvent(e),o.isClosePausedRef.current=!1}},`handleResume`),i=Q(t=>{e.contains(t.relatedTarget)||r()},`handleFocusOutResume`),a=Q(()=>{e.contains(document.activeElement)||r()},`handlePointerLeaveResume`);return e.addEventListener(`focusin`,n),e.addEventListener(`focusout`,i),e.addEventListener(`pointermove`,n),e.addEventListener(`pointerleave`,a),window.addEventListener(`blur`,n),window.addEventListener(`focus`,r),()=>{e.removeEventListener(`focusin`,n),e.removeEventListener(`focusout`,i),e.removeEventListener(`pointermove`,n),e.removeEventListener(`pointerleave`,a),window.removeEventListener(`blur`,n),window.removeEventListener(`focus`,r)}}},[m,o.isClosePausedRef]);let h=X.useCallback(({tabbingDirection:e})=>{let t=s().map(t=>{let n=t.ref.current,r=[n,...tn(n)];return e===`forwards`?r:r.reverse()});return(e===`forwards`?t.reverse():t).flat()},[s]);return X.useEffect(()=>{let e=d.current;if(e){let t=Q(t=>{let n=t.altKey||t.ctrlKey||t.metaKey;if(t.key===`Tab`&&!n){let n=document.activeElement,r=t.shiftKey;if(t.target===e&&r){l.current?.focus();return}let i=h({tabbingDirection:r?`backwards`:`forwards`}),a=i.findIndex(e=>e===n);nn(i.slice(a+1))?t.preventDefault():r?l.current?.focus():u.current?.focus()}},`handleKeyDown`);return e.addEventListener(`keydown`,t),()=>e.removeEventListener(`keydown`,t)}},[s,h]),(0,Z.jsxs)(ce,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,Z.jsx)(Ft,{ref:l,onFocusFromOutsideViewport:()=>{nn(h({tabbingDirection:`forwards`}))}}),(0,Z.jsx)(xt.Slot,{scope:n,children:(0,Z.jsx)(j.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,Z.jsx)(Ft,{ref:u,onFocusFromOutsideViewport:()=>{nn(h({tabbingDirection:`backwards`}))}})]})},`ToastViewport`)),Pt=`ToastFocusProxy`,Ft=X.forwardRef(Q(function(e,t){let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=Dt(Pt,n);return(0,Z.jsx)(ie,{tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})},`ToastFocusProxy`)),It=`Toast`,Lt=`toast.swipeStart`,Rt=`toast.swipeMove`,zt=`toast.swipeCancel`,Bt=`toast.swipeEnd`,Vt=X.forwardRef(Q(function(e,t){let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s,c]=M({prop:r,defaultProp:i??!0,onChange:a,caller:It});return(0,Z.jsx)(te,{present:n||s,children:(0,Z.jsx)(Wt,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:re(e.onPause),onResume:re(e.onResume),onSwipeStart:N(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:N(e.onSwipeMove,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`move`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-move-y`,`${n}px`)}),onSwipeCancel:N(e.onSwipeCancel,e=>{e.currentTarget.setAttribute(`data-swipe`,`cancel`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-end-y`)}),onSwipeEnd:N(e.onSwipeEnd,e=>{let{x:t,y:n}=e.detail.delta;e.currentTarget.setAttribute(`data-swipe`,`end`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-x`),e.currentTarget.style.removeProperty(`--radix-toast-swipe-move-y`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-x`,`${t}px`),e.currentTarget.style.setProperty(`--radix-toast-swipe-end-y`,`${n}px`),c(!1)})})})},`Toast`)),[Ht,Ut]=wt(It,{onClose(){}}),Wt=X.forwardRef(Q(function(e,t){let{__scopeToast:n,type:r=`foreground`,duration:i,open:a,onClose:o,onEscapeKeyDown:s,onPause:c,onResume:l,onSwipeStart:u,onSwipeMove:d,onSwipeCancel:f,onSwipeEnd:p,...m}=e,h=Dt(It,n),g=St(n),[_,v]=X.useState(null),y=k(t,v),b=X.useRef(null),x=X.useRef(null),S=i||h.duration,C=X.useRef(0),w=X.useRef(S),T=X.useRef(0),{onToastAdd:E,onToastRemove:D}=h,O=re(()=>{_?.contains(document.activeElement)&&h.viewport?.focus(),o()}),A=X.useCallback(e=>{!e||e===1/0||(window.clearTimeout(T.current),C.current=new Date().getTime(),T.current=window.setTimeout(O,e))},[O]);X.useEffect(()=>{let e=h.viewport;if(e){let t=Q(()=>{A(w.current),l?.()},`handleResume`),n=Q(()=>{let e=new Date().getTime()-C.current;w.current-=e,window.clearTimeout(T.current),c?.()},`handlePause`);return e.addEventListener(jt,n),e.addEventListener(Mt,t),()=>{e.removeEventListener(jt,n),e.removeEventListener(Mt,t)}}},[h.viewport,S,c,l,A]),X.useEffect(()=>{a&&!h.isClosePausedRef.current&&A(S)},[a,S,h.isClosePausedRef,A]),X.useEffect(()=>()=>{window.clearTimeout(T.current)},[]),X.useEffect(()=>(E(),()=>D()),[E,D]);let M=X.useMemo(()=>_?Xt(_):null,[_]);return h.viewport?(0,Z.jsxs)(Z.Fragment,{children:[M&&(0,Z.jsx)(Gt,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,children:M}),(0,Z.jsx)(Ht,{scope:n,onClose:O,children:vt.createPortal((0,Z.jsx)(xt.ItemSlot,{scope:n,children:(0,Z.jsx)(oe,{asChild:!0,onEscapeKeyDown:N(s,e=>{g().some(t=>t.ref.current?.contains(e.target))||O()}),children:(0,Z.jsx)(j.li,{tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:y,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:N(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||O())}),onPointerDown:N(e.onPointerDown,e=>{e.button===0&&(b.current={x:e.clientX,y:e.clientY})}),onPointerMove:N(e.onPointerMove,e=>{if(!b.current)return;let t=e.clientX-b.current.x,n=e.clientY-b.current.y,r=!!x.current,i=[`left`,`right`].includes(h.swipeDirection),a=[`left`,`up`].includes(h.swipeDirection)?Math.min:Math.max,o=i?a(0,t):0,s=i?0:a(0,n),c=e.pointerType===`touch`?10:2,l={x:o,y:s},f={originalEvent:e,delta:l};r?(x.current=l,Zt(Rt,d,f,{discrete:!1})):Qt(l,h.swipeDirection,c)?(x.current=l,Zt(Lt,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(b.current=null)}),onPointerUp:N(e.onPointerUp,e=>{let t=x.current,n=e.target;if(n.hasPointerCapture(e.pointerId)&&n.releasePointerCapture(e.pointerId),x.current=null,b.current=null,t){let n=e.currentTarget,r={originalEvent:e,delta:t};Qt(t,h.swipeDirection,h.swipeThreshold)?Zt(Bt,p,r,{discrete:!0}):Zt(zt,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null},`ToastImpl`)),Gt=Q(e=>{let{__scopeToast:t,children:n,...r}=e,i=Dt(It,t),[a,o]=X.useState(!1),[s,c]=X.useState(!1);return $t(()=>o(!0)),X.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,Z.jsx)(se,{asChild:!0,container:i.announcerContainer||void 0,children:(0,Z.jsx)(ie,{...r,children:a&&(0,Z.jsxs)(Z.Fragment,{children:[i.label,` `,n]})})})},`ToastAnnounce`),Kt=X.forwardRef(Q(function(e,t){let{__scopeToast:n,...r}=e;return(0,Z.jsx)(j.div,{...r,ref:t})},`ToastDescription`)),qt=`ToastClose`,Jt=X.forwardRef(Q(function(e,t){let{__scopeToast:n,...r}=e,i=Ut(qt,n);return(0,Z.jsx)(Yt,{asChild:!0,children:(0,Z.jsx)(j.button,{type:`button`,...r,ref:t,onClick:N(e.onClick,i.onClose)})})},`ToastClose`)),Yt=X.forwardRef(Q(function(e,t){let{__scopeToast:n,altText:r,...i}=e;return(0,Z.jsx)(j.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})},`ToastAnnounceExclude`));function Xt(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),en(e)){let n=e.ariaHidden||e.hidden||e.style.display===`none`,r=e.dataset.radixToastAnnounceExclude===``;if(!n){if(r){let n=e.dataset.radixToastAnnounceAlt;n&&t.push(n)}else t.push(...Xt(e))}}}),t}Q(Xt,`getAnnounceTextContent`);function Zt(e,t,n,{discrete:r}){let i=n.originalEvent.currentTarget,a=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?ee(i,a):i.dispatchEvent(a)}Q(Zt,`handleAndDispatchCustomEvent`);var Qt=Q((e,t,n=0)=>{let r=Math.abs(e.x),i=Math.abs(e.y),a=r>i;return t===`left`||t===`right`?a&&r>n:!a&&i>n},`isDeltaInDirection`);function $t(e=()=>{}){let t=re(e);A(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}Q($t,`useNextFrame`);function en(e){return e.nodeType===e.ELEMENT_NODE}Q(en,`isHTMLElement`);function tn(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Q(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}Q(tn,`getTabbableCandidates`);function nn(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}Q(nn,`focusFirst`);var rn=Ot,an=Nt,on=Vt,sn=Kt,cn=Jt,ln=I(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),un=I(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),dn=I(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),fn=I(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),pn=g();function mn({children:e}){let{i18n:t}=T(),n=y(t.resolvedLanguage)?t.resolvedLanguage:w;return(0,X.useEffect)(()=>{document.documentElement.lang=n;try{f.setItem(O.language,n)}catch{}window.pisperDesktop?.setLanguage?.(n)},[n]),e}function hn({children:e}){return(0,Z.jsx)(_t,{i18n:C,children:(0,Z.jsx)(mn,{children:e})})}function gn({children:e}){return(0,X.useEffect)(()=>He(window),[]),(0,Z.jsx)(U,{client:Ve,children:(0,Z.jsx)(hn,{children:(0,Z.jsx)(P,{delayDuration:300,children:e})})})}function _n(){return[...document.querySelectorAll(`[role="dialog"], [role="alertdialog"], [role="menu"], [data-slot="popover-content"]`)].some(e=>e.dataset.state!==`closed`&&e.getAttribute(`aria-hidden`)!==`true`&&e.getClientRects().length>0)}function vn(){return(0,X.useEffect)(()=>{let e=new WeakSet,t=t=>{t.key===`Escape`&&_n()&&e.add(t)},n=t=>{t.key!==`Escape`||t.defaultPrevented||t.isComposing||e.has(t)||q.dismiss()&&t.preventDefault()},r=()=>{let e=_n(),t=new KeyboardEvent(`keydown`,{key:`Escape`,bubbles:!0,cancelable:!0});return(document.activeElement||document.body).dispatchEvent(t),e||t.defaultPrevented},i=window;return i.__pisperRequestBack=r,window.addEventListener(`keydown`,t,!0),window.addEventListener(`keydown`,n),()=>{i.__pisperRequestBack===r&&delete i.__pisperRequestBack,window.removeEventListener(`keydown`,t,!0),window.removeEventListener(`keydown`,n)}},[]),null}function yn(){let e=null,t=!1;return{register(n){return e=n,t&&(t=!1,n()),()=>{e===n&&(e=null)}},invoke(){if(e)return e();t=!0},clear(){e=null}}}function bn(e=e=>e,t=W){let n=[[`chat`,e(`navigation:navigation.chat`),we],[`assets`,e(`navigation:navigation.assets`),me],[`workflows`,e(`navigation:navigation.workflows`),Ne],[`schedules`,e(`navigation:navigation.schedules`),de]];return[[e(`navigation:navigation.app`),n.filter(([e])=>Ke(t,e))]]}function xn(e=e=>e){return{chat:[e(`navigation:navigation.chat`),e(`navigation:navigation.chatDescription`)],chatHistory:[e(`navigation:navigation.chatHistory`),e(`navigation:navigation.chatHistoryDescription`)],assets:[e(`navigation:navigation.assets`),e(`navigation:navigation.assetsDescription`)],channels:[e(`navigation:navigation.channels`),e(`navigation:navigation.channelsDescription`)],schedules:[e(`navigation:navigation.schedules`),e(`navigation:navigation.schedulesDescription`)],config:[e(`navigation:navigation.settings`),e(`navigation:navigation.settingsDescription`)],plugins:[e(`navigation:navigation.plugins`),e(`navigation:navigation.pluginsDescription`)],memory:[e(`navigation:navigation.memory`),e(`navigation:navigation.memoryDescription`)],mcp:[e(`navigation:navigation.mcp`),e(`navigation:navigation.mcpDescription`)],skills:[e(`navigation:navigation.skills`),e(`navigation:navigation.skillsDescription`)],components:[e(`navigation:navigation.components`),e(`navigation:navigation.componentsDescription`)],decisions:[e(`navigation:navigation.decisions`),e(`navigation:navigation.decisionsDescription`)],workflows:[e(`navigation:navigation.workflows`),e(`navigation:navigation.workflowsDescription`)],gameAssetWorkbench:[e(`navigation:navigation.gameAssetWorkbench`),e(`navigation:navigation.gameAssetWorkbenchDescription`)],customComponentTool:[e(`navigation:navigation.components`),e(`navigation:navigation.componentsDescription`)],workflowCreate:[e(`navigation:navigation.newWorkflow`),e(`navigation:navigation.newWorkflowDescription`)]}}var Sn=new Set([`models`,`notifications`,`interface`,`shortcuts`,`desktop-pet`,`updates`,`remote-access`,`mobile-server`,`about`]),Cn=new Set([`config`,`channels`,`plugins`,`memory`,`mcp`,`skills`,`decisions`]);function wn(e,{mobileApp:t=!1,capabilities:n=W}={}){let r=t?[{key:`config:mobile-server`,label:e(`config:configPage.mobileServer`),icon:Ce,destination:{type:`config`,id:`mobile-server`}}]:[{key:`config:remote-access`,label:e(`config:configPage.remoteAccess`),icon:Ce,destination:{type:`config`,id:`remote-access`}}];return[{label:e(`config:settingsShell.agent`),items:[{key:`config:models`,label:e(`config:configPage.models`),icon:L,destination:{type:`config`,id:`models`}}]},{label:e(`config:settingsShell.agentCapabilities`),items:[{key:`page:plugins`,label:e(`navigation:navigation.plugins`),icon:ke,destination:{type:`page`,id:`plugins`}},{key:`page:mcp`,label:e(`navigation:navigation.mcp`),icon:Me,destination:{type:`page`,id:`mcp`}},{key:`page:skills`,label:e(`navigation:navigation.skills`),icon:z,destination:{type:`page`,id:`skills`}},{key:`page:decisions`,label:e(`navigation:navigation.decisions`),icon:ye,destination:{type:`page`,id:`decisions`}}]},{label:e(`config:settingsShell.contextAndData`),items:[{key:`page:memory`,label:e(`navigation:navigation.memory`),icon:R,destination:{type:`page`,id:`memory`}}]},{label:e(`config:settingsShell.connections`),items:[{key:`page:channels`,label:e(`navigation:navigation.channels`),icon:fe,destination:{type:`page`,id:`channels`}},...r,{key:`config:notifications`,label:e(`config:configPage.notifications`),icon:ue,destination:{type:`config`,id:`notifications`}}]},{label:e(`config:settingsShell.application`),items:[{key:`config:interface`,label:e(`config:configPage.interface`),icon:Te,destination:{type:`config`,id:`interface`}},{key:`config:shortcuts`,label:e(`config:configPage.shortcuts`),icon:ve,destination:{type:`config`,id:`shortcuts`}},{key:`config:desktop-pet`,label:e(`config:configPage.desktopPet`),icon:L,destination:{type:`config`,id:`desktop-pet`}},{key:`config:updates`,label:e(`config:configPage.appUpdates`),icon:Ae,destination:{type:`config`,id:`updates`}},{key:`config:about`,label:e(`config:configPage.about`),icon:he,destination:{type:`config`,id:`about`}}]}].map(e=>({...e,items:e.items.filter(e=>e.destination.type===`config`?Je(n,e.destination.id):Ke(n,e.destination.id))})).filter(e=>e.items.length>0)}function Tn(e,t){return e===`config`?`config:${t}`:`page:${e}`}var En=`pisper-custom-accent-style`;function Dn(e,t,n=new Date().getHours()){return e===`dark`?!0:e===`light`?!1:e===`system`?t:n>=18||n<8}function On(e){let t=document.documentElement;t.dataset.accent=e.accent,t.dataset.density=e.density,t.dataset.fontScale=e.fontScale,t.dataset.motion=e.motion,t.dataset.radius=e.radius;let n=e.accent===`custom`?_e(e.customAccent||``):null,r=document.getElementById(En);n?(r||(r=document.createElement(`style`),r.id=En,document.head.append(r)),r.textContent=Se(n)):r?.remove()}function kn(){let e=l(),t=n();return(0,X.useEffect)(()=>{let n=n=>{if(n.defaultPrevented)return;let r=(n.target instanceof Element?n.target:null)?.closest(`a[href]`);if(!r)return;let i=De({href:r.href,baseUrl:window.location.href,button:n.button,download:r.hasAttribute(`download`),altKey:n.altKey,ctrlKey:n.ctrlKey,metaKey:n.metaKey,shiftKey:n.shiftKey,behavior:r.dataset.webPreview});i&&(n.preventDefault(),n.stopPropagation(),st(i),e.pathname!==pt(`chat`)&&t(pt(`chat`)))};return document.addEventListener(`click`,n,!0),()=>document.removeEventListener(`click`,n,!0)},[e.pathname,t]),null}var An=(0,X.lazy)(()=>s(()=>import(`./SidebarUpdateStatus-Chfb-00K.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14])));function jn({page:e,configSection:t,navigate:n,navigateSettings:r,onNewChat:i,onSearch:a,update:o,onOpenUpdates:s,tasks:c,settingsSearch:l}){let{t:u}=D(),{isMobile:d,setOpenMobile:f,open:p,toggleSidebar:m}=ct(),h=V(),g=Ye(e=>e.capabilities),_=(0,X.useMemo)(()=>wn(u,{mobileApp:h,capabilities:g}),[g,h,u]),v=Cn.has(e),y=Tn(e,t),b=e=>{e(),d&&f(!1)},x=`h-9 w-full justify-start gap-2 rounded-lg px-2.5 text-sm font-normal shadow-none hover:bg-sidebar-accent`;return(0,Z.jsx)(dt,{collapsible:`offcanvas`,className:`pisper-sidebar-container overflow-hidden border-0 min-[651px]:rounded-l-2xl`,children:(0,Z.jsxs)(`aside`,{id:`workbench-sidebar`,"data-testid":`workbench-sidebar`,className:`flex h-full w-full min-w-0 flex-col overflow-hidden bg-sidebar text-foreground min-[651px]:rounded-l-2xl`,children:[(0,Z.jsxs)(`div`,{className:`flex h-14 shrink-0 items-center gap-1 px-3`,"data-window-drag-region":!0,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate pl-1 text-lg font-semibold`,children:v?u(`navigation:navigation.settings`):J}),!v&&(0,Z.jsx)(H,{variant:`ghost`,size:`icon`,"aria-label":u(`navigation:workbench.search`),title:u(`navigation:workbench.search`),onClick:()=>b(a),children:(0,Z.jsx)(je,{size:18})}),!d&&p&&(0,Z.jsx)(H,{id:`workbench-sidebar-toggle`,variant:`ghost`,className:`size-9 shrink-0`,"aria-label":u(`navigation:appSidebar.collapseSidebar`),title:u(`navigation:appSidebar.collapseSidebar`),"aria-expanded":p,"aria-controls":`workbench-sidebar`,onClick:()=>{(0,vt.flushSync)(m),document.getElementById(`workbench-sidebar-toggle`)?.focus()},children:(0,Z.jsx)(un,{size:18})}),d&&(0,Z.jsx)(H,{variant:`ghost`,className:`ml-auto size-11`,"aria-label":u(`navigation:appSidebar.collapseSidebar`),onClick:()=>f(!1),children:(0,Z.jsx)(Pe,{})})]}),l&&(0,Z.jsx)(`div`,{className:`relative z-20 shrink-0 px-2 pb-2`,children:l}),v?(0,Z.jsxs)(`nav`,{className:`min-h-0 flex-1 overflow-y-auto px-2 py-3`,"aria-label":u(`config:settingsShell.settingsNavigation`),children:[(0,Z.jsxs)(H,{variant:`ghost`,className:F(x,`mb-4`),onClick:()=>b(()=>n(`chat`)),"data-testid":`workbench-home`,children:[(0,Z.jsx)(ln,{size:16}),u(`navigation:workbench.home`)]}),_.map(e=>(0,Z.jsxs)(`div`,{className:`mb-5 flex flex-col gap-0.5`,children:[(0,Z.jsx)(`span`,{className:`px-2.5 pb-1.5 text-xs text-muted-foreground`,children:e.label}),e.items.map(e=>(0,Z.jsxs)(H,{variant:`ghost`,className:F(x,y===e.key&&`bg-sidebar-accent font-medium`),"aria-current":y===e.key?`page`:void 0,onClick:()=>b(()=>r(e.destination)),children:[(0,Z.jsx)(e.icon,{size:16}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.label})]},e.key))]},e.label))]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center gap-1 px-2 py-2`,children:(0,Z.jsxs)(H,{variant:`ghost`,className:F(x,`min-w-0 flex-1`),onClick:()=>b(i),"data-testid":`workbench-new-task`,children:[(0,Z.jsx)(fn,{size:18}),(0,Z.jsx)(`span`,{className:`truncate`,children:u(`navigation:workbench.newTask`)})]})}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:c})]}),o.status&&[`available`,`downloading`,`downloaded`].includes(o.status.state)&&(0,Z.jsx)(`footer`,{className:`shrink-0 px-3 py-2`,children:(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(An,{update:o,collapsed:!1,onOpen:s})})})]})})}function Mn({title:e,sidebarOpen:t,onToggleSidebar:n,toggleLabel:r,actions:i}){let{isMobile:a}=ct();return t&&!a?null:(0,Z.jsxs)(`header`,{"data-window-drag-region":!0,className:`absolute left-1 top-1 z-30 flex h-11 items-center gap-2`,children:[(0,Z.jsx)(H,{id:`workbench-sidebar-toggle`,variant:`ghost`,className:`size-11 shrink-0 [-webkit-app-region:no-drag]`,"aria-label":r,title:r,"aria-expanded":t,"aria-controls":`workbench-sidebar`,onClick:()=>{a?n():((0,vt.flushSync)(n),document.getElementById(`workbench-sidebar-toggle`)?.focus())},children:t?(0,Z.jsx)(un,{}):(0,Z.jsx)(dn,{})}),(0,Z.jsx)(`div`,{className:`sr-only`,children:e}),i&&(0,Z.jsx)(`div`,{className:`flex shrink-0 items-center gap-1 [-webkit-app-region:no-drag]`,children:i})]})}function Nn({page:e,configSection:t,mobileApp:n,onNavigate:r}){let{t:i}=D(),a=Tn(e,t),o=(0,X.useRef)(null),s=Ye(e=>e.capabilities),c=(0,X.useMemo)(()=>wn(i,{mobileApp:n,capabilities:s}).flatMap(e=>e.items).filter(e=>e.destination.type!==`config`||e.destination.id!==`desktop-pet`),[s,n,i]);return(0,X.useEffect)(()=>{o.current?.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`center`})},[a]),(0,Z.jsx)(`nav`,{"aria-label":i(`config:settingsShell.settingsNavigation`),className:`flex flex-none gap-2 overflow-x-auto px-4 pb-3 pt-1 [-ms-overflow-style:none] [scrollbar-width:none] max-[650px]:px-2 [&::-webkit-scrollbar]:hidden`,"data-mobile-navigation":`settings`,children:c.map(e=>{let t=a===e.key,n=e.icon;return(0,Z.jsxs)(`button`,{"aria-current":t?`page`:void 0,className:F(`flex flex-none items-center gap-1.5 rounded-full border px-3 py-1.5 text-[12px] font-medium transition-colors`,t?`border-[var(--star-strong)] bg-[var(--star-soft)] text-[var(--star-strong)]`:`border-[var(--border)] text-[var(--text-muted)] hover:text-[var(--text)]`),onClick:()=>r(e.destination),ref:t?o:void 0,children:[(0,Z.jsx)(n,{"aria-hidden":`true`,size:14}),(0,Z.jsx)(`span`,{children:e.label})]},e.key)})})}function Pn({dialog:e,onClose:t,onFinish:n}){let{t:r}=D(),[i,a]=(0,X.useState)(e?.value||``),o=(0,X.useRef)(null);return(0,X.useEffect)(()=>{a(e?.value||``)},[e]),(0,Z.jsx)($e,{open:!!e,onOpenChange:e=>!e&&t(),children:e&&(0,Z.jsx)(Ze,{showCloseButton:!1,className:`max-w-[430px] gap-0 rounded-dialog border border-surface-highlight bg-popover p-[18px] text-popover-foreground shadow-dialog ring-0`,onOpenAutoFocus:t=>{e.type===`prompt`&&(t.preventDefault(),o.current?.focus(),o.current?.select())},children:(0,Z.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),e&&n(e.type!==`prompt`||i.trim())},children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Z.jsxs)(`div`,{className:`min-w-0`,children:[(0,Z.jsx)(Qe,{className:`text-[17px] leading-6 font-bold tracking-[0]`,children:e.title}),(0,Z.jsx)(Xe,{className:e.message?`mt-1.5 text-[13px] leading-5 text-content-muted`:`sr-only`,children:e.message||e.title})]}),(0,Z.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":r(`common:ui.closeDialog`),title:r(`common:ui.closeDialog`),className:`size-8 shrink-0 text-content-muted`,onClick:t,children:(0,Z.jsx)(Pe,{className:`size-[18px]`})})]}),e.type===`prompt`&&(0,Z.jsxs)(le,{className:`mt-4 block text-[12px] leading-5 font-semibold text-content-soft`,children:[e.inputLabel||r(`common:ui.name`),(0,Z.jsx)(G,{ref:o,className:`mt-2 h-10 rounded-lg border-border bg-background px-3 text-[13px]`,value:i,placeholder:e.placeholder,maxLength:e.maxLength||120,onChange:e=>a(e.target.value)})]}),(0,Z.jsxs)(`div`,{className:`mt-[18px] flex justify-end gap-2`,children:[(0,Z.jsx)(H,{type:`button`,variant:`secondary`,onClick:t,children:r(`common:ui.cancel`)}),(0,Z.jsx)(H,{type:`submit`,variant:e.tone===`danger`?`destructive`:`default`,className:e.tone===`danger`?void 0:`text-primary-foreground`,disabled:e.type===`prompt`&&!i.trim(),children:e.confirmLabel||r(`common:ui.confirm`)})]})]})})})}var Fn=_(`group pointer-events-auto relative flex min-h-11 w-full items-center gap-2 overflow-hidden rounded-surface border px-3.5 py-2.5 pr-10 text-[13px] leading-5 font-semibold tracking-[0] shadow-floating transition data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-right-full data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none`,{variants:{tone:{success:`border-success-border bg-success-soft text-success-strong`,error:`border-danger-border bg-danger-soft text-danger`,info:`border-border bg-surface-muted text-content-soft`}},defaultVariants:{tone:`success`}});function In({className:e,tone:t,...n}){return(0,Z.jsx)(on,{"data-slot":`toast`,className:F(Fn({tone:t}),e),...n})}function Ln({...e}){return(0,Z.jsx)(rn,{"data-slot":`toast-provider`,...e})}function Rn({className:e,...t}){return(0,Z.jsx)(an,{"data-slot":`toast-viewport`,className:F(`fixed right-5 bottom-5 z-[80] flex w-[min(420px,calc(100vw-40px))] max-w-full flex-col gap-2 outline-none max-sm:right-3 max-sm:bottom-3 max-sm:left-3 max-sm:w-auto`,e),...t})}function zn({className:e,...t}){return(0,Z.jsx)(sn,{"data-slot":`toast-description`,className:F(`min-w-0 flex-1 [overflow-wrap:anywhere]`,e),...t})}function Bn({className:e,...t}){return(0,Z.jsx)(cn,{"data-slot":`toast-close`,className:F(`absolute top-1/2 right-1.5 grid size-7 -translate-y-1/2 place-items-center rounded-md text-current opacity-70 outline-none transition hover:bg-black/5 hover:opacity-100 focus-visible:ring-3 focus-visible:ring-ring/50 dark:hover:bg-white/10`,e),...t})}var Vn={success:pe,error:B,info:he};function Hn({message:e,tone:t,closeLabel:n,...r}){let i=Vn[t];return(0,Z.jsxs)(In,{tone:t,type:t===`error`?`foreground`:`background`,...r,children:[(0,Z.jsx)(i,{className:`size-[18px] shrink-0`}),(0,Z.jsx)(zn,{children:e}),(0,Z.jsx)(Bn,{"aria-label":n,title:n,children:(0,Z.jsx)(Pe,{className:`size-4`})})]})}function Un(){let{t:e}=D(),[t,n]=(0,X.useState)(null),r=(0,X.useRef)(null),i=(0,X.useCallback)(e=>{r.current?.(e),r.current=null,n(null)},[]),a=(0,X.useCallback)(e=>new Promise(t=>{r.current?.(null),r.current=t,n(e)}),[]),o=(0,X.useCallback)((t={})=>a({type:`confirm`,title:e(`common:useAppDialog.confirmAction`),confirmLabel:e(`common:useAppDialog.confirm`),tone:`danger`,...t}).then(e=>e===!0),[a,e]),s=(0,X.useCallback)((t={})=>a({type:`prompt`,title:e(`common:useAppDialog.enterContent`),confirmLabel:e(`common:useAppDialog.save`),tone:`primary`,value:``,...t}).then(e=>typeof e==`string`?e:null),[a,e]),c=(0,X.useCallback)(()=>i(null),[i]);return(0,X.useEffect)(()=>()=>r.current?.(null),[]),{dialog:t,confirm:o,prompt:s,close:c,finish:i}}var Wn=15e3,Gn=216e5,Kn=new Set([`checking`,`downloading`,`downloaded`]);function qn(e){return!Kn.has(e)}function Jn(e,t=window){let n=!1,r=!1,i=()=>{n||r||(n=!0,Promise.resolve().then(e).catch(()=>{}).finally(()=>{n=!1}))},a=t.setTimeout(i,Wn),o=t.setInterval(i,Gn);return()=>{r=!0,t.clearTimeout(a),t.clearInterval(o)}}var Yn=new Set([`available`,`downloading`,`installed`,`error`]);function Xn(e,t){return t?.find(e=>e.component===`desktop`)?.currentVersion.trim()||e}function Zn(e){return e.filter(e=>e.size>0&&(Yn.has(e.state)||e.canInstall))}function Qn(e){return e.replace(/\r/g,``).split(`
3
- `).filter(e=>!/^\s*#{1,6}\s+Pisper\s+(?:Desktop|TUI|Runtime)\s+v?\d+\.\d+\.\d+\s*$/i.test(e)&&!/^\s*#{1,6}\s+What['’]?s Changed\s*$/i.test(e)&&!/^\s*(?:\*\*)?(?:Full Changelog|完整变更)(?:\*\*)?\s*[::].*$/i.test(e)).join(`
4
- `).replace(/\n{3,}/g,`
5
-
6
- `).trim()}function $n(e){let t=e.filter(e=>e.state===`available`||e.state===`downloading`).map(e=>Qn(e.notes)).filter((e,t,n)=>e&&n.indexOf(e)===t);return t.length?`## What's Changed\n\n${t.join(`
7
-
8
- `)}`:``}function er(e,t=new Date().toISOString()){let n=e.filter(e=>e.state===`error`),r=e.filter(e=>e.state===`available`),i=e.some(e=>e.state===`checking`),a=e.filter(e=>e.state===`downloading`),o=e.some(e=>e.state===`installed`),s=a[0]||r[0]||n[0]||e[0],c=$n(e),l=Zn(e),u=l.reduce((e,t)=>e+t.size,0),d=l.reduce((e,t)=>t.state===`installed`?e+t.size:t.state===`downloading`?e+Math.min(t.size,Math.max(0,t.transferred||0)):e,0);return{state:a.length?`downloading`:i?`checking`:n.length?`error`:r.length?`available`:o?`installed`:e.length?`current`:`idle`,checkedAt:t,message:n.map(e=>`${e.component}: ${e.message}`).join(`
9
- `),releaseUrl:s?.releaseUrl,canDownload:r.length>0,availableVersion:s?.availableVersion,notes:c,total:u,transferred:d,percent:u>0?Math.min(100,d/u*100):0}}async function tr({refresh:e=!1,fetcher:t=fetch}={}){let n=await t(`/api/app-update${e?`?refresh=1`:``}`,{cache:`no-store`}),r=await n.json().catch(()=>null);if(!n.ok){let e=r&&`error`in r&&typeof r.error==`string`?r.error.trim():``;throw Error(e||`更新检查失败:HTTP ${n.status}`)}return r}var nr=Object.freeze({desktop:!1,packaged:!1,version:`0.5.64`,platform:`browser`,arch:``,releasesUrl:be});function rr(){let e=window.pisperDesktop,t=e?void 0:window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke,[n,r]=(0,X.useState)(nr),[i,a]=(0,X.useState)({state:`idle`,checkedAt:null}),[o,s]=(0,X.useState)([]),c=(0,X.useRef)(i),l=(0,X.useRef)(null),u=(0,X.useRef)(!1),d=(0,X.useRef)(!1),f=(0,X.useCallback)(e=>{c.current=e,a(e)},[]),p=(0,X.useCallback)(({refresh:n=!0}={})=>{if(l.current)return l.current;f({...c.current,state:`checking`,message:``});let r=(async()=>{try{if(u.current=!1,e?.checkForUpdates)try{let t=await e.checkForUpdates();if(t.state===`available`&&t.canDownload)return u.current=!0,f(t),t}catch{}if(e?.checkComponentUpdates){let t=await e.checkComponentUpdates();s(t);let n=er(t);return f(n),!t.some(e=>e.state===`error`||e.state===`available`)&&t.some(e=>e.restartRequired)&&await e.restartForComponentUpdate?.(),n}if(d.current&&t){let e=await t(`mobile_check_app_update`,{refresh:n});return f(e),e}let r=await tr({refresh:n});return f(r),r}catch(e){let t={state:`error`,message:e instanceof Error?e.message:String(e),checkedAt:new Date().toISOString()};return f(t),t}})();return l.current=r,r.finally(()=>{l.current===r&&(l.current=null)}),r},[f,e,t]);(0,X.useEffect)(()=>{let n=!0,i=()=>{},a=()=>{},o=()=>{i=Jn(()=>{if(qn(c.current.state))return p({refresh:!1})})};if(!e){let e=()=>{n&&p({refresh:!1})};return t?(t(`mobile_app_info`).then(t=>{if(!n)return;if(!t.mobile){e();return}d.current=!0,r(t),s([]),t.update&&f(t.update),p({refresh:!1}),o();let i=()=>{document.visibilityState===`visible`&&qn(c.current.state)&&p({refresh:!1})};document.addEventListener(`visibilitychange`,i),a=()=>document.removeEventListener(`visibilitychange`,i)}).catch(e),()=>{n=!1,i(),a()}):(e(),()=>{n=!1})}return e.getAppInfo().then(t=>{n&&(r({...t,hostVersion:t.version}),e.componentUpdateStatus?.().then(e=>{n&&(s(e),f(er(e)))}).catch(()=>{}),t.packaged&&o())}).catch(()=>{}),()=>{n=!1,i()}},[f,e,p,t]);let m=(0,X.useCallback)(async()=>{if(u.current&&e?.downloadUpdate){f({...c.current,state:`downloading`,message:``,transferred:0,percent:0});let t=e.onUpdateStatus?.(f);try{let t=await e.downloadUpdate();f(t),t.state===`downloaded`&&t.canInstall&&await e.installUpdate?.()}finally{t?.()}return[]}if(!e?.installComponentUpdates)return[];f({...c.current,state:`downloading`,message:``,transferred:0,percent:0});let t=!1,n=!1,r=async()=>{if(!(n||t||!e.componentUpdateStatus)){t=!0;try{let t=await e.componentUpdateStatus();if(n)return;s(t);let r=er(t);r.state!==`available`&&f(r)}catch{}finally{t=!1}}},i=window.setInterval(()=>void r(),250);try{let t=await e.installComponentUpdates();return n=!0,s(t),f(er(t)),!t.some(e=>e.state===`error`)&&t.some(e=>e.restartRequired)&&await e.restartForComponentUpdate?.(),t}finally{n=!0,window.clearInterval(i)}},[f,e]),h=(0,X.useCallback)(async()=>{if(e)return e.openReleases();let r=i.releaseUrl||n.releasesUrl||`https://github.com/ling-kong-ran/pisper/releases`;return d.current&&t?t(`mobile_open_app_update`,{url:r}):(window.open(r,`_blank`,`noopener,noreferrer`),!0)},[e,n.releasesUrl,t,i.releaseUrl]),g=(0,X.useCallback)(()=>e?.openUpdateLog?.(),[e]),_=(0,X.useCallback)(()=>d.current&&t&&i.downloadUrl?t(`mobile_open_app_update`,{url:i.downloadUrl}):h(),[t,h,i.downloadUrl]),v=(0,X.useCallback)(()=>_(),[_]);return{info:(0,X.useMemo)(()=>({...n,version:n.desktop?Xn(n.hostVersion||n.version,o):n.version}),[o,n]),status:i,components:o,check:p,installComponents:m,download:_,install:v,openReleases:h,openUpdateLog:g}}function ir(e){return!!e.providers?.some(e=>e.configured&&e.models?.some(e=>e.kind===`chat`))}function ar(e,t){return!t&&!ir(e)}function or(){try{return JSON.parse(f.getItem(O.terminalPanel)||`{}`)}catch{return{}}}var sr=(0,X.lazy)(()=>s(()=>import(`./DesktopWindowControls-CLVd8sg6.js`).then(e=>({default:e.DesktopWindowControls})),__vite__mapDeps([15,2,1,3,4,5,6,7,8,9,16,11,17,18]))),cr=(0,X.lazy)(()=>s(()=>import(`./AppShortcuts-V38tUYTp.js`).then(e=>({default:e.AppShortcuts})),__vite__mapDeps([19,2,1,20,6,5,7,9,8]))),lr=(0,X.lazy)(async()=>{let[{FloatingWidgets:e}]=await Promise.all([s(()=>import(`./FloatingWidgets-QMhElaDR.js`),__vite__mapDeps([21,2,6,5,1,7,3,4,8,9,22,23,24,11,25,18,26,27,28,29,30,31,32,33,34,35,36])),b()]);return{default:e}}),ur=(0,X.lazy)(()=>s(()=>import(`./AppOverlays-C_WrmeqC.js`).then(e=>({default:e.CommandPalette})),__vite__mapDeps([37,2,1,3,4,5,6,7,8,9,38,11,39,40,41,42,18,31,23,32,22,35,43,28,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))),dr=(0,X.lazy)(()=>s(()=>import(`./AppOverlays-C_WrmeqC.js`).then(e=>({default:e.QuickCreate})),__vite__mapDeps([37,2,1,3,4,5,6,7,8,9,38,11,39,40,41,42,18,31,23,32,22,35,43,28,29,30,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))),fr=(0,X.lazy)(()=>s(()=>import(`./WebDesktopPet-COIAEeuY.js`).then(e=>({default:e.WebDesktopPet})),__vite__mapDeps([61,2,6,5,1,7,3,4,8,9,28,29,30]))),pr=(0,X.lazy)(()=>s(()=>import(`./public-components-CS0BXa3D.js`).then(e=>({default:e.ConfigSearchBox})),__vite__mapDeps([62,2,1,3,4,5,6,7,8,9,22,23,63,11,64,10,65,41,66,18,31,32,45,46,47,48,49,67]))),mr=(0,X.lazy)(()=>s(()=>import(`./public-components-CS0BXa3D.js`).then(e=>({default:e.ModelOnboardingDialog})),__vite__mapDeps([62,2,1,3,4,5,6,7,8,9,22,23,63,11,64,10,65,41,66,18,31,32,45,46,47,48,49,67]))),hr=(0,X.lazy)(()=>s(()=>import(`./WorkbenchNavigation-BBZRfeaC.js`).then(e=>({default:e.WorkbenchNavigation})),__vite__mapDeps([68,1,2,3,4,5,6,7,8,9,69,32,47,70,59,48,71,57,22,23,72,11,73,74,75,76,77,78,79,80,39,81,82,66,83,84,85,86,31,87,28,29,30]))),gr=(0,X.lazy)(()=>s(()=>import(`./public-navigation-BzM_ocRb.js`).then(e=>({default:e.ProjectTaskList})),__vite__mapDeps([88,2,5,1,6,7,3,4,8,9,47,32,70,59,48,71,57,22,23,11,89,90,72,91,38,39,92,93,40,25,41,94,28,29,30,31,35,43,44,53,95,96,97,98,52,99,100,26,49,101,46,18]))),_r=(0,X.lazy)(()=>s(()=>import(`./PageHeader-75eh-Z_A.js`).then(e=>({default:e.PageHeader})),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,22,23,103,69,32,47,70,59,48,71,57,72,11,104,31,105,80,106,40,14,107,41,85,17,20]))),vr=(0,X.lazy)(()=>s(()=>import(`./TerminalPanel-BFqST5ja.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([108,2,1,3,4,5,6,7,8,9,11,16,40,85,18,31,23,32,22,109,110,17,111,38,112]))),yr=(0,X.lazy)(()=>s(()=>import(`./MobileViewportStabilizer-OtwVmIPm.js`).then(e=>({default:e.MobileViewportStabilizer})),__vite__mapDeps([113,2,1])));function br(e,t){return String(e||``).replace(/\{\{\s*([\w.]+)\s*\}\}/g,(e,n)=>{let r=n.split(`.`).reduce((e,t)=>{if(!(!e||typeof e!=`object`))return e[t]},t);return r==null?`{{${n}}}`:String(r)})}function xr(e){try{return decodeURIComponent(e)}catch{return``}}function Sr(e,t){let n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return n?n(e,t):Promise.reject(Error(`native bridge unavailable`))}function Cr(){let{t:e}=D();(0,X.useEffect)(()=>Ue(`react-app-mounted`),[]);let t=l(),r=n(),a=Ye(e=>e.capabilities),o=Ye(e=>e.loaded),c=Ye(e=>e.load),u=(0,X.useMemo)(()=>bn(e,a),[a,e]),d=(0,X.useMemo)(()=>xn(e),[e]),p=mt(t.pathname)||`chat`,m=(0,X.useRef)(p),[h,g]=(0,X.useState)(``),[_,v]=(0,X.useState)([]);(0,X.useEffect)(()=>{let e=!0;return s(async()=>{let{listCustomUiComponents:e}=await import(`./catalog-DpGpcvIi.js`);return{listCustomUiComponents:e}},__vite__mapDeps([114,33,2,5,1,6,7,4,8,3,9,22,23,28,29,30,31,32,34,35,36])).then(({listCustomUiComponents:e})=>e()).then(({components:t})=>{e&&v(t.filter(e=>!e.builtIn).map(({id:e,name:t})=>({id:e,name:t})))}).catch(()=>{}),()=>{e=!1}},[]);let[y,b]=(0,X.useState)(()=>f.getItem(O.activeSession)||``),[x,S]=(0,X.useState)(!1),C=Re(e=>e.client===`mobile-app`),w=Re(e=>e.loaded),T=Fe(),E=C||T,k=E,[A,j]=(0,X.useState)(!1),M=K(e=>e.sidebarCollapsed),ee=K(e=>e.setSidebarCollapsed),N=K(e=>e.theme),te=K(e=>e.cycleTheme),ne=K(e=>e.density),re=K(e=>e.accent),ie=K(e=>e.customAccent),ae=K(e=>e.fontScale),oe=K(e=>e.radius),se=K(e=>e.motion),[ce,le]=(0,X.useState)(null),[P,F]=(0,X.useState)(null),[I,ue]=(0,X.useState)(!1),L=p===`config`?xr(t.pathname.split(`/`)[2]||`models`):`models`,R=Sn.has(L)&&Je(a,L)?L:`models`,[de,fe]=(0,X.useState)(null),{data:pe,isPending:me,isSuccess:he}=ze(Be(`config`)),{data:_e}=ze(Be(`notification-settings`)),[ve,ye]=(0,X.useState)(!1),[be,Se]=(0,X.useState)({browser:{enabled:!1},connections:{},scopes:[],templates:[]}),[Ce,we]=(0,X.useState)(null),Te=(0,X.useMemo)(()=>({terminal:e(`terminal:terminalPanel.terminal`),resizeTerminal:e(`terminal:terminalPanel.resizeTerminal`),hideTerminal:e(`terminal:terminalPanel.hideTerminal`),showTerminal:e(`terminal:terminalPanel.showTerminal`),newTerminal:e(`terminal:terminalPanel.newTerminal`),closeTerminal:e(`terminal:terminalPanel.closeTerminal`),maximizeTerminal:e(`terminal:terminalPanel.maximizeTerminal`),openTerminal:e(`terminal:terminalPanel.openTerminal`),usesActiveSessionWorkspace:e(`terminal:terminalPanel.usesActiveSessionWorkspace`),orphanedTerminal:e(`terminal:terminalPanel.orphanedTerminal`),starting:e(`terminal:terminalPanel.starting`),processExited:t=>e(`terminal:terminalPanel.processExited`,{code:t??`-`})}),[e]),[De,ke]=(0,X.useState)(()=>!!or().open),[Ae,je]=(0,X.useState)(()=>Math.max(180,Math.min(640,Number(or().height)||300)));(0,X.useEffect)(()=>{let e=()=>{window.pisperDesktop?.terminalProfiles&&qe(a,`terminal`)&&ke(e=>!e)};return window.addEventListener(`pisper:toggle-terminal`,e),()=>window.removeEventListener(`pisper:toggle-terminal`,e)},[a]);let Me=(0,X.useRef)(``),[z]=(0,X.useState)(yn),B=(0,X.useRef)(null),Ne=(0,X.useRef)(null),Pe=(0,X.useRef)(null),Ie=(0,X.useRef)(0),V=Un(),H=rr();(0,X.useEffect)(()=>{On({accent:re,density:ne,fontScale:ae,motion:se,radius:oe,customAccent:ie})},[re,ne,ae,se,oe,ie]),(0,X.useEffect)(()=>{f.setItem(O.terminalPanel,JSON.stringify({open:De,height:Ae}))},[Ae,De]),(0,X.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>{let t=Dn(N,e.matches);document.documentElement.dataset.theme=t?`dark`:`light`,document.documentElement.classList.toggle(`dark`,t)};if(t(),N===`system`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(N===`scheduled`){let e=window.setInterval(t,6e4);return()=>window.clearInterval(e)}},[N]);let U=(0,X.useCallback)((e,t=`success`)=>{Ie.current+=1,le({id:Ie.current,message:e,tone:t})},[]);(0,X.useEffect)(()=>{let e=e=>{let t=e.detail?.id;b(t??f.getItem(O.activeSession)??``)};window.addEventListener(ot,e);let t=e=>{let t=e.detail;t?.message&&U(t.message,t.tone===`error`?`error`:`info`)};return window.addEventListener(nt,t),Re.getState().load({refresh:!1}).then(()=>Ue(`client-info-loaded`)),c({refresh:!1}).then(()=>Ue(`capabilities-loaded`)),()=>{window.removeEventListener(ot,e),window.removeEventListener(nt,t)}},[c,U]);let He=(0,X.useRef)(!1);(0,X.useEffect)(()=>{!w||!C||He.current||(He.current=!0,(async()=>{await Sr(`mobile_ensure_local_network_permission`).catch(()=>void 0)})())},[w,C]);let W=(0,X.useCallback)((e,t,{force:n=!1}={})=>{if(be.browser?.enabled&&!(!n&&document.visibilityState===`visible`&&document.hasFocus())){if(window.pisperDesktop?.showNotification){window.pisperDesktop.showNotification({title:e,body:t}).catch(()=>{});return}if(xe()){ge(e,t).catch(()=>{});return}ft({title:e,body:t,tag:`pisper-${e}`,url:window.location.href}).catch(()=>{})}},[be.browser?.enabled]),Xe=(0,X.useCallback)((e,t,n)=>{let r=be.templates?.find(t=>t.id===e),i=r?.channels?.browser?.content;!r?.enabled||!i||W(r.name,br(i,t||{}),n)},[be.templates,W]),Ze=(0,X.useCallback)(e=>z.register(e),[z]),Qe=(0,X.useCallback)(()=>{z.invoke()},[z]),$e=(0,X.useCallback)(e=>(we(e),()=>we(t=>t===e?null:t)),[]),G=(0,X.useCallback)((e,t)=>{!gt.has(e)||!Ke(a,e)||(r(pt(e),t),g(``))},[a,r]),tt=(0,X.useCallback)(()=>{it(``),G(`chat`)},[G]);(0,X.useEffect)(()=>{if(o&&!Ke(a,p)){r(`/chat`,{replace:!0});return}p===`config`&&L!==R&&r(`/config/${R}`,{replace:!0})},[a,o,R,p,L,r]);let q=(0,X.useCallback)((e,t)=>{let n=Sn.has(e)&&Je(a,e)?e:`models`,i=n===`interface`&&t&&t!==`appearance`?`?view=${t}`:``;r(`/config/${n}${i}`),g(``)},[a,r]),J=(0,X.useCallback)(()=>{try{f.setItem(O.modelOnboardingDismissed,`1`)}catch{}ue(!1)},[]),st=(0,X.useCallback)(()=>{J(),z.clear(),z.invoke(),q(`models`)},[J,z,q]),ct=(0,X.useCallback)(()=>{J(),r(`/config/models?import=1`),g(``)},[J,r]),dt=(0,X.useCallback)(()=>q(`updates`),[q]),Y=(0,X.useCallback)(()=>q(`notifications`),[q]),ht=(0,X.useCallback)(e=>{e.type===`config`?q(e.id):G(e.id)},[G,q]),_t=(0,X.useCallback)(async e=>e&&(await Ge(`sessions`)).sessions?.find(t=>t.id===e)?.cwd||``,[]),vt=(0,X.useCallback)(e=>{let t=f.getItem(O.activeSession)||``;fe({asset:e,targetSessionId:t}),t&&rt(t),G(`chat`)},[G]),yt=(0,X.useCallback)(()=>{(p!==`config`||R===`models`)&&([`chat`,`config`,`assets`,`plugins`,`channels`,`schedules`,`memory`,`mcp`,`skills`,`workflowCreate`].includes(p)?Qe():p===`chatHistory`?(G(`chat`),Qe()):p===`workflows`?G(`workflowCreate`):F(p))},[R,Qe,G,p]);(0,X.useEffect)(()=>{let e=()=>{!V.dialog&&!P&&!I&&j(!0)},t=e=>{if(!(e.defaultPrevented||e.isComposing||e.keyCode===229)&&e.key===`Escape`&&!V.dialog){A?(j(!1),e.preventDefault()):P&&(F(null),e.preventDefault());return}};return window.addEventListener(`keydown`,t),window.addEventListener(at,e),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(at,e)}},[V.dialog,x,P,I,A]);let Q=(0,X.useRef)(!1);(0,X.useEffect)(()=>{if(me||Q.current||(Q.current=!0,ye(!0),!he||!pe))return;Ue(`config-loaded`);let e=!1;try{e=f.getItem(O.modelOnboardingDismissed)===`1`}catch{}m.current!==`config`&&ar(pe,e)&&ue(!0)},[pe,me,he]),(0,X.useEffect)(()=>{ve&&o&&p===`chat`&&Ue(`chat-shell-ready`)},[o,p,ve]);let bt=(0,X.useRef)(p);(0,X.useLayoutEffect)(()=>{bt.current===`config`&&p!==`config`&&(We(`config`),We(`notification-settings`)),bt.current=p},[p]),(0,X.useEffect)(()=>{_e&&Se(_e)},[_e]),(0,X.useEffect)(()=>{let e=!0,t=async()=>{try{let t=Me.current,n=await Ve.fetchQuery({queryKey:[`browser-notification-events`,t],queryFn:()=>Le(`/api/settings/notifications/browser/events?after=${encodeURIComponent(t)}`),staleTime:0,retry:!1});if(!e)return;for(let e of n.events||[])W(e.title,e.body,{force:!0});Me.current=n.latestId||Me.current}catch{}};t();let n=window.setInterval(t,3e3);return()=>{e=!1,window.clearInterval(n)}},[W]);let xt=p===`chat`?[e(`common:app.sessions`),E?``:e(`common:app.dragTabsOrSplitChatsInAnyDirectionFromTheSessionList`)]:p===`config`?[wn(e,{mobileApp:C,capabilities:a}).flatMap(e=>e.items).find(e=>e.key===`config:${R}`)?.label||d.config[0],``]:d[p]||[e(`common:app.sessions`),``],St=(0,X.useCallback)(e=>{Ve.cancelQueries({queryKey:[`notification-settings`],exact:!0}),Ve.setQueryData([`notification-settings`],e),Se(e)},[]),Ct={query:h,activeSessionId:y,navigate:G,notify:U,browserNotify:Xe,registerPrimaryAction:Ze,pendingAsset:de,onAssetConsumed:()=>fe(null),onUseAsset:vt,requestText:V.prompt,requestConfirm:V.confirm,openNotificationSettings:Y,configSection:R,setConfigSection:q,setNotificationSettings:St,appUpdate:H,registerWorkflowActions:$e};return!ve||!o?(0,Z.jsxs)(`div`,{className:`app-startup dark:bg-[var(--bg)] dark:text-[var(--text)] flex w-full min-h-[100vh] items-center justify-center gap-[10px] bg-[var(--bg)] text-[var(--text-muted)] text-[13px]`,children:[(0,Z.jsx)(Oe,{size:30,className:`startup-logo [.app-startup_&]:mr-[2px]`}),(0,Z.jsx)(`strong`,{children:e(`common:app.wakingPisper`)})]}):(0,Z.jsx)(Ln,{duration:2800,swipeDirection:`right`,children:(0,Z.jsx)(Ee,{bridge:window.pisperDesktop,children:(0,Z.jsxs)(`div`,{ref:Ne,className:`app-shell dark:bg-[var(--bg)] dark:text-[var(--text)] flex w-full h-full min-h-0 flex-col overflow-hidden bg-[var(--bg)] pt-[var(--pisper-safe-area-top)] pr-[var(--pisper-safe-area-right)] pb-[var(--pisper-safe-area-bottom)] pl-[var(--pisper-safe-area-left)] [&[data-mobile-app]]:h-[100dvh] [&[data-mobile-app]]:min-h-0 [&[data-mobile-app]]:overflow-hidden [&[data-mobile-keyboard='open']]:pb-0`,"data-mobile-app":E||void 0,"data-custom-titlebar":window.pisperDesktop?.customTitlebar||void 0,children:[window.pisperDesktop?.customTitlebar&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(sr,{})}),(0,Z.jsx)(kn,{}),E&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(yr,{enabled:w&&ve,shellRef:Ne})}),qe(a,`desktopPet`)&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(fr,{})}),(0,Z.jsx)(vn,{}),(0,Z.jsxs)(ut,{style:{"--sidebar-width":`288px`,"--workbench-leading-inset":k||M?`44px`:`0px`},className:`app-body flex min-h-0 flex-1 overflow-hidden bg-[var(--app-chrome)]`,"data-mobile-app":E||void 0,mobile:E,open:!M,onOpenChange:e=>ee(!e),openMobile:x,onOpenMobileChange:S,children:[(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(cr,{blocked:!!(V.dialog||P||I||A),onCommandPalette:()=>j(!0),onPrimary:yt,onToggleSidebar:()=>k?S(e=>!e):ee(!M),onSearch:()=>{p===`chat`?(G(`chatHistory`),requestAnimationFrame(()=>requestAnimationFrame(()=>B.current?.focus()))):B.current?.focus()},onToggleTerminal:window.pisperDesktop?.terminalProfiles&&qe(a,`terminal`)?()=>ke(e=>!e):void 0,onSettings:()=>G(`config`)})}),(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`nav`,{"aria-busy":`true`,"aria-label":e(`navigation:appSidebar.mainNavigation`),className:`h-full w-(--activity-rail-width) shrink-0 bg-sidebar`}),children:(0,Z.jsx)(hr,{activeSessionId:y,page:p,installedTools:_,onSelect:e=>{e.startsWith(`component:`)?r(`/tools/components/${encodeURIComponent(e.slice(10))}`):G(e)},onSettings:()=>ht({type:`config`,id:`models`})})}),(0,Z.jsx)(jn,{page:p,configSection:R,navigate:G,navigateSettings:ht,onNewChat:tt,onSearch:()=>j(!0),settingsSearch:p===`config`&&!k&&!M?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(pr,{query:h,onQueryChange:g,onSelect:q,inputRef:B,placement:`sidebar`})}):void 0,update:H,onOpenUpdates:dt,tasks:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`mx-2 h-20 animate-pulse rounded-lg bg-sidebar-accent`}),children:(0,Z.jsx)(gr,{navigate:G,requestText:V.prompt,requestConfirm:V.confirm,notify:U})})}),(0,Z.jsxs)(lt,{className:`main-surface relative flex h-full min-w-0 flex-1 flex-col overflow-hidden border-0 bg-background min-[651px]:rounded-r-2xl ${M||k?`rounded-l-2xl`:``}`,children:[(0,Z.jsx)(Mn,{title:xt[0],sidebarOpen:k?x:!M,onToggleSidebar:()=>k?S(e=>!e):ee(!M),toggleLabel:e((k?x:!M)?`navigation:appSidebar.collapseSidebar`:`navigation:appSidebar.expandSidebar`)}),p!==`chat`&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(_r,{elementRef:Pe,meta:xt,page:p,query:h,setQuery:g,configSection:R,onMenu:()=>S(!0),onPrimary:yt,searchSlot:p===`config`&&(k||M)?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(pr,{query:h,onQueryChange:g,onSelect:q,inputRef:B})}):void 0,searchInputRef:B,theme:N,onCycleTheme:te,workflowActions:Ce,desktopPlatform:window.pisperDesktop?.platform||``,mobileApp:C,terminalOpen:De,onToggleTerminal:()=>ke(e=>!e)})}),w&&E&&Cn.has(p)&&(0,Z.jsx)(Nn,{page:p,configSection:R,mobileApp:C,onNavigate:ht}),(0,Z.jsx)(`div`,{className:`page-content flex-1 min-h-0 overflow-auto ${p===`chat`?`page-chat flex overflow-hidden p-0`:[`config`,`decisions`,`schedules`,`mcp`,`skills`,`channels`,`memory`,`assets`,`plugins`,`workflows`,`workflowCreate`,`components`,`gameAssetWorkbench`,`customComponentTool`].includes(p)?`page-${p} overflow-hidden p-0`:`page-${p} px-6 pb-5 max-[650px]:px-3`}`,children:(0,Z.jsx)(i,{context:Ct})},p),window.pisperDesktop?.terminalProfiles&&qe(a,`terminal`)&&(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(vr,{open:De,height:Ae,labels:Te,activeSessionId:y,resolveSessionCwd:_t,onOpenChange:ke,onHeightChange:je})})]})]}),(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(lr,{anchorRef:Pe,notify:U})}),ce&&(0,Z.jsx)(Hn,{open:!0,message:ce.message,tone:ce.tone,closeLabel:e(`common:ui.closeDialog`),onOpenChange:e=>!e&&le(null)},ce.id),(0,Z.jsx)(Rn,{hotkey:[],label:e(`common:ui.notifications`)}),(0,Z.jsx)(Pn,{dialog:V.dialog,onClose:V.close,onFinish:V.finish}),(0,Z.jsx)(X.Suspense,{fallback:null,children:I&&(0,Z.jsx)(mr,{open:!0,onDismiss:J,onOpenImport:ct,onOpenSettings:st})}),(0,Z.jsxs)(X.Suspense,{fallback:null,children:[A&&(0,Z.jsx)(ur,{navigation:u,onClose:()=>j(!1),onNavigate:G,onOpenSession:async(t,n,r)=>{try{n&&!r&&await et.navigateSessionTreeTarget(t,n),rt(t,`open`,n),G(`chat`)}catch(t){throw U(e(`navigation:appOverlays.openLabeledTurnFailed`),`error`),t}},onNewChat:tt}),P&&(0,Z.jsx)(dr,{type:P,close:()=>F(null),notify:U})]})]})})})}function wr(){let{t:e}=D();return(0,Z.jsxs)(tt,{children:[(0,Z.jsx)(Ae,{className:`animate-spin`,size:24}),(0,Z.jsx)(`h2`,{children:e(`navigation:pageLoader.lightingUpThisPage`)}),(0,Z.jsx)(`p`,{children:e(`navigation:pageLoader.bringingTheNeededCapabilitiesIntoPlace`)})]})}async function Tr(){window.__PISPER_MOBILE_APP__&&await Ie().catch(()=>void 0);let e=new URL(window.location.href);window.__PISPER_MOBILE_APP__&&e.protocol===`http:`&&e.hostname===`127.0.0.1`&&e.searchParams.set(`_pisper_recovery`,String(Date.now())),window.location.replace(e.href)}function Er(){let e=r(),t=o(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:`页面加载失败`;return(0,Z.jsxs)(`main`,{className:`app-startup dark:bg-[var(--bg)] dark:text-[var(--text)] flex w-full min-h-[100vh] items-center justify-center gap-[10px] bg-[var(--bg)] text-[var(--text-muted)] text-[13px]`,role:`alert`,children:[(0,Z.jsx)(`strong`,{children:t}),(0,Z.jsx)(H,{variant:`outline`,size:`lg`,className:`bg-surface-subtle`,type:`button`,onClick:()=>void Tr(),children:`重新加载`})]})}function $(){return a()}async function Dr(){let{ChatPage:e}=await s(async()=>{let{ChatPage:e}=await import(`./ChatPage-CzcvU3Tv.js`);return{ChatPage:e}},__vite__mapDeps([115,2,5,1,6,7,3,4,8,9,116,117,32,47,69,70,59,48,71,57,22,23,72,11,118,100,119,120,26,121,122,58,99,73,90,64,123,124,125,103,104,31,105,10,126,127,78,128,129,130,131,132,133,134,79,135,136,38,137,95,109,13,25,138,17,42,94,139,18,140,49,53,54,29,30,28,43,35,44,60,141,142,143,144,145,146,147,148,149,45,46,80,39,92,150,93,106,40,82,41,83,151,85,86,152,27,87,55,56,20,153,154,101,155,156,157,158,159,96,160,97,161]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,navigate:t.navigate,browserNotify:t.browserNotify,registerPrimaryAction:t.registerPrimaryAction,pendingAsset:t.pendingAsset,onAssetConsumed:t.onAssetConsumed,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Or(){let{ChatHistoryPage:e}=await s(async()=>{let{ChatHistoryPage:e}=await import(`./ChatHistoryPage-BhXVvudL.js`);return{ChatHistoryPage:e}},__vite__mapDeps([162,2,6,5,1,7,3,4,8,9,69,32,47,70,59,48,71,57,22,23,72,11,89,90,91,126,39,93,13,82,94,28,29,30,31,35,43,44,53,55,56,58,60,163,159,95,96,164,165]));function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,navigate:t.navigate,notify:t.notify,requestConfirm:t.requestConfirm,requestText:t.requestText})}return{Component:t}}async function kr(){let{AssetsPage:e}=await s(async()=>{let{AssetsPage:e}=await import(`./AssetsPage-BmSnyLZ5.js`);return{AssetsPage:e}},__vite__mapDeps([166,2,6,5,1,7,3,4,8,9,11,10,12,129,80,150,40,13,94,139,18,28,29,30,31,23,32,22,50,51,47,52,53,55,56,57,58,59,60,167,168,163,158,142,143,144,145,146,119,134,147,169]));function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestConfirm:t.requestConfirm,onUse:t.onUseAsset})}return{Component:t}}async function Ar(){let[{ChannelsPage:e}]=await Promise.all([s(()=>import(`./ChannelsPage-Da3JaYaC.js`),__vite__mapDeps([170,2,1,3,4,5,6,7,8,9,118,32,47,100,59,48,71,57,22,23,11,119,120,26,64,12,79,171,39,40,13,172,138,94,139,18,28,29,30,31,49,50,51,52,53,55,56,58,60,167,163,158,173,174,153,154,159])),S()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestConfirm:t.requestConfirm})}return{Component:t}}async function jr(){let{SchedulesPage:e}=await s(async()=>{let{SchedulesPage:e}=await import(`./SchedulesPage-BR1oIqzi.js`);return{SchedulesPage:e}},__vite__mapDeps([175,2,1,3,4,5,6,7,8,9,118,32,47,100,59,48,71,57,22,23,11,119,120,26,176,64,124,79,171,106,40,13,172,94,139,18,28,29,30,31,157,38,140,45,46,49,50,51,52,53,55,56,58,60,167,163,158,173,174,153,154,97]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestConfirm:t.requestConfirm,openNotificationSettings:t.openNotificationSettings})}return{Component:t}}async function Mr(){let[{ConfigPage:e},{ChatAppearancePage:t}]=await Promise.all([s(()=>import(`./ConfigPage-F1Y_oed5.js`),__vite__mapDeps([177,2,5,1,6,7,4,8,3,9,32,47,59,117,57,69,70,48,71,22,23,72,11,51,118,100,119,120,26,52,56,73,174,63,178,176,64,75,91,124,132,133,134,10,77,126,12,179,180,181,38,39,104,40,13,14,25,107,41,172,66,138,151,84,85,94,139,182,152,18,28,29,30,31,45,46,49,50,53,55,58,60,20,105,167,158,142,143,144,145,146,147,159,67,183])),s(()=>import(`./ChatAppearancePage-Cjy9iir_.js`),__vite__mapDeps([184,2,5,1,4,6,7,8,3,9,58,23,47,32,59,22]))]);function n(){let n=$();return(0,Z.jsx)(e,{notify:n.notify,registerPrimaryAction:n.registerPrimaryAction,section:n.configSection,onBrowserNotificationChange:n.setNotificationSettings,requestConfirm:n.requestConfirm,update:n.appUpdate,renderInterfaceSettings:e=>(0,Z.jsx)(t,{appearance:e,notify:n.notify})})}return{Component:n}}async function Nr(){let{PluginsPage:e}=await s(async()=>{let{PluginsPage:e}=await import(`./PluginsPage-za6FNr_k.js`);return{PluginsPage:e}},__vite__mapDeps([185,2,1,3,4,5,6,7,8,9,32,47,46,48,118,100,59,71,57,22,23,11,119,120,26,124,77,12,127,186,79,180,38,81,13,41,66,94,139,28,29,30,31,87,45,18,55,56,58,60,167,168,158,155,97]));function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Pr(){let{MemoryPage:e}=await s(async()=>{let{MemoryPage:e}=await import(`./MemoryPage-CC37SohP.js`);return{MemoryPage:e}},__vite__mapDeps([187,2,1,3,4,5,6,7,8,9,118,32,47,100,59,48,71,57,22,23,11,119,120,26,99,72,186,135,38,93,40,13,94,18,28,29,30,31,50,51,52,55,56,58,60,188,167,163,158,173,174,153,154]));function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestConfirm:t.requestConfirm})}return{Component:t}}async function Fr(){let[{McpPage:e}]=await Promise.all([s(()=>import(`./McpPage-CaUm1pYY.js`),__vite__mapDeps([189,2,1,3,4,5,6,7,8,9,56,23,32,47,57,22,131,11,134,65,13,66,94,152,29,30,31,35,44,36,140,45,46,48,18,53,60,167,158,173,174,153,154,190])),v()]);function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Ir(){let{SkillsPage:e}=await s(async()=>{let{SkillsPage:e}=await import(`./SkillsPage-DfFjecBO.js`);return{SkillsPage:e}},__vite__mapDeps([191,2,1,3,4,5,6,7,8,9,11,186,180,13,107,84,94,152,28,29,30,31,23,32,22,55,56,47,57,58,59,60,167,158,173,174,153,154]));function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,activeSessionId:t.activeSessionId,notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Lr(){function e(){return(0,Z.jsx)(c,{to:`/config/interface?view=widgets`,replace:!0})}return{Component:e}}async function Rr(){let[{CustomUiToolPage:e}]=await Promise.all([s(()=>import(`./public-DAsd8NDM.js`),__vite__mapDeps([192,2,5,1,3,4,6,7,8,9,22,23,11,174,74,13,193,138,29,30,31,32,33,28,34,35,36,45,46,47,48,18,55,56,57,58,59,60,167,168])),b()]);function t(){let t=$();return(0,Z.jsx)(e,{componentId:`pisper-game-asset-workbench`,notify:t.notify})}return{Component:t}}async function zr(){let[{CustomUiToolPage:e}]=await Promise.all([s(()=>import(`./public-DAsd8NDM.js`),__vite__mapDeps([192,2,5,1,3,4,6,7,8,9,22,23,11,174,74,13,193,138,29,30,31,32,33,28,34,35,36,45,46,47,48,18,55,56,57,58,59,60,167,168])),b()]);function t(){let t=$(),{componentId:n=``}=d();return(0,Z.jsx)(e,{componentId:n,notify:t.notify})}return{Component:t}}async function Br(){let{DecisionsPage:e}=await s(async()=>{let{DecisionsPage:e}=await import(`./DecisionsPage-BwJ7RTAE.js`);return{DecisionsPage:e}},__vite__mapDeps([194,2,1,3,4,5,6,7,8,9,117,32,47,51,22,23,118,100,59,48,71,57,11,119,120,26,124,125,179,65,38,13,107,29,30,28,31,49,50,52,55,56,58,60,167,111]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify})}return{Component:t}}async function Vr(){let[{WorkflowsPage:e}]=await Promise.all([s(()=>import(`./WorkflowsPage-Heg3iqQg.js`),__vite__mapDeps([195,2,5,1,4,6,7,8,3,9,117,32,47,51,22,23,118,100,59,48,71,57,11,119,120,26,121,122,56,58,174,178,176,64,123,72,124,125,133,134,10,186,129,24,180,38,171,92,150,93,106,40,13,14,41,172,66,193,17,94,139,18,29,30,28,31,35,140,45,46,49,50,52,53,60,55,167,168,158,101,183,196,190,197,198,199])),x()]);function t(){let t=$();return(0,Z.jsx)(e,{query:t.query,notify:t.notify,requestConfirm:t.requestConfirm})}return{Component:t}}async function Hr(){let[{WorkflowBuilder:e}]=await Promise.all([s(()=>import(`./WorkflowsPage-Heg3iqQg.js`),__vite__mapDeps([195,2,5,1,4,6,7,8,3,9,117,32,47,51,22,23,118,100,59,48,71,57,11,119,120,26,121,122,56,58,174,178,176,64,123,72,124,125,133,134,10,186,129,24,180,38,171,92,150,93,106,40,13,14,41,172,66,193,17,94,139,18,29,30,28,31,35,140,45,46,49,50,52,53,60,55,167,168,158,101,183,196,190,197,198,199])),x()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,registerPrimaryAction:t.registerPrimaryAction,registerWorkflowActions:t.registerWorkflowActions})}return{Component:t}}var Ur=t([{element:(0,Z.jsx)(Cr,{}),errorElement:(0,Z.jsx)(Er,{}),hydrateFallbackElement:(0,Z.jsx)(wr,{}),children:[{index:!0,element:(0,Z.jsx)(c,{to:Y.chat,replace:!0})},{path:Y.chat,lazy:Dr},{path:Y.chatHistory,lazy:Or},{path:Y.assets,lazy:kr},{path:Y.channels,lazy:Ar},{path:Y.schedules,lazy:jr},{path:Y.config,lazy:Mr},{path:`/config/:configSection`,lazy:Mr},{path:`/config`,element:(0,Z.jsx)(c,{to:Y.config,replace:!0})},{path:Y.plugins,lazy:Nr},{path:Y.memory,lazy:Pr},{path:Y.mcp,lazy:Fr},{path:Y.skills,lazy:Ir},{path:Y.components,lazy:Lr},{path:`/tools/components/:componentId`,lazy:zr},{path:Y.gameAssetWorkbench,lazy:Rr},{path:Y.decisions,lazy:Br},{path:Y.workflows,lazy:Vr},{path:Y.workflowCreate,lazy:Hr},{path:`/workflows/:workflowId`,lazy:Hr},{path:`*`,element:(0,Z.jsx)(c,{to:Y.chat,replace:!0})}]}]),Wr=()=>{document.documentElement.dataset.pageVisibility=document.visibilityState};Wr(),document.addEventListener(`visibilitychange`,Wr);var Gr=ht(window.location.hash);Gr&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}#${Gr}`);var Kr=document.getElementById(`root`);if(!Kr)throw Error(`Missing #root application mount point`);(0,pn.createRoot)(Kr).render((0,Z.jsx)(X.StrictMode,{children:(0,Z.jsx)(gn,{children:(0,Z.jsx)(u,{router:Ur})})}));
@@ -1 +0,0 @@
1
- import{a as e,c as t,o as n}from"./useQuery-Bg3cTjsY.js";var r=class extends e{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||i(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=n({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let i=this.state.status===`pending`,a=!this.#r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,r);let t=await this.options.onMutate?.(e,r);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let n=await this.#r.start();return await this.#n.config.onSuccess?.(n,e,this.state.context,this,r),await this.options.onSuccess?.(n,e,this.state.context,r),await this.#n.config.onSettled?.(n,null,this.state.variables,this.state.context,this,r),await this.options.onSettled?.(n,null,e,this.state.context,r),this.#i({type:`success`,data:n}),n}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,r)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,r)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,r)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let n=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=n(this.state),t.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function i(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}export{i as n,r as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{n as t,p as n}from"./vendor-router-CZg2bCPV.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{t as a}from"./use-i18n-Dpn7lxcE.js";import{t as o}from"./utils-C8uzG5AZ.js";import{t as s}from"./createLucideIcon-Cd-3GVxJ.js";import{t as c}from"./arrow-left-B8oVrQ2S.js";import{t as l}from"./blocks-Olsdp5Lp.js";import{t as u}from"./refresh-cw-TbWxTY4K.js";import{t as d}from"./settings-2-CXJjXJS9.js";import{t as f}from"./shield-check-Gvek4RJ7.js";import{o as p}from"./http-rQRvhTOP.js";import{t as m}from"./button-BcPDt1Ge.js";import{a as h,i as g,n as _,r as v,t as y}from"./floating-widgets-store-BhuWgVRT.js";import{r as b,t as x}from"./useCustomUiComponents-DzY3OjE_.js";import{a as S,i as C,o as w,r as T,s as E,t as D}from"./dialog-CGGxREwU.js";import{a as O,r as k,t as A}from"./app-primitives-DhqJLud3.js";import{t as j}from"./PageFrame-BiJUCJku.js";import{t as M}from"./PageToolbar-DGjx3obb.js";var N=s(`folder-code`,[[`path`,{d:`M10 10.5 8 13l2 2.5`,key:`m4t9c1`}],[`path`,{d:`m14 10.5 2 2.5-2 2.5`,key:`14w2eb`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z`,key:`1u1bxd`}]]),P=s(`folder-up`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`m9 13 3-3 3 3`,key:`1pxg3c`}]]),F=s(`panels-top-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 9h18`,key:`1pudct`}],[`path`,{d:`M9 21V9`,key:`1oto5p`}]]),I=s(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),L=e(r(),1),R=i();function z(e,t){return e===`config.read`?t(`custom-ui:customUiPage.permissionConfigRead`):e===`sessions.read`?t(`custom-ui:customUiPage.permissionSessionsRead`):e===`notify`?t(`custom-ui:customUiPage.permissionNotify`):e===`game-assets.read`?t(`custom-ui:customUiPage.permissionGameAssetsRead`):e===`game-assets.write`?t(`custom-ui:customUiPage.permissionGameAssetsWrite`):e===`game-assets.run`?t(`custom-ui:customUiPage.permissionGameAssetsRun`):e}function B({component:e,notify:n,floating:r,onToggleFloating:i}){let{t:o}=a();return(0,R.jsxs)(A,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-2 overflow-hidden p-3`,children:[(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,R.jsx)(`strong`,{className:`min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-[14px]`,children:h(e,o)}),e.builtIn&&(0,R.jsx)(`span`,{className:`rounded bg-[var(--surface-muted)] px-1.5 py-0.5 text-xs text-[var(--text-muted)]`,children:o(`custom-ui:builtIn.badge`)}),e.version&&(0,R.jsxs)(`span`,{className:`flex-none text-[12px] text-[var(--text-muted)]`,children:[`v`,e.version]}),(0,R.jsx)(m,{variant:`outline`,size:`sm`,asChild:!0,children:(0,R.jsx)(t,{to:`/tools/components/${encodeURIComponent(e.id)}`,children:o(`custom-ui:customUiPage.openComponent`)})}),(0,R.jsxs)(m,{variant:`ghost`,size:`sm`,"aria-pressed":r,title:o(`custom-ui:floating.hint`),onClick:i,children:[(0,R.jsx)(F,{size:13}),o(r?`custom-ui:floating.hide`:`custom-ui:floating.show`)]})]}),(0,R.jsx)(`p`,{className:`m-0 text-xs leading-5 text-[var(--text-muted)]`,children:o(`custom-ui:floating.hint`)}),e.description&&(0,R.jsx)(`p`,{className:`m-0 text-[12px] leading-[1.55] text-[var(--text-secondary)]`,children:g(e,o)}),e.permissions.length>0&&(0,R.jsxs)(`div`,{className:`flex flex-wrap items-center gap-[6px] text-[11px] text-[var(--text-muted)]`,children:[(0,R.jsx)(f,{size:12,className:`flex-none`}),e.permissions.map(e=>(0,R.jsx)(`span`,{className:`rounded-[var(--r-sm)] bg-[var(--surface-muted)] px-[6px] py-[2px]`,children:z(e,o)},e))]}),(0,R.jsx)(`div`,{className:`min-h-[240px] flex-1 overflow-hidden rounded-[var(--r-md)] border border-[var(--stroke-soft)] bg-[var(--surface-subtle)]`,children:(0,R.jsx)(v,{component:e,notify:n})})]})}function V({notify:e,embedded:t=!1}){let{t:r}=a(),i=x(),s=i.data?.components||[],c=i.data?.root||``,[d,f]=(0,L.useState)(``),[g,v]=(0,L.useState)(!1),[M,F]=(0,L.useState)(``),[z,V]=(0,L.useState)(``),H=(0,L.useRef)(null),U=(0,L.useRef)(null),W=i.isPending,G=i.isFetching,K=i.error?r(`custom-ui:widget.catalogFailed`):``,q=s.find(e=>e.id===d)||s[0]||null,J=_(e=>e.prefs),Y=_(e=>e.storageError),X=y([],J),ee=()=>{if(q)try{_.getState().setVisible(q.id,!X.includes(q.id))}catch{e(r(`custom-ui:floating.storageFailed`))}},Z=async e=>{v(!0),F(``);try{let t=await b(e);await i.refetch(),f(t.id),V(t.name)}catch(e){let t=e instanceof p?e.data?.code:void 0;F(r(t===`component_already_installed`?`custom-ui:customUiPage.importExists`:`custom-ui:customUiPage.importFailed`))}finally{v(!1)}},te=async e=>{v(!0),F(``);try{let t=e.filter(e=>!e.name.startsWith(`.`));if(!t.length||t.reduce((e,t)=>e+t.size,0)>15728640)throw Error(`Invalid component folder`);let r={};for(let e of t){let t=e.webkitRelativePath||e.name;r[t]=new Uint8Array(await e.arrayBuffer())}let{zipSync:i}=await n(async()=>{let{zipSync:e}=await import(`./browser-BvGt_LFQ.js`);return{zipSync:e}},[]);await Z(new Blob([i(r,{level:0})],{type:`application/zip`}))}catch{F(r(`custom-ui:customUiPage.importFailed`))}finally{v(!1)}},Q=(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,R.jsx)(`input`,{ref:e=>{U.current=e,e?.setAttribute(`webkitdirectory`,``)},type:`file`,multiple:!0,className:`sr-only`,"aria-hidden":`true`,tabIndex:-1,onChange:e=>{let t=[...e.currentTarget.files||[]];e.currentTarget.value=``,t.length&&te(t)}}),(0,R.jsx)(`input`,{ref:H,type:`file`,accept:`.zip,application/zip`,className:`sr-only`,"aria-hidden":`true`,tabIndex:-1,onChange:e=>{let t=e.currentTarget.files?.[0];t&&Z(t),e.currentTarget.value=``}}),(0,R.jsxs)(m,{variant:`outline`,size:`sm`,disabled:g,onClick:()=>U.current?.click(),children:[(0,R.jsx)(P,{size:14}),r(`custom-ui:customUiPage.importFolder`)]}),(0,R.jsxs)(m,{variant:`outline`,size:`sm`,disabled:g,onClick:()=>H.current?.click(),children:[(0,R.jsx)(I,{size:14}),r(`custom-ui:customUiPage.importZip`)]}),g&&(0,R.jsx)(`span`,{role:`status`,className:`text-xs text-muted-foreground`,children:r(`custom-ui:customUiPage.importing`)}),M&&(0,R.jsx)(`span`,{role:`alert`,className:`text-xs text-destructive`,children:M})]}),$=(0,R.jsx)(D,{open:!!z,onOpenChange:e=>!e&&V(``),children:(0,R.jsxs)(T,{children:[(0,R.jsxs)(w,{children:[(0,R.jsx)(E,{children:r(`custom-ui:customUiPage.imported`,{name:z})}),(0,R.jsx)(C,{children:r(`custom-ui:customUiPage.restartHint`)})]}),(0,R.jsxs)(S,{children:[(0,R.jsx)(m,{variant:`outline`,onClick:()=>V(``),children:r(`custom-ui:customUiPage.restartLater`)}),(0,R.jsx)(m,{onClick:()=>window.location.reload(),children:r(`custom-ui:customUiPage.reloadNow`)})]})]})});return W?(0,R.jsx)(`div`,{className:`flex min-h-[100%] items-center justify-center text-[12px] text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.loading`)}):!s.length&&!K?(0,R.jsxs)(`div`,{className:`flex min-h-[100%] min-w-0 flex-col gap-[12px]`,children:[Q,$,(0,R.jsxs)(k,{className:`flex flex-1 flex-col items-center justify-center gap-[10px] p-[40px_24px] text-center`,children:[(0,R.jsx)(l,{size:28,className:`text-[var(--text-muted)]`}),(0,R.jsx)(`strong`,{className:`text-[14px]`,children:r(`custom-ui:customUiPage.emptyTitle`)}),(0,R.jsx)(`p`,{className:`m-0 max-w-[520px] text-[12px] leading-[1.7] text-[var(--text-secondary)]`,children:r(`custom-ui:customUiPage.emptyHint`)}),c&&(0,R.jsx)(`code`,{className:`max-w-full break-all rounded-[var(--r-sm)] bg-[var(--surface-muted)] px-[8px] py-[4px] text-[11px] text-[var(--text-soft)]`,children:c}),(0,R.jsx)(`p`,{className:`m-0 max-w-[520px] text-[11px] leading-[1.6] text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.directoryLocationHint`)}),(0,R.jsxs)(m,{variant:`outline`,size:`sm`,disabled:G,onClick:()=>void i.refetch(),children:[(0,R.jsx)(u,{size:13,className:G?`animate-spin`:``}),r(`custom-ui:customUiPage.rescan`)]})]})]}):(0,R.jsx)(j,{variant:`collection`,embedded:t,children:(0,R.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[Q,$,K&&(0,R.jsxs)(O,{children:[(0,R.jsx)(N,{size:14}),(0,R.jsx)(`span`,{children:K})]}),Y&&(0,R.jsx)(O,{children:r(`custom-ui:floating.storageFailed`)}),(0,R.jsxs)(`div`,{className:`grid min-h-0 flex-1 grid-cols-1 gap-[12px] lg:grid-cols-[minmax(220px,280px)_minmax(0,1fr)]`,children:[(0,R.jsxs)(A,{className:`flex min-h-0 flex-col gap-[8px] overflow-y-auto p-2`,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between px-1 pt-1`,children:[(0,R.jsx)(`span`,{className:`text-[12px] font-semibold text-[var(--text-secondary)]`,children:r(`custom-ui:customUiPage.installedComponents`,{count:s.length})}),(0,R.jsx)(m,{variant:`ghost`,size:`icon`,className:`h-[26px] w-[26px]`,title:r(`custom-ui:customUiPage.rescan`),"aria-label":r(`custom-ui:customUiPage.rescan`),disabled:G,onClick:()=>void i.refetch(),children:(0,R.jsx)(u,{size:13,className:G?`animate-spin`:``})})]}),s.map(e=>(0,R.jsxs)(`button`,{type:`button`,onClick:()=>f(e.id),className:o(`flex min-w-0 cursor-pointer flex-col gap-[2px] rounded-[var(--r-md)] border-0 px-[10px] py-[8px] text-left transition-colors`,e.id===q?.id?`bg-[var(--accent-soft)] text-[var(--text)]`:`bg-transparent text-[var(--text-secondary)] hover:bg-[var(--surface-muted)]`),children:[(0,R.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[6px]`,children:[(0,R.jsx)(l,{size:13,className:`flex-none text-[var(--star-strong)]`}),(0,R.jsx)(`strong`,{className:`min-w-0 flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-[13px]`,children:h(e,r)})]}),e.builtIn&&(0,R.jsx)(`small`,{className:`pl-[19px] text-xs text-[var(--text-muted)]`,children:r(`custom-ui:builtIn.badge`)}),(0,R.jsx)(`small`,{className:`overflow-hidden text-ellipsis whitespace-nowrap pl-[19px] text-[11px] text-[var(--text-muted)]`,children:e.id})]},e.id)),(0,R.jsx)(`p`,{className:`m-0 mt-auto break-all px-1 pb-1 text-[11px] leading-[1.6] text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.directoryHint`,{path:c})})]}),q?(0,R.jsx)(B,{component:q,notify:e,floating:X.includes(q.id),onToggleFloating:ee},`${q.id}:${i.dataUpdatedAt}`):(0,R.jsx)(A,{className:`grid place-items-center text-[12px] text-[var(--text-muted)]`,children:r(`custom-ui:customUiPage.selectComponent`)})]})]})})}function H({componentId:e,notify:n}){let{t:r}=a(),i=x(),o=i.data?.components.find(t=>t.id===e);return(0,R.jsx)(j,{variant:`workbench`,children:(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col p-3`,children:[(0,R.jsxs)(M,{children:[(0,R.jsx)(m,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,R.jsxs)(t,{to:`/chat`,children:[(0,R.jsx)(c,{}),r(`custom-ui:tool.back`)]})}),(0,R.jsx)(m,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,R.jsxs)(t,{to:`/config/interface?view=widgets`,children:[(0,R.jsx)(d,{}),r(`custom-ui:tool.openSettings`)]})})]}),(0,R.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-hidden rounded-xl border bg-card`,children:o?(0,R.jsx)(v,{component:o,notify:n}):(0,R.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 p-4 text-sm text-muted-foreground`,role:`status`,children:[i.isPending?r(`custom-ui:customUiPage.loading`):i.error?r(`custom-ui:widget.catalogFailed`):r(`custom-ui:widget.missing`,{id:e}),!i.isPending&&(0,R.jsx)(m,{variant:`outline`,onClick:()=>void i.refetch(),children:r(`custom-ui:widget.retry`)})]})})]})})}export{V as CustomUiPage,H as CustomUiToolPage};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WorkspacePicker-DFCZ_IJu.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-Dpn7lxcE.js","assets/i18n-CAJMli-q.js","assets/vendor-router-CZg2bCPV.js","assets/index-BVIvzUyZ.js","assets/index-Z8qQPd8t.css","assets/storage-BpAqa-YY.js","assets/vendor-state-GkUciC5H.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/check-2vYc6QaP.js","assets/loader-circle-BOwQzHB-.js","assets/triangle-alert-CE1q54ci.js","assets/button-BcPDt1Ge.js","assets/vendor-ui-DvrYggeS.js","assets/dist-Cfh4kzCK.js","assets/utils-C8uzG5AZ.js","assets/alert-QoPGoIY6.js","assets/dialog-CGGxREwU.js","assets/dist-BdkTa5R3.js","assets/dist-B_a0oV4U.js","assets/es2015-0QT3KgdC.js","assets/x-07u4-129.js","assets/input-CvjGYteF.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{t as n}from"./index-BVIvzUyZ.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{t as a}from"./use-i18n-Dpn7lxcE.js";import{a as o,i as s,o as c}from"./vendor-state-GkUciC5H.js";import{t as l}from"./storage-BpAqa-YY.js";import{c as u,i as d,o as f,s as p}from"./dist-B_a0oV4U.js";import{a as m,c as h,d as g,l as ee,n as te,o as _,r as v,t as y,u as b}from"./dist-DF5Gcb5O.js";import{t as x}from"./utils-C8uzG5AZ.js";import{t as S}from"./createLucideIcon-Cd-3GVxJ.js";import{n as ne,t as re}from"./pin-off-DRR1KEvN.js";import{n as ie,t as ae}from"./pin-Dc2zE4cS.js";import{t as C}from"./chevron-right-C3t2Rckj.js";import{t as oe}from"./circle-alert-DCChabnT.js";import{t as se}from"./loader-circle-BOwQzHB-.js";import{t as ce}from"./message-square-SKjZyY3v.js";import{t as le}from"./panel-right-BSUtqUd8.js";import{t as ue}from"./pencil-U08v_vV9.js";import{t as de}from"./plus-fQbSqB1n.js";import{t as fe}from"./rotate-ccw-C0v8V77_.js";import{t as pe}from"./search-D0mqDaf_.js";import{t as me}from"./trash-2-CNrPOoPR.js";import{t as he}from"./api-D8wGrWiI.js";import{t as ge}from"./button-BcPDt1Ge.js";import{r as _e,t as ve}from"./useQuery-Bg3cTjsY.js";import{a as ye,t as w}from"./startup-queries-DItwFTRv.js";import{i as be,r as xe}from"./format-BRFKAYMT.js";import{c as Se,g as T,h as Ce,l as we,o as Te,t as Ee,y as De}from"./events-By17Y3YI.js";import{n as Oe,s as ke,t as Ae}from"./session-organization-api-1F_dNhFa.js";import{n as je,t as Me}from"./pick-system-directory-BnIFt85A.js";import{i as Ne}from"./sidebar-CjfGBEog.js";var E=e(r(),1),D=i(),O=Object.defineProperty,k=(e,t)=>O(e,`name`,{value:t,configurable:!0}),A=`ContextMenu`,[Pe,j]=p(A,[g]),M=g(),[N,P]=Pe(A),F=k(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,dir:a,modal:o=!0}=e,s=E.useRef(!1),[c,l]=d({prop:i,defaultProp:!1,onChange:r,caller:A}),u=M(t);return(0,D.jsx)(N,{scope:t,open:c,onOpenChange:l,modal:o,hasInteractedRef:s,children:(0,D.jsx)(_,{...u,dir:a,open:c,onOpenChange:l,modal:o,children:n})})},`ContextMenu`),I=`ContextMenuTrigger`,L=E.forwardRef(k(function(e,t){let{__scopeContextMenu:n,disabled:r=!1,...i}=e,a=P(I,n),o=M(n),[s,c]=E.useState({x:0,y:0}),l=E.useMemo(()=>({current:{getBoundingClientRect:k(()=>DOMRect.fromRect({width:0,height:0,...s}),`getBoundingClientRect`)}}),[s]),d=E.useRef(0),p=E.useCallback(()=>window.clearTimeout(d.current),[]),m=k(e=>{a.hasInteractedRef.current=!0,c({x:e.clientX,y:e.clientY}),a.onOpenChange(!0)},`handleOpen`);return E.useEffect(()=>p,[p]),E.useEffect(()=>void(r&&p()),[r,p]),(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(y,{...o,virtualRef:l}),(0,D.jsx)(u.span,{"data-state":a.open?`open`:`closed`,"data-disabled":r?``:void 0,...i,ref:t,style:{WebkitTouchCallout:`none`,...e.style},onContextMenu:r?e.onContextMenu:f(e.onContextMenu,e=>{p(),m(e),e.preventDefault()}),onPointerDown:r?e.onPointerDown:f(e.onPointerDown,U(e=>{p(),a.open&&a.onOpenChange(!1),d.current=window.setTimeout(()=>m(e),700)})),onPointerMove:r?e.onPointerMove:f(e.onPointerMove,U(p)),onPointerCancel:r?e.onPointerCancel:f(e.onPointerCancel,U(p)),onPointerUp:r?e.onPointerUp:f(e.onPointerUp,U(p))})]})},`ContextMenuTrigger`)),R=k(e=>{let{__scopeContextMenu:t,...n}=e,r=M(t);return(0,D.jsx)(m,{...r,...n})},`ContextMenuPortal`),z=`ContextMenuContent`,Fe=E.forwardRef(k(function(e,t){let{__scopeContextMenu:n,...r}=e,i=P(z,n),a=M(n),o=E.useRef(!1);return(0,D.jsx)(te,{...a,...r,ref:t,side:`right`,sideOffset:2,align:`start`,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),!t.defaultPrevented&&o.current&&t.preventDefault(),o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),!t.defaultPrevented&&!i.modal&&(o.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuContent`)),B=E.forwardRef(k(function(e,t){let{__scopeContextMenu:n,...r}=e,i=M(n);return(0,D.jsx)(v,{...i,...r,ref:t})},`ContextMenuItem`)),V=`ContextMenuSub`,H=k(e=>{let{__scopeContextMenu:t,children:n,onOpenChange:r,open:i,defaultOpen:a}=e,o=M(t),[s,c]=d({prop:i,defaultProp:a??!1,onChange:r,caller:V});return(0,D.jsx)(h,{...o,open:s,onOpenChange:c,children:n})},`ContextMenuSub`),Ie=E.forwardRef(k(function(e,t){let{__scopeContextMenu:n,...r}=e,i=M(n);return(0,D.jsx)(b,{...i,...r,ref:t})},`ContextMenuSubTrigger`)),Le=E.forwardRef(k(function(e,t){let{__scopeContextMenu:n,...r}=e,i=M(n);return(0,D.jsx)(ee,{...i,...r,ref:t,style:{...e.style,"--radix-context-menu-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-context-menu-content-available-width":`var(--radix-popper-available-width)`,"--radix-context-menu-content-available-height":`var(--radix-popper-available-height)`,"--radix-context-menu-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-context-menu-trigger-height":`var(--radix-popper-anchor-height)`}})},`ContextMenuSubContent`));function U(e){return t=>t.pointerType===`mouse`?void 0:e(t)}k(U,`whenTouchOrPen`);var W=F,G=L,Re=R,K=Fe,q=B,ze=H,Be=Ie,Ve=Le,He=S(`folder-closed`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}],[`path`,{d:`M2 10h20`,key:`1ir3d8`}]]),Ue=S(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);function J(e=``){let t=e.trim().replace(/\\/g,`/`),n=/^\/+$/u.test(t)?`/`:t.replace(/\/+$/,``);return/^[A-Za-z]:(?:\/|$)/.test(n)?n.toLowerCase():n}function Y(e){return J(e.cwd)||`\0`}function We(e){let t=new Map;for(let n of e){let e=Y(n),r=t.get(e)||{key:e,cwd:n.cwd||``,sessions:[]};r.sessions.push(n),t.set(e,r)}return[...t.values()]}function Ge(e,t,n=``){let r=new Set(e.slice(0,t).map(e=>e.id));return We(e).map(e=>({...e,sessions:e.sessions.filter((e,t)=>t===0||r.has(e.id)||e.id===n)}))}function Ke(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`).map(J))].filter(e=>e===`\0`||e.length>0&&!e.includes(`\0`)):[]}function qe(e,t){return Ke([...e,...t])}function Je(e,t){let n=new Map(t.map((e,t)=>[e,t]));return[...e].sort((e,r)=>(n.get(e.key)??t.length)-(n.get(r.key)??t.length))}function Ye(e,t){return e.filter(e=>Y(e)===t)}function Xe(e,t,n,r){return!e||!n.has(e)&&(!r||t.some(t=>t.id===e))?null:t[0]?.id||``}async function Ze(e,t){let n=[];for(let r of e)try{await t(r),n.push(r)}catch(e){return{deletedIds:n,failedId:r,error:e}}return{deletedIds:n,failedId:null,error:null}}function X(e){let t=J(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function Z(e){let t=Object.create(null);if(!e||typeof e!=`object`||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let e=X(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var Qe=s(()=>n),Q=c()(o((e,t)=>({order:[],names:Z(void 0),rememberWorkspaces:n=>{let r=t().order,i=qe(r,n);i.length===r.length&&i.every((e,t)=>e===r[t])||e({order:i})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?X(n):null;if(!i||typeof r!=`string`)throw TypeError(`Invalid workspace name`);let a=r.trim();if(Array.from(a).length>120)throw RangeError(`Workspace name is too long`);let o=t().names;if((o[i]||``)===a)return;if(!Qe)throw Error(`Workspace preferences storage is unavailable`);let s=Z(o);a?s[i]=a:delete s[i];try{e({names:s})}catch(t){try{e({names:o})}catch{}throw t}}}),{name:`pisper-workspace-order`,storage:Qe,version:1,partialize:({order:e,names:t})=>({order:e,names:t}),merge:(e,t)=>({...t,order:Ke(e&&typeof e==`object`&&`order`in e?e.order:void 0),names:Z(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));function $e({...e}){return(0,D.jsx)(W,{"data-slot":`context-menu`,...e})}function et({className:e,...t}){return(0,D.jsx)(G,{"data-slot":`context-menu-trigger`,className:x(`select-none`,e),...t})}function tt({...e}){return(0,D.jsx)(ze,{"data-slot":`context-menu-sub`,...e})}function nt({className:e,...t}){return(0,D.jsx)(Re,{children:(0,D.jsx)(K,{"data-slot":`context-menu-content`,className:x(`z-[200] max-h-(--radix-context-menu-content-available-height) min-w-36 origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...t})})}function $({className:e,inset:t,variant:n=`default`,...r}){return(0,D.jsx)(q,{"data-slot":`context-menu-item`,"data-inset":t,"data-variant":n,className:x(`group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive`,e),...r})}function rt({className:e,inset:t,children:n,...r}){return(0,D.jsxs)(Be,{"data-slot":`context-menu-sub-trigger`,"data-inset":t,className:x(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,D.jsx)(C,{className:`ml-auto`})]})}function it({className:e,...t}){return(0,D.jsx)(Ve,{"data-slot":`context-menu-sub-content`,className:x(`z-[200] min-w-32 origin-(--radix-context-menu-content-transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...t})}var at=(0,E.lazy)(()=>t(()=>import(`./WorkspacePicker-DFCZ_IJu.js`).then(e=>({default:e.WorkspacePicker})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]))),ot=24;function st({label:e,onClick:t,children:n}){return(0,D.jsx)(ge,{type:`button`,variant:`ghost`,className:`opacity-0 group-hover/workspace:opacity-100 group-focus-within/workspace:opacity-100 focus-visible:opacity-100 pointer-coarse:opacity-100 !size-7 !min-h-7 !shrink-0 !p-0 !text-[var(--text-muted)] hover:!bg-[var(--surface-hover)] hover:!text-[var(--text)] max-[650px]:!size-11 max-[650px]:!min-h-11`,title:e,"aria-label":e,onClick:t,children:n})}function ct({navigate:e,requestText:t,requestConfirm:r,notify:i}){let{t:o,language:s}=a(),c=_e(),{isMobile:u,setOpenMobile:d}=Ne(),[f,p]=(0,E.useState)(!0),[m,h]=(0,E.useState)(``),[g,ee]=(0,E.useState)(!1),[te,_]=(0,E.useState)(()=>new Set),v=Q(e=>e.order),y=Q(e=>e.rememberWorkspaces),b=Q(e=>e.names),x=Q(e=>e.setWorkspaceName),[S,O]=(0,E.useState)(()=>n.getItem(l.activeSession)||``),[k,A]=(0,E.useState)(``),[Pe,j]=(0,E.useState)(``),[M,N]=(0,E.useState)(!1),[P,F]=(0,E.useState)(!1),I=(0,E.useRef)(!1),L=(0,E.useRef)(0),[R,z]=(0,E.useState)(``);(0,E.useEffect)(()=>()=>{L.current+=1},[]);let{data:Fe}=ve({...ye(`sessions`),refetchInterval:2e3});(0,E.useEffect)(()=>De(window,({deletedIds:e})=>{let t=new Set(e);c.setQueryData([`sessions`],e=>e&&{...e,sessions:e.sessions.filter(e=>!t.has(e.id))})}),[c]);let B=(0,E.useMemo)(()=>ke(Fe?.sessions||[]),[Fe]),V=(0,E.useMemo)(()=>{let e=m.trim().toLocaleLowerCase(s);return e?B.filter(t=>`${t.name||``} ${t.cwd||``} ${b[Y(t)]||``}`.toLocaleLowerCase(s).includes(e)):B.filter(e=>!e.archived)},[s,m,B,b]),H=(0,E.useMemo)(()=>We(B),[B]);(0,E.useEffect)(()=>{y(H.map(e=>e.key))},[H,y]);let Ie=(0,E.useMemo)(()=>Je(Ge(V,ot,S),v),[V,v,S]),Le=(0,E.useMemo)(()=>new Map(H.map(e=>[e.key,e.sessions.length])),[H]),U=H.find(e=>e.key===k)||null,W=B.find(e=>e.id===Pe)||null,G=e=>e.cwd?b[e.key]||be(e.cwd,s):o(`navigation:appSidebar.noWorkspace`);(0,E.useEffect)(()=>{let e=()=>{w(`sessions`,!0).catch(()=>{})},t=()=>{document.visibilityState===`visible`&&e()},r=e=>{let t=e.detail;O(t?.id||n.getItem(l.activeSession)||``)};return document.addEventListener(`visibilitychange`,t),window.addEventListener(Te,r),window.addEventListener(Ee,r),()=>{document.removeEventListener(`visibilitychange`,t),window.removeEventListener(Te,r),window.removeEventListener(Ee,r)}},[]);let Re=t=>{O(t),T(t),e(`chat`),u&&d(!1)},K=(t,n)=>{T(t,n),e(`chat`),u&&d(!1)},q=t=>{Ce(t)&&(h(``),p(!0),_(e=>{let n=new Set(e);return n.delete(Y({id:``,cwd:t})),n}),e(`chat`),u&&d(!1))},ze=async()=>{if(I.current)return;if(!Me()){N(!0);return}I.current=!0,F(!0);let e=++L.current;try{let t=await je();e===L.current&&t&&q(t)}catch(t){e===L.current&&i(t instanceof Error?t.message:String(t),`error`)}finally{e===L.current&&(I.current=!1,F(!1))}},Be=async(e,t=B)=>{let r=await Ze(e.map(e=>e.id),e=>he(`/api/sessions/${encodeURIComponent(e)}`,{method:`DELETE`}));we(r.deletedIds.length?{deletedIds:r.deletedIds}:void 0);let i=null;try{i=(await w(`sessions`,!0)).sessions}catch{}let a=new Set(r.deletedIds),o=i??t.filter(e=>!a.has(e.id)),s=Xe(n.getItem(l.activeSession)||S,o,a,i!==null);return s!==null&&(O(s),s?T(s):(n.removeItem(l.activeSession),Se(``))),{...r,sessions:o,verified:i!==null}},Ve=async e=>{if(R)return;let t=e.cwd?`${G(e)} · ${e.cwd}`:G(e);z(e.key);try{let n=(await w(`sessions`,!0)).sessions,a=Ye(n,e.key);if(!a.length){i(o(`navigation:appSidebar.projectNoChats`,{project:t}),`info`);return}if(!await r({title:o(`navigation:appSidebar.deleteProject`),message:o(`navigation:appSidebar.deleteProjectConfirm`,{project:t,count:a.length}),confirmLabel:o(`navigation:appSidebar.deleteProjectAction`)}))return;let s=await Be(a,n);if(!s.verified){i(o(`navigation:appSidebar.projectDeleteUnverified`,{project:t,deleted:s.deletedIds.length}),`error`);return}let c=Ye(s.sessions,e.key).length;if(s.failedId!==null||c){i(o(`navigation:appSidebar.projectDeletePartial`,{project:t,deleted:s.deletedIds.length,remaining:c}),`error`);return}i(o(`navigation:appSidebar.projectDeleted`,{project:t}))}catch(e){i(e instanceof Ae?o(`chat:chatHistoryPage.sessionUpdateFailed`):e instanceof Error?e.message:String(e),`error`)}finally{z(``)}},J=async e=>{if(R)return;let t=e.name||o(`navigation:appSidebar.untitledChat`);if(await r({title:o(`chat:chatHistoryPage.deleteChat`),message:o(`chat:chatHistoryPage.deleteChatNameThisAlsoRemovesLocalChatHistory`,{name:t}),confirmLabel:o(`chat:chatHistoryPage.delete`)})){z(e.id);try{let t=await Be([e]);if(t.failedId!==null)throw t.error??Error(o(`navigation:appSidebar.chatDeleteFailed`));i(o(`chat:chatHistoryPage.chatDeleted`))}catch(e){i(e instanceof Error?e.message:String(e),`error`)}finally{z(``)}}},Ke=async e=>{let n=await t({title:o(`chat:chatHistoryPage.renameChat`),inputLabel:o(`chat:chatHistoryPage.chatTitle`),value:e.name,confirmLabel:o(`chat:chatHistoryPage.save`)});if(n!==null&&n!==e.name)try{let t=await he(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,body:JSON.stringify({name:n})});we({id:e.id,name:t.name}),w(`sessions`,!0).catch(()=>{}),i(o(`chat:chatHistoryPage.chatTitleUpdated`))}catch(e){i(e instanceof Error?e.message:String(e),`error`)}},qe=(e,t)=>{try{x(e.cwd,t),i(o(`navigation:appSidebar.projectNameUpdated`))}catch{i(o(`navigation:appSidebar.projectNameSaveFailed`),`error`)}},X=async e=>{if(!e.cwd)return;let n=G(e),r=await t({title:o(`navigation:appSidebar.renameProject`),message:o(`navigation:appSidebar.renameProjectDescription`),inputLabel:o(`navigation:appSidebar.projectName`),value:n,maxLength:120,confirmLabel:o(`chat:chatHistoryPage.save`)});r===null||!r.trim()||r.trim()===n||qe(e,r.trim())},Z=async(e,t,n)=>{if(!R)try{let r=await Oe(e.id,t);c.setQueryData([`sessions`],e=>e&&{...e,sessions:e.sessions.map(e=>e.id===r.id?{...e,...r}:e)}),i(n)}catch(e){i(e instanceof Error?e.message:String(e),`error`)}},Qe=e=>{_(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},ct=(e=``,t=``)=>{A(e),j(t)},lt=(e,t=``,n=``)=>{e.pointerType!==`mouse`&&ct(t,n)},ut=t=>{e(t),u&&d(!1)};return(0,D.jsxs)(`section`,{className:`flex min-h-0 flex-1 flex-col px-2 pt-3`,"aria-label":o(`navigation:appSidebar.recentChats`),children:[(0,D.jsxs)(`div`,{className:`mb-1 flex h-8 shrink-0 items-center gap-1 px-1.5`,children:[(0,D.jsxs)(`button`,{className:`mr-auto flex min-w-0 items-center gap-1 rounded-md px-1 py-1 text-xs text-muted-foreground hover:text-foreground`,"aria-controls":`sidebar-recent-sessions`,"aria-expanded":f,onClick:()=>p(e=>!e),children:[(0,D.jsx)(`span`,{children:o(`navigation:workbench.projects`)}),(0,D.jsx)(C,{className:f?`rotate-90`:``,size:12})]}),(0,D.jsx)(ge,{variant:`ghost`,size:`icon-sm`,className:`size-6 text-muted-foreground`,title:o(`navigation:workbench.filterSessions`),"aria-label":o(`navigation:workbench.filterSessions`),"aria-expanded":g,onClick:()=>ee(e=>!e),children:(0,D.jsx)(pe,{size:13})}),(0,D.jsx)(ge,{variant:`ghost`,size:`icon-sm`,className:`size-6 text-muted-foreground`,title:o(`navigation:appSidebar.newProject`),"aria-label":o(`navigation:appSidebar.newProject`),"aria-haspopup":`dialog`,"aria-expanded":M,disabled:P,onClick:()=>void ze(),children:(0,D.jsx)(Ue,{size:14})}),(0,D.jsx)(`button`,{className:`rounded-md px-1 py-1 text-[11px] text-muted-foreground hover:text-foreground`,"aria-label":o(`navigation:appSidebar.viewAllCountChats`,{count:B.length}),onClick:()=>ut(`chatHistory`),children:o(`navigation:appSidebar.viewAll`)})]}),(g||m)&&(0,D.jsxs)(`label`,{className:`mx-2 mb-2 flex h-8 shrink-0 items-center gap-2 rounded-lg border border-border px-2 text-muted-foreground focus-within:ring-1 focus-within:ring-ring`,children:[(0,D.jsx)(pe,{size:13,"aria-hidden":`true`}),(0,D.jsx)(`input`,{className:`min-w-0 flex-1 border-0 bg-transparent text-xs outline-none`,value:m,onChange:e=>h(e.target.value),placeholder:o(`navigation:appSidebar.searchChats`),"aria-label":o(`navigation:appSidebar.searchChats`)})]}),f&&(0,D.jsxs)($e,{onOpenChange:e=>{e||(A(``),j(``))},children:[(0,D.jsx)(et,{asChild:!0,children:(0,D.jsxs)(`div`,{className:`flex flex-1 min-h-0 flex-col gap-[2px] [padding-bottom:2px] overflow-y-auto [animation:page-in_var(--d1)_var(--ease-out)]`,id:`sidebar-recent-sessions`,onPointerDownCapture:e=>lt(e),onContextMenuCapture:()=>ct(),children:[Ie.map(e=>{let t=te.has(e.key),n=G(e);return(0,D.jsxs)(`div`,{className:`nav-workspace-group [.nav-workspace-group_+_&]:mt-[3px]`,children:[(0,D.jsxs)(`div`,{className:`group/workspace flex min-w-0 items-center gap-[2px]`,onContextMenu:()=>A(e.key),onPointerDown:t=>lt(t,e.key),children:[(0,D.jsxs)(`button`,{className:`flex h-8 min-w-0 flex-1 items-center gap-1.5 rounded-lg px-2 text-left text-sm text-foreground hover:bg-sidebar-accent [&_span]:min-w-0 [&_span]:flex-1 [&_span]:truncate [&_small]:hidden [&_.is-open]:rotate-90`,"aria-expanded":!t,onClick:()=>Qe(e.key),title:e.cwd||n,children:[(0,D.jsx)(C,{className:t?``:`is-open`,size:13}),(0,D.jsx)(He,{size:13}),(0,D.jsx)(`span`,{children:n}),(0,D.jsx)(`small`,{children:Le.get(e.key)||e.sessions.length})]}),e.cwd&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(st,{label:o(`navigation:appSidebar.renameProjectNamed`,{project:n}),onClick:()=>void X(e),children:(0,D.jsx)(ue,{size:14,"aria-hidden":`true`})}),(0,D.jsx)(st,{label:o(`navigation:appSidebar.newChatInWorkspace`,{workspace:e.cwd}),onClick:()=>q(e.cwd),children:(0,D.jsx)(de,{size:14})})]})]}),!t&&e.sessions.map(e=>(0,D.jsxs)(`button`,{className:`flex h-8 w-full items-center gap-1 rounded-lg pl-8 pr-2.5 text-left text-sm font-normal text-muted-foreground hover:bg-sidebar-accent hover:text-foreground ${e.id===S?`active-session bg-sidebar-accent text-foreground`:``}`,"aria-current":e.id===S?`page`:void 0,title:`${e.name||o(`navigation:appSidebar.untitledChat`)} · ${xe(e.modified,s)}`,onClick:()=>Re(e.id),onContextMenu:()=>j(e.id),onPointerDown:t=>lt(t,``,e.id),children:[e.streaming&&(0,D.jsx)(se,{className:`mr-1 size-3.5 shrink-0 animate-spin text-foreground`,"aria-label":o(`navigation:appSidebar.running`)}),e.pinned&&(0,D.jsx)(ae,{className:`mr-1 size-3 shrink-0`,"aria-label":o(`navigation:appSidebar.pinned`)}),e.needsAttention&&(0,D.jsx)(oe,{className:`mr-1 size-3 shrink-0`,"aria-label":o(`navigation:appSidebar.needsAttention`)}),e.unread&&(0,D.jsx)(`span`,{className:`mr-1 size-1.5 shrink-0 rounded-full bg-[var(--brand-blue)]`,"aria-label":o(`navigation:appSidebar.unread`)}),(0,D.jsx)(`span`,{className:`min-w-0 flex-1 select-none truncate`,children:e.name||o(`navigation:appSidebar.untitledChat`)}),(0,D.jsx)(`time`,{className:`shrink-0 text-xs text-muted-foreground/70`,dateTime:e.modified,children:xe(e.modified,s)}),e.archived&&(0,D.jsx)(`span`,{className:`ml-auto text-[11px] font-normal text-muted-foreground`,children:o(`navigation:appSidebar.archived`)})]},e.id))]},e.key)}),!V.length&&(0,D.jsx)(`span`,{className:`[padding:8px] text-[var(--text-muted)] text-xs font-normal`,children:m.trim()?o(`navigation:appSidebar.noMatchingChats`):B.length?o(`navigation:appSidebar.noActiveChats`):o(`navigation:appSidebar.noChatHistoryYet`)})]})}),(0,D.jsx)(nt,{className:`w-[220px]`,children:W?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)($,{onSelect:()=>Re(W.id),children:[(0,D.jsx)(ce,{size:13}),o(`navigation:appSidebar.openSession`)]}),!u&&(0,D.jsxs)(tt,{children:[(0,D.jsxs)(rt,{children:[(0,D.jsx)(le,{size:13}),o(`chat:workbench.openSplit`)]}),(0,D.jsxs)(it,{children:[(0,D.jsx)($,{onSelect:()=>K(W.id,`left`),children:o(`chat:focusSession.splitToLeft`)}),(0,D.jsx)($,{onSelect:()=>K(W.id,`right`),children:o(`chat:focusSession.splitToRight`)}),(0,D.jsx)($,{onSelect:()=>K(W.id,`above`),children:o(`chat:focusSession.splitToTop`)}),(0,D.jsx)($,{onSelect:()=>K(W.id,`below`),children:o(`chat:focusSession.splitToBottom`)})]})]}),(0,D.jsxs)($,{onSelect:()=>void Ke(W),children:[(0,D.jsx)(ue,{size:13}),o(`chat:chatHistoryPage.renameChat`)]}),(0,D.jsxs)($,{onSelect:()=>void Z(W,{pinned:!W.pinned},W.pinned?o(`navigation:appSidebar.unpinned`):o(`navigation:appSidebar.pinned`)),children:[W.pinned?(0,D.jsx)(re,{size:13}):(0,D.jsx)(ae,{size:13}),W.pinned?o(`navigation:appSidebar.unpin`):o(`navigation:appSidebar.pin`)]}),(0,D.jsxs)($,{onSelect:()=>void Z(W,{archived:!W.archived},W.archived?o(`navigation:appSidebar.restored`):o(`navigation:appSidebar.movedToArchive`)),children:[W.archived?(0,D.jsx)(ne,{size:13}):(0,D.jsx)(ie,{size:13}),W.archived?o(`navigation:appSidebar.restore`):o(`navigation:appSidebar.archive`)]}),W.unread&&(0,D.jsx)($,{onSelect:()=>void Z(W,{read:!0},o(`navigation:appSidebar.markedRead`)),children:o(`navigation:appSidebar.markRead`)}),(0,D.jsxs)($,{variant:`destructive`,disabled:!!R,onSelect:()=>void J(W),children:[(0,D.jsx)(me,{size:13}),o(`chat:chatHistoryPage.delete`)]})]}):U?(0,D.jsxs)(D.Fragment,{children:[U.cwd&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)($,{onSelect:()=>q(U.cwd),children:[(0,D.jsx)(de,{size:13}),o(`navigation:appSidebar.newChat`)]}),(0,D.jsxs)($,{onSelect:()=>void X(U),children:[(0,D.jsx)(ue,{size:13}),o(`navigation:appSidebar.renameProject`)]}),b[U.key]&&(0,D.jsxs)($,{onSelect:()=>qe(U,``),children:[(0,D.jsx)(fe,{size:13}),o(`navigation:appSidebar.resetProjectName`)]})]}),(0,D.jsxs)($,{variant:`destructive`,disabled:!!R||!U.sessions.length,onSelect:()=>void Ve(U),children:[(0,D.jsx)(me,{size:13}),o(`navigation:appSidebar.deleteProject`)]})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsxs)($,{disabled:P,onSelect:()=>void ze(),children:[(0,D.jsx)(Ue,{size:13}),o(`navigation:appSidebar.newProject`)]}),(0,D.jsxs)(tt,{children:[(0,D.jsxs)(rt,{disabled:!H.length||!!R,children:[(0,D.jsx)(me,{size:13}),o(`navigation:appSidebar.deleteProject`)]}),(0,D.jsx)(it,{className:`max-h-[70vh] max-w-[280px] overflow-y-auto`,children:H.map(e=>(0,D.jsx)($,{onSelect:()=>void Ve(e),children:(0,D.jsx)(`span`,{className:`truncate`,title:e.cwd||G(e),children:G(e)})},e.key))})]})]})})]}),M&&(0,D.jsx)(E.Suspense,{fallback:null,children:(0,D.jsx)(at,{open:!0,description:o(`navigation:appSidebar.newProjectPickerDescription`),onOpenChange:N,onSelect:e=>{N(!1),q(e)}})})]})}export{ct as ProjectTaskList};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338`,key:`7hb8p4`}],[`path`,{d:`M3 9h5.859`,key:`numkqi`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),n=e(`radio-tower`,[[`path`,{d:`M4.9 16.1C1 12.2 1 5.8 4.9 1.9`,key:`s0qx1y`}],[`path`,{d:`M7.8 4.7a6.14 6.14 0 0 0-.8 7.5`,key:`1idnkw`}],[`circle`,{cx:`12`,cy:`9`,r:`2`,key:`1092wv`}],[`path`,{d:`M16.2 4.8c2 2 2.26 5.11.8 7.47`,key:`ojru2q`}],[`path`,{d:`M19.1 1.9a9.96 9.96 0 0 1 0 14.1`,key:`rhi7fg`}],[`path`,{d:`M9.5 18h5`,key:`mfy3pd`}],[`path`,{d:`m8 22 4-11 4 11`,key:`25yftu`}]]);export{t as n,n as t};
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AnimatedList-D8fxDNGr.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/vendor-motion-DSW3wzXK.js","assets/react-bits-DQli9s7O.css","assets/ClickSpark-DmnEAJNI.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{p as t}from"./vendor-router-CZg2bCPV.js";import{i as n,n as r,r as i}from"./vendor-react-DwNgTV1j.js";import{t as a}from"./use-i18n-Dpn7lxcE.js";import{o}from"./vendor-state-GkUciC5H.js";import{n as s,r as c,t as l}from"./collapsible-C__hRcbA.js";import{l as u,n as d,r as f,t as p}from"./dropdown-menu-LKlOCZsZ.js";import{i as m,n as h,o as g,r as _,t as v}from"./popover-BBuzaBfd.js";import{i as y,n as b,t as x}from"./tooltip-Bxq7c2mZ.js";import{t as S}from"./utils-C8uzG5AZ.js";import{t as C}from"./createLucideIcon-Cd-3GVxJ.js";import{t as w}from"./check-2vYc6QaP.js";import{t as T}from"./chevron-down-CxtxIjiP.js";import{t as E}from"./chevron-left-BAtyp3_6.js";import{t as D}from"./chevron-right-C3t2Rckj.js";import{t as O}from"./circle-dot-nVrXgDaG.js";import{t as k}from"./clock-3-CBHGbD_G.js";import{t as A}from"./code-xml-BrUXrBax.js";import{t as j}from"./copy-DHmIFc52.js";import{t as M}from"./download-BCfIiuaL.js";import{t as N}from"./ellipsis-CfGKfbq6.js";import{n as P,t as F}from"./shield-alert-CvFOTe9h.js";import{t as I}from"./file-diff-GxOMJkLj.js";import{t as L}from"./file-Bllajneu.js";import{t as R}from"./folder-open-FIShC5Qk.js";import{t as ee}from"./info-DATxy0fb.js";import{t as te}from"./list-checks-B5Jl4aiO.js";import{t as z}from"./loader-circle-BOwQzHB-.js";import{a as ne,r as B}from"./web-preview-C3u-dblt.js";import{t as re}from"./refresh-cw-TbWxTY4K.js";import{t as V}from"./rotate-ccw-C0v8V77_.js";import{t as ie}from"./shield-check-Gvek4RJ7.js";import{t as ae}from"./square-bHHVTT3G.js";import{t as H}from"./tag-CqkeJlBf.js";import{t as oe}from"./trash-2-CNrPOoPR.js";import{t as U}from"./triangle-alert-CE1q54ci.js";import{t as se}from"./x-07u4-129.js";import{t as W}from"./button-BcPDt1Ge.js";import{t as G}from"./alert-QoPGoIY6.js";import{t as ce}from"./input-CvjGYteF.js";import{n as le}from"./format-BRFKAYMT.js";import{t as K}from"./chat-api-CYidanXn.js";import{t as ue}from"./card-BdUpL1KB.js";import{t as de}from"./vendor-motion-DSW3wzXK.js";import{i as fe,n as pe,r as me,t as he}from"./MarkdownMessage-bfyuGoi1.js";import{t as ge}from"./route-context-DvWDul4T.js";import{a as _e,o as ve,p as ye,u as be}from"./events-By17Y3YI.js";import{a as xe,i as Se,t as Ce}from"./GitDiffViewer-Dv9WOiX1.js";import{t as we}from"./FileAttachmentPreview-C6QaQFwb.js";var Te=C(`files`,[[`path`,{d:`M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8`,key:`14sh0y`}],[`path`,{d:`M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z`,key:`1970lx`}],[`path`,{d:`M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1`,key:`l4dndm`}]]),Ee=C(`git-fork`,[[`circle`,{cx:`12`,cy:`18`,r:`3`,key:`1mpf1b`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`,key:`1uq4wg`}],[`path`,{d:`M12 12v3`,key:`158kv8`}]]),De=C(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Oe=C(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),ke=C(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),Ae=C(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),je=C(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),q=e(n(),1),J=i();function Y(e){if(!(!e||typeof e!=`object`)){if(Object.hasOwn(e,`plan`))return e.plan??null;if(Object.hasOwn(e,`taskList`))return e.taskList??null}}function Me(e,t){let n=Y(e);return n===void 0?t:n}function Ne(e){return e===`plan_update`||e===`task_list_update`}function Pe(e){return e===`get_plan`||e===`get_task_list`}function Fe(e){return e===`update_plan`||e===`update_task_list`}function Ie(e){return Pe(e)||Fe(e)}function Le(e){return Y(e)}var Re=Object.freeze({messages:[],tools:[],approvals:[],agents:[],team:null,currentActivity:null,activityFeed:[],lifecycle:null,sessionTreeRevision:0,thinkingText:``,queuedInputs:[],hadQueuedInput:!1,plan:null,executionMode:null,runMode:null,contextUsage:null,sessionUsage:null,promptCache:null,compaction:null,streaming:!1,error:``,loaded:!1,messageStart:null,hasOlder:!1,olderCursor:null});function ze(e,t){if(e===t)return!1;if(!e||!t)return!0;let n=new Set([...Object.keys(e),...Object.keys(t)]);for(let r of n)if(e[r]!==t[r])return!0;return!1}function Be(e,t){let n=e||Re,r=typeof t==`function`?t(n):{...n,...t};return ze(n,r)?r:n}function Ve(e,t){return t===void 0?e||[]:Array.isArray(t)?t:[]}function He(e,t){return Number.isSafeInteger(e.queueRevision)&&Number.isSafeInteger(t.queueRevision)&&t.queueRevision<e.queueRevision}function Ue(e,t){let n=t.removedInputId?[...new Set([...e.withdrawnInputIds||[],t.removedInputId])]:e.withdrawnInputIds||[],r=new Set(n),i=r.size?e.messages.filter(e=>!r.has(e.queuedInputId)):e.messages;if(He(e,t))return{...e,messages:i,withdrawnInputIds:n};let a=Ve(e.queuedInputs,t.queuedInputs);return{...e,messages:i,withdrawnInputIds:n,queuedInputs:r.size?a.filter(e=>!r.has(e.id)):a,...Number.isSafeInteger(t.queueRevision)?{queueRevision:t.queueRevision}:{},hadQueuedInput:!!(e.hadQueuedInput||a.length)}}function We(e=[],t){let n=Array.isArray(e)?e:[],r=-1;for(let e=n.length-1;e>=0;--e)if(n[e]?.role===`agent`){r=e;break}return r<0?[...n,t]:[...n.slice(0,r),t,...n.slice(r)]}function Ge(e){return!!(e?.streaming||e?.recovering||e?.pendingRuntimeSelection||e?.switchingModel||e?.switchingThinking||e?.agents?.some(e=>[`queued`,`starting`,`running`].includes(e.status)))}function Ke(e){return!!(e&&(e.streaming||String(e.thinkingText||``).trim()||e.tools?.length||e.currentActivity?.type===`agent`||e.activityFeed?.some(e=>e.type===`agent`)||e.team))}function qe(e,t,n){return t&&Ke(n)?n:Ke(e.runActivity)?e.runActivity:null}function Je(e,t){if(e&&(e.loaded||e.streaming||Y(e)!==void 0))return Me(e,null);let n=Y(t);return n===void 0?Me(e,null):n}function Ye(e,t={}){return!!e?.items?.length}var Xe=e(r(),1);function Ze(e,t){return!!(t.sessionId&&e?.sessionId===t.sessionId&&e.streaming&&!e.completed&&!t.streaming&&t.completed&&e.runStartedAt&&Number.isFinite(Date.parse(e.runStartedAt))&&e.runStartedAt===t.runStartedAt)}function Qe(e,t,n=[]){if(!Ze(e,t))return!1;let r=Date.parse(t.runStartedAt||``);return Number.isFinite(r)?n.some(e=>{let t=Date.parse(e.changedAt);return e.reverted||!Number.isFinite(t)||t<r?!1:e.added>0||e.removed>0||e.status===`created`||e.status===`deleted`||!e.snapshot&&e.pending}):!1}function $e(e,t){let n=Math.min(400,t-280-8),r=Math.max(280,Math.min(720,t-n-8));return Math.min(r,et(e))}function et(e){return typeof e!=`number`||!Number.isFinite(e)?360:Math.min(720,Math.max(280,Math.round(e)))}var tt=new Set([`changes`,`files`,`plan`,`processes`,`sources`,`side-chat`]);function nt(e,t,n=``){return{id:e,kind:t,resourceId:n,draft:``,url:``,view:{reading:{},expandedFiles:[],expandedProcesses:[],processFollow:{},processScroll:{},query:``,filter:``,selectedSourceId:``,follow:!0}}}function rt(e){return{pages:e?[nt(`page-1`,e)]:[],activeId:e?`page-1`:``,nextId:e?2:1,contentOpen:!1,summaryOpen:!1,contentWidth:null,conversationScrollTop:null}}function it(e,t){if(t.type===`workspace`)return{...e,...t.contentWidth===void 0?{}:{contentWidth:et(t.contentWidth)},...t.contentOpen===void 0?{}:{contentOpen:t.contentOpen&&e.pages.length>0},...t.summaryOpen===void 0?{}:{summaryOpen:t.summaryOpen},...t.conversationScrollTop!==void 0&&Number.isFinite(t.conversationScrollTop)?{conversationScrollTop:Math.max(0,t.conversationScrollTop)}:{}};if(t.type===`add`||t.type===`open`||t.type===`kind`){let n=t.type===`kind`?t.id:t.type===`open`?t.replaceId:void 0,r=e.pages.find(e=>e.id===n);if(t.type===`kind`&&!r)return e;let i=`resourceId`in t&&t.resourceId||``,a=e.pages.find(e=>e.id!==n&&e.kind===t.kind&&e.resourceId===i&&(tt.has(t.kind)||!!i));if(a){let t=r?.kind===`new`?e.pages.filter(e=>e.id!==n):e.pages;return{...e,pages:t,activeId:a.id,contentOpen:!0,summaryOpen:!1}}if(!r&&e.pages.length>=12)return e;let o=nt(r?.id||`page-${e.nextId}`,t.kind,i);return{...e,pages:r?e.pages.map(e=>e.id===o.id?o:e):[...e.pages,o],activeId:o.id,nextId:e.nextId+ +!r,contentOpen:!0,summaryOpen:!1}}let n=e.pages.findIndex(e=>e.id===t.id);if(n<0)return e;if(t.type===`select`)return{...e,activeId:t.id,contentOpen:!0};if(t.type===`close`){let r=e.pages.filter(e=>e.id!==t.id);return{...e,pages:r,activeId:e.activeId===t.id?r[Math.min(n,r.length-1)]?.id||``:e.activeId,contentOpen:r.length>0&&e.contentOpen}}return{...e,pages:e.pages.map(e=>e.id===t.id?t.type===`resource`?{...e,resourceId:t.resourceId}:t.type===`view`?{...e,view:{...e.view,...t.patch,reading:{...e.view.reading,...t.patch.reading}}}:{...e,...t.draft===void 0?{}:{draft:t.draft},...t.url===void 0?{}:{url:t.url}}:e)}}var at=o(e=>({sessions:{},update:(t,n,r)=>{let i=`unchanged`;return t&&e(e=>{let a=Object.prototype.hasOwnProperty.call(e.sessions,t)?e.sessions[t]:rt(`id`in r?n:void 0),o=it(a,r);return o===a?((r.type===`add`||r.type===`open`)&&a.pages.length>=12&&(i=`limit`),e):(i=`updated`,{sessions:{...e.sessions,[t]:o}})}),i},forget:t=>e(e=>{let n={...e.sessions};return delete n[t],{sessions:n}})})),ot=(0,q.createContext)(null);function st(e,t,n=!1){let r=Object.fromEntries(xe(e).filter(e=>e.hunks.length>0).map(e=>{let t=0,n=0;for(let r of e.hunks)for(let e of r.rows)e.kind===`pair`&&(e.next.tone===`added`&&t++,e.old.tone===`deleted`&&n++);return[e.path,{added:t,removed:n}]}));return{added:Object.values(r).reduce((e,t)=>e+t.added,0),removed:Object.values(r).reduce((e,t)=>e+t.removed,0),partial:n||t.some(e=>!Object.hasOwn(r,e)),files:r}}function ct({error:e,title:t,pending:n=!1,onRetry:r,className:i}){let{t:o}=a(),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),m=n?z:ee;return(0,J.jsx)(G,{role:`group`,className:S(`min-w-0 border-[var(--stroke-soft)] bg-[var(--surface-subtle)] px-3 py-2.5 text-[var(--text-secondary)]`,i),children:(0,J.jsxs)(l,{open:u,onOpenChange:d,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,J.jsxs)(`div`,{role:`status`,className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[(0,J.jsx)(m,{"aria-hidden":`true`,className:S(`size-4 shrink-0 text-[var(--text-muted)]`,n&&`animate-spin motion-reduce:animate-none`)}),(0,J.jsx)(`span`,{children:t||o(`chat:requestNotice.incomplete`)})]}),r&&(0,J.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-secondary)]`,disabled:n||f,onClick:async()=>{if(!f){p(!0);try{await r()}catch{}finally{p(!1)}}},children:[(0,J.jsx)(V,{"aria-hidden":`true`,className:S(`size-3.5`,f&&`animate-spin`)}),o(`chat:chatMessage.retry`)]}),e&&(0,J.jsx)(c,{asChild:!0,children:(0,J.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`min-h-11 shrink-0 gap-1 px-2 text-xs text-[var(--text-muted)]`,children:[o(u?`chat:requestNotice.hideDetails`:`chat:requestNotice.showDetails`),(0,J.jsx)(T,{"aria-hidden":`true`,className:S(`size-3 transition-transform`,u&&`rotate-180`)})]})})]}),(0,J.jsx)(s,{children:(0,J.jsx)(`pre`,{tabIndex:0,"aria-label":o(`chat:requestNotice.details`),className:`mt-2 max-h-48 overflow-auto rounded-md border border-[var(--stroke-soft)] bg-[var(--surface-muted)] p-3 text-xs leading-relaxed whitespace-pre-wrap [overflow-wrap:anywhere] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,children:e})})]})})}var lt={completed:`completed`,in_progress:`running`,blocked:`blocked`,pending:`pending`};function ut(e){let t=new Map(e.map(e=>[String(e.id||``),e])),n=e=>e?.status===`completed`;return e.map(e=>{let r=String(e.id||``),i=(Array.isArray(e.dependsOn)?e.dependsOn:[]).map(e=>t.get(String(e))).filter(e=>!!e&&!n(e)),a=e.status!==`completed`&&(e.status===`blocked`||i.length>0);return{...e,id:r,blocked:a,blockedBy:i}})}function dt(e){return e===`completed`?w:e===`in_progress`?O:e===`blocked`?Oe:O}function ft({status:e,t}){let n=dt(e),r=t(e===`completed`?`chat:planBoard.completed`:e===`in_progress`?`chat:planBoard.inProgress`:e===`blocked`?`chat:planBoard.blocked`:`chat:planBoard.pending`);return(0,J.jsxs)(`span`,{className:`plan-board-status [&.completed]:text-[var(--success)] [&.running]:text-[var(--star-strong)] inline-flex items-center gap-[4px] flex-none text-[11px] text-[var(--text-muted)] ${lt[String(e)]||`pending`}`,children:[(0,J.jsx)(n,{size:12}),r]})}function pt({item:e,current:t,t:n}){return(0,J.jsxs)(`li`,{className:`plan-board-row flex flex-col gap-[2px] [padding:5px_6px] rounded-[var(--r-sm)] ${e.blocked?`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`:``}`,"aria-current":t?`step`:void 0,"data-pisper-plan-current":t?`true`:void 0,"data-pisper-plan-id":e.id,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-[8px] min-w-0`,children:[(0,J.jsx)(ft,{status:e.blocked?`blocked`:e.status,t:n}),(0,J.jsx)(`span`,{className:`flex-1 min-w-0 overflow-hidden text-[var(--text)] text-[13px] text-ellipsis whitespace-nowrap`,title:e.title,children:e.title}),e.assignee?(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-[4px] flex-none [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-pill)] bg-[var(--stroke-soft)] [padding:1px_8px] text-[var(--text-secondary)] text-[11px] whitespace-nowrap`,title:n(`chat:planBoard.assignedTo`,{name:e.assignee}),children:[(0,J.jsx)(je,{size:11}),e.assignee]}):e.status!==`completed`&&(0,J.jsx)(`span`,{className:`flex-none text-[var(--text-muted)] text-[11px] [font-style:italic]`,children:n(`chat:planBoard.unassigned`)})]}),e.blockedBy.length>0&&(0,J.jsxs)(`div`,{className:`inline-flex items-center gap-[5px] [padding-left:2px] text-[var(--text-muted)] text-[11px]`,children:[(0,J.jsx)(Oe,{size:11}),n(`chat:planBoard.waitingFor`,{tasks:e.blockedBy.map(e=>e.title||e.id).join(` · `)})]})]})}function mt({plan:e,header:t,collapsible:n=!1}){let{t:r}=a(),i=(0,q.useRef)(null),[o,s]=(0,q.useState)(!0),c=e?.items||[],l=ut(c),u=l.filter(e=>e.status===`completed`).length,d=l.filter(e=>e.status===`in_progress`&&!e.blocked).length,f=l.filter(e=>e.blocked).length,p=l.find(e=>e.status===`in_progress`&&!e.blocked)?.id??l.find(e=>e.blocked)?.id??l.find(e=>e.status===`pending`)?.id??l.at(-1)?.id;if((0,q.useLayoutEffect)(()=>{if(n&&!o)return;let e=i.current,t=e?.querySelector(`[data-pisper-plan-current="true"]`);if(!e||!t)return;let r=e.getBoundingClientRect(),a=t.getBoundingClientRect();a.top<r.top?e.scrollTop-=r.top-a.top:a.bottom>r.bottom&&(e.scrollTop+=a.bottom-r.bottom)},[n,p,o,l.length]),!c.length)return null;let m=l.find(e=>e.id===p),h=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(te,{className:`flex-none text-[var(--star-strong)]`,size:15}),(0,J.jsx)(`strong`,{children:r(`chat:planBoard.progress`,{completed:u,total:c.length})}),m?(0,J.jsx)(`span`,{className:`min-w-0 flex-1 overflow-hidden text-[var(--text-secondary)] text-ellipsis whitespace-nowrap`,title:m.title,children:m.title}):null,(0,J.jsxs)(`span`,{className:`plan-board-counts @max-[470px]:hidden inline-flex flex-none items-center gap-[8px]`,children:[d>0&&(0,J.jsx)(`span`,{children:r(`chat:planBoard.countInProgress`,{count:d})}),f>0&&(0,J.jsx)(`span`,{className:`blocked [.plan-board-summary_&]:text-[var(--star-strong)] [.plan-board-row&]:opacity-[.72] [.plan-board-status&]:text-[var(--danger)]`,children:r(`chat:planBoard.countBlocked`,{count:f})})]}),t,n?(0,J.jsx)(T,{className:`plan-board-chevron [.plan-board-collapsible[open]_&]:[transform:rotate(180deg)] flex-none [transition:transform_var(--d1)_var(--ease-out)]`,size:15}):null]}),g=(0,J.jsx)(`ul`,{ref:i,className:`plan-board-list [.plan-board-collapsible_>_&]:[border-top:1px_solid_var(--stroke-soft)] [.plan-board-collapsible_>_&]:p-[8px_10px_10px] flex flex-col gap-[2px] m-0 [padding:8px_0_0] [list-style:none]${l.length>4?` is-scrollable [.session-plan-popover_.plan-board-list&]:[block-size:min(250px,38dvh)] [.plan-board-list&]:[block-size:min(220px,34dvh)] [.plan-board-list&]:overflow-y-auto [.plan-board-list&]:[overscroll-behavior:contain] [.plan-board-list&]:pr-[4px] [.plan-board-list&]:[scrollbar-gutter:stable] [.plan-board-list&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-list&:focus-visible]:[outline-offset:2px]`:``}`,tabIndex:l.length>4?0:void 0,children:l.map(e=>(0,J.jsx)(pt,{item:e,current:e.id===p,t:r},e.id))});return n?(0,J.jsxs)(`details`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0 plan-board-collapsible !p-0`,open:o,onToggle:e=>s(e.currentTarget.open),children:[(0,J.jsx)(`summary`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,"aria-label":r(`chat:planBoard.toggleAriaLabel`),children:h}),g]}):(0,J.jsxs)(`section`,{className:`plan-board flex flex-col w-[min(900px,100%)] m-[0_auto] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--main-surface-bg)] p-[10px_14px] [.session-plan-popover_&]:w-full [.session-plan-popover_&]:border-0 [.session-plan-popover_&]:bg-transparent [.session-plan-popover_&]:p-0`,"aria-label":r(`chat:planBoard.ariaLabel`),children:[(0,J.jsx)(`div`,{className:`plan-board-summary [&_strong]:flex-none [&_strong]:text-[var(--text)] [&_strong]:font-[600] [.plan-board-collapsible_>_&]:min-h-[38px] [.plan-board-collapsible_>_&]:border-0 [.plan-board-collapsible_>_&]:p-[7px_10px] [.plan-board-collapsible_>_&]:cursor-pointer [.plan-board-collapsible_>_&]:[list-style:none] [.plan-board-collapsible_>_&::-webkit-details-marker]:hidden [.plan-board-collapsible_>_&:hover]:bg-[var(--surface-hover)] [.plan-board-collapsible_>_&:focus-visible]:[outline:2px_solid_var(--accent-border)] [.plan-board-collapsible_>_&:focus-visible]:[outline-offset:-2px] @max-[470px]:[.plan-board-collapsible_>_&]:[padding-inline:8px] flex min-w-0 items-center gap-[8px] [padding-bottom:8px] [border-bottom:1px_solid_var(--stroke-soft)] text-[12px] text-[var(--text-secondary)]`,children:h}),g]})}var ht=(0,q.memo)(mt);function gt(e){return e===`queued`?{titleKey:`{name} 等待调度`,tone:`waiting`}:e===`starting`?{titleKey:`{name} 正在启动`,tone:`running`}:e===`running`?{titleKey:`{name} 正在运行`,tone:`running`}:e===`completed`?{titleKey:`{name} 已完成`,tone:`completed`}:e===`interrupted`?{titleKey:`{name} 已中断`,tone:`stopped`}:e===`failed`?{titleKey:`{name} 执行失败`,tone:`failed`}:{titleKey:`{name} 状态已更新`,tone:`waiting`}}function _t(e){let t=typeof e==`string`||typeof e==`number`||e instanceof Date?e:0,n=new Date(t).getTime();return Number.isFinite(n)?n:0}function vt({currentActivity:e,compaction:t,text:n,thinkingText:r,lastActivityAt:i}={}){return t?.active?{type:`compaction`,compaction:t,updatedAt:t.startedAt||i}:e&&[`model`,`compaction`,`retry`].includes(e.type)?e:{type:`model`,stage:e?.type===`tool`?e.status===`running`?`working`:`processing_result`:String(r||``).trim()?`thinking`:String(n||``).trim()?`responding`:`thinking`,updatedAt:e?.updatedAt||i}}function yt(e=[]){return e.map(e=>`${e.type}:${e.id||e.agent?.id||``}:${e.status||e.stage||e.agent?.status||``}`).join(`|`)}function bt(e,t=0){return e.type===`tool`?`tool:${e.id||e.name||t}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||t}:${e.agent?.status||e.status||``}`:e.type===`plan`?`plan:${e.id||Le(e)?.updatedAt||e.updatedAt||t}`:`${e.type||`activity`}:${e.id||e.startedAt||e.createdAt||t}`}function xt(e){return e?.type?e.type===`tool`?`tool:${e.id||e.name||``}`:e.type===`agent`?`agent:${e.agent?.id||e.agent?.canonicalName||``}`:e.type===`plan`?`plan:${e.updatedAt||Le(e)?.updatedAt||``}`:e.type===`communication`?`communication:${e.id||``}`:e.type===`model`?`model:${e.stage||``}`:e.type===`compaction`?`compaction:${e.compaction?.status||e.compaction?.active||``}`:`${e.type}:${e.id||e.updatedAt||``}`:``}function St(e,t){let n=new Map((e?.items||[]).map(e=>[String(e.id||``),e])),r=new Map((t?.items||[]).map(e=>[String(e.id||``),e])),i=[];for(let e of r.values()){let t=n.get(String(e.id||``));t?(t.status!==e.status||t.title!==e.title||t.note!==e.note)&&i.push({id:e.id,title:e.title,status:e.status,previousStatus:t.status,kind:`updated`}):i.push({id:e.id,title:e.title,status:e.status,kind:`added`})}for(let e of n.values())r.has(String(e.id||``))||i.push({id:e.id,title:e.title,status:e.status,kind:`removed`});return i}function Ct(e=[],t,n=6){let r=Array.isArray(e)?e:[];if(![`tool`,`plan`,`agent`,`communication`].includes(t?.type))return r;let i=[...r];t.type===`plan`&&(i=i.filter(e=>e?.type!==`tool`||!Ie(e.name))),t.type===`agent`&&(i=i.filter(e=>e?.type!==`tool`||![`spawn_agent`,`list_agents`,`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e.name)));let a=xt(t),o=i.findIndex(e=>xt(e)===a);return o>=0?i[o]={...i[o],...t}:i.push(t),i.slice(-Math.max(1,Number(n)||6))}function wt(e=[],{finishedAt:t=new Date().toISOString(),error:n=``}={}){return e.map(e=>e?.status===`running`?{...e,status:n?`error`:`done`,message:n||e.message||``,updatedAt:t,finishedAt:t}:e)}function Tt(e,t,n=Date.now()){let r=_t(e);if(!r)return 0;let i=_t(t)||n;return Math.max(0,i-r)}function Et(e,t=`zh-CN`){let n=Math.max(0,Math.round(Number(e)||0));if(n<1e3)return t===`en-US`?`${n}ms`:`${n} 毫秒`;let r=Math.floor(n/1e3);if(r<60)return t===`en-US`?`${r}s`:`${r} 秒`;let i=Math.floor(r/60),a=r%60;return i<60?`${i}:${String(a).padStart(2,`0`)}`:`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`}function Dt(e,{threshold:t=64,onUnreadChange:n,requestFrame:r=e=>requestAnimationFrame(e),cancelFrame:i=e=>cancelAnimationFrame(e),reducedMotion:a}){let o=e.ownerDocument,s=o.defaultView?.matchMedia?.(`(prefers-reduced-motion: reduce)`),c=a||(()=>{let e=o.documentElement.dataset.motion;return e===`reduced`||e!==`full`&&!!s?.matches}),l=!0,u=!1,d=!1,f=null,p=null,m=null,h=e.scrollTop,g=!1,_=!1,v=null,y=()=>Math.max(0,e.scrollHeight-e.clientHeight),b=()=>_||v!==null,x=e=>{u!==e&&(u=e,n(e))},S=()=>{p!==null&&i(p),p=null},C=()=>{f!==null&&i(f),f=null,m=null,S(),g=!1,h=e.scrollTop},w=()=>{S(),g=!0},T=()=>{S(),p=r(()=>{p=r(()=>{if(p=null,l&&!b()&&Math.abs(y()-e.scrollTop)>1){O();return}g=!1,h=e.scrollTop})})},E=t=>{e.scrollTo({top:t,behavior:`instant`}),h=e.scrollTop},D=t=>{if(f=null,d||!l||b())return;let n=y(),i=n-e.scrollTop,a=m===null?1e3/60:Math.min(64,t-m);m=t;let o=1-.85**(Math.max(0,a)/(1e3/60));if(c()||Math.abs(i)<=1){i!==0&&E(n),m=null,T();return}E(e.scrollTop+Math.sign(i)*Math.min(Math.abs(i),Math.max(1,Math.abs(i)*o))),f=r(D)},O=()=>{d||!l||b()||(w(),f===null&&(f=r(D)))},k=()=>{d||(l=!1,C())},A=()=>{l=!0,x(!1),O()},j=()=>{let n=e.scrollTop-h;h=e.scrollTop,!(g||d)&&(n<-.5?k():n>.5&&y()-e.scrollTop<=t&&A())},M=t=>{t.ctrlKey||Math.abs(t.deltaX)>Math.abs(t.deltaY)||(t.deltaY<0?k():t.deltaY>0&&y()-e.scrollTop<=1&&A())},N=e=>{let t=e.touches[0];t&&(v={x:t.clientX,y:t.clientY},C())},P=e=>{let t=e.touches[0];if(!t||!v)return;let n=t.clientX-v.x,r=t.clientY-v.y;Math.abs(r)<2||(r>0&&r>Math.abs(n)&&k(),v={x:t.clientX,y:t.clientY})},F=()=>{v=null,O()},I=e=>{e.pointerType===`touch`||e.button>1||(_=!0,C())},L=()=>{_&&(_=!1,O())},R=e=>{let t=e.target;e.defaultPrevented||t?.closest?.(`input, textarea, select, [contenteditable]`)||(e.key===`ArrowUp`||e.key===`PageUp`||e.key===`Home`||e.key===` `&&e.shiftKey)&&k()};e.addEventListener(`scroll`,j,{passive:!0}),e.addEventListener(`wheel`,M,{passive:!0}),e.addEventListener(`touchstart`,N,{passive:!0}),e.addEventListener(`touchmove`,P,{passive:!0}),e.addEventListener(`touchend`,F,{passive:!0}),e.addEventListener(`touchcancel`,F,{passive:!0}),e.addEventListener(`pointerdown`,I,{passive:!0}),e.addEventListener(`keydown`,R),o.addEventListener(`pointerup`,L,{passive:!0}),o.addEventListener(`pointercancel`,L,{passive:!0}),s?.addEventListener?.(`change`,O);let ee=typeof ResizeObserver>`u`?null:new ResizeObserver(O);return ee?.observe(e),{maintainBottom:O,pauseFollowing:k,restorePosition(e){d||!Number.isFinite(e)||(k(),x(!1),E(Math.max(0,e)))},contentChanged(){d||(l?O():x(!0))},scrollToBottom(e=`auto`){d||(C(),l=!0,x(!1),e===`smooth`?O():(w(),E(y()),T()))},dispose(){d=!0,C(),ee?.disconnect(),e.removeEventListener(`scroll`,j),e.removeEventListener(`wheel`,M),e.removeEventListener(`touchstart`,N),e.removeEventListener(`touchmove`,P),e.removeEventListener(`touchend`,F),e.removeEventListener(`touchcancel`,F),e.removeEventListener(`pointerdown`,I),e.removeEventListener(`keydown`,R),o.removeEventListener(`pointerup`,L),o.removeEventListener(`pointercancel`,L),s?.removeEventListener?.(`change`,O)}}}function Ot(e,{threshold:t=64,resetKey:n,readInitialPosition:r}={}){let i=(0,q.useRef)(r);i.current=r;let a=(0,q.useRef)(null),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(!1),u=(0,q.useRef)(null),d=(0,q.useCallback)(e=>{a.current=e,s(e)},[]);return(0,q.useLayoutEffect)(()=>{if(!o)return;let e=Dt(o,{threshold:t,onUnreadChange:l});u.current=e,l(!1);let n=i.current?.();return typeof n==`number`?e.restorePosition(n):e.scrollToBottom(),()=>{e.dispose(),u.current=null}},[n,o,t]),(0,q.useEffect)(()=>{u.current?.contentChanged()},[e]),{scrollRef:a,scrollElement:o,setScrollRef:d,hasUnread:c,scrollToBottom:(0,q.useCallback)((e=`auto`)=>{u.current?.scrollToBottom(e)},[]),maintainBottom:(0,q.useCallback)(()=>{u.current?.maintainBottom()},[]),pauseFollowing:(0,q.useCallback)(()=>{u.current?.pauseFollowing()},[])}}function kt(e){return(e||0)>0&&Number(e)<650?260:164}function At(e,t){return e.scrollTop+t-e.scrollHeight}function jt({text:e,copyLabel:t}){let{t:n}=a(),[r,i]=(0,q.useState)(`idle`),o=(0,q.useRef)(0),s=(0,q.useRef)(null);(0,q.useEffect)(()=>(i(`idle`),()=>{o.current+=1,s.current!==null&&clearTimeout(s.current)}),[e]);let c=async()=>{if(r===`pending`)return;let t=++o.current;s.current!==null&&clearTimeout(s.current),i(`pending`);try{if(await navigator.clipboard.writeText(e),t!==o.current)return;i(`copied`),s.current=setTimeout(()=>i(`idle`),1800)}catch{t===o.current&&i(`failed`)}},l=r===`copied`?n(`common:markdownMessage.copied`):t??n(`chat:chatMessage.copyReply`);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{asChild:!0,children:(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":l,disabled:r===`pending`,onClick:()=>void c(),children:r===`copied`?(0,J.jsx)(w,{size:16}):r===`pending`?(0,J.jsx)(z,{size:16,className:`animate-spin`}):(0,J.jsx)(j,{size:16})})}),(0,J.jsx)(b,{children:l})]}),(0,J.jsx)(`span`,{role:`status`,className:r===`failed`?`order-last basis-full text-xs text-destructive`:`sr-only`,children:r===`failed`?n(`chat:chatMessage.copyReplyFailed`):r===`copied`?n(`common:markdownMessage.copied`):``})]})}var Mt=new Map,Nt=e=>{let t=Mt.get(e);return t||(t=de.create(e),Mt.set(e,t)),t};(0,q.memo)(({children:e,as:t=`p`,className:n,duration:r=2,spread:i=2})=>{let a=Nt(t),o=(0,q.useMemo)(()=>(e?.length??0)*i,[e,i]);return(0,J.jsx)(a,{animate:{backgroundPosition:`0% center`},className:S(`relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent`,`[--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))] [background-repeat:no-repeat,padding-box]`,n),initial:{backgroundPosition:`100% center`},style:{"--spread":`${o}px`,backgroundImage:`var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))`},transition:{duration:r,ease:`linear`,repeat:1/0},children:e})});var Pt=(0,q.createContext)(null),Ft=({className:e,isStreaming:t=!1,children:n,...r})=>{let i=(0,q.useMemo)(()=>({isStreaming:t}),[t]);return(0,J.jsx)(Pt.Provider,{value:i,children:(0,J.jsx)(l,{asChild:!0,"data-slot":`plan`,...r,children:(0,J.jsx)(ue,{className:S(`shadow-none`,e),children:n})})})},It=({defaultOpen:e=!0,className:t,...n})=>(0,J.jsx)(l,{className:S(t),defaultOpen:e,...n}),Lt=4e3,Rt=`… earlier output omitted …`;function zt(e){let t=String(e||``),n=``;for(let e=0;e<t.length;e+=1){let r=t.charCodeAt(e);if(r===27){let n=t.charCodeAt(e+1);if(n===91)for(e+=2;e<t.length&&t.charCodeAt(e)<64;)e+=1;else if(n===93)for(e+=2;e<t.length;){let n=t.charCodeAt(e);if(n===7)break;if(n===27&&t.charCodeAt(e+1)===92){e+=1;break}e+=1}else e+=1;continue}(r===9||r===10||r===13||r>=32&&r!==127)&&(n+=t[e])}return n}function Bt(e,t=Lt){let n=String(e||``),r=Math.max(1,Math.floor(Number(t)||4e3));if(n.length<=r)return{text:zt(n),truncated:!1};let i=n.slice(-r),a=i.indexOf(`
3
- `);return a>=0&&a<Math.floor(r/3)&&(i=i.slice(a+1)),{text:zt(`${Rt}\n${i}`),truncated:!0}}function Vt(){let e=globalThis.pisperDesktop;return e?.computerUseStartStream?e:null}function Ht({target:e,fallbackImage:t,streaming:n}){let{t:r}=a(),i=Number(e.target?.windowId)||0,[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(`connecting`),[u,d]=(0,q.useState)(!1),f=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!n)return;let e=Vt();if(!e?.computerUseSecureInputState)return;let t=!0,r=()=>{e.computerUseSecureInputState?.().then(e=>{t&&d(!!e?.active)}).catch(()=>{t&&d(!1)})};r();let i=window.setInterval(r,2e3);return()=>{t=!1,window.clearInterval(i)}},[n]),(0,q.useEffect)(()=>{if(!n||!i)return;let e=Vt();if(!e){l(`unavailable`);return}l(`connecting`);let t=!0;return e.computerUseStartStream?.(i,e=>{t&&(e.type===`frame`?(f.current=`data:image/jpeg;base64,${e.jpegBase64}`,s({url:f.current,width:e.width,height:e.height,timestampMs:e.timestampMs}),l(`live`)):e.type===`error`?l(`unavailable`):e.type===`downgraded`?l(e=>e===`live`?e:`connecting`):e.type===`stopped`&&l(`unavailable`))}).catch(()=>{t&&l(`unavailable`)}),()=>{t=!1,e.computerUseStopStream?.(i).catch(()=>{})}},[n,i]);let p=o?.url||(t?.url?String(t.url):``),m=String(e.target?.windowTitle||e.target?.app||``),h=c===`live`,g=(0,q.useMemo)(()=>`${o?.width||16} / ${o?.height||10}`,[o?.width,o?.height]);return(0,J.jsxs)(`div`,{className:`computer-use-live-mirror w-full overflow-hidden rounded-[var(--r-md)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [margin:2px_0]`,"data-pisper-live-mirror":h?`live`:c,children:[p?(0,J.jsx)(`img`,{alt:m||r(`chat:computerUseLive.previewAlt`),className:`computer-use-live-frame block max-h-[240px] w-full object-contain object-top`,src:p}):(0,J.jsx)(`div`,{className:`computer-use-live-placeholder grid min-h-[84px] w-full place-items-center text-[12px] text-[var(--text-muted)]`,style:{aspectRatio:g},children:r(`chat:computerUseLive.waitingForFirstFrame`)}),u?(0,J.jsxs)(`div`,{className:`flex items-center gap-[6px] bg-[var(--warning-soft)] px-[8px] py-[4px] text-[11px] text-[var(--warning-strong)]`,"data-pisper-secure-input":`active`,children:[(0,J.jsx)(F,{size:12,className:`flex-none`}),(0,J.jsx)(`span`,{className:`min-w-0`,children:r(`chat:computerUseLive.secureInput`)})]}):null,(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-[8px] px-[8px] py-[4px] text-[11px] text-[var(--text-muted)]`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[5px]`,children:[(0,J.jsx)(ne,{size:12}),(0,J.jsx)(`span`,{className:`truncate`,title:m,children:m||r(`chat:computerUseLive.appWindow`)})]}),(0,J.jsx)(`span`,{className:h?`text-[var(--brand-blue-strong)]`:`text-[var(--text-tertiary)]`,"data-pisper-live-mirror-status":c,children:r(h?`chat:computerUseLive.live`:c===`connecting`?`chat:computerUseLive.connecting`:`chat:computerUseLive.staticPreview`)})]})]})}var Ut=(0,q.memo)(Ht),Wt=new Set([`find_roots`,`observe_ui`,`search_ui`,`expand_ui`,`inspect_ui`,`act_ui`,`read_text`,`wait_for`,`launch_browser`,`navigate_browser`,`evaluate_browser`]);function Gt(e){return Wt.has(String(e||``))}function Kt(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.type===`tool`&&Gt(n.name)&&Number(n.target?.windowId)>0)return n}return null}function qt(e,t){return e===`read`?t(`chat:agentRunActivity.readingFiles`):e===`grep`?t(`chat:agentRunActivity.searchingContent`):e===`find`?t(`chat:agentRunActivity.findingFiles`):e===`ls`?t(`chat:agentRunActivity.browsingDirectories`):e===`edit`?t(`chat:agentRunActivity.editingFiles`):e===`write`?t(`chat:agentRunActivity.writingFiles`):e===`bash`?t(`chat:agentRunActivity.runningCommands`):e===`memory_search`?t(`chat:agentRunActivity.searchingMemory`):e===`memory_remember`?t(`chat:agentRunActivity.savingMemory`):e===`spawn_agent`?t(`chat:agentRunActivity.startingSubagent`):e===`list_agents`?t(`chat:agentRunActivity.checkingSubagents`):e===`send_message`?t(`chat:agentRunActivity.messagingSubagent`):e===`send_team_message`?t(`chat:agentRunActivity.messagingTeamMember`):e===`list_team_members`?t(`chat:agentRunActivity.checkingTeamMembers`):e===`run_team_workflow`?t(`chat:agentRunActivity.runningTeamWorkflow`):e===`followup_task`?t(`chat:agentRunActivity.addingSubagentTask`):e===`wait_agent`?t(`chat:agentRunActivity.waitingForSubagent`):e===`interrupt_agent`?t(`chat:agentRunActivity.interruptingSubagent`):Pe(e)?t(`chat:agentRunActivity.readingPlan`):Fe(e)?t(`chat:agentRunActivity.updatingPlan`):e===`browser_automation`?t(`chat:agentRunActivity.controllingBrowser`):e===`observe_ui`||e===`inspect_ui`||e===`expand_ui`?t(`chat:agentRunActivity.observingInterface`):e===`act_ui`?t(`chat:agentRunActivity.operatingInterface`):e===`search_ui`?t(`chat:agentRunActivity.searchingInterface`):e===`find_roots`?t(`chat:agentRunActivity.findingAppWindows`):e===`ocr_ui`?t(`chat:agentRunActivity.readingInterfaceText`):e===`wait_for`?t(`chat:agentRunActivity.waitingForInterface`):e===`read_text`?t(`chat:agentRunActivity.readingInterfaceText`):e===`generate_visual`?t(`chat:agentRunActivity.generatingVisualContent`):e===`discover_tools`?t(`chat:agentRunActivity.discoveringTools`):t(`chat:agentRunActivity.usingTool`,{tool:String(e||t(`chat:agentRunActivity.tools`))})}function Jt(e,t){return e===`read`?t(`chat:agentRunActivity.filesRead`):e===`grep`?t(`chat:agentRunActivity.searchCompleted`):e===`find`?t(`chat:agentRunActivity.findCompleted`):e===`ls`?t(`chat:agentRunActivity.directoriesBrowsed`):e===`edit`?t(`chat:agentRunActivity.filesEdited`):e===`write`?t(`chat:agentRunActivity.filesWritten`):e===`bash`?t(`chat:agentRunActivity.commandCompleted`):e===`spawn_agent`?t(`chat:agentRunActivity.subagentStarted`):e===`send_team_message`?t(`chat:agentRunActivity.teamMessageSent`):e===`list_team_members`?t(`chat:agentRunActivity.teamMembersListed`):e===`run_team_workflow`?t(`chat:agentRunActivity.teamWorkflowStarted`):e===`wait_agent`?t(`chat:agentRunActivity.subagentStatusUpdated`):e===`observe_ui`||e===`inspect_ui`||e===`expand_ui`?t(`chat:agentRunActivity.interfaceObserved`):e===`act_ui`?t(`chat:agentRunActivity.interfaceActionCompleted`):e===`ocr_ui`||e===`read_text`?t(`chat:agentRunActivity.interfaceTextRead`):Fe(e)?t(`chat:agentRunActivity.planUpdated`):t(e===`discover_tools`?`chat:agentRunActivity.toolsDiscovered`:`chat:agentRunActivity.currentOperationCompleted`)}function Yt(e,t,n){return n(e===`queued`?`chat:agentRunActivity.agentQueued`:e===`starting`?`chat:agentRunActivity.agentStarting`:e===`running`?`chat:agentRunActivity.agentRunning`:e===`completed`?`chat:agentRunActivity.agentCompleted`:e===`interrupted`?`chat:agentRunActivity.agentInterrupted`:e===`failed`?`chat:agentRunActivity.agentFailed`:`chat:agentRunActivity.agentStatusUpdated`,{name:t})}function Xt(e,t){let n=e?.items||[],r=e?.counts?.completed??n.filter(e=>e.status===`completed`).length,i=e?.counts?.inProgress??n.filter(e=>e.status===`in_progress`).length;return[n.length?t(`chat:agentRunActivity.completedTotalCompleted`,{completed:r,total:n.length}):``,i?t(`chat:agentRunActivity.countInProgress`,{count:i}):``].filter(Boolean).join(` · `)||t(`chat:agentRunActivity.planCleared`)}function Zt(e,t){return e.kind===`removed`?t(`chat:agentRunActivity.removedTitle`,{title:e.title}):e.status===`completed`?t(`chat:agentRunActivity.completedTitle`,{title:e.title}):e.status===`in_progress`?t(`chat:agentRunActivity.inProgressTitle`,{title:e.title}):e.status===`blocked`?t(`chat:agentRunActivity.blockedTitle`,{title:e.title}):e.kind===`added`?t(`chat:agentRunActivity.addedTitle`,{title:e.title}):t(`chat:agentRunActivity.pendingTitle`,{title:e.title})}function Qt(e,t){return e?.active?e.reason===`overflow`?t(`chat:agentRunActivity.contextIsFullTheRequestWillRetryAfterCompaction`):e.reason===`manual`?t(`chat:agentRunActivity.summarizingOlderMessagesAsRequested`):t(`chat:agentRunActivity.contextIsNearingItsLimitSummarizingOlderMessages`):e?.tokensBefore!=null&&e?.estimatedTokensAfter!=null?t(`chat:agentRunActivity.contextCompactedBeforeAfterTokens`,{before:le(e.tokensBefore),after:le(e.estimatedTokensAfter)}):t(`chat:agentRunActivity.summarizingOlderMessages`)}var $t=[],en=`agent-run-status-icon [.agent-thinking-window.running_&]:text-[var(--brand-blue-strong)] [.agent-run-summary.completed_&]:text-[var(--success)] [.agent-run-summary.plan_&]:text-[var(--success)] [.agent-run-overview.completed_&]:text-[var(--success)] [.agent-run-overview.plan_&]:text-[var(--success)] [.agent-run-summary.compacting_&]:text-[var(--star-strong)] [.agent-run-overview.compacting_&]:text-[var(--star-strong)] [.agent-run-summary.failed_&]:text-[var(--text-muted)] [.agent-run-overview.failed_&]:text-[var(--text-muted)] [.agent-run-summary.stopped_&]:text-[var(--text-muted)] [.agent-run-overview.stopped_&]:text-[var(--text-muted)] [.agent-run-activity.compact_&]:w-[24px] [.agent-run-activity.compact_&]:h-[24px] grid w-[28px] h-[28px] place-items-center text-[var(--brand-blue-strong)]`,tn=(0,q.lazy)(()=>t(()=>import(`./AnimatedList-D8fxDNGr.js`).then(e=>({default:e.AnimatedList})),__vite__mapDeps([0,1,2,3,4,5,6])));function nn(e,t){return t(e===`queued`?`chat:agentRunActivity.teamTaskQueued`:e===`starting`?`chat:agentRunActivity.teamTaskStarting`:e===`running`?`chat:agentRunActivity.teamTaskRunning`:e===`completed`?`chat:agentRunActivity.teamTaskCompleted`:e===`failed`?`chat:agentRunActivity.teamTaskFailed`:e===`interrupted`?`chat:agentRunActivity.teamTaskInterrupted`:e===`blocked`?`chat:agentRunActivity.teamTaskBlocked`:`chat:agentRunActivity.teamTaskStatusUpdated`)}function rn(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{if(n(Date.now()),!e)return;let t=window.setInterval(()=>n(Date.now()),1e3);return()=>window.clearInterval(t)},[e]),t}function an({startedAt:e,finishedAt:t,streaming:n,language:r}){let i=Et(Tt(e,t,rn(n)),r);return(0,J.jsxs)(`span`,{className:`agent-run-duration inline-flex items-center gap-[4px] pt-[3px] text-[var(--text-muted)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] text-[11px] whitespace-nowrap [.agent-run-activity.compact_&]:text-[10px]`,children:[(0,J.jsx)(k,{size:12}),i]})}function X(e){return String(e||``).replace(/\s+/g,` `).trim()}function on(e){let t=e?.args||{};return e?.name===`bash`?{text:String(t.command||``).trim(),command:!0}:[`read`,`edit`,`write`,`ls`].includes(e?.name)?{text:X(t.path)}:e?.name===`grep`?{text:[t.pattern?`“${X(t.pattern)}”`:``,X(t.path)].filter(Boolean).join(` · `)}:e?.name===`find`?{text:[X(t.pattern),X(t.path)].filter(Boolean).join(` · `)}:e?.name===`browser_automation`?{text:[X(t.action),X(t.url||t.selector)].filter(Boolean).join(` · `)}:e?.name===`observe_ui`?{text:X(t.root||t.mode)}:e?.name===`act_ui`?{text:Array.isArray(t.actions)?t.actions.slice(0,3).map(e=>X(e?.action)).filter(Boolean).join(` · `):``}:e?.name===`search_ui`?{text:X(t.text||t.role)}:e?.name===`find_roots`?{text:X(t.app||t.text)}:e?.name===`ocr_ui`?{text:X(t.language)}:e?.name===`spawn_agent`?{text:X(t.taskName)}:[`send_message`,`followup_task`,`wait_agent`,`interrupt_agent`].includes(e?.name)?{text:X(t.target)}:e?.name===`generate_visual`?{text:X(t.outputName||t.kind)}:e?.name===`discover_tools`?{text:X(t.query)}:{text:``}}function sn(e,{t,streaming:n,text:r,thinkingText:i,compaction:a,error:o,stopped:s,notice:c,lastActivityAt:l,now:u}){let d=`running`,f=t(`chat:agentRunActivity.understandingTheTask`),p=c||``,m=``,h=!1,g=e.startedAt,_=$t;if(e.type===`tool`){let n=e.status===`error`,r=e.status===`done`;d=n?`failed`:r?`completed`:`running`,f=n?t(`chat:agentRunActivity.toolFailed`,{tool:qt(e.name,t)}):r?Jt(e.name,t):qt(e.name,t);let i=on(e);p=i.text,h=!!i.command,m=X(e.message)}else if(e.type===`plan`){d=`plan`;let n=Le(e);f=n?.items?.length?t(`chat:agentRunActivity.planUpdated`):t(`chat:agentRunActivity.planCleared`),_=e.changes||$t,p=_.length?t(`chat:agentRunActivity.countPlanChanges`,{count:_.length}):Xt(n,t)}else if(e.type===`agent`){let n=e.agent||{},r=X(n.taskName)||t(`chat:agentRunActivity.subagent`),i=gt(n.status);f=Yt(n.status,r,t),d=i.tone,p=(n.currentActivity?.type===`tool`?on(n.currentActivity).text||n.currentActivity.name:``)||X(n.error||n.message),m=n.status===`running`?X(n.output):``,g=n.startedAt||g}else if(e.type===`communication`){let n=e.communication||{};d=`running`,f=t(`chat:agentRunActivity.teamMessageActivity`),p=t(`chat:agentRunActivity.teamMessageDetail`,{from:n.fromTaskName||n.fromAgentId||`lead`,to:n.toTaskName||n.toAgentId||``}),m=X(n.message)}else if(e.type===`compaction`)d=`compacting`,f=t(`chat:agentRunActivity.compactingContext`),p=Qt(e.compaction||a,t);else if(e.type===`retry`)d=`waiting`,f=t(`chat:agentRunActivity.retryingRequest`),p=e.summary||c||``;else{let a=Math.max(0,u-new Date(l||u).getTime());o?(d=`failed`,f=t(`chat:agentRunActivity.thisRunFailed`),p=o):s?(d=`stopped`,f=t(`chat:agentRunActivity.runStopped`)):n?a>=1e4?(d=`waiting`,f=t(`chat:agentRunActivity.waitingForTheModel`),p=t(`chat:agentRunActivity.noNewProgressForCountS`,{count:Math.floor(a/1e3)})):f=e.stage===`starting`?t(`chat:agentRunActivity.startingTheModel`):e.stage===`responding`?t(`chat:agentRunActivity.preparingTheResponse`):e.stage===`processing_result`?t(`chat:agentRunActivity.processingToolResult`):e.stage===`waiting_retry`?t(`chat:agentRunActivity.waitingToRetry`):e.stage===`finalizing`?t(`chat:agentRunActivity.finalizingTheRun`):e.stage===`working`?t(`chat:agentRunActivity.advancingTheTask`):String(i||``).trim()?t(`chat:agentRunActivity.reasoningAboutTheNextStep`):String(r||``).trim()?t(`chat:agentRunActivity.preparingTheResponse`):t(`chat:agentRunActivity.understandingTheTask`):(d=`completed`,f=t(`chat:agentRunActivity.reasoningCompleted`),p=X(i)),String(i||``).trim()&&(p=X(i))}return{tone:d,title:f,detail:p,output:m,command:h,startedAt:g,changes:_}}function cn({streaming:e,text:t,currentActivity:n,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c},l){return e?sn(vt({currentActivity:n,compaction:i,text:t,thinkingText:r,lastActivityAt:c}),{t:l,streaming:e,text:t,thinkingText:r,compaction:i,error:a,stopped:o,notice:s,lastActivityAt:c,now:Date.now()}).title:``}function ln({tone:e}){return e===`failed`?(0,J.jsx)(U,{size:14}):e===`stopped`?(0,J.jsx)(ae,{size:12}):[`completed`,`plan`].includes(e)?(0,J.jsx)(w,{size:14}):(0,J.jsx)(`i`,{className:`agent-activity-dot`,"aria-hidden":`true`})}function un({activity:e,className:t,children:n}){return e.type===`tool`?(0,J.jsx)(`div`,{className:t,"data-pisper-activity-type":`tool`,children:n}):e.type===`plan`?(0,J.jsx)(Ft,{className:`${t} !gap-0 !rounded-none !border-0 !bg-transparent !p-0 !shadow-none`,"data-pisper-activity-type":`plan`,children:n}):e.type===`agent`?(0,J.jsx)(It,{className:t,"data-pisper-activity-type":`agent`,children:n}):(0,J.jsx)(`div`,{className:t,"data-pisper-activity-type":e.type,children:n})}function dn({output:e,streaming:t,t:n}){let r=Bt(e),i=(0,q.useRef)(null);return(0,q.useEffect)(()=>{if(!t)return;let e=window.requestAnimationFrame(()=>{let e=i.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[r.text,t]),r.text.trim()?(0,J.jsxs)(`details`,{className:`agent-run-command-output [.agent-run-feed:has(&[open])]:max-h-[320px] [&_>_summary]:grid [&_>_summary]:min-h-[30px] [&_>_summary]:grid-cols-[auto_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[7px] [&_>_summary]:[list-style:none] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:text-[12px] [&_>_summary]:font-medium [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text-secondary)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] [&_>_summary_>_svg:first-child]:text-[var(--brand-blue-strong)] [&_>_pre]:max-h-[112px] [&_>_pre]:overflow-auto [&_>_pre]:m-0 [&_>_pre]:[border-top:1px_solid_var(--stroke-soft)] [&_>_pre]:bg-[var(--surface-subtle)] [&_>_pre]:p-[9px_10px] [&_>_pre]:text-[var(--text-secondary)] [&_>_pre]:font-[ui-monospace,SFMono-Regular,Consolas,'Liberation_Mono',monospace] [&_>_pre]:text-[11px] [&_>_pre]:leading-[1.55] [&_>_pre]:whitespace-pre-wrap [&_>_pre]:[overflow-wrap:anywhere] [.agent-run-activity.compact_&]:[grid-column:1/-1] min-w-0 [grid-column:1/-1] overflow-hidden [margin:2px_0_1px] [border:1px_solid_var(--stroke-soft)] rounded-[var(--r-sm)] bg-[var(--solid)]`,"data-truncated":r.truncated||void 0,open:t||void 0,children:[(0,J.jsxs)(`summary`,{children:[(0,J.jsx)(A,{size:13}),(0,J.jsx)(`span`,{children:n(t?`chat:agentRunActivity.liveCommandOutput`:`chat:agentRunActivity.commandOutput`)}),(0,J.jsx)(D,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:13})]}),(0,J.jsx)(`pre`,{ref:i,children:r.text})]}):null}function fn({image:e,t}){let n=String(e.url||``);return n?(0,J.jsx)(`a`,{className:`agent-run-tool-preview block w-full overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] bg-[var(--surface-subtle)] [grid-column:1/-1] [margin:2px_0_1px]`,href:n,target:`_blank`,rel:`noreferrer`,title:String(e.name||``),children:(0,J.jsx)(`img`,{alt:String(e.name||t(`chat:agentRunActivity.toolPreviewAlt`)),className:`block max-h-[168px] w-full object-contain object-top`,loading:`lazy`,src:n})}):null}function pn(e,t){return e.activity!==t.activity||e.latest!==t.latest||e.t!==t.t||e.streaming!==t.streaming?!1:[`tool`,`plan`,`agent`].includes(t.activity.type)?!0:e.text===t.text&&e.thinkingText===t.thinkingText&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.lastActivityAt===t.lastActivityAt}var mn=(0,q.memo)(function({activity:e,latest:t,t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u}){let d=sn(e,{t:n,streaming:r,text:i,thinkingText:a,compaction:o,error:s,stopped:c,notice:l,lastActivityAt:u,now:Date.now()}),f=e.name===`bash`&&t&&!!e.output;return e.type===`retry`?(0,J.jsx)(ct,{title:e.summary||n(`chat:agentRunActivity.retryingRequest`),error:String(e.message||``),pending:!!(r&&t),className:`my-1`}):(0,J.jsxs)(un,{activity:e,className:`agent-run-summary grid w-full min-h-[42px] grid-cols-[28px_minmax(0,1fr)] [align-items:start] gap-[9px] p-[6px_0] hover:bg-[var(--surface-hover)] [.agent-run-activity.compact_&]:min-h-[34px] [.agent-run-activity.compact_&]:grid-cols-[24px_minmax(0,1fr)] [.agent-run-activity.compact_&]:gap-[7px] [.agent-run-activity.compact_&]:p-[4px_5px] @max-[700px]:grid-cols-[28px_minmax(0,1fr)] @max-[700px]:[&_>_svg]:hidden flex-none [transition:background_var(--d1)_var(--ease-out)] ${d.tone} ${t?`current [.agent-run-summary&]:bg-[var(--surface-subtle)]`:``}`,children:[(0,J.jsx)(`span`,{className:en,children:(0,J.jsx)(ln,{tone:d.tone})}),(0,J.jsxs)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:[(0,J.jsx)(`strong`,{children:d.title}),d.detail&&(d.command?(0,J.jsxs)(`code`,{className:`agent-run-command overflow-hidden text-[var(--text-muted)] text-[12px] leading-[1.45] text-ellipsis whitespace-nowrap block max-h-[2.9em] p-[3px_7px] rounded-[var(--r-xs)] bg-[var(--surface-subtle)] text-[var(--text-secondary)] font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] whitespace-pre-wrap [overflow-wrap:anywhere] [.agent-run-activity.compact_&]:text-[11px]`,title:d.detail,children:[`$ `,d.detail]}):(0,J.jsx)(`small`,{title:d.detail,children:d.detail})),d.changes.length>0&&(0,J.jsxs)(`span`,{className:`agent-run-plan-changes [&_small]:text-[var(--text-secondary)] flex min-w-0 flex-col gap-[1px] [padding:1px_0_0_7px] [border-left:1px_solid_var(--stroke-soft)]`,children:[d.changes.slice(0,4).map(e=>(0,J.jsx)(`small`,{children:Zt(e,n)},`${e.id}-${e.kind}-${e.status}`)),d.changes.length>4&&(0,J.jsx)(`small`,{children:n(`chat:agentRunActivity.countMoreChanges`,{count:d.changes.length-4})})]}),!f&&d.output&&d.output!==d.detail&&(0,J.jsx)(`small`,{className:`text-[var(--text-tertiary)]`,title:d.output,children:d.output})]}),e.previewImage&&e.previewImage.url?(0,J.jsx)(fn,{image:e.previewImage,t:n}):null,f&&(0,J.jsx)(dn,{output:e.output,streaming:!!(r&&e.status===`running`),t:n})]})},pn);function hn({streaming:e,text:t,thinkingText:n,team:r,activityFeed:i=$t,tools:o=$t,compaction:s,error:c,stopped:l,notice:u,startedAt:d,lastActivityAt:f,finishedAt:p,compact:m=!1}){let{t:h,language:g}=a(),_=String(n||``).trim(),v=(0,q.useRef)(null),y=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!_)return;let e=window.requestAnimationFrame(()=>{let e=v.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(e)},[_]);let b=i.length?i:o,x=e&&!m?Kt(b):null,S=yt(b),C=Array.isArray(r?.tasks)?r.tasks:[],w=Number(r?.completedTaskCount??0),T=Number(r?.taskCount??C.length),E=Number(r?.tokenUsed??r?.tokensUsed??0),O=Number(r?.tokenBudget??r?.teamTokenBudget??0),k=Array.isArray(r?.communications)?r.communications:[],A=T>0?Math.min(100,Math.round(w/T*100)):0;if((0,q.useEffect)(()=>{if(!e||!b.length)return;let t=window.requestAnimationFrame(()=>{let e=y.current;e&&(e.scrollTop=e.scrollHeight)});return()=>window.cancelAnimationFrame(t)},[S,b.length,e]),!_&&!b.length&&!r)return null;let j=e?0:b.length,M=r=>r.map((i,a)=>(0,J.jsx)(mn,{activity:i,compaction:s,error:c,lastActivityAt:f,latest:a===r.length-1,notice:u,stopped:l,streaming:e,t:h,text:t,thinkingText:_?``:n},bt(i,a))),N=M(b),P=M(b.slice(-1));return(0,J.jsxs)(`section`,{className:`agent-run-activity [&.compact]:m-[4px_0_0_40px] w-full overflow-hidden [margin:1px_0_9px] text-[var(--text)] ${m?`compact`:``}`,"aria-live":`polite`,children:[_&&(0,J.jsxs)(`details`,{className:`agent-thinking-window [&[open]]:border-[transparent] [&.completed]:border-[transparent] [&.completed[open]]:border-[transparent] overflow-hidden [margin:1px_0_8px] [border:1px_solid_transparent] rounded-[var(--r-sm)] bg-transparent [transition:border-color_var(--d1)_var(--ease-out)] ${e?`running`:`completed`}`,"data-pisper-activity-type":`reasoning`,children:[(0,J.jsxs)(`summary`,{className:`agent-thinking-head [summary&]:[list-style:none] [summary&]:cursor-pointer [summary&::-webkit-details-marker]:hidden [summary&:hover]:bg-[var(--surface-hover)] [summary&:focus-visible]:[outline:2px_solid_var(--accent-border)] [summary&:focus-visible]:[outline-offset:-2px] grid min-h-[40px] grid-cols-[28px_minmax(0,1fr)_auto] items-center gap-[9px] [padding:6px_0]`,"aria-label":h(`chat:agentRunActivity.toggleReasoning`),children:[(0,J.jsx)(`span`,{className:en,children:(0,J.jsx)(D,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,J.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,J.jsxs)(`strong`,{children:[h(e?`chat:agentRunActivity.reasoningInProgress`:`chat:agentRunActivity.reasoningCompleted`),e?(0,J.jsxs)(`span`,{className:`agent-thinking-dots [&_i]:w-[3px] [&_i]:h-[3px] [&_i]:rounded-[50%] [&_i]:bg-[currentColor] [&_i]:[animation:agent-thinking-dot_1.15s_ease-in-out_infinite] [&_i:nth-child(2)]:[animation-delay:.14s] [&_i:nth-child(3)]:[animation-delay:.28s] inline-flex items-end gap-[2px] [margin-left:5px]`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}):null]})}),(0,J.jsx)(an,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,J.jsx)(`div`,{ref:v,className:`agent-thinking-scroll max-h-[190px] overflow-auto [border-top:1px_solid_var(--stroke-soft)] [padding:9px_0_9px_37px] [scroll-behavior:smooth]`,children:(0,J.jsx)(he,{streaming:e,children:_})})]}),r&&(C.length>0||k.length>0||(r.blockers?.length??0)>0||(r.conflicts?.length??0)>0||!!r.scriptPath||!!r.summary?.text)&&(0,J.jsxs)(`details`,{className:`agent-team-panel overflow-hidden rounded-[var(--r-sm)] [border:1px_solid_var(--stroke-soft)] [margin:5px_0_2px]`,children:[(0,J.jsxs)(`summary`,{className:`flex min-h-[38px] cursor-pointer items-center justify-between gap-[8px] [list-style:none] [padding:6px_8px] [&::-webkit-details-marker]:hidden hover:bg-[var(--surface-hover)]`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 items-center gap-[6px]`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`team-status-dot h-[6px] w-[6px] shrink-0 rounded-full ${r.status===`complete`?`bg-[var(--success)]`:r.status===`stalled`||r.status===`budget_limited`?`bg-[var(--warning)]`:r.status===`paused`?`bg-[var(--text-muted)]`:`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`}`}),(0,J.jsx)(`span`,{className:`min-w-0 truncate text-[12px] font-medium`,children:r.status===`complete`?h(`chat:agentRunActivity.teamComplete`):r.status===`budget_limited`?h(`chat:agentRunActivity.teamBudgetLimited`):r.status===`paused`?h(`chat:agentRunActivity.teamPaused`):r.status===`stalled`?h(`chat:agentRunActivity.teamStalled`):h(`chat:agentRunActivity.teamActive`)}),T>0&&(0,J.jsxs)(`small`,{className:`shrink-0 text-[11px] font-normal text-[var(--text-muted)]`,children:[w,`/`,T,` · `,A,`%`]})]}),(0,J.jsxs)(`span`,{className:`flex shrink-0 items-center gap-[8px]`,children:[O>0&&(0,J.jsx)(`small`,{className:`whitespace-nowrap text-[11px] text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamBudget`,{used:E,budget:O})}),(0,J.jsx)(D,{size:14,className:`text-[var(--text-muted)] [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,"aria-hidden":`true`})]})]}),T>0&&(0,J.jsx)(`div`,{"aria-hidden":`true`,className:`team-progress-track mx-[8px] mb-[3px] h-[3px] overflow-hidden rounded-full bg-[var(--stroke-soft)]`,children:(0,J.jsx)(`div`,{className:`team-progress-fill h-full rounded-full bg-[var(--accent-strong)] [transition:width_var(--d2)_var(--ease-out)]`,style:{width:`${A}%`}})}),(0,J.jsxs)(`div`,{className:`grid max-h-[min(42vh,360px)] grid-cols-[repeat(auto-fit,minmax(190px,1fr))] gap-[6px] overflow-y-auto overscroll-contain [border-top:1px_solid_var(--stroke-soft)] [padding:7px_8px]`,children:[C.map(e=>{let t=typeof e.role==`string`?e.role.trim():``,n=nn(e.status,h);return(0,J.jsxs)(`div`,{className:`grid min-w-0 gap-[4px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border:1px_solid_var(--stroke-soft)] [padding:7px] text-[11px]`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-start gap-[6px]`,children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`team-task-dot h-[6px] w-[6px] shrink-0 rounded-full ${e.status===`running`?`bg-[var(--accent-strong)] [animation:agent-status-pulse_1.6s_ease-in-out_infinite]`:e.status===`completed`?`bg-[var(--success)]`:e.status===`failed`||e.status===`interrupted`?`bg-[var(--danger)]`:e.status===`blocked`?`bg-[var(--warning)]`:`bg-[var(--stroke-default)]`}`}),(0,J.jsxs)(`span`,{className:`grid min-w-0 gap-[1px]`,children:[(0,J.jsx)(`strong`,{className:`break-words font-medium`,children:t?h(`chat:agentRunActivity.teamTaskStatus`,{name:e.taskName,role:t,status:n}):h(`chat:agentRunActivity.teamTaskStatusWithoutRole`,{name:e.taskName,status:n})}),(0,J.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:n})]})]}),e.error&&(0,J.jsx)(`small`,{className:`break-words text-[var(--danger)]`,children:e.error}),e.output&&(0,J.jsx)(`small`,{className:`break-words text-[var(--text-muted)]`,children:e.output})]},e.id||e.taskName)}),(r.blockers?.length??0)>0&&(0,J.jsx)(`small`,{className:`text-[var(--warning)]`,children:h(`chat:agentRunActivity.teamBlocked`,{count:r.blockers?.length??0})}),(r.conflicts?.length??0)>0&&(0,J.jsx)(`small`,{className:`text-[var(--danger)]`,children:h(`chat:agentRunActivity.teamConflicts`,{count:r.conflicts?.length??0})}),r.scriptPath&&(0,J.jsx)(`small`,{className:`break-all text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamScript`,{path:r.scriptPath})}),k.length>0&&(0,J.jsxs)(`div`,{className:`grid gap-[3px] [border-top:1px_solid_var(--stroke-soft)] [padding-top:5px]`,children:[(0,J.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamCommunicationCount`,{count:k.length})}),k.slice(-6).map(e=>(0,J.jsxs)(`div`,{className:`grid min-w-0 gap-[1px] rounded-[var(--r-xs)] bg-[var(--surface-muted)] [border-left:2px_solid_var(--accent-border)] [padding:4px_6px]`,children:[(0,J.jsxs)(`strong`,{className:`break-all text-[12px] font-medium`,children:[e.fromTaskName||e.fromAgentId||`lead`,` ->`,` `,e.toTaskName||e.toAgentId]}),(0,J.jsx)(`small`,{className:`break-words text-[var(--text-secondary)]`,children:e.message})]},e.id))]}),r.summary?.text&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`small`,{className:`text-[var(--text-muted)]`,children:h(`chat:agentRunActivity.teamSummary`)}),r.summary.text&&(0,J.jsx)(`p`,{className:`m-0 line-clamp-4 text-[11px] leading-[1.45] text-[var(--text-secondary)]`,children:r.summary.text})]})]})]},String(r.id||r.scriptPath||`team`)),e&&!m&&x?(0,J.jsx)(Ut,{fallbackImage:x.previewImage,streaming:e,target:x}):null,e&&b.length>0&&(0,J.jsx)(`div`,{ref:y,className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] live`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),children:(0,J.jsx)(q.Suspense,{fallback:P,children:(0,J.jsx)(tn,{children:P})})}),j>0&&(0,J.jsxs)(`details`,{className:`agent-run-history [&_>_summary]:grid [&_>_summary]:min-h-[38px] [&_>_summary]:grid-cols-[28px_minmax(0,1fr)_auto] [&_>_summary]:items-center [&_>_summary]:gap-[9px] [&_>_summary]:[list-style:none] [&_>_summary]:rounded-[var(--r-sm)] [&_>_summary]:p-[5px_8px] [&_>_summary]:text-[var(--text-muted)] [&_>_summary]:cursor-pointer [&_>_summary::-webkit-details-marker]:hidden [&_>_summary:hover]:bg-[var(--surface-hover)] [&_>_summary:hover]:text-[var(--text)] [&_>_summary:focus-visible]:[outline:2px_solid_var(--accent-border)] [&_>_summary:focus-visible]:[outline-offset:-2px] w-full`,children:[(0,J.jsxs)(`summary`,{children:[(0,J.jsx)(`span`,{className:en,children:(0,J.jsx)(D,{className:`agent-run-disclosure [details[open]_>_summary_&]:[transform:rotate(90deg)] [transition:transform_var(--d1)_var(--ease-out)]`,size:14})}),(0,J.jsx)(`span`,{className:`agent-run-copy [&_strong]:overflow-hidden [&_strong]:text-[length:var(--app-font-size)] [&_strong]:font-medium [&_strong]:leading-[1.4] [&_strong]:text-ellipsis [&_strong]:whitespace-nowrap [&_small]:overflow-hidden [&_small]:text-[var(--text-muted)] [&_small]:text-[12px] [&_small]:leading-[1.45] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [.agent-run-activity.compact_&_strong]:text-[12px] [.agent-run-activity.compact_&_small]:text-[11px] flex min-w-0 flex-col gap-[3px] [padding-top:1px]`,children:(0,J.jsx)(`strong`,{children:h(`chat:agentRunActivity.countCompletedOperations`,{count:j})})}),(0,J.jsx)(an,{startedAt:d,finishedAt:p,streaming:e,language:g})]}),(0,J.jsx)(`div`,{className:`agent-run-feed focus-visible:[outline:2px_solid_var(--accent-border)] focus-visible:[outline-offset:2px] [.agent-run-history_&.completed]:mt-[3px] flex max-h-[184px] flex-col gap-[4px] overflow-y-auto [overscroll-behavior:contain] [margin:5px_0_2px] [padding:2px_0] completed`,"aria-label":h(`chat:agentRunActivity.toolActivityAriaLabel`),tabIndex:b.length>3?0:void 0,children:(0,J.jsx)(q.Suspense,{fallback:N,children:N})})]})]})}function gn(e,t){return e.streaming===t.streaming&&e.text===t.text&&e.thinkingText===t.thinkingText&&e.currentActivity===t.currentActivity&&e.team===t.team&&e.activityFeed===t.activityFeed&&e.compaction===t.compaction&&e.error===t.error&&e.stopped===t.stopped&&e.notice===t.notice&&e.startedAt===t.startedAt&&e.lastActivityAt===t.lastActivityAt&&e.finishedAt===t.finishedAt&&e.compact===t.compact&&e.tools===t.tools}var _n=(0,q.memo)(hn,gn);function Z(e){return e instanceof Error?e.message:String(e)}function vn(e){return/(?:当前会话已经结束运行|session .*?(?:ended|finished|no longer running))/i.test(Z(e))}function yn({className:e,from:t,...n}){return(0,J.jsx)(`div`,{"data-ai-element":`message`,"data-role":t,className:S(`group flex w-full max-w-[95%] flex-col gap-2`,t===`user`?`is-user ml-auto justify-end`:`is-assistant`,e),...n})}function bn({images:e,index:t,onClose:n,onNavigate:r}){let{t:i}=a(),o=(0,q.useRef)(null),s=e[t],c=t>0,l=t<e.length-1,u=(0,q.useCallback)(t=>{t>=0&&t<e.length&&r(t)},[e.length,r]);return(0,q.useEffect)(()=>{let e=document.body.style.overflow,r=e=>{e.key===`Escape`?n():e.key===`ArrowLeft`?(e.preventDefault(),u(t-1)):e.key===`ArrowRight`&&(e.preventDefault(),u(t+1))};return document.body.style.overflow=`hidden`,window.addEventListener(`keydown`,r),()=>{document.body.style.overflow=e,window.removeEventListener(`keydown`,r)}},[t,u,n]),s?(0,J.jsxs)(`div`,{className:`image-lightbox [&_img]:h-full [&_img]:min-h-0 [&_img]:w-full [&_img]:object-contain fixed z-[100] inset-0 grid grid-rows-[auto_minmax(0,1fr)] gap-[12px] bg-[var(--lightbox-bg)] [padding:18px_72px_24px_24px] [backdrop-filter:blur(8px)] max-sm:[padding:12px_56px_16px_12px]`,role:`dialog`,"aria-modal":`true`,"aria-label":i(`chat:chatMessage.fullScreenImagePreview`),children:[(0,J.jsxs)(`div`,{className:`image-lightbox-toolbar flex min-w-0 items-center justify-between gap-[16px] text-[var(--on-ink)]`,children:[(0,J.jsxs)(`div`,{className:`flex min-w-0 items-center gap-[10px]`,children:[(0,J.jsx)(`span`,{className:`overflow-hidden text-[13px] font-[700] text-ellipsis whitespace-nowrap`,title:s.attachment.name,children:s.attachment.name||i(`chat:chatMessage.generatedImage`)}),e.length>1&&(0,J.jsxs)(`span`,{className:`flex-none text-[12px] font-[600] text-[var(--on-ink)]/70`,children:[t+1,` / `,e.length]})]}),(0,J.jsxs)(`div`,{className:`flex flex-none items-center gap-[8px]`,children:[(0,J.jsx)(W,{asChild:!0,size:`lg`,className:`border border-[var(--lightbox-action-border)] bg-[var(--lightbox-action-bg)] text-[var(--lightbox-action-text)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--accent-soft)] hover:text-[var(--star-strong)]`,children:(0,J.jsxs)(`a`,{href:s.attachment.downloadUrl||s.source,download:s.attachment.name||`generated-image`,"aria-label":i(`chat:chatMessage.downloadOriginal`),title:i(`chat:chatMessage.downloadOriginal`),children:[(0,J.jsx)(M,{size:14}),(0,J.jsx)(`span`,{className:`max-sm:hidden`,children:i(`chat:chatMessage.downloadOriginal`)})]})}),(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`size-11 bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)]`,"aria-label":i(`chat:chatMessage.closePreview`),title:i(`chat:chatMessage.closePreview`),onClick:n,children:(0,J.jsx)(se,{size:20})})]})]}),(0,J.jsxs)(`div`,{className:`relative flex min-h-0 items-center justify-center [touch-action:pan-y]`,onTouchStart:e=>{o.current=e.changedTouches[0]?.clientX??null},onTouchEnd:e=>{let n=o.current;o.current=null;let r=e.changedTouches[0]?.clientX;n===null||r===void 0||Math.abs(r-n)<48||u(t+(r<n?1:-1))},onTouchCancel:()=>{o.current=null},children:[e.length>1&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute left-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.previousImage`),title:i(`chat:chatMessage.previousImage`),disabled:!c,onClick:()=>u(t-1),children:(0,J.jsx)(E,{size:22})}),(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-lg`,className:`absolute right-0 z-10 size-11 rounded-full bg-[var(--lightbox-control-bg)] text-[var(--on-ink)] shadow-[0_8px_24px_var(--lightbox-action-shadow)] hover:bg-[var(--lightbox-control-bg)] hover:text-[var(--on-ink)] disabled:opacity-30`,"aria-label":i(`chat:chatMessage.nextImage`),title:i(`chat:chatMessage.nextImage`),disabled:!l,onClick:()=>u(t+1),children:(0,J.jsx)(D,{size:22})})]}),(0,J.jsx)(`img`,{alt:s.attachment.name||i(`chat:chatMessage.generatedImage`),decoding:`async`,src:s.source})]})]}):null}function Q(e,t){window.dispatchEvent(new CustomEvent(ge,{detail:{message:e,tone:t}}))}function $({icon:e,label:t,onClick:n,disabled:r=!1}){return(0,J.jsxs)(`button`,{type:`button`,disabled:r,onClick:n,className:`flex items-center gap-[7px] rounded-[var(--r-xs)] border-0 bg-transparent px-[8px] py-[6px] text-left text-[13px] text-[var(--text-secondary)] [cursor:pointer] hover:bg-[var(--surface-hover)] hover:text-[var(--text-primary)] disabled:cursor-not-allowed disabled:opacity-50`,children:[e,t]})}function xn({attachments:e,compact:t=!1,sessionId:n,sessionStreaming:r=!1}){let{t:i}=a(),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(null),g=(0,q.useRef)(null),[_,y]=(0,q.useState)(null),[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(null),[w,T]=(0,q.useState)({}),E=e.flatMap((e,t)=>{let n=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&n?[{attachment:e,source:n,attachmentIndex:t}]:[]}),D=async e=>{try{await me(e,fe),Q(i(`common:markdownMessage.revealLocalPathOk`,{path:e}),`info`)}catch(t){Q(t instanceof pe&&t.reason===`unavailable`?i(`common:markdownMessage.revealLocalPathUnavailable`):t instanceof pe&&t.reason===`timeout`?i(`common:markdownMessage.revealLocalPathTimeout`):i(`common:markdownMessage.revealLocalPathFailed`,{path:e}),`error`)}},O=async(e,t)=>{if(n)try{let r=await K.getFileDiff(n,t);T(t=>({...t,[e]:r.diff?.trim()?{diff:r.diff,truncated:!!r.diffTruncated,canRevert:!!r.canRevert}:null}))}catch{T(t=>({...t,[e]:null}))}},k=async(e,t)=>{if(!(!n||r||b)){if(_!==e){y(e);return}y(null),x(e);try{await K.revertSessionFileChanges(n,t),T(t=>({...t,[e]:null})),Q(i(`chat:chatMessage.fileActionRevertDone`,{path:t}),`info`)}catch(e){Q(i(`chat:chatMessage.fileActionRevertFailed`,{path:t}),`error`),console.error(`[chat] 撤销文件改动失败。`,e)}finally{x(null)}}},A=async(e,t)=>{if(!(!n||f)){p(e);try{let e=await K.getFileDiff(n,t);e.diff?.trim()?(l(null),C({diff:e.diff,truncated:!!e.diffTruncated})):Q(i(`chat:chatMessage.fileDiffEmpty`),`info`)}catch(e){Q(e instanceof Error?e.message:i(`chat:chatMessage.fileDiffFailed`),`error`)}finally{p(null)}}},j=e=>{if(!e.downloadUrl)return;let t=document.createElement(`a`);t.href=e.downloadUrl,e.name&&(t.download=e.name),t.click()};return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`message-attachments flex flex-wrap gap-[6px] [margin-top:6px] ${t?`compact`:``}`,children:e.map((e,t)=>{let a=String(e.id||t),o=e.url||(e.data?`data:${e.mimeType};base64,${e.data}`:``);return e.kind===`image`&&o?(0,J.jsxs)(`button`,{type:`button`,className:`generated-media [.message-attachments_&]:flex [.message-attachments_&]:w-[min(360px,100%)] [.message-attachments_&]:flex-col [.message-attachments_&]:gap-[5px] [.message-attachments_&]:text-[var(--text-muted)] [.message-attachments_&]:no-underline [.message-attachments_button&]:border-0 [.message-attachments_button&]:bg-transparent [.message-attachments_button&]:p-0 [.message-attachments_button&]:text-left [.message-attachments_button&]:[cursor:zoom-in] [.message-attachments_&_img]:w-full [.message-attachments_&_img]:max-h-[320px] [.message-attachments_&_img]:[border:1px_solid_var(--stroke)] [.message-attachments_&_img]:rounded-[var(--r-sm)] [.message-attachments_&_img]:object-contain [.message-attachments_&_img]:bg-[var(--media-bg)] [.message-attachments_&_video]:w-full [.message-attachments_&_video]:max-h-[320px] [.message-attachments_&_video]:[border:1px_solid_var(--stroke)] [.message-attachments_&_video]:rounded-[var(--r-sm)] [.message-attachments_&_video]:object-contain [.message-attachments_&_video]:bg-[var(--media-bg)] [.message-attachments_&_small]:overflow-hidden [.message-attachments_&_small]:text-[13px] [.message-attachments_&_small]:text-ellipsis [.message-attachments_&_small]:whitespace-nowrap [.message-attachments.compact_&]:w-[min(190px,100%)] [.message-attachments.compact_&_img]:max-h-[130px] [.message-attachments.compact_&_video]:max-h-[130px]`,onClick:()=>{let e=E.findIndex(e=>e.attachmentIndex===t);e>=0&&s({images:E,index:e})},title:i(`chat:chatMessage.openFullScreenPreview`),children:[(0,J.jsx)(`img`,{alt:e.name||i(`chat:chatMessage.imageAttachment`),decoding:`async`,loading:`lazy`,src:o}),(0,J.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedImage`)})]},a):e.kind===`video`&&o?(0,J.jsxs)(`div`,{className:`generated-media [.message-attachments_&]:flex [.message-attachments_&]:w-[min(360px,100%)] [.message-attachments_&]:flex-col [.message-attachments_&]:gap-[5px] [.message-attachments_&]:text-[var(--text-muted)] [.message-attachments_&]:no-underline [.message-attachments_button&]:border-0 [.message-attachments_button&]:bg-transparent [.message-attachments_button&]:p-0 [.message-attachments_button&]:text-left [.message-attachments_button&]:[cursor:zoom-in] [.message-attachments_&_img]:w-full [.message-attachments_&_img]:max-h-[320px] [.message-attachments_&_img]:[border:1px_solid_var(--stroke)] [.message-attachments_&_img]:rounded-[var(--r-sm)] [.message-attachments_&_img]:object-contain [.message-attachments_&_img]:bg-[var(--media-bg)] [.message-attachments_&_video]:w-full [.message-attachments_&_video]:max-h-[320px] [.message-attachments_&_video]:[border:1px_solid_var(--stroke)] [.message-attachments_&_video]:rounded-[var(--r-sm)] [.message-attachments_&_video]:object-contain [.message-attachments_&_video]:bg-[var(--media-bg)] [.message-attachments_&_small]:overflow-hidden [.message-attachments_&_small]:text-[13px] [.message-attachments_&_small]:text-ellipsis [.message-attachments_&_small]:whitespace-nowrap [.message-attachments.compact_&]:w-[min(190px,100%)] [.message-attachments.compact_&_img]:max-h-[130px] [.message-attachments.compact_&_video]:max-h-[130px] video`,children:[(0,J.jsx)(`video`,{controls:!0,preload:`metadata`,src:o}),(0,J.jsx)(`small`,{children:e.name||i(`chat:chatMessage.generatedVideo`)})]},a):e.kind===`link`?(0,J.jsxs)(`a`,{className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] no-underline`,href:e.downloadUrl||void 0,children:[(0,J.jsx)(L,{size:12,className:`shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]},a):(0,J.jsxs)(v,{open:c===a,onOpenChange:t=>{l(t?a:null),t&&e.path&&n?O(a,String(e.path)):y(null)},children:[(0,J.jsx)(m,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,onClick:e=>{g.current=e.currentTarget},className:`inline-flex max-w-full min-w-0 items-center gap-[5px] rounded-[var(--r-xs)] border border-[var(--stroke)] bg-[var(--solid)] px-[7px] py-[5px] text-[13px] text-[var(--text-tertiary)] cursor-pointer`,children:[(0,J.jsx)(L,{size:12,className:`shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.name||i(`chat:chatMessage.fileAttachment`)})]})}),(0,J.jsxs)(h,{align:`start`,sideOffset:6,className:`flex w-[190px] max-w-[calc(100vw-2rem)] flex-col gap-[2px] p-[4px]`,children:[(0,J.jsx)($,{icon:(0,J.jsx)(P,{size:13}),label:i(`chat:chatMessage.fileActionPreview`),onClick:()=>{l(null),d(e)}}),(0,J.jsx)($,{icon:(0,J.jsx)(M,{size:13}),label:i(`chat:chatMessage.fileActionDownload`),disabled:!e.downloadUrl,onClick:()=>j(e)}),e.path&&(0,J.jsx)($,{icon:(0,J.jsx)(R,{size:13}),label:i(`chat:chatMessage.fileActionReveal`),onClick:()=>void D(String(e.path))}),n&&e.path&&(0,J.jsx)($,{icon:f===a?(0,J.jsx)(z,{size:13,className:`animate-spin`}):(0,J.jsx)(I,{size:13}),label:i(`chat:chatMessage.fileActionDiff`),disabled:!!f,onClick:()=>void A(a,String(e.path))}),w[String(a)]?.canRevert&&(0,J.jsx)($,{icon:b===String(a)?(0,J.jsx)(z,{className:`animate-spin`,size:13}):(0,J.jsx)(Ae,{size:13}),label:i(_===String(a)?`chat:chatMessage.fileActionConfirmRevert`:`chat:chatMessage.fileActionRevert`),disabled:!!(r||b),onClick:()=>void k(String(a),String(e.path))})]})]},a)})}),o&&(0,Xe.createPortal)((0,J.jsx)(bn,{images:o.images,index:o.index,onClose:()=>s(null),onNavigate:e=>s(t=>t&&{...t,index:e})}),document.body),u&&(0,J.jsx)(we,{attachment:u,onClose:()=>d(null),onRestoreFocus:()=>g.current?.focus(),onDownload:()=>j(u)}),S&&(0,J.jsx)(Ce,{diff:S.diff,truncated:S.truncated,onClose:()=>C(null)})]})}function Sn({sessionId:e,entryId:t}){let{t:n}=a(),[r,i]=(0,q.useState)(!1),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),[g,S]=(0,q.useState)(``);(0,q.useEffect)(()=>{if(!r)return;let n=!0;return d(!0),S(``),K.getSessionTree(e).then(e=>{if(!n)return;let r=e.nodes.find(e=>e.id===t)?.label||``;s(r),l(r)}).catch(e=>n&&S(Z(e))).finally(()=>n&&d(!1)),()=>{n=!1}},[t,r,e]);let C=async()=>{if(!(f||u)){p(!0),S(``);try{let n=(await K.setSessionTreeLabel(e,t,o)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{p(!1)}}},T=async()=>{if(!(f||u)){p(!0),S(``);try{let n=(await K.setSessionTreeLabel(e,t,``)).nodes.find(e=>e.id===t)?.label||``;s(n),l(n),i(!1)}catch(e){S(Z(e))}finally{p(!1)}}};return(0,J.jsxs)(v,{open:r,onOpenChange:i,children:[(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{asChild:!0,children:(0,J.jsx)(m,{asChild:!0,children:(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon`,className:c?`bg-surface-hover text-brand`:void 0,"aria-label":n(`chat:chatMessage.labelThisTurn`),"data-pisper-label-entry":t,children:(0,J.jsx)(H,{size:14})})})}),(0,J.jsx)(b,{side:`top`,sideOffset:6,children:n(`chat:chatMessage.labelThisTurn`)})]}),(0,J.jsx)(h,{className:`message-label-popover [&_form]:grid [&_form]:gap-[10px] [&_[data-slot='popover-title']]:text-[12px]`,align:`end`,sideOffset:6,children:(0,J.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),C()},children:[(0,J.jsx)(_,{children:n(`chat:sessionTree.nodeLabel`)}),(0,J.jsx)(ce,{autoFocus:!0,value:o,maxLength:80,disabled:u||f,placeholder:n(`chat:sessionTree.labelPlaceholder`),onChange:e=>s(e.target.value)}),g&&(0,J.jsx)(`small`,{className:`danger-text`,children:g}),(0,J.jsxs)(`div`,{className:`message-label-actions flex items-center justify-between gap-[8px]`,children:[(0,J.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,title:n(`chat:sessionTree.removeLabel`),"aria-label":n(`chat:sessionTree.removeLabel`),disabled:u||f,onClick:()=>void T(),children:(0,J.jsx)(oe,{})}),(0,J.jsxs)(W,{className:`message-label-save [.message-label-actions_&]:min-w-[104px] [.message-label-actions_&]:text-[var(--primary-foreground)]`,type:`submit`,disabled:u||f,children:[f?(0,J.jsx)(z,{className:`animate-spin`}):(0,J.jsx)(w,{}),n(f?`chat:sessionTree.savingLabel`:`chat:sessionTree.saveLabel`)]})]})]})})]})}function Cn(e,t){return e.sessionId===t.sessionId&&e.message===t.message&&e.agentState===t.agentState&&e.showRunActivity===t.showRunActivity&&e.runProps===t.runProps&&e.cwd===t.cwd&&e.sessionStreaming===t.sessionStreaming&&e.onBranchFromHere===t.onBranchFromHere&&e.onCreateChildSession===t.onCreateChildSession&&e.retryUserMessageId===t.retryUserMessageId&&e.hideErrorNotice===t.hideErrorNotice&&e.onRetryLastTurn===t.onRetryLastTurn}var wn=(0,q.memo)(function({sessionId:e,message:t,agentState:n,showRunActivity:r,runProps:i,cwd:o,sessionStreaming:s,onBranchFromHere:c,onCreateChildSession:l,retryUserMessageId:m,hideErrorNotice:h,onRetryLastTurn:g}){let{t:_}=a(),[v,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(!1),O=!!t.streaming,k=t.text||``,A=t.error&&k===t.error?``:k,j=!!(i&&(String(i.thinkingText||``).trim()||(i.activityFeed?.length??0)>0||(i.tools?.length??0)>0||i.team));return(0,J.jsxs)(yn,{from:t.role===`agent`?`assistant`:`user`,className:S(`message group/message mx-auto mb-[var(--chat-message-gap,32px)] w-full max-w-[var(--chat-content-width,1040px)] min-w-0 gap-0`,t.role===`agent`?`items-stretch`:`items-end [[data-chat-message-style='plain']_&]:items-start`,t.role),"data-pisper-message-id":t.id,"data-pisper-role":t.role,"data-pisper-streaming":O||void 0,"data-pisper-error":t.error?`true`:void 0,children:[t.role===`agent`&&O&&(0,J.jsxs)(`span`,{className:`mb-3 flex items-center gap-2 text-xs font-medium text-[var(--text-muted)]`,children:[(0,J.jsx)(`span`,{className:`agent-message-mark grid size-[22px] place-items-center`,"data-state":n,"aria-hidden":`true`,children:(0,J.jsx)(B,{size:20})}),`Pisper`]}),(0,J.jsxs)(`div`,{className:S(`message-content relative min-w-0`,t.role===`agent`?`w-full`:`w-fit max-w-[78%] @max-[700px]:max-w-[86%] @max-[470px]:max-w-[94%] [[data-chat-message-style='plain']_&]:w-full [[data-chat-message-style='plain']_&]:max-w-full`),children:[r&&i&&(0,J.jsx)(_n,{...i}),O&&!A&&!j&&(0,J.jsxs)(`div`,{className:`agent-thinking-dots [&_i]:w-[4px] [&_i]:h-[4px] [&_i]:rounded-[50%] [&_i]:bg-[var(--text-muted)] [&_i]:[animation:agent-thinking-dot_1.15s_ease-in-out_infinite] [&_i:nth-child(2)]:[animation-delay:.14s] [&_i:nth-child(3)]:[animation-delay:.28s] inline-flex items-center gap-[3px] py-2`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}),A&&(0,J.jsx)(he,{cwd:o,streaming:O,className:S(`min-h-[34px] [overflow-wrap:anywhere] text-[length:var(--app-message-font-size)]`,t.role===`agent`?`w-full max-w-full rounded-none border-0 bg-transparent pt-1 leading-[1.625] [&_h2]:text-[1.125em]! [&_h3]:text-[1em]! [&_li]:py-0! [&_li+li]:mt-0! [&_p]:my-[var(--chat-message-paragraph-gap,1em)]! [&_.markdown-content>p:first-child]:mt-0! [&_.markdown-content>p:last-child]:mb-0!`:`rounded-[22px] border border-transparent bg-[var(--user-bubble-bg)] px-4 py-2.5 leading-[1.625] text-[var(--user-bubble-text)] shadow-none [&_h1]:text-inherit! [&_h2]:text-inherit! [&_h3]:text-inherit! [&_h4]:text-inherit! [&_a]:text-inherit! [&_blockquote]:text-inherit! [[data-chat-message-style='plain']_&]:rounded-none [[data-chat-message-style='plain']_&]:border-0 [[data-chat-message-style='plain']_&]:bg-transparent [[data-chat-message-style='plain']_&]:px-0 [[data-chat-message-style='plain']_&]:py-1`),children:A}),t.attachments&&t.attachments.length>0&&(0,J.jsx)(xn,{attachments:t.attachments,sessionId:e,sessionStreaming:s})]}),t.role===`user`&&A&&(0,J.jsx)(`div`,{className:`message-actions mt-1 -mr-1.5 flex flex-wrap justify-end gap-1 text-muted-foreground opacity-0 group-hover/message:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100 max-[650px]:opacity-100 [[data-chat-message-style='plain']_&]:mr-0 [[data-chat-message-style='plain']_&]:justify-start [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 [&_button]:rounded-md`,children:(0,J.jsx)(jt,{text:A,copyLabel:_(`chat:chatMessage.copyMessage`)})}),t.error&&!O&&!h&&(0,J.jsx)(ct,{error:String(t.error),className:`mt-3`}),t.role===`agent`&&!O&&(A||t.turnBoundaryEntryId||m)&&(0,J.jsxs)(`div`,{className:`message-actions mt-2 -ml-1.5 flex flex-wrap items-center gap-1 text-[var(--text-muted)] [&_button]:size-7 [&_button]:min-h-7 max-[650px]:[&_button]:size-11 max-[650px]:[&_button]:min-h-11 [&_button]:rounded-md [&_button]:text-[var(--text-muted)] [&_button:hover]:bg-[var(--surface-hover)] [&_button:hover]:text-[var(--text)]`,children:[A&&(0,J.jsx)(jt,{text:A}),t.turnBoundaryEntryId&&c&&l&&(0,J.jsx)(Sn,{sessionId:e,entryId:t.turnBoundaryEntryId}),m&&(0,J.jsxs)(x,{children:[(0,J.jsx)(y,{asChild:!0,children:(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":_(`chat:chatMessage.retry`),"data-pisper-retry-message":m,disabled:E||s,onClick:async()=>{D(!0);try{await g()}finally{D(!1)}},children:E?(0,J.jsx)(z,{className:`animate-spin`,size:14}):(0,J.jsx)(V,{size:14})})}),(0,J.jsx)(b,{side:`top`,sideOffset:6,children:_(`chat:chatMessage.retry`)})]}),t.turnBoundaryEntryId&&c&&l&&(0,J.jsxs)(p,{children:[(0,J.jsx)(u,{asChild:!0,children:(0,J.jsx)(W,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":_(`chat:chatMessage.moreReplyActions`),children:(0,J.jsx)(N,{size:16})})}),(0,J.jsxs)(d,{align:`start`,className:`min-w-52 rounded-2xl p-1.5 [&_[role=menuitem]]:min-h-9 max-[650px]:[&_[role=menuitem]]:min-h-11`,children:[(0,J.jsxs)(f,{"data-pisper-derive-entry":t.turnBoundaryEntryId,disabled:v||w||s,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(e){C(!0);try{await c(e)}finally{C(!1)}}},children:[(0,J.jsx)(Ee,{size:16}),_(`chat:chatMessage.deriveFromHere`)]}),(0,J.jsxs)(f,{"data-pisper-child-entry":t.turnBoundaryEntryId,disabled:v||w,onSelect:async()=>{let e=t.turnBoundaryEntryId;if(e){T(!0);try{await l(e)}finally{T(!1)}}},children:[(0,J.jsx)(ke,{size:16}),_(`chat:chatMessage.createChildChat`)]})]})]})]})]})},Cn);function Tn(e,t){return e.message===t.message}(0,q.memo)(function({message:e}){return(0,J.jsxs)(yn,{from:e.role===`agent`?`assistant`:`user`,className:`[&_>_span]:pt-[5px] [&_>_span]:text-[var(--text-muted)] [&_>_span]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_>_span]:text-[13px] [&_>_span]:font-[600] [&_>_span]:[text-transform:uppercase] [&.agent_>_span::before]:[content:'✦'] [&.agent_>_span::before]:mr-[4px] [&.agent_>_span::before]:text-[var(--star)] [&_.markdown-body]:rounded-[var(--r-xs)] [&_.markdown-body]:bg-[var(--surface-subtle)] [&_.markdown-body]:[padding:6px_8px] [&_.markdown-body]:text-[13px] [&_.markdown-body]:leading-[1.45] [&_.markdown-body]:[overflow-wrap:anywhere] [&.agent_.markdown-body]:bg-[var(--accent-soft)] [&_.markdown-body_pre]:max-h-[130px] [&_.markdown-body_pre]:[padding:7px] grid grid-cols-[34px_minmax(0,1fr)] gap-[6px] [margin-bottom:6px] [align-items:start] ${e.role}`,"data-pisper-message-id":e.id,"data-pisper-role":e.role,"data-pisper-streaming":e.streaming||void 0,children:[(0,J.jsx)(`span`,{children:e.role===`agent`?`Pisper`:`You`}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(e.text||!e.streaming)&&(0,J.jsx)(he,{streaming:e.streaming,children:e.text}),e.attachments&&e.attachments.length>0&&(0,J.jsx)(xn,{attachments:e.attachments,compact:!0})]})]})},Tn);function En(e,t){let n=t?.borderBoxSize?.[0];return Math.ceil(n?.blockSize??e.getBoundingClientRect().height)}function Dn(e,t,n){let[r,i]=(0,q.useState)(0);return(0,q.useLayoutEffect)(()=>{let r=n.current;if(!e||!r)return;let a=()=>{let t=Math.max(0,r.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop);i(e=>Math.abs(e-t)<1?e:t)},o=null,s=()=>{o===null&&(o=window.requestAnimationFrame(()=>{o=null,a()}))};a();let c=typeof ResizeObserver>`u`?null:new ResizeObserver(s);return c?.observe(e),t.current&&c?.observe(t.current),window.addEventListener(`resize`,s),()=>{c?.disconnect(),window.removeEventListener(`resize`,s),o!==null&&window.cancelAnimationFrame(o)}},[n,t,e]),r}var On=(0,q.memo)(function({sessionId:e,layoutMeasurementKey:t,messages:n,streaming:r,latestRunProps:i,scrollElement:a,prefixRef:o,cwd:s,targetEntryId:c,onContentSizeChange:l,onTargetScroll:u,onTargetLocated:d,onBranchFromHere:f,onCreateChildSession:p,onRetryLastTurn:m}){let h=(0,q.useRef)(null),[g,_]=(0,q.useState)(``),v=(0,q.useRef)(n);v.current=n;let y=(0,q.useMemo)(()=>{let e=Array.from({length:n.length}),t;for(let r=0;r<n.length;r+=1)n[r]?.role===`user`&&(t=n[r].id),e[r]=t;return e},[n]),b=Dn(a,o,h),x=(0,q.useCallback)(e=>v.current[e]?.id??`transcript-message-${e}`,[]),S=(0,q.useCallback)(()=>kt(a?.clientWidth),[a]),C=Se({useFlushSync:!1,count:n.length,getScrollElement:()=>a,getItemKey:x,estimateSize:S,measureElement:En,overscan:6,scrollMargin:b,useAnimationFrameWithResizeObserver:!0}),w=C.getVirtualItems(),T=C.getTotalSize(),E=(0,q.useCallback)(()=>{let e=h.current;if(!e||!a||e.getBoundingClientRect().width<1)return;let t=a.scrollTop,n=C.getVirtualItems().find(e=>e.end>t),r=n?Math.max(0,t-n.start):0;C.measure(),C.getTotalSize();for(let t of e.children)t instanceof HTMLDivElement&&C.measureElement(t);if(C.getTotalSize(),n){let e=C.getOffsetForIndex(n.index,`start`)?.[0];e!==void 0&&C.scrollToOffset(e+r)}l()},[l,a,C]);return(0,q.useLayoutEffect)(()=>{E()},[t,E]),(0,q.useLayoutEffect)(()=>{let e=h.current;if(!e||typeof ResizeObserver>`u`)return;let t=e.getBoundingClientRect().width,n=null,r=new ResizeObserver(()=>{let r=e.getBoundingClientRect().width;Math.abs(r-t)<1||(t=r,n!==null&&window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{n=null,E()}))});return r.observe(e),()=>{r.disconnect(),n!==null&&window.cancelAnimationFrame(n)}},[E]),(0,q.useLayoutEffect)(()=>{l()},[l,T]),(0,q.useEffect)(()=>{if(!c)return;let e=n.findIndex(e=>e.turnBoundaryEntryId===c);if(e<0)return;u(),C.scrollToIndex(e,{align:`center`}),_(c);let t=window.requestAnimationFrame(()=>{C.scrollToIndex(e,{align:`center`}),d(c)});return()=>window.cancelAnimationFrame(t)},[n,d,u,c,C]),(0,q.useEffect)(()=>{if(!g)return;let e=window.setTimeout(()=>_(``),2200);return()=>window.clearTimeout(e)},[g]),(0,J.jsx)(`div`,{className:`relative w-full`,"data-pisper-transcript-size":n.length,"data-pisper-rendered-count":w.length,ref:h,style:{height:`${T}px`},children:w.map(t=>{let a=n[t.index];if(!a)return null;let o=a.role===`agent`&&t.index===n.length-1,c=a.streaming||o&&r?`thinking`:o&&!a.error?`waiting`:`idle`,l=qe(a,o,i);return(0,J.jsx)(`div`,{className:`virtual-transcript-item absolute left-0 [display:flow-root] w-full rounded-[var(--r-sm)] ${a.turnBoundaryEntryId===g?`targeted [.virtual-transcript-item&]:bg-[var(--star-soft)] [.virtual-transcript-item&]:shadow-[inset_3px_0_0_var(--star-strong)]`:``}`,"data-index":t.index,"data-pisper-target-entry":a.turnBoundaryEntryId===g?a.turnBoundaryEntryId:void 0,"data-pisper-virtual-item":a.id,ref:C.measureElement,style:{top:`${t.start-b}px`},children:(0,J.jsx)(wn,{sessionId:e,message:a,agentState:c,showRunActivity:!!l,runProps:l,cwd:s,sessionStreaming:r,onBranchFromHere:f,onCreateChildSession:p,retryUserMessageId:o?y[t.index]:void 0,hideErrorNotice:o&&!!a.error,onRetryLastTurn:m})},t.key)})})});function kn(e){let t=e.getHours();return t>=5&&t<9?0:t>=9&&t<12?1:t>=12&&t<14?2:t>=14&&t<18?3:t>=18&&t<23?4:5}function An(e){for(let t of[5,9,12,14,18,23,29]){let n=new Date(e);if(n.setHours(t,0,0,0),n.getTime()>e.getTime())return n.getTime()-e.getTime()}return 6e4}function jn(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||e<=0||t<=0?30:Math.max(20,Math.min(30,Math.floor(30*e/t)))}function Mn(){let{t:e}=a(),[t,n]=(0,q.useState)(()=>new Date),[r,i]=(0,q.useState)(30),o=(0,q.useRef)(null),s=(0,q.useRef)(null),c=[e(`chat:workbench.morningEarly`),e(`chat:workbench.morning`),e(`chat:workbench.noon`),e(`chat:workbench.afternoon`),e(`chat:workbench.evening`),e(`chat:workbench.lateNight`)][kn(t)];return(0,q.useEffect)(()=>{let e=window.setTimeout(()=>n(new Date),An(t)),r=()=>n(new Date);return window.addEventListener(`focus`,r),()=>{window.clearTimeout(e),window.removeEventListener(`focus`,r)}},[t]),(0,q.useLayoutEffect)(()=>{let e=o.current,t=s.current;if(!e||!t)return;let n=()=>i(jn(e.clientWidth-32,t.getBoundingClientRect().width));n();let r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[c]),(0,J.jsx)(`div`,{className:`relative mx-auto flex w-full max-w-2xl items-center justify-center text-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none`,"data-testid":`workbench-greeting`,children:(0,J.jsxs)(`h1`,{ref:o,style:{fontSize:Math.min(24,r)},className:`relative z-10 m-0 w-full px-4 text-center leading-[1.4] font-normal`,children:[(0,J.jsx)(`span`,{ref:s,"aria-hidden":`true`,className:`pointer-events-none invisible absolute text-3xl leading-[1.2] whitespace-nowrap`,children:c}),(0,J.jsx)(`span`,{children:c})]})})}function Nn({label:e}){return(0,J.jsxs)(`div`,{className:`session-history-loading grid min-h-[100%] place-content-center justify-items-center gap-[24px] text-[var(--text-muted)] [animation:transcript-stage-enter_.18s_var(--ease-out)_both]`,role:`status`,"aria-live":`polite`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-[10px]`,children:[(0,J.jsx)(`span`,{className:`grid h-[34px] w-[34px] place-items-center rounded-[11px] border border-[color-mix(in_srgb,#A855F7_24%,var(--stroke))] bg-[var(--solid)] shadow-[var(--sh-1)]`,children:(0,J.jsx)(B,{size:19})}),(0,J.jsx)(`strong`,{className:`text-[13px] font-medium text-[var(--text-soft)]`,children:e}),(0,J.jsxs)(`span`,{className:`flex items-end gap-[3px] pb-[3px]`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_infinite]`}),(0,J.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.16s_infinite]`}),(0,J.jsx)(`i`,{className:`block h-[4px] w-[4px] rounded-full bg-[#A855F7] [animation:agent-thinking-dot_1.2s_ease-in-out_.32s_infinite]`})]})]}),(0,J.jsxs)(`div`,{className:`grid w-[min(560px,78vw)] gap-[12px]`,"aria-hidden":`true`,children:[(0,J.jsx)(`div`,{className:`h-[52px] w-[68%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_infinite]`}),(0,J.jsx)(`div`,{className:`h-[40px] w-[46%] justify-self-end rounded-[16px_16px_5px_16px] bg-[var(--user-bubble-bg)] opacity-[.14] [animation:agent-message-pulse_1.9s_ease-in-out_.25s_infinite]`}),(0,J.jsx)(`div`,{className:`h-[46px] w-[58%] rounded-[16px_16px_16px_5px] border border-[var(--stroke-soft)] bg-[var(--surface-muted)] [animation:agent-message-pulse_1.9s_ease-in-out_.5s_infinite]`})]})]})}function Pn({sessionId:e,emptyState:t,messages:n,layoutMeasurementKey:r,transcriptLoadState:i=`ready`,messageStart:o,hasOlder:s,loadingOlder:c,olderError:l,currentActivity:u,team:d,activityFeed:f,tools:p,thinkingText:m,compaction:h,streaming:_,runStartedAt:v,lastActivityAt:y,runFinishedAt:b,runStopped:x,runNotice:S,error:C,scrollRequest:w,cwd:T,lineage:E,onLoadOlder:D,onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A}){let{t:j}=a(),M=(0,q.useRef)(null),N=(0,q.useRef)(null),[P,F]=(0,q.useState)(()=>ye(e)),I=n[n.length-1],L=Math.floor((I?.text?.length||0)/64),R=yt(f),ee=Math.floor(String(m||``).length/128),te=`${e}:${I?.id||``}:${L}:${ee}:${I?.attachments?.length||0}:${R}:${h?.status||``}:${h?.finishedAt||``}:${C||``}:${_?`1`:`0`}`,z=(0,q.useRef)(!1),ne=(0,q.useRef)(at.getState().sessions[e]?.conversationScrollTop??null),{scrollRef:B,scrollElement:V,setScrollRef:ie,hasUnread:ae,scrollToBottom:H,maintainBottom:oe,pauseFollowing:U}=Ot(te,{resetKey:`${e}:${i}`,readInitialPosition:()=>i===`ready`?ne.current:null});(0,q.useEffect)(()=>{let t=null,n=()=>{let t=V;if(!t||i!==`ready`||t.clientHeight<=0)return;let n=at.getState();n.sessions[e]?.conversationScrollTop!==t.scrollTop&&n.update(e,`files`,{type:`workspace`,conversationScrollTop:t.scrollTop})},r=()=>{n(),z.current=!0,t!==null&&cancelAnimationFrame(t),t=requestAnimationFrame(()=>{z.current=!1,t=null})};return window.addEventListener(_e,r),window.addEventListener(`pointerdown`,n,!0),()=>{window.removeEventListener(_e,r),t!==null&&cancelAnimationFrame(t),window.removeEventListener(`pointerdown`,n,!0)}},[e,V,i]);let se=(0,q.useMemo)(()=>({streaming:_,text:I?.role===`agent`?I.text:``,currentActivity:u,team:d,activityFeed:f,tools:p,thinkingText:m,compaction:h,error:C||(I?.role===`agent`?I.error:``),stopped:x,notice:S,startedAt:v,lastActivityAt:y,finishedAt:b}),[_,I,u,d,f,p,m,h,C,x,S,v,y,b]),G=(0,q.useCallback)(async()=>{let e=B.current;!e||!s||c||M.current||(U(),M.current={scrollHeight:e.scrollHeight,scrollTop:e.scrollTop},await D?.()||(M.current=null))},[s,c,D,U,B]),ce=(0,q.useCallback)(t=>{!z.current&&i===`ready`&&t.currentTarget.clientHeight>0&&at.getState().update(e,`files`,{type:`workspace`,conversationScrollTop:t.currentTarget.scrollTop}),t.currentTarget.scrollTop<=96&&G()},[G,e,i]);return(0,q.useLayoutEffect)(()=>{let e=M.current,t=B.current;!e||!t||(t.scrollTop=At(e,t.scrollHeight),M.current=null)},[o,B]),(0,q.useEffect)(()=>{F(ye(e));let t=t=>{let n=t.detail;n?.sessionId===e&&n.targetEntryId&&F(n.targetEntryId)};return window.addEventListener(ve,t),()=>window.removeEventListener(ve,t)},[e]),(0,q.useEffect)(()=>{if(!(!P||o==null)&&!n.some(e=>e.turnBoundaryEntryId===P)&&!c){if(s){G();return}be(e,P),F(``)}},[s,G,c,o,n,e,P]),(0,q.useEffect)(()=>{w&&H(`smooth`)},[w,H]),(0,J.jsxs)(`div`,{className:`relative min-h-0 flex-1`,children:[(0,J.jsxs)(`div`,{className:`transcript [.focus-session.has-conversation_&]:p-[var(--chat-transcript-block-padding,30px)_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [.focus-session.has-conversation_&]:[scroll-padding-bottom:32px] @max-[700px]:p-[20px_14px] @max-[700px]:[.focus-session.has-conversation_&]:p-[24px_16px] @max-[470px]:[padding-inline:10px] max-[650px]:p-[20px_14px] min-h-0 h-full flex-1 overflow-auto overscroll-contain scroll-auto [overflow-anchor:none] [scrollbar-gutter:stable_both-edges] m-0 border-0 [padding:26px_max(24px,calc((100%_-_var(--chat-content-width,1040px))/2))] [padding-bottom:70px] [scroll-padding-bottom:70px]`,"data-pisper-transcript-state":i,"aria-busy":i===`loading`,ref:ie,onScroll:ce,tabIndex:0,children:[(0,J.jsxs)(`div`,{className:`[display:flow-root] w-full`,ref:N,children:[E?.parentSessionId&&(0,J.jsxs)(`div`,{className:`history-page-loader flex w-[min(var(--chat-content-width,1040px),100%)] min-h-[42px] items-center justify-center gap-[7px] [margin:0_auto_18px] text-[var(--text-muted)] text-[12px] session-lineage`,"data-pisper-parent-session":E.parentSessionId,children:[(0,J.jsx)(Ee,{size:13}),(0,J.jsx)(`span`,{children:j(`chat:focusSession.derivedFromSession`,{name:E.sourceSessionName||j(`chat:focusSession.unknownSourceSession`)})})]}),(s||c||l)&&(0,J.jsx)(`div`,{className:`history-page-loader flex w-[min(var(--chat-content-width,1040px),100%)] min-h-[42px] items-center justify-center gap-[7px] [margin:0_auto_18px] text-[var(--text-muted)] text-[12px]`,children:l?(0,J.jsxs)(W,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:G,children:[(0,J.jsx)(re,{size:13}),j(`chat:focusSession.retryOlderMessages`)]}):c?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(re,{className:`animate-spin`,size:14}),j(`chat:focusSession.loadingOlderMessages`)]}):(0,J.jsxs)(W,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,onClick:G,children:[(0,J.jsx)(g,{className:`history-up-arrow [.history-page-loader_&]:[transform:rotate(180deg)]`,size:14}),j(`chat:focusSession.loadOlderMessages`)]})})]}),i===`loading`&&(0,J.jsx)(Nn,{label:j(`chat:focusSession.loadingConversationHistory`)}),i===`ready`&&!n.length&&(t??(0,J.jsx)(`div`,{className:`agent-welcome relative grid min-h-full place-content-center justify-items-center text-center text-muted-foreground [[data-mobile-keyboard='open']_&]:pointer-events-none [[data-mobile-keyboard-transition='opening']_&]:pointer-events-none [[data-mobile-keyboard-transition='closing']_&]:pointer-events-none`,children:(0,J.jsx)(Mn,{})})),i===`ready`&&n.length>0&&(0,J.jsx)(`div`,{className:`[animation:transcript-reveal-enter_.22s_var(--ease-out)_both]`,children:(0,J.jsx)(On,{layoutMeasurementKey:r,sessionId:e,messages:n,streaming:_,latestRunProps:se,scrollElement:V,prefixRef:N,cwd:T,targetEntryId:P,onContentSizeChange:oe,onTargetScroll:U,onTargetLocated:t=>{be(e,t),F(``)},onBranchFromHere:O,onCreateChildSession:k,onRetryLastTurn:A},e)})]}),ae&&(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 bottom-[6px] z-[5] flex justify-center`,children:(0,J.jsxs)(W,{type:`button`,variant:`outline`,size:`lg`,className:`pointer-events-auto bg-surface-subtle min-h-[32px] [border-color:var(--accent-border)] text-[var(--star-strong)] shadow-[0_8px_18px_-14px_var(--shadow)]`,onClick:()=>H(`smooth`),children:[(0,J.jsx)(g,{size:14}),j(`chat:focusSession.newContent`)]})})]})}(0,q.lazy)(()=>t(()=>import(`./ClickSpark-DmnEAJNI.js`).then(e=>({default:e.ClickSpark})),__vite__mapDeps([7,1,2,3,4,6])));var Fn=(0,q.createContext)(null),In=({className:e,approval:t,state:n,...r})=>{let i=(0,q.useMemo)(()=>({approval:t,state:n}),[t,n]);return!t||n===`input-streaming`||n===`input-available`?null:(0,J.jsx)(Fn.Provider,{value:i,children:(0,J.jsx)(G,{className:S(`flex flex-col gap-2`,e),...r})})};function Ln({approvals:e,onResolve:t,compact:n=!1}){let{t:r}=a(),[i,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=(0,q.useRef)(!1),u=e[0];if((0,q.useEffect)(()=>c(!1),[u?.id]),!u)return null;let d=u.fileChange,f=typeof d?.diff==`string`?d.diff:``,p=async e=>{if(!l.current){l.current=!0,o(!0);try{await t(u.id,e)}finally{l.current=!1,o(!1)}}};return(0,J.jsxs)(In,{approval:{id:u.id},state:`approval-requested`,className:`tool-approval [&_>_div:first-child]:flex [&_>_div:first-child]:min-w-0 [&_>_div:first-child]:items-center [&_>_div:first-child]:gap-[8px] [&_>_div:first-child_>_span]:flex [&_>_div:first-child_>_span]:min-w-0 [&_>_div:first-child_>_span]:flex-col [&_>_div:first-child_>_span]:gap-[2px] [&_strong]:text-[13px] [&_small]:overflow-hidden [&_small]:text-[13px] [&_small]:text-ellipsis [&_small]:whitespace-nowrap [&_details]:min-w-0 [&_details]:text-[13px] [&_summary]:cursor-pointer [&_pre]:max-h-[130px] [&_pre]:overflow-auto [&_pre]:mt-[6px] [&_pre]:rounded-[var(--r-xs)] [&_pre]:bg-[var(--warning-code-bg)] [&_pre]:text-[var(--warning-soft)] [&_pre]:p-[8px] [&_pre]:font-[ui-monospace,_SFMono-Regular,_Consolas,_'Liberation_Mono',_monospace] [&_pre]:text-[13px] [&_pre]:whitespace-pre-wrap [&.compact]:grid-cols-[minmax(0,1fr)_auto] [&.compact]:p-[6px_7px] [&.compact_strong]:text-[13px] [&.compact_small]:text-[13px] grid grid-cols-[minmax(0,1fr)_auto] items-center gap-[8px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--warning-soft)] text-[var(--warning-strong)] [padding:9px_10px] ${n?`compact`:``}`,"data-pisper-approval-id":u.id,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(ie,{size:n?12:15}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:r(`chat:focusSession.toolRequestsApproval`,{tool:u.toolName})}),(0,J.jsxs)(`small`,{children:[u.reason,e.length>1?` · ${r(`chat:focusSession.countMoreWaiting`,{count:e.length-1})}`:``]})]})]}),!n&&(0,J.jsxs)(`div`,{className:`flex [grid-column:1/-1] items-center gap-[10px]`,children:[f&&(0,J.jsxs)(`button`,{type:`button`,className:`tool-approval-view-diff hover:border-[var(--accent-border)] hover:bg-[var(--accent-soft)] hover:text-[var(--star-strong)] inline-flex min-h-[28px] flex-none items-center gap-[6px] [border:1px_solid_var(--warning-border)] rounded-[var(--r-sm)] bg-[var(--surface-muted)] [padding:4px_7px] text-[var(--text-secondary)] text-[12px] font-[600] cursor-pointer`,onClick:()=>c(!0),children:[(0,J.jsx)(I,{size:13}),r(`chat:focusSession.gitViewDiff`)]}),(0,J.jsxs)(`details`,{children:[(0,J.jsx)(`summary`,{children:r(`chat:focusSession.viewCallArguments`)}),(0,J.jsx)(`pre`,{children:JSON.stringify(u.args,null,2)})]})]}),(0,J.jsxs)(`div`,{className:`flex gap-[5px]`,children:[(0,J.jsx)(W,{type:`button`,variant:`outline`,size:`lg`,className:`bg-surface-subtle`,disabled:i,onClick:()=>p(!1),children:r(`chat:focusSession.deny`)}),(0,J.jsxs)(W,{type:`button`,size:`lg`,disabled:i,onClick:()=>p(!0),children:[i?(0,J.jsx)(re,{className:`animate-spin`,size:12}):(0,J.jsx)(w,{size:12}),r(`chat:focusSession.allow`)]})]}),s&&(0,J.jsx)(Ce,{diff:f,truncated:!!d?.truncated,onClose:()=>c(!1)})]})}function Rn(e,t){return e?.streaming?!0:!e?.loaded&&!!t?.streaming}export{Fe as A,Be as C,Je as D,Ue as E,ke as F,De as I,Te as L,Me as M,je as N,Ge as O,Ae as P,Re as S,Ye as T,it as _,vn as a,$e as b,St as c,ht as d,ct as f,rt as g,at as h,Z as i,Y as j,Ne as k,Ct as l,ot as m,Ln as n,cn as o,st as p,Pn as r,Et as s,Rn as t,wt as u,Ze as v,We as w,Qe as x,et as y};
@@ -1 +0,0 @@
1
- import{t as e}from"./api-D8wGrWiI.js";import{S as t,_ as n,b as r,c as i,d as a,f as o,h as s,i as c,l,m as u,p as d,s as f,u as p,x as m}from"./useQuery-Bg3cTjsY.js";import{t as h}from"./mutation-Difliohy.js";var g=class extends t{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new h({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=_(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){i.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>o(t,e))}findAll(e={}){return this.getAll().filter(t=>o(e,t))}notify(e){i.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return i.batch(()=>Promise.all(e.map(e=>e.continue().catch(u))))}};function _(e){return e.options.scope?.id}var v=class extends t{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??a(r,t),o=this.get(i);return o||(o=new c({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){i.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>d(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>d(e,t)):t}notify(e){i.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){i.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){i.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},y=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new v,this.#t=e.mutationCache||new g,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=m.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=f.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(n(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=l(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return i.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;i.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return i.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=i.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(u).catch(u)}invalidateQueries(e,t={}){return i.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=i.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(u)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(u)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(n(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(u).catch(u)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(u).catch(u)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return f.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(p(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{s(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(p(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{s(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=a(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===r&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},b=new Set;function x(e){if(!(typeof window>`u`)){try{if(window.localStorage.getItem(`pisper:startup-diagnostics`)!==`1`)return}catch{return}b.has(e)||(b.add(e),performance.mark(`pisper-${e}`),console.debug(`[startup]`,e,Math.round(performance.now())))}}var S=new y({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,staleTime:15e3},mutations:{retry:0}}}),C={config:`/api/config`,sessions:`/api/sessions`,"notification-settings":`/api/settings/notifications`,plugins:`/api/plugins`},w=new Map;function T(t){return{queryKey:[t],queryFn:async()=>{for(;;){let n=w.get(t);try{let r=await e(C[t]);if(n!==w.get(t))continue;return t===`sessions`&&x(`sessions-loaded`),r}catch(e){if(n!==w.get(t))continue;throw e}}},staleTime:15e3}}function E(e,t=!1){return S.fetchQuery({...T(e),...t?{staleTime:0}:{}})}function D(e){return w.set(e,(w.get(e)??0)+1),S.invalidateQueries({queryKey:[e],exact:!0},{cancelRefetch:!1})}function O(e){let t=()=>{D(`sessions`)};return e.addEventListener(`pisper:sessions-updated`,t),()=>e.removeEventListener(`pisper:sessions-updated`,t)}export{T as a,S as i,O as n,x as o,D as r,E as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./back-navigation-DS0YlxM8.js";var r=e(t(),1);function i(e,t,i){let a=(0,r.useRef)(i);a.current=i,(0,r.useLayoutEffect)(()=>e?n.register(t,()=>a.current()):void 0,[e,t])}export{i as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";var n=e(t(),1);function r(){return i()}function i(){let[e,t]=n.useState(()=>window.matchMedia(`(max-width: 650px)`).matches);return n.useEffect(()=>{let e=window.matchMedia(`(max-width: 650px)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function a(){let[e,t]=n.useState(()=>window.matchMedia(`(pointer: coarse)`).matches);return n.useEffect(()=>{let e=window.matchMedia(`(pointer: coarse)`),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}export{r as n,i as r,a as t};