pisper 0.6.11 → 0.6.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/package.json +5 -5
  2. package/web/.vite/manifest.json +667 -597
  3. package/web/assets/{AppDialog-CbXmk5vN.js → AppDialog-B2sA9Pb-.js} +1 -1
  4. package/web/assets/{AppOverlays-BFLcGGx9.js → AppOverlays-BSQhRkJA.js} +1 -1
  5. package/web/assets/{AssetsPage-BoB8pJxi.js → AssetsPage-BYt5ux5w.js} +1 -1
  6. package/web/assets/{BoardPage-C3P69gtK.js → BoardPage-CMlI4ZXS.js} +3 -3
  7. package/web/assets/{ChannelsPage-yPVopq7h.js → ChannelsPage-D_wMSCSQ.js} +1 -1
  8. package/web/assets/{ChatAppearancePage-DPulJWKJ.js → ChatAppearancePage-I3n1MqQQ.js} +1 -1
  9. package/web/assets/{ChatHistoryPage-CZX27BNu.js → ChatHistoryPage-DfYaF_Up.js} +1 -1
  10. package/web/assets/{ChatPage-Bkv4vff9.js → ChatPage-Da-Olqli.js} +5 -5
  11. package/web/assets/{ConfigPage-D1MJyBus.js → ConfigPage-BEor5fZj.js} +2 -2
  12. package/web/assets/{DesktopWindowControls-CKaPEgxw.js → DesktopWindowControls-CNMZrILS.js} +1 -1
  13. package/web/assets/{DispatchOverlay-CGLJLqZo.js → DispatchOverlay-D-gu_80O.js} +1 -1
  14. package/web/assets/{FeaturePage-RH3fTWIk.js → FeaturePage-Bh5TePxl.js} +1 -1
  15. package/web/assets/{FileAttachmentPreview-BhdQDxeP.js → FileAttachmentPreview-BKf_g87y.js} +1 -1
  16. package/web/assets/{FloatingWidgets-UItLK_UZ.js → FloatingWidgets-C1qQaPBd.js} +1 -1
  17. package/web/assets/{FocusRuntimeControls-DyexiBAA.js → FocusRuntimeControls-6ayCBCsE.js} +1 -1
  18. package/web/assets/{GitDiffViewer-dtiUySxH.js → GitDiffViewer-BMyafOfq.js} +1 -1
  19. package/web/assets/LaunchConsole-DM4YN3y3.js +3 -0
  20. package/web/assets/ManageProjectsDialog-B694Yqbw.js +1 -0
  21. package/web/assets/{MarkdownMessage-CYDI17zd.js → MarkdownMessage-mIynIAzE.js} +1 -1
  22. package/web/assets/McpPage-BfGjtNdb.js +1 -0
  23. package/web/assets/{MemoryPage-ObL1zsXe.js → MemoryPage-2htmr0tu.js} +1 -1
  24. package/web/assets/{MobileNavigation-BIPy8A0i.js → MobileNavigation-qjEdcfhX.js} +1 -1
  25. package/web/assets/{MorePage-CFfeYmW_.js → MorePage-B5nQDAQP.js} +1 -1
  26. package/web/assets/NewFolderDialog-D68r0xND.js +1 -0
  27. package/web/assets/{PageHeader-SVPzWuI3.js → PageHeader-BsadnkzI.js} +1 -1
  28. package/web/assets/{PhoneDrawer-C08oZFjf.js → PhoneDrawer-CGi1h7IU.js} +1 -1
  29. package/web/assets/{PhoneMenuButton-BCxDG78_.js → PhoneMenuButton-DkkEDkfk.js} +1 -1
  30. package/web/assets/{PhoneTopBar-6KsMmalq.js → PhoneTopBar-BwIvKnLT.js} +1 -1
  31. package/web/assets/{PluginsPage-jhrfFTbZ.js → PluginsPage-BV0HrLjj.js} +1 -1
  32. package/web/assets/{QuickPromptIdeas-CX8dS2LC.js → QuickPromptIdeas-Do7Bs-V_.js} +1 -1
  33. package/web/assets/{SafeModePrompt-v1_UpOAA.js → SafeModePrompt-zkBI0cAo.js} +1 -1
  34. package/web/assets/SchedulesPage-Dids4PHA.js +1 -0
  35. package/web/assets/{SessionBrowserPane-Bvy_BC-s.js → SessionBrowserPane-DXca3lhC.js} +2 -2
  36. package/web/assets/{SessionContextPanel-B6c71Uom.js → SessionContextPanel-XMQkDDgD.js} +2 -2
  37. package/web/assets/{SessionHome-B-lxCMjh.js → SessionHome-BoPMlfbE.js} +1 -1
  38. package/web/assets/{SessionInspector-FhXk25KK.js → SessionInspector-DoXEstqb.js} +1 -1
  39. package/web/assets/{SessionShell-B-zDO3z-.js → SessionShell-DC0uS7ab.js} +1 -1
  40. package/web/assets/{SettingsSidebar-K4O49gWb.js → SettingsSidebar-D1F4VOzp.js} +1 -1
  41. package/web/assets/{ShortcutHelpDialog-LajY5QoG.js → ShortcutHelpDialog-b1wuKRGr.js} +1 -1
  42. package/web/assets/{ShortcutKeys-BCndDMeY.js → ShortcutKeys-YBlbJmQo.js} +1 -1
  43. package/web/assets/{SidebarUpdateStatus-2eLpofE7.js → SidebarUpdateStatus-Dn95j8CE.js} +1 -1
  44. package/web/assets/{SkillsPage-Z_czQryK.js → SkillsPage-_g13X5ID.js} +1 -1
  45. package/web/assets/{TaskProcessesPane-GyemHu_6.js → TaskProcessesPane-ChitlEI4.js} +1 -1
  46. package/web/assets/{TaskTerminalView-C7WW5feg.js → TaskTerminalView-od0JCnVb.js} +1 -1
  47. package/web/assets/{TerminalPanel-Ddu_dEnz.js → TerminalPanel-CW47PtOX.js} +1 -1
  48. package/web/assets/{WebDesktopPet-DfAoMXEk.js → WebDesktopPet-BgQkrvFd.js} +1 -1
  49. package/web/assets/{WorkflowsPage-D_wAL0Md.js → WorkflowsPage-BFyP0_j_.js} +1 -1
  50. package/web/assets/{WorkspacePicker-DsJ0_nq_.js → WorkspacePicker-tsgOFkg0.js} +1 -1
  51. package/web/assets/{api-DxQIocGp.js → api-DOHQjQrv.js} +1 -1
  52. package/web/assets/{app-update-awVCww9P.js → app-update-C1oLil1b.js} +1 -1
  53. package/web/assets/{approval-confirm-9qU8wa0h.js → approval-confirm-Bpma8HMP.js} +1 -1
  54. package/web/assets/{board-launch-B2PD2yr-.js → board-launch-CM1zjdqN.js} +1 -1
  55. package/web/assets/board-messages-BOWWyhz_.js +1 -0
  56. package/web/assets/board-projects-Cm1I_eWA.js +1 -0
  57. package/web/assets/{chat-api-CjiINBKJ.js → chat-api-tHFjf7aB.js} +1 -1
  58. package/web/assets/{client-store-H1xTSbo-.js → client-store-CpJ1iryH.js} +1 -1
  59. package/web/assets/{config-search-hFrcaQf0.js → config-search-CyM8kWGv.js} +1 -1
  60. package/web/assets/{dialog-Bs9_FZX7.js → dialog-CfgIErMS.js} +1 -1
  61. package/web/assets/{events-DWUUCmbP.js → events-DV8PYjtk.js} +1 -1
  62. package/web/assets/{field-DaxtcBBA.js → field-DoLEb0np.js} +1 -1
  63. package/web/assets/folder-paths-Bky-CpjC.js +1 -0
  64. package/web/assets/{hosts-DsWmhXz4.js → hosts-DJ2bPahU.js} +1 -1
  65. package/web/assets/{i18n-BjpQE1sJ.js → i18n-CHHZADSh.js} +1 -1
  66. package/web/assets/{index-C3xrFlMb.js → index-CKGGgVei.js} +2 -2
  67. package/web/assets/input-group-h8z63MzW.js +1 -0
  68. package/web/assets/mount-app-B1dKgqo5.js +9 -0
  69. package/web/assets/mutation-CEbxdVYy.js +1 -0
  70. package/web/assets/{palette-navigation-Bni8Mp34.js → palette-navigation-ByC1_QS5.js} +1 -1
  71. package/web/assets/{permission-rules-api-BO8nujtv.js → permission-rules-api-DS_p7Lik.js} +1 -1
  72. package/web/assets/{pick-system-directory-C7BKn3Gc.js → pick-system-directory-Bhvwq-o2.js} +1 -1
  73. package/web/assets/placements-DBcA75II.js +2 -0
  74. package/web/assets/{popover-BqqbRCrL.js → popover-4UKNni3P.js} +1 -1
  75. package/web/assets/public-DMzrVWzM.js +1 -0
  76. package/web/assets/{public-Dp3V7Oez.js → public-QbkhsZjX.js} +2 -2
  77. package/web/assets/{public-components-CjL2gwlJ.js → public-components-Bvl5b8HI.js} +1 -1
  78. package/web/assets/public-diff-zWlldwG3.js +1 -0
  79. package/web/assets/public-launch-WirHCXQ8.js +1 -0
  80. package/web/assets/query-Bj-DUNYq.js +1 -0
  81. package/web/assets/runtime-capabilities-4_ZwLBqF.js +1 -0
  82. package/web/assets/{runtime-capabilities-store-BvWnn9Kx.js → runtime-capabilities-store-CLDMF6_P.js} +1 -1
  83. package/web/assets/{safe-mode-instance-UY-RZ5fF.js → safe-mode-instance-DPnZDrTR.js} +1 -1
  84. package/web/assets/safe-mode-sentinel-DNy3YZMh.js +1 -0
  85. package/web/assets/{session-change-summary-api-CI_mYqV8.js → session-change-summary-api-IM8k3njh.js} +1 -1
  86. package/web/assets/{session-home-sBII_AAO.js → session-home-BSH7HEmZ.js} +1 -1
  87. package/web/assets/{session-organization-api-Dt_FNL0d.js → session-organization-api-dGpPgiLe.js} +1 -1
  88. package/web/assets/{session-scope-SQQU-bRA.js → session-scope-_kqXQnb0.js} +1 -1
  89. package/web/assets/{session-tree-actions-AdyVzQwO.js → session-tree-actions-WcOcYBo-.js} +1 -1
  90. package/web/assets/{session-tree-summary-BfBt_ogL.js → session-tree-summary-CpuI5gMj.js} +1 -1
  91. package/web/assets/session-workspaces-BWTBYaGT.js +1 -0
  92. package/web/assets/{settings-navigation-DV3N_utl.js → settings-navigation-_yUm71Uk.js} +1 -1
  93. package/web/assets/{shortcuts-DWF7_dCu.js → shortcuts-BheSJu4D.js} +1 -1
  94. package/web/assets/{side-chat-context-CtRt4VcS.js → side-chat-context-fHd5qktG.js} +3 -3
  95. package/web/assets/sidebar-DQjsKcJn.js +2 -0
  96. package/web/assets/{sidebar-store-Da-3xIaR.js → sidebar-store-0l_ZiIAA.js} +1 -1
  97. package/web/assets/{speech-session-DjxOmcG7.js → speech-session-CrscgV-X.js} +1 -1
  98. package/web/assets/startup-queries-B_DpfvaA.js +1 -0
  99. package/web/assets/{use-i18n-BIJtH0nB.js → use-i18n-BWyVtWF9.js} +1 -1
  100. package/web/assets/{use-studio-actions-e1FiDWGR.js → use-studio-actions-CdzG_H8p.js} +1 -1
  101. package/web/assets/{useBoardItems-CzLK6g45.js → useBoardItems-RCXS90vW.js} +1 -1
  102. package/web/assets/{useFleetSystemInfo-kKFDmOS4.js → useFleetSystemInfo-rj18NGAd.js} +1 -1
  103. package/web/assets/useNewProjectPicker-q3Albbmn.js +1 -0
  104. package/web/assets/useNow-DlbPA2gp.js +1 -0
  105. package/web/assets/{usePhoneShell-BuNqR-TS.js → usePhoneShell-cDHpi_4q.js} +1 -1
  106. package/web/assets/useQuery-DdcpUQhO.js +1 -0
  107. package/web/assets/useSessionListQuery-B-MnlVs6.js +2 -0
  108. package/web/assets/useSessionRowActions-C6dpdoDz.js +1 -0
  109. package/web/assets/{useSidebarModel-CBd3rSxV.js → useSidebarModel-BIzp9khQ.js} +1 -1
  110. package/web/assets/{web-preview-DJZpUrZT.js → web-preview-DZqYC0Ca.js} +1 -1
  111. package/web/assets/{web-preview-events-DRcd0j1W.js → web-preview-events-DQAcSBmI.js} +1 -1
  112. package/web/assets/workspace-order-store-Cw1fZTM7.js +1 -0
  113. package/web/index.html +1 -1
  114. package/web/assets/LaunchConsole-BIiKjt0j.js +0 -2
  115. package/web/assets/ManageProjectsDialog-CLskSna6.js +0 -1
  116. package/web/assets/McpPage-DC_9gmSC.js +0 -1
  117. package/web/assets/SchedulesPage-G1R7ua11.js +0 -1
  118. package/web/assets/board-messages-xFeTO3o6.js +0 -1
  119. package/web/assets/board-projects-Dxd3yet9.js +0 -1
  120. package/web/assets/input-group-CDEyjyK4.js +0 -1
  121. package/web/assets/launch-defaults-store-DTq_ndTa.js +0 -1
  122. package/web/assets/mount-app-DQkz4dfd.js +0 -9
  123. package/web/assets/mutation-Difliohy.js +0 -1
  124. package/web/assets/placements-Dgq244bc.js +0 -2
  125. package/web/assets/public-DjZxpaMo.js +0 -1
  126. package/web/assets/public-diff-BpkmyA3H.js +0 -1
  127. package/web/assets/public-launch-C4NBmnGZ.js +0 -1
  128. package/web/assets/runtime-capabilities-BhAMiYhG.js +0 -1
  129. package/web/assets/safe-mode-sentinel-DnReXgjI.js +0 -1
  130. package/web/assets/sidebar-DTHEZloM.js +0 -2
  131. package/web/assets/startup-queries-_OUFiG02.js +0 -1
  132. package/web/assets/useNow-CpKRH_uQ.js +0 -1
  133. package/web/assets/useQuery-Bg3cTjsY.js +0 -1
  134. package/web/assets/useSessionListQuery-jM0IQ1En.js +0 -2
  135. package/web/assets/useSessionRowActions-BG8yJygF.js +0 -1
