pisper 0.6.18 → 0.6.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/web/.vite/manifest.json +566 -562
- package/web/assets/{AppDialog-BhRRstHP.js → AppDialog-Bq_kuweh.js} +1 -1
- package/web/assets/{AppOverlays-DYb88MMF.js → AppOverlays-C6-uz2I7.js} +1 -1
- package/web/assets/{AssetsPage-jmEL7H4K.js → AssetsPage-nWK-SI9U.js} +1 -1
- package/web/assets/{BoardPage-Cq1A97SF.js → BoardPage-BdI3hfz8.js} +3 -3
- package/web/assets/{ChannelsPage-C6Ep15_G.js → ChannelsPage-CP8J3G-V.js} +1 -1
- package/web/assets/{ChatAppearancePage-D9mtbLrb.js → ChatAppearancePage-Cr8N98HJ.js} +1 -1
- package/web/assets/{ChatHistoryPage-Bb2dxbsW.js → ChatHistoryPage-9AWN-55B.js} +1 -1
- package/web/assets/{ChatPage-B19Ofy-n.js → ChatPage-Bl94kmVS.js} +4 -4
- package/web/assets/ConfigPage-CU_oPhEG.js +5 -0
- package/web/assets/{DesktopWindowControls-B0tf8G6E.js → DesktopWindowControls-CoqP7BM1.js} +1 -1
- package/web/assets/{FeaturePage-C6p1tTYM.js → FeaturePage-C6kLKix5.js} +1 -1
- package/web/assets/{FileAttachmentPreview-Goie7m39.js → FileAttachmentPreview-C4qvBJGC.js} +1 -1
- package/web/assets/{FloatingWidgets-BkJUNE2R.js → FloatingWidgets-DSbRqMGT.js} +1 -1
- package/web/assets/{FocusRuntimeControls-DDhn5O0c.js → FocusRuntimeControls-DlBh7Vqg.js} +1 -1
- package/web/assets/{GitDiffViewer-lLjb8Z6c.js → GitDiffViewer-DGkjG02b.js} +1 -1
- package/web/assets/{ManageProjectsDialog-BcL3O5JH.js → ManageProjectsDialog-BFiDAKW5.js} +1 -1
- package/web/assets/{MarkdownMessage-IIGDT1-_.js → MarkdownMessage-BiGbYY8R.js} +1 -1
- package/web/assets/{McpPage-Om-chXna.js → McpPage-myrbtgSi.js} +1 -1
- package/web/assets/{MemoryPage-DKVTRhDw.js → MemoryPage-BhKLCAgT.js} +1 -1
- package/web/assets/{MobileNavigation-Bg8R2cAv.js → MobileNavigation-BrLK8gc5.js} +1 -1
- package/web/assets/{MorePage-BBtrzGN0.js → MorePage-B6UzpykD.js} +1 -1
- package/web/assets/{NewFolderDialog-Ck4pp3Fu.js → NewFolderDialog-CdALMU5C.js} +1 -1
- package/web/assets/{PageHeader-Cyw_6Kw4.js → PageHeader-CpubVScP.js} +1 -1
- package/web/assets/{PhoneDrawer-CDhCPbxZ.js → PhoneDrawer-BapKZhl9.js} +1 -1
- package/web/assets/{PhoneMenuButton-B16JL5aU.js → PhoneMenuButton-WhIGM1zy.js} +1 -1
- package/web/assets/{PhoneTopBar-DU84Aa4w.js → PhoneTopBar-CjMeneXU.js} +1 -1
- package/web/assets/{PluginsPage-DjW7wlaR.js → PluginsPage-BEpVVSAC.js} +1 -1
- package/web/assets/{SafeModePrompt-CaBwfnSU.js → SafeModePrompt-HogcxEdk.js} +1 -1
- package/web/assets/{SchedulesPage-DGWSRJUO.js → SchedulesPage-ML5Sl4S4.js} +1 -1
- package/web/assets/{SessionBrowserPane-DUf0kx2D.js → SessionBrowserPane-DOmbqdHK.js} +2 -2
- package/web/assets/{SessionContextPanel-isXy-27d.js → SessionContextPanel-guilbPz7.js} +2 -2
- package/web/assets/{SessionHome-2PhdOYt0.js → SessionHome-BLhLJsZO.js} +1 -1
- package/web/assets/{SessionInspector-Cj6sDpI6.js → SessionInspector-DewgkKy9.js} +1 -1
- package/web/assets/{SessionShell-rjmSVZ_E.js → SessionShell-CMGzYCcG.js} +1 -1
- package/web/assets/{SettingsSidebar-h5Sax-cP.js → SettingsSidebar-BKdrNAvp.js} +1 -1
- package/web/assets/{ShortcutHelpDialog-D7ev01fF.js → ShortcutHelpDialog-DgQKobJy.js} +1 -1
- package/web/assets/{ShortcutKeys-DZsAbYeO.js → ShortcutKeys-B1HCKuqe.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-B_NGjvl5.js → SidebarUpdateStatus-DtpsclSa.js} +1 -1
- package/web/assets/{SkillsPage-C2DnxWvu.js → SkillsPage-JwfOUart.js} +1 -1
- package/web/assets/{TaskProcessesPane-C2PtU4pC.js → TaskProcessesPane-CUUFhziU.js} +1 -1
- package/web/assets/{TaskTerminalView-D2TmMooE.js → TaskTerminalView-BgxdaUIZ.js} +1 -1
- package/web/assets/{TerminalPanel-CYY36HpY.js → TerminalPanel-B4VMm8q_.js} +1 -1
- package/web/assets/{WebDesktopPet-BlJybmd5.js → WebDesktopPet-C10BvWBl.js} +1 -1
- package/web/assets/{WorkflowsPage-Dvy-QIJo.js → WorkflowsPage-iqO_9OJO.js} +1 -1
- package/web/assets/{WorkspacePicker-D7djHk7o.js → WorkspacePicker-C0t_ekAf.js} +1 -1
- package/web/assets/{api-DHnp1y9B.js → api-Dg-aNpVe.js} +1 -1
- package/web/assets/app-update-8hmqlQl6.js +34 -0
- package/web/assets/{approval-confirm-D1i--K6V.js → approval-confirm-77ZLTNZI.js} +1 -1
- package/web/assets/{board-projects-BRJ_-tj0.js → board-projects-CnDn05fw.js} +1 -1
- package/web/assets/bots-store-DE76fA7-.js +1 -0
- package/web/assets/{chat-api-BdMPDpVE.js → chat-api-Dy5Hkicx.js} +1 -1
- package/web/assets/{client-store-DpQBjfeA.js → client-store-DF9a8Ka9.js} +1 -1
- package/web/assets/{config-search-DLn9UUQp.js → config-search-BA9qWX5h.js} +1 -1
- package/web/assets/{dialog-CVn9vhfy.js → dialog-CtFjznlx.js} +1 -1
- package/web/assets/{events-BphhtnIg.js → events-D0dbOYFR.js} +1 -1
- package/web/assets/{folder-paths-DDMQoUvb.js → folder-paths-DEFkIxr2.js} +1 -1
- package/web/assets/{hosts-D-ceNbyz.js → hosts-BBCDdN-M.js} +1 -1
- package/web/assets/i18n-CyyEaQdX.js +1 -0
- package/web/assets/index-DsXdZRdL.js +2 -0
- package/web/assets/{mobile-remote-fallback-DG_urwIg.js → mobile-remote-fallback-C2Q0wAa6.js} +1 -1
- package/web/assets/mount-app-BDzqFalE.js +9 -0
- package/web/assets/{permission-rules-api-DUCXhUyb.js → permission-rules-api-CPImVuda.js} +1 -1
- package/web/assets/{pick-system-directory-DzwXQwyO.js → pick-system-directory-B1clvHS6.js} +1 -1
- package/web/assets/{placements-C0pW79Hw.js → placements-DNdBLaY4.js} +2 -2
- package/web/assets/{popover-BiEbUPyI.js → popover-DN1mndHQ.js} +1 -1
- package/web/assets/{public-CkPP4ohL.js → public-CNoWpIiC.js} +1 -1
- package/web/assets/public-CUO7iS84.js +3 -0
- package/web/assets/{public-B9twcm-g.js → public-Cec32eBv.js} +2 -2
- package/web/assets/{public-components-CH3p1KVx.js → public-components-BpHOXPbD.js} +1 -1
- package/web/assets/public-diff-A9crjZfM.js +1 -0
- package/web/assets/public-events-iJAi2TnD.js +1 -0
- package/web/assets/{public-flags-Dr1Hy9R7.js → public-flags-BYEBqRMd.js} +1 -1
- package/web/assets/public-session-DM4y_qrY.js +1 -0
- package/web/assets/{public-sidebar-BGyKRJQ1.js → public-sidebar-Ce5o13yN.js} +1 -1
- package/web/assets/{runtime-capabilities-store-CHtOHvCw.js → runtime-capabilities-store-B5Bam7pC.js} +1 -1
- package/web/assets/{safe-mode-instance-DofnjrC0.js → safe-mode-instance-CJE36ukZ.js} +1 -1
- package/web/assets/safe-mode-sentinel-AmgPcPSa.js +1 -0
- package/web/assets/{session-change-summary-api-yVYBTolj.js → session-change-summary-api-CTAw_Fpq.js} +1 -1
- package/web/assets/{session-home-YfyPoMc5.js → session-home-BrU5Pj9S.js} +1 -1
- package/web/assets/{session-organization-api-BVv-S3ZA.js → session-organization-api-I4CSVACP.js} +1 -1
- package/web/assets/{session-scope-Cm9JGWmN.js → session-scope-7eIXCeDX.js} +1 -1
- package/web/assets/{session-tree-actions-BDCY5Rx_.js → session-tree-actions-CnUc7KFV.js} +1 -1
- package/web/assets/{session-tree-summary-C9jUUk8v.js → session-tree-summary-C224W_G6.js} +1 -1
- package/web/assets/{shortcuts-DDYN6uA3.js → shortcuts-LBxOVau1.js} +1 -1
- package/web/assets/{side-chat-context-BydqtUQh.js → side-chat-context-hRj7FqXK.js} +4 -4
- package/web/assets/sidebar-rMS3pmrQ.js +1 -0
- package/web/assets/{sidebar-store-C9_zt4qH.js → sidebar-store-BGW5sD2q.js} +1 -1
- package/web/assets/{speech-session-hLbzKBi7.js → speech-session-DTzw8niM.js} +1 -1
- package/web/assets/{startup-queries-Xtw8990R.js → startup-queries-qM8tclDJ.js} +1 -1
- package/web/assets/{storage-DH3bQdy6.js → storage-8QW6lXuT.js} +1 -1
- package/web/assets/{use-i18n-vlX9sewC.js → use-i18n-BuN5i-jP.js} +1 -1
- package/web/assets/use-open-bot-J8_CcQDt.js +1 -0
- package/web/assets/{use-studio-actions-Ddn1B4ZD.js → use-studio-actions-kEfc-Vr2.js} +1 -1
- package/web/assets/{useCatalogProjects-CKn9xBk7.js → useCatalogProjects-MO_MVlJu.js} +1 -1
- package/web/assets/{useNewProjectPicker-Dw_8vCGy.js → useNewProjectPicker-B5OQ8T-2.js} +2 -2
- package/web/assets/{useNow-Bk2SSqyl.js → useNow-ChT5op7P.js} +1 -1
- package/web/assets/{usePhoneShell-B1bMHq-t.js → usePhoneShell-Bkus67DO.js} +1 -1
- package/web/assets/{useSessionListQuery-Cmk9SaUf.js → useSessionListQuery-DdFrJGiI.js} +1 -1
- package/web/assets/{useSessionRowActions-DTh4fGVy.js → useSessionRowActions-CTYVP4el.js} +1 -1
- package/web/assets/{useSidebarModel-BFdUhpkM.js → useSidebarModel-BdWaL9Nn.js} +1 -1
- package/web/assets/{web-preview-C1xJDZhi.js → web-preview-DUIdcsL2.js} +1 -1
- package/web/assets/{web-preview-events-ottFBnUt.js → web-preview-events-4X_JU_UG.js} +1 -1
- package/web/assets/{workspace-order-store-_L6d1CWV.js → workspace-order-store-DlMf7MI6.js} +1 -1
- package/web/index.html +1 -1
- package/web/assets/ConfigPage-BZ90fSaF.js +0 -5
- package/web/assets/app-update-DPLsLaqu.js +0 -34
- package/web/assets/bots-store-BKZ5Va82.js +0 -1
- package/web/assets/i18n-D9cWCJjW.js +0 -1
- package/web/assets/index-DyGV2tpp.js +0 -2
- package/web/assets/mount-app-BJQPFzwJ.js +0 -9
- package/web/assets/public-D2ntc_xA.js +0 -3
- package/web/assets/public-diff-XnD8EDdH.js +0 -1
- package/web/assets/public-events-DmOklOQk.js +0 -1
- package/web/assets/public-session-CciAMmQg.js +0 -1
- package/web/assets/safe-mode-sentinel-CbERYZVc.js +0 -1
- package/web/assets/sidebar-BI_BMhyF.js +0 -1
- package/web/assets/use-open-bot-wY6Uo4E-.js +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-app-BJQPFzwJ.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-D9cWCJjW.js","assets/storage-DH3bQdy6.js","assets/use-i18n-vlX9sewC.js","assets/vendor-state-GkUciC5H.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/startup-queries-Xtw8990R.js","assets/mutation-CEbxdVYy.js","assets/api-DHnp1y9B.js","assets/abort-signal-f4JsiYKX.js","assets/runtime-capabilities-CHYOF_hE.js","assets/runtime-capabilities-store-CHtOHvCw.js","assets/use-mobile-C2tPBAza.js","assets/client-store-DpQBjfeA.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-BphhtnIg.js","assets/shortcuts-DDYN6uA3.js","assets/sidebar-store-C9_zt4qH.js","assets/dialog-CVn9vhfy.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-C1xJDZhi.js","assets/public-events-DmOklOQk.js","assets/terminal-context-aIsIJPn8.js","assets/BrandLogo-k3CvJjd4.js","assets/web-preview-events-ottFBnUt.js","assets/app-update-DPLsLaqu.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-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-BJQPFzwJ.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-Bg8R2cAv.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-vlX9sewC.js","assets/i18n-D9cWCJjW.js","assets/vendor-router-CSN_DGvx.js","assets/index-DyGV2tpp.js","assets/index-C13rJGuY.css","assets/storage-DH3bQdy6.js","assets/vendor-state-GkUciC5H.js","assets/runtime-capabilities-store-CHtOHvCw.js","assets/api-DHnp1y9B.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-B0tf8G6E.js","assets/minus-BuutOHSj.js","assets/square-bHHVTT3G.js","assets/x-07u4-129.js","assets/FloatingWidgets-BkJUNE2R.js","assets/routes-DIeaqWVc.js","assets/placements-C0pW79Hw.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/component-changes-Q9Bf64Ob.js","assets/session-scope-Cm9JGWmN.js","assets/session-board-status-D2lpFPiI.js","assets/safe-mode-sentinel-CbERYZVc.js","assets/usePhoneShell-B1bMHq-t.js","assets/use-mobile-C2tPBAza.js","assets/client-store-DpQBjfeA.js","assets/AppOverlays-DYb88MMF.js","assets/startup-queries-Xtw8990R.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-BphhtnIg.js","assets/shortcuts-DDYN6uA3.js","assets/chat-api-BdMPDpVE.js","assets/format-DMJQzoZ7.js","assets/dialog-CVn9vhfy.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-BhRRstHP.js","assets/label-CVWjEcfV.js","assets/input-CPw-zkYh.js","assets/WebDesktopPet-BlJybmd5.js","assets/public-components-CH3p1KVx.js","assets/arrow-right-DqLOhpA2.js","assets/download-BCfIiuaL.js","assets/key-round-C29uZbsf.js","assets/config-search-DLn9UUQp.js","assets/BrandLogo-k3CvJjd4.js","assets/sidebar-BI_BMhyF.js","assets/pin-CU0FG0lI.js","assets/sidebar-store-C9_zt4qH.js","assets/useSessionListQuery-Cmk9SaUf.js","assets/session-organization-api-BVv-S3ZA.js","assets/session-workspaces-Csgpuzxd.js","assets/session-questions-Cf-1g85h.js","assets/useNow-Bk2SSqyl.js","assets/card-presentation-1oph2b8P.js","assets/useSidebarModel-BFdUhpkM.js","assets/StatusGlyph-1KgitlUg.js","assets/useSessionRowActions-DTh4fGVy.js","assets/ellipsis-CfGKfbq6.js","assets/dropdown-menu-CFIFNaKO.js","assets/check-2vYc6QaP.js","assets/dist-DzGQ7sLi.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/dist-BaBySQmo.js","assets/session-home-YfyPoMc5.js","assets/motion-DTR4ZVle.js","assets/BotAvatar-CNL-APwP.js","assets/shortcut-aria-jHRmld9z.js","assets/sidebar-commands-ZA1UOA_F.js","assets/public-sidebar-BGyKRJQ1.js","assets/use-open-bot-wY6Uo4E-.js","assets/WorkspacePicker-D7djHk7o.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-BKZ5Va82.js","assets/public-flags-Dr1Hy9R7.js","assets/public-events-DmOklOQk.js","assets/PhoneTopBar-DU84Aa4w.js","assets/PhoneMenuButton-B16JL5aU.js","assets/public-CkPP4ohL.js","assets/chevron-down-CxtxIjiP.js","assets/FocusRuntimeControls-DDhn5O0c.js","assets/arrow-up-DST6-qVQ.js","assets/braces-DQcXLGFF.js","assets/dist-V8chnW6-.js","assets/pencil-U08v_vV9.js","assets/wrench-6pg6_bqI.js","assets/popover-BiEbUPyI.js","assets/slider-DTmAZl-R.js","assets/sheet-BTaIEX4w.js","assets/run-activity-CwfO0cui.js","assets/input-group-h8z63MzW.js","assets/model-display-kDwvtxrW.js","assets/workspace-order-store-_L6d1CWV.js","assets/useNewProjectPicker-Dw_8vCGy.js","assets/session-change-summary-api-yVYBTolj.js","assets/folder-paths-DDMQoUvb.js","assets/pick-system-directory-DzwXQwyO.js","assets/board-projects-BRJ_-tj0.js","assets/square-pen-hYbjKh6A.js","assets/PhoneDrawer-CDhCPbxZ.js","assets/SidebarUpdateStatus-B_NGjvl5.js","assets/external-link-CEQqPcqc.js","assets/rocket-BgLSjoHY.js","assets/SettingsSidebar-h5Sax-cP.js","assets/arrow-left-B8oVrQ2S.js","assets/back-navigation-CK7X_5Bc.js","assets/ShortcutHelpDialog-D7ev01fF.js","assets/ShortcutKeys-DZsAbYeO.js","assets/PageHeader-Cyw_6Kw4.js","assets/more-pages-D_PnxLN0.js","assets/TerminalPanel-CYY36HpY.js","assets/terminal-context-aIsIJPn8.js","assets/TaskTerminalView-D2TmMooE.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-BDCY5Rx_.js","assets/session-tree-summary-C9jUUk8v.js","assets/BoardPage-Cq1A97SF.js","assets/arrow-down-CDGua-ue.js","assets/corner-down-right--hxi-Ihy.js","assets/useCatalogProjects-CKn9xBk7.js","assets/rotate-ccw-C0v8V77_.js","assets/trash-2-CNrPOoPR.js","assets/brand-DIEc3fK8.js","assets/segmented-control-BlM_GKV6.js","assets/touch-target-BsyCgjR5.js","assets/tooltip-D4MFbqcG.js","assets/esm-DCV8yILT.js","assets/new-task-DG4I6cda.js","assets/ChatPage-B19Ofy-n.js","assets/permission-rules-api-DUCXhUyb.js","assets/session-list-BeyOEzyU.js","assets/circle-check-iEdCm3Pw.js","assets/image-plus-D7bzZog0.js","assets/GitDiffViewer-lLjb8Z6c.js","assets/file-Bllajneu.js","assets/side-chat-context-BydqtUQh.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-IIGDT1-_.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-Goie7m39.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-C1xJDZhi.js","assets/tool-labels-ghvpPFmc.js","assets/speech-session-hLbzKBi7.js","assets/web-preview-events-ottFBnUt.js","assets/SessionShell-rjmSVZ_E.js","assets/SessionHome-2PhdOYt0.js","assets/MorePage-BBtrzGN0.js","assets/app-window-CPNdvYNt.js","assets/image-BY_c3FYU.js","assets/monitor-smartphone-B1gIjItA.js","assets/ChatHistoryPage-Bb2dxbsW.js","assets/FeaturePage-C6p1tTYM.js","assets/AssetsPage-jmEL7H4K.js","assets/queryOptions-Dfvzj6n2.js","assets/mobile-runtime-recovery-tbTyacip.js","assets/ChannelsPage-C6Ep15_G.js","assets/send-QxBfLFo-.js","assets/public-D2ntc_xA.js","assets/accordion-CiJMkjqX.js","assets/SchedulesPage-DGWSRJUO.js","assets/ConfigPage-BZ90fSaF.js","assets/arrow-up-right-B6l8qFZz.js","assets/code-xml-BrUXrBax.js","assets/zap-DZHw5afO.js","assets/app-update-DPLsLaqu.js","assets/browser-notifications-DBS0oXqN.js","assets/ChatAppearancePage-D9mtbLrb.js","assets/PluginsPage-DjW7wlaR.js","assets/earth-Ddy13fHh.js","assets/file-code-corner-BnE1ljT0.js","assets/package-BOmkLaKS.js","assets/save-CHBB52P8.js","assets/MemoryPage-DKVTRhDw.js","assets/McpPage-Om-chXna.js","assets/SkillsPage-C2DnxWvu.js","assets/public-B9twcm-g.js","assets/settings-2-CXJjXJS9.js","assets/use-studio-actions-Ddn1B4ZD.js","assets/safe-mode-instance-DofnjrC0.js","assets/PageFrame-DNwGZ-Dz.js","assets/WorkflowsPage-Dvy-QIJo.js","assets/grip-vertical-B__LYT0s.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-DyGV2tpp.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 ne,t as re,u as ie}from"./routes-DIeaqWVc.js";import{a as E,c as ae,i as oe,l as se,o as ce,r as D,s as le,t as O}from"./i18n-D9cWCJjW.js";import{n as ue,r as k,t as A}from"./use-i18n-vlX9sewC.js";import{t as j}from"./storage-DH3bQdy6.js";import{n as de,t as fe}from"./useQuery-DdcpUQhO.js";import{a as pe,i as me,n as he,o as ge,r as _e,s as ve,t as ye}from"./startup-queries-Xtw8990R.js";import{s as be,t as xe}from"./api-DHnp1y9B.js";import{a as Se,i as Ce,r as we}from"./runtime-capabilities-CHYOF_hE.js";import{t as Te}from"./runtime-capabilities-store-CHtOHvCw.js";import{i as M,n as Ee,r as De}from"./use-mobile-C2tPBAza.js";import{t as Oe}from"./client-store-DpQBjfeA.js";import{t as ke}from"./createLucideIcon-Cd-3GVxJ.js";import{t as Ae}from"./circle-check-iEdCm3Pw.js";import{a as je,i as Me,n as Ne,o as Pe,t as Fe}from"./settings-navigation-DiP_AM1C.js";import{t as Ie}from"./info-DATxy0fb.js";import{n as Le,t as Re}from"./list-T5PqlpS2.js";import{t as ze}from"./search-D0mqDaf_.js";import{t as Be}from"./settings-QX0oWnVK.js";import{t as Ve}from"./square-pen-hYbjKh6A.js";import{t as He}from"./triangle-alert-CE1q54ci.js";import{t as Ue}from"./x-07u4-129.js";import{i as We,n as Ge,r as Ke,t as qe}from"./more-pages-D_PnxLN0.js";import{a as Je}from"./dist-41X0pdUs.js";import{a as Ye,c as N,i as Xe,l as Ze,o as P,r as Qe,s as $e,t as et}from"./dist-BsRXXcSL.js";import{r as tt}from"./dist-BiRPwy4W.js";import{n as nt}from"./dist-DzGQ7sLi.js";import{c as rt,i as it,o as at}from"./es2015-DTZdOI9P.js";import{r as ot}from"./tooltip-D4MFbqcG.js";import{t as F}from"./utils-C8uzG5AZ.js";import{n as st,t as I}from"./button-CCcCN8tE.js";import{t as ct}from"./kbd-CAufZTkl.js";import{_ as lt,h as ut,n as dt,t as ft,v as pt,y as mt}from"./events-BphhtnIg.js";import{a as ht,c as gt,i as _t,n as vt,r as L,s as R}from"./shortcuts-DDYN6uA3.js";import{t as z}from"./sidebar-store-C9_zt4qH.js";import{a as yt,i as bt,l as B,o as xt,s as St,t as Ct}from"./dialog-CVn9vhfy.js";import{i as V,t as H}from"./back-navigation-CK7X_5Bc.js";import{t as wt}from"./route-context-DvWDul4T.js";import{t as Tt}from"./new-task-DG4I6cda.js";import{t as U}from"./shortcut-aria-jHRmld9z.js";import{n as Et}from"./sidebar-commands-ZA1UOA_F.js";import{r as Dt}from"./app-primitives-Drz_SjnR.js";import{n as Ot,r as kt}from"./web-preview-C1xJDZhi.js";import{t as At}from"./BrandLogo-k3CvJjd4.js";import{r as jt}from"./web-preview-events-ottFBnUt.js";import{_ as Mt,a as Nt,c as Pt,f as W,h as Ft,l as G,n as It,r as Lt,s as K,u as q,v as J}from"./app-update-DPLsLaqu.js";import{i as Rt}from"./browser-notifications-DBS0oXqN.js";import{n as zt,t as Bt}from"./navigation-DkcKi1_5.js";var Y=e(m());function Vt({i18n:e,defaultNS:t,children:n}){let r=(0,Y.useMemo)(()=>({i18n:e,defaultNS:t}),[e,t]);return(0,Y.createElement)(k.Provider,{value:r},n)}var Ht=ke(`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`}]]),Ut=ke(`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`}]]),Wt=e(h(),1),X=g(),Gt=Object.defineProperty,Z=(e,t)=>Gt(e,`name`,{value:t,configurable:!0}),Kt=`ToastProvider`,[qt,Jt,Yt]=nt(`Toast`),[Xt,Zt]=$e(`Toast`,[Yt]),[Qt,$t]=Xt(Kt),en=Z(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 \`${Kt}\`. Expected non-empty \`string\`.`),(0,X.jsx)(qt.Provider,{scope:t,children:(0,X.jsx)(Qt,{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`),tn=`ToastViewport`,nn=[`F8`],rn=`toast.viewportPause`,an=`toast.viewportResume`,on=Y.forwardRef(Z(function(e,t){let{__scopeToast:n,hotkey:r=nn,label:i=`Notifications ({hotkey})`,...a}=e,o=$t(tn,n),s=Jt(n),c=Y.useRef(null),l=Y.useRef(null),u=Y.useRef(null),d=Y.useRef(null),f=Je(t,d,o.onViewportChange),p=r.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),m=o.toastCount>0;Y.useEffect(()=>{let e=Z(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=Z(()=>{if(!o.isClosePausedRef.current){let e=new CustomEvent(rn);t.dispatchEvent(e),o.isClosePausedRef.current=!0}},`handlePause`),r=Z(()=>{if(o.isClosePausedRef.current){let e=new CustomEvent(an);t.dispatchEvent(e),o.isClosePausedRef.current=!1}},`handleResume`),i=Z(t=>{e.contains(t.relatedTarget)||r()},`handleFocusOutResume`),a=Z(()=>{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,...kn(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=Z(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);An(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,X.jsxs)(at,{ref:c,role:`region`,"aria-label":i.replace(`{hotkey}`,p),tabIndex:-1,style:{pointerEvents:m?void 0:`none`},children:[m&&(0,X.jsx)(cn,{ref:l,onFocusFromOutsideViewport:()=>{An(h({tabbingDirection:`forwards`}))}}),(0,X.jsx)(qt.Slot,{scope:n,children:(0,X.jsx)(N.ol,{tabIndex:-1,...a,ref:f})}),m&&(0,X.jsx)(cn,{ref:u,onFocusFromOutsideViewport:()=>{An(h({tabbingDirection:`backwards`}))}})]})},`ToastViewport`)),sn=`ToastFocusProxy`,cn=Y.forwardRef(Z(function(e,t){let{__scopeToast:n,onFocusFromOutsideViewport:r,...i}=e,a=$t(sn,n);return(0,X.jsx)(tt,{tabIndex:0,...i,ref:t,style:{position:`fixed`},onFocus:e=>{let t=e.relatedTarget;a.viewport?.contains(t)||r()}})},`ToastFocusProxy`)),Q=`Toast`,ln=`toast.swipeStart`,un=`toast.swipeMove`,dn=`toast.swipeCancel`,fn=`toast.swipeEnd`,pn=Y.forwardRef(Z(function(e,t){let{forceMount:n,open:r,defaultOpen:i,onOpenChange:a,...o}=e,[s,c]=Xe({prop:r,defaultProp:i??!0,onChange:a,caller:Q});return(0,X.jsx)(Qe,{present:n||s,children:(0,X.jsx)(gn,{open:s,...o,ref:t,onClose:()=>c(!1),onPause:et(e.onPause),onResume:et(e.onResume),onSwipeStart:P(e.onSwipeStart,e=>{e.currentTarget.setAttribute(`data-swipe`,`start`)}),onSwipeMove:P(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:P(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:P(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`)),[mn,hn]=Xt(Q,{onClose(){}}),gn=Y.forwardRef(Z(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=$t(Q,n),g=Jt(n),[_,v]=Y.useState(null),y=Je(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,ne=et(()=>{_?.contains(document.activeElement)&&h.viewport?.focus(),o()}),re=Y.useCallback(e=>{!e||e===1/0||(window.clearTimeout(w.current),ee.current=new Date().getTime(),w.current=window.setTimeout(ne,e))},[ne]);Y.useEffect(()=>{let e=h.viewport;if(e){let t=Z(()=>{re(C.current),l?.()},`handleResume`),n=Z(()=>{let e=new Date().getTime()-ee.current;C.current-=e,window.clearTimeout(w.current),c?.()},`handlePause`);return e.addEventListener(rn,n),e.addEventListener(an,t),()=>{e.removeEventListener(rn,n),e.removeEventListener(an,t)}}},[h.viewport,S,c,l,re]),Y.useEffect(()=>{a&&!h.isClosePausedRef.current&&re(S)},[a,S,h.isClosePausedRef,re]),Y.useEffect(()=>()=>{window.clearTimeout(w.current)},[]),Y.useEffect(()=>(te(),()=>T()),[te,T]);let ie=Y.useMemo(()=>_?wn(_):null,[_]);return h.viewport?(0,X.jsxs)(X.Fragment,{children:[ie&&(0,X.jsx)(_n,{__scopeToast:n,role:`status`,"aria-live":r===`foreground`?`assertive`:`polite`,children:ie}),(0,X.jsx)(mn,{scope:n,onClose:ne,children:Wt.createPortal((0,X.jsx)(qt.ItemSlot,{scope:n,children:(0,X.jsx)(rt,{asChild:!0,onEscapeKeyDown:P(s,e=>{g().some(t=>t.ref.current?.contains(e.target))||ne()}),children:(0,X.jsx)(N.li,{tabIndex:0,"data-state":a?`open`:`closed`,"data-swipe-direction":h.swipeDirection,...m,ref:y,style:{userSelect:`none`,touchAction:`none`,...e.style},onKeyDown:P(e.onKeyDown,e=>{e.key===`Escape`&&(s?.(e.nativeEvent),e.nativeEvent.defaultPrevented||ne())}),onPointerDown:P(e.onPointerDown,e=>{e.button===0&&(b.current={x:e.clientX,y:e.clientY})}),onPointerMove:P(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,Tn(un,d,f,{discrete:!1})):En(l,h.swipeDirection,c)?(x.current=l,Tn(ln,u,f,{discrete:!1}),e.target.setPointerCapture(e.pointerId)):(Math.abs(t)>c||Math.abs(n)>c)&&(b.current=null)}),onPointerUp:P(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};En(t,h.swipeDirection,h.swipeThreshold)?Tn(fn,p,r,{discrete:!0}):Tn(dn,f,r,{discrete:!0}),n.addEventListener(`click`,e=>e.preventDefault(),{once:!0})}})})})}),h.viewport)})]}):null},`ToastImpl`)),_n=Z(e=>{let{__scopeToast:t,children:n,...r}=e,i=$t(Q,t),[a,o]=Y.useState(!1),[s,c]=Y.useState(!1);return Dn(()=>o(!0)),Y.useEffect(()=>{let e=window.setTimeout(()=>c(!0),1e3);return()=>window.clearTimeout(e)},[]),s?null:(0,X.jsx)(it,{asChild:!0,container:i.announcerContainer||void 0,children:(0,X.jsx)(tt,{...r,children:a&&(0,X.jsxs)(X.Fragment,{children:[i.label,` `,n]})})})},`ToastAnnounce`),vn=Y.forwardRef(Z(function(e,t){let{__scopeToast:n,...r}=e;return(0,X.jsx)(N.div,{...r,ref:t})},`ToastDescription`)),yn=`ToastAction`,bn=Y.forwardRef(Z(function(e,t){let{altText:n,...r}=e;return n.trim()?(0,X.jsx)(Cn,{altText:n,asChild:!0,children:(0,X.jsx)(Sn,{...r,ref:t})}):(console.error(`Invalid prop \`altText\` supplied to \`${yn}\`. Expected non-empty \`string\`.`),null)},`ToastAction`)),xn=`ToastClose`,Sn=Y.forwardRef(Z(function(e,t){let{__scopeToast:n,...r}=e,i=hn(xn,n);return(0,X.jsx)(Cn,{asChild:!0,children:(0,X.jsx)(N.button,{type:`button`,...r,ref:t,onClick:P(e.onClick,i.onClose)})})},`ToastClose`)),Cn=Y.forwardRef(Z(function(e,t){let{__scopeToast:n,altText:r,...i}=e;return(0,X.jsx)(N.div,{"data-radix-toast-announce-exclude":``,"data-radix-toast-announce-alt":r||void 0,...i,ref:t})},`ToastAnnounceExclude`));function wn(e){let t=[];return Array.from(e.childNodes).forEach(e=>{if(e.nodeType===e.TEXT_NODE&&e.textContent&&t.push(e.textContent),On(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(...wn(e))}}}),t}Z(wn,`getAnnounceTextContent`);function Tn(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?Ze(i,a):i.dispatchEvent(a)}Z(Tn,`handleAndDispatchCustomEvent`);var En=Z((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 Dn(e=()=>{}){let t=et(e);Ye(()=>{let e=0,n=0;return e=window.requestAnimationFrame(()=>n=window.requestAnimationFrame(t)),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(n)}},[t])}Z(Dn,`useNextFrame`);function On(e){return e.nodeType===e.ELEMENT_NODE}Z(On,`isHTMLElement`);function kn(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Z(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}Z(kn,`getTabbableCandidates`);function An(e){let t=document.activeElement;return e.some(e=>e===t||(e.focus(),document.activeElement!==t))}Z(An,`focusFirst`);var jn=en,Mn=on,Nn=pn,Pn=vn,Fn=bn,In=Sn,Ln=_();function Rn({children:e}){let{i18n:t}=ue(),n=se(t.resolvedLanguage)?t.resolvedLanguage:O;return(0,Y.useEffect)(()=>{document.documentElement.lang=n;try{p.setItem(j.language,n)}catch{}window.pisperDesktop?.setLanguage?.(n)},[n]),e}function zn({children:e}){return(0,X.jsx)(Vt,{i18n:ae,children:(0,X.jsx)(Rn,{children:e})})}function Bn({children:e}){return(0,Y.useEffect)(()=>_e(window),[]),(0,X.jsx)(de,{client:pe,children:(0,X.jsx)(zn,{children:(0,X.jsx)(ot,{delayDuration:200,children:e})})})}function Vn(){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 Hn({onRouteBack:e}){let t=(0,Y.useRef)(e);return t.current=e,(0,Y.useEffect)(()=>{let e=new WeakSet,n=t=>{t.key===`Escape`&&Vn()&&e.add(t)},r=t=>{t.key!==`Escape`||t.defaultPrevented||t.isComposing||e.has(t)||H.dismiss()&&t.preventDefault()},i=()=>{let e=Vn(),n=new KeyboardEvent(`keydown`,{key:`Escape`,bubbles:!0,cancelable:!0});return V(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 Un(){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 Wn=Object.freeze({board:`board`,more:`more`,settings:`config`});function Gn(e,t){return t?`settings`:e===`session`||e===`chat`?`session`:e===`board`?`board`:e===`components`||e===`more`||e===`config`||Ke.has(e)?`more`:null}function Kn({location:e,navigation:t}){return t.state!==`idle`&&t.location?.pathname||e.pathname}function qn({location:e,navigation:t}){return C(Kn({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 Jn=/^\/components\/([^/]+)\/?$/;function Yn(e,t,n,{phone:r=!1,homeEntry:i=!1,canGoBack:a=!1}={}){return e===`session`?i||t===`/`||t===``?null:a?-1:null:e===`components`&&Jn.test(t)?`/components`:r&&n&&/^\/config\/[^/]+/.test(t)?ee:Gn(e,n)===`more`&&e!==`more`?`/more`:`/`}var Xn=`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`,Zn=`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`,Qn=`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`,$n=`(max-width: 899px)`;function er(e){let t=e.takeover,n=z(e=>e.collapsed)&&!t,r=z(e=>e.peeking),i=z(e=>e.setPeeking),a=(0,Y.useRef)(null),o=(0,Y.useRef)(null),s=M($n),c=z(e=>e.enterNarrowRail),l=z(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,X.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:F(`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,X.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,X.jsx)(ir,{...e}):(0,X.jsx)(rr,{...e})},n?`rail`:`expanded`),n&&r&&(0,X.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,X.jsx)(rr,{...e,peek:!0})})]})}var tr={newTask:`primaryAction`,search:`commandPalette`,board:`openBoard`,features:`openMore`,settings:`openSettings`};function nr(){let{t:e}=A();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 rr({active:e,onNewTask:t,onSearch:n,onOpenBoard:r,onOpenFeatures:i,onOpenSettings:a,content:o,update:s,peek:c=!1}){let{t:l}=A(),u=nr(),d=z(e=>e.toggleCollapsed),f=z(e=>e.setPeeking),p=gt(e=>e.bindings),m=p.toggleSidebar,h=R(`toggleSidebar`),g={newTask:R(`primaryAction`),search:R(`commandPalette`),board:R(`openBoard`),features:R(`openMore`),settings:R(`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,X.jsxs)(`button`,{type:`button`,"data-sidebar-entry":t,"aria-current":o?`page`:void 0,"aria-keyshortcuts":U(p[tr[t]]),className:F(Xn,`group/entry h-9 pointer-coarse:h-11`,o&&`bg-surface-active font-medium hover:bg-surface-active`),onClick:r,children:[(0,X.jsx)(n,{className:`size-[18px] flex-none text-content-secondary`,strokeWidth:1.75,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left`,children:i}),a&&(0,X.jsx)(ct,{"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,X.jsxs)(`nav`,{"aria-label":l(`navigation:sidebar.label`),className:`flex min-h-0 flex-1 flex-col`,children:[(0,X.jsxs)(`div`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center gap-2 pr-2.5 pl-4`,children:[(0,X.jsx)(At,{size:22}),(0,X.jsx)(`span`,{className:`text-[15px] font-semibold tracking-[-.01em] text-content`,children:`Pisper`}),(0,X.jsx)(`span`,{className:`flex-1`}),(0,X.jsx)(`button`,{type:`button`,"data-sidebar-toggle":c?void 0:`collapse`,"aria-expanded":!c||void 0,className:Zn,"aria-label":_,"aria-keyshortcuts":c?void 0:U(m),title:!c&&h?`${_} (${h})`:_,onClick:()=>c?f(!1):d(),children:c?(0,X.jsx)(Ut,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`}):(0,X.jsx)(Ht,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})]}),(0,X.jsxs)(`div`,{className:`flex flex-none flex-col gap-px px-2 pt-0.5 pb-1.5`,children:[v(`newTask`,Ve,t),v(`search`,ze,n),v(`board`,Re,r),v(`features`,Le,i)]}),(0,X.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,X.jsxs)(`div`,{className:`flex flex-none items-center gap-1 p-2`,children:[(0,X.jsx)(`div`,{className:`min-w-0 flex-1`,children:v(`settings`,Be,a)}),s]})]})}function ir({active:e,onNewTask:t,onSearch:n,onOpenBoard:r,onOpenFeatures:i,onOpenSettings:a,railCounts:o,update:s}){let{t:c}=A(),l=nr(),u=z(e=>e.toggleCollapsed),d=gt(e=>e.bindings),f=d.toggleSidebar,p=R(`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,X.jsx)(`button`,{type:`button`,"data-sidebar-entry":t,"aria-keyshortcuts":U(d[tr[t]]),"aria-label":i,"aria-current":a?`page`:void 0,title:i,className:F(Qn,a&&`bg-surface-active text-content`),onClick:r,children:(0,X.jsx)(n,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})};return(0,X.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,X.jsx)(`div`,{"data-window-drag-region":!0,className:`flex h-[52px] flex-none items-center`,children:(0,X.jsx)(`button`,{type:`button`,"data-sidebar-toggle":`expand`,"aria-expanded":!1,className:Qn,"aria-label":m,"aria-keyshortcuts":U(f),title:p?`${m} (${p})`:m,onClick:u,children:(0,X.jsx)(Ut,{className:`size-[18px]`,strokeWidth:1.75,"aria-hidden":`true`})})}),h(`newTask`,Ve,t),h(`search`,ze,n),(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`my-1.5 h-px w-6 bg-stroke-strong`}),o,(0,X.jsx)(`span`,{"aria-hidden":`true`,className:`my-1.5 h-px w-6 bg-stroke-strong`}),h(`board`,Re,r),h(`features`,Le,i),(0,X.jsx)(`span`,{className:`flex-1`}),s,h(`settings`,Be,a)]})}function ar({collapsed:e=!1}){let{t}=A();return e?(0,X.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col items-center gap-1`,children:[(0,X.jsx)(`span`,{className:`size-10 rounded-[var(--r-md)] bg-surface-hover`}),(0,X.jsx)(`span`,{className:`size-10 rounded-[var(--r-md)] bg-surface-hover`})]}):(0,X.jsx)(`div`,{role:`status`,"aria-busy":`true`,"aria-label":t(`navigation:sidebar.loading`),children:[60,44,70].map(e=>(0,X.jsxs)(`div`,{"aria-hidden":`true`,className:`flex h-9 items-center gap-2.5 px-2.5`,children:[(0,X.jsx)(`span`,{className:`size-4 rounded-full bg-surface-hover`}),(0,X.jsx)(`span`,{className:`h-3 rounded-sm bg-surface-hover`,style:{width:`${e}%`}})]},e))})}var or=`pisper-custom-accent-style`,sr=[`xs`,`sm`,`base`,`lg`,`xl`,`2xl`,`3xl`],cr=[12,13,14,16,20,24,28];function lr(e){let{uiFontSize:t}=Ft(typeof e==`number`?{uiFontSize:e}:{fontScale:e});return cr.map(e=>Math.round(e*t/14))}function ur(e,t,n=new Date().getHours()){return e===`dark`?!0:e===`light`?!1:e===`system`?t:n>=18||n<8}function dr(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=Ft(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`),lr(n.uiFontSize).forEach((e,n)=>{t.style.setProperty(`--font-ui-${sr[n]}`,`${e}px`)});let r=e.accent===`custom`?J(e.customAccent||``):null,i=document.getElementById(or);r?(i||(i=document.createElement(`style`),i.id=or,document.head.append(i)),i.textContent=Mt(r)):i?.remove()}function fr(e,t){if(!e)return``;let n=t?.sessions?.find(t=>t?.id===e);return n&&n.archived!==!0?e:``}function pr(){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=Ot({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)){jt(i);return}let a=fr(p.getItem(j.activeSession),pe.getQueryData(ye));if(!a){window.open(i,`_blank`,`noopener,noreferrer`);return}jt(i),t(S(a))};return document.addEventListener(`click`,n,!0),()=>document.removeEventListener(`click`,n,!0)},[e.pathname,t]),null}function mr({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=gt(e=>e.bindings);return(0,Y.useLayoutEffect)(()=>{let b=b=>{if(e||ht(b)||_t(b)&&!b.key.startsWith(`Arrow`))return;let x;L(b,y.commandPalette)?x=t:L(b,y.primaryAction)?x=n:L(b,y.openSession)?x=u:L(b,y.openBoard)?x=d:L(b,y.openComponents)?x=f:L(b,y.openMore)?x=p:L(b,y.jumpToAttention)?x=m:L(b,y.sessionTree)?x=h:L(b,y.sideChat)?x=g:L(b,y.cycleFocusRegion)?x=_:L(b,y.toggleSidebar)?x=a:L(b,y.agentPanel)?x=o:L(b,y.previousAgent)?x=s:L(b,y.nextAgent)?x=c:L(b,y.toggleTerminal)?x=i:L(b,y.openSettings)?x=l:L(b,y.shortcutHelp)?x=v:!vt(b.target)&&L(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 hr=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 gr({className:e,tone:t,...n}){return(0,X.jsx)(Nn,{"data-slot":`toast`,className:F(hr({tone:t}),e),...n})}function _r({...e}){return(0,X.jsx)(jn,{"data-slot":`toast-provider`,...e})}function vr({className:e,...t}){return(0,X.jsx)(Mn,{"data-slot":`toast-viewport`,className:F(`fixed right-5 bottom-5 z-[80] flex w-[min(420px,calc(100vw-40px))] max-w-full flex-col gap-2 outline-none max-sm:right-3 max-sm:bottom-3 max-sm:left-3 max-sm:w-auto`,e),...t})}function yr({className:e,...t}){return(0,X.jsx)(Pn,{"data-slot":`toast-description`,className:F(`min-w-0 flex-1 [overflow-wrap:anywhere]`,e),...t})}function br({className:e,...t}){return(0,X.jsx)(In,{"data-slot":`toast-close`,className:F(`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 xr={success:Ae,error:He,info:Ie};function Sr({message:e,tone:t,closeLabel:n,action:r,...i}){let a=xr[t];return(0,X.jsxs)(gr,{tone:t,type:t===`error`?`foreground`:`background`,...i,children:[(0,X.jsx)(a,{className:`size-[18px] shrink-0`}),(0,X.jsx)(yr,{children:e}),r&&(0,X.jsx)(Fn,{altText:r.label,asChild:!0,children:(0,X.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,X.jsx)(br,{"aria-label":n,title:n,children:(0,X.jsx)(Ue,{className:`size-4`})})]})}function Cr(){let{t:e}=A(),[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 wr=15e3,Tr=216e5,Er=new Set([`checking`,`downloading`,`downloaded`]);function Dr(e){return!Er.has(e)}function Or(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,wr),o=t.setInterval(i,Tr);return()=>{r=!0,t.clearTimeout(a),t.clearInterval(o)}}var kr=new Set([`available`,`downloading`,`installed`,`error`]);function Ar(e,t){return t?.find(e=>e.component===`desktop`)?.currentVersion.trim()||e}function jr(e){return e.filter(e=>e.size>0&&(kr.has(e.state)||e.canInstall))}function Mr(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 Nr(e){let t=e.filter(e=>e.state===`available`||e.state===`downloading`).map(e=>Mr(e.notes)).filter((e,t,n)=>e&&n.indexOf(e)===t);return t.length?`## What's Changed\n\n${t.join(`
|
|
7
|
-
|
|
8
|
-
`)}`:``}function Pr(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=Nr(e),l=jr(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 Fr({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 Ir=Object.freeze({desktop:!1,packaged:!1,version:`0.6.15`,platform:`browser`,arch:``,releasesUrl:It});function Lr(){let e=window.pisperDesktop,t=e?void 0:window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke,[n,r]=(0,Y.useState)(Ir),[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=Pr(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 Fr({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=Or(()=>{if(Dr(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`&&Dr(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(Pr(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=Pr(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(Pr(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?Ar(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 Rr(e){return!!e.providers?.some(e=>e.configured&&e.models?.some(e=>e.kind===`chat`))}function zr(e,t){return!t&&!Rr(e)}function Br(){try{return JSON.parse(p.getItem(j.terminalPanel)||`{}`)}catch{return{}}}var Vr=()=>i(()=>import(`./MobileNavigation-Bg8R2cAv.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])),Hr=(0,Y.lazy)(()=>Vr().then(e=>({default:e.MobileSettingsBack}))),Ur=(0,Y.lazy)(()=>Vr().then(e=>({default:e.MobileSettingsList}))),Wr=(0,Y.lazy)(()=>i(()=>import(`./DesktopWindowControls-B0tf8G6E.js`).then(e=>({default:e.DesktopWindowControls})),__vite__mapDeps([23,1,2,3,4,5,6,7,8,9,24,15,25,26]))),Gr=(0,Y.lazy)(()=>i(()=>import(`./FloatingWidgets-BkJUNE2R.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]))),Kr=(0,Y.lazy)(async()=>{let[{CommandPalette:e},{getNavigation:t}]=await Promise.all([i(()=>import(`./AppOverlays-DYb88MMF.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}=A(),i=Te(e=>e.capabilities),a=(0,Y.useMemo)(()=>t(r,i),[i,r]);return(0,X.jsx)(e,{...n,navigation:a})}return{default:n}}),qr=(0,Y.lazy)(()=>i(()=>import(`./AppDialog-BhRRstHP.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]))),Jr=(0,Y.lazy)(()=>i(()=>import(`./WebDesktopPet-BlJybmd5.js`).then(e=>({default:e.WebDesktopPet})),__vite__mapDeps([79,1,6,5,2,7,3,4,8,9,11,12]))),Yr=(0,Y.lazy)(()=>i(()=>import(`./public-components-CH3p1KVx.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]))),Xr=(0,Y.lazy)(()=>i(()=>import(`./public-components-CH3p1KVx.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]))),Zr=()=>Promise.all([i(()=>import(`./sidebar-BI_BMhyF.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])),D()]).then(([e])=>e),Qr=(0,Y.lazy)(()=>i(()=>import(`./public-sidebar-BGyKRJQ1.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,11,12,119,13,10,52,120]))),$r=(0,Y.lazy)(()=>Zr().then(e=>({default:e.SidebarSessions}))),ei=(0,Y.lazy)(()=>Zr().then(e=>({default:e.SidebarRailCounts}))),ti=(0,Y.lazy)(()=>Zr().then(e=>({default:e.SidebarCommands}))),ni=(0,Y.lazy)(()=>Zr().then(e=>({default:e.SidebarFleetLine}))),ri=(0,Y.lazy)(()=>Promise.all([i(()=>import(`./PhoneTopBar-DU84Aa4w.js`),__vite__mapDeps([121,2,1,3,4,5,6,7,8,9,122,15,123,30,31,40,41,11,12,10,13,124,125,126,127,100,16,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,67,137,91,138,54,89,32,34,90,52,92,93,94,139,140,141,99,104,95,142,88,143])),D()]).then(([e])=>({default:e.PhoneTopBar}))),ii=(0,Y.lazy)(()=>i(()=>import(`./PhoneDrawer-CDhCPbxZ.js`).then(e=>({default:e.PhoneDrawer})),__vite__mapDeps([144,2,1,3,4,5,6,7,8,9,68,15,46,73,143,49,50,133,26,57,58,59,60,61,88]))),ai=(0,Y.lazy)(()=>i(()=>import(`./SidebarUpdateStatus-B_NGjvl5.js`),__vite__mapDeps([145,2,1,3,4,5,6,7,8,9,82,15,146,22,147]))),oi=(0,Y.lazy)(()=>i(()=>import(`./SettingsSidebar-h5Sax-cP.js`).then(e=>({default:e.SettingsSidebar})),__vite__mapDeps([148,1,2,3,4,5,6,7,8,9,10,11,12,13,149,15,81,17,18,19,20,21,22,49,50,51,53,150]))),si=(0,Y.lazy)(async()=>{let[{ShortcutHelpDialog:e}]=await Promise.all([i(()=>import(`./ShortcutHelpDialog-D7ev01fF.js`),__vite__mapDeps([151,1,2,3,4,5,6,7,8,9,73,15,61,50,58,49,53,56,26,57,59,60,152,51])),D()]);return{default:e}}),ci=(0,Y.lazy)(()=>i(()=>import(`./PageHeader-Cyw_6Kw4.js`).then(e=>({default:e.PageHeader})),__vite__mapDeps([153,2,1,3,4,5,6,7,8,9,14,15,47,154,49,50,61,58,53]))),li=(0,Y.lazy)(()=>i(()=>import(`./TerminalPanel-CYY36HpY.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([155,1,2,3,4,5,6,7,8,9,15,24,45,47,26,61,50,58,49,156,157,25,158,159,37,160,100,124,161,128,59,162,101,60,102,103,163]))),ui=(0,Y.lazy)(()=>i(()=>import(`./MobileViewportStabilizer-uKI4Zp7f.js`).then(e=>({default:e.MobileViewportStabilizer})),__vite__mapDeps([164,1,2])));function di(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 fi(e){try{return decodeURIComponent(e)}catch{return``}}function pi(e,t){let n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return n?n(e,t):Promise.reject(Error(`native bridge unavailable`))}function mi({routerState:e}){let{t}=A();(0,Y.useEffect)(()=>ve(`react-app-mounted`),[]);let n=o(),r=f(),s=(0,Y.useCallback)(()=>e?.()??{location:n,navigation:{state:`idle`}},[n,e]),c=Te(e=>e.capabilities),l=Te(e=>e.loaded),u=Te(e=>e.load),d=(0,Y.useMemo)(()=>Bt(t),[t]),m=C(n.pathname)||`board`,h=!!x(n.pathname),g=m===`config`?fi(n.pathname.split(`/`)[2]||`models`):`models`,_=Fe.has(g)&&we(c,g)?g:`models`,v=je(m,_),b=(0,Y.useRef)(m),[te,E]=(0,Y.useState)(``),[ae,oe]=(0,Y.useState)(()=>p.getItem(j.activeSession)||``),se=y(n.pathname,ae),ce=Oe(e=>e.client===`mobile-app`),D=Oe(e=>e.loaded),le=Ee(),O=ce||le,ue=De()&&ce,k=O&&!window.pisperDesktop&&!ue,de=Gn(m,v),_e=de===`board`?`board`:de===`more`?`features`:de===`settings`?`settings`:null,ye=z(e=>e.toggleCollapsed);(0,Y.useEffect)(()=>{document.documentElement.toggleAttribute(`data-phone-shell`,k)},[k]),(0,Y.useEffect)(()=>{z.getState().setDrawerOpen(!1)},[n.pathname,k]);let[be,M]=(0,Y.useState)(!1),[ke,Ae]=(0,Y.useState)(!1),Ie=W(e=>e.theme),Le=W(e=>e.cycleTheme),Re=W(e=>e.density),ze=W(e=>e.accent),Be=W(e=>e.customAccent),Ve=W(e=>e.fontScale),He=W(e=>e.uiFontSize),Ue=W(e=>e.codeFontSize),Ke=W(e=>e.radius),Je=W(e=>e.motion),[Ye,N]=(0,Y.useState)([]),[Xe,Ze]=(0,Y.useState)(!1),P=Xe?void 0:Ye[0],Qe=(0,Y.useRef)(P);Qe.current=P;let[$e,et]=(0,Y.useState)(!1),[tt,nt]=(0,Y.useState)(null),{data:rt,isPending:it,isSuccess:at}=fe(ge(`config`)),{data:ot}=fe(ge(`notification-settings`)),[F,st]=(0,Y.useState)(!1),[I,ct]=(0,Y.useState)({browser:{enabled:!1},connections:{},scopes:[],templates:[]}),[ht,gt]=(0,Y.useState)(null),_t=(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]),[vt,L]=(0,Y.useState)(()=>!!Br().open),[R,yt]=(0,Y.useState)(()=>Math.max(180,Math.min(640,Number(Br().height)||300)));(0,Y.useEffect)(()=>{let e=()=>{window.pisperDesktop?.terminalProfiles&&Ce(c,`terminal`)&&L(e=>!e)};return window.addEventListener(`pisper:toggle-terminal`,e),()=>window.removeEventListener(`pisper:toggle-terminal`,e)},[c]);let bt=(0,Y.useRef)(``),[B]=(0,Y.useState)(Un),xt=(0,Y.useRef)(null),St=(0,Y.useRef)(null),Ct=(0,Y.useRef)(0),V=Cr(),H=Lr();(0,Y.useEffect)(()=>{dr({accent:ze,density:Re,fontScale:Ve,motion:Je,radius:Ke,customAccent:Be,uiFontSize:He,codeFontSize:Ue})},[ze,Re,Ve,Je,Ke,Be,He,Ue]),(0,Y.useEffect)(()=>{p.setItem(j.terminalPanel,JSON.stringify({open:vt,height:R}))},[R,vt]),(0,Y.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>{let t=ur(Ie,e.matches);document.documentElement.dataset.theme=t?`dark`:`light`,document.documentElement.classList.toggle(`dark`,t)};if(t(),Ie===`system`)return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t);if(Ie===`scheduled`){let e=window.setInterval(t,6e4);return()=>window.clearInterval(e)}},[Ie]);let U=(0,Y.useCallback)((e,t=`success`,n)=>{Ct.current+=1;let r={id:Ct.current,message:e,tone:t,action:n?.action};N(e=>[...e,r])},[]);(0,Y.useEffect)(()=>{let e=e=>{let t=Qe.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;Ze(!0),N(e=>e.filter(e=>e.id!==t.id)),requestAnimationFrame(()=>requestAnimationFrame(()=>{n.dispatchEvent(new KeyboardEvent(`keydown`,{key:`Escape`,code:`Escape`,bubbles:!0,cancelable:!0})),Ze(!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;oe(t??p.getItem(j.activeSession)??``)};window.addEventListener(ft,e);let t=e=>{let t=e.detail;t?.message&&U(t.message,t.tone===`error`?`error`:`info`)};return window.addEventListener(wt,t),Oe.getState().load({refresh:!1}).then(()=>ve(`client-info-loaded`)),u({refresh:!1}).then(()=>ve(`capabilities-loaded`)),()=>{window.removeEventListener(ft,e),window.removeEventListener(wt,t)}},[u,U]);let Dt=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{!D||!ce||Dt.current||(Dt.current=!0,(async()=>{await pi(`mobile_ensure_local_network_permission`).catch(()=>void 0)})())},[D,ce]);let Ot=(0,Y.useCallback)((e,t,{force:n=!1}={})=>{if(I.browser?.enabled&&!(!n&&document.visibilityState===`visible`&&document.hasFocus())){if(window.pisperDesktop?.showNotification){window.pisperDesktop.showNotification({title:e,body:t}).catch(()=>{});return}if(Lt()){Nt(e,t).catch(()=>{});return}Rt({title:e,body:t,tag:`pisper-${e}`,url:window.location.href}).catch(()=>{})}},[I.browser?.enabled]),jt=(0,Y.useCallback)((e,t,n)=>{let r=I.templates?.find(t=>t.id===e),i=r?.channels?.browser?.content;!r?.enabled||r.channels?.browser?.enabled===!1||!i||Ot(r.name,di(i,t||{}),n)},[I.templates,Ot]),Mt=(0,Y.useCallback)(e=>B.register(e),[B]),Pt=(0,Y.useCallback)(()=>{B.invoke()},[B]),Ft=(0,Y.useCallback)(e=>(gt(e),()=>gt(t=>t===e?null:t)),[]),G=(0,Y.useCallback)((e,t)=>{if(!(!w.has(e)||!Se(c,e))){if(e===`chat`){if(!h){let e=ut();r(e?S(e.sessionId):`/`,t)}}else r(ie(e),t);E(``)}},[c,r,h]),It=(0,Y.useCallback)((e,t=``)=>{e&&(mt(e,`open`,t),h||r(S(e)),E(``))},[r,h]),K=(0,Y.useCallback)(()=>{E(``),lt(),x(n.pathname)!==`new`&&r(S())},[n.pathname,r]);(0,Y.useEffect)(()=>{if(l&&!Se(c,m)){r(`/`,{replace:!0});return}l&&m===`config`&&g!==_&&r(`/config/${_}`,{replace:!0})},[c,l,_,m,g,r]);let q=(0,Y.useCallback)((e,t)=>{let n=Fe.has(e)&&we(c,e)?e:`models`;r(n===`interface`&&t===`widgets`?T.components:`/config/${n}`),E(``)},[c,r]),J=(0,Y.useCallback)(e=>{if(e===`session`){let e=qn(s());e&&r(e.to,{replace:e.replace,state:e.state}),E(``)}else e===`settings`?k?r(ee):q(`models`):G(Wn[e])},[G,k,s,r,q]),Vt=(0,Y.useCallback)(()=>x(Kn(s())),[s]),Ht=(0,Y.useCallback)(e=>{if(!e)return;let t=s(),n=Kn(t);if(x(n)===e)return;if(E(``),C(n)!==`session`){r(S(e));return}let i=n===`/`?re:t.location.state;r(S(e),{replace:!0,state:i})},[s,r]),Ut=(0,Y.useCallback)(e=>{Vt()===e&&r(`/`,{replace:!0})},[Vt,r]),Wt=(0,Y.useCallback)(()=>{try{p.setItem(j.modelOnboardingDismissed,`1`)}catch{}et(!1)},[]),Gt=(0,Y.useCallback)(()=>{Wt(),B.clear(),B.invoke(),q(`models`)},[Wt,B,q]),Z=(0,Y.useCallback)(()=>{Wt(),r(`/config/models?import=1`),E(``)},[Wt,r]),Kt=(0,Y.useCallback)(()=>q(`updates`),[q]),qt=(0,Y.useCallback)(()=>q(`notifications`),[q]),Jt=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!v){Jt.current=null;return}if(Jt.current!==null)return;let e=window.history.state?.idx;Jt.current=typeof e==`number`?e:0},[n.key,v]);let Yt=(0,Y.useCallback)(()=>{let e=Jt.current,t=window.history.state?.idx;r(e!==null&&e>0&&typeof t==`number`&&t>=e?-(t-e+1):`/`)},[r]),Xt=(0,Y.useCallback)(async e=>e&&(await he(`sessions`)).sessions?.find(t=>t.id===e)?.cwd||``,[]),Zt=(0,Y.useCallback)(e=>{let t=p.getItem(j.activeSession)||``;nt({asset:e,targetSessionId:t}),t?It(t):r(`/`)},[It,r]);(0,Y.useEffect)(()=>{let e=()=>{!V.dialog&&!$e&&M(!0)},t=e=>{if(!(e.defaultPrevented||e.isComposing||e.keyCode===229)&&e.key===`Escape`&&!V.dialog){be&&(M(!1),e.preventDefault());return}};return window.addEventListener(`keydown`,t),window.addEventListener(dt,e),()=>{window.removeEventListener(`keydown`,t),window.removeEventListener(dt,e)}},[V.dialog,$e,be]);let Qt=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{if(it||Qt.current||(Qt.current=!0,st(!0),!at||!rt))return;ve(`config-loaded`);let e=!1;try{e=p.getItem(j.modelOnboardingDismissed)===`1`}catch{}b.current!==`config`&&zr(rt,e)&&et(!0)},[rt,it,at]),(0,Y.useEffect)(()=>{F&&l&&(m===`board`||m===`session`)&&ve(`chat-shell-ready`)},[l,m,F]);let $t=(0,Y.useRef)(m);(0,Y.useLayoutEffect)(()=>{$t.current===`config`&&m!==`config`&&(me(`config`),me(`notification-settings`)),$t.current=m},[m]),(0,Y.useEffect)(()=>{ot&&ct(ot)},[ot]),(0,Y.useEffect)(()=>{let e=!0,t=async()=>{try{let t=bt.current,n=await pe.fetchQuery({queryKey:[`browser-notification-events`,t],queryFn:()=>xe(`/api/settings/notifications/browser/events?after=${encodeURIComponent(t)}`),staleTime:0,retry:!1});if(!e)return;for(let e of n.events||[])Ot(e.title,e.body,{force:!0});bt.current=n.latestId||bt.current}catch{}};t();let n=window.setInterval(t,3e3);return()=>{e=!1,window.clearInterval(n)}},[Ot]);let en=m===`chat`?[t(`common:app.sessions`),O?``:t(`common:app.dragTabsOrSplitChatsInAnyDirectionFromTheSessionList`)]:m===`config`?[v&&Me(_)?Pe(t,_):Ne(t,_),``]:m===`workflowCreate`?zt(t,ht?ht.editing:fi(n.pathname.split(`/`)[2]||`new`)!==`new`):d[m]||[t(`common:app.sessions`),``],tn=(0,Y.useCallback)(e=>{pe.cancelQueries({queryKey:[`notification-settings`],exact:!0}),pe.setQueryData([`notification-settings`],e),ct(e)},[]),nn=de===`more`&&m!==`more`,rn=(0,Y.useCallback)(()=>r(T.more),[r]),an={activeSessionId:se,navigate:G,notify:U,browserNotify:jt,registerPrimaryAction:Mt,invokePrimaryAction:Pt,pendingAsset:tt,onAssetConsumed:()=>nt(null),onUseAsset:Zt,requestText:V.prompt,requestConfirm:V.confirm,openNotificationSettings:qt,configSection:_,setConfigSection:q,setNotificationSettings:tn,appUpdate:H,registerWorkflowActions:Ft,startNewTask:K,onBackToFeatures:nn?rn:void 0},on=(0,Y.useCallback)(()=>{let e=window.history.state?.idx,t=Yn(m,n.pathname,v,{phone:k,homeEntry:ne(n.state),canGoBack:typeof e==`number`&&e>0});return t===-1?r(-1):t&&r(t),t!==null},[n.pathname,n.state,m,k,r,v]),sn=(0,Y.useCallback)(()=>{m===`more`?document.getElementById(We)?.focus():Ge.has(m)?document.getElementById(qe)?.focus():m===`board`?document.getElementById(Tt)?.querySelector(`[data-state="on"]`)?.focus():xt.current?.focus()},[m]),cn=k&&m!==`session`,Q=k&&v&&/^\/config\/?$/.test(n.pathname),ln=![`board`,`session`,`more`,`chat`,`workflowCreate`,`config`,`bots`].includes(m)&&!Ge.has(m),un=v&&!k;if(!F||!l)return(0,X.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,X.jsx)(At,{size:30,className:`startup-logo`}),(0,X.jsx)(`strong`,{className:`font-medium`,children:t(`common:app.wakingPisper`)})]});let dn=e=>(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Yr,{query:te,onQueryChange:E,onSelect:q,inputRef:xt,placement:e})});return(0,X.jsx)(_r,{duration:2800,swipeDirection:`right`,children:(0,X.jsx)(kt,{bridge:window.pisperDesktop,children:(0,X.jsxs)(`div`,{ref:St,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":O||void 0,"data-phone-shell":k||void 0,"data-shell-canvas":m===`board`||m===`more`||void 0,"data-custom-titlebar":window.pisperDesktop?.customTitlebar||void 0,children:[window.pisperDesktop?.customTitlebar&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Wr,{})}),(0,X.jsx)(pr,{}),O&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ui,{enabled:D&&F,shellRef:St})}),Ce(c,`desktopPet`)&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Jr,{})}),(0,X.jsx)(Hn,{onRouteBack:O?on:void 0}),(0,X.jsx)(mr,{blocked:!!(V.dialog||$e||be),onCommandPalette:()=>M(!0),onPrimary:()=>K(),onSearch:sn,onToggleTerminal:window.pisperDesktop?.terminalProfiles&&Ce(c,`terminal`)?()=>L(e=>!e):void 0,onSettings:()=>J(`settings`),onOpenSession:()=>J(`session`),onOpenBoard:()=>J(`board`),onOpenComponents:()=>G(`components`),onOpenMore:()=>J(`more`),onToggleSidebar:k?void 0:ye,onAgentPanel:()=>Et({kind:`focus-list`}),onPreviousAgent:()=>Et({kind:`adjacent`,direction:-1}),onNextAgent:()=>Et({kind:`adjacent`,direction:1}),onJumpToAttention:()=>Et({kind:`focus-attention`}),onSessionTree:m===`session`?()=>pt(`tree`):void 0,onSideChat:m===`session`?()=>pt(`side-chat`):void 0,onCycleFocusRegion:()=>void i(()=>import(`./focus-regions-B9MkPSKC.js`).then(e=>e.cycleFocusRegion()),[]),onShortcutHelp:()=>Ae(!0)}),(0,X.jsxs)(`div`,{className:`app-body flex min-h-0 flex-1 overflow-hidden`,"data-mobile-app":O||void 0,children:[!k&&(0,X.jsx)(er,{active:_e,onNewTask:()=>K(),onSearch:()=>M(!0),onOpenBoard:()=>J(`board`),onOpenFeatures:()=>J(`more`),onOpenSettings:()=>J(`settings`),content:(0,X.jsxs)(Y.Suspense,{fallback:(0,X.jsx)(ar,{}),children:[(0,X.jsx)(Qr,{}),(0,X.jsx)($r,{currentId:x(n.pathname),notify:U,requestText:V.prompt,onOpenSession:Ht,onOpenBoard:()=>J(`board`),onOpenHistory:()=>G(`chatHistory`),onArchived:Ut})]}),takeover:un?(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`nav`,{"aria-busy":`true`,"aria-label":t(`config:settingsShell.settingsNavigation`),className:`flex-1`}),children:(0,X.jsx)(oi,{configSection:_,onSelectSection:q,onBack:Yt,onOpenFeatures:()=>J(`more`),search:dn(`sidebar`),version:H.info?.version,footer:(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ni,{onOpenBoard:()=>J(`board`)})})})}):void 0,railCounts:(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(ar,{collapsed:!0}),children:(0,X.jsx)(ei,{onOpenBoard:()=>J(`board`)})}),update:H.status&&[`available`,`downloading`,`downloaded`].includes(H.status.state)?(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(`div`,{className:`flex-none [&>button]:size-8 [&>button]:min-h-0 pointer-coarse:[&>button]:size-11`,children:(0,X.jsx)(ai,{update:H,collapsed:!0,onOpen:Kt})})}):void 0}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ti,{resolveCurrentId:Vt,renderedSessionId:m===`session`?x(n.pathname):null,onOpenSession:Ht,onWaiting:({title:e,reason:t})=>jt(`chat.waiting`,{chat:{title:e,tool:t,reason:t}})})}),(0,X.jsxs)(`main`,{"data-focus-region":`main`,className:`main-surface relative flex min-w-0 flex-1 flex-col overflow-hidden bg-panel`,children:[cn&&(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`div`,{className:`h-14 flex-none bg-panel`,"aria-hidden":`true`}),children:(0,X.jsx)(ri,{title:Q?t(`navigation:navigation.settings`):en[0],onNewTask:()=>K(),onSearch:m===`board`?()=>M(!0):void 0})}),k&&v&&!Q&&(0,X.jsxs)(Y.Suspense,{fallback:null,children:[(0,X.jsx)(Hr,{onBack:()=>r(`/config`)}),(0,X.jsx)(`div`,{"data-mobile-settings-search":!0,className:`flex-none px-4 pb-1`,children:dn()})]}),ln&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ci,{meta:en,page:m,desktopPlatform:window.pisperDesktop?.platform||``,terminalOpen:vt,onToggleTerminal:()=>L(e=>!e),onBackToMore:nn?rn:void 0,phoneShell:k})}),(0,X.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:Q?(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Ur,{onNavigate:q,onOpenFeatures:()=>J(`more`)})}):(0,X.jsx)(a,{context:an})},m),window.pisperDesktop?.terminalProfiles&&Ce(c,`terminal`)&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(li,{open:vt,height:R,labels:_t,activeSessionId:se,resolveSessionCwd:Xt,onOpenChange:L,onHeightChange:yt})})]})]}),k&&(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(ii,{active:_e,onSearch:()=>M(!0),onNewTask:()=>K(),onOpenBoard:()=>J(`board`),onOpenFeatures:()=>J(`more`),onOpenSettings:()=>J(`settings`),content:(0,X.jsxs)(Y.Suspense,{fallback:(0,X.jsx)(ar,{}),children:[(0,X.jsx)(Qr,{}),(0,X.jsx)($r,{drawer:!0,currentId:x(n.pathname),notify:U,requestText:V.prompt,onOpenSession:Ht,onOpenBoard:()=>J(`board`),onOpenHistory:()=>G(`chatHistory`),onArchived:Ut})]}),update:H.status&&[`available`,`downloading`,`downloaded`].includes(H.status.state)?(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(`div`,{className:`flex-none [&>button]:size-11 [&>button]:min-h-0`,children:(0,X.jsx)(ai,{update:H,collapsed:!0,onOpen:Kt})})}):void 0})}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(Gr,{activeSessionId:se,notify:U})}),P&&(0,X.jsx)(Sr,{open:!0,message:P.message,tone:P.tone,action:P.action,duration:P.action?1e4:void 0,closeLabel:t(`common:ui.closeDialog`),onOpenChange:e=>!e&&N(e=>e.filter(e=>e.id!==P.id))},P.id),(0,X.jsx)(vr,{hotkey:[],label:t(`common:ui.notifications`)}),V.dialog&&(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`span`,{role:`status`,className:`sr-only`,children:t(`common:pageTemplate.loading`)}),children:(0,X.jsx)(qr,{dialog:V.dialog,onClose:V.close,onFinish:V.finish})}),(0,X.jsx)(Y.Suspense,{fallback:null,children:$e&&(0,X.jsx)(Xr,{open:!0,onDismiss:Wt,onOpenImport:Z,onOpenSettings:Gt})}),(0,X.jsxs)(Y.Suspense,{fallback:null,children:[be&&(0,X.jsx)(Kr,{onClose:()=>M(!1),onNavigate:G,onOpenSession:async(e,n,r)=>{try{if(n&&!r){let{switchToTurnOnOtherBranch:r}=await i(async()=>{let{switchToTurnOnOtherBranch:e}=await import(`./session-tree-actions-BDCY5Rx_.js`);return{switchToTurnOnOtherBranch:e}},__vite__mapDeps([165,52,6,5,1,2,7,8,54,40,31,41,11,4,12,166,30]));await r({sessionId:e,entryId:n,confirm:V.confirm,open:It,notify:U,t});return}It(e,n)}catch(e){throw U(t(`navigation:appOverlays.openLabeledTurnFailed`),`error`),e}},onNewChat:()=>K(),onToggleTheme:Le}),ke&&(0,X.jsx)(si,{open:!0,onOpenChange:Ae,onCustomize:()=>r(`/config/shortcuts`)})]})]})})})}function hi({children:e}){let{t}=A(),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})=>G(e,t)&&Object.values(q(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,[K]: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=q(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?.[K],t=typeof e==`string`?a.current.get(e):void 0;t&&(a.current.delete(e),t())},[r]);let w=q(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,X.jsxs)(Pt.Provider,{value:T,children:[e,h&&(0,X.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,X.jsx)(Ct,{open:!!d,onOpenChange:e=>{e||S()},children:(0,X.jsxs)(bt,{size:`compact`,surface:`confirmation`,showCloseButton:!1,className:`z-[400]`,overlayClassName:`z-[400]`,children:[(0,X.jsxs)(St,{children:[(0,X.jsx)(B,{children:t(`common:unsaved.title`)}),(0,X.jsx)(yt,{children:t(`common:unsaved.description`)})]}),(0,X.jsx)(`form`,{onSubmit:e=>{e.preventDefault(),te()},children:(0,X.jsxs)(xt,{children:[(0,X.jsx)(I,{type:`button`,variant:`outline`,size:`dialogAction`,onClick:S,autoFocus:!0,children:t(`common:unsaved.keepEditing`)}),(0,X.jsx)(I,{type:`submit`,variant:`destructive`,size:`dialogAction`,children:t(`common:unsaved.discard`)})]})})]})})]})}function gi(){let{t:e}=A();return(0,X.jsxs)(Dt,{children:[(0,X.jsx)(`span`,{className:`grid place-items-center`,children:(0,X.jsx)(st,{className:`size-6`})}),(0,X.jsx)(`h2`,{children:e(`navigation:pageLoader.lightingUpThisPage`)}),(0,X.jsx)(`p`,{children:e(`navigation:pageLoader.bringingTheNeededCapabilitiesIntoPlace`)})]})}async function _i(){window.__PISPER_MOBILE_APP__&&await be().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 vi(){let e=c(),t=s(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:`页面加载失败`;return(0,X.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,X.jsx)(`strong`,{className:`font-medium`,children:t}),(0,X.jsx)(I,{variant:`secondary`,type:`button`,onClick:()=>void _i(),children:`重新加载`})]})}function $(){return n()}async function yi(){let[{BoardPage:e}]=await Promise.all([i(()=>import(`./BoardPage-Cq1A97SF.js`),__vite__mapDeps([167,1,5,2,3,4,6,7,8,9,30,31,29,32,10,11,12,13,33,34,35,37,36,38,15,168,81,126,124,16,169,98,170,137,91,89,40,41,54,90,52,92,142,94,138,125,127,100,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,93,139,140,141,87,45,171,143,172,173,99,104,174,175,176,162,158,177,97,28,105,106,107,159,160,161,178])),D()]);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,X.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 bi(){let[{ChatPage:e},{SessionShell:t}]=await Promise.all([i(()=>import(`./ChatPage-B19Ofy-n.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,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,169,82,184,52,177,185,186,28,34,36,168,161,187,98,188,67,20,43,21,71,171,189,190,48,172,99,104,176,162,54,158,114,191,192,193,194,195,196,197,106,198,199,85,200,201,166,202,203,112,113,204,205,44,206,207,208,45,73,143,75,173,209,210,211,90,92,139,141,150,175,108,212,213,214,120,156,215,165,216,217])),i(()=>import(`./SessionShell-rjmSVZ_E.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,123,40,41,15,124,125,126,127,100,16,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,67,137,91,138,54,89,90,52,92,93,94,139,140,141,99,104,95,142,122,88,105])),D()]);function n(){return(0,X.jsx)(t,{context:$(),ChatPage:e})}return{Component:n}}async function xi(){bi().catch(()=>void 0);let[{SessionHome:e}]=await Promise.all([i(()=>import(`./SessionHome-2PhdOYt0.js`),__vite__mapDeps([219,1,5,2,28,3,4,6,7,8,9,36,37,38,11,12,123,30,31,40,41,10,13,15,124,125,126,127,100,16,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,67,137,91,138,54,89,32,34,90,52,92,93,94,139,140,141,99,104,95,142,122,88,158,105])),D()]);function t(){return(0,X.jsx)(e,{context:$()})}return{Component:t}}async function Si(){let{MorePage:e}=await i(async()=>{let{MorePage:e}=await import(`./MorePage-BBtrzGN0.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,173,154,49,50,61,58,51,52,84,53]));function t(){let t=$(),n=f();return(0,X.jsx)(e,{onOpen:e=>{e.type===`page`?n(ie(e.id)):e.type===`config`?t.setConfigSection(e.id):n(`/tools/components/${encodeURIComponent(e.id)}`)}})}return{Component:t}}async function Ci(){let{ChatHistoryPage:e}=await i(async()=>{let{ChatHistoryPage:e}=await import(`./ChatHistoryPage-Bb2dxbsW.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,129,87,22,143,172,173,154,99,100,16,58,59,101,60,102,103,104,49,50,61,52,53,90,55,96,139,158,225,124,14,46,113,26,51,213]));function t(){let t=$();return(0,X.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 wi(){let{AssetsPage:e}=await i(async()=>{let{AssetsPage:e}=await import(`./AssetsPage-jmEL7H4K.js`);return{AssetsPage:e}},__vite__mapDeps([226,1,2,4,5,6,7,8,3,9,30,31,227,11,12,15,82,146,185,205,207,45,22,172,113,26,154,99,100,16,58,59,101,60,102,103,104,49,50,61,53,55,56,57,78,158,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,X.jsx)(e,{activeSessionId:t.activeSessionId,onBack:t.onBackToFeatures,notify:t.notify,requestConfirm:t.requestConfirm,onUse:t.onUseAsset})}return{Component:t}}async function Ti(){let[{ChannelsPage:e}]=await Promise.all([i(()=>import(`./ChannelsPage-C6Ep15_G.js`),__vite__mapDeps([229,1,2,3,4,5,6,7,8,9,11,12,15,19,146,67,230,44,45,22,190,172,113,26,173,154,49,50,61,58,53,55,96,78,135,115,158,225,36,37,38,124,14,46,51,116,77,59,117,159,160,100,161,128,162,101,60,102,103,212,211,203,104,213,199])),oe()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function Ei(){let{BotsPage:e}=await i(async()=>{let{BotsPage:e}=await import(`./public-D2ntc_xA.js`);return{BotsPage:e}},__vite__mapDeps([231,1,5,2,3,4,6,7,8,9,14,15,187,112,100,113,61,50,58,49,56,26,57,59,60,78,114,21,45,111,28,67,115,116,77,117,107,106,118,11,12,232,124,161,101,201,211,103,174,104,175,158,159,37,160,128,162,102,119,13,10,52,120]));function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify})}return{Component:t}}async function Di(){let{SchedulesPage:e}=await i(async()=>{let{SchedulesPage:e}=await import(`./SchedulesPage-DGWSRJUO.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,172,154,211,103,53,55,96,115,141,158,225,36,37,38,124,14,46,51,116,77,117,159,160,161,128,162,101,102,212,203,104,213,199]));function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm,openNotificationSettings:t.openNotificationSettings})}return{Component:t}}async function Oi(){let[{ConfigPage:e},{ChatAppearancePage:t}]=await Promise.all([i(()=>import(`./ConfigPage-BZ90fSaF.js`),__vite__mapDeps([234,1,5,2,6,7,4,8,3,9,11,12,13,10,38,15,180,149,81,235,18,19,65,100,124,14,42,182,236,187,82,98,146,17,20,21,22,222,43,44,223,237,45,147,171,46,72,190,74,47,172,113,130,26,173,58,59,101,232,161,201,49,50,103,104,99,16,60,102,131,56,57,61,160,128,162,117,132,211,51,84,53,55,96,78,115,136,158,62,225,36,37,116,77,192,193,194,195,196,197,159,119,52,120,213,212,203,199,85,200,238,152,239])),i(()=>import(`./ChatAppearancePage-D9mtbLrb.js`),__vite__mapDeps([240,5,1,2,28,3,4,6,7,8,9])),D(),E()]);function n(){let n=$();return(0,X.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,X.jsx)(t,{appearance:e})})}return{Component:n}}async function ki(){let{PluginsPage:e}=await i(async()=>{let{PluginsPage:e}=await import(`./PluginsPage-DjW7wlaR.js`);return{PluginsPage:e}},__vite__mapDeps([241,1,2,3,4,5,6,7,8,9,11,12,13,10,15,182,242,146,188,243,67,222,244,69,245,46,72,189,172,113,154,58,59,57,60,49,50,61,53,56,26,78,141,158,225,36,37,38,124,14,51,159,160,100,161,128,162,101,102,103,212,211,203,104,213,199,215]));function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Ai(){let{MemoryPage:e}=await i(async()=>{let{MemoryPage:e}=await import(`./MemoryPage-DKVTRhDw.js`);return{MemoryPage:e}},__vite__mapDeps([246,1,2,3,4,5,6,7,8,9,11,12,15,100,243,20,129,45,22,74,172,26,154,176,58,59,162,60,102,103,49,50,61,53,78,115,158,225,36,37,38,124,14,46,113,51,116,77,117,159,160,161,128,101,212,211,203,104,213,199]));function t(){let t=$();return(0,X.jsx)(e,{onBack:t.onBackToFeatures,notify:t.notify,requestConfirm:t.requestConfirm})}return{Component:t}}async function ji(){let[{McpPage:e}]=await Promise.all([i(()=>import(`./McpPage-Om-chXna.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,172,130,26,154,211,58,59,103,49,50,61,53,55,56,57,60,115,158,114,225,36,37,38,124,14,46,113,51])),ce()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}async function Mi(){let{SkillsPage:e}=await i(async()=>{let{SkillsPage:e}=await import(`./SkillsPage-C2DnxWvu.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,172,130,154,209,100,58,59,103,49,50,61,53,158,225,36,37,38,124,14,46,113,26,51,212,211,203,101,104,213,199]));function t(){let t=$();return(0,X.jsx)(e,{activeSessionId:t.activeSessionId,notify:t.notify,onBack:t.onBackToFeatures,requestText:t.requestText,requestConfirm:t.requestConfirm})}return{Component:t}}var Ni=Object.freeze({componentFromList:!0});function Pi(e){return typeof e==`object`&&!!e&&e.componentFromList===!0}async function Fi(){let[{CustomUiPage:e}]=await Promise.all([i(()=>import(`./public-B9twcm-g.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,138,125,126,127,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,137,91,54,40,41,89,90,52,92,93,94,139,140,141,123,67,99,104,95,142,206,45,71,250,189,74,172,209,77,160,161,162,211,174,175,88,158,62,213,251,210,117,176,252,253])),E()]);function t(){let t=$(),n=f(),i=o(),{componentId:a=``}=r();return(0,X.jsx)(e,{activeSessionId:t.activeSessionId,notify:t.notify,selectedId:a,onSelect:(e,t)=>{!e&&!t&&Pi(i.state)?n(-1):n(te(e),{replace:t||!e,state:e&&!t?Ni:void 0})}})}return{Component:t}}async function Ii(){let[{CustomUiToolPage:e}]=await Promise.all([i(()=>import(`./public-B9twcm-g.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,138,125,126,127,128,129,22,46,25,130,26,58,59,57,60,131,102,103,49,50,56,61,132,101,51,53,133,55,96,134,135,78,115,136,137,91,54,40,41,89,90,52,92,93,94,139,140,141,123,67,99,104,95,142,206,45,71,250,189,74,172,209,77,160,161,162,211,174,175,88,158,62,213,251,210,117,176,252,253])),E()]);function t(){let t=$(),{componentId:n=``}=r();return(0,X.jsx)(e,{componentId:n,activeSessionId:t.activeSessionId,notify:t.notify})}return{Component:t}}async function Li(){let[{WorkflowsPage:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-Dvy-QIJo.js`),__vite__mapDeps([254,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,168,126,18,19,127,100,124,14,16,182,183,236,187,82,98,243,185,204,255,222,43,230,237,206,207,129,208,45,22,147,245,46,72,250,25,172,113,75,26,154,99,58,59,101,60,102,103,104,49,50,77,131,56,57,61,210,132,128,211,203,53,133,55,96,78,115,158,114,225,51,116,117,159,160,161,162,200,201,239,253,256,257,258])),le()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function Ri(){let[{WorkflowBuilder:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-Dvy-QIJo.js`),__vite__mapDeps([254,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,168,126,18,19,127,100,124,14,16,182,183,236,187,82,98,243,185,204,255,222,43,230,237,206,207,129,208,45,22,147,245,46,72,250,25,172,113,75,26,154,99,58,59,101,60,102,103,104,49,50,77,131,56,57,61,210,132,128,211,203,53,133,55,96,78,115,158,114,225,51,116,117,159,160,161,162,200,201,239,253,256,257,258])),le()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,registerWorkflowActions:t.registerWorkflowActions})}return{Component:t}}var zi=t([{element:(0,X.jsx)(hi,{children:(0,X.jsx)(mi,{routerState:()=>zi.state})}),errorElement:(0,X.jsx)(vi,{}),hydrateFallbackElement:(0,X.jsx)(gi,{}),children:[{index:!0,lazy:xi},{path:T.board,lazy:yi},{path:`/board/:sessionId`,lazy:bi},{path:T.more,lazy:Si},{path:T.chat,element:(0,X.jsx)(l,{to:`/`,replace:!0})},{path:T.chatHistory,lazy:Ci},{path:T.assets,lazy:wi},{path:T.channels,lazy:Ti},{path:T.schedules,lazy:Di},{path:`/bots/:botId?`,lazy:Ei},{path:T.config,lazy:Oi},{path:`/config/:configSection`,lazy:Oi},{path:`/config`,element:(0,X.jsx)(l,{to:T.config,replace:!0})},{path:T.plugins,lazy:ki},{path:T.memory,lazy:Ai},{path:T.mcp,lazy:ji},{path:T.skills,lazy:Mi},{path:`/components/:componentId?`,lazy:Fi},{path:`/tools/components/:componentId`,lazy:Ii},{path:T.workflows,lazy:Li},{path:T.workflowCreate,lazy:Ri},{path:`/workflows/:workflowId`,lazy:Ri},{path:`*`,element:(0,X.jsx)(l,{to:`/`,replace:!0})}]}]),Bi=()=>{document.documentElement.dataset.pageVisibility=document.visibilityState};Bi(),document.addEventListener(`visibilitychange`,Bi);var Vi=b(window.location.hash);Vi&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}#${Vi}`);var Hi=document.getElementById(`root`);if(!Hi)throw Error(`Missing #root application mount point`);(0,Ln.createRoot)(Hi).render((0,X.jsx)(Y.StrictMode,{children:(0,X.jsx)(Bn,{children:(0,X.jsx)(d,{router:zi})})}));
|
|
@@ -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-vlX9sewC.js";import{t as s}from"./chevron-left-BAtyp3_6.js";import{t as c}from"./copy-DHmIFc52.js";import{t as l}from"./WorkspacePicker-D7djHk7o.js";import{t as u}from"./monitor-ORxecA9m.js";import{t as d}from"./plus-fQbSqB1n.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"./use-open-bot-wY6Uo4E-.js";import{i as b,n as x,r as S,t as C}from"./accordion-CiJMkjqX.js";import{t as w}from"./switch-D_G8wFhs.js";import{t as T}from"./segmented-control-BlM_GKV6.js";import{t as E}from"./utils-C8uzG5AZ.js";import{t as D}from"./button-CCcCN8tE.js";import{t as O}from"./input-CPw-zkYh.js";import{t as k}from"./textarea-DmATpOqT.js";import{n as A}from"./PageState-Cz6vFMXv.js";import{t as j}from"./BotAvatar-CNL-APwP.js";import{t as M}from"./AppSelect-BD6RAaJ5.js";import{_ as N,a as P,c as F,d as ee,f as I,g as L,l as R,m as z,n as B,o as V,p as H,r as U,s as W,t as G}from"./bots-store-BKZ5Va82.js";import{t as K}from"./public-flags-Dr1Hy9R7.js";var q=e(i(),1);function J(e,t){return!t||t.kind===`local`?e(`bots:computer.local`):t.name||e(`bots:computer.unnamed`)}function Y(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 X=a();function Z({environment:e,onRemoved:t,onError:n}){let{t:r}=o(),[i,a]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),l=async()=>{c(!0);try{await ee(e.id),t()}catch(e){n(e instanceof Error?e.message:String(e)),a(!1)}finally{c(!1)}};return(0,X.jsxs)(`li`,{"data-environment":e.id,className:`flex flex-col gap-1 py-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{"aria-hidden":`true`,className:E(`size-2 flex-none rounded-full`,e.online?`bg-success`:`bg-content-faint`)}),(0,X.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-content`,children:J(r,e)}),(0,X.jsx)(`span`,{className:`text-xs text-content-muted`,children:e.online?r(`bots:computer.online`):r(`bots:computer.offline`)}),e.kind===`node`&&(i?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(D,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>a(!1),children:r(`bots:computer.cancel`)}),(0,X.jsx)(D,{size:`sm`,variant:`destructive`,disabled:s,onClick:()=>void l(),children:r(`bots:computer.confirmRemove`)})]}):(0,X.jsx)(D,{size:`sm`,variant:`ghost`,onClick:()=>a(!0),children:r(`bots:computer.remove`)}))]}),e.roots.length>0&&(0,X.jsx)(`p`,{className:`truncate pl-4 font-mono text-xs text-content-muted`,children:e.roots.join(` · `)}),e.usedBy.length>0&&(0,X.jsx)(`p`,{className:`pl-4 text-xs text-content-muted`,children:r(`bots:computer.usedBy`,{names:e.usedBy.map(e=>e.name).join(`、`)})})]})}function Q({pairing:e,onDone:t}){let{t:n}=o(),i=r(),[a,s]=(0,q.useState)(!1),l=Y(e,{brain:n(`bots:computer.brainPlaceholder`),fingerprint:`SHA256:…`,root:n(`bots:computer.rootPlaceholder`)}),u=async()=>{try{await navigator.clipboard.writeText(l.join(`
|
|
2
|
-
`)),s(!0)}catch{s(!1)}};return(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,X.jsx)(`h4`,{className:`font-semibold text-content`,children:n(`bots:computer.addTitle`)}),(0,X.jsx)(D,{size:`sm`,variant:`ghost`,onClick:t,children:n(`bots:computer.done`)})]}),(0,X.jsxs)(`p`,{className:`mt-1 text-xs text-content-muted`,children:[n(`bots:computer.code`),` `,(0,X.jsx)(`b`,{"data-pairing-code":!0,className:`font-mono text-content`,children:e.code}),` `,`· `,n(`bots:computer.codeHint`)]}),!e.remote.enabled&&(0,X.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,X.jsx)(`span`,{className:`min-w-0 flex-1`,children:n(`bots:computer.remoteOff`)}),(0,X.jsx)(D,{size:`sm`,variant:`outline`,onClick:()=>i(`/config/remote-access`),children:n(`bots:computer.openRemote`)})]}),(0,X.jsx)(`p`,{className:`mt-2 text-xs text-content-muted`,children:n(`bots:computer.runThere`)}),(0,X.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:l.join(`
|
|
3
|
-
`)}),(0,X.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,X.jsx)(`p`,{className:`text-xs text-content-muted`,children:n(`bots:computer.rootHint`)}),(0,X.jsxs)(D,{size:`sm`,variant:`outline`,onClick:()=>void u(),children:[(0,X.jsx)(c,{"aria-hidden":`true`}),n(a?`bots:computer.copied`:`bots:computer.copy`)]})]})]})}function te({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=B(e=>e.upsert),[s,c]=(0,q.useState)(e.workspace.environmentId),[f,p]=(0,q.useState)(e.workspace.cwd),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(null);(0,q.useEffect)(()=>{c(e.workspace.environmentId),p(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||f.trim()!==e.workspace.cwd,C=async t=>{_(!0);try{a(await H(e.id,{workspace:{...e.workspace,...t}})),n()}catch(e){r(e instanceof Error?e.message:String(e))}finally{_(!1)}},w=async()=>{try{y(await V())}catch(e){r(e instanceof Error?e.message:String(e))}};return(0,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.description`)}),(0,X.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,X.jsx)(`span`,{className:`flex-none`,children:i(`bots:computer.runsOn`)}),(0,X.jsxs)(M,{value:s,className:`w-48`,"aria-label":i(`bots:computer.runsOn`),disabled:g,onChange:t=>{c(t.target.value),p(t.target.value===e.workspace.environmentId?e.workspace.cwd:``)},children:[t.length===0&&(0,X.jsx)(`option`,{value:`local`,children:i(`bots:computer.local`)}),t.map(e=>(0,X.jsx)(`option`,{value:e.id,children:e.kind===`local`?i(`bots:computer.local`):i(`bots:computer.option`,{name:J(i,e),state:e.online?i(`bots:computer.online`):i(`bots:computer.offline`)})},e.id))]})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,X.jsx)(`span`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.folder`)}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(u,{className:`size-3.5 flex-none text-content-muted`,"aria-hidden":`true`}),(0,X.jsx)(O,{value:f,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=>p(e.target.value)}),x&&(0,X.jsx)(D,{size:`sm`,variant:`outline`,disabled:g,onClick:()=>h(!0),children:i(`bots:new.pick`)})]}),!x&&b&&(0,X.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:computer.folderInRoots`,{roots:b.roots.join(`、`)})}),S&&(0,X.jsx)(`div`,{className:`flex justify-end`,children:(0,X.jsx)(D,{size:`sm`,disabled:g||!f.trim(),onClick:()=>void C({environmentId:s,cwd:f.trim()}),children:i(`bots:computer.switch`)})})]}),(0,X.jsxs)(`section`,{"aria-label":i(`bots:computer.listTitle`),className:`border-t border-stroke pt-3`,children:[(0,X.jsx)(`h4`,{className:`text-xs font-medium text-content-muted`,children:i(`bots:computer.listTitle`)}),(0,X.jsx)(`ul`,{role:`list`,className:`m-0 list-none divide-y divide-stroke p-0`,children:t.map(e=>(0,X.jsx)(Z,{environment:e,onRemoved:n,onError:r},e.id))}),v?(0,X.jsx)(Q,{pairing:v,onDone:()=>{y(null),n()}}):(0,X.jsxs)(D,{size:`sm`,variant:`outline`,className:`mt-1`,onClick:()=>void w(),children:[(0,X.jsx)(d,{"aria-hidden":`true`}),i(`bots:computer.add`)]})]}),(0,X.jsx)(l,{open:m,initialPath:f||e.workspace.cwd,onOpenChange:h,onSelect:e=>{p(e),h(!1)}})]})}function ne({bot:e,onError:t}){let{t:n}=o(),r=B(e=>e.upsert),[i,a]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(`feishu`),[d,p]=(0,q.useState)(`p2p`),[m,h]=(0,q.useState)(``),[g,_]=(0,q.useState)(``),y=async n=>{c(!0);try{return r(await H(e.id,{channels:n})),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{c(!1)}},b=async()=>{let t=v(m);await y([...e.channels,{platform:l,chatType:d,peerIds:t.length?t:null,senderIds:v(g)}])&&(a(!1),h(``),_(``))};return(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[(0,X.jsx)(`p`,{className:`mb-2 text-xs text-content-muted`,children:n(`bots:triggers.chatsHint`,{name:e.name})}),e.channels.length>0&&(0,X.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,X.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,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`b`,{className:`font-medium text-content`,children:[f(n,t.platform),` ·`,` `,t.chatType===`group`?n(`bots:triggers.group`):n(`bots:triggers.p2p`)]}),(0,X.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,X.jsx)(D,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>void y(e.channels.filter((e,t)=>t!==r)),children:n(`bots:triggers.remove`)})]},`${t.platform}-${r}`))}),i?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(M,{value:l,className:`w-32`,"aria-label":n(`bots:triggers.platform`),onChange:e=>u(e.target.value),children:U.map(e=>(0,X.jsx)(`option`,{value:e,children:f(n,e)},e))}),(0,X.jsx)(T,{value:d,onValueChange:e=>p(e),options:[{value:`p2p`,label:n(`bots:triggers.p2p`)},{value:`group`,label:n(`bots:triggers.group`)}]})]}),(0,X.jsx)(O,{value:m,"aria-label":n(`bots:triggers.peerIds`),placeholder:n(`bots:triggers.peerIdsPlaceholder`),onChange:e=>h(e.target.value)}),(0,X.jsx)(O,{value:g,"aria-label":n(`bots:triggers.senderIds`),placeholder:n(d===`group`?`bots:triggers.senderIdsRequired`:`bots:triggers.senderIdsPlaceholder`),onChange:e=>_(e.target.value)}),(0,X.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,X.jsx)(D,{size:`sm`,variant:`ghost`,onClick:()=>a(!1),children:n(`bots:triggers.cancel`)}),(0,X.jsx)(D,{size:`sm`,disabled:s||d===`group`&&!v(g).length,onClick:()=>void b(),children:n(`bots:triggers.add`)})]})]}):(0,X.jsx)(D,{size:`sm`,variant:`outline`,onClick:()=>a(!0),children:n(`bots:triggers.addChat`)})]})}var re=[1,2,3,4,5,6,0];function ie(){let e=new Date,t=e=>String(e).padStart(2,`0`);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`}function ae({bot:e,onError:t}){let{t:n}=o(),[r,i]=(0,q.useState)([]),[a,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(``),[f,m]=(0,q.useState)(`daily`),[h,_]=(0,q.useState)(`09:00`),[v,y]=(0,q.useState)(ie),[b,x]=(0,q.useState)(1),S=(0,q.useCallback)(async()=>{try{i(await F(e.id))}catch{}},[e.id]);(0,q.useEffect)(()=>{S()},[S]);let C=async e=>{l(!0);try{return await e(),await S(),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{l(!1)}},T=async()=>{let t=u.trim();await C(()=>P({botId:e.id,name:`${e.name}:${t.slice(0,40)}`,botMessage:t,frequency:f,time:h,date:f===`once`?v:``,dayOfWeek:b,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Hong_Kong`}))&&(s(!1),d(``))};return(0,X.jsxs)(`div`,{className:`flex flex-col`,children:[r.length>0&&(0,X.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:r.map(e=>(0,X.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,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`b`,{className:`block truncate font-medium text-content`,children:e.botMessage}),(0,X.jsx)(`span`,{className:`text-content-muted`,children:g(n,e)})]}),(0,X.jsx)(w,{checked:e.enabled,disabled:c,"aria-label":n(`bots:triggers.scheduleEnabled`),onCheckedChange:t=>void C(()=>I(e.id,t))}),(0,X.jsx)(D,{size:`sm`,variant:`ghost`,disabled:c,onClick:()=>void C(()=>W(e.id)),children:n(`bots:triggers.remove`)})]},e.id))}),a?(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,X.jsx)(O,{value:u,maxLength:12e3,"aria-label":n(`bots:triggers.scheduleMessage`),placeholder:n(`bots:triggers.scheduleMessagePlaceholder`),onChange:e=>d(e.target.value)}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsxs)(M,{value:f,className:`w-28`,"aria-label":n(`bots:triggers.frequency`),onChange:e=>m(e.target.value),children:[(0,X.jsx)(`option`,{value:`daily`,children:n(`bots:triggers.daily`)}),(0,X.jsx)(`option`,{value:`weekly`,children:n(`bots:triggers.weekly`)}),(0,X.jsx)(`option`,{value:`once`,children:n(`bots:triggers.once`)})]}),f===`weekly`&&(0,X.jsx)(M,{value:String(b),className:`w-24`,"aria-label":n(`bots:triggers.weekday`),onChange:e=>x(Number(e.target.value)),children:re.map(e=>(0,X.jsx)(`option`,{value:e,children:p(n,e)},e))}),f===`once`&&(0,X.jsx)(O,{type:`date`,value:v,className:`w-40`,"aria-label":n(`bots:triggers.date`),onChange:e=>y(e.target.value)}),(0,X.jsx)(O,{type:`time`,value:h,className:`w-28`,"aria-label":n(`bots:triggers.time`),onChange:e=>_(e.target.value)})]}),(0,X.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,X.jsx)(D,{size:`sm`,variant:`ghost`,onClick:()=>s(!1),children:n(`bots:triggers.cancel`)}),(0,X.jsx)(D,{size:`sm`,disabled:c||!u.trim(),onClick:()=>void T(),children:n(`bots:triggers.add`)})]})]}):(0,X.jsx)(D,{size:`sm`,variant:`outline`,onClick:()=>s(!0),children:n(`bots:triggers.addSchedule`)})]})}function oe({bot:e,environments:t,onEnvironmentsChanged:n,onError:r}){let{t:i}=o(),a=B(e=>e.upsert),[s,c]=(0,q.useState)(e.instructions),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(!1);(0,q.useEffect)(()=>c(e.instructions),[e.id,e.instructions]);let p=async t=>{u(!0);try{a(await H(e.id,t))}catch(e){r(e instanceof Error?e.message:String(e))}finally{u(!1)}},h=t.find(t=>t.id===e.workspace.environmentId),g=e.workspace.cwd.split(/[\\/]/).filter(Boolean).at(-1)||e.workspace.cwd;return(0,X.jsxs)(`div`,{className:`flex flex-col gap-4 pb-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,X.jsx)(j,{avatar:e.avatar,state:L(e),size:48}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`div`,{className:`truncate text-base font-semibold text-content`,children:e.name}),(0,X.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,X.jsx)(_,{value:e.avatar,disabled:l,onChange:e=>void p({avatar:e})}),(0,X.jsxs)(`section`,{"aria-label":i(`bots:details.instructions`),children:[(0,X.jsx)(`h3`,{className:`mb-1 text-sm font-medium text-content`,children:i(`bots:details.instructions`)}),(0,X.jsx)(k,{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,X.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,X.jsx)(D,{size:`sm`,disabled:l,onClick:()=>void p({instructions:s}),children:i(`bots:details.save`)})})]}),(0,X.jsxs)(C,{type:`multiple`,className:`border-t border-stroke`,children:[(0,X.jsxs)(S,{value:`computer`,children:[(0,X.jsx)(b,{children:(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.computer`),(0,X.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.computerSummary`,{computer:J(i,h),folder:g})})]})}),(0,X.jsx)(x,{className:`h-auto`,children:(0,X.jsx)(te,{bot:e,environments:t,onEnvironmentsChanged:n,onError:r})})]}),(0,X.jsxs)(S,{value:`chats`,children:[(0,X.jsx)(b,{children:(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:triggers.chats`),(0,X.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,X.jsx)(x,{className:`h-auto`,children:(0,X.jsx)(ne,{bot:e,onError:r})})]}),(0,X.jsxs)(S,{value:`schedules`,children:[(0,X.jsx)(b,{children:i(`bots:triggers.schedules`)}),(0,X.jsx)(x,{className:`h-auto`,children:(0,X.jsx)(ae,{bot:e,onError:r})})]}),(0,X.jsxs)(S,{value:`advanced`,children:[(0,X.jsx)(b,{children:(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[i(`bots:settings.advanced`),(0,X.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:i(`bots:settings.advancedSummary`)})]})}),(0,X.jsxs)(x,{className:`flex h-auto flex-col gap-3`,children:[(0,X.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,X.jsx)(`span`,{children:i(`bots:details.acceptsWork`)}),(0,X.jsx)(w,{checked:e.enabled,disabled:l,onCheckedChange:e=>void p({enabled:e})})]}),(0,X.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,X.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.permission`)}),(0,X.jsx)(M,{value:e.executionMode,className:`w-44`,"aria-label":i(`bots:details.permission`),disabled:l,onChange:e=>void p({executionMode:e.target.value}),children:[`approval-required`,`workspace-write`,`full-access`].map(e=>(0,X.jsx)(`option`,{value:e,children:m(i,e)},e))})]}),(0,X.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,X.jsx)(`span`,{className:`flex-none`,children:i(`bots:details.tools`)}),(0,X.jsxs)(M,{value:N(e.tools),className:`w-44`,"aria-label":i(`bots:details.tools`),disabled:l,onChange:e=>void p({tools:e.target.value===`read-only`?[...z]:null}),children:[(0,X.jsx)(`option`,{value:`all`,children:i(`bots:details.toolsAll`)}),(0,X.jsx)(`option`,{value:`read-only`,children:i(`bots:details.toolsReadOnly`)}),N(e.tools)===`custom`&&(0,X.jsx)(`option`,{value:`custom`,disabled:!0,children:i(`bots:details.toolsCustom`,{count:e.tools?.length??0})})]})]}),(0,X.jsx)(`p`,{className:`text-xs text-content-muted`,children:i(`bots:details.toolsHint`)})]})]})]})]})}var $={enabled:!1,endpoints:[],fingerprint:null};function se(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)($),[i,a]=(0,q.useState)(!1),o=(0,q.useRef)(0),s=(0,q.useCallback)(async()=>{let e=++o.current;try{let n=await R();if(e!==o.current)return;t(n.environments),r(n.remote)}catch{}finally{e===o.current&&a(!0)}},[]);return(0,q.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 ce({notify:e}){let{t:i}=o(),a=K(`bots`),{botId:s=``}=t(),c=r(),l=B(e=>e.bots),u=B(e=>e.loaded),[f,p]=(0,q.useState)(!1),m=(0,q.useCallback)(t=>e(t,`error`),[e]),g=y(m);G(a);let _=l.find(e=>e.id===s)??null;return a?u?!s&&l[0]?(0,X.jsx)(n,{to:`/bots/${encodeURIComponent(l[0].id)}`,replace:!0}):_?(0,X.jsx)(le,{botId:_.id,onOpenChat:()=>void g(_),onError:m},_.id):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(A,{kind:`empty`,title:l.length?i(`bots:page.notFound`):i(`bots:page.emptyTitle`),description:i(`bots:page.emptyDescription`),action:(0,X.jsxs)(D,{onClick:()=>p(!0),children:[(0,X.jsx)(d,{"aria-hidden":`true`}),i(`bots:sidebar.newBot`)]})}),(0,X.jsx)(h,{open:f,onOpenChange:p,onCreated:e=>void g(e)})]}):(0,X.jsx)(A,{kind:`loading`,title:i(`bots:page.loading`)}):(0,X.jsx)(A,{kind:`empty`,title:i(`bots:page.disabledTitle`),description:i(`bots:page.disabledDescription`),action:(0,X.jsx)(D,{onClick:()=>c(`/config/labs`),children:i(`bots:page.openLabs`)})})}function le({botId:e,onOpenChat:t,onError:n}){let{t:r}=o(),i=B(t=>t.bots.find(t=>t.id===e)),a=B(e=>e.load),c=se();return i?(0,X.jsxs)(`div`,{"data-bot-settings":i.id,className:`flex h-full min-h-0 w-full min-w-0 flex-col`,children:[(0,X.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,X.jsxs)(D,{variant:`ghost`,size:`sm`,onClick:t,children:[(0,X.jsx)(s,{"aria-hidden":`true`}),r(`bots:settingsPage.backToChat`,{name:i.name})]}),(0,X.jsx)(`h1`,{className:`sr-only`,children:r(`bots:settingsPage.title`,{name:i.name})})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,X.jsx)(`div`,{className:`mx-auto w-[min(640px,calc(100%-32px))] py-6`,children:(0,X.jsx)(oe,{bot:i,environments:c.environments,onEnvironmentsChanged:()=>{c.refresh(),a()},onError:n})})})]}):null}export{ce as BotsPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./GitDiffViewer-lLjb8Z6c.js";export{e as InlineGitDiff};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./events-BphhtnIg.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./vendor-router-CSN_DGvx.js";import{r as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./use-i18n-vlX9sewC.js";import{t as r}from"./settings-2-CXJjXJS9.js";import{t as i}from"./button-CCcCN8tE.js";import{t as a}from"./BotAvatar-CNL-APwP.js";import{g as o,n as s,t as c}from"./bots-store-BKZ5Va82.js";import{t as l}from"./public-flags-Dr1Hy9R7.js";var u=t();function d({botId:t,part:d}){let{t:f}=n(),p=l(`bots`),m=e(),h=s(e=>e.bots.find(e=>e.id===t));if(c(p&&d===`avatar`),!p||!h)return null;if(d===`avatar`)return(0,u.jsx)(`span`,{"data-session-bot":h.id,className:`flex flex-none items-center pl-1`,children:(0,u.jsx)(a,{avatar:h.avatar,state:o(h),size:22})});let g=f(`bots:settingsPage.title`,{name:h.name});return(0,u.jsx)(i,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`flex-none text-content-muted hover:text-content pointer-coarse:size-11`,"data-session-bot-settings":h.id,"aria-label":g,title:g,onClick:()=>m(`/bots/${encodeURIComponent(h.id)}`),children:(0,u.jsx)(r,{"aria-hidden":`true`})})}export{d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-DyGV2tpp.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{c as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{f as i}from"./routes-DIeaqWVc.js";import{t as a}from"./use-i18n-vlX9sewC.js";import{t as o}from"./chevron-right-C3t2Rckj.js";import{t as s}from"./pin-CU0FG0lI.js";import{t as c}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as l}from"./utils-C8uzG5AZ.js";import{c as u,g as d}from"./shortcuts-DDYN6uA3.js";import{t as f}from"./sidebar-store-C9_zt4qH.js";import{r as p}from"./useSessionListQuery-Cmk9SaUf.js";import{f as m,l as h,n as g,r as _}from"./useNow-Bk2SSqyl.js";import{n as v}from"./card-presentation-1oph2b8P.js";import{t as y}from"./useSidebarModel-BFdUhpkM.js";import{t as b}from"./StatusGlyph-1KgitlUg.js";import{a as x,c as S,d as C,i as w,l as T,n as E,o as D,r as O,s as k,t as A}from"./useSessionRowActions-DTh4fGVy.js";import{n as j}from"./BotAvatar-CNL-APwP.js";import{t as M}from"./shortcut-aria-jHRmld9z.js";import{t as N}from"./sidebar-commands-ZA1UOA_F.js";var P=e(n(),1);function F(e){let t=Date.parse(e.modified||``);return Number.isFinite(t)?t:null}function I(e,{items:t,shownIds:n,currentId:r,limit:i=8}){let a=new Map(t.map(e=>[e.id,e])),o=new Set,s=[];for(let t of e){if(!t||typeof t.id!=`string`||!t.id||o.has(t.id)||(o.add(t.id),t.archived===!0||n.has(t.id))||t.botId||typeof t.messageCount==`number`&&t.messageCount<=0&&t.id!==r)continue;let e=a.get(t.id);s.push({group:`recent`,id:t.id,title:p(t),...e?.bot?{bot:e.bot}:{},status:e?.status??`done`,pinned:t.pinned===!0,glyph:e?v(e):`done`,at:F(t),unread:t.unread===!0})}s.sort((e,t)=>Number(t.pinned)-Number(e.pinned)||(t.at??-1/0)-(e.at??-1/0)||(e.id<t.id?-1:+(e.id>t.id)));let c=s.filter((e,t)=>t<i||e.id===r);return{rows:c,hidden:s.length-c.length}}function L(e){return e.groups.filter(e=>e.id===`attention`||e.id===`running`||e.id===`queued`&&e.count>0)}function R(e,t,n,r){let i=(0,P.useMemo)(()=>new Set(L(e).flatMap(e=>e.rows.map(e=>e.id))),[e]);return(0,P.useMemo)(()=>I(n??[],{items:t,shownIds:i,currentId:r}),[r,t,n,i])}var z=r(),B=160,V=600;function ee(e,t){switch(t){case`attention`:return e(`board:sidebar.group.attention`);case`running`:return e(`board:sidebar.group.running`);case`queued`:return e(`board:sidebar.group.queued`);case`pinned`:return e(`board:sidebar.group.pinned`);default:return e(`board:sidebar.group.done`)}}function H(e){return e?[...e.querySelectorAll(`[data-sidebar-row]`)]:[]}function U(e,t={}){W(()=>e(H(document.querySelector(`[data-sidebar-groups]`))),t)}function W(e,{unclaimed:t=!1}={}){let n=0,r=()=>{let i=document.activeElement;if(t&&i&&i!==document.body&&!i.closest(`[data-shell-sidebar]`))return;let a=e();if(a){a.focus(),a.scrollIntoView?.({block:`nearest`});return}(n+=1)<20&&requestAnimationFrame(r)};requestAnimationFrame(r)}function G({resolveCurrentId:e,renderedSessionId:t,onOpenSession:n,onWaiting:r}){let{t:i}=a(),{model:o,items:s,sessions:c,isLoading:l}=y(),u=R(o,s,c,t??``),d=(0,P.useRef)(o);d.current=o;let p=(0,P.useRef)([]);p.current=[...L(o).flatMap(e=>e.rows.map(e=>e.id)),...u.rows.map(e=>e.id)];let m=(0,P.useRef)({resolveCurrentId:e,onOpenSession:n});m.current={resolveCurrentId:e,onOpenSession:n},(0,P.useEffect)(()=>{let e=e=>{let t=e.detail;if(!t)return;let n=d.current;if(t.kind===`adjacent`){let e=_(p.current,m.current.resolveCurrentId()||null,t.direction);e&&m.current.onOpenSession(e);return}let r=f.getState();if(document.documentElement.hasAttribute(`data-phone-shell`)){let e=t.kind===`focus-attention`?n.longestWaitingId:m.current.resolveCurrentId();if(t.kind===`focus-attention`&&!e)return;r.setDrawerOpen(!0),U(n=>n.find(t=>t.dataset.sidebarRow===e)??(t.kind===`focus-list`?n[0]:void 0));return}let i=document.querySelector(`[data-settings-sidebar]`);if(i){let e=t.kind===`focus-attention`?`[data-sidebar-fleet-line]`:`[data-settings-section][aria-current="page"]`;W(()=>i.querySelector(e)??void 0);return}let a=document.querySelector(`[data-overview]`);if(t.kind===`focus-attention`){let e=n.longestWaitingId;if(!e)return;if(a){C(e);return}r.collapsed&&r.setPeeking(!0),U(t=>t.find(t=>t.dataset.sidebarRow===e));return}r.collapsed&&r.setPeeking(!0);let o=m.current.resolveCurrentId();U(e=>e.find(e=>e.dataset.sidebarRow===o)??e[0])};return window.addEventListener(N,e),()=>window.removeEventListener(N,e)},[]);let h=(0,P.useRef)(t),g=(0,P.useRef)(null);(0,P.useEffect)(()=>{let e=h.current;if(h.current=t,t===null){e&&(g.current=e);return}if(e!==null)return;let n=g.current;g.current=null,!(!n||n!==t||f.getState().collapsed)&&U(e=>e.find(e=>e.dataset.sidebarRow===n),{unclaimed:!0})},[t]);let v=(0,P.useRef)(r);v.current=r;let b=(0,P.useRef)(null),[x,w]=(0,P.useState)(``);return(0,P.useEffect)(()=>{if(l)return;let e=o.groups.find(e=>e.id===`attention`)?.rows??[],t=b.current;if(b.current=new Set(e.map(e=>e.id)),!t)return;let n=e.filter(e=>!t.has(e.id));if(n.length){for(let e of n)e.reasons.some(e=>e.kind===`approval`||e.kind===`question`)&&v.current?.({title:e.title,reason:S(i,e.reasons)});w(n.map(e=>i(`board:sidebar.announce`,{title:e.title,reason:S(i,e.reasons)})).join(i(`board:sidebar.announceSeparator`)))}},[o.groups,l,i]),(0,z.jsx)(`p`,{"data-sidebar-announce":!0,"aria-live":`polite`,role:`status`,className:`sr-only`,children:x})}function K({onOpenBoard:e}){let{t}=a(),{model:n,isLoading:r}=y(),i=h(e=>e.setLaneFilter),o=t=>{i([t]),e()},s=n.counts.attention,c=n.counts.running,u=`grid size-10 place-items-center rounded-[var(--r-md)] text-xs font-semibold tabular-nums transition-colors duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus pointer-coarse:size-11`;return(0,z.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,"aria-busy":r||void 0,children:[(0,z.jsx)(`button`,{type:`button`,"data-rail-count":`attention`,"aria-label":t(`board:sidebar.railAttention`,{count:s}),title:t(`board:sidebar.railAttention`,{count:s}),className:l(u,s>0?`bg-warning-soft text-warning-strong ring-1 ring-st-attn-border ring-inset hover:brightness-[.98]`:`text-content-muted hover:bg-surface-hover`),onClick:()=>o(`attention`),children:(0,z.jsxs)(`span`,{className:`flex flex-col items-center gap-0.5 leading-none`,children:[(0,z.jsx)(b,{status:`attention`,className:l(`size-3.5`,s===0&&`text-content-faint`)}),(0,z.jsx)(`span`,{children:s})]})}),(0,z.jsx)(`button`,{type:`button`,"data-rail-count":`running`,"aria-label":t(`board:sidebar.railRunning`,{count:c}),title:t(`board:sidebar.railRunning`,{count:c}),className:l(u,`hover:bg-surface-hover`,c>0?`text-content-secondary`:`text-content-muted`),onClick:()=>o(`running`),children:(0,z.jsxs)(`span`,{className:`flex flex-col items-center gap-0.5 leading-none`,children:[(0,z.jsx)(b,{status:`run`,spin:c>0,className:l(`size-3.5`,c===0&&`text-content-faint`)}),(0,z.jsx)(`span`,{children:c})]})})]})}function q({onOpenBoard:e}){let{t}=a(),{model:n,isLoading:r}=y(),i=h(e=>e.setLaneFilter),s=n.counts.attention,c=n.counts.running;return(0,z.jsxs)(`button`,{type:`button`,"data-sidebar-fleet-line":!0,"aria-busy":r||void 0,"aria-label":t(`board:sidebar.fleet.label`,{attention:s,running:c}),className:`flex h-10 w-full min-w-0 items-center gap-1.5 rounded-[var(--r-md)] px-2.5 text-left text-[12.5px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:()=>{i([]),e()},children:[(0,z.jsx)(b,{status:`attention`,className:l(`size-3.5 flex-none`,s===0&&`text-content-faint`)}),(0,z.jsx)(`span`,{"data-sidebar-fleet":`attention`,className:l(`truncate`,s>0&&`font-medium text-warning-strong`),children:t(`board:sidebar.fleet.attention`,{count:s})}),(0,z.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`·`}),(0,z.jsx)(b,{status:`run`,spin:c>0,className:`size-3.5 flex-none`}),(0,z.jsx)(`span`,{"data-sidebar-fleet":`running`,className:`truncate`,children:t(`board:sidebar.fleet.running`,{count:c})}),(0,z.jsx)(o,{className:`ml-auto size-3.5 flex-none text-content-muted`,"aria-hidden":`true`})]})}function J({currentId:e,notify:n,requestText:r,onOpenSession:o,onOpenBoard:s,onOpenHistory:l,onArchived:f,drawer:p=!1}){let{t:_}=a(),{model:v,items:b,sessions:x,isLoading:S,error:C,refetch:w}=y(),T=R(v,b,x,e),D=m(),O=(0,P.useRef)(D);O.current=D;let k=h(e=>e.setLaneFilter),j=u(e=>e.boardBindings),M=t(`/`),N=(0,P.useCallback)(e=>M.replace(/\/$/,``)+i(e),[M]),F=v.counts.attention+v.counts.running>0,I=g(F),B=(0,P.useRef)(null),[V,U]=(0,P.useState)(()=>new Set),W=(e,t)=>U(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),G=(0,P.useRef)(null),[K,q]=(0,P.useState)(()=>new Set),J=(0,P.useMemo)(()=>v.groups.find(e=>e.id===`attention`)?.rows??[],[v.groups]),Z=(0,P.useRef)(new Set);Z.current=new Set(J.map(e=>e.id)),(0,P.useEffect)(()=>{if(S)return;let e=new Set(J.map(e=>e.id)),t=G.current;if(G.current=e,!t)return;let n=J.filter(e=>!t.has(e.id));n.length&&q(new Set(n.map(e=>e.id)))},[J,S]);let Q=A({notify:n,requestText:r,onOpenSession:o,onArchived:f}),$=Q.report,ie=(0,P.useCallback)(async(e,t,n)=>{if(e.quickAction.kind!==`decide`){o(e.id);return}let{approvalId:r,remaining:i}=e.quickAction,a=i===0,s=!!n?.contains(document.activeElement),c=H(B.current),l=c.findIndex(t=>t.dataset.sidebarRow===e.id),u=c[l+1]??c[l-1];s&&a&&u?.focus();let d=!1,f=a?E(n,{duration:160,scale:.6}).then(()=>{d||W(e.id,!0)}):Promise.resolve(),p=t?await O.current.approve(e.id,r,{confirmCritical:!1}):await O.current.deny(e.id,r);if(p.ok){if(!a||(await f,!Z.current.has(e.id)))return;W(e.id,!1),n?.getAnimations?.().forEach(e=>e.cancel());return}d=!0,await f,W(e.id,!1),n?.getAnimations?.().forEach(e=>e.cancel()),p.reason===`confirmation-required`?o(e.id):$(p)},[o,$]);(0,P.useEffect)(()=>{U(e=>{if(!e.size)return e;let t=new Set(J.map(e=>e.id)),n=new Set([...e].filter(e=>t.has(e)));return n.size===e.size?e:n})},[J]);let ae=(0,P.useMemo)(()=>({...Q,decide:(e,t,n)=>void ie(e,t,n)}),[ie,Q]),oe=(e,t)=>{if(e.altKey||e.metaKey||e.ctrlKey)return;if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=H(B.current);t[t.indexOf(e.currentTarget)+(e.key===`ArrowDown`?1:-1)]?.focus();return}if(t.group!==`attention`||e.shiftKey)return;let n=d(e.nativeEvent,j.boardApprove),r=!n&&d(e.nativeEvent,j.boardDeny);!n&&!r||(e.preventDefault(),t.quickAction.kind===`decide`&&ae.decide(t,n,e.currentTarget.closest(`[data-sidebar-item]`)))},se=()=>{k([`running`]),s()};if(S)return(0,z.jsx)(te,{label:_(`board:sidebar.loading`)});let ce=L(v),le={now:I,handlers:ae,approveBinding:j.boardApprove,denyBinding:j.boardDeny,onKeyDown:oe,drawer:p};return(0,z.jsxs)(`div`,{ref:B,"data-sidebar-groups":!0,className:`flex flex-col gap-3 pb-2`,children:[C&&v.groups.every(e=>e.count===0)?(0,z.jsxs)(`div`,{className:`flex flex-col items-start gap-1.5 px-2.5 py-2 text-xs text-content-muted`,children:[(0,z.jsx)(`p`,{children:_(`board:sidebar.error`)}),(0,z.jsx)(`button`,{type:`button`,className:`rounded-sm text-content-secondary underline underline-offset-2 hover:text-content focus-visible:outline-2 focus-visible:outline-focus`,onClick:w,children:_(`board:sidebar.retry`)})]}):ce.map(t=>(0,z.jsx)(re,{group:t,title:ee(_,t.id),footer:t.id===`running`&&t.hidden>0?(0,z.jsx)(ne,{onClick:se,children:_(`board:sidebar.moreRunning`,{count:t.hidden})}):null,children:t.rows.map(t=>(0,z.jsx)(X,{row:t,href:N(t.id),current:t.id===e,hidden:V.has(t.id),fresh:K.has(t.id),...le},t.id))},t.id)),(0,z.jsxs)(`section`,{"aria-labelledby":`sidebar-group-recent`,"data-sidebar-group":`recent`,children:[(0,z.jsx)(`h2`,{id:`sidebar-group-recent`,className:`m-0 flex h-7 items-center px-2.5 text-xs font-medium text-content-muted`,children:_(`board:sidebar.group.recent`)}),T.rows.length?(0,z.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-px p-0`,children:T.rows.map(t=>(0,z.jsx)(X,{row:t,href:N(t.id),current:t.id===e,hidden:!1,fresh:!1,...le},t.id))}):(0,z.jsx)(`p`,{className:`px-2.5 text-xs leading-7 text-content-faint`,children:_(`board:sidebar.emptyRecent`)})]}),(0,z.jsxs)(`a`,{href:M.replace(/\/$/,``)+`/chat/history`,className:`flex h-8 items-center gap-2 rounded-[var(--r-md)] px-2.5 text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:e=>{Y(e)&&(e.preventDefault(),l())},children:[(0,z.jsx)(c,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":`true`}),_(`board:sidebar.allChats`)]})]})}function Y(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey}function te({label:e}){return(0,z.jsx)(`div`,{role:`status`,"aria-busy":`true`,"aria-label":e,className:`flex flex-col gap-1 px-1 pt-1`,children:[64,48,72,56].map(e=>(0,z.jsxs)(`div`,{className:`flex h-9 items-center gap-2.5 px-1.5`,"aria-hidden":`true`,children:[(0,z.jsx)(`span`,{className:`size-4 flex-none rounded-full bg-surface-hover`}),(0,z.jsx)(`span`,{className:`h-3 rounded-sm bg-surface-hover`,style:{width:`${e}%`}})]},e))})}function ne({children:e,onClick:t}){return(0,z.jsx)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1 rounded-[var(--r-md)] px-2.5 pl-[34px] text-left text-xs text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:t,children:e})}function re({group:e,title:t,footer:n,children:r}){let i=`sidebar-group-${e.id}`,a=e.id===`attention`;return(0,z.jsxs)(`section`,{"aria-labelledby":i,"data-sidebar-group":e.id,children:[(0,z.jsx)(`h2`,{id:i,className:`m-0`,children:(0,z.jsxs)(`span`,{className:l(`flex h-7 items-center gap-1.5 px-2.5 text-xs font-medium`,a&&e.count>0?`text-warning-strong`:`text-content-muted`),children:[t,(0,z.jsx)(`span`,{"data-sidebar-count":!0,className:l(`tabular-nums`,a&&e.count>0&&`inline-grid h-[18px] min-w-[18px] place-items-center rounded-full bg-warning-soft px-1.5 text-[11.5px] font-semibold ring-1 ring-st-attn-border ring-inset`),children:e.count})]})}),e.rows.length>0&&(0,z.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-px p-0`,children:r}),n]})}function X({row:e,href:t,current:n,now:r,hidden:i,fresh:o,handlers:c,approveBinding:u,denyBinding:d,onKeyDown:f,drawer:p=!1}){let{t:m}=a(),h=(0,P.useRef)(null),g=(0,P.useRef)(null),_=(0,P.useRef)(null),[v,y]=(0,P.useState)(!1),C=e.group===`attention`;(0,P.useLayoutEffect)(()=>{if(!o||!O())return;let e=h.current,t=g.current;e&&typeof e.animate==`function`&&(e.style.transformOrigin=`top center`,e.animate([{transform:`scaleY(.6)`,opacity:0},{transform:`scaleY(1)`,opacity:1}],{duration:B,easing:`ease-out`})),t&&typeof t.animate==`function`&&t.animate([{transform:`scale(1)`,opacity:.55},{transform:`scale(2.6)`,opacity:0}],{duration:V,easing:`ease-out`})},[o]),(0,P.useLayoutEffect)(()=>{let e=h.current,t=_.current;if(!e||!t)return;let n=()=>e.style.setProperty(`--quick-w`,`${t.offsetWidth+12}px`);if(n(),typeof ResizeObserver!=`function`)return;let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[]);let E=e.group===`recent`,A=``,N=``;E?A=``:e.group===`attention`?(A=k(e.waitingSince===null?null:r-e.waitingSince),N=S(m,e.reasons)):A=e.group===`running`?w(e.startedAt===null?null:r-e.startedAt):e.group===`queued`?`#${e.position}`:e.group===`pinned`?x(e.at,r):D(e.finishedAt);let F=e.group===`attention`?A?m(`board:sidebar.attentionRow`,{title:e.title,reason:N,wait:A}):m(`board:sidebar.attentionRowNoWait`,{title:e.title,reason:N}):void 0,I=`flex h-[26px] flex-none items-center gap-1 rounded-[var(--r-sm)] px-2 text-[12.5px] leading-none font-medium transition-colors duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`;return(0,z.jsxs)(`li`,{ref:h,"data-sidebar-item":e.id,"data-menu-open":v||void 0,hidden:i,className:`group/row relative`,children:[(0,z.jsxs)(`a`,{href:t,"data-sidebar-row":e.id,"data-sidebar-group-row":e.group,"aria-current":n?`page`:void 0,"aria-label":F,className:l(`flex min-w-0 items-center gap-2.5 rounded-[var(--r-md)] px-2.5 text-base text-content [transition:color_var(--d-fast),background-color_var(--d-fast),padding-right_0s_80ms] focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus`,C?p?`h-14`:`h-12 pointer-coarse:h-14`:p?`h-11`:E?`h-8 pointer-coarse:h-11`:`h-9 pointer-coarse:h-11`,`group-hover/row:pr-[max(10px,var(--quick-w,0px))] group-focus-within/row:pr-[max(10px,var(--quick-w,0px))] group-data-[menu-open]/row:pr-[max(10px,var(--quick-w,0px))]`,n?`bg-surface-active`:`group-hover/row:bg-surface-hover`),onClick:t=>{Y(t)&&(t.preventDefault(),c.open(e))},onKeyDown:t=>f(t,e),children:[(0,z.jsxs)(`span`,{hidden:E,className:l(`relative grid size-4 flex-none place-items-center`,C&&`self-start mt-[7px]`),children:[e.group===`pinned`?(0,z.jsx)(s,{className:`size-3.5 text-content-muted`,strokeWidth:1.75,role:`img`,"aria-label":m(`board:sidebar.group.pinned`)}):(0,z.jsx)(b,{status:e.glyph,phase:e.group===`running`?e.phase:void 0,label:C?void 0:Q(m,e)}),C&&(0,z.jsx)(`span`,{ref:g,"aria-hidden":`true`,className:`pointer-events-none absolute inset-1 rounded-full bg-st-attn-fill opacity-0`})]}),(0,z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,z.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[e.bot&&(0,z.jsx)(j,{character:e.bot.character,color:e.bot.color,size:16,className:`self-center`}),(0,z.jsx)(`span`,{className:l(`min-w-0 truncate leading-5`,e.group===`done`&&`text-content-secondary`),children:e.title}),E&&e.pinned&&(0,z.jsx)(s,{className:`size-3 flex-none self-center text-content-faint`,strokeWidth:1.75,role:`img`,"aria-label":m(`board:sidebar.group.pinned`)}),(e.group===`done`||E)&&e.unread&&(0,z.jsx)(`span`,{role:`img`,"aria-label":m(`board:sidebar.unread`),className:`size-1.5 flex-none translate-y-[-1px] self-center rounded-full bg-content-secondary`})]}),C&&(0,z.jsx)(`span`,{className:`truncate text-xs leading-[17px] text-warning-strong`,children:N})]}),A&&(0,z.jsx)(`span`,{"aria-hidden":C||void 0,className:l(`flex-none text-xs tabular-nums`,e.group===`running`?`font-mono text-content-secondary`:n?`text-content-secondary`:`text-content-muted`,C&&`self-start mt-[7px]`,`max-w-24 overflow-hidden whitespace-nowrap [transition:opacity_120ms_80ms,max-width_0s_80ms] group-hover/row:max-w-0 group-hover/row:opacity-0 group-focus-within/row:max-w-0 group-focus-within/row:opacity-0 group-data-[menu-open]/row:max-w-0 group-data-[menu-open]/row:opacity-0 pointer-coarse:group-hover/row:max-w-24 pointer-coarse:group-hover/row:opacity-100`),children:A})]}),p&&e.group===`attention`&&e.quickAction.kind===`decide`&&(0,z.jsxs)(`div`,{"data-sidebar-drawer-actions":!0,className:`flex gap-2 pr-2.5 pb-1.5 pl-[36px]`,children:[(0,z.jsx)(`button`,{type:`button`,className:`flex h-11 min-w-0 flex-1 items-center justify-center rounded-[var(--r-md)] bg-solid text-sm font-medium text-content ring-1 ring-stroke-strong ring-inset focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus active:bg-surface-hover`,"aria-label":m(`board:sidebar.denyNamed`,{title:e.title}),onClick:t=>c.decide(e,!1,t.currentTarget.closest(`[data-sidebar-item]`)),children:m(`board:sidebar.deny`)}),(0,z.jsx)(`button`,{type:`button`,className:`flex h-11 min-w-0 flex-1 items-center justify-center rounded-[var(--r-md)] bg-star text-sm font-medium text-on-accent focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus active:bg-star-hover`,"aria-label":m(`board:sidebar.approveNamed`,{title:e.title}),onClick:t=>c.decide(e,!0,t.currentTarget.closest(`[data-sidebar-item]`)),children:m(`board:sidebar.approve`)})]}),(0,z.jsxs)(`div`,{ref:_,"data-sidebar-quick":!0,className:l(`absolute top-1/2 right-1.5 flex -translate-y-1/2 items-center gap-1`,`invisible opacity-0 transition-[opacity,visibility] delay-[80ms] duration-[120ms] group-hover/row:visible group-hover/row:opacity-100 group-focus-within/row:visible group-focus-within/row:opacity-100 group-data-[menu-open]/row:visible group-data-[menu-open]/row:opacity-100 pointer-coarse:hidden`,p&&`hidden`),children:[e.group===`attention`&&(e.quickAction.kind===`decide`?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`button`,{type:`button`,className:l(I,`bg-solid text-content ring-1 ring-stroke-strong ring-inset hover:bg-surface-hover`),"aria-label":m(`board:sidebar.denyNamed`,{title:e.title}),"aria-keyshortcuts":M(d),onClick:t=>c.decide(e,!1,t.currentTarget.closest(`[data-sidebar-item]`)),children:[m(`board:sidebar.deny`),(0,z.jsx)(Z,{binding:d})]}),(0,z.jsxs)(`button`,{type:`button`,className:l(I,`bg-star text-on-accent hover:bg-star-hover`),"aria-label":m(`board:sidebar.approveNamed`,{title:e.title}),"aria-keyshortcuts":M(u),onClick:t=>c.decide(e,!0,t.currentTarget.closest(`[data-sidebar-item]`)),children:[m(`board:sidebar.approve`),(0,z.jsx)(Z,{binding:u})]})]}):(0,z.jsxs)(`button`,{type:`button`,className:l(I,`bg-solid text-content ring-1 ring-stroke-strong ring-inset hover:bg-surface-hover`),"aria-label":m(`board:sidebar.openNamed`,{title:e.title}),onClick:()=>c.open(e),children:[m(`board:sidebar.open`),(0,z.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`↵`})]})),(0,z.jsx)(T,{row:e,actions:c,canMarkHandled:e.group===`attention`&&e.status===`failed`,open:v,onOpenChange:y,side:`right`})]})]})}function Z({binding:e}){let t=e&&/^Key[A-Z]$/.test(e)?e.slice(3):``;return t?(0,z.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60`,children:t}):null}function Q(e,t){switch(t.glyph){case`run`:return e(`common:statusGlyph.run`);case`queued`:return e(`common:statusGlyph.queued`);case`failed`:return e(`common:statusGlyph.failed`);case`stopped`:return e(`common:statusGlyph.stopped`);case`attention`:return e(`common:statusGlyph.attention`);default:return e(`common:statusGlyph.done`)}}export{G as SidebarCommands,q as SidebarFleetLine,K as SidebarRailCounts,J as SidebarSessions};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{u as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{f as i}from"./routes-DIeaqWVc.js";import{t as a}from"./use-i18n-vlX9sewC.js";import{t as o}from"./createLucideIcon-Cd-3GVxJ.js";import{t as s}from"./WorkspacePicker-D7djHk7o.js";import{t as c}from"./folder-open-FIShC5Qk.js";import{t as l}from"./utils-C8uzG5AZ.js";import{t as u}from"./button-CCcCN8tE.js";import{a as d,i as f,l as p,o as m,s as h,t as g}from"./dialog-CVn9vhfy.js";import{t as _}from"./input-CPw-zkYh.js";import{t as v}from"./textarea-DmATpOqT.js";import{n as y}from"./field-DoLEb0np.js";import{i as b,r as x,s as S,t as C}from"./BotAvatar-CNL-APwP.js";import{i as w,n as T,u as E}from"./bots-store-BKZ5Va82.js";var D=o(`shuffle`,[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]),O=e(n(),1);function k(e,t){switch(t){case`bean`:return e(`bots:character.bean`);case`robot`:return e(`bots:character.robot`);case`cat`:return e(`bots:character.cat`);case`owl`:return e(`bots:character.owl`);case`ghost`:return e(`bots:character.ghost`);case`cloud`:return e(`bots:character.cloud`);case`octo`:return e(`bots:character.octo`);case`bunny`:return e(`bots:character.bunny`);case`bear`:return e(`bots:character.bear`);case`fox`:return e(`bots:character.fox`);case`star`:return e(`bots:character.star`);default:return e(`bots:character.blob`)}}function A(e,t){return e(t===`full-access`?`bots:details.modeFull`:t===`workspace-write`?`bots:details.modeWorkspace`:`bots:details.modeApproval`)}function j(e,t){return e(t===`weixin`?`bots:triggers.weixin`:t===`qq`?`bots:triggers.qq`:t===`telegram`?`bots:triggers.telegram`:`bots:triggers.feishu`)}function M(e,t){switch(t){case 0:return e(`bots:triggers.sunday`);case 2:return e(`bots:triggers.tuesday`);case 3:return e(`bots:triggers.wednesday`);case 4:return e(`bots:triggers.thursday`);case 5:return e(`bots:triggers.friday`);case 6:return e(`bots:triggers.saturday`);default:return e(`bots:triggers.monday`)}}function N(e,t){return t.frequency===`once`?e(`bots:triggers.onceAt`,{date:t.date,time:t.time}):t.frequency===`weekly`?e(`bots:triggers.weeklyAt`,{day:M(e,t.dayOfWeek),time:t.time}):t.frequency===`daily`?e(`bots:triggers.dailyAt`,{time:t.time}):e(`bots:triggers.otherSchedule`)}function P(e){return[...new Set(e.split(/[\s,,、]+/).map(e=>e.trim()).filter(Boolean))]}var F=r();function I({value:e,onChange:t,disabled:n=!1}){let{t:r}=a();return(0,F.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,F.jsx)(`div`,{role:`radiogroup`,"aria-label":r(`bots:new.character`),className:`grid grid-cols-6 gap-2`,children:x.map(i=>(0,F.jsx)(`button`,{type:`button`,role:`radio`,disabled:n,"aria-checked":e.character===i,"aria-label":k(r,i),title:k(r,i),className:l(`grid place-items-center rounded-[12px] p-0.5 ring-offset-2 ring-offset-surface-raised`,e.character===i&&`ring-2 ring-content`),onClick:()=>t({...e,character:i}),children:(0,F.jsx)(C,{avatar:{...e,character:i},size:40,animate:!1})},i))}),(0,F.jsx)(`div`,{role:`radiogroup`,"aria-label":r(`bots:new.color`),className:`flex gap-2`,children:b.map(i=>(0,F.jsx)(`button`,{type:`button`,role:`radio`,disabled:n,"aria-checked":e.color===i,"aria-label":r(`bots:new.colorOption`,{index:b.indexOf(i)+1}),className:l(`rounded-full p-0.5 ring-offset-2 ring-offset-surface-raised`,e.color===i&&`ring-2 ring-content`),onClick:()=>t({...e,color:i}),children:(0,F.jsx)(C,{avatar:{...e,color:i},size:24,animate:!1,className:`rounded-full`})},i))})]})}function L({open:e,onOpenChange:t,onCreated:n}){let{t:r}=a(),i=T(e=>e.upsert),[o,l]=(0,O.useState)(``),[b,x]=(0,O.useState)(``),[E,k]=(0,O.useState)(S),[A,j]=(0,O.useState)(!1),[M,N]=(0,O.useState)(``),[P,L]=(0,O.useState)(!1),[R,z]=(0,O.useState)(!1),[B,V]=(0,O.useState)(!1),[H,U]=(0,O.useState)(``);return(0,O.useEffect)(()=>{e&&(k(S()),j(!1),L(!1),U(``))},[e]),(0,F.jsx)(g,{open:e,onOpenChange:t,children:(0,F.jsxs)(f,{className:`sm:max-w-[440px]`,children:[(0,F.jsxs)(`form`,{onSubmit:async e=>{e.preventDefault(),V(!0),U(``);try{let e=await w({name:o.trim(),avatar:E,instructions:b.trim(),workspace:{cwd:M.trim()}});i(e),t(!1),l(``),x(``),N(``),n(e)}catch(e){U(e instanceof Error?e.message:String(e))}finally{V(!1)}},className:`flex flex-col gap-4`,children:[(0,F.jsxs)(h,{children:[(0,F.jsx)(p,{children:r(`bots:new.title`)}),(0,F.jsx)(d,{children:r(`bots:new.description`)})]}),(0,F.jsxs)(`div`,{className:`flex items-end gap-3`,children:[(0,F.jsxs)(`button`,{type:`button`,className:`group relative flex-none rounded-[28%]`,"aria-label":r(`bots:new.shuffle`),title:r(`bots:new.shuffle`),onClick:()=>k(S()),children:[(0,F.jsx)(C,{avatar:E,size:56}),(0,F.jsx)(`span`,{className:`absolute -right-1 -bottom-1 grid size-5 place-items-center rounded-full border border-stroke bg-surface-raised text-content-muted group-hover:text-content`,children:(0,F.jsx)(D,{className:`size-3`,"aria-hidden":`true`})})]}),(0,F.jsxs)(y,{variant:`control`,className:`flex-1`,children:[r(`bots:new.name`),(0,F.jsx)(_,{value:o,autoFocus:!0,maxLength:24,placeholder:r(`bots:new.namePlaceholder`),onChange:e=>l(e.target.value)})]})]}),A?(0,F.jsx)(I,{value:E,onChange:k}):(0,F.jsx)(`button`,{type:`button`,className:`-mt-2 self-start text-xs text-content-muted underline-offset-2 hover:text-content hover:underline`,onClick:()=>j(!0),children:r(`bots:new.chooseLook`)}),(0,F.jsxs)(y,{variant:`control`,children:[r(`bots:new.duty`),(0,F.jsx)(v,{value:b,rows:3,maxLength:12e3,placeholder:r(`bots:new.dutyPlaceholder`),onChange:e=>x(e.target.value)})]}),P?(0,F.jsxs)(y,{variant:`control`,children:[r(`bots:new.folder`),(0,F.jsxs)(`span`,{className:`flex gap-2`,children:[(0,F.jsx)(_,{value:M,className:`font-mono`,placeholder:r(`bots:new.folderDefault`),onChange:e=>N(e.target.value)}),(0,F.jsxs)(u,{type:`button`,variant:`outline`,onClick:()=>z(!0),children:[(0,F.jsx)(c,{"aria-hidden":`true`}),r(`bots:new.pick`)]})]})]}):(0,F.jsxs)(`p`,{className:`text-xs text-content-muted`,children:[r(`bots:new.folderSummary`),` `,(0,F.jsx)(`button`,{type:`button`,className:`text-content-secondary underline underline-offset-2 hover:text-content`,onClick:()=>L(!0),children:r(`bots:new.changeFolder`)})]}),H&&(0,F.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive`,children:H}),(0,F.jsxs)(m,{children:[(0,F.jsx)(u,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:r(`bots:new.cancel`)}),(0,F.jsx)(u,{type:`submit`,disabled:B||!o.trim(),children:r(B?`bots:new.creating`:`bots:new.create`)})]})]}),(0,F.jsx)(s,{open:R,initialPath:M,onOpenChange:z,onSelect:e=>{N(e),z(!1)}})]})})}function R(e){let n=t(),r=T(e=>e.load);return(0,O.useCallback)(async t=>{try{let e=await E(t.id);e!==t.threadSessionId&&r(),n(i(e))}catch(n){e(n instanceof Error?n.message:String(n),t.id)}},[r,n,e])}export{j as a,M as c,A as i,L as n,N as o,I as r,P as s,R as t};
|