pisper 0.6.14 → 0.6.15
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/bin/pisper.mjs +5 -1
- package/lib/executor-node.mjs +590 -0
- package/lib/npm-update.mjs +2 -0
- package/package.json +5 -5
- package/web/.vite/manifest.json +852 -856
- package/web/assets/{AppDialog-DrhCZm1r.js → AppDialog-CgJEhcYw.js} +1 -1
- package/web/assets/{AppOverlays-CxgReqGn.js → AppOverlays-BBlYyb_U.js} +1 -1
- package/web/assets/{AppSelect-BGVBQRP1.js → AppSelect-BD6RAaJ5.js} +1 -1
- package/web/assets/{AssetsPage-CKK-byQY.js → AssetsPage-D3F4T0_j.js} +1 -1
- package/web/assets/BoardPage-CO7nU2Mw.js +3 -0
- package/web/assets/BotAvatar-CNL-APwP.js +1 -0
- package/web/assets/ChannelsPage-CsRbj9St.js +1 -0
- package/web/assets/{ChatAppearancePage-BhqRLf-2.js → ChatAppearancePage-Sc1V75I3.js} +1 -1
- package/web/assets/{ChatHistoryPage-DBsNyGYj.js → ChatHistoryPage-BT0mIaDN.js} +1 -1
- package/web/assets/ChatPage-C-hswZf9.js +553 -0
- package/web/assets/ConfigPage-DH2d8YGn.js +5 -0
- package/web/assets/{DesktopWindowControls-DCtIkpTs.js → DesktopWindowControls-Bo5vvIFH.js} +1 -1
- package/web/assets/{FeaturePage-Bkt1wWVg.js → FeaturePage-B3wCvGpC.js} +1 -1
- package/web/assets/{FileAttachmentPreview-Cnmi_2U-.js → FileAttachmentPreview-D8YqjbeC.js} +1 -1
- package/web/assets/{FloatingWidgets-BIJSFz34.js → FloatingWidgets-Dz_T7XWC.js} +1 -1
- package/web/assets/FocusRuntimeControls-hYDoXwg7.js +1 -0
- package/web/assets/{GitDiffViewer-rjt5_KOt.js → GitDiffViewer-CBju_Sj4.js} +3 -3
- package/web/assets/ManageProjectsDialog-Dtb2K7BK.js +1 -0
- package/web/assets/{MarkdownMessage-yl-PSRAz.js → MarkdownMessage-BDztlYIy.js} +1 -1
- package/web/assets/{McpPage-D6GyZCpt.js → McpPage-DQ6AILOH.js} +1 -1
- package/web/assets/MemoryPage-CK4evs_P.js +1 -0
- package/web/assets/{MobileNavigation-DcBH2I9Y.js → MobileNavigation-BICCops3.js} +1 -1
- package/web/assets/MobileViewportStabilizer-uKI4Zp7f.js +1 -0
- package/web/assets/{MorePage-BBfiQbiP.js → MorePage-DuML7bhr.js} +1 -1
- package/web/assets/NewBotDialog--2DSe9Sy.js +1 -0
- package/web/assets/{NewFolderDialog-BinpbTs8.js → NewFolderDialog-S-Qzjzfu.js} +1 -1
- package/web/assets/{PageHeader-D_J-19ni.js → PageHeader-B78dHJed.js} +1 -1
- package/web/assets/{PhoneDrawer-CwxDkWZQ.js → PhoneDrawer-DHRBi4XA.js} +1 -1
- package/web/assets/PhoneMenuButton-BjDV-dPl.js +1 -0
- package/web/assets/PhoneTopBar-BuyzXL4Z.js +1 -0
- package/web/assets/PluginsPage-Cd9bu2AS.js +1 -0
- package/web/assets/{SafeModePrompt-CLyt-z14.js → SafeModePrompt-BnoccbWI.js} +1 -1
- package/web/assets/SchedulesPage-DUhUUQP5.js +1 -0
- package/web/assets/SessionBrowserPane-B3weAiaB.js +2 -0
- package/web/assets/SessionContextPanel-BtxUlk9m.js +2 -0
- package/web/assets/SessionHome-ByiFmH18.js +1 -0
- package/web/assets/SessionInspector-VKOz4Rxs.js +1 -0
- package/web/assets/SessionShell-BsDAwWHd.js +1 -0
- package/web/assets/{SettingsSidebar-IqsOv5h1.js → SettingsSidebar-B-COw6Uw.js} +1 -1
- package/web/assets/{ShortcutHelpDialog-DKDAF94g.js → ShortcutHelpDialog-DquhK-Uh.js} +1 -1
- package/web/assets/{ShortcutKeys-DQFnMnX1.js → ShortcutKeys-BgwCWvNY.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-Cbwy5ii9.js → SidebarUpdateStatus-Ci0ugb91.js} +1 -1
- package/web/assets/{SkillsPage-DTOzYSaS.js → SkillsPage-B46uoO_g.js} +1 -1
- package/web/assets/{TaskProcessesPane-DRFmGkE3.js → TaskProcessesPane-CI_5lWbf.js} +1 -1
- package/web/assets/{TaskTerminalView-DWNACXyI.js → TaskTerminalView-C2acHnAH.js} +1 -1
- package/web/assets/{TerminalPanel-QEt-SRiM.js → TerminalPanel-BAQ2VwKg.js} +1 -1
- package/web/assets/{WebDesktopPet-4CDch3gC.js → WebDesktopPet-D3bdxKPz.js} +1 -1
- package/web/assets/{WorkflowsPage-AMKQBlPo.js → WorkflowsPage-Dp1PRKQb.js} +1 -1
- package/web/assets/WorkspacePicker-BJhBGRH0.js +1 -0
- package/web/assets/accordion-CiJMkjqX.js +1 -0
- package/web/assets/{api-BO7LAPSQ.js → api-CKJOip3Q.js} +1 -1
- package/web/assets/{app-update-DKWPHTUY.js → app-update-yPQVXuw5.js} +1 -1
- package/web/assets/{approval-confirm-ByiI22Wo.js → approval-confirm-Cv754IjO.js} +1 -1
- package/web/assets/board-messages-CIYKjAla.js +1 -0
- package/web/assets/board-projects-wd79Rqt5.js +2 -0
- package/web/assets/channels-messages-KabR1HOR.js +1 -0
- package/web/assets/chat-api-Bvirerdj.js +1 -0
- package/web/assets/{client-store-6GNC8uyK.js → client-store-BaTctJrB.js} +1 -1
- package/web/assets/collapsible-Dcoy-qnz.js +1 -0
- package/web/assets/config-search-KYVClDpx.js +1 -0
- package/web/assets/{dialog-CUhFgsVd.js → dialog-Cb_sjjQV.js} +1 -1
- package/web/assets/{collapsible-DMaUQRX4.js → dist-DUSSw9eQ.js} +1 -1
- package/web/assets/events-CZTn9wa-.js +1 -0
- package/web/assets/file-diff-GxOMJkLj.js +1 -0
- package/web/assets/folder-paths--euvEC5U.js +1 -0
- package/web/assets/{hosts-1yQREdMi.js → hosts-BRPznOHU.js} +1 -1
- package/web/assets/i18n-DEs6BBob.js +1 -0
- package/web/assets/{index-CsE52ydO.js → index-C5aKcTGw.js} +2 -2
- package/web/assets/index-DD2H2OOC.css +2 -0
- package/web/assets/message-circle-question-mark-D7ehy_mi.js +1 -0
- package/web/assets/{mobile-remote-fallback-NJCTBu85.js → mobile-remote-fallback-DG_urwIg.js} +1 -1
- package/web/assets/mount-app-BdXRP9D-.js +9 -0
- package/web/assets/navigation-DkcKi1_5.js +1 -0
- package/web/assets/new-task-uLEgjs2Z.js +1 -0
- package/web/assets/{palette-navigation-ByC1_QS5.js → palette-navigation-HbVGltCo.js} +1 -1
- package/web/assets/{permission-rules-api-BoJ_1W-m.js → permission-rules-api-C9oRUm6Z.js} +1 -1
- package/web/assets/{pick-system-directory-B_RJmP26.js → pick-system-directory-B__qKy-X.js} +1 -1
- package/web/assets/placements-Bn0vPyEI.js +2 -0
- package/web/assets/{popover--UmYQ9yB.js → popover-CiVxYUEU.js} +1 -1
- package/web/assets/public-9meoHs0K.js +4 -0
- package/web/assets/public-D6X148yH.js +2 -0
- package/web/assets/public-DenVz3gW.js +2 -0
- package/web/assets/{public-components-DYGekkA7.js → public-components-BfHcj0Pn.js} +1 -1
- package/web/assets/public-diff-BqcNo4lt.js +1 -0
- package/web/assets/public-events-DCyxz5zX.js +1 -0
- package/web/assets/public-flags-BOI2nkm4.js +1 -0
- package/web/assets/public-launch-D0t4Hqf5.js +1 -0
- package/web/assets/public-sidebar-CdxAohEH.js +1 -0
- package/web/assets/react-bits-BsPlLi8F.css +1 -0
- package/web/assets/routes-DIeaqWVc.js +1 -0
- package/web/assets/runtime-capabilities-CHYOF_hE.js +1 -0
- package/web/assets/{runtime-capabilities-store-C2Qv7uDP.js → runtime-capabilities-store-D2d_9z0D.js} +1 -1
- package/web/assets/{safe-mode-instance-BiAPYJ2-.js → safe-mode-instance-hnF1BJYr.js} +1 -1
- package/web/assets/safe-mode-sentinel-CPmhLLXT.js +1 -0
- package/web/assets/{session-change-summary-api-DgRT32uh.js → session-change-summary-api-DmmNGbP7.js} +1 -1
- package/web/assets/{session-home-BktP6sGF.js → session-home-BAFT2Fk1.js} +1 -1
- package/web/assets/{session-organization-api-DFu3Chto.js → session-organization-api-Bs8DdxU1.js} +1 -1
- package/web/assets/{session-scope-DQPNgQMm.js → session-scope-XRVRtwow.js} +1 -1
- package/web/assets/{session-tree-actions-DfO8QHBO.js → session-tree-actions-Dzj7hrvM.js} +1 -1
- package/web/assets/{session-tree-summary-BwYRdui2.js → session-tree-summary-BXVKYODc.js} +1 -1
- package/web/assets/settings-navigation-DiP_AM1C.js +1 -0
- package/web/assets/{shortcuts-Cvp9WD9O.js → shortcuts-IA6Uq_O6.js} +1 -1
- package/web/assets/side-chat-context-CZ4IqNxt.js +7 -0
- package/web/assets/sidebar-Do_8-Hyh.js +2 -0
- package/web/assets/sidebar-store-DuRlD5qg.js +1 -0
- package/web/assets/{speech-session-DK_09Wky.js → speech-session-D_W5Ulli.js} +1 -1
- package/web/assets/{startup-queries-6Oztqpto.js → startup-queries-DeNu46nT.js} +1 -1
- package/web/assets/storage-DH3bQdy6.js +1 -0
- package/web/assets/tool-labels-ghvpPFmc.js +1 -0
- package/web/assets/{use-i18n-B5p-Kzvz.js → use-i18n-CUS2_EGy.js} +1 -1
- package/web/assets/use-mobile-C2tPBAza.js +1 -0
- package/web/assets/use-studio-actions-CYnwfaOn.js +3 -0
- package/web/assets/useNewProjectPicker-CacWA0IS.js +1 -0
- package/web/assets/usePhoneShell-cYrS53S8.js +1 -0
- package/web/assets/useSessionRowActions-DtunSg_Q.js +1 -0
- package/web/assets/useSidebarModel-6sqN4VA5.js +1 -0
- package/web/assets/web-preview-Dgng80ZD.js +1 -0
- package/web/assets/{web-preview-events-DQchQHt3.js → web-preview-events-JGegs4uF.js} +1 -1
- package/web/assets/workflow-messages-Cj35aJZc.js +1 -0
- package/web/assets/workspace-order-store-BuPmheRT.js +1 -0
- package/web/index.html +2 -2
- package/web/assets/BoardPage-vwv5vTDm.js +0 -3
- package/web/assets/ChannelsPage-L-wcVDSN.js +0 -1
- package/web/assets/ChatPage-DS0euFxR.js +0 -553
- package/web/assets/ConfigPage-pOzONr8e.js +0 -5
- package/web/assets/DispatchOverlay-n-qbkOP-.js +0 -1
- package/web/assets/FocusRuntimeControls-C7NIdpV4.js +0 -1
- package/web/assets/LaunchConsole-DtxzpXJo.js +0 -3
- package/web/assets/ManageProjectsDialog-RiFg3h1p.js +0 -1
- package/web/assets/MemoryPage-Dsx_6JpI.js +0 -1
- package/web/assets/MobileViewportStabilizer-OtwVmIPm.js +0 -1
- package/web/assets/PhoneMenuButton-B0AwvqEo.js +0 -1
- package/web/assets/PhoneTopBar-Dw0mIaWC.js +0 -1
- package/web/assets/PluginsPage-BzxPAX26.js +0 -1
- package/web/assets/QuickPromptIdeas-Cd3SwBqS.js +0 -1
- package/web/assets/SchedulesPage-Cbgl5v_8.js +0 -1
- package/web/assets/SessionBrowserPane-CB7jn-MS.js +0 -2
- package/web/assets/SessionContextPanel-CNmAp0ed.js +0 -2
- package/web/assets/SessionHome-Ck_daJT0.js +0 -1
- package/web/assets/SessionInspector-cSzwsc4b.js +0 -1
- package/web/assets/SessionShell-BOZ7h0yz.js +0 -1
- package/web/assets/WorkspacePicker-B9vYtfab.js +0 -1
- package/web/assets/board-launch-BmmPYZe8.js +0 -1
- package/web/assets/board-messages-BOWWyhz_.js +0 -1
- package/web/assets/board-projects-BU9fZB1q.js +0 -1
- package/web/assets/channels-messages-DazltGVm.js +0 -1
- package/web/assets/chat-api-DkdyVQY9.js +0 -1
- package/web/assets/config-search-HBKDuym0.js +0 -1
- package/web/assets/events-DrAPv0se.js +0 -1
- package/web/assets/file-text-N9JICX6E.js +0 -1
- package/web/assets/folder-paths-DQTpuGh9.js +0 -1
- package/web/assets/i18n-CHmr7GzM.js +0 -1
- package/web/assets/index-CfTBR7Rs.css +0 -2
- package/web/assets/list-checks-B5Jl4aiO.js +0 -1
- package/web/assets/mount-app-DfSFF0xv.js +0 -9
- package/web/assets/navigation-EoDz3gT8.js +0 -1
- package/web/assets/new-task-C3wuHTor.js +0 -1
- package/web/assets/placements-CqwqXPTp.js +0 -2
- package/web/assets/public-diff-DK-VNIar.js +0 -1
- package/web/assets/public-fqyTjQ0F.js +0 -2
- package/web/assets/public-jQjEc6OO.js +0 -1
- package/web/assets/public-launch-CT_m9KWo.js +0 -1
- package/web/assets/react-bits-DQli9s7O.css +0 -1
- package/web/assets/routes-Da0OHSy6.js +0 -1
- package/web/assets/runtime-capabilities-4_ZwLBqF.js +0 -1
- package/web/assets/safe-mode-sentinel-Ccu3Vmta.js +0 -1
- package/web/assets/session-workspaces-BWTBYaGT.js +0 -1
- package/web/assets/settings-navigation-_yUm71Uk.js +0 -1
- package/web/assets/shield-B1ruzHd0.js +0 -1
- package/web/assets/side-chat-context-BfOm4dFp.js +0 -7
- package/web/assets/sidebar-BLeRyb55.js +0 -2
- package/web/assets/sidebar-commands-ZA1UOA_F.js +0 -1
- package/web/assets/sidebar-store-1-aNPlDu.js +0 -1
- package/web/assets/storage-BY6wEHPw.js +0 -1
- package/web/assets/tool-labels-BUEvdohv.js +0 -1
- package/web/assets/use-mobile-DauOEda6.js +0 -1
- package/web/assets/use-studio-actions-D6c_pSJK.js +0 -3
- package/web/assets/useBoardItems-CzEbgTLJ.js +0 -1
- package/web/assets/useFleetSystemInfo-Bd8zJIFa.js +0 -1
- package/web/assets/useNewProjectPicker-DQY1X_ua.js +0 -1
- package/web/assets/useNow-Bxn4_OW9.js +0 -1
- package/web/assets/usePagePrimaryAction-CWPC0C_f.js +0 -1
- package/web/assets/usePhoneShell-Bvb7m-m4.js +0 -1
- package/web/assets/useSessionListQuery-D44XZfGr.js +0 -2
- package/web/assets/useSessionRowActions-Cr6SUAeE.js +0 -1
- package/web/assets/useSidebarModel-CWED0rsw.js +0 -1
- package/web/assets/wand-sparkles-CvEBNUFz.js +0 -1
- package/web/assets/web-preview-CqwSe9Zn.js +0 -1
- package/web/assets/workflow-messages-CMCQrs5q.js +0 -1
- package/web/assets/workspace-order-store-RYWvGOeR.js +0 -1
- /package/web/assets/{AnimatedList-D8fxDNGr.js → AnimatedList-DB5vqafO.js} +0 -0
- /package/web/assets/{ClickSpark-DmnEAJNI.js → ClickSpark-B1Rn7ZwL.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-Cd-3GVxJ.js";var t=e(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);export{t};
|
package/web/assets/{mobile-remote-fallback-NJCTBu85.js → mobile-remote-fallback-DG_urwIg.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./storage-
|
|
1
|
+
import{t as e}from"./storage-DH3bQdy6.js";var t=new Set([502,503,504]),n=6e4,r=5e3,i=2e4;function a(e){let t=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return t?t(e):Promise.reject(Error(`移动端原生桥不可用。`))}function o(){try{return typeof window<`u`?window.sessionStorage:void 0}catch{return}}function s(){try{return typeof window<`u`?window.localStorage:void 0}catch{return}}function c(){return typeof window<`u`&&window.location.protocol===`http:`&&window.location.hostname===`127.0.0.1`&&!!window.__PISPER_MOBILE_APP__}function l(e){let n=e,r=Number(n?.status);return t.has(r)||n?.kind===`timeout`||n?.kind===`network`||n?.name===`TimeoutError`||e instanceof TypeError?!0:n?.name===`ApiError`&&n?.status==null&&/tim(?:e|ed) ?out|network|请求超时|无法连接|连接桌面端失败/i.test(String(n.message||``))}function u(e,t){try{let n=e?.getItem(t),r=Number(n);return Number.isFinite(r)?r:null}catch{return null}}function d(e,t,n){try{e?.setItem(t,String(n))}catch{}}function f(e,t,n){return new Promise((r,i)=>{let a=!1,o=setTimeout(()=>{a=!0,i(Error(n))},Math.max(0,t));Promise.resolve(e).then(e=>{a||(a=!0,clearTimeout(o),r(e))},e=>{a||(a=!0,clearTimeout(o),i(e))})})}function p({isMobileApp:t,getMode:a,enterLocal:o,markNotice:s,reload:c,storage:p,now:m=Date.now,cooldownMs:h=n,timeouts:g}){let _=p,v=g?.stateMs??r,y=g?.enterLocalMs??i,b=null,x=null,S=()=>u(_,e.mobileRemoteFallbackAttempt)??x,C=t=>{x=t,d(_,e.mobileRemoteFallbackAttempt,t)};return{async handleFailure(e){if(!t()||!l(e))return!1;if(b)return b;let n=m(),r=S();return r!==null&&n-r<Math.max(0,h)?!1:(b=(async()=>{try{if(await f(a(),v,`读取移动端运行模式超时。`)!==`remote`)return!1;C(n),await f(o(),y,`切换本机 Runtime 超时。`);try{s()}catch{}try{c()}catch{}return!0}catch{return!1}})().finally(()=>{b=null}),b)}}}var m=p({isMobileApp:c,getMode:async()=>(await a(`mobile_state`))?.mode,enterLocal:()=>a(`mobile_enter_local`),markNotice:()=>{d(s(),e.mobileRemoteFallbackNotice,Date.now())},reload:()=>window.location.reload(),storage:o()});function h(e){return m.handleFailure(e)}function g(){let t=s();if(!t)return!1;try{return t.getItem(e.mobileRemoteFallbackNotice)?(t.removeItem(e.mobileRemoteFallbackNotice),!0):!1}catch{return!1}}export{g as consumeRemoteFallbackNotice,h as fallbackRemoteToLocalAfterFailure};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MobileNavigation-BICCops3.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-CUS2_EGy.js","assets/i18n-DEs6BBob.js","assets/vendor-router-CSN_DGvx.js","assets/index-C5aKcTGw.js","assets/index-DD2H2OOC.css","assets/storage-DH3bQdy6.js","assets/vendor-state-GkUciC5H.js","assets/runtime-capabilities-store-D2d_9z0D.js","assets/api-CKJOip3Q.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-Bo5vvIFH.js","assets/minus-BuutOHSj.js","assets/square-bHHVTT3G.js","assets/x-07u4-129.js","assets/FloatingWidgets-Dz_T7XWC.js","assets/routes-DIeaqWVc.js","assets/placements-Bn0vPyEI.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/component-changes-Q9Bf64Ob.js","assets/session-scope-XRVRtwow.js","assets/session-board-status-D2lpFPiI.js","assets/safe-mode-sentinel-CPmhLLXT.js","assets/usePhoneShell-cYrS53S8.js","assets/use-mobile-C2tPBAza.js","assets/client-store-BaTctJrB.js","assets/AppOverlays-BBlYyb_U.js","assets/startup-queries-DeNu46nT.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-CZTn9wa-.js","assets/shortcuts-IA6Uq_O6.js","assets/chat-api-Bvirerdj.js","assets/format-DMJQzoZ7.js","assets/dialog-Cb_sjjQV.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-CgJEhcYw.js","assets/label-CVWjEcfV.js","assets/input-CPw-zkYh.js","assets/WebDesktopPet-D3bdxKPz.js","assets/public-components-BfHcj0Pn.js","assets/arrow-right-DqLOhpA2.js","assets/download-BCfIiuaL.js","assets/key-round-C29uZbsf.js","assets/config-search-KYVClDpx.js","assets/BrandLogo-k3CvJjd4.js","assets/sidebar-Do_8-Hyh.js","assets/chevron-down-CxtxIjiP.js","assets/ellipsis-CfGKfbq6.js","assets/useSessionRowActions-DtunSg_Q.js","assets/useNewProjectPicker-CacWA0IS.js","assets/board-projects-wd79Rqt5.js","assets/session-organization-api-Bs8DdxU1.js","assets/workspace-order-store-BuPmheRT.js","assets/session-questions-Cf-1g85h.js","assets/card-presentation-1oph2b8P.js","assets/folder-paths--euvEC5U.js","assets/pick-system-directory-B__qKy-X.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-BAFT2Fk1.js","assets/motion-DTR4ZVle.js","assets/BotAvatar-CNL-APwP.js","assets/folder-plus-OPHZsJho.js","assets/pin-CU0FG0lI.js","assets/sidebar-store-DuRlD5qg.js","assets/useSidebarModel-6sqN4VA5.js","assets/StatusGlyph-1KgitlUg.js","assets/shortcut-aria-jHRmld9z.js","assets/new-task-uLEgjs2Z.js","assets/public-sidebar-CdxAohEH.js","assets/NewBotDialog--2DSe9Sy.js","assets/WorkspacePicker-BJhBGRH0.js","assets/triangle-alert-CE1q54ci.js","assets/alert-firawb0H.js","assets/textarea-DmATpOqT.js","assets/field-DoLEb0np.js","assets/separator-BPh_qxvc.js","assets/public-flags-BOI2nkm4.js","assets/public-events-DCyxz5zX.js","assets/PhoneTopBar-BuyzXL4Z.js","assets/PhoneMenuButton-BjDV-dPl.js","assets/public-D6X148yH.js","assets/FocusRuntimeControls-hYDoXwg7.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-CiVxYUEU.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/public-launch-D0t4Hqf5.js","assets/session-change-summary-api-DmmNGbP7.js","assets/square-pen-hYbjKh6A.js","assets/PhoneDrawer-DHRBi4XA.js","assets/SidebarUpdateStatus-Ci0ugb91.js","assets/external-link-CEQqPcqc.js","assets/rocket-BgLSjoHY.js","assets/SettingsSidebar-B-COw6Uw.js","assets/arrow-left-B8oVrQ2S.js","assets/back-navigation-CK7X_5Bc.js","assets/ShortcutHelpDialog-DquhK-Uh.js","assets/ShortcutKeys-BgwCWvNY.js","assets/PageHeader-B78dHJed.js","assets/more-pages-D_PnxLN0.js","assets/TerminalPanel-BAQ2VwKg.js","assets/terminal-context-aIsIJPn8.js","assets/TaskTerminalView-C2acHnAH.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-Dzj7hrvM.js","assets/session-tree-summary-BXVKYODc.js","assets/BoardPage-CO7nU2Mw.js","assets/arrow-down-CDGua-ue.js","assets/corner-down-right--hxi-Ihy.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/ChatPage-C-hswZf9.js","assets/permission-rules-api-C9oRUm6Z.js","assets/session-list-BeyOEzyU.js","assets/circle-check-iEdCm3Pw.js","assets/image-plus-D7bzZog0.js","assets/file-diff-GxOMJkLj.js","assets/file-Bllajneu.js","assets/side-chat-context-CZ4IqNxt.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-BDztlYIy.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/GitDiffViewer-CBju_Sj4.js","assets/collapsible-Dcoy-qnz.js","assets/dist-DUSSw9eQ.js","assets/FileAttachmentPreview-D8YqjbeC.js","assets/tabs-DsgBuvJv.js","assets/git-branch-N7LGjtzt.js","assets/link-2-mgasYn21.js","assets/message-circle-question-mark-D7ehy_mi.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-Dgng80ZD.js","assets/tool-labels-ghvpPFmc.js","assets/speech-session-D_W5Ulli.js","assets/web-preview-events-JGegs4uF.js","assets/SessionShell-BsDAwWHd.js","assets/SessionHome-ByiFmH18.js","assets/MorePage-DuML7bhr.js","assets/app-window-CPNdvYNt.js","assets/image-BY_c3FYU.js","assets/monitor-smartphone-B1gIjItA.js","assets/ChatHistoryPage-BT0mIaDN.js","assets/FeaturePage-B3wCvGpC.js","assets/AssetsPage-D3F4T0_j.js","assets/queryOptions-Dfvzj6n2.js","assets/mobile-runtime-recovery-tbTyacip.js","assets/ChannelsPage-CsRbj9St.js","assets/send-QxBfLFo-.js","assets/public-9meoHs0K.js","assets/settings-2-CXJjXJS9.js","assets/accordion-CiJMkjqX.js","assets/SchedulesPage-DUhUUQP5.js","assets/ConfigPage-DH2d8YGn.js","assets/arrow-up-right-B6l8qFZz.js","assets/code-xml-BrUXrBax.js","assets/zap-DZHw5afO.js","assets/app-update-yPQVXuw5.js","assets/browser-notifications-DBS0oXqN.js","assets/ChatAppearancePage-Sc1V75I3.js","assets/PluginsPage-Cd9bu2AS.js","assets/earth-Ddy13fHh.js","assets/file-code-corner-BnE1ljT0.js","assets/package-BOmkLaKS.js","assets/save-CHBB52P8.js","assets/MemoryPage-CK4evs_P.js","assets/McpPage-DQ6AILOH.js","assets/SkillsPage-B46uoO_g.js","assets/public-DenVz3gW.js","assets/use-studio-actions-CYnwfaOn.js","assets/safe-mode-instance-hnF1BJYr.js","assets/PageFrame-DNwGZ-Dz.js","assets/WorkflowsPage-Dp1PRKQb.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-C5aKcTGw.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-DEs6BBob.js";import{n as ue,r as k,t as A}from"./use-i18n-CUS2_EGy.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-DeNu46nT.js";import{s as be,t as xe}from"./api-CKJOip3Q.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-D2d_9z0D.js";import{i as M,n as Ee,r as De}from"./use-mobile-C2tPBAza.js";import{t as Oe}from"./client-store-BaTctJrB.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-CZTn9wa-.js";import{a as ht,c as gt,i as _t,n as vt,r as L,s as R}from"./shortcuts-IA6Uq_O6.js";import{t as z}from"./sidebar-store-DuRlD5qg.js";import{a as yt,i as bt,l as B,o as xt,s as St,t as Ct}from"./dialog-Cb_sjjQV.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 U}from"./shortcut-aria-jHRmld9z.js";import{r as Tt,t as Et}from"./new-task-uLEgjs2Z.js";import{r as Dt}from"./app-primitives-Drz_SjnR.js";import{n as Ot,r as kt}from"./web-preview-Dgng80ZD.js";import{t as At}from"./BrandLogo-k3CvJjd4.js";import{r as jt}from"./web-preview-events-JGegs4uF.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-yPQVXuw5.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.12`,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-BICCops3.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-Bo5vvIFH.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-Dz_T7XWC.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-BBlYyb_U.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-CgJEhcYw.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-D3bdxKPz.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-BfHcj0Pn.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-BfHcj0Pn.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-Do_8-Hyh.js`),__vite__mapDeps([86,1,5,2,28,3,4,6,7,8,9,15,87,16,88,89,34,90,40,31,41,11,12,10,13,52,54,91,30,32,92,93,94,95,96,97,98,99,58,59,100,60,101,102,103,49,50,104,105,106,107,108,71,53,109,110,111,112,113])),D()]).then(([e])=>e),Qr=(0,Y.lazy)(()=>i(()=>import(`./public-sidebar-CdxAohEH.js`),__vite__mapDeps([114,1,5,2,3,4,6,7,8,9,45,15,115,11,12,116,99,117,61,50,58,49,56,26,57,59,60,78,118,67,119,120,77,121,106,105,122,13,10,52,123]))),$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.SidebarBoardFilters}))),ri=(0,Y.lazy)(()=>Zr().then(e=>({default:e.SidebarFleetLine}))),ii=(0,Y.lazy)(()=>Promise.all([i(()=>import(`./PhoneTopBar-BuyzXL4Z.js`),__vite__mapDeps([124,2,1,3,4,5,6,7,8,9,125,15,126,30,31,40,41,11,12,10,13,87,127,128,129,99,16,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,67,107,90,34,52,54,91,32,92,93,94,95,96,97,98,103,139,140,110,109,141])),D()]).then(([e])=>({default:e.PhoneTopBar}))),ai=(0,Y.lazy)(()=>i(()=>import(`./PhoneDrawer-DHRBi4XA.js`).then(e=>({default:e.PhoneDrawer})),__vite__mapDeps([142,2,1,3,4,5,6,7,8,9,68,15,46,73,141,49,50,135,26,57,58,59,60,61,109]))),oi=(0,Y.lazy)(()=>i(()=>import(`./SidebarUpdateStatus-Ci0ugb91.js`),__vite__mapDeps([143,2,1,3,4,5,6,7,8,9,82,15,144,22,145]))),si=(0,Y.lazy)(()=>i(()=>import(`./SettingsSidebar-B-COw6Uw.js`).then(e=>({default:e.SettingsSidebar})),__vite__mapDeps([146,1,2,3,4,5,6,7,8,9,10,11,12,13,147,15,81,17,18,19,20,21,22,49,50,51,53,148]))),ci=(0,Y.lazy)(async()=>{let[{ShortcutHelpDialog:e}]=await Promise.all([i(()=>import(`./ShortcutHelpDialog-DquhK-Uh.js`),__vite__mapDeps([149,1,2,3,4,5,6,7,8,9,73,15,61,50,58,49,53,56,26,57,59,60,150,51])),D()]);return{default:e}}),li=(0,Y.lazy)(()=>i(()=>import(`./PageHeader-B78dHJed.js`).then(e=>({default:e.PageHeader})),__vite__mapDeps([151,2,1,3,4,5,6,7,8,9,14,15,47,152,49,50,61,58,53]))),ui=(0,Y.lazy)(()=>i(()=>import(`./TerminalPanel-BAQ2VwKg.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([153,1,2,3,4,5,6,7,8,9,15,24,45,47,26,61,50,58,49,154,155,25,156,157,37,158,99,87,159,130,59,160,100,60,101,102,161]))),di=(0,Y.lazy)(()=>i(()=>import(`./MobileViewportStabilizer-uKI4Zp7f.js`).then(e=>({default:e.MobileViewportStabilizer})),__vite__mapDeps([162,1,2])));function fi(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 pi(e){try{return decodeURIComponent(e)}catch{return``}}function mi(e,t){let n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return n?n(e,t):Promise.reject(Error(`native bridge unavailable`))}function hi({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`?pi(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 mi(`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,fi(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:pi(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)(()=>{if(m===`more`)document.getElementById(We)?.focus();else if(Ge.has(m))document.getElementById(qe)?.focus();else if(m===`board`){let e=document.getElementById(Et);if(e)e.focus();else if(!k&&z.getState().collapsed){z.getState().setPeeking(!0);let e=0,t=()=>{let n=document.getElementById(Et);n?n.focus():(e+=1)<20&&requestAnimationFrame(t)};requestAnimationFrame(t)}}else xt.current?.focus()},[m,k]),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 [&[data-phone-shell][data-shell-chrome]]:bg-chrome 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-shell-chrome":m===`session`||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)(di,{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:()=>Tt({kind:`focus-list`}),onPreviousAgent:()=>Tt({kind:`adjacent`,direction:-1}),onNextAgent:()=>Tt({kind:`adjacent`,direction:1}),onJumpToAttention:()=>Tt({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.jsx)(Y.Suspense,{fallback:(0,X.jsx)(ar,{}),children:m===`board`?(0,X.jsx)(ni,{notify:U,requestConfirm:V.confirm,requestText:V.prompt,onNewTask:()=>K(),onOpenHistory:()=>G(`chatHistory`)}):(0,X.jsxs)(X.Fragment,{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)(si,{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)(ri,{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)(oi,{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)(ii,{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)(li,{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)(ui,{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)(ai,{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)(oi,{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-Dzj7hrvM.js`);return{switchToTurnOnOtherBranch:e}},__vite__mapDeps([163,52,6,5,1,2,7,8,54,40,31,41,11,4,12,164,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)(ci,{open:!0,onOpenChange:Ae,onCustomize:()=>r(`/config/shortcuts`)})]})]})})})}function gi({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 _i(){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 vi(){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 yi(){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 vi(),children:`重新加载`})]})}function $(){return n()}async function bi(){let[{BoardPage:e}]=await Promise.all([i(()=>import(`./BoardPage-CO7nU2Mw.js`),__vite__mapDeps([165,1,5,2,3,4,6,7,8,9,30,31,29,32,10,11,12,13,33,34,35,37,36,38,15,166,81,128,87,16,167,88,89,28,90,40,41,52,54,91,92,93,94,95,96,97,98,99,58,59,100,60,101,102,103,49,50,104,105,106,108,45,168,141,169,26,170,171,172,173,160,61,51,53,109,139,127,129,130,131,22,46,25,132,57,133,56,134,135,55,111,136,137,78,119,138,140,156,174])),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 xi(){let[{ChatPage:e},{SessionShell:t}]=await Promise.all([i(()=>import(`./ChatPage-C-hswZf9.js`),__vite__mapDeps([175,1,5,2,6,7,3,4,8,9,31,30,40,41,11,12,13,10,37,38,15,176,177,19,129,99,87,14,16,178,179,127,128,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,167,82,180,181,182,28,34,36,166,159,183,88,184,67,20,43,21,71,168,185,186,48,169,98,103,173,160,52,54,156,118,187,188,189,190,191,192,193,174,105,194,195,196,85,197,198,164,199,200,116,117,201,202,203,44,204,205,206,45,73,141,75,170,207,208,209,92,94,140,97,148,172,112,210,211,212,123,154,213,163,214,215])),i(()=>import(`./SessionShell-BsDAwWHd.js`),__vite__mapDeps([216,1,5,2,28,3,4,6,7,8,9,29,30,31,32,10,11,12,13,33,34,35,38,36,37,126,40,41,15,87,127,128,129,99,16,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,67,107,90,52,54,91,92,93,94,95,96,97,98,103,139,140,110,125,109,104])),D()]);function n(){return(0,X.jsx)(t,{context:$(),ChatPage:e})}return{Component:n}}async function Si(){xi().catch(()=>void 0);let[{SessionHome:e}]=await Promise.all([i(()=>import(`./SessionHome-ByiFmH18.js`),__vite__mapDeps([217,1,5,2,28,3,4,6,7,8,9,36,37,38,11,12,126,30,31,40,41,10,13,15,87,127,128,129,99,16,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,67,107,90,34,52,54,91,32,92,93,94,95,96,97,98,103,139,140,110,125,109,156,104])),D()]);function t(){return(0,X.jsx)(e,{context:$()})}return{Component:t}}async function Ci(){let{MorePage:e}=await i(async()=>{let{MorePage:e}=await import(`./MorePage-DuML7bhr.js`);return{MorePage:e}},__vite__mapDeps([218,1,2,3,4,5,6,7,8,9,30,31,11,12,13,10,29,32,33,34,35,38,36,37,15,219,64,19,65,66,16,220,221,69,45,70,71,46,72,74,75,26,170,152,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 wi(){let{ChatHistoryPage:e}=await i(async()=>{let{ChatHistoryPage:e}=await import(`./ChatHistoryPage-BT0mIaDN.js`);return{ChatHistoryPage:e}},__vite__mapDeps([222,1,6,5,2,7,3,4,8,9,30,31,40,41,11,12,36,37,38,15,177,88,131,108,22,141,169,170,152,98,99,16,58,59,100,60,101,102,103,49,50,61,52,53,92,55,111,140,156,223,87,14,46,117,26,51,211]));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 Ti(){let{AssetsPage:e}=await i(async()=>{let{AssetsPage:e}=await import(`./AssetsPage-D3F4T0_j.js`);return{AssetsPage:e}},__vite__mapDeps([224,1,2,4,5,6,7,8,3,9,30,31,225,11,12,15,82,144,181,202,205,45,22,169,117,26,152,98,99,16,58,59,100,60,101,102,103,49,50,61,53,55,56,57,78,156,223,36,37,38,87,14,46,51,226,120,77,121,188,189,190,191,192,183,193]));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 Ei(){let[{ChannelsPage:e}]=await Promise.all([i(()=>import(`./ChannelsPage-CsRbj9St.js`),__vite__mapDeps([227,1,2,3,4,5,6,7,8,9,11,12,15,19,144,67,228,44,45,22,186,169,117,26,170,152,49,50,61,58,53,55,111,78,137,119,156,223,36,37,38,87,14,46,51,120,77,59,121,157,158,99,159,130,160,100,60,101,102,210,209,200,103,211,195])),oe()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function Di(){let{BotsPage:e}=await i(async()=>{let{BotsPage:e}=await import(`./public-9meoHs0K.js`);return{BotsPage:e}},__vite__mapDeps([229,1,5,2,28,3,4,6,7,8,9,128,15,99,183,180,116,117,61,50,58,49,56,26,57,59,60,78,118,203,21,45,71,168,230,185,115,11,12,67,119,120,77,121,106,105,25,231,87,159,100,198,209,102,200,103,171,172,156,188,189,190,191,192,193,122,13,10,52,123,157,37,158,130,160,101]));function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify})}return{Component:t}}async function Oi(){let{SchedulesPage:e}=await i(async()=>{let{SchedulesPage:e}=await import(`./SchedulesPage-DUhUUQP5.js`);return{SchedulesPage:e}},__vite__mapDeps([232,1,5,2,3,4,6,7,8,9,11,12,18,15,19,66,178,116,99,117,61,50,58,49,56,26,57,59,60,78,118,67,228,206,45,169,152,209,102,53,55,111,119,97,156,223,36,37,38,87,14,46,51,120,77,121,157,158,159,130,160,100,101,210,200,103,211,195]));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 ki(){let[{ConfigPage:e},{ChatAppearancePage:t}]=await Promise.all([i(()=>import(`./ConfigPage-DH2d8YGn.js`),__vite__mapDeps([233,1,5,2,6,7,4,8,3,9,11,12,13,10,38,15,176,147,81,234,18,19,65,99,87,14,42,178,235,183,82,88,144,17,20,21,22,220,43,44,221,236,45,145,168,46,72,186,74,47,169,117,132,26,170,58,59,100,231,159,198,49,50,102,103,98,16,60,101,133,56,57,61,158,130,160,121,134,209,51,84,53,55,111,78,119,138,156,62,223,36,37,120,77,188,189,190,191,192,193,122,52,123,157,211,210,200,195,85,197,237,150,238])),i(()=>import(`./ChatAppearancePage-Sc1V75I3.js`),__vite__mapDeps([239,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 Ai(){let{PluginsPage:e}=await i(async()=>{let{PluginsPage:e}=await import(`./PluginsPage-Cd9bu2AS.js`);return{PluginsPage:e}},__vite__mapDeps([240,1,2,3,4,5,6,7,8,9,11,12,13,10,15,178,241,144,184,242,67,220,243,69,244,46,72,185,169,117,152,58,59,57,60,49,50,61,53,56,26,78,97,156,223,36,37,38,87,14,51,157,158,99,159,130,160,100,101,102,210,209,200,103,211,195,213]));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 ji(){let{MemoryPage:e}=await i(async()=>{let{MemoryPage:e}=await import(`./MemoryPage-CK4evs_P.js`);return{MemoryPage:e}},__vite__mapDeps([245,1,2,3,4,5,6,7,8,9,11,12,15,99,242,20,131,45,22,74,169,26,152,173,58,59,160,60,101,102,49,50,61,53,78,119,156,223,36,37,38,87,14,46,117,51,120,77,121,157,158,159,130,100,210,209,200,103,211,195]));function t(){let t=$();return(0,X.jsx)(e,{onBack:t.onBackToFeatures,notify:t.notify,requestConfirm:t.requestConfirm})}return{Component:t}}async function Mi(){let[{McpPage:e}]=await Promise.all([i(()=>import(`./McpPage-DQ6AILOH.js`),__vite__mapDeps([246,1,2,3,4,5,6,7,8,9,31,30,41,225,11,12,99,15,183,83,45,22,71,72,169,132,26,152,209,58,59,102,49,50,61,53,55,56,57,60,119,156,118,223,36,37,38,87,14,46,117,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 Ni(){let{SkillsPage:e}=await i(async()=>{let{SkillsPage:e}=await import(`./SkillsPage-B46uoO_g.js`);return{SkillsPage:e}},__vite__mapDeps([247,1,2,3,4,5,6,7,8,9,11,12,242,15,220,243,45,244,74,169,132,152,207,99,58,59,102,49,50,61,53,156,223,36,37,38,87,14,46,117,26,51,210,209,200,100,103,211,195]));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 Pi=Object.freeze({componentFromList:!0});function Fi(e){return typeof e==`object`&&!!e&&e.componentFromList===!0}async function Ii(){let[{CustomUiPage:e}]=await Promise.all([i(()=>import(`./public-DenVz3gW.js`),__vite__mapDeps([248,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,219,234,64,99,87,14,16,235,183,82,88,126,40,41,127,128,129,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,67,107,90,52,54,91,92,93,94,95,96,97,98,103,139,140,110,204,45,71,230,185,74,169,207,77,158,159,160,209,171,172,109,156,62,211,249,208,121,173,250,251])),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&&Fi(i.state)?n(-1):n(te(e),{replace:t||!e,state:e&&!t?Pi:void 0})}})}return{Component:t}}async function Li(){let[{CustomUiToolPage:e}]=await Promise.all([i(()=>import(`./public-DenVz3gW.js`),__vite__mapDeps([248,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,219,234,64,99,87,14,16,235,183,82,88,126,40,41,127,128,129,130,131,22,46,25,132,26,58,59,57,60,133,101,102,49,50,56,61,134,100,51,53,135,55,111,136,137,78,119,138,67,107,90,52,54,91,92,93,94,95,96,97,98,103,139,140,110,204,45,71,230,185,74,169,207,77,158,159,160,209,171,172,109,156,62,211,249,208,121,173,250,251])),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 Ri(){let[{WorkflowsPage:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-Dp1PRKQb.js`),__vite__mapDeps([252,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,166,128,18,19,129,99,87,14,16,178,179,235,183,82,88,242,181,201,253,220,43,228,236,204,205,131,206,45,22,145,244,46,72,230,25,169,117,75,26,152,98,58,59,100,60,101,102,103,49,50,77,133,56,57,61,208,134,130,209,200,53,135,55,111,78,119,156,118,223,51,120,121,157,158,159,160,197,198,238,251,254,255,256])),le()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,onBack:t.onBackToFeatures,requestConfirm:t.requestConfirm})}return{Component:t}}async function zi(){let[{WorkflowBuilder:e}]=await Promise.all([i(()=>import(`./WorkflowsPage-Dp1PRKQb.js`),__vite__mapDeps([252,1,5,2,28,4,6,7,8,3,9,30,31,11,12,36,37,38,15,166,128,18,19,129,99,87,14,16,178,179,235,183,82,88,242,181,201,253,220,43,228,236,204,205,131,206,45,22,145,244,46,72,230,25,169,117,75,26,152,98,58,59,100,60,101,102,103,49,50,77,133,56,57,61,208,134,130,209,200,53,135,55,111,78,119,156,118,223,51,120,121,157,158,159,160,197,198,238,251,254,255,256])),le()]);function t(){let t=$();return(0,X.jsx)(e,{notify:t.notify,registerWorkflowActions:t.registerWorkflowActions})}return{Component:t}}var Bi=t([{element:(0,X.jsx)(gi,{children:(0,X.jsx)(hi,{routerState:()=>Bi.state})}),errorElement:(0,X.jsx)(yi,{}),hydrateFallbackElement:(0,X.jsx)(_i,{}),children:[{index:!0,lazy:Si},{path:T.board,lazy:bi},{path:`/board/:sessionId`,lazy:xi},{path:T.more,lazy:Ci},{path:T.chat,element:(0,X.jsx)(l,{to:`/`,replace:!0})},{path:T.chatHistory,lazy:wi},{path:T.assets,lazy:Ti},{path:T.channels,lazy:Ei},{path:T.schedules,lazy:Oi},{path:`/bots/:botId?`,lazy:Di},{path:T.config,lazy:ki},{path:`/config/:configSection`,lazy:ki},{path:`/config`,element:(0,X.jsx)(l,{to:T.config,replace:!0})},{path:T.plugins,lazy:Ai},{path:T.memory,lazy:ji},{path:T.mcp,lazy:Mi},{path:T.skills,lazy:Ni},{path:`/components/:componentId?`,lazy:Ii},{path:`/tools/components/:componentId`,lazy:Li},{path:T.workflows,lazy:Ri},{path:T.workflowCreate,lazy:zi},{path:`/workflows/:workflowId`,lazy:zi},{path:`*`,element:(0,X.jsx)(l,{to:`/`,replace:!0})}]}]),Vi=()=>{document.documentElement.dataset.pageVisibility=document.visibilityState};Vi(),document.addEventListener(`visibilitychange`,Vi);var Hi=b(window.location.hash);Hi&&window.history.replaceState(null,``,`${window.location.pathname}${window.location.search}#${Hi}`);var Ui=document.getElementById(`root`);if(!Ui)throw Error(`Missing #root application mount point`);(0,Ln.createRoot)(Ui).render((0,X.jsx)(Y.StrictMode,{children:(0,X.jsx)(Bn,{children:(0,X.jsx)(d,{router:Bi})})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e=e=>e){return{board:[e(`navigation:sidebar.allAgents`),e(`navigation:shell.boardDescription`)],session:[e(`navigation:navigation.chat`),``],more:[e(`navigation:sidebar.features`),e(`navigation:shell.moreDescription`)],chat:[e(`navigation:navigation.chat`),e(`navigation:navigation.chatDescription`)],chatHistory:[e(`navigation:navigation.chatHistory`),e(`navigation:navigation.chatHistoryDescription`)],assets:[e(`navigation:navigation.assets`),e(`navigation:navigation.assetsDescription`)],channels:[e(`navigation:navigation.channels`),e(`navigation:navigation.channelsDescription`)],schedules:[e(`navigation:navigation.schedules`),e(`navigation:navigation.schedulesDescription`)],bots:[e(`navigation:navigation.bots`),``],config:[e(`navigation:navigation.settings`),e(`navigation:navigation.settingsDescription`)],plugins:[e(`navigation:navigation.plugins`),e(`navigation:navigation.pluginsDescription`)],memory:[e(`navigation:navigation.memory`),e(`navigation:navigation.memoryDescription`)],mcp:[e(`navigation:navigation.mcp`),e(`navigation:navigation.mcpDescription`)],skills:[e(`navigation:navigation.skills`),e(`navigation:navigation.skillsDescription`)],components:[e(`navigation:shell.components`),e(`navigation:navigation.componentsDescription`)],workflows:[e(`navigation:navigation.workflows`),e(`navigation:navigation.workflowsDescription`)],customComponentTool:[e(`navigation:more.groupComponents`),``],workflowCreate:t(e,!1)}}function t(e,t){return t?[e(`navigation:navigation.editWorkflow`),e(`navigation:navigation.editWorkflowDescription`)]:[e(`navigation:navigation.newWorkflow`),e(`navigation:navigation.newWorkflowDescription`)]}export{t as n,e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`pisper:sidebar-command`;function t(t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}var n=`board-filter`;export{e as n,t as r,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,t}from"./runtime-capabilities-
|
|
1
|
+
import{a as e,t}from"./runtime-capabilities-CHYOF_hE.js";import{t as n}from"./blocks-Olsdp5Lp.js";import{t as r}from"./brain-qxhnKqYP.js";import{t as i}from"./calendar-clock-VIxTaqqy.js";import{t as a}from"./folder-open-FIShC5Qk.js";import{n as o,t as s}from"./list-T5PqlpS2.js";import{t as c}from"./message-square-SKjZyY3v.js";import{t as l}from"./plug-BsIeHRwC.js";import{t as u}from"./radio-tower-jGQwrFWB.js";import{t as d}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as f}from"./server-BgNvmqwJ.js";import{t as p}from"./settings-QX0oWnVK.js";import{t as m}from"./sparkles-S_eeuqn9.js";import{t as h}from"./workflow-Bg94dy8I.js";function g(g=e=>e,_=t){let v=[[`chat`,g(`navigation:navigation.chat`),c],[`board`,g(`navigation:sidebar.allAgents`),s],[`more`,g(`navigation:sidebar.features`),o],[`components`,g(`navigation:shell.components`),n],[`config`,g(`navigation:navigation.settings`),p]],y=[[`chatHistory`,g(`navigation:navigation.chatHistory`),d],[`assets`,g(`navigation:navigation.assets`),a],[`memory`,g(`navigation:navigation.memory`),r],[`workflows`,g(`navigation:navigation.workflows`),h],[`schedules`,g(`navigation:navigation.schedules`),i],[`channels`,g(`navigation:navigation.channels`),u],[`plugins`,g(`navigation:navigation.plugins`),l],[`skills`,g(`navigation:navigation.skills`),m],[`mcp`,g(`navigation:navigation.mcp`),f]];return[[g(`navigation:navigation.app`),v],[g(`navigation:sidebar.features`),y.filter(([t])=>e(_,t))]]}export{g as getNavigation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-C5aKcTGw.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{t as i}from"./api-CKJOip3Q.js";import{t as a}from"./createLucideIcon-Cd-3GVxJ.js";var o=a(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),s=[`changes`,`terminal`,`files`,`preview`,`plan`,`side-chat`];function c(e){return typeof e!=`number`||!Number.isFinite(e)?456:Math.min(720,Math.max(360,Math.round(e)))}function l(e,t){let n=Math.max(360,Math.min(720,t-480-8));return Math.min(n,c(e))}function u(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{},n=s.find(e=>e===t.tab)??`changes`,r=t.pinned===!0;return{open:r&&t.open!==!1,pinned:r,tab:n===`side-chat`?`changes`:n,width:c(t.width),terminalView:t.terminalView===`processes`?`processes`:`terminal`,changesView:t.changesView===`workspace`?`workspace`:`session`,diffMode:t.diffMode===`split`?`split`:`unified`}}var d=n(()=>({getItem:t=>{try{return e.getItem(t)}catch{return null}},setItem:(t,n)=>{try{e.setItem(t,n)}catch{}},removeItem:t=>{try{e.removeItem(t)}catch{}}})),f=r()(t((e,t)=>({...u(void 0),setOpen:n=>{t().open!==n&&e({open:n})},setPinned:t=>e(t?{pinned:t,open:!0}:{pinned:t}),setTab:n=>{t().tab!==n&&e({tab:n})},setWidth:n=>{let r=c(n);t().width!==r&&e({width:r})},setTerminalView:t=>e({terminalView:t}),setChangesView:t=>e({changesView:t}),setDiffMode:t=>e({diffMode:t})}),{name:`pisper-session-inspector`,version:1,storage:d,partialize:({open:e,pinned:t,tab:n,width:r,terminalView:i,changesView:a,diffMode:o})=>({open:e,pinned:t,tab:n,width:r,terminalView:i,changesView:a,diffMode:o}),migrate:e=>u(e),merge:(e,t)=>({...t,...u(e)})})),p={list(){return i(`/api/permission-rules`)},add(e){return i(`/api/permission-rules`,{method:`POST`,body:JSON.stringify(e)})},remove(e){return i(`/api/permission-rules/`+encodeURIComponent(e),{method:`DELETE`})}},m=/[;&|`$<>\n\r\\(){}]/;function h(e){let t=e.trim().replace(/[ \t]+/g,` `);if(!t||m.test(t))return``;let[n,r]=t.split(` `);return n?r&&/^[a-z][\w:-]*$/i.test(r)?`${n} ${r}`:n:``}export{o as a,f as i,h as n,l as r,p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./api-
|
|
1
|
+
import{t as e}from"./api-CKJOip3Q.js";async function t(t=``,n=``){let r=window.pisperDesktop?.pickDirectory;if(r){let e=await r(t||void 0);return e?{status:`picked`,path:e}:{status:`cancelled`}}let i;try{i=await e(`/api/local/directory-picker`,{method:`POST`,body:JSON.stringify({initialDirectory:t,title:n})})}catch{return{status:`unavailable`}}return i.status===`picked`&&i.path?{status:`picked`,path:i.path}:i.status===`cancelled`||i.status===`busy`?{status:`cancelled`}:{status:`unavailable`}}export{t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/hosts-BRPznOHU.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-router-CSN_DGvx.js","assets/vendor-react-DwNgTV1j.js","assets/index-C5aKcTGw.js","assets/index-DD2H2OOC.css","assets/routes-DIeaqWVc.js","assets/use-i18n-CUS2_EGy.js","assets/i18n-DEs6BBob.js","assets/storage-DH3bQdy6.js","assets/vendor-state-GkUciC5H.js","assets/useQuery-DdcpUQhO.js","assets/query-Bj-DUNYq.js","assets/session-scope-XRVRtwow.js","assets/api-CKJOip3Q.js","assets/abort-signal-f4JsiYKX.js","assets/session-board-status-D2lpFPiI.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/ellipsis-CfGKfbq6.js","assets/grip-vertical-B__LYT0s.js","assets/plus-fQbSqB1n.js","assets/rotate-ccw-C0v8V77_.js","assets/settings-2-CXJjXJS9.js","assets/x-07u4-129.js","assets/dropdown-menu-CFIFNaKO.js","assets/check-2vYc6QaP.js","assets/chevron-right-C3t2Rckj.js","assets/dist-41X0pdUs.js","assets/dist-BsRXXcSL.js","assets/dist-DzGQ7sLi.js","assets/es2015-DTZdOI9P.js","assets/dist-BRjj4UeB.js","assets/dist-OB2r6Xsr.js","assets/dist-BaBySQmo.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/popover-CiVxYUEU.js","assets/dialog-Cb_sjjQV.js","assets/dist-BHkR6BLP.js","assets/button-CCcCN8tE.js","assets/use-studio-actions-CYnwfaOn.js","assets/public-D6X148yH.js","assets/startup-queries-DeNu46nT.js","assets/mutation-CEbxdVYy.js","assets/runtime-capabilities-store-D2d_9z0D.js","assets/runtime-capabilities-CHYOF_hE.js","assets/chevron-down-CxtxIjiP.js","assets/FocusRuntimeControls-hYDoXwg7.js","assets/arrow-up-DST6-qVQ.js","assets/braces-DQcXLGFF.js","assets/dist-V8chnW6-.js","assets/pencil-U08v_vV9.js","assets/refresh-cw-TbWxTY4K.js","assets/search-D0mqDaf_.js","assets/square-bHHVTT3G.js","assets/wrench-6pg6_bqI.js","assets/slider-DTmAZl-R.js","assets/kbd-CAufZTkl.js","assets/shortcuts-IA6Uq_O6.js","assets/sheet-BTaIEX4w.js","assets/format-DMJQzoZ7.js","assets/StatusGlyph-1KgitlUg.js","assets/run-activity-CwfO0cui.js","assets/input-group-h8z63MzW.js","assets/input-CPw-zkYh.js","assets/textarea-DmATpOqT.js","assets/model-display-kDwvtxrW.js","assets/folder-open-FIShC5Qk.js","assets/folder-plus-OPHZsJho.js","assets/useNewProjectPicker-CacWA0IS.js","assets/events-CZTn9wa-.js","assets/chat-api-Bvirerdj.js","assets/board-projects-wd79Rqt5.js","assets/component-changes-Q9Bf64Ob.js","assets/session-organization-api-Bs8DdxU1.js","assets/workspace-order-store-BuPmheRT.js","assets/session-questions-Cf-1g85h.js","assets/card-presentation-1oph2b8P.js","assets/folder-paths--euvEC5U.js","assets/pick-system-directory-B__qKy-X.js","assets/public-launch-D0t4Hqf5.js","assets/session-change-summary-api-DmmNGbP7.js","assets/useSidebarModel-6sqN4VA5.js","assets/checkbox-BrEHgFV0.js","assets/progress-5odAz3B9.js","assets/separator-BPh_qxvc.js","assets/switch-D_G8wFhs.js","assets/segmented-control-BlM_GKV6.js","assets/touch-target-BsyCgjR5.js","assets/tooltip-D4MFbqcG.js","assets/dist-BiRPwy4W.js","assets/badge-CWB3lj2H.js","assets/safe-mode-instance-hnF1BJYr.js","assets/safe-mode-sentinel-CPmhLLXT.js","assets/SafeModePrompt-BnoccbWI.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n}from"./vendor-react-DwNgTV1j.js";import{a as r}from"./i18n-DEs6BBob.js";import{t as i}from"./use-i18n-CUS2_EGy.js";import{r as a,t as o}from"./useQuery-DdcpUQhO.js";import{n as s}from"./component-changes-Q9Bf64Ob.js";import{t as c}from"./runtime-capabilities-store-D2d_9z0D.js";import{_ as l,j as u,k as d,n as f,r as p,t as m}from"./session-scope-XRVRtwow.js";import"./safe-mode-sentinel-CPmhLLXT.js";var h=e(n(),1);function g(e){return e.id===`*`?[u.all]:e.reason===`instances`?[u.instances()]:[u.catalog(),u.describe(e.id),u.errors(e.id),u.versions(e.id),u.trash(),u.instances()]}function _(e){let t=0,n=null,r=null;return{retain(i){r=i,t+=1,n??=e(e=>{for(let t of g(e))Promise.resolve(r?.invalidateQueries({queryKey:t})).catch(()=>void 0)});let a=!1;return()=>{a||(a=!0,--t,!(t>0)&&(n?.(),n=null,r=null))}},users:()=>t}}var v=_(s);function y(e){let t=a();(0,h.useEffect)(()=>e?v.retain(t):void 0,[t,e])}function b(){return c(e=>e.capabilities.features[`components.native`])}function x(){let e=b();return y(e),o(f(e))}function S(e){return y(e),o(p(e))}function C(){return S(b())}function w(e){let t=b(),n=S(t),r=(0,h.useMemo)(()=>(n.data?.instances??[]).filter(t=>t.surface===e&&t.enabled),[n.data,e]),i=o(f(t&&r.length>0));return{available:t,placed:(0,h.useMemo)(()=>{if(!i.data)return[];let e=new Map(i.data.components.map(e=>[e.id,e])),t=[];for(let n of r){let r=e.get(n.componentId);r?.kind===`native`&&r.status===`ready`&&r.enabled&&t.push({instance:n,component:r})}return t},[r,i.data]),revision:n.data?.revision??null,isLoading:t&&(n.isPending||r.length>0&&i.isPending),error:n.error??i.error??null,refetch:()=>{n.refetch(),r.length&&i.refetch()}}}function T(e,t,n){return e.filter(({instance:e})=>m(e.scope,t)).map(({instance:e,component:t})=>({id:e.instanceId,label:e.title||t.manifest?.i18n[n]?.name||t.name}))}function E(){let e=S(b());return(0,h.useMemo)(()=>(e.data?.instances??[]).filter(e=>e.enabled).length,[e.data])}function D(){let{language:e}=i(),t=w(`feature-page`),n=(0,h.useMemo)(()=>t.placed.map(({instance:t,component:n})=>({instanceId:t.instanceId,componentId:n.id,name:n.manifest?.i18n[e]?.name||n.name,description:n.manifest?.i18n[e]?.description||n.description,icon:n.manifest?.icon||``})),[e,t.placed]);return{...t,items:n}}var O=()=>Promise.all([t(()=>import(`./hosts-BRPznOHU.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93])),r()]).then(([e])=>e),k=(0,h.lazy)(()=>O().then(e=>({default:e.ComponentHost}))),A=(0,h.lazy)(()=>O().then(e=>({default:e.FloatingComponents}))),j=(0,h.lazy)(()=>Promise.all([t(()=>import(`./SafeModePrompt-BnoccbWI.js`),__vite__mapDeps([94,1,3,7,8,2,4,5,9,10,39,35,27,34,37,23,17,38,28,30,92,93])),r()]).then(([e])=>({default:e.SafeModePrompt})));function M(){let e=a();return async()=>{let t=(await l()).components.filter(e=>e.kind===`native`&&e.enabled),n=await Promise.allSettled(t.map(e=>d(e.id,!1)));return e.invalidateQueries({queryKey:u.all}),n.every(e=>e.status===`fulfilled`)}}var N=(0,h.lazy)(()=>O().then(e=>({default:e.OverviewComponents}))),P=(0,h.lazy)(()=>O().then(e=>({default:e.SessionPanelComponent}))),F=(0,h.lazy)(()=>O().then(e=>({default:e.SessionComponentAddMenu})));export{F as a,x as c,b as d,M as f,j as i,C as l,D as m,A as n,P as o,E as p,N as r,T as s,k as t,w as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{a as r,n as i}from"./dist-41X0pdUs.js";import{c as a,i as o,n as s,o as c,r as l,s as u}from"./dist-BsRXXcSL.js";import{a as d,i as f,n as p,r as m,s as h,t as g}from"./es2015-DTZdOI9P.js";import{a as _,i as v,r as y,t as b}from"./dist-BRjj4UeB.js";import{t as x}from"./utils-C8uzG5AZ.js";import{c as S}from"./dialog-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{a as r,n as i}from"./dist-41X0pdUs.js";import{c as a,i as o,n as s,o as c,r as l,s as u}from"./dist-BsRXXcSL.js";import{a as d,i as f,n as p,r as m,s as h,t as g}from"./es2015-DTZdOI9P.js";import{a as _,i as v,r as y,t as b}from"./dist-BRjj4UeB.js";import{t as x}from"./utils-C8uzG5AZ.js";import{c as S}from"./dialog-Cb_sjjQV.js";var C=e(t(),1),w=n(),T=Object.defineProperty,E=(e,t)=>T(e,`name`,{value:t,configurable:!0}),D=`Popover`,[O,ee]=u(D,[_]),k=_(),[A,j]=O(D),M=E(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:c=!1}=e,l=k(t),u=C.useRef(null),[d,f]=C.useState(!1),[p,m]=o({prop:r,defaultProp:i??!1,onChange:a,caller:D});return(0,w.jsx)(v,{...l,children:(0,w.jsx)(A,{scope:t,contentId:s(),triggerRef:u,open:p,onOpenChange:m,onOpenToggle:C.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:d,onCustomAnchorAdd:C.useCallback(()=>f(!0),[]),onCustomAnchorRemove:C.useCallback(()=>f(!1),[]),modal:c,children:n})})},`Popover`),N=`PopoverTrigger`,P=C.forwardRef(E(function(e,t){let{__scopePopover:n,...i}=e,o=j(N,n),s=k(n),l=r(t,o.triggerRef),u=(0,w.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":G(o.open),...i,ref:l,onClick:c(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?u:(0,w.jsx)(b,{asChild:!0,...s,children:u})},`PopoverTrigger`)),F=`PopoverPortal`,[I,L]=O(F,{forceMount:void 0}),R=E(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=j(F,t);return(0,w.jsx)(I,{scope:t,forceMount:n,children:(0,w.jsx)(l,{present:n||a.open,children:(0,w.jsx)(f,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),z=`PopoverContent`,B=C.forwardRef(E(function(e,t){let n=L(z,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=j(z,e.__scopePopover);return(0,w.jsx)(l,{present:r||a.open,children:a.modal?(0,w.jsx)(H,{...i,ref:t}):(0,w.jsx)(U,{...i,ref:t})})},`PopoverContent`)),V=i(`PopoverContent.RemoveScroll`),H=C.forwardRef(E(function(e,t){let n=j(z,e.__scopePopover),i=C.useRef(null),a=r(t,i),o=C.useRef(!1);return C.useEffect(()=>{let e=i.current;if(e)return g(e)},[]),(0,w.jsx)(p,{as:V,allowPinchZoom:!0,children:(0,w.jsx)(W,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:c(e.onCloseAutoFocus,e=>{e.preventDefault(),o.current||n.triggerRef.current?.focus()}),onPointerDownOutside:c(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;o.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:c(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),U=C.forwardRef(E(function(e,t){let n=j(z,e.__scopePopover),r=C.useRef(!1),i=C.useRef(!1);return(0,w.jsx)(W,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),W=C.forwardRef(E(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...f}=e,p=j(z,n),g=k(n);return m(),(0,w.jsx)(d,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,w.jsx)(h,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>p.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,w.jsx)(y,{"data-state":G(p.open),role:`dialog`,id:p.contentId,...g,...f,ref:t,style:{...f.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function G(e){return e?`open`:`closed`}E(G,`getState`);var K=M,q=P,J=R,Y=B;function X({modal:e=!1,...t}){return(0,w.jsx)(K,{"data-slot":`popover`,modal:e,...t})}function Z({...e}){return(0,w.jsx)(q,{"data-slot":`popover-trigger`,...e})}function Q({className:e,align:t=`center`,sideOffset:n=8,alignOffset:r=t===`center`?0:-5,collisionPadding:i=20,portalContainer:a,...o}){let s=C.useContext(S);return(0,w.jsx)(J,{container:a===void 0?s??void 0:a,children:(0,w.jsx)(Y,{"data-slot":`popover-content`,align:t,sideOffset:n,alignOffset:r,collisionPadding:i,className:x(`z-[200] flex max-h-(--radix-popover-content-available-height) w-72 max-w-[calc(100vw-40px)] origin-(--radix-popover-content-transform-origin) flex-col gap-2.5 overflow-y-auto overscroll-contain rounded-md bg-popover p-2.5 text-sm text-popover-foreground shadow-float outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...o})})}function $({className:e,...t}){return(0,w.jsx)(`div`,{"data-slot":`popover-title`,className:x(`font-medium`,e),...t})}export{Z as i,Q as n,$ as r,X as t};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/public-diff-BqcNo4lt.js","assets/GitDiffViewer-CBju_Sj4.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-CUS2_EGy.js","assets/i18n-DEs6BBob.js","assets/vendor-router-CSN_DGvx.js","assets/index-C5aKcTGw.js","assets/index-DD2H2OOC.css","assets/storage-DH3bQdy6.js","assets/vendor-state-GkUciC5H.js","assets/file-diff-GxOMJkLj.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/x-07u4-129.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/button-CCcCN8tE.js","assets/dist-41X0pdUs.js","assets/events-CZTn9wa-.js","assets/esm-DCV8yILT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{f as t,h as n,r,u as i}from"./vendor-router-CSN_DGvx.js";import{i as a,r as o}from"./vendor-react-DwNgTV1j.js";import{f as s}from"./routes-DIeaqWVc.js";import{t as c}from"./use-i18n-CUS2_EGy.js";import{t as l}from"./arrow-up-DST6-qVQ.js";import{t as u}from"./check-2vYc6QaP.js";import{t as d}from"./copy-DHmIFc52.js";import{t as f}from"./file-diff-GxOMJkLj.js";import{t as p}from"./WorkspacePicker-BJhBGRH0.js";import{t as m}from"./message-circle-question-mark-D7ehy_mi.js";import{t as h}from"./monitor-ORxecA9m.js";import{t as g}from"./plus-fQbSqB1n.js";import{t as _}from"./rotate-ccw-clock-CO6Bw-sF.js";import{t as v}from"./rotate-ccw-C0v8V77_.js";import{t as y}from"./settings-2-CXJjXJS9.js";import{t as b}from"./shield-alert-oZqX6MNu.js";import{A as x,C as S,D as C,E as w,O as T,S as E,T as D,_ as O,a as k,b as A,c as j,d as M,f as N,g as ee,h as te,i as ne,k as P,l as re,m as ie,n as ae,o as oe,p as F,r as se,s as I,t as ce,u as L,v as le,w as ue,x as de,y as fe}from"./NewBotDialog--2DSe9Sy.js";import{t as pe}from"./square-bHHVTT3G.js";import{t as me}from"./triangle-alert-CE1q54ci.js";import{i as R,n as z,r as B,t as he}from"./accordion-CiJMkjqX.js";import{t as V}from"./switch-D_G8wFhs.js";import{i as H,n as U,r as ge,t as _e}from"./tabs-DsgBuvJv.js";import{t as W}from"./segmented-control-BlM_GKV6.js";import{t as G}from"./utils-C8uzG5AZ.js";import{n as ve,t as K}from"./button-CCcCN8tE.js";import{t as q}from"./input-CPw-zkYh.js";import{t as ye}from"./textarea-DmATpOqT.js";import{n as J,t as be}from"./PageState-Cz6vFMXv.js";import{t as xe}from"./MarkdownMessage-BDztlYIy.js";import{t as Y}from"./BotAvatar-CNL-APwP.js";import{t as Se}from"./public-flags-BOI2nkm4.js";import{t as X}from"./AppSelect-BD6RAaJ5.js";var Z=e(a(),1);function Q(e,t){return!t||t.kind===`local`?e(`bots:computer.local`):t.name||e(`bots:computer.unnamed`)}function Ce(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 $=o();function we({onDone:e,onError:t}){let[n,r]=(0,Z.useState)(!1);return{busy:n,run:async n=>{r(!0);try{await n(),e()}catch(e){t(e instanceof Error?e.message:String(e))}finally{r(!1)}}}}function Te({approval:e,sessionId:t,onDone:n,onError:r,openSession:i}){let{t:a}=c(),{busy:o,run:s}=we({onDone:n,onError:r}),[l,u]=(0,Z.useState)(!1),d=e.severity===`critical`,f=n=>s(()=>E(t,e.id,n));return(0,$.jsxs)(`div`,{"data-bot-approval":e.id,"data-severity":e.severity,className:`mt-2 overflow-hidden rounded-xl border border-st-attn-border bg-surface-raised ring-[3px] ring-st-attn-soft`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3.5 py-2.5 text-[13px]`,children:[(0,$.jsx)(b,{className:`size-3.5 text-st-attn`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 font-semibold text-content`,children:a(`bots:waiting.approval`,{tool:e.toolName})})]}),(0,$.jsx)(`pre`,{className:`m-0 max-h-48 overflow-auto border-t border-stroke bg-surface-subtle px-3.5 py-2.5 font-mono text-xs whitespace-pre-wrap text-content-secondary`,children:e.argsPreview}),(e.reason||d||e.argsTruncated)&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 border-t border-stroke px-3.5 py-2 text-xs text-content-muted`,children:[e.reason&&(0,$.jsx)(`p`,{children:e.reason}),d&&(0,$.jsx)(`p`,{className:`text-st-attn`,children:a(`bots:waiting.critical`)}),e.argsTruncated&&(0,$.jsx)(`p`,{children:a(`bots:waiting.truncated`)})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2 border-t border-stroke px-3.5 py-2.5`,children:[i,l?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:o,onClick:()=>u(!1),children:a(`bots:waiting.cancel`)}),(0,$.jsx)(K,{size:`sm`,variant:`destructive`,disabled:o,onClick:()=>void f(!0),children:a(`bots:waiting.confirmAllow`)})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:o,onClick:()=>void f(!1),children:a(`bots:waiting.deny`)}),!e.argsTruncated&&(0,$.jsx)(K,{size:`sm`,disabled:o,onClick:()=>d?u(!0):void f(!0),children:a(`bots:waiting.allow`)})]})]})]})}function Ee({bot:e,question:t,sessionId:n,onDone:r,onError:i,openSession:a}){let{t:o}=c(),{busy:s,run:l}=we({onDone:r,onError:i}),[u,d]=(0,Z.useState)(``),f=t.count===1&&!t.multiSelect,p=(e,r=``)=>l(()=>N(n,t.id,{selected:e,...r.trim()?{other:r.trim()}:{}}));return(0,$.jsxs)(`div`,{"data-bot-question":t.id,className:`mt-2 overflow-hidden rounded-xl border border-st-attn-border bg-surface-raised ring-[3px] ring-st-attn-soft`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3.5 pt-2.5 text-xs text-content-muted`,children:[(0,$.jsx)(m,{className:`size-3.5 text-st-attn`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:t.header||o(`bots:waiting.question`,{name:e.name})})]}),(0,$.jsx)(`p`,{className:`px-3.5 pt-1 pb-2.5 text-[14px] font-medium whitespace-pre-wrap text-content`,children:t.prompt}),f?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 border-t border-stroke px-3.5 py-2.5`,children:[t.options.length>0&&(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:t.options.map(e=>(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:s,onClick:()=>void p([e]),children:e},e))}),(0,$.jsxs)(`form`,{className:`flex items-center gap-2`,onSubmit:e=>{e.preventDefault(),u.trim()&&p([],u)},children:[(0,$.jsx)(q,{value:u,maxLength:2e3,"aria-label":o(`bots:waiting.otherLabel`),placeholder:o(`bots:waiting.otherPlaceholder`),disabled:s,onChange:e=>d(e.target.value)}),(0,$.jsx)(K,{type:`submit`,size:`sm`,disabled:s||!u.trim(),children:o(`bots:waiting.answer`)})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[a,(0,$.jsx)(K,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>void l(()=>N(n,t.id,{skip:!0})),children:o(`bots:waiting.skip`)})]})]}):(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-t border-stroke px-3.5 py-2.5 text-xs text-content-muted`,children:[(0,$.jsx)(`span`,{className:`flex-1`,children:o(`bots:waiting.answerInLog`)}),a]})]})}function De(e,t){return t.status===`discarded`?e(`bots:card.discarded`):t.result?.applied?e(`bots:card.applied`,{branch:t.result.branch??``}):t.result?.commit?e(`bots:card.accepted`,{branch:t.result.branch??``}):e(`bots:card.noChanges`)}function Oe({bot:e,children:t}){return(0,$.jsxs)(`div`,{className:`mb-3.5 flex gap-2.5`,children:[(0,$.jsx)(Y,{avatar:e.avatar,size:30}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`text-[13px] font-semibold text-content`,children:e.name}),(0,$.jsx)(`div`,{className:`mt-0.5 text-[14.5px] leading-relaxed text-content`,children:t})]})]})}function ke({bot:e,task:t,onAction:n,onShowChanges:r,onChanged:a,onError:o,busy:l}){let{t:d}=c(),p=i(),m=t.sessionId?(0,$.jsxs)(K,{size:`sm`,variant:`ghost`,onClick:()=>p(s(t.sessionId??``)),children:[(0,$.jsx)(_,{"aria-hidden":`true`}),d(`bots:card.openSession`)]}):null,h=t.status===`running`&&t.sessionId?t.waiting:null;return h?.approval?(0,$.jsx)(Te,{approval:h.approval,sessionId:t.sessionId??``,onDone:a,onError:o,openSession:m},h.approval.id):h?.question?(0,$.jsx)(Ee,{bot:e,question:h.question,sessionId:t.sessionId??``,onDone:a,onError:o,openSession:m},h.question.id):[`queued`,`preparing`,`running`].includes(t.status)?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-2 rounded-xl border border-stroke bg-surface-raised px-3.5 py-2.5 text-[13px]`,children:[(0,$.jsx)(ve,{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`flex-1 text-content-secondary`,children:t.status===`queued`?d(`bots:card.queued`):d(`bots:card.working`)}),m,(0,$.jsxs)(K,{size:`sm`,variant:`outline`,disabled:l,onClick:()=>n(t,`stop`),children:[(0,$.jsx)(pe,{"aria-hidden":`true`}),d(`bots:card.stop`)]})]}):t.status===`review`?(0,$.jsxs)(`div`,{"data-bot-review":t.id,className:`mt-2 flex flex-wrap items-center gap-2 rounded-xl border border-st-attn-border bg-surface-raised px-3.5 py-2.5 ring-[3px] ring-st-attn-soft`,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col max-[560px]:basis-full`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-[13px] font-semibold text-content`,children:[(0,$.jsx)(f,{className:`size-3.5 text-content-muted`,"aria-hidden":`true`}),d(`bots:card.review`,{count:t.result?.changedFiles??0})]}),t.workspace?.branch&&(0,$.jsx)(`span`,{className:`truncate pl-5.5 font-mono text-xs text-content-muted`,children:t.workspace.branch})]}),(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:r,children:d(`bots:card.showChanges`)}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:l,onClick:()=>n(t,`discard`),children:d(`bots:card.discard`)}),(0,$.jsx)(K,{size:`sm`,disabled:l,onClick:()=>n(t,`apply`),children:d(`bots:card.acceptApply`)})]}):t.status===`failed`||t.status===`interrupted`?(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2 rounded-xl border border-stroke bg-surface-subtle px-3.5 py-2.5 text-[13px]`,children:[(0,$.jsx)(me,{className:`size-3.5 text-content-muted`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 text-content-secondary`,children:t.error?.message||(t.status===`interrupted`?d(`bots:card.interrupted`):d(`bots:card.failed`))}),m,(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:l,onClick:()=>n(t,`discard`),children:d(`bots:card.discard`)}),(0,$.jsxs)(K,{size:`sm`,disabled:l,onClick:()=>n(t,`resume`),children:[(0,$.jsx)(v,{"aria-hidden":`true`}),d(`bots:card.resume`)]})]}):(0,$.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 text-xs text-content-muted`,children:[(0,$.jsx)(u,{className:`size-3.5`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{children:De(d,t)}),m]})}function Ae({bot:e,tasks:t,onChanged:n,onShowChanges:r,onError:i}){let{t:a}=c(),[o,s]=(0,Z.useState)(``),l=async(e,t)=>{s(e.id);try{t===`apply`||t===`accept`?await F(e.id,`accept`,{apply:t===`apply`}):await F(e.id,t),n()}catch(e){i(e instanceof Error?e.message:String(e))}finally{s(``)}};return t.length===0?(0,$.jsxs)(Oe,{bot:e,children:[(0,$.jsx)(`p`,{children:a(`bots:conversation.greeting`,{name:e.name})}),(0,$.jsx)(`p`,{className:`mt-1 text-[13px] text-content-muted`,children:a(`bots:conversation.greetingHint`)})]}):(0,$.jsx)(`ol`,{className:`m-0 list-none p-0`,"aria-label":a(`bots:conversation.label`,{name:e.name}),children:t.map(t=>(0,$.jsx)(`li`,{"data-bot-task":t.id,className:`mb-5`,children:t.turns.map((a,s)=>{let c=s===t.turns.length-1;return(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`div`,{className:`my-2 flex justify-end`,children:(0,$.jsx)(`div`,{className:`max-w-[78%] rounded-[18px] bg-surface-subtle px-4 py-2 text-[14.5px] leading-relaxed whitespace-pre-wrap text-content`,children:a.text})}),(a.reply||c)&&(0,$.jsxs)(Oe,{bot:e,children:[a.reply?(0,$.jsx)(xe,{cwd:t.workspace?.path,children:a.reply}):null,c&&(0,$.jsx)(ke,{bot:e,task:t,busy:o===t.id,onAction:l,onShowChanges:()=>r(t),onChanged:n,onError:i})]})]},`${t.id}-${s}`)})},t.id))})}function je({environment:e,onRemoved:t,onError:n}){let{t:r}=c(),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),l=async()=>{s(!0);try{await de(e.id),t()}catch(e){n(e instanceof Error?e.message:String(e)),a(!1)}finally{s(!1)}};return(0,$.jsxs)(`li`,{"data-environment":e.id,className:`flex flex-col gap-1 py-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:G(`size-2 flex-none rounded-full`,e.online?`bg-success`:`bg-content-faint`)}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm font-medium text-content`,children:Q(r,e)}),(0,$.jsx)(`span`,{className:`text-xs text-content-muted`,children:e.online?r(`bots:computer.online`):r(`bots:computer.offline`)}),e.kind===`node`&&(i?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(K,{size:`sm`,variant:`ghost`,disabled:o,onClick:()=>a(!1),children:r(`bots:computer.cancel`)}),(0,$.jsx)(K,{size:`sm`,variant:`destructive`,disabled:o,onClick:()=>void l(),children:r(`bots:computer.confirmRemove`)})]}):(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:()=>a(!0),children:r(`bots:computer.remove`)}))]}),e.roots.length>0&&(0,$.jsx)(`p`,{className:`truncate pl-4 font-mono text-xs text-content-muted`,children:e.roots.join(` · `)}),e.usedBy.length>0&&(0,$.jsx)(`p`,{className:`pl-4 text-xs text-content-muted`,children:r(`bots:computer.usedBy`,{names:e.usedBy.map(e=>e.name).join(`、`)})})]})}function Me({pairing:e,onDone:t}){let{t:n}=c(),r=i(),[a,o]=(0,Z.useState)(!1),s=Ce(e,{brain:n(`bots:computer.brainPlaceholder`),fingerprint:`SHA256:…`,root:n(`bots:computer.rootPlaceholder`)}),l=async()=>{try{await navigator.clipboard.writeText(s.join(`
|
|
3
|
+
`)),o(!0)}catch{o(!1)}};return(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`h4`,{className:`font-semibold text-content`,children:n(`bots:computer.addTitle`)}),(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:t,children:n(`bots:computer.done`)})]}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-content-muted`,children:[n(`bots:computer.code`),` `,(0,$.jsx)(`b`,{"data-pairing-code":!0,className:`font-mono text-content`,children:e.code}),` `,`· `,n(`bots:computer.codeHint`)]}),!e.remote.enabled&&(0,$.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,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:n(`bots:computer.remoteOff`)}),(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>r(`/config/remote-access`),children:n(`bots:computer.openRemote`)})]}),(0,$.jsx)(`p`,{className:`mt-2 text-xs text-content-muted`,children:n(`bots:computer.runThere`)}),(0,$.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:s.join(`
|
|
4
|
+
`)}),(0,$.jsxs)(`div`,{className:`mt-2 flex items-center justify-between gap-2`,children:[(0,$.jsx)(`p`,{className:`text-xs text-content-muted`,children:n(`bots:computer.rootHint`)}),(0,$.jsxs)(K,{size:`sm`,variant:`outline`,onClick:()=>void l(),children:[(0,$.jsx)(d,{"aria-hidden":`true`}),n(a?`bots:computer.copied`:`bots:computer.copy`)]})]})]})}function Ne({bot:e,workingTask:t,environments:n,onEnvironmentsChanged:r,onError:i}){let{t:a}=c(),o=L(e=>e.upsert),[s,l]=(0,Z.useState)(e.workspace.environmentId),[u,d]=(0,Z.useState)(e.workspace.cwd),[f,m]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(!1),[y,b]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{l(e.workspace.environmentId),d(e.workspace.cwd)},[e.id,e.workspace.environmentId,e.workspace.cwd]);let x=n.find(e=>e.id===s),S=s===`local`,C=s!==e.workspace.environmentId||u.trim()!==e.workspace.cwd,w=async t=>{v(!0);try{o(await D(e.id,{workspace:{...e.workspace,...t}})),r()}catch(e){i(e instanceof Error?e.message:String(e))}finally{v(!1)}},T=async()=>{try{b(await te())}catch(e){i(e instanceof Error?e.message:String(e))}};return(0,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-content-muted`,children:a(`bots:computer.description`)}),(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`span`,{className:`flex-none`,children:a(`bots:computer.runsOn`)}),(0,$.jsxs)(X,{value:s,className:`w-48`,"aria-label":a(`bots:computer.runsOn`),disabled:_,onChange:t=>{l(t.target.value),d(t.target.value===e.workspace.environmentId?e.workspace.cwd:``)},children:[n.length===0&&(0,$.jsx)(`option`,{value:`local`,children:a(`bots:computer.local`)}),n.map(e=>(0,$.jsx)(`option`,{value:e.id,children:e.kind===`local`?a(`bots:computer.local`):a(`bots:computer.option`,{name:Q(a,e),state:e.online?a(`bots:computer.online`):a(`bots:computer.offline`)})},e.id))]})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-content-muted`,children:a(`bots:computer.folder`)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(h,{className:`size-3.5 flex-none text-content-muted`,"aria-hidden":`true`}),(0,$.jsx)(q,{value:u,className:`font-mono text-xs`,"aria-label":a(`bots:computer.folder`),placeholder:S?a(`bots:computer.folderPlaceholder`):x?.roots[0]??a(`bots:computer.folderPlaceholder`),disabled:_,onChange:e=>d(e.target.value)}),S&&(0,$.jsx)(K,{size:`sm`,variant:`outline`,disabled:_,onClick:()=>m(!0),children:a(`bots:new.pick`)})]}),!S&&x&&(0,$.jsx)(`p`,{className:`text-xs text-content-muted`,children:a(`bots:computer.folderInRoots`,{roots:x.roots.join(`、`)})}),C&&(0,$.jsx)(`div`,{className:`flex justify-end`,children:(0,$.jsx)(K,{size:`sm`,disabled:_||!u.trim(),onClick:()=>void w({environmentId:s,cwd:u.trim()}),children:a(`bots:computer.switch`)})})]}),(0,$.jsx)(W,{value:e.workspace.isolation,disabled:_,onValueChange:e=>void w({isolation:e}),options:[{value:`worktree`,label:a(`bots:computer.isolated`)},{value:`shared`,label:a(`bots:computer.shared`)}]}),t?.workspace?.branch&&(0,$.jsx)(`p`,{className:`text-xs text-content-muted`,children:a(`bots:computer.currentBranch`,{branch:t.workspace.branch})}),(0,$.jsxs)(`section`,{"aria-label":a(`bots:computer.listTitle`),className:`border-t border-stroke pt-3`,children:[(0,$.jsx)(`h4`,{className:`text-xs font-medium text-content-muted`,children:a(`bots:computer.listTitle`)}),(0,$.jsx)(`ul`,{role:`list`,className:`m-0 list-none divide-y divide-stroke p-0`,children:n.map(e=>(0,$.jsx)(je,{environment:e,onRemoved:r,onError:i},e.id))}),y?(0,$.jsx)(Me,{pairing:y,onDone:()=>{b(null),r()}}):(0,$.jsxs)(K,{size:`sm`,variant:`outline`,className:`mt-1`,onClick:()=>void T(),children:[(0,$.jsx)(g,{"aria-hidden":`true`}),a(`bots:computer.add`)]})]}),(0,$.jsx)(p,{open:f,initialPath:u||e.workspace.cwd,onOpenChange:m,onSelect:e=>{d(e),m(!1)}})]})}function Pe({bot:e,onError:t}){let{t:n}=c(),r=L(e=>e.upsert),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(`feishu`),[d,f]=(0,Z.useState)(`p2p`),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(``),_=async n=>{s(!0);try{return r(await D(e.id,{channels:n})),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{s(!1)}},v=async()=>{let t=I(p);await _([...e.channels,{platform:l,chatType:d,peerIds:t.length?t:null,senderIds:I(h)}])&&(a(!1),m(``),g(``))};return(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[(0,$.jsx)(`p`,{className:`mb-2 text-xs text-content-muted`,children:n(`bots:triggers.chatsHint`,{name:e.name})}),e.channels.length>0&&(0,$.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,$.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,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`b`,{className:`font-medium text-content`,children:[k(n,t.platform),` ·`,` `,t.chatType===`group`?n(`bots:triggers.group`):n(`bots:triggers.p2p`)]}),(0,$.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,$.jsx)(K,{size:`sm`,variant:`ghost`,disabled:o,onClick:()=>void _(e.channels.filter((e,t)=>t!==r)),children:n(`bots:triggers.remove`)})]},`${t.platform}-${r}`))}),i?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{value:l,className:`w-32`,"aria-label":n(`bots:triggers.platform`),onChange:e=>u(e.target.value),children:M.map(e=>(0,$.jsx)(`option`,{value:e,children:k(n,e)},e))}),(0,$.jsx)(W,{value:d,onValueChange:e=>f(e),options:[{value:`p2p`,label:n(`bots:triggers.p2p`)},{value:`group`,label:n(`bots:triggers.group`)}]})]}),(0,$.jsx)(q,{value:p,"aria-label":n(`bots:triggers.peerIds`),placeholder:n(`bots:triggers.peerIdsPlaceholder`),onChange:e=>m(e.target.value)}),(0,$.jsx)(q,{value:h,"aria-label":n(`bots:triggers.senderIds`),placeholder:n(d===`group`?`bots:triggers.senderIdsRequired`:`bots:triggers.senderIdsPlaceholder`),onChange:e=>g(e.target.value)}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:()=>a(!1),children:n(`bots:triggers.cancel`)}),(0,$.jsx)(K,{size:`sm`,disabled:o||d===`group`&&!I(h).length,onClick:()=>void v(),children:n(`bots:triggers.add`)})]})]}):(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>a(!0),children:n(`bots:triggers.addChat`)})]})}var Fe=[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 Le({bot:e,onError:t}){let{t:n}=c(),[r,i]=(0,Z.useState)([]),[a,o]=(0,Z.useState)(!1),[s,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(`daily`),[m,h]=(0,Z.useState)(`09:00`),[g,_]=(0,Z.useState)(Ie),[v,y]=(0,Z.useState)(1),b=(0,Z.useCallback)(async()=>{try{i(await O(e.id))}catch{}},[e.id]);(0,Z.useEffect)(()=>{b()},[b]);let x=async e=>{l(!0);try{return await e(),await b(),!0}catch(e){return t(e instanceof Error?e.message:String(e)),!1}finally{l(!1)}},S=async()=>{let t=u.trim();await x(()=>ie({botId:e.id,name:`${e.name}:${t.slice(0,40)}`,botMessage:t,frequency:f,time:m,date:f===`once`?g:``,dayOfWeek:v,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||`Asia/Hong_Kong`}))&&(o(!1),d(``))};return(0,$.jsxs)(`div`,{className:`flex flex-col`,children:[r.length>0&&(0,$.jsx)(`ul`,{role:`list`,className:`m-0 mb-2 flex list-none flex-col gap-1.5 p-0`,children:r.map(e=>(0,$.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,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`b`,{className:`block truncate font-medium text-content`,children:e.botMessage}),(0,$.jsx)(`span`,{className:`text-content-muted`,children:oe(n,e)})]}),(0,$.jsx)(V,{checked:e.enabled,disabled:s,"aria-label":n(`bots:triggers.scheduleEnabled`),onCheckedChange:t=>void x(()=>ue(e.id,t))}),(0,$.jsx)(K,{size:`sm`,variant:`ghost`,disabled:s,onClick:()=>void x(()=>ee(e.id)),children:n(`bots:triggers.remove`)})]},e.id))}),a?(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-lg border border-stroke p-2.5`,children:[(0,$.jsx)(q,{value:u,maxLength:12e3,"aria-label":n(`bots:triggers.scheduleMessage`),placeholder:n(`bots:triggers.scheduleMessagePlaceholder`),onChange:e=>d(e.target.value)}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(X,{value:f,className:`w-28`,"aria-label":n(`bots:triggers.frequency`),onChange:e=>p(e.target.value),children:[(0,$.jsx)(`option`,{value:`daily`,children:n(`bots:triggers.daily`)}),(0,$.jsx)(`option`,{value:`weekly`,children:n(`bots:triggers.weekly`)}),(0,$.jsx)(`option`,{value:`once`,children:n(`bots:triggers.once`)})]}),f===`weekly`&&(0,$.jsx)(X,{value:String(v),className:`w-24`,"aria-label":n(`bots:triggers.weekday`),onChange:e=>y(Number(e.target.value)),children:Fe.map(e=>(0,$.jsx)(`option`,{value:e,children:j(n,e)},e))}),f===`once`&&(0,$.jsx)(q,{type:`date`,value:g,className:`w-40`,"aria-label":n(`bots:triggers.date`),onChange:e=>_(e.target.value)}),(0,$.jsx)(q,{type:`time`,value:m,className:`w-28`,"aria-label":n(`bots:triggers.time`),onChange:e=>h(e.target.value)})]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,$.jsx)(K,{size:`sm`,variant:`ghost`,onClick:()=>o(!1),children:n(`bots:triggers.cancel`)}),(0,$.jsx)(K,{size:`sm`,disabled:s||!u.trim(),onClick:()=>void S(),children:n(`bots:triggers.add`)})]})]}):(0,$.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>o(!0),children:n(`bots:triggers.addSchedule`)})]})}var Re=(0,Z.lazy)(()=>n(()=>import(`./public-diff-BqcNo4lt.js`).then(e=>({default:e.InlineGitDiff})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])));function ze({task:e}){let{t}=c(),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(``),o=e?.id??``,s=e?.updatedAt??``;return(0,Z.useEffect)(()=>{if(r(null),a(``),!o)return;let e=new AbortController;return le(o,e.signal).then(r).catch(t=>{e.signal.aborted||a(t instanceof Error?t.message:String(t))}),()=>e.abort()},[o,s]),e?i?(0,$.jsx)(`p`,{role:`alert`,className:`text-sm text-content-secondary`,children:i}):n?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`ul`,{role:`list`,className:`m-0 mb-3 flex list-none flex-col gap-1 p-0`,children:n.files.map(e=>(0,$.jsxs)(`li`,{className:`flex min-w-0 items-center gap-2 font-mono text-xs`,children:[(0,$.jsx)(`span`,{className:`w-4 flex-none text-content-muted`,children:e.status}),(0,$.jsx)(`span`,{className:`truncate text-content-secondary`,children:e.path})]},e.path))}),(0,$.jsx)(Z.Suspense,{fallback:(0,$.jsx)(`p`,{className:`text-sm text-content-muted`,children:t(`bots:details.loadingChanges`)}),children:(0,$.jsx)(Re,{diff:n.diff,truncated:n.truncated,mode:`unified`,fill:!0})})]}):(0,$.jsx)(`p`,{className:`text-sm text-content-muted`,children:t(`bots:details.loadingChanges`)}):(0,$.jsx)(be,{compact:!0,icon:f,title:t(`bots:details.noChanges`)})}function Be({bot:e,reviewTask:t,workingTask:n,tab:r,onTabChange:i,environments:a,onEnvironmentsChanged:o,onError:s}){let{t:l}=c(),u=L(e=>e.upsert),[d,f]=(0,Z.useState)(e.instructions),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>f(e.instructions),[e.id,e.instructions]);let _=async t=>{m(!0);try{u(await D(e.id,t))}catch(e){s(e instanceof Error?e.message:String(e))}finally{m(!1)}},v=a.find(t=>t.id===e.workspace.environmentId),y=e.workspace.cwd.split(/[\\/]/).filter(Boolean).at(-1)||e.workspace.cwd,b=(0,$.jsxs)(`div`,{className:`flex flex-col gap-4 pb-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,$.jsx)(Y,{avatar:e.avatar,state:T(e),size:48}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate text-base font-semibold text-content`,children:e.name}),(0,$.jsx)(`button`,{type:`button`,className:`text-xs text-content-muted underline-offset-2 hover:text-content hover:underline`,onClick:()=>g(e=>!e),children:l(h?`bots:settings.doneLook`:`bots:settings.changeLook`)})]})]}),h&&(0,$.jsx)(ae,{value:e.avatar,disabled:p,onChange:e=>void _({avatar:e})}),(0,$.jsxs)(`section`,{"aria-label":l(`bots:details.instructions`),children:[(0,$.jsx)(`h3`,{className:`mb-1 text-sm font-medium text-content`,children:l(`bots:details.instructions`)}),(0,$.jsx)(ye,{value:d,rows:4,maxLength:12e3,"aria-label":l(`bots:details.instructions`),placeholder:l(`bots:details.instructionsPlaceholder`),onChange:e=>f(e.target.value)}),d!==e.instructions&&(0,$.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,$.jsx)(K,{size:`sm`,disabled:p,onClick:()=>void _({instructions:d}),children:l(`bots:details.save`)})})]}),(0,$.jsxs)(he,{type:`multiple`,className:`border-t border-stroke`,children:[(0,$.jsxs)(B,{value:`computer`,children:[(0,$.jsx)(R,{children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l(`bots:settings.computer`),(0,$.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:l(`bots:settings.computerSummary`,{computer:Q(l,v),folder:y})})]})}),(0,$.jsx)(z,{className:`h-auto`,children:(0,$.jsx)(Ne,{bot:e,workingTask:n,environments:a,onEnvironmentsChanged:o,onError:s})})]}),(0,$.jsxs)(B,{value:`chats`,children:[(0,$.jsx)(R,{children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l(`bots:triggers.chats`),(0,$.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:e.channels.length?l(`bots:settings.chatsCount`,{count:e.channels.length}):l(`bots:settings.notSet`)})]})}),(0,$.jsx)(z,{className:`h-auto`,children:(0,$.jsx)(Pe,{bot:e,onError:s})})]}),(0,$.jsxs)(B,{value:`schedules`,children:[(0,$.jsx)(R,{children:l(`bots:triggers.schedules`)}),(0,$.jsx)(z,{className:`h-auto`,children:(0,$.jsx)(Le,{bot:e,onError:s})})]}),(0,$.jsxs)(B,{value:`advanced`,children:[(0,$.jsx)(R,{children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[l(`bots:settings.advanced`),(0,$.jsx)(`span`,{className:`truncate text-xs font-normal text-content-muted`,children:l(`bots:settings.advancedSummary`)})]})}),(0,$.jsxs)(z,{className:`flex h-auto flex-col gap-3`,children:[(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`span`,{children:l(`bots:details.acceptsWork`)}),(0,$.jsx)(V,{checked:e.enabled,disabled:p,onCheckedChange:e=>void _({enabled:e})})]}),(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`span`,{className:`flex-none`,children:l(`bots:details.permission`)}),(0,$.jsx)(X,{value:e.executionMode,className:`w-44`,"aria-label":l(`bots:details.permission`),disabled:p,onChange:e=>void _({executionMode:e.target.value}),children:[`approval-required`,`workspace-write`,`full-access`].map(e=>(0,$.jsx)(`option`,{value:e,children:ne(l,e)},e))})]}),(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`span`,{className:`flex-none`,children:l(`bots:details.delivery`)}),(0,$.jsx)(X,{value:e.delivery,className:`w-44`,"aria-label":l(`bots:details.delivery`),disabled:p,onChange:e=>void _({delivery:e.target.value}),children:[`diff`,`commit`,`reply-only`].map(e=>(0,$.jsx)(`option`,{value:e,children:se(l,e)},e))})]}),(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-sm`,children:[(0,$.jsx)(`span`,{className:`flex-none`,children:l(`bots:details.tools`)}),(0,$.jsxs)(X,{value:P(e.tools),className:`w-44`,"aria-label":l(`bots:details.tools`),disabled:p,onChange:e=>void _({tools:e.target.value===`read-only`?[...w]:null}),children:[(0,$.jsx)(`option`,{value:`all`,children:l(`bots:details.toolsAll`)}),(0,$.jsx)(`option`,{value:`read-only`,children:l(`bots:details.toolsReadOnly`)}),P(e.tools)===`custom`&&(0,$.jsx)(`option`,{value:`custom`,disabled:!0,children:l(`bots:details.toolsCustom`,{count:e.tools?.length??0})})]})]}),(0,$.jsx)(`p`,{className:`text-xs text-content-muted`,children:l(`bots:details.toolsHint`)})]})]})]})]});return t?(0,$.jsxs)(_e,{value:r,onValueChange:e=>i(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,$.jsxs)(ge,{className:`mx-3 mt-3`,children:[(0,$.jsx)(H,{value:`changes`,children:l(`bots:details.tabChangesCount`,{count:t.result?.changedFiles??0})}),(0,$.jsx)(H,{value:`settings`,children:l(`bots:settings.title`)})]}),(0,$.jsx)(U,{value:`changes`,className:`min-h-0 flex-1 overflow-y-auto px-4 py-3`,children:(0,$.jsx)(ze,{task:t})}),(0,$.jsx)(U,{value:`settings`,className:`min-h-0 flex-1 overflow-y-auto px-4 pt-3`,children:b})]}):(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 pt-4`,children:b})}var Ve={enabled:!1,endpoints:[],fingerprint:null};function He(){let[e,t]=(0,Z.useState)([]),[n,r]=(0,Z.useState)(Ve),[i,a]=(0,Z.useState)(!1),o=(0,Z.useRef)(0),s=(0,Z.useCallback)(async()=>{let e=++o.current;try{let n=await A();if(e!==o.current)return;t(n.environments),r(n.remote)}catch{}finally{e===o.current&&a(!0)}},[]);return(0,Z.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 Ue(e){let[t,n]=(0,Z.useState)([]),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(``),s=(0,Z.useRef)(0),c=(0,Z.useCallback)(async()=>{if(!e)return;let t=++s.current,r=new AbortController;try{let i=await fe(e,r.signal);if(t!==s.current)return;n(i),o(``)}catch(e){t===s.current&&o(e instanceof Error?e.message:String(e))}finally{t===s.current&&i(!0)}},[e]),l=t.some(e=>x(e.status));return(0,Z.useEffect)(()=>{n([]),i(!1),o(``)},[e]),(0,Z.useEffect)(()=>{c();let e=window.setInterval(()=>{document.visibilityState===`visible`&&c()},l?2e3:1e4);return()=>{window.clearInterval(e),s.current+=1}},[c,l]),{tasks:t,loaded:r,error:a,refresh:c}}function We({notify:e}){let{t:n}=c(),a=Se(`bots`),{botId:o=``}=t(),s=i(),l=L(e=>e.bots),u=L(e=>e.loaded),[d,f]=(0,Z.useState)(!1);re(a);let p=l.find(e=>e.id===o)??null;return a?u?!o&&l[0]?(0,$.jsx)(r,{to:`/bots/${encodeURIComponent(l[0].id)}`,replace:!0}):p?(0,$.jsx)(Ge,{botId:p.id,notify:e},p.id):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{kind:`empty`,title:l.length?n(`bots:page.notFound`):n(`bots:page.emptyTitle`),description:n(`bots:page.emptyDescription`),action:(0,$.jsxs)(K,{onClick:()=>f(!0),children:[(0,$.jsx)(g,{"aria-hidden":`true`}),n(`bots:sidebar.newBot`)]})}),(0,$.jsx)(ce,{open:d,onOpenChange:f,onCreated:e=>s(`/bots/${encodeURIComponent(e.id)}`)})]}):(0,$.jsx)(J,{kind:`loading`,title:n(`bots:page.loading`)}):(0,$.jsx)(J,{kind:`empty`,title:n(`bots:page.disabledTitle`),description:n(`bots:page.disabledDescription`),action:(0,$.jsx)(K,{onClick:()=>s(`/config/labs`),children:n(`bots:page.openLabs`)})})}function Ge({botId:e,notify:t}){let{t:n}=c(),r=L(t=>t.bots.find(t=>t.id===e)),i=L(e=>e.load),{tasks:a,loaded:o,refresh:s}=Ue(e),u=He(),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(`settings`),b=(0,Z.useRef)(null),w=(0,Z.useMemo)(()=>[...a].reverse().find(e=>e.status===`review`)??null,[a]),E=(0,Z.useMemo)(()=>[...a].reverse().find(e=>x(e.status))??null,[a]),D=`${a.length}:${a.at(-1)?.updatedAt??``}`;if((0,Z.useEffect)(()=>{b.current?.scrollTo({top:b.current.scrollHeight})},[D]),!r)return null;let O=()=>{s(),i()},k=e=>t(e,`error`),A=async()=>{let e=d.trim();if(!(!e||p)){m(!0);try{await S(r.id,e),f(``),O()}catch(e){k(e instanceof Error?e.message:String(e))}finally{m(!1)}}},j=e=>{e.key===`Enter`&&!e.shiftKey&&!e.nativeEvent.isComposing&&(e.preventDefault(),A())},M=u.environments.find(e=>e.id===r.workspace.environmentId),N=M?.kind===`node`?M:void 0;return(0,$.jsxs)(`div`,{"data-bot-page":r.id,className:`flex h-full min-h-0 w-full min-w-0`,children:[(0,$.jsxs)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,"aria-label":r.name,children:[(0,$.jsxs)(`header`,{className:`flex h-14 flex-none items-center gap-2.5 border-b border-stroke px-4`,children:[(0,$.jsx)(Y,{avatar:r.avatar,state:T(r),size:32}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h1`,{className:`truncate text-[15px] font-semibold text-content`,children:r.name}),(0,$.jsxs)(`p`,{className:`truncate text-xs text-content-muted`,children:[C(n,r),N&&` · ${n(`bots:header.onComputer`,{computer:Q(n,N)})}`]})]}),(0,$.jsx)(`span`,{className:`flex-1`}),(0,$.jsx)(K,{variant:`ghost`,size:`icon`,"aria-label":n(`bots:settings.botTitle`,{name:r.name}),title:n(`bots:settings.botTitle`,{name:r.name}),"aria-pressed":h&&(_===`settings`||!w),onClick:()=>{h&&(_===`settings`||!w)?g(!1):(v(`settings`),g(!0))},children:(0,$.jsx)(y,{"aria-hidden":`true`})})]}),(0,$.jsx)(`div`,{ref:b,className:`min-h-0 flex-1 overflow-y-auto`,children:(0,$.jsx)(`div`,{className:`mx-auto w-[min(700px,calc(100%-48px))] py-6`,children:o?(0,$.jsx)(Ae,{bot:r,tasks:a,onChanged:O,onShowChanges:e=>{e.status===`review`&&(v(`changes`),g(!0))},onError:k}):(0,$.jsx)(J,{kind:`loading`,title:n(`bots:page.loading`)})})}),(0,$.jsxs)(`div`,{className:`mx-auto w-[min(700px,calc(100%-48px))] flex-none pb-4`,children:[(0,$.jsxs)(`div`,{className:`rounded-[22px] border border-stroke-strong bg-surface-raised px-4 pt-3 pb-2 shadow-card`,children:[(0,$.jsx)(ye,{value:d,rows:2,"aria-label":n(`bots:composer.label`,{name:r.name}),placeholder:n(w?`bots:composer.followUp`:E?`bots:composer.busy`:`bots:composer.placeholder`,{name:r.name}),className:`min-h-12 resize-none border-0 bg-transparent px-0 shadow-none focus-visible:ring-0`,onChange:e=>f(e.target.value),onKeyDown:j}),(0,$.jsx)(`div`,{className:`flex items-center justify-end`,children:(0,$.jsx)(K,{size:`icon`,className:`rounded-full`,"aria-label":n(`bots:composer.send`),disabled:p||!d.trim()||!r.enabled,onClick:()=>void A(),children:(0,$.jsx)(l,{"aria-hidden":`true`})})})]}),!r.enabled&&(0,$.jsx)(`p`,{className:`mt-1.5 text-center text-[11.5px] text-content-faint`,children:n(`bots:activity.paused`)})]})]}),(0,$.jsxs)(`aside`,{"aria-label":n(`bots:settings.botTitle`,{name:r.name}),className:G(`flex min-h-0 w-[380px] flex-none flex-col border-l border-stroke bg-surface max-[900px]:fixed max-[900px]:inset-0 max-[900px]:z-40 max-[900px]:w-full max-[900px]:border-l-0`,!h&&`hidden`),children:[(0,$.jsx)(`div`,{className:`hidden justify-end px-3 pt-3 max-[900px]:flex`,children:(0,$.jsx)(K,{variant:`outline`,onClick:()=>g(!1),children:n(`bots:header.closeDetails`)})}),(0,$.jsx)(Be,{bot:r,reviewTask:w,workingTask:E,tab:_,onTabChange:v,environments:u.environments,onEnvironmentsChanged:()=>{u.refresh(),i()},onError:k})]})]})}export{We as BotsPage};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WorkspacePicker-BJhBGRH0.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-CUS2_EGy.js","assets/i18n-DEs6BBob.js","assets/vendor-router-CSN_DGvx.js","assets/index-C5aKcTGw.js","assets/index-DD2H2OOC.css","assets/storage-DH3bQdy6.js","assets/vendor-state-GkUciC5H.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/check-2vYc6QaP.js","assets/triangle-alert-CE1q54ci.js","assets/button-CCcCN8tE.js","assets/vendor-ui-DvrYggeS.js","assets/dist-41X0pdUs.js","assets/utils-C8uzG5AZ.js","assets/dialog-Cb_sjjQV.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/input-CPw-zkYh.js","assets/alert-firawb0H.js","assets/NewFolderDialog-S-Qzjzfu.js","assets/api-CKJOip3Q.js","assets/abort-signal-f4JsiYKX.js","assets/folder-open-FIShC5Qk.js","assets/folder-plus-OPHZsJho.js","assets/input-group-h8z63MzW.js","assets/textarea-DmATpOqT.js","assets/pick-system-directory-B__qKy-X.js","assets/folder-paths--euvEC5U.js","assets/startup-queries-DeNu46nT.js","assets/query-Bj-DUNYq.js","assets/mutation-CEbxdVYy.js","assets/events-CZTn9wa-.js","assets/workspace-order-store-BuPmheRT.js","assets/field-DoLEb0np.js","assets/label-CVWjEcfV.js","assets/separator-BPh_qxvc.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-CUS2_EGy.js";import{t as a}from"./useQuery-DdcpUQhO.js";import{a as o,i as s,o as c}from"./startup-queries-DeNu46nT.js";import{a as l,u}from"./api-CKJOip3Q.js";import{t as d}from"./runtime-capabilities-store-D2d_9z0D.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{t as p}from"./chevron-down-CxtxIjiP.js";import{o as ee}from"./FocusRuntimeControls-hYDoXwg7.js";import{t as m}from"./folder-open-FIShC5Qk.js";import{t as te}from"./folder-plus-OPHZsJho.js";import{d as ne,m as re,n as h,r as g,t as _}from"./useNewProjectPicker-CacWA0IS.js";import{t as ie}from"./x-07u4-129.js";import{a as v,c as y,i as b,o as x,p as S,r as C,s as w,t as ae}from"./dropdown-menu-CFIFNaKO.js";import{t as T}from"./utils-C8uzG5AZ.js";import{t as E}from"./button-CCcCN8tE.js";import{u as D}from"./events-CZTn9wa-.js";import{t as O}from"./chat-api-Bvirerdj.js";import{C as k,S as A,T as j,a as M,h as N,m as P,p as F,r as I,t as L,x as R}from"./board-projects-wd79Rqt5.js";import{n as z,t as B}from"./workspace-order-store-BuPmheRT.js";import"./public-launch-D0t4Hqf5.js";import{a as V}from"./card-presentation-1oph2b8P.js";import"./useSidebarModel-6sqN4VA5.js";var H=f(`list-ordered`,[[`path`,{d:`M11 5h10`,key:`1cz7ny`}],[`path`,{d:`M11 12h10`,key:`1438ji`}],[`path`,{d:`M11 19h10`,key:`11t30w`}],[`path`,{d:`M4 4h1v5`,key:`10yrso`}],[`path`,{d:`M4 9h2`,key:`r1h2o0`}],[`path`,{d:`M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02`,key:`xtkcd5`}]]),U=e(n(),1),W=class extends Error{stage;cause;sessionId;code=`board_launch_failed`;constructor(e,t,n=``){super(t instanceof Error?t.message:String(t||`launch failed`)),this.stage=e,this.cause=t,this.sessionId=n}},G=1e5,K=5e3;function q(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.messages)&&t.messages.length===0&&t.streaming===!1&&t.configurationBusy!==!0&&(t.queuedInputs===void 0||Array.isArray(t.queuedInputs)&&t.queuedInputs.length===0)}function oe(e){return e instanceof u&&e.kind===`http`}function se(e){return e instanceof u?`${e.kind||`error`}:${e.status??`-`}`:`error`}async function J(e){let t=`/api/sessions/${encodeURIComponent(e)}`;try{if(!q(await O.getLiveSession(e,{timeout:K})))return!1;await l(t,{method:`DELETE`,timeout:K})}catch(e){return console.warn(`[board] 派发失败后未能清理空会话(${se(e)})`),!1}return o.setQueryData(F,t=>t&&{...t,sessions:t.sessions.filter(t=>t.id!==e)}),D({deletedIds:[e]}),!0}function Y(e){o.setQueryData(F,t=>t&&!t.sessions.some(t=>t.id===e.id)?{...t,sessions:[e,...t.sessions]}:t),s(`sessions`)}function ce(e){let t=e.indexOf(`/`);return t>0?{provider:e.slice(0,t),modelId:e.slice(t+1)}:null}async function le(e,t,n){let r=ce(n.model);r&&n.model!==t.model&&await O.updateModel(e,r.provider,r.modelId),n.thinkingLevel&&n.thinkingLevel!==t.thinkingLevel&&await O.setThinkingLevel(e,n.thinkingLevel),n.executionMode&&n.executionMode!==t.executionMode&&await O.updateExecutionMode(e,n.executionMode),n.runMode!==`plan`&&n.runMode!==t.runMode&&await O.updateRunMode(e,n.runMode)}async function ue(e){let t=e.prompt.trim().slice(0,G);if(!t)throw new W(`create`,Error(`empty prompt`));let n;try{n=await O.createSession(``,e.cwd,{projectless:e.projectless===!0})}catch(e){throw new W(`create`,e)}let r=n.id;try{await le(r,n,e)}catch(e){throw await J(r),new W(`configure`,e,r)}return e.startAfter?{session:await de(r,n,t,e),queued:!0}:{session:n,queued:!1}}async function de(e,t,n,r){let i;try{i=await O.enqueueSessionStart(e,{startAfter:r.startAfter??``,message:n,runMode:r.runMode})}catch(t){throw oe(t)&&await J(e),k().catch(()=>void 0),new W(`send`,t,e)}let a=i&&typeof i.queue==`object`?i.queue:null,o={...t,firstMessage:n,...a?{queue:a}:{messageCount:1,streaming:!0}};return Y(o),A(e,e=>!!e).catch(()=>void 0),o}var fe=/^\/[a-z][a-z0-9:-]{0,63}$/;async function pe(e){let{sessionId:t}=e,n=e.prompt.trim().slice(0,G);if(!t||!n)throw new W(`send`,Error(`empty prompt`),t);let r=e.commandWhenEmpty?.trim()??``;if(r&&!fe.test(r))throw new W(`send`,Error(`invalid command`),t);let i;try{i=await O.getLiveSession(t)}catch(e){throw new W(`send`,e,t)}let a=i&&typeof i==`object`?i:{},c=Array.isArray(a.messages)&&a.messages.length===0&&r?`${r} ${n}`:n,l=async()=>{try{await O.queueInput(t,c,[],`followUp`)}catch(e){throw new W(`send`,e,t)}return{sessionId:t,queued:!0}};if(a.streaming===!0)return l();e.created?.id===t?Y({...e.created,firstMessage:n,messageCount:1}):o.getQueryData(F)?.sessions.some(e=>e.id===t)||s(`sessions`);let u=N(t,{streaming:!0});try{await j(t,`launch`,(e,n)=>O.openStream({sessionId:t,message:c,attachments:[],goalMode:!1,teamMode:!1},e,{signal:n}))}catch(e){if(R(t,u),e instanceof P)return l();throw k().catch(()=>void 0),new W(`send`,e,t)}return A(t,e=>!!e).catch(()=>void 0).finally(()=>R(t,u)),{sessionId:t,queued:!1}}var X=r(),me=(0,U.lazy)(()=>t(()=>import(`./WorkspacePicker-BJhBGRH0.js`).then(e=>e.n).then(e=>({default:e.WorkspacePicker})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))),he=(0,U.lazy)(()=>t(()=>import(`./NewFolderDialog-S-Qzjzfu.js`).then(e=>({default:e.NewFolderDialog})),__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,25,26,27,10,28,12,13,14,15,16,17,18,19,20,21,22,29,30,31,32,33,34,35,36,37,23,38,39,40])));function ge({picker:e,folderDialog:t}){let{mounted:n,...r}=e,{mounted:i,...a}=t;return!n&&!i?null:(0,X.jsxs)(U.Suspense,{fallback:null,children:[n&&(0,X.jsx)(me,{...r}),i&&(0,X.jsx)(he,{...a})]})}function Z(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Q(e){return typeof e==`string`?e:``}function _e(e){return(Array.isArray(Z(e).providers)?Z(e).providers:[]).flatMap(e=>{let t=Z(e),n=Q(t.id);return!n||t.configured!==!0||t.enabled===!1?[]:(Array.isArray(t.models)?t.models:[]).flatMap(e=>{let r=Z(e),i=Q(r.id);return!i||r.kind!==`chat`?[]:[{key:`${n}/${i}`,label:Q(r.name)||i,providerName:Q(t.name)||n,thinkingLevels:Array.isArray(r.thinkingLevels)?r.thinkingLevels.filter(e=>typeof e==`string`):[]}]})})}function ve(){let e=a(c(`config`)),t=M(),n=B(e=>e.names),r=z(e=>e.projects),i=d(e=>e.capabilities.features),o=(0,U.useMemo)(()=>_e(e.data),[e.data]),s=e.data?.provider&&e.data?.model?`${e.data.provider}/${e.data.model}`:``,l=t.data?.sessions,u=(0,U.useMemo)(()=>I(l??[],r,n),[l,n,r]),f=(0,U.useMemo)(()=>L(l??[],u),[l,u]);return{models:o,defaultModel:s,defaultThinkingLevel:Q(e.data?.thinkingLevel)||`medium`,projects:u,defaultCwd:f,goalsAvailable:i.goals!==!1,teamAvailable:i.goals!==!1&&i.multiAgent!==!1,loading:e.isPending,error:e.error??null}}var $=`\0no-project`;function ye(e){return e===`full-access`||h.includes(e)}function be(e){return e===`plan`||e===`goal`||e===`team`}function xe({onError:e}){let{t}=i(),n=ve(),r=g(),[a,o]=(0,U.useState)(!1),[s,c]=(0,U.useState)(``),{items:l,capabilities:u}=ne(`today`),f=(0,U.useRef)(null),h=_({onProjectChosen:()=>void 0,onError:e}),D=d(e=>e.capabilities.features.workspaceFolders),O=n.models.some(e=>e.key===r.model),k=O?r.model:n.defaultModel,A=n.models.find(e=>e.key===k)?.thinkingLevels??[],j=A.includes(r.thinkingLevel)?r.thinkingLevel:``,M=j||(A.includes(n.defaultThinkingLevel)?n.defaultThinkingLevel:``),N=a?`full-access`:r.executionMode||`approval-required`,P=r.runMode===`team`&&!n.teamAvailable||r.runMode===`goal`&&!n.goalsAvailable?`plan`:r.runMode,F=(0,U.useMemo)(()=>{if(!r.cwd||n.projects.some(e=>e.cwd===r.cwd))return n.projects;let e=r.cwd.replace(/[\\/]+$/,``).split(/[\\/]/).pop()||r.cwd;return[{key:r.cwd,cwd:r.cwd,label:e},...n.projects]},[r.cwd,n.projects]),I=(0,U.useMemo)(()=>V(F),[F]),L=r.projectless,R=L?``:r.cwd||n.defaultCwd||F[0]?.cwd||``,z=L?void 0:F.find(e=>e.cwd===R),B=z?.label||t(L?`board:launch.noProject`:`board:launch.defaultProject`),W=t(`board:launch.projectLabel`,{project:z?I.get(z.key)?`${z.label} (${I.get(z.key)})`:z.label:B}),G=e=>(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(ae,{children:[(0,X.jsx)(S,{asChild:!0,children:(0,X.jsxs)(`button`,{type:`button`,className:e===`header`?`relative inline-flex h-6 max-w-full min-w-0 cursor-pointer items-center gap-1 rounded-full px-2 text-xs leading-4 text-content-muted outline-none after:absolute after:-inset-x-1 after:-inset-y-2.5 after:content-[""] focus-visible:outline-2 focus-visible:outline-focus active:bg-surface-hover aria-expanded:bg-surface-hover`:T(ee,`max-w-[24ch] max-[650px]:max-w-[14ch]`),title:z?.cwd||void 0,"aria-label":W,"data-new-task-project":L?`none`:R||`default`,children:[(0,X.jsx)(re,{size:e===`header`?12:14,className:`shrink-0`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:T(`min-w-0 truncate`,z?.label&&`font-mono`),children:B}),(0,X.jsx)(p,{size:e===`header`?12:14,className:T(`shrink-0 opacity-70`,e===`chip`&&`max-[650px]:hidden`),"aria-hidden":`true`})]})}),(0,X.jsxs)(C,{align:e===`header`?`center`:`start`,side:e===`header`?`bottom`:`top`,className:`max-h-[min(24rem,var(--radix-dropdown-menu-content-available-height))] w-64 overflow-y-auto`,onCloseAutoFocus:e=>{let t=f.current;t&&(f.current=null,e.preventDefault(),t())},children:[(0,X.jsxs)(x,{value:L?$:R,onValueChange:e=>r.rememberLaunch(e===$?{projectless:!0}:{cwd:e}),children:[(0,X.jsx)(w,{value:$,children:(0,X.jsx)(`span`,{className:`min-w-0 truncate`,children:t(`board:launch.noProject`)})}),(0,X.jsx)(y,{}),(0,X.jsx)(v,{children:t(`board:launch.projects`)}),F.length===0&&(0,X.jsx)(w,{value:``,children:t(`board:launch.defaultProject`)}),F.map(e=>(0,X.jsxs)(w,{value:e.cwd,title:e.cwd,children:[(0,X.jsx)(`span`,{className:`min-w-0 truncate font-mono text-xs`,children:e.label}),I.get(e.key)&&(0,X.jsx)(`span`,{className:`ml-auto min-w-0 truncate pl-2 font-mono text-xs text-content-muted`,children:I.get(e.key)})]},e.key))]}),(0,X.jsx)(y,{}),(0,X.jsxs)(b,{disabled:h.picking,"data-launch-new-project":!0,onSelect:()=>f.current=()=>void h.newProject(),children:[(0,X.jsx)(m,{"aria-hidden":`true`}),t(`board:launch.chooseFolder`)]}),D&&(0,X.jsxs)(b,{"data-launch-new-folder":!0,onSelect:()=>f.current=()=>h.newFolder(R||n.defaultCwd),children:[(0,X.jsx)(te,{"aria-hidden":`true`}),t(`board:launch.newFolder`)]})]})]}),(0,X.jsx)(ge,{picker:h.picker,folderDialog:h.folderDialog})]}),K=l.filter(e=>e.lane===`running`||e.lane===`queued`),q=s?l.find(e=>e.id===s)?.title??t(`board:launch.startAfterGone`):``;return{cwd:R,model:k,thinkingLevel:M,availableThinkingLevels:A,executionMode:N,runMode:P,onModelChange:e=>r.rememberLaunch({model:e,thinkingLevel:``}),onThinkingLevelChange:e=>r.rememberLaunch({thinkingLevel:e}),onExecutionModeChange:e=>ye(e)?(o(e===`full-access`),e!==`full-access`&&r.rememberLaunch({executionMode:e}),!0):!1,onRunModeChange:e=>be(e)?(r.rememberLaunch({runMode:e}),!0):!1,renderProjectControl:G,plusMenuItems:u.sessionQueue&&(K.length>0||s)?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(y,{}),(0,X.jsxs)(v,{className:`flex items-center gap-1.5`,"data-composer-plus-item":`start-after`,children:[(0,X.jsx)(H,{size:14,"aria-hidden":`true`}),t(`board:launch.startAfterLabel`)]}),(0,X.jsxs)(x,{value:s,onValueChange:c,children:[(0,X.jsx)(w,{value:``,children:t(`board:launch.startNowChip`)}),K.map(e=>(0,X.jsx)(w,{value:e.id,"data-start-after-option":e.id,children:(0,X.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,X.jsx)(`span`,{className:`truncate`,children:t(`board:launch.startAfterChip`,{title:e.title})}),(0,X.jsx)(`span`,{className:`text-xs text-content-muted`,children:e.lane===`running`?t(`board:launch.startAfterRunning`):t(`board:launch.startAfterQueued`)})]})},e.id))]})]}):void 0,notice:s?(0,X.jsxs)(`p`,{className:`flex min-w-0 items-center gap-1.5 text-xs text-content-muted`,"data-launch-start-after-note":!0,children:[(0,X.jsx)(H,{size:14,className:`shrink-0`,"aria-hidden":`true`}),(0,X.jsx)(`span`,{className:`min-w-0 line-clamp-2`,children:t(`board:launch.startAfterNote`,{title:q})}),(0,X.jsx)(E,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`shrink-0 pointer-coarse:size-11`,"aria-label":t(`board:launch.startNowChip`),title:t(`board:launch.startNowChip`),onClick:()=>c(``),children:(0,X.jsx)(ie,{"aria-hidden":`true`})})]}):void 0,prepare:e=>ue({prompt:e,cwd:R,projectless:L,model:O?k:``,thinkingLevel:j,executionMode:N,runMode:P,...s?{startAfter:s}:{}}),onSent:()=>{o(!1),c(``)}}}export{pe as n,xe as t};
|