pisper 0.6.24 → 0.6.25

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 (156) hide show
  1. package/package.json +5 -5
  2. package/web/.vite/manifest.json +769 -631
  3. package/web/assets/{AppDialog-BcXOXBcR.js → AppDialog-CuxO26Km.js} +1 -1
  4. package/web/assets/{AppOverlays-DhOsSE6q.js → AppOverlays-Bt5SL3PY.js} +1 -1
  5. package/web/assets/{AppSelect-BD6RAaJ5.js → AppSelect-DQYKUW5E.js} +1 -1
  6. package/web/assets/{AssetsPage-7Fuwati9.js → AssetsPage-BE6AzOGC.js} +1 -1
  7. package/web/assets/{BoardPage-C81aOK4p.js → BoardPage-DX0fJ_ap.js} +3 -3
  8. package/web/assets/ChannelsPage-CyT7oDYZ.js +1 -0
  9. package/web/assets/{ChatAppearancePage-DQr-uhHb.js → ChatAppearancePage-B6Dzj2Bj.js} +1 -1
  10. package/web/assets/ChatHistoryPage-Cq20l93c.js +1 -0
  11. package/web/assets/ChatPage-DgiS-Qj_.js +553 -0
  12. package/web/assets/ConfigPage-CgrWdzb5.js +5 -0
  13. package/web/assets/{DesktopWindowControls-BWe5YIjj.js → DesktopWindowControls-D8axeuEx.js} +1 -1
  14. package/web/assets/FeaturePage-BB1TeMlr.js +1 -0
  15. package/web/assets/{FileAttachmentPreview-IZzA3f8k.js → FileAttachmentPreview-DPjT_iYk.js} +1 -1
  16. package/web/assets/{FloatingWidgets-DgIJkrEC.js → FloatingWidgets-FI1S4hdn.js} +1 -1
  17. package/web/assets/FocusRuntimeControls-CvAx-KDV.js +1 -0
  18. package/web/assets/{GitDiffViewer-CypHOHdP.js → GitDiffViewer-DwFfeFOA.js} +1 -1
  19. package/web/assets/{ManageProjectsDialog-DxiTEqYf.js → ManageProjectsDialog-BSLNf6qD.js} +1 -1
  20. package/web/assets/{MarkdownMessage-CuaozZah.js → MarkdownMessage-NK7Ixb4Y.js} +1 -1
  21. package/web/assets/{McpPage-BbmxMKuy.js → McpPage-Cn-yDgC5.js} +1 -1
  22. package/web/assets/MemoryEvolution-B8IeSLcd.js +1 -0
  23. package/web/assets/MemoryPage-ZwoG_oj6.js +2 -0
  24. package/web/assets/{MobileNavigation-IZrksubf.js → MobileNavigation-DK5a0kZU.js} +1 -1
  25. package/web/assets/{MorePage-DObfXE0e.js → MorePage-BL8nDnTQ.js} +1 -1
  26. package/web/assets/{NewFolderDialog-CeRiD1xe.js → NewFolderDialog-COkq83LW.js} +1 -1
  27. package/web/assets/{PageHeader-D8QTuWd6.js → PageHeader-BBTCMqXc.js} +1 -1
  28. package/web/assets/{PhoneDrawer-Dfmmixh5.js → PhoneDrawer-BcPKJWl-.js} +1 -1
  29. package/web/assets/{PhoneMenuButton-Bbna_Bcf.js → PhoneMenuButton-D6vdTZdF.js} +1 -1
  30. package/web/assets/{PhoneTopBar-Dz94PR8O.js → PhoneTopBar-MqNeI69v.js} +1 -1
  31. package/web/assets/{PluginsPage-0rmSVMfr.js → PluginsPage-Bp71HpKD.js} +1 -1
  32. package/web/assets/{SafeModePrompt-CAfT8lBS.js → SafeModePrompt-CpvvU5wL.js} +1 -1
  33. package/web/assets/SchedulesPage-Drs10rEV.js +1 -0
  34. package/web/assets/{SessionBrowserPane-DMTNqq-e.js → SessionBrowserPane-DjtB4MCI.js} +2 -2
  35. package/web/assets/SessionContextPanel-ETfnp4pT.js +2 -0
  36. package/web/assets/{SessionHome-047YRkeb.js → SessionHome-CHBw3ZvP.js} +1 -1
  37. package/web/assets/SessionInspector-DVaRflQy.js +1 -0
  38. package/web/assets/{SessionShell-BqNSjTbQ.js → SessionShell-CwfQAX7i.js} +1 -1
  39. package/web/assets/{SettingsSidebar-a9IEYCfr.js → SettingsSidebar-FgC-tlY2.js} +1 -1
  40. package/web/assets/{ShortcutHelpDialog-B1RT_EMe.js → ShortcutHelpDialog-DKbIkUnk.js} +1 -1
  41. package/web/assets/{ShortcutKeys-DIEI9JQZ.js → ShortcutKeys-BuHXNKVW.js} +1 -1
  42. package/web/assets/{SidebarUpdateStatus-phIx4K_T.js → SidebarUpdateStatus-LKwNKESF.js} +1 -1
  43. package/web/assets/{SkillsPage-CZuR-0QX.js → SkillsPage-BbnerW44.js} +1 -1
  44. package/web/assets/{TaskProcessesPane-x73TNzuV.js → TaskProcessesPane-B2fyZEK9.js} +1 -1
  45. package/web/assets/{TaskTerminalView-D2UVtmT1.js → TaskTerminalView-CKApgF75.js} +1 -1
  46. package/web/assets/{TerminalPanel-C0U35k57.js → TerminalPanel-D03WycYm.js} +1 -1
  47. package/web/assets/{WebDesktopPet-CJtB44aG.js → WebDesktopPet-K2dbcbnQ.js} +1 -1
  48. package/web/assets/WorkflowsPage-CmzftCtz.js +1 -0
  49. package/web/assets/{WorkspacePicker-C7hhcfZV.js → WorkspacePicker-DbdbTOV2.js} +1 -1
  50. package/web/assets/{api-BmSvZCuH.js → api-BW_X0FMZ.js} +1 -1
  51. package/web/assets/{app-update-DhpOY37a.js → app-update-DYFXTosD.js} +1 -1
  52. package/web/assets/{approval-confirm-Dc3BZGo4.js → approval-confirm-DQ5N_lJB.js} +1 -1
  53. package/web/assets/archive-ojKJT7Fp.js +1 -0
  54. package/web/assets/{board-projects-C7DazgZG.js → board-projects-CrejrMrn.js} +1 -1
  55. package/web/assets/book-open-BuHHD9os.js +1 -0
  56. package/web/assets/bots-store-CNXTx3UY.js +1 -0
  57. package/web/assets/{chat-api-DHqVwcpJ.js → chat-api-Bo6nhq40.js} +1 -1
  58. package/web/assets/chevrons-up-down-C2sEPdAh.js +1 -0
  59. package/web/assets/{client-store-Dif482Kx.js → client-store-DzgOPMlh.js} +1 -1
  60. package/web/assets/{config-search-CKpXm_hp.js → config-search-BiQmWst4.js} +1 -1
  61. package/web/assets/{dialog-DFcH7POi.js → dialog-DFZX_Dek.js} +1 -1
  62. package/web/assets/dist-BS3ekNDj.js +1 -0
  63. package/web/assets/{events-C7sXXop4.js → events-PfANjkHx.js} +1 -1
  64. package/web/assets/{focus-session-composer-bits-D2XiGLcj.js → focus-session-composer-bits-C_LOpJH_.js} +1 -1
  65. package/web/assets/{folder-paths-CsQLylLL.js → folder-paths-aRRH_MYq.js} +1 -1
  66. package/web/assets/{hosts-CwTc21QE.js → hosts-lvoPwC3T.js} +1 -1
  67. package/web/assets/i18n-EVP8yIdy.js +1 -0
  68. package/web/assets/index-D_zLThH_.js +2 -0
  69. package/web/assets/index-l96Dl6z6.css +2 -0
  70. package/web/assets/memory-api-DkPje--t.js +1 -0
  71. package/web/assets/message-circle-D-XrK6Ft.js +1 -0
  72. package/web/assets/{mobile-remote-fallback-C2Q0wAa6.js → mobile-remote-fallback-LLMZWoIu.js} +1 -1
  73. package/web/assets/mount-app-7pFSwVLO.js +9 -0
  74. package/web/assets/{permission-rules-api-D1Tbe4E9.js → permission-rules-api-CAJsSBA5.js} +1 -1
  75. package/web/assets/{pick-system-directory-CQS5pqM-.js → pick-system-directory-yk6L7wR2.js} +1 -1
  76. package/web/assets/pin-off-BpRu_vrC.js +1 -0
  77. package/web/assets/placements-CMrgmg3t.js +2 -0
  78. package/web/assets/{popover-CXB2yzW6.js → popover--q2hs_pT.js} +1 -1
  79. package/web/assets/{public-D1nVPEiV.js → public-62LVX7HU.js} +1 -1
  80. package/web/assets/public-DWbrDr0p.js +3 -0
  81. package/web/assets/{public-BVKkvQiF.js → public-DkqrpWXx.js} +2 -2
  82. package/web/assets/{public-components-B6uxO_ZB.js → public-components-DHMvCgH2.js} +1 -1
  83. package/web/assets/public-diff-WjbTu91T.js +1 -0
  84. package/web/assets/public-events-CTdTIu5Q.js +1 -0
  85. package/web/assets/{public-flags-KylDNCsK.js → public-flags-D9LdpQwJ.js} +1 -1
  86. package/web/assets/public-greeting-DEKYruJJ.js +1 -0
  87. package/web/assets/{public-session-DjI86F5J.js → public-session-B9UHA6rN.js} +1 -1
  88. package/web/assets/{public-sidebar-PhHPuas_.js → public-sidebar-Lne86i_K.js} +1 -1
  89. package/web/assets/{runtime-capabilities-store-CTtXyNjK.js → runtime-capabilities-store-BNM5Ug-5.js} +1 -1
  90. package/web/assets/{safe-mode-instance-_WZgKT1M.js → safe-mode-instance-DnTP7EUr.js} +1 -1
  91. package/web/assets/safe-mode-sentinel-DOhqH4gj.js +1 -0
  92. package/web/assets/select-Bbk9bmXO.js +1 -0
  93. package/web/assets/send-Cj-W03w_.js +1 -0
  94. package/web/assets/{session-change-summary-api-DENj-A9c.js → session-change-summary-api-DMTwGz7o.js} +1 -1
  95. package/web/assets/{session-home-D1MkpdBS.js → session-home-DUpZt2dn.js} +1 -1
  96. package/web/assets/session-list-BRMu9JWa.js +1 -0
  97. package/web/assets/{session-organization-api-Cm9HoIme.js → session-organization-api-BGyp66Uv.js} +1 -1
  98. package/web/assets/{session-scope-BnKeB5vZ.js → session-scope-DZITSvZr.js} +1 -1
  99. package/web/assets/{session-tree-actions-DhF8lJLn.js → session-tree-actions-CRWyFqAD.js} +1 -1
  100. package/web/assets/{session-tree-summary-DEJ52bdp.js → session-tree-summary-HTmAo_9V.js} +1 -1
  101. package/web/assets/{shortcuts-DnykOp5e.js → shortcuts-D72gQCwH.js} +1 -1
  102. package/web/assets/side-chat-context-D1hZOT7g.js +7 -0
  103. package/web/assets/{sidebar-bemTfe07.js → sidebar-sj8X80Y9.js} +1 -1
  104. package/web/assets/{sidebar-store-Be8dU3KV.js → sidebar-store-CXZ7QrOr.js} +1 -1
  105. package/web/assets/slider-De8rWVNs.js +1 -0
  106. package/web/assets/sliders-horizontal-Dryf1XyC.js +1 -0
  107. package/web/assets/{speech-session-4UWWW7HR.js → speech-session-D2GQEOAL.js} +1 -1
  108. package/web/assets/{startup-queries-iq2o5pqJ.js → startup-queries-CuEXV1Zu.js} +1 -1
  109. package/web/assets/{storage-8QW6lXuT.js → storage-DtvZ_lEu.js} +1 -1
  110. package/web/assets/tool-labels-Bexnwp5q.js +1 -0
  111. package/web/assets/undo-2-C-xQ0UVT.js +1 -0
  112. package/web/assets/{use-i18n-DCxQRXLH.js → use-i18n-_vdxObu5.js} +1 -1
  113. package/web/assets/{use-open-bot-BTTe7141.js → use-open-bot-BTxzOAbZ.js} +1 -1
  114. package/web/assets/{use-studio-actions-CvTVL6vy.js → use-studio-actions-CbMHRZpd.js} +1 -1
  115. package/web/assets/{useCatalogProjects-D0_Xilel.js → useCatalogProjects-BEkCpADy.js} +1 -1
  116. package/web/assets/{useNewProjectPicker-C3dVgDqI.js → useNewProjectPicker-CUtLjwYE.js} +2 -2
  117. package/web/assets/{useNow-BrhALV5l.js → useNow-eQeBCqQk.js} +1 -1
  118. package/web/assets/{usePhoneShell-BleJZMk4.js → usePhoneShell-DZHZWXnN.js} +1 -1
  119. package/web/assets/{useSessionListQuery-CSTrzBD6.js → useSessionListQuery-BoUzmjZC.js} +1 -1
  120. package/web/assets/{useSessionRowActions-CBOzJhLW.js → useSessionRowActions-DCqDrGZY.js} +1 -1
  121. package/web/assets/{useSidebarModel-AYsswvjm.js → useSidebarModel-CZAfH4Fa.js} +1 -1
  122. package/web/assets/{web-preview-B9ooQu6f.js → web-preview-XrRFo42l.js} +1 -1
  123. package/web/assets/{web-preview-events-DZb37WWK.js → web-preview-events-Ba6duwGi.js} +1 -1
  124. package/web/assets/workflow-messages-Cc4pX_oo.js +1 -0
  125. package/web/assets/{workspace-order-store-CQ4SHO-9.js → workspace-order-store-Ao4OZ13V.js} +1 -1
  126. package/web/index.html +2 -2
  127. package/web/assets/ChannelsPage-LM4bpKzy.js +0 -1
  128. package/web/assets/ChatHistoryPage-DcjG1hoQ.js +0 -1
  129. package/web/assets/ChatPage-HBq1cr2I.js +0 -553
  130. package/web/assets/ConfigPage-Bcjc5mbO.js +0 -5
  131. package/web/assets/FeaturePage-DGauTCbU.js +0 -1
  132. package/web/assets/FocusRuntimeControls-Bgq7LvMl.js +0 -1
  133. package/web/assets/MemoryPage-BeI2YTUn.js +0 -1
  134. package/web/assets/SchedulesPage-C3TpSm9t.js +0 -1
  135. package/web/assets/SessionContextPanel-DoS-Xqny.js +0 -2
  136. package/web/assets/SessionInspector-GXGZ9n87.js +0 -1
  137. package/web/assets/WorkflowsPage-o4p12fMI.js +0 -1
  138. package/web/assets/bots-store-CeTfxdyY.js +0 -1
  139. package/web/assets/dist-V8chnW6-.js +0 -1
  140. package/web/assets/i18n-YQ8mc9k7.js +0 -1
  141. package/web/assets/index-DJA4qaOu.css +0 -2
  142. package/web/assets/index-DjSjahBi.js +0 -2
  143. package/web/assets/mount-app-DAxz1ll-.js +0 -9
  144. package/web/assets/placements-BuU0Zuqy.js +0 -2
  145. package/web/assets/public-BVuJa7Dh.js +0 -3
  146. package/web/assets/public-diff-CCVYk91T.js +0 -1
  147. package/web/assets/public-events-CVn8fEHx.js +0 -1
  148. package/web/assets/safe-mode-sentinel-CVhmZl77.js +0 -1
  149. package/web/assets/select-DD_WO-gs.js +0 -1
  150. package/web/assets/send-QxBfLFo-.js +0 -1
  151. package/web/assets/session-list-BeyOEzyU.js +0 -1
  152. package/web/assets/side-chat-context-C2SzUmd5.js +0 -7
  153. package/web/assets/slider-DTmAZl-R.js +0 -1
  154. package/web/assets/tool-labels-ghvpPFmc.js +0 -1
  155. package/web/assets/workflow-messages-Cj35aJZc.js +0 -1
  156. package/web/memory-galaxy-background.webp +0 -0
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-app-DAxz1ll-.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CSN_DGvx.js","assets/vendor-react-DwNgTV1j.js","assets/vendor-ui-DvrYggeS.js","assets/routes-DIeaqWVc.js","assets/i18n-YQ8mc9k7.js","assets/storage-8QW6lXuT.js","assets/use-i18n-DCxQRXLH.js","assets/vendor-state-GkUciC5H.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/startup-queries-iq2o5pqJ.js","assets/mutation-CEbxdVYy.js","assets/api-BmSvZCuH.js","assets/abort-signal-f4JsiYKX.js","assets/runtime-capabilities-CHYOF_hE.js","assets/runtime-capabilities-store-CTtXyNjK.js","assets/use-mobile-C2tPBAza.js","assets/client-store-Dif482Kx.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/circle-check-iEdCm3Pw.js","assets/settings-navigation-DiP_AM1C.js","assets/bell-BjONAtgH.js","assets/bot-B3TaBp_T.js","assets/info-DATxy0fb.js","assets/monitor-ORxecA9m.js","assets/refresh-cw-TbWxTY4K.js","assets/list-T5PqlpS2.js","assets/search-D0mqDaf_.js","assets/settings-QX0oWnVK.js","assets/square-pen-hYbjKh6A.js","assets/triangle-alert-CE1q54ci.js","assets/x-07u4-129.js","assets/more-pages-D_PnxLN0.js","assets/dist-41X0pdUs.js","assets/dist-BsRXXcSL.js","assets/dist-BiRPwy4W.js","assets/dist-DzGQ7sLi.js","assets/es2015-DTZdOI9P.js","assets/tooltip-D4MFbqcG.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/utils-C8uzG5AZ.js","assets/button-CCcCN8tE.js","assets/kbd-CAufZTkl.js","assets/events-C7sXXop4.js","assets/shortcuts-DnykOp5e.js","assets/sidebar-store-Be8dU3KV.js","assets/dialog-DFcH7POi.js","assets/dist-BHkR6BLP.js","assets/back-navigation-CK7X_5Bc.js","assets/route-context-DvWDul4T.js","assets/new-task-DG4I6cda.js","assets/shortcut-aria-jHRmld9z.js","assets/sidebar-commands-ZA1UOA_F.js","assets/app-primitives-Drz_SjnR.js","assets/switch-D_G8wFhs.js","assets/tabs-DsgBuvJv.js","assets/dist-BaBySQmo.js","assets/badge-CWB3lj2H.js","assets/card-C3A0b5KR.js","assets/web-preview-B9ooQu6f.js","assets/public-events-CVn8fEHx.js","assets/terminal-context-aIsIJPn8.js","assets/BrandLogo-k3CvJjd4.js","assets/web-preview-events-DZb37WWK.js","assets/app-update-DhpOY37a.js","assets/browser-notifications-DBS0oXqN.js","assets/navigation-DkcKi1_5.js"])))=>i.map(i=>d[i]);
2
- import{h as e}from"./vendor-router-CSN_DGvx.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var t=Object.freeze([`pisper-ui`,`pisper-sidebar`,`pisper-notification-sounds`,`pisper-session-context-layout`,`pisper-session-inspector`,`pisper-composer-toolbar`,`pisper-zcode-composer-toolbar`,`pisper-workspace-order`,`pisper-registered-projects`,`pisper-board-view`,`pisper-launch-defaults`,`pisper-floating-widgets`,`pisper-floating-placement`,`pisper-components-safe-mode`,`pisper-language`,`pisper-shortcuts`,`pisper-board-shortcuts`,`pisper-active-session`,`pisper-last-session`,`pisper-mobile-session-tabs`,`pisper-terminal-panel`,`pisper-model-onboarding-v1-dismissed`,`pisper.config.manageConnectionsOpen`,`pisper.config.visualConnectionsOpen`,`pisper-web-desktop-pet-position`]),n=new Set(t),r=`pisper-chat-layout`,i=524288,a=class extends Error{constructor(){super(`browser_preferences_invalid`),this.code=`browser_preferences_invalid`,this.statusCode=400}};function o(e){if(!e||typeof e!=`object`||Array.isArray(e))throw new a;let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new a;return e}function s(e){let r=o(e),s=Object.entries(r);if(s.length>t.length)throw new a;let c=Object.create(null),l=0;for(let[e,t]of s){if(!n.has(e)||t!==null&&typeof t!=`string`)throw new a;if(typeof t==`string`){let e=new TextEncoder().encode(t).byteLength;if(e>i||(l+=e,l>2097152))throw new a}c[e]=t}return c}function c(e,t,n=!1){if(e===void 0)return{};let r=o(e);if(n&&Object.keys(r).length!==Object.keys(t).length)throw new a;let i=Object.create(null);for(let[e,n]of Object.entries(r)){if(!Object.hasOwn(t,e)||typeof n!=`number`||!Number.isSafeInteger(n)||n<=0)throw new a;i[e]=n}return i}function l(e){let t=o(e);if(Object.keys(t).some(e=>![`version`,`values`,`revisions`].includes(e))||t.version!==1)throw new a;let n={...o(t.values)};delete n[r];let i=t.revisions===void 0?void 0:{...o(t.revisions)};i&&delete i[r];let l=s(n);return{version:1,values:l,revisions:c(i,l)}}var u=`/api/local/browser-preferences`,d=`pisper.browserPreferences.pending`,f=new Set(t),p=new Map,m=null,h=!1,g=null,_=!1,v=0;function y(e){if(!f.has(e))throw Error(`Page state key is not registered`)}function b(){try{let e=JSON.parse(window.sessionStorage.getItem(d)||`{}`);return!e||typeof e!=`object`||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(([e,t])=>f.has(e)&&typeof t==`object`&&!!t&&`value`in t&&(t.value===null||typeof t.value==`string`)&&`revision`in t&&Number.isSafeInteger(t.revision)&&t.revision>0))}catch{return{}}}function x(e){try{Object.keys(e).length?window.sessionStorage.setItem(d,JSON.stringify(e)):window.sessionStorage.removeItem(d)}catch{}}function S(){return v=Math.max(v+1,Date.now()*1e3),v}function C(e,t){let n={value:t,revision:S()};return x({...b(),[e]:n}),n}function w(e){let t=b();for(let[n,r]of e)t[n]?.revision===r.revision&&delete t[n];x(t)}function T(e){return{updates:Object.fromEntries([...e].map(([e,t])=>[e,t.value])),revisions:Object.fromEntries([...e].map(([e,t])=>[e,t.revision]))}}async function E(e){let t=new AbortController,n=setTimeout(()=>t.abort(),3e3);try{if(!(await window.fetch(u,{method:`PUT`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:JSON.stringify(T(e)),signal:t.signal})).ok)throw Error(`Browser preferences could not be stored`)}finally{clearTimeout(n)}}function D(){g===null&&(g=window.setTimeout(()=>{g=null,O()},2e3))}async function O(){if(!h){for(h=!0;p.size;){let e=new Map(p);p.clear(),m=e;try{await E(e),w(e)}catch{for(let[t,n]of e)p.has(t)||p.set(t,n);m=null,D();break}m=null}h=!1}}function k(e,t){f.has(e)&&_&&(p.set(e,t),O())}function A(){if(!_)return;let e=new Map(m||[]);for(let[t,n]of p)(e.get(t)?.revision||0)<n.revision&&e.set(t,n);if(!e.size)return;let t=new Blob([JSON.stringify(T(e))],{type:`application/json`});navigator.sendBeacon?.(u,t)||window.fetch(u,{method:`POST`,credentials:`same-origin`,body:t,keepalive:!0}).catch(()=>{})}var j={getItem:e=>(y(e),window.localStorage.getItem(e)),setItem:(e,t)=>{y(e),window.localStorage.setItem(e,t),k(e,C(e,t))},removeItem:e=>{y(e),window.localStorage.removeItem(e),k(e,C(e,null))}};async function M(){let e;try{e=window.localStorage}catch{return}let n=new AbortController,r=setTimeout(()=>n.abort(),3e3);try{let r=await window.fetch(u,{credentials:`same-origin`,cache:`no-store`,signal:n.signal});if(r.ok){let n=l(await r.json());_=!0;let i=b(),a=new Map,o=new Map;for(let r of t){let t=n.revisions[r]||0;v=Math.max(v,t);let s=i[r];if(s&&s.revision>t){v=Math.max(v,s.revision),s.value===null?e.removeItem(r):e.setItem(r,s.value),o.set(r,s);continue}if(s&&delete i[r],Object.hasOwn(n.values,r)){let t=n.values[r];t===null?e.removeItem(r):e.setItem(r,t)}else{let t=e.getItem(r);if(t!==null){let e={value:t,revision:S()};i[r]=e,a.set(r,e)}}}e.removeItem(`pisper-chat-layout`),x(i);for(let[e,t]of o)k(e,t);for(let[e,t]of a)p.set(e,t);a.size&&O()}}catch{}finally{clearTimeout(r)}window.addEventListener(`pagehide`,A),window.addEventListener(`online`,()=>void O())}M().then(()=>e(()=>import(`./mount-app-DAxz1ll-.js`),__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,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69])));export{j as t};
@@ -1,9 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MobileNavigation-IZrksubf.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-DCxQRXLH.js","assets/i18n-YQ8mc9k7.js","assets/vendor-router-CSN_DGvx.js","assets/index-DjSjahBi.js","assets/index-DJA4qaOu.css","assets/storage-8QW6lXuT.js","assets/vendor-state-GkUciC5H.js","assets/runtime-capabilities-store-CTtXyNjK.js","assets/api-BmSvZCuH.js","assets/abort-signal-f4JsiYKX.js","assets/runtime-capabilities-CHYOF_hE.js","assets/chevron-left-BAtyp3_6.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/chevron-right-C3t2Rckj.js","assets/settings-navigation-DiP_AM1C.js","assets/bell-BjONAtgH.js","assets/bot-B3TaBp_T.js","assets/info-DATxy0fb.js","assets/monitor-ORxecA9m.js","assets/refresh-cw-TbWxTY4K.js","assets/DesktopWindowControls-BWe5YIjj.js","assets/minus-BuutOHSj.js","assets/square-bHHVTT3G.js","assets/x-07u4-129.js","assets/FloatingWidgets-DgIJkrEC.js","assets/routes-DIeaqWVc.js","assets/placements-BuU0Zuqy.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/component-changes-Q9Bf64Ob.js","assets/session-scope-BnKeB5vZ.js","assets/session-board-status-D2lpFPiI.js","assets/safe-mode-sentinel-CVhmZl77.js","assets/usePhoneShell-BleJZMk4.js","assets/use-mobile-C2tPBAza.js","assets/client-store-Dif482Kx.js","assets/AppOverlays-DhOsSE6q.js","assets/startup-queries-iq2o5pqJ.js","assets/mutation-CEbxdVYy.js","assets/circle-alert-DCChabnT.js","assets/loader-circle-BOwQzHB-.js","assets/message-square-SKjZyY3v.js","assets/plus-fQbSqB1n.js","assets/search-D0mqDaf_.js","assets/square-terminal-BVG6cUT1.js","assets/tag-CqkeJlBf.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/kbd-CAufZTkl.js","assets/events-C7sXXop4.js","assets/shortcuts-DnykOp5e.js","assets/chat-api-DHqVwcpJ.js","assets/format-DMJQzoZ7.js","assets/dialog-DFcH7POi.js","assets/dist-BHkR6BLP.js","assets/dist-41X0pdUs.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/button-CCcCN8tE.js","assets/useOverlayFocusReturn-NkxBSSjb.js","assets/palette-navigation-HbVGltCo.js","assets/blocks-Olsdp5Lp.js","assets/brain-qxhnKqYP.js","assets/calendar-clock-VIxTaqqy.js","assets/folder-open-FIShC5Qk.js","assets/list-T5PqlpS2.js","assets/plug-BsIeHRwC.js","assets/radio-tower-jGQwrFWB.js","assets/rotate-ccw-clock-CO6Bw-sF.js","assets/server-BgNvmqwJ.js","assets/settings-QX0oWnVK.js","assets/sparkles-S_eeuqn9.js","assets/workflow-Bg94dy8I.js","assets/AppDialog-BcXOXBcR.js","assets/label-CVWjEcfV.js","assets/input-CPw-zkYh.js","assets/WebDesktopPet-CJtB44aG.js","assets/public-components-B6uxO_ZB.js","assets/arrow-right-DqLOhpA2.js","assets/download-BCfIiuaL.js","assets/key-round-C29uZbsf.js","assets/config-search-CKpXm_hp.js","assets/BrandLogo-k3CvJjd4.js","assets/sidebar-bemTfe07.js","assets/pin-CU0FG0lI.js","assets/sidebar-store-Be8dU3KV.js","assets/useSessionListQuery-CSTrzBD6.js","assets/session-organization-api-Cm9HoIme.js","assets/session-workspaces-Csgpuzxd.js","assets/session-questions-Cf-1g85h.js","assets/useNow-BrhALV5l.js","assets/card-presentation-1oph2b8P.js","assets/useSidebarModel-AYsswvjm.js","assets/StatusGlyph-1KgitlUg.js","assets/useSessionRowActions-CBOzJhLW.js","assets/ellipsis-CfGKfbq6.js","assets/dropdown-menu-Ds0gD8S8.js","assets/check-2vYc6QaP.js","assets/dist-DzGQ7sLi.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/dist-BaBySQmo.js","assets/session-home-D1MkpdBS.js","assets/motion-DTR4ZVle.js","assets/BotAvatar-CNL-APwP.js","assets/shortcut-aria-jHRmld9z.js","assets/sidebar-commands-ZA1UOA_F.js","assets/public-sidebar-PhHPuas_.js","assets/use-open-bot-BTTe7141.js","assets/WorkspacePicker-C7hhcfZV.js","assets/triangle-alert-CE1q54ci.js","assets/alert-firawb0H.js","assets/textarea-DmATpOqT.js","assets/field-DoLEb0np.js","assets/separator-BPh_qxvc.js","assets/bots-store-CeTfxdyY.js","assets/public-flags-KylDNCsK.js","assets/public-events-CVn8fEHx.js","assets/PhoneTopBar-Dz94PR8O.js","assets/PhoneMenuButton-Bbna_Bcf.js","assets/public-D1nVPEiV.js","assets/chevron-down-CxtxIjiP.js","assets/focus-session-composer-bits-D2XiGLcj.js","assets/arrow-up-DST6-qVQ.js","assets/braces-DQcXLGFF.js","assets/pencil-U08v_vV9.js","assets/wrench-6pg6_bqI.js","assets/run-activity-CwfO0cui.js","assets/workspace-order-store-CQ4SHO-9.js","assets/useNewProjectPicker-C3dVgDqI.js","assets/FocusRuntimeControls-Bgq7LvMl.js","assets/dist-V8chnW6-.js","assets/popover-CXB2yzW6.js","assets/slider-DTmAZl-R.js","assets/sheet-BTaIEX4w.js","assets/input-group-h8z63MzW.js","assets/model-display-kDwvtxrW.js","assets/session-change-summary-api-DENj-A9c.js","assets/folder-paths-CsQLylLL.js","assets/pick-system-directory-CQS5pqM-.js","assets/board-projects-C7DazgZG.js","assets/square-pen-hYbjKh6A.js","assets/PhoneDrawer-Dfmmixh5.js","assets/SidebarUpdateStatus-phIx4K_T.js","assets/external-link-CEQqPcqc.js","assets/rocket-BgLSjoHY.js","assets/SettingsSidebar-a9IEYCfr.js","assets/arrow-left-B8oVrQ2S.js","assets/back-navigation-CK7X_5Bc.js","assets/ShortcutHelpDialog-B1RT_EMe.js","assets/ShortcutKeys-DIEI9JQZ.js","assets/PageHeader-D8QTuWd6.js","assets/more-pages-D_PnxLN0.js","assets/TerminalPanel-C0U35k57.js","assets/terminal-context-aIsIJPn8.js","assets/TaskTerminalView-D2UVtmT1.js","assets/PageState-Cz6vFMXv.js","assets/AppSelect-BD6RAaJ5.js","assets/select-DD_WO-gs.js","assets/chevron-up-D_ZcXjqr.js","assets/dist-BiRPwy4W.js","assets/TaskTerminalView-BrP-ENHg.css","assets/MobileViewportStabilizer-uKI4Zp7f.js","assets/session-tree-actions-DhF8lJLn.js","assets/session-tree-summary-DEJ52bdp.js","assets/BoardPage-C81aOK4p.js","assets/arrow-down-CDGua-ue.js","assets/corner-down-right--hxi-Ihy.js","assets/useCatalogProjects-D0_Xilel.js","assets/rotate-ccw-C0v8V77_.js","assets/trash-2-CNrPOoPR.js","assets/brand-DIEc3fK8.js","assets/segmented-control-xkrEOP_d.js","assets/tooltip-D4MFbqcG.js","assets/esm-DCV8yILT.js","assets/new-task-DG4I6cda.js","assets/ChatPage-HBq1cr2I.js","assets/permission-rules-api-D1Tbe4E9.js","assets/session-list-BeyOEzyU.js","assets/circle-check-iEdCm3Pw.js","assets/image-plus-D7bzZog0.js","assets/GitDiffViewer-CypHOHdP.js","assets/file-Bllajneu.js","assets/side-chat-context-C2SzUmd5.js","assets/copy-DHmIFc52.js","assets/eye-uWAPXNzJ.js","assets/shield-alert-oZqX6MNu.js","assets/shield-check-Gvek4RJ7.js","assets/vendor-motion-DSW3wzXK.js","assets/MarkdownMessage-CuaozZah.js","assets/vendor-markdown-plugins-CT5L3KA9.js","assets/vendor-shiki-runtime-DM7fm4Bl.js","assets/vendor-markdown-plugins-DEcVZfaU.css","assets/vendor-markdown-CT6Z4fh8.js","assets/route-context-DvWDul4T.js","assets/HoldToConfirmButton-BxdJ7icc.js","assets/card-C3A0b5KR.js","assets/collapsible-Dcoy-qnz.js","assets/dist-DUSSw9eQ.js","assets/FileAttachmentPreview-IZzA3f8k.js","assets/tabs-DsgBuvJv.js","assets/git-branch-N7LGjtzt.js","assets/link-2-mgasYn21.js","assets/panel-right-BSUtqUd8.js","assets/paperclip-BCXrwYpb.js","assets/play-DNDjDNGn.js","assets/checkbox-BrEHgFV0.js","assets/progress-5odAz3B9.js","assets/switch-D_G8wFhs.js","assets/app-primitives-Drz_SjnR.js","assets/badge-CWB3lj2H.js","assets/web-preview-B9ooQu6f.js","assets/tool-labels-ghvpPFmc.js","assets/speech-session-4UWWW7HR.js","assets/web-preview-events-DZb37WWK.js","assets/SessionShell-BqNSjTbQ.js","assets/SessionHome-047YRkeb.js","assets/MorePage-DObfXE0e.js","assets/app-window-CPNdvYNt.js","assets/image-BY_c3FYU.js","assets/monitor-smartphone-B1gIjItA.js","assets/ChatHistoryPage-DcjG1hoQ.js","assets/FeaturePage-DGauTCbU.js","assets/AssetsPage-7Fuwati9.js","assets/queryOptions-Dfvzj6n2.js","assets/mobile-runtime-recovery-tbTyacip.js","assets/ChannelsPage-LM4bpKzy.js","assets/send-QxBfLFo-.js","assets/public-BVuJa7Dh.js","assets/accordion-CiJMkjqX.js","assets/SchedulesPage-C3TpSm9t.js","assets/ConfigPage-Bcjc5mbO.js","assets/arrow-up-right-B6l8qFZz.js","assets/code-xml-BrUXrBax.js","assets/zap-DZHw5afO.js","assets/app-update-DhpOY37a.js","assets/browser-notifications-DBS0oXqN.js","assets/ChatAppearancePage-DQr-uhHb.js","assets/PluginsPage-0rmSVMfr.js","assets/earth-Ddy13fHh.js","assets/file-code-corner-BnE1ljT0.js","assets/package-BOmkLaKS.js","assets/save-CHBB52P8.js","assets/MemoryPage-BeI2YTUn.js","assets/McpPage-BbmxMKuy.js","assets/SkillsPage-CZuR-0QX.js","assets/public-BVKkvQiF.js","assets/settings-2-CXJjXJS9.js","assets/use-studio-actions-CvTVL6vy.js","assets/safe-mode-instance-_WZgKT1M.js","assets/PageFrame-DNwGZ-Dz.js","assets/WorkflowsPage-o4p12fMI.js","assets/grip-vertical-B__LYT0s.js","assets/pause-CYWpPg1R.js","assets/vendor-xyflow-hxQFvEHK.js","assets/vendor-xyflow-DLioOiRN.css","assets/navigation-DkcKi1_5.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{a as t,d as n,f as r,h as i,i as a,l as o,o as s,p as c,r as l,s as u,t as d,u as f}from"./vendor-router-CSN_DGvx.js";import{t as p}from"./index-DjSjahBi.js";import{i as m,n as h,r as g,t as _}from"./vendor-react-DwNgTV1j.js";import{t as v}from"./vendor-ui-DvrYggeS.js";import{a as y,c as b,d as x,f as S,i as ee,l as C,n as w,o as te,r as T,s as E,t as ne,u as re}from"./routes-DIeaqWVc.js";import{a as D,c as ie,i as ae,l as oe,o as se,r as O,s as ce,t as k}from"./i18n-YQ8mc9k7.js";import{n as le,r as A,t as j}from"./use-i18n-DCxQRXLH.js";import{t as M}from"./storage-8QW6lXuT.js";import{n as ue,t as de}from"./useQuery-DdcpUQhO.js";import{a as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./startup-queries-iq2o5pqJ.js";import{s as ye,t as be}from"./api-BmSvZCuH.js";import{a as xe,i as Se,r as Ce}from"./runtime-capabilities-CHYOF_hE.js";import{t as we}from"./runtime-capabilities-store-CTtXyNjK.js";import{i as N,n as Te,r as Ee}from"./use-mobile-C2tPBAza.js";import{t as De}from"./client-store-Dif482Kx.js";import{t as Oe}from"./createLucideIcon-Cd-3GVxJ.js";import{t as ke}from"./circle-check-iEdCm3Pw.js";import{a as Ae,i as je,n as Me,o as Ne,t as Pe}from"./settings-navigation-DiP_AM1C.js";import{t as Fe}from"./info-DATxy0fb.js";import{n as Ie,t as Le}from"./list-T5PqlpS2.js";import{t as Re}from"./search-D0mqDaf_.js";import{t as ze}from"./settings-QX0oWnVK.js";import{t as Be}from"./square-pen-hYbjKh6A.js";import{t as Ve}from"./triangle-alert-CE1q54ci.js";import{t as He}from"./x-07u4-129.js";import{i as Ue,n as We,r as Ge,t as Ke}from"./more-pages-D_PnxLN0.js";import{a as qe}from"./dist-41X0pdUs.js";import{a as Je,c as P,i as Ye,l as Xe,o as F,r as Ze,s as Qe,t as $e}from"./dist-BsRXXcSL.js";import{r as et}from"./dist-BiRPwy4W.js";import{n as tt}from"./dist-DzGQ7sLi.js";import{c as nt,i as rt,o as it}from"./es2015-DTZdOI9P.js";import{r as at}from"./tooltip-D4MFbqcG.js";import{t as I}from"./utils-C8uzG5AZ.js";import{n as ot,t as L}from"./button-CCcCN8tE.js";import{t as st}from"./kbd-CAufZTkl.js";import{_ as ct,h as lt,n as ut,t as dt,v as ft,y as pt}from"./events-C7sXXop4.js";import{a as mt,c as ht,i as gt,n as _t,r as R,s as z}from"./shortcuts-DnykOp5e.js";import{t as B}from"./sidebar-store-Be8dU3KV.js";import{a as vt,i as yt,l as V,o as bt,s as xt,t as St}from"./dialog-DFcH7POi.js";import{i as H,t as U}from"./back-navigation-CK7X_5Bc.js";import{t as Ct}from"./route-context-DvWDul4T.js";import{t as wt}from"./new-task-DG4I6cda.js";import{t as W}from"./shortcut-aria-jHRmld9z.js";import{n as Tt}from"./sidebar-commands-ZA1UOA_F.js";import{r as Et}from"./app-primitives-Drz_SjnR.js";import{n as Dt,r as Ot}from"./web-preview-B9ooQu6f.js";import{t as kt}from"./BrandLogo-k3CvJjd4.js";import{r as At}from"./web-preview-events-DZb37WWK.js";import{C as jt,S as Mt,_ as G,a as Nt,b as Pt,c as Ft,d as It,f as Lt,h as K,m as Rt,n as q,p as J,r as zt,u as Bt}from"./app-update-DhpOY37a.js";import{i as Vt}from"./browser-notifications-DBS0oXqN.js";import{n as Ht,t as Ut}from"./navigation-DkcKi1_5.js";var Y=e(m());function X({i18n:e,defaultNS:t,children:n}){let r=(0,Y.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,Y.createElement)(A.Provider,{value:r},n)}var Wt=Oe(`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`}]]),Gt=Oe(`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`}]]),Kt=e(h(),1),Z=g(),qt=Object.defineProperty,Q=(e,t)=>qt(e,`name`,{value:t,configurable:!0}),Jt=`ToastProvider`,[Yt,Xt,Zt]=tt(`Toast`),[Qt,$t]=Qe(`Toast`,[Zt]),[en,tn]=Qt(Jt),nn=Q(e=>{let{__scopeToast:t,label:n=`Notification`,duration:r=5e3,swipeDirection:i=`right`,swipeThreshold:a=50,announcerContainer:o,children:s}=e,[c,l]=Y.useState(null),[u,d]=Y.useState(0),f=Y.useRef(!1);return n.trim()||console.error(`Invalid prop \`label\` supplied to \`${Jt}\`. Expected non-empty \`string\`.`),(0,Z.jsx)(Yt.Provider,{scope:t,children:(0,Z.jsx)(en,{scope:t,label:n,duration:r,swipeDirection:i,swipeThreshold:a,toastCount:u,viewport:c,onViewportChange:l,onToastAdd:Y.useCallback(()=>d(e=>e+1),[]),onToastRemove:Y.useCallback(()=>d(e=>e-1),[]),isClosePausedRef:f,announcerContainer:o,children:s})})},`ToastProvider`),rn=`ToastViewport`,an=[`F8`],on=`toast.viewportPause`,sn=`toast.viewportResume`,cn=Y.forwardRef(Q(function(e,t){let{__scopeToast:n,hotkey:r=an,label:i=`Notifications ({hotkey})`,...a}=e,o=tn(rn,n),s=Xt(n),c=Y.useRef(null),l=Y.useRef(null),u=Y.useRef(null),d=Y.useRef(null),f=qe(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;Y.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]),Y.useEffect(()=>{let e=c.current,t=d.current;if(m&&e&&t){let n=Q(()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(on);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},`handlePause`),r=Q(()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(sn);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=Y.useCallback(({tabbingDirection:e})=>{let t=s().map(t=>{let n=t.ref.current,r=[n,...Mn(n)];return e===`forwards`?r:r.reverse()});return(e===`forwards`?t.reverse():t).flat()},[s]);return Y.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)(it,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,Z.jsx)(un,{ref:l,onFocusFromOutsideViewport:()=>{Nn(h({tabbingDirection:`forwards`}))}}),(0,Z.jsx)(Yt.Slot,{scope:n,children:(0,Z.jsx)(P.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,Z.jsx)(un,{ref:u,onFocusFromOutsideViewport:()=>{Nn(h({tabbingDirection:`backwards`}))}})]})},`ToastViewport`)),ln=`ToastFocusProxy`,un=Y.forwardRef(Q(function(e,t){let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=tn(ln,n);return(0,Z.jsx)(et,{tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})},`ToastFocusProxy`)),dn=`Toast`,fn=`toast.swipeStart`,pn=`toast.swipeMove`,mn=`toast.swipeCancel`,hn=`toast.swipeEnd`,gn=Y.forwardRef(Q(function(e,t){let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s,c]=Ye({prop:r,defaultProp:i??!0,onChange:a,caller:dn});return(0,Z.jsx)(Ze,{present:n||s,children:(0,Z.jsx)(yn,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:$e(e.onPause),onResume:$e(e.onResume),onSwipeStart:F(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:F(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:F(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:F(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`)),[_n,vn]=Qt(dn,{onClose(){}}),yn=Y.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=tn(dn,n),g=Xt(n),[_,v]=Y.useState(null),y=qe(t,v),b=Y.useRef(null),x=Y.useRef(null),S=i||h.duration,ee=Y.useRef(0),C=Y.useRef(S),w=Y.useRef(0),{onToastAdd:te,onToastRemove:T}=h,E=$e(()=>{_?.contains(document.activeElement)&&h.viewport?.focus(),o()}),ne=Y.useCallback(e=>{!e||e===1/0||(window.clearTimeout(w.current),ee.current=new Date().getTime(),w.current=window.setTimeout(E,e))},[E]);Y.useEffect(()=>{let e=h.viewport;if(e){let t=Q(()=>{ne(C.current),l?.()},`handleResume`),n=Q(()=>{let e=new Date().getTime()-ee.current;C.current-=e,window.clearTimeout(w.current),c?.()},`handlePause`);return e.addEventListener(on,n),e.addEventListener(sn,t),()=>{e.removeEventListener(on,n),e.removeEventListener(sn,t)}}},[h.viewport,S,c,l,ne]),Y.useEffect(()=>{a&&!h.isClosePausedRef.current&&ne(S)},[a,S,h.isClosePausedRef,ne]),Y.useEffect(()=>()=>{window.clearTimeout(w.current)},[]),Y.useEffect(()=>(te(),()=>T()),[te,T]);let re=Y.useMemo(()=>_?Dn(_):null,[_]);return h.viewport?(0,Z.jsxs)(Z.Fragment,{children:[re&&(0,Z.jsx)(bn,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,children:re}),(0,Z.jsx)(_n,{scope:n,onClose:E,children:Kt.createPortal((0,Z.jsx)(Yt.ItemSlot,{scope:n,children:(0,Z.jsx)(nt,{asChild:!0,onEscapeKeyDown:F(s,e=>{g().some(t=>t.ref.current?.contains(e.target))||E()}),children:(0,Z.jsx)(P.li,{tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:y,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:F(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||E())}),onPointerDown:F(e.onPointerDown,e=>{e.button===0&&(b.current={x:e.clientX,y:e.clientY})}),onPointerMove:F(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,On(pn,d,f,{discrete:!1})):kn(l,h.swipeDirection,c)?(x.current=l,On(fn,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(b.current=null)}),onPointerUp:F(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};kn(t,h.swipeDirection,h.swipeThreshold)?On(hn,p,r,{discrete:!0}):On(mn,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null},`ToastImpl`)),bn=Q(e=>{let{__scopeToast:t,children:n,...r}=e,i=tn(dn,t),[a,o]=Y.useState(!1),[s,c]=Y.useState(!1);return An(()=>o(!0)),Y.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,Z.jsx)(rt,{asChild:!0,container:i.announcerContainer||void 0,children:(0,Z.jsx)(et,{...r,children:a&&(0,Z.jsxs)(Z.Fragment,{children:[i.label,` `,n]})})})},`ToastAnnounce`),xn=Y.forwardRef(Q(function(e,t){let{__scopeToast:n,...r}=e;return(0,Z.jsx)(P.div,{...r,ref:t})},`ToastDescription`)),Sn=`ToastAction`,Cn=Y.forwardRef(Q(function(e,t){let{altText:n,...r}=e;return n.trim()?(0,Z.jsx)(En,{altText:n,asChild:!0,children:(0,Z.jsx)(Tn,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${Sn}\`. Expected non-empty \`string\`.`),null)},`ToastAction`)),wn=`ToastClose`,Tn=Y.forwardRef(Q(function(e,t){let{__scopeToast:n,...r}=e,i=vn(wn,n);return(0,Z.jsx)(En,{asChild:!0,children:(0,Z.jsx)(P.button,{type:`button`,...r,ref:t,onClick:F(e.onClick,i.onClose)})})},`ToastClose`)),En=Y.forwardRef(Q(function(e,t){let{__scopeToast:n,altText:r,...i}=e;return(0,Z.jsx)(P.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})},`ToastAnnounceExclude`));function Dn(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),jn(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(...Dn(e))}}}),t}Q(Dn,`getAnnounceTextContent`);function On(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?Xe(i,a):i.dispatchEvent(a)}Q(On,`handleAndDispatchCustomEvent`);var kn=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 An(e=()=>{}){let t=$e(e);Je(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}Q(An,`useNextFrame`);function jn(e){return e.nodeType===e.ELEMENT_NODE}Q(jn,`isHTMLElement`);function Mn(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(Mn,`getTabbableCandidates`);function Nn(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}Q(Nn,`focusFirst`);var Pn=nn,Fn=cn,In=gn,Ln=xn,Rn=Cn,zn=Tn,Bn=_();function Vn({children:e}){let{i18n:t}=le(),n=oe(t.resolvedLanguage)?t.resolvedLanguage:k;return(0,Y.useEffect)(()=>{document.documentElement.lang=n;try{p.setItem(M.language,n)}catch{}window.pisperDesktop?.setLanguage?.(n)},[n]),e}function Hn({children:e}){return(0,Z.jsx)(X,{i18n:ie,children:(0,Z.jsx)(Vn,{children:e})})}function Un({children:e}){return(0,Y.useEffect)(()=>ge(window),[]),(0,Z.jsx)(ue,{client:fe,children:(0,Z.jsx)(Hn,{children:(0,Z.jsx)(at,{delayDuration:200,children:e})})})}function Wn(){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 Gn({onRouteBack:e}){let t=(0,Y.useRef)(e);return t.current=e,(0,Y.useEffect)(()=>{let e=new WeakSet,n=t=>{t.key===`Escape`&&Wn()&&e.add(t)},r=t=>{t.key!==`Escape`||t.defaultPrevented||t.isComposing||e.has(t)||U.dismiss()&&t.preventDefault()},i=()=>{let e=Wn(),n=new KeyboardEvent(`keydown`,{key:`Escape`,bubbles:!0,cancelable:!0});return H(n),(document.activeElement||document.body).dispatchEvent(n),e||n.defaultPrevented?!0:t.current?.()??!1},a=window;return a.__pisperRequestBack=i,window.addEventListener(`keydown`,n,!0),window.addEventListener(`keydown`,r),()=>{a.__pisperRequestBack===i&&delete a.__pisperRequestBack,window.removeEventListener(`keydown`,n,!0),window.removeEventListener(`keydown`,r)}},[]),null}function Kn(){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}}}Object.freeze([`session`,`board`,`more`,`settings`]);var qn=Object.freeze({board:`board`,more:`more`,settings:`config`});function Jn(e,t){return t?`settings`:e===`session`||e===`chat`?`session`:e===`board`?`board`:e===`components`||e===`more`||e===`config`||Ge.has(e)?`more`:null}function Yn({location:e,navigation:t}){return t.state!==`idle`&&t.location?.pathname||e.pathname}function Xn({location:e,navigation:t}){return C(Yn({location:e,navigation:t}))===`session`?null:t.state!==`idle`&&C(e.pathname)===`session`?{to:e.pathname+(e.search||``),replace:!0,state:e.state}:{to:`/`}}var Zn=/^\/components\/([^/]+)\/?$/;function Qn(e,t,n,{phone:r=!1,homeEntry:i=!1,canGoBack:a=!1}={}){return e===`session`?i||t===`/`||t===``?null:a?-1:null:e===`components`&&Zn.test(t)?`/components`:r&&n&&/^\/config\/[^/]+/.test(t)?ee:Jn(e,n)===`more`&&e!==`more`?`/more`:`/`}var $n=`flex w-full min-w-0 items-center gap-2.5 rounded-[var(--r-md)] px-2.5 text-base text-content transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus`,er=`grid size-8 flex-none place-items-center rounded-[var(--r-sm)] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus pointer-coarse:size-11`,tr=`grid size-10 place-items-center rounded-[var(--r-md)] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus pointer-coarse:size-11`,nr=`(max-width: 899px)`;function rr(e){let t=e.takeover,n=B(e=>e.collapsed)&&!t,r=B(e=>e.peeking),i=B(e=>e.setPeeking),a=(0,Y.useRef)(null),o=(0,Y.useRef)(null),s=N(nr),c=B(e=>e.enterNarrowRail),l=B(e=>e.leaveNarrowRail);(0,Y.useEffect)(()=>{s?c():l()},[s,c,l]);let u=(0,Y.useRef)(!1);return(0,Y.useLayoutEffect)(()=>{if(!u.current)return;let e=document.activeElement;e&&e!==document.body&&o.current?.contains(e)||o.current?.querySelector(`[data-sidebar-toggle]`)?.focus()},[n]),(0,Y.useEffect)(()=>{t&&r&&i(!1)},[r,i,t]),(0,Y.useEffect)(()=>{if(!n||!r)return;let e=e=>e instanceof Element&&!!(a.current?.contains(e)||e.closest(`[role="menu"], [role="dialog"], [data-radix-popper-content-wrapper]`)),t=t=>{e(t.target)||i(!1)},o=t=>{e(t.target)||i(!1)},s=t=>{t.key!==`Escape`||t.defaultPrevented||!e(t.target)||(t.preventDefault(),i(!1))};return document.addEventListener(`focusin`,t),document.addEventListener(`pointerdown`,o),document.addEventListener(`keydown`,s),()=>{document.removeEventListener(`focusin`,t),document.removeEventListener(`pointerdown`,o),document.removeEventListener(`keydown`,s)}},[n,r,i]),(0,Z.jsxs)(`div`,{ref:o,"data-shell-sidebar":t?`settings`:n?`rail`:`expanded`,"data-focus-region":`sidebar`,onFocus:()=>{u.current=!0},onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||(u.current=!1)},className:I(`relative z-20 flex h-full flex-none flex-col bg-sidebar transition-[width] duration-(--d-base) ease-out motion-reduce:transition-none`,n?`w-[60px]`:`w-[268px]`,`dark:border-r dark:border-stroke-soft`),children:[t??(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col animate-in fade-in duration-(--d-fast) motion-reduce:animate-none`,children:n?(0,Z.jsx)(sr,{...e}):(0,Z.jsx)(or,{...e})},n?`rail`:`expanded`),n&&r&&(0,Z.jsx)(`div`,{ref:a,"data-shell-sidebar-peek":!0,className:`absolute inset-y-0 left-0 z-40 flex w-[268px] flex-col bg-sidebar shadow-float`,children:(0,Z.jsx)(or,{...e,peek:!0})})]})}var ir={newTask:`primaryAction`,search:`commandPalette`,board:`openBoard`,features:`openMore`,settings:`openSettings`};function ar(){let{t:e}=j();return{newTask:e(`navigation:shell.newTask`),search:e(`navigation:sidebar.search`),board:e(`navigation:sidebar.allAgents`),features:e(`navigation:sidebar.features`),settings:e(`navigation:navigation.settings`)}}function or({active:e,onNewTask:t,onSearch:n,onOpenBoard:r,onOpenFeatures:i,onOpenSettings:a,content:o,update:s,peek:c=!1}){let{t:l}=j(),u=ar(),d=B(e=>e.toggleCollapsed),f=B(e=>e.setPeeking),p=ht(e=>e.bindings),m=p.toggleSidebar,h=z(`toggleSidebar`),g={newTask:z(`primaryAction`),search:z(`commandPalette`),board:z(`openBoard`),features:z(`openMore`),settings:z(`openSettings`)},_=l(c?`navigation:sidebar.expand`:`navigation:sidebar.collapse`),v=(t,n,r)=>{let i=t===`board`?u.board:t===`features`?u.features:u[t],a=g[t],o=t===e;return(0,Z.jsxs)(`button`,{type:`button`,"data-sidebar-entry":t,"aria-current":o?`page`:void 0,"aria-keyshortcuts":W(p[ir[t]]),className:I($n,`group/entry h-9 pointer-coarse:h-11`,o&&`bg-surface-active font-medium hover:bg-surface-active`),onClick:r,children:[(0,Z.jsx)(n,{className:`size-[18px] flex-none text-content-secondary`,strokeWidth:1.75,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:i}),a&&(0,Z.jsx)(st,{"aria-hidden":`true`,className:`border-transparent bg-transparent text-content-faint opacity-0 shadow-none transition-opacity duration-(--d-fast) group-hover/entry:opacity-100 group-focus-visible/entry:opacity-100 pointer-coarse:hidden`,children:a})]})};return(0,Z.jsxs)(`nav`,{"aria-label":l(`navigation:sidebar.label`),className:`flex min-h-0 flex-1 flex-col`,children:[(0,Z.jsxs)(`div`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center gap-2 pr-2.5 pl-4`,children:[(0,Z.jsx)(kt,{size:22}),(0,Z.jsx)(`span`,{className:`text-[15px] font-semibold tracking-[-.01em] text-content`,children:`Pisper`}),(0,Z.jsx)(`span`,{className:`flex-1`}),(0,Z.jsx)(`button`,{type:`button`,"data-sidebar-toggle":c?void 0:`collapse`,"aria-expanded":!c||void 0,className:er,"aria-label":_,"aria-keyshortcuts":c?void 0:W(m),title:!c&&h?`${_} (${h})`:_,onClick:()=>c?f(!1):d(),children:c?(0,Z.jsx)(Gt,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`}):(0,Z.jsx)(Wt,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})]}),(0,Z.jsxs)(`div`,{className:`flex flex-none flex-col gap-px px-2 pt-0.5 pb-1.5`,children:[v(`newTask`,Be,t),v(`search`,Re,n),v(`board`,Le,r),v(`features`,Ie,i)]}),(0,Z.jsx)(`div`,{"data-sidebar-scroll":!0,className:`min-h-0 flex-1 overflow-x-hidden overflow-y-auto overscroll-contain px-2 pt-1.5`,children:o}),(0,Z.jsxs)(`div`,{className:`flex flex-none items-center gap-1 p-2`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:v(`settings`,ze,a)}),s]})]})}function sr({active:e,onNewTask:t,onSearch:n,onOpenBoard:r,onOpenFeatures:i,onOpenSettings:a,railCounts:o,update:s}){let{t:c}=j(),l=ar(),u=B(e=>e.toggleCollapsed),d=ht(e=>e.bindings),f=d.toggleSidebar,p=z(`toggleSidebar`),m=c(`navigation:sidebar.expand`),h=(t,n,r)=>{let i=t===`board`?l.board:t===`features`?l.features:l[t],a=t===e;return(0,Z.jsx)(`button`,{type:`button`,"data-sidebar-entry":t,"aria-keyshortcuts":W(d[ir[t]]),"aria-label":i,"aria-current":a?`page`:void 0,title:i,className:I(tr,a&&`bg-surface-active text-content`),onClick:r,children:(0,Z.jsx)(n,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})};return(0,Z.jsxs)(`nav`,{"aria-label":c(`navigation:sidebar.labelCollapsed`),className:`flex min-h-0 flex-1 flex-col items-center gap-1 pb-2`,children:[(0,Z.jsx)(`div`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center`,children:(0,Z.jsx)(`button`,{type:`button`,"data-sidebar-toggle":`expand`,"aria-expanded":!1,className:tr,"aria-label":m,"aria-keyshortcuts":W(f),title:p?`${m} (${p})`:m,onClick:u,children:(0,Z.jsx)(Gt,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})}),h(`newTask`,Be,t),h(`search`,Re,n),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`my-1.5 h-px w-6 bg-stroke-strong`}),o,(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`my-1.5 h-px w-6 bg-stroke-strong`}),h(`board`,Le,r),h(`features`,Ie,i),(0,Z.jsx)(`span`,{className:`flex-1`}),s,h(`settings`,ze,a)]})}function cr({collapsed:e=!1}){let{t}=j();return e?(0,Z.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col items-center gap-1`,children:[(0,Z.jsx)(`span`,{className:`size-10 rounded-[var(--r-md)] bg-surface-hover`}),(0,Z.jsx)(`span`,{className:`size-10 rounded-[var(--r-md)] bg-surface-hover`})]}):(0,Z.jsx)(`div`,{role:`status`,"aria-busy":`true`,"aria-label":t(`navigation:sidebar.loading`),children:[60,44,70].map(e=>(0,Z.jsxs)(`div`,{"aria-hidden":`true`,className:`flex h-9 items-center gap-2.5 px-2.5`,children:[(0,Z.jsx)(`span`,{className:`size-4 rounded-full bg-surface-hover`}),(0,Z.jsx)(`span`,{className:`h-3 rounded-sm bg-surface-hover`,style:{width:`${e}%`}})]},e))})}var lr=`pisper-custom-accent-style`,ur=[`xs`,`sm`,`base`,`lg`,`xl`,`2xl`,`3xl`],dr=[12,13,14,16,20,24,28];function fr(e){let{uiFontSize:t}=Pt(typeof e==`number`?{uiFontSize:e}:{fontScale:e});return dr.map(e=>Math.round(e*t/14))}function pr(e,t,n=new Date().getHours()){return e===`dark`?!0:e===`light`?!1:e===`system`?t:n>=18||n<8}function mr(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=Pt(e.uiFontSize===void 0?{fontScale:e.fontScale,codeFontSize:e.codeFontSize}:e);t.style.setProperty(`--ui-font-size`,`${n.uiFontSize}px`),t.style.setProperty(`--font-code-size`,`${n.codeFontSize}px`),fr(n.uiFontSize).forEach((e,n)=>{t.style.setProperty(`--font-ui-${ur[n]}`,`${e}px`)});let r=e.accent===`custom`?jt(e.customAccent||``):null,i=document.getElementById(lr);r?(i||(i=document.createElement(`style`),i.id=lr,document.head.append(i)),i.textContent=Mt(r)):i?.remove()}function hr(e,t){if(!e)return``;let n=t?.sessions?.find(t=>t?.id===e);return n&&n.archived!==!0?e:``}function gr(){let e=o(),t=f();return(0,Y.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=Dt({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});if(!i)return;if(n.preventDefault(),n.stopPropagation(),x(e.pathname)){At(i);return}let a=hr(p.getItem(M.activeSession),fe.getQueryData(ve));if(!a){window.open(i,`_blank`,`noopener,noreferrer`);return}At(i),t(S(a))};return document.addEventListener(`click`,n,!0),()=>document.removeEventListener(`click`,n,!0)},[e.pathname,t]),null}function _r({blocked:e,onCommandPalette:t,onPrimary:n,onSearch:r,onToggleTerminal:i,onToggleSidebar:a,onAgentPanel:o,onPreviousAgent:s,onNextAgent:c,onSettings:l,onOpenSession:u,onOpenBoard:d,onOpenComponents:f,onOpenMore:p,onJumpToAttention:m,onSessionTree:h,onSideChat:g,onCycleFocusRegion:_,onShortcutHelp:v}){let y=ht(e=>e.bindings);return(0,Y.useLayoutEffect)(()=>{let b=b=>{if(e||mt(b)||gt(b)&&!b.key.startsWith(`Arrow`))return;let x;R(b,y.commandPalette)?x=t:R(b,y.primaryAction)?x=n:R(b,y.openSession)?x=u:R(b,y.openBoard)?x=d:R(b,y.openComponents)?x=f:R(b,y.openMore)?x=p:R(b,y.jumpToAttention)?x=m:R(b,y.sessionTree)?x=h:R(b,y.sideChat)?x=g:R(b,y.cycleFocusRegion)?x=_:R(b,y.toggleSidebar)?x=a:R(b,y.agentPanel)?x=o:R(b,y.previousAgent)?x=s:R(b,y.nextAgent)?x=c:R(b,y.toggleTerminal)?x=i:R(b,y.openSettings)?x=l:R(b,y.shortcutHelp)?x=v:!_t(b.target)&&R(b,y.focusSearch)&&(x=r),x&&(b.preventDefault(),x())};return window.addEventListener(`keydown`,b),()=>window.removeEventListener(`keydown`,b)},[y,e,o,t,_,m,c,d,f,p,u,s,n,r,h,l,v,g,i,a]),null}var vr=v(`group pointer-events-auto relative flex min-h-11 w-full items-center gap-2 overflow-hidden rounded-md border px-3.5 py-2.5 pr-10 text-[13px] leading-5 font-medium tracking-[0] shadow-float 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-stroke bg-popover text-foreground`}},defaultVariants:{tone:`success`}});function yr({className:e,tone:t,...n}){return(0,Z.jsx)(In,{"data-slot":`toast`,className:I(vr({tone:t}),e),...n})}function br({...e}){return(0,Z.jsx)(Pn,{"data-slot":`toast-provider`,...e})}function xr({className:e,...t}){return(0,Z.jsx)(Fn,{"data-slot":`toast-viewport`,className:I(`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 Sr({className:e,...t}){return(0,Z.jsx)(Ln,{"data-slot":`toast-description`,className:I(`min-w-0 flex-1 [overflow-wrap:anywhere]`,e),...t})}function Cr({className:e,...t}){return(0,Z.jsx)(zn,{"data-slot":`toast-close`,className:I(`absolute top-1/2 right-1.5 grid size-7 -translate-y-1/2 place-items-center rounded-sm text-current opacity-70 transition hover:bg-black/5 hover:opacity-100 dark:hover:bg-white/10`,e),...t})}var wr={success:ke,error:Ve,info:Fe};function Tr({message:e,tone:t,closeLabel:n,action:r,...i}){let a=wr[t];return(0,Z.jsxs)(yr,{tone:t,type:t===`error`?`foreground`:`background`,...i,children:[(0,Z.jsx)(a,{className:`size-[18px] shrink-0`}),(0,Z.jsx)(Sr,{children:e}),r&&(0,Z.jsx)(Rn,{altText:r.label,asChild:!0,children:(0,Z.jsx)(`button`,{type:`button`,className:`h-7 shrink-0 rounded-sm border border-current/30 px-2 text-xs font-semibold hover:bg-current/10`,onClick:r.onAction,children:r.label})}),(0,Z.jsx)(Cr,{"aria-label":n,title:n,children:(0,Z.jsx)(He,{className:`size-4`})})]})}function Er(){let{t:e}=j(),[t,n]=(0,Y.useState)(null),r=(0,Y.useRef)(null),i=(0,Y.useCallback)(e=>{r.current?.(e),r.current=null,n(null)},[]),a=(0,Y.useCallback)(e=>new Promise(t=>{r.current?.(null),r.current=t,n(e)}),[]),o=(0,Y.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,Y.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,Y.useCallback)(()=>i(null),[i]);return(0,Y.useEffect)(()=>()=>r.current?.(null),[]),{dialog:t,confirm:o,prompt:s,close:c,finish:i}}var Dr=15e3,Or=216e5,kr=new Set([`checking`,`downloading`,`downloaded`]);function Ar(e){return!kr.has(e)}function jr(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,Dr),o=t.setInterval(i,Or);return()=>{r=!0,t.clearTimeout(a),t.clearInterval(o)}}var Mr=new Set([`available`,`downloading`,`installed`,`error`]);function Nr(e,t){return t?.find(e=>e.component===`desktop`)?.currentVersion.trim()||e}function Pr(e){return e.filter(e=>e.size>0&&(Mr.has(e.state)||e.canInstall))}function Fr(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 Ir(e){let t=e.filter(e=>e.state===`available`||e.state===`downloading`).map(e=>Fr(e.notes)).filter((e,t,n)=>e&&n.indexOf(e)===t);return t.length?`## What's Changed\n\n${t.join(`
7
-
8
- `)}`:``}function Lr(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=Ir(e),l=Pr(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 Rr({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 zr=Object.freeze({desktop:!1,packaged:!1,version:`0.6.21`,platform:`browser`,arch:``,releasesUrl:q});function Br(){let e=window.pisperDesktop,t=e?void 0:window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke,[n,r]=(0,Y.useState)(zr),[i,a]=(0,Y.useState)({state:`idle`,checkedAt:null}),[o,s]=(0,Y.useState)([]),c=(0,Y.useRef)(i),l=(0,Y.useRef)(null),u=(0,Y.useRef)(!1),d=(0,Y.useRef)(!1),f=(0,Y.useCallback)(e=>{c.current=e,a(e)},[]),p=(0,Y.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=Lr(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 Rr({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,Y.useEffect)(()=>{let n=!0,i=()=>{},a=()=>{},o=()=>{i=jr(()=>{if(Ar(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`&&Ar(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(Lr(e)))}).catch(()=>{}),t.packaged&&o())}).catch(()=>{}),()=>{n=!1,i()}},[f,e,p,t]);let m=(0,Y.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=Lr(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(Lr(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,Y.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,Y.useCallback)(()=>e?.openUpdateLog?.(),[e]),_=(0,Y.useCallback)(()=>d.current&&t&&i.downloadUrl?t(`mobile_open_app_update`,{url:i.downloadUrl}):h(),[t,h,i.downloadUrl]),v=(0,Y.useCallback)(()=>_(),[_]);return{info:(0,Y.useMemo)(()=>({...n,version:n.desktop?Nr(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 Vr(e){return!!e.providers?.some(e=>e.configured&&e.models?.some(e=>e.kind===`chat`))}function Hr(e,t){return!t&&!Vr(e)}function Ur(){try{return JSON.parse(p.getItem(M.terminalPanel)||`{}`)}catch{return{}}}var Wr=()=>i(()=>import(`./MobileNavigation-IZrksubf.js`),__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])),Gr=(0,Y.lazy)(()=>Wr().then(e=>({default:e.MobileSettingsBack}))),Kr=(0,Y.lazy)(()=>Wr().then(e=>({default:e.MobileSettingsList}))),qr=(0,Y.lazy)(()=>i(()=>import(`./DesktopWindowControls-BWe5YIjj.js`).then(e=>({default:e.DesktopWindowControls})),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,24,15,25,26]))),Jr=(0,Y.lazy)(()=>i(()=>import(`./FloatingWidgets-DgIJkrEC.js`).then(e=>({default:e.FloatingWidgets})),__vite__mapDeps([27,1,5,2,6,7,28,29,4,8,3,9,30,31,32,10,11,12,13,33,34,35,36,37,38]))),Yr=(0,Y.lazy)(async()=>{let[{CommandPalette:e},{getNavigation:t}]=await Promise.all([i(()=>import(`./AppOverlays-DhOsSE6q.js`),__vite__mapDeps([39,1,2,3,4,5,6,7,8,9,30,31,40,41,11,12,13,10,15,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,26,57,58,59,60,61,62])),i(()=>import(`./palette-navigation-HbVGltCo.js`),__vite__mapDeps([63,13,64,15,1,2,65,66,67,68,44,69,70,71,72,73,74,75]))]);function n(n){let{t:r}=j(),i=we(e=>e.capabilities),a=(0,Y.useMemo)(()=>t(r,i),[i,r]);return(0,Z.jsx)(e,{...n,navigation:a})}return{default:n}}),Xr=(0,Y.lazy)(()=>i(()=>import(`./AppDialog-BcXOXBcR.js`).then(e=>({default:e.AppDialog})),__vite__mapDeps([76,1,2,3,4,5,6,7,8,9,26,15,77,59,58,49,50,61,56,57,60,78]))),Zr=(0,Y.lazy)(()=>i(()=>import(`./WebDesktopPet-CJtB44aG.js`).then(e=>({default:e.WebDesktopPet})),__vite__mapDeps([79,1,6,5,2,7,3,4,8,9,11,12]))),Qr=(0,Y.lazy)(()=>i(()=>import(`./public-components-B6uxO_ZB.js`).then(e=>({default:e.ConfigSearchBox})),__vite__mapDeps([80,1,2,3,4,5,6,7,8,9,10,11,12,13,81,15,82,83,46,72,26,49,50,61,58,51,84,53,56,57,59,60,78,85]))),$r=(0,Y.lazy)(()=>i(()=>import(`./public-components-B6uxO_ZB.js`).then(e=>({default:e.ModelOnboardingDialog})),__vite__mapDeps([80,1,2,3,4,5,6,7,8,9,10,11,12,13,81,15,82,83,46,72,26,49,50,61,58,51,84,53,56,57,59,60,78,85]))),ei=()=>Promise.all([i(()=>import(`./sidebar-bemTfe07.js`),__vite__mapDeps([86,1,5,2,28,3,4,6,7,8,9,16,15,87,71,49,50,53,88,89,31,30,40,41,11,12,32,10,13,34,54,90,52,91,92,93,94,95,96,97,98,99,100,58,59,101,60,102,103,104,105,106,107,108,109])),O()]).then(([e])=>e),ti=(0,Y.lazy)(()=>i(()=>import(`./public-sidebar-PhHPuas_.js`),__vite__mapDeps([110,1,5,2,28,3,4,6,7,8,9,45,15,111,112,100,113,61,50,58,49,56,26,57,59,60,78,114,67,115,116,77,117,107,106,118,40,31,41,11,12,119,13,10,52,120]))),ni=(0,Y.lazy)(()=>ei().then(e=>({default:e.SidebarSessions}))),ri=(0,Y.lazy)(()=>ei().then(e=>({default:e.SidebarRailCounts}))),ii=(0,Y.lazy)(()=>ei().then(e=>({default:e.SidebarCommands}))),ai=(0,Y.lazy)(()=>ei().then(e=>({default:e.SidebarFleetLine}))),oi=(0,Y.lazy)(()=>Promise.all([i(()=>import(`./PhoneTopBar-Dz94PR8O.js`),__vite__mapDeps([121,2,1,3,4,5,6,7,8,9,122,15,49,50,88,95,93,40,31,41,11,12,10,13,34,52,54,89,30,32,90,91,92,94,123,124,125,126,127,128,22,25,129,26,61,58,51,53,96,130,67,131,132,133,100,16,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,140,141,142,99,104,143,144])),O()]).then(([e])=>({default:e.PhoneTopBar}))),si=(0,Y.lazy)(()=>i(()=>import(`./PhoneDrawer-Dfmmixh5.js`).then(e=>({default:e.PhoneDrawer})),__vite__mapDeps([145,2,1,3,4,5,6,7,8,9,68,15,46,73,144,49,50,137,26,57,58,59,60,61,88]))),ci=(0,Y.lazy)(()=>i(()=>import(`./SidebarUpdateStatus-phIx4K_T.js`),__vite__mapDeps([146,2,1,3,4,5,6,7,8,9,82,15,147,22,148]))),li=(0,Y.lazy)(()=>i(()=>import(`./SettingsSidebar-a9IEYCfr.js`).then(e=>({default:e.SettingsSidebar})),__vite__mapDeps([149,1,2,3,4,5,6,7,8,9,10,11,12,13,150,15,81,17,18,19,20,21,22,49,50,51,53,151]))),ui=(0,Y.lazy)(async()=>{let[{ShortcutHelpDialog:e}]=await Promise.all([i(()=>import(`./ShortcutHelpDialog-B1RT_EMe.js`),__vite__mapDeps([152,1,2,3,4,5,6,7,8,9,73,15,61,50,58,49,53,56,26,57,59,60,153,51])),O()]);return{default:e}}),di=(0,Y.lazy)(()=>i(()=>import(`./PageHeader-D8QTuWd6.js`).then(e=>({default:e.PageHeader})),__vite__mapDeps([154,2,1,3,4,5,6,7,8,9,14,15,47,155,49,50,61,58,53]))),fi=(0,Y.lazy)(()=>i(()=>import(`./TerminalPanel-C0U35k57.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([156,1,2,3,4,5,6,7,8,9,15,24,45,47,26,61,50,58,49,157,158,25,159,160,37,161,100,124,162,134,59,163,101,60,102,103,164]))),pi=(0,Y.lazy)(()=>i(()=>import(`./MobileViewportStabilizer-uKI4Zp7f.js`).then(e=>({default:e.MobileViewportStabilizer})),__vite__mapDeps([165,1,2])));function mi(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 hi(e){try{return decodeURIComponent(e)}catch{return``}}function gi(e,t){let n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return n?n(e,t):Promise.reject(Error(`native bridge unavailable`))}function _i({routerState:e}){let{t}=j();(0,Y.useEffect)(()=>_e(`react-app-mounted`),[]);let n=o(),r=f(),s=(0,Y.useCallback)(()=>e?.()??{location:n,navigation:{state:`idle`}},[n,e]),c=we(e=>e.capabilities),l=we(e=>e.loaded),u=we(e=>e.load),d=(0,Y.useMemo)(()=>Ut(t),[t]),m=C(n.pathname)||`board`,h=!!x(n.pathname),g=m===`config`?hi(n.pathname.split(`/`)[2]||`models`):`models`,_=Pe.has(g)&&Ce(c,g)?g:`models`,v=Ae(m,_),b=(0,Y.useRef)(m),[te,D]=(0,Y.useState)(``),[ie,ae]=(0,Y.useState)(()=>p.getItem(M.activeSession)||``),oe=y(n.pathname,ie),se=De(e=>e.client===`mobile-app`),O=De(e=>e.loaded),ce=Te(),k=se||ce,le=Ee()&&se,A=k&&!window.pisperDesktop&&!le,ue=Jn(m,v),ge=ue===`board`?`board`:ue===`more`?`features`:ue===`settings`?`settings`:null,ve=B(e=>e.toggleCollapsed);(0,Y.useEffect)(()=>{document.documentElement.toggleAttribute(`data-phone-shell`,A)},[A]),(0,Y.useEffect)(()=>{B.getState().setDrawerOpen(!1)},[n.pathname,A]);let[ye,N]=(0,Y.useState)(!1),[Oe,ke]=(0,Y.useState)(!1),Fe=G(e=>e.theme),Ie=G(e=>e.cycleTheme),Le=G(e=>e.density),Re=G(e=>e.accent),ze=G(e=>e.customAccent),Be=G(e=>e.fontScale),Ve=G(e=>e.uiFontSize),He=G(e=>e.codeFontSize),Ge=G(e=>e.radius),qe=G(e=>e.motion),[Je,P]=(0,Y.useState)([]),[Ye,Xe]=(0,Y.useState)(!1),F=Ye?void 0:Je[0],Ze=(0,Y.useRef)(F);Ze.current=F;let[Qe,$e]=(0,Y.useState)(!1),[et,tt]=(0,Y.useState)(null),{data:nt,isPending:rt,isSuccess:it}=de(he(`config`)),{data:at}=de(he(`notification-settings`)),[I,ot]=(0,Y.useState)(!1),[L,st]=(0,Y.useState)({browser:{enabled:!1},connections:{},scopes:[],templates:[]}),[mt,ht]=(0,Y.useState)(null),gt=(0,Y.useMemo)(()=>({terminal:t(`terminal:terminalPanel.terminal`),resizeTerminal:t(`terminal:terminalPanel.resizeTerminal`),hideTerminal:t(`terminal:terminalPanel.hideTerminal`),showTerminal:t(`terminal:terminalPanel.showTerminal`),newTerminal:t(`terminal:terminalPanel.newTerminal`),closeTerminal:t(`terminal:terminalPanel.closeTerminal`),maximizeTerminal:t(`terminal:terminalPanel.maximizeTerminal`),openTerminal:t(`terminal:terminalPanel.openTerminal`),usesActiveSessionWorkspace:t(`terminal:terminalPanel.usesActiveSessionWorkspace`),orphanedTerminal:t(`terminal:terminalPanel.orphanedTerminal`),starting:t(`terminal:terminalPanel.starting`),processExited:e=>t(`terminal:terminalPanel.processExited`,{code:e??`-`})}),[t]),[_t,R]=(0,Y.useState)(()=>!!Ur().open),[z,vt]=(0,Y.useState)(()=>Math.max(180,Math.min(640,Number(Ur().height)||300)));(0,Y.useEffect)(()=>{let e=()=>{window.pisperDesktop?.terminalProfiles&&Se(c,`terminal`)&&R(e=>!e)};return window.addEventListener(`pisper:toggle-terminal`,e),()=>window.removeEventListener(`pisper:toggle-terminal`,e)},[c]);let yt=(0,Y.useRef)(``),[V]=(0,Y.useState)(Kn),bt=(0,Y.useRef)(null),xt=(0,Y.useRef)(null),St=(0,Y.useRef)(0),H=Er(),U=Br();(0,Y.useEffect)(()=>{mr({accent:Re,density:Le,fontScale:Be,motion:qe,radius:Ge,customAccent:ze,uiFontSize:Ve,codeFontSize:He})},[Re,Le,Be,qe,Ge,ze,Ve,He]),(0,Y.useEffect)(()=>{p.setItem(M.terminalPanel,JSON.stringify({open:_t,height:z}))},[z,_t]),(0,Y.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>{let t=pr(Fe,e.matches);document.documentElement.dataset.theme=t?`dark`:`light`,document.documentElement.classList.toggle(`dark`,t)};if(t(),Fe===`system`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(Fe===`scheduled`){let e=window.setInterval(t,6e4);return()=>window.clearInterval(e)}},[Fe]);let W=(0,Y.useCallback)((e,t=`success`,n)=>{St.current+=1;let r={id:St.current,message:e,tone:t,action:n?.action};P(e=>[...e,r])},[]);(0,Y.useEffect)(()=>{let e=e=>{let t=Ze.current;if(e.key!==`Escape`||!e.isTrusted||!t||!document.querySelector(`[data-radix-popper-content-wrapper], [role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"]`))return;e.stopImmediatePropagation(),e.preventDefault();let n=document.activeElement instanceof HTMLElement?document.activeElement:document.body;Xe(!0),P(e=>e.filter(e=>e.id!==t.id)),requestAnimationFrame(()=>requestAnimationFrame(()=>{n.dispatchEvent(new KeyboardEvent(`keydown`,{key:`Escape`,code:`Escape`,bubbles:!0,cancelable:!0})),Xe(!1)}))};return document.addEventListener(`keydown`,e,{capture:!0}),()=>document.removeEventListener(`keydown`,e,{capture:!0})},[]),(0,Y.useEffect)(()=>{let e=e=>{let t=e.detail?.id;ae(t??p.getItem(M.activeSession)??``)};window.addEventListener(dt,e);let t=e=>{let t=e.detail;t?.message&&W(t.message,t.tone===`error`?`error`:`info`)};return window.addEventListener(Ct,t),De.getState().load({refresh:!1}).then(()=>_e(`client-info-loaded`)),u({refresh:!1}).then(()=>_e(`capabilities-loaded`)),()=>{window.removeEventListener(dt,e),window.removeEventListener(Ct,t)}},[u,W]);let Et=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{!O||!se||Et.current||(Et.current=!0,(async()=>{await gi(`mobile_ensure_local_network_permission`).catch(()=>void 0)})())},[O,se]);let Dt=(0,Y.useCallback)((e,t,{force:n=!1}={})=>{if(L.browser?.enabled&&!(!n&&document.visibilityState===`visible`&&document.hasFocus())){if(window.pisperDesktop?.showNotification){window.pisperDesktop.showNotification({title:e,body:t}).catch(()=>{});return}if(zt()){Nt(e,t).catch(()=>{});return}Vt({title:e,body:t,tag:`pisper-${e}`,url:window.location.href}).catch(()=>{})}},[L.browser?.enabled]);(0,Y.useEffect)(()=>Bt(),[]);let At=(0,Y.useCallback)(e=>{let t=Ft.getState();if(!t.enabled||!t.whileFocused&&document.visibilityState===`visible`&&document.hasFocus())return;let n=[`waiting`,`failed`,`finished`].find(n=>e.some(e=>e.kind===n&&t.sounds[n]!==`none`)),r=n?t.sounds[n]:`none`;r!==`none`&&It(r,t.volume)},[]),jt=(0,Y.useCallback)((e,t,n)=>{let r=L.templates?.find(t=>t.id===e),i=r?.channels?.browser?.content;!r?.enabled||r.channels?.browser?.enabled===!1||!i||Dt(r.name,mi(i,t||{}),n)},[L.templates,Dt]),Mt=(0,Y.useCallback)(e=>V.register(e),[V]),Pt=(0,Y.useCallback)(()=>{V.invoke()},[V]),Lt=(0,Y.useCallback)(e=>(ht(e),()=>ht(t=>t===e?null:t)),[]),K=(0,Y.useCallback)((e,t)=>{if(!(!w.has(e)||!xe(c,e))){if(e===`chat`){if(!h){let e=lt();r(e?S(e.sessionId):`/`,t)}}else r(re(e),t);D(``)}},[c,r,h]),Rt=(0,Y.useCallback)((e,t=``)=>{e&&(pt(e,`open`,t),h||r(S(e)),D(``))},[r,h]),q=(0,Y.useCallback)(()=>{D(``),ct(),x(n.pathname)!==`new`&&r(S())},[n.pathname,r]);(0,Y.useEffect)(()=>{if(l&&!xe(c,m)){r(`/`,{replace:!0});return}l&&m===`config`&&g!==_&&r(`/config/${_}`,{replace:!0})},[c,l,_,m,g,r]);let J=(0,Y.useCallback)((e,t)=>{let n=Pe.has(e)&&Ce(c,e)?e:`models`;r(n===`interface`&&t===`widgets`?T.components:`/config/${n}`),D(``)},[c,r]),X=(0,Y.useCallback)(e=>{if(e===`session`){let e=Xn(s());e&&r(e.to,{replace:e.replace,state:e.state}),D(``)}else e===`settings`?A?r(ee):J(`models`):K(qn[e])},[K,A,s,r,J]),Wt=(0,Y.useCallback)(()=>x(Yn(s())),[s]),Gt=(0,Y.useCallback)(e=>{if(!e)return;let t=s(),n=Yn(t);if(x(n)===e)return;if(D(``),C(n)!==`session`){r(S(e));return}let i=n===`/`?ne:t.location.state;r(S(e),{replace:!0,state:i})},[s,r]),Kt=(0,Y.useCallback)(e=>{Wt()===e&&r(`/`,{replace:!0})},[Wt,r]),qt=(0,Y.useCallback)(()=>{try{p.setItem(M.modelOnboardingDismissed,`1`)}catch{}$e(!1)},[]),Q=(0,Y.useCallback)(()=>{qt(),V.clear(),V.invoke(),J(`models`)},[qt,V,J]),Jt=(0,Y.useCallback)(()=>{qt(),r(`/config/models?import=1`),D(``)},[qt,r]),Yt=(0,Y.useCallback)(()=>J(`updates`),[J]),Xt=(0,Y.useCallback)(()=>J(`notifications`),[J]),Zt=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!v){Zt.current=null;return}if(Zt.current!==null)return;let e=window.history.state?.idx;Zt.current=typeof e==`number`?e:0},[n.key,v]);let Qt=(0,Y.useCallback)(()=>{let e=Zt.current,t=window.history.state?.idx;r(e!==null&&e>0&&typeof t==`number`&&t>=e?-(t-e+1):`/`)},[r]),$t=(0,Y.useCallback)(async e=>e&&(await me(`sessions`)).sessions?.find(t=>t.id===e)?.cwd||``,[]),en=(0,Y.useCallback)(e=>{let t=p.getItem(M.activeSession)||``;tt({asset:e,targetSessionId:t}),t?Rt(t):r(`/`)},[Rt,r]);(0,Y.useEffect)(()=>{let e=()=>{!H.dialog&&!Qe&&N(!0)},t=e=>{if(!(e.defaultPrevented||e.isComposing||e.keyCode===229)&&e.key===`Escape`&&!H.dialog){ye&&(N(!1),e.preventDefault());return}};return window.addEventListener(`keydown`,t),window.addEventListener(ut,e),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(ut,e)}},[H.dialog,Qe,ye]);let tn=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{if(rt||tn.current||(tn.current=!0,ot(!0),!it||!nt))return;_e(`config-loaded`);let e=!1;try{e=p.getItem(M.modelOnboardingDismissed)===`1`}catch{}b.current!==`config`&&Hr(nt,e)&&$e(!0)},[nt,rt,it]),(0,Y.useEffect)(()=>{I&&l&&(m===`board`||m===`session`)&&_e(`chat-shell-ready`)},[l,m,I]);let nn=(0,Y.useRef)(m);(0,Y.useLayoutEffect)(()=>{nn.current===`config`&&m!==`config`&&(pe(`config`),pe(`notification-settings`)),nn.current=m},[m]),(0,Y.useEffect)(()=>{at&&st(at)},[at]),(0,Y.useEffect)(()=>{let e=!0,t=async()=>{try{let t=yt.current,n=await fe.fetchQuery({queryKey:[`browser-notification-events`,t],queryFn:()=>be(`/api/settings/notifications/browser/events?after=${encodeURIComponent(t)}`),staleTime:0,retry:!1});if(!e)return;for(let e of n.events||[])Dt(e.title,e.body,{force:!0});yt.current=n.latestId||yt.current}catch{}};t();let n=window.setInterval(t,3e3);return()=>{e=!1,window.clearInterval(n)}},[Dt]);let rn=m===`chat`?[t(`common:app.sessions`),k?``:t(`common:app.dragTabsOrSplitChatsInAnyDirectionFromTheSessionList`)]:m===`config`?[v&&je(_)?Ne(t,_):Me(t,_),``]:m===`workflowCreate`?Ht(t,mt?mt.editing:hi(n.pathname.split(`/`)[2]||`new`)!==`new`):d[m]||[t(`common:app.sessions`),``],an=(0,Y.useCallback)(e=>{fe.cancelQueries({queryKey:[`notification-settings`],exact:!0}),fe.setQueryData([`notification-settings`],e),st(e)},[]),on=ue===`more`&&m!==`more`,sn=(0,Y.useCallback)(()=>r(T.more),[r]),cn={activeSessionId:oe,navigate:K,notify:W,browserNotify:jt,registerPrimaryAction:Mt,invokePrimaryAction:Pt,pendingAsset:et,onAssetConsumed:()=>tt(null),onUseAsset:en,requestText:H.prompt,requestConfirm:H.confirm,openNotificationSettings:Xt,configSection:_,setConfigSection:J,setNotificationSettings:an,appUpdate:U,registerWorkflowActions:Lt,startNewTask:q,onBackToFeatures:on?sn:void 0},ln=(0,Y.useCallback)(()=>{let e=window.history.state?.idx,t=Qn(m,n.pathname,v,{phone:A,homeEntry:E(n.state),canGoBack:typeof e==`number`&&e>0});return t===-1?r(-1):t&&r(t),t!==null},[n.pathname,n.state,m,A,r,v]),un=(0,Y.useCallback)(()=>{m===`more`?document.getElementById(Ue)?.focus():We.has(m)?document.getElementById(Ke)?.focus():m===`board`?document.getElementById(wt)?.querySelector(`[data-state="on"]`)?.focus():bt.current?.focus()},[m]),dn=A&&m!==`session`,fn=A&&v&&/^\/config\/?$/.test(n.pathname),pn=![`board`,`session`,`more`,`chat`,`workflowCreate`,`config`,`bots`].includes(m)&&!We.has(m),mn=v&&!A;if(!I||!l)return(0,Z.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-busy":`true`,className:`app-startup flex min-h-[100vh] w-full items-center justify-center gap-2.5 bg-chrome text-[13px] text-content-muted`,children:[(0,Z.jsx)(kt,{size:30,className:`startup-logo`}),(0,Z.jsx)(`strong`,{className:`font-medium`,children:t(`common:app.wakingPisper`)})]});let hn=e=>(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(Qr,{query:te,onQueryChange:D,onSelect:J,inputRef:bt,placement:e})});return(0,Z.jsx)(br,{duration:2800,swipeDirection:`right`,children:(0,Z.jsx)(Ot,{bridge:window.pisperDesktop,children:(0,Z.jsxs)(`div`,{ref:xt,className:`app-shell flex w-full h-full min-h-0 flex-col overflow-hidden bg-chrome text-content [&[data-phone-shell]]:bg-panel [&[data-phone-shell][data-shell-canvas]]:bg-background 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-phone-shell]]:pb-0`,"data-mobile-app":k||void 0,"data-phone-shell":A||void 0,"data-shell-canvas":m===`board`||m===`more`||void 0,"data-custom-titlebar":window.pisperDesktop?.customTitlebar||void 0,children:[window.pisperDesktop?.customTitlebar&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(qr,{})}),(0,Z.jsx)(gr,{}),k&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(pi,{enabled:O&&I,shellRef:xt})}),Se(c,`desktopPet`)&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(Zr,{})}),(0,Z.jsx)(Gn,{onRouteBack:k?ln:void 0}),(0,Z.jsx)(_r,{blocked:!!(H.dialog||Qe||ye),onCommandPalette:()=>N(!0),onPrimary:()=>q(),onSearch:un,onToggleTerminal:window.pisperDesktop?.terminalProfiles&&Se(c,`terminal`)?()=>R(e=>!e):void 0,onSettings:()=>X(`settings`),onOpenSession:()=>X(`session`),onOpenBoard:()=>X(`board`),onOpenComponents:()=>K(`components`),onOpenMore:()=>X(`more`),onToggleSidebar:A?void 0:ve,onAgentPanel:()=>Tt({kind:`focus-list`}),onPreviousAgent:()=>Tt({kind:`adjacent`,direction:-1}),onNextAgent:()=>Tt({kind:`adjacent`,direction:1}),onJumpToAttention:()=>Tt({kind:`focus-attention`}),onSessionTree:m===`session`?()=>ft(`tree`):void 0,onSideChat:m===`session`?()=>ft(`side-chat`):void 0,onCycleFocusRegion:()=>void i(()=>import(`./focus-regions-B9MkPSKC.js`).then(e=>e.cycleFocusRegion()),[]),onShortcutHelp:()=>ke(!0)}),(0,Z.jsxs)(`div`,{className:`app-body flex min-h-0 flex-1 overflow-hidden`,"data-mobile-app":k||void 0,children:[!A&&(0,Z.jsx)(rr,{active:ge,onNewTask:()=>q(),onSearch:()=>N(!0),onOpenBoard:()=>X(`board`),onOpenFeatures:()=>X(`more`),onOpenSettings:()=>X(`settings`),content:(0,Z.jsxs)(Y.Suspense,{fallback:(0,Z.jsx)(cr,{}),children:[(0,Z.jsx)(ti,{}),(0,Z.jsx)(ni,{currentId:x(n.pathname),notify:W,requestText:H.prompt,onOpenSession:Gt,onOpenBoard:()=>X(`board`),onOpenHistory:()=>K(`chatHistory`),onArchived:Kt})]}),takeover:mn?(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)(`nav`,{"aria-busy":`true`,"aria-label":t(`config:settingsShell.settingsNavigation`),className:`flex-1`}),children:(0,Z.jsx)(li,{configSection:_,onSelectSection:J,onBack:Qt,onOpenFeatures:()=>X(`more`),search:hn(`sidebar`),version:U.info?.version,footer:(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(ai,{onOpenBoard:()=>X(`board`)})})})}):void 0,railCounts:(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)(cr,{collapsed:!0}),children:(0,Z.jsx)(ri,{onOpenBoard:()=>X(`board`)})}),update:U.status&&[`available`,`downloading`,`downloaded`].includes(U.status.state)?(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(`div`,{className:`flex-none [&>button]:size-8 [&>button]:min-h-0 pointer-coarse:[&>button]:size-11`,children:(0,Z.jsx)(ci,{update:U,collapsed:!0,onOpen:Yt})})}):void 0}),(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(ii,{resolveCurrentId:Wt,renderedSessionId:m===`session`?x(n.pathname):null,onOpenSession:Gt,onWaiting:({title:e,reason:t})=>jt(`chat.waiting`,{chat:{title:e,tool:t,reason:t}}),onAlerts:At})}),(0,Z.jsxs)(`main`,{"data-focus-region":`main`,className:`main-surface relative flex min-w-0 flex-1 flex-col overflow-hidden bg-panel`,children:[dn&&(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`h-14 flex-none bg-panel`,"aria-hidden":`true`}),children:(0,Z.jsx)(oi,{title:fn?t(`navigation:navigation.settings`):rn[0],onNewTask:()=>q(),onSearch:m===`board`?()=>N(!0):void 0})}),A&&v&&!fn&&(0,Z.jsxs)(Y.Suspense,{fallback:null,children:[(0,Z.jsx)(Gr,{onBack:()=>r(`/config`)}),(0,Z.jsx)(`div`,{"data-mobile-settings-search":!0,className:`flex-none px-4 pb-1`,children:hn()})]}),pn&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(di,{meta:rn,page:m,desktopPlatform:window.pisperDesktop?.platform||``,terminalOpen:_t,onToggleTerminal:()=>R(e=>!e),onBackToMore:on?sn:void 0,phoneShell:A})}),(0,Z.jsx)(`div`,{className:`page-content flex-1 min-h-0 overflow-auto ${m===`session`||m===`chat`?`page-chat flex overflow-hidden p-0`:w.has(m)?`page-${m} overflow-hidden p-0`:`page-${m} px-6 pt-5 pb-5 max-[650px]:px-3 max-[650px]:pt-0`}`,children:fn?(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(Kr,{onNavigate:J,onOpenFeatures:()=>X(`more`)})}):(0,Z.jsx)(a,{context:cn})},m),window.pisperDesktop?.terminalProfiles&&Se(c,`terminal`)&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(fi,{open:_t,height:z,labels:gt,activeSessionId:oe,resolveSessionCwd:$t,onOpenChange:R,onHeightChange:vt})})]})]}),A&&(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(si,{active:ge,onSearch:()=>N(!0),onNewTask:()=>q(),onOpenBoard:()=>X(`board`),onOpenFeatures:()=>X(`more`),onOpenSettings:()=>X(`settings`),content:(0,Z.jsxs)(Y.Suspense,{fallback:(0,Z.jsx)(cr,{}),children:[(0,Z.jsx)(ti,{}),(0,Z.jsx)(ni,{drawer:!0,currentId:x(n.pathname),notify:W,requestText:H.prompt,onOpenSession:Gt,onOpenBoard:()=>X(`board`),onOpenHistory:()=>K(`chatHistory`),onArchived:Kt})]}),update:U.status&&[`available`,`downloading`,`downloaded`].includes(U.status.state)?(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(`div`,{className:`flex-none [&>button]:size-11 [&>button]:min-h-0`,children:(0,Z.jsx)(ci,{update:U,collapsed:!0,onOpen:Yt})})}):void 0})}),(0,Z.jsx)(Y.Suspense,{fallback:null,children:(0,Z.jsx)(Jr,{activeSessionId:oe,notify:W})}),F&&(0,Z.jsx)(Tr,{open:!0,message:F.message,tone:F.tone,action:F.action,duration:F.action?1e4:void 0,closeLabel:t(`common:ui.closeDialog`),onOpenChange:e=>!e&&P(e=>e.filter(e=>e.id!==F.id))},F.id),(0,Z.jsx)(xr,{hotkey:[],label:t(`common:ui.notifications`)}),H.dialog&&(0,Z.jsx)(Y.Suspense,{fallback:(0,Z.jsx)(`span`,{role:`status`,className:`sr-only`,children:t(`common:pageTemplate.loading`)}),children:(0,Z.jsx)(Xr,{dialog:H.dialog,onClose:H.close,onFinish:H.finish})}),(0,Z.jsx)(Y.Suspense,{fallback:null,children:Qe&&(0,Z.jsx)($r,{open:!0,onDismiss:qt,onOpenImport:Jt,onOpenSettings:Q})}),(0,Z.jsxs)(Y.Suspense,{fallback:null,children:[ye&&(0,Z.jsx)(Yr,{onClose:()=>N(!1),onNavigate:K,onOpenSession:async(e,n,r)=>{try{if(n&&!r){let{switchToTurnOnOtherBranch:r}=await i(async()=>{let{switchToTurnOnOtherBranch:e}=await import(`./session-tree-actions-DhF8lJLn.js`);return{switchToTurnOnOtherBranch:e}},__vite__mapDeps([166,52,6,5,1,2,7,8,54,40,31,41,11,4,12,167,30]));await r({sessionId:e,entryId:n,confirm:H.confirm,open:Rt,notify:W,t});return}Rt(e,n)}catch(e){throw W(t(`navigation:appOverlays.openLabeledTurnFailed`),`error`),e}},onNewChat:()=>q(),onToggleTheme:Ie}),Oe&&(0,Z.jsx)(ui,{open:!0,onOpenChange:ke,onCustomize:()=>r(`/config/shortcuts`)})]})]})})})}function vi({children:e}){let{t}=j(),n=f(),r=o(),i=(0,Y.useRef)(new Map),a=(0,Y.useRef)(new Map),s=(0,Y.useRef)(0),[c,l]=(0,Y.useState)(0),[d,p]=(0,Y.useState)(null),m=(0,Y.useRef)(null),[h,g]=(0,Y.useState)(!1),_=u(({currentLocation:e,nextLocation:t})=>Rt(e,t)&&Object.values(K(i.current.values())).some(Boolean)),v=(0,Y.useRef)(_);v.current=_;let y=(0,Y.useCallback)(e=>{m.current=e,p(e)},[]),b=(0,Y.useCallback)(e=>{let t=i.current.get(e.id);i.current.set(e.id,e),(!t||t.dirty!==e.dirty||t.saving!==e.saving)&&l(e=>e+1)},[]),x=(0,Y.useCallback)(e=>{i.current.delete(e)&&l(e=>e+1)},[]),S=(0,Y.useCallback)(()=>{y(null),a.current.clear(),v.current.state===`blocked`&&v.current.reset()},[y]),ee=(0,Y.useCallback)((e,t,r)=>{a.current.clear();let i=`navigation-${++s.current}`;r&&a.current.set(i,r),n(e,{...t,state:{...t?.state,[Lt]:i}})},[n]),C=(0,Y.useCallback)((e,t)=>{let n=i.current.get(e);if(n?.saving){S(),g(!0);return}if(v.current.state===`blocked`&&v.current.reset(),a.current.clear(),!n?.dirty){y(null),t();return}g(!1),y({kind:`close`,id:e,close:t})},[S,y]);(0,Y.useLayoutEffect)(()=>{let e=K(i.current.values());if(_.state===`blocked`)e.saving||!e.dirty?(S(),g(e.saving)):(g(!1),y({kind:`route`}));else if(m.current?.kind===`close`){let e=i.current.get(m.current.id);(!e||e.saving||!e.dirty)&&(y(null),g(!!e?.saving))}},[_,c,S,y]),(0,Y.useLayoutEffect)(()=>{let e=r.state?.[Lt],t=typeof e==`string`?a.current.get(e):void 0;t&&(a.current.delete(e),t())},[r]);let w=K(i.current.values());(0,Y.useEffect)(()=>{if(!w.dirty&&!w.saving)return;let e=e=>{e.preventDefault(),e.returnValue=``};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[w.dirty,w.saving]);let te=()=>{let e=m.current;if(!e)return;let t=e.kind===`close`?[i.current.get(e.id)].filter(e=>!!e):[...i.current.values()];if(t.some(e=>e.saving)){S(),g(!0);return}y(null);for(let e of t)e.dirty&&e.discard();e.kind===`close`?e.close():v.current.state===`blocked`&&v.current.proceed()},T=(0,Y.useMemo)(()=>({update:b,remove:x,requestClose:C,navigate:ee}),[b,x,C,ee]);return(0,Z.jsxs)(J.Provider,{value:T,children:[e,h&&(0,Z.jsx)(`p`,{role:`status`,className:`fixed right-4 bottom-4 z-[300] rounded-lg border bg-popover p-3 text-sm text-popover-foreground shadow-md`,children:t(`common:unsaved.saving`)}),(0,Z.jsx)(St,{open:!!d,onOpenChange:e=>{e||S()},children:(0,Z.jsxs)(yt,{size:`compact`,surface:`confirmation`,showCloseButton:!1,className:`z-[400]`,overlayClassName:`z-[400]`,children:[(0,Z.jsxs)(xt,{children:[(0,Z.jsx)(V,{children:t(`common:unsaved.title`)}),(0,Z.jsx)(vt,{children:t(`common:unsaved.description`)})]}),(0,Z.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),te()},children:(0,Z.jsxs)(bt,{children:[(0,Z.jsx)(L,{type:`button`,variant:`outline`,size:`dialogAction`,onClick:S,autoFocus:!0,children:t(`common:unsaved.keepEditing`)}),(0,Z.jsx)(L,{type:`submit`,variant:`destructive`,size:`dialogAction`,children:t(`common:unsaved.discard`)})]})})]})})]})}function yi(){let{t:e}=j();return(0,Z.jsxs)(Et,{children:[(0,Z.jsx)(`span`,{className:`grid place-items-center`,children:(0,Z.jsx)(ot,{className:`size-6`})}),(0,Z.jsx)(`h2`,{children:e(`navigation:pageLoader.lightingUpThisPage`)}),(0,Z.jsx)(`p`,{children:e(`navigation:pageLoader.bringingTheNeededCapabilitiesIntoPlace`)})]})}async function bi(){window.__PISPER_MOBILE_APP__&&await ye().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 xi(){let e=c(),t=s(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:`页面加载失败`;return(0,Z.jsxs)(`main`,{className:`app-startup flex min-h-[100vh] w-full items-center justify-center gap-2.5 bg-chrome text-[13px] text-content-muted`,role:`alert`,children:[(0,Z.jsx)(`strong`,{className:`font-medium`,children:t}),(0,Z.jsx)(L,{variant:`secondary`,type:`button`,onClick:()=>void bi(),children:`重新加载`})]})}function $(){return n()}async function Si(){let[{BoardPage:e}]=await Promise.all([i(()=>import(`./BoardPage-C81aOK4p.js`),__vite__mapDeps([168,1,5,2,3,4,6,7,8,9,30,31,29,32,10,11,12,13,33,34,35,37,36,38,15,169,81,126,124,16,170,98,171,131,91,89,40,41,54,90,52,92,143,94,132,125,127,128,22,25,129,26,49,50,61,58,51,53,96,130,133,100,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,93,140,141,142,87,45,172,144,173,174,99,104,175,176,163,159,177,97,28,105,106,107,160,161,162,178])),O()]);function t(e){let{origin:t,pathname:n,search:r,hash:i}=window.location;return i.startsWith(`#/`)?`${t}${n}${r}#${S(e)}`:`${t}${S(e)}`}function n(){let n=$(),r=f();return(0,Z.jsx)(e,{activeSessionId:n.activeSessionId,onOpenSession:e=>r(S(e)),onOpenHistory:()=>n.navigate(`chatHistory`),onConfigureModels:()=>r(`/config/models`),sessionHref:t,notify:n.notify,requestConfirm:n.requestConfirm,requestText:n.requestText,onNewTask:n.startNewTask})}return{Component:n}}async function Ci(){let[{ChatPage:e},{SessionShell:t}]=await Promise.all([i(()=>import(`./ChatPage-HBq1cr2I.js`),__vite__mapDeps([179,1,5,2,6,7,3,4,8,9,31,30,40,41,11,12,13,10,37,38,15,180,181,19,127,100,124,14,16,182,183,125,126,128,22,25,129,26,49,50,61,58,51,53,96,130,170,82,184,52,177,133,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,185,186,28,34,36,169,162,187,98,188,67,20,43,21,71,172,189,190,48,173,99,104,176,163,54,159,114,191,192,193,194,195,196,197,106,198,199,85,200,201,167,202,203,112,113,204,205,44,206,207,208,45,73,144,75,174,209,210,211,175,90,92,140,142,151,108,212,213,214,120,157,215,166,216,217])),i(()=>import(`./SessionShell-BqNSjTbQ.js`),__vite__mapDeps([218,1,5,2,28,3,4,6,7,8,9,29,30,31,32,10,11,12,13,33,34,35,38,36,37,122,15,49,50,88,95,93,40,41,52,54,89,90,91,92,94,123,124,125,126,127,128,22,25,129,26,61,58,51,53,96,130,67,131,132,133,100,16,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,140,141,142,99,104,143,105])),O()]);function n(){return(0,Z.jsx)(t,{context:$(),ChatPage:e})}return{Component:n}}async function wi(){Ci().catch(()=>void 0);let[{SessionHome:e}]=await Promise.all([i(()=>import(`./SessionHome-047YRkeb.js`),__vite__mapDeps([219,1,5,2,28,3,4,6,7,8,9,36,37,38,11,12,122,15,49,50,88,95,93,40,31,41,10,13,34,52,54,89,30,32,90,91,92,94,123,124,125,126,127,128,22,25,129,26,61,58,51,53,96,130,67,131,132,133,100,16,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,140,141,142,99,104,143,159,105])),O()]);function t(){return(0,Z.jsx)(e,{context:$()})}return{Component:t}}async function Ti(){let{MorePage:e}=await i(async()=>{let{MorePage:e}=await import(`./MorePage-DObfXE0e.js`);return{MorePage:e}},__vite__mapDeps([220,1,2,3,4,5,6,7,8,9,30,31,11,12,13,10,29,32,33,34,35,38,36,37,15,221,64,19,65,66,16,222,223,69,45,70,71,46,72,74,75,26,174,155,49,50,61,58,51,52,84,53]));function t(){let t=$(),n=f();return(0,Z.jsx)(e,{onOpen:e=>{e.type===`page`?n(re(e.id)):e.type===`config`?t.setConfigSection(e.id):n(`/tools/components/${encodeURIComponent(e.id)}`)}})}return{Component:t}}async function Ei(){let{ChatHistoryPage:e}=await i(async()=>{let{ChatHistoryPage:e}=await import(`./ChatHistoryPage-DcjG1hoQ.js`);return{ChatHistoryPage:e}},__vite__mapDeps([224,1,6,5,2,7,3,4,8,9,30,31,40,41,11,12,36,37,38,15,181,98,128,87,22,144,173,174,155,99,100,16,58,59,101,60,102,103,104,49,50,61,52,53,90,55,96,140,159,225,124,14,46,113,26,51,213]));function t(){let t=$();return(0,Z.jsx)(e,{navigate:t.navigate,onBack:t.onBackToFeatures,onNewTask:t.startNewTask,notify:t.notify,requestConfirm:t.requestConfirm,requestText:t.requestText})}return{Component:t}}async function Di(){let{AssetsPage:e}=await i(async()=>{let{AssetsPage:e}=await import(`./AssetsPage-7Fuwati9.js`);return{AssetsPage:e}},__vite__mapDeps([226,1,2,4,5,6,7,8,3,9,30,31,227,11,12,15,82,147,185,205,207,45,22,173,113,26,155,99,100,16,58,59,101,60,102,103,104,49,50,61,53,55,56,57,78,159,225,36,37,38,124,14,46,51,228,116,77,117,192,193,194,195,196,187,197]));function t(){let t=$();return(0,Z.jsx)(e,{activeSessionId:t.activeSessionId,onBack:t.onBackToFeatures,notify:t.notify,requestConfirm:t.requestConfirm,onUse:t.onUseAsset})}return{Component:t}}async function Oi(){let[{ChannelsPage:e}]=await Promise.all([i(()=>import(`./ChannelsPage-LM4bpKzy.js`),__vite__mapDeps([229,1,2,3,4,5,6,7,8,9,11,12,15,19,147,67,230,44,45,22,190,173,113,26,174,155,49,50,61,58,53,55,96,78,138,115,159,225,36,37,38,124,14,46,51,116,77,59,117,160,161,100,162,134,163,101,60,102,103,212,211,203,104,213,199])),ae()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function ki(){let{BotsPage:e}=await i(async()=>{let{BotsPage:e}=await import(`./public-BVuJa7Dh.js`);return{BotsPage:e}},__vite__mapDeps([231,1,5,2,3,4,6,7,8,9,66,15,124,14,16,187,112,100,113,61,50,58,49,56,26,57,59,60,78,114,21,128,45,111,28,67,115,116,77,117,107,106,118,40,31,41,11,12,173,232,162,101,201,211,103,175,104,139,159,160,37,161,134,163,102,119,13,10,52,120]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify})}return{Component:t}}async function Ai(){let{SchedulesPage:e}=await i(async()=>{let{SchedulesPage:e}=await import(`./SchedulesPage-C3TpSm9t.js`);return{SchedulesPage:e}},__vite__mapDeps([233,1,5,2,3,4,6,7,8,9,11,12,18,15,19,66,182,112,100,113,61,50,58,49,56,26,57,59,60,78,114,67,230,208,45,173,155,211,103,53,55,96,115,142,159,225,36,37,38,124,14,46,51,116,77,117,160,161,162,134,163,101,102,212,203,104,213,199]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm,openNotificationSettings:t.openNotificationSettings})}return{Component:t}}async function ji(){let[{ConfigPage:e},{ChatAppearancePage:t}]=await Promise.all([i(()=>import(`./ConfigPage-Bcjc5mbO.js`),__vite__mapDeps([234,1,5,2,6,7,4,8,3,9,11,12,13,10,38,15,180,150,81,235,18,19,65,100,124,14,42,182,236,187,82,98,147,17,20,21,22,222,43,44,223,237,208,45,148,172,46,72,190,74,47,173,113,129,26,174,58,59,101,232,162,201,49,50,103,104,99,16,60,102,135,56,57,61,161,134,163,117,136,211,51,84,53,55,96,78,115,139,159,62,225,36,37,116,77,192,193,194,195,196,197,160,119,52,120,213,212,203,199,85,200,238,153,239])),i(()=>import(`./ChatAppearancePage-DQr-uhHb.js`),__vite__mapDeps([240,5,1,2,28,3,4,6,7,8,9])),O(),D()]);function n(){let n=$();return(0,Z.jsx)(e,{notify:n.notify,registerPrimaryAction:n.registerPrimaryAction,invokePrimaryAction:n.invokePrimaryAction,section:n.configSection,onBackToFeatures:n.onBackToFeatures,onBrowserNotificationChange:n.setNotificationSettings,requestConfirm:n.requestConfirm,update:n.appUpdate,renderInterfaceSettings:e=>(0,Z.jsx)(t,{appearance:e})})}return{Component:n}}async function Mi(){let{PluginsPage:e}=await i(async()=>{let{PluginsPage:e}=await import(`./PluginsPage-0rmSVMfr.js`);return{PluginsPage:e}},__vite__mapDeps([241,1,2,3,4,5,6,7,8,9,11,12,13,10,15,182,242,147,188,243,67,222,244,69,245,46,72,189,173,113,155,58,59,57,60,49,50,61,53,56,26,78,142,159,225,36,37,38,124,14,51,160,161,100,162,134,163,101,102,103,212,211,203,104,213,199,215]));function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Ni(){let{MemoryPage:e}=await i(async()=>{let{MemoryPage:e}=await import(`./MemoryPage-BeI2YTUn.js`);return{MemoryPage:e}},__vite__mapDeps([246,1,2,3,4,5,6,7,8,9,11,12,15,100,243,20,128,45,22,74,173,26,155,176,58,59,163,60,102,103,49,50,61,53,78,115,159,225,36,37,38,124,14,46,113,51,116,77,117,160,161,162,134,101,212,211,203,104,213,199]));function t(){let t=$();return(0,Z.jsx)(e,{onBack:t.onBackToFeatures,notify:t.notify,requestConfirm:t.requestConfirm})}return{Component:t}}async function Pi(){let[{McpPage:e}]=await Promise.all([i(()=>import(`./McpPage-BbmxMKuy.js`),__vite__mapDeps([247,1,2,3,4,5,6,7,8,9,31,30,41,227,11,12,100,15,187,83,45,22,71,72,173,129,26,155,211,58,59,103,49,50,61,53,55,56,57,60,115,159,114,225,36,37,38,124,14,46,113,51])),se()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Fi(){let{SkillsPage:e}=await i(async()=>{let{SkillsPage:e}=await import(`./SkillsPage-CZuR-0QX.js`);return{SkillsPage:e}},__vite__mapDeps([248,1,2,3,4,5,6,7,8,9,11,12,243,15,222,244,45,245,74,173,129,155,209,100,58,59,103,49,50,61,53,159,225,36,37,38,124,14,46,113,26,51,212,211,203,101,104,213,199]));function t(){let t=$();return(0,Z.jsx)(e,{activeSessionId:t.activeSessionId,notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}var Ii=Object.freeze({componentFromList:!0});function Li(e){return typeof e==`object`&&!!e&&e.componentFromList===!0}async function Ri(){let[{CustomUiPage:e}]=await Promise.all([i(()=>import(`./public-BVKkvQiF.js`),__vite__mapDeps([249,1,5,2,28,3,4,6,7,8,9,30,31,32,33,11,12,34,29,10,13,35,36,37,38,15,221,235,64,100,124,14,16,236,187,82,98,132,125,126,127,128,22,25,129,26,49,50,61,58,51,53,96,130,133,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,131,91,54,40,41,89,90,52,92,93,94,140,141,142,206,45,71,250,189,74,173,209,99,104,77,161,162,163,211,175,88,123,67,95,143,159,62,213,251,210,117,176,252,253])),D()]);function t(){let t=$(),n=f(),i=o(),{componentId:a=``}=r();return(0,Z.jsx)(e,{activeSessionId:t.activeSessionId,notify:t.notify,selectedId:a,onSelect:(e,t)=>{!e&&!t&&Li(i.state)?n(-1):n(te(e),{replace:t||!e,state:e&&!t?Ii:void 0})}})}return{Component:t}}async function zi(){let[{CustomUiToolPage:e}]=await Promise.all([i(()=>import(`./public-BVKkvQiF.js`),__vite__mapDeps([249,1,5,2,28,3,4,6,7,8,9,30,31,32,33,11,12,34,29,10,13,35,36,37,38,15,221,235,64,100,124,14,16,236,187,82,98,132,125,126,127,128,22,25,129,26,49,50,61,58,51,53,96,130,133,134,46,59,57,60,135,102,103,56,136,101,137,55,138,78,115,139,131,91,54,40,41,89,90,52,92,93,94,140,141,142,206,45,71,250,189,74,173,209,99,104,77,161,162,163,211,175,88,123,67,95,143,159,62,213,251,210,117,176,252,253])),D()]);function t(){let t=$(),{componentId:n=``}=r();return(0,Z.jsx)(e,{componentId:n,activeSessionId:t.activeSessionId,notify:t.notify})}return{Component:t}}async function Bi(){let[{WorkflowsPage:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-o4p12fMI.js`),__vite__mapDeps([254,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,169,126,18,19,127,100,124,14,16,182,183,236,187,82,98,243,185,204,255,222,43,230,237,206,207,256,128,208,45,22,148,245,46,72,250,25,173,113,75,26,155,99,58,59,101,60,102,103,104,49,50,77,135,56,57,61,210,136,134,211,203,53,137,55,96,78,115,159,114,225,51,116,117,160,161,162,163,200,201,239,253,257,258,259])),ce()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function Vi(){let[{WorkflowBuilder:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-o4p12fMI.js`),__vite__mapDeps([254,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,169,126,18,19,127,100,124,14,16,182,183,236,187,82,98,243,185,204,255,222,43,230,237,206,207,256,128,208,45,22,148,245,46,72,250,25,173,113,75,26,155,99,58,59,101,60,102,103,104,49,50,77,135,56,57,61,210,136,134,211,203,53,137,55,96,78,115,159,114,225,51,116,117,160,161,162,163,200,201,239,253,257,258,259])),ce()]);function t(){let t=$();return(0,Z.jsx)(e,{notify:t.notify,registerWorkflowActions:t.registerWorkflowActions})}return{Component:t}}var Hi=t([{element:(0,Z.jsx)(vi,{children:(0,Z.jsx)(_i,{routerState:()=>Hi.state})}),errorElement:(0,Z.jsx)(xi,{}),hydrateFallbackElement:(0,Z.jsx)(yi,{}),children:[{index:!0,lazy:wi},{path:T.board,lazy:Si},{path:`/board/:sessionId`,lazy:Ci},{path:T.more,lazy:Ti},{path:T.chat,element:(0,Z.jsx)(l,{to:`/`,replace:!0})},{path:T.chatHistory,lazy:Ei},{path:T.assets,lazy:Di},{path:T.channels,lazy:Oi},{path:T.schedules,lazy:Ai},{path:`/bots/:botId?`,lazy:ki},{path:T.config,lazy:ji},{path:`/config/:configSection`,lazy:ji},{path:`/config`,element:(0,Z.jsx)(l,{to:T.config,replace:!0})},{path:T.plugins,lazy:Mi},{path:T.memory,lazy:Ni},{path:T.mcp,lazy:Pi},{path:T.skills,lazy:Fi},{path:`/components/:componentId?`,lazy:Ri},{path:`/tools/components/:componentId`,lazy:zi},{path:T.workflows,lazy:Bi},{path:T.workflowCreate,lazy:Vi},{path:`/workflows/:workflowId`,lazy:Vi},{path:`*`,element:(0,Z.jsx)(l,{to:`/`,replace:!0})}]}]),Ui=()=>{document.documentElement.dataset.pageVisibility=document.visibilityState};Ui(),document.addEventListener(`visibilitychange`,Ui);var Wi=b(window.location.hash);Wi&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}#${Wi}`);var Gi=document.getElementById(`root`);if(!Gi)throw Error(`Missing #root application mount point`);(0,Bn.createRoot)(Gi).render((0,Z.jsx)(Y.StrictMode,{children:(0,Z.jsx)(Un,{children:(0,Z.jsx)(d,{router:Hi})})}));
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/hosts-CwTc21QE.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CSN_DGvx.js","assets/vendor-react-DwNgTV1j.js","assets/index-DjSjahBi.js","assets/index-DJA4qaOu.css","assets/routes-DIeaqWVc.js","assets/use-i18n-DCxQRXLH.js","assets/i18n-YQ8mc9k7.js","assets/storage-8QW6lXuT.js","assets/vendor-state-GkUciC5H.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/session-scope-BnKeB5vZ.js","assets/api-BmSvZCuH.js","assets/abort-signal-f4JsiYKX.js","assets/session-board-status-D2lpFPiI.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/ellipsis-CfGKfbq6.js","assets/grip-vertical-B__LYT0s.js","assets/plus-fQbSqB1n.js","assets/rotate-ccw-C0v8V77_.js","assets/settings-2-CXJjXJS9.js","assets/x-07u4-129.js","assets/dropdown-menu-Ds0gD8S8.js","assets/check-2vYc6QaP.js","assets/chevron-right-C3t2Rckj.js","assets/dist-41X0pdUs.js","assets/dist-BsRXXcSL.js","assets/dist-DzGQ7sLi.js","assets/es2015-DTZdOI9P.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/dist-BaBySQmo.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/popover-CXB2yzW6.js","assets/dialog-DFcH7POi.js","assets/dist-BHkR6BLP.js","assets/button-CCcCN8tE.js","assets/use-studio-actions-CvTVL6vy.js","assets/useNewProjectPicker-C3dVgDqI.js","assets/focus-session-composer-bits-D2XiGLcj.js","assets/arrow-up-DST6-qVQ.js","assets/braces-DQcXLGFF.js","assets/pencil-U08v_vV9.js","assets/refresh-cw-TbWxTY4K.js","assets/square-bHHVTT3G.js","assets/wrench-6pg6_bqI.js","assets/kbd-CAufZTkl.js","assets/shortcuts-DnykOp5e.js","assets/StatusGlyph-1KgitlUg.js","assets/run-activity-CwfO0cui.js","assets/FocusRuntimeControls-Bgq7LvMl.js","assets/dist-V8chnW6-.js","assets/search-D0mqDaf_.js","assets/slider-DTmAZl-R.js","assets/sheet-BTaIEX4w.js","assets/format-DMJQzoZ7.js","assets/input-group-h8z63MzW.js","assets/input-CPw-zkYh.js","assets/textarea-DmATpOqT.js","assets/model-display-kDwvtxrW.js","assets/workspace-order-store-CQ4SHO-9.js","assets/session-workspaces-Csgpuzxd.js","assets/chat-api-DHqVwcpJ.js","assets/startup-queries-iq2o5pqJ.js","assets/mutation-CEbxdVYy.js","assets/useSessionListQuery-CSTrzBD6.js","assets/component-changes-Q9Bf64Ob.js","assets/runtime-capabilities-store-CTtXyNjK.js","assets/runtime-capabilities-CHYOF_hE.js","assets/session-organization-api-Cm9HoIme.js","assets/events-C7sXXop4.js","assets/session-questions-Cf-1g85h.js","assets/useNow-BrhALV5l.js","assets/card-presentation-1oph2b8P.js","assets/session-change-summary-api-DENj-A9c.js","assets/folder-paths-CsQLylLL.js","assets/pick-system-directory-CQS5pqM-.js","assets/checkbox-BrEHgFV0.js","assets/progress-5odAz3B9.js","assets/separator-BPh_qxvc.js","assets/switch-D_G8wFhs.js","assets/segmented-control-xkrEOP_d.js","assets/tooltip-D4MFbqcG.js","assets/dist-BiRPwy4W.js","assets/public-D1nVPEiV.js","assets/chevron-down-CxtxIjiP.js","assets/folder-open-FIShC5Qk.js","assets/useSidebarModel-AYsswvjm.js","assets/board-projects-C7DazgZG.js","assets/badge-CWB3lj2H.js","assets/safe-mode-instance-_WZgKT1M.js","assets/safe-mode-sentinel-CVhmZl77.js","assets/SafeModePrompt-CAfT8lBS.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n}from"./vendor-react-DwNgTV1j.js";import{a as r}from"./i18n-YQ8mc9k7.js";import{t as i}from"./use-i18n-DCxQRXLH.js";import{r as a,t as o}from"./useQuery-DdcpUQhO.js";import{n as s}from"./component-changes-Q9Bf64Ob.js";import{t as c}from"./runtime-capabilities-store-CTtXyNjK.js";import{_ as l,j as u,k as d,n as f,r as p,t as m}from"./session-scope-BnKeB5vZ.js";import"./safe-mode-sentinel-CVhmZl77.js";var h=e(n(),1);function g(e){return e.id===`*`?[u.all]:e.reason===`instances`?[u.instances()]:[u.catalog(),u.describe(e.id),u.errors(e.id),u.versions(e.id),u.trash(),u.instances()]}function _(e){let t=0,n=null,r=null;return{retain(i){r=i,t+=1,n??=e(e=>{for(let t of g(e))Promise.resolve(r?.invalidateQueries({queryKey:t})).catch(()=>void 0)});let a=!1;return()=>{a||(a=!0,--t,!(t>0)&&(n?.(),n=null,r=null))}},users:()=>t}}var v=_(s);function y(e){let t=a();(0,h.useEffect)(()=>e?v.retain(t):void 0,[t,e])}function b(){return c(e=>e.capabilities.features[`components.native`])}function x(){let e=b();return y(e),o(f(e))}function S(e){return y(e),o(p(e))}function C(){return S(b())}function w(e){let t=b(),n=S(t),r=(0,h.useMemo)(()=>(n.data?.instances??[]).filter(t=>t.surface===e&&t.enabled),[n.data,e]),i=o(f(t&&r.length>0));return{available:t,placed:(0,h.useMemo)(()=>{if(!i.data)return[];let e=new Map(i.data.components.map(e=>[e.id,e])),t=[];for(let n of r){let r=e.get(n.componentId);r?.kind===`native`&&r.status===`ready`&&r.enabled&&t.push({instance:n,component:r})}return t},[r,i.data]),revision:n.data?.revision??null,isLoading:t&&(n.isPending||r.length>0&&i.isPending),error:n.error??i.error??null,refetch:()=>{n.refetch(),r.length&&i.refetch()}}}function T(e,t,n){return e.filter(({instance:e})=>m(e.scope,t)).map(({instance:e,component:t})=>({id:e.instanceId,label:e.title||t.manifest?.i18n[n]?.name||t.name}))}function E(){let e=S(b());return(0,h.useMemo)(()=>(e.data?.instances??[]).filter(e=>e.enabled).length,[e.data])}function D(){let{language:e}=i(),t=w(`feature-page`),n=(0,h.useMemo)(()=>t.placed.map(({instance:t,component:n})=>({instanceId:t.instanceId,componentId:n.id,name:n.manifest?.i18n[e]?.name||n.name,description:n.manifest?.i18n[e]?.description||n.description,icon:n.manifest?.icon||``})),[e,t.placed]);return{...t,items:n}}var O=()=>Promise.all([t(()=>import(`./hosts-CwTc21QE.js`),__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,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94])),r()]).then(([e])=>e),k=(0,h.lazy)(()=>O().then(e=>({default:e.ComponentHost}))),A=(0,h.lazy)(()=>O().then(e=>({default:e.FloatingComponents}))),j=(0,h.lazy)(()=>Promise.all([t(()=>import(`./SafeModePrompt-CAfT8lBS.js`),__vite__mapDeps([95,1,3,7,8,2,4,5,9,10,39,35,27,34,37,23,17,38,28,30,93,94])),r()]).then(([e])=>({default:e.SafeModePrompt})));function M(){let e=a();return async()=>{let t=(await l()).components.filter(e=>e.kind===`native`&&e.enabled),n=await Promise.allSettled(t.map(e=>d(e.id,!1)));return e.invalidateQueries({queryKey:u.all}),n.every(e=>e.status===`fulfilled`)}}var N=(0,h.lazy)(()=>O().then(e=>({default:e.OverviewComponents}))),P=(0,h.lazy)(()=>O().then(e=>({default:e.SessionPanelComponent}))),F=(0,h.lazy)(()=>O().then(e=>({default:e.SessionComponentAddMenu})));export{F as a,x as c,b as d,M as f,j as i,C as l,D as m,A as n,P as o,E as p,N as r,T as s,k as t,w as u};
@@ -1,3 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,r as n,u as r}from"./vendor-router-CSN_DGvx.js";import{i,r as a}from"./vendor-react-DwNgTV1j.js";import{t as o}from"./use-i18n-DCxQRXLH.js";import{t as s}from"./calendar-clock-VIxTaqqy.js";import{t as c}from"./chevron-down-CxtxIjiP.js";import{t as l}from"./chevron-left-BAtyp3_6.js";import{t as u}from"./chevron-right-C3t2Rckj.js";import{t as d}from"./copy-DHmIFc52.js";import{t as f}from"./WorkspacePicker-C7hhcfZV.js";import{t as p}from"./monitor-ORxecA9m.js";import{t as m}from"./pencil-U08v_vV9.js";import{t as h}from"./plus-fQbSqB1n.js";import{a as g,c as _,i as v,l as y,n as b,o as x,r as S,s as C,t as w,u as ee}from"./use-open-bot-BTTe7141.js";import{t as T}from"./trash-2-CNrPOoPR.js";import{i as E,n as D,r as O,t as te}from"./accordion-CiJMkjqX.js";import{t as k}from"./switch-D_G8wFhs.js";import{t as ne}from"./segmented-control-xkrEOP_d.js";import{t as re}from"./utils-C8uzG5AZ.js";import{t as A}from"./button-CCcCN8tE.js";import{t as j}from"./input-CPw-zkYh.js";import{t as ie}from"./textarea-DmATpOqT.js";import{t as ae}from"./model-display-kDwvtxrW.js";import{n as M,t as N}from"./PageState-Cz6vFMXv.js";import{t as oe}from"./BotAvatar-CNL-APwP.js";import{t as P}from"./AppSelect-BD6RAaJ5.js";import{C as se,D as ce,O as F,S as le,T as I,_ as L,a as R,b as z,d as B,f as V,g as H,h as U,i as W,l as ue,m as de,n as G,o as K,p as fe,r as q,s as pe,t as me,u as he,v as ge,w as J,y as _e}from"./bots-store-CeTfxdyY.js";import{t as ve}from"./public-flags-KylDNCsK.js";var Y=e(i(),1);function X(e,t){return!t||t.kind===`local`?e(`bots:computer.local`):t.name||e(`bots:computer.unnamed`)}function ye(e,t){return[`npx pisper executor pair --brain ${e.remote.endpoints[0]||t.brain} --fingerprint ${e.remote.fingerprint||t.fingerprint} --code ${e.code} --root ${t.root}`,`npx pisper executor`]}var Z=a();function be({environment:e,onRemoved:t,onError:n}){let{t:r}=o(),[i,a]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(!1),l=async()=>{c(!0);try{await le(e.id),t()}catch(e){n(e instanceof Error?e.message:String(e)),a(!1)}finally{c(!1)}};return(0,Z.jsxs)(`li`,{"data-environment":e.id,className:`flex flex-col gap-1 py-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:re(`size-2 flex-none rounded-full`,e.online?`bg-success`:`bg-content-faint`)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-content`,children:X(r,e)}),(0,Z.jsx)(`span`,{className:`text-xs text-content-muted`,children:e.online?r(`bots:computer.online`):r(`bots:computer.offline`)}),e.kind===`node`&&(i?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>a(!1),children:r(`bots:computer.cancel`)}),(0,Z.jsx)(A,{size:`sm`,variant:`destructive`,disabled:s,onClick:()=>void l(),children:r(`bots:computer.confirmRemove`)})]}):(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,onClick:()=>a(!0),children:r(`bots:computer.remove`)}))]}),e.roots.length>0&&(0,Z.jsx)(`p`,{className:`truncate pl-4 font-mono text-xs text-content-muted`,children:e.roots.join(` · `)}),e.usedBy.length>0&&(0,Z.jsx)(`p`,{className:`pl-4 text-xs text-content-muted`,children:r(`bots:computer.usedBy`,{names:e.usedBy.map(e=>e.name).join(`、`)})})]})}function xe({pairing:e,onDone:t}){let{t:n}=o(),i=r(),[a,s]=(0,Y.useState)(!1),c=ye(e,{brain:n(`bots:computer.brainPlaceholder`),fingerprint:`SHA256:…`,root:n(`bots:computer.rootPlaceholder`)}),l=async()=>{try{await navigator.clipboard.writeText(c.join(`
2
- `)),s(!0)}catch{s(!1)}};return(0,Z.jsxs)(`section`,{"aria-label":n(`bots:computer.addTitle`),className:`mt-2 rounded-xl border border-stroke bg-surface-subtle p-3 text-sm`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`h4`,{className:`font-semibold text-content`,children:n(`bots:computer.addTitle`)}),(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,onClick:t,children:n(`bots:computer.done`)})]}),(0,Z.jsxs)(`p`,{className:`mt-1 text-xs text-content-muted`,children:[n(`bots:computer.code`),` `,(0,Z.jsx)(`b`,{"data-pairing-code":!0,className:`font-mono text-content`,children:e.code}),` `,`· `,n(`bots:computer.codeHint`)]}),!e.remote.enabled&&(0,Z.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 rounded-lg border border-st-attn-border bg-surface-raised px-2.5 py-2 text-xs text-content-secondary`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1`,children:n(`bots:computer.remoteOff`)}),(0,Z.jsx)(A,{size:`sm`,variant:`outline`,onClick:()=>i(`/config/remote-access`),children:n(`bots:computer.openRemote`)})]}),(0,Z.jsx)(`p`,{className:`mt-2 text-xs text-content-muted`,children:n(`bots:computer.runThere`)}),(0,Z.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto rounded-lg bg-surface-raised p-2.5 font-mono text-xs whitespace-pre-wrap break-all text-content-secondary`,children:c.join(`
3
- `)}),(0,Z.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:n(`bots:computer.rootHint`)}),(0,Z.jsxs)(A,{size:`sm`,variant:`outline`,onClick:()=>void l(),children:[(0,Z.jsx)(d,{"aria-hidden":`true`}),n(a?`bots:computer.copied`:`bots:computer.copy`)]})]})]})}function Se({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=G(e=>e.upsert),[s,c]=(0,Y.useState)(e.workspace.environmentId),[l,u]=(0,Y.useState)(e.workspace.cwd),[d,m]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{c(e.workspace.environmentId),u(e.workspace.cwd)},[e.id,e.workspace.environmentId,e.workspace.cwd]);let b=t.find(e=>e.id===s),x=s===`local`,S=s!==e.workspace.environmentId||l.trim()!==e.workspace.cwd,C=async t=>{_(!0);try{a(await J(e.id,{workspace:{...e.workspace,...t}})),n()}catch(e){r(e instanceof Error?e.message:String(e))}finally{_(!1)}},w=async()=>{try{y(await he())}catch(e){r(e instanceof Error?e.message:String(e))}};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.description`)}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:i(`bots:computer.runsOn`)}),(0,Z.jsxs)(P,{value:s,className:`w-48`,"aria-label":i(`bots:computer.runsOn`),disabled:g,onChange:t=>{c(t.target.value),u(t.target.value===e.workspace.environmentId?e.workspace.cwd:``)},children:[t.length===0&&(0,Z.jsx)(`option`,{value:`local`,children:i(`bots:computer.local`)}),t.map(e=>(0,Z.jsx)(`option`,{value:e.id,children:e.kind===`local`?i(`bots:computer.local`):i(`bots:computer.option`,{name:X(i,e),state:e.online?i(`bots:computer.online`):i(`bots:computer.offline`)})},e.id))]})]}),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Z.jsx)(`span`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.folder`)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(p,{className:`size-3.5 flex-none text-content-muted`,"aria-hidden":`true`}),(0,Z.jsx)(j,{value:l,className:`font-mono text-xs`,"aria-label":i(`bots:computer.folder`),placeholder:x?i(`bots:computer.folderPlaceholder`):b?.roots[0]??i(`bots:computer.folderPlaceholder`),disabled:g,onChange:e=>u(e.target.value)}),x&&(0,Z.jsx)(A,{size:`sm`,variant:`outline`,disabled:g,onClick:()=>m(!0),children:i(`bots:new.pick`)})]}),!x&&b&&(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.folderInRoots`,{roots:b.roots.join(`、`)})}),S&&(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(A,{size:`sm`,disabled:g||!l.trim(),onClick:()=>void C({environmentId:s,cwd:l.trim()}),children:i(`bots:computer.switch`)})})]}),(0,Z.jsxs)(`section`,{"aria-label":i(`bots:computer.listTitle`),className:`border-t border-stroke pt-3`,children:[(0,Z.jsx)(`h4`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.listTitle`)}),(0,Z.jsx)(`ul`,{role:`list`,className:`m-0 list-none divide-y divide-stroke p-0`,children:t.map(e=>(0,Z.jsx)(be,{environment:e,onRemoved:n,onError:r},e.id))}),v?(0,Z.jsx)(xe,{pairing:v,onDone:()=>{y(null),n()}}):(0,Z.jsxs)(A,{size:`sm`,variant:`outline`,className:`mt-1`,onClick:()=>void w(),children:[(0,Z.jsx)(h,{"aria-hidden":`true`}),i(`bots:computer.add`)]})]}),(0,Z.jsx)(f,{open:d,initialPath:l||e.workspace.cwd,onOpenChange:m,onSelect:e=>{u(e),m(!1)}})]})}function Ce(e){return`ref`in e?`ref:${e.ref}`:`tier:${e.tier}`}function we(e){return e.startsWith(`ref:`)?{ref:e.slice(4)}:{tier:q.find(t=>`tier:${t}`===e)??`standard`}}function Te({bot:e,saving:t,onSave:n}){let{t:r}=o(),[i,a]=(0,Y.useState)([]);(0,Y.useEffect)(()=>{let e=!0;return H().then(t=>e&&a(t)).catch(()=>e&&a([])),()=>{e=!1}},[]);let s=i.map(e=>e.name),c=Ce(e.model);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:r(`bots:model.model`)}),(0,Z.jsxs)(P,{value:c,className:`w-56`,"aria-label":r(`bots:model.model`),disabled:t,onChange:e=>n({model:we(e.target.value)}),children:[q.map(e=>(0,Z.jsx)(`option`,{value:`tier:${e}`,children:v(r,{tier:e})},e)),`ref`in e.model&&!i.some(e=>`ref:${e.ref}`===c)&&(0,Z.jsx)(`option`,{value:c,children:e.model.ref}),i.map(e=>(0,Z.jsx)(`option`,{value:`ref:${e.ref}`,children:`${ae(e.name,s)} · ${e.providerName}`},e.ref))]})]}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:r(`bots:model.thinking`)}),(0,Z.jsxs)(P,{value:e.thinking??``,className:`w-56`,"aria-label":r(`bots:model.thinking`),disabled:t,onChange:e=>n({thinking:K.find(t=>t===e.target.value)??null}),children:[(0,Z.jsx)(`option`,{value:``,children:r(`bots:model.thinkingDefault`)}),K.map(e=>(0,Z.jsx)(`option`,{value:e,children:g(r,e)},e))]})]}),(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:r(`bots:model.hint`)})]})}function Ee({bot:e,onError:t,onCount:n}){let{t:r}=o(),[i,a]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(``),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{let n=new AbortController;return U(e.id,n.signal).then(e=>a(e)).catch(e=>{n.signal.aborted||(a([]),t(e instanceof Error?e.message:String(e)))}),()=>n.abort()},[e.id,t]),(0,Y.useEffect)(()=>{i&&n?.(i.length)},[i,n]);let p=async e=>{f(!0);try{await e()}catch(e){t(e instanceof Error?e.message:String(e))}finally{f(!1)}},h=()=>p(async()=>{let t=await pe(e.id,s);a(e=>[...(e||[]).filter(e=>e.id!==t.id),t]),c(``)}),g=()=>p(async()=>{if(!l)return;let t=await de(e.id,l.id,l.text);a(e=>(e||[]).map(e=>e.id===t.id?t:e)),u(null)}),_=t=>p(async()=>{await B(e.id,t),a(e=>(e||[]).filter(e=>e.id!==t))});return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{className:`m-0 text-xs text-content-muted`,children:r(`bots:memory.hint`,{name:e.name})}),i&&!i.length&&(0,Z.jsx)(N,{compact:!0,title:r(`bots:memory.empty`,{name:e.name})}),i&&i.length>0&&(0,Z.jsx)(`ul`,{role:`list`,className:`m-0 flex list-none flex-col gap-1.5 p-0`,children:[...i].reverse().map(e=>l?.id===e.id?(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(j,{value:l.text,maxLength:500,"aria-label":r(`bots:memory.editLabel`),onChange:t=>u({id:e.id,text:t.target.value}),onKeyDown:e=>{e.key===`Enter`&&l.text.trim()&&g(),e.key===`Escape`&&u(null)}}),(0,Z.jsx)(A,{size:`sm`,disabled:d||!l.text.trim(),onClick:()=>void g(),children:r(`bots:memory.save`)}),(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,onClick:()=>u(null),children:r(`bots:memory.cancel`)})]},e.id):(0,Z.jsxs)(`li`,{"data-bot-memory":e.id,className:`group flex items-start gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-[13px]`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 text-content`,children:e.text}),(0,Z.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`flex-none pointer-coarse:size-11`,"aria-label":r(`bots:memory.edit`),title:r(`bots:memory.edit`),disabled:d,onClick:()=>u({id:e.id,text:e.text}),children:(0,Z.jsx)(m,{"aria-hidden":`true`})}),(0,Z.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`flex-none pointer-coarse:size-11`,"aria-label":r(`bots:memory.delete`),title:r(`bots:memory.delete`),disabled:d,onClick:()=>void _(e.id),children:(0,Z.jsx)(T,{"aria-hidden":`true`})})]},e.id))}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(j,{value:s,maxLength:500,"aria-label":r(`bots:memory.addLabel`),placeholder:r(`bots:memory.addPlaceholder`),onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&s.trim()&&h()}}),(0,Z.jsx)(A,{size:`sm`,variant:`outline`,disabled:d||!s.trim(),onClick:()=>void h(),children:r(`bots:memory.add`)})]})]})}function De({bot:e,onError:t}){let{t:n}=o(),r=G(e=>e.upsert),[i,a]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(`feishu`),[d,f]=(0,Y.useState)(`p2p`),[p,m]=(0,Y.useState)(``),[h,g]=(0,Y.useState)(``),_=async n=>{c(!0);try{return r(await J(e.id,{channels:n})),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{c(!1)}},v=async()=>{let t=y(p);await _([...e.channels,{platform:l,chatType:d,peerIds:t.length?t:null,senderIds:y(h)}])&&(a(!1),m(``),g(``))};return(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`p`,{className:`mb-2 text-xs text-content-muted`,children:n(`bots:triggers.chatsHint`,{name:e.name})}),e.channels.length>0&&(0,Z.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:e.channels.map((t,r)=>(0,Z.jsxs)(`li`,{"data-bot-channel":t.platform,className:`flex items-start gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsxs)(`b`,{className:`font-medium text-content`,children:[C(n,t.platform),` ·`,` `,t.chatType===`group`?n(`bots:triggers.group`):n(`bots:triggers.p2p`)]}),(0,Z.jsxs)(`span`,{className:`block truncate text-content-muted`,children:[t.peerIds?n(`bots:triggers.peers`,{ids:t.peerIds.join(`、`)}):n(`bots:triggers.allPeers`),` · `,t.senderIds.length?n(`bots:triggers.senders`,{ids:t.senderIds.join(`、`)}):n(`bots:triggers.ownerOnly`)]})]}),(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>void _(e.channels.filter((e,t)=>t!==r)),children:n(`bots:triggers.remove`)})]},`${t.platform}-${r}`))}),i?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(P,{value:l,className:`w-32`,"aria-label":n(`bots:triggers.platform`),onChange:e=>u(e.target.value),children:W.map(e=>(0,Z.jsx)(`option`,{value:e,children:C(n,e)},e))}),(0,Z.jsx)(ne,{value:d,onValueChange:e=>f(e),options:[{value:`p2p`,label:n(`bots:triggers.p2p`)},{value:`group`,label:n(`bots:triggers.group`)}]})]}),(0,Z.jsx)(j,{value:p,"aria-label":n(`bots:triggers.peerIds`),placeholder:n(`bots:triggers.peerIdsPlaceholder`),onChange:e=>m(e.target.value)}),(0,Z.jsx)(j,{value:h,"aria-label":n(`bots:triggers.senderIds`),placeholder:n(d===`group`?`bots:triggers.senderIdsRequired`:`bots:triggers.senderIdsPlaceholder`),onChange:e=>g(e.target.value)}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,onClick:()=>a(!1),children:n(`bots:triggers.cancel`)}),(0,Z.jsx)(A,{size:`sm`,disabled:s||d===`group`&&!y(h).length,onClick:()=>void v(),children:n(`bots:triggers.add`)})]})]}):(0,Z.jsx)(A,{size:`sm`,variant:`outline`,onClick:()=>a(!0),children:n(`bots:triggers.addChat`)})]})}var Oe=[1,2,3,4,5,6,0];function Q(){let e=new Date,t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function $({bot:e,initialMessage:t=``,onCancel:n,onCreated:r,onError:i}){let{t:a}=o(),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(t),[d,f]=(0,Y.useState)(t?`weekly`:`daily`),[p,m]=(0,Y.useState)(`09:00`),[h,g]=(0,Y.useState)(Q),[_,v]=(0,Y.useState)(t?5:1),y=async()=>{let t=l.trim();c(!0);try{await ue({botId:e.id,name:`${e.name}:${t.slice(0,40)}`,botMessage:t,frequency:d,time:p,date:d===`once`?h:``,dayOfWeek:_,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Hong_Kong`}),r()}catch(e){i(e instanceof Error?e.message:String(e))}finally{c(!1)}};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,Z.jsx)(j,{value:l,maxLength:12e3,"aria-label":a(`bots:triggers.scheduleMessage`),placeholder:a(`bots:triggers.scheduleMessagePlaceholder`),onChange:e=>u(e.target.value)}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(P,{value:d,className:`w-28`,"aria-label":a(`bots:triggers.frequency`),onChange:e=>f(e.target.value),children:[(0,Z.jsx)(`option`,{value:`daily`,children:a(`bots:triggers.daily`)}),(0,Z.jsx)(`option`,{value:`weekly`,children:a(`bots:triggers.weekly`)}),(0,Z.jsx)(`option`,{value:`once`,children:a(`bots:triggers.once`)})]}),d===`weekly`&&(0,Z.jsx)(P,{value:String(_),className:`w-24`,"aria-label":a(`bots:triggers.weekday`),onChange:e=>v(Number(e.target.value)),children:Oe.map(e=>(0,Z.jsx)(`option`,{value:e,children:ee(a,e)},e))}),d===`once`&&(0,Z.jsx)(j,{type:`date`,value:h,className:`w-40`,"aria-label":a(`bots:triggers.date`),onChange:e=>g(e.target.value)}),(0,Z.jsx)(j,{type:`time`,value:p,className:`w-28`,"aria-label":a(`bots:triggers.time`),onChange:e=>m(e.target.value)})]}),(0,Z.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,onClick:n,children:a(`bots:triggers.cancel`)}),(0,Z.jsx)(A,{size:`sm`,disabled:s||!l.trim(),onClick:()=>void y(),children:a(`bots:triggers.add`)})]})]})}function ke({bot:e,onError:t}){let{t:n}=o(),[r,i]=(0,Y.useState)([]),[a,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(!1),u=(0,Y.useCallback)(async()=>{try{i(await L(e.id))}catch{}},[e.id]);(0,Y.useEffect)(()=>{u()},[u]);let d=async e=>{l(!0);try{await e(),await u()}catch(e){t(e instanceof Error?e.message:String(e))}finally{l(!1)}};return(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[r.length>0&&(0,Z.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{"data-bot-schedule":e.id,className:`flex items-center gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-xs`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`b`,{className:`block truncate font-medium text-content`,children:e.botMessage}),(0,Z.jsx)(`span`,{className:`text-content-muted`,children:_(n,e)})]}),(0,Z.jsx)(k,{checked:e.enabled,disabled:c,"aria-label":n(`bots:triggers.scheduleEnabled`),onCheckedChange:t=>void d(()=>se(e.id,t))}),(0,Z.jsx)(A,{size:`sm`,variant:`ghost`,disabled:c,onClick:()=>void d(()=>V(e.id)),children:n(`bots:triggers.remove`)})]},e.id))}),a?(0,Z.jsx)($,{bot:e,onCancel:()=>s(!1),onCreated:()=>{s(!1),u()},onError:t}):(0,Z.jsx)(A,{size:`sm`,variant:`outline`,onClick:()=>s(!0),children:n(`bots:triggers.addSchedule`)})]})}function Ae({bot:e,onError:t,onCount:n}){let{t:r}=o(),[i,a]=(0,Y.useState)(null),[l,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{let n=new AbortController;return _e(e.id,n.signal).then(e=>a(e)).catch(e=>{n.signal.aborted||(a([]),t(e instanceof Error?e.message:String(e)))}),()=>n.abort()},[e.id,t]),(0,Y.useEffect)(()=>{i&&n?.(i.length)},[i,n]);let g=n=>{if(l?.name===n){d(null);return}d({name:n,body:null}),ge(e.id,n).then(e=>d(t=>t?.name===n?{name:n,body:e.body}:t)).catch(e=>{d(null),t(e instanceof Error?e.message:String(e))})},_=async n=>{h(!0);try{await fe(e.id,n),a(e=>(e||[]).filter(e=>e.name!==n)),l?.name===n&&d(null)}catch(e){t(e instanceof Error?e.message:String(e))}finally{h(!1)}};return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`p`,{className:`m-0 text-xs text-content-muted`,children:r(`bots:skills.hint`,{name:e.name})}),i&&!i.length&&(0,Z.jsx)(N,{compact:!0,title:r(`bots:skills.empty`,{name:e.name})}),i&&i.length>0&&(0,Z.jsx)(`ul`,{role:`list`,className:`m-0 flex list-none flex-col gap-1.5 p-0`,children:i.map(n=>{let i=l?.name===n.name;return(0,Z.jsxs)(`li`,{"data-bot-skill":n.name,className:`flex flex-col gap-2 rounded-lg bg-surface-subtle px-2.5 py-2 text-[13px]`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Z.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-start gap-1.5 text-left`,"aria-expanded":i,onClick:()=>g(n.name),children:[i?(0,Z.jsx)(c,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 flex-none`}):(0,Z.jsx)(u,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 flex-none`}),(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`b`,{className:`block truncate font-medium text-content`,children:n.name}),(0,Z.jsx)(`span`,{className:`block text-xs text-content-muted`,children:n.description})]})]}),(0,Z.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`flex-none pointer-coarse:size-11`,"aria-label":r(`bots:skills.schedule`),title:r(`bots:skills.schedule`),disabled:m,onClick:()=>p(e=>e===n.name?``:n.name),children:(0,Z.jsx)(s,{"aria-hidden":`true`})}),(0,Z.jsx)(A,{type:`button`,variant:`ghost`,size:`icon-xs`,className:`flex-none pointer-coarse:size-11`,"aria-label":r(`bots:skills.delete`),title:r(`bots:skills.delete`),disabled:m,onClick:()=>void _(n.name),children:(0,Z.jsx)(T,{"aria-hidden":`true`})})]}),i&&(0,Z.jsx)(`pre`,{className:`m-0 max-h-72 overflow-auto rounded-md bg-surface px-2.5 py-2 text-xs whitespace-pre-wrap text-content`,children:l.body??r(`bots:skills.loading`)}),f===n.name&&(0,Z.jsx)($,{bot:e,initialMessage:r(`bots:skills.scheduleMessage`,{name:n.name}),onCancel:()=>p(``),onCreated:()=>p(``),onError:t})]},n.name)})})]})}function je({bot:e,saving:t,onSave:n}){let{t:r}=o(),[i,a]=(0,Y.useState)(e.proactive.briefAt);return(0,Y.useEffect)(()=>a(e.proactive.briefAt),[e.id,e.proactive.briefAt]),(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{children:r(`bots:proactive.check`)}),(0,Z.jsx)(k,{checked:e.proactive.enabled,disabled:t,onCheckedChange:e=>n({enabled:e})})]}),e.proactive.enabled&&(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:r(`bots:proactive.every`)}),(0,Z.jsx)(P,{value:String(e.proactive.everyHours),className:`w-44`,"aria-label":r(`bots:proactive.every`),disabled:t,onChange:e=>n({everyHours:Number(e.target.value)}),children:R.map(e=>(0,Z.jsx)(`option`,{value:e,children:r(`bots:proactive.everyHours`,{count:e})},e))})]}),(0,Z.jsx)(`p`,{className:`m-0 text-xs text-content-muted`,children:r(`bots:proactive.checkHint`,{name:e.name})}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{children:r(`bots:proactive.brief`)}),(0,Z.jsx)(k,{checked:e.proactive.brief,disabled:t,onCheckedChange:e=>n({brief:e})})]}),e.proactive.brief&&(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:r(`bots:proactive.briefAt`)}),(0,Z.jsx)(j,{type:`time`,value:i,className:`w-44`,"aria-label":r(`bots:proactive.briefAt`),disabled:t,onChange:e=>a(e.target.value),onBlur:()=>{/^\d{2}:\d{2}$/.test(i)&&i!==e.proactive.briefAt&&n({briefAt:i})}})]}),(0,Z.jsx)(`p`,{className:`m-0 text-xs text-content-muted`,children:r(`bots:proactive.briefHint`)})]})}function Me({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=G(e=>e.upsert),[s,c]=(0,Y.useState)(e.instructions),[l,u]=(0,Y.useState)(!1),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(null),[h,_]=(0,Y.useState)(null);(0,Y.useEffect)(()=>c(e.instructions),[e.id,e.instructions]);let y=async t=>{u(!0);try{a(await J(e.id,t))}catch(e){r(e instanceof Error?e.message:String(e))}finally{u(!1)}},b=t.find(t=>t.id===e.workspace.environmentId),C=e.workspace.cwd.split(/[\\/]/).filter(Boolean).at(-1)||e.workspace.cwd;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-4 pb-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(oe,{avatar:e.avatar,state:ce(e),size:48}),(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:`truncate text-base font-semibold text-content`,children:e.name}),(0,Z.jsx)(`button`,{type:`button`,className:`text-xs text-content-muted underline-offset-2 hover:text-content hover:underline`,onClick:()=>f(e=>!e),children:i(d?`bots:settings.doneLook`:`bots:settings.changeLook`)})]})]}),d&&(0,Z.jsx)(S,{value:e.avatar,disabled:l,onChange:e=>void y({avatar:e})}),(0,Z.jsxs)(`section`,{"aria-label":i(`bots:details.instructions`),children:[(0,Z.jsx)(`h3`,{className:`mb-1 text-sm font-medium text-content`,children:i(`bots:details.instructions`)}),(0,Z.jsx)(ie,{value:s,rows:4,maxLength:12e3,"aria-label":i(`bots:details.instructions`),placeholder:i(`bots:details.instructionsPlaceholder`),onChange:e=>c(e.target.value)}),s!==e.instructions&&(0,Z.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,Z.jsx)(A,{size:`sm`,disabled:l,onClick:()=>void y({instructions:s}),children:i(`bots:details.save`)})})]}),(0,Z.jsxs)(te,{type:`multiple`,className:`border-t border-stroke`,children:[(0,Z.jsxs)(O,{value:`computer`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.computer`),(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.computerSummary`,{computer:X(i,b),folder:C})})]})}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(Se,{bot:e,environments:t,onEnvironmentsChanged:n,onError:r})})]}),(0,Z.jsxs)(O,{value:`memory`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:memory.title`),p!==null&&(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:memory.count`,{count:p})})]})}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(Ee,{bot:e,onError:r,onCount:m})})]}),(0,Z.jsxs)(O,{value:`skills`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:skills.title`),h!==null&&(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:skills.count`,{count:h})})]})}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(Ae,{bot:e,onError:r,onCount:_})})]}),(0,Z.jsxs)(O,{value:`proactive`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:proactive.title`),(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:e.proactive.enabled||e.proactive.brief?[e.proactive.enabled?i(`bots:proactive.summaryCheck`,{count:e.proactive.everyHours}):``,e.proactive.brief?i(`bots:proactive.summaryBrief`,{time:e.proactive.briefAt}):``].filter(Boolean).join(` · `):i(`bots:proactive.off`)})]})}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(je,{bot:e,saving:l,onSave:e=>void y({proactive:e})})})]}),(0,Z.jsxs)(O,{value:`model`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:model.title`),(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:model.summary`,{model:v(i,e.model),thinking:g(i,e.thinking)})})]})}),(0,Z.jsx)(D,{className:`flex h-auto flex-col gap-3`,children:(0,Z.jsx)(Te,{bot:e,saving:l,onSave:e=>void y(e)})})]}),(0,Z.jsxs)(O,{value:`chats`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:triggers.chats`),(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:e.channels.length?i(`bots:settings.chatsCount`,{count:e.channels.length}):i(`bots:settings.notSet`)})]})}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(De,{bot:e,onError:r})})]}),(0,Z.jsxs)(O,{value:`schedules`,children:[(0,Z.jsx)(E,{children:i(`bots:triggers.schedules`)}),(0,Z.jsx)(D,{className:`h-auto`,children:(0,Z.jsx)(ke,{bot:e,onError:r})})]}),(0,Z.jsxs)(O,{value:`advanced`,children:[(0,Z.jsx)(E,{children:(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.advanced`),(0,Z.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.advancedSummary`,{permission:x(i,e.executionMode)})})]})}),(0,Z.jsxs)(D,{className:`flex h-auto flex-col gap-3`,children:[(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{children:i(`bots:details.acceptsWork`)}),(0,Z.jsx)(k,{checked:e.enabled,disabled:l,onCheckedChange:e=>void y({enabled:e})})]}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.permission`)}),(0,Z.jsx)(P,{value:e.executionMode,className:`w-44`,"aria-label":i(`bots:details.permission`),disabled:l,onChange:e=>void y({executionMode:e.target.value}),children:[`approval-required`,`workspace-write`,`full-access`].map(e=>(0,Z.jsx)(`option`,{value:e,children:x(i,e)},e))})]}),(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.permissionHint`)}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.tools`)}),(0,Z.jsxs)(P,{value:F(e.tools),className:`w-44`,"aria-label":i(`bots:details.tools`),disabled:l,onChange:e=>void y({tools:e.target.value===`read-only`?[...I]:null}),children:[(0,Z.jsx)(`option`,{value:`all`,children:i(`bots:details.toolsAll`)}),(0,Z.jsx)(`option`,{value:`read-only`,children:i(`bots:details.toolsReadOnly`)}),F(e.tools)===`custom`&&(0,Z.jsx)(`option`,{value:`custom`,disabled:!0,children:i(`bots:details.toolsCustom`,{count:e.tools?.length??0})})]})]}),(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.toolsHint`)}),(0,Z.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,Z.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.parallel`)}),(0,Z.jsx)(P,{value:String(e.maxParallelAgents),className:`w-44`,"aria-label":i(`bots:details.parallel`),disabled:l,onChange:e=>void y({maxParallelAgents:Number(e.target.value)}),children:[1,2,3,4,5,6].map(e=>(0,Z.jsx)(`option`,{value:e,children:i(`bots:details.parallelCount`,{count:e})},e))})]}),(0,Z.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.parallelHint`)})]})]})]})]})}var Ne={enabled:!1,endpoints:[],fingerprint:null};function Pe(){let[e,t]=(0,Y.useState)([]),[n,r]=(0,Y.useState)(Ne),[i,a]=(0,Y.useState)(!1),o=(0,Y.useRef)(0),s=(0,Y.useCallback)(async()=>{let e=++o.current;try{let n=await z();if(e!==o.current)return;t(n.environments),r(n.remote)}catch{}finally{e===o.current&&a(!0)}},[]);return(0,Y.useEffect)(()=>{s();let e=window.setInterval(()=>{document.visibilityState===`visible`&&s()},1e4);return()=>{window.clearInterval(e),o.current+=1}},[s]),{environments:e,remote:n,loaded:i,refresh:s}}function Fe({notify:e}){let{t:i}=o(),a=ve(`bots`),{botId:s=``}=t(),c=r(),l=G(e=>e.bots),u=G(e=>e.loaded),[d,f]=(0,Y.useState)(!1),p=(0,Y.useCallback)(t=>e(t,`error`),[e]),m=w(p);me(a);let g=l.find(e=>e.id===s)??null;return a?u?!s&&l[0]?(0,Z.jsx)(n,{to:`/bots/${encodeURIComponent(l[0].id)}`,replace:!0}):g?(0,Z.jsx)(Ie,{botId:g.id,onOpenChat:()=>void m(g),onError:p},g.id):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(M,{kind:`empty`,title:l.length?i(`bots:page.notFound`):i(`bots:page.emptyTitle`),description:i(`bots:page.emptyDescription`),action:(0,Z.jsxs)(A,{onClick:()=>f(!0),children:[(0,Z.jsx)(h,{"aria-hidden":`true`}),i(`bots:sidebar.newBot`)]})}),(0,Z.jsx)(b,{open:d,onOpenChange:f,onCreated:e=>void m(e)})]}):(0,Z.jsx)(M,{kind:`loading`,title:i(`bots:page.loading`)}):(0,Z.jsx)(M,{kind:`empty`,title:i(`bots:page.disabledTitle`),description:i(`bots:page.disabledDescription`),action:(0,Z.jsx)(A,{onClick:()=>c(`/config/labs`),children:i(`bots:page.openLabs`)})})}function Ie({botId:e,onOpenChat:t,onError:n}){let{t:r}=o(),i=G(t=>t.bots.find(t=>t.id===e)),a=G(e=>e.load),s=Pe();return i?(0,Z.jsxs)(`div`,{"data-bot-settings":i.id,className:`flex h-full min-h-0 w-full min-w-0 flex-col`,children:[(0,Z.jsxs)(`header`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center gap-2 border-b border-stroke px-3 [[data-custom-titlebar]_&]:pr-[144px]`,children:[(0,Z.jsxs)(A,{variant:`ghost`,size:`sm`,onClick:t,children:[(0,Z.jsx)(l,{"aria-hidden":`true`}),r(`bots:settingsPage.backToChat`,{name:i.name})]}),(0,Z.jsx)(`h1`,{className:`sr-only`,children:r(`bots:settingsPage.title`,{name:i.name})})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,Z.jsx)(`div`,{className:`mx-auto w-[min(640px,calc(100%-32px))] py-6`,children:(0,Z.jsx)(Me,{bot:i,environments:s.environments,onEnvironmentsChanged:()=>{s.refresh(),a()},onError:n})})})]}):null}export{Fe as BotsPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./GitDiffViewer-CypHOHdP.js";export{e as InlineGitDiff};
@@ -1 +0,0 @@
1
- import"./events-C7sXXop4.js";
@@ -1 +0,0 @@
1
- import{t as e}from"./index-DjSjahBi.js";var t=`pisper-components-safe-mode`;function n(){try{return e.getItem(t)!==null}catch{return!1}}export{n,t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./check-2vYc6QaP.js";import{t as a}from"./chevron-down-CxtxIjiP.js";import{t as o}from"./chevron-up-D_ZcXjqr.js";import{n as s,r as c,t as l}from"./dist-V8chnW6-.js";import{a as u,n as d}from"./dist-41X0pdUs.js";import{a as f,c as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./dist-BsRXXcSL.js";import{n as b}from"./dist-BiRPwy4W.js";import{n as x,t as S}from"./dist-DzGQ7sLi.js";import{a as C,i as w,n as T,r as E,s as D,t as ee}from"./es2015-DTZdOI9P.js";import{a as O,i as k,r as A,t as j}from"./dist-BRjj4UeB.js";import{t as M}from"./utils-C8uzG5AZ.js";var N=e(t(),1),P=e(n(),1),F=r(),I=Object.defineProperty,L=(e,t)=>I(e,`name`,{value:t,configurable:!0}),R=[` `,`Enter`,`ArrowUp`,`ArrowDown`],z=[` `,`Enter`],B=`Select`,[V,H,U]=x(B),[W,G]=v(B,[U,O]),K=O(),[te,q]=W(B),[ne,re]=W(B);function ie(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:g,internal_do_not_use_render:_}=e,v=K(t),[y,b]=N.useState(null),[x,C]=N.useState(null),[w,T]=N.useState(!1),E=S(l),[D,ee]=m({prop:r,defaultProp:i??!1,onChange:a,caller:B}),[O,A]=m({prop:o,defaultProp:s,onChange:c,caller:B}),j=N.useRef(null),M=N.useRef(O);N.useEffect(()=>{let e=g?y?.ownerDocument.getElementById(g):y?.form;if(e instanceof HTMLFormElement){let t=L(()=>A(M.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[g,y,A]);let P=!y||!!g||!!y.closest(`form`),[I,R]=N.useState(new Set),z=h(),H=Array.from(I).map(e=>e.props.value).join(`;`),U=N.useCallback(e=>{R(t=>new Set(t).add(e))},[]),W=N.useCallback(e=>{R(t=>{let n=new Set(t);return n.delete(e),n})},[]),G={required:p,trigger:y,onTriggerChange:b,valueNode:x,onValueNodeChange:C,valueNodeHasChildren:w,onValueNodeHasChildrenChange:T,contentId:z,value:O,onValueChange:A,open:D,onOpenChange:ee,dir:E,triggerPointerDownPosRef:j,disabled:f,name:u,autoComplete:d,form:g,nativeOptions:I,nativeSelectKey:H,isFormControl:P};return(0,F.jsx)(k,{...v,children:(0,F.jsx)(te,{scope:t,...G,children:(0,F.jsx)(V.Provider,{scope:t,children:(0,F.jsx)(ne,{scope:t,onNativeOptionAdd:U,onNativeOptionRemove:W,children:Be(_)?_(G):n})})})})}L(ie,`SelectProvider`);var J=L(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,F.jsx)(ie,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,F.jsxs)(F.Fragment,{children:[n,e?(0,F.jsx)(ze,{__scopeSelect:t}):null]})})},`Select`),ae=`SelectTrigger`,oe=N.forwardRef(L(function(e,t){let{__scopeSelect:n,disabled:r=!1,...i}=e,a=K(n),o=q(ae,n),s=o.disabled||r,c=u(t,o.onTriggerChange),l=H(n),d=N.useRef(`touch`),[f,m,h]=Ve(e=>{let t=l().filter(e=>!e.disabled),n=He(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),_=L(e=>{s||(o.onOpenChange(!0),h()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,F.jsx)(j,{asChild:!0,...a,children:(0,F.jsx)(p.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":$(o.value)?``:void 0,...i,ref:c,onClick:g(i.onClick,e=>{e.currentTarget.focus(),d.current!==`mouse`&&_(e)}),onPointerDown:g(i.onPointerDown,e=>{d.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:g(i.onKeyDown,e=>{let t=f.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&m(e.key),!(t&&e.key===` `)&&R.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),se=`SelectValue`,ce=N.forwardRef(L(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=q(se,n),{onValueNodeHasChildrenChange:l}=c,d=a!==void 0,m=u(t,c.onValueNodeChange);f(()=>{l(d)},[l,d]);let h=$(c.value);return(0,F.jsx)(p.span,{...s,asChild:!h&&s.asChild,ref:m,style:{pointerEvents:`none`},children:(0,F.jsx)(N.Fragment,{children:h?o:a},h?`placeholder`:`value`)})},`SelectValue`)),le=N.forwardRef(L(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,F.jsx)(p.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[ue,de]=W(`SelectPortal`,{forceMount:void 0}),fe=L(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,F.jsx)(ue,{scope:e.__scopeSelect,forceMount:n,children:(0,F.jsx)(w,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,pe=N.forwardRef(L(function(e,t){let n=de(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=q(Y,e.__scopeSelect),[o,s]=N.useState();return f(()=>{s(new DocumentFragment)},[]),(0,F.jsx)(_,{present:r||a.open,children:({present:e})=>e?(0,F.jsx)(_e,{...i,ref:t}):(0,F.jsx)(me,{...i,fragment:o})})},`SelectContent`)),me=N.forwardRef(L(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?P.createPortal((0,F.jsx)(he,{scope:n,children:(0,F.jsx)(V.Slot,{scope:n,children:(0,F.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[he,Z]=W(Y),ge=d(`SelectContent.RemoveScroll`),_e=N.forwardRef(L(function(e,t){let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:m,sticky:h,hideWhenDetached:_,avoidCollisions:v,...y}=e,b=q(Y,n),[x,S]=N.useState(null),[w,O]=N.useState(null),k=u(t,S),[A,j]=N.useState(null),[M,P]=N.useState(null),I=H(n),[R,z]=N.useState(!1),B=N.useRef(!1);N.useEffect(()=>{if(x)return ee(x)},[x]),E();let V=N.useCallback(e=>{let[t,...n]=I().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&w&&(w.scrollTop=0),n===r&&w&&(w.scrollTop=w.scrollHeight),n?.focus(),document.activeElement!==i))return},[I,w]),U=N.useCallback(()=>V([A,x]),[V,A,x]);N.useEffect(()=>{R&&U()},[R,U]);let{onOpenChange:W,triggerPointerDownPosRef:G}=b;N.useEffect(()=>{if(x){let e={x:0,y:0},t=L(t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},`handlePointerMove`),n=L(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(x)||W(!1),document.removeEventListener(`pointermove`,t),G.current=null},`handlePointerUp`);return G.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[x,W,G]),N.useEffect(()=>{let e=L(()=>W(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[W]);let[K,te]=Ve(e=>{let t=I().filter(e=>!e.disabled),n=He(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),ne=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(b.value!==void 0&&b.value===t||r)&&(j(e),r&&(B.current=!0))},[b.value]),re=N.useCallback(()=>x?.focus(),[x]),ie=N.useCallback((e,t,n)=>{let r=!B.current&&!n;(b.value!==void 0&&b.value===t||r)&&P(e)},[b.value]),J=r===`popper`?ye:ve,ae=J===ye?{side:s,sideOffset:c,align:l,alignOffset:d,arrowPadding:f,collisionBoundary:p,collisionPadding:m,sticky:h,hideWhenDetached:_,avoidCollisions:v}:{};return(0,F.jsx)(he,{scope:n,content:x,viewport:w,onViewportChange:O,itemRefCallback:ne,selectedItem:A,onItemLeave:re,itemTextRefCallback:ie,focusSelectedItem:U,selectedItemText:M,position:r,isPositioned:R,searchRef:K,children:(0,F.jsx)(T,{as:ge,allowPinchZoom:!0,children:(0,F.jsx)(C,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:g(i,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,F.jsx)(D,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,F.jsx)(J,{role:`listbox`,id:b.contentId,"data-state":b.open?`open`:`closed`,dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...ae,onPlaced:()=>z(!0),ref:k,style:{display:`flex`,flexDirection:`column`,outline:`none`,...y.style},onKeyDown:g(y.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&te(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=I().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>V(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),ve=N.forwardRef(L(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=q(Y,n),o=Z(Y,n),[s,c]=N.useState(null),[d,m]=N.useState(null),h=u(t,m),g=H(n),_=N.useRef(!1),v=N.useRef(!0),{viewport:y,selectedItem:b,selectedItemText:x,focusSelectedItem:S}=o,C=N.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&d&&y&&b&&x){let e=a.trigger.getBoundingClientRect(),t=d.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=x.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,u=Math.max(c,t.width),d=window.innerWidth-X,f=l(a,[X,Math.max(X,d-u)]);s.style.minWidth=c+`px`,s.style.left=f+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,u=Math.max(c,t.width),d=window.innerWidth-X,f=l(a,[X,Math.max(X,d-u)]);s.style.minWidth=c+`px`,s.style.right=f+`px`}let o=g(),c=window.innerHeight-X*2,u=y.scrollHeight,f=window.getComputedStyle(d),p=parseInt(f.borderTopWidth,10),m=parseInt(f.paddingTop,10),h=parseInt(f.borderBottomWidth,10),v=parseInt(f.paddingBottom,10),S=p+m+u+v+h,C=Math.min(b.offsetHeight*5,S),w=window.getComputedStyle(y),T=parseInt(w.paddingTop,10),E=parseInt(w.paddingBottom,10),D=e.top+e.height/2-X,ee=c-D,O=b.offsetHeight/2,k=b.offsetTop+O,A=p+m+k,j=S-A;if(A<=D){let e=o.length>0&&b===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=d.clientHeight-y.offsetTop-y.offsetHeight,n=A+Math.max(ee,O+(e?E:0)+t+h);s.style.height=n+`px`}else{let e=o.length>0&&b===o[0].ref.current;s.style.top=`0px`;let t=Math.max(D,p+y.offsetTop+(e?T:0)+O)+j;s.style.height=t+`px`,y.scrollTop=A-D+y.offsetTop}s.style.margin=`${X}px 0`,s.style.minHeight=C+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>_.current=!0)}},[g,a.trigger,a.valueNode,s,d,y,b,x,a.dir,r]);f(()=>C(),[C]);let[w,T]=N.useState();f(()=>{d&&T(window.getComputedStyle(d).zIndex)},[d]);let E=N.useCallback(e=>{e&&v.current===!0&&(C(),S?.(),v.current=!1)},[C,S]);return(0,F.jsx)(be,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:_,onScrollButtonChange:E,children:(0,F.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:w},children:(0,F.jsx)(p.div,{...i,ref:h,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),ye=N.forwardRef(L(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=K(n);return(0,F.jsx)(A,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})},`SelectPopperPosition`)),[be,xe]=W(Y,{}),Se=`SelectViewport`,Ce=N.forwardRef(L(function(e,t){let{__scopeSelect:n,nonce:r,...i}=e,a=Z(Se,n),o=xe(Se,n),s=u(t,a.onViewportChange),c=N.useRef(0);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,F.jsx)(V.Slot,{scope:n,children:(0,F.jsx)(p.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:g(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})},`SelectViewport`)),[we,Te]=W(`SelectGroup`),Ee=`SelectItem`,[De,Oe]=W(Ee),ke=N.forwardRef(L(function(e,t){let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=q(Ee,n),c=Z(Ee,n),l=s.value===r,[d,f]=N.useState(a??``),[m,_]=N.useState(!1),v=y(e=>c.itemRefCallback?.(e,r,i)),b=u(t,v),x=h(),S=N.useRef(`touch`),C=L(()=>{i||(s.onValueChange(r),s.onOpenChange(!1))},`handleSelect`);return(0,F.jsx)(De,{scope:n,value:r,disabled:i,textId:x,isSelected:l,onItemTextChange:N.useCallback(e=>{f(t=>t||(e?.textContent??``).trim())},[]),children:(0,F.jsx)(V.ItemSlot,{scope:n,value:r,disabled:i,textValue:d,children:(0,F.jsx)(p.div,{role:`option`,"aria-labelledby":x,"data-highlighted":m?``:void 0,"aria-selected":l&&m,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:b,onFocus:g(o.onFocus,()=>_(!0)),onBlur:g(o.onBlur,()=>_(!1)),onClick:g(o.onClick,()=>{S.current!==`mouse`&&C()}),onPointerUp:g(o.onPointerUp,()=>{S.current===`mouse`&&C()}),onPointerDown:g(o.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:g(o.onPointerMove,e=>{S.current=e.pointerType,i?c.onItemLeave?.():S.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:g(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:g(o.onKeyDown,e=>{i||e.target!==e.currentTarget||(c.searchRef?.current===``||e.key!==` `)&&(z.includes(e.key)&&C(),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Ae=N.forwardRef(L(function(e,t){let{__scopeSelect:n,className:r,style:i,...a}=e,o=q(Q,n),s=Z(Q,n),c=Oe(Q,n),l=re(Q,n),[d,m]=N.useState(null),h=y(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),g=u(t,m,c.onItemTextChange,h),_=d?.textContent,v=N.useMemo(()=>(0,F.jsx)(`option`,{value:c.value,disabled:c.disabled,children:_},c.value),[c.disabled,c.value,_]),{onNativeOptionAdd:b,onNativeOptionRemove:x}=l;return f(()=>(b(v),()=>x(v)),[b,x,v]),(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(p.span,{id:c.textId,...a,ref:g}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!$(o.value)?P.createPortal(a.children,o.valueNode):null]})},`SelectItemText`)),je=`SelectItemIndicator`,Me=N.forwardRef(L(function(e,t){let{__scopeSelect:n,...r}=e;return Oe(je,n).isSelected?(0,F.jsx)(p.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Ne=`SelectScrollUpButton`,Pe=N.forwardRef(L(function(e,t){let n=Z(Ne,e.__scopeSelect),r=xe(Ne,e.__scopeSelect),[i,a]=N.useState(!1),o=u(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)};L(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,F.jsx)(Le,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),Fe=`SelectScrollDownButton`,Ie=N.forwardRef(L(function(e,t){let n=Z(Fe,e.__scopeSelect),r=xe(Fe,e.__scopeSelect),[i,a]=N.useState(!1),o=u(t,r.onScrollButtonChange);return f(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};L(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,F.jsx)(Le,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Le=N.forwardRef(L(function(e,t){let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=Z(`SelectScrollButton`,n),o=N.useRef(null),s=H(n),c=N.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return N.useEffect(()=>()=>c(),[c]),f(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,F.jsx)(p.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:g(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:g(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:g(i.onPointerLeave,()=>{c()})})},`SelectScrollButtonImpl`)),Re=`SelectBubbleInput`,ze=N.forwardRef(L(function({__scopeSelect:e,...t},n){let r=q(Re,e),{value:i,onValueChange:a,required:o,disabled:c,name:l,autoComplete:d,form:f}=r,{nativeOptions:m,nativeSelectKey:h}=r,g=N.useRef(null),_=u(n,g),v=i??``,y=s(v),x=Array.from(m).some(e=>(e.props.value??``)===``);return N.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(y!==v&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,v),e.dispatchEvent(t)}},[y,v]),(0,F.jsxs)(p.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:l,autoComplete:d,disabled:c,form:f,onChange:e=>a(e.target.value),...t,style:{...b,...t.style},ref:_,defaultValue:v,children:[$(i)&&!x?(0,F.jsx)(`option`,{value:``}):null,Array.from(m)]},h)},`SelectBubbleInput`));function Be(e){return typeof e==`function`}L(Be,`isFunction`);function $(e){return e===``||e===void 0}L($,`shouldShowPlaceholder`);function Ve(e){let t=y(e),n=N.useRef(``),r=N.useRef(0),i=N.useCallback(e=>{let i=n.current+e;t(i),L((function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))}),`updateSearch`)(i)},[t]),a=N.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return N.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}L(Ve,`useTypeaheadSearch`);function He(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Ue(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}L(He,`findNextItem`);function Ue(e,t){return e.map((n,r)=>e[(t+r)%e.length])}L(Ue,`wrapArray`);function We({...e}){return(0,F.jsx)(J,{"data-slot":`select`,...e})}function Ge({...e}){return(0,F.jsx)(ce,{"data-slot":`select-value`,...e})}function Ke({className:e,size:t=`default`,children:n,...r}){return(0,F.jsxs)(oe,{"data-slot":`select-trigger`,"data-size":t,className:M(`flex w-fit items-center justify-between gap-1.5 rounded-sm border border-input bg-panel py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-[border-color,box-shadow] outline-none select-none focus-visible:border-focus focus-visible:ring-3 focus-visible:ring-focus-ring disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 max-[650px]:min-h-11 pointer-coarse:min-h-11 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,F.jsx)(le,{asChild:!0,children:(0,F.jsx)(c,{className:`pointer-events-none size-3.5 text-muted-foreground`})})]})}function qe({className:e,children:t,position:n=`popper`,align:r=`start`,...i}){return(0,F.jsx)(fe,{children:(0,F.jsxs)(pe,{"data-slot":`select-content`,"data-align-trigger":n===`item-aligned`,className:M(`relative z-[200] max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-float duration-100 data-[align-trigger=true]:animate-none 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-closed:animate-out data-closed:fade-out-0`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,F.jsx)(Ye,{}),(0,F.jsx)(Ce,{"data-position":n,className:M(`data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)`,n===`popper`&&``),children:t}),(0,F.jsx)(Xe,{})]})})}function Je({className:e,children:t,...n}){return(0,F.jsxs)(ke,{"data-slot":`select-item`,className:M(`relative flex min-h-7.5 w-full cursor-default items-center gap-1.5 rounded-sm py-1 pr-8 pl-2 text-sm outline-hidden max-[650px]:min-h-11 pointer-coarse:min-h-11 select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,F.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`,children:(0,F.jsx)(Me,{children:(0,F.jsx)(i,{className:`pointer-events-none text-accent-fg`})})}),(0,F.jsx)(Ae,{children:t})]})}function Ye({className:e,...t}){return(0,F.jsx)(Pe,{"data-slot":`select-scroll-up-button`,className:M(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,F.jsx)(o,{})})}function Xe({className:e,...t}){return(0,F.jsx)(Ie,{"data-slot":`select-scroll-down-button`,className:M(`z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,F.jsx)(a,{})})}export{Ge as a,Ke as i,qe as n,Je as r,We as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),n=e(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]);export{t as n,n as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]);function n(e,t){let n=new Set(t.map(e=>e.id)),r=e.filter(e=>!n.has(e.id));return[...t,...r]}function r(e,{id:t,name:n}){return e.some(e=>e.id===t&&e.name!==n)?e.map(e=>e.id===t?{...e,name:n}:e):e}function i(){let e=0,t=new Map;return{getRevision:()=>e,record({id:n,name:r}){t.set(n,{name:r,revision:++e})},remove(e){for(let n of e)t.delete(n)},reconcile(e,n){return e.map(e=>{let r=t.get(e.id);return r&&r.revision>n&&r.name!==e.name?{...e,name:r.name}:e})}}}function a(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?{...e,pinned:t.pinned,archived:t.archived,unread:t.unread,needsAttention:t.needsAttention,attentionReason:t.attentionReason}:e):e}function o(e){return[...e].sort((e,t)=>Number(!!t.pinned)-Number(!!e.pinned)||(Date.parse(t.modified||``)||0)-(Date.parse(e.modified||``)||0))}function s(e){for(let t of e){if(t.projectless)continue;let e=typeof t.cwd==`string`?t.cwd.trim():``;if(e)return e}return``}function c(e,t){return!e||t?.paired===!0&&t.mode===`remote`}function l(e,t,n=!0){return e||(n?s(t):``)}export{o as a,t as c,n as i,r as n,l as o,i as r,c as s,a as t};