@@ -1 +0,0 @@
1
- var e={version:0,profile:`desktop`,engine:`node`,degraded:!1,modules:{childProcess:!0,workerThreads:!0,sqlite:!0,wasm:!0},features:{chat:!0,sessions:!0,providers:!0,filesystem:!0,assets:!0,skills:!0,webSearch:!0,visualGeneration:!0,imageProcessing:!0,imageAssets:!0,processes:!0,shell:!0,terminal:!0,vcs:!0,memory:!0,workers:!0,plugins:!0,mcp:!0,goals:!0,plans:!0,multiAgent:!0,channels:!0,workflows:!0,schedules:!0,computerUse:!0,browserAutomation:!0,remoteAccess:!0,desktopPet:!0,"board.view":!1,"board.events":!1,askUser:!1,sessionQueue:!1,sessionExport:!1,codemode:!1,"components.native":!1},tools:[]};function t(e,t){return e.features[t]!==!1}var n={assets:`assets`,channels:`channels`,schedules:`schedules`,memory:`memory`,mcp:`mcp`,skills:`skills`,workflows:`workflows`,workflowCreate:`workflows`},r={"desktop-pet":`desktopPet`,"remote-access":`remoteAccess`};function i(e,r){let i=n[r];return!i||t(e,i)}function a(e,n){let i=r[n];return!i||t(e,i)}function o(e,t,{mobileApp:n}){return t===`mobile-server`?n?{supported:!0}:{supported:!1,reason:`mobile-only`}:n?{supported:!1,reason:`desktop-only`}:a(e,t)?{supported:!0}:{supported:!1,reason:`runtime`}}export{i as a,t as i,o as n,a as r,e as t};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-C3xrFlMb.js";var t=`pisper-components-safe-mode`;function n(){try{return e.getItem(t)!==null}catch{return!1}}export{n,t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ManageProjectsDialog-CLskSna6.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-BIJtH0nB.js","assets/i18n-BjpQE1sJ.js","assets/vendor-router-CSN_DGvx.js","assets/index-C3xrFlMb.js","assets/index-CfTBR7Rs.css","assets/storage-BY6wEHPw.js","assets/vendor-state-GkUciC5H.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-down-CDGua-ue.js","assets/arrow-up-DST6-qVQ.js","assets/folder-plus-OPHZsJho.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/useSessionListQuery-jM0IQ1En.js","assets/useQuery-Bg3cTjsY.js","assets/startup-queries-_OUFiG02.js","assets/mutation-Difliohy.js","assets/api-DxQIocGp.js","assets/abort-signal-f4JsiYKX.js","assets/component-changes-Q9Bf64Ob.js","assets/runtime-capabilities-store-BvWnn9Kx.js","assets/runtime-capabilities-BhAMiYhG.js","assets/session-board-status-D2lpFPiI.js","assets/chat-api-CjiINBKJ.js","assets/session-organization-api-Dt_FNL0d.js","assets/events-DWUUCmbP.js","assets/session-questions-Cf-1g85h.js","assets/card-presentation-1oph2b8P.js","assets/dialog-Bs9_FZX7.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/board-projects-Dxd3yet9.js","assets/WorkspacePicker-DsJ0_nq_.js","assets/check-2vYc6QaP.js","assets/triangle-alert-CE1q54ci.js","assets/input-CPw-zkYh.js","assets/alert-firawb0H.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,h as n}from"./vendor-router-CSN_DGvx.js";import{i as r,r as i}from"./vendor-react-DwNgTV1j.js";import{f as a}from"./routes-Da0OHSy6.js";import{t as o}from"./use-i18n-BIJtH0nB.js";import{t as s}from"./createLucideIcon-Cd-3GVxJ.js";import{t as c}from"./chevron-down-CxtxIjiP.js";import{t as l}from"./chevron-right-C3t2Rckj.js";import{t as u}from"./ellipsis-CfGKfbq6.js";import{_ as d,a as f,c as p,d as m,g as h,i as g,l as _,n as v,o as y,p as b,r as x,s as S,t as C,u as w}from"./useSessionRowActions-BG8yJygF.js";import{t as T}from"./folder-plus-OPHZsJho.js";import{r as E}from"./launch-defaults-store-DTq_ndTa.js";import{t as D}from"./pin-CU0FG0lI.js";import{t as O}from"./rotate-ccw-clock-CO6Bw-sF.js";import{i as k,p as A,r as j,t as M}from"./dropdown-menu-CFIFNaKO.js";import{t as N}from"./utils-C8uzG5AZ.js";import{c as P,g as F}from"./shortcuts-DWF7_dCu.js";import{t as I}from"./sidebar-store-Da-3xIaR.js";import{n as ee}from"./useSessionListQuery-jM0IQ1En.js";import{c as L,l as te,n as R,r as z,t as B}from"./useNow-CpKRH_uQ.js";import{t as V}from"./useBoardItems-CzLK6g45.js";import{t as H}from"./useSidebarModel-CBd3rSxV.js";import{t as U}from"./new-task-C3wuHTor.js";import{t as W}from"./shortcut-aria-jHRmld9z.js";import{t as G}from"./StatusGlyph-1KgitlUg.js";import{t as K}from"./sidebar-commands-ZA1UOA_F.js";var ne=s(`layout-list`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}],[`path`,{d:`M14 4h7`,key:`3xa0d5`}],[`path`,{d:`M14 9h7`,key:`1icrd9`}],[`path`,{d:`M14 15h7`,key:`1mj8o2`}],[`path`,{d:`M14 20h7`,key:`11slyb`}]]),q=e(r(),1),J=i(),Y=160,X=600;function re(e,t){switch(t){case`attention`:return e(`board:sidebar.group.attention`);case`running`:return e(`board:sidebar.group.running`);case`queued`:return e(`board:sidebar.group.queued`);case`pinned`:return e(`board:sidebar.group.pinned`);default:return e(`board:sidebar.group.done`)}}function Z(e){return e?[...e.querySelectorAll(`[data-sidebar-row]`)]:[]}function Q(e,t={}){$(()=>e(Z(document.querySelector(`[data-sidebar-groups]`))),t)}function $(e,{unclaimed:t=!1}={}){let n=0,r=()=>{let i=document.activeElement;if(t&&i&&i!==document.body&&!i.closest(`[data-shell-sidebar]`))return;let a=e();if(a){a.focus(),a.scrollIntoView?.({block:`nearest`});return}(n+=1)<20&&requestAnimationFrame(r)};requestAnimationFrame(r)}function ie({resolveCurrentId:e,renderedSessionId:t,onOpenSession:n,onWaiting:r}){let{t:i}=o(),{model:a,isLoading:s}=H(),c=(0,q.useRef)(a);c.current=a;let l=(0,q.useRef)({resolveCurrentId:e,onOpenSession:n});l.current={resolveCurrentId:e,onOpenSession:n},(0,q.useEffect)(()=>{let e=e=>{let t=e.detail;if(!t)return;let n=c.current;if(t.kind===`adjacent`){let e=I.getState().doneCollapsed?n.groups.flatMap(e=>e.id===`done`?[]:e.rows.map(e=>e.id)):n.order,r=z(e,l.current.resolveCurrentId()||null,t.direction);r&&l.current.onOpenSession(r);return}let r=I.getState();if(document.documentElement.hasAttribute(`data-phone-shell`)){let e=t.kind===`focus-attention`?n.longestWaitingId:l.current.resolveCurrentId();if(t.kind===`focus-attention`&&!e)return;r.setDrawerOpen(!0),Q(n=>n.find(t=>t.dataset.sidebarRow===e)??(t.kind===`focus-list`?n[0]:void 0));return}let i=document.querySelector(`[data-settings-sidebar]`);if(i){let e=t.kind===`focus-attention`?`[data-sidebar-fleet-line]`:`[data-settings-section][aria-current="page"]`;$(()=>i.querySelector(e)??void 0);return}let a=document.querySelector(`[data-overview]`);if(t.kind===`focus-attention`){let e=n.longestWaitingId;if(!e)return;if(a){h(e);return}r.collapsed&&r.setPeeking(!0),Q(t=>t.find(t=>t.dataset.sidebarRow===e));return}if(r.collapsed&&r.setPeeking(!0),a){$(()=>{let e=document.querySelector(`[data-shell-sidebar] [data-sidebar-filters]`);return e?.querySelector(`[data-sidebar-filter][aria-pressed="true"]`)??e?.querySelector(`[data-sidebar-filter]`)??void 0});return}let o=l.current.resolveCurrentId();Q(e=>e.find(e=>e.dataset.sidebarRow===o)??e[0])};return window.addEventListener(K,e),()=>window.removeEventListener(K,e)},[]);let u=(0,q.useRef)(t),d=(0,q.useRef)(null);(0,q.useEffect)(()=>{let e=u.current;if(u.current=t,t===null){e&&(d.current=e);return}if(e!==null)return;let n=d.current;d.current=null,!(!n||n!==t||I.getState().collapsed)&&Q(e=>e.find(e=>e.dataset.sidebarRow===n),{unclaimed:!0})},[t]);let f=(0,q.useRef)(r);f.current=r;let p=(0,q.useRef)(null),[m,g]=(0,q.useState)(``);return(0,q.useEffect)(()=>{if(s)return;let e=a.groups.find(e=>e.id===`attention`)?.rows??[],t=p.current;if(p.current=new Set(e.map(e=>e.id)),!t)return;let n=e.filter(e=>!t.has(e.id));if(n.length){for(let e of n)e.reasons.some(e=>e.kind===`approval`||e.kind===`question`)&&f.current?.({title:e.title,reason:w(i,e.reasons)});g(n.map(e=>i(`board:sidebar.announce`,{title:e.title,reason:w(i,e.reasons)})).join(i(`board:sidebar.announceSeparator`)))}},[a.groups,s,i]),(0,J.jsx)(`p`,{"data-sidebar-announce":!0,"aria-live":`polite`,role:`status`,className:`sr-only`,children:m})}function ae({onOpenBoard:e}){let{t}=o(),{model:n,isLoading:r}=H(),i=L(e=>e.setLaneFilter),a=t=>{i([t]),e()},s=n.counts.attention,c=n.counts.running,l=`grid size-10 place-items-center rounded-[var(--r-md)] text-xs font-semibold tabular-nums transition-colors duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus pointer-coarse:size-11`;return(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,"aria-busy":r||void 0,children:[(0,J.jsx)(`button`,{type:`button`,"data-rail-count":`attention`,"aria-label":t(`board:sidebar.railAttention`,{count:s}),title:t(`board:sidebar.railAttention`,{count:s}),className:N(l,s>0?`bg-warning-soft text-warning-strong ring-1 ring-st-attn-border ring-inset hover:brightness-[.98]`:`text-content-muted hover:bg-surface-hover`),onClick:()=>a(`attention`),children:(0,J.jsxs)(`span`,{className:`flex flex-col items-center gap-0.5 leading-none`,children:[(0,J.jsx)(G,{status:`attention`,className:N(`size-3.5`,s===0&&`text-content-faint`)}),(0,J.jsx)(`span`,{children:s})]})}),(0,J.jsx)(`button`,{type:`button`,"data-rail-count":`running`,"aria-label":t(`board:sidebar.railRunning`,{count:c}),title:t(`board:sidebar.railRunning`,{count:c}),className:N(l,`hover:bg-surface-hover`,c>0?`text-content-secondary`:`text-content-muted`),onClick:()=>a(`running`),children:(0,J.jsxs)(`span`,{className:`flex flex-col items-center gap-0.5 leading-none`,children:[(0,J.jsx)(G,{status:`run`,spin:c>0,className:N(`size-3.5`,c===0&&`text-content-faint`)}),(0,J.jsx)(`span`,{children:c})]})})]})}function oe({onOpenBoard:e}){let{t}=o(),{model:n,isLoading:r}=H(),i=L(e=>e.setLaneFilter),a=n.counts.attention,s=n.counts.running;return(0,J.jsxs)(`button`,{type:`button`,"data-sidebar-fleet-line":!0,"aria-busy":r||void 0,"aria-label":t(`board:sidebar.fleet.label`,{attention:a,running:s}),className:`flex h-10 w-full min-w-0 items-center gap-1.5 rounded-[var(--r-md)] px-2.5 text-left text-[12.5px] text-content-secondary transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:()=>{i([]),e()},children:[(0,J.jsx)(G,{status:`attention`,className:N(`size-3.5 flex-none`,a===0&&`text-content-faint`)}),(0,J.jsx)(`span`,{"data-sidebar-fleet":`attention`,className:N(`truncate`,a>0&&`font-medium text-warning-strong`),children:t(`board:sidebar.fleet.attention`,{count:a})}),(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`·`}),(0,J.jsx)(G,{status:`run`,spin:s>0,className:`size-3.5 flex-none`}),(0,J.jsx)(`span`,{"data-sidebar-fleet":`running`,className:`truncate`,children:t(`board:sidebar.fleet.running`,{count:s})}),(0,J.jsx)(l,{className:`ml-auto size-3.5 flex-none text-content-muted`,"aria-hidden":`true`})]})}function se({currentId:e,notify:n,requestText:r,onOpenSession:i,onOpenBoard:s,onOpenHistory:c,onArchived:l,drawer:u=!1}){let{t:d}=o(),{model:f,isLoading:p,error:m,refetch:h}=H(),_=te(),v=(0,q.useRef)(_);v.current=_;let y=I(e=>e.doneCollapsed),b=I(e=>e.setDoneCollapsed),x=L(e=>e.setLaneFilter),S=P(e=>e.boardBindings),w=t(`/`),T=(0,q.useCallback)(e=>w.replace(/\/$/,``)+a(e),[w]),E=f.counts.attention+f.counts.running>0,D=R(E),k=(0,q.useRef)(null),[A,j]=(0,q.useState)(()=>new Set),M=(e,t)=>j(n=>{let r=new Set(n);return t?r.add(e):r.delete(e),r}),N=(0,q.useRef)(null),[ee,z]=(0,q.useState)(()=>new Set),B=(0,q.useMemo)(()=>f.groups.find(e=>e.id===`attention`)?.rows??[],[f.groups]),V=(0,q.useRef)(new Set);V.current=new Set(B.map(e=>e.id)),(0,q.useEffect)(()=>{if(p)return;let e=new Set(B.map(e=>e.id)),t=N.current;if(N.current=e,!t)return;let n=B.filter(e=>!t.has(e.id));n.length&&z(new Set(n.map(e=>e.id)))},[B,p]);let U=C({notify:n,requestText:r,onOpenSession:i,onArchived:l}),W=U.report,G=(0,q.useCallback)(async(e,t,n)=>{if(e.quickAction.kind!==`decide`){i(e.id);return}let{approvalId:r,remaining:a}=e.quickAction,o=a===0,s=!!n?.contains(document.activeElement),c=Z(k.current),l=c.findIndex(t=>t.dataset.sidebarRow===e.id),u=c[l+1]??c[l-1];s&&o&&u?.focus();let d=!1,f=o?g(n,{duration:160,scale:.6}).then(()=>{d||M(e.id,!0)}):Promise.resolve(),p=t?await v.current.approve(e.id,r,{confirmCritical:!1}):await v.current.deny(e.id,r);if(p.ok){if(!o||(await f,!V.current.has(e.id)))return;M(e.id,!1),n?.getAnimations?.().forEach(e=>e.cancel());return}d=!0,await f,M(e.id,!1),n?.getAnimations?.().forEach(e=>e.cancel()),p.reason===`confirmation-required`?i(e.id):W(p)},[i,W]);(0,q.useEffect)(()=>{j(e=>{if(!e.size)return e;let t=new Set(B.map(e=>e.id)),n=new Set([...e].filter(e=>t.has(e)));return n.size===e.size?e:n})},[B]);let K=(0,q.useMemo)(()=>({...U,decide:(e,t,n)=>void G(e,t,n)}),[G,U]),ne=(e,t)=>{if(e.altKey||e.metaKey||e.ctrlKey)return;if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=Z(k.current);t[t.indexOf(e.currentTarget)+(e.key===`ArrowDown`?1:-1)]?.focus();return}if(t.group!==`attention`||e.shiftKey)return;let n=F(e.nativeEvent,S.boardApprove),r=!n&&F(e.nativeEvent,S.boardDeny);!n&&!r||(e.preventDefault(),t.quickAction.kind===`decide`&&K.decide(t,n,e.currentTarget.closest(`[data-sidebar-item]`)))},Y=()=>{x([`running`]),s()};if(p)return(0,J.jsx)(le,{label:d(`board:sidebar.loading`)});let X=!m&&f.groups.every(e=>e.count===0)&&f.groups.length<=2;return(0,J.jsxs)(`div`,{ref:k,"data-sidebar-groups":!0,className:`flex flex-col gap-3 pb-2`,children:[m&&f.groups.every(e=>e.count===0)?(0,J.jsxs)(`div`,{className:`flex flex-col items-start gap-1.5 px-2.5 py-2 text-xs text-content-muted`,children:[(0,J.jsx)(`p`,{children:d(`board:sidebar.error`)}),(0,J.jsx)(`button`,{type:`button`,className:`rounded-sm text-content-secondary underline underline-offset-2 hover:text-content focus-visible:outline-2 focus-visible:outline-focus`,onClick:h,children:d(`board:sidebar.retry`)})]}):X?(0,J.jsx)(`p`,{className:`px-2.5 py-2 text-xs leading-5 text-content-muted`,children:d(`board:sidebar.empty`)}):f.groups.map(t=>(0,J.jsx)(de,{group:t,title:re(d,t.id),collapsed:t.id===`done`&&y,onToggle:t.id===`done`?()=>b(!y):void 0,footer:t.id===`running`&&t.hidden>0?(0,J.jsx)(ue,{onClick:Y,children:d(`board:sidebar.moreRunning`,{count:t.hidden})}):t.id===`done`&&t.hidden>0?(0,J.jsx)(ue,{onClick:c,children:d(`board:sidebar.allDone`)}):null,emptyText:t.id===`attention`?d(`board:sidebar.emptyAttention`):t.id===`running`?d(`board:sidebar.emptyRunning`):``,children:t.rows.map(t=>(0,J.jsx)(fe,{row:t,href:T(t.id),current:t.id===e,now:D,hidden:A.has(t.id),fresh:ee.has(t.id),handlers:K,approveBinding:S.boardApprove,denyBinding:S.boardDeny,onKeyDown:ne,drawer:u},t.id))},t.id)),(0,J.jsxs)(`a`,{href:w.replace(/\/$/,``)+`/chat/history`,className:`flex h-8 items-center gap-2 rounded-[var(--r-md)] px-2.5 text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:e=>{ce(e)&&(e.preventDefault(),c())},children:[(0,J.jsx)(O,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":`true`}),d(`board:sidebar.history`)]})]})}function ce(e){return e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey}function le({label:e}){return(0,J.jsx)(`div`,{role:`status`,"aria-busy":`true`,"aria-label":e,className:`flex flex-col gap-1 px-1 pt-1`,children:[64,48,72,56].map(e=>(0,J.jsxs)(`div`,{className:`flex h-9 items-center gap-2.5 px-1.5`,"aria-hidden":`true`,children:[(0,J.jsx)(`span`,{className:`size-4 flex-none rounded-full bg-surface-hover`}),(0,J.jsx)(`span`,{className:`h-3 rounded-sm bg-surface-hover`,style:{width:`${e}%`}})]},e))})}function ue({children:e,onClick:t}){return(0,J.jsx)(`button`,{type:`button`,className:`flex h-7 w-full items-center gap-1 rounded-[var(--r-md)] px-2.5 pl-[34px] text-left text-xs text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:t,children:e})}function de({group:e,title:t,collapsed:n,onToggle:r,footer:i,emptyText:a,children:o}){let s=`sidebar-group-${e.id}`,u=e.id===`attention`,d=(0,J.jsx)(`span`,{"data-sidebar-count":!0,className:N(`tabular-nums`,u&&e.count>0&&`inline-grid h-[18px] min-w-[18px] place-items-center rounded-full bg-warning-soft px-1.5 text-[11.5px] font-semibold ring-1 ring-st-attn-border ring-inset`),children:e.count}),f=N(`flex h-7 items-center gap-1.5 px-2.5 text-xs font-medium`,u&&e.count>0?`text-warning-strong`:`text-content-muted`);return(0,J.jsxs)(`section`,{"aria-labelledby":s,"data-sidebar-group":e.id,children:[(0,J.jsx)(`h2`,{id:s,className:`m-0`,children:r?(0,J.jsxs)(`button`,{type:`button`,"aria-expanded":!n,className:N(f,`w-full rounded-[var(--r-md)] text-left hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`),onClick:r,children:[t,d,n?(0,J.jsx)(l,{className:`size-3`,"aria-hidden":`true`}):(0,J.jsx)(c,{className:`size-3`,"aria-hidden":`true`})]}):(0,J.jsxs)(`span`,{className:f,children:[t,d]})}),!n&&(e.rows.length?(0,J.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-px p-0`,children:o}):a?(0,J.jsx)(`p`,{className:`px-2.5 pl-[34px] text-xs leading-7 text-content-faint`,children:a}):null),!n&&i]})}function fe({row:e,href:t,current:n,now:r,hidden:i,fresh:a,handlers:s,approveBinding:c,denyBinding:l,onKeyDown:u,drawer:d=!1}){let{t:h}=o(),g=(0,q.useRef)(null),v=(0,q.useRef)(null),b=(0,q.useRef)(null),[x,C]=(0,q.useState)(!1),T=e.group===`attention`;(0,q.useLayoutEffect)(()=>{if(!a||!f())return;let e=g.current,t=v.current;e&&typeof e.animate==`function`&&(e.style.transformOrigin=`top center`,e.animate([{transform:`scaleY(.6)`,opacity:0},{transform:`scaleY(1)`,opacity:1}],{duration:Y,easing:`ease-out`})),t&&typeof t.animate==`function`&&t.animate([{transform:`scale(1)`,opacity:.55},{transform:`scale(2.6)`,opacity:0}],{duration:X,easing:`ease-out`})},[a]),(0,q.useLayoutEffect)(()=>{let e=g.current,t=b.current;if(!e||!t)return;let n=()=>e.style.setProperty(`--quick-w`,`${t.offsetWidth+12}px`);if(n(),typeof ResizeObserver!=`function`)return;let r=new ResizeObserver(n);return r.observe(t),()=>r.disconnect()},[]);let E=``,O=``;e.group===`attention`?(E=_(e.waitingSince===null?null:r-e.waitingSince),O=w(h,e.reasons)):E=e.group===`running`?y(e.startedAt===null?null:r-e.startedAt):e.group===`queued`?`#${e.position}`:e.group===`pinned`?S(e.at,r):p(e.finishedAt);let k=e.group===`attention`?E?h(`board:sidebar.attentionRow`,{title:e.title,reason:O,wait:E}):h(`board:sidebar.attentionRowNoWait`,{title:e.title,reason:O}):void 0,A=`flex h-[26px] flex-none items-center gap-1 rounded-[var(--r-sm)] px-2 text-[12.5px] leading-none font-medium transition-colors duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`;return(0,J.jsxs)(`li`,{ref:g,"data-sidebar-item":e.id,"data-menu-open":x||void 0,hidden:i,className:`group/row relative`,children:[(0,J.jsxs)(`a`,{href:t,"data-sidebar-row":e.id,"data-sidebar-group-row":e.group,"aria-current":n?`page`:void 0,"aria-label":k,className:N(`flex min-w-0 items-center gap-2.5 rounded-[var(--r-md)] px-2.5 text-base text-content [transition:color_var(--d-fast),background-color_var(--d-fast),padding-right_0s_80ms] focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus`,T?d?`h-14`:`h-12 pointer-coarse:h-14`:d?`h-11`:`h-9 pointer-coarse:h-11`,`group-hover/row:pr-[max(10px,var(--quick-w,0px))] group-focus-within/row:pr-[max(10px,var(--quick-w,0px))] group-data-[menu-open]/row:pr-[max(10px,var(--quick-w,0px))]`,n?`bg-surface-active`:`group-hover/row:bg-surface-hover`),onClick:t=>{ce(t)&&(t.preventDefault(),s.open(e))},onKeyDown:t=>u(t,e),children:[(0,J.jsxs)(`span`,{className:N(`relative grid size-4 flex-none place-items-center`,T&&`self-start mt-[7px]`),children:[e.group===`pinned`?(0,J.jsx)(D,{className:`size-3.5 text-content-muted`,strokeWidth:1.75,role:`img`,"aria-label":h(`board:sidebar.group.pinned`)}):(0,J.jsx)(G,{status:e.glyph,phase:e.group===`running`?e.phase:void 0,label:T?void 0:me(h,e)}),T&&(0,J.jsx)(`span`,{ref:v,"aria-hidden":`true`,className:`pointer-events-none absolute inset-1 rounded-full bg-st-attn-fill opacity-0`})]}),(0,J.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,J.jsxs)(`span`,{className:`flex min-w-0 items-baseline gap-1.5`,children:[(0,J.jsx)(`span`,{className:N(`min-w-0 truncate leading-5`,e.group===`done`&&`text-content-secondary`),children:e.title}),e.group===`done`&&e.unread&&(0,J.jsx)(`span`,{role:`img`,"aria-label":h(`board:sidebar.unread`),className:`size-1.5 flex-none translate-y-[-1px] self-center rounded-full bg-content-secondary`})]}),T&&(0,J.jsx)(`span`,{className:`truncate text-xs leading-[17px] text-warning-strong`,children:O})]}),E&&(0,J.jsx)(`span`,{"aria-hidden":T||void 0,className:N(`flex-none text-xs tabular-nums`,e.group===`running`?`font-mono text-content-secondary`:n?`text-content-secondary`:`text-content-muted`,T&&`self-start mt-[7px]`,`max-w-24 overflow-hidden whitespace-nowrap [transition:opacity_120ms_80ms,max-width_0s_80ms] group-hover/row:max-w-0 group-hover/row:opacity-0 group-focus-within/row:max-w-0 group-focus-within/row:opacity-0 group-data-[menu-open]/row:max-w-0 group-data-[menu-open]/row:opacity-0 pointer-coarse:group-hover/row:max-w-24 pointer-coarse:group-hover/row:opacity-100`),children:E})]}),d&&e.group===`attention`&&e.quickAction.kind===`decide`&&(0,J.jsxs)(`div`,{"data-sidebar-drawer-actions":!0,className:`flex gap-2 pr-2.5 pb-1.5 pl-[36px]`,children:[(0,J.jsx)(`button`,{type:`button`,className:`flex h-11 min-w-0 flex-1 items-center justify-center rounded-[var(--r-md)] bg-solid text-sm font-medium text-content ring-1 ring-stroke-strong ring-inset focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus active:bg-surface-hover`,"aria-label":h(`board:sidebar.denyNamed`,{title:e.title}),onClick:t=>s.decide(e,!1,t.currentTarget.closest(`[data-sidebar-item]`)),children:h(`board:sidebar.deny`)}),(0,J.jsx)(`button`,{type:`button`,className:`flex h-11 min-w-0 flex-1 items-center justify-center rounded-[var(--r-md)] bg-star text-sm font-medium text-on-accent focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus active:bg-star-hover`,"aria-label":h(`board:sidebar.approveNamed`,{title:e.title}),onClick:t=>s.decide(e,!0,t.currentTarget.closest(`[data-sidebar-item]`)),children:h(`board:sidebar.approve`)})]}),(0,J.jsxs)(`div`,{ref:b,"data-sidebar-quick":!0,className:N(`absolute top-1/2 right-1.5 flex -translate-y-1/2 items-center gap-1`,`invisible opacity-0 transition-[opacity,visibility] delay-[80ms] duration-[120ms] group-hover/row:visible group-hover/row:opacity-100 group-focus-within/row:visible group-focus-within/row:opacity-100 group-data-[menu-open]/row:visible group-data-[menu-open]/row:opacity-100 pointer-coarse:hidden`,d&&`hidden`),children:[e.group===`attention`&&(e.quickAction.kind===`decide`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{type:`button`,className:N(A,`bg-solid text-content ring-1 ring-stroke-strong ring-inset hover:bg-surface-hover`),"aria-label":h(`board:sidebar.denyNamed`,{title:e.title}),"aria-keyshortcuts":W(l),onClick:t=>s.decide(e,!1,t.currentTarget.closest(`[data-sidebar-item]`)),children:[h(`board:sidebar.deny`),(0,J.jsx)(pe,{binding:l})]}),(0,J.jsxs)(`button`,{type:`button`,className:N(A,`bg-star text-on-accent hover:bg-star-hover`),"aria-label":h(`board:sidebar.approveNamed`,{title:e.title}),"aria-keyshortcuts":W(c),onClick:t=>s.decide(e,!0,t.currentTarget.closest(`[data-sidebar-item]`)),children:[h(`board:sidebar.approve`),(0,J.jsx)(pe,{binding:c})]})]}):(0,J.jsxs)(`button`,{type:`button`,className:N(A,`bg-solid text-content ring-1 ring-stroke-strong ring-inset hover:bg-surface-hover`),"aria-label":h(`board:sidebar.openNamed`,{title:e.title}),onClick:()=>s.open(e),children:[h(`board:sidebar.open`),(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`↵`})]})),(0,J.jsx)(m,{row:e,actions:s,canMarkHandled:e.group===`attention`&&e.status===`failed`,open:x,onOpenChange:C,side:`right`})]})]})}function pe({binding:e}){let t=e&&/^Key[A-Z]$/.test(e)?e.slice(3):``;return t?(0,J.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60`,children:t}):null}function me(e,t){switch(t.glyph){case`run`:return e(`common:statusGlyph.run`);case`queued`:return e(`common:statusGlyph.queued`);case`failed`:return e(`common:statusGlyph.failed`);case`stopped`:return e(`common:statusGlyph.stopped`);case`attention`:return e(`common:statusGlyph.attention`);default:return e(`common:statusGlyph.done`)}}var he=(0,q.lazy)(()=>n(()=>import(`./ManageProjectsDialog-CLskSna6.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]))),ge=(0,q.lazy)(()=>n(()=>import(`./WorkspacePicker-DsJ0_nq_.js`).then(e=>({default:e.WorkspacePicker})),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,43,44,19,18,20,17,36,37,38,39,40,45,46]))),_e=[{lane:`attention`,glyph:`attention`},{lane:`running`,glyph:`run`},{lane:`queued`,glyph:`queued`},{lane:`done`,glyph:`done`}],ve=`flex h-8 w-full min-w-0 items-center gap-2.5 rounded-[var(--r-md)] px-2.5 text-left text-[13.5px] text-content transition-colors duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,ye=`flex h-7 min-w-0 flex-1 items-center px-2.5 text-xs font-medium text-content-muted`;function be(e){return e?[...e.querySelectorAll(`[data-sidebar-filter]`)]:[]}function xe({notify:e,requestConfirm:n,requestText:r,onNewTask:i,onOpenHistory:a}){let{t:s}=o(),{items:c,capabilities:l,isLoading:f}=V(`today`),p=B(),m=L(e=>e.lanes),h=L(e=>e.projects),g=L(e=>e.setLaneFilter),_=L(e=>e.setProjectFilter),y=L(e=>e.clearFilters),S=(0,q.useMemo)(()=>b(c,{now:p,capabilities:l}),[l,c,p]),C=x((0,q.useMemo)(()=>ee(c),[c])),w=(0,q.useRef)(null),D=t(`/`),P=v({notify:e,requestConfirm:n,requestText:r,onProjectChosen:i,announceChoice:!0}),[F,I]=(0,q.useState)(!1),[te,R]=(0,q.useState)(!1),z=(0,q.useRef)(null),{mounted:H,...W}=P.picker,K={attention:s(`board:sidebar.group.attention`),running:s(`board:sidebar.group.running`),queued:s(`board:sidebar.group.queued`),done:s(`board:sidebar.group.done`)},Y=e=>g(m.length===1&&m[0]===e?[]:[e]),X=e=>_(h.length===1&&h[0]===e?[]:[e]),re=e=>{if(e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=e.target;if(!t.hasAttribute(`data-sidebar-filter`))return;let n=be(w.current),r=n.indexOf(t),i=e.key===`ArrowDown`?n[r+1]:e.key===`ArrowUp`?n[r-1]:e.key===`Home`?n[0]:e.key===`End`?n.at(-1):void 0;i&&(e.preventDefault(),i.focus())};if(f)return(0,J.jsx)(le,{label:s(`board:sidebar.loading`)});let Z=_e.filter(({lane:e})=>e!==`queued`||l.sessionQueue===!0&&S.lanes.queued>0),Q=s(`board:filter.projects`);return(0,J.jsxs)(`div`,{ref:w,"data-sidebar-filters":!0,className:`flex flex-col gap-3 pb-2`,onKeyDown:re,children:[(0,J.jsxs)(`section`,{"aria-labelledby":`sidebar-filter-status`,children:[(0,J.jsx)(`h2`,{id:`sidebar-filter-status`,className:ye,children:s(`board:filter.statuses`)}),(0,J.jsxs)(`ul`,{className:`m-0 flex list-none flex-col gap-px p-0`,children:[(0,J.jsx)(`li`,{children:(0,J.jsx)(Se,{id:U,filter:`all`,pressed:m.length===0&&h.length===0,label:s(`board:sidebar.filter.all`),count:S.total,icon:(0,J.jsx)(ne,{className:`size-3.5 text-content-muted`,strokeWidth:1.75,"aria-hidden":`true`}),onClick:y})}),Z.map(({lane:e,glyph:t})=>{let n=S.lanes[e],r=e===`attention`&&n>0;return(0,J.jsx)(`li`,{children:(0,J.jsx)(Se,{filter:e,pressed:m.includes(e),label:K[e],count:n,attention:r,icon:(0,J.jsx)(G,{status:t,spin:!1,className:N(`size-4`,n===0&&e===`attention`&&`text-content-faint`)}),onClick:()=>Y(e)})},e)})]})]}),(0,J.jsxs)(`section`,{"aria-labelledby":`sidebar-filter-projects`,children:[(0,J.jsxs)(`div`,{className:`flex items-center pr-1`,children:[(0,J.jsx)(`h2`,{id:`sidebar-filter-projects`,className:ye,children:Q}),(0,J.jsxs)(M,{children:[(0,J.jsx)(A,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,"data-sidebar-projects-menu":!0,"aria-label":s(`board:sidebar.filter.projectActions`),title:s(`board:sidebar.filter.projectActions`),className:`grid size-6 flex-none place-items-center rounded-[var(--r-sm)] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content focus-visible:outline-2 focus-visible:outline-focus pointer-coarse:size-11`,children:(0,J.jsx)(u,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,J.jsxs)(j,{align:`end`,className:`w-48`,onCloseAutoFocus:e=>{let t=z.current;t&&(z.current=null,e.preventDefault(),t())},children:[(0,J.jsxs)(k,{disabled:P.picking,onSelect:()=>z.current=()=>void P.newProject(),children:[(0,J.jsx)(T,{"aria-hidden":`true`}),s(`board:sidebar.filter.addProject`)]}),(0,J.jsxs)(k,{onSelect:()=>z.current=()=>{I(!0),R(!0)},children:[(0,J.jsx)(d,{"aria-hidden":`true`}),s(`board:project.manage`)]})]})]})]}),C.length?(0,J.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-px p-0`,children:C.map(e=>(0,J.jsx)(`li`,{children:(0,J.jsx)(Se,{filter:`project:${e.key}`,pressed:h.includes(e.key),label:e.label,mono:!!e.cwd&&!e.custom,count:S.projects[e.key]??0,icon:(0,J.jsx)(E,{className:`size-3.5 text-content-muted`,strokeWidth:1.75,"aria-hidden":`true`}),onClick:()=>X(e.key)})},e.key))}):(0,J.jsx)(`p`,{className:`px-2.5 text-xs leading-7 text-content-faint`,children:s(`board:sidebar.filter.noProjects`)})]}),(0,J.jsxs)(`a`,{href:D.replace(/\/$/,``)+`/chat/history`,className:`flex h-8 items-center gap-2 rounded-[var(--r-md)] px-2.5 text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:e=>{e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&(e.preventDefault(),a())},children:[(0,J.jsx)(O,{className:`size-3.5`,strokeWidth:1.75,"aria-hidden":`true`}),s(`board:sidebar.history`)]}),H&&(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(ge,{...W})}),F&&(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(he,{open:te,onOpenChange:R,commands:P})})]})}function Se({id:e,filter:t,pressed:n,label:r,count:i,icon:a,attention:o=!1,mono:s=!1,onClick:c}){return(0,J.jsxs)(`button`,{type:`button`,id:e,"data-sidebar-filter":t,"aria-pressed":n,title:r,className:N(ve,n&&`bg-surface-active font-medium hover:bg-surface-active`,o&&`text-warning-strong`),onClick:c,children:[(0,J.jsx)(`span`,{className:`grid size-4 flex-none place-items-center`,children:a}),(0,J.jsx)(`span`,{className:N(`min-w-0 flex-1 truncate`,s&&`font-mono text-[12.5px]`),children:r}),(0,J.jsx)(`span`,{"data-sidebar-filter-count":!0,className:N(`flex-none text-xs tabular-nums`,o?`font-semibold`:`text-content-muted`),children:i})]})}export{xe as SidebarBoardFilters,ie as SidebarCommands,oe as SidebarFleetLine,ae as SidebarRailCounts,se as SidebarSessions};
@@ -1 +0,0 @@
1
- import{S as e,_ as t,b as n,c as r,d as i,f as a,h as o,i as s,l as c,m as l,p as u,s as d,u as f,x as p}from"./useQuery-Bg3cTjsY.js";import{t as m}from"./mutation-Difliohy.js";import{t as h}from"./api-DxQIocGp.js";var g=class extends e{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new m({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=_(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=_(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){r.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>a(t,e))}findAll(e={}){return this.getAll().filter(t=>a(e,t))}notify(e){r.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return r.batch(()=>Promise.all(e.map(e=>e.continue().catch(l))))}};function _(e){return e.options.scope?.id}var v=class extends e{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,a=t.queryHash??i(r,t),o=this.get(a);return o||(o=new s({client:e,queryKey:r,queryHash:a,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){r.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>u(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>u(e,t)):t}notify(e){r.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){r.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){r.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},y=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new v,this.#t=e.mutationCache||new g,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=p.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=d.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let n=this.defaultQueryOptions(e),r=this.#e.build(this,n),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(t(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=c(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return r.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;r.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return r.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},i=r.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(i).then(l).catch(l)}invalidateQueries(e,t={}){return r.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},i=r.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(l)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(i).then(l)}fetchQuery(e){let n=this.defaultQueryOptions(e);n.retry===void 0&&(n.retry=!1);let r=this.#e.build(this,n);return r.isStaleByTime(t(n.staleTime,r))?r.fetch(n):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(l).catch(l)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(l).catch(l)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return d.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(f(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{o(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(f(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{o(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=i(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===n&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},b=new Set;function x(e){if(!(typeof window>`u`)){try{if(window.localStorage.getItem(`pisper:startup-diagnostics`)!==`1`)return}catch{return}b.has(e)||(b.add(e),performance.mark(`pisper-${e}`),console.debug(`[startup]`,e,Math.round(performance.now())))}}var S=new y({defaultOptions:{queries:{refetchOnWindowFocus:!1,retry:1,staleTime:15e3},mutations:{retry:0}}}),C={config:`/api/config`,sessions:`/api/sessions`,"notification-settings":`/api/settings/notifications`,plugins:`/api/plugins`},w=new Map,T=[`sessions`,`board`];function E(e){return e===`sessions`?T:[e]}function D(e){return{queryKey:E(e),queryFn:async()=>{for(;;){let t=w.get(e);try{let n=await h(C[e]);if(t!==w.get(e))continue;return e===`sessions`&&x(`sessions-loaded`),n}catch(n){if(t!==w.get(e))continue;throw n}}},staleTime:15e3}}function O(e,t=!1){return S.fetchQuery({...D(e),...t?{staleTime:0}:{}})}function k(e){return w.set(e,(w.get(e)??0)+1),S.invalidateQueries({queryKey:E(e),exact:!0},{cancelRefetch:!1})}function A(e){let t=()=>{k(`sessions`)};return e.addEventListener(`pisper:sessions-updated`,t),()=>e.removeEventListener(`pisper:sessions-updated`,t)}export{S as a,k as i,O as n,D as o,A as r,x as s,T as t};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{a as n,o as r}from"./vendor-state-GkUciC5H.js";import{a as i}from"./startup-queries-_OUFiG02.js";import{l as a,n as o,u as s}from"./session-board-status-D2lpFPiI.js";import{u as c}from"./events-DWUUCmbP.js";import{t as l}from"./chat-api-CjiINBKJ.js";import{A as u,C as d,E as f,F as p,M as m,N as h,O as g,P as _,S as v,T as y,_ as b,b as x,g as S,j as C,k as w,w as T,x as E,y as D}from"./useSessionListQuery-jM0IQ1En.js";import{i as O,n as k,r as A}from"./useBoardItems-CzLK6g45.js";import{n as j}from"./card-presentation-1oph2b8P.js";var M=e(t(),1),N=class extends Error{code=`board_confirmation_required`},P=()=>({ok:!1,reason:`pending`,error:null});function F(){u().catch(()=>void 0)}async function I(e,t,n,{confirmCritical:r=!1}){let i=v(e,t);if(n&&(!i||i.severity===`critical`&&!r))return{ok:!1,reason:`confirmation-required`,error:new N};let a=n?`approve`:`deny`,o=E(a,e,t);if(!x(o,a))return P();let s=T(e).filter(e=>e.id!==t);C(e,t);let c=s.length?null:D(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await p.resolveApproval(e,t,n)}catch(t){return c!==null&&y(e,c),i&&m(e,i),g(o),F(),{ok:!1,reason:`failed`,error:t}}try{await f(e,e=>!e||!e.card.approvals.some(e=>e.id===t),{fresh:!0})}catch{}finally{c!==null&&y(e,c),g(o)}return{ok:!0}}function ee(e,t,n={}){return I(e,t,!0,n)}function te(e,t){return I(e,t,!1,{})}async function ne(e,t,n){let r=E(`answer`,e,t);if(!x(r,`answer`))return P();let i=D(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await l.answerQuestion(e,t,{answers:[{selected:[n]}]})}catch(t){return y(e,i),g(r),F(),{ok:!1,reason:`failed`,error:t}}try{await f(e,void 0,{fresh:!0})}catch{}finally{y(e,i),g(r)}return{ok:!0}}async function re(e){let t=E(`start`,e);if(!x(t,`start`))return P();let n=D(e,{streaming:!0});try{await l.startQueuedSession(e)}catch(r){return y(e,n),g(t),F(),{ok:!1,reason:`failed`,error:r}}try{await f(e,void 0,{fresh:!0})}catch{}finally{y(e,n),g(t)}return{ok:!0}}async function ie(e){let t=E(`retry`,e);if(!x(t,`retry`))return P();let n=D(e,{streaming:!0});try{await w(e,`retry`,(t,n)=>p.retry(e,t,n))}catch(r){return y(e,n),g(t),F(),{ok:!1,reason:`failed`,error:r}}try{await f(e,e=>!e||e.session.streaming===!0)}catch{}finally{y(e,n),g(t)}return{ok:!0}}function L(e){h(e.id,{pinned:e.pinned,archived:e.archived,unread:e.unread,needsAttention:e.needsAttention,attentionReason:e.attentionReason}),i.setQueryData(b,t=>t&&{...t,sessions:t.sessions.map(t=>t.id===e.id?{...t,pinned:e.pinned,archived:e.archived,unread:e.unread,needsAttention:e.needsAttention,attentionReason:e.attentionReason}:t)})}async function R(e,t,n,r){let i=E(t,e);if(!x(i,t))return P();let a=D(e,n);try{return L(await p.updateOrganization(e,r)),{ok:!0}}catch(e){return F(),{ok:!1,reason:`failed`,error:e}}finally{y(e,a),g(i)}}function z(e){return d()?R(e,`markHandled`,{unread:!1,needsAttention:!1,attentionReason:null},{read:!0,dismissAttention:!0}):R(e,`markHandled`,{unread:!1},{read:!0})}function B(e,t=!0){return R(e,`pin`,{pinned:t},{pinned:t})}function V(e,t=!0){return R(e,`archive`,{archived:t},{archived:t})}async function H(e,t){let n=E(`rename`,e);if(!x(n,`rename`))return P();try{let n=await p.renameSession(e,t);return h(e,{name:n}),i.setQueryData(b,t=>t&&{...t,sessions:t.sessions.map(t=>t.id===e?{...t,name:n}:t)}),c({id:e,name:n}),{ok:!0}}catch(e){return F(),{ok:!1,reason:`failed`,error:e}}finally{g(n)}}function U(){S();let e=_(e=>e.pending);return(0,M.useMemo)(()=>({approve:ee,deny:te,retry:ie,markHandled:z,pin:B,archive:V,rename:H,answer:ne,startNow:re,pending:e,isPending:(t,n,r=``)=>!!e[E(t,n,r)]}),[e])}var W=`pisper-board-view`,G=[`lane`,`project`],K={groupBy:`lane`,projects:[],lanes:[],collapsedLanes:[],doneWindow:`today`};function q(e){return O(e,{limit:4,maxLength:16}).filter(a)}function J(e){let t=A(e);return{groupBy:G.includes(t.groupBy)?t.groupBy:K.groupBy,projects:O(t.projects),lanes:q(t.lanes),collapsedLanes:q(t.collapsedLanes),doneWindow:o.includes(t.doneWindow)?t.doneWindow:K.doneWindow}}function Y(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}var ae=r()(n(e=>({...K,deckCollapsed:!1,setDeckCollapsed:t=>e({deckCollapsed:t===!0}),setGroupBy:t=>e({groupBy:J({groupBy:t}).groupBy}),setProjectFilter:t=>e({projects:O([...t])}),toggleProjectFilter:t=>e(e=>({projects:O(Y(e.projects,t))})),setLaneFilter:t=>e({lanes:q([...t])}),toggleLaneFilter:t=>e(e=>({lanes:q(Y(e.lanes,t))})),setLaneCollapsed:(t,n)=>e(e=>({collapsedLanes:q(n?[...e.collapsedLanes,t]:e.collapsedLanes.filter(e=>e!==t))})),setDoneWindow:t=>e({doneWindow:J({doneWindow:t}).doneWindow}),clearFilters:()=>e({projects:[],lanes:[]})}),{name:W,storage:k(),version:1,partialize:({groupBy:e,projects:t,lanes:n,collapsedLanes:r,doneWindow:i,deckCollapsed:a})=>({groupBy:e,projects:t,lanes:n,collapsedLanes:r,doneWindow:i,deckCollapsed:a}),merge:(e,t)=>({...t,...J(e),deckCollapsed:A(e).deckCollapsed===!0})}));function X(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Z(e,t=!1){return(n,r)=>{let i=X(e(n)),a=X(e(r));return i===a?n.id<r.id?-1:+(n.id>r.id):i===null?1:a===null?-1:t?a-i:i-a}}function Q(e){let t=[];e.status===`failed`&&t.push({kind:`failed`}),e.status===`approval`&&t.push({kind:`approval`,critical:e.severity===`critical`});let n=X(e.questionCount);return(e.status===`question`||n!==null&&n>0)&&t.push({kind:`question`,count:n!==null&&n>0?n:null}),t}function $(e){let t=e.approvals[0],n=X(e.questionCount);return e.status===`approval`&&e.approvalsState===`ready`&&e.severity===`standard`&&t&&!t.truncated&&!(n!==null&&n>0)?{kind:`decide`,approvalId:t.id,remaining:e.approvals.length-1}:{kind:`open`}}function oe(e){return Math.round(e*.381966%1*1e3)/1e3}function se(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=[],a=[],o=[],c=[],l=[],u=new Set;for(let d of e)!d||typeof d.id!=`string`||!d.id||u.has(d.id)||d.session?.archived!==!0&&(u.add(d.id),d.lane===`attention`?i.push(d):d.lane===`running`?a.push(d):d.lane===`queued`?n?.sessionQueue===!0&&o.push(d):d.lane===`done`&&(d.pinned?c.push(d):s(d.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`})&&l.push(d)));let d=i.sort(Z(e=>e.since)).map(e=>({group:`attention`,id:e.id,title:e.title,status:e.status,pinned:e.pinned===!0,glyph:`attention`,waitingSince:X(e.since),reasons:Q(e),quickAction:$(e)})),f=e=>X(e.startedAt)??X(e.since),p=a.sort(Z(f)).map((e,t)=>({group:`running`,id:e.id,title:e.title,status:e.status,pinned:e.pinned===!0,glyph:`run`,startedAt:f(e),phase:oe(t)})),m=Z(e=>e.since),h=o.sort((e,t)=>{let n=X(e.queuePosition),r=X(t.queuePosition);return n===r?m(e,t):n===null?1:r===null?-1:n-r}).map((e,t)=>({group:`queued`,id:e.id,title:e.title,status:e.status,pinned:e.pinned===!0,glyph:`queued`,position:X(e.queuePosition)??t+1})),g=c.sort(Z(e=>e.since,!0)).map(e=>({group:`pinned`,id:e.id,title:e.title,status:e.status,pinned:e.pinned===!0,glyph:j(e),at:X(e.since)})),_=l.sort(Z(e=>e.since,!0)).map(e=>({group:`done`,id:e.id,title:e.title,status:e.status,pinned:e.pinned===!0,glyph:j(e),finishedAt:X(e.since),unread:e.unread===!0})),v={attention:d.length,running:p.length,queued:h.length,pinned:g.length,done:_.length},y=(e,t,n=1/0)=>({id:e,count:t.length,rows:t.slice(0,n),hidden:Math.max(0,t.length-n)}),b=[y(`attention`,d),y(`running`,p,8)];return h.length&&b.push(y(`queued`,h)),g.length&&b.push(y(`pinned`,g)),_.length&&b.push(y(`done`,_,10)),{groups:b,counts:v,order:b.flatMap(e=>e.rows.map(e=>e.id)),longestWaitingId:d[0]?.id??null}}function ce(e,t,n){if(!e.length)return null;let r=t?e.indexOf(t):-1;return r<0?n===1?e[0]:e[e.length-1]:e[r+n]??null}function le(e){let[t,n]=(0,M.useState)(()=>Date.now());return(0,M.useEffect)(()=>{if(!e)return;let t=null,r=()=>{t||document.visibilityState===`hidden`||(n(Date.now()),t=setInterval(()=>n(Date.now()),1e3))},i=()=>{t&&clearInterval(t),t=null},a=()=>document.visibilityState===`hidden`?i():r();return r(),document.addEventListener(`visibilitychange`,a),()=>{i(),document.removeEventListener(`visibilitychange`,a)}},[e]),t}function ue(){let[e,t]=(0,M.useState)(()=>Math.floor(Date.now()/6e4)*6e4);return(0,M.useEffect)(()=>{let e=null,n=()=>{let r=Date.now();t(Math.floor(r/6e4)*6e4),e=setTimeout(n,6e4-r%6e4+50)},r=()=>{e&&clearTimeout(e),e=null},i=()=>{r(),document.visibilityState!==`hidden`&&n()};return i(),document.addEventListener(`visibilitychange`,i),()=>{r(),document.removeEventListener(`visibilitychange`,i)}},[]),e}export{Z as a,ae as c,se as i,U as l,le as n,$ as o,ce as r,Q as s,ue as t};
@@ -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";var r=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},i=new class extends r{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},a={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},o=new class{#e=a;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function s(e){setTimeout(e,0)}var c=typeof window>`u`||`Deno`in globalThis;function l(){}function u(e,t){return typeof e==`function`?e(t):e}function d(e){return typeof e==`number`&&e>=0&&e!==1/0}function f(e,t){return Math.max(e+(t||0)-Date.now(),0)}function p(e,t){return typeof e==`function`?e(t):e}function m(e,t){return typeof e==`function`?e(t):e}function h(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==_(o,t.options))return!1}else if(!y(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function g(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(v(t.options.mutationKey)!==v(a))return!1}else if(!y(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function _(e,t){return(t?.queryKeyHashFn||v)(e)}function v(e){return JSON.stringify(e,(e,t)=>w(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function y(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){for(let n=0;n<t.length;n++)if(!y(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!y(e[r],t[r]))return!1;return!0}return!1}var b=Object.prototype.hasOwnProperty;function x(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=C(e)&&C(t);if(!r&&!(w(e)&&w(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:b.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=x(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function S(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function C(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function w(e){if(!T(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!T(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function T(e){return Object.prototype.toString.call(e)===`[object Object]`}function ee(e){return new Promise(t=>{o.setTimeout(t,e)})}function E(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:x(e,t)}function te(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function ne(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var D=Symbol();function O(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===D?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function k(e,t){return typeof e==`function`?e(...t):!!e}function re(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var A=(()=>{let e=()=>c;return{isServer(){return e()},setIsServer(t){e=t}}})();function j(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var ie=s;function ae(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=ie,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var M=ae(),N=new class extends r{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function oe(e){return Math.min(1e3*2**e,3e4)}function P(e){return(e??`online`)!==`online`||N.isOnline()}var F=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function I(e){let t=!1,n=0,r,a=j(),o=()=>a.status!==`pending`,s=t=>{if(!o()){let n=new F(t);p(n),e.onCancel?.(n)}},c=()=>{t=!0},l=()=>{t=!1},u=()=>i.isFocused()&&(e.networkMode===`always`||N.isOnline())&&e.canRun(),d=()=>P(e.networkMode)&&e.canRun(),f=e=>{o()||(r?.(),a.resolve(e))},p=e=>{o()||(r?.(),a.reject(e))},m=()=>new Promise(t=>{r=e=>{(o()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,o()||e.onContinue?.()}),h=()=>{if(o())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(o())return;let i=e.retry??(A.isServer()?0:3),a=e.retryDelay??oe,s=typeof a==`function`?a(n,r):a,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),ee(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:a,status:()=>a.status,cancel:s,continue:()=>(r?.(),a),cancelRetry:c,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),a)}}var L=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),d(this.gcTime)&&(this.#e=o.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(A.isServer()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(o.clearTimeout(this.#e),this.#e=void 0)}};function se(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{re(e,()=>t.signal,()=>n=!0)},u=O(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?ne:te;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?ce:R,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:R(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function R(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function ce(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var le=class extends L{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=V(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=V(this.options);e.data!==void 0&&(this.setState(B(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=E(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(l).catch(l):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>m(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===D||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>p(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!f(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=O(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?se(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=I({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof F&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof F){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...z(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...B(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),M.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function z(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:P(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function B(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function V(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var H=class extends r{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=j(),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),W(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return G(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return G(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 m(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&&K(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(t.enabled,this.#t)||p(this.options.staleTime,this.#t)!==p(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||m(this.options.enabled,this.#t)!==m(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 ue(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(l)),t}#g(){this.#b();let e=p(this.options.staleTime,this.#t);if(A.isServer()||this.#r.isStale||!d(e))return;let t=f(this.#r.dataUpdatedAt,e)+1;this.#d=o.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,!(A.isServer()||m(this.options.enabled,this.#t)===!1||!d(this.#p)||this.#p===0)&&(this.#f=o.setInterval(()=>{(this.options.refetchIntervalInBackground||i.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(o.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(o.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,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&W(e,t),o=i&&K(e,n,t,r);(a||o)&&(l={...l,...z(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:h}=l;d=l.data;let g=!1;if(t.placeholderData!==void 0&&d===void 0&&h===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,g=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(h=`success`,d=E(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!g){if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=E(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),h=`error`);let _=l.fetchStatus===`fetching`,v=h===`pending`,y=h===`error`,b=v&&_,x=d!==void 0,S={status:h,fetchStatus:l.fetchStatus,isPending:v,isSuccess:h===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:_,isRefetching:_&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:q(e,t),refetch:this.refetch,promise:this.#o,isEnabled:m(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{let e=this.#o=S.promise=j();i(e)},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a()}}return S}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 U(e,t){return m(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||m(t.retryOnMount,e)!==!1)}function W(e,t){return U(e,t)||e.state.data!==void 0&&G(e,t,t.refetchOnMount)}function G(e,t,n){if(m(t.enabled,e)!==!1&&p(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&q(e,t)}return!1}function K(e,t,n,r){return(e!==t||m(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&q(e,n)}function q(e,t){return m(t.enabled,e)!==!1&&e.isStaleByTime(p(t.staleTime,e))}function ue(e,t){return!S(e.getCurrentResult(),t)}var J=e(t(),1),de=n(),Y=J.createContext(void 0),X=e=>{let t=J.useContext(Y);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},fe=({client:e,children:t})=>(J.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,de.jsx)(Y.Provider,{value:e,children:t})),Z=J.createContext(!1),pe=()=>J.useContext(Z);Z.Provider;function me(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Q=J.createContext(me()),he=()=>J.useContext(Q),ge=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?k(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},_e=e=>{J.useEffect(()=>{e.clearReset()},[e])},ve=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||k(n,[e.error,r])),ye=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))}},be=(e,t)=>e.isLoading&&e.isFetching&&!t,xe=(e,t)=>e?.suspense&&t.isPending,$=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Se(e,t,n){let r=pe(),i=he(),a=X(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,ye(o),ge(o,i,s),_e(i);let u=!a.getQueryCache().get(o.queryHash),[d]=J.useState(()=>new t(a,o)),f=d.getOptimisticResult(o),p=!r&&c;if(J.useSyncExternalStore(J.useCallback(e=>{let t=p?d.subscribe(M.batchCalls(e)):l;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),J.useEffect(()=>{d.setOptions(o)},[o,d]),xe(o,f))throw $(o,d,i);if(ve({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw f.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,f),o.experimental_prefetchInRender&&!A.isServer()&&be(f,r)&&(u?$(o,d,i):s?.promise)?.catch(l).finally(()=>{d.updateResult()}),o.notifyOnChangeProps?f:d.trackResult(f)}function Ce(e,t){return Se(e,H,t)}export{r as S,p as _,L as a,D as b,M as c,_ as d,g as f,x as g,y as h,le as i,u as l,l as m,fe as n,I as o,h as p,X as r,N as s,Ce as t,v as u,S as v,i as x,k as y};
@@ -1,2 +0,0 @@
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{t as r,u as i}from"./useQuery-Bg3cTjsY.js";import{a,i as o,n as s,o as c,t as l}from"./startup-queries-_OUFiG02.js";import{t as u}from"./component-changes-Q9Bf64Ob.js";import{a as d,c as f,s as p,u as m}from"./api-DxQIocGp.js";import{t as h}from"./runtime-capabilities-store-BvWnn9Kx.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-CjiINBKJ.js";import{n as x}from"./session-organization-api-Dt_FNL0d.js";import{i as te}from"./session-questions-Cf-1g85h.js";var S=400,ne=2e3,re=160,ie=512,ae=400,oe=240,se=240,ce=8,C=40,le=80,ue=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 de(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(),re)}function fe(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:de(e,t.args),startedAt:E(t.startedAt)}}return null}function pe(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 me(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=pe(r);!e||t.has(e.id)||(t.add(e.id),n.push(e))}return n}function he(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function O(e){let t=he(e);return t===null?null:Math.max(0,Math.floor(t))}var ge=/[\u0000-\u001f\u007f-\u009f]/g;function _e(e,t){return D(T(e).replace(ge,` `).trimEnd(),t)}function ve(e){let t=/^(?:path|file_path): (.+)$/m.exec(e);return t?t[1].trim():``}function ye(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,ie),o=t.argsTruncated===!0||a!==i,s=r===`bash`;return{id:n,toolName:r,toolCallId:``,args:{},command:s?a:``,path:s?``:ve(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 be(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(),re),startedAt:E(t.startedAt)}:null}function xe(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 Se(e){let t=w(e),n=w(t.error),r=_e(n.message,ae),i=w(t.agents),a=O(i.running),o=O(i.total),s=he(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=ye(e);if(!(!t||u.has(t.id))&&(u.add(t.id),l.push(t),l.length>=ce))break}return{boardStatus:D(T(t.boardStatus),C),runId:D(T(t.runId),le),activity:be(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:xe(t.changeStats),preview:_e(t.lastAssistantPreview,oe),tail:(Array.isArray(t.tail)?t.tail:[]).map(e=>_e(e,se)).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)}}function Ce(e){let t=w(e),n=T(t.id);if(!n)return null;let r={...t,id:n};return delete r.card,r}function we(e){let t=Ce(e);return t?{session:t,card:Se(w(e).card)}:null}function Te(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function Ee(e){let t=w(e),n=[],r=new Set;for(let e of Array.isArray(t.sessions)?t.sessions:[]){let t=we(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:Te(t.revision)}}function De(){return-new Date().getTimezoneOffset()}function Oe(e){let t=w(e);return{streaming:t.streaming===!0,approvals:me(t.approvals),error:D(T(t.error),ne),activity:fe(t.currentActivity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt)}}var k={listSessions:()=>b.listSessions(),getLiveDetail:async(e,t)=>Oe(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 m&&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<ue;a+=1){let o=new URLSearchParams({view:`board`,window:`7d`,limit:`200`,tzOffset:String(De())});r&&o.set(`cursor`,r);let s=await d(`/api/sessions?${o}`,{signal:e,timeout:15e3,parse:Ee});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 m(e instanceof Error?e.message:`network`,{kind:`network`})}await f(i,(e,n)=>t(e,n))}};function A(e=`legacy`){return{mode:e,ready:!1,revision:null,awaitingSnapshot:!1,entries:{},updatedAt:0}}function j(){return{upserts:[],removed:[],resync:!1,reconnect:!1,truncated:!1,catalog:!1,changed:!1}}function ke(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Ae(e,t,n,r=Date.now()){let i=j(),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 je(e,t,n,r=Date.now()){let i=ke(n),a=Te(i.revision),o={feed:e,effects:j()};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=we(e);!r||n.has(r.session.id)||(n.add(r.session.id),t.push(r))}let s=Ae(e,t,a,r);return s.effects.truncated=i.truncated===!0,s}if(t===`resync_required`){let t=j();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=j();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=j();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=Ce(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:Se(i.card),revision:a,receivedAt:r}},updatedAt:r},effects:l})}var M=l,Me=3e3,Ne=2e3,Pe=3e4,Fe=1e3,Ie=3e4,Le=6e4,Re=4e3,ze=4e4,Be=300,Ve=6e3,He=6e4,Ue=1e3,We={feed:A(),live:{},localRuns:{},runningSince:{},patches:{},pending:{}},N=n()(()=>({...We}));function Ge(){return a.getQueryData(M)?.sessions??[]}function P(){return s(`sessions`,!0)}async function Ke(){o(`sessions`),await P()}async function qe(e,t=()=>!0,{fresh:n=!1}={}){if(B.active&&B.mode===`events`&&B.events.controller){if(!n&&t(N.getState().feed.entries[e]))return;await Je(e,t,Re);return}if(B.active&&B.mode!==`legacy`&&F().view){await W();return}await Ke().catch(()=>void 0)}function Je(e,t,n){return new Promise(r=>{let i=N.getState().feed.entries[e],a=null,o=()=>{},s=()=>{a&&clearTimeout(a),o(),r()};o=N.subscribe(n=>{let r=n.feed.entries[e];r!==i&&t(r)&&s()}),a=setTimeout(s,n)})}function F(){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 Ye(){return F().view}var Xe=0;function Ze(e,t){let n=++Xe;return N.setState(r=>({patches:{...r.patches,[e]:[...r.patches[e]??[],{token:n,patch:t}]}})),n}function Qe(e,t){N.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 I(e,t){let n=t[e.id];return n?.length?n.reduce((e,t)=>({...e,...t.patch}),e):e}function L(e,t,n=``){return e===`approve`||e===`deny`?`approval:${t}:${n}`:`${e}:${t}`}function $e(e,t){return!N.getState().pending[e]&&(N.setState(n=>({pending:{...n.pending,[e]:t}})),!0)}function et(e){N.setState(t=>{if(!(e in t.pending))return t;let n={...t.pending};return delete n[e],{pending:n}})}function R(e,t){N.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 tt(e,t){N.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 nt(e,t){R(e,e=>e&&e.approvals.some(e=>e.id===t)?{...e,approvals:e.approvals.filter(e=>e.id!==t)}:e??null),tt(e,e=>e.some(e=>e.id===t)?e.filter(e=>e.id!==t):e)}function rt(e,t){if(N.getState().feed.entries[e]){tt(e,e=>e.some(e=>e.id===t.id)?e:[...e,t]);return}R(e,e=>{let n=e??z(`ready`);return n.approvals.some(e=>e.id===t.id)?n:{...n,approvals:[...n.approvals,t]}})}function it(e,t){let n=N.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 at(e,t){N.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 ot(e){let t=N.getState(),n=t.feed.entries[e];return n&&B.mode!==`legacy`?n.card.approvals:t.live[e]?.approvals??[]}function z(e){return{status:e,approvals:[],error:``,activity:null,startedAt:null,fetchedAt:null,failures:0}}var B={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 V(){return typeof document>`u`||document.visibilityState!==`hidden`}function st(){let e=F();return e.events&&Date.now()>=B.events.blockedUntil?`events`:e.view?`view`:`legacy`}function ct(e=N.getState().feed){return B.mode!==`legacy`&&e.ready}function H(){B.pollTimer&&clearTimeout(B.pollTimer),B.pollTimer=null}function U(e){H(),!(!B.active||B.mode===`events`||!V())&&(B.pollTimer=setTimeout(()=>{B.pollTimer=null,ut()},e))}function lt(){return B.view.failures?Math.min(Ne*2**B.view.failures,Pe):Ne}async function ut(){let e=B.mode;if(e===`view`)await dt();else try{await P()}catch{}!B.active||B.mode!==e||(Y(),U(e===`view`?lt():Me))}function dt(){if(B.view.inFlight)return B.view.inFlight;let e=new AbortController;B.view.controller=e;let t=(async()=>{try{let t=await k.listBoardView(e.signal);if(e.signal.aborted||!B.active)return;B.view.failures=0,B.feedSettled=!0,vt(Ae(N.getState().feed,t.items,B.mode===`events`?null:t.revision))}catch{if(e.signal.aborted)return;B.view.failures+=1,B.feedSettled=!0,Y()}finally{B.view.controller===e&&(B.view.controller=null,B.view.inFlight=null)}})();return B.view.inFlight=t,t}async function W(){let e=B.view.inFlight;e&&await e,await dt()}function ft(){B.view.controller?.abort(),B.view.controller=null,B.view.inFlight=null}function G(){let e=B.events;e.retryTimer&&clearTimeout(e.retryTimer),e.retryTimer=null,K();let t=e.controller;e.controller=null,t?.abort()}function K(){B.events.watchdog&&clearTimeout(B.events.watchdog),B.events.watchdog=null}function pt(e){K(),B.events.watchdog=setTimeout(()=>{B.events.watchdog=null;let t=B.events;t.controller!==e||e.signal.aborted||(t.controller=null,e.abort(),!(!B.active||B.mode!==`events`)&&(mt(0),Y()))},ze)}function mt(e){let t=B.events;t.retryTimer&&clearTimeout(t.retryTimer),t.retryTimer=setTimeout(()=>{t.retryTimer=null,q()},e)}function ht(e){return e instanceof m&&e.kind===`http`&&typeof e.status==`number`&&e.status>=400&&e.status<500}function gt(){let e=B.events;e.blockedUntil=Date.now()+Le,e.blockTimer&&clearTimeout(e.blockTimer),e.blockTimer=setTimeout(()=>{e.blockTimer=null,J()},60010),J()}function q(){let e=B.events;if(!B.active||B.mode!==`events`||e.controller||e.retryTimer||!V())return;let t=new AbortController;e.controller=t,pt(t);let n=N.getState().feed,r=n.ready&&!n.awaitingSnapshot?n.revision:null,i=!1,a=!1;k.openBoardEvents(r,(n,r)=>{if(t.signal.aborted||e.controller!==t)return!1;if(pt(t),i=!0,e.attempt=0,B.feedSettled=!0,_t(n,r).reconnect)return a=!0,!1},t.signal).then(()=>null,e=>e).then(n=>{if(e.controller===t&&(e.controller=null,K(),!(t.signal.aborted||!B.active))){if(B.feedSettled=!0,n&&ht(n))gt();else{let t=a?0:i?Fe:Math.min(Fe*2**e.attempt,Ie);!i&&!a&&(e.attempt+=1),mt(t)}Y()}})}function _t(e,t){let n=je(N.getState().feed,e,t);return vt(n,e===`heartbeat`||e===`component_changed`||e===`catalog_changed`),u(e,t,n.effects.changed),n.effects}function vt({feed:e,effects:t},n=!1){t.changed&&N.setState({feed:{...e,mode:B.mode}}),t.upserts.length&&yt(t.upserts),(t.removed.length||t.resync||t.catalog)&&bt(),t.changed&&!n&&Y()}function yt(e){let t=a.getQueryData(M);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(M,{...t,sessions:[...i,...r??t.sessions]})}function bt(){B.catalogTimer||!B.active||(B.catalogTimer=setTimeout(()=>{B.catalogTimer=null,B.active&&P().catch(()=>void 0)},Be))}function J(){if(!B.active)return;let e=st();e!==B.mode&&(B.mode=e,B.feedSettled=!1,B.view.failures=0,G(),ft(),H(),N.setState(t=>({feed:e===`legacy`?A(`legacy`):{...t.feed,mode:e}})),e===`events`?(B.events.attempt=0,q()):U(0),Y())}function xt(){B.retainers+=1,B.releaseTimer&&=(clearTimeout(B.releaseTimer),null),B.active||St();let e=!1;return()=>{e||(e=!0,B.retainers=Math.max(0,B.retainers-1),!(B.retainers>0)&&(B.releaseTimer=setTimeout(()=>{B.releaseTimer=null,B.retainers===0&&Ct()},Ue)))}}function St(){B.active=!0,B.mode=st(),B.feedSettled=!1,B.view.failures=0,B.events.attempt=0,N.setState(e=>({feed:B.mode===`legacy`?A(`legacy`):{...e.feed,mode:B.mode}}));let e=i(M);if(B.catalogFetchAt=Math.max(B.catalogFetchAt,a.getQueryState(M)?.dataUpdatedAt??0),B.cleanups.push(a.getQueryCache().subscribe(t=>{if(t.type===`updated`&&t.query.queryHash===e){if(t.action.type===`fetch`){B.catalogFetchAt=Date.now();return}t.action.type===`success`&&Tt()}})),B.cleanups.push(h.subscribe(()=>J())),typeof document<`u`){let e=()=>{if(V()){B.mode===`events`?q():U(0),Y();return}H(),G()};document.addEventListener(`visibilitychange`,e),B.cleanups.push(()=>document.removeEventListener(`visibilitychange`,e))}if(Tt(),B.mode===`events`)q();else if(B.mode===`view`)U(0);else{let e=a.getQueryState(M)?.dataUpdatedAt??0;U(Math.max(0,e+Me-Date.now()))}}function Ct(){B.active=!1,H(),B.releaseTimer&&clearTimeout(B.releaseTimer),B.catalogTimer&&clearTimeout(B.catalogTimer),B.events.blockTimer&&clearTimeout(B.events.blockTimer),B.releaseTimer=null,B.catalogTimer=null,B.events.blockTimer=null,G(),ft();for(let e of B.cleanups.splice(0))e();for(let e of B.liveTimers.values())clearTimeout(e);for(let e of B.liveControllers.values())e.abort();for(let e of B.runControllers.values())e.controller.abort();B.liveTimers.clear(),B.liveControllers.clear(),B.liveNextAt.clear(),B.runControllers.clear(),N.setState({live:{},localRuns:{},runningSince:{}})}async function wt(){let e=P();B.active&&B.mode===`view`&&await W(),await e}function Tt(){let e=Ge(),t=Date.now(),{runningSince:n,localRuns:r,feed:i}=N.getState(),a=ct(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&&N.setState({runningSince:o}),ct(i)&&Et(e),Y()}function Et(e){let t=B.catalogFetchAt,n=new Map(e.map(e=>[e.id,e])),r=[],i={};for(let e of Object.values(N.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&&N.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}}}),yt(r)}function Dt(){let{patches:e,feed:t}=N.getState(),n=new Set,r=Date.now();if(ct(t)){for(let i of Object.values(t.entries)){let t=I(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(B.mode!==`legacy`&&!B.feedSettled)return n;for(let t of Ge()){let i=I(t,e);i.archived!==!0&&_(i,{now:r}).status===`approval`&&n.add(t.id)}return n}function Ot(e){let t=B.liveTimers.get(e);t&&clearTimeout(t),B.liveTimers.delete(e),B.liveControllers.get(e)?.abort(),B.liveControllers.delete(e),B.liveNextAt.delete(e),R(e,()=>null)}function Y(){if(!B.active)return;let e=Dt();for(let t of Object.keys(N.getState().live))e.has(t)||Ot(t);for(let t of[...B.liveControllers.keys()])e.has(t)||Ot(t);if(!V())return;let t=Date.now(),n=N.getState().live,r=[...e].filter(e=>!B.liveControllers.has(e)&&(B.liveNextAt.get(e)??0)<=t).sort((e,t)=>Number(!!n[e])-Number(!!n[t])||(B.liveNextAt.get(e)??0)-(B.liveNextAt.get(t)??0)),i=Math.max(0,Math.min(3-B.liveControllers.size,4-B.liveControllers.size-B.runControllers.size-!!B.events.controller));r.slice(0,i).forEach((e,t)=>kt(e,t*250))}function kt(e,t){let n=new AbortController;B.liveControllers.set(e,n);let r=async()=>{B.liveTimers.delete(e),R(e,e=>e??z(`loading`));try{let t=await k.getLiveDetail(e,n.signal);if(n.signal.aborted||B.liveControllers.get(e)!==n)return;B.liveNextAt.set(e,Date.now()+Ve);let{pending:r}=N.getState(),i=t.approvals.filter(t=>!r[L(`approve`,e,t.id)]);R(e,()=>({status:`ready`,approvals:i,error:t.error,activity:t.activity,startedAt:t.startedAt,fetchedAt:Date.now(),failures:0}))}catch{if(n.signal.aborted||B.liveControllers.get(e)!==n)return;let t=(N.getState().live[e]?.failures??0)+1;B.liveNextAt.set(e,Date.now()+Math.min(Ve*2**t,He)),R(e,e=>({...e??z(`error`),status:e?.approvals.length?e.status:`error`,failures:t}))}finally{B.liveControllers.get(e)===n&&B.liveControllers.delete(e)}};t<=0?r():B.liveTimers.set(e,setTimeout(()=>void r(),t))}var At=class extends Error{code=`board_run_active`},jt=0;function Mt(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 X(e,t,n){N.setState(r=>{let i=r.localRuns[e];return!i||i.token!==t||(n.activity===void 0||Mt(i.activity,n.activity))&&(n.runId===void 0||n.runId===i.runId)?r:{localRuns:{...r.localRuns,[e]:{...i,...n}}}})}function Nt(e,t,n,r){if(n===`run`)X(e,t,{runId:typeof r.runId==`string`?r.runId:``});else if(n===`tool_start`){let n=typeof r.name==`string`?r.name:``;n&&X(e,t,{activity:{type:`tool`,name:n,summary:de(n,r.args),startedAt:typeof r.startedAt==`string`?r.startedAt:new Date().toISOString()}})}else if(n===`tool_end`||n===`thinking_patch`||n===`thinking_reset`)X(e,t,{activity:{type:`model`,stage:`thinking`}});else if(n===`text_delta`||n===`text_patch`)X(e,t,{activity:{type:`model`,stage:`responding`}});else if(n===`permission_request`){let t=pe(r);t&&rt(e,t),o(`sessions`)}else n===`permission_resolved`&&(typeof r.id==`string`&&nt(e,r.id),o(`sessions`))}function Pt(){let e=B.runControllers.size-2;for(let[t,n]of B.runControllers){if(e<=0)return;n.accepted&&(B.runControllers.delete(t),n.controller.abort(),--e)}}function Ft(e,t,n){if(B.runControllers.has(e))return Promise.reject(new At);let r=new AbortController,i=++jt,a={controller:r,accepted:!1};B.runControllers.set(e,a),Pt();let o=Date.now();return N.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,Pt(),t())};n((t,n)=>{if(r.signal.aborted)return!1;t===`run`&&s(),Nt(e,i,t,n)},r.signal).then(s,e=>{a.accepted||o(e)}).finally(()=>{B.runControllers.get(e)===a&&B.runControllers.delete(e),N.setState(t=>{if(t.localRuns[e]?.token!==i)return t;let n={...t.localRuns};return delete n[e],{localRuns:n}}),B.active&&(B.mode===`legacy`?P().catch(()=>void 0):F().view&&(B.mode===`view`||!B.events.controller)&&W(),Y())})})}var It=e(t(),1);function Lt(){(0,It.useEffect)(()=>xt(),[])}function Z(e=``){let t=e.trim().replace(/\\/g,`/`),n=/^\/+$/u.test(t)?`/`:t.replace(/\/+$/,``);return/^[A-Za-z]:(?:\/|$)/.test(n)?n.toLowerCase():n}function Q(e){return!e.projectless&&Z(e.cwd)||`\0`}function Rt(e){return Q(e)===`\0`?``:e.cwd||``}function zt(e){let t=new Map;for(let n of e){let e=Q(n),r=t.get(e)||{key:e,cwd:Rt(n),sessions:[]};r.sessions.push(n),t.set(e,r)}return[...t.values()]}function Bt(e){return Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`).map(Z))].filter(e=>e===`\0`||e.length>0&&!e.includes(`\0`)):[]}function Vt(e,t){return Bt([...e,...t])}function Ht(e,t,n,r){let i=Vt(e,t),a=new Set(Bt(t)),o=i.filter(e=>a.has(e)),s=o.indexOf(n),c=o[s+r];return s<0||c===void 0?i:i.map(e=>e===n?c:e===c?n:e)}function Ut(e,t){return e.filter(e=>Q(e)===t)}function Wt(e,t,n,r){return!e||!n.has(e)&&(!r||t.some(t=>t.id===e))?null:t[0]?.id||``}async function Gt(e,t){let n=[];for(let r of e)try{await t(r),n.push(r)}catch(e){return{deletedIds:n,failedId:r,error:e}}return{deletedIds:n,failedId:null,error:null}}function Kt(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 qt=120;function Jt(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,qt);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(),qt)}function Yt(e){return e.length?e.some(e=>e.severity===`critical`)?`critical`:`standard`:null}function Xt(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 Zt(e,t){return!!e[t]?.some(e=>e.patch.streaming===!0)}function Qt(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]||Zt(t.patches,i.id))&&r.push({session:i,card:null});return r}function $t(e,t,{now:n,capabilities:r,doneWindow:i=`today`,timeZoneOffsetMinutes:a}){let o=[],s=t.pending??{},c=Qt(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=I(e,t.patches),d=t.localRuns[c.id],f=t.live[c.id],p=d?.startedAt??Jt(u?.startedAt)??Jt(f?.startedAt),m=u?Xt(u,f).filter(e=>!s[L(`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`?te(c.question):null;o.push({id:c.id,session:c,title:$(c),cwd:typeof c.cwd==`string`?c.cwd:``,workspaceKey:Q(c),projectCwd:Rt(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:Yt(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,...en(g.lane,c,l)})}return o.sort(y)}function en(e,t,n){let r=e===`queued`?Kt(t):null;return{queuePosition:r?.position??null,queue:r?{startAfter:r.startAfter,startAfterTitle:n.get(r.startAfter)??``}:null}}function tn(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 nn(e){let t=Object.fromEntries(v.map(e=>[e,[]]));for(let n of e)t[n.lane].push(n);return t}function rn(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 an(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 on(){return Lt(),r(c(`sessions`))}export{wt as A,Ye as C,Ke as D,qe as E,k as F,rt as M,at as N,et as O,N as P,it as S,Qe as T,M as _,tn as a,$e as b,Gt as c,Bt as d,Vt as f,Lt as g,Z as h,$t as i,nt as j,Ft as k,zt as l,Ut as m,rn as n,nn as o,Wt as p,$ as r,an as s,on as t,Ht as u,At as v,ot as w,L as x,Ze as y};
@@ -1 +0,0 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-C3xrFlMb.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{f as i}from"./routes-Da0OHSy6.js";import{t as a}from"./use-i18n-BIJtH0nB.js";import{t as o}from"./storage-BY6wEHPw.js";import{n as s}from"./startup-queries-_OUFiG02.js";import{t as c}from"./api-DxQIocGp.js";import{r as l,u}from"./session-board-status-D2lpFPiI.js";import{t as d}from"./createLucideIcon-Cd-3GVxJ.js";import{t as f}from"./ellipsis-CfGKfbq6.js";import{n as p}from"./launch-defaults-store-DTq_ndTa.js";import{c as m,i as h,p as g,r as _,t as v}from"./dropdown-menu-CFIFNaKO.js";import{t as y}from"./utils-C8uzG5AZ.js";import{c as b,u as x}from"./events-DWUUCmbP.js";import{c as S,h as ee,m as C,p as w,s as T}from"./useSessionListQuery-jM0IQ1En.js";import{a as E,c as te,l as D}from"./useNow-CpKRH_uQ.js";import{o as O}from"./card-presentation-1oph2b8P.js";import{a as k,i as ne,o as A}from"./board-projects-Dxd3yet9.js";import{t as re}from"./session-home-sBII_AAO.js";import{t as j}from"./motion-DTR4ZVle.js";import{t as M}from"./pick-system-directory-C7BKn3Gc.js";var N=d(`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`}]]),P=`pisper:overview-focus`;function ie(e){window.dispatchEvent(new CustomEvent(P,{detail:{sessionId:e}}))}function ae(e){return e>30}var F={attention:0,running:1,queued:2,done:3};function I(){return{attention:0,running:0,queued:0,done:0}}function L(e){return typeof e==`number`&&Number.isFinite(e)?e:null}var R=E(e=>e.since),z=E(e=>L(e.startedAt)??L(e.since)),B=E(e=>e.since,!0);function V(e,t){return F[e.lane]-F[t.lane]||(e.lane===`running`?z(e,t):e.lane===`done`?B(e,t):R(e,t))}function H(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`||u(e.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`}))}function U(e,t){let n=H(e,t).sort(V),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=I();for(let e of n)o[e.lane]+=1;let s=new Set(n.map(e=>e.workspaceKey)),c=[];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=I();for(let t of e)n[t.lane]+=1;c.push({kind:`project`,key:t.key,cwd:t.cwd,counts:n,items:e})}}else for(let e of l){let t=a.filter(t=>t.lane===e),n=e===`attention`||e===`running`;r&&!r.has(e)||!t.length&&!n||c.push({kind:`status`,id:e,items:t})}let u=c.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:c,order:u,attention:u.filter(e=>e.lane===`attention`),attentionAll:n.filter(e=>e.lane===`attention`),filteredEmpty:n.length>0&&a.length===0}}function W(e,t){let n=I(),r={},i=H(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 G=r();function K({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:i,side:o,align:s=`start`,tabIndex:c,className:l}){let{t:u}=a();return(0,G.jsxs)(v,{open:r,onOpenChange:i,children:[(0,G.jsx)(g,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,tabIndex:c,"aria-label":u(`board:sidebar.rowMenu`,{title:e.title}),className:y(`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`,l),children:(0,G.jsx)(f,{className:`size-4`,"aria-hidden":`true`})})}),(0,G.jsxs)(_,{align:s,side:o,className:`min-w-44`,children:[(0,G.jsx)(h,{onSelect:()=>t.open(e),children:u(`board:menu.open`)}),(0,G.jsx)(h,{onSelect:()=>t.pin(e),children:e.pinned?u(`board:menu.unpin`):u(`board:menu.pin`)}),(0,G.jsx)(h,{onSelect:()=>t.rename(e),children:u(`board:menu.rename`)}),n&&(0,G.jsx)(h,{onSelect:()=>t.markHandled(e),children:u(`board:menu.markHandled`)}),(0,G.jsx)(h,{onSelect:()=>t.copyLink(e),children:u(`board:menu.copyLink`)}),(0,G.jsx)(m,{}),(0,G.jsx)(h,{onSelect:()=>t.archive(e),children:u(`board:menu.archive`)})]})]})}function q(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 oe(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 se(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 J(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 ce(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()?J(e):`${n.getMonth()+1}/${n.getDate()}`}function Y(){return!j()&&document.visibilityState!==`hidden`}function le(e,{duration:t,scale:n}){return!e||!Y()||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 X=e(n(),1);function ue(e){let{t}=a(),n=k(e=>e.names),r=k(e=>e.order),i=A(e=>e.projects);return(0,X.useMemo)(()=>T(ne([...e],i),r).map(e=>({...e,label:n[e.key]||(e.cwd?O(e.cwd):t(`board:filter.noProject`)),custom:!!(e.cwd&&n[e.key])})),[n,r,e,i,t])}function Z(e){return e.cwd?`${e.label} · ${e.cwd}`:e.label}async function Q(){return(await s(`sessions`,!0)).sessions}function de(e,n,r){try{let i=t.getItem(o.activeSession)||``,a=w(i,e,n,r);if(a===null)return;a?t.setItem(o.activeSession,a):t.removeItem(o.activeSession),b(a)}catch{}}async function fe(e,{t,notify:n,requestConfirm:r}){let i=Z(e);try{let a=await Q(),o=C(a,e.key);if(!o.length)return n(t(`navigation:appSidebar.projectNoChats`,{project:i}),`info`),`empty`;if(!await r({title:t(`navigation:appSidebar.deleteProject`),message:t(`navigation:appSidebar.deleteProjectConfirm`,{project:i,count:o.length}),confirmLabel:t(`navigation:appSidebar.deleteProjectAction`)}))return`cancelled`;let s=await S(o.map(e=>e.id),e=>c(`/api/sessions/${encodeURIComponent(e)}`,{method:`DELETE`}));x(s.deletedIds.length?{deletedIds:s.deletedIds}:void 0);let l=new Set(s.deletedIds),u=null;try{u=await Q()}catch{}if(de(u??a.filter(e=>!l.has(e.id)),l,u!==null),u===null)return n(t(`navigation:appSidebar.projectDeleteUnverified`,{project:i,deleted:s.deletedIds.length}),`error`),`unverified`;let d=C(u,e.key).length;return s.failedId!==null||d?(n(t(`navigation:appSidebar.projectDeletePartial`,{project:i,deleted:s.deletedIds.length,remaining:d}),`error`),`partial`):(e.cwd&&A.getState().unregisterProject(e.cwd),n(t(`navigation:appSidebar.projectDeleted`,{project:i})),`deleted`)}catch(e){return n(e instanceof Error?e.message:String(e),`error`),`failed`}}function pe(e,{t,notify:n}){if(!e.cwd||e.key===`\0`)return!1;let r=A.getState().unregisterProject(e.cwd);return r&&n(t(`navigation:appSidebar.projectRemoved`,{project:Z(e)})),r}function $(e,t,{t:n,notify:r}){try{return k.getState().setWorkspaceName(e.cwd,t),r(n(`navigation:appSidebar.projectNameUpdated`)),!0}catch{return r(n(`navigation:appSidebar.projectNameSaveFailed`),`error`),!1}}async function me(e,t,n,r){if(!e.cwd||e.key===`\0`)return!1;let{t:i,requestText:a}=n,o=(await a({title:i(`navigation:appSidebar.renameProject`),message:r.description,inputLabel:i(`navigation:appSidebar.projectName`),value:e.label,maxLength:120,confirmLabel:i(`chat:chatHistoryPage.save`)}))?.trim()||``;if(!o)return!1;let s=o===t?``:o;return s!==(k.getState().names[e.key]||``)&&$(e,s,n)}function he(e,t){return!e.cwd||!k.getState().names[e.key]?!1:$(e,``,t)}function ge(e){return M(``,e(`common:workspacePicker.setWorkingDirectory`))}function _e({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:i}){let{t:o}=a(),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[m,h]=(0,X.useState)(``),g=(0,X.useRef)(!1),_=(0,X.useRef)(``),v=(0,X.useRef)(0),y=(0,X.useRef)(!1),b=(0,X.useRef)(r);b.current=r,(0,X.useEffect)(()=>()=>{v.current+=1},[]);let x=(0,X.useCallback)(t=>{let n=A.getState().registerProject(t)||t;p.getState().rememberLaunch({cwd:n}),i&&e(o(`board:project.chosen`,{project:O(n)}),`info`)},[i,e,o]),S=(0,X.useCallback)(async()=>{if(g.current)return;g.current=!0,c(!0);let t=++v.current;try{let e=await ge(o);if(t!==v.current)return;e.status===`picked`?(x(e.path),b.current()):e.status===`unavailable`&&(u(!0),f(!0))}catch(n){t===v.current&&e(n instanceof Error?n.message:String(n),`error`)}finally{t===v.current&&(g.current=!1,c(!1))}},[e,x,o]),C={t:o,notify:e,requestConfirm:t,requestText:n},w=e=>me(e,O(e.cwd),C,{description:o(`board:project.renameDescription`)}),T=e=>he(e,C),E=e=>{let t=p.getState();t.cwd&&ee(t.cwd)===e.key&&t.rememberLaunch({cwd:``});let n=te.getState();n.projects.includes(e.key)&&n.setProjectFilter(n.projects.filter(t=>t!==e.key))};return{newProject:S,picking:s,rename:w,resetName:T,remove:async e=>{if(!_.current){_.current=e.key,h(e.key);try{await fe(e,C)===`deleted`&&E(e)}finally{_.current=``,h(``)}}},unregister:e=>{_.current||pe(e,C)&&E(e)},busyKey:m,picker:{mounted:l,open:d,description:o(`board:project.pickerDescription`),onOpenChange:f,onSelect:e=>{x(e),y.current=!0},onCloseAutoFocus:e=>{y.current&&(y.current=!1,e.preventDefault(),b.current())}}}}function ve(e){let{origin:t,pathname:n,search:r,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${r}#${i(e)}`:`${t}${i(e)}`}function ye({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:i}=a(),o=D(),s=(0,X.useRef)(o);s.current=o;let c=(0,X.useCallback)(t=>{t.ok||t.reason===`pending`||e(i(`board:action.failed`),`error`)},[e,i]),l=(0,X.useCallback)(async n=>{let r=(await t({title:i(`board:sidebar.renameTitle`),inputLabel:i(`board:sidebar.renameLabel`),value:n.title,confirmLabel:i(`board:sidebar.renameSave`),maxLength:200}))?.trim();if(!r||r===n.title)return;let a=await s.current.rename(n.id,r);a.ok?e(i(`board:sidebar.renamed`)):c(a)},[e,c,t,i]);return(0,X.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(i(`board:action.copyFailed`),`error`);return}n.writeText(ve(t.id)).then(()=>e(i(`board:action.copied`)),()=>e(i(`board:action.copyFailed`),`error`))},archive:t=>void s.current.archive(t.id,!0).then(n=>{if(!n.ok){c(n);return}e(i(`board:action.archived`,{title:t.title})),re(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,i])}export{N as _,Y as a,J as c,K as d,U as f,ie as g,P as h,le as i,oe as l,ae as m,_e as n,se as o,W as p,ue as r,ce as s,ye as t,q as u};