pisper 0.6.34 → 0.6.35

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 (140) hide show
  1. package/package.json +5 -5
  2. package/web/.vite/manifest.json +662 -669
  3. package/web/assets/{AppDialog-xnUDICdc.js → AppDialog-BIc2uEZh.js} +1 -1
  4. package/web/assets/{AppOverlays-rUZC1kCv.js → AppOverlays-BlJ0uL_P.js} +1 -1
  5. package/web/assets/{AssetsPage-XEKK_C-R.js → AssetsPage-B9lqKmXy.js} +1 -1
  6. package/web/assets/BoardPage-BB_xAnQV.js +3 -0
  7. package/web/assets/{ChannelsPage-qmX4oWnZ.js → ChannelsPage-DgzuzmFL.js} +1 -1
  8. package/web/assets/{ChatAppearancePage-BfSCRq3M.js → ChatAppearancePage-98Sa8ZQW.js} +1 -1
  9. package/web/assets/{ChatHistoryPage-Dn2KO-xs.js → ChatHistoryPage-BHsZFF4a.js} +1 -1
  10. package/web/assets/ChatPage-C3NC9LNG.js +553 -0
  11. package/web/assets/{ConfigPage-bwrsIfQ2.js → ConfigPage-D3SyAsIs.js} +2 -2
  12. package/web/assets/{DesktopWindowControls-BYSFRwAw.js → DesktopWindowControls-BQ0OvDZ8.js} +1 -1
  13. package/web/assets/{FeaturePage-DTDpEz7O.js → FeaturePage-C0bAQ4el.js} +1 -1
  14. package/web/assets/{FileAttachmentPreview-DSXCj6RP.js → FileAttachmentPreview-BdMgsecO.js} +1 -1
  15. package/web/assets/{FloatingWidgets-BbeW1y-O.js → FloatingWidgets-DjMCcqln.js} +1 -1
  16. package/web/assets/FocusRuntimeControls-DeSe12wJ.js +2 -0
  17. package/web/assets/{GitDiffViewer-DQVUfRzI.js → GitDiffViewer-hHSTzUJk.js} +1 -1
  18. package/web/assets/{ManageProjectsDialog-69xTwGhN.js → ManageProjectsDialog-DVLX4ZBu.js} +1 -1
  19. package/web/assets/{MarkdownMessage-CMM5-pzJ.js → MarkdownMessage-CktdHgKM.js} +1 -1
  20. package/web/assets/{McpPage-DuR_f74H.js → McpPage-7wR_N0eS.js} +1 -1
  21. package/web/assets/{MemoryEvolution-Ulreb-P1.js → MemoryEvolution-DBjU-Nr7.js} +1 -1
  22. package/web/assets/MemoryPage-DiO4GHc7.js +2 -0
  23. package/web/assets/{MobileNavigation-B6e3f9M1.js → MobileNavigation-B2NKM8rj.js} +1 -1
  24. package/web/assets/{MorePage-BAEFRO9r.js → MorePage-xB2zBRtU.js} +1 -1
  25. package/web/assets/{NewFolderDialog-CrIBoIPP.js → NewFolderDialog-CjWMsY2Q.js} +1 -1
  26. package/web/assets/{PageHeader-CkkhGH11.js → PageHeader-BN-qcxte.js} +1 -1
  27. package/web/assets/{PhoneDrawer-BQglMtV6.js → PhoneDrawer-utEXi-yp.js} +1 -1
  28. package/web/assets/{PhoneMenuButton-CudQuQyy.js → PhoneMenuButton-uG_T93KL.js} +1 -1
  29. package/web/assets/{PhoneTopBar-DyaB9qif.js → PhoneTopBar-DuLewk2J.js} +1 -1
  30. package/web/assets/{PluginsPage-DMLkkpQg.js → PluginsPage-D0hAMgQ_.js} +1 -1
  31. package/web/assets/{SafeModePrompt-BWzQ6wxr.js → SafeModePrompt-jV-PRvrW.js} +1 -1
  32. package/web/assets/{SchedulesPage-CvsxgvB6.js → SchedulesPage-Diethe4H.js} +1 -1
  33. package/web/assets/{SessionBrowserPane-NHFA_B4m.js → SessionBrowserPane-y7gPArTV.js} +2 -2
  34. package/web/assets/{SessionContextPanel-DTHjt2nZ.js → SessionContextPanel-Ckca3NrN.js} +2 -2
  35. package/web/assets/{SessionHome-B1OsYR84.js → SessionHome-CcjiU1fU.js} +1 -1
  36. package/web/assets/SessionInspector-CNSyVYK6.js +1 -0
  37. package/web/assets/{SessionShell-BfdEBF6l.js → SessionShell-wOw-rTQD.js} +1 -1
  38. package/web/assets/{SettingsSidebar-z1Fxmoyd.js → SettingsSidebar-CpAD5iSt.js} +1 -1
  39. package/web/assets/{ShortcutHelpDialog-DL3H1yOW.js → ShortcutHelpDialog-C2QbSvui.js} +1 -1
  40. package/web/assets/{ShortcutKeys-DPl0NOHr.js → ShortcutKeys-Dl4Suwhz.js} +1 -1
  41. package/web/assets/{SidebarUpdateStatus-Cpew_R7W.js → SidebarUpdateStatus-DrS7u_v_.js} +1 -1
  42. package/web/assets/{SkillsPage-Dl57veVj.js → SkillsPage-CDoMtK-E.js} +1 -1
  43. package/web/assets/{TaskProcessesPane-B6hiVd6p.js → TaskProcessesPane-Z_9HeVX5.js} +1 -1
  44. package/web/assets/{TaskTerminalView-jBOqCyhw.js → TaskTerminalView-BTCVpAHF.js} +1 -1
  45. package/web/assets/{TerminalPanel-CAl3KAS_.js → TerminalPanel-DuUtaPyf.js} +1 -1
  46. package/web/assets/{WebDesktopPet-kcayOmfs.js → WebDesktopPet-CWviMnct.js} +1 -1
  47. package/web/assets/{WorkflowsPage-DrX0d5UQ.js → WorkflowsPage-CHvyXwCg.js} +1 -1
  48. package/web/assets/{WorkspacePicker-Bt_doGjv.js → WorkspacePicker-D6FLo7O1.js} +1 -1
  49. package/web/assets/{api-C35aq3ml.js → api-Cm58F7OP.js} +1 -1
  50. package/web/assets/{app-update-5vmM-tQ5.js → app-update-KLjtuCDT.js} +1 -1
  51. package/web/assets/{approval-confirm-DhWuPa_J.js → approval-confirm-BrorOUHg.js} +1 -1
  52. package/web/assets/board-messages-3qT8nGsd.js +1 -0
  53. package/web/assets/{board-projects-Nk7cPRh8.js → board-projects-CeL6PPiY.js} +1 -1
  54. package/web/assets/{bots-store-CWuQZKi-.js → bots-store-CRGayU4z.js} +1 -1
  55. package/web/assets/chat-api-DQyHZl-V.js +1 -0
  56. package/web/assets/{client-store-D1Oy98mB.js → client-store-4G-xfNKc.js} +1 -1
  57. package/web/assets/{config-search-C5x1n8SB.js → config-search-1BIdouae.js} +1 -1
  58. package/web/assets/{desktop-hosts-9JgAXtsJ.js → desktop-hosts-uMG7lFRY.js} +1 -1
  59. package/web/assets/{dialog-27CgEIc2.js → dialog-D23yIdOZ.js} +1 -1
  60. package/web/assets/{event-stream-DTCmB4AA.js → event-stream-BrDcABQx.js} +1 -1
  61. package/web/assets/{events-DMbz7S1A.js → events-BgEZwyTb.js} +1 -1
  62. package/web/assets/{folder-paths-BB2PvkZ4.js → folder-paths-D0-7xV2n.js} +1 -1
  63. package/web/assets/{hosts-D81SQ3Fm.js → hosts-DljHKUSO.js} +1 -1
  64. package/web/assets/{http-YNvizzuJ.js → http-DtkTCrZ4.js} +1 -1
  65. package/web/assets/{http-response-Bb_1H1lE.js → http-response-B2n7HFQ4.js} +1 -1
  66. package/web/assets/i18n-B7QmqfvO.js +1 -0
  67. package/web/assets/{index-_WvEqLNn.js → index-79gEOxmD.js} +2 -2
  68. package/web/assets/index-XwGsScbB.css +2 -0
  69. package/web/assets/{machine-messages-Cnbja0tj.js → machine-messages-Bd6JwiOe.js} +1 -1
  70. package/web/assets/{machines-api-p5yRMnI5.js → machines-api-Kg457H3y.js} +1 -1
  71. package/web/assets/{memory-api-CSEqYBZN.js → memory-api-DHLgFXzZ.js} +1 -1
  72. package/web/assets/message-square-text-C5MJw0FL.js +1 -0
  73. package/web/assets/mount-app-BlaI2VZs.js +9 -0
  74. package/web/assets/{permission-rules-api-BM5qRwQ-.js → permission-rules-api-BZn4yp-J.js} +1 -1
  75. package/web/assets/{pick-system-directory-CjwfGZuj.js → pick-system-directory-DS_-qn8W.js} +1 -1
  76. package/web/assets/placements-BMxzzGTX.js +2 -0
  77. package/web/assets/{popover-CaaxkJV6.js → popover-C5U02alK.js} +1 -1
  78. package/web/assets/{public-Cs-VgI_R.js → public-B8mbf50i.js} +1 -1
  79. package/web/assets/public-Be05c5M9.js +2 -0
  80. package/web/assets/{public-bgEdGMBy.js → public-Bq1VrNr8.js} +2 -2
  81. package/web/assets/{public-CTCOj1Tc.js → public-DsjuTTt0.js} +1 -1
  82. package/web/assets/{public-components-Cxirb-D4.js → public-components-CMbKXCZU.js} +1 -1
  83. package/web/assets/public-diff-4sBkfeo8.js +1 -0
  84. package/web/assets/public-events-D2kHUhG2.js +1 -0
  85. package/web/assets/{public-flags-BHDCY_aY.js → public-flags-D8CxujmF.js} +1 -1
  86. package/web/assets/{public-folder-dialog-MAINAiLs.js → public-folder-dialog-Dnmn6DIU.js} +1 -1
  87. package/web/assets/{public-greeting-nLVPlZrv.js → public-greeting-Cs-sacVq.js} +1 -1
  88. package/web/assets/{public-session-qCqrUJ6y.js → public-session-DSLmbBcw.js} +1 -1
  89. package/web/assets/{public-sidebar-D6Ujh_8I.js → public-sidebar-UNJ9_fD1.js} +1 -1
  90. package/web/assets/{runtime-capabilities-store-D_0w_fuG.js → runtime-capabilities-store-Y9MaywP8.js} +1 -1
  91. package/web/assets/{safe-mode-instance-B1xRd2Id.js → safe-mode-instance-CYIRMY5i.js} +1 -1
  92. package/web/assets/safe-mode-sentinel-Bq9lNJoA.js +1 -0
  93. package/web/assets/{session-change-summary-api-Bz6qW3dZ.js → session-change-summary-api-Dp9vVPv_.js} +1 -1
  94. package/web/assets/{session-home-CdOoCouS.js → session-home-DqEkX19H.js} +1 -1
  95. package/web/assets/{session-inspector-store-BUq8tTV4.js → session-inspector-store-D_mwa4K7.js} +1 -1
  96. package/web/assets/{session-organization-api-oAt9Tied.js → session-organization-api-ibzfB8fg.js} +1 -1
  97. package/web/assets/session-questions-94KACguh.js +1 -0
  98. package/web/assets/{session-scope-PFTSXL_B.js → session-scope-BJIZo6ty.js} +1 -1
  99. package/web/assets/{session-tree-actions-D-hQZc07.js → session-tree-actions-B8GDKcGe.js} +1 -1
  100. package/web/assets/{session-tree-summary-gqTig55_.js → session-tree-summary-BTcPaCgY.js} +1 -1
  101. package/web/assets/{shortcuts-B5Q10H38.js → shortcuts-DRfz9B_B.js} +1 -1
  102. package/web/assets/side-chat-context-CRQ33Q0D.js +7 -0
  103. package/web/assets/{sidebar-Dct9J7LY.js → sidebar-DrzZKq2i.js} +1 -1
  104. package/web/assets/{sidebar-store-CHqFyueh.js → sidebar-store-BvZAgxJg.js} +1 -1
  105. package/web/assets/{speech-session-BzWOz7_A.js → speech-session-DGkMojp3.js} +1 -1
  106. package/web/assets/{startup-queries-LEtJRewm.js → startup-queries-BjjeYiQ8.js} +1 -1
  107. package/web/assets/{use-i18n-QY-mTTDS.js → use-i18n-8V6eRMcE.js} +1 -1
  108. package/web/assets/{use-open-bot-BCteAGsU.js → use-open-bot-BEhRmhru.js} +1 -1
  109. package/web/assets/{use-studio-actions-CVQo8gWA.js → use-studio-actions-BsdfCptK.js} +1 -1
  110. package/web/assets/{useCatalogProjects-B0P8PrPz.js → useCatalogProjects-DKjmAJ2x.js} +1 -1
  111. package/web/assets/{useMachines-D-YSauyl.js → useMachines-BBeg2uOZ.js} +1 -1
  112. package/web/assets/useNewProjectPicker-Cmw2SOhW.js +2 -0
  113. package/web/assets/{useNow-CvnDomJ8.js → useNow-D-gM4IXU.js} +1 -1
  114. package/web/assets/{usePhoneShell-Cv5Or-Rz.js → usePhoneShell-DRZTDDgZ.js} +1 -1
  115. package/web/assets/useSessionListQuery-DtpEX8a5.js +2 -0
  116. package/web/assets/{useSessionRowActions-DaVD7CkP.js → useSessionRowActions-DBqnVodk.js} +1 -1
  117. package/web/assets/{useSidebarModel-KU2-5Lqq.js → useSidebarModel-DBH3JLQ1.js} +1 -1
  118. package/web/assets/{workspace-folders-BrwI22Ku.js → workspace-folders-Bu3t-gEw.js} +1 -1
  119. package/web/assets/{workspace-order-store-04YPBRRV.js → workspace-order-store-DmEFuNUL.js} +1 -1
  120. package/web/index.html +2 -2
  121. package/web/assets/BoardPage-DsRRgaSA.js +0 -3
  122. package/web/assets/ChatPage-saAM1R5P.js +0 -553
  123. package/web/assets/FocusRuntimeControls-CUqEkAM6.js +0 -1
  124. package/web/assets/MemoryPage-BSAhhmdG.js +0 -2
  125. package/web/assets/SessionInspector-CIfPX9LJ.js +0 -1
  126. package/web/assets/board-messages-D6AWGHuF.js +0 -1
  127. package/web/assets/chat-api-fzSB1i2N.js +0 -1
  128. package/web/assets/focus-session-composer-bits-B_mOqktE.js +0 -1
  129. package/web/assets/i18n-CWhhZ2QN.js +0 -1
  130. package/web/assets/index-BTqJTVNA.css +0 -2
  131. package/web/assets/mount-app-Dee6SQOq.js +0 -9
  132. package/web/assets/placements-BvtgsaIH.js +0 -2
  133. package/web/assets/public-DW6Tkvj2.js +0 -2
  134. package/web/assets/public-diff-B2iBx26D.js +0 -1
  135. package/web/assets/public-events-QnPYL1F-.js +0 -1
  136. package/web/assets/safe-mode-sentinel-DmNv7ZYs.js +0 -1
  137. package/web/assets/session-questions-Cf-1g85h.js +0 -1
  138. package/web/assets/side-chat-context-CoDP1BZc.js +0 -7
  139. package/web/assets/useNewProjectPicker-V3_nwv5l.js +0 -2
  140. package/web/assets/useSessionListQuery-CuUmG2UC.js +0 -2
