pisper 0.6.27 → 0.6.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -6
- package/web/.vite/manifest.json +825 -665
- package/web/assets/{AppDialog-BSwETcOe.js → AppDialog-Cjnspn8J.js} +1 -1
- package/web/assets/{AppOverlays-_EStnaiK.js → AppOverlays-ielr5J2J.js} +1 -1
- package/web/assets/AssetsPage-BC1mYvQw.js +1 -0
- package/web/assets/BoardPage-BS3oBeRU.js +3 -0
- package/web/assets/{ChannelsPage-BlTQXqjl.js → ChannelsPage-DOysYIcY.js} +1 -1
- package/web/assets/{ChatAppearancePage-DzAq4wj8.js → ChatAppearancePage-DqNJD2hC.js} +1 -1
- package/web/assets/{ChatHistoryPage-B4v3MEb8.js → ChatHistoryPage-DcTFMdWO.js} +1 -1
- package/web/assets/ChatPage-DaKslieG.js +553 -0
- package/web/assets/ConfigPage-Cg93xSDY.js +7 -0
- package/web/assets/{DesktopWindowControls-gaFTmZN5.js → DesktopWindowControls-Zz88RwFF.js} +1 -1
- package/web/assets/{FeaturePage-IWVjXcVp.js → FeaturePage-bqByIxYg.js} +1 -1
- package/web/assets/{FileAttachmentPreview-DxwMjwfS.js → FileAttachmentPreview-Dc92kq62.js} +1 -1
- package/web/assets/{FloatingWidgets-D8VLtEFT.js → FloatingWidgets-CwJuWUMz.js} +1 -1
- package/web/assets/FocusRuntimeControls-huHLWDdy.js +1 -0
- package/web/assets/{GitDiffViewer-CEMK-4P4.js → GitDiffViewer-b4QqrnGx.js} +1 -1
- package/web/assets/{ManageProjectsDialog-BxB9J7IY.js → ManageProjectsDialog-DpwUwosB.js} +1 -1
- package/web/assets/{MarkdownMessage-gnw-y810.js → MarkdownMessage-BEmTlPSn.js} +1 -1
- package/web/assets/McpPage-COTq4Jjj.js +1 -0
- package/web/assets/{MemoryEvolution-DG9gtC6n.js → MemoryEvolution-CNi44VEB.js} +1 -1
- package/web/assets/MemoryPage-fUDrPE_v.js +2 -0
- package/web/assets/{MobileNavigation-Chysgboq.js → MobileNavigation-BvCRGO5c.js} +1 -1
- package/web/assets/MorePage-BuKQ5rBF.js +1 -0
- package/web/assets/NewFolderDialog-Btk5x-Ar.js +1 -0
- package/web/assets/{PageHeader-DK5D_R5_.js → PageHeader-BjhZ50ed.js} +1 -1
- package/web/assets/{PhoneDrawer-BbjnEawt.js → PhoneDrawer-Cs-ka4ZZ.js} +1 -1
- package/web/assets/{PhoneMenuButton-mlilY9bo.js → PhoneMenuButton-CTlyYTpl.js} +1 -1
- package/web/assets/{PhoneTopBar-CEnUC7MQ.js → PhoneTopBar-Cx2DM1ne.js} +1 -1
- package/web/assets/PluginsPage-B9Xlbo-c.js +1 -0
- package/web/assets/{SafeModePrompt-CalnTUf0.js → SafeModePrompt-BCrBZdI6.js} +1 -1
- package/web/assets/{SchedulesPage-CgHGU15C.js → SchedulesPage-Eh7MyRAr.js} +1 -1
- package/web/assets/SessionBrowserPane-Zeec5cZP.js +2 -0
- package/web/assets/SessionContextPanel-CVKmX-do.js +2 -0
- package/web/assets/{SessionHome-DVWSDkiq.js → SessionHome-CJR_Ufgl.js} +1 -1
- package/web/assets/SessionInspector-D5tmy63H.js +1 -0
- package/web/assets/{SessionShell-McHYcUMD.js → SessionShell-w3sKK33I.js} +1 -1
- package/web/assets/{SettingsSidebar-B6B_0bT6.js → SettingsSidebar-CseRAdbZ.js} +1 -1
- package/web/assets/{ShortcutHelpDialog-BuPN71vl.js → ShortcutHelpDialog-R4Gx-9DQ.js} +1 -1
- package/web/assets/{ShortcutKeys-DNpsGYcw.js → ShortcutKeys-DksC1OkE.js} +1 -1
- package/web/assets/{SidebarUpdateStatus-B9E-HRrS.js → SidebarUpdateStatus-BCd1eq_6.js} +1 -1
- package/web/assets/{SkillsPage-Ffz15Nmx.js → SkillsPage-Bn2y_EfT.js} +1 -1
- package/web/assets/{TaskProcessesPane-ML4UTyA9.js → TaskProcessesPane-FwGhuWob.js} +1 -1
- package/web/assets/{TaskTerminalView-CEWghfPZ.js → TaskTerminalView-Cd4PIsW7.js} +1 -1
- package/web/assets/{TerminalPanel-Dq1eeEaE.js → TerminalPanel-48zgvDnP.js} +1 -1
- package/web/assets/{WebDesktopPet-C5oPRBKd.js → WebDesktopPet-gSDBRZ3C.js} +1 -1
- package/web/assets/WorkflowsPage-Cs8PPuKK.js +1 -0
- package/web/assets/{WorkspacePicker-CZP9fnUA.js → WorkspacePicker-93gmdtjf.js} +1 -1
- package/web/assets/{alert-firawb0H.js → alert-DRIrgNI4.js} +1 -1
- package/web/assets/api-AeFmYDtL.js +1 -0
- package/web/assets/{app-update-HRbiPDT4.js → app-update-Cf9JJ7WK.js} +1 -1
- package/web/assets/{approval-confirm-C0RA-dqX.js → approval-confirm-D-cfu-xY.js} +1 -1
- package/web/assets/board-messages-D6AWGHuF.js +1 -0
- package/web/assets/board-projects-CjfuDvHx.js +1 -0
- package/web/assets/bots-store-vErH7x9u.js +1 -0
- package/web/assets/chat-api-CSAs7Y6E.js +1 -0
- package/web/assets/{client-store-DvE_NEoR.js → client-store-B5wZ2IWH.js} +1 -1
- package/web/assets/{config-search-Cr0TsTRS.js → config-search-eh2zQyZD.js} +1 -1
- package/web/assets/desktop-hosts-BNXtrr7R.js +191 -0
- package/web/assets/{dialog-9LXtFD-0.js → dialog-BDNbY1pW.js} +1 -1
- package/web/assets/event-stream-Dh7h5sXJ.js +2 -0
- package/web/assets/{events-oPlZB-qC.js → events-CuVwhRWu.js} +1 -1
- package/web/assets/{focus-session-composer-bits-VRvsf-4b.js → focus-session-composer-bits-Dkc0qSzm.js} +1 -1
- package/web/assets/folder-paths-BKS24lJ6.js +1 -0
- package/web/assets/{hosts-5EeWX76B.js → hosts-B_02vF1S.js} +1 -1
- package/web/assets/http-Bp65Kb4t.js +2 -0
- package/web/assets/http-response-PZN5QIRk.js +1 -0
- package/web/assets/i18n-D80GstlU.js +1 -0
- package/web/assets/index-BnQCk-QI.css +2 -0
- package/web/assets/{index-rOrQSojS.js → index-CiRnxTh1.js} +2 -2
- package/web/assets/machine-messages-Y3INM-Uy.js +1 -0
- package/web/assets/machines-api-08M8wQiu.js +1 -0
- package/web/assets/{memory-api-sER80Rta.js → memory-api-DSpQSQ5N.js} +1 -1
- package/web/assets/mount-app-DRohHSG7.js +9 -0
- package/web/assets/{mutation-CEbxdVYy.js → mutation-b4pPvB7p.js} +1 -1
- package/web/assets/{palette-navigation-HbVGltCo.js → palette-navigation-C8WTTMd3.js} +1 -1
- package/web/assets/permission-rules-api-D931wxo9.js +1 -0
- package/web/assets/{pick-system-directory-CWhZCX6d.js → pick-system-directory-CaiscVfr.js} +1 -1
- package/web/assets/placements-BERPVxJD.js +2 -0
- package/web/assets/{popover-DlJP3VbH.js → popover-BKgOyW2Z.js} +1 -1
- package/web/assets/public-CEKKZh7R.js +2 -0
- package/web/assets/{public-D4ziZ0_l.js → public-CwI1S0by.js} +1 -1
- package/web/assets/{public-Pwc0VWsG.js → public-D9GopZqN.js} +2 -2
- package/web/assets/{web-preview-DIo7zGil.js → public-DrlrVRdl.js} +1 -1
- package/web/assets/{public-components-DzeaQBwj.js → public-components-BX9oxLC6.js} +1 -1
- package/web/assets/public-diff-DpNMZ8NJ.js +1 -0
- package/web/assets/public-events-CLCgth5h.js +1 -0
- package/web/assets/public-flags-DaG3PoAy.js +1 -0
- package/web/assets/public-folder-dialog-_QoxpOd4.js +1 -0
- package/web/assets/{public-greeting-BTftKeXA.js → public-greeting-hvhJuZMw.js} +1 -1
- package/web/assets/{public-session-BQEMyJz3.js → public-session-DUzugr9Y.js} +1 -1
- package/web/assets/{public-sidebar-TnRh2L95.js → public-sidebar-QGIKY-SE.js} +1 -1
- package/web/assets/query-DFQayLF5.js +1 -0
- package/web/assets/runtime-capabilities-B7qveLBm.js +1 -0
- package/web/assets/{runtime-capabilities-store-SnV1V9_K.js → runtime-capabilities-store-Bd3gWIM7.js} +1 -1
- package/web/assets/{safe-mode-instance-D5jkqqdG.js → safe-mode-instance-B7_JMLGQ.js} +1 -1
- package/web/assets/safe-mode-sentinel-B_NPQ0qy.js +1 -0
- package/web/assets/{session-change-summary-api-orjhsMHB.js → session-change-summary-api-BHpd8dcW.js} +1 -1
- package/web/assets/{session-home-CwRaSks0.js → session-home-BmAnhROp.js} +1 -1
- package/web/assets/session-inspector-store-DHEIlh_X.js +1 -0
- package/web/assets/{session-organization-api-BbD_xU9l.js → session-organization-api-D9hTSIh7.js} +1 -1
- package/web/assets/session-scope-yI3Hi_8F.js +1 -0
- package/web/assets/{session-tree-actions-wrMgK5VF.js → session-tree-actions-BhCOaiTd.js} +1 -1
- package/web/assets/{session-tree-summary-BO-Oz0d-.js → session-tree-summary-BLv-bkYC.js} +1 -1
- package/web/assets/session-web-preview-guvsmkWE.js +1 -0
- package/web/assets/session-workspaces-Brm-8lHh.js +1 -0
- package/web/assets/{settings-navigation-DiP_AM1C.js → settings-navigation-C6_RpGgI.js} +1 -1
- package/web/assets/{shortcuts-BmJZiLby.js → shortcuts-Dsd4mjfP.js} +1 -1
- package/web/assets/side-chat-context-scyCH7W7.js +7 -0
- package/web/assets/{sidebar-COyrGoC_.js → sidebar-BKgF_JcM.js} +1 -1
- package/web/assets/{sidebar-store-CRsJYE3n.js → sidebar-store-DHwAOBnN.js} +1 -1
- package/web/assets/{speech-session-BUTlvobj.js → speech-session-B7DFYRtL.js} +1 -1
- package/web/assets/{startup-queries-Cz_Djz3X.js → startup-queries-BlA4Hayt.js} +1 -1
- package/web/assets/tool-labels-D-3gybP7.js +1 -0
- package/web/assets/{use-i18n-CaxKosZm.js → use-i18n-BVRhlQ1v.js} +1 -1
- package/web/assets/{use-open-bot-BcuoHEet.js → use-open-bot-DyXtOatN.js} +1 -1
- package/web/assets/{use-studio-actions-D0_lMh6m.js → use-studio-actions-DEeR_rS9.js} +1 -1
- package/web/assets/{useCatalogProjects-B10EehnV.js → useCatalogProjects-BD5GyCxg.js} +1 -1
- package/web/assets/useMachines-CwX7YqNe.js +1 -0
- package/web/assets/useNativeBrowser-C0j3zafh.js +1 -0
- package/web/assets/useNewProjectPicker-COxPJj6n.js +2 -0
- package/web/assets/{useNow-BZ7RxPrw.js → useNow-CfPk0uIz.js} +1 -1
- package/web/assets/{usePhoneShell-0IX6-LbH.js → usePhoneShell-BpuKJgci.js} +1 -1
- package/web/assets/{useQuery-DdcpUQhO.js → useQuery-DfOU-27z.js} +1 -1
- package/web/assets/useSessionListQuery-CURESPBn.js +2 -0
- package/web/assets/{useSessionRowActions-DCeaGwuL.js → useSessionRowActions-DoCwFh8w.js} +1 -1
- package/web/assets/{useSidebarModel-DNcSN-4f.js → useSidebarModel-CY79-mYl.js} +1 -1
- package/web/assets/web-preview-C7DdG9JP.js +1 -0
- package/web/assets/{web-preview-events-BvZrLClr.js → web-preview-events-D7F0Z-Hy.js} +1 -1
- package/web/assets/{workspace-order-store-BYpf9Z59.js → workspace-order-store-C-jYrC0l.js} +1 -1
- package/web/index.html +2 -2
- package/web/assets/AssetsPage-V8CwPJ-g.js +0 -1
- package/web/assets/BoardPage-CeCxAAr2.js +0 -3
- package/web/assets/ChatPage-D8Etebyo.js +0 -553
- package/web/assets/ConfigPage-Dgp9JPFH.js +0 -5
- package/web/assets/FocusRuntimeControls-DLdIWv0j.js +0 -1
- package/web/assets/McpPage-C0czFuy7.js +0 -1
- package/web/assets/MemoryPage-CGpPJtAj.js +0 -2
- package/web/assets/MorePage-CxS1EaML.js +0 -1
- package/web/assets/NewFolderDialog-Dgo2ZRmr.js +0 -1
- package/web/assets/PluginsPage-CcrK4yJY.js +0 -1
- package/web/assets/SessionBrowserPane-BISoBe8t.js +0 -2
- package/web/assets/SessionContextPanel-C9F4h-Qa.js +0 -2
- package/web/assets/SessionInspector-BUBN0O36.js +0 -1
- package/web/assets/WorkflowsPage-BSlpEhf2.js +0 -1
- package/web/assets/api-MVoWVwmh.js +0 -3
- package/web/assets/board-messages-BptuVfY-.js +0 -1
- package/web/assets/board-projects-DF-0RkuW.js +0 -1
- package/web/assets/bots-store-BmFj9w2F.js +0 -1
- package/web/assets/chat-api-D9RzUTQi.js +0 -1
- package/web/assets/folder-paths-DlIGURu0.js +0 -1
- package/web/assets/i18n-Cl3sIF9G.js +0 -1
- package/web/assets/index-l96Dl6z6.css +0 -2
- package/web/assets/mount-app-COPez7JX.js +0 -9
- package/web/assets/permission-rules-api-M-EIynsN.js +0 -1
- package/web/assets/placements-BDYSXHzl.js +0 -2
- package/web/assets/public-BDWkdvCh.js +0 -1
- package/web/assets/public-diff-C6x0INNk.js +0 -1
- package/web/assets/public-events-BXREjvNl.js +0 -1
- package/web/assets/public-flags-Dvf3q-4D.js +0 -1
- package/web/assets/query-Bj-DUNYq.js +0 -1
- package/web/assets/runtime-capabilities-CHYOF_hE.js +0 -1
- package/web/assets/safe-mode-sentinel-B3v6JZTG.js +0 -1
- package/web/assets/session-scope-CFKKqbrz.js +0 -1
- package/web/assets/session-workspaces-Csgpuzxd.js +0 -1
- package/web/assets/side-chat-context-DhztplBz.js +0 -7
- package/web/assets/tool-labels-Bexnwp5q.js +0 -1
- package/web/assets/useNewProjectPicker-CD-xwRhH.js +0 -2
- package/web/assets/useSessionListQuery-DXeYJTOA.js +0 -2
|
@@ -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{
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{C as r,D as i,E as a,O as o,S as s,T as c,b as l,c as u,f as d,g as f,n as p,o as m,s as h,v as g,x as _}from"./query-DFQayLF5.js";var v=class extends o{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=h(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),b(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return x(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return x(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof l(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!s(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&S(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||_(this.options.staleTime,this.#t)!==_(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return w(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(f)),t}#g(){this.#b();let e=_(this.options.staleTime,this.#t);if(u.isServer()||this.#r.isStale||!d(e))return;let t=c(this.#r.dataUpdatedAt,e)+1;this.#d=a.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(u.isServer()||l(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=a.setInterval(()=>{(this.options.refetchIntervalInBackground||i.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(a.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(a.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,u={...c},d=!1,f;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&b(e,t),o=i&&S(e,n,t,r);(a||o)&&(u={...u,...p(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:_,status:v}=u;f=u.data;let y=!1;if(t.placeholderData!==void 0&&f===void 0&&v===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,y=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(v=`success`,f=g(i?.data,e,t),d=!0)}if(t.select&&f!==void 0&&!y){if(i&&f===a?.data&&t.select===this.#c)f=this.#l;else try{this.#c=t.select,f=t.select(f),f=g(i?.data,f,t),this.#l=f,this.#s=null}catch(e){this.#s=e}}this.#s&&(m=this.#s,f=this.#l,_=Date.now(),v=`error`);let x=u.fetchStatus===`fetching`,w=v===`pending`,T=v===`error`,E=w&&x,D=f!==void 0,O={status:v,fetchStatus:u.fetchStatus,isPending:w,isSuccess:v===`success`,isError:T,isInitialLoading:E,isLoading:E,data:f,dataUpdatedAt:u.dataUpdatedAt,error:m,errorUpdatedAt:_,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>s.dataUpdateCount||u.errorUpdateCount>s.errorUpdateCount,isFetching:x,isRefetching:x&&!w,isLoadingError:T&&!D,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:T&&D,isStale:C(e,t),refetch:this.refetch,promise:this.#o,isEnabled:l(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=O.data!==void 0,r=O.status===`error`&&!t,i=e=>{r?e.reject(O.error):t&&e.resolve(O.data)},a=()=>{let e=this.#o=O.promise=h();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||O.data!==o.value)&&a();break;case`rejected`:(!r||O.error!==o.reason)&&a()}}return O}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!s(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){m.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function y(e,t){return l(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||l(t.retryOnMount,e)!==!1)}function b(e,t){return y(e,t)||e.state.data!==void 0&&x(e,t,t.refetchOnMount)}function x(e,t,n){if(l(t.enabled,e)!==!1&&_(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&C(e,t)}return!1}function S(e,t,n,r){return(e!==t||l(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&C(e,n)}function C(e,t){return l(t.enabled,e)!==!1&&e.isStaleByTime(_(t.staleTime,e))}function w(e,t){return!s(e.getCurrentResult(),t)}var T=e(t(),1),E=n(),D=T.createContext(void 0),O=e=>{let t=T.useContext(D);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},k=({client:e,children:t})=>(T.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,E.jsx)(D.Provider,{value:e,children:t})),A=T.createContext(!1),j=()=>T.useContext(A);A.Provider;function M(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var N=T.createContext(M()),P=()=>T.useContext(N),F=(e,t,n)=>{let i=n?.state.error&&typeof e.throwOnError==`function`?r(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||i)&&(t.isReset()||(e.retryOnMount=!1))},I=e=>{T.useEffect(()=>{e.clearReset()},[e])},L=({result:e,errorResetBoundary:t,throwOnError:n,query:i,suspense:a})=>e.isError&&!t.isReset()&&!e.isFetching&&i&&(a&&e.data===void 0||r(n,[e.error,i])),R=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},z=(e,t)=>e.isLoading&&e.isFetching&&!t,B=(e,t)=>e?.suspense&&t.isPending,V=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function H(e,t,n){let r=j(),i=P(),a=O(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,R(o),F(o,i,s),I(i);let l=!a.getQueryCache().get(o.queryHash),[d]=T.useState(()=>new t(a,o)),p=d.getOptimisticResult(o),h=!r&&c;if(T.useSyncExternalStore(T.useCallback(e=>{let t=h?d.subscribe(m.batchCalls(e)):f;return d.updateResult(),t},[d,h]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),T.useEffect(()=>{d.setOptions(o)},[o,d]),B(o,p))throw V(o,d,i);if(L({result:p,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw p.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,p),o.experimental_prefetchInRender&&!u.isServer()&&z(p,r)&&(l?V(o,d,i):s?.promise)?.catch(f).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?p:d.trackResult(p)}function U(e,t){return H(e,v,t)}export{k as n,O as r,U as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{o as n}from"./vendor-state-GkUciC5H.js";import{u as r}from"./query-DFQayLF5.js";import{t as i}from"./useQuery-DfOU-27z.js";import{a,i as o,n as s,o as c,t as l}from"./startup-queries-BlA4Hayt.js";import{t as u}from"./component-changes-Q9Bf64Ob.js";import{i as d}from"./http-response-PZN5QIRk.js";import{t as f}from"./event-stream-Dh7h5sXJ.js";import{i as p,n as m}from"./http-Bp65Kb4t.js";import{t as h}from"./runtime-capabilities-store-Bd3gWIM7.js";import{a as g,c as _,r as v,s as y,t as ee}from"./session-board-status-D2lpFPiI.js";import{t as b}from"./chat-api-CSAs7Y6E.js";import{n as x}from"./session-organization-api-D9hTSIh7.js";import{c as te,l as ne}from"./session-workspaces-Brm-8lHh.js";import{i as re}from"./session-questions-Cf-1g85h.js";var S=400,ie=2e3,ae=160,oe=512,se=400,ce=240,le=240,ue=8,C=40,de=80,fe=3;function w(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function T(e){return typeof e==`string`?e:``}function E(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function D(e,t){let n=Array.from(e);return n.length>t?`${n.slice(0,t-1).join(``)}…`:e}function pe(e,t){let n=w(t),r=e===`bash`?n.command:n.path??n.file_path??n.url??n.query??n.pattern;return D(((typeof r==`string`?r:Object.values(n).find(e=>typeof e==`string`))||``).replace(/\s+/g,` `).trim(),ae)}function me(e){let t=w(e);if(t.type===`model`)return{type:`model`,stage:T(t.stage)||`thinking`};if(t.type===`tool`&&T(t.name)){let e=T(t.name);return{type:`tool`,name:e,summary:pe(e,t.args),startedAt:E(t.startedAt)}}return null}function he(e){let t=w(e),n=T(t.id);if(!n)return null;let r=w(t.args),i=w(t.fileChange);return{id:n,toolName:T(t.toolName),toolCallId:T(t.toolCallId),args:r,command:T(r.command),path:T(i.path)||T(r.path)||T(r.file_path),reason:D(T(t.reason),S),risk:T(t.risk),severity:g(t),createdAt:E(t.createdAt)}}function ge(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=he(r);!e||t.has(e.id)||(t.add(e.id),n.push(e))}return n}function _e(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function O(e){let t=_e(e);return t===null?null:Math.max(0,Math.floor(t))}var ve=/[\u0000-\u001f\u007f-\u009f]/g;function k(e,t){return D(T(e).replace(ve,` `).trimEnd(),t)}function ye(e){let t=/^(?:path|file_path): (.+)$/m.exec(e);return t?t[1].trim():``}function be(e){let t=w(e),n=T(t.id);if(!n)return null;let r=T(t.toolName),i=T(t.argsPreview),a=D(i,oe),o=t.argsTruncated===!0||a!==i,s=r===`bash`;return{id:n,toolName:r,toolCallId:``,args:{},command:s?a:``,path:s?``:ye(a),reason:D(T(t.reason),S),risk:T(t.risk),severity:g({severity:t.severity,reason:t.reason,toolName:r}),createdAt:E(t.createdAt),argsText:s?``:a,truncated:o}}function xe(e){let t=w(e);return t.type===`model`?{type:`model`,stage:D(T(t.stage),C)}:t.type===`tool`&&T(t.name)?{type:`tool`,name:D(T(t.name),C),summary:D(T(t.argsSummary).replace(/\s+/g,` `).trim(),ae),startedAt:E(t.startedAt)}:null}function Se(e){let t=w(e),n=T(t.id),r=k(t.name,C);if(!n||!r)return null;let i=w(t.avatar);return{id:D(n,C),name:r,character:D(T(i.character),C),color:D(T(i.color),C)}}function Ce(e){return e?{bot:e}:{}}function we(e){let t=w(e),n=T(t.status);return n?{added:O(t.added),removed:O(t.removed),files:O(t.files),status:D(n,C)}:null}function Te(e){let t=w(e),n=w(t.error),r=k(n.message,se),i=w(t.agents),a=O(i.running),o=O(i.total),s=_e(t.contextPct),c=ee.includes(T(t.outcome))?t.outcome:null,l=[],u=new Set;for(let e of Array.isArray(t.approvals)?t.approvals:[]){let t=be(e);if(!(!t||u.has(t.id))&&(u.add(t.id),l.push(t),l.length>=ue))break}return{boardStatus:D(T(t.boardStatus),C),runId:D(T(t.runId),de),activity:xe(t.activity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt),outcome:c,error:r?{message:r,kind:D(T(n.kind),C)||`runtime`}:null,approvals:l,queuedInputCount:O(t.queuedInputCount)??0,contextPct:s===null?null:Math.min(100,Math.max(0,s)),changeStats:we(t.changeStats),preview:k(t.lastAssistantPreview,ce),tail:(Array.isArray(t.tail)?t.tail:[]).map(e=>k(e,le)).filter(e=>e.trim()).slice(-3),agents:a!==null&&o!==null&&o>0?{running:Math.min(a,o),total:o}:null,totalTokens:O(w(t.usage).totalTokens),...Ce(Se(t.bot))}}function Ee(e){let t=w(e),n=T(t.id);if(!n)return null;let r={...t,id:n};return delete r.card,r}function De(e){let t=Ee(e);return t?{session:t,card:Te(w(e).card)}:null}function Oe(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function ke(e){let t=w(e),n=[],r=new Set;for(let e of Array.isArray(t.sessions)?t.sessions:[]){let t=De(e);!t||r.has(t.session.id)||(r.add(t.session.id),n.push(t))}let i=T(t.nextCursor);return{items:n,nextCursor:i&&i.length<=1024?i:null,revision:Oe(t.revision)}}function Ae(){return-new Date().getTimezoneOffset()}function je(e){let t=w(e);return{streaming:t.streaming===!0,approvals:ge(t.approvals),error:D(T(t.error),ie),activity:me(t.currentActivity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt)}}var A={listSessions:()=>b.listSessions(),getLiveDetail:async(e,t)=>je(await b.getLiveSession(e,{signal:t,timeout:15e3})),resolveApproval:async(e,t,n)=>{try{return w(await b.resolveApproval(e,t,n)).alreadyResolved===!0?`already-resolved`:`resolved`}catch(e){if(e instanceof d&&e.status===404)return`missing`;throw e}},retry:(e,t,n)=>b.retryLastTurn(e,t,{signal:n}),updateOrganization:(e,t)=>x(e,t),renameSession:async(e,t)=>{let n=w(await b.renameSession(e,t));return typeof n.name==`string`?n.name:t},listBoardView:async e=>{let t=[],n=new Set,r=``,i=null;for(let a=0;a<fe;a+=1){let o=new URLSearchParams({view:`board`,window:`7d`,limit:`200`,tzOffset:String(Ae())});r&&o.set(`cursor`,r);let s=await m(`/api/sessions?${o}`,{signal:e,timeout:15e3,parse:ke});a===0&&(i=s.revision);for(let e of s.items)n.has(e.session.id)||(n.add(e.session.id),t.push(e));if(r=s.nextCursor??``,!r||t.length>=500)break}return{items:t.slice(0,500),nextCursor:r||null,revision:i}},openBoardEvents:async(e,t,n)=>{await p(n);let r=e===null?``:`?after=${encodeURIComponent(String(e))}`,i;try{i=await fetch(`/api/board/events${r}`,{signal:n,headers:{Accept:`text/event-stream`}})}catch(e){throw n.aborted?e:new d(e instanceof Error?e.message:`network`,{kind:`network`})}await f(i,(e,n)=>t(e,n))}};function j(e=`legacy`){return{mode:e,ready:!1,revision:null,awaitingSnapshot:!1,entries:{},updatedAt:0}}function M(){return{upserts:[],removed:[],resync:!1,reconnect:!1,truncated:!1,catalog:!1,changed:!1}}function Me(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Ne(e,t,n,r=Date.now()){let i=M(),a={},o=n??e.revision??0;for(let e of t)a[e.session.id]={...e,revision:o,receivedAt:r},i.upserts.push(e.session);for(let t of Object.keys(e.entries))t in a||i.removed.push(t);return i.changed=!0,{feed:{...e,ready:!0,revision:n??e.revision,awaitingSnapshot:!1,entries:a,updatedAt:r},effects:i}}function Pe(e,t,n,r=Date.now()){let i=Me(n),a=Oe(i.revision),o={feed:e,effects:M()};if(t===`snapshot`){if(a===null||!Array.isArray(i.items))return o;let t=[],n=new Set;for(let e of i.items){let r=De(e);!r||n.has(r.session.id)||(n.add(r.session.id),t.push(r))}let s=Ne(e,t,a,r);return s.effects.truncated=i.truncated===!0,s}if(t===`resync_required`){let t=M();return t.resync=!0,t.reconnect=i.reason===`flush_failed`,t.changed=!e.awaitingSnapshot,{feed:{...e,awaitingSnapshot:!0},effects:t}}if(e.awaitingSnapshot||a===null||e.revision!==null&&a<=e.revision)return o;if(t===`heartbeat`||t===`component_changed`||t===`catalog_changed`){let n=M();return n.changed=!0,n.catalog=t===`catalog_changed`,{feed:{...e,revision:a,updatedAt:r},effects:n}}if(t!==`session_card`)return o;let s=typeof i.id==`string`?i.id:``;if(!s)return o;let c=e.entries[s];if(c&&a<=c.revision)return o;let l=M();if(l.changed=!0,i.removed===!0){let t={...e.entries};return delete t[s],c&&l.removed.push(s),{feed:{...e,revision:a,entries:t,updatedAt:r},effects:l}}let u=Ee(i.session);return!u||u.id!==s?{feed:{...e,revision:a,updatedAt:r},effects:l}:(l.upserts.push(u),{feed:{...e,revision:a,entries:{...e.entries,[s]:{session:u,card:Te(i.card),revision:a,receivedAt:r}},updatedAt:r},effects:l})}var N=l,Fe=3e3,Ie=2e3,Le=3e4,Re=1e3,ze=3e4,Be=6e4,Ve=4e3,He=4e4,Ue=300,We=6e3,Ge=6e4,Ke=1e3,qe={feed:j(),live:{},localRuns:{},runningSince:{},patches:{},pending:{}},P=n()(()=>({...qe}));function Je(){return a.getQueryData(N)?.sessions??[]}function F(){return s(`sessions`,!0)}async function Ye(){o(`sessions`),await F()}async function Xe(e,t=()=>!0,{fresh:n=!1}={}){if(V.active&&V.mode===`events`&&V.events.controller){if(!n&&t(P.getState().feed.entries[e]))return;await Ze(e,t,Ve);return}if(V.active&&V.mode!==`legacy`&&I().view){await K();return}await Ye().catch(()=>void 0)}function Ze(e,t,n){return new Promise(r=>{let i=P.getState().feed.entries[e],a=null,o=()=>{},s=()=>{a&&clearTimeout(a),o(),r()};o=P.subscribe(n=>{let r=n.feed.entries[e];r!==i&&t(r)&&s()}),a=setTimeout(s,n)})}function I(){let{capabilities:e,loaded:t}=h.getState(),n=e.features;return{loaded:t,view:t&&n[`board.view`]===!0,events:t&&n[`board.events`]===!0}}function Qe(){return I().view}var $e=0;function et(e,t){let n=++$e;return P.setState(r=>({patches:{...r.patches,[e]:[...r.patches[e]??[],{token:n,patch:t}]}})),n}function tt(e,t){P.setState(n=>{let r=n.patches[e];if(!r?.some(e=>e.token===t))return n;let i=r.filter(e=>e.token!==t),a={...n.patches};return i.length?a[e]=i:delete a[e],{patches:a}})}function L(e,t){let n=t[e.id];return n?.length?n.reduce((e,t)=>({...e,...t.patch}),e):e}function R(e,t,n=``){return e===`approve`||e===`deny`?`approval:${t}:${n}`:`${e}:${t}`}function nt(e,t){return!P.getState().pending[e]&&(P.setState(n=>({pending:{...n.pending,[e]:t}})),!0)}function rt(e){P.setState(t=>{if(!(e in t.pending))return t;let n={...t.pending};return delete n[e],{pending:n}})}function z(e,t){P.setState(n=>{let r=t(n.live[e]);if(r===n.live[e])return n;let i={...n.live};return r?i[e]=r:delete i[e],{live:i}})}function it(e,t){P.setState(n=>{let r=n.feed.entries[e];if(!r)return n;let i=t(r.card.approvals);return i===r.card.approvals?n:{feed:{...n.feed,entries:{...n.feed.entries,[e]:{...r,card:{...r.card,approvals:i}}}}}})}function at(e,t){z(e,e=>e&&e.approvals.some(e=>e.id===t)?{...e,approvals:e.approvals.filter(e=>e.id!==t)}:e??null),it(e,e=>e.some(e=>e.id===t)?e.filter(e=>e.id!==t):e)}function ot(e,t){if(P.getState().feed.entries[e]){it(e,e=>e.some(e=>e.id===t.id)?e:[...e,t]);return}z(e,e=>{let n=e??B(`ready`);return n.approvals.some(e=>e.id===t.id)?n:{...n,approvals:[...n.approvals,t]}})}function st(e,t){let n=P.getState(),r=n.live[e]?.approvals.find(e=>e.id===t);if(r)return r;let i=n.feed.entries[e]?.card.approvals.find(e=>e.id===t);return i&&!i.truncated?i:void 0}function ct(e,t){P.setState(n=>{let r=n.feed.entries[e];return r?{feed:{...n.feed,entries:{...n.feed.entries,[e]:{...r,session:{...r.session,...t},receivedAt:Date.now()}}}}:n})}function lt(e){let t=P.getState(),n=t.feed.entries[e];return n&&V.mode!==`legacy`?n.card.approvals:t.live[e]?.approvals??[]}function B(e){return{status:e,approvals:[],error:``,activity:null,startedAt:null,fetchedAt:null,failures:0}}var V={retainers:0,active:!1,mode:`legacy`,pollTimer:null,releaseTimer:null,catalogTimer:null,liveTimers:new Map,liveControllers:new Map,liveNextAt:new Map,runControllers:new Map,events:{controller:null,retryTimer:null,attempt:0,blockedUntil:0,blockTimer:null,watchdog:null},view:{inFlight:null,controller:null,failures:0},feedSettled:!1,catalogFetchAt:0,cleanups:[]};function H(){return typeof document>`u`||document.visibilityState!==`hidden`}function ut(){let e=I();return e.events&&Date.now()>=V.events.blockedUntil?`events`:e.view?`view`:`legacy`}function U(e=P.getState().feed){return V.mode!==`legacy`&&e.ready}function W(){V.pollTimer&&clearTimeout(V.pollTimer),V.pollTimer=null}function G(e){W(),!(!V.active||V.mode===`events`||!H())&&(V.pollTimer=setTimeout(()=>{V.pollTimer=null,ft()},e))}function dt(){return V.view.failures?Math.min(Ie*2**V.view.failures,Le):Ie}async function ft(){let e=V.mode;if(e===`view`)await pt();else try{await F()}catch{}!V.active||V.mode!==e||(Z(),G(e===`view`?dt():Fe))}function pt(){if(V.view.inFlight)return V.view.inFlight;let e=new AbortController;V.view.controller=e;let t=(async()=>{try{let t=await A.listBoardView(e.signal);if(e.signal.aborted||!V.active)return;V.view.failures=0,V.feedSettled=!0,bt(Ne(P.getState().feed,t.items,V.mode===`events`?null:t.revision))}catch{if(e.signal.aborted)return;V.view.failures+=1,V.feedSettled=!0,Z()}finally{V.view.controller===e&&(V.view.controller=null,V.view.inFlight=null)}})();return V.view.inFlight=t,t}async function K(){let e=V.view.inFlight;e&&await e,await pt()}function mt(){V.view.controller?.abort(),V.view.controller=null,V.view.inFlight=null}function q(){let e=V.events;e.retryTimer&&clearTimeout(e.retryTimer),e.retryTimer=null,J();let t=e.controller;e.controller=null,t?.abort()}function J(){V.events.watchdog&&clearTimeout(V.events.watchdog),V.events.watchdog=null}function ht(e){J(),V.events.watchdog=setTimeout(()=>{V.events.watchdog=null;let t=V.events;t.controller!==e||e.signal.aborted||(t.controller=null,e.abort(),!(!V.active||V.mode!==`events`)&&(gt(0),Z()))},He)}function gt(e){let t=V.events;t.retryTimer&&clearTimeout(t.retryTimer),t.retryTimer=setTimeout(()=>{t.retryTimer=null,Y()},e)}function _t(e){return e instanceof d&&e.kind===`http`&&typeof e.status==`number`&&e.status>=400&&e.status<500}function vt(){let e=V.events;e.blockedUntil=Date.now()+Be,e.blockTimer&&clearTimeout(e.blockTimer),e.blockTimer=setTimeout(()=>{e.blockTimer=null,X()},60010),X()}function Y(){let e=V.events;if(!V.active||V.mode!==`events`||e.controller||e.retryTimer||!H())return;let t=new AbortController;e.controller=t,ht(t);let n=P.getState().feed,r=n.ready&&!n.awaitingSnapshot?n.revision:null,i=!1,a=!1;A.openBoardEvents(r,(n,r)=>{if(t.signal.aborted||e.controller!==t)return!1;if(ht(t),i=!0,e.attempt=0,V.feedSettled=!0,yt(n,r).reconnect)return a=!0,!1},t.signal).then(()=>null,e=>e).then(n=>{if(e.controller===t&&(e.controller=null,J(),!(t.signal.aborted||!V.active))){if(V.feedSettled=!0,n&&_t(n))vt();else{let t=a?0:i?Re:Math.min(Re*2**e.attempt,ze);!i&&!a&&(e.attempt+=1),gt(t)}Z()}})}function yt(e,t){let n=Pe(P.getState().feed,e,t);return bt(n,e===`heartbeat`||e===`component_changed`||e===`catalog_changed`),u(e,t,n.effects.changed),n.effects}function bt({feed:e,effects:t},n=!1){t.changed&&P.setState({feed:{...e,mode:V.mode}}),t.upserts.length&&xt(t.upserts),(t.removed.length||t.resync||t.catalog)&&St(),t.changed&&!n&&Z()}function xt(e){let t=a.getQueryData(N);if(!t||!e.length)return;let n=new Map(t.sessions.map((e,t)=>[e.id,t])),r=null,i=[];for(let a of e){let e=n.get(a.id);if(e===void 0){i.some(e=>e.id===a.id)||i.push(a);continue}let o=(r??t.sessions)[e];JSON.stringify(o)!==JSON.stringify(a)&&(r??=[...t.sessions],r[e]=a)}!r&&!i.length||a.setQueryData(N,{...t,sessions:[...i,...r??t.sessions]})}function St(){V.catalogTimer||!V.active||(V.catalogTimer=setTimeout(()=>{V.catalogTimer=null,V.active&&F().catch(()=>void 0)},Ue))}function X(){if(!V.active)return;let e=ut();e!==V.mode&&(V.mode=e,V.feedSettled=!1,V.view.failures=0,q(),mt(),W(),P.setState(t=>({feed:e===`legacy`?j(`legacy`):{...t.feed,mode:e}})),e===`events`?(V.events.attempt=0,Y()):G(0),Z())}function Ct(){V.retainers+=1,V.releaseTimer&&=(clearTimeout(V.releaseTimer),null),V.active||wt();let e=!1;return()=>{e||(e=!0,V.retainers=Math.max(0,V.retainers-1),!(V.retainers>0)&&(V.releaseTimer=setTimeout(()=>{V.releaseTimer=null,V.retainers===0&&Tt()},Ke)))}}function wt(){V.active=!0,V.mode=ut(),V.feedSettled=!1,V.view.failures=0,V.events.attempt=0,P.setState(e=>({feed:V.mode===`legacy`?j(`legacy`):{...e.feed,mode:V.mode}}));let e=r(N);if(V.catalogFetchAt=Math.max(V.catalogFetchAt,a.getQueryState(N)?.dataUpdatedAt??0),V.cleanups.push(a.getQueryCache().subscribe(t=>{if(t.type===`updated`&&t.query.queryHash===e){if(t.action.type===`fetch`){V.catalogFetchAt=Date.now();return}t.action.type===`success`&&Dt()}})),V.cleanups.push(h.subscribe(()=>X())),typeof document<`u`){let e=()=>{if(H()){V.mode===`events`?Y():G(0),Z();return}W(),q()};document.addEventListener(`visibilitychange`,e),V.cleanups.push(()=>document.removeEventListener(`visibilitychange`,e))}if(Dt(),V.mode===`events`)Y();else if(V.mode===`view`)G(0);else{let e=a.getQueryState(N)?.dataUpdatedAt??0;G(Math.max(0,e+Fe-Date.now()))}}function Tt(){V.active=!1,W(),V.releaseTimer&&clearTimeout(V.releaseTimer),V.catalogTimer&&clearTimeout(V.catalogTimer),V.events.blockTimer&&clearTimeout(V.events.blockTimer),V.releaseTimer=null,V.catalogTimer=null,V.events.blockTimer=null,q(),mt();for(let e of V.cleanups.splice(0))e();for(let e of V.liveTimers.values())clearTimeout(e);for(let e of V.liveControllers.values())e.abort();for(let e of V.runControllers.values())e.controller.abort();V.liveTimers.clear(),V.liveControllers.clear(),V.liveNextAt.clear(),V.runControllers.clear(),P.setState({live:{},localRuns:{},runningSince:{}})}async function Et(){let e=F();V.active&&V.mode===`view`&&await K(),await e}function Dt(){let e=Je(),t=Date.now(),{runningSince:n,localRuns:r,feed:i}=P.getState(),a=U(i)?[...Object.values(i.entries).map(e=>e.session),...e]:e,o={},s=!1;for(let e of a)e.streaming!==!0||e.id in o||(o[e.id]=n[e.id]??r[e.id]?.startedAt??t,e.id in n||(s=!0));s||=Object.keys(n).some(e=>!(e in o)),s&&P.setState({runningSince:o}),U(i)&&Ot(e),Z()}function Ot(e){let t=V.catalogFetchAt,n=new Map(e.map(e=>[e.id,e])),r=[],i={};for(let e of Object.values(P.getState().feed.entries)){if((e.receivedAt??1/0)>=t){r.push(e.session);continue}let a=n.get(e.session.id);a&&a!==e.session&&JSON.stringify(a)!==JSON.stringify(e.session)&&(i[a.id]=a)}Object.keys(i).length&&P.setState(e=>{let t={...e.feed.entries};for(let[e,n]of Object.entries(i))t[e]&&(t[e]={...t[e],session:n});return{feed:{...e.feed,entries:t}}}),xt(r)}function kt(){let{patches:e,feed:t}=P.getState(),n=new Set,r=Date.now();if(U(t)){for(let i of Object.values(t.entries)){let t=L(i.session,e);if(t.archived===!0)continue;let a=i.card.approvals;_({...t,card:{approvals:a}},{now:r}).status===`approval`&&(!a.length||a.some(e=>e.truncated))&&n.add(i.session.id)}return n}if(V.mode!==`legacy`&&!V.feedSettled)return n;for(let t of Je()){let i=L(t,e);i.archived!==!0&&_(i,{now:r}).status===`approval`&&n.add(t.id)}return n}function At(e){let t=V.liveTimers.get(e);t&&clearTimeout(t),V.liveTimers.delete(e),V.liveControllers.get(e)?.abort(),V.liveControllers.delete(e),V.liveNextAt.delete(e),z(e,()=>null)}function Z(){if(!V.active)return;let e=kt();for(let t of Object.keys(P.getState().live))e.has(t)||At(t);for(let t of[...V.liveControllers.keys()])e.has(t)||At(t);if(!H())return;let t=Date.now(),n=P.getState().live,r=[...e].filter(e=>!V.liveControllers.has(e)&&(V.liveNextAt.get(e)??0)<=t).sort((e,t)=>Number(!!n[e])-Number(!!n[t])||(V.liveNextAt.get(e)??0)-(V.liveNextAt.get(t)??0)),i=Math.max(0,Math.min(3-V.liveControllers.size,4-V.liveControllers.size-V.runControllers.size-!!V.events.controller));r.slice(0,i).forEach((e,t)=>jt(e,t*250))}function jt(e,t){let n=new AbortController;V.liveControllers.set(e,n);let r=async()=>{V.liveTimers.delete(e),z(e,e=>e??B(`loading`));try{let t=await A.getLiveDetail(e,n.signal);if(n.signal.aborted||V.liveControllers.get(e)!==n)return;V.liveNextAt.set(e,Date.now()+We);let{pending:r}=P.getState(),i=t.approvals.filter(t=>!r[R(`approve`,e,t.id)]);z(e,()=>({status:`ready`,approvals:i,error:t.error,activity:t.activity,startedAt:t.startedAt,fetchedAt:Date.now(),failures:0}))}catch{if(n.signal.aborted||V.liveControllers.get(e)!==n)return;let t=(P.getState().live[e]?.failures??0)+1;V.liveNextAt.set(e,Date.now()+Math.min(We*2**t,Ge)),z(e,e=>({...e??B(`error`),status:e?.approvals.length?e.status:`error`,failures:t}))}finally{V.liveControllers.get(e)===n&&V.liveControllers.delete(e)}};t<=0?r():V.liveTimers.set(e,setTimeout(()=>void r(),t))}var Mt=class extends Error{code=`board_run_active`},Nt=0;function Pt(e,t){return e===t?!0:!e||!t||e.type!==t.type?!1:e.type===`model`?e.stage===t.stage:e.name===t.name&&e.summary===t.summary}function Q(e,t,n){P.setState(r=>{let i=r.localRuns[e];return!i||i.token!==t||(n.activity===void 0||Pt(i.activity,n.activity))&&(n.runId===void 0||n.runId===i.runId)?r:{localRuns:{...r.localRuns,[e]:{...i,...n}}}})}function Ft(e,t,n,r){if(n===`run`)Q(e,t,{runId:typeof r.runId==`string`?r.runId:``});else if(n===`tool_start`){let n=typeof r.name==`string`?r.name:``;n&&Q(e,t,{activity:{type:`tool`,name:n,summary:pe(n,r.args),startedAt:typeof r.startedAt==`string`?r.startedAt:new Date().toISOString()}})}else if(n===`tool_end`||n===`thinking_patch`||n===`thinking_reset`)Q(e,t,{activity:{type:`model`,stage:`thinking`}});else if(n===`text_delta`||n===`text_patch`)Q(e,t,{activity:{type:`model`,stage:`responding`}});else if(n===`permission_request`){let t=he(r);t&&ot(e,t),o(`sessions`)}else n===`permission_resolved`&&(typeof r.id==`string`&&at(e,r.id),o(`sessions`))}function It(){let e=V.runControllers.size-2;for(let[t,n]of V.runControllers){if(e<=0)return;n.accepted&&(V.runControllers.delete(t),n.controller.abort(),--e)}}function Lt(e,t,n){if(V.runControllers.has(e))return Promise.reject(new Mt);let r=new AbortController,i=++Nt,a={controller:r,accepted:!1};V.runControllers.set(e,a),It();let o=Date.now();return P.setState(n=>({localRuns:{...n.localRuns,[e]:{token:i,kind:t,runId:``,startedAt:o,activity:{type:`model`,stage:`starting`}}}})),new Promise((t,o)=>{let s=()=>{a.accepted||(a.accepted=!0,It(),t())};n((t,n)=>{if(r.signal.aborted)return!1;t===`run`&&s(),Ft(e,i,t,n)},r.signal).then(s,e=>{a.accepted||o(e)}).finally(()=>{V.runControllers.get(e)===a&&V.runControllers.delete(e),P.setState(t=>{if(t.localRuns[e]?.token!==i)return t;let n={...t.localRuns};return delete n[e],{localRuns:n}}),V.active&&(V.mode===`legacy`?F().catch(()=>void 0):I().view&&(V.mode===`view`||!V.events.controller)&&K(),Z())})})}var Rt=e(t(),1);function zt(){(0,Rt.useEffect)(()=>Ct(),[])}function Bt(e){let t=e.queue;if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t;return{startAfter:typeof n.startAfter==`string`?n.startAfter:``,position:typeof n.position==`number`&&Number.isSafeInteger(n.position)&&n.position>0?n.position:null}}var Vt=120;function Ht(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function $(e){let t=typeof e.name==`string`?e.name.trim():``;if(t)return D(t,Vt);let n=typeof e.firstMessage==`string`?e.firstMessage.trim():``,r=n.search(/[。!?!?\n]|\.\s/u);return D((r<0?n:n.slice(0,n[r]===`
|
|
2
|
+
`?r:r+1)).trim(),Vt)}function Ut(e){return e.length?e.some(e=>e.severity===`critical`)?`critical`:`standard`:null}function Wt(e,t){if(!t?.approvals.length||!e.approvals.some(e=>e.truncated))return e.approvals;let n=new Map(t.approvals.map(e=>[e.id,e]));return e.approvals.map(e=>e.truncated?n.get(e.id)??e:e)}function Gt(e,t){return!!e[t]?.some(e=>e.patch.streaming===!0)}function Kt(e,t){let n=t.feed;if(!n?.ready)return e.filter(e=>e&&typeof e.id==`string`&&e.id).map(e=>({session:e,card:null}));let r=Object.values(n.entries).map(e=>({session:e.session,card:e.card}));for(let i of e)!i||typeof i.id!=`string`||!i.id||n.entries[i.id]||(t.localRuns[i.id]||Gt(t.patches,i.id))&&r.push({session:i,card:null});return r}function qt(e,t,{now:n,capabilities:r,doneWindow:i=`today`,timeZoneOffsetMinutes:a}){let o=[],s=t.pending??{},c=Kt(e,t),l=new Map;for(let t of e)t?.id&&l.set(t.id,$(t));for(let{session:e}of c)l.set(e.id,$(e));for(let{session:e,card:u}of c){let c=L(e,t.patches),d=t.localRuns[c.id],f=t.live[c.id],p=d?.startedAt??Ht(u?.startedAt)??Ht(f?.startedAt),m=u?Wt(u,f).filter(e=>!s[R(`approve`,c.id,e.id)]):null,h=m?.length?m:f?.approvals,g=_({...c,startedAt:p??t.runningSince[c.id]??null,approvals:h,card:u?{outcome:u.outcome??void 0}:void 0},{now:n,capabilities:r,doneWindow:i,timeZoneOffsetMinutes:a});if(!g.lane)continue;let v=g.status===`approval`?h??[]:[],y=v[0],ee=g.status===`approval`?y&&!y.truncated?`ready`:f?.status===`error`?`error`:`loading`:`none`,b=g.lane===`running`,x=g.status===`failed`,S=g.status===`question`?re(c.question):null;o.push({id:c.id,session:c,title:$(c),cwd:typeof c.cwd==`string`?c.cwd:``,workspaceKey:ne(c),projectCwd:te(c),lane:g.lane,status:g.status,handled:g.handled,since:g.since,startedAt:b?p:null,pinned:c.pinned===!0,unread:c.unread===!0,approvals:v,approvalsState:ee,severity:Ut(v),activity:b?d?.activity??u?.activity??f?.activity??null:null,error:x&&(u?.error?.message||f?.error)||``,localRun:!!d,hasCard:!!u,tail:u&&(b||x)?u.tail:[],preview:u&&g.lane===`done`&&!x?u.preview:``,changeStats:u?.changeStats??null,contextPct:u?.contextPct??null,agents:u?.agents??null,question:S,questionCount:S?S.questions.length:null,totalTokens:u?.totalTokens??null,...u?.bot?{bot:u.bot}:{},...Jt(g.lane,c,l)})}return o.sort(y)}function Jt(e,t,n){let r=e===`queued`?Bt(t):null;return{queuePosition:r?.position??null,queue:r?{startAfter:r.startAfter,startAfterTitle:n.get(r.startAfter)??``}:null}}function Yt(e,{lanes:t,projects:n}){let r=t?.length?new Set(t):null,i=n?.length?new Set(n):null;return!r&&!i?[...e]:e.filter(e=>(!r||r.has(e.lane))&&(!i||i.has(e.workspaceKey)))}function Xt(e){let t=Object.fromEntries(v.map(e=>[e,[]]));for(let n of e)t[n.lane].push(n);return t}function Zt(e){let t=new Map;for(let n of e){let e=t.get(n.workspaceKey);e?e.count+=1:t.set(n.workspaceKey,{key:n.workspaceKey,cwd:n.projectCwd,count:1})}return[...t.values()]}function Qt(e,t){let n=new Map(t.map((e,t)=>[e,t]));return[...e].sort((e,t)=>(n.get(e.key)??2**53-1)-(n.get(t.key)??2**53-1)||t.count-e.count)}function $t(){return zt(),i(c(`sessions`))}export{at as C,A as D,P as E,Et as S,ct as T,tt as _,Yt as a,rt as b,zt as c,et as d,nt as f,lt as g,Qe as h,qt as i,N as l,st as m,Zt as n,Xt as o,R as p,$ as r,Qt as s,$t as t,Mt as u,Xe as v,ot as w,Lt as x,Ye as y};
|
|
@@ -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{f as r}from"./routes-DIeaqWVc.js";import{t as i}from"./use-i18n-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{f as r}from"./routes-DIeaqWVc.js";import{t as i}from"./use-i18n-BVRhlQ1v.js";import{t as a}from"./ellipsis-CfGKfbq6.js";import{c as o,i as s,p as c,r as l,t as u}from"./dropdown-menu-Ds0gD8S8.js";import{t as d}from"./utils-C8uzG5AZ.js";import{f}from"./useNow-CfPk0uIz.js";import{t as p}from"./session-home-BmAnhROp.js";import{t as m}from"./motion-DTR4ZVle.js";import"./BotAvatar-CNL-APwP.js";var h=`pisper:overview-focus`;function g(e){window.dispatchEvent(new CustomEvent(h,{detail:{sessionId:e}}))}var _=n();function v({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:f,side:p,align:m=`start`,tabIndex:h,className:g}){let{t:v}=i();return(0,_.jsxs)(u,{open:r,onOpenChange:f,children:[(0,_.jsx)(c,{asChild:!0,children:(0,_.jsx)(`button`,{type:`button`,tabIndex:h,"aria-label":v(`board:sidebar.rowMenu`,{title:e.title}),className:d(`grid size-[26px] flex-none place-items-center rounded-[var(--r-sm)] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-active hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,g),children:(0,_.jsx)(a,{className:`size-4`,"aria-hidden":`true`})})}),(0,_.jsxs)(l,{align:m,side:p,className:`min-w-44`,children:[(0,_.jsx)(s,{onSelect:()=>t.open(e),children:v(`board:menu.open`)}),(0,_.jsx)(s,{onSelect:()=>t.pin(e),children:e.pinned?v(`board:menu.unpin`):v(`board:menu.pin`)}),(0,_.jsx)(s,{onSelect:()=>t.rename(e),children:v(`board:menu.rename`)}),n&&(0,_.jsx)(s,{onSelect:()=>t.markHandled(e),children:v(`board:menu.markHandled`)}),(0,_.jsx)(s,{onSelect:()=>t.copyLink(e),children:v(`board:menu.copyLink`)}),(0,_.jsx)(o,{}),(0,_.jsx)(s,{onSelect:()=>t.archive(e),children:v(`board:menu.archive`)})]})]})}function y(e,t){return t.map((t,n)=>t.kind===`failed`?e(`board:sidebar.reason.failed`):t.kind===`approval`?t.critical?e(`board:sidebar.reason.criticalApproval`):e(`board:sidebar.reason.approval`):t.count===null?e(`board:sidebar.reason.question`):e(n===0?`board:sidebar.reason.questions`:`board:sidebar.reason.questionCount`,{count:t.count})).join(` · `)}function b(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function x(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=String(t%60).padStart(2,`0`);return n>0?`${n}:${String(r).padStart(2,`0`)}:${i}`:`${r}:${i}`}function S(e){if(e===null||!Number.isFinite(e))return``;let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function C(e,t){if(e===null||!Number.isFinite(e))return``;let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()?S(e):`${n.getMonth()+1}/${n.getDate()}`}function w(){return!m()&&document.visibilityState!==`hidden`}function T(e,{duration:t,scale:n}){return!e||!w()||typeof e.animate!=`function`?Promise.resolve():(e.style.transformOrigin=`top center`,e.animate([{transform:`scaleY(1)`,opacity:1},{transform:`scaleY(${n})`,opacity:0}],{duration:t,easing:`ease-in`,fill:`forwards`}).finished.then(()=>void 0,()=>void 0))}var E=e(t(),1);function D(e){let{origin:t,pathname:n,search:i,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${i}#${r(e)}`:`${t}${r(e)}`}function O({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:a}=i(),o=f(),s=(0,E.useRef)(o);s.current=o;let c=(0,E.useCallback)(t=>{t.ok||t.reason===`pending`||e(a(`board:action.failed`),`error`)},[e,a]),l=(0,E.useCallback)(async n=>{let r=(await t({title:a(`board:sidebar.renameTitle`),inputLabel:a(`board:sidebar.renameLabel`),value:n.title,confirmLabel:a(`board:sidebar.renameSave`),maxLength:200}))?.trim();if(!r||r===n.title)return;let i=await s.current.rename(n.id,r);i.ok?e(a(`board:sidebar.renamed`)):c(i)},[e,c,t,a]);return(0,E.useMemo)(()=>({open:e=>n(e.id),pin:e=>void s.current.pin(e.id,!e.pinned).then(c),rename:e=>void l(e),markHandled:e=>void s.current.markHandled(e.id).then(c),copyLink:t=>{let n=typeof navigator<`u`?navigator.clipboard:void 0;if(!n){e(a(`board:action.copyFailed`),`error`);return}n.writeText(D(t.id)).then(()=>e(a(`board:action.copied`)),()=>e(a(`board:action.copyFailed`),`error`))},archive:t=>void s.current.archive(t.id,!0).then(n=>{if(!n.ok){c(n);return}e(a(`board:action.archived`,{title:t.title})),p(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,a])}export{C as a,y as c,g as d,x as i,v as l,T as n,S as o,w as r,b as s,O as t,h as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{c as n,i as r,t as i}from"./useNow-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{c as n,i as r,t as i}from"./useNow-CfPk0uIz.js";var a=e(t(),1);function o(){let{query:e,items:t,capabilities:o,isLoading:s}=n(`today`),c=i(),l=(0,a.useMemo)(()=>r(t,{now:c,capabilities:o}),[o,t,c]),u=e.refetch,d=e.data?.sessions;return(0,a.useMemo)(()=>({model:l,items:t,sessions:d,capabilities:o,isLoading:s,error:e.error??null,refetch:()=>void u()}),[o,s,t,l,e.error,u,d])}export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`/_pisper/html-preview/`,t=`allow-scripts allow-forms allow-popups allow-modals`;function n(t){try{return new URL(t).pathname.startsWith(e)}catch{return!1}}function r(t){try{let n=new URL(t);return n.pathname.startsWith(e)&&decodeURIComponent(n.pathname.split(`/`).pop()||``)||n.host}catch{return t}}function i(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n:null}catch{return null}}function a(e){return/^(?:localhost|.+\.localhost|.+\.local|0\.0\.0\.0|\[::1\])$/i.test(e)||/^(?:127|10)\.\d+\.\d+\.\d+$/.test(e)||/^192\.168\.\d+\.\d+$/.test(e)||/^172\.(?:1[6-9]|2\d|3[01])\.\d+\.\d+$/.test(e)}function o(e,t){let n=e.trim();if(!n)return null;if(/^[a-z][a-z\d+.-]*:(?!\d+(?:[/?#]|$))/i.test(n)||n.startsWith(`//`))return i(n,t)?.href||null;let r=i(`https://${n}`,t);return r&&a(r.hostname)?i(`http://${n}`,t)?.href||null:r?.href||null}function s({href:e,baseUrl:t,button:n=0,download:r=!1,altKey:a=!1,ctrlKey:o=!1,metaKey:s=!1,shiftKey:c=!1,behavior:l}){if(n!==0||r||a||o||s||c||l===`external`||l===`ignore`)return null;let u=i(e,t);if(!u)return null;let d=i(t,t);return d&&u.origin===d.origin?null:u.href}export{s as a,i,n,r as o,o as r,t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./storage-DtvZ_lEu.js";import{r as t}from"./web-preview-
|
|
1
|
+
import{t as e}from"./storage-DtvZ_lEu.js";import{r as t}from"./web-preview-C7DdG9JP.js";var n=`pisper:web-preview-open`;function r(r){let i=t(r,window.location.href);if(!i)return null;let a={url:i};return localStorage.setItem(e.webPreviewRequest,JSON.stringify(a)),window.dispatchEvent(new CustomEvent(n,{detail:a})),a}function i(){let n=localStorage.getItem(e.webPreviewRequest);if(localStorage.removeItem(e.webPreviewRequest),!n)return null;try{let e=JSON.parse(n),r=typeof e?.url==`string`?t(e.url,window.location.href):null;return r?{url:r}:null}catch{return null}}export{i as n,r,n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./index-
|
|
1
|
+
import{t as e}from"./index-CiRnxTh1.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{t as i}from"./createLucideIcon-Cd-3GVxJ.js";import{a,d as o,i as s,o as c}from"./session-workspaces-Brm-8lHh.js";var l=i(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);function u(e){if(typeof e!=`string`)return``;let t=e.trim();if(!t||t.length>2048||t.includes(`\0`))return``;let n=/^(?:[A-Za-z]:)?[\\/]+$/u.test(t)?t:t.replace(/[\\/]+$/u,``),r=o(n);return r&&r!==`\0`?n:``}function d(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=u(r),i=e&&o(e);if(!(!i||t.has(i))&&(t.add(i),n.push(e),n.length>=50))break}return n}function f(e,t){let n=u(t);if(!n)return d(e);let r=o(n);return d([n,...e.filter(e=>o(e)!==r)])}function p(e,t){let n=o(t);return d(e.filter(e=>o(e)!==n))}function m(e,t){let n=new Set(t),r=[];for(let t of d(e)){let e=o(t);n.has(e)||(n.add(e),r.push({key:e,cwd:t}))}return r}var h=`pisper-registered-projects`,g=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{}}}));function _(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var v=r()(t((e,t)=>({projects:[],registerProject:n=>{let r=u(n);if(!r)return``;let i=t().projects,a=f(i,r);return _(a,i)||e({projects:a}),r},unregisterProject:n=>{let r=t().projects;return r.some(e=>o(e)===o(n))?(e({projects:p(r,n)}),!0):!1}}),{name:h,storage:g,version:1,partialize:({projects:e})=>({projects:e}),merge:(e,t)=>({...t,projects:d(e&&typeof e==`object`&&`projects`in e?e.projects:void 0)})}));function y(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function b(e){let t=o(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function x(e){let t=Object.create(null);if(!e||typeof e!=`object`||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let e=b(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var S=n(()=>e),C=r()(t((e,t)=>({order:[],names:x(void 0),rememberWorkspaces:n=>{let r=t().order,i=c(r,n);y(i,r)||e({order:i})},moveWorkspace:(n,r,i)=>{let a=t().order,o=s(a,i,n,r);y(o,a)||e({order:o})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?b(n):null;if(!i||typeof r!=`string`)throw TypeError(`Invalid workspace name`);let a=r.trim();if(Array.from(a).length>120)throw RangeError(`Workspace name is too long`);let o=t().names;if((o[i]||``)===a)return;if(!S)throw Error(`Workspace preferences storage is unavailable`);let s=x(o);a?s[i]=a:delete s[i];try{e({names:s})}catch(t){try{e({names:o})}catch{}throw t}}}),{name:`pisper-workspace-order`,storage:S,version:1,partialize:({order:e,names:t})=>({order:e,names:t}),merge:(e,t)=>({...t,order:a(e&&typeof e==`object`&&`order`in e?e.order:void 0),names:x(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));export{l as i,v as n,m as r,C as t};
|
package/web/index.html
CHANGED
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
document.documentElement.lang = storedLanguage === 'en-US' ? 'en-US' : 'zh-CN'
|
|
56
56
|
} catch {}
|
|
57
57
|
</script>
|
|
58
|
-
<script type="module" crossorigin src="/assets/index-
|
|
58
|
+
<script type="module" crossorigin src="/assets/index-CiRnxTh1.js"></script>
|
|
59
59
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-B0Z9INg1.js">
|
|
60
60
|
<link rel="modulepreload" crossorigin href="/assets/vendor-react-DwNgTV1j.js">
|
|
61
61
|
<link rel="modulepreload" crossorigin href="/assets/vendor-router-CSN_DGvx.js">
|
|
62
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
62
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BnQCk-QI.css">
|
|
63
63
|
</head>
|
|
64
64
|
<body>
|
|
65
65
|
<div id="root"></div>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{d as r}from"./i18n-Cl3sIF9G.js";import{t as i}from"./use-i18n-CaxKosZm.js";import{r as a,t as o}from"./useQuery-DdcpUQhO.js";import{t as s}from"./queryOptions-Dfvzj6n2.js";import{a as c,l,u}from"./api-MVoWVwmh.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{t as f}from"./download-BCfIiuaL.js";import{t as p}from"./external-link-CEQqPcqc.js";import{t as m}from"./file-Bllajneu.js";import{t as h}from"./link-2-mgasYn21.js";import{t as g}from"./paperclip-BCXrwYpb.js";import{t as _}from"./plus-fQbSqB1n.js";import{t as v}from"./refresh-cw-TbWxTY4K.js";import{t as y}from"./trash-2-CNrPOoPR.js";import{t as b}from"./triangle-alert-CE1q54ci.js";import{t as x}from"./x-07u4-129.js";import{t as S}from"./more-pages-D_PnxLN0.js";import{a as ee,c as te,n as ne,o as re,p as ie,r as ae,s as oe,t as se}from"./dropdown-menu-Ds0gD8S8.js";import{n as ce,t as C}from"./button-CCcCN8tE.js";import{s as le}from"./shortcuts-BmJZiLby.js";import{n as w}from"./format-DMJQzoZ7.js";import{a as T,i as E,l as D,n as O,o as k,s as A,t as j}from"./dialog-9LXtFD-0.js";import{t as M}from"./input-CPw-zkYh.js";import{n as N}from"./PageState-Cz6vFMXv.js";import{a as ue,i as P,n as de,o as fe,r as pe,s as me,t as F}from"./FeaturePage-IWVjXcVp.js";import{n as I}from"./mobile-runtime-recovery-tbTyacip.js";import{n as L}from"./field-DoLEb0np.js";import{t as R}from"./MarkdownMessage-gnw-y810.js";var z=d(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),B=d(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),he=d(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),V=e(t(),1),H=134217728;function ge(e){let t=document.createElement(`a`);t.href=`/api/assets/${encodeURIComponent(e.id)}/download`,t.download=e.name,t.hidden=!0,document.body.append(t),t.click(),t.remove()}function U(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error||Error(`读取资产失败。`)),r.onload=()=>{let e=typeof r.result==`string`?r.result:``,i=e.indexOf(`,`);i<0?n(Error(`资产编码失败。`)):t(e.slice(i+1))},r.readAsDataURL(e)})}function W(){if(typeof window>`u`)return!1;let e=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;return!!(window.pisperDesktop?.openAsset||window.__PISPER_MOBILE_APP__&&e)}async function _e(e){let t=window.pisperDesktop?.openAsset,n=window.__TAURI__?.core?.invoke??window.__TAURI_INTERNALS__?.invoke;if(!t&&!(window.__PISPER_MOBILE_APP__&&n))return ge(e),`download`;await I();let r=await fetch(`/api/assets/${encodeURIComponent(e.id)}/download`);if(!r.ok)throw Error(`资产下载失败 (${r.status})`);if((Number(r.headers.get(`content-length`))||0)>H)throw Error(`资产超过 128 MB 原生打开限制。`);let i=await r.blob();if(!i.size||i.size>H)throw Error(`资产内容为空或超过 128 MB 原生打开限制。`);let a=await U(i);return t?await t({name:e.name,data:a}):await n?.(`mobile_open_asset`,{input:{name:e.name,mimeType:e.mimeType||i.type||`application/octet-stream`,data:a}}),`application`}function G(e){if(!e||typeof e!=`object`||Array.isArray(e))throw l();return Object.fromEntries(Object.entries(e))}function K(e,t=!1){if(!(e===void 0&&!t)){if(typeof e!=`string`||t&&!e)throw l();return e}}function ve(e){if(typeof e==`string`)try{let t=new URL(e);return[`http:`,`https:`].includes(t.protocol)?t.href:void 0}catch{return}}function q(e){let t=G(e),n=K(t.id,!0),r=K(t.name,!0),i=K(t.kind,!0);if(t.size!==void 0&&(typeof t.size!=`number`||!Number.isFinite(t.size)||t.size<0))throw l();let a=t.url===void 0?void 0:ve(t.url);if(t.url!==void 0&&!a||i===`link`&&!a)throw l();return{id:n,name:r,kind:i,size:t.size,url:a,mimeType:K(t.mimeType),source:K(t.source),sessionName:K(t.sessionName)}}function ye(e,t){let n=G(e),r=q(n);if(![`text`,`image`,`document`,`file`].includes(r.kind)||r.kind===`text`&&typeof n.text!=`string`||!t&&[`image`,`document`].includes(r.kind)&&typeof n.data!=`string`||n.truncated!==void 0&&typeof n.truncated!=`boolean`)throw l();return{...r,text:K(n.text),data:K(n.data),extension:K(n.extension),truncated:n.truncated}}function be(e={}){return{query:(e.query||``).trim(),kind:e.kind||`all`,sessionId:e.sessionId||``}}var J=e=>`/api/assets/${encodeURIComponent(e)}`,Y=e=>`${J(e)}/download?inline=1`,X={async list(e={},t){let{query:n,kind:r,sessionId:i}=be(e),a=new URLSearchParams;return n&&a.set(`query`,n),r!==`all`&&a.set(`kind`,r===`video`?`file`:r),i&&a.set(`sessionId`,i),c(`/api/assets?${a}`,{signal:t,parse(e){let t=G(e);if(!Array.isArray(t.assets))throw l();let n=t.assets.map(q);return r===`video`?n.filter(e=>e.mimeType?.startsWith(`video/`)):n}})},preview:(e,t)=>c(`${J(e)}/content?preview=1`,{signal:t,parse:e=>ye(e,!0)}),content:(e,t)=>c(`${J(e)}/content`,{signal:t,parse:e=>ye(e,!1)}),async createLink(e){let t=ve(e.url.trim());if(!t)throw new u(r(`assets:assetsPage.invalidLink`),{kind:`protocol`,data:{code:`INVALID_ASSET_URL`}});return c(`/api/assets`,{method:`POST`,body:{kind:`link`,name:e.name,url:t,source:`upload`},parse:q})},remove:e=>c(J(e),{method:`DELETE`,parse(e){if(G(e).deleted!==!0)throw l();return!0}})},Z=n();function xe({onClose:e,onCreated:t}){let{t:n}=i(),[r,a]=(0,V.useState)(``),[o,s]=(0,V.useState)(``),[c,l]=(0,V.useState)(!1),[u,d]=(0,V.useState)(``),f=(0,V.useRef)(!1),p=(0,V.useRef)(!0);return(0,V.useEffect)(()=>(p.current=!0,()=>{p.current=!1}),[]),(0,Z.jsx)(j,{open:!0,busy:c,onOpenChange:t=>{!t&&!f.current&&e()},children:(0,Z.jsx)(E,{size:`compact`,scrollMode:`body`,children:(0,Z.jsxs)(`form`,{className:`flex min-h-0 flex-col gap-4`,onSubmit:async e=>{if(e.preventDefault(),f.current)return;f.current=!0,l(!0),d(``);let n=!1;try{await X.createLink({name:r,url:o}),n=!0}catch(e){p.current&&d(e instanceof Error?e.message:String(e))}finally{f.current=!1,p.current&&l(!1)}n&&t()},"aria-busy":c||void 0,children:[(0,Z.jsxs)(A,{className:`pr-8`,children:[(0,Z.jsx)(D,{children:n(`assets:assetsPage.addLinkAsset`)}),(0,Z.jsx)(T,{children:n(`assets:assetsPage.linksCanBeArchivedOpenedOrAddedToAChatAsContext`)})]}),(0,Z.jsxs)(O,{className:`flex flex-col gap-4`,children:[(0,Z.jsxs)(L,{variant:`control`,children:[n(`assets:assetsPage.name`),(0,Z.jsx)(M,{value:r,disabled:c,onChange:e=>a(e.target.value),placeholder:n(`assets:assetsPage.forExampleOpenAIAPIDocs`)})]}),(0,Z.jsxs)(L,{variant:`control`,children:[`URL`,(0,Z.jsx)(M,{className:`font-mono`,value:o,disabled:c,onChange:e=>s(e.target.value),placeholder:`https://example.com/docs`})]}),u&&(0,Z.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-danger`,children:u})]}),(0,Z.jsxs)(k,{children:[(0,Z.jsx)(C,{variant:`secondary`,size:`dialogAction`,disabled:c,onClick:e,children:n(`assets:assetsPage.cancel`)}),(0,Z.jsxs)(C,{type:`submit`,size:`dialogAction`,loading:c,disabled:c||!o.trim(),children:[(0,Z.jsx)(_,{}),n(c?`assets:assetsPage.adding`:`assets:assetsPage.addLink`)]})]})]})})})}var Q=[`assets`,`list`];function Se(e={}){let t=be(e);return s({queryKey:[...Q,t],queryFn:({signal:e})=>X.list(t,e),staleTime:0,retry:!1})}function Ce(e,t){return s({queryKey:[`assets`,`preview`,e,t],queryFn:({signal:t})=>X.preview(e,t),staleTime:0,gcTime:0,retry:!1})}async function we(e){await e.cancelQueries({queryKey:Q}),await e.invalidateQueries({queryKey:Q})}function Te({asset:e,generation:t,trigger:n,fallback:r,onClose:a,onUse:s,onOpen:c,busy:l,actionError:u}){let{t:d}=i(),h=e.mimeType?.startsWith(`video/`),_=e.kind===`image`||h,v=o({...Ce(e.id,t),enabled:!_&&e.kind!==`link`}),[y,x]=(0,V.useState)(!1),[S,ee]=(0,V.useState)(0),te=/\.md$/i.test(e.name)||e.mimeType===`text/markdown`;return(0,Z.jsx)(j,{open:!0,onOpenChange:e=>{e||a()},children:(0,Z.jsxs)(E,{size:`wide`,scrollMode:`body`,className:`w-[min(96vw,1200px)] max-w-[min(96vw,1200px)]`,onCloseAutoFocus:e=>{e.preventDefault();let t=e=>e?.isConnected&&e.getClientRects().length&&getComputedStyle(e).visibility!==`hidden`,i=t(n)?n:r();t(i)&&i?.focus({preventScroll:!0})},children:[(0,Z.jsxs)(A,{className:`pr-8`,children:[(0,Z.jsx)(D,{className:`break-words leading-6`,children:e.name}),(0,Z.jsx)(T,{className:`font-mono break-words tabular-nums`,children:e.kind===`link`?e.url:`${e.mimeType||``} · ${w(e.size)}`})]}),(0,Z.jsxs)(O,{className:`min-h-[min(240px,30dvh)] rounded-md border border-stroke bg-surface-subtle p-3`,children:[_?y?(0,Z.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-center gap-3 p-4 text-sm`,children:[(0,Z.jsx)(b,{className:`size-5 text-danger`}),(0,Z.jsx)(`p`,{children:d(`assets:assetsPage.mediaFailed`)}),(0,Z.jsx)(C,{variant:`secondary`,onClick:()=>{x(!1),ee(e=>e+1)},children:d(`assets:assetsPage.retry`)})]}):h?(0,Z.jsx)(`video`,{controls:!0,playsInline:!0,preload:`metadata`,className:`mx-auto max-h-[65dvh] w-full object-contain`,src:Y(e.id),onError:()=>x(!0)},S):(0,Z.jsx)(`img`,{className:`mx-auto max-h-[65dvh] max-w-full object-contain`,src:Y(e.id),alt:e.name,onError:()=>x(!0)},S):e.kind===`link`?(0,Z.jsxs)(`a`,{className:`flex items-center gap-2 font-mono text-sm break-all text-content underline underline-offset-4`,href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,Z.jsx)(p,{className:`shrink-0`}),e.url]}):v.isPending?(0,Z.jsxs)(`div`,{role:`status`,className:`flex items-center justify-center gap-2 p-8 text-sm text-content-muted`,children:[(0,Z.jsx)(ce,{}),d(`assets:assetsPage.loadingPreview`)]}):v.isError?(0,Z.jsxs)(`div`,{role:`alert`,className:`flex flex-wrap items-center gap-2 p-4 text-sm text-danger`,children:[(0,Z.jsx)(b,{className:`size-4 shrink-0`}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:v.error.message}),(0,Z.jsx)(C,{variant:`secondary`,onClick:()=>{v.refetch()},children:d(`assets:assetsPage.retry`)})]}):v.data?.kind===`text`?te?(0,Z.jsx)(`div`,{className:`mx-auto max-w-3xl text-left`,children:(0,Z.jsx)(R,{children:v.data.text||``})}):(0,Z.jsx)(`div`,{className:`mx-auto max-w-3xl whitespace-pre-wrap font-sans text-base leading-7 [overflow-wrap:anywhere]`,"data-asset-plain":!0,children:v.data.text}):(0,Z.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center text-sm`,children:[(0,Z.jsx)(m,{className:`size-8 text-content-faint`,strokeWidth:1.5}),(0,Z.jsx)(`strong`,{className:`font-medium break-words`,children:e.name}),(0,Z.jsx)(`p`,{className:`max-w-md text-xs text-content-muted`,children:d(`assets:assetsPage.thisFileTypeCanBeDownloadedSupportedDocumentsCanAlsoBeAddedToAChatForAnalysis`)})]}),v.data?.truncated&&(0,Z.jsx)(`p`,{className:`mt-3 text-xs text-content-muted`,children:d(`assets:assetsPage.previewTruncated`)})]}),u&&(0,Z.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-danger`,children:u}),(0,Z.jsxs)(k,{children:[e.kind!==`link`&&(0,Z.jsxs)(C,{variant:`secondary`,size:`dialogAction`,disabled:!!l,loading:l===`open`,onClick:c,children:[W()?(0,Z.jsx)(p,{}):(0,Z.jsx)(f,{}),W()?d(`assets:assetsPage.openInApplication`):d(`assets:assetsPage.download`)]}),(0,Z.jsxs)(C,{size:`dialogAction`,disabled:!!l,loading:l===`use`,onClick:s,children:[(0,Z.jsx)(g,{}),d(`assets:assetsPage.useInChat`)]})]})]})})}var Ee=[`all`,`image`,`video`,`file`,`link`];function $(e,t){return t(e===`image`?`assets:assetsPage.images`:e===`video`?`assets:assetsPage.videos`:e===`file`?`assets:assetsPage.files`:e===`link`?`assets:assetsPage.links`:`assets:assetsPage.all`)}function De({activeSessionId:e,onBack:t,notify:n,onUse:r,requestConfirm:s}){let{t:c}=i(),l=a(),u=le(`focusSearch`),[d,f]=(0,V.useState)(``),[p,m]=(0,V.useState)(`all`),[g,_]=(0,V.useState)(!1),[y,b]=(0,V.useState)(!1),[w,T]=(0,V.useState)(null),E=(0,V.useRef)(0),D=(0,V.useRef)(null),O=(0,V.useRef)(!0),k=(0,V.useRef)(e);k.current=e;let A=(0,V.useRef)(new Map),[j,M]=(0,V.useState)({}),[P,I]=(0,V.useState)({}),L=g&&!e,R=o({...Se({query:d,kind:p,sessionId:g?e:``}),enabled:!L}),z=L?[]:R.data;(0,V.useEffect)(()=>{O.current=!0;let e=A.current;return()=>{O.current=!1;for(let t of e.values())t.controller?.abort()}},[]),(0,V.useEffect)(()=>{let e=A.current;return()=>{for(let t of e.values())t.controller?.abort()}},[e]);let B=async(t,i)=>{if(A.current.has(t.id))return;let a=i===`use`?new AbortController:void 0,o=e;A.current.set(t.id,{action:i,controller:a}),M(e=>({...e,[t.id]:i})),I(e=>({...e,[t.id]:``}));try{if(i===`delete`){if(!await s({title:c(`assets:assetsPage.deleteAsset`),message:c(`assets:assetsPage.deleteAssetName`,{name:t.name}),confirmLabel:c(`assets:assetsPage.delete`)})||!O.current)return;await l.cancelQueries({queryKey:Q}),await X.remove(t.id),l.setQueriesData({queryKey:Q},e=>e?.filter(e=>e.id!==t.id)),O.current&&n(c(`assets:assetsPage.assetDeleted`)),await we(l)}else if(i===`use`){let e=await X.content(t.id,a?.signal);if(!O.current||a?.signal.aborted||k.current!==o)return;r(e),n(c(`assets:assetsPage.nameAddedToChat`,{name:t.name}))}else{let e=await _e(t);O.current&&n(c(e===`application`?`assets:assetsPage.openedInApplication`:`assets:assetsPage.downloadStarted`))}}catch(e){O.current&&!a?.signal.aborted&&I(n=>({...n,[t.id]:e instanceof Error?e.message:String(e)}))}finally{A.current.delete(t.id),O.current&&M(e=>({...e,[t.id]:void 0}))}},H=!!(d.trim()||p!==`all`),ge=c(g?`assets:assetsPage.noCurrentAssets`:H?`assets:assetsPage.noMatchingAssets`:`assets:assetsPage.nothingHasGatheredHereYet`),U=`border-star-border bg-star-soft text-star-strong hover:bg-star-soft hover:text-star-strong max-[650px]:h-11`,W=c(`navigation:navigation.assets`),G=(0,Z.jsx)(C,{variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,onClick:()=>{R.refetch()},children:c(`assets:assetsPage.retry`)});return(0,Z.jsxs)(pe,{title:W,description:c(`assets:assetsPage.conversationAttachmentsAndAgentOutputsGatherHereAutomatically`),back:t&&{label:c(`navigation:sidebar.features`),ariaLabel:c(`navigation:shell.backToFeaturesLabel`),onBack:t},toolbar:(0,Z.jsx)(me,{search:(0,Z.jsx)(ue,{id:S,value:d,onValueChange:f,placeholder:c(`navigation:pageHeader.searchPage`,{page:W}),shortcut:u,clearLabel:c(`navigation:more.clearSearch`)}),actions:(0,Z.jsxs)(C,{type:`button`,className:`h-9`,onClick:()=>b(!0),children:[(0,Z.jsx)(h,{}),c(`assets:assetsPage.addLink`)]}),filters:(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,Z.jsxs)(se,{children:[(0,Z.jsx)(ie,{asChild:!0,children:(0,Z.jsxs)(C,{ref:D,variant:`secondary`,size:`sm`,className:`max-[650px]:h-11`,children:[(0,Z.jsx)(he,{}),c(`assets:assetsPage.filters`)]})}),(0,Z.jsxs)(ae,{align:`start`,children:[(0,Z.jsx)(ee,{children:c(`assets:assetsPage.assetType`)}),(0,Z.jsx)(re,{value:p,onValueChange:e=>{Ee.includes(e)&&m(e)},children:Ee.map(e=>(0,Z.jsx)(oe,{value:e,className:`max-[650px]:min-h-11`,onSelect:e=>e.preventDefault(),children:$(e,c)},e))}),(0,Z.jsx)(te,{}),(0,Z.jsx)(ne,{checked:g,className:`max-[650px]:min-h-11`,onCheckedChange:e=>_(e===!0),children:c(`assets:assetsPage.fromCurrentChat`)})]})]}),p!==`all`&&(0,Z.jsxs)(C,{variant:`outline`,size:`sm`,className:U,onClick:()=>m(`all`),"aria-label":c(`assets:assetsPage.removeFilter`,{filter:$(p,c)}),children:[$(p,c),(0,Z.jsx)(x,{})]}),g&&(0,Z.jsxs)(C,{variant:`outline`,size:`sm`,className:U,onClick:()=>_(!1),"aria-label":c(`assets:assetsPage.removeFilter`,{filter:c(`assets:assetsPage.fromCurrentChat`)}),children:[c(`assets:assetsPage.fromCurrentChat`),(0,Z.jsx)(x,{})]}),(0,Z.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`ml-auto text-content-muted max-[650px]:size-11 pointer-coarse:size-11`,loading:R.isFetching&&!L,disabled:L||R.isFetching,"aria-label":c(`assets:assetsPage.refreshAssets`),title:c(`assets:assetsPage.refreshAssets`),onClick:()=>{R.refetch()},children:(0,Z.jsx)(v,{})})]})}),children:[L?(0,Z.jsx)(N,{kind:`empty`,title:c(`assets:assetsPage.noActiveSession`)}):R.isPending&&!R.isError?(0,Z.jsx)(N,{kind:`loading`,title:c(`assets:assetsPage.loadingAssets`)}):z?(0,Z.jsxs)(fe,{"data-assets-results":!0,title:$(p,c),count:z.length,meta:R.isFetching&&(0,Z.jsxs)(`span`,{role:`status`,className:`inline-flex items-center gap-1.5`,children:[(0,Z.jsx)(ce,{className:`size-3.5`}),c(`assets:assetsPage.refreshingAssets`)]}),children:[R.isError&&(0,Z.jsx)(F,{className:`mt-0 mb-2`,children:(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1`,children:R.error.message}),G]})}),z.length?(0,Z.jsx)(de,{children:z.map(e=>(0,Z.jsx)(Oe,{asset:e,busy:j[e.id],error:P[e.id],onPreview:t=>T({asset:e,trigger:t,generation:++E.current}),onAction:t=>{B(e,t)}},e.id))}):!R.isError&&(0,Z.jsx)(N,{kind:`empty`,title:ge,description:c(g||H?`assets:assetsPage.tryOtherFilters`:`assets:assetsPage.bringInALinkOrAttachAFileInAConversationPisperWillGatherTheOutputsCreatedAlongTheWay`)})]}):(0,Z.jsx)(N,{kind:`error`,title:c(`assets:assetsPage.loadFailed`),description:R.error?.message,action:G}),w&&(0,Z.jsx)(Te,{...w,fallback:()=>D.current,onClose:()=>T(null),onUse:()=>{B(w.asset,`use`)},onOpen:()=>{B(w.asset,`open`)},busy:j[w.asset.id],actionError:P[w.asset.id]},w.generation),y&&(0,Z.jsx)(xe,{onClose:()=>b(!1),onCreated:()=>{O.current&&(b(!1),n(c(`assets:assetsPage.linkAssetAdded`))),we(l)}})]})}function Oe({asset:e,busy:t,error:n,onPreview:r,onAction:a}){let{t:o}=i(),[s,c]=(0,V.useState)(!1),l=e.mimeType?.startsWith(`video/`),u=e.kind===`image`?z:l?B:e.kind===`link`?h:m,d=e.kind===`link`?e.url&&new URL(e.url).hostname:/\.([a-z0-9]{1,6})$/i.exec(e.name)?.[1],_=!s&&e.kind===`image`?(0,Z.jsx)(`img`,{className:`size-full rounded-[inherit] object-cover`,src:Y(e.id),alt:``,loading:`lazy`,onError:()=>c(!0)}):!s&&l?(0,Z.jsx)(`video`,{className:`size-full rounded-[inherit] object-cover`,src:Y(e.id),muted:!0,preload:`metadata`,onError:()=>c(!0)}):(0,Z.jsx)(u,{});return(0,Z.jsx)(P,{className:`asset-row`,"data-asset-id":e.id,icon:_,onOpen:e=>r(e.currentTarget),openLabel:`${o(`assets:assetsPage.preview`)}: ${e.name}`,name:(0,Z.jsx)(`span`,{title:e.name,children:e.name}),nameMeta:d||void 0,description:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:e.kind===`link`?`font-mono`:`tabular-nums`,title:e.kind===`link`?e.url:void 0,children:e.kind===`link`?e.url:w(e.size)}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),e.source===`agent`?o(`assets:assetsPage.agentOutputs`):e.source===`attachment`?o(`assets:assetsPage.chatAttachments`):o(`assets:assetsPage.manualUploads`)]}),meta:(e.sessionName||s)&&(0,Z.jsxs)(Z.Fragment,{children:[e.sessionName&&(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,title:e.sessionName,children:o(`assets:assetsPage.fromName`,{name:e.sessionName})}),e.sessionName&&s&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:`·`}),s&&(0,Z.jsx)(`span`,{className:`shrink-0`,children:o(`assets:assetsPage.mediaFailed`)})]}),actions:(0,Z.jsxs)(`div`,{className:`asset-row-actions flex items-center gap-1`,children:[(0,Z.jsxs)(C,{variant:`secondary`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,disabled:!!t,loading:t===`use`,onClick:()=>a(`use`),children:[(0,Z.jsx)(g,{}),(0,Z.jsx)(`span`,{className:`max-[650px]:sr-only`,children:o(`assets:assetsPage.useInChat`)})]}),e.kind===`link`?(0,Z.jsx)(C,{asChild:!0,variant:`ghost`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,children:(0,Z.jsxs)(`a`,{href:e.url,target:`_blank`,rel:`noreferrer`,children:[(0,Z.jsx)(p,{}),(0,Z.jsx)(`span`,{className:`max-[650px]:sr-only`,children:o(`assets:assetsPage.open`)})]})}):(0,Z.jsxs)(C,{variant:`ghost`,size:`sm`,className:`max-[650px]:size-11 max-[650px]:px-0`,disabled:!!t,loading:t===`open`,onClick:()=>a(`open`),children:[W()?(0,Z.jsx)(p,{}):(0,Z.jsx)(f,{}),(0,Z.jsx)(`span`,{className:`max-[650px]:sr-only`,children:W()?o(`assets:assetsPage.openInApplication`):o(`assets:assetsPage.download`)})]}),(0,Z.jsx)(C,{variant:`ghost`,size:`icon-sm`,className:`text-content-muted hover:bg-danger-soft hover:text-danger max-[650px]:size-11`,disabled:!!t,loading:t===`delete`,"aria-label":`${o(`assets:assetsPage.deleteAsset`)}: ${e.name}`,onClick:()=>a(`delete`),children:(0,Z.jsx)(y,{})})]}),detail:n?(0,Z.jsx)(F,{className:`mt-0`,children:n}):void 0})}export{De as AssetsPage};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ManageProjectsDialog-BxB9J7IY.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-CaxKosZm.js","assets/i18n-Cl3sIF9G.js","assets/vendor-router-CSN_DGvx.js","assets/index-rOrQSojS.js","assets/index-l96Dl6z6.css","assets/storage-DtvZ_lEu.js","assets/vendor-state-GkUciC5H.js","assets/arrow-down-CDGua-ue.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-up-DST6-qVQ.js","assets/useCatalogProjects-B10EehnV.js","assets/workspace-order-store-BYpf9Z59.js","assets/session-workspaces-Csgpuzxd.js","assets/useSessionListQuery-DXeYJTOA.js","assets/query-Bj-DUNYq.js","assets/useQuery-DdcpUQhO.js","assets/startup-queries-Cz_Djz3X.js","assets/mutation-CEbxdVYy.js","assets/api-MVoWVwmh.js","assets/abort-signal-f4JsiYKX.js","assets/component-changes-Q9Bf64Ob.js","assets/runtime-capabilities-store-SnV1V9_K.js","assets/runtime-capabilities-CHYOF_hE.js","assets/session-board-status-D2lpFPiI.js","assets/chat-api-D9RzUTQi.js","assets/session-organization-api-BbD_xU9l.js","assets/events-oPlZB-qC.js","assets/session-questions-Cf-1g85h.js","assets/board-projects-DF-0RkuW.js","assets/card-presentation-1oph2b8P.js","assets/pencil-U08v_vV9.js","assets/rotate-ccw-C0v8V77_.js","assets/trash-2-CNrPOoPR.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/button-CCcCN8tE.js","assets/dist-41X0pdUs.js","assets/dialog-9LXtFD-0.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.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-CaxKosZm.js";import{t as a}from"./useQuery-DdcpUQhO.js";import{r as o,u as s}from"./placements-BDYSXHzl.js";import{r as c,u as l}from"./session-board-status-D2lpFPiI.js";import{i as u}from"./use-mobile-C2tPBAza.js";import{t as d}from"./usePhoneShell-0IX6-LbH.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{t as p}from"./arrow-down-CDGua-ue.js";import{t as m}from"./arrow-right-DqLOhpA2.js";import{t as h}from"./arrow-up-DST6-qVQ.js";import{t as g}from"./chevron-down-CxtxIjiP.js";import{t as _}from"./chevron-right-C3t2Rckj.js";import{t as v}from"./corner-down-right--hxi-Ihy.js";import{t as y}from"./ellipsis-CfGKfbq6.js";import{n as b,t as x}from"./useCatalogProjects-B10EehnV.js";import{i as S,n as C,t as w}from"./workspace-order-store-BYpf9Z59.js";import{a as T,i as E,o as D,r as O,s as k,t as A}from"./useNewProjectPicker-CD-xwRhH.js";import{t as j}from"./pin-CU0FG0lI.js";import{t as M}from"./plus-fQbSqB1n.js";import{t as N}from"./rotate-ccw-C0v8V77_.js";import{t as P}from"./square-pen-hYbjKh6A.js";import{t as F}from"./trash-2-CNrPOoPR.js";import{t as I}from"./x-07u4-129.js";import{t as L}from"./brand-DIEc3fK8.js";import{c as R,i as z,p as ee,r as B,t as te}from"./dropdown-menu-Ds0gD8S8.js";import{t as ne}from"./segmented-control-xkrEOP_d.js";import{i as V,n as re,r as ie,t as ae}from"./tooltip-D4MFbqcG.js";import{t as H}from"./utils-C8uzG5AZ.js";import{t as U}from"./button-CCcCN8tE.js";import{t as W}from"./kbd-CAufZTkl.js";import{a as oe,c as se,g as G,n as K,t as q}from"./shortcuts-BmJZiLby.js";import{s as ce}from"./useSessionListQuery-DXeYJTOA.js";import{a as le,f as ue,l as J,n as de,o as fe,s as pe,t as me}from"./useNow-BZ7RxPrw.js";import{u as he}from"./session-workspaces-Csgpuzxd.js";import{r as ge}from"./session-questions-Cf-1g85h.js";import{c as Y,i as _e,l as X,n as ve,o as Z,r as ye,t as be}from"./card-presentation-1oph2b8P.js";import{n as xe,r as Se}from"./format-DMJQzoZ7.js";import{t as Ce}from"./StatusGlyph-1KgitlUg.js";import{t as we}from"./session-change-summary-api-orjhsMHB.js";import{i as Te}from"./board-projects-DF-0RkuW.js";import{c as Ee,i as De,o as Oe,s as ke}from"./folder-paths-DlIGURu0.js";import{n as Ae}from"./PageState-Cz6vFMXv.js";import{n as je,t as Me}from"./esm-DCV8yILT.js";import{c as Ne,i as Pe,l as Fe,n as Ie,o as Le,s as Re,t as ze,u as Be}from"./useSessionRowActions-DCeaGwuL.js";import{n as Ve}from"./BotAvatar-CNL-APwP.js";import{t as He}from"./AppSelect-DQYKUW5E.js";import{t as Ue}from"./new-task-DG4I6cda.js";var We=f(`folder-cog`,[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`,key:`128dxu`}],[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),Ge=f(`folder-pen`,[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`,key:`a8xqs0`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`1saktj`}]]),Q=e(n(),1);function Ke(){let{t:e}=i();return{name:{attention:e(`board:lane.attention`),running:e(`board:lane.running`),queued:e(`board:lane.queued`),done:e(`board:lane.done`)},order:{attention:e(`board:lane.orderAttention`),running:e(`board:lane.orderRunning`),queued:e(`board:lane.orderQueued`),done:e(`board:lane.orderDone`)}}}function qe(e){return e>30}var Je={attention:0,running:1,queued:2,done:3};function Ye(){return{attention:0,running:0,queued:0,done:0}}function Xe(e){return typeof e==`number`&&Number.isFinite(e)?e:null}var Ze=le(e=>e.since),Qe=le(e=>Xe(e.startedAt)??Xe(e.since)),$e=le(e=>e.since,!0);function et(e,t){return Je[e.lane]-Je[t.lane]||(e.lane===`running`?Qe(e,t):e.lane===`done`?$e(e,t):Ze(e,t))}function tt(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=new Set;return e.filter(e=>!e||!e.id||i.has(e.id)||(i.add(e.id),e.session?.archived===!0)?!1:e.lane===`queued`?n?.sessionQueue===!0:e.lane!==`done`||l(e.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`}))}function nt(e,t){let n=tt(e,t).sort(et),r=t.lanes?.length?new Set(t.lanes):null,i=t.projects?.length?new Set(t.projects):null,a=n.filter(e=>(!r||r.has(e.lane))&&(!i||i.has(e.workspaceKey))),o=Ye();for(let e of n)o[e.lane]+=1;let s=new Set(n.map(e=>e.workspaceKey)),l=[];if(t.groupBy===`project`){let e=[...t.projectOrder??[]],n=new Set(e.map(e=>e.key));for(let t of a)n.has(t.workspaceKey)||(n.add(t.workspaceKey),e.push({key:t.workspaceKey,cwd:t.projectCwd}));for(let t of e){let e=a.filter(e=>e.workspaceKey===t.key);if(!e.length)continue;let n=Ye();for(let t of e)n[t.lane]+=1;l.push({kind:`project`,key:t.key,cwd:t.cwd,counts:n,items:e})}}else for(let e of c){let t=a.filter(t=>t.lane===e),n=e===`attention`||e===`running`;r&&!r.has(e)||!t.length&&!n||l.push({kind:`status`,id:e,items:t})}let u=l.flatMap(e=>e.kind===`status`&&e.id===`done`&&t.doneCollapsed?[]:e.items);return{total:n.length,projectCount:s.size,running:o.running,counts:o,sections:l,order:u,attention:u.filter(e=>e.lane===`attention`),attentionAll:n.filter(e=>e.lane===`attention`),filteredEmpty:n.length>0&&a.length===0}}function rt(e,t){let n=Ye(),r={},i=tt(e,t);for(let e of i)n[e.lane]+=1,r[e.workspaceKey]=(r[e.workspaceKey]??0)+1;return{total:i.length,lanes:n,projects:r}}var $=r();function it({files:e,added:t,removed:n}){let{t:r}=i();return(0,$.jsxs)(`span`,{"data-change-stats":!0,className:`flex min-w-0 items-center gap-1.5 text-xs whitespace-nowrap text-content-secondary`,children:[(0,$.jsx)(`span`,{children:r(`board:card.files`,{count:e})}),(0,$.jsxs)(`span`,{className:`font-mono text-success tabular-nums`,children:[`+`,t]}),(0,$.jsxs)(`span`,{className:`font-mono text-danger tabular-nums`,children:[`−`,n]})]})}function at({sessionId:e,completedAt:t}){let n=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=n.current;if(!e||r)return;if(typeof IntersectionObserver>`u`){i(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(i(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[r]);let{data:o}=a({queryKey:[`session-change-summary`,e,t],queryFn:()=>we(e),enabled:r,staleTime:6e4,retry:0});return o?.status!==`known`||!o.changedFiles?(0,$.jsx)(`span`,{ref:n}):(0,$.jsx)(`span`,{ref:n,className:`contents`,children:(0,$.jsx)(it,{files:o.changedFiles,added:o.added||0,removed:o.removed||0})})}function ot({text:e,prefix:t,phone:n=!1,args:r=!1,variant:a=`well`,tabIndex:o,lead:s}){let{t:c}=i(),l=(0,Q.useRef)(null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1);(0,Q.useLayoutEffect)(()=>{let e=l.current;if(!e||f)return;let t=()=>d(e.scrollHeight>e.clientHeight+1);if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[f,e]);let m=a===`plain`,h=(0,Q.useMemo)(()=>e.split(/(\s+)/).filter(Boolean),[e]),g=(u||f)&&(0,$.jsx)(`button`,{type:`button`,"data-card-stop":!0,tabIndex:o,className:H(`text-left text-xs text-content-secondary hover:text-content focus-visible:outline-2 focus-visible:outline-focus pointer-coarse:min-h-11`,m?`mt-0.5 rounded-xs underline underline-offset-2`:`w-full border-t border-well-stroke px-2.5 py-1`),"aria-expanded":f,onClick:()=>p(e=>!e),children:c(f?`board:card.collapse`:r?`board:card.expandArgs`:`board:card.expand`)}),_=(0,$.jsxs)(`pre`,{ref:l,"data-command-text":!0,"aria-label":r?c(`board:confirm.fullArgs`):void 0,className:H(`min-w-0 font-mono text-xs leading-5 whitespace-pre-wrap`,m?`text-content-secondary`:`text-well-text`,!f&&`line-clamp-3 max-h-15`,n&&`text-sm`),children:[s&&(0,$.jsx)(`span`,{className:`font-sans select-none`,children:s}),t&&(0,$.jsxs)(`span`,{className:H(`select-none`,m?`text-content-muted`:`text-well-muted`),children:[t,` `]}),h.map((e,t)=>/^\s+$/.test(e)?e:(0,$.jsx)(`span`,{"data-command-token":!0,className:`inline-block max-w-full align-top break-all`,children:e},t))]});return m?(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start`,children:[_,g]}):(0,$.jsxs)(`div`,{className:`min-w-0 rounded-sm border border-well-stroke bg-well`,children:[(0,$.jsx)(`div`,{className:`px-2.5 py-1.5`,children:_}),g]})}function st(e){return e instanceof Element&&!!e.closest(`button, a, input, textarea, [role="menuitem"], [data-card-stop]`)}function ct({binding:e}){let t=e&&/^Key[A-Z]$/.test(e)?e.slice(3):``;return t?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60 pointer-coarse:hidden`,children:t}):null}function lt(e){return e.split(`
|
|
3
|
-
`).map(e=>e.trim()).find(Boolean)??``}function ut({item:e,now:t,project:n,active:r,dimmed:a,phase:o,bindings:s,handlers:c,menu:l,onStartNow:u,card:d=!1}){let{t:f}=i(),p=(0,Q.useRef)(null),m=r?0:-1,h=e.lane===`attention`,g=e.approvals[0]??null,_=g?.severity===`critical`,y=fe(e),b=e.title||f(`navigation:shell.untitledSession`),x=()=>c.onOpen(e.id),S=`${e.lane}:${e.status}`,C=(0,Q.useRef)(S);(0,Q.useLayoutEffect)(()=>{C.current!==S&&(C.current=S,p.current?.getAnimations?.().forEach(e=>e.cancel()))},[S]);let w=(0,Q.useRef)(!1),T=e=>{let t=w.current;w.current=!1,!(t||st(e.target))&&x()},E=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x())},D=``;D=h?Ne(f,pe(e)):e.status===`failed`?f(`board:status.failedHandled`):e.status===`stopped`?f(`board:status.stopped`):e.lane===`running`?f(`board:status.running`):e.lane===`queued`?f(`board:status.queued`):e.unread?f(`board:overview.doneUnread`):f(`board:status.done`);let O=e.status===`approval`&&e.approvalsState===`ready`&&g?g.toolName||`—`:``,k=``,A=``;if(h&&e.since!==null)k=Re(t-e.since),A=f(`board:overview.waited`,{wait:k});else if(e.lane===`running`){let n=e.startedAt??e.since;k=Pe(n===null?null:t-n),A=k?f(`board:overview.ran`,{time:k}):``}else e.lane===`done`&&(k=Le(e.since),A=k?f(`board:overview.finishedAt`,{time:k}):``);let M=null,N=null,P=(0,$.jsxs)(U,{size:`sm`,tabIndex:m,onClick:x,children:[f(`board:overview.openToHandle`),!d&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60 pointer-coarse:hidden`,children:`↵`})]});if(e.status===`approval`){if(e.approvalsState!==`ready`||!g)M=(0,$.jsx)(`p`,{role:`status`,className:`text-xs leading-5 text-content-muted`,children:e.approvalsState===`error`?f(`board:card.approvalUnavailable`):f(`board:card.approvalLoading`)});else{let t=_e(g.reason),n=_&&t?ye(g.reason):``,r=g.toolName===`bash`&&g.command,i=g.command||g.path,a=i?``:be(g),o=!i&&g.reason&&!t?g.reason:``,s=e.approvals.length-1,c=e.approvals.slice(1).some(e=>e.severity===`critical`),l=_?(0,$.jsxs)(`span`,{"data-severity":`critical`,className:`font-medium text-warning-strong`,children:[n?f(`board:card.criticalWithReason`,{reason:n}):f(`board:card.critical`),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `})]}):null;M=(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[i?(0,$.jsx)(ot,{text:i,prefix:r?`$`:``,variant:`plain`,tabIndex:m,lead:l}):a?(0,$.jsx)(ot,{text:a,prefix:``,variant:`plain`,args:!0,tabIndex:m,lead:l}):l&&(0,$.jsx)(`p`,{className:`min-w-0 truncate text-xs leading-5`,children:l}),o&&(0,$.jsx)(`p`,{className:`min-w-0 text-xs break-words text-content-secondary`,children:o}),s>0&&(0,$.jsx)(`p`,{className:`text-xs leading-5 text-content-muted`,children:f(c?`board:card.moreApprovalsCritical`:`board:card.moreApprovals`,{count:s})})]})}if(y.kind===`decide`&&g){let t=c.isPending(`approve`,e.id,g.id),n=c.isPending(`deny`,e.id,g.id);N=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(U,{variant:`outline`,size:`sm`,tabIndex:m,disabled:t||n,loading:n,"aria-label":f(`board:sidebar.denyNamed`,{title:b}),"aria-keyshortcuts":q(s.deny)||void 0,onClick:()=>c.onDeny(e,g),children:[f(`board:card.deny`),(0,$.jsx)(ct,{binding:s.deny})]}),(0,$.jsxs)(U,{size:`sm`,tabIndex:m,disabled:t||n,loading:t,"aria-label":f(`board:sidebar.approveNamed`,{title:b}),"aria-keyshortcuts":q(s.approve)||void 0,onClick:()=>c.onApprove(e,g),children:[f(`board:card.approve`),(0,$.jsx)(ct,{binding:s.approve})]})]})}else N=P}else if(e.status===`question`){let t=e.question,n=ge(t),r=t?c.isPending(`answer`,e.id,t.id):!1,i=t?.questions[0];M=t?(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,$.jsxs)(`p`,{"data-row-question":!0,className:`min-w-0 text-[13px] leading-5 break-words text-content`,children:[i?.header&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[i.header,` · `]}),i?.question,t.questions.length>1&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[` `,`· `,f(`board:sidebar.reason.questions`,{count:t.questions.length})]})]}),n&&(0,$.jsxs)(`div`,{"data-question-pills":!0,role:`group`,"aria-label":i?.question,className:`flex min-w-0 flex-wrap gap-1.5`,children:[n.map((t,n)=>(0,$.jsxs)(U,{variant:`outline`,size:`sm`,tabIndex:m,disabled:r,"data-question-pill":t,"aria-label":f(`board:question.answerNamed`,{title:b,option:t}),"aria-keyshortcuts":String(n+1),className:H(`h-auto min-h-7 max-w-full whitespace-normal`,d&&`min-h-11`),onClick:()=>c.onAnswer(e,t),children:[!d&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-mono text-[11px] opacity-60 pointer-coarse:hidden`,children:n+1}),(0,$.jsx)(`span`,{className:`break-words text-left`,children:t})]},t)),(0,$.jsx)(U,{variant:`ghost`,size:`sm`,tabIndex:m,className:H(`h-auto min-h-7`,d&&`min-h-11`),onClick:x,children:f(`board:question.other`)})]})]}):null,N=n?null:P}else if(e.status===`failed`&&h){let t=lt(e.error)||[...e.tail].reverse().find(Y)?.trim()||``,n=c.isPending(`retry`,e.id);M=t?(0,$.jsx)(`p`,{"data-card-error":!0,className:`min-w-0 truncate font-mono text-xs leading-5 text-content-secondary`,children:t}):null,N=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(U,{variant:`outline`,size:`sm`,tabIndex:m,onClick:x,children:f(`board:overview.log`)}),(0,$.jsxs)(U,{size:`sm`,tabIndex:m,loading:n,disabled:n,"aria-label":f(`board:overview.retryNamed`,{title:b}),"aria-keyshortcuts":q(s.retry)||void 0,onClick:()=>c.onRetry(e),children:[f(`board:card.retry`),(0,$.jsx)(ct,{binding:s.retry})]})]})}else if(e.lane===`running`){let n=e.activity,r=e.agents,i=null;if(n?.type===`tool`){let e=n.startedAt?Date.parse(n.startedAt):NaN,r=[n.name,n.summary].filter(Boolean).join(` · `),a=Number.isFinite(e)?Re(Math.max(0,t-e)):``;i=(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[r,a&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,a]})]})}else if(e.tail.length)i=(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.tail.at(-1)});else if(n?.type===`model`){let e={starting:f(`board:activity.starting`),thinking:f(`board:activity.thinking`),responding:f(`board:activity.responding`),compacting:f(`board:activity.compacting`)}[n.stage]||f(`board:activity.working`);i=(0,$.jsx)(`span`,{className:`min-w-0 truncate font-sans`,children:e})}(i||r&&r.total>0)&&(M=(0,$.jsxs)(`p`,{"data-card-activity":!0,className:`flex min-w-0 items-center gap-2 font-mono text-xs leading-5 text-content-secondary`,children:[i,r&&r.total>0&&(0,$.jsxs)(`span`,{"data-card-agents":!0,className:`flex flex-none items-center gap-1 font-sans text-content-muted`,title:f(`board:card.subAgentProgress`,r),children:[(0,$.jsx)(v,{className:`size-3`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:f(`board:overview.subAgents`,{running:r.running,total:r.total})}),(0,$.jsx)(`span`,{className:`sr-only`,children:f(`board:card.subAgentProgress`,r)})]})]}))}else if(e.lane===`queued`){let t=e.queue?.startAfterTitle?f(`board:overview.queuedAfter`,{title:e.queue.startAfterTitle}):f(`board:overview.queuedAfterUnknown`);M=(0,$.jsx)(`p`,{"data-queue-detail":!0,className:`min-w-0 truncate text-xs leading-5 text-content-secondary`,children:e.queuePosition?`${t} · ${f(`board:overview.queuePosition`,{n:e.queuePosition})}`:t}),u&&(N=(0,$.jsx)(U,{variant:`outline`,size:`sm`,tabIndex:m,disabled:c.isPending(`start`,e.id),"data-start-now":e.id,onClick:()=>u(e),children:f(`board:overview.startNow`)}))}else if(e.lane===`done`){let t=lt(e.preview);M=t?(0,$.jsx)(`p`,{"data-card-preview":!0,className:`min-w-0 truncate text-xs leading-5 text-content-secondary`,children:t}):null;let n=X(e);N=n?(0,$.jsx)(it,{...n}):e.changeStats?null:(0,$.jsx)(at,{sessionId:e.id,completedAt:typeof e.session.lastCompletedAt==`string`?e.session.lastCompletedAt:null})}return d&&h?(0,$.jsxs)(`article`,{ref:p,"data-board-card":e.id,"data-overview-row":!0,"data-overview-card":!0,"data-lane":e.lane,"data-status":e.status,"data-severity":e.severity??void 0,tabIndex:m,"aria-label":f(`board:card.label`,{title:b,status:D}),"aria-keyshortcuts":`Enter`,onFocus:t=>{(t.target===t.currentTarget||t.currentTarget.contains(t.target))&&c.onFocusCard(e.id)},onPointerDownCapture:e=>{w.current=st(e.target)},onClick:T,onKeyDown:E,className:H(`relative flex min-w-0 cursor-pointer flex-col gap-2 rounded-[14px] border border-st-attn-border bg-panel p-3.5 shadow-edge transition-opacity duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,a&&`opacity-50`),children:[(0,$.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[16px_minmax(0,1fr)_auto] items-start gap-x-2.5`,children:[(0,$.jsx)(`span`,{className:`mt-0.5 grid size-4 place-items-center`,children:(0,$.jsx)(Ce,{status:ve(e),phase:o})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`p`,{className:`flex min-w-0 items-center gap-1.5 text-base leading-5 font-medium text-content`,children:[e.bot&&(0,$.jsx)(Ve,{character:e.bot.character,color:e.bot.color,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:b})]}),(0,$.jsxs)(`p`,{className:`flex min-w-0 items-baseline gap-1 text-xs leading-5`,children:[(0,$.jsxs)(`span`,{"data-row-status":!0,className:`flex-none text-warning-strong`,children:[D,O&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),(0,$.jsx)(`b`,{"data-row-tool":!0,className:`font-mono font-medium`,children:O})]})]}),n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`·`}),(0,$.jsx)(`span`,{"data-row-project":!0,className:`min-w-0 truncate font-mono text-content-muted`,title:e.cwd||void 0,children:n})]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[k&&(0,$.jsxs)(`span`,{"data-row-time":!0,className:`text-xs text-content-muted tabular-nums`,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:k}),(0,$.jsx)(`span`,{className:`sr-only`,children:A})]}),(0,$.jsx)(Fe,{row:{id:e.id,title:b,pinned:e.pinned},actions:l,canMarkHandled:e.status===`failed`,align:`end`,tabIndex:m,className:`size-11`})]})]}),M&&(0,$.jsx)(`div`,{className:`min-w-0 pl-[26px]`,children:M}),N&&(0,$.jsx)(`div`,{"data-card-actions":!0,className:`grid grid-cols-2 gap-2 [&>button]:h-11 [&>button]:w-full [&>button]:text-sm [&>button:only-child]:col-span-2`,children:N})]}):(0,$.jsxs)(`article`,{ref:p,"data-board-card":e.id,"data-overview-row":!0,"data-lane":e.lane,"data-status":e.status,"data-severity":e.severity??void 0,tabIndex:m,"aria-label":f(`board:card.label`,{title:b,status:D}),"aria-keyshortcuts":`Enter`,onFocus:t=>{(t.target===t.currentTarget||t.currentTarget.contains(t.target))&&c.onFocusCard(e.id)},onPointerDownCapture:e=>{w.current=st(e.target)},onClick:T,onKeyDown:E,className:H(`group/row relative grid min-h-[52px] min-w-0 cursor-pointer grid-cols-[16px_minmax(0,1fr)_auto] items-start gap-x-3 rounded-[var(--r-md)] px-3 py-[11px] transition-[opacity,background-color] duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus`,a&&`opacity-50`),children:[(0,$.jsx)(`span`,{className:`mt-0.5 grid size-4 place-items-center`,children:(0,$.jsx)(Ce,{status:ve(e),phase:o})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`p`,{className:`flex min-w-0 items-baseline gap-2.5 leading-5`,children:[e.bot&&(0,$.jsx)(Ve,{character:e.bot.character,color:e.bot.color,size:18,className:`self-center`}),(0,$.jsx)(`span`,{className:H(`min-w-0 truncate text-base font-medium`,e.lane===`done`?`text-content-secondary`:`text-content`),children:b}),(0,$.jsxs)(`span`,{"data-row-status":!0,className:H(`flex-none text-xs`,h?`text-warning-strong`:`text-content-muted`),children:[D,O&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),(0,$.jsx)(`b`,{"data-row-tool":!0,className:`font-mono font-medium`,children:O})]})]}),n&&(0,$.jsx)(`span`,{"data-row-project":!0,className:`min-w-0 shrink truncate font-mono text-xs text-content-muted`,title:e.cwd||void 0,children:n}),e.pinned&&(0,$.jsx)(j,{className:`size-3 flex-none self-center text-content-muted`,strokeWidth:1.75,role:`img`,"aria-label":f(`board:card.pinned`)})]}),M]}),(0,$.jsxs)(`div`,{className:`flex min-h-[30px] items-center gap-2 self-start`,children:[N&&(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:N}),(0,$.jsxs)(`div`,{className:H(`relative flex min-h-[30px] items-center justify-end pointer-coarse:gap-2`,!k&&`min-w-[26px]`),children:[k&&(0,$.jsxs)(`span`,{"data-row-time":!0,className:H(`min-w-[44px] text-right text-xs text-content-muted tabular-nums transition-opacity duration-(--d-fast) group-focus-within/row:opacity-0 group-hover/row:opacity-0 group-has-[[data-state=open]]/row:opacity-0 pointer-coarse:opacity-100`,e.lane===`running`&&`font-mono text-content-secondary`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:k}),(0,$.jsx)(`span`,{className:`sr-only`,children:A})]}),(0,$.jsx)(Fe,{row:{id:e.id,title:b,pinned:e.pinned},actions:l,canMarkHandled:h&&e.status===`failed`,align:`end`,tabIndex:m,className:`absolute top-1/2 right-0 -translate-y-1/2 opacity-0 group-focus-within/row:opacity-100 group-hover/row:opacity-100 data-[state=open]:opacity-100 pointer-coarse:static pointer-coarse:translate-y-0 pointer-coarse:opacity-100`})]})]})]})}var dt=(0,Q.memo)(ut),ft=(0,Q.lazy)(()=>t(()=>import(`./ManageProjectsDialog-BxB9J7IY.js`).then(e=>({default:e.ManageProjectsDialog})),__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])));function pt({commands:e,manageMounted:t,manageOpen:n,onManageOpenChange:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(E,{picker:e.picker,folderDialog:e.folderDialog}),t&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(ft,{open:n,onOpenChange:r,commands:e})})]})}function mt({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:a}){let{t:o}=i(),[s,c]=(0,Q.useState)(``),l=(0,Q.useRef)(``),{newProject:u,picking:d,picker:f,folderDialog:p}=A({onProjectChosen:r,onError:t=>e(t,`error`),onRemembered:a?t=>e(o(`board:project.chosen`,{project:Z(t)}),`info`):void 0}),m={t:o,notify:e,requestConfirm:t,requestText:n},h=e=>ke(e,Z(e.cwd),m,{description:o(`board:project.renameDescription`)}),g=e=>Ee(e,m),_=e=>{let t=O.getState();t.cwd&&he(t.cwd)===e.key&&t.rememberLaunch({cwd:``});let n=J.getState();n.projects.includes(e.key)&&n.setProjectFilter(n.projects.filter(t=>t!==e.key))};return{newProject:u,picking:d,rename:h,resetName:g,remove:async e=>{if(!l.current){l.current=e.key,c(e.key);try{await De(e,m)===`deleted`&&_(e)}finally{l.current=``,c(``)}}},unregister:e=>{l.current||Oe(e,m)&&_(e)},busyKey:s,picker:f,folderDialog:p}}function ht({notify:e,requestConfirm:t,requestText:n,onNewTask:r,keys:i}){let a=mt({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:!0}),o=w(e=>e.moveWorkspace),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),d=()=>{c(!0),u(!0)},{rename:f,resetName:p,remove:m,unregister:h}=a;return{actions:(0,Q.useMemo)(()=>({onNewTask:e=>{O.getState().rememberLaunch({cwd:e.cwd}),r()},onRename:e=>void f(e),onResetName:e=>p(e),onMove:(e,t)=>o(e.key,t,i),onManage:()=>{c(!0),u(!0)},onDelete:e=>e.count===0?h(e):void m(e)}),[i,o,r,m,f,p,h]),deleting:!!a.busyKey,newProject:a.newProject,picking:a.picking,openManage:d,dialogs:{commands:a,manageMounted:s,manageOpen:l,onManageOpenChange:u}}}var gt=`all`,_t=[`attention`,`running`,`queued`,`done`];function vt({items:e,now:t,capabilities:n,laneName:r,notify:a,requestConfirm:o,requestText:s,onNewTask:c}){let{t:l}=i(),u=J(e=>e.lanes),d=J(e=>e.projects),f=J(e=>e.setLaneFilter),p=J(e=>e.setProjectFilter),m=x(),h=ht({notify:a,requestConfirm:o,requestText:s,onNewTask:c,keys:(0,Q.useMemo)(()=>m.map(e=>e.key),[m])}),g=(0,Q.useRef)(null),_=(0,Q.useMemo)(()=>rt(e,{now:t,capabilities:n}),[n,e,t]),v=_t.filter(e=>e!==`queued`||n.sessionQueue===!0&&_.lanes.queued>0),C=u[0]??gt,w=d[0]??``,T=m.find(e=>e.key===w),E=!!T?.cwd&&T?.key!==`\0`;return(0,$.jsxs)(`div`,{"data-overview-filters":!0,className:`mb-4 flex min-w-0 flex-wrap items-center gap-2`,children:[(0,$.jsx)(ne,{id:Ue,"aria-label":l(`board:filter.statuses`),value:C,onValueChange:e=>f(e===gt?[]:[e]),options:[{value:gt,label:l(`board:sidebar.filter.all`),count:_.total},...v.map(e=>({value:e,label:r[e],count:_.lanes[e]}))]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,$.jsxs)(He,{"aria-label":l(`board:filter.projects`),className:`w-48`,value:w,onChange:e=>p(e.target.value?[e.target.value]:[]),children:[(0,$.jsx)(`option`,{value:``,children:l(`board:filter.allProjects`)}),m.map(e=>(0,$.jsx)(`option`,{value:e.key,children:e.label},e.key))]}),(0,$.jsxs)(te,{children:[(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(U,{variant:`ghost`,size:`icon`,"data-overview-project-menu":!0,"aria-label":T?l(`board:project.actionsFor`,{project:T.label}):l(`board:sidebar.filter.projectActions`),title:T?l(`board:project.actionsFor`,{project:T.label}):l(`board:sidebar.filter.projectActions`),children:(0,$.jsx)(y,{"aria-hidden":`true`})})}),(0,$.jsxs)(B,{align:`end`,className:`w-52`,onCloseAutoFocus:e=>{let t=g.current;t&&(g.current=null,e.preventDefault(),t())},children:[T&&(0,$.jsxs)($.Fragment,{children:[E&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(z,{onSelect:()=>g.current=()=>h.actions.onNewTask(T),children:[(0,$.jsx)(M,{"aria-hidden":`true`}),l(`board:project.newTaskHere`)]}),(0,$.jsxs)(z,{onSelect:()=>h.actions.onRename(T),children:[(0,$.jsx)(Ge,{"aria-hidden":`true`}),l(`board:project.rename`)]}),T.custom&&(0,$.jsxs)(z,{onSelect:()=>h.actions.onResetName(T),children:[(0,$.jsx)(N,{"aria-hidden":`true`}),l(`board:project.resetName`)]})]}),(0,$.jsxs)(z,{variant:`destructive`,disabled:h.deleting,onSelect:()=>h.actions.onDelete(T),children:[T.count===0?(0,$.jsx)(b,{"aria-hidden":`true`}):(0,$.jsx)(F,{"aria-hidden":`true`}),T.count===0?l(`board:project.remove`):l(`board:project.delete`)]}),(0,$.jsx)(R,{})]}),(0,$.jsxs)(z,{disabled:h.picking,onSelect:()=>g.current=()=>void h.newProject(),children:[(0,$.jsx)(S,{"aria-hidden":`true`}),l(`board:sidebar.filter.addProject`)]}),(0,$.jsxs)(z,{onSelect:()=>g.current=h.openManage,children:[(0,$.jsx)(We,{"aria-hidden":`true`}),l(`board:project.manage`)]})]})]})]}),(0,$.jsx)(pt,{...h.dialogs})]})}function yt({project:e,first:t,last:n,deleting:r,actions:a}){let{t:o}=i(),s=(0,Q.useRef)(null),c=!!e.cwd;return(0,$.jsxs)(te,{children:[(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(U,{variant:`ghost`,size:`icon-sm`,className:`flex-none`,"aria-label":o(`board:project.actionsFor`,{project:e.label}),title:o(`board:project.actionsFor`,{project:e.label}),children:(0,$.jsx)(y,{"aria-hidden":`true`})})}),(0,$.jsxs)(B,{align:`end`,className:`w-52`,onCloseAutoFocus:e=>{let t=s.current;t&&(s.current=null,e.preventDefault(),t())},children:[c&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(z,{onSelect:()=>s.current=()=>a.onNewTask(e),children:[(0,$.jsx)(M,{"aria-hidden":`true`}),o(`board:project.newTaskHere`)]}),(0,$.jsxs)(z,{onSelect:()=>a.onRename(e),children:[(0,$.jsx)(Ge,{"aria-hidden":`true`}),o(`board:project.rename`)]}),e.custom&&(0,$.jsxs)(z,{onSelect:()=>a.onResetName(e),children:[(0,$.jsx)(N,{"aria-hidden":`true`}),o(`board:project.resetName`)]})]}),(0,$.jsxs)(z,{disabled:t,onSelect:()=>a.onMove(e,-1),children:[(0,$.jsx)(h,{"aria-hidden":`true`}),o(`board:project.moveUpShort`)]}),(0,$.jsxs)(z,{disabled:n,onSelect:()=>a.onMove(e,1),children:[(0,$.jsx)(p,{"aria-hidden":`true`}),o(`board:project.moveDownShort`)]}),(0,$.jsxs)(z,{onSelect:()=>s.current=a.onManage,children:[(0,$.jsx)(We,{"aria-hidden":`true`}),o(`board:project.manage`)]}),(0,$.jsx)(R,{}),(0,$.jsxs)(z,{variant:`destructive`,disabled:r,onSelect:()=>a.onDelete(e),children:[e.count===0?(0,$.jsx)(b,{"aria-hidden":`true`}):(0,$.jsx)(F,{"aria-hidden":`true`}),e.count===0?o(`board:project.remove`):o(`board:project.delete`)]})]})]})}var bt=1200;function xt({items:e,laneName:t,template:n,separator:r,skipAttention:i}){let a=(0,Q.useRef)(null),o=(0,Q.useRef)([]),s=(0,Q.useRef)(null),[c,l]=(0,Q.useState)(``),u=(0,Q.useCallback)(e=>{o.current.push(e),!s.current&&(s.current=setTimeout(()=>{s.current=null,l(o.current.splice(0).join(r))},bt))},[r]);return(0,Q.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]),(0,Q.useLayoutEffect)(()=>{let r=a.current;if(a.current=new Map(e.map(e=>[e.id,e.lane])),r)for(let a of e){let e=r.get(a.id);e!==void 0&&e!==a.lane&&(i&&a.lane===`attention`||u(n(a.title,t[a.lane])))}},[u,e,t,i,n]),c}var St=null;function Ct(e){St=e}function wt(){return St}function Tt(){St=null}var Et=1600,Dt=`[data-overview-scroller]`;function Ot(e,t){return e?.querySelector(`[data-board-card="${CSS.escape(t)}"]`)??null}function kt(e){return e.dataset.overviewScroller===void 0?`other`:`overview`}function At(e){let t=fe(e);return t.kind===`decide`?e.approvals.find(e=>e.id===t.approvalId)??null:null}function jt(){return new Promise(e=>requestAnimationFrame(()=>e()))}function Mt({rootRef:e,order:t,attention:n,attentionAll:r,onRevealAttention:a,reveal:o,ready:s,notify:c,sessionHref:l,onOpenSession:u,onToggleGrouping:d}){let{t:f}=i(),p=ue(),m=se(e=>e.boardBindings),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(null),y=(0,Q.useRef)(p);y.current=p;let b=(0,Q.useRef)(t);b.current=t;let x=(0,Q.useRef)(n);x.current=n;let S=(0,Q.useRef)(r);S.current=r;let C=(0,Q.useRef)(o);C.current=o;let[w,T]=(0,Q.useState)(!1),E=(0,Q.useMemo)(()=>t.map(e=>e.id),[t]),D=E.includes(h)?h:E[0]??``,O=(0,Q.useCallback)(async t=>{if(!t)return;g(t),await jt();let n=(C.current?await C.current(t):null)??Ot(e.current,t);n?.scrollIntoView({block:`nearest`}),n?.focus({preventScroll:!0})},[e]),k=(0,Q.useCallback)(e=>{let t=x.current,n=t.findIndex(t=>t.id===e);return n<0?t[0]?.id??``:t[n+1]?.id??t[n-1]?.id??``},[]),A=(0,Q.useCallback)(t=>{let n={};e.current?.querySelectorAll(Dt).forEach(e=>{n[kt(e)]=e.scrollTop}),Ct({focusId:t,scroll:n}),u(t)},[u,e]),j=(0,Q.useCallback)(e=>{e.ok||e.reason===`pending`||c(f(`board:action.failed`),`error`)},[c,f]),M=(0,Q.useCallback)(t=>Ie(Ot(e.current,t),{duration:180,scale:.9}),[e]),N=(0,Q.useCallback)(t=>Ot(e.current,t)?.getAnimations().forEach(e=>e.cancel()),[e]),P=(0,Q.useCallback)(async(e,t)=>{let n=k(e.id),r=e.approvals.length<=1;r&&await M(e.id);let i=await y.current.approve(e.id,t.id,{confirmCritical:!1});return i.ok?(r&&n&&O(n),i):(N(e.id),i)},[M,O,k,N]),F=(0,Q.useMemo)(()=>({onFocusCard:g,onOpen:A,onApprove:(e,t)=>{if(t.severity===`critical`){A(e.id);return}P(e,t).then(t=>{!t.ok&&t.reason===`confirmation-required`?A(e.id):j(t)})},onDeny:(e,t)=>{let n=k(e.id),r=e.approvals.length<=1;(async()=>{r&&await M(e.id);let i=await y.current.deny(e.id,t.id);i.ok||N(e.id),j(i),i.ok&&r&&n&&O(n)})()},onRetry:e=>{let t=k(e.id);(async()=>{await M(e.id);let n=await y.current.retry(e.id);n.ok||N(e.id),j(n),n.ok&&t&&O(t)})()},onAnswer:(e,t)=>{let n=e.question;if(!n||!ge(n)?.includes(t)){A(e.id);return}let r=k(e.id);(async()=>{await M(e.id);let i=await y.current.answer(e.id,n.id,t);i.ok||N(e.id),j(i),i.ok&&r&&O(r)})()},onStartNow:e=>void y.current.startNow(e.id).then(j),onMarkHandled:e=>void y.current.markHandled(e.id).then(j),onPin:e=>void y.current.pin(e.id,!e.pinned).then(j),onArchive:e=>void y.current.archive(e.id,!0).then(t=>{t.ok?c(f(`board:action.archived`,{title:e.title})):j(t)}),onCopyLink:e=>{let t=l(e.id),n=typeof navigator<`u`?navigator.clipboard:void 0;if(!n){c(f(`board:action.copyFailed`),`error`);return}n.writeText(t).then(()=>c(f(`board:action.copied`)),()=>c(f(`board:action.copyFailed`),`error`))},isPending:(e,t,n)=>p.isPending(e,t,n)}),[p,P,M,O,k,c,A,j,N,l,f]),I=(0,Q.useCallback)(()=>{if(S.current.length-x.current.length>0&&a){T(!0),a();return}let e=x.current[0];if(!e){c(f(`board:triage.nothing`));return}v({total:x.current.length,finished:!1}),O(e.id)},[O,c,a,f]);(0,Q.useEffect)(()=>{!w||n.length<r.length||(T(!1),I())},[n.length,r.length,I,w]);let L=(0,Q.useCallback)(()=>v(null),[]);(0,Q.useEffect)(()=>{if(!_||_.finished)return;if(n.length===0){v({..._,finished:!0});return}let e=_.total-Math.min(_.total,n.length);e+n.length>_.total&&v({..._,total:e+n.length})},[n.length,_]),(0,Q.useEffect)(()=>{if(!_?.finished)return;let e=setTimeout(()=>v(null),Et);return()=>clearTimeout(e)},[_?.finished]);let R=(0,Q.useCallback)(e=>{let t=_?x.current:b.current;if(!t.length)return;let n=t.findIndex(e=>e.id===D),r=n<0?0:Math.max(0,Math.min(t.length-1,n+e));O(t[r].id)},[D,O,_]);(0,Q.useEffect)(()=>{let t=t=>{if(oe(t)||K(t.target))return;let n=e.current,r=t.target instanceof HTMLElement?t.target:null,i=!!r?.closest(`[data-board-card]`);if(!(r&&n?.contains(r)||r===document.body))return;let a=!t.ctrlKey&&!t.metaKey&&!t.altKey&&!t.shiftKey,o=i||!!_,s=b.current.find(e=>e.id===D),c=o&&a&&/^[1-4]$/.test(t.key)&&s?.status===`question`?ge(s.question)?.[Number(t.key)-1]:void 0,l=!0;if(t.key===`Escape`&&_)L();else if(G(t,m.boardNext)||i&&a&&t.key===`ArrowDown`)R(1);else if(G(t,m.boardPrevious)||i&&a&&t.key===`ArrowUp`)R(-1);else if(G(t,m.boardToggleGrouping))d();else if(G(t,m.boardTriage))_?L():I();else if(o&&G(t,m.boardApprove)&&s?.status===`approval`){let e=At(s);e&&F.onApprove(s,e)}else if(o&&G(t,m.boardDeny)&&s?.status===`approval`){let e=At(s);e&&F.onDeny(s,e)}else o&&G(t,m.boardRetry)&&s?.status===`failed`&&s.lane===`attention`?F.onRetry(s):s&&c?F.onAnswer(s,c):t.key===`Enter`&&a&&!i&&s&&_?A(s.id):l=!1;l&&t.preventDefault()};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[m,D,L,F,R,d,A,e,I,_]),(0,Q.useLayoutEffect)(()=>{let t=e.current;return()=>{if(!t||wt())return;let e=document.activeElement,n=e instanceof HTMLElement&&t.contains(e)?e.closest(`[data-board-card]`):null,r={};t.querySelectorAll(Dt).forEach(e=>{r[kt(e)]=e.scrollTop}),Ct({focusId:n?.dataset.boardCard??``,scroll:r})}},[e]),(0,Q.useLayoutEffect)(()=>{let t=wt();!t||!s||!E.length||(Tt(),e.current?.querySelectorAll(Dt).forEach(e=>{let n=kt(e);n in t.scroll&&(e.scrollTop=t.scroll[n])}),E.includes(t.focusId)&&(g(t.focusId),requestAnimationFrame(()=>{(async()=>{((C.current?await C.current(t.focusId):null)??Ot(e.current,t.focusId))?.focus({preventScroll:!0})})()})))},[E,s,e]);let z=_?Math.min(_.total,_.total-Math.min(_.total,n.length)+1):0;return{actions:p,handlers:F,activeId:D,focusCard:O,triage:_?{..._,index:z}:null,startTriage:I,exitTriage:L,bindings:m}}function Nt(e){let{t}=i(),n=w(e=>e.names),r=w(e=>e.order),a=C(e=>e.projects);return(0,Q.useMemo)(()=>ce(Te([...e],a),r).map(e=>({...e,label:n[e.key]||(e.cwd?Z(e.cwd):t(`board:filter.noProject`)),custom:!!(e.cwd&&n[e.key])})),[n,r,e,a,t])}var Pt=Object.freeze({approve:null,deny:null,retry:null}),Ft=(0,Q.lazy)(()=>t(()=>import(`./ManageProjectsDialog-BxB9J7IY.js`).then(e=>({default:e.ManageProjectsDialog})),__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]))),It=`(min-width: 1280px)`;function Lt(e){let t=d(),{t:n}=i();return(0,Q.useEffect)(()=>(document.title=`${n(`board:page.title`)} · ${L}`,()=>{document.title=L}),[n]),(0,$.jsx)(Rt,{...e,phone:t},t?`phone`:`desktop`)}function Rt({activeSessionId:e,onOpenSession:t,onOpenHistory:n,sessionHref:r,notify:a,requestConfirm:c,requestText:l,onNewTask:d,phone:f}){let{t:p}=i(),m=s(`overview-card`).placed,h=u(It),g=m.length?f?`phone`:h?`column`:`popover`:null,_=n=>(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(o,{placed:m,layout:n,activeSessionId:e,notify:a,onOpenSession:t})}),v=D({doneWindow:`today`}),y=J(),b=Ke(),x=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=me(),T=Nt(v.projects),k=y.collapsedLanes.includes(`done`),A=f?y.groupBy:`lane`,j=(0,Q.useMemo)(()=>nt(v.all,{now:C,groupBy:A,capabilities:v.capabilities,lanes:y.lanes,projects:y.projects,projectOrder:T,doneCollapsed:k}),[v.all,v.capabilities,k,C,T,A,y.lanes,y.projects]),M=(0,Q.useMemo)(()=>new Map(T.map(e=>[e.key,e])),[T]),N=j.counts.attention+j.counts.running>0,F=de(N),I=!v.isLoading&&!(v.error&&v.total===0),L=(0,Q.useMemo)(()=>{let e=[];for(let t of j.sections){let n=t.kind===`status`?`status:${t.id}`:`project:${t.key}`;if(e.push({kind:`header`,key:n,section:t}),t.kind===`status`&&t.id===`done`&&k)continue;!t.items.length&&t.kind===`status`&&e.push({kind:`empty`,key:`${n}:empty`,lane:t.id});let r=0;for(let n of t.items)e.push({kind:`row`,key:n.id,item:n,phase:n.lane===`running`?r++*.381966%1:0})}return e},[k,j.sections]),R=j.order.length,z=qe(R),ee=(0,Q.useRef)(-1),B=Me({count:z?L.length:0,getScrollElement:()=>S.current,estimateSize:e=>L[e]?.kind===`row`?64:40,overscan:8,getItemKey:e=>L[e]?.key??e,rangeExtractor:e=>{let t=je(e),n=ee.current;return n<0||n>=e.count||t.includes(n)?t:[...t,n].sort((e,t)=>e-t)}}),te=(0,Q.useCallback)(async e=>{let t=()=>x.current?.querySelector(`[data-board-card="${CSS.escape(e)}"]`)??null;if(!z||t())return t();let n=L.findIndex(t=>t.kind===`row`&&t.key===e);if(n<0)return null;B.scrollToIndex(n,{align:`auto`});for(let e=0;e<3&&!t();e+=1)await new Promise(e=>requestAnimationFrame(()=>e()));return t()},[L,z,B]),V=Mt({rootRef:x,order:j.order,attention:j.attention,attentionAll:j.attentionAll,onRevealAttention:y.clearFilters,reveal:te,ready:!v.isLoading,notify:a,sessionHref:r,onOpenSession:t,onToggleGrouping:()=>{f&&y.setGroupBy(y.groupBy===`lane`?`project`:`lane`)}});ee.current=z?L.findIndex(e=>e.kind===`row`&&e.key===V.activeId):-1;let re=ze({notify:a,requestText:l,onOpenSession:V.handlers.onOpen}),[ie,ae]=(0,Q.useState)(``),W=V.focusCard,oe=(0,Q.useRef)(j.order);oe.current=j.order;let se=(0,Q.useRef)(j.attentionAll);se.current=j.attentionAll,(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.sessionId;if(t){if(oe.current.some(e=>e.id===t)){W(t);return}se.current.some(e=>e.id===t)&&(ae(t),J.getState().clearFilters())}};return window.addEventListener(Be,e),()=>window.removeEventListener(Be,e)},[W]),(0,Q.useEffect)(()=>{!ie||!j.order.some(e=>e.id===ie)||(ae(``),W(ie))},[W,j.order,ie]);let G=xt({items:v.all,laneName:b.name,template:(0,Q.useCallback)((e,t)=>p(`board:announce.moved`,{title:e,lane:t}),[p]),separator:p(`board:sidebar.announceSeparator`),skipAttention:!0}),K=mt({notify:a,requestConfirm:c,requestText:l,onProjectChosen:d,announceChoice:!0}),[ce,le]=(0,Q.useState)(!1),[ue,fe]=(0,Q.useState)(!1),pe=w(e=>e.moveWorkspace),he=(0,Q.useMemo)(()=>j.sections.flatMap(e=>e.kind===`project`&&M.has(e.key)?[e.key]:[]),[j.sections,M]),ge=(0,Q.useMemo)(()=>({onNewTask:e=>{O.getState().rememberLaunch({cwd:e.cwd}),d()},onRename:e=>void K.rename(e),onResetName:e=>K.resetName(e),onMove:(e,t)=>pe(e.key,t,he),onManage:()=>{le(!0),fe(!0)},onDelete:e=>void K.remove(e)}),[K,pe,d,he]),Y=V.bindings,_e=(0,Q.useMemo)(()=>({approve:Y.boardApprove,deny:Y.boardDeny,retry:Y.boardRetry}),[Y.boardApprove,Y.boardDeny,Y.boardRetry]),X=V.triage,ve=A===`lane`,Z=e=>{let t=L[0]!==e;if(e.kind===`header`)return e.section.kind===`status`?(0,$.jsx)(Ht,{spaced:t,lane:e.section.id,count:e.section.items.length,collapsed:e.section.id===`done`&&k,dimmed:!!X&&e.section.id!==`attention`,onToggle:e.section.id===`done`?()=>y.setLaneCollapsed(`done`,!k):void 0}):(0,$.jsx)(Ut,{spaced:t,section:e.section,project:M.get(e.section.key),first:he[0]===e.section.key,last:he.at(-1)===e.section.key,actions:ge,deleting:!!K.busyKey});if(e.kind===`empty`)return(0,$.jsx)(`p`,{className:H(`py-2 pr-3 pl-[40px] text-xs leading-5 text-content-muted`,X&&e.lane!==`attention`&&`opacity-50`),children:e.lane===`attention`?p(`board:sidebar.emptyAttention`):p(`board:sidebar.emptyRunning`)});let n=e.item,r=f&&n.lane===`attention`,i=(0,$.jsx)(dt,{item:n,now:F,project:ve?M.get(n.workspaceKey)?.label??``:``,active:n.id===V.activeId,dimmed:!!X&&n.lane!==`attention`,phase:e.phase,bindings:f?Pt:_e,handlers:V.handlers,menu:re,card:r,onStartNow:V.handlers.onStartNow});return r?(0,$.jsx)(`div`,{className:`py-1`,children:i}):i},ye;ye=v.isLoading?(0,$.jsx)(Ae,{kind:`loading`,title:p(`board:page.loading`)}):v.error&&v.total===0?(0,$.jsx)(Ae,{kind:`error`,title:p(`board:page.error`),description:p(`board:page.errorHint`),action:(0,$.jsx)(U,{variant:`secondary`,onClick:()=>void v.refresh(),children:p(`board:page.retry`)})}):j.total===0?(0,$.jsxs)(`div`,{"data-overview-empty":!0,className:`flex flex-col items-center gap-3 py-24 text-center`,children:[(0,$.jsx)(`p`,{className:`text-base text-content-secondary`,children:p(`board:overview.empty`)}),(0,$.jsxs)(U,{variant:`outline`,onClick:d,children:[(0,$.jsx)(P,{"aria-hidden":`true`}),p(`board:overview.newTask`)]}),!v.catalogEmpty&&(0,$.jsx)(zt,{onClick:n})]}):j.filteredEmpty?(0,$.jsx)(Ae,{kind:`empty`,title:p(`board:filter.emptyTitle`),description:p(`board:filter.emptyHint`),action:(0,$.jsx)(U,{variant:`secondary`,onClick:y.clearFilters,children:p(`board:filter.clear`)})}):z?(0,$.jsx)(`div`,{"data-overview-list":!0,"data-virtual":!0,className:`relative w-full`,style:{height:B.getTotalSize()},children:B.getVirtualItems().map(e=>{let t=L[e.index];return t?(0,$.jsx)(`div`,{ref:B.measureElement,"data-index":e.index,className:`absolute inset-x-0 top-0`,style:{transform:`translateY(${e.start}px)`},children:Z(t)},e.key):null})}):(0,$.jsx)(`div`,{"data-overview-list":!0,className:`flex flex-col`,children:j.sections.map(e=>{let t=e.kind===`status`?`status:${e.id}`:`project:${e.key}`,[n,...r]=L.filter(n=>n.key===t||n.key===`${t}:empty`||n.kind===`row`&&e.items.includes(n.item)),i=r.filter(e=>e.kind===`row`),a=r.find(e=>e.kind===`empty`);return(0,$.jsxs)(`section`,{"aria-labelledby":`overview-${t}`,"data-overview-section":e.kind===`status`?e.id:e.key,children:[n&&Z(n),a&&Z(a),i.length>0&&(0,$.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:i.map(e=>(0,$.jsx)(`li`,{"data-card":f&&e.item.lane===`attention`||void 0,className:`relative [&+&]:before:absolute [&+&]:before:top-0 [&+&]:before:right-3 [&+&]:before:left-10 [&+&]:before:h-px [&+&]:before:bg-stroke data-[card]:before:hidden [[data-card]+&]:before:hidden`,children:Z(e)},e.key))})]},t)})});let be=y.lanes.length>0||y.projects.length>0;return(0,$.jsxs)(`div`,{ref:x,"data-board-root":!0,"data-overview":!0,className:`relative flex h-full min-h-0 w-full min-w-0 flex-col bg-background`,children:[!f&&(0,$.jsx)(`div`,{"data-window-drag-region":!0,"aria-hidden":`true`,className:`h-[52px] flex-none`}),(0,$.jsx)(`div`,{ref:S,"data-overview-scroller":!0,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain pb-20`,children:(0,$.jsxs)(`div`,{className:H(`mx-auto flex w-full gap-10 px-6 max-[650px]:px-4`,g===`column`?`max-w-[1280px]`:`max-w-[928px]`),children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[f&&(0,$.jsx)(`h1`,{className:`sr-only`,children:p(`board:page.title`)}),f?I&&j.total>0&&(0,$.jsx)(`div`,{className:`sticky top-0 z-[1] -mx-4 mb-2 bg-background px-4 pt-1 pb-2`,children:(0,$.jsx)(ne,{size:`default`,"aria-label":p(`board:group.label`),value:y.groupBy,onValueChange:y.setGroupBy,className:`grid h-11 w-full grid-cols-2 [&>button]:h-full`,options:[{value:`lane`,label:p(`board:group.lane`)},{value:`project`,label:p(`board:group.project`)}]})}):(0,$.jsxs)(`header`,{"data-focus-region":`header`,className:`mb-5 flex min-w-0 flex-wrap items-end gap-x-4 gap-y-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h1`,{className:`text-2xl leading-8 font-semibold tracking-[-.01em] text-content`,children:p(`board:page.title`)}),I&&j.total>0&&(0,$.jsx)(Bt,{agents:j.total,projects:j.projectCount,running:j.running})]}),g===`popover`&&_(`popover`),I&&j.total>0&&(0,$.jsxs)(U,{variant:`outline`,onClick:d,children:[(0,$.jsx)(P,{"aria-hidden":`true`}),p(`board:overview.newTask`)]})]}),!f&&I&&v.total>0&&(0,$.jsx)(vt,{items:v.all,now:C,capabilities:v.capabilities,laneName:b.name,notify:a,requestConfirm:c,requestText:l,onNewTask:d}),I&&be&&f&&j.total>0&&(0,$.jsx)(Vt,{lanes:y.lanes,projects:y.projects.map(e=>M.get(e)?.label??``).filter(Boolean),laneName:b.name,onClear:y.clearFilters}),ye,I&&j.total>0&&!j.filteredEmpty&&(0,$.jsx)(`div`,{className:H(`mt-3 pl-1`,X&&`opacity-50`),children:(0,$.jsx)(zt,{onClick:n})}),g===`phone`&&(0,$.jsx)(`section`,{"aria-label":p(`board:overview.widgets`),"data-overview-widgets":`phone`,children:_(`phone`)})]}),g===`column`&&(0,$.jsx)(`aside`,{"data-overview-widgets":`column`,"aria-label":p(`board:overview.widgets`),className:H(`w-80 flex-none`,X&&`opacity-50`),children:_(`column`)})]})}),X&&(0,$.jsx)(Wt,{index:X.index,total:X.total,finished:X.finished,answers:v.capabilities.askUser,keys:{approve:q(Y.boardApprove),deny:q(Y.boardDeny),retry:q(Y.boardRetry)},onExit:V.exitTriage}),(0,$.jsx)(`p`,{"aria-live":`polite`,role:`status`,className:`sr-only`,children:G}),(0,$.jsx)(E,{picker:K.picker,folderDialog:K.folderDialog}),ce&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Ft,{open:ue,onOpenChange:fe,commands:K})})]})}function zt({onClick:e}){let{t}=i();return(0,$.jsxs)(`button`,{type:`button`,"data-overview-history":!0,className:`inline-flex h-8 items-center gap-1 rounded-[var(--r-sm)] px-2 text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:e,children:[t(`board:lane.history`),(0,$.jsx)(m,{className:`size-3.5`,"aria-hidden":`true`})]})}function Bt({agents:e,projects:t,running:n}){let{t:r}=i(),[a,o]=(0,Q.useState)(!1),s=T(a),c=s.data?[s.data.subAgents?r(`board:overview.subAgentSlots`,{running:s.data.subAgents.running,max:s.data.subAgents.max}):``,s.data.todayTokens===null?``:r(`board:overview.todayTokens`,{tokens:Se(s.data.todayTokens)}),s.data.memoryBytes===null?``:r(`board:overview.memory`,{memory:xe(s.data.memoryBytes)})].filter(Boolean):[],l=s.isPending?r(`board:overview.systemLoading`):c.length?c.join(` · `):r(`board:overview.systemUnavailable`);return(0,$.jsx)(ie,{children:(0,$.jsxs)(ae,{open:a,onOpenChange:o,children:[(0,$.jsx)(V,{asChild:!0,children:(0,$.jsx)(`p`,{tabIndex:0,"data-overview-summary":!0,className:`mt-1 w-fit max-w-full truncate rounded-xs text-sm text-content-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus`,children:r(`board:page.summary`,{agents:e,projects:t,running:n})})}),(0,$.jsx)(re,{side:`bottom`,align:`start`,sideOffset:6,"data-overview-system":!0,children:l})]})})}function Vt({lanes:e,projects:t,laneName:n,onClear:r}){let{t:a}=i(),o=a(`board:filter.listSeparator`),s=[e.length?a(`board:filter.statusTitle`,{statuses:e.map(e=>n[e]).join(o)}):``,t.length?a(`board:filter.projectsTitle`,{projects:t.join(o)}):``].filter(Boolean);return(0,$.jsxs)(`div`,{"data-overview-filter":!0,className:`mb-3 flex min-w-0 items-center gap-2 rounded-[var(--r-md)] bg-surface-subtle py-1 pr-1 pl-3 text-xs text-content-secondary`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:s.join(` · `)}),(0,$.jsxs)(U,{variant:`ghost`,size:`xs`,onClick:r,children:[(0,$.jsx)(I,{"aria-hidden":`true`}),a(`board:filter.clear`)]})]})}function Ht({spaced:e,lane:t,count:n,collapsed:r,dimmed:a,onToggle:o}){let{t:s}=i(),c=s(t===`attention`?`board:sidebar.group.attention`:t===`running`?`board:sidebar.group.running`:t===`queued`?`board:sidebar.group.queued`:`board:sidebar.group.done`),l=t===`attention`&&n>0,u=`overview-status:${t}`,d=(0,$.jsxs)($.Fragment,{children:[c,(0,$.jsx)(`span`,{"data-overview-count":!0,className:H(`tabular-nums`,l?`inline-grid h-[18px] min-w-[18px] place-items-center rounded-full bg-warning-soft px-1.5 text-[11.5px] font-semibold ring-1 ring-st-attn-border ring-inset`:`text-content-muted`),children:n}),o&&(r?(0,$.jsx)(_,{className:`size-3.5`,"aria-hidden":`true`}):(0,$.jsx)(g,{className:`size-3.5`,"aria-hidden":`true`}))]}),f=H(`flex h-8 items-center gap-2 px-3 text-[13px] font-medium`,l?`text-warning-strong`:`text-content-secondary`);return(0,$.jsx)(`h2`,{id:u,"data-overview-heading":t,className:H(`m-0 transition-opacity duration-(--d-fast)`,e&&`mt-5`,a&&`opacity-50`),children:o?(0,$.jsx)(`button`,{type:`button`,"aria-expanded":!r,className:H(f,`rounded-[var(--r-md)] hover:text-content focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`),onClick:o,children:d}):(0,$.jsx)(`span`,{className:f,children:d})})}function Ut({spaced:e,section:t,project:n,first:r,last:a,actions:o,deleting:s}){let{t:c}=i(),l=n?.label||c(`board:filter.noProject`),u=t.counts,d=[u.running?c(`board:overview.projectRunning`,{count:u.running}):``,u.queued?c(`board:overview.projectQueued`,{count:u.queued}):``,u.done?c(`board:overview.projectDone`,{count:u.done}):``].filter(Boolean);return(0,$.jsxs)(`div`,{"data-overview-heading":t.key,className:H(`flex h-9 min-w-0 items-center gap-2.5 pr-1 pl-3`,e&&`mt-6`),children:[(0,$.jsx)(k,{className:`size-3.5 flex-none text-content-muted`,strokeWidth:1.75,"aria-hidden":`true`}),(0,$.jsx)(`h2`,{id:`overview-project:${t.key}`,className:`m-0 min-w-0 truncate font-mono text-[13.5px] font-semibold text-content`,title:t.cwd||void 0,children:l}),(0,$.jsxs)(`p`,{className:`min-w-0 flex-1 truncate text-xs text-content-muted`,children:[u.attention>0&&(0,$.jsx)(`b`,{className:`font-medium text-warning-strong`,children:c(`board:overview.projectAttention`,{count:u.attention})}),u.attention>0&&d.length>0&&(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),d.join(` · `)]}),n&&(0,$.jsx)(yt,{project:n,first:r,last:a,deleting:s,actions:o})]})}function Wt({index:e,total:t,finished:n,answers:r,keys:a,onExit:o}){let{t:s}=i(),c=(e,t)=>e?(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(W,{children:e}),t]}):null;return(0,$.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-triage-bar":!0,className:`absolute bottom-5 left-1/2 z-20 flex h-10 max-w-[calc(100%-32px)] -translate-x-1/2 items-center gap-3 overflow-hidden rounded-[var(--r-lg)] border border-stroke bg-solid px-3.5 text-[12.5px] whitespace-nowrap text-content-secondary shadow-float`,children:n?(0,$.jsx)(`b`,{className:`font-medium text-content`,children:s(`board:triage.finished`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`b`,{className:`font-medium text-content tabular-nums`,children:s(`board:triage.progress`,{index:e,total:t})}),c(a.approve,s(`board:triage.approve`)),c(a.deny,s(`board:triage.deny`)),c(a.retry,s(`board:triage.retry`)),r&&c(`1–4`,s(`board:triage.answer`)),c(`↵`,s(`board:triage.open`)),(0,$.jsxs)(U,{variant:`ghost`,size:`xs`,className:`-mr-1.5`,onClick:o,children:[(0,$.jsx)(W,{children:`Esc`}),s(`board:triage.exit`)]})]})})}export{Lt as BoardPage};
|