@@ -1,3 +1,3 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./vendor-ui-DvrYggeS.js";import{t as a}from"./use-i18n-QY-mTTDS.js";import{r as o,t as s}from"./useQuery-DfOU-27z.js";import{i as c}from"./http-response-Bb_1H1lE.js";import{n as l,t as u}from"./http-YNvizzuJ.js";import{A as d,C as f,D as p,E as m,O as h,S as g,a as _,b as v,c as y,d as b,f as x,h as S,i as C,j as w,k as T,l as E,m as D,n as ee,p as O,s as te,u as ne,w as re,x as ie,y as ae}from"./session-scope-PFTSXL_B.js";import{o as oe}from"./session-board-status-D2lpFPiI.js";import{t as se}from"./dist-41X0pdUs.js";import{t as ce}from"./checkbox-BrEHgFV0.js";import{t as le}from"./progress-5odAz3B9.js";import{t as ue}from"./separator-BPh_qxvc.js";import{t as de}from"./switch-D_G8wFhs.js";import{t as fe}from"./segmented-control-xkrEOP_d.js";import{i as pe,n as me,r as he,t as ge}from"./tooltip-D4MFbqcG.js";import{t as k}from"./utils-C8uzG5AZ.js";import{n as _e,t as A}from"./button-CCcCN8tE.js";import{t as ve}from"./kbd-CAufZTkl.js";import{r as ye,t as be}from"./useSessionListQuery-CuUmG2UC.js";import{s as xe}from"./useNewProjectPicker-V3_nwv5l.js";import{t as Se}from"./StatusGlyph-1KgitlUg.js";import{t as Ce}from"./input-CPw-zkYh.js";import{t as we}from"./textarea-DmATpOqT.js";import{n as Te}from"./public-DW6Tkvj2.js";import{t as Ee}from"./badge-CWB3lj2H.js";import{t as De}from"./safe-mode-instance-B1xRd2Id.js";var j=e(n(),1),M=r();function Oe({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`skeleton`,className:k(`animate-pulse rounded-sm bg-surface-hover`,e),...t})}function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function P(e,t=4e3){return typeof e==`string`?e.slice(0,t):``}function F(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}var I=e=>`/api/custom-ui/components/${encodeURIComponent(e)}`,ke=[`network`,`notify`,`sessions.read`,`sessions.open`,`storage`,`provider.request`];function L(e){let t=N(e)?v(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}function Ae(e){return!N(e)||!Number.isSafeInteger(e.n)||Number(e.n)<1?null:{n:Number(e.n),at:typeof e.at==`string`?e.at:null,summary:P(e.summary,200),source:[`agent`,`import`,`restore`,`local`].includes(e.source)?e.source:null,files:(Array.isArray(e.files)?e.files.slice(0,64):[]).flatMap(e=>N(e)&&typeof e.path==`string`?[{path:P(e.path,512),added:F(e.added),removed:F(e.removed)}]:[]),deleted:(Array.isArray(e.deleted)?e.deleted.slice(0,64):[]).filter(e=>typeof e==`string`)}}function je(e){let t=N(e)?Ae(e.current):null;if(!t||!N(e)||!Array.isArray(e.versions))throw Error(`Invalid custom UI versions response`);return{current:t,versions:e.versions.flatMap(e=>Ae(e)??[]),max:F(e.max)||20}}function Me(e,t){return l(`${I(e)}/versions`,{signal:t,parse:je})}function Ne(e){return!N(e)||typeof e.diff!=`string`?null:{diff:e.diff,truncated:e.truncated===!0,files:(Array.isArray(e.files)?e.files.slice(0,256):[]).flatMap(e=>N(e)&&typeof e.path==`string`&&(e.status===`added`||e.status===`deleted`||e.status===`modified`)?[{path:e.path,status:e.status}]:[])}}function Pe(e,t,n){return l(`${I(e)}/versions/${t}/diff`,{signal:n,parse:e=>{let t=Ne(e);if(!t)throw Error(`Invalid custom UI diff response`);return t}})}function Fe(e,t){return l(`${I(e)}/versions/${t}/restore`,{method:`POST`,body:{},parse:e=>({...je(e),component:L(e)})})}function Ie(e,t){return u(`${I(e)}/export`,{signal:t,timeout:6e4})}function Le(e){if(!N(e)||!Array.isArray(e.entries))throw Error(`Invalid custom UI trash response`);return{retentionDays:F(e.retentionDays)||7,entries:e.entries.slice(0,200).flatMap(e=>N(e)&&typeof e.entry==`string`&&/^[a-z0-9][a-z0-9._-]{0,63}-\d{8}T\d{6}Z(?:-\d{1,4})?$/.test(e.entry)&&typeof e.id==`string`?[{entry:e.entry,id:P(e.id,64),name:P(e.name,120)||P(e.id,64),version:P(e.version,64),kind:e.kind===`native`||e.kind===`legacy`?e.kind:`broken`,reason:e.reason===`legacy-retired`?`legacy-retired`:`deleted`,deletedAt:P(e.deletedAt,64),expiresAt:typeof e.expiresAt==`string`?e.expiresAt:null,instances:F(e.instances)}]:[])}}function Re(e){return l(`/api/custom-ui/trash`,{signal:e,parse:Le})}function ze(e){return l(`/api/custom-ui/trash/${encodeURIComponent(e)}/restore`,{method:`POST`,body:{},parse:e=>({component:L(e),restoredInstances:N(e)?F(e.restoredInstances):0})})}function Be(e){return l(`/api/custom-ui/trash/${encodeURIComponent(e)}`,{method:`DELETE`,parse:()=>void 0})}function Ve(e){if(e.size>16777216)throw new c(`Component archive exceeds 16 MiB`,{kind:`protocol`,data:{code:`component_archive_too_large`}});let t=encodeURIComponent(e.name.slice(0,200));return l(`/api/custom-ui/import?stage=1&name=${t}`,{method:`POST`,data:e,timeout:12e4,parse:e=>{let t=N(e)?re(e.staged):null;if(!t)throw Error(`Invalid custom UI staged response`);return t}})}function He(e){let t=N(e)?re(e.staged):null;if(!t||!N(e))throw Error(`Invalid custom UI staged response`);return{staged:t,manifest:f(t.id,e.manifest),errors:g(e.errors),files:ae(e.files),scan:ie(e.scan),installed:e.installed?v(e.installed):null,diff:e.diff?Ne(e.diff):null}}var R=e=>`/api/custom-ui/staged/${encodeURIComponent(e)}`;function Ue(e,t){return l(R(e),{signal:t,parse:He})}function We(e,t,n){return l(`${R(e)}/file?path=${encodeURIComponent(t)}`,{signal:n,parse:e=>{if(!N(e)||typeof e.content!=`string`)throw Error(`Invalid custom UI staged file response`);return{path:P(e.path,512),binary:e.binary===!0,content:e.content,truncated:e.truncated===!0}}})}function Ge(e){return l(`${R(e)}/trust`,{method:`POST`,body:{},parse:e=>({component:L(e),replaced:N(e)&&e.replaced===!0})})}function Ke(e){return l(`${R(e)}/discard`,{method:`POST`,body:{},parse:()=>void 0})}function qe(e){if(!N(e)||!N(e.usage))throw Error(`Invalid custom UI usage response`);let t={};for(let n of ke){let r=e.usage[n];!N(r)||typeof r.lastAt!=`string`||(t[n]={lastAt:r.lastAt,target:P(r.target,120),today:F(r.today),total:F(r.total)})}let n=Array.isArray(e.revoked)?e.revoked:[];return{usage:t,revoked:ke.filter(e=>n.includes(e))}}function Je(e,t){return l(`${I(e)}/usage`,{signal:t,parse:qe})}function Ye(e,t){return l(I(e),{method:`PATCH`,body:{revoked:t},parse:L})}function z(e,t){let n=e?.[t];return typeof n==`string`||typeof n==`number`?n:``}function Xe(e){let t=z(e,`max`);return typeof t==`number`?Math.round(t/1024):t}function B(e,t,n){let r=z(n,`max`);return{manifest_missing:()=>t(`custom-ui:errors.manifest_missing`),manifest_too_large:()=>t(`custom-ui:errors.manifest_too_large`),manifest_json_invalid:()=>t(`custom-ui:errors.manifest_json_invalid`),manifest_not_object:()=>t(`custom-ui:errors.manifest_not_object`),entry_missing:()=>t(`custom-ui:errors.entry_missing`),style_missing:()=>t(`custom-ui:errors.style_missing`),component_too_large:()=>t(`custom-ui:errors.component_too_large`),runtime_not_native:()=>t(`custom-ui:errors.runtime_not_native`),name_invalid:()=>t(`custom-ui:errors.name_invalid`),version_invalid:()=>t(`custom-ui:errors.version_invalid`),description_invalid:()=>t(`custom-ui:errors.description_invalid`),icon_invalid:()=>t(`custom-ui:errors.icon_invalid`),entry_invalid:()=>t(`custom-ui:errors.entry_invalid`),styles_invalid:()=>t(`custom-ui:errors.styles_invalid`),sdk_invalid:()=>t(`custom-ui:errors.sdk_invalid`),sdk_unsupported:()=>t(`custom-ui:errors.sdk_unsupported`),min_host_version_invalid:()=>t(`custom-ui:errors.min_host_version_invalid`),host_too_old:()=>n?.required?t(`custom-ui:errors.host_too_old_version`,{required:z(n,`required`)}):t(`custom-ui:errors.host_too_old`),placements_invalid:()=>t(`custom-ui:errors.placements_invalid`),placement_invalid:()=>t(`custom-ui:errors.placement_invalid`),placement_surface_invalid:()=>t(`custom-ui:errors.placement_surface_invalid`,{surface:z(n,`surface`)}),placement_duplicate:()=>t(`custom-ui:errors.placement_duplicate`,{surface:z(n,`surface`)}),placement_sizes_invalid:()=>t(`custom-ui:errors.placement_sizes_invalid`),placement_size_invalid:()=>t(`custom-ui:errors.placement_size_invalid`,{minW:z(n,`minW`),maxW:z(n,`maxW`),minH:z(n,`minH`),maxH:z(n,`maxH`)}),capability_invalid:()=>t(`custom-ui:errors.capability_invalid`),capability_unknown:()=>t(`custom-ui:errors.capability_unknown`,{capability:z(n,`capability`)}),capability_duplicate:()=>t(`custom-ui:errors.capability_duplicate`,{capability:z(n,`capability`)}),capability_reason_invalid:()=>t(`custom-ui:errors.capability_reason_invalid`),network_hosts_invalid:()=>t(`custom-ui:errors.network_hosts_invalid`,{max:r}),network_host_invalid:()=>t(`custom-ui:errors.network_host_invalid`),network_private_origins_invalid:()=>t(`custom-ui:errors.network_private_origins_invalid`,{max:r}),network_private_origin_invalid:()=>t(`custom-ui:errors.network_private_origin_invalid`),provider_paths_invalid:()=>t(`custom-ui:errors.provider_paths_invalid`),provider_methods_invalid:()=>t(`custom-ui:errors.provider_methods_invalid`),component_provider_request_invalid:()=>t(`custom-ui:errors.component_provider_request_invalid`),component_provider_path_denied:()=>t(`custom-ui:errors.component_provider_path_denied`),component_provider_session_mismatch:()=>t(`custom-ui:errors.component_provider_session_mismatch`),storage_quota_invalid:()=>t(`custom-ui:errors.storage_quota_invalid`,{max:r}),i18n_invalid:()=>t(`custom-ui:errors.i18n_invalid`),i18n_strings_invalid:()=>t(`custom-ui:errors.i18n_strings_invalid`,{max:r}),i18n_string_invalid:()=>t(`custom-ui:errors.i18n_string_invalid`),props_schema_invalid:()=>t(`custom-ui:errors.props_schema_invalid`),props_type_unsupported:()=>t(`custom-ui:errors.props_type_unsupported`),props_field_invalid:()=>t(`custom-ui:errors.props_field_invalid`),props_key_invalid:()=>t(`custom-ui:errors.props_key_invalid`),props_keyword_unsupported:()=>t(`custom-ui:errors.props_keyword_unsupported`,{keyword:z(n,`keyword`)}),props_format_invalid:()=>t(`custom-ui:errors.props_format_invalid`),props_max_length_invalid:()=>t(`custom-ui:errors.props_max_length_invalid`,{max:r}),props_enum_list_invalid:()=>t(`custom-ui:errors.props_enum_list_invalid`,{max:r}),props_number_invalid:()=>t(`custom-ui:errors.props_number_invalid`),props_unit_invalid:()=>t(`custom-ui:errors.props_unit_invalid`),props_items_invalid:()=>t(`custom-ui:errors.props_items_invalid`),props_max_items_invalid:()=>t(`custom-ui:errors.props_max_items_invalid`,{max:r}),props_too_many_fields:()=>t(`custom-ui:errors.props_too_many_fields`,{max:r}),props_required_invalid:()=>t(`custom-ui:errors.props_required_invalid`),props_default_invalid:()=>t(`custom-ui:errors.props_default_invalid`),props_i18n_invalid:()=>t(`custom-ui:errors.props_i18n_invalid`),props_title_invalid:()=>t(`custom-ui:errors.props_title_invalid`),props_description_invalid:()=>t(`custom-ui:errors.props_description_invalid`),props_type_invalid:()=>t(`custom-ui:errors.props_type_invalid`),props_too_long:()=>t(`custom-ui:errors.props_too_long`,{max:r}),props_enum_invalid:()=>t(`custom-ui:errors.props_enum_invalid`),props_url_invalid:()=>t(`custom-ui:errors.props_url_invalid`),props_color_invalid:()=>t(`custom-ui:errors.props_color_invalid`),props_out_of_range:()=>t(`custom-ui:errors.props_out_of_range`),props_too_many:()=>t(`custom-ui:errors.props_too_many`,{max:r}),props_unknown:()=>t(`custom-ui:errors.props_unknown`),props_required:()=>t(`custom-ui:errors.props_required`),props_too_large:()=>t(`custom-ui:errors.props_too_large`),component_files_invalid:()=>t(`custom-ui:errors.component_files_invalid`),component_manifest_invalid:()=>t(`custom-ui:errors.component_manifest_invalid`),component_file_path_invalid:()=>t(`custom-ui:errors.component_file_path_invalid`),component_file_duplicate:()=>t(`custom-ui:errors.component_file_duplicate`),component_file_content_invalid:()=>t(`custom-ui:errors.component_file_content_invalid`),component_file_too_large:()=>t(`custom-ui:errors.component_file_too_large`,{max:Xe(n)}),component_files_too_large:()=>t(`custom-ui:errors.component_files_too_large`,{max:Xe(n)}),component_files_too_many:()=>t(`custom-ui:errors.component_files_too_many`,{max:r}),component_bare_import:()=>t(`custom-ui:errors.component_bare_import`,{specifier:z(n,`specifier`)}),component_html_unsupported:()=>t(`custom-ui:errors.component_html_unsupported`),path_not_writable:()=>t(`custom-ui:errors.path_not_writable`),component_template_invalid:()=>t(`custom-ui:errors.component_template_invalid`),component_id_reserved:()=>t(`custom-ui:errors.component_id_reserved`),component_id_taken_by_legacy:()=>t(`custom-ui:errors.component_id_taken_by_legacy`),component_legacy_unsupported:()=>t(`custom-ui:errors.component_legacy_unsupported`),component_import_unavailable:()=>t(`custom-ui:errors.component_import_unavailable`),component_request_invalid:()=>t(`custom-ui:errors.component_request_invalid`),component_request_too_large:()=>t(`custom-ui:errors.component_request_too_large`),component_asset_missing:()=>t(`custom-ui:errors.component_asset_missing`),component_capability_denied:()=>t(`custom-ui:errors.component_capability_denied`),component_session_required:()=>t(`custom-ui:errors.component_session_required`),component_session_invalid:()=>t(`custom-ui:errors.component_session_invalid`),component_capability_revoked:()=>t(`custom-ui:errors.component_capability_revoked`),component_archive_invalid:()=>t(`custom-ui:errors.component_archive_invalid`),component_archive_too_large:()=>t(`custom-ui:errors.component_archive_too_large`),component_manifest_missing:()=>t(`custom-ui:errors.component_manifest_missing`),component_staging_full:()=>t(`custom-ui:errors.component_staging_full`),component_staged_not_found:()=>t(`custom-ui:errors.component_staged_not_found`),component_file_not_found:()=>t(`custom-ui:errors.component_file_not_found`),component_version_not_found:()=>t(`custom-ui:errors.component_version_not_found`),component_trash_not_found:()=>t(`custom-ui:errors.component_trash_not_found`),component_not_found:()=>t(`custom-ui:errors.component_not_found`),component_name_invalid:()=>t(`custom-ui:errors.component_name_invalid`),component_id_invalid:()=>t(`custom-ui:errors.component_id_invalid`),component_already_installed:()=>t(`custom-ui:errors.component_already_installed`),component_disabled:()=>t(`custom-ui:errors.component_disabled`),component_invalid:()=>t(`custom-ui:errors.component_invalid`),component_surface_invalid:()=>t(`custom-ui:errors.component_surface_invalid`),component_surface_unsupported:()=>t(`custom-ui:errors.component_surface_unsupported`),component_size_invalid:()=>t(`custom-ui:errors.component_size_invalid`),component_scope_invalid:()=>t(`custom-ui:errors.component_scope_invalid`),component_title_invalid:()=>t(`custom-ui:errors.component_title_invalid`),component_props_invalid:()=>t(`custom-ui:errors.component_props_invalid`),component_instance_exists:()=>t(`custom-ui:errors.component_instance_exists`),component_instance_not_found:()=>t(`custom-ui:errors.component_instance_not_found`),component_instances_full:()=>t(`custom-ui:errors.component_instances_full`),component_instances_conflict:()=>t(`custom-ui:errors.component_instances_conflict`),component_instances_order_invalid:()=>t(`custom-ui:errors.component_instances_order_invalid`)}[e]?.()??e}function Ze({thresholdMs:e=200,streak:t=3}={}){let n=null,r=0,i=null,a=!1;return{start(e){n===null&&(n=e)},commit(o){if(n===null)return null;let s=Math.max(0,o-n);n=null,i=s;let c=s>e;return r=c?r+1:0,r>=t&&(a=!0),{duration:s,slow:c,warning:a}},last:()=>i,warning:()=>a,reset(){n=null,r=0,i=null,a=!1}}}var Qe=function(e,t,n,r){var i;t[0]=0;for(var a=1;a<t.length;a++){var o=t[a++],s=t[a]?(t[0]|=o?1:2,n[t[a++]]):t[++a];o===3?r[0]=s:o===4?r[1]=Object.assign(r[1]||{},s):o===5?(r[1]=r[1]||{})[t[++a]]=s:o===6?r[1][t[++a]]+=s+``:o?(i=e.apply(s,Qe(e,s,n,[``,null])),r.push(i),s[0]?t[0]|=2:(t[a-2]=0,t[a]=i)):r.push(s)}return r},$e=new Map;function et(e){var t=$e.get(this);return t||(t=new Map,$e.set(this,t)),(t=Qe(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,i=``,a=``,o=[0],s=function(e){r===1&&(e||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,``)))?o.push(0,e,i):r===3&&(e||i)?(o.push(3,e,i),r=2):r===2&&i===`...`&&e?o.push(4,e,0):r===2&&i&&!e?o.push(5,0,!0,i):r>=5&&((i||!e&&r===5)&&(o.push(r,0,i,n),r=6),e&&(o.push(r,e,0,n),r=6)),i=``},c=0;c<e.length;c++){c&&(r===1&&s(),s(c));for(var l=0;l<e[c].length;l++)t=e[c][l],r===1?t===`<`?(s(),o=[o],r=3):i+=t:r===4?i===`--`&&t===`>`?(r=1,i=``):i=t+i[0]:a?t===a?a=``:i+=t:t===`"`||t===`'`?a=t:t===`>`?(s(),r=1):r&&(t===`=`?(r=5,n=i,i=``):t===`/`&&(r<5||e[c][l+1]===`>`)?(s(),r===3&&(o=o[0]),r=o,(o=o[0]).push(2,0,r),r=0):t===` `||t===` `||t===`
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./vendor-ui-DvrYggeS.js";import{t as a}from"./use-i18n-8V6eRMcE.js";import{r as o,t as s}from"./useQuery-DfOU-27z.js";import{i as c}from"./http-response-B2n7HFQ4.js";import{n as l,t as u}from"./http-DtkTCrZ4.js";import{A as d,C as f,D as p,E as m,O as h,S as g,a as _,b as v,c as y,d as b,f as x,h as S,i as C,j as w,k as T,l as E,m as D,n as ee,p as O,s as te,u as ne,w as re,x as ie,y as ae}from"./session-scope-BJIZo6ty.js";import{o as oe}from"./session-board-status-D2lpFPiI.js";import{t as se}from"./dist-41X0pdUs.js";import{t as ce}from"./checkbox-BrEHgFV0.js";import{t as le}from"./progress-5odAz3B9.js";import{t as ue}from"./separator-BPh_qxvc.js";import{t as de}from"./switch-D_G8wFhs.js";import{t as fe}from"./segmented-control-xkrEOP_d.js";import{i as pe,n as me,r as he,t as ge}from"./tooltip-D4MFbqcG.js";import{t as k}from"./utils-C8uzG5AZ.js";import{n as _e,t as A}from"./button-CCcCN8tE.js";import{t as ve}from"./kbd-CAufZTkl.js";import{r as ye,t as be}from"./useSessionListQuery-DtpEX8a5.js";import{s as xe}from"./useNewProjectPicker-Cmw2SOhW.js";import{t as Se}from"./StatusGlyph-1KgitlUg.js";import{t as Ce}from"./input-CPw-zkYh.js";import{t as we}from"./textarea-DmATpOqT.js";import{n as Te}from"./public-Be05c5M9.js";import{t as Ee}from"./badge-CWB3lj2H.js";import{t as De}from"./safe-mode-instance-CYIRMY5i.js";var j=e(n(),1),M=r();function Oe({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`skeleton`,className:k(`animate-pulse rounded-sm bg-surface-hover`,e),...t})}function N(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function P(e,t=4e3){return typeof e==`string`?e.slice(0,t):``}function F(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:0}var I=e=>`/api/custom-ui/components/${encodeURIComponent(e)}`,ke=[`network`,`notify`,`sessions.read`,`sessions.open`,`storage`,`provider.request`];function L(e){let t=N(e)?v(e.component):null;if(!t)throw Error(`Invalid custom UI component response`);return t}function Ae(e){return!N(e)||!Number.isSafeInteger(e.n)||Number(e.n)<1?null:{n:Number(e.n),at:typeof e.at==`string`?e.at:null,summary:P(e.summary,200),source:[`agent`,`import`,`restore`,`local`].includes(e.source)?e.source:null,files:(Array.isArray(e.files)?e.files.slice(0,64):[]).flatMap(e=>N(e)&&typeof e.path==`string`?[{path:P(e.path,512),added:F(e.added),removed:F(e.removed)}]:[]),deleted:(Array.isArray(e.deleted)?e.deleted.slice(0,64):[]).filter(e=>typeof e==`string`)}}function je(e){let t=N(e)?Ae(e.current):null;if(!t||!N(e)||!Array.isArray(e.versions))throw Error(`Invalid custom UI versions response`);return{current:t,versions:e.versions.flatMap(e=>Ae(e)??[]),max:F(e.max)||20}}function Me(e,t){return l(`${I(e)}/versions`,{signal:t,parse:je})}function Ne(e){return!N(e)||typeof e.diff!=`string`?null:{diff:e.diff,truncated:e.truncated===!0,files:(Array.isArray(e.files)?e.files.slice(0,256):[]).flatMap(e=>N(e)&&typeof e.path==`string`&&(e.status===`added`||e.status===`deleted`||e.status===`modified`)?[{path:e.path,status:e.status}]:[])}}function Pe(e,t,n){return l(`${I(e)}/versions/${t}/diff`,{signal:n,parse:e=>{let t=Ne(e);if(!t)throw Error(`Invalid custom UI diff response`);return t}})}function Fe(e,t){return l(`${I(e)}/versions/${t}/restore`,{method:`POST`,body:{},parse:e=>({...je(e),component:L(e)})})}function Ie(e,t){return u(`${I(e)}/export`,{signal:t,timeout:6e4})}function Le(e){if(!N(e)||!Array.isArray(e.entries))throw Error(`Invalid custom UI trash response`);return{retentionDays:F(e.retentionDays)||7,entries:e.entries.slice(0,200).flatMap(e=>N(e)&&typeof e.entry==`string`&&/^[a-z0-9][a-z0-9._-]{0,63}-\d{8}T\d{6}Z(?:-\d{1,4})?$/.test(e.entry)&&typeof e.id==`string`?[{entry:e.entry,id:P(e.id,64),name:P(e.name,120)||P(e.id,64),version:P(e.version,64),kind:e.kind===`native`||e.kind===`legacy`?e.kind:`broken`,reason:e.reason===`legacy-retired`?`legacy-retired`:`deleted`,deletedAt:P(e.deletedAt,64),expiresAt:typeof e.expiresAt==`string`?e.expiresAt:null,instances:F(e.instances)}]:[])}}function Re(e){return l(`/api/custom-ui/trash`,{signal:e,parse:Le})}function ze(e){return l(`/api/custom-ui/trash/${encodeURIComponent(e)}/restore`,{method:`POST`,body:{},parse:e=>({component:L(e),restoredInstances:N(e)?F(e.restoredInstances):0})})}function Be(e){return l(`/api/custom-ui/trash/${encodeURIComponent(e)}`,{method:`DELETE`,parse:()=>void 0})}function Ve(e){if(e.size>16777216)throw new c(`Component archive exceeds 16 MiB`,{kind:`protocol`,data:{code:`component_archive_too_large`}});let t=encodeURIComponent(e.name.slice(0,200));return l(`/api/custom-ui/import?stage=1&name=${t}`,{method:`POST`,data:e,timeout:12e4,parse:e=>{let t=N(e)?re(e.staged):null;if(!t)throw Error(`Invalid custom UI staged response`);return t}})}function He(e){let t=N(e)?re(e.staged):null;if(!t||!N(e))throw Error(`Invalid custom UI staged response`);return{staged:t,manifest:f(t.id,e.manifest),errors:g(e.errors),files:ae(e.files),scan:ie(e.scan),installed:e.installed?v(e.installed):null,diff:e.diff?Ne(e.diff):null}}var R=e=>`/api/custom-ui/staged/${encodeURIComponent(e)}`;function Ue(e,t){return l(R(e),{signal:t,parse:He})}function We(e,t,n){return l(`${R(e)}/file?path=${encodeURIComponent(t)}`,{signal:n,parse:e=>{if(!N(e)||typeof e.content!=`string`)throw Error(`Invalid custom UI staged file response`);return{path:P(e.path,512),binary:e.binary===!0,content:e.content,truncated:e.truncated===!0}}})}function Ge(e){return l(`${R(e)}/trust`,{method:`POST`,body:{},parse:e=>({component:L(e),replaced:N(e)&&e.replaced===!0})})}function Ke(e){return l(`${R(e)}/discard`,{method:`POST`,body:{},parse:()=>void 0})}function qe(e){if(!N(e)||!N(e.usage))throw Error(`Invalid custom UI usage response`);let t={};for(let n of ke){let r=e.usage[n];!N(r)||typeof r.lastAt!=`string`||(t[n]={lastAt:r.lastAt,target:P(r.target,120),today:F(r.today),total:F(r.total)})}let n=Array.isArray(e.revoked)?e.revoked:[];return{usage:t,revoked:ke.filter(e=>n.includes(e))}}function Je(e,t){return l(`${I(e)}/usage`,{signal:t,parse:qe})}function Ye(e,t){return l(I(e),{method:`PATCH`,body:{revoked:t},parse:L})}function z(e,t){let n=e?.[t];return typeof n==`string`||typeof n==`number`?n:``}function Xe(e){let t=z(e,`max`);return typeof t==`number`?Math.round(t/1024):t}function B(e,t,n){let r=z(n,`max`);return{manifest_missing:()=>t(`custom-ui:errors.manifest_missing`),manifest_too_large:()=>t(`custom-ui:errors.manifest_too_large`),manifest_json_invalid:()=>t(`custom-ui:errors.manifest_json_invalid`),manifest_not_object:()=>t(`custom-ui:errors.manifest_not_object`),entry_missing:()=>t(`custom-ui:errors.entry_missing`),style_missing:()=>t(`custom-ui:errors.style_missing`),component_too_large:()=>t(`custom-ui:errors.component_too_large`),runtime_not_native:()=>t(`custom-ui:errors.runtime_not_native`),name_invalid:()=>t(`custom-ui:errors.name_invalid`),version_invalid:()=>t(`custom-ui:errors.version_invalid`),description_invalid:()=>t(`custom-ui:errors.description_invalid`),icon_invalid:()=>t(`custom-ui:errors.icon_invalid`),entry_invalid:()=>t(`custom-ui:errors.entry_invalid`),styles_invalid:()=>t(`custom-ui:errors.styles_invalid`),sdk_invalid:()=>t(`custom-ui:errors.sdk_invalid`),sdk_unsupported:()=>t(`custom-ui:errors.sdk_unsupported`),min_host_version_invalid:()=>t(`custom-ui:errors.min_host_version_invalid`),host_too_old:()=>n?.required?t(`custom-ui:errors.host_too_old_version`,{required:z(n,`required`)}):t(`custom-ui:errors.host_too_old`),placements_invalid:()=>t(`custom-ui:errors.placements_invalid`),placement_invalid:()=>t(`custom-ui:errors.placement_invalid`),placement_surface_invalid:()=>t(`custom-ui:errors.placement_surface_invalid`,{surface:z(n,`surface`)}),placement_duplicate:()=>t(`custom-ui:errors.placement_duplicate`,{surface:z(n,`surface`)}),placement_sizes_invalid:()=>t(`custom-ui:errors.placement_sizes_invalid`),placement_size_invalid:()=>t(`custom-ui:errors.placement_size_invalid`,{minW:z(n,`minW`),maxW:z(n,`maxW`),minH:z(n,`minH`),maxH:z(n,`maxH`)}),capability_invalid:()=>t(`custom-ui:errors.capability_invalid`),capability_unknown:()=>t(`custom-ui:errors.capability_unknown`,{capability:z(n,`capability`)}),capability_duplicate:()=>t(`custom-ui:errors.capability_duplicate`,{capability:z(n,`capability`)}),capability_reason_invalid:()=>t(`custom-ui:errors.capability_reason_invalid`),network_hosts_invalid:()=>t(`custom-ui:errors.network_hosts_invalid`,{max:r}),network_host_invalid:()=>t(`custom-ui:errors.network_host_invalid`),network_private_origins_invalid:()=>t(`custom-ui:errors.network_private_origins_invalid`,{max:r}),network_private_origin_invalid:()=>t(`custom-ui:errors.network_private_origin_invalid`),provider_paths_invalid:()=>t(`custom-ui:errors.provider_paths_invalid`),provider_methods_invalid:()=>t(`custom-ui:errors.provider_methods_invalid`),component_provider_request_invalid:()=>t(`custom-ui:errors.component_provider_request_invalid`),component_provider_path_denied:()=>t(`custom-ui:errors.component_provider_path_denied`),component_provider_session_mismatch:()=>t(`custom-ui:errors.component_provider_session_mismatch`),storage_quota_invalid:()=>t(`custom-ui:errors.storage_quota_invalid`,{max:r}),i18n_invalid:()=>t(`custom-ui:errors.i18n_invalid`),i18n_strings_invalid:()=>t(`custom-ui:errors.i18n_strings_invalid`,{max:r}),i18n_string_invalid:()=>t(`custom-ui:errors.i18n_string_invalid`),props_schema_invalid:()=>t(`custom-ui:errors.props_schema_invalid`),props_type_unsupported:()=>t(`custom-ui:errors.props_type_unsupported`),props_field_invalid:()=>t(`custom-ui:errors.props_field_invalid`),props_key_invalid:()=>t(`custom-ui:errors.props_key_invalid`),props_keyword_unsupported:()=>t(`custom-ui:errors.props_keyword_unsupported`,{keyword:z(n,`keyword`)}),props_format_invalid:()=>t(`custom-ui:errors.props_format_invalid`),props_max_length_invalid:()=>t(`custom-ui:errors.props_max_length_invalid`,{max:r}),props_enum_list_invalid:()=>t(`custom-ui:errors.props_enum_list_invalid`,{max:r}),props_number_invalid:()=>t(`custom-ui:errors.props_number_invalid`),props_unit_invalid:()=>t(`custom-ui:errors.props_unit_invalid`),props_items_invalid:()=>t(`custom-ui:errors.props_items_invalid`),props_max_items_invalid:()=>t(`custom-ui:errors.props_max_items_invalid`,{max:r}),props_too_many_fields:()=>t(`custom-ui:errors.props_too_many_fields`,{max:r}),props_required_invalid:()=>t(`custom-ui:errors.props_required_invalid`),props_default_invalid:()=>t(`custom-ui:errors.props_default_invalid`),props_i18n_invalid:()=>t(`custom-ui:errors.props_i18n_invalid`),props_title_invalid:()=>t(`custom-ui:errors.props_title_invalid`),props_description_invalid:()=>t(`custom-ui:errors.props_description_invalid`),props_type_invalid:()=>t(`custom-ui:errors.props_type_invalid`),props_too_long:()=>t(`custom-ui:errors.props_too_long`,{max:r}),props_enum_invalid:()=>t(`custom-ui:errors.props_enum_invalid`),props_url_invalid:()=>t(`custom-ui:errors.props_url_invalid`),props_color_invalid:()=>t(`custom-ui:errors.props_color_invalid`),props_out_of_range:()=>t(`custom-ui:errors.props_out_of_range`),props_too_many:()=>t(`custom-ui:errors.props_too_many`,{max:r}),props_unknown:()=>t(`custom-ui:errors.props_unknown`),props_required:()=>t(`custom-ui:errors.props_required`),props_too_large:()=>t(`custom-ui:errors.props_too_large`),component_files_invalid:()=>t(`custom-ui:errors.component_files_invalid`),component_manifest_invalid:()=>t(`custom-ui:errors.component_manifest_invalid`),component_file_path_invalid:()=>t(`custom-ui:errors.component_file_path_invalid`),component_file_duplicate:()=>t(`custom-ui:errors.component_file_duplicate`),component_file_content_invalid:()=>t(`custom-ui:errors.component_file_content_invalid`),component_file_too_large:()=>t(`custom-ui:errors.component_file_too_large`,{max:Xe(n)}),component_files_too_large:()=>t(`custom-ui:errors.component_files_too_large`,{max:Xe(n)}),component_files_too_many:()=>t(`custom-ui:errors.component_files_too_many`,{max:r}),component_bare_import:()=>t(`custom-ui:errors.component_bare_import`,{specifier:z(n,`specifier`)}),component_html_unsupported:()=>t(`custom-ui:errors.component_html_unsupported`),path_not_writable:()=>t(`custom-ui:errors.path_not_writable`),component_template_invalid:()=>t(`custom-ui:errors.component_template_invalid`),component_id_reserved:()=>t(`custom-ui:errors.component_id_reserved`),component_id_taken_by_legacy:()=>t(`custom-ui:errors.component_id_taken_by_legacy`),component_legacy_unsupported:()=>t(`custom-ui:errors.component_legacy_unsupported`),component_import_unavailable:()=>t(`custom-ui:errors.component_import_unavailable`),component_request_invalid:()=>t(`custom-ui:errors.component_request_invalid`),component_request_too_large:()=>t(`custom-ui:errors.component_request_too_large`),component_asset_missing:()=>t(`custom-ui:errors.component_asset_missing`),component_capability_denied:()=>t(`custom-ui:errors.component_capability_denied`),component_session_required:()=>t(`custom-ui:errors.component_session_required`),component_session_invalid:()=>t(`custom-ui:errors.component_session_invalid`),component_capability_revoked:()=>t(`custom-ui:errors.component_capability_revoked`),component_archive_invalid:()=>t(`custom-ui:errors.component_archive_invalid`),component_archive_too_large:()=>t(`custom-ui:errors.component_archive_too_large`),component_manifest_missing:()=>t(`custom-ui:errors.component_manifest_missing`),component_staging_full:()=>t(`custom-ui:errors.component_staging_full`),component_staged_not_found:()=>t(`custom-ui:errors.component_staged_not_found`),component_file_not_found:()=>t(`custom-ui:errors.component_file_not_found`),component_version_not_found:()=>t(`custom-ui:errors.component_version_not_found`),component_trash_not_found:()=>t(`custom-ui:errors.component_trash_not_found`),component_not_found:()=>t(`custom-ui:errors.component_not_found`),component_name_invalid:()=>t(`custom-ui:errors.component_name_invalid`),component_id_invalid:()=>t(`custom-ui:errors.component_id_invalid`),component_already_installed:()=>t(`custom-ui:errors.component_already_installed`),component_disabled:()=>t(`custom-ui:errors.component_disabled`),component_invalid:()=>t(`custom-ui:errors.component_invalid`),component_surface_invalid:()=>t(`custom-ui:errors.component_surface_invalid`),component_surface_unsupported:()=>t(`custom-ui:errors.component_surface_unsupported`),component_size_invalid:()=>t(`custom-ui:errors.component_size_invalid`),component_scope_invalid:()=>t(`custom-ui:errors.component_scope_invalid`),component_title_invalid:()=>t(`custom-ui:errors.component_title_invalid`),component_props_invalid:()=>t(`custom-ui:errors.component_props_invalid`),component_instance_exists:()=>t(`custom-ui:errors.component_instance_exists`),component_instance_not_found:()=>t(`custom-ui:errors.component_instance_not_found`),component_instances_full:()=>t(`custom-ui:errors.component_instances_full`),component_instances_conflict:()=>t(`custom-ui:errors.component_instances_conflict`),component_instances_order_invalid:()=>t(`custom-ui:errors.component_instances_order_invalid`)}[e]?.()??e}function Ze({thresholdMs:e=200,streak:t=3}={}){let n=null,r=0,i=null,a=!1;return{start(e){n===null&&(n=e)},commit(o){if(n===null)return null;let s=Math.max(0,o-n);n=null,i=s;let c=s>e;return r=c?r+1:0,r>=t&&(a=!0),{duration:s,slow:c,warning:a}},last:()=>i,warning:()=>a,reset(){n=null,r=0,i=null,a=!1}}}var Qe=function(e,t,n,r){var i;t[0]=0;for(var a=1;a<t.length;a++){var o=t[a++],s=t[a]?(t[0]|=o?1:2,n[t[a++]]):t[++a];o===3?r[0]=s:o===4?r[1]=Object.assign(r[1]||{},s):o===5?(r[1]=r[1]||{})[t[++a]]=s:o===6?r[1][t[++a]]+=s+``:o?(i=e.apply(s,Qe(e,s,n,[``,null])),r.push(i),s[0]?t[0]|=2:(t[a-2]=0,t[a]=i)):r.push(s)}return r},$e=new Map;function et(e){var t=$e.get(this);return t||(t=new Map,$e.set(this,t)),(t=Qe(this,t.get(e)||(t.set(e,t=function(e){for(var t,n,r=1,i=``,a=``,o=[0],s=function(e){r===1&&(e||(i=i.replace(/^\s*\n\s*|\s*\n\s*$/g,``)))?o.push(0,e,i):r===3&&(e||i)?(o.push(3,e,i),r=2):r===2&&i===`...`&&e?o.push(4,e,0):r===2&&i&&!e?o.push(5,0,!0,i):r>=5&&((i||!e&&r===5)&&(o.push(r,0,i,n),r=6),e&&(o.push(r,e,0,n),r=6)),i=``},c=0;c<e.length;c++){c&&(r===1&&s(),s(c));for(var l=0;l<e[c].length;l++)t=e[c][l],r===1?t===`<`?(s(),o=[o],r=3):i+=t:r===4?i===`--`&&t===`>`?(r=1,i=``):i=t+i[0]:a?t===a?a=``:i+=t:t===`"`||t===`'`?a=t:t===`>`?(s(),r=1):r&&(t===`=`?(r=5,n=i,i=``):t===`/`&&(r<5||e[c][l+1]===`>`)?(s(),r===3&&(o=o[0]),r=o,(o=o[0]).push(2,0,r),r=0):t===` `||t===` `||t===`
2
2
  `||t===`\r`?(s(),r=2):i+=t),r===3&&i===`!--`&&(r=4,o=o[0])}return s(),o}(e)),t),arguments,[])).length>1?t:t[0]}var tt=et.bind(j.createElement),nt=6e4;function rt(e,t,{windowMs:n=nt,threshold:r=3}={}){let i=[...(e?.crashes??[]).filter(e=>t-e<n),t];return{crashes:i,paused:e?.paused===!0||i.length>=r}}function it({now:e=()=>Date.now(),windowMs:t=nt,threshold:n=3}={}){let r=new Map,i=new Set,a=0,o=()=>{a+=1;for(let e of[...i])e()};return{record(i,a){let s=rt(r.get(i),e(),{windowMs:t,threshold:n});return a&&(s.rev=a),r.set(i,s),o(),s},pause(e){r.set(e,{crashes:r.get(e)?.crashes??[],paused:!0}),o()},resume(e){r.delete(e),o()},isPaused:e=>r.get(e)?.paused===!0,hasTrouble:(e,t)=>{let n=r.get(e);return n?n.paused?!0:t&&n.rev&&n.rev!==t?!1:n.crashes.length>0:!1},subscribe(e){return i.add(e),()=>{i.delete(e)}},version:()=>a}}var V=500,at=4e3,ot=/^[a-zA-Z0-9._:-]{1,64}$/;function H(e){return e.map(e=>{if(typeof e==`string`)return e;if(e instanceof Error)return`${e.name}: ${e.message}`;try{let t=JSON.stringify(e);return t===void 0?String(e):t}catch{return String(e)}}).join(` `).slice(0,V)}function st(e){if(e instanceof Error){let t=`${e.name}: ${e.message}`.slice(0,V);return typeof e.stack==`string`?{message:t,stack:e.stack.slice(0,at)}:{message:t}}return{message:H([e])}}var ct=1024;function lt(e,t){let n=e.trim(),r=(t??``).trim(),i=r.startsWith(n)?r.slice(n.length).trim():r;return i?`${n}\n${i.slice(0,ct)}`:n}function ut(e=200){let t=new Map,n=new Set;return{append(r){let i=t.get(r.componentId)??[];i.push(r),i.length>e&&i.splice(0,i.length-e),t.set(r.componentId,i);for(let e of[...n])e(r.componentId)},read:e=>[...t.get(e)??[]],clear(e){t.delete(e);for(let t of[...n])t(e)},subscribe(e){return n.add(e),()=>{n.delete(e)}}}}function dt({send:e,now:t=()=>Date.now(),perMinute:n=20}){let r=new Map;return{report(i,a){let o=t(),s=r.get(i);if((!s||o-s.at>=6e4)&&(s={at:o,count:0,dropped:s?.dropped??0},r.set(i,s)),s.count>=n)return s.dropped+=1,!1;s.count+=1;let{instanceId:c,...l}=a;return e(i,{...l,...c&&ot.test(c)?{instanceId:c}:{},message:a.message.slice(0,V)||a.kind,...a.stack?{stack:a.stack.slice(0,at)}:{}}).catch(()=>void 0),!0},dropped:e=>r.get(e)?.dropped??0}}function ft({componentId:e,instanceId:t,surface:n,buffer:r,reporter:i,now:a=()=>Date.now()}){let o=(o,s,c,l)=>{r.append({at:a(),componentId:e,...t?{instanceId:t}:{},...n?{surface:n}:{},kind:o,level:s,message:c,...l?{stack:l}:{}}),s!==`info`&&i.report(e,{...t?{instanceId:t}:{},...n?{surface:n}:{},kind:o,level:s,message:c,...l?{stack:l}:{}})};return{info:(...e)=>o(`log`,`info`,H(e)),warn:(...e)=>o(`log`,`warn`,H(e)),error:(...e)=>o(`log`,`error`,H(e)),record(e,t,n){let r=st(n);o(e,t,r.message,r.stack)}}}var U=class extends Error{code;constructor(e,t,n){super(t,n),this.name=`ComponentLoadError`,this.code=e}};function pt(e){return e instanceof Error?e.message:String(e)}function mt({importer:e,limit:t=20}){let n=new Map,r=new Map,i=new Set;return{load(t,a,o){let s=`${t}@${a}`,c=n.get(s);if(c)return c;let l;try{l=te(t,a,o)}catch(e){return Promise.reject(new U(`module_load_failed`,pt(e),{cause:e}))}let u=e(l).then(e=>{let n=e&&typeof e==`object`?e.default:null;if(typeof n!=`function`)throw new U(`default_export_invalid`,`Component module must export a default function`);let o=r.get(t);if(o||r.set(t,o=new Set),!o.has(a)){o.add(a);for(let e of[...i])e()}return n},e=>{throw e instanceof U?e:new U(`module_load_failed`,pt(e),{cause:e})});return n.set(s,u),u.catch(()=>{n.get(s)===u&&n.delete(s)}),u},versions:e=>r.get(e)?.size??0,reloadRecommended:e=>(r.get(e)?.size??0)>=t,subscribe(e){return i.add(e),()=>{i.delete(e)}}}}function ht(e){let t=new Map;return{retain(n,r,i){let a=[];for(let o of i){let i;try{i=te(n,r,o)}catch{continue}a.push(i);let s=t.get(i);if(s){s.count+=1;continue}let c=e.createElement(`link`);c.rel=`stylesheet`,c.href=i,c.dataset.componentStyle=n,e.head.appendChild(c),t.set(i,{element:c,count:1})}let o=!1;return()=>{if(!o){o=!0;for(let e of a){let n=t.get(e);n&&(--n.count,!(n.count>0)&&(n.element.remove(),t.delete(e)))}}}},size:()=>t.size}}var W=class extends Error{code;constructor(e,t=e){super(t),this.name=`ComponentRequestError`,this.code=e}},gt=32768;function _t(e){let t=``;for(let n=0;n<e.length;n+=gt)t+=String.fromCharCode(...e.subarray(n,n+gt));return btoa(t)}function vt(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n}function yt(e){if(!e)return;let t={},n=typeof Headers<`u`&&e instanceof Headers?[...e.entries()]:Array.isArray(e)?e:Object.entries(e);for(let[e,r]of n){if(typeof e!=`string`||typeof r!=`string`)throw new W(`component_fetch_invalid`,`headers must be strings`);t[e.toLowerCase()]=r}return t}function bt(e,t={}){if(typeof e!=`string`||!e)throw new W(`component_fetch_invalid`,`url must be a string`);let n={url:e};if(t.method!==void 0){if(typeof t.method!=`string`)throw new W(`component_fetch_invalid`,`method must be a string`);n.method=t.method.toUpperCase()}let r=yt(t.headers);r&&(n.headers=r);let i=t.body;if(i==null)return n;if(typeof i==`string`)n.body=i,n.bodyEncoding=`utf8`;else if(i instanceof ArrayBuffer)n.body=_t(new Uint8Array(i)),n.bodyEncoding=`base64`;else if(ArrayBuffer.isView(i))n.body=_t(new Uint8Array(i.buffer,i.byteOffset,i.byteLength)),n.bodyEncoding=`base64`;else throw new W(`component_fetch_invalid`,`unsupported body type`);return n}function xt(e){let t=()=>e.bodyEncoding===`base64`?vt(e.body):new TextEncoder().encode(e.body),n=()=>e.bodyEncoding===`utf8`?e.body:new TextDecoder().decode(t());return Object.freeze({ok:e.status>=200&&e.status<300,status:e.status,statusText:e.statusText,headers:Object.freeze({...e.headers}),url:e.url,redirected:e.redirected,text:async()=>n(),json:async()=>JSON.parse(n()),arrayBuffer:async()=>{let e=t();return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}})}function St(e){let t=new AbortController,n=[];for(let r of e){if(!r)continue;if(r.aborted){t.abort(r.reason);break}let e=()=>t.abort(r.reason);r.addEventListener(`abort`,e,{once:!0}),n.push(()=>r.removeEventListener(`abort`,e))}return{signal:t.signal,release:()=>{for(let e of n)e()}}}var Ct=new Set([`attention`,`running`,`queued`,`done`,`idle`]);function wt(e,t){let n=new Map(t.map(e=>[e.id,e])),r=[];for(let t of e){if(t.archived)continue;let e=n.get(t.id),i={id:t.id,title:t.title,cwd:t.cwd??``,status:e?.lane??`idle`,updatedAt:t.modified??``};typeof e?.totalTokens==`number`&&Number.isFinite(e.totalTokens)&&(i.usage={totalTokens:e.totalTokens}),r.push(Object.freeze(i))}return r.sort((e,t)=>(Date.parse(t.updatedAt)||0)-(Date.parse(e.updatedAt)||0))}function Tt(e){let t=e&&typeof e==`object`&&!Array.isArray(e)?e:{};return{limit:typeof t.limit==`number`&&Number.isFinite(t.limit)?Math.min(100,Math.max(1,Math.floor(t.limit))):50,...typeof t.cwd==`string`&&t.cwd?{cwd:t.cwd}:{},...typeof t.status==`string`&&Ct.has(t.status)?{status:t.status}:{}}}function Et(e,t){let{cwd:n,status:r,limit:i}=Tt(t),a=n?oe(n):null,o=[];for(let t of e)if(!(r&&t.status!==r)&&(a===null||oe(t.cwd)===a)&&(o.push(t),o.length>=i))break;return o}function Dt(){let e=[],t=new Set;return{get:()=>e,set(n){if(!(n.length===e.length&&n.every((t,n)=>t===e[n]))){e=n;for(let n of[...t])n(e)}},subscribe(e){return t.add(e),()=>{t.delete(e)}}}}var Ot=2147483647;function kt(e,t){return Math.min(Ot,Math.max(t,typeof e==`number`&&Number.isFinite(e)?e:0))}function At({host:e,onError:t}){let n=new Set,r=new Set,i=!1,a=e=>{try{e()}catch(e){t(e)}};return{setTimeout(t,r){if(i||typeof t!=`function`)return 0;let o=e.setTimeout(()=>{n.delete(o),i||a(t)},kt(r,0));return n.add(o),o},setInterval(t,n){if(i||typeof t!=`function`)return 0;let o=e.setInterval(()=>{i||a(t)},kt(n,16));return r.add(o),o},clearTimeout(t){typeof t!=`number`||!n.delete(t)||e.clearTimeout(t)},clearInterval(t){typeof t!=`number`||!r.delete(t)||e.clearInterval(t)},active:()=>n.size+r.size,dispose(){i=!0;for(let t of n)e.clearTimeout(t);for(let t of r)e.clearInterval(t);n.clear(),r.clear()}}}var jt=/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/,Mt=class extends Error{capability;reason;constructor(e,t=`undeclared`){super(t===`revoked`?`Capability "${e}" was revoked by the user`:`Capability "${e}" is not declared in manifest.json`),this.name=`CapabilityError`,this.capability=e,this.reason=t}};function Nt(){return{setTimeout:(e,t)=>window.setTimeout(e,t),setInterval:(e,t)=>window.setInterval(e,t),clearTimeout:e=>window.clearTimeout(e),clearInterval:e=>window.clearInterval(e)}}function Pt(e,t,n,r){if(typeof n!=`string`)return``;let i=t===`zh-CN`?`en-US`:`zh-CN`,a=e.i18n[t]?.strings?.[n]??e.i18n[i]?.strings?.[n]??n;if(!r||typeof r!=`object`)return a;let o=r;return a.replace(/\{([a-zA-Z0-9_]{1,64})\}/g,(e,t)=>{let n=Object.hasOwn(o,t)?o[t]:void 0;return typeof n==`string`||typeof n==`number`&&Number.isFinite(n)?String(n):e})}function Ft(e){let{manifest:t,getLanguage:n,kit:r,services:i,logger:a,onCallbackError:o}=e,s=e.now??(()=>Date.now()),c=new AbortController,l=new Set,u=!1,d=t.capabilities,f=e=>{u||(a.record(`callback`,`error`,e),o(e))},p=At({host:e.timers??Nt(),onError:f}),m=new Set(e.revoked??[]),h=e=>{if(d[e]&&!m.has(e))return;let t=new Mt(e,d[e]?`revoked`:`undeclared`);throw a.record(`log`,`warn`,t),t},g=!1,_=()=>{g||u||(g=!0,i.reportUsage?.(`sessions.read`))},v=e=>{try{return h(e),null}catch(e){return Promise.reject(e)}},y=[],b=e=>{if(h("notify"),u)return;let t=s();for(;y.length&&t-y[0]>=6e4;)y.shift();if(y.length>=6){a.warn(`notify rate limited (6 per minute)`);return}let n=(typeof e==`string`?e:String(e)).trim();n&&(y.push(t),i.notify(Array.from(n).slice(0,200).join(``)),i.reportUsage?.(`notify`))},x=Object.freeze({useList(e){return h("sessions.read"),_(),Et(i.useSessions(),e)},subscribe(e){if(h("sessions.read"),typeof e!=`function`||u)return()=>{};_();let t=i.subscribeSessions(t=>{if(!u)try{e(t)}catch(e){f(e)}}),n=!0,r=()=>{n&&(n=!1,l.delete(r),t())};return l.add(r),r},open(e){h("sessions.open"),!(u||typeof e!=`string`||!e)&&(i.openSession(e),i.reportUsage?.(`sessions.open`))}}),S=Object.freeze({fetch(e,t){let n=v(`network`);if(n)return n;let r;try{r=bt(e,t??{})}catch(e){return Promise.reject(e)}let a=St([c.signal,t?.signal]);return i.fetch(r,a.signal).then(xt,e=>{throw e instanceof W?e:G(e)}).finally(a.release)}}),C=e=>{if(typeof e!=`string`||!jt.test(e))throw new W(`component_storage_key_invalid`,`invalid storage key`);return e},w=Object.freeze({get(e){let t=v(`storage`);if(t)return t;try{return i.storageGet(C(e))}catch(e){return Promise.reject(e)}},set(e,t){let n=v(`storage`);if(n)return n;try{return i.storageSet(C(e),t)}catch(e){return Promise.reject(e)}},remove(e){let t=v(`storage`);if(t)return t;try{return i.storageRemove(C(e))}catch(e){return Promise.reject(e)}}}),T=Object.freeze({info:(...e)=>a.info(...e),warn:(...e)=>a.warn(...e),error:(...e)=>a.error(...e)}),E=Object.freeze({useTheme:r.useTheme}),D=(e,r)=>Pt(t,n(),e,r);return{get signal(){return c.signal},get disposed(){return u},context({size:e,placement:t,session:n}){return Object.freeze({sdk:1,React:r.React,html:r.html,ui:r.ui,theme:E,sessions:x,notify:b,net:S,storage:w,provider:Object.freeze({request(e){let t=v(`provider.request`);if(t)return t;if(!n?.id)return Promise.reject(new W(`component_session_required`));let r;try{if(!e||typeof e!=`object`)throw new W(`component_provider_request_invalid`);let{url:t,...n}=bt(e.path,e);r={...n,path:t,...e.auth===void 0?{}:{auth:e.auth}}}catch(e){return Promise.reject(e)}let a=St([c.signal,e.signal]);return i.providerRequest(n.id,r,a.signal).then(xt,e=>{throw G(e)}).finally(a.release)}}),signal:c.signal,setTimeout:p.setTimeout,setInterval:p.setInterval,clearTimeout:p.clearTimeout,clearInterval:p.clearInterval,size:Object.freeze({...e}),placement:Object.freeze({...t}),session:n?Object.freeze({...n}):void 0,t:D,log:T,CapabilityError:Mt})},dispose(){if(!u){u=!0,p.dispose();for(let e of[...l])e();c.abort(new DOMException(`Component unmounted`,`AbortError`))}}}}function G(e){if(e&&typeof e==`object`){let t=e.data,n=t?.code??t?.error;if(typeof n==`string`&&/^[a-z0-9_]{1,64}$/.test(n))return new W(n);let r=e.kind;if(r===`cancelled`||e.name===`AbortError`)return new W(`component_request_aborted`);if(r===`timeout`)return new W(`component_request_timeout`)}return new W(`component_request_failed`)}var It=Dt();function K(){let e=be(),{all:t}=xe({doneWindow:`today`}),n=e.data?.sessions;return(0,j.useMemo)(()=>wt((n??[]).map(e=>({id:e.id,title:ye(e),cwd:typeof e.cwd==`string`?e.cwd:``,modified:typeof e.modified==`string`?e.modified:``,archived:e.archived===!0})),t.map(e=>({id:e.id,lane:e.lane,totalTokens:e.totalTokens}))),[t,n])}function Lt(){let e=K();return(0,j.useEffect)(()=>{It.set(e)},[e]),null}var Rt=5e3;function zt({send:e,now:t=()=>Date.now(),schedule:n=(e,t)=>window.setTimeout(e,t)}){let r=new Map,i=!1,a=()=>{i=!1;let t=r;r=new Map;for(let[n,r]of t)e(n,[...r].map(([e,t])=>({capability:e,count:t.count,at:new Date(t.at).toISOString()}))).catch(()=>void 0)};return{record(e,o){let s=r.get(e)??new Map,c=s.get(o);s.set(o,{count:(c?.count??0)+1,at:t()}),r.set(e,s),!i&&(i=!0,n(a,Rt))},flush:a}}var Bt=null,Vt=null,Ht=null,Ut=null,Wt=null,Gt=null;function Kt(){return Bt??=mt({importer:e=>t(()=>import(e),[])}),Bt}function qt(){return Vt??=ht(document),Vt}function Jt(){return Ht??=it(),Ht}function Yt(){return Ut??=ut(),Ut}function Xt(){return Wt??=dt({send:m}),Wt}function Zt(){return Gt??=zt({send:p}),Gt}function Qt(e,t){return{notify:t.notify,openSession:t.openSession,reportUsage:t=>Zt().record(e,t),useSessions:K,subscribeSessions:e=>It.subscribe(e),fetch:(t,n)=>_(e,t,n),providerRequest:(t,n,r)=>y(e,t,n,r),storageGet:t=>E(e,t).then(e=>e.value,e=>{if(C(e)!==`component_storage_missing`)throw G(e)}),storageSet:(t,n)=>b(e,t,n).catch(e=>{throw G(e)}),storageRemove:t=>ne(e,t).catch(e=>{throw G(e)})}}function $t({surface:e,cardSize:t,width:n,height:r}){let i=Number.isFinite(n)&&n>0?Math.round(n):0;return{units:e===`overview-card`&&t===`M`?2:1,width:i,height:Number.isFinite(r)&&r>0?Math.round(r):0,compact:i<300}}function en(e){let[t,n]=(0,j.useState)({width:0,height:0,measured:!1});return(0,j.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let r=(e,t)=>n(n=>n.measured&&Math.round(n.width)===Math.round(e)&&Math.round(n.height)===Math.round(t)?n:{width:e,height:t,measured:!0}),i=t.getBoundingClientRect();if(r(i.width,i.height),typeof ResizeObserver>`u`)return;let a=new ResizeObserver(e=>{let t=e[e.length-1];t&&r(t.contentRect.width,t.contentRect.height)});return a.observe(t),()=>a.disconnect()},[e]),t}var tn=/^--[a-zA-Z0-9-]{1,64}$/;function nn(){if(typeof document>`u`)return`light|comfortable|default|default`;let e=document.documentElement;return[e.classList.contains(`dark`)?`dark`:`light`,e.dataset.density||`comfortable`,e.dataset.fontScale||`default`,e.dataset.radius||`default`,e.style.getPropertyValue(`--ui-font-size`).trim()].join(`|`)}function rn(e){if(typeof MutationObserver>`u`||typeof document>`u`)return()=>{};let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`,`style`,`data-density`,`data-font-scale`,`data-radius`]}),()=>t.disconnect()}function an(e){return typeof e!=`string`||!tn.test(e)||typeof document>`u`?``:getComputedStyle(document.documentElement).getPropertyValue(e).trim()}var q=new Map;function on(e){let t=q.get(e);if(t)return t;let[n,r,i,a,o]=e.split(`|`),s=Object.freeze({mode:n===`dark`?`dark`:`light`,density:r||`comfortable`,fontSize:o||i||`default`,radius:a||`default`,token:an});return q.size>64&&q.clear(),q.set(e,s),s}function sn(){return on((0,j.useSyncExternalStore)(rn,nn,nn))}var cn={attention:`attn`,run:`run`,queued:`queue`,done:`done`,failed:`fail`,stopped:`queue`},ln={run:`border-st-run-border bg-st-run-soft text-st-run`,attn:`border-st-attn-border bg-st-attn-soft text-st-attn`,fail:`border-st-fail-border bg-st-fail-soft text-st-fail`,done:`border-st-done-border bg-st-done-soft text-st-done`,queue:`border-st-queue-border bg-st-queue-soft text-st-queue`};function un({status:e,tone:t,spin:n,className:r,children:i,...a}){let o=t??cn[e];return(0,M.jsxs)(`span`,{"data-status":e,"data-tone":o,className:k(`inline-flex h-[22px] w-fit max-w-full shrink-0 items-center gap-[5px] rounded-xs border pr-2 pl-1.5 text-xs leading-none font-medium whitespace-nowrap`,ln[o],r),...a,children:[(0,M.jsx)(Se,{status:e,spin:n,className:`size-3.5`}),(0,M.jsx)(`span`,{className:`min-w-0 truncate`,children:i})]})}var dn=i(`inline-flex w-fit max-w-full shrink-0 items-center justify-center gap-1.5 rounded-sm border border-stroke-strong bg-solid font-medium whitespace-nowrap text-content-secondary shadow-edge transition-colors duration-(--d-fast) select-none hover:bg-surface-hover hover:text-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 aria-expanded:bg-surface-hover aria-expanded:text-foreground aria-pressed:border-control aria-pressed:bg-surface-active aria-pressed:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5 [&_svg:not([class*='text-'])]:text-content-muted`,{variants:{size:{default:`h-7 px-2.5 text-sm pointer-coarse:min-h-11`,sm:`h-6 gap-1 px-2 text-xs`}},defaultVariants:{size:`default`}});function fn({className:e,size:t=`default`,asChild:n=!1,type:r,...i}){let a=n?se:`button`;return(0,M.jsx)(a,{"data-slot":`chip`,"data-size":t,className:k(dn({size:t}),e),...n?{}:{type:r??`button`},...i})}function pn({className:e,...t}){return(0,M.jsx)(`div`,{"data-slot":`empty`,className:k(`flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-xl border border-dashed border-stroke-strong p-6 text-center text-balance`,e),...t})}i(`mb-2 flex shrink-0 items-center justify-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`flex size-8 shrink-0 items-center justify-center rounded-md border border-stroke bg-key text-content-muted shadow-key [&_svg:not([class*='size-'])]:size-4`}},defaultVariants:{variant:`default`}});var mn=Object.freeze({Button:A,Badge:Ee,Chip:fn,Input:Ce,Textarea:we,Switch:de,Checkbox:ce,SegmentedControl:fe,Progress:le,Spinner:_e,Skeleton:Oe,Separator:ue,Kbd:ve,Tooltip:ge,TooltipTrigger:pe,TooltipContent:me,TooltipProvider:he,StatusGlyph:Se,StatusTag:un,Empty:pn}),hn=Object.freeze({React:j,html:tt,ui:mn,useTheme:sn}),gn=()=>{};function _n(e,t,n){return n?`preview:${e.id}`:t.instanceId}function vn({component:e,instance:t,preview:n=!1,session:r,notify:i,onOpenSession:o,onRequestFix:s,onCommitSample:c,className:l}){let{t:u,language:d}=a(),f=_n(e,t,n),p=De(),m=(0,j.useSyncExternalStore)(p.subscribe,p.mode,p.mode),h=Jt();(0,j.useSyncExternalStore)(h.subscribe,h.version,h.version);let g=h.isPaused(f),_=(0,j.useRef)(null),v=en(_),[y,b]=(0,j.useState)(0),[x,S]=(0,j.useState)(null),C=e.manifest,w=e.rev,T=e.kind===`native`&&e.status===`ready`&&!!(C&&w),E=T&&m===`normal`&&!g,D=(0,j.useMemo)(()=>ft({componentId:e.id,instanceId:f,surface:t.surface,buffer:Yt(),reporter:Xt()}),[e.id,t.surface,f]);(0,j.useLayoutEffect)(()=>{if(E)return p.beginLoad(f),()=>p.endLoad(f)},[E,f,p]);let ee=$t({surface:t.surface,cardSize:t.size,width:v.width,height:v.height}),O=null;return T?m===`normal`?g?O=(0,M.jsx)(J,{title:u(`custom-ui:host.pausedTitle`),description:u(`custom-ui:host.pausedHint`),actions:(0,M.jsx)(A,{size:`xs`,variant:`secondary`,onClick:()=>{S(null),h.resume(f),b(e=>e+1)},children:u(`custom-ui:host.resume`)})}):v.measured&&C&&w&&(O=(0,M.jsx)(xn,{onCrash:e=>{D.record(e instanceof U?`load`:`render`,`error`,e),p.endLoad(f),h.record(f,w)},fallback:t=>(0,M.jsx)(Cn,{error:t,componentId:e.id,notify:i,onReload:()=>b(e=>e+1),onRequestFix:s}),children:(0,M.jsxs)(j.Suspense,{fallback:(0,M.jsx)(Oe,{className:`size-full rounded-none`}),children:[C.capabilities[`sessions.read`]&&(0,M.jsx)(Lt,{}),(0,M.jsx)(yn,{component:e,instance:t,preview:n,session:r,size:ee,language:d,logger:D,notify:i,onOpenSession:o??gn,onCallbackError:()=>h.record(f,w),onCommit:(e,t)=>{if(t&&p.endLoad(f),e&&c?.(e.duration),e?.warning&&x===null){let t=Math.round(e.duration);D.record(`slow`,`warn`,`slow commit ${t}ms`),S(t)}}})]})},`${t.instanceId}@${w}#${y}~${e.revoked.join(`,`)}`)):O=(0,M.jsx)(J,{title:u(`custom-ui:host.safeModeTitle`),description:u(`custom-ui:host.safeModeHint`)}):O=(0,M.jsx)(J,{title:u(`custom-ui:host.unavailableTitle`)}),(0,M.jsxs)(`div`,{ref:_,"data-component-host":e.id,"data-component-instance":t.instanceId,"data-component-state":T?m===`normal`?g?`paused`:`active`:`safe-mode`:`unavailable`,className:k(`relative size-full min-h-0 min-w-0 overflow-hidden`,l),children:[O,E&&x!==null&&(0,M.jsxs)(`div`,{role:`status`,className:`absolute top-1 right-1 flex items-center gap-1 rounded-sm border border-stroke-strong bg-panel px-1.5 py-0.5 text-xs text-content-secondary shadow-key`,children:[(0,M.jsx)(`span`,{children:u(`custom-ui:host.slowWarning`,{ms:x})}),(0,M.jsx)(A,{size:`xs`,variant:`ghost`,onClick:()=>h.pause(f),children:u(`custom-ui:host.pause`)})]})]})}function yn({component:e,instance:t,preview:n,session:r,size:i,language:a,logger:o,notify:s,onOpenSession:c,onCallbackError:l,onCommit:u}){let d=e.manifest,f=e.rev,p=(0,j.use)(Kt().load(e.id,f,d.entry)),m=(0,j.useRef)({notify:s,onOpenSession:c,onCallbackError:l,language:a});m.current={notify:s,onOpenSession:c,onCallbackError:l,language:a};let h=(0,j.useRef)(()=>Ft({manifest:d,getLanguage:()=>m.current.language,kit:hn,services:Qt(e.id,{notify:e=>m.current.notify(e),openSession:e=>m.current.onOpenSession(e)}),revoked:e.revoked,logger:o,onCallbackError:e=>m.current.onCallbackError(e)})),[g,_]=(0,j.useState)(()=>h.current()),v=(0,j.useRef)(null);(0,j.useEffect)(()=>{if(v.current!==null&&(window.clearTimeout(v.current),v.current=null),g.disposed){_(h.current());return}return()=>{v.current=window.setTimeout(()=>{v.current=null,g.dispose()},0)}},[g]),(0,j.useEffect)(()=>{let t=d.styles;if(t.length)return qt().retain(e.id,f,t)},[e.id,d.styles,f]);let y=(0,j.useRef)(Ze()),b=(0,j.useRef)(!1);y.current.start(performance.now());let x={surface:t.surface,instanceId:t.instanceId,title:t.title??``,preview:n},S=g.context({size:i,placement:x,session:r});return(0,M.jsxs)(M.Fragment,{children:[(0,j.createElement)(p,{props:t.props,size:S.size,placement:S.placement,ctx:S}),(0,M.jsx)(bn,{onCommit:()=>{let e=y.current.commit(performance.now()),t=!b.current;b.current=!0,u(e,t)}})]})}function bn({onCommit:e}){return(0,j.useLayoutEffect)(()=>{e()}),null}var xn=class extends j.Component{state={error:null,failed:!1};static getDerivedStateFromError(e){return{error:e,failed:!0}}componentDidCatch(e,t){this.props.onCrash(e)}render(){return this.state.failed?this.props.fallback(this.state.error):this.props.children}};function Sn({componentId:e,notify:t}){let{t:n}=a(),r=o(),i=s(ee()).data?.features.versions===!0,c=s({queryKey:w.versions(e),queryFn:({signal:t})=>Me(e,t),enabled:i,retry:!1,staleTime:1e4}),[l,u]=(0,j.useState)(!1),d=c.data?.versions[0];if(!i||!d)return null;let f=async()=>{u(!0);try{await Fe(e,d.n),t(n(`custom-ui:versions.restored`,{n:d.n})),await r.invalidateQueries({queryKey:w.all})}catch(e){let r=C(e);t(r?`${n(`custom-ui:versions.restoreFailed`)} ${B(r,n)}`:n(`custom-ui:versions.restoreFailed`)),u(!1)}};return(0,M.jsx)(A,{size:`xs`,variant:`ghost`,disabled:l,"data-component-rollback":d.n,onClick:()=>void f(),children:n(`custom-ui:host.rollbackTo`,{n:d.n})})}function Cn({error:e,componentId:t,notify:n,onReload:r,onRequestFix:i}){let{t:o}=a(),[s,c]=(0,j.useState)(!1),l=st(e),u=e instanceof U;return(0,M.jsx)(J,{tone:`error`,title:o(u?`custom-ui:host.loadErrorTitle`:`custom-ui:host.renderErrorTitle`),actions:(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(A,{size:`xs`,variant:`ghost`,"aria-expanded":s,onClick:()=>c(!s),children:o(s?`custom-ui:host.hideError`:`custom-ui:host.viewError`)}),(0,M.jsx)(A,{size:`xs`,variant:`secondary`,onClick:r,children:o(`custom-ui:host.reload`)}),(0,M.jsx)(Sn,{componentId:t,notify:n}),i&&(0,M.jsx)(A,{size:`xs`,variant:`ghost`,onClick:()=>i(lt(l.message,l.stack)),children:o(`custom-ui:host.askAgentFix`)})]}),children:s&&(0,M.jsx)(`pre`,{className:`max-h-32 w-full overflow-auto rounded-sm bg-surface-subtle p-2 text-left font-mono text-xs whitespace-pre-wrap text-content-secondary`,children:l.stack||l.message})})}function J({title:e,description:t,actions:n,children:r,tone:i=`neutral`}){return(0,M.jsxs)(`div`,{role:i===`error`?`alert`:`status`,className:`flex size-full min-h-0 flex-col items-start justify-center gap-1.5 overflow-auto p-3 text-left`,children:[(0,M.jsx)(`p`,{className:k(`text-sm font-medium`,i===`error`?`text-st-fail`:`text-content`),children:e}),t&&(0,M.jsx)(`p`,{className:`text-xs text-content-muted`,children:t}),r,n&&(0,M.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:n})]})}Object.freeze([`GET`,`HEAD`,`POST`,`PUT`,`PATCH`,`DELETE`]),Object.freeze([`overview-card`,`session-panel`,`feature-page`,`floating`]),Object.freeze([`S`,`M`]);var wn=Object.freeze({S:Object.freeze({w:320,h:120}),M:Object.freeze({w:320,h:248})}),Tn=Object.freeze({w:320,h:200});Object.freeze({minW:160,maxW:480,minH:64,maxH:480}),Object.freeze([`network`,`notify`,`sessions.read`,`sessions.open`,`storage`,`provider.request`]);var En=16384;Object.freeze([`pisper-island`]),Object.freeze([`sdk`,`React`,`html`,`ui`,`theme`,`sessions`,`notify`,`net`,`storage`,`provider`,`signal`,`setTimeout`,`setInterval`,`clearTimeout`,`clearInterval`,`size`,`placement`,`session`,`t`,`log`,`CapabilityError`]),Object.freeze([`Button`,`Badge`,`Chip`,`Input`,`Textarea`,`Switch`,`Checkbox`,`SegmentedControl`,`Progress`,`Spinner`,`Skeleton`,`Separator`,`Kbd`,`Tooltip`,`TooltipTrigger`,`TooltipContent`,`TooltipProvider`,`StatusGlyph`,`StatusTag`,`Empty`]),Object.freeze([`zh-CN`,`en-US`]);var Dn=/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function On(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function kn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function An(e){let t=``,n=!1;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);if(i>=55296&&i<=56319){let i=e.charCodeAt(r+1);if(i>=56320&&i<=57343){t+=e[r]+e[r+1],r+=1;continue}t+=`�`,n=!0;continue}if(i>=56320&&i<=57343){t+=`�`,n=!0;continue}t+=e[r]}return n?t:e}function Y(e,t,n,r){e.push(r?{path:t,code:n,params:r}:{path:t,code:n})}function jn(e,t,n,r){switch(e.type){case`string`:{if(typeof t!=`string`)return Y(r,n,`props_type_invalid`);let i=An(t);return i.length>e.maxLength?Y(r,n,`props_too_long`,{max:e.maxLength}):e.enum&&!e.enum.includes(i)?Y(r,n,`props_enum_invalid`):e.format===`url`&&i&&!/^https?:\/\/[^\s]+$/i.test(i)?Y(r,n,`props_url_invalid`):e.format===`color`&&i&&!Dn.test(i)?Y(r,n,`props_color_invalid`):i}case`number`:case`integer`:return typeof t!=`number`||!Number.isFinite(t)||e.type===`integer`&&!Number.isInteger(t)?Y(r,n,`props_type_invalid`):e.minimum!==void 0&&t<e.minimum||e.maximum!==void 0&&t>e.maximum?Y(r,n,`props_out_of_range`,{...e.minimum===void 0?{}:{min:e.minimum},...e.maximum===void 0?{}:{max:e.maximum}}):t;case`boolean`:return typeof t==`boolean`?t:Y(r,n,`props_type_invalid`);case`array`:{if(!Array.isArray(t))return Y(r,n,`props_type_invalid`);if(t.length>e.maxItems)return Y(r,n,`props_too_many`,{max:e.maxItems});let i=[];for(let a=0;a<t.length;a+=1){let o=t[a];if(typeof o!=`string`)return Y(r,`${n}.${a}`,`props_type_invalid`);let s=An(o);if(s.length>e.itemMaxLength)return Y(r,`${n}.${a}`,`props_too_long`,{max:e.itemMaxLength});i.push(s)}return i}}}function Mn(e){let t=JSON.stringify(e),n=0;for(let e of t){let t=e.codePointAt(0);n+=t<128?1:t<2048?2:t<65536?3:4}return n}function Nn(e,t){let n=[],r={},i=e?.properties||{};t??={};let a=On(t);if(!a)return Y(n,`props`,`props_type_invalid`),{value:r,errors:n};for(let e of Object.keys(a)){let t=kn(i,e)?i[e]:void 0;if(!t){Y(n,`props.${e}`,`props_unknown`);continue}if(a[e]===null||a[e]===void 0)continue;let o=n.length,s=jn(t,a[e],`props.${e}`,n);n.length===o&&(r[e]=s)}for(let t of e?.required||[])!kn(r,t)&&i[t]?.default===void 0&&Y(n,`props.${t}`,`props_required`);return!n.length&&Mn(r)>16384&&Y(n,`props`,`props_too_large`,{max:En}),{value:n.length?{}:r,errors:n}}function Pn(e,t){return e.placements.find(e=>e.surface===t)||null}var Fn={standard:456,min:420},In=1360;function Ln(e){return e.filter(e=>e.kind!==`legacy`)}function X(e,t){return(e.manifest?.i18n)?.[t]?.name||e.name||e.id}function Rn(e,t){return(e.manifest?.i18n)?.[t]?.description||e.description||``}function zn(e,t){return e.kind===`broken`||e.status!==`ready`||t.has(e.id)}function Bn(e){return e.kind===`native`&&e.enabled}function Vn(e,{filter:t,query:n,language:r,troubled:i}){let a=n.trim().toLocaleLowerCase();return e.filter(e=>t===`enabled`&&!Bn(e)||t===`attention`&&!zn(e,i)?!1:!a||[X(e,r),e.id,Rn(e,r)].join(`
3
3
  `).toLocaleLowerCase().includes(a))}function Hn(e,t){return{all:e.length,enabled:e.filter(Bn).length,attention:e.filter(e=>zn(e,t)).length}}var Un=[`overview-card`,`session-panel`,`feature-page`,`floating`];function Wn(e,t){let n=[];for(let r of Un){let i=t.filter(t=>t.componentId===e&&t.surface===r&&t.enabled);if(!i.length)continue;let a=[`S`,`M`].filter(e=>i.some(t=>t.size===e));n.push({surface:r,sizes:r===`overview-card`?a:[],count:i.length})}return n}function Gn(e){if(!e)return[];let t=[];for(let n of Un){let r=e.placements.find(e=>e.surface===n);if(r){if(n===`overview-card`){let e=r.sizes?.length?r.sizes:[`S`,`M`];for(let n of e)t.push(n===`S`?`overview-S`:`overview-M`)}else t.push(n)}}return t}function Kn(e){return e===`overview-S`||e===`overview-M`?`overview-card`:e}function qn(e){return e===`overview-S`?`S`:e===`overview-M`?`M`:null}function Jn(e){return e.surface===`overview-card`?e.size===`M`?`overview-M`:`overview-S`:e.surface}function Yn(e,t,n){if(e===`overview-S`||e===`overview-M`){let t=e===`overview-S`?`S`:`M`,n=wn[t];return{width:n.w,height:n.h,label:`${t} · ${n.w}×${n.h}`}}if(e===`session-panel`){let e=Fn[n];return{width:e,height:`fill`,label:`${e}`}}if(e===`floating`){let e=t?.placements.find(e=>e.surface===`floating`)?.size??Tn;return{width:e.w,height:e.h,label:`${e.w}×${e.h}`}}return n===`min`?{width:812,height:`fill`,label:`812`}:{width:`fill`,height:`fill`,label:``}}function Xn(e,t){return!!e?.placements.some(e=>e.surface===t)}function Zn(e){return e?.placements.find(e=>e.surface===`overview-card`)?.sizes?.[0]??`S`}function Qn(e){return e.kind===`native`&&e.status===`ready`&&e.enabled&&!!e.manifest}function $n(e,t,n){return e.find(e=>e.id===t)||(t?void 0:e.find(e=>e.id===n))||(t?void 0:e[0])||null}var er=4e3,Z={pending:new Set,sessions:new Map},Q=new Set;function $(e){Z={...Z,...e};for(let e of[...Q])e()}function tr(e){return Q.add(e),()=>{Q.delete(e)}}function nr(e){return{pending:(0,j.useSyncExternalStore)(tr,()=>Z.pending.has(e)),sessionId:(0,j.useSyncExternalStore)(tr,()=>Z.sessions.get(e)??``)}}async function rr(e,t){let n=await h(e);return Te({sessionId:n.sessionId,prompt:t.slice(0,er),commandWhenEmpty:n.command,created:n.created?n.session:null})}function ir(e){let{t,language:n}=a();return(0,j.useMemo)(()=>{let r=async(r,i,a)=>{let o=i.trim();if(!o||Z.pending.has(r.id))return null;$({pending:new Set(Z.pending).add(r.id)});let s=X(r,n);try{let n=await rr(r.id,o);return $({sessions:new Map(Z.sessions).set(r.id,n.sessionId)}),e(n.queued?t(`custom-ui:agent.queued`,{name:s}):t(a===`fix`?`custom-ui:agent.fixSent`:`custom-ui:agent.generateSent`,{name:s})),n}catch(n){let r=C(n);return e(r?`${t(`custom-ui:agent.failed`)} ${B(r,t)}`:t(`custom-ui:agent.failed`)),null}finally{let e=new Set(Z.pending);e.delete(r.id),$({pending:e})}};return{generate:(e,t)=>r(e,t,`generate`),fix:(e,n)=>r(e,t(`custom-ui:agent.fixPrompt`,{summary:n}),`fix`)}},[n,e,t])}function ar(e,t){let n=ir(t);return(0,j.useCallback)(t=>void n.fix(e,t),[n,e])}function or(e,t){return t(e===`overview-card`?`custom-ui:studio.surfaceOverview`:e===`session-panel`?`custom-ui:studio.surfaceSession`:e===`feature-page`?`custom-ui:studio.surfaceFeature`:`custom-ui:studio.surfaceFloating`)}function sr(e,t){switch(e){case`overview-S`:return t(`custom-ui:studio.targetOverviewS`);case`overview-M`:return t(`custom-ui:studio.targetOverviewM`);case`session-panel`:return t(`custom-ui:studio.surfaceSession`);case`feature-page`:return t(`custom-ui:studio.surfaceFeature`);default:return t(`custom-ui:studio.surfaceFloating`)}}function cr(e,t){switch(e){case`network`:return t(`custom-ui:studio.capNetwork`);case`notify`:return t(`custom-ui:studio.capNotify`);case`sessions.read`:return t(`custom-ui:studio.capSessionsRead`);case`sessions.open`:return t(`custom-ui:studio.capSessionsOpen`);case`provider.request`:return t(`custom-ui:studio.capProviderRequest`);default:return t(`custom-ui:studio.capStorage`)}}function lr(e){return[...e?.hosts??[],...e?.privateOrigins??[]].join(`, `)}function ur(e,t){switch(e.source){case`agent`:return t(`custom-ui:versions.sourceAgent`);case`import`:return t(`custom-ui:versions.sourceImport`);case`restore`:return t(`custom-ui:versions.sourceRestore`);case`local`:return t(`custom-ui:versions.sourceLocal`);default:return``}}function dr(e){let t=o(),{t:n}=a();return(0,j.useMemo)(()=>{let r=()=>t.invalidateQueries({queryKey:w.all}),i=(t,r)=>{let i=C(t);e(i?`${r} ${B(i,n)}`:r)},a=async(e,t)=>{try{let t=await e();return await r(),t}catch(e){return i(e,t),null}};return{refresh:r,createFromTemplate:(e,t)=>a(()=>x({template:e,...t?{name:t}:{}}),n(`custom-ui:studio.createFailed`)),setEnabled:(e,t)=>a(()=>T(e.id,t),n(`custom-ui:studio.toggleFailed`)),remove:async t=>{let r=await a(()=>D(t.id),n(`custom-ui:studio.deleteFailed`));return r&&e(n(`custom-ui:studio.deleted`,{name:t.name})),r},place:(e,t,r)=>{let i=r.surface===`overview-card`?void 0:t.find(t=>t.componentId===e.id&&t.surface===r.surface);return a(()=>i?d(i.instanceId,{enabled:!0,...r.scope?{scope:r.scope}:{}}):O({componentId:e.id,...r}),n(`custom-ui:studio.placeFailed`))},unplace:e=>a(()=>S(e.instanceId),n(`custom-ui:studio.unplaceFailed`)),patchInstance:(e,t)=>a(()=>d(e.instanceId,t),n(`custom-ui:studio.saveFailed`)),saveProps:async(e,t)=>{let n=await d(e.instanceId,t);return await r(),n}}},[t,e,n])}export{vn as A,Ke as B,qn as C,wn as D,Tn as E,Kt as F,Me as G,Je as H,K as I,Fe as J,Be as K,lt as L,en as M,Jt as N,Pn as O,Yt as P,Ge as Q,B as R,Xn as S,Ln as T,Ue as U,Ie as V,Re as W,Ye as X,ze as Y,Ve as Z,Wn as _,sr as a,$n as b,ir as c,In as d,Qn as f,Jn as g,Vn as h,or as i,fn as j,Nn as k,nr as l,Zn as m,cr as n,ur as o,X as p,We as q,lr as r,er as s,dr as t,ar as u,Yn as v,Kn as w,Hn as x,Gn as y,Pe as z};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./use-i18n-QY-mTTDS.js";import{t as r}from"./createLucideIcon-Cd-3GVxJ.js";import{n as i,t as a}from"./workspace-order-store-04YPBRRV.js";import{t as o}from"./useSessionListQuery-CuUmG2UC.js";import{n as s}from"./board-projects-Nk7cPRh8.js";var c=r(`folder-minus`,[[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),l=e(t(),1);function u(){let{t:e}=n(),t=o(),r=a(e=>e.order),c=a(e=>e.names),u=i(e=>e.projects);return(0,l.useMemo)(()=>s(t.data?.sessions??[],u,c,r,e(`board:filter.noProject`)),[t.data,c,r,u,e])}export{c as n,u as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./use-i18n-8V6eRMcE.js";import{t as r}from"./createLucideIcon-Cd-3GVxJ.js";import{n as i,t as a}from"./workspace-order-store-DmEFuNUL.js";import{t as o}from"./useSessionListQuery-DtpEX8a5.js";import{n as s}from"./board-projects-CeL6PPiY.js";var c=r(`folder-minus`,[[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),l=e(t(),1);function u(){let{t:e}=n(),t=o(),r=a(e=>e.order),c=a(e=>e.names),u=i(e=>e.projects);return(0,l.useMemo)(()=>s(t.data?.sessions??[],u,c,r,e(`board:filter.noProject`)),[t.data,c,r,u,e])}export{c as n,u as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./runtime-capabilities-store-D_0w_fuG.js";import{t as r}from"./createLucideIcon-Cd-3GVxJ.js";import{i}from"./machines-api-p5yRMnI5.js";var a=r(`laptop`,[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`,key:`1pdavp`}],[`path`,{d:`M20.054 15.987H3.946`,key:`14rxg9`}]]),o=e(t(),1),s={enabled:!1,endpoints:[],fingerprint:null},c=1e4;function l(){let e=n(e=>e.capabilities.features.remoteMachines),[t,r]=(0,o.useState)([]),[a,l]=(0,o.useState)(s),[u,d]=(0,o.useState)(!1),f=(0,o.useRef)(0),p=(0,o.useCallback)(async()=>{let e=++f.current;try{let t=await i();if(e!==f.current)return;r(t.machines),l(t.remote)}catch{}finally{e===f.current&&d(!0)}},[]);return(0,o.useEffect)(()=>{if(!e)return;p();let t=window.setInterval(()=>{document.visibilityState===`visible`&&p()},c);return()=>{window.clearInterval(t),f.current+=1}},[e,p]),{available:e,machines:t,remote:a,loaded:u,refresh:p}}export{a as n,l as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{t as n}from"./runtime-capabilities-store-Y9MaywP8.js";import{t as r}from"./createLucideIcon-Cd-3GVxJ.js";import{i}from"./machines-api-Kg457H3y.js";var a=r(`laptop`,[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`,key:`1pdavp`}],[`path`,{d:`M20.054 15.987H3.946`,key:`14rxg9`}]]),o=e(t(),1),s={enabled:!1,endpoints:[],fingerprint:null},c=1e4;function l(){let e=n(e=>e.capabilities.features.remoteMachines),[t,r]=(0,o.useState)([]),[a,l]=(0,o.useState)(s),[u,d]=(0,o.useState)(!1),f=(0,o.useRef)(0),p=(0,o.useCallback)(async()=>{let e=++f.current;try{let t=await i();if(e!==f.current)return;r(t.machines),l(t.remote)}catch{}finally{e===f.current&&d(!0)}},[]);return(0,o.useEffect)(()=>{if(!e)return;p();let t=window.setInterval(()=>{document.visibilityState===`visible`&&p()},c);return()=>{window.clearInterval(t),f.current+=1}},[e,p]),{available:e,machines:t,remote:a,loaded:u,refresh:p}}export{a as n,l as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WorkspacePicker-D6FLo7O1.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-8V6eRMcE.js","assets/i18n-B7QmqfvO.js","assets/vendor-router-CSN_DGvx.js","assets/index-79gEOxmD.js","assets/index-XwGsScbB.css","assets/storage-DtvZ_lEu.js","assets/vendor-state-GkUciC5H.js","assets/http-response-B2n7HFQ4.js","assets/runtime-capabilities-store-Y9MaywP8.js","assets/api-Cm58F7OP.js","assets/abort-signal-f4JsiYKX.js","assets/event-stream-BrDcABQx.js","assets/http-DtkTCrZ4.js","assets/runtime-capabilities-CPDBo3tu.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-up-DST6-qVQ.js","assets/check-2vYc6QaP.js","assets/chevron-right-C3t2Rckj.js","assets/folder-open-FIShC5Qk.js","assets/folder-DPM8D8cf.js","assets/triangle-alert-CE1q54ci.js","assets/button-CCcCN8tE.js","assets/vendor-ui-DvrYggeS.js","assets/dist-41X0pdUs.js","assets/utils-C8uzG5AZ.js","assets/dialog-D23yIdOZ.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js","assets/input-CPw-zkYh.js","assets/PageState-Cz6vFMXv.js","assets/alert-DRIrgNI4.js","assets/workspace-folders-Bu3t-gEw.js","assets/NewFolderDialog-CjWMsY2Q.js","assets/workspace-order-store-DmEFuNUL.js","assets/session-workspaces-Brm-8lHh.js","assets/input-group-h8z63MzW.js","assets/textarea-DmATpOqT.js","assets/pick-system-directory-DS_-qn8W.js","assets/folder-paths-D0-7xV2n.js","assets/startup-queries-BjjeYiQ8.js","assets/query-DFQayLF5.js","assets/mutation-b4pPvB7p.js","assets/events-BgEZwyTb.js","assets/field-DoLEb0np.js","assets/label-CVWjEcfV.js","assets/separator-BPh_qxvc.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-8V6eRMcE.js";import{a,o}from"./vendor-state-GkUciC5H.js";import{t as s}from"./useQuery-DfOU-27z.js";import{t as c}from"./api-Cm58F7OP.js";import"./FocusRuntimeControls-DeSe12wJ.js";import{n as l}from"./workspace-order-store-DmEFuNUL.js";import"./chat-api-DQyHZl-V.js";import{S as u,a as d,n as f,o as p}from"./useSessionListQuery-DtpEX8a5.js";import{c as m,d as h,l as g,u as _}from"./useNow-D-gM4IXU.js";import{i as v}from"./format-DMJQzoZ7.js";import"./session-change-summary-api-Dp9vVPv_.js";import{a as y,n as b}from"./folder-paths-D0-7xV2n.js";var x=e(n(),1);function S({doneWindow:e}={}){let t=g(e=>e.groupBy),n=g(e=>e.projects),r=g(e=>e.lanes),i=g(e=>e.collapsedLanes),a=g(e=>e.doneWindow),o=e??a,{query:s,items:c,capabilities:l,isLoading:h}=m(o),_=(0,x.useMemo)(()=>d(c,{lanes:r,projects:n}),[c,r,n]),v=(0,x.useMemo)(()=>p(_),[_]),y=(0,x.useMemo)(()=>f(c),[c]),b=(0,x.useMemo)(()=>c.filter(e=>e.lane===`attention`),[c]),S=s.data?.sessions,C=(0,x.useMemo)(()=>!!S&&!(S??[]).some(e=>e.archived!==!0&&(typeof e.messageCount!=`number`||e.messageCount>0)),[S]),w=(0,x.useMemo)(()=>({groupBy:t,projects:n,lanes:r,collapsedLanes:i,doneWindow:o}),[i,o,t,r,n]),T=(0,x.useCallback)(async()=>{await u()},[]);return{all:c,items:_,lanes:v,projects:y,total:c.length,attentionAll:b,catalogEmpty:C,view:w,capabilities:l,isLoading:h,isRefreshing:s.isFetching&&!s.isPending,error:s.error??null,refresh:T}}function C(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function w(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:null}var T=[`input`,`output`,`cacheRead`,`cacheWrite`,`totalTokens`,`total`];function E(e,t){let n=C(e),r=T.some(e=>w(n[e])!==null)?v(e).totalTokens:null,i=C(C(t).subAgents),a=w(i.running),o=w(i.maxConcurrent);return{todayTokens:w(r),memoryBytes:w(C(C(t).memory).rss),...a!==null&&o!==null&&o>=1?{subAgents:{running:Math.floor(a),max:Math.floor(o)}}:{}}}async function D(e){let[t,n]=await Promise.allSettled([c(`/api/usage/today`,{signal:e}),c(`/api/runtime/diagnostics`,{signal:e})]);return E(t.status===`fulfilled`?t.value:void 0,n.status===`fulfilled`?n.value:void 0)}function O(e){return s({queryKey:[`board`,`fleet-system-info`],queryFn:({signal:e})=>D(e),enabled:e,staleTime:15e3,retry:!1})}var k=r(),A=(0,x.lazy)(()=>t(()=>import(`./WorkspacePicker-D6FLo7O1.js`).then(e=>e.n).then(e=>({default:e.WorkspacePicker})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36]))),j=(0,x.lazy)(()=>t(()=>import(`./NewFolderDialog-CjWMsY2Q.js`).then(e=>({default:e.NewFolderDialog})),__vite__mapDeps([37,1,2,3,4,5,6,7,8,9,10,21,17,38,39,23,24,25,26,27,28,29,30,31,32,33,40,41,42,12,13,14,15,43,44,45,46,47,35,48,49,50])));function M({picker:e,folderDialog:t}){let{mounted:n,...r}=e,{mounted:i,...a}=t;return!n&&!i?null:(0,k.jsxs)(x.Suspense,{fallback:null,children:[n&&(0,k.jsx)(A,{...r}),i&&(0,k.jsx)(j,{...a})]})}var N=`pisper-launch-defaults`,P=[`approval-required`,`workspace-write`,`full-access`],F=[`plan`,`goal`,`team`],I=P.filter(e=>e!==`full-access`);function L(e){return I.includes(e)?e:``}var R={cwd:``,projectless:!1,machineId:``,machineCwd:``,model:``,thinkingLevel:``,executionMode:``,runMode:`plan`};function z(e,t,n){if(typeof e!=`string`)return``;let r=e.trim();return r.length<=t&&(!n||n.test(r))?r:``}function B(e){let t=h(e);return{cwd:z(t.cwd,4096),projectless:t.projectless===!0,machineId:z(t.machineId,64,/^(?:ssh|env)_[A-Za-z0-9_-]{8,32}$/),machineCwd:z(t.machineCwd,4096),model:z(t.model,256),thinkingLevel:z(t.thinkingLevel,32,/^[a-z][a-z0-9_-]*$/),executionMode:L(t.executionMode),runMode:F.includes(t.runMode)?t.runMode:`plan`}}function V(e,t){let n=t.projectless??(t.cwd===void 0&&e.projectless),r=t.machineId===void 0&&(t.cwd!==void 0||t.projectless===!0),i=B({...e,...t,projectless:n,...r?{machineId:``,machineCwd:``}:{}});return t.executionMode===`full-access`?{...i,executionMode:L(e.executionMode)}:i}function H(e){let t=/^machine:\/\/((?:ssh|env)_[A-Za-z0-9_-]{8,32})(\/.*)$/.exec(e);return t?{machineId:t[1],machineCwd:t[2]}:{cwd:e}}var U=o()(a((e,t)=>({...R,rememberLaunch:n=>{let{cwd:r,projectless:i,machineId:a,machineCwd:o,model:s,thinkingLevel:c}=t(),{executionMode:l,runMode:u}=t();e(V({cwd:r,projectless:i,machineId:a,machineCwd:o,model:s,thinkingLevel:c,executionMode:l,runMode:u},n))},resetLaunchDefaults:()=>e({...R})}),{name:N,storage:_(),version:1,partialize:({cwd:e,projectless:t,machineId:n,machineCwd:r,model:i,thinkingLevel:a,executionMode:o,runMode:s})=>({cwd:e,projectless:t,machineId:n,machineCwd:r,model:i,thinkingLevel:a,executionMode:o,runMode:s}),merge:(e,t)=>({...t,...B(e)})}));function W({onProjectChosen:e,onError:t,onRemembered:n}){let{t:r}=i(),[a,o]=(0,x.useState)(!1),[s,c]=(0,x.useState)(!1),[u,d]=(0,x.useState)(!1),[f,p]=(0,x.useState)(!1),[m,h]=(0,x.useState)(!1),[g,_]=(0,x.useState)(``),v=(0,x.useRef)(!1),S=(0,x.useRef)(0),C=(0,x.useRef)(!1),w=(0,x.useRef)({onProjectChosen:e,onError:t,onRemembered:n});w.current={onProjectChosen:e,onError:t,onRemembered:n},(0,x.useEffect)(()=>()=>{S.current+=1},[]);let T=(0,x.useCallback)(e=>{let t=l.getState().registerProject(e)||e;U.getState().rememberLaunch({cwd:t}),w.current.onRemembered?.(t)},[]),E=(0,x.useCallback)(async()=>{if(v.current)return;v.current=!0,o(!0);let e=++S.current;try{let t=await y(r);if(e!==S.current)return;t.status===`picked`?(T(t.path),w.current.onProjectChosen()):t.status===`unavailable`&&(c(!0),d(!0))}catch(t){e===S.current&&w.current.onError(t instanceof Error?t.message:String(t))}finally{e===S.current&&(v.current=!1,o(!1))}},[T,r]),D=(0,x.useCallback)((e=``)=>{_(b(e)),p(!0),h(!0)},[]),O=e=>{C.current&&(C.current=!1,e.preventDefault(),w.current.onProjectChosen())};return{newProject:E,newFolder:D,picking:a,picker:{mounted:s,open:u,description:r(`board:project.pickerDescription`),onOpenChange:d,onSelect:e=>{T(e),C.current=!0},onCloseAutoFocus:O},folderDialog:{mounted:f,open:m,initialParent:g,onOpenChange:h,onCreated:e=>{T(e),C.current=!0},onCloseAutoFocus:O}}}export{M as a,U as i,I as n,O as o,H as r,S as s,W as t};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-_WvEqLNn.js";import{i as n}from"./vendor-react-DwNgTV1j.js";import{a as r,i,o as a}from"./vendor-state-GkUciC5H.js";import{a as o}from"./startup-queries-LEtJRewm.js";import{t as s}from"./runtime-capabilities-store-D_0w_fuG.js";import{l as c,n as l,u}from"./session-board-status-D2lpFPiI.js";import{u as d}from"./events-DMbz7S1A.js";import{t as f}from"./chat-api-fzSB1i2N.js";import{C as p,D as m,E as h,S as g,T as _,_ as v,b as y,c as b,d as x,f as S,g as C,h as ee,i as te,l as w,m as T,p as E,t as ne,v as D,w as O,x as k}from"./useSessionListQuery-CuUmG2UC.js";import{n as A}from"./card-presentation-1oph2b8P.js";var j=e(n(),1),re=class extends Error{code=`board_confirmation_required`},M=()=>({ok:!1,reason:`pending`,error:null});function N(){g().catch(()=>void 0)}async function P(e,t,n,{confirmCritical:r=!1}){let i=T(e,t);if(n&&(!i||i.severity===`critical`&&!r))return{ok:!1,reason:`confirmation-required`,error:new re};let a=n?`approve`:`deny`,o=E(a,e,t);if(!S(o,a))return M();let s=C(e).filter(e=>e.id!==t);p(e,t);let c=s.length?null:x(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await m.resolveApproval(e,t,n)}catch(t){return c!==null&&v(e,c),i&&O(e,i),y(o),N(),{ok:!1,reason:`failed`,error:t}}try{await D(e,e=>!e||!e.card.approvals.some(e=>e.id===t),{fresh:!0})}catch{}finally{c!==null&&v(e,c),y(o)}return{ok:!0}}function ie(e,t,n={}){return P(e,t,!0,n)}function ae(e,t){return P(e,t,!1,{})}async function oe(e,t,n){let r=E(`answer`,e,t);if(!S(r,`answer`))return M();let i=x(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await f.answerQuestion(e,t,{answers:[{selected:[n]}]})}catch(t){return v(e,i),y(r),N(),{ok:!1,reason:`failed`,error:t}}try{await D(e,void 0,{fresh:!0})}catch{}finally{v(e,i),y(r)}return{ok:!0}}async function se(e){let t=E(`start`,e);if(!S(t,`start`))return M();let n=x(e,{streaming:!0});try{await f.startQueuedSession(e)}catch(r){return v(e,n),y(t),N(),{ok:!1,reason:`failed`,error:r}}try{await D(e,void 0,{fresh:!0})}catch{}finally{v(e,n),y(t)}return{ok:!0}}async function ce(e){let t=E(`retry`,e);if(!S(t,`retry`))return M();let n=x(e,{streaming:!0});try{await k(e,`retry`,(t,n)=>m.retry(e,t,n))}catch(r){return v(e,n),y(t),N(),{ok:!1,reason:`failed`,error:r}}try{await D(e,e=>!e||e.session.streaming===!0)}catch{}finally{v(e,n),y(t)}return{ok:!0}}function F(e){_(e.id,{pinned:e.pinned,archived:e.archived,unread:e.unread,needsAttention:e.needsAttention,attentionReason:e.attentionReason}),o.setQueryData(w,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 I(e,t,n,r){let i=E(t,e);if(!S(i,t))return M();let a=x(e,n);try{return F(await m.updateOrganization(e,r)),{ok:!0}}catch(e){return N(),{ok:!1,reason:`failed`,error:e}}finally{v(e,a),y(i)}}function L(e){return ee()?I(e,`markHandled`,{unread:!1,needsAttention:!1,attentionReason:null},{read:!0,dismissAttention:!0}):I(e,`markHandled`,{unread:!1},{read:!0})}function R(e,t=!0){return I(e,`pin`,{pinned:t},{pinned:t})}function z(e,t=!0){return I(e,`archive`,{archived:t},{archived:t})}async function B(e,t){let n=E(`rename`,e);if(!S(n,`rename`))return M();try{let n=await m.renameSession(e,t);return _(e,{name:n}),o.setQueryData(w,t=>t&&{...t,sessions:t.sessions.map(t=>t.id===e?{...t,name:n}:t)}),d({id:e,name:n}),{ok:!0}}catch(e){return N(),{ok:!1,reason:`failed`,error:e}}finally{y(n)}}function V(){b();let e=h(e=>e.pending);return(0,j.useMemo)(()=>({approve:ie,deny:ae,retry:ce,markHandled:L,pin:R,archive:z,rename:B,answer:oe,startNow:se,pending:e,isPending:(t,n,r=``)=>!!e[E(t,n,r)]}),[e])}function H(){return i(()=>({getItem:e=>{try{return t.getItem(e)}catch{return null}},setItem:(e,n)=>{try{t.setItem(e,n)}catch{}},removeItem:e=>{try{t.removeItem(e)}catch{}}}))}function U(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function W(e,{limit:t=200,maxLength:n=4096}={}){if(!Array.isArray(e))return[];let r=[];for(let i of e)if(!(typeof i!=`string`||i.length>n||r.includes(i))&&(r.push(i),r.length>=t))break;return r}var le=`pisper-board-view`,ue=[`lane`,`project`],G={groupBy:`lane`,projects:[],lanes:[],collapsedLanes:[],doneWindow:`today`};function K(e){return W(e,{limit:4,maxLength:16}).filter(c)}function q(e){let t=U(e);return{groupBy:ue.includes(t.groupBy)?t.groupBy:G.groupBy,projects:W(t.projects),lanes:K(t.lanes),collapsedLanes:K(t.collapsedLanes),doneWindow:l.includes(t.doneWindow)?t.doneWindow:G.doneWindow}}function J(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}var de=a()(r(e=>({...G,deckCollapsed:!1,setDeckCollapsed:t=>e({deckCollapsed:t===!0}),setGroupBy:t=>e({groupBy:q({groupBy:t}).groupBy}),setProjectFilter:t=>e({projects:W([...t])}),toggleProjectFilter:t=>e(e=>({projects:W(J(e.projects,t))})),setLaneFilter:t=>e({lanes:K([...t])}),toggleLaneFilter:t=>e(e=>({lanes:K(J(e.lanes,t))})),setLaneCollapsed:(t,n)=>e(e=>({collapsedLanes:K(n?[...e.collapsedLanes,t]:e.collapsedLanes.filter(e=>e!==t))})),setDoneWindow:t=>e({doneWindow:q({doneWindow:t}).doneWindow}),clearFilters:()=>e({projects:[],lanes:[]})}),{name:le,storage:H(),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,...q(e),deckCollapsed:U(e).deckCollapsed===!0})}));function fe(){let e=s(e=>e.capabilities.features);return(0,j.useMemo)(()=>{let t=e;return{askUser:t.askUser===!0,sessionQueue:t.sessionQueue===!0}},[e])}function pe(e){let t=ne(),n=h(e=>e.live),r=h(e=>e.localRuns),i=h(e=>e.runningSince),a=h(e=>e.patches),o=h(e=>e.pending),s=h(e=>e.feed.entries),c=h(e=>e.feed.ready),l=h(e=>Math.floor(e.feed.updatedAt/6e4)),u=fe(),d=t.data?.sessions,f=Math.max(t.dataUpdatedAt,l*6e4),p=(0,j.useMemo)(()=>({ready:c,entries:s}),[s,c]);return{query:t,items:(0,j.useMemo)(()=>d||p.ready?te(d??[],{live:n,localRuns:r,runningSince:i,patches:a,pending:o,feed:p},{now:f,capabilities:u,doneWindow:e}):[],[u,e,p,n,r,f,a,o,i,d]),capabilities:u,isLoading:t.isPending&&!p.ready}}function Y(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function X(e,t=!1){return(n,r)=>{let i=Y(e(n)),a=Y(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 Z(e){let t=[];e.status===`failed`&&t.push({kind:`failed`}),e.status===`approval`&&t.push({kind:`approval`,critical:e.severity===`critical`});let n=Y(e.questionCount);return(e.status===`question`||n!==null&&n>0)&&t.push({kind:`question`,count:n!==null&&n>0?n:null}),t}function Q(e){let t=e.approvals[0],n=Y(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 me(e){return Math.round(e*.381966%1*1e3)/1e3}function he(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=[],a=[],o=[],s=[],c=[],l=new Set;for(let d of e)!d||typeof d.id!=`string`||!d.id||l.has(d.id)||d.session?.archived!==!0&&(l.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?s.push(d):u(d.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`})&&c.push(d)));let d=i.sort(X(e=>e.since)).map(e=>({group:`attention`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`attention`,waitingSince:Y(e.since),reasons:Z(e),quickAction:Q(e)})),f=e=>Y(e.startedAt)??Y(e.since),p=a.sort(X(f)).map((e,t)=>({group:`running`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`run`,startedAt:f(e),phase:me(t)})),m=X(e=>e.since),h=o.sort((e,t)=>{let n=Y(e.queuePosition),r=Y(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,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`queued`,position:Y(e.queuePosition)??t+1})),g=s.sort(X(e=>e.since,!0)).map(e=>({group:`pinned`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:A(e),at:Y(e.since)})),_=c.sort(X(e=>e.since,!0)).map(e=>({group:`done`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:A(e),finishedAt:Y(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 ge(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 $(e){let[t,n]=(0,j.useState)(()=>Date.now());return(0,j.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 _e(){let[e,t]=(0,j.useState)(()=>Math.floor(Date.now()/6e4)*6e4);return(0,j.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{X as a,pe as c,U as d,V as f,he as i,de as l,$ as n,Q as o,ge as r,Z as s,_e as t,H as u};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./index-79gEOxmD.js";import{i as n}from"./vendor-react-DwNgTV1j.js";import{a as r,i,o as a}from"./vendor-state-GkUciC5H.js";import{a as o}from"./startup-queries-BjjeYiQ8.js";import{t as s}from"./runtime-capabilities-store-Y9MaywP8.js";import{l as c,n as l,u}from"./session-board-status-D2lpFPiI.js";import{u as d}from"./events-BgEZwyTb.js";import{t as f}from"./chat-api-DQyHZl-V.js";import{C as p,D as m,E as h,S as g,T as _,_ as v,b as y,c as b,d as x,f as S,g as C,h as ee,i as te,l as w,m as T,p as E,t as ne,v as D,w as O,x as k}from"./useSessionListQuery-DtpEX8a5.js";import{n as A}from"./card-presentation-1oph2b8P.js";var j=e(n(),1),re=class extends Error{code=`board_confirmation_required`},M=()=>({ok:!1,reason:`pending`,error:null});function N(){g().catch(()=>void 0)}async function P(e,t,n,{confirmCritical:r=!1}){let i=T(e,t);if(n&&(!i||i.severity===`critical`&&!r))return{ok:!1,reason:`confirmation-required`,error:new re};let a=n?`approve`:`deny`,o=E(a,e,t);if(!S(o,a))return M();let s=C(e).filter(e=>e.id!==t);p(e,t);let c=s.length?null:x(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await m.resolveApproval(e,t,n)}catch(t){return c!==null&&v(e,c),i&&O(e,i),y(o),N(),{ok:!1,reason:`failed`,error:t}}try{await D(e,e=>!e||!e.card.approvals.some(e=>e.id===t),{fresh:!0})}catch{}finally{c!==null&&v(e,c),y(o)}return{ok:!0}}function ie(e,t,n={}){return P(e,t,!0,n)}function ae(e,t){return P(e,t,!1,{})}async function oe(e,t,n){let r=E(`answer`,e,t);if(!S(r,`answer`))return M();let i=x(e,{needsAttention:!1,attentionReason:null,streaming:!0});try{await f.answerQuestion(e,t,{answers:[{selected:[n]}]})}catch(t){return v(e,i),y(r),N(),{ok:!1,reason:`failed`,error:t}}try{await D(e,void 0,{fresh:!0})}catch{}finally{v(e,i),y(r)}return{ok:!0}}async function se(e){let t=E(`start`,e);if(!S(t,`start`))return M();let n=x(e,{streaming:!0});try{await f.startQueuedSession(e)}catch(r){return v(e,n),y(t),N(),{ok:!1,reason:`failed`,error:r}}try{await D(e,void 0,{fresh:!0})}catch{}finally{v(e,n),y(t)}return{ok:!0}}async function ce(e){let t=E(`retry`,e);if(!S(t,`retry`))return M();let n=x(e,{streaming:!0});try{await k(e,`retry`,(t,n)=>m.retry(e,t,n))}catch(r){return v(e,n),y(t),N(),{ok:!1,reason:`failed`,error:r}}try{await D(e,e=>!e||e.session.streaming===!0)}catch{}finally{v(e,n),y(t)}return{ok:!0}}function F(e){_(e.id,{pinned:e.pinned,archived:e.archived,unread:e.unread,needsAttention:e.needsAttention,attentionReason:e.attentionReason}),o.setQueryData(w,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 I(e,t,n,r){let i=E(t,e);if(!S(i,t))return M();let a=x(e,n);try{return F(await m.updateOrganization(e,r)),{ok:!0}}catch(e){return N(),{ok:!1,reason:`failed`,error:e}}finally{v(e,a),y(i)}}function L(e){return ee()?I(e,`markHandled`,{unread:!1,needsAttention:!1,attentionReason:null},{read:!0,dismissAttention:!0}):I(e,`markHandled`,{unread:!1},{read:!0})}function R(e,t=!0){return I(e,`pin`,{pinned:t},{pinned:t})}function z(e,t=!0){return I(e,`archive`,{archived:t},{archived:t})}async function B(e,t){let n=E(`rename`,e);if(!S(n,`rename`))return M();try{let n=await m.renameSession(e,t);return _(e,{name:n}),o.setQueryData(w,t=>t&&{...t,sessions:t.sessions.map(t=>t.id===e?{...t,name:n}:t)}),d({id:e,name:n}),{ok:!0}}catch(e){return N(),{ok:!1,reason:`failed`,error:e}}finally{y(n)}}function V(){b();let e=h(e=>e.pending);return(0,j.useMemo)(()=>({approve:ie,deny:ae,retry:ce,markHandled:L,pin:R,archive:z,rename:B,answer:oe,startNow:se,pending:e,isPending:(t,n,r=``)=>!!e[E(t,n,r)]}),[e])}function H(){return i(()=>({getItem:e=>{try{return t.getItem(e)}catch{return null}},setItem:(e,n)=>{try{t.setItem(e,n)}catch{}},removeItem:e=>{try{t.removeItem(e)}catch{}}}))}function U(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function W(e,{limit:t=200,maxLength:n=4096}={}){if(!Array.isArray(e))return[];let r=[];for(let i of e)if(!(typeof i!=`string`||i.length>n||r.includes(i))&&(r.push(i),r.length>=t))break;return r}var le=`pisper-board-view`,ue=[`lane`,`project`],G={groupBy:`lane`,projects:[],lanes:[],collapsedLanes:[],doneWindow:`today`};function K(e){return W(e,{limit:4,maxLength:16}).filter(c)}function q(e){let t=U(e);return{groupBy:ue.includes(t.groupBy)?t.groupBy:G.groupBy,projects:W(t.projects),lanes:K(t.lanes),collapsedLanes:K(t.collapsedLanes),doneWindow:l.includes(t.doneWindow)?t.doneWindow:G.doneWindow}}function J(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}var de=a()(r(e=>({...G,deckCollapsed:!1,setDeckCollapsed:t=>e({deckCollapsed:t===!0}),setGroupBy:t=>e({groupBy:q({groupBy:t}).groupBy}),setProjectFilter:t=>e({projects:W([...t])}),toggleProjectFilter:t=>e(e=>({projects:W(J(e.projects,t))})),setLaneFilter:t=>e({lanes:K([...t])}),toggleLaneFilter:t=>e(e=>({lanes:K(J(e.lanes,t))})),setLaneCollapsed:(t,n)=>e(e=>({collapsedLanes:K(n?[...e.collapsedLanes,t]:e.collapsedLanes.filter(e=>e!==t))})),setDoneWindow:t=>e({doneWindow:q({doneWindow:t}).doneWindow}),clearFilters:()=>e({projects:[],lanes:[]})}),{name:le,storage:H(),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,...q(e),deckCollapsed:U(e).deckCollapsed===!0})}));function fe(){let e=s(e=>e.capabilities.features);return(0,j.useMemo)(()=>{let t=e;return{askUser:t.askUser===!0,sessionQueue:t.sessionQueue===!0}},[e])}function pe(e){let t=ne(),n=h(e=>e.live),r=h(e=>e.localRuns),i=h(e=>e.runningSince),a=h(e=>e.patches),o=h(e=>e.pending),s=h(e=>e.feed.entries),c=h(e=>e.feed.ready),l=h(e=>Math.floor(e.feed.updatedAt/6e4)),u=fe(),d=t.data?.sessions,f=Math.max(t.dataUpdatedAt,l*6e4),p=(0,j.useMemo)(()=>({ready:c,entries:s}),[s,c]);return{query:t,items:(0,j.useMemo)(()=>d||p.ready?te(d??[],{live:n,localRuns:r,runningSince:i,patches:a,pending:o,feed:p},{now:f,capabilities:u,doneWindow:e}):[],[u,e,p,n,r,f,a,o,i,d]),capabilities:u,isLoading:t.isPending&&!p.ready}}function Y(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function X(e,t=!1){return(n,r)=>{let i=Y(e(n)),a=Y(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 Z(e){let t=[];e.status===`failed`&&t.push({kind:`failed`}),e.status===`approval`&&t.push({kind:`approval`,critical:e.severity===`critical`});let n=Y(e.questionCount);return(e.status===`question`||n!==null&&n>0)&&t.push({kind:`question`,count:n!==null&&n>0?n:null}),t}function Q(e){let t=e.approvals[0],n=Y(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 me(e){return Math.round(e*.381966%1*1e3)/1e3}function he(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=[],a=[],o=[],s=[],c=[],l=new Set;for(let d of e)!d||typeof d.id!=`string`||!d.id||l.has(d.id)||d.session?.archived!==!0&&(l.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?s.push(d):u(d.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`})&&c.push(d)));let d=i.sort(X(e=>e.since)).map(e=>({group:`attention`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`attention`,waitingSince:Y(e.since),reasons:Z(e),quickAction:Q(e)})),f=e=>Y(e.startedAt)??Y(e.since),p=a.sort(X(f)).map((e,t)=>({group:`running`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`run`,startedAt:f(e),phase:me(t)})),m=X(e=>e.since),h=o.sort((e,t)=>{let n=Y(e.queuePosition),r=Y(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,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:`queued`,position:Y(e.queuePosition)??t+1})),g=s.sort(X(e=>e.since,!0)).map(e=>({group:`pinned`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:A(e),at:Y(e.since)})),_=c.sort(X(e=>e.since,!0)).map(e=>({group:`done`,id:e.id,title:e.title,...e.bot?{bot:e.bot}:{},status:e.status,pinned:e.pinned===!0,glyph:A(e),finishedAt:Y(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 ge(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 $(e){let[t,n]=(0,j.useState)(()=>Date.now());return(0,j.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 _e(){let[e,t]=(0,j.useState)(()=>Math.floor(Date.now()/6e4)*6e4);return(0,j.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{X as a,pe as c,U as d,V as f,he as i,de as l,$ as n,Q as o,ge as r,Z as s,_e as t,H as u};
@@ -1 +1 @@
1
- import{n as e,r as t}from"./use-mobile-C2tPBAza.js";import{t as n}from"./client-store-D1Oy98mB.js";function r(){let r=n(e=>e.client===`mobile-app`),i=e(),a=t()&&r;return(r||i)&&!a&&typeof window<`u`&&!window.pisperDesktop}function i(){let e=n(e=>e.client===`mobile-app`);return t()&&e}export{i as n,r as t};
1
+ import{n as e,r as t}from"./use-mobile-C2tPBAza.js";import{t as n}from"./client-store-4G-xfNKc.js";function r(){let r=n(e=>e.client===`mobile-app`),i=e(),a=t()&&r;return(r||i)&&!a&&typeof window<`u`&&!window.pisperDesktop}function i(){let e=n(e=>e.client===`mobile-app`);return t()&&e}export{i as n,r as t};
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{o as n}from"./vendor-state-GkUciC5H.js";import{u as r}from"./query-DFQayLF5.js";import{t as i}from"./useQuery-DfOU-27z.js";import{a,i as o,n as s,o as c,t as l}from"./startup-queries-BjjeYiQ8.js";import{t as u}from"./component-changes-Q9Bf64Ob.js";import{i as d}from"./http-response-B2n7HFQ4.js";import{t as f}from"./event-stream-BrDcABQx.js";import{i as p,n as m}from"./http-DtkTCrZ4.js";import{t as h}from"./runtime-capabilities-store-Y9MaywP8.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-DQyHZl-V.js";import{n as x}from"./session-organization-api-ibzfB8fg.js";import{i as te,o as S}from"./session-questions-94KACguh.js";import{c as ne,l as re}from"./session-workspaces-Brm-8lHh.js";var ie=400,ae=2e3,oe=160,se=512,ce=400,le=240,ue=240,de=8,C=40,fe=80,pe=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 me(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(),oe)}function he(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:me(e,t.args),startedAt:E(t.startedAt)}}return null}function ge(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),ie),risk:T(t.risk),severity:g(t),createdAt:E(t.createdAt)}}function _e(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=ge(r);!e||t.has(e.id)||(t.add(e.id),n.push(e))}return n}function ve(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function O(e){let t=ve(e);return t===null?null:Math.max(0,Math.floor(t))}var ye=/[\u0000-\u001f\u007f-\u009f]/g;function k(e,t){return D(T(e).replace(ye,` `).trimEnd(),t)}function be(e){let t=/^(?:path|file_path): (.+)$/m.exec(e);return t?t[1].trim():``}function xe(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,se),o=t.argsTruncated===!0||a!==i,s=r===`bash`;return{id:n,toolName:r,toolCallId:``,args:{},command:s?a:``,path:s?``:be(a),reason:D(T(t.reason),ie),risk:T(t.risk),severity:g({severity:t.severity,reason:t.reason,toolName:r}),createdAt:E(t.createdAt),argsText:s?``:a,truncated:o}}function Se(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(),oe),startedAt:E(t.startedAt)}:null}function Ce(e){let t=w(e),n=T(t.id),r=k(t.name,C);if(!n||!r)return null;let i=w(t.avatar);return{id:D(n,C),name:r,character:D(T(i.character),C),color:D(T(i.color),C)}}function we(e){return e?{bot:e}:{}}function Te(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 Ee(e){let t=w(e),n=w(t.error),r=k(n.message,ce),i=w(t.agents),a=O(i.running),o=O(i.total),s=ve(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=xe(e);if(!(!t||u.has(t.id))&&(u.add(t.id),l.push(t),l.length>=de))break}return{boardStatus:D(T(t.boardStatus),C),runId:D(T(t.runId),fe),activity:Se(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:Te(t.changeStats),preview:k(t.lastAssistantPreview,le),tail:(Array.isArray(t.tail)?t.tail:[]).map(e=>k(e,ue)).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),...we(Ce(t.bot))}}function De(e){let t=w(e),n=T(t.id);if(!n)return null;let r={...t,id:n};return delete r.card,r}function Oe(e){let t=De(e);return t?{session:t,card:Ee(w(e).card)}:null}function ke(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function Ae(e){let t=w(e),n=[],r=new Set;for(let e of Array.isArray(t.sessions)?t.sessions:[]){let t=Oe(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:ke(t.revision)}}function je(){return-new Date().getTimezoneOffset()}function Me(e){let t=w(e);return{streaming:t.streaming===!0,approvals:_e(t.approvals),error:D(T(t.error),ae),activity:he(t.currentActivity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt)}}var A={listSessions:()=>b.listSessions(),getLiveDetail:async(e,t)=>Me(await b.getLiveSession(e,{signal:t,timeout:15e3})),resolveApproval:async(e,t,n)=>{try{return w(await b.resolveApproval(e,t,n)).alreadyResolved===!0?`already-resolved`:`resolved`}catch(e){if(e instanceof d&&e.status===404)return`missing`;throw e}},retry:(e,t,n)=>b.retryLastTurn(e,t,{signal:n}),updateOrganization:(e,t)=>x(e,t),renameSession:async(e,t)=>{let n=w(await b.renameSession(e,t));return typeof n.name==`string`?n.name:t},listBoardView:async e=>{let t=[],n=new Set,r=``,i=null;for(let a=0;a<pe;a+=1){let o=new URLSearchParams({view:`board`,window:`7d`,limit:`200`,tzOffset:String(je())});r&&o.set(`cursor`,r);let s=await m(`/api/sessions?${o}`,{signal:e,timeout:15e3,parse:Ae});a===0&&(i=s.revision);for(let e of s.items)n.has(e.session.id)||(n.add(e.session.id),t.push(e));if(r=s.nextCursor??``,!r||t.length>=500)break}return{items:t.slice(0,500),nextCursor:r||null,revision:i}},openBoardEvents:async(e,t,n)=>{await p(n);let r=e===null?``:`?after=${encodeURIComponent(String(e))}`,i;try{i=await fetch(`/api/board/events${r}`,{signal:n,headers:{Accept:`text/event-stream`}})}catch(e){throw n.aborted?e:new d(e instanceof Error?e.message:`network`,{kind:`network`})}await f(i,(e,n)=>t(e,n))}};function j(e=`legacy`){return{mode:e,ready:!1,revision:null,awaitingSnapshot:!1,entries:{},updatedAt:0}}function M(){return{upserts:[],removed:[],resync:!1,reconnect:!1,truncated:!1,catalog:!1,changed:!1}}function Ne(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function Pe(e,t,n,r=Date.now()){let i=M(),a={},o=n??e.revision??0;for(let e of t)a[e.session.id]={...e,revision:o,receivedAt:r},i.upserts.push(e.session);for(let t of Object.keys(e.entries))t in a||i.removed.push(t);return i.changed=!0,{feed:{...e,ready:!0,revision:n??e.revision,awaitingSnapshot:!1,entries:a,updatedAt:r},effects:i}}function Fe(e,t,n,r=Date.now()){let i=Ne(n),a=ke(i.revision),o={feed:e,effects:M()};if(t===`snapshot`){if(a===null||!Array.isArray(i.items))return o;let t=[],n=new Set;for(let e of i.items){let r=Oe(e);!r||n.has(r.session.id)||(n.add(r.session.id),t.push(r))}let s=Pe(e,t,a,r);return s.effects.truncated=i.truncated===!0,s}if(t===`resync_required`){let t=M();return t.resync=!0,t.reconnect=i.reason===`flush_failed`,t.changed=!e.awaitingSnapshot,{feed:{...e,awaitingSnapshot:!0},effects:t}}if(e.awaitingSnapshot||a===null||e.revision!==null&&a<=e.revision)return o;if(t===`heartbeat`||t===`component_changed`||t===`catalog_changed`||t===`session_workspace`){let n=M();return n.changed=!0,n.catalog=t===`catalog_changed`,{feed:{...e,revision:a,updatedAt:r},effects:n}}if(t!==`session_card`)return o;let s=typeof i.id==`string`?i.id:``;if(!s)return o;let c=e.entries[s];if(c&&a<=c.revision)return o;let l=M();if(l.changed=!0,i.removed===!0){let t={...e.entries};return delete t[s],c&&l.removed.push(s),{feed:{...e,revision:a,entries:t,updatedAt:r},effects:l}}let u=De(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:Ee(i.card),revision:a,receivedAt:r}},updatedAt:r},effects:l})}var N=l,Ie=3e3,Le=2e3,Re=3e4,ze=1e3,Be=3e4,Ve=6e4,He=4e3,Ue=4e4,We=300,Ge=6e3,Ke=6e4,qe=1e3,Je={feed:j(),live:{},localRuns:{},runningSince:{},patches:{},pending:{}},P=n()(()=>({...Je}));function Ye(){return a.getQueryData(N)?.sessions??[]}function F(){return s(`sessions`,!0)}async function Xe(){o(`sessions`),await F()}async function Ze(e,t=()=>!0,{fresh:n=!1}={}){if(V.active&&V.mode===`events`&&V.events.controller){if(!n&&t(P.getState().feed.entries[e]))return;await Qe(e,t,He);return}if(V.active&&V.mode!==`legacy`&&I().view){await K();return}await Xe().catch(()=>void 0)}function Qe(e,t,n){return new Promise(r=>{let i=P.getState().feed.entries[e],a=null,o=()=>{},s=()=>{a&&clearTimeout(a),o(),r()};o=P.subscribe(n=>{let r=n.feed.entries[e];r!==i&&t(r)&&s()}),a=setTimeout(s,n)})}function I(){let{capabilities:e,loaded:t}=h.getState(),n=e.features;return{loaded:t,view:t&&n[`board.view`]===!0,events:t&&n[`board.events`]===!0}}function $e(){return I().view}var et=0;function tt(e,t){let n=++et;return P.setState(r=>({patches:{...r.patches,[e]:[...r.patches[e]??[],{token:n,patch:t}]}})),n}function nt(e,t){P.setState(n=>{let r=n.patches[e];if(!r?.some(e=>e.token===t))return n;let i=r.filter(e=>e.token!==t),a={...n.patches};return i.length?a[e]=i:delete a[e],{patches:a}})}function L(e,t){let n=t[e.id];return n?.length?n.reduce((e,t)=>({...e,...t.patch}),e):e}function R(e,t,n=``){return e===`approve`||e===`deny`?`approval:${t}:${n}`:`${e}:${t}`}function rt(e,t){return!P.getState().pending[e]&&(P.setState(n=>({pending:{...n.pending,[e]:t}})),!0)}function it(e){P.setState(t=>{if(!(e in t.pending))return t;let n={...t.pending};return delete n[e],{pending:n}})}function z(e,t){P.setState(n=>{let r=t(n.live[e]);if(r===n.live[e])return n;let i={...n.live};return r?i[e]=r:delete i[e],{live:i}})}function at(e,t){P.setState(n=>{let r=n.feed.entries[e];if(!r)return n;let i=t(r.card.approvals);return i===r.card.approvals?n:{feed:{...n.feed,entries:{...n.feed.entries,[e]:{...r,card:{...r.card,approvals:i}}}}}})}function ot(e,t){z(e,e=>e&&e.approvals.some(e=>e.id===t)?{...e,approvals:e.approvals.filter(e=>e.id!==t)}:e??null),at(e,e=>e.some(e=>e.id===t)?e.filter(e=>e.id!==t):e)}function st(e,t){if(P.getState().feed.entries[e]){at(e,e=>e.some(e=>e.id===t.id)?e:[...e,t]);return}z(e,e=>{let n=e??B(`ready`);return n.approvals.some(e=>e.id===t.id)?n:{...n,approvals:[...n.approvals,t]}})}function ct(e,t){let n=P.getState(),r=n.live[e]?.approvals.find(e=>e.id===t);if(r)return r;let i=n.feed.entries[e]?.card.approvals.find(e=>e.id===t);return i&&!i.truncated?i:void 0}function lt(e,t){P.setState(n=>{let r=n.feed.entries[e];return r?{feed:{...n.feed,entries:{...n.feed.entries,[e]:{...r,session:{...r.session,...t},receivedAt:Date.now()}}}}:n})}function ut(e){let t=P.getState(),n=t.feed.entries[e];return n&&V.mode!==`legacy`?n.card.approvals:t.live[e]?.approvals??[]}function B(e){return{status:e,approvals:[],error:``,activity:null,startedAt:null,fetchedAt:null,failures:0}}var V={retainers:0,active:!1,mode:`legacy`,pollTimer:null,releaseTimer:null,catalogTimer:null,liveTimers:new Map,liveControllers:new Map,liveNextAt:new Map,runControllers:new Map,events:{controller:null,retryTimer:null,attempt:0,blockedUntil:0,blockTimer:null,watchdog:null},view:{inFlight:null,controller:null,failures:0},feedSettled:!1,catalogFetchAt:0,cleanups:[]};function H(){return typeof document>`u`||document.visibilityState!==`hidden`}function dt(){let e=I();return e.events&&Date.now()>=V.events.blockedUntil?`events`:e.view?`view`:`legacy`}function U(e=P.getState().feed){return V.mode!==`legacy`&&e.ready}function W(){V.pollTimer&&clearTimeout(V.pollTimer),V.pollTimer=null}function G(e){W(),!(!V.active||V.mode===`events`||!H())&&(V.pollTimer=setTimeout(()=>{V.pollTimer=null,pt()},e))}function ft(){return V.view.failures?Math.min(Le*2**V.view.failures,Re):Le}async function pt(){let e=V.mode;if(e===`view`)await mt();else try{await F()}catch{}!V.active||V.mode!==e||(Z(),G(e===`view`?ft():Ie))}function mt(){if(V.view.inFlight)return V.view.inFlight;let e=new AbortController;V.view.controller=e;let t=(async()=>{try{let t=await A.listBoardView(e.signal);if(e.signal.aborted||!V.active)return;V.view.failures=0,V.feedSettled=!0,xt(Pe(P.getState().feed,t.items,V.mode===`events`?null:t.revision))}catch{if(e.signal.aborted)return;V.view.failures+=1,V.feedSettled=!0,Z()}finally{V.view.controller===e&&(V.view.controller=null,V.view.inFlight=null)}})();return V.view.inFlight=t,t}async function K(){let e=V.view.inFlight;e&&await e,await mt()}function ht(){V.view.controller?.abort(),V.view.controller=null,V.view.inFlight=null}function q(){let e=V.events;e.retryTimer&&clearTimeout(e.retryTimer),e.retryTimer=null,J();let t=e.controller;e.controller=null,t?.abort()}function J(){V.events.watchdog&&clearTimeout(V.events.watchdog),V.events.watchdog=null}function gt(e){J(),V.events.watchdog=setTimeout(()=>{V.events.watchdog=null;let t=V.events;t.controller!==e||e.signal.aborted||(t.controller=null,e.abort(),!(!V.active||V.mode!==`events`)&&(_t(0),Z()))},Ue)}function _t(e){let t=V.events;t.retryTimer&&clearTimeout(t.retryTimer),t.retryTimer=setTimeout(()=>{t.retryTimer=null,Y()},e)}function vt(e){return e instanceof d&&e.kind===`http`&&typeof e.status==`number`&&e.status>=400&&e.status<500}function yt(){let e=V.events;e.blockedUntil=Date.now()+Ve,e.blockTimer&&clearTimeout(e.blockTimer),e.blockTimer=setTimeout(()=>{e.blockTimer=null,X()},60010),X()}function Y(){let e=V.events;if(!V.active||V.mode!==`events`||e.controller||e.retryTimer||!H())return;let t=new AbortController;e.controller=t,gt(t);let n=P.getState().feed,r=n.ready&&!n.awaitingSnapshot?n.revision:null,i=!1,a=!1;A.openBoardEvents(r,(n,r)=>{if(t.signal.aborted||e.controller!==t)return!1;if(gt(t),i=!0,e.attempt=0,V.feedSettled=!0,bt(n,r).reconnect)return a=!0,!1},t.signal).then(()=>null,e=>e).then(n=>{if(e.controller===t&&(e.controller=null,J(),!(t.signal.aborted||!V.active))){if(V.feedSettled=!0,n&&vt(n))yt();else{let t=a?0:i?ze:Math.min(ze*2**e.attempt,Be);!i&&!a&&(e.attempt+=1),_t(t)}Z()}})}function bt(e,t){let n=Fe(P.getState().feed,e,t);return xt(n,e===`heartbeat`||e===`component_changed`||e===`catalog_changed`||e===`session_workspace`),u(e,t,n.effects.changed),S(e,t,n.effects.changed),n.effects}function xt({feed:e,effects:t},n=!1){t.changed&&P.setState({feed:{...e,mode:V.mode}}),t.upserts.length&&St(t.upserts),(t.removed.length||t.resync||t.catalog)&&Ct(),t.changed&&!n&&Z()}function St(e){let t=a.getQueryData(N);if(!t||!e.length)return;let n=new Map(t.sessions.map((e,t)=>[e.id,t])),r=null,i=[];for(let a of e){let e=n.get(a.id);if(e===void 0){i.some(e=>e.id===a.id)||i.push(a);continue}let o=(r??t.sessions)[e];JSON.stringify(o)!==JSON.stringify(a)&&(r??=[...t.sessions],r[e]=a)}!r&&!i.length||a.setQueryData(N,{...t,sessions:[...i,...r??t.sessions]})}function Ct(){V.catalogTimer||!V.active||(V.catalogTimer=setTimeout(()=>{V.catalogTimer=null,V.active&&F().catch(()=>void 0)},We))}function X(){if(!V.active)return;let e=dt();e!==V.mode&&(V.mode=e,V.feedSettled=!1,V.view.failures=0,q(),ht(),W(),P.setState(t=>({feed:e===`legacy`?j(`legacy`):{...t.feed,mode:e}})),e===`events`?(V.events.attempt=0,Y()):G(0),Z())}function wt(){V.retainers+=1,V.releaseTimer&&=(clearTimeout(V.releaseTimer),null),V.active||Tt();let e=!1;return()=>{e||(e=!0,V.retainers=Math.max(0,V.retainers-1),!(V.retainers>0)&&(V.releaseTimer=setTimeout(()=>{V.releaseTimer=null,V.retainers===0&&Et()},qe)))}}function Tt(){V.active=!0,V.mode=dt(),V.feedSettled=!1,V.view.failures=0,V.events.attempt=0,P.setState(e=>({feed:V.mode===`legacy`?j(`legacy`):{...e.feed,mode:V.mode}}));let e=r(N);if(V.catalogFetchAt=Math.max(V.catalogFetchAt,a.getQueryState(N)?.dataUpdatedAt??0),V.cleanups.push(a.getQueryCache().subscribe(t=>{if(t.type===`updated`&&t.query.queryHash===e){if(t.action.type===`fetch`){V.catalogFetchAt=Date.now();return}t.action.type===`success`&&Ot()}})),V.cleanups.push(h.subscribe(()=>X())),typeof document<`u`){let e=()=>{if(H()){V.mode===`events`?Y():G(0),Z();return}W(),q()};document.addEventListener(`visibilitychange`,e),V.cleanups.push(()=>document.removeEventListener(`visibilitychange`,e))}if(Ot(),V.mode===`events`)Y();else if(V.mode===`view`)G(0);else{let e=a.getQueryState(N)?.dataUpdatedAt??0;G(Math.max(0,e+Ie-Date.now()))}}function Et(){V.active=!1,W(),V.releaseTimer&&clearTimeout(V.releaseTimer),V.catalogTimer&&clearTimeout(V.catalogTimer),V.events.blockTimer&&clearTimeout(V.events.blockTimer),V.releaseTimer=null,V.catalogTimer=null,V.events.blockTimer=null,q(),ht();for(let e of V.cleanups.splice(0))e();for(let e of V.liveTimers.values())clearTimeout(e);for(let e of V.liveControllers.values())e.abort();for(let e of V.runControllers.values())e.controller.abort();V.liveTimers.clear(),V.liveControllers.clear(),V.liveNextAt.clear(),V.runControllers.clear(),P.setState({live:{},localRuns:{},runningSince:{}})}async function Dt(){let e=F();V.active&&V.mode===`view`&&await K(),await e}function Ot(){let e=Ye(),t=Date.now(),{runningSince:n,localRuns:r,feed:i}=P.getState(),a=U(i)?[...Object.values(i.entries).map(e=>e.session),...e]:e,o={},s=!1;for(let e of a)e.streaming!==!0||e.id in o||(o[e.id]=n[e.id]??r[e.id]?.startedAt??t,e.id in n||(s=!0));s||=Object.keys(n).some(e=>!(e in o)),s&&P.setState({runningSince:o}),U(i)&&kt(e),Z()}function kt(e){let t=V.catalogFetchAt,n=new Map(e.map(e=>[e.id,e])),r=[],i={};for(let e of Object.values(P.getState().feed.entries)){if((e.receivedAt??1/0)>=t){r.push(e.session);continue}let a=n.get(e.session.id);a&&a!==e.session&&JSON.stringify(a)!==JSON.stringify(e.session)&&(i[a.id]=a)}Object.keys(i).length&&P.setState(e=>{let t={...e.feed.entries};for(let[e,n]of Object.entries(i))t[e]&&(t[e]={...t[e],session:n});return{feed:{...e.feed,entries:t}}}),St(r)}function At(){let{patches:e,feed:t}=P.getState(),n=new Set,r=Date.now();if(U(t)){for(let i of Object.values(t.entries)){let t=L(i.session,e);if(t.archived===!0)continue;let a=i.card.approvals;_({...t,card:{approvals:a}},{now:r}).status===`approval`&&(!a.length||a.some(e=>e.truncated))&&n.add(i.session.id)}return n}if(V.mode!==`legacy`&&!V.feedSettled)return n;for(let t of Ye()){let i=L(t,e);i.archived!==!0&&_(i,{now:r}).status===`approval`&&n.add(t.id)}return n}function jt(e){let t=V.liveTimers.get(e);t&&clearTimeout(t),V.liveTimers.delete(e),V.liveControllers.get(e)?.abort(),V.liveControllers.delete(e),V.liveNextAt.delete(e),z(e,()=>null)}function Z(){if(!V.active)return;let e=At();for(let t of Object.keys(P.getState().live))e.has(t)||jt(t);for(let t of[...V.liveControllers.keys()])e.has(t)||jt(t);if(!H())return;let t=Date.now(),n=P.getState().live,r=[...e].filter(e=>!V.liveControllers.has(e)&&(V.liveNextAt.get(e)??0)<=t).sort((e,t)=>Number(!!n[e])-Number(!!n[t])||(V.liveNextAt.get(e)??0)-(V.liveNextAt.get(t)??0)),i=Math.max(0,Math.min(3-V.liveControllers.size,4-V.liveControllers.size-V.runControllers.size-!!V.events.controller));r.slice(0,i).forEach((e,t)=>Mt(e,t*250))}function Mt(e,t){let n=new AbortController;V.liveControllers.set(e,n);let r=async()=>{V.liveTimers.delete(e),z(e,e=>e??B(`loading`));try{let t=await A.getLiveDetail(e,n.signal);if(n.signal.aborted||V.liveControllers.get(e)!==n)return;V.liveNextAt.set(e,Date.now()+Ge);let{pending:r}=P.getState(),i=t.approvals.filter(t=>!r[R(`approve`,e,t.id)]);z(e,()=>({status:`ready`,approvals:i,error:t.error,activity:t.activity,startedAt:t.startedAt,fetchedAt:Date.now(),failures:0}))}catch{if(n.signal.aborted||V.liveControllers.get(e)!==n)return;let t=(P.getState().live[e]?.failures??0)+1;V.liveNextAt.set(e,Date.now()+Math.min(Ge*2**t,Ke)),z(e,e=>({...e??B(`error`),status:e?.approvals.length?e.status:`error`,failures:t}))}finally{V.liveControllers.get(e)===n&&V.liveControllers.delete(e)}};t<=0?r():V.liveTimers.set(e,setTimeout(()=>void r(),t))}var Nt=class extends Error{code=`board_run_active`},Pt=0;function Ft(e,t){return e===t?!0:!e||!t||e.type!==t.type?!1:e.type===`model`?e.stage===t.stage:e.name===t.name&&e.summary===t.summary}function Q(e,t,n){P.setState(r=>{let i=r.localRuns[e];return!i||i.token!==t||(n.activity===void 0||Ft(i.activity,n.activity))&&(n.runId===void 0||n.runId===i.runId)?r:{localRuns:{...r.localRuns,[e]:{...i,...n}}}})}function It(e,t,n,r){if(n===`run`)Q(e,t,{runId:typeof r.runId==`string`?r.runId:``});else if(n===`tool_start`){let n=typeof r.name==`string`?r.name:``;n&&Q(e,t,{activity:{type:`tool`,name:n,summary:me(n,r.args),startedAt:typeof r.startedAt==`string`?r.startedAt:new Date().toISOString()}})}else if(n===`tool_end`||n===`thinking_patch`||n===`thinking_reset`)Q(e,t,{activity:{type:`model`,stage:`thinking`}});else if(n===`text_delta`||n===`text_patch`)Q(e,t,{activity:{type:`model`,stage:`responding`}});else if(n===`permission_request`){let t=ge(r);t&&st(e,t),o(`sessions`)}else n===`permission_resolved`&&(typeof r.id==`string`&&ot(e,r.id),o(`sessions`))}function Lt(){let e=V.runControllers.size-2;for(let[t,n]of V.runControllers){if(e<=0)return;n.accepted&&(V.runControllers.delete(t),n.controller.abort(),--e)}}function Rt(e,t,n){if(V.runControllers.has(e))return Promise.reject(new Nt);let r=new AbortController,i=++Pt,a={controller:r,accepted:!1};V.runControllers.set(e,a),Lt();let o=Date.now();return P.setState(n=>({localRuns:{...n.localRuns,[e]:{token:i,kind:t,runId:``,startedAt:o,activity:{type:`model`,stage:`starting`}}}})),new Promise((t,o)=>{let s=()=>{a.accepted||(a.accepted=!0,Lt(),t())};n((t,n)=>{if(r.signal.aborted)return!1;t===`run`&&s(),It(e,i,t,n)},r.signal).then(s,e=>{a.accepted||o(e)}).finally(()=>{V.runControllers.get(e)===a&&V.runControllers.delete(e),P.setState(t=>{if(t.localRuns[e]?.token!==i)return t;let n={...t.localRuns};return delete n[e],{localRuns:n}}),V.active&&(V.mode===`legacy`?F().catch(()=>void 0):I().view&&(V.mode===`view`||!V.events.controller)&&K(),Z())})})}var zt=e(t(),1);function Bt(){(0,zt.useEffect)(()=>wt(),[])}function Vt(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 Ht=120;function Ut(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,Ht);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(),Ht)}function Wt(e){return e.length?e.some(e=>e.severity===`critical`)?`critical`:`standard`:null}function Gt(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 Kt(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]||Kt(t.patches,i.id))&&r.push({session:i,card:null});return r}function Jt(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=L(e,t.patches),d=t.localRuns[c.id],f=t.live[c.id],p=d?.startedAt??Ut(u?.startedAt)??Ut(f?.startedAt),m=u?Gt(u,f).filter(e=>!s[R(`approve`,c.id,e.id)]):null,h=m?.length?m:f?.approvals,g=_({...c,startedAt:p??t.runningSince[c.id]??null,approvals:h,card:u?{outcome:u.outcome??void 0}:void 0},{now:n,capabilities:r,doneWindow:i,timeZoneOffsetMinutes:a});if(!g.lane)continue;let v=g.status===`approval`?h??[]:[],y=v[0],ee=g.status===`approval`?y&&!y.truncated?`ready`:f?.status===`error`?`error`:`loading`:`none`,b=g.lane===`running`,x=g.status===`failed`,S=g.status===`question`?te(c.question):null;o.push({id:c.id,session:c,title:$(c),cwd:typeof c.cwd==`string`?c.cwd:``,workspaceKey:re(c),projectCwd:ne(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:Wt(v),activity:b?d?.activity??u?.activity??f?.activity??null:null,error:x&&(u?.error?.message||f?.error)||``,localRun:!!d,hasCard:!!u,tail:u&&(b||x)?u.tail:[],preview:u&&g.lane===`done`&&!x?u.preview:``,changeStats:u?.changeStats??null,contextPct:u?.contextPct??null,agents:u?.agents??null,question:S,questionCount:S?S.questions.length:null,totalTokens:u?.totalTokens??null,...u?.bot?{bot:u.bot}:{},...Yt(g.lane,c,l)})}return o.sort(y)}function Yt(e,t,n){let r=e===`queued`?Vt(t):null;return{queuePosition:r?.position??null,queue:r?{startAfter:r.startAfter,startAfterTitle:n.get(r.startAfter)??``}:null}}function Xt(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 Zt(e){let t=Object.fromEntries(v.map(e=>[e,[]]));for(let n of e)t[n.lane].push(n);return t}function Qt(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 $t(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 en(){return Bt(),i(c(`sessions`))}export{ot as C,A as D,P as E,Dt as S,lt as T,nt as _,Xt as a,it as b,Bt as c,tt as d,rt as f,ut as g,$e as h,Jt as i,N as l,ct as m,Qt as n,Zt as o,R as p,$ as r,$t as s,en as t,Nt as u,Ze as v,st as w,Rt as x,Xe as y};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{f as r}from"./routes-DIeaqWVc.js";import{t as i}from"./use-i18n-QY-mTTDS.js";import{t as a}from"./ellipsis-CfGKfbq6.js";import{c as o,i as s,p as c,r as l,t as u}from"./dropdown-menu-Ds0gD8S8.js";import{t as d}from"./utils-C8uzG5AZ.js";import{f}from"./useNow-CvnDomJ8.js";import{t as p}from"./session-home-CdOoCouS.js";import{t as m}from"./motion-DTR4ZVle.js";import"./BotAvatar-CNL-APwP.js";var h=`pisper:overview-focus`;function g(e){window.dispatchEvent(new CustomEvent(h,{detail:{sessionId:e}}))}var _=n();function v({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:f,side:p,align:m=`start`,tabIndex:h,className:g}){let{t:v}=i();return(0,_.jsxs)(u,{open:r,onOpenChange:f,children:[(0,_.jsx)(c,{asChild:!0,children:(0,_.jsx)(`button`,{type:`button`,tabIndex:h,"aria-label":v(`board:sidebar.rowMenu`,{title:e.title}),className:d(`grid size-[26px] flex-none place-items-center rounded-[var(--r-sm)] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-active hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,g),children:(0,_.jsx)(a,{className:`size-4`,"aria-hidden":`true`})})}),(0,_.jsxs)(l,{align:m,side:p,className:`min-w-44`,children:[(0,_.jsx)(s,{onSelect:()=>t.open(e),children:v(`board:menu.open`)}),(0,_.jsx)(s,{onSelect:()=>t.pin(e),children:e.pinned?v(`board:menu.unpin`):v(`board:menu.pin`)}),(0,_.jsx)(s,{onSelect:()=>t.rename(e),children:v(`board:menu.rename`)}),n&&(0,_.jsx)(s,{onSelect:()=>t.markHandled(e),children:v(`board:menu.markHandled`)}),(0,_.jsx)(s,{onSelect:()=>t.copyLink(e),children:v(`board:menu.copyLink`)}),(0,_.jsx)(o,{}),(0,_.jsx)(s,{onSelect:()=>t.archive(e),children:v(`board:menu.archive`)})]})]})}function y(e,t){return t.map((t,n)=>t.kind===`failed`?e(`board:sidebar.reason.failed`):t.kind===`approval`?t.critical?e(`board:sidebar.reason.criticalApproval`):e(`board:sidebar.reason.approval`):t.count===null?e(`board:sidebar.reason.question`):e(n===0?`board:sidebar.reason.questions`:`board:sidebar.reason.questionCount`,{count:t.count})).join(` · `)}function b(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function x(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=String(t%60).padStart(2,`0`);return n>0?`${n}:${String(r).padStart(2,`0`)}:${i}`:`${r}:${i}`}function S(e){if(e===null||!Number.isFinite(e))return``;let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function C(e,t){if(e===null||!Number.isFinite(e))return``;let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()?S(e):`${n.getMonth()+1}/${n.getDate()}`}function w(){return!m()&&document.visibilityState!==`hidden`}function T(e,{duration:t,scale:n}){return!e||!w()||typeof e.animate!=`function`?Promise.resolve():(e.style.transformOrigin=`top center`,e.animate([{transform:`scaleY(1)`,opacity:1},{transform:`scaleY(${n})`,opacity:0}],{duration:t,easing:`ease-in`,fill:`forwards`}).finished.then(()=>void 0,()=>void 0))}var E=e(t(),1);function D(e){let{origin:t,pathname:n,search:i,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${i}#${r(e)}`:`${t}${r(e)}`}function O({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:a}=i(),o=f(),s=(0,E.useRef)(o);s.current=o;let c=(0,E.useCallback)(t=>{t.ok||t.reason===`pending`||e(a(`board:action.failed`),`error`)},[e,a]),l=(0,E.useCallback)(async n=>{let r=(await t({title:a(`board:sidebar.renameTitle`),inputLabel:a(`board:sidebar.renameLabel`),value:n.title,confirmLabel:a(`board:sidebar.renameSave`),maxLength:200}))?.trim();if(!r||r===n.title)return;let i=await s.current.rename(n.id,r);i.ok?e(a(`board:sidebar.renamed`)):c(i)},[e,c,t,a]);return(0,E.useMemo)(()=>({open:e=>n(e.id),pin:e=>void s.current.pin(e.id,!e.pinned).then(c),rename:e=>void l(e),markHandled:e=>void s.current.markHandled(e.id).then(c),copyLink:t=>{let n=typeof navigator<`u`?navigator.clipboard:void 0;if(!n){e(a(`board:action.copyFailed`),`error`);return}n.writeText(D(t.id)).then(()=>e(a(`board:action.copied`)),()=>e(a(`board:action.copyFailed`),`error`))},archive:t=>void s.current.archive(t.id,!0).then(n=>{if(!n.ok){c(n);return}e(a(`board:action.archived`,{title:t.title})),p(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,a])}export{C as a,y as c,g as d,x as i,v as l,T as n,S as o,w as r,b as s,O as t,h as u};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{f as r}from"./routes-DIeaqWVc.js";import{t as i}from"./use-i18n-8V6eRMcE.js";import{t as a}from"./ellipsis-CfGKfbq6.js";import{c as o,i as s,p as c,r as l,t as u}from"./dropdown-menu-Ds0gD8S8.js";import{t as d}from"./utils-C8uzG5AZ.js";import{f}from"./useNow-D-gM4IXU.js";import{t as p}from"./session-home-DqEkX19H.js";import{t as m}from"./motion-DTR4ZVle.js";import"./BotAvatar-CNL-APwP.js";var h=`pisper:overview-focus`;function g(e){window.dispatchEvent(new CustomEvent(h,{detail:{sessionId:e}}))}var _=n();function v({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:f,side:p,align:m=`start`,tabIndex:h,className:g}){let{t:v}=i();return(0,_.jsxs)(u,{open:r,onOpenChange:f,children:[(0,_.jsx)(c,{asChild:!0,children:(0,_.jsx)(`button`,{type:`button`,tabIndex:h,"aria-label":v(`board:sidebar.rowMenu`,{title:e.title}),className:d(`grid size-[26px] flex-none place-items-center rounded-[var(--r-sm)] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-active hover:text-content focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,g),children:(0,_.jsx)(a,{className:`size-4`,"aria-hidden":`true`})})}),(0,_.jsxs)(l,{align:m,side:p,className:`min-w-44`,children:[(0,_.jsx)(s,{onSelect:()=>t.open(e),children:v(`board:menu.open`)}),(0,_.jsx)(s,{onSelect:()=>t.pin(e),children:e.pinned?v(`board:menu.unpin`):v(`board:menu.pin`)}),(0,_.jsx)(s,{onSelect:()=>t.rename(e),children:v(`board:menu.rename`)}),n&&(0,_.jsx)(s,{onSelect:()=>t.markHandled(e),children:v(`board:menu.markHandled`)}),(0,_.jsx)(s,{onSelect:()=>t.copyLink(e),children:v(`board:menu.copyLink`)}),(0,_.jsx)(o,{}),(0,_.jsx)(s,{onSelect:()=>t.archive(e),children:v(`board:menu.archive`)})]})]})}function y(e,t){return t.map((t,n)=>t.kind===`failed`?e(`board:sidebar.reason.failed`):t.kind===`approval`?t.critical?e(`board:sidebar.reason.criticalApproval`):e(`board:sidebar.reason.approval`):t.count===null?e(`board:sidebar.reason.question`):e(n===0?`board:sidebar.reason.questions`:`board:sidebar.reason.questionCount`,{count:t.count})).join(` · `)}function b(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function x(e){if(e===null||!Number.isFinite(e))return``;let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=String(t%60).padStart(2,`0`);return n>0?`${n}:${String(r).padStart(2,`0`)}:${i}`:`${r}:${i}`}function S(e){if(e===null||!Number.isFinite(e))return``;let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`}function C(e,t){if(e===null||!Number.isFinite(e))return``;let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()?S(e):`${n.getMonth()+1}/${n.getDate()}`}function w(){return!m()&&document.visibilityState!==`hidden`}function T(e,{duration:t,scale:n}){return!e||!w()||typeof e.animate!=`function`?Promise.resolve():(e.style.transformOrigin=`top center`,e.animate([{transform:`scaleY(1)`,opacity:1},{transform:`scaleY(${n})`,opacity:0}],{duration:t,easing:`ease-in`,fill:`forwards`}).finished.then(()=>void 0,()=>void 0))}var E=e(t(),1);function D(e){let{origin:t,pathname:n,search:i,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${i}#${r(e)}`:`${t}${r(e)}`}function O({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:a}=i(),o=f(),s=(0,E.useRef)(o);s.current=o;let c=(0,E.useCallback)(t=>{t.ok||t.reason===`pending`||e(a(`board:action.failed`),`error`)},[e,a]),l=(0,E.useCallback)(async n=>{let r=(await t({title:a(`board:sidebar.renameTitle`),inputLabel:a(`board:sidebar.renameLabel`),value:n.title,confirmLabel:a(`board:sidebar.renameSave`),maxLength:200}))?.trim();if(!r||r===n.title)return;let i=await s.current.rename(n.id,r);i.ok?e(a(`board:sidebar.renamed`)):c(i)},[e,c,t,a]);return(0,E.useMemo)(()=>({open:e=>n(e.id),pin:e=>void s.current.pin(e.id,!e.pinned).then(c),rename:e=>void l(e),markHandled:e=>void s.current.markHandled(e.id).then(c),copyLink:t=>{let n=typeof navigator<`u`?navigator.clipboard:void 0;if(!n){e(a(`board:action.copyFailed`),`error`);return}n.writeText(D(t.id)).then(()=>e(a(`board:action.copied`)),()=>e(a(`board:action.copyFailed`),`error`))},archive:t=>void s.current.archive(t.id,!0).then(n=>{if(!n.ok){c(n);return}e(a(`board:action.archived`,{title:t.title})),p(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,a])}export{C as a,y as c,g as d,x as i,v as l,T as n,S as o,w as r,b as s,O as t,h as u};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{c as n,i as r,t as i}from"./useNow-CvnDomJ8.js";var a=e(t(),1);function o(){let{query:e,items:t,capabilities:o,isLoading:s}=n(`today`),c=i(),l=(0,a.useMemo)(()=>r(t,{now:c,capabilities:o}),[o,t,c]),u=e.refetch,d=e.data?.sessions;return(0,a.useMemo)(()=>({model:l,items:t,sessions:d,capabilities:o,isLoading:s,error:e.error??null,refetch:()=>void u()}),[o,s,t,l,e.error,u,d])}export{o as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{c as n,i as r,t as i}from"./useNow-D-gM4IXU.js";var a=e(t(),1);function o(){let{query:e,items:t,capabilities:o,isLoading:s}=n(`today`),c=i(),l=(0,a.useMemo)(()=>r(t,{now:c,capabilities:o}),[o,t,c]),u=e.refetch,d=e.data?.sessions;return(0,a.useMemo)(()=>({model:l,items:t,sessions:d,capabilities:o,isLoading:s,error:e.error??null,refetch:()=>void u()}),[o,s,t,l,e.error,u,d])}export{o as t};
@@ -1 +1 @@
1
- import{t as e}from"./api-C35aq3ml.js";async function t(t,r){let i=t?`?path=${encodeURIComponent(t)}`:``;return n(await e(`/api/workspace-folders${i}`,{signal:r}))}function n(e){let t=e&&typeof e==`object`?e:{},n=e=>typeof e==`string`?e:``,r=Array.isArray(t.folders)?t.folders:[];return{path:n(t.path),parent:n(t.parent),folders:r.flatMap(e=>{let t=e&&typeof e==`object`?e:{},r=n(t.name),i=n(t.path);return r&&i?[{name:r,path:i}]:[]}),truncated:t.truncated===!0}}export{n,t};
1
+ import{t as e}from"./api-Cm58F7OP.js";async function t(t,r){let i=t?`?path=${encodeURIComponent(t)}`:``;return n(await e(`/api/workspace-folders${i}`,{signal:r}))}function n(e){let t=e&&typeof e==`object`?e:{},n=e=>typeof e==`string`?e:``,r=Array.isArray(t.folders)?t.folders:[];return{path:n(t.path),parent:n(t.parent),folders:r.flatMap(e=>{let t=e&&typeof e==`object`?e:{},r=n(t.name),i=n(t.path);return r&&i?[{name:r,path:i}]:[]}),truncated:t.truncated===!0}}export{n,t};
@@ -1 +1 @@
1
- import{t as e}from"./index-_WvEqLNn.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{t as i}from"./createLucideIcon-Cd-3GVxJ.js";import{a,d as o,i as s,o as c}from"./session-workspaces-Brm-8lHh.js";var l=i(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);function u(e){if(typeof e!=`string`)return``;let t=e.trim();if(!t||t.length>2048||t.includes(`\0`))return``;let n=/^(?:[A-Za-z]:)?[\\/]+$/u.test(t)?t:t.replace(/[\\/]+$/u,``),r=o(n);return r&&r!==`\0`?n:``}function d(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=u(r),i=e&&o(e);if(!(!i||t.has(i))&&(t.add(i),n.push(e),n.length>=50))break}return n}function f(e,t){let n=u(t);if(!n)return d(e);let r=o(n);return d([n,...e.filter(e=>o(e)!==r)])}function p(e,t){let n=o(t);return d(e.filter(e=>o(e)!==n))}function m(e,t){let n=new Set(t),r=[];for(let t of d(e)){let e=o(t);n.has(e)||(n.add(e),r.push({key:e,cwd:t}))}return r}var h=`pisper-registered-projects`,g=n(()=>({getItem:t=>{try{return e.getItem(t)}catch{return null}},setItem:(t,n)=>{try{e.setItem(t,n)}catch{}},removeItem:t=>{try{e.removeItem(t)}catch{}}}));function _(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var v=r()(t((e,t)=>({projects:[],registerProject:n=>{let r=u(n);if(!r)return``;let i=t().projects,a=f(i,r);return _(a,i)||e({projects:a}),r},unregisterProject:n=>{let r=t().projects;return r.some(e=>o(e)===o(n))?(e({projects:p(r,n)}),!0):!1}}),{name:h,storage:g,version:1,partialize:({projects:e})=>({projects:e}),merge:(e,t)=>({...t,projects:d(e&&typeof e==`object`&&`projects`in e?e.projects:void 0)})}));function y(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function b(e){let t=o(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function x(e){let t=Object.create(null);if(!e||typeof e!=`object`||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let e=b(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var S=n(()=>e),C=r()(t((e,t)=>({order:[],names:x(void 0),rememberWorkspaces:n=>{let r=t().order,i=c(r,n);y(i,r)||e({order:i})},moveWorkspace:(n,r,i)=>{let a=t().order,o=s(a,i,n,r);y(o,a)||e({order:o})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?b(n):null;if(!i||typeof r!=`string`)throw TypeError(`Invalid workspace name`);let a=r.trim();if(Array.from(a).length>120)throw RangeError(`Workspace name is too long`);let o=t().names;if((o[i]||``)===a)return;if(!S)throw Error(`Workspace preferences storage is unavailable`);let s=x(o);a?s[i]=a:delete s[i];try{e({names:s})}catch(t){try{e({names:o})}catch{}throw t}}}),{name:`pisper-workspace-order`,storage:S,version:1,partialize:({order:e,names:t})=>({order:e,names:t}),merge:(e,t)=>({...t,order:a(e&&typeof e==`object`&&`order`in e?e.order:void 0),names:x(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));export{l as i,v as n,m as r,C as t};
1
+ import{t as e}from"./index-79gEOxmD.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{t as i}from"./createLucideIcon-Cd-3GVxJ.js";import{a,d as o,i as s,o as c}from"./session-workspaces-Brm-8lHh.js";var l=i(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);function u(e){if(typeof e!=`string`)return``;let t=e.trim();if(!t||t.length>2048||t.includes(`\0`))return``;let n=/^(?:[A-Za-z]:)?[\\/]+$/u.test(t)?t:t.replace(/[\\/]+$/u,``),r=o(n);return r&&r!==`\0`?n:``}function d(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=u(r),i=e&&o(e);if(!(!i||t.has(i))&&(t.add(i),n.push(e),n.length>=50))break}return n}function f(e,t){let n=u(t);if(!n)return d(e);let r=o(n);return d([n,...e.filter(e=>o(e)!==r)])}function p(e,t){let n=o(t);return d(e.filter(e=>o(e)!==n))}function m(e,t){let n=new Set(t),r=[];for(let t of d(e)){let e=o(t);n.has(e)||(n.add(e),r.push({key:e,cwd:t}))}return r}var h=`pisper-registered-projects`,g=n(()=>({getItem:t=>{try{return e.getItem(t)}catch{return null}},setItem:(t,n)=>{try{e.setItem(t,n)}catch{}},removeItem:t=>{try{e.removeItem(t)}catch{}}}));function _(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var v=r()(t((e,t)=>({projects:[],registerProject:n=>{let r=u(n);if(!r)return``;let i=t().projects,a=f(i,r);return _(a,i)||e({projects:a}),r},unregisterProject:n=>{let r=t().projects;return r.some(e=>o(e)===o(n))?(e({projects:p(r,n)}),!0):!1}}),{name:h,storage:g,version:1,partialize:({projects:e})=>({projects:e}),merge:(e,t)=>({...t,projects:d(e&&typeof e==`object`&&`projects`in e?e.projects:void 0)})}));function y(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function b(e){let t=o(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function x(e){let t=Object.create(null);if(!e||typeof e!=`object`||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let e=b(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var S=n(()=>e),C=r()(t((e,t)=>({order:[],names:x(void 0),rememberWorkspaces:n=>{let r=t().order,i=c(r,n);y(i,r)||e({order:i})},moveWorkspace:(n,r,i)=>{let a=t().order,o=s(a,i,n,r);y(o,a)||e({order:o})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?b(n):null;if(!i||typeof r!=`string`)throw TypeError(`Invalid workspace name`);let a=r.trim();if(Array.from(a).length>120)throw RangeError(`Workspace name is too long`);let o=t().names;if((o[i]||``)===a)return;if(!S)throw Error(`Workspace preferences storage is unavailable`);let s=x(o);a?s[i]=a:delete s[i];try{e({names:s})}catch(t){try{e({names:o})}catch{}throw t}}}),{name:`pisper-workspace-order`,storage:S,version:1,partialize:({order:e,names:t})=>({order:e,names:t}),merge:(e,t)=>({...t,order:a(e&&typeof e==`object`&&`order`in e?e.order:void 0),names:x(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));export{l as i,v as n,m as r,C as t};
package/web/index.html CHANGED
@@ -55,11 +55,11 @@
55
55
  document.documentElement.lang = storedLanguage === 'en-US' ? 'en-US' : 'zh-CN'
56
56
  } catch {}
57
57
  </script>
58
- <script type="module" crossorigin src="/assets/index-_WvEqLNn.js"></script>
58
+ <script type="module" crossorigin src="/assets/index-79gEOxmD.js"></script>
59
59
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-B0Z9INg1.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DwNgTV1j.js">
61
61
  <link rel="modulepreload" crossorigin href="/assets/vendor-router-CSN_DGvx.js">
62
- <link rel="stylesheet" crossorigin href="/assets/index-BTqJTVNA.css">
62
+ <link rel="stylesheet" crossorigin href="/assets/index-XwGsScbB.css">
63
63
  </head>
64
64
  <body>
65
65
  <div id="root"></div>
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ManageProjectsDialog-69xTwGhN.js","assets/rolldown-runtime-B0Z9INg1.js","assets/vendor-react-DwNgTV1j.js","assets/use-i18n-QY-mTTDS.js","assets/i18n-CWhhZ2QN.js","assets/vendor-router-CSN_DGvx.js","assets/index-_WvEqLNn.js","assets/index-BTqJTVNA.css","assets/storage-DtvZ_lEu.js","assets/vendor-state-GkUciC5H.js","assets/arrow-down-CDGua-ue.js","assets/createLucideIcon-Cd-3GVxJ.js","assets/arrow-up-DST6-qVQ.js","assets/useCatalogProjects-B0P8PrPz.js","assets/workspace-order-store-04YPBRRV.js","assets/session-workspaces-Brm-8lHh.js","assets/useSessionListQuery-CuUmG2UC.js","assets/query-DFQayLF5.js","assets/useQuery-DfOU-27z.js","assets/startup-queries-LEtJRewm.js","assets/mutation-b4pPvB7p.js","assets/api-C35aq3ml.js","assets/abort-signal-f4JsiYKX.js","assets/http-response-Bb_1H1lE.js","assets/event-stream-DTCmB4AA.js","assets/http-YNvizzuJ.js","assets/component-changes-Q9Bf64Ob.js","assets/runtime-capabilities-store-D_0w_fuG.js","assets/runtime-capabilities-CPDBo3tu.js","assets/session-board-status-D2lpFPiI.js","assets/chat-api-fzSB1i2N.js","assets/session-organization-api-oAt9Tied.js","assets/events-DMbz7S1A.js","assets/session-questions-Cf-1g85h.js","assets/board-projects-Nk7cPRh8.js","assets/card-presentation-1oph2b8P.js","assets/pencil-U08v_vV9.js","assets/rotate-ccw-C0v8V77_.js","assets/trash-2-CNrPOoPR.js","assets/utils-C8uzG5AZ.js","assets/vendor-ui-DvrYggeS.js","assets/button-CCcCN8tE.js","assets/dist-41X0pdUs.js","assets/dialog-27CgEIc2.js","assets/x-07u4-129.js","assets/dist-BHkR6BLP.js","assets/dist-BsRXXcSL.js","assets/es2015-DTZdOI9P.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{h as t}from"./vendor-router-CSN_DGvx.js";import{i as n,r}from"./vendor-react-DwNgTV1j.js";import{t as i}from"./use-i18n-QY-mTTDS.js";import{t as a}from"./useQuery-DfOU-27z.js";import{r as o,u as s}from"./placements-BvtgsaIH.js";import{r as c,u as l}from"./session-board-status-D2lpFPiI.js";import{i as u}from"./use-mobile-C2tPBAza.js";import{t as d}from"./usePhoneShell-Cv5Or-Rz.js";import{t as f}from"./createLucideIcon-Cd-3GVxJ.js";import{t as p}from"./arrow-down-CDGua-ue.js";import{t as m}from"./arrow-right-DqLOhpA2.js";import{t as h}from"./arrow-up-DST6-qVQ.js";import{t as g}from"./chevron-down-CxtxIjiP.js";import{t as _}from"./chevron-right-C3t2Rckj.js";import{t as v}from"./corner-down-right--hxi-Ihy.js";import{t as y}from"./ellipsis-CfGKfbq6.js";import{n as b,t as x}from"./useCatalogProjects-B0P8PrPz.js";import{i as S,n as C,t as w}from"./workspace-order-store-04YPBRRV.js";import{t as T}from"./folder-DPM8D8cf.js";import{t as E}from"./pin-CU0FG0lI.js";import{t as D}from"./plus-fQbSqB1n.js";import{t as O}from"./rotate-ccw-C0v8V77_.js";import{t as k}from"./square-pen-hYbjKh6A.js";import{t as A}from"./trash-2-CNrPOoPR.js";import{t as j}from"./x-07u4-129.js";import{t as M}from"./brand-DIEc3fK8.js";import{c as N,i as P,p as F,r as I,t as L}from"./dropdown-menu-Ds0gD8S8.js";import{t as ee}from"./segmented-control-xkrEOP_d.js";import{i as R,n as te,r as z,t as ne}from"./tooltip-D4MFbqcG.js";import{t as B}from"./utils-C8uzG5AZ.js";import{t as V}from"./button-CCcCN8tE.js";import{t as H}from"./kbd-CAufZTkl.js";import{a as re,c as U,g as W,n as ie,t as G}from"./shortcuts-B5Q10H38.js";import{s as ae}from"./useSessionListQuery-CuUmG2UC.js";import{a as K,f as oe,l as q,n as se,o as ce,s as le,t as ue}from"./useNow-CvnDomJ8.js";import{d as de}from"./session-workspaces-Brm-8lHh.js";import{r as fe}from"./session-questions-Cf-1g85h.js";import{a as pe,i as me,o as J,r as he,s as ge,t as _e}from"./useNewProjectPicker-V3_nwv5l.js";import{c as Y,i as ve,l as X,n as ye,o as Z,r as be,t as xe}from"./card-presentation-1oph2b8P.js";import{n as Se,r as Ce}from"./format-DMJQzoZ7.js";import{t as we}from"./StatusGlyph-1KgitlUg.js";import{t as Te}from"./session-change-summary-api-Bz6qW3dZ.js";import{i as Ee}from"./board-projects-Nk7cPRh8.js";import{c as De,i as Oe,o as ke,s as Ae}from"./folder-paths-BB2PvkZ4.js";import{n as je}from"./PageState-Cz6vFMXv.js";import{n as Me,t as Ne}from"./esm-DCV8yILT.js";import{c as Pe,i as Fe,l as Ie,n as Le,o as Re,s as ze,t as Be,u as Ve}from"./useSessionRowActions-DaVD7CkP.js";import{n as He}from"./BotAvatar-CNL-APwP.js";import{t as Ue}from"./AppSelect-DQYKUW5E.js";import{t as We}from"./new-task-DG4I6cda.js";var Ge=f(`folder-cog`,[[`path`,{d:`M10.3 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.98a2 2 0 0 1 1.69.9l.66 1.2A2 2 0 0 0 12 6h8a2 2 0 0 1 2 2v3.3`,key:`128dxu`}],[`path`,{d:`m14.305 19.53.923-.382`,key:`3m78fa`}],[`path`,{d:`m15.228 16.852-.923-.383`,key:`npixar`}],[`path`,{d:`m16.852 15.228-.383-.923`,key:`5xggr7`}],[`path`,{d:`m16.852 20.772-.383.924`,key:`dpfhf9`}],[`path`,{d:`m19.148 15.228.383-.923`,key:`1reyyz`}],[`path`,{d:`m19.53 21.696-.382-.924`,key:`1goivc`}],[`path`,{d:`m20.772 16.852.924-.383`,key:`htqkph`}],[`path`,{d:`m20.772 19.148.924.383`,key:`9w9pjp`}],[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}]]),Ke=f(`folder-pen`,[[`path`,{d:`M2 11.5V5a2 2 0 0 1 2-2h3.9c.7 0 1.3.3 1.7.9l.8 1.2c.4.6 1 .9 1.7.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-9.5`,key:`a8xqs0`}],[`path`,{d:`M11.378 13.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`1saktj`}]]),Q=e(n(),1);function qe(){let{t:e}=i();return{name:{attention:e(`board:lane.attention`),running:e(`board:lane.running`),queued:e(`board:lane.queued`),done:e(`board:lane.done`)},order:{attention:e(`board:lane.orderAttention`),running:e(`board:lane.orderRunning`),queued:e(`board:lane.orderQueued`),done:e(`board:lane.orderDone`)}}}function Je(e){return e>30}var Ye={attention:0,running:1,queued:2,done:3};function Xe(){return{attention:0,running:0,queued:0,done:0}}function Ze(e){return typeof e==`number`&&Number.isFinite(e)?e:null}var Qe=K(e=>e.since),$e=K(e=>Ze(e.startedAt)??Ze(e.since)),et=K(e=>e.since,!0);function tt(e,t){return Ye[e.lane]-Ye[t.lane]||(e.lane===`running`?$e(e,t):e.lane===`done`?et(e,t):Qe(e,t))}function nt(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=new Set;return e.filter(e=>!e||!e.id||i.has(e.id)||(i.add(e.id),e.session?.archived===!0)?!1:e.lane===`queued`?n?.sessionQueue===!0:e.lane!==`done`||l(e.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`}))}function rt(e,t){let n=nt(e,t).sort(tt),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=Xe();for(let e of n)o[e.lane]+=1;let s=new Set(n.map(e=>e.workspaceKey)),l=[];if(t.groupBy===`project`){let e=[...t.projectOrder??[]],n=new Set(e.map(e=>e.key));for(let t of a)n.has(t.workspaceKey)||(n.add(t.workspaceKey),e.push({key:t.workspaceKey,cwd:t.projectCwd}));for(let t of e){let e=a.filter(e=>e.workspaceKey===t.key);if(!e.length)continue;let n=Xe();for(let t of e)n[t.lane]+=1;l.push({kind:`project`,key:t.key,cwd:t.cwd,counts:n,items:e})}}else for(let e of c){let t=a.filter(t=>t.lane===e),n=e===`attention`||e===`running`;r&&!r.has(e)||!t.length&&!n||l.push({kind:`status`,id:e,items:t})}let u=l.flatMap(e=>e.kind===`status`&&e.id===`done`&&t.doneCollapsed?[]:e.items);return{total:n.length,projectCount:s.size,running:o.running,counts:o,sections:l,order:u,attention:u.filter(e=>e.lane===`attention`),attentionAll:n.filter(e=>e.lane===`attention`),filteredEmpty:n.length>0&&a.length===0}}function it(e,t){let n=Xe(),r={},i=nt(e,t);for(let e of i)n[e.lane]+=1,r[e.workspaceKey]=(r[e.workspaceKey]??0)+1;return{total:i.length,lanes:n,projects:r}}var $=r();function at({files:e,added:t,removed:n}){let{t:r}=i();return(0,$.jsxs)(`span`,{"data-change-stats":!0,className:`flex min-w-0 items-center gap-1.5 text-xs whitespace-nowrap text-content-secondary`,children:[(0,$.jsx)(`span`,{children:r(`board:card.files`,{count:e})}),(0,$.jsxs)(`span`,{className:`font-mono text-success tabular-nums`,children:[`+`,t]}),(0,$.jsxs)(`span`,{className:`font-mono text-danger tabular-nums`,children:[`−`,n]})]})}function ot({sessionId:e,completedAt:t}){let n=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=n.current;if(!e||r)return;if(typeof IntersectionObserver>`u`){i(!0);return}let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(i(!0),t.disconnect())},{rootMargin:`120px`});return t.observe(e),()=>t.disconnect()},[r]);let{data:o}=a({queryKey:[`session-change-summary`,e,t],queryFn:()=>Te(e),enabled:r,staleTime:6e4,retry:0});return o?.status!==`known`||!o.changedFiles?(0,$.jsx)(`span`,{ref:n}):(0,$.jsx)(`span`,{ref:n,className:`contents`,children:(0,$.jsx)(at,{files:o.changedFiles,added:o.added||0,removed:o.removed||0})})}function st({text:e,prefix:t,phone:n=!1,args:r=!1,variant:a=`well`,tabIndex:o,lead:s}){let{t:c}=i(),l=(0,Q.useRef)(null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1);(0,Q.useLayoutEffect)(()=>{let e=l.current;if(!e||f)return;let t=()=>d(e.scrollHeight>e.clientHeight+1);if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[f,e]);let m=a===`plain`,h=(0,Q.useMemo)(()=>e.split(/(\s+)/).filter(Boolean),[e]),g=(u||f)&&(0,$.jsx)(`button`,{type:`button`,"data-card-stop":!0,tabIndex:o,className:B(`text-left text-xs text-content-secondary hover:text-content focus-visible:outline-2 focus-visible:outline-focus pointer-coarse:min-h-11`,m?`mt-0.5 rounded-xs underline underline-offset-2`:`w-full border-t border-well-stroke px-2.5 py-1`),"aria-expanded":f,onClick:()=>p(e=>!e),children:c(f?`board:card.collapse`:r?`board:card.expandArgs`:`board:card.expand`)}),_=(0,$.jsxs)(`pre`,{ref:l,"data-command-text":!0,"aria-label":r?c(`board:confirm.fullArgs`):void 0,className:B(`min-w-0 font-mono text-xs leading-5 whitespace-pre-wrap`,m?`text-content-secondary`:`text-well-text`,!f&&`line-clamp-3 max-h-15`,n&&`text-sm`),children:[s&&(0,$.jsx)(`span`,{className:`font-sans select-none`,children:s}),t&&(0,$.jsxs)(`span`,{className:B(`select-none`,m?`text-content-muted`:`text-well-muted`),children:[t,` `]}),h.map((e,t)=>/^\s+$/.test(e)?e:(0,$.jsx)(`span`,{"data-command-token":!0,className:`inline-block max-w-full align-top break-all`,children:e},t))]});return m?(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start`,children:[_,g]}):(0,$.jsxs)(`div`,{className:`min-w-0 rounded-sm border border-well-stroke bg-well`,children:[(0,$.jsx)(`div`,{className:`px-2.5 py-1.5`,children:_}),g]})}function ct(e){return e instanceof Element&&!!e.closest(`button, a, input, textarea, [role="menuitem"], [data-card-stop]`)}function lt({binding:e}){let t=e&&/^Key[A-Z]$/.test(e)?e.slice(3):``;return t?(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60 pointer-coarse:hidden`,children:t}):null}function ut(e){return e.split(`
3
- `).map(e=>e.trim()).find(Boolean)??``}function dt({item:e,now:t,project:n,active:r,dimmed:a,phase:o,bindings:s,handlers:c,menu:l,onStartNow:u,card:d=!1}){let{t:f}=i(),p=(0,Q.useRef)(null),m=r?0:-1,h=e.lane===`attention`,g=e.approvals[0]??null,_=g?.severity===`critical`,y=ce(e),b=e.title||f(`navigation:shell.untitledSession`),x=()=>c.onOpen(e.id),S=`${e.lane}:${e.status}`,C=(0,Q.useRef)(S);(0,Q.useLayoutEffect)(()=>{C.current!==S&&(C.current=S,p.current?.getAnimations?.().forEach(e=>e.cancel()))},[S]);let w=(0,Q.useRef)(!1),T=e=>{let t=w.current;w.current=!1,!(t||ct(e.target))&&x()},D=e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x())},O=``;O=h?Pe(f,le(e)):e.status===`failed`?f(`board:status.failedHandled`):e.status===`stopped`?f(`board:status.stopped`):e.lane===`running`?f(`board:status.running`):e.lane===`queued`?f(`board:status.queued`):e.unread?f(`board:overview.doneUnread`):f(`board:status.done`);let k=e.status===`approval`&&e.approvalsState===`ready`&&g?g.toolName||`—`:``,A=``,j=``;if(h&&e.since!==null)A=ze(t-e.since),j=f(`board:overview.waited`,{wait:A});else if(e.lane===`running`){let n=e.startedAt??e.since;A=Fe(n===null?null:t-n),j=A?f(`board:overview.ran`,{time:A}):``}else e.lane===`done`&&(A=Re(e.since),j=A?f(`board:overview.finishedAt`,{time:A}):``);let M=null,N=null,P=(0,$.jsxs)(V,{size:`sm`,tabIndex:m,onClick:x,children:[f(`board:overview.openToHandle`),!d&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-normal opacity-60 pointer-coarse:hidden`,children:`↵`})]});if(e.status===`approval`){if(e.approvalsState!==`ready`||!g)M=(0,$.jsx)(`p`,{role:`status`,className:`text-xs leading-5 text-content-muted`,children:e.approvalsState===`error`?f(`board:card.approvalUnavailable`):f(`board:card.approvalLoading`)});else{let t=ve(g.reason),n=_&&t?be(g.reason):``,r=g.toolName===`bash`&&g.command,i=g.command||g.path,a=i?``:xe(g),o=!i&&g.reason&&!t?g.reason:``,s=e.approvals.length-1,c=e.approvals.slice(1).some(e=>e.severity===`critical`),l=_?(0,$.jsxs)(`span`,{"data-severity":`critical`,className:`font-medium text-warning-strong`,children:[n?f(`board:card.criticalWithReason`,{reason:n}):f(`board:card.critical`),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `})]}):null;M=(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[i?(0,$.jsx)(st,{text:i,prefix:r?`$`:``,variant:`plain`,tabIndex:m,lead:l}):a?(0,$.jsx)(st,{text:a,prefix:``,variant:`plain`,args:!0,tabIndex:m,lead:l}):l&&(0,$.jsx)(`p`,{className:`min-w-0 truncate text-xs leading-5`,children:l}),o&&(0,$.jsx)(`p`,{className:`min-w-0 text-xs break-words text-content-secondary`,children:o}),s>0&&(0,$.jsx)(`p`,{className:`text-xs leading-5 text-content-muted`,children:f(c?`board:card.moreApprovalsCritical`:`board:card.moreApprovals`,{count:s})})]})}if(y.kind===`decide`&&g){let t=c.isPending(`approve`,e.id,g.id),n=c.isPending(`deny`,e.id,g.id);N=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(V,{variant:`outline`,size:`sm`,tabIndex:m,disabled:t||n,loading:n,"aria-label":f(`board:sidebar.denyNamed`,{title:b}),"aria-keyshortcuts":G(s.deny)||void 0,onClick:()=>c.onDeny(e,g),children:[f(`board:card.deny`),(0,$.jsx)(lt,{binding:s.deny})]}),(0,$.jsxs)(V,{size:`sm`,tabIndex:m,disabled:t||n,loading:t,"aria-label":f(`board:sidebar.approveNamed`,{title:b}),"aria-keyshortcuts":G(s.approve)||void 0,onClick:()=>c.onApprove(e,g),children:[f(`board:card.approve`),(0,$.jsx)(lt,{binding:s.approve})]})]})}else N=P}else if(e.status===`question`){let t=e.question,n=fe(t),r=t?c.isPending(`answer`,e.id,t.id):!1,i=t?.questions[0];M=t?(0,$.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,$.jsxs)(`p`,{"data-row-question":!0,className:`min-w-0 text-[13px] leading-5 break-words text-content`,children:[i?.header&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[i.header,` · `]}),i?.question,t.questions.length>1&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[` `,`· `,f(`board:sidebar.reason.questions`,{count:t.questions.length})]})]}),n&&(0,$.jsxs)(`div`,{"data-question-pills":!0,role:`group`,"aria-label":i?.question,className:`flex min-w-0 flex-wrap gap-1.5`,children:[n.map((t,n)=>(0,$.jsxs)(V,{variant:`outline`,size:`sm`,tabIndex:m,disabled:r,"data-question-pill":t,"aria-label":f(`board:question.answerNamed`,{title:b,option:t}),"aria-keyshortcuts":String(n+1),className:B(`h-auto min-h-7 max-w-full whitespace-normal`,d&&`min-h-11`),onClick:()=>c.onAnswer(e,t),children:[!d&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`font-mono text-[11px] opacity-60 pointer-coarse:hidden`,children:n+1}),(0,$.jsx)(`span`,{className:`break-words text-left`,children:t})]},t)),(0,$.jsx)(V,{variant:`ghost`,size:`sm`,tabIndex:m,className:B(`h-auto min-h-7`,d&&`min-h-11`),onClick:x,children:f(`board:question.other`)})]})]}):null,N=n?null:P}else if(e.status===`failed`&&h){let t=ut(e.error)||[...e.tail].reverse().find(Y)?.trim()||``,n=c.isPending(`retry`,e.id);M=t?(0,$.jsx)(`p`,{"data-card-error":!0,className:`min-w-0 truncate font-mono text-xs leading-5 text-content-secondary`,children:t}):null,N=(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(V,{variant:`outline`,size:`sm`,tabIndex:m,onClick:x,children:f(`board:overview.log`)}),(0,$.jsxs)(V,{size:`sm`,tabIndex:m,loading:n,disabled:n,"aria-label":f(`board:overview.retryNamed`,{title:b}),"aria-keyshortcuts":G(s.retry)||void 0,onClick:()=>c.onRetry(e),children:[f(`board:card.retry`),(0,$.jsx)(lt,{binding:s.retry})]})]})}else if(e.lane===`running`){let n=e.activity,r=e.agents,i=null;if(n?.type===`tool`){let e=n.startedAt?Date.parse(n.startedAt):NaN,r=[n.name,n.summary].filter(Boolean).join(` · `),a=Number.isFinite(e)?ze(Math.max(0,t-e)):``;i=(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[r,a&&(0,$.jsxs)(`span`,{className:`text-content-muted`,children:[` · `,a]})]})}else if(e.tail.length)i=(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.tail.at(-1)});else if(n?.type===`model`){let e={starting:f(`board:activity.starting`),thinking:f(`board:activity.thinking`),responding:f(`board:activity.responding`),compacting:f(`board:activity.compacting`)}[n.stage]||f(`board:activity.working`);i=(0,$.jsx)(`span`,{className:`min-w-0 truncate font-sans`,children:e})}(i||r&&r.total>0)&&(M=(0,$.jsxs)(`p`,{"data-card-activity":!0,className:`flex min-w-0 items-center gap-2 font-mono text-xs leading-5 text-content-secondary`,children:[i,r&&r.total>0&&(0,$.jsxs)(`span`,{"data-card-agents":!0,className:`flex flex-none items-center gap-1 font-sans text-content-muted`,title:f(`board:card.subAgentProgress`,r),children:[(0,$.jsx)(v,{className:`size-3`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{"aria-hidden":`true`,children:f(`board:overview.subAgents`,{running:r.running,total:r.total})}),(0,$.jsx)(`span`,{className:`sr-only`,children:f(`board:card.subAgentProgress`,r)})]})]}))}else if(e.lane===`queued`){let t=e.queue?.startAfterTitle?f(`board:overview.queuedAfter`,{title:e.queue.startAfterTitle}):f(`board:overview.queuedAfterUnknown`);M=(0,$.jsx)(`p`,{"data-queue-detail":!0,className:`min-w-0 truncate text-xs leading-5 text-content-secondary`,children:e.queuePosition?`${t} · ${f(`board:overview.queuePosition`,{n:e.queuePosition})}`:t}),u&&(N=(0,$.jsx)(V,{variant:`outline`,size:`sm`,tabIndex:m,disabled:c.isPending(`start`,e.id),"data-start-now":e.id,onClick:()=>u(e),children:f(`board:overview.startNow`)}))}else if(e.lane===`done`){let t=ut(e.preview);M=t?(0,$.jsx)(`p`,{"data-card-preview":!0,className:`min-w-0 truncate text-xs leading-5 text-content-secondary`,children:t}):null;let n=X(e);N=n?(0,$.jsx)(at,{...n}):e.changeStats?null:(0,$.jsx)(ot,{sessionId:e.id,completedAt:typeof e.session.lastCompletedAt==`string`?e.session.lastCompletedAt:null})}return d&&h?(0,$.jsxs)(`article`,{ref:p,"data-board-card":e.id,"data-overview-row":!0,"data-overview-card":!0,"data-lane":e.lane,"data-status":e.status,"data-severity":e.severity??void 0,tabIndex:m,"aria-label":f(`board:card.label`,{title:b,status:O}),"aria-keyshortcuts":`Enter`,onFocus:t=>{(t.target===t.currentTarget||t.currentTarget.contains(t.target))&&c.onFocusCard(e.id)},onPointerDownCapture:e=>{w.current=ct(e.target)},onClick:T,onKeyDown:D,className:B(`relative flex min-w-0 cursor-pointer flex-col gap-2 rounded-[14px] border border-st-attn-border bg-panel p-3.5 shadow-edge transition-opacity duration-(--d-fast) focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-focus`,a&&`opacity-50`),children:[(0,$.jsxs)(`div`,{className:`grid min-w-0 grid-cols-[16px_minmax(0,1fr)_auto] items-start gap-x-2.5`,children:[(0,$.jsx)(`span`,{className:`mt-0.5 grid size-4 place-items-center`,children:(0,$.jsx)(we,{status:ye(e),phase:o})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`p`,{className:`flex min-w-0 items-center gap-1.5 text-base leading-5 font-medium text-content`,children:[e.bot&&(0,$.jsx)(He,{character:e.bot.character,color:e.bot.color,size:18}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:b})]}),(0,$.jsxs)(`p`,{className:`flex min-w-0 items-baseline gap-1 text-xs leading-5`,children:[(0,$.jsxs)(`span`,{"data-row-status":!0,className:`flex-none text-warning-strong`,children:[O,k&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),(0,$.jsx)(`b`,{"data-row-tool":!0,className:`font-mono font-medium`,children:k})]})]}),n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`text-content-faint`,children:`·`}),(0,$.jsx)(`span`,{"data-row-project":!0,className:`min-w-0 truncate font-mono text-content-muted`,title:e.cwd||void 0,children:n})]})]})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[A&&(0,$.jsxs)(`span`,{"data-row-time":!0,className:`text-xs text-content-muted tabular-nums`,children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:A}),(0,$.jsx)(`span`,{className:`sr-only`,children:j})]}),(0,$.jsx)(Ie,{row:{id:e.id,title:b,pinned:e.pinned},actions:l,canMarkHandled:e.status===`failed`,align:`end`,tabIndex:m,className:`size-11`})]})]}),M&&(0,$.jsx)(`div`,{className:`min-w-0 pl-[26px]`,children:M}),N&&(0,$.jsx)(`div`,{"data-card-actions":!0,className:`grid grid-cols-2 gap-2 [&>button]:h-11 [&>button]:w-full [&>button]:text-sm [&>button:only-child]:col-span-2`,children:N})]}):(0,$.jsxs)(`article`,{ref:p,"data-board-card":e.id,"data-overview-row":!0,"data-lane":e.lane,"data-status":e.status,"data-severity":e.severity??void 0,tabIndex:m,"aria-label":f(`board:card.label`,{title:b,status:O}),"aria-keyshortcuts":`Enter`,onFocus:t=>{(t.target===t.currentTarget||t.currentTarget.contains(t.target))&&c.onFocusCard(e.id)},onPointerDownCapture:e=>{w.current=ct(e.target)},onClick:T,onKeyDown:D,className:B(`group/row relative grid min-h-[52px] min-w-0 cursor-pointer grid-cols-[16px_minmax(0,1fr)_auto] items-start gap-x-3 rounded-[var(--r-md)] px-3 py-[11px] transition-[opacity,background-color] duration-(--d-fast) hover:bg-surface-hover focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus`,a&&`opacity-50`),children:[(0,$.jsx)(`span`,{className:`mt-0.5 grid size-4 place-items-center`,children:(0,$.jsx)(we,{status:ye(e),phase:o})}),(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsxs)(`p`,{className:`flex min-w-0 items-baseline gap-2.5 leading-5`,children:[e.bot&&(0,$.jsx)(He,{character:e.bot.character,color:e.bot.color,size:18,className:`self-center`}),(0,$.jsx)(`span`,{className:B(`min-w-0 truncate text-base font-medium`,e.lane===`done`?`text-content-secondary`:`text-content`),children:b}),(0,$.jsxs)(`span`,{"data-row-status":!0,className:B(`flex-none text-xs`,h?`text-warning-strong`:`text-content-muted`),children:[O,k&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),(0,$.jsx)(`b`,{"data-row-tool":!0,className:`font-mono font-medium`,children:k})]})]}),n&&(0,$.jsx)(`span`,{"data-row-project":!0,className:`min-w-0 shrink truncate font-mono text-xs text-content-muted`,title:e.cwd||void 0,children:n}),e.pinned&&(0,$.jsx)(E,{className:`size-3 flex-none self-center text-content-muted`,strokeWidth:1.75,role:`img`,"aria-label":f(`board:card.pinned`)})]}),M]}),(0,$.jsxs)(`div`,{className:`flex min-h-[30px] items-center gap-2 self-start`,children:[N&&(0,$.jsx)(`div`,{className:`flex items-center gap-1.5`,children:N}),(0,$.jsxs)(`div`,{className:B(`relative flex min-h-[30px] items-center justify-end pointer-coarse:gap-2`,!A&&`min-w-[26px]`),children:[A&&(0,$.jsxs)(`span`,{"data-row-time":!0,className:B(`min-w-[44px] text-right text-xs text-content-muted tabular-nums transition-opacity duration-(--d-fast) group-focus-within/row:opacity-0 group-hover/row:opacity-0 group-has-[[data-state=open]]/row:opacity-0 pointer-coarse:opacity-100`,e.lane===`running`&&`font-mono text-content-secondary`),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,children:A}),(0,$.jsx)(`span`,{className:`sr-only`,children:j})]}),(0,$.jsx)(Ie,{row:{id:e.id,title:b,pinned:e.pinned},actions:l,canMarkHandled:h&&e.status===`failed`,align:`end`,tabIndex:m,className:`absolute top-1/2 right-0 -translate-y-1/2 opacity-0 group-focus-within/row:opacity-100 group-hover/row:opacity-100 data-[state=open]:opacity-100 pointer-coarse:static pointer-coarse:translate-y-0 pointer-coarse:opacity-100`})]})]})]})}var ft=(0,Q.memo)(dt),pt=(0,Q.lazy)(()=>t(()=>import(`./ManageProjectsDialog-69xTwGhN.js`).then(e=>({default:e.ManageProjectsDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47])));function mt({commands:e,manageMounted:t,manageOpen:n,onManageOpenChange:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(pe,{picker:e.picker,folderDialog:e.folderDialog}),t&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(pt,{open:n,onOpenChange:r,commands:e})})]})}function ht({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:a}){let{t:o}=i(),[s,c]=(0,Q.useState)(``),l=(0,Q.useRef)(``),{newProject:u,picking:d,picker:f,folderDialog:p}=_e({onProjectChosen:r,onError:t=>e(t,`error`),onRemembered:a?t=>e(o(`board:project.chosen`,{project:Z(t)}),`info`):void 0}),m={t:o,notify:e,requestConfirm:t,requestText:n},h=e=>Ae(e,Z(e.cwd),m,{description:o(`board:project.renameDescription`)}),g=e=>De(e,m),_=e=>{let t=me.getState();t.cwd&&de(t.cwd)===e.key&&t.rememberLaunch({cwd:``});let n=q.getState();n.projects.includes(e.key)&&n.setProjectFilter(n.projects.filter(t=>t!==e.key))};return{newProject:u,picking:d,rename:h,resetName:g,remove:async e=>{if(!l.current){l.current=e.key,c(e.key);try{await Oe(e,m)===`deleted`&&_(e)}finally{l.current=``,c(``)}}},unregister:e=>{l.current||ke(e,m)&&_(e)},busyKey:s,picker:f,folderDialog:p}}function gt({notify:e,requestConfirm:t,requestText:n,onNewTask:r,keys:i}){let a=ht({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:!0}),o=w(e=>e.moveWorkspace),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),d=()=>{c(!0),u(!0)},{rename:f,resetName:p,remove:m,unregister:h}=a;return{actions:(0,Q.useMemo)(()=>({onNewTask:e=>{me.getState().rememberLaunch(he(e.cwd)),r()},onRename:e=>void f(e),onResetName:e=>p(e),onMove:(e,t)=>o(e.key,t,i),onManage:()=>{c(!0),u(!0)},onDelete:e=>e.count===0?h(e):void m(e)}),[i,o,r,m,f,p,h]),deleting:!!a.busyKey,newProject:a.newProject,picking:a.picking,openManage:d,dialogs:{commands:a,manageMounted:s,manageOpen:l,onManageOpenChange:u}}}var _t=`all`,vt=[`attention`,`running`,`queued`,`done`];function yt({items:e,now:t,capabilities:n,laneName:r,notify:a,requestConfirm:o,requestText:s,onNewTask:c}){let{t:l}=i(),u=q(e=>e.lanes),d=q(e=>e.projects),f=q(e=>e.setLaneFilter),p=q(e=>e.setProjectFilter),m=x(),h=gt({notify:a,requestConfirm:o,requestText:s,onNewTask:c,keys:(0,Q.useMemo)(()=>m.map(e=>e.key),[m])}),g=(0,Q.useRef)(null),_=(0,Q.useMemo)(()=>it(e,{now:t,capabilities:n}),[n,e,t]),v=vt.filter(e=>e!==`queued`||n.sessionQueue===!0&&_.lanes.queued>0),C=u[0]??_t,w=d[0]??``,T=m.find(e=>e.key===w),E=!!T?.cwd&&T?.key!==`\0`;return(0,$.jsxs)(`div`,{"data-overview-filters":!0,className:`mb-4 flex min-w-0 flex-wrap items-center gap-2`,children:[(0,$.jsx)(ee,{id:We,"aria-label":l(`board:filter.statuses`),value:C,onValueChange:e=>f(e===_t?[]:[e]),options:[{value:_t,label:l(`board:sidebar.filter.all`),count:_.total},...v.map(e=>({value:e,label:r[e],count:_.lanes[e]}))]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,$.jsxs)(Ue,{"aria-label":l(`board:filter.projects`),className:`w-48`,value:w,onChange:e=>p(e.target.value?[e.target.value]:[]),children:[(0,$.jsx)(`option`,{value:``,children:l(`board:filter.allProjects`)}),m.map(e=>(0,$.jsx)(`option`,{value:e.key,children:e.label},e.key))]}),(0,$.jsxs)(L,{children:[(0,$.jsx)(F,{asChild:!0,children:(0,$.jsx)(V,{variant:`ghost`,size:`icon`,"data-overview-project-menu":!0,"aria-label":T?l(`board:project.actionsFor`,{project:T.label}):l(`board:sidebar.filter.projectActions`),title:T?l(`board:project.actionsFor`,{project:T.label}):l(`board:sidebar.filter.projectActions`),children:(0,$.jsx)(y,{"aria-hidden":`true`})})}),(0,$.jsxs)(I,{align:`end`,className:`w-52`,onCloseAutoFocus:e=>{let t=g.current;t&&(g.current=null,e.preventDefault(),t())},children:[T&&(0,$.jsxs)($.Fragment,{children:[E&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(P,{onSelect:()=>g.current=()=>h.actions.onNewTask(T),children:[(0,$.jsx)(D,{"aria-hidden":`true`}),l(`board:project.newTaskHere`)]}),(0,$.jsxs)(P,{onSelect:()=>h.actions.onRename(T),children:[(0,$.jsx)(Ke,{"aria-hidden":`true`}),l(`board:project.rename`)]}),T.custom&&(0,$.jsxs)(P,{onSelect:()=>h.actions.onResetName(T),children:[(0,$.jsx)(O,{"aria-hidden":`true`}),l(`board:project.resetName`)]})]}),(0,$.jsxs)(P,{variant:`destructive`,disabled:h.deleting,onSelect:()=>h.actions.onDelete(T),children:[T.count===0?(0,$.jsx)(b,{"aria-hidden":`true`}):(0,$.jsx)(A,{"aria-hidden":`true`}),T.count===0?l(`board:project.remove`):l(`board:project.delete`)]}),(0,$.jsx)(N,{})]}),(0,$.jsxs)(P,{disabled:h.picking,onSelect:()=>g.current=()=>void h.newProject(),children:[(0,$.jsx)(S,{"aria-hidden":`true`}),l(`board:sidebar.filter.addProject`)]}),(0,$.jsxs)(P,{onSelect:()=>g.current=h.openManage,children:[(0,$.jsx)(Ge,{"aria-hidden":`true`}),l(`board:project.manage`)]})]})]})]}),(0,$.jsx)(mt,{...h.dialogs})]})}function bt({project:e,first:t,last:n,deleting:r,actions:a}){let{t:o}=i(),s=(0,Q.useRef)(null),c=!!e.cwd;return(0,$.jsxs)(L,{children:[(0,$.jsx)(F,{asChild:!0,children:(0,$.jsx)(V,{variant:`ghost`,size:`icon-sm`,className:`flex-none`,"aria-label":o(`board:project.actionsFor`,{project:e.label}),title:o(`board:project.actionsFor`,{project:e.label}),children:(0,$.jsx)(y,{"aria-hidden":`true`})})}),(0,$.jsxs)(I,{align:`end`,className:`w-52`,onCloseAutoFocus:e=>{let t=s.current;t&&(s.current=null,e.preventDefault(),t())},children:[c&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(P,{onSelect:()=>s.current=()=>a.onNewTask(e),children:[(0,$.jsx)(D,{"aria-hidden":`true`}),o(`board:project.newTaskHere`)]}),(0,$.jsxs)(P,{onSelect:()=>a.onRename(e),children:[(0,$.jsx)(Ke,{"aria-hidden":`true`}),o(`board:project.rename`)]}),e.custom&&(0,$.jsxs)(P,{onSelect:()=>a.onResetName(e),children:[(0,$.jsx)(O,{"aria-hidden":`true`}),o(`board:project.resetName`)]})]}),(0,$.jsxs)(P,{disabled:t,onSelect:()=>a.onMove(e,-1),children:[(0,$.jsx)(h,{"aria-hidden":`true`}),o(`board:project.moveUpShort`)]}),(0,$.jsxs)(P,{disabled:n,onSelect:()=>a.onMove(e,1),children:[(0,$.jsx)(p,{"aria-hidden":`true`}),o(`board:project.moveDownShort`)]}),(0,$.jsxs)(P,{onSelect:()=>s.current=a.onManage,children:[(0,$.jsx)(Ge,{"aria-hidden":`true`}),o(`board:project.manage`)]}),(0,$.jsx)(N,{}),(0,$.jsxs)(P,{variant:`destructive`,disabled:r,onSelect:()=>a.onDelete(e),children:[e.count===0?(0,$.jsx)(b,{"aria-hidden":`true`}):(0,$.jsx)(A,{"aria-hidden":`true`}),e.count===0?o(`board:project.remove`):o(`board:project.delete`)]})]})]})}var xt=1200;function St({items:e,laneName:t,template:n,separator:r,skipAttention:i}){let a=(0,Q.useRef)(null),o=(0,Q.useRef)([]),s=(0,Q.useRef)(null),[c,l]=(0,Q.useState)(``),u=(0,Q.useCallback)(e=>{o.current.push(e),!s.current&&(s.current=setTimeout(()=>{s.current=null,l(o.current.splice(0).join(r))},xt))},[r]);return(0,Q.useEffect)(()=>()=>{s.current&&clearTimeout(s.current)},[]),(0,Q.useLayoutEffect)(()=>{let r=a.current;if(a.current=new Map(e.map(e=>[e.id,e.lane])),r)for(let a of e){let e=r.get(a.id);e!==void 0&&e!==a.lane&&(i&&a.lane===`attention`||u(n(a.title,t[a.lane])))}},[u,e,t,i,n]),c}var Ct=null;function wt(e){Ct=e}function Tt(){return Ct}function Et(){Ct=null}var Dt=1600,Ot=`[data-overview-scroller]`;function kt(e,t){return e?.querySelector(`[data-board-card="${CSS.escape(t)}"]`)??null}function At(e){return e.dataset.overviewScroller===void 0?`other`:`overview`}function jt(e){let t=ce(e);return t.kind===`decide`?e.approvals.find(e=>e.id===t.approvalId)??null:null}function Mt(){return new Promise(e=>requestAnimationFrame(()=>e()))}function Nt({rootRef:e,order:t,attention:n,attentionAll:r,onRevealAttention:a,reveal:o,ready:s,notify:c,sessionHref:l,onOpenSession:u,onToggleGrouping:d}){let{t:f}=i(),p=oe(),m=U(e=>e.boardBindings),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(null),y=(0,Q.useRef)(p);y.current=p;let b=(0,Q.useRef)(t);b.current=t;let x=(0,Q.useRef)(n);x.current=n;let S=(0,Q.useRef)(r);S.current=r;let C=(0,Q.useRef)(o);C.current=o;let[w,T]=(0,Q.useState)(!1),E=(0,Q.useMemo)(()=>t.map(e=>e.id),[t]),D=E.includes(h)?h:E[0]??``,O=(0,Q.useCallback)(async t=>{if(!t)return;g(t),await Mt();let n=(C.current?await C.current(t):null)??kt(e.current,t);n?.scrollIntoView({block:`nearest`}),n?.focus({preventScroll:!0})},[e]),k=(0,Q.useCallback)(e=>{let t=x.current,n=t.findIndex(t=>t.id===e);return n<0?t[0]?.id??``:t[n+1]?.id??t[n-1]?.id??``},[]),A=(0,Q.useCallback)(t=>{let n={};e.current?.querySelectorAll(Ot).forEach(e=>{n[At(e)]=e.scrollTop}),wt({focusId:t,scroll:n}),u(t)},[u,e]),j=(0,Q.useCallback)(e=>{e.ok||e.reason===`pending`||c(f(`board:action.failed`),`error`)},[c,f]),M=(0,Q.useCallback)(t=>Le(kt(e.current,t),{duration:180,scale:.9}),[e]),N=(0,Q.useCallback)(t=>kt(e.current,t)?.getAnimations().forEach(e=>e.cancel()),[e]),P=(0,Q.useCallback)(async(e,t)=>{let n=k(e.id),r=e.approvals.length<=1;r&&await M(e.id);let i=await y.current.approve(e.id,t.id,{confirmCritical:!1});return i.ok?(r&&n&&O(n),i):(N(e.id),i)},[M,O,k,N]),F=(0,Q.useMemo)(()=>({onFocusCard:g,onOpen:A,onApprove:(e,t)=>{if(t.severity===`critical`){A(e.id);return}P(e,t).then(t=>{!t.ok&&t.reason===`confirmation-required`?A(e.id):j(t)})},onDeny:(e,t)=>{let n=k(e.id),r=e.approvals.length<=1;(async()=>{r&&await M(e.id);let i=await y.current.deny(e.id,t.id);i.ok||N(e.id),j(i),i.ok&&r&&n&&O(n)})()},onRetry:e=>{let t=k(e.id);(async()=>{await M(e.id);let n=await y.current.retry(e.id);n.ok||N(e.id),j(n),n.ok&&t&&O(t)})()},onAnswer:(e,t)=>{let n=e.question;if(!n||!fe(n)?.includes(t)){A(e.id);return}let r=k(e.id);(async()=>{await M(e.id);let i=await y.current.answer(e.id,n.id,t);i.ok||N(e.id),j(i),i.ok&&r&&O(r)})()},onStartNow:e=>void y.current.startNow(e.id).then(j),onMarkHandled:e=>void y.current.markHandled(e.id).then(j),onPin:e=>void y.current.pin(e.id,!e.pinned).then(j),onArchive:e=>void y.current.archive(e.id,!0).then(t=>{t.ok?c(f(`board:action.archived`,{title:e.title})):j(t)}),onCopyLink:e=>{let t=l(e.id),n=typeof navigator<`u`?navigator.clipboard:void 0;if(!n){c(f(`board:action.copyFailed`),`error`);return}n.writeText(t).then(()=>c(f(`board:action.copied`)),()=>c(f(`board:action.copyFailed`),`error`))},isPending:(e,t,n)=>p.isPending(e,t,n)}),[p,P,M,O,k,c,A,j,N,l,f]),I=(0,Q.useCallback)(()=>{if(S.current.length-x.current.length>0&&a){T(!0),a();return}let e=x.current[0];if(!e){c(f(`board:triage.nothing`));return}v({total:x.current.length,finished:!1}),O(e.id)},[O,c,a,f]);(0,Q.useEffect)(()=>{!w||n.length<r.length||(T(!1),I())},[n.length,r.length,I,w]);let L=(0,Q.useCallback)(()=>v(null),[]);(0,Q.useEffect)(()=>{if(!_||_.finished)return;if(n.length===0){v({..._,finished:!0});return}let e=_.total-Math.min(_.total,n.length);e+n.length>_.total&&v({..._,total:e+n.length})},[n.length,_]),(0,Q.useEffect)(()=>{if(!_?.finished)return;let e=setTimeout(()=>v(null),Dt);return()=>clearTimeout(e)},[_?.finished]);let ee=(0,Q.useCallback)(e=>{let t=_?x.current:b.current;if(!t.length)return;let n=t.findIndex(e=>e.id===D),r=n<0?0:Math.max(0,Math.min(t.length-1,n+e));O(t[r].id)},[D,O,_]);(0,Q.useEffect)(()=>{let t=t=>{if(re(t)||ie(t.target))return;let n=e.current,r=t.target instanceof HTMLElement?t.target:null,i=!!r?.closest(`[data-board-card]`);if(!(r&&n?.contains(r)||r===document.body))return;let a=!t.ctrlKey&&!t.metaKey&&!t.altKey&&!t.shiftKey,o=i||!!_,s=b.current.find(e=>e.id===D),c=o&&a&&/^[1-4]$/.test(t.key)&&s?.status===`question`?fe(s.question)?.[Number(t.key)-1]:void 0,l=!0;if(t.key===`Escape`&&_)L();else if(W(t,m.boardNext)||i&&a&&t.key===`ArrowDown`)ee(1);else if(W(t,m.boardPrevious)||i&&a&&t.key===`ArrowUp`)ee(-1);else if(W(t,m.boardToggleGrouping))d();else if(W(t,m.boardTriage))_?L():I();else if(o&&W(t,m.boardApprove)&&s?.status===`approval`){let e=jt(s);e&&F.onApprove(s,e)}else if(o&&W(t,m.boardDeny)&&s?.status===`approval`){let e=jt(s);e&&F.onDeny(s,e)}else o&&W(t,m.boardRetry)&&s?.status===`failed`&&s.lane===`attention`?F.onRetry(s):s&&c?F.onAnswer(s,c):t.key===`Enter`&&a&&!i&&s&&_?A(s.id):l=!1;l&&t.preventDefault()};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[m,D,L,F,ee,d,A,e,I,_]),(0,Q.useLayoutEffect)(()=>{let t=e.current;return()=>{if(!t||Tt())return;let e=document.activeElement,n=e instanceof HTMLElement&&t.contains(e)?e.closest(`[data-board-card]`):null,r={};t.querySelectorAll(Ot).forEach(e=>{r[At(e)]=e.scrollTop}),wt({focusId:n?.dataset.boardCard??``,scroll:r})}},[e]),(0,Q.useLayoutEffect)(()=>{let t=Tt();!t||!s||!E.length||(Et(),e.current?.querySelectorAll(Ot).forEach(e=>{let n=At(e);n in t.scroll&&(e.scrollTop=t.scroll[n])}),E.includes(t.focusId)&&(g(t.focusId),requestAnimationFrame(()=>{(async()=>{((C.current?await C.current(t.focusId):null)??kt(e.current,t.focusId))?.focus({preventScroll:!0})})()})))},[E,s,e]);let R=_?Math.min(_.total,_.total-Math.min(_.total,n.length)+1):0;return{actions:p,handlers:F,activeId:D,focusCard:O,triage:_?{..._,index:R}:null,startTriage:I,exitTriage:L,bindings:m}}function Pt(e){let{t}=i(),n=w(e=>e.names),r=w(e=>e.order),a=C(e=>e.projects);return(0,Q.useMemo)(()=>ae(Ee([...e],a),r).map(e=>({...e,label:n[e.key]||(e.cwd?Z(e.cwd):t(`board:filter.noProject`)),custom:!!(e.cwd&&n[e.key])})),[n,r,e,a,t])}var Ft=Object.freeze({approve:null,deny:null,retry:null}),It=(0,Q.lazy)(()=>t(()=>import(`./ManageProjectsDialog-69xTwGhN.js`).then(e=>({default:e.ManageProjectsDialog})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47]))),Lt=`(min-width: 1280px)`;function Rt(e){let t=d(),{t:n}=i();return(0,Q.useEffect)(()=>(document.title=`${n(`board:page.title`)} · ${M}`,()=>{document.title=M}),[n]),(0,$.jsx)(zt,{...e,phone:t},t?`phone`:`desktop`)}function zt({activeSessionId:e,onOpenSession:t,onOpenHistory:n,sessionHref:r,notify:a,requestConfirm:c,requestText:l,onNewTask:d,phone:f}){let{t:p}=i(),m=s(`overview-card`).placed,h=u(Lt),g=m.length?f?`phone`:h?`column`:`popover`:null,_=n=>(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(o,{placed:m,layout:n,activeSessionId:e,notify:a,onOpenSession:t})}),v=ge({doneWindow:`today`}),y=q(),b=qe(),x=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=ue(),T=Pt(v.projects),E=y.collapsedLanes.includes(`done`),D=f?y.groupBy:`lane`,O=(0,Q.useMemo)(()=>rt(v.all,{now:C,groupBy:D,capabilities:v.capabilities,lanes:y.lanes,projects:y.projects,projectOrder:T,doneCollapsed:E}),[v.all,v.capabilities,E,C,T,D,y.lanes,y.projects]),A=(0,Q.useMemo)(()=>new Map(T.map(e=>[e.key,e])),[T]),j=O.counts.attention+O.counts.running>0,M=se(j),N=!v.isLoading&&!(v.error&&v.total===0),P=(0,Q.useMemo)(()=>{let e=[];for(let t of O.sections){let n=t.kind===`status`?`status:${t.id}`:`project:${t.key}`;if(e.push({kind:`header`,key:n,section:t}),t.kind===`status`&&t.id===`done`&&E)continue;!t.items.length&&t.kind===`status`&&e.push({kind:`empty`,key:`${n}:empty`,lane:t.id});let r=0;for(let n of t.items)e.push({kind:`row`,key:n.id,item:n,phase:n.lane===`running`?r++*.381966%1:0})}return e},[E,O.sections]),F=O.order.length,I=Je(F),L=(0,Q.useRef)(-1),R=Ne({count:I?P.length:0,getScrollElement:()=>S.current,estimateSize:e=>P[e]?.kind===`row`?64:40,overscan:8,getItemKey:e=>P[e]?.key??e,rangeExtractor:e=>{let t=Me(e),n=L.current;return n<0||n>=e.count||t.includes(n)?t:[...t,n].sort((e,t)=>e-t)}}),te=(0,Q.useCallback)(async e=>{let t=()=>x.current?.querySelector(`[data-board-card="${CSS.escape(e)}"]`)??null;if(!I||t())return t();let n=P.findIndex(t=>t.kind===`row`&&t.key===e);if(n<0)return null;R.scrollToIndex(n,{align:`auto`});for(let e=0;e<3&&!t();e+=1)await new Promise(e=>requestAnimationFrame(()=>e()));return t()},[P,I,R]),z=Nt({rootRef:x,order:O.order,attention:O.attention,attentionAll:O.attentionAll,onRevealAttention:y.clearFilters,reveal:te,ready:!v.isLoading,notify:a,sessionHref:r,onOpenSession:t,onToggleGrouping:()=>{f&&y.setGroupBy(y.groupBy===`lane`?`project`:`lane`)}});L.current=I?P.findIndex(e=>e.kind===`row`&&e.key===z.activeId):-1;let ne=Be({notify:a,requestText:l,onOpenSession:z.handlers.onOpen}),[H,re]=(0,Q.useState)(``),U=z.focusCard,W=(0,Q.useRef)(O.order);W.current=O.order;let ie=(0,Q.useRef)(O.attentionAll);ie.current=O.attentionAll,(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.sessionId;if(t){if(W.current.some(e=>e.id===t)){U(t);return}ie.current.some(e=>e.id===t)&&(re(t),q.getState().clearFilters())}};return window.addEventListener(Ve,e),()=>window.removeEventListener(Ve,e)},[U]),(0,Q.useEffect)(()=>{!H||!O.order.some(e=>e.id===H)||(re(``),U(H))},[U,O.order,H]);let ae=St({items:v.all,laneName:b.name,template:(0,Q.useCallback)((e,t)=>p(`board:announce.moved`,{title:e,lane:t}),[p]),separator:p(`board:sidebar.announceSeparator`),skipAttention:!0}),K=ht({notify:a,requestConfirm:c,requestText:l,onProjectChosen:d,announceChoice:!0}),[oe,ce]=(0,Q.useState)(!1),[le,de]=(0,Q.useState)(!1),fe=w(e=>e.moveWorkspace),J=(0,Q.useMemo)(()=>O.sections.flatMap(e=>e.kind===`project`&&A.has(e.key)?[e.key]:[]),[O.sections,A]),_e=(0,Q.useMemo)(()=>({onNewTask:e=>{me.getState().rememberLaunch(he(e.cwd)),d()},onRename:e=>void K.rename(e),onResetName:e=>K.resetName(e),onMove:(e,t)=>fe(e.key,t,J),onManage:()=>{ce(!0),de(!0)},onDelete:e=>void K.remove(e)}),[K,fe,d,J]),Y=z.bindings,ve=(0,Q.useMemo)(()=>({approve:Y.boardApprove,deny:Y.boardDeny,retry:Y.boardRetry}),[Y.boardApprove,Y.boardDeny,Y.boardRetry]),X=z.triage,ye=D===`lane`,Z=e=>{let t=P[0]!==e;if(e.kind===`header`)return e.section.kind===`status`?(0,$.jsx)(Ut,{spaced:t,lane:e.section.id,count:e.section.items.length,collapsed:e.section.id===`done`&&E,dimmed:!!X&&e.section.id!==`attention`,onToggle:e.section.id===`done`?()=>y.setLaneCollapsed(`done`,!E):void 0}):(0,$.jsx)(Wt,{spaced:t,section:e.section,project:A.get(e.section.key),first:J[0]===e.section.key,last:J.at(-1)===e.section.key,actions:_e,deleting:!!K.busyKey});if(e.kind===`empty`)return(0,$.jsx)(`p`,{className:B(`py-2 pr-3 pl-[40px] text-xs leading-5 text-content-muted`,X&&e.lane!==`attention`&&`opacity-50`),children:e.lane===`attention`?p(`board:sidebar.emptyAttention`):p(`board:sidebar.emptyRunning`)});let n=e.item,r=f&&n.lane===`attention`,i=(0,$.jsx)(ft,{item:n,now:M,project:ye?A.get(n.workspaceKey)?.label??``:``,active:n.id===z.activeId,dimmed:!!X&&n.lane!==`attention`,phase:e.phase,bindings:f?Ft:ve,handlers:z.handlers,menu:ne,card:r,onStartNow:z.handlers.onStartNow});return r?(0,$.jsx)(`div`,{className:`py-1`,children:i}):i},be;be=v.isLoading?(0,$.jsx)(je,{kind:`loading`,title:p(`board:page.loading`)}):v.error&&v.total===0?(0,$.jsx)(je,{kind:`error`,title:p(`board:page.error`),description:p(`board:page.errorHint`),action:(0,$.jsx)(V,{variant:`secondary`,onClick:()=>void v.refresh(),children:p(`board:page.retry`)})}):O.total===0?(0,$.jsxs)(`div`,{"data-overview-empty":!0,className:`flex flex-col items-center gap-3 py-24 text-center`,children:[(0,$.jsx)(`p`,{className:`text-base text-content-secondary`,children:p(`board:overview.empty`)}),(0,$.jsxs)(V,{variant:`outline`,onClick:d,children:[(0,$.jsx)(k,{"aria-hidden":`true`}),p(`board:overview.newTask`)]}),!v.catalogEmpty&&(0,$.jsx)(Bt,{onClick:n})]}):O.filteredEmpty?(0,$.jsx)(je,{kind:`empty`,title:p(`board:filter.emptyTitle`),description:p(`board:filter.emptyHint`),action:(0,$.jsx)(V,{variant:`secondary`,onClick:y.clearFilters,children:p(`board:filter.clear`)})}):I?(0,$.jsx)(`div`,{"data-overview-list":!0,"data-virtual":!0,className:`relative w-full`,style:{height:R.getTotalSize()},children:R.getVirtualItems().map(e=>{let t=P[e.index];return t?(0,$.jsx)(`div`,{ref:R.measureElement,"data-index":e.index,className:`absolute inset-x-0 top-0`,style:{transform:`translateY(${e.start}px)`},children:Z(t)},e.key):null})}):(0,$.jsx)(`div`,{"data-overview-list":!0,className:`flex flex-col`,children:O.sections.map(e=>{let t=e.kind===`status`?`status:${e.id}`:`project:${e.key}`,[n,...r]=P.filter(n=>n.key===t||n.key===`${t}:empty`||n.kind===`row`&&e.items.includes(n.item)),i=r.filter(e=>e.kind===`row`),a=r.find(e=>e.kind===`empty`);return(0,$.jsxs)(`section`,{"aria-labelledby":`overview-${t}`,"data-overview-section":e.kind===`status`?e.id:e.key,children:[n&&Z(n),a&&Z(a),i.length>0&&(0,$.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:i.map(e=>(0,$.jsx)(`li`,{"data-card":f&&e.item.lane===`attention`||void 0,className:`relative [&+&]:before:absolute [&+&]:before:top-0 [&+&]:before:right-3 [&+&]:before:left-10 [&+&]:before:h-px [&+&]:before:bg-stroke data-[card]:before:hidden [[data-card]+&]:before:hidden`,children:Z(e)},e.key))})]},t)})});let xe=y.lanes.length>0||y.projects.length>0;return(0,$.jsxs)(`div`,{ref:x,"data-board-root":!0,"data-overview":!0,className:`relative flex h-full min-h-0 w-full min-w-0 flex-col bg-background`,children:[!f&&(0,$.jsx)(`div`,{"data-window-drag-region":!0,"aria-hidden":`true`,className:`h-[52px] flex-none`}),(0,$.jsx)(`div`,{ref:S,"data-overview-scroller":!0,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain pb-20`,children:(0,$.jsxs)(`div`,{className:B(`mx-auto flex w-full gap-10 px-6 max-[650px]:px-4`,g===`column`?`max-w-[1280px]`:`max-w-[928px]`),children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[f&&(0,$.jsx)(`h1`,{className:`sr-only`,children:p(`board:page.title`)}),f?N&&O.total>0&&(0,$.jsx)(`div`,{className:`sticky top-0 z-[1] -mx-4 mb-2 bg-background px-4 pt-1 pb-2`,children:(0,$.jsx)(ee,{size:`default`,"aria-label":p(`board:group.label`),value:y.groupBy,onValueChange:y.setGroupBy,className:`grid h-11 w-full grid-cols-2 [&>button]:h-full`,options:[{value:`lane`,label:p(`board:group.lane`)},{value:`project`,label:p(`board:group.project`)}]})}):(0,$.jsxs)(`header`,{"data-focus-region":`header`,className:`mb-5 flex min-w-0 flex-wrap items-end gap-x-4 gap-y-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`h1`,{className:`text-2xl leading-8 font-semibold tracking-[-.01em] text-content`,children:p(`board:page.title`)}),N&&O.total>0&&(0,$.jsx)(Vt,{agents:O.total,projects:O.projectCount,running:O.running})]}),g===`popover`&&_(`popover`),N&&O.total>0&&(0,$.jsxs)(V,{variant:`outline`,onClick:d,children:[(0,$.jsx)(k,{"aria-hidden":`true`}),p(`board:overview.newTask`)]})]}),!f&&N&&v.total>0&&(0,$.jsx)(yt,{items:v.all,now:C,capabilities:v.capabilities,laneName:b.name,notify:a,requestConfirm:c,requestText:l,onNewTask:d}),N&&xe&&f&&O.total>0&&(0,$.jsx)(Ht,{lanes:y.lanes,projects:y.projects.map(e=>A.get(e)?.label??``).filter(Boolean),laneName:b.name,onClear:y.clearFilters}),be,N&&O.total>0&&!O.filteredEmpty&&(0,$.jsx)(`div`,{className:B(`mt-3 pl-1`,X&&`opacity-50`),children:(0,$.jsx)(Bt,{onClick:n})}),g===`phone`&&(0,$.jsx)(`section`,{"aria-label":p(`board:overview.widgets`),"data-overview-widgets":`phone`,children:_(`phone`)})]}),g===`column`&&(0,$.jsx)(`aside`,{"data-overview-widgets":`column`,"aria-label":p(`board:overview.widgets`),className:B(`w-80 flex-none`,X&&`opacity-50`),children:_(`column`)})]})}),X&&(0,$.jsx)(Gt,{index:X.index,total:X.total,finished:X.finished,answers:v.capabilities.askUser,keys:{approve:G(Y.boardApprove),deny:G(Y.boardDeny),retry:G(Y.boardRetry)},onExit:z.exitTriage}),(0,$.jsx)(`p`,{"aria-live":`polite`,role:`status`,className:`sr-only`,children:ae}),(0,$.jsx)(pe,{picker:K.picker,folderDialog:K.folderDialog}),oe&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(It,{open:le,onOpenChange:de,commands:K})})]})}function Bt({onClick:e}){let{t}=i();return(0,$.jsxs)(`button`,{type:`button`,"data-overview-history":!0,className:`inline-flex h-8 items-center gap-1 rounded-[var(--r-sm)] px-2 text-[13px] text-content-muted transition-colors duration-(--d-fast) hover:bg-surface-hover hover:text-content-secondary focus-visible:outline-2 focus-visible:outline-focus pointer-coarse:h-11`,onClick:e,children:[t(`board:lane.history`),(0,$.jsx)(m,{className:`size-3.5`,"aria-hidden":`true`})]})}function Vt({agents:e,projects:t,running:n}){let{t:r}=i(),[a,o]=(0,Q.useState)(!1),s=J(a),c=s.data?[s.data.subAgents?r(`board:overview.subAgentSlots`,{running:s.data.subAgents.running,max:s.data.subAgents.max}):``,s.data.todayTokens===null?``:r(`board:overview.todayTokens`,{tokens:Ce(s.data.todayTokens)}),s.data.memoryBytes===null?``:r(`board:overview.memory`,{memory:Se(s.data.memoryBytes)})].filter(Boolean):[],l=s.isPending?r(`board:overview.systemLoading`):c.length?c.join(` · `):r(`board:overview.systemUnavailable`);return(0,$.jsx)(z,{children:(0,$.jsxs)(ne,{open:a,onOpenChange:o,children:[(0,$.jsx)(R,{asChild:!0,children:(0,$.jsx)(`p`,{tabIndex:0,"data-overview-summary":!0,className:`mt-1 w-fit max-w-full truncate rounded-xs text-sm text-content-muted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-focus`,children:r(`board:page.summary`,{agents:e,projects:t,running:n})})}),(0,$.jsx)(te,{side:`bottom`,align:`start`,sideOffset:6,"data-overview-system":!0,children:l})]})})}function Ht({lanes:e,projects:t,laneName:n,onClear:r}){let{t:a}=i(),o=a(`board:filter.listSeparator`),s=[e.length?a(`board:filter.statusTitle`,{statuses:e.map(e=>n[e]).join(o)}):``,t.length?a(`board:filter.projectsTitle`,{projects:t.join(o)}):``].filter(Boolean);return(0,$.jsxs)(`div`,{"data-overview-filter":!0,className:`mb-3 flex min-w-0 items-center gap-2 rounded-[var(--r-md)] bg-surface-subtle py-1 pr-1 pl-3 text-xs text-content-secondary`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:s.join(` · `)}),(0,$.jsxs)(V,{variant:`ghost`,size:`xs`,onClick:r,children:[(0,$.jsx)(j,{"aria-hidden":`true`}),a(`board:filter.clear`)]})]})}function Ut({spaced:e,lane:t,count:n,collapsed:r,dimmed:a,onToggle:o}){let{t:s}=i(),c=s(t===`attention`?`board:sidebar.group.attention`:t===`running`?`board:sidebar.group.running`:t===`queued`?`board:sidebar.group.queued`:`board:sidebar.group.done`),l=t===`attention`&&n>0,u=`overview-status:${t}`,d=(0,$.jsxs)($.Fragment,{children:[c,(0,$.jsx)(`span`,{"data-overview-count":!0,className:B(`tabular-nums`,l?`inline-grid h-[18px] min-w-[18px] place-items-center rounded-full bg-warning-soft px-1.5 text-[11.5px] font-semibold ring-1 ring-st-attn-border ring-inset`:`text-content-muted`),children:n}),o&&(r?(0,$.jsx)(_,{className:`size-3.5`,"aria-hidden":`true`}):(0,$.jsx)(g,{className:`size-3.5`,"aria-hidden":`true`}))]}),f=B(`flex h-8 items-center gap-2 px-3 text-[13px] font-medium`,l?`text-warning-strong`:`text-content-secondary`);return(0,$.jsx)(`h2`,{id:u,"data-overview-heading":t,className:B(`m-0 transition-opacity duration-(--d-fast)`,e&&`mt-5`,a&&`opacity-50`),children:o?(0,$.jsx)(`button`,{type:`button`,"aria-expanded":!r,className:B(f,`rounded-[var(--r-md)] hover:text-content focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-focus pointer-coarse:h-11`),onClick:o,children:d}):(0,$.jsx)(`span`,{className:f,children:d})})}function Wt({spaced:e,section:t,project:n,first:r,last:a,actions:o,deleting:s}){let{t:c}=i(),l=n?.label||c(`board:filter.noProject`),u=t.counts,d=[u.running?c(`board:overview.projectRunning`,{count:u.running}):``,u.queued?c(`board:overview.projectQueued`,{count:u.queued}):``,u.done?c(`board:overview.projectDone`,{count:u.done}):``].filter(Boolean);return(0,$.jsxs)(`div`,{"data-overview-heading":t.key,className:B(`flex h-9 min-w-0 items-center gap-2.5 pr-1 pl-3`,e&&`mt-6`),children:[(0,$.jsx)(T,{className:`size-3.5 flex-none text-content-muted`,strokeWidth:1.75,"aria-hidden":`true`}),(0,$.jsx)(`h2`,{id:`overview-project:${t.key}`,className:`m-0 min-w-0 truncate font-mono text-[13.5px] font-semibold text-content`,title:t.cwd||void 0,children:l}),(0,$.jsxs)(`p`,{className:`min-w-0 flex-1 truncate text-xs text-content-muted`,children:[u.attention>0&&(0,$.jsx)(`b`,{className:`font-medium text-warning-strong`,children:c(`board:overview.projectAttention`,{count:u.attention})}),u.attention>0&&d.length>0&&(0,$.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),d.join(` · `)]}),n&&(0,$.jsx)(bt,{project:n,first:r,last:a,deleting:s,actions:o})]})}function Gt({index:e,total:t,finished:n,answers:r,keys:a,onExit:o}){let{t:s}=i(),c=(e,t)=>e?(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(H,{children:e}),t]}):null;return(0,$.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-triage-bar":!0,className:`absolute bottom-5 left-1/2 z-20 flex h-10 max-w-[calc(100%-32px)] -translate-x-1/2 items-center gap-3 overflow-hidden rounded-[var(--r-lg)] border border-stroke bg-solid px-3.5 text-[12.5px] whitespace-nowrap text-content-secondary shadow-float`,children:n?(0,$.jsx)(`b`,{className:`font-medium text-content`,children:s(`board:triage.finished`)}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`b`,{className:`font-medium text-content tabular-nums`,children:s(`board:triage.progress`,{index:e,total:t})}),c(a.approve,s(`board:triage.approve`)),c(a.deny,s(`board:triage.deny`)),c(a.retry,s(`board:triage.retry`)),r&&c(`1–4`,s(`board:triage.answer`)),c(`↵`,s(`board:triage.open`)),(0,$.jsxs)(V,{variant:`ghost`,size:`xs`,className:`-mr-1.5`,onClick:o,children:[(0,$.jsx)(H,{children:`Esc`}),s(`board:triage.exit`)]})]})})}export{Rt as BoardPage};