pisper 0.6.13 → 0.6.14

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 (108) hide show
  1. package/package.json +5 -5
  2. package/web/.vite/manifest.json +541 -541
  3. package/web/assets/{AppDialog-ChuOV69R.js → AppDialog-DrhCZm1r.js} +1 -1
  4. package/web/assets/{AppOverlays-BNxogCpM.js → AppOverlays-CxgReqGn.js} +1 -1
  5. package/web/assets/{AssetsPage-C_zULo41.js → AssetsPage-CKK-byQY.js} +1 -1
  6. package/web/assets/{BoardPage-Wu9X-Zur.js → BoardPage-vwv5vTDm.js} +3 -3
  7. package/web/assets/{ChannelsPage-DvQYEsZx.js → ChannelsPage-L-wcVDSN.js} +1 -1
  8. package/web/assets/{ChatAppearancePage-Dc1hcGO1.js → ChatAppearancePage-BhqRLf-2.js} +1 -1
  9. package/web/assets/{ChatHistoryPage-DOldhuBG.js → ChatHistoryPage-DBsNyGYj.js} +1 -1
  10. package/web/assets/{ChatPage-Bt1N3-Dd.js → ChatPage-DS0euFxR.js} +4 -4
  11. package/web/assets/{ConfigPage-Dx_9BXUH.js → ConfigPage-pOzONr8e.js} +2 -2
  12. package/web/assets/{DesktopWindowControls-DhzSLGsL.js → DesktopWindowControls-DCtIkpTs.js} +1 -1
  13. package/web/assets/{DispatchOverlay-LNd_knJl.js → DispatchOverlay-n-qbkOP-.js} +1 -1
  14. package/web/assets/{FeaturePage-BV7-6mzm.js → FeaturePage-Bkt1wWVg.js} +1 -1
  15. package/web/assets/{FileAttachmentPreview-cYRvzbsf.js → FileAttachmentPreview-Cnmi_2U-.js} +1 -1
  16. package/web/assets/{FloatingWidgets-CZvEZBfc.js → FloatingWidgets-BIJSFz34.js} +1 -1
  17. package/web/assets/{FocusRuntimeControls-B0yEDKMN.js → FocusRuntimeControls-C7NIdpV4.js} +1 -1
  18. package/web/assets/{GitDiffViewer-4ea3jm5E.js → GitDiffViewer-rjt5_KOt.js} +1 -1
  19. package/web/assets/{LaunchConsole-Bu-NLmrh.js → LaunchConsole-DtxzpXJo.js} +2 -2
  20. package/web/assets/{ManageProjectsDialog-Qi8yMzuy.js → ManageProjectsDialog-RiFg3h1p.js} +1 -1
  21. package/web/assets/{MarkdownMessage-BSTx0KMg.js → MarkdownMessage-yl-PSRAz.js} +1 -1
  22. package/web/assets/{McpPage-DpT7NbHF.js → McpPage-D6GyZCpt.js} +1 -1
  23. package/web/assets/{MemoryPage-2BMB0tcU.js → MemoryPage-Dsx_6JpI.js} +1 -1
  24. package/web/assets/{MobileNavigation-BChENth3.js → MobileNavigation-DcBH2I9Y.js} +1 -1
  25. package/web/assets/{MorePage-D_E85kDw.js → MorePage-BBfiQbiP.js} +1 -1
  26. package/web/assets/{NewFolderDialog-B56_BjoW.js → NewFolderDialog-BinpbTs8.js} +1 -1
  27. package/web/assets/{PageHeader-BXQdmR1x.js → PageHeader-D_J-19ni.js} +1 -1
  28. package/web/assets/{PhoneDrawer-CapiWnwy.js → PhoneDrawer-CwxDkWZQ.js} +1 -1
  29. package/web/assets/{PhoneMenuButton-D1TPwX-1.js → PhoneMenuButton-B0AwvqEo.js} +1 -1
  30. package/web/assets/{PhoneTopBar-1qxMJEZn.js → PhoneTopBar-Dw0mIaWC.js} +1 -1
  31. package/web/assets/{PluginsPage-CPyf2iFu.js → PluginsPage-BzxPAX26.js} +1 -1
  32. package/web/assets/{QuickPromptIdeas-Cy_t1L7E.js → QuickPromptIdeas-Cd3SwBqS.js} +1 -1
  33. package/web/assets/{SafeModePrompt-BUIzMwem.js → SafeModePrompt-CLyt-z14.js} +1 -1
  34. package/web/assets/{SchedulesPage-DKTAxE95.js → SchedulesPage-Cbgl5v_8.js} +1 -1
  35. package/web/assets/{SessionBrowserPane-nAItO1A5.js → SessionBrowserPane-CB7jn-MS.js} +2 -2
  36. package/web/assets/{SessionContextPanel-9Bg4j5Vv.js → SessionContextPanel-CNmAp0ed.js} +2 -2
  37. package/web/assets/{SessionHome-BV3eA6FP.js → SessionHome-Ck_daJT0.js} +1 -1
  38. package/web/assets/{SessionInspector-nGAiGnrh.js → SessionInspector-cSzwsc4b.js} +1 -1
  39. package/web/assets/{SessionShell-DJAnktW8.js → SessionShell-BOZ7h0yz.js} +1 -1
  40. package/web/assets/{SettingsSidebar-fuUmdnZp.js → SettingsSidebar-IqsOv5h1.js} +1 -1
  41. package/web/assets/{ShortcutHelpDialog-Gqrlr6Mi.js → ShortcutHelpDialog-DKDAF94g.js} +1 -1
  42. package/web/assets/{ShortcutKeys-hvm91EiI.js → ShortcutKeys-DQFnMnX1.js} +1 -1
  43. package/web/assets/{SidebarUpdateStatus-AEvqSFVz.js → SidebarUpdateStatus-Cbwy5ii9.js} +1 -1
  44. package/web/assets/{SkillsPage-B4qPIWNT.js → SkillsPage-DTOzYSaS.js} +1 -1
  45. package/web/assets/{TaskProcessesPane-Dpxwl38Z.js → TaskProcessesPane-DRFmGkE3.js} +1 -1
  46. package/web/assets/{TaskTerminalView-DZkPrfzt.js → TaskTerminalView-DWNACXyI.js} +1 -1
  47. package/web/assets/{TerminalPanel-BLWGdiOM.js → TerminalPanel-QEt-SRiM.js} +1 -1
  48. package/web/assets/{WebDesktopPet-w5vrcLDr.js → WebDesktopPet-4CDch3gC.js} +1 -1
  49. package/web/assets/{WorkflowsPage-BIEGwArz.js → WorkflowsPage-AMKQBlPo.js} +1 -1
  50. package/web/assets/{WorkspacePicker-BiJHY52J.js → WorkspacePicker-B9vYtfab.js} +1 -1
  51. package/web/assets/{api-PMkeVoki.js → api-BO7LAPSQ.js} +1 -1
  52. package/web/assets/{app-update-BAixtUfS.js → app-update-DKWPHTUY.js} +1 -1
  53. package/web/assets/{approval-confirm-Dpfx2sMg.js → approval-confirm-ByiI22Wo.js} +1 -1
  54. package/web/assets/{board-launch-C_nXqI77.js → board-launch-BmmPYZe8.js} +1 -1
  55. package/web/assets/{board-projects-CBCU-Sgb.js → board-projects-BU9fZB1q.js} +1 -1
  56. package/web/assets/{chat-api-Kcrk_K91.js → chat-api-DkdyVQY9.js} +1 -1
  57. package/web/assets/{client-store-CrFIB91q.js → client-store-6GNC8uyK.js} +1 -1
  58. package/web/assets/{config-search-DXrAFHzB.js → config-search-HBKDuym0.js} +1 -1
  59. package/web/assets/{dialog-DdbSm1ZL.js → dialog-CUhFgsVd.js} +1 -1
  60. package/web/assets/{events-CsDpIEpa.js → events-DrAPv0se.js} +1 -1
  61. package/web/assets/{folder-paths-tMQQIavs.js → folder-paths-DQTpuGh9.js} +1 -1
  62. package/web/assets/{hosts-LdyGIyL3.js → hosts-1yQREdMi.js} +1 -1
  63. package/web/assets/i18n-CHmr7GzM.js +1 -0
  64. package/web/assets/{index-Ciq5zG6s.js → index-CsE52ydO.js} +2 -2
  65. package/web/assets/{mount-app-BNdeN2kJ.js → mount-app-DfSFF0xv.js} +3 -3
  66. package/web/assets/{permission-rules-api-DJZQfffF.js → permission-rules-api-BoJ_1W-m.js} +1 -1
  67. package/web/assets/{pick-system-directory-Dzxt6gno.js → pick-system-directory-B_RJmP26.js} +1 -1
  68. package/web/assets/{placements-CvOgP1_I.js → placements-CqwqXPTp.js} +2 -2
  69. package/web/assets/{popover-Cl-XiAIN.js → popover--UmYQ9yB.js} +1 -1
  70. package/web/assets/{public-components-BRkqqQBZ.js → public-components-DYGekkA7.js} +1 -1
  71. package/web/assets/public-diff-DK-VNIar.js +1 -0
  72. package/web/assets/{public-CJ34MvMA.js → public-fqyTjQ0F.js} +2 -2
  73. package/web/assets/public-jQjEc6OO.js +1 -0
  74. package/web/assets/public-launch-CT_m9KWo.js +1 -0
  75. package/web/assets/{runtime-capabilities-store-BrQ24OXo.js → runtime-capabilities-store-C2Qv7uDP.js} +1 -1
  76. package/web/assets/{safe-mode-instance-C8KjWD3O.js → safe-mode-instance-BiAPYJ2-.js} +1 -1
  77. package/web/assets/safe-mode-sentinel-Ccu3Vmta.js +1 -0
  78. package/web/assets/{session-change-summary-api-p0LGuByB.js → session-change-summary-api-DgRT32uh.js} +1 -1
  79. package/web/assets/{session-home-Bhs5A925.js → session-home-BktP6sGF.js} +1 -1
  80. package/web/assets/{session-organization-api-8UQMpctG.js → session-organization-api-DFu3Chto.js} +1 -1
  81. package/web/assets/{session-scope-8PMKriev.js → session-scope-DQPNgQMm.js} +1 -1
  82. package/web/assets/{session-tree-actions-Ee9kzU3S.js → session-tree-actions-DfO8QHBO.js} +1 -1
  83. package/web/assets/{session-tree-summary-DEQsXexZ.js → session-tree-summary-BwYRdui2.js} +1 -1
  84. package/web/assets/{shortcuts-CD4vslwQ.js → shortcuts-Cvp9WD9O.js} +1 -1
  85. package/web/assets/{side-chat-context-DaUmbt1Y.js → side-chat-context-BfOm4dFp.js} +4 -4
  86. package/web/assets/{sidebar-D-yI-nEo.js → sidebar-BLeRyb55.js} +2 -2
  87. package/web/assets/{sidebar-store-UyvCdgAm.js → sidebar-store-1-aNPlDu.js} +1 -1
  88. package/web/assets/{speech-session-BohM2ygu.js → speech-session-DK_09Wky.js} +1 -1
  89. package/web/assets/{startup-queries-BhNivg8E.js → startup-queries-6Oztqpto.js} +1 -1
  90. package/web/assets/{use-i18n-DUgHBsG5.js → use-i18n-B5p-Kzvz.js} +1 -1
  91. package/web/assets/{use-studio-actions-7VwKPaCN.js → use-studio-actions-D6c_pSJK.js} +1 -1
  92. package/web/assets/{useBoardItems-BeR9GqTq.js → useBoardItems-CzEbgTLJ.js} +1 -1
  93. package/web/assets/{useFleetSystemInfo-BHhLHGdq.js → useFleetSystemInfo-Bd8zJIFa.js} +1 -1
  94. package/web/assets/{useNewProjectPicker-Dvn0ZJTJ.js → useNewProjectPicker-DQY1X_ua.js} +1 -1
  95. package/web/assets/{useNow-CRkZskBs.js → useNow-Bxn4_OW9.js} +1 -1
  96. package/web/assets/{usePhoneShell-DloLJ6Tq.js → usePhoneShell-Bvb7m-m4.js} +1 -1
  97. package/web/assets/{useSessionListQuery-hEpWGZ_H.js → useSessionListQuery-D44XZfGr.js} +1 -1
  98. package/web/assets/{useSessionRowActions-DzNqYyGB.js → useSessionRowActions-Cr6SUAeE.js} +1 -1
  99. package/web/assets/{useSidebarModel-C8_Gpayk.js → useSidebarModel-CWED0rsw.js} +1 -1
  100. package/web/assets/{web-preview-LghC_QcR.js → web-preview-CqwSe9Zn.js} +1 -1
  101. package/web/assets/{web-preview-events-B-rXgMLy.js → web-preview-events-DQchQHt3.js} +1 -1
  102. package/web/assets/{workspace-order-store-BGGH-aRI.js → workspace-order-store-RYWvGOeR.js} +1 -1
  103. package/web/index.html +1 -1
  104. package/web/assets/i18n-BMMXA_dY.js +0 -1
  105. package/web/assets/public-CRj3oDys.js +0 -1
  106. package/web/assets/public-diff-B_YCisY7.js +0 -1
  107. package/web/assets/public-launch-DJ9UFO06.js +0 -1
  108. package/web/assets/safe-mode-sentinel-mAPFazv4.js +0 -1
@@ -1,2 +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-Bj-DUNYq.js";import{t as i}from"./useQuery-DdcpUQhO.js";import{a,i as o,n as s,o as c,t as l}from"./startup-queries-BhNivg8E.js";import{t as u}from"./component-changes-Q9Bf64Ob.js";import{a as d,c as f,s as p,u as m}from"./api-PMkeVoki.js";import{t as h}from"./runtime-capabilities-store-BrQ24OXo.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-Kcrk_K91.js";import{n as x}from"./session-organization-api-8UQMpctG.js";import{c as te,s as ne}from"./session-workspaces-BWTBYaGT.js";import{i as re}from"./session-questions-Cf-1g85h.js";var S=400,ie=2e3,ae=160,oe=512,se=400,ce=240,le=240,ue=8,C=40,de=80,fe=3;function w(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function T(e){return typeof e==`string`?e:``}function E(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function D(e,t){let n=Array.from(e);return n.length>t?`${n.slice(0,t-1).join(``)}…`:e}function pe(e,t){let n=w(t),r=e===`bash`?n.command:n.path??n.file_path??n.url??n.query??n.pattern;return D(((typeof r==`string`?r:Object.values(n).find(e=>typeof e==`string`))||``).replace(/\s+/g,` `).trim(),ae)}function me(e){let t=w(e);if(t.type===`model`)return{type:`model`,stage:T(t.stage)||`thinking`};if(t.type===`tool`&&T(t.name)){let e=T(t.name);return{type:`tool`,name:e,summary:pe(e,t.args),startedAt:E(t.startedAt)}}return null}function he(e){let t=w(e),n=T(t.id);if(!n)return null;let r=w(t.args),i=w(t.fileChange);return{id:n,toolName:T(t.toolName),toolCallId:T(t.toolCallId),args:r,command:T(r.command),path:T(i.path)||T(r.path)||T(r.file_path),reason:D(T(t.reason),S),risk:T(t.risk),severity:g(t),createdAt:E(t.createdAt)}}function ge(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=he(r);!e||t.has(e.id)||(t.add(e.id),n.push(e))}return n}function _e(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function O(e){let t=_e(e);return t===null?null:Math.max(0,Math.floor(t))}var ve=/[\u0000-\u001f\u007f-\u009f]/g;function k(e,t){return D(T(e).replace(ve,` `).trimEnd(),t)}function ye(e){let t=/^(?:path|file_path): (.+)$/m.exec(e);return t?t[1].trim():``}function be(e){let t=w(e),n=T(t.id);if(!n)return null;let r=T(t.toolName),i=T(t.argsPreview),a=D(i,oe),o=t.argsTruncated===!0||a!==i,s=r===`bash`;return{id:n,toolName:r,toolCallId:``,args:{},command:s?a:``,path:s?``:ye(a),reason:D(T(t.reason),S),risk:T(t.risk),severity:g({severity:t.severity,reason:t.reason,toolName:r}),createdAt:E(t.createdAt),argsText:s?``:a,truncated:o}}function xe(e){let t=w(e);return t.type===`model`?{type:`model`,stage:D(T(t.stage),C)}:t.type===`tool`&&T(t.name)?{type:`tool`,name:D(T(t.name),C),summary:D(T(t.argsSummary).replace(/\s+/g,` `).trim(),ae),startedAt:E(t.startedAt)}:null}function Se(e){let t=w(e),n=T(t.status);return n?{added:O(t.added),removed:O(t.removed),files:O(t.files),status:D(n,C)}:null}function Ce(e){let t=w(e),n=w(t.error),r=k(n.message,se),i=w(t.agents),a=O(i.running),o=O(i.total),s=_e(t.contextPct),c=ee.includes(T(t.outcome))?t.outcome:null,l=[],u=new Set;for(let e of Array.isArray(t.approvals)?t.approvals:[]){let t=be(e);if(!(!t||u.has(t.id))&&(u.add(t.id),l.push(t),l.length>=ue))break}return{boardStatus:D(T(t.boardStatus),C),runId:D(T(t.runId),de),activity:xe(t.activity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt),outcome:c,error:r?{message:r,kind:D(T(n.kind),C)||`runtime`}:null,approvals:l,queuedInputCount:O(t.queuedInputCount)??0,contextPct:s===null?null:Math.min(100,Math.max(0,s)),changeStats:Se(t.changeStats),preview:k(t.lastAssistantPreview,ce),tail:(Array.isArray(t.tail)?t.tail:[]).map(e=>k(e,le)).filter(e=>e.trim()).slice(-3),agents:a!==null&&o!==null&&o>0?{running:Math.min(a,o),total:o}:null,totalTokens:O(w(t.usage).totalTokens)}}function we(e){let t=w(e),n=T(t.id);if(!n)return null;let r={...t,id:n};return delete r.card,r}function Te(e){let t=we(e);return t?{session:t,card:Ce(w(e).card)}:null}function Ee(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function De(e){let t=w(e),n=[],r=new Set;for(let e of Array.isArray(t.sessions)?t.sessions:[]){let t=Te(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:Ee(t.revision)}}function Oe(){return-new Date().getTimezoneOffset()}function ke(e){let t=w(e);return{streaming:t.streaming===!0,approvals:ge(t.approvals),error:D(T(t.error),ie),activity:me(t.currentActivity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt)}}var A={listSessions:()=>b.listSessions(),getLiveDetail:async(e,t)=>ke(await b.getLiveSession(e,{signal:t,timeout:15e3})),resolveApproval:async(e,t,n)=>{try{return w(await b.resolveApproval(e,t,n)).alreadyResolved===!0?`already-resolved`:`resolved`}catch(e){if(e instanceof m&&e.status===404)return`missing`;throw e}},retry:(e,t,n)=>b.retryLastTurn(e,t,{signal:n}),updateOrganization:(e,t)=>x(e,t),renameSession:async(e,t)=>{let n=w(await b.renameSession(e,t));return typeof n.name==`string`?n.name:t},listBoardView:async e=>{let t=[],n=new Set,r=``,i=null;for(let a=0;a<fe;a+=1){let o=new URLSearchParams({view:`board`,window:`7d`,limit:`200`,tzOffset:String(Oe())});r&&o.set(`cursor`,r);let s=await d(`/api/sessions?${o}`,{signal:e,timeout:15e3,parse:De});a===0&&(i=s.revision);for(let e of s.items)n.has(e.session.id)||(n.add(e.session.id),t.push(e));if(r=s.nextCursor??``,!r||t.length>=500)break}return{items:t.slice(0,500),nextCursor:r||null,revision:i}},openBoardEvents:async(e,t,n)=>{await p(n);let r=e===null?``:`?after=${encodeURIComponent(String(e))}`,i;try{i=await fetch(`/api/board/events${r}`,{signal:n,headers:{Accept:`text/event-stream`}})}catch(e){throw n.aborted?e:new m(e instanceof Error?e.message:`network`,{kind:`network`})}await f(i,(e,n)=>t(e,n))}};function 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 Ae(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function je(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 Me(e,t,n,r=Date.now()){let i=Ae(n),a=Ee(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=Te(e);!r||n.has(r.session.id)||(n.add(r.session.id),t.push(r))}let s=je(e,t,a,r);return s.effects.truncated=i.truncated===!0,s}if(t===`resync_required`){let t=M();return t.resync=!0,t.reconnect=i.reason===`flush_failed`,t.changed=!e.awaitingSnapshot,{feed:{...e,awaitingSnapshot:!0},effects:t}}if(e.awaitingSnapshot||a===null||e.revision!==null&&a<=e.revision)return o;if(t===`heartbeat`||t===`component_changed`||t===`catalog_changed`){let n=M();return n.changed=!0,n.catalog=t===`catalog_changed`,{feed:{...e,revision:a,updatedAt:r},effects:n}}if(t!==`session_card`)return o;let s=typeof i.id==`string`?i.id:``;if(!s)return o;let c=e.entries[s];if(c&&a<=c.revision)return o;let l=M();if(l.changed=!0,i.removed===!0){let t={...e.entries};return delete t[s],c&&l.removed.push(s),{feed:{...e,revision:a,entries:t,updatedAt:r},effects:l}}let u=we(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:Ce(i.card),revision:a,receivedAt:r}},updatedAt:r},effects:l})}var N=l,Ne=3e3,Pe=2e3,Fe=3e4,Ie=1e3,Le=3e4,Re=6e4,ze=4e3,Be=4e4,Ve=300,He=6e3,Ue=6e4,We=1e3,Ge={feed:j(),live:{},localRuns:{},runningSince:{},patches:{},pending:{}},P=n()(()=>({...Ge}));function Ke(){return a.getQueryData(N)?.sessions??[]}function F(){return s(`sessions`,!0)}async function qe(){o(`sessions`),await F()}async function Je(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 Ye(e,t,ze);return}if(V.active&&V.mode!==`legacy`&&I().view){await K();return}await qe().catch(()=>void 0)}function Ye(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 Xe(){return I().view}var Ze=0;function Qe(e,t){let n=++Ze;return P.setState(r=>({patches:{...r.patches,[e]:[...r.patches[e]??[],{token:n,patch:t}]}})),n}function $e(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 et(e,t){return!P.getState().pending[e]&&(P.setState(n=>({pending:{...n.pending,[e]:t}})),!0)}function tt(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 nt(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 rt(e,t){z(e,e=>e&&e.approvals.some(e=>e.id===t)?{...e,approvals:e.approvals.filter(e=>e.id!==t)}:e??null),nt(e,e=>e.some(e=>e.id===t)?e.filter(e=>e.id!==t):e)}function it(e,t){if(P.getState().feed.entries[e]){nt(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 at(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 ot(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 st(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 ct(){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,ut()},e))}function lt(){return V.view.failures?Math.min(Pe*2**V.view.failures,Fe):Pe}async function ut(){let e=V.mode;if(e===`view`)await dt();else try{await F()}catch{}!V.active||V.mode!==e||(Z(),G(e===`view`?lt():Ne))}function dt(){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,vt(je(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 dt()}function ft(){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 pt(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`)&&(mt(0),Z()))},Be)}function mt(e){let t=V.events;t.retryTimer&&clearTimeout(t.retryTimer),t.retryTimer=setTimeout(()=>{t.retryTimer=null,Y()},e)}function ht(e){return e instanceof m&&e.kind===`http`&&typeof e.status==`number`&&e.status>=400&&e.status<500}function gt(){let e=V.events;e.blockedUntil=Date.now()+Re,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,pt(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(pt(t),i=!0,e.attempt=0,V.feedSettled=!0,_t(n,r).reconnect)return a=!0,!1},t.signal).then(()=>null,e=>e).then(n=>{if(e.controller===t&&(e.controller=null,J(),!(t.signal.aborted||!V.active))){if(V.feedSettled=!0,n&&ht(n))gt();else{let t=a?0:i?Ie:Math.min(Ie*2**e.attempt,Le);!i&&!a&&(e.attempt+=1),mt(t)}Z()}})}function _t(e,t){let n=Me(P.getState().feed,e,t);return vt(n,e===`heartbeat`||e===`component_changed`||e===`catalog_changed`),u(e,t,n.effects.changed),n.effects}function vt({feed:e,effects:t},n=!1){t.changed&&P.setState({feed:{...e,mode:V.mode}}),t.upserts.length&&yt(t.upserts),(t.removed.length||t.resync||t.catalog)&&bt(),t.changed&&!n&&Z()}function yt(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 bt(){V.catalogTimer||!V.active||(V.catalogTimer=setTimeout(()=>{V.catalogTimer=null,V.active&&F().catch(()=>void 0)},Ve))}function X(){if(!V.active)return;let e=ct();e!==V.mode&&(V.mode=e,V.feedSettled=!1,V.view.failures=0,q(),ft(),W(),P.setState(t=>({feed:e===`legacy`?j(`legacy`):{...t.feed,mode:e}})),e===`events`?(V.events.attempt=0,Y()):G(0),Z())}function xt(){V.retainers+=1,V.releaseTimer&&=(clearTimeout(V.releaseTimer),null),V.active||St();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&&Ct()},We)))}}function St(){V.active=!0,V.mode=ct(),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`&&Tt()}})),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(Tt(),V.mode===`events`)Y();else if(V.mode===`view`)G(0);else{let e=a.getQueryState(N)?.dataUpdatedAt??0;G(Math.max(0,e+Ne-Date.now()))}}function Ct(){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(),ft();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 wt(){let e=F();V.active&&V.mode===`view`&&await K(),await e}function Tt(){let e=Ke(),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)&&Et(e),Z()}function Et(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}}}),yt(r)}function Dt(){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 Ke()){let i=L(t,e);i.archived!==!0&&_(i,{now:r}).status===`approval`&&n.add(t.id)}return n}function Ot(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=Dt();for(let t of Object.keys(P.getState().live))e.has(t)||Ot(t);for(let t of[...V.liveControllers.keys()])e.has(t)||Ot(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)=>kt(e,t*250))}function kt(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()+He);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(He*2**t,Ue)),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 At=class extends Error{code=`board_run_active`},jt=0;function Mt(e,t){return e===t?!0:!e||!t||e.type!==t.type?!1:e.type===`model`?e.stage===t.stage:e.name===t.name&&e.summary===t.summary}function Q(e,t,n){P.setState(r=>{let i=r.localRuns[e];return!i||i.token!==t||(n.activity===void 0||Mt(i.activity,n.activity))&&(n.runId===void 0||n.runId===i.runId)?r:{localRuns:{...r.localRuns,[e]:{...i,...n}}}})}function Nt(e,t,n,r){if(n===`run`)Q(e,t,{runId:typeof r.runId==`string`?r.runId:``});else if(n===`tool_start`){let n=typeof r.name==`string`?r.name:``;n&&Q(e,t,{activity:{type:`tool`,name:n,summary:pe(n,r.args),startedAt:typeof r.startedAt==`string`?r.startedAt:new Date().toISOString()}})}else if(n===`tool_end`||n===`thinking_patch`||n===`thinking_reset`)Q(e,t,{activity:{type:`model`,stage:`thinking`}});else if(n===`text_delta`||n===`text_patch`)Q(e,t,{activity:{type:`model`,stage:`responding`}});else if(n===`permission_request`){let t=he(r);t&&it(e,t),o(`sessions`)}else n===`permission_resolved`&&(typeof r.id==`string`&&rt(e,r.id),o(`sessions`))}function Pt(){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 Ft(e,t,n){if(V.runControllers.has(e))return Promise.reject(new At);let r=new AbortController,i=++jt,a={controller:r,accepted:!1};V.runControllers.set(e,a),Pt();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,Pt(),t())};n((t,n)=>{if(r.signal.aborted)return!1;t===`run`&&s(),Nt(e,i,t,n)},r.signal).then(s,e=>{a.accepted||o(e)}).finally(()=>{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 It=e(t(),1);function Lt(){(0,It.useEffect)(()=>xt(),[])}function Rt(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 zt=120;function Bt(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,zt);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]===`
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-Bj-DUNYq.js";import{t as i}from"./useQuery-DdcpUQhO.js";import{a,i as o,n as s,o as c,t as l}from"./startup-queries-6Oztqpto.js";import{t as u}from"./component-changes-Q9Bf64Ob.js";import{a as d,c as f,s as p,u as m}from"./api-BO7LAPSQ.js";import{t as h}from"./runtime-capabilities-store-C2Qv7uDP.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-DkdyVQY9.js";import{n as x}from"./session-organization-api-DFu3Chto.js";import{c as te,s as ne}from"./session-workspaces-BWTBYaGT.js";import{i as re}from"./session-questions-Cf-1g85h.js";var S=400,ie=2e3,ae=160,oe=512,se=400,ce=240,le=240,ue=8,C=40,de=80,fe=3;function w(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function T(e){return typeof e==`string`?e:``}function E(e){return typeof e==`string`&&Number.isFinite(Date.parse(e))?e:null}function D(e,t){let n=Array.from(e);return n.length>t?`${n.slice(0,t-1).join(``)}…`:e}function pe(e,t){let n=w(t),r=e===`bash`?n.command:n.path??n.file_path??n.url??n.query??n.pattern;return D(((typeof r==`string`?r:Object.values(n).find(e=>typeof e==`string`))||``).replace(/\s+/g,` `).trim(),ae)}function me(e){let t=w(e);if(t.type===`model`)return{type:`model`,stage:T(t.stage)||`thinking`};if(t.type===`tool`&&T(t.name)){let e=T(t.name);return{type:`tool`,name:e,summary:pe(e,t.args),startedAt:E(t.startedAt)}}return null}function he(e){let t=w(e),n=T(t.id);if(!n)return null;let r=w(t.args),i=w(t.fileChange);return{id:n,toolName:T(t.toolName),toolCallId:T(t.toolCallId),args:r,command:T(r.command),path:T(i.path)||T(r.path)||T(r.file_path),reason:D(T(t.reason),S),risk:T(t.risk),severity:g(t),createdAt:E(t.createdAt)}}function ge(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=he(r);!e||t.has(e.id)||(t.add(e.id),n.push(e))}return n}function _e(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function O(e){let t=_e(e);return t===null?null:Math.max(0,Math.floor(t))}var ve=/[\u0000-\u001f\u007f-\u009f]/g;function k(e,t){return D(T(e).replace(ve,` `).trimEnd(),t)}function ye(e){let t=/^(?:path|file_path): (.+)$/m.exec(e);return t?t[1].trim():``}function be(e){let t=w(e),n=T(t.id);if(!n)return null;let r=T(t.toolName),i=T(t.argsPreview),a=D(i,oe),o=t.argsTruncated===!0||a!==i,s=r===`bash`;return{id:n,toolName:r,toolCallId:``,args:{},command:s?a:``,path:s?``:ye(a),reason:D(T(t.reason),S),risk:T(t.risk),severity:g({severity:t.severity,reason:t.reason,toolName:r}),createdAt:E(t.createdAt),argsText:s?``:a,truncated:o}}function xe(e){let t=w(e);return t.type===`model`?{type:`model`,stage:D(T(t.stage),C)}:t.type===`tool`&&T(t.name)?{type:`tool`,name:D(T(t.name),C),summary:D(T(t.argsSummary).replace(/\s+/g,` `).trim(),ae),startedAt:E(t.startedAt)}:null}function Se(e){let t=w(e),n=T(t.status);return n?{added:O(t.added),removed:O(t.removed),files:O(t.files),status:D(n,C)}:null}function Ce(e){let t=w(e),n=w(t.error),r=k(n.message,se),i=w(t.agents),a=O(i.running),o=O(i.total),s=_e(t.contextPct),c=ee.includes(T(t.outcome))?t.outcome:null,l=[],u=new Set;for(let e of Array.isArray(t.approvals)?t.approvals:[]){let t=be(e);if(!(!t||u.has(t.id))&&(u.add(t.id),l.push(t),l.length>=ue))break}return{boardStatus:D(T(t.boardStatus),C),runId:D(T(t.runId),de),activity:xe(t.activity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt),outcome:c,error:r?{message:r,kind:D(T(n.kind),C)||`runtime`}:null,approvals:l,queuedInputCount:O(t.queuedInputCount)??0,contextPct:s===null?null:Math.min(100,Math.max(0,s)),changeStats:Se(t.changeStats),preview:k(t.lastAssistantPreview,ce),tail:(Array.isArray(t.tail)?t.tail:[]).map(e=>k(e,le)).filter(e=>e.trim()).slice(-3),agents:a!==null&&o!==null&&o>0?{running:Math.min(a,o),total:o}:null,totalTokens:O(w(t.usage).totalTokens)}}function we(e){let t=w(e),n=T(t.id);if(!n)return null;let r={...t,id:n};return delete r.card,r}function Te(e){let t=we(e);return t?{session:t,card:Ce(w(e).card)}:null}function Ee(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:null}function De(e){let t=w(e),n=[],r=new Set;for(let e of Array.isArray(t.sessions)?t.sessions:[]){let t=Te(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:Ee(t.revision)}}function Oe(){return-new Date().getTimezoneOffset()}function ke(e){let t=w(e);return{streaming:t.streaming===!0,approvals:ge(t.approvals),error:D(T(t.error),ie),activity:me(t.currentActivity),startedAt:E(t.startedAt),lastActivityAt:E(t.lastActivityAt),finishedAt:E(t.finishedAt)}}var A={listSessions:()=>b.listSessions(),getLiveDetail:async(e,t)=>ke(await b.getLiveSession(e,{signal:t,timeout:15e3})),resolveApproval:async(e,t,n)=>{try{return w(await b.resolveApproval(e,t,n)).alreadyResolved===!0?`already-resolved`:`resolved`}catch(e){if(e instanceof m&&e.status===404)return`missing`;throw e}},retry:(e,t,n)=>b.retryLastTurn(e,t,{signal:n}),updateOrganization:(e,t)=>x(e,t),renameSession:async(e,t)=>{let n=w(await b.renameSession(e,t));return typeof n.name==`string`?n.name:t},listBoardView:async e=>{let t=[],n=new Set,r=``,i=null;for(let a=0;a<fe;a+=1){let o=new URLSearchParams({view:`board`,window:`7d`,limit:`200`,tzOffset:String(Oe())});r&&o.set(`cursor`,r);let s=await d(`/api/sessions?${o}`,{signal:e,timeout:15e3,parse:De});a===0&&(i=s.revision);for(let e of s.items)n.has(e.session.id)||(n.add(e.session.id),t.push(e));if(r=s.nextCursor??``,!r||t.length>=500)break}return{items:t.slice(0,500),nextCursor:r||null,revision:i}},openBoardEvents:async(e,t,n)=>{await p(n);let r=e===null?``:`?after=${encodeURIComponent(String(e))}`,i;try{i=await fetch(`/api/board/events${r}`,{signal:n,headers:{Accept:`text/event-stream`}})}catch(e){throw n.aborted?e:new m(e instanceof Error?e.message:`network`,{kind:`network`})}await f(i,(e,n)=>t(e,n))}};function 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 Ae(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function je(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 Me(e,t,n,r=Date.now()){let i=Ae(n),a=Ee(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=Te(e);!r||n.has(r.session.id)||(n.add(r.session.id),t.push(r))}let s=je(e,t,a,r);return s.effects.truncated=i.truncated===!0,s}if(t===`resync_required`){let t=M();return t.resync=!0,t.reconnect=i.reason===`flush_failed`,t.changed=!e.awaitingSnapshot,{feed:{...e,awaitingSnapshot:!0},effects:t}}if(e.awaitingSnapshot||a===null||e.revision!==null&&a<=e.revision)return o;if(t===`heartbeat`||t===`component_changed`||t===`catalog_changed`){let n=M();return n.changed=!0,n.catalog=t===`catalog_changed`,{feed:{...e,revision:a,updatedAt:r},effects:n}}if(t!==`session_card`)return o;let s=typeof i.id==`string`?i.id:``;if(!s)return o;let c=e.entries[s];if(c&&a<=c.revision)return o;let l=M();if(l.changed=!0,i.removed===!0){let t={...e.entries};return delete t[s],c&&l.removed.push(s),{feed:{...e,revision:a,entries:t,updatedAt:r},effects:l}}let u=we(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:Ce(i.card),revision:a,receivedAt:r}},updatedAt:r},effects:l})}var N=l,Ne=3e3,Pe=2e3,Fe=3e4,Ie=1e3,Le=3e4,Re=6e4,ze=4e3,Be=4e4,Ve=300,He=6e3,Ue=6e4,We=1e3,Ge={feed:j(),live:{},localRuns:{},runningSince:{},patches:{},pending:{}},P=n()(()=>({...Ge}));function Ke(){return a.getQueryData(N)?.sessions??[]}function F(){return s(`sessions`,!0)}async function qe(){o(`sessions`),await F()}async function Je(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 Ye(e,t,ze);return}if(V.active&&V.mode!==`legacy`&&I().view){await K();return}await qe().catch(()=>void 0)}function Ye(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 Xe(){return I().view}var Ze=0;function Qe(e,t){let n=++Ze;return P.setState(r=>({patches:{...r.patches,[e]:[...r.patches[e]??[],{token:n,patch:t}]}})),n}function $e(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 et(e,t){return!P.getState().pending[e]&&(P.setState(n=>({pending:{...n.pending,[e]:t}})),!0)}function tt(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 nt(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 rt(e,t){z(e,e=>e&&e.approvals.some(e=>e.id===t)?{...e,approvals:e.approvals.filter(e=>e.id!==t)}:e??null),nt(e,e=>e.some(e=>e.id===t)?e.filter(e=>e.id!==t):e)}function it(e,t){if(P.getState().feed.entries[e]){nt(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 at(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 ot(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 st(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 ct(){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,ut()},e))}function lt(){return V.view.failures?Math.min(Pe*2**V.view.failures,Fe):Pe}async function ut(){let e=V.mode;if(e===`view`)await dt();else try{await F()}catch{}!V.active||V.mode!==e||(Z(),G(e===`view`?lt():Ne))}function dt(){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,vt(je(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 dt()}function ft(){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 pt(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`)&&(mt(0),Z()))},Be)}function mt(e){let t=V.events;t.retryTimer&&clearTimeout(t.retryTimer),t.retryTimer=setTimeout(()=>{t.retryTimer=null,Y()},e)}function ht(e){return e instanceof m&&e.kind===`http`&&typeof e.status==`number`&&e.status>=400&&e.status<500}function gt(){let e=V.events;e.blockedUntil=Date.now()+Re,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,pt(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(pt(t),i=!0,e.attempt=0,V.feedSettled=!0,_t(n,r).reconnect)return a=!0,!1},t.signal).then(()=>null,e=>e).then(n=>{if(e.controller===t&&(e.controller=null,J(),!(t.signal.aborted||!V.active))){if(V.feedSettled=!0,n&&ht(n))gt();else{let t=a?0:i?Ie:Math.min(Ie*2**e.attempt,Le);!i&&!a&&(e.attempt+=1),mt(t)}Z()}})}function _t(e,t){let n=Me(P.getState().feed,e,t);return vt(n,e===`heartbeat`||e===`component_changed`||e===`catalog_changed`),u(e,t,n.effects.changed),n.effects}function vt({feed:e,effects:t},n=!1){t.changed&&P.setState({feed:{...e,mode:V.mode}}),t.upserts.length&&yt(t.upserts),(t.removed.length||t.resync||t.catalog)&&bt(),t.changed&&!n&&Z()}function yt(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 bt(){V.catalogTimer||!V.active||(V.catalogTimer=setTimeout(()=>{V.catalogTimer=null,V.active&&F().catch(()=>void 0)},Ve))}function X(){if(!V.active)return;let e=ct();e!==V.mode&&(V.mode=e,V.feedSettled=!1,V.view.failures=0,q(),ft(),W(),P.setState(t=>({feed:e===`legacy`?j(`legacy`):{...t.feed,mode:e}})),e===`events`?(V.events.attempt=0,Y()):G(0),Z())}function xt(){V.retainers+=1,V.releaseTimer&&=(clearTimeout(V.releaseTimer),null),V.active||St();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&&Ct()},We)))}}function St(){V.active=!0,V.mode=ct(),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`&&Tt()}})),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(Tt(),V.mode===`events`)Y();else if(V.mode===`view`)G(0);else{let e=a.getQueryState(N)?.dataUpdatedAt??0;G(Math.max(0,e+Ne-Date.now()))}}function Ct(){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(),ft();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 wt(){let e=F();V.active&&V.mode===`view`&&await K(),await e}function Tt(){let e=Ke(),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)&&Et(e),Z()}function Et(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}}}),yt(r)}function Dt(){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 Ke()){let i=L(t,e);i.archived!==!0&&_(i,{now:r}).status===`approval`&&n.add(t.id)}return n}function Ot(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=Dt();for(let t of Object.keys(P.getState().live))e.has(t)||Ot(t);for(let t of[...V.liveControllers.keys()])e.has(t)||Ot(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)=>kt(e,t*250))}function kt(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()+He);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(He*2**t,Ue)),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 At=class extends Error{code=`board_run_active`},jt=0;function Mt(e,t){return e===t?!0:!e||!t||e.type!==t.type?!1:e.type===`model`?e.stage===t.stage:e.name===t.name&&e.summary===t.summary}function Q(e,t,n){P.setState(r=>{let i=r.localRuns[e];return!i||i.token!==t||(n.activity===void 0||Mt(i.activity,n.activity))&&(n.runId===void 0||n.runId===i.runId)?r:{localRuns:{...r.localRuns,[e]:{...i,...n}}}})}function Nt(e,t,n,r){if(n===`run`)Q(e,t,{runId:typeof r.runId==`string`?r.runId:``});else if(n===`tool_start`){let n=typeof r.name==`string`?r.name:``;n&&Q(e,t,{activity:{type:`tool`,name:n,summary:pe(n,r.args),startedAt:typeof r.startedAt==`string`?r.startedAt:new Date().toISOString()}})}else if(n===`tool_end`||n===`thinking_patch`||n===`thinking_reset`)Q(e,t,{activity:{type:`model`,stage:`thinking`}});else if(n===`text_delta`||n===`text_patch`)Q(e,t,{activity:{type:`model`,stage:`responding`}});else if(n===`permission_request`){let t=he(r);t&&it(e,t),o(`sessions`)}else n===`permission_resolved`&&(typeof r.id==`string`&&rt(e,r.id),o(`sessions`))}function Pt(){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 Ft(e,t,n){if(V.runControllers.has(e))return Promise.reject(new At);let r=new AbortController,i=++jt,a={controller:r,accepted:!1};V.runControllers.set(e,a),Pt();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,Pt(),t())};n((t,n)=>{if(r.signal.aborted)return!1;t===`run`&&s(),Nt(e,i,t,n)},r.signal).then(s,e=>{a.accepted||o(e)}).finally(()=>{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 It=e(t(),1);function Lt(){(0,It.useEffect)(()=>xt(),[])}function Rt(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 zt=120;function Bt(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,zt);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
2
  `?r:r+1)).trim(),zt)}function Vt(e){return e.length?e.some(e=>e.severity===`critical`)?`critical`:`standard`:null}function Ht(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 Ut(e,t){return!!e[t]?.some(e=>e.patch.streaming===!0)}function Wt(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]||Ut(t.patches,i.id))&&r.push({session:i,card:null});return r}function Gt(e,t,{now:n,capabilities:r,doneWindow:i=`today`,timeZoneOffsetMinutes:a}){let o=[],s=t.pending??{},c=Wt(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??Bt(u?.startedAt)??Bt(f?.startedAt),m=u?Ht(u,f).filter(e=>!s[R(`approve`,c.id,e.id)]):null,h=m?.length?m:f?.approvals,g=_({...c,startedAt:p??t.runningSince[c.id]??null,approvals:h,card:u?{outcome:u.outcome??void 0}:void 0},{now:n,capabilities:r,doneWindow:i,timeZoneOffsetMinutes:a});if(!g.lane)continue;let v=g.status===`approval`?h??[]:[],y=v[0],ee=g.status===`approval`?y&&!y.truncated?`ready`:f?.status===`error`?`error`:`loading`:`none`,b=g.lane===`running`,x=g.status===`failed`,S=g.status===`question`?re(c.question):null;o.push({id:c.id,session:c,title:$(c),cwd:typeof c.cwd==`string`?c.cwd:``,workspaceKey:te(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:Vt(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,...Kt(g.lane,c,l)})}return o.sort(y)}function Kt(e,t,n){let r=e===`queued`?Rt(t):null;return{queuePosition:r?.position??null,queue:r?{startAfter:r.startAfter,startAfterTitle:n.get(r.startAfter)??``}:null}}function qt(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 Jt(e){let t=Object.fromEntries(v.map(e=>[e,[]]));for(let n of e)t[n.lane].push(n);return t}function Yt(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 Xt(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 Zt(){return Lt(),i(c(`sessions`))}export{rt as C,A as D,P as E,wt as S,ot as T,$e as _,qt as a,tt as b,Lt as c,Qe as d,et as f,st as g,Xe as h,Gt as i,N as l,at as m,Yt as n,Jt as o,R as p,$ as r,Xt as s,Zt as t,At as u,Je as v,it as w,Ft as x,qe 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-Da0OHSy6.js";import{t as i}from"./use-i18n-DUgHBsG5.js";import{r as a,u as o}from"./session-board-status-D2lpFPiI.js";import{t as s}from"./createLucideIcon-Cd-3GVxJ.js";import{t as c}from"./ellipsis-CfGKfbq6.js";import{r as l,t as u}from"./useNewProjectPicker-Dvn0ZJTJ.js";import{c as d,i as f,p,r as m,t as h}from"./dropdown-menu-CFIFNaKO.js";import{t as g}from"./utils-C8uzG5AZ.js";import{s as _}from"./useSessionListQuery-hEpWGZ_H.js";import{a as v,c as y,l as b}from"./useNow-CRkZskBs.js";import{u as x}from"./session-workspaces-BWTBYaGT.js";import{o as S}from"./card-presentation-1oph2b8P.js";import{n as C,t as w}from"./workspace-order-store-BGGH-aRI.js";import{i as T}from"./board-projects-CBCU-Sgb.js";import{c as E,i as D,o as O,s as k}from"./folder-paths-tMQQIavs.js";import{t as ee}from"./session-home-Bhs5A925.js";import{t as A}from"./motion-DTR4ZVle.js";var j=s(`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`}]]),M=`pisper:overview-focus`;function N(e){window.dispatchEvent(new CustomEvent(M,{detail:{sessionId:e}}))}function P(e){return e>30}var F={attention:0,running:1,queued:2,done:3};function I(){return{attention:0,running:0,queued:0,done:0}}function L(e){return typeof e==`number`&&Number.isFinite(e)?e:null}var R=v(e=>e.since),z=v(e=>L(e.startedAt)??L(e.since)),B=v(e=>e.since,!0);function V(e,t){return F[e.lane]-F[t.lane]||(e.lane===`running`?z(e,t):e.lane===`done`?B(e,t):R(e,t))}function H(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=new Set;return e.filter(e=>!e||!e.id||i.has(e.id)||(i.add(e.id),e.session?.archived===!0)?!1:e.lane===`queued`?n?.sessionQueue===!0:e.lane!==`done`||o(e.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`}))}function U(e,t){let n=H(e,t).sort(V),r=t.lanes?.length?new Set(t.lanes):null,i=t.projects?.length?new Set(t.projects):null,o=n.filter(e=>(!r||r.has(e.lane))&&(!i||i.has(e.workspaceKey))),s=I();for(let e of n)s[e.lane]+=1;let c=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 o)n.has(t.workspaceKey)||(n.add(t.workspaceKey),e.push({key:t.workspaceKey,cwd:t.projectCwd}));for(let t of e){let e=o.filter(e=>e.workspaceKey===t.key);if(!e.length)continue;let n=I();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 a){let t=o.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:c.size,running:s.running,counts:s,sections:l,order:u,attention:u.filter(e=>e.lane===`attention`),attentionAll:n.filter(e=>e.lane===`attention`),filteredEmpty:n.length>0&&o.length===0}}function W(e,t){let n=I(),r={},i=H(e,t);for(let e of i)n[e.lane]+=1,r[e.workspaceKey]=(r[e.workspaceKey]??0)+1;return{total:i.length,lanes:n,projects:r}}var G=n();function K({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:a,side:o,align:s=`start`,tabIndex:l,className:u}){let{t:_}=i();return(0,G.jsxs)(h,{open:r,onOpenChange:a,children:[(0,G.jsx)(p,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,tabIndex:l,"aria-label":_(`board:sidebar.rowMenu`,{title:e.title}),className:g(`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`,u),children:(0,G.jsx)(c,{className:`size-4`,"aria-hidden":`true`})})}),(0,G.jsxs)(m,{align:s,side:o,className:`min-w-44`,children:[(0,G.jsx)(f,{onSelect:()=>t.open(e),children:_(`board:menu.open`)}),(0,G.jsx)(f,{onSelect:()=>t.pin(e),children:e.pinned?_(`board:menu.unpin`):_(`board:menu.pin`)}),(0,G.jsx)(f,{onSelect:()=>t.rename(e),children:_(`board:menu.rename`)}),n&&(0,G.jsx)(f,{onSelect:()=>t.markHandled(e),children:_(`board:menu.markHandled`)}),(0,G.jsx)(f,{onSelect:()=>t.copyLink(e),children:_(`board:menu.copyLink`)}),(0,G.jsx)(d,{}),(0,G.jsx)(f,{onSelect:()=>t.archive(e),children:_(`board:menu.archive`)})]})]})}function q(e,t){return t.map((t,n)=>t.kind===`failed`?e(`board:sidebar.reason.failed`):t.kind===`approval`?t.critical?e(`board:sidebar.reason.criticalApproval`):e(`board:sidebar.reason.approval`):t.count===null?e(`board:sidebar.reason.question`):e(n===0?`board:sidebar.reason.questions`:`board:sidebar.reason.questionCount`,{count:t.count})).join(` · `)}function J(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 Y(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 X(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 Z(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()?X(e):`${n.getMonth()+1}/${n.getDate()}`}function Q(){return!A()&&document.visibilityState!==`hidden`}function te(e,{duration:t,scale:n}){return!e||!Q()||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(t(),1);function ne(e){let{t}=i(),n=w(e=>e.names),r=w(e=>e.order),a=C(e=>e.projects);return(0,$.useMemo)(()=>_(T([...e],a),r).map(e=>({...e,label:n[e.key]||(e.cwd?S(e.cwd):t(`board:filter.noProject`)),custom:!!(e.cwd&&n[e.key])})),[n,r,e,a,t])}function re({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:a}){let{t:o}=i(),[s,c]=(0,$.useState)(``),d=(0,$.useRef)(``),{newProject:f,picking:p,picker:m}=u({onProjectChosen:r,onError:t=>e(t,`error`),onRemembered:a?t=>e(o(`board:project.chosen`,{project:S(t)}),`info`):void 0}),h={t:o,notify:e,requestConfirm:t,requestText:n},g=e=>k(e,S(e.cwd),h,{description:o(`board:project.renameDescription`)}),_=e=>E(e,h),v=e=>{let t=l.getState();t.cwd&&x(t.cwd)===e.key&&t.rememberLaunch({cwd:``});let n=y.getState();n.projects.includes(e.key)&&n.setProjectFilter(n.projects.filter(t=>t!==e.key))};return{newProject:f,picking:p,rename:g,resetName:_,remove:async e=>{if(!d.current){d.current=e.key,c(e.key);try{await D(e,h)===`deleted`&&v(e)}finally{d.current=``,c(``)}}},unregister:e=>{d.current||O(e,h)&&v(e)},busyKey:s,picker:m}}function ie(e){let{origin:t,pathname:n,search:i,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${i}#${r(e)}`:`${t}${r(e)}`}function ae({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:a}=i(),o=b(),s=(0,$.useRef)(o);s.current=o;let c=(0,$.useCallback)(t=>{t.ok||t.reason===`pending`||e(a(`board:action.failed`),`error`)},[e,a]),l=(0,$.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,$.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(ie(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})),ee(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,a])}export{j as _,Q as a,X as c,K as d,U as f,N as g,M as h,te as i,J as l,P as m,re as n,Y as o,W as p,ne as r,Z as s,ae as t,q 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-Da0OHSy6.js";import{t as i}from"./use-i18n-B5p-Kzvz.js";import{r as a,u as o}from"./session-board-status-D2lpFPiI.js";import{t as s}from"./createLucideIcon-Cd-3GVxJ.js";import{t as c}from"./ellipsis-CfGKfbq6.js";import{r as l,t as u}from"./useNewProjectPicker-DQY1X_ua.js";import{c as d,i as f,p,r as m,t as h}from"./dropdown-menu-CFIFNaKO.js";import{t as g}from"./utils-C8uzG5AZ.js";import{s as _}from"./useSessionListQuery-D44XZfGr.js";import{a as v,c as y,l as b}from"./useNow-Bxn4_OW9.js";import{u as x}from"./session-workspaces-BWTBYaGT.js";import{o as S}from"./card-presentation-1oph2b8P.js";import{n as C,t as w}from"./workspace-order-store-RYWvGOeR.js";import{i as T}from"./board-projects-BU9fZB1q.js";import{c as E,i as D,o as O,s as k}from"./folder-paths-DQTpuGh9.js";import{t as ee}from"./session-home-BktP6sGF.js";import{t as A}from"./motion-DTR4ZVle.js";var j=s(`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`}]]),M=`pisper:overview-focus`;function N(e){window.dispatchEvent(new CustomEvent(M,{detail:{sessionId:e}}))}function P(e){return e>30}var F={attention:0,running:1,queued:2,done:3};function I(){return{attention:0,running:0,queued:0,done:0}}function L(e){return typeof e==`number`&&Number.isFinite(e)?e:null}var R=v(e=>e.since),z=v(e=>L(e.startedAt)??L(e.since)),B=v(e=>e.since,!0);function V(e,t){return F[e.lane]-F[t.lane]||(e.lane===`running`?z(e,t):e.lane===`done`?B(e,t):R(e,t))}function H(e,{now:t,capabilities:n,timeZoneOffsetMinutes:r}){let i=new Set;return e.filter(e=>!e||!e.id||i.has(e.id)||(i.add(e.id),e.session?.archived===!0)?!1:e.lane===`queued`?n?.sessionQueue===!0:e.lane!==`done`||o(e.since,{now:t,timeZoneOffsetMinutes:r,doneWindow:`today`}))}function U(e,t){let n=H(e,t).sort(V),r=t.lanes?.length?new Set(t.lanes):null,i=t.projects?.length?new Set(t.projects):null,o=n.filter(e=>(!r||r.has(e.lane))&&(!i||i.has(e.workspaceKey))),s=I();for(let e of n)s[e.lane]+=1;let c=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 o)n.has(t.workspaceKey)||(n.add(t.workspaceKey),e.push({key:t.workspaceKey,cwd:t.projectCwd}));for(let t of e){let e=o.filter(e=>e.workspaceKey===t.key);if(!e.length)continue;let n=I();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 a){let t=o.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:c.size,running:s.running,counts:s,sections:l,order:u,attention:u.filter(e=>e.lane===`attention`),attentionAll:n.filter(e=>e.lane===`attention`),filteredEmpty:n.length>0&&o.length===0}}function W(e,t){let n=I(),r={},i=H(e,t);for(let e of i)n[e.lane]+=1,r[e.workspaceKey]=(r[e.workspaceKey]??0)+1;return{total:i.length,lanes:n,projects:r}}var G=n();function K({row:e,actions:t,canMarkHandled:n,open:r,onOpenChange:a,side:o,align:s=`start`,tabIndex:l,className:u}){let{t:_}=i();return(0,G.jsxs)(h,{open:r,onOpenChange:a,children:[(0,G.jsx)(p,{asChild:!0,children:(0,G.jsx)(`button`,{type:`button`,tabIndex:l,"aria-label":_(`board:sidebar.rowMenu`,{title:e.title}),className:g(`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`,u),children:(0,G.jsx)(c,{className:`size-4`,"aria-hidden":`true`})})}),(0,G.jsxs)(m,{align:s,side:o,className:`min-w-44`,children:[(0,G.jsx)(f,{onSelect:()=>t.open(e),children:_(`board:menu.open`)}),(0,G.jsx)(f,{onSelect:()=>t.pin(e),children:e.pinned?_(`board:menu.unpin`):_(`board:menu.pin`)}),(0,G.jsx)(f,{onSelect:()=>t.rename(e),children:_(`board:menu.rename`)}),n&&(0,G.jsx)(f,{onSelect:()=>t.markHandled(e),children:_(`board:menu.markHandled`)}),(0,G.jsx)(f,{onSelect:()=>t.copyLink(e),children:_(`board:menu.copyLink`)}),(0,G.jsx)(d,{}),(0,G.jsx)(f,{onSelect:()=>t.archive(e),children:_(`board:menu.archive`)})]})]})}function q(e,t){return t.map((t,n)=>t.kind===`failed`?e(`board:sidebar.reason.failed`):t.kind===`approval`?t.critical?e(`board:sidebar.reason.criticalApproval`):e(`board:sidebar.reason.approval`):t.count===null?e(`board:sidebar.reason.question`):e(n===0?`board:sidebar.reason.questions`:`board:sidebar.reason.questionCount`,{count:t.count})).join(` · `)}function J(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 Y(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 X(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 Z(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()?X(e):`${n.getMonth()+1}/${n.getDate()}`}function Q(){return!A()&&document.visibilityState!==`hidden`}function te(e,{duration:t,scale:n}){return!e||!Q()||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(t(),1);function ne(e){let{t}=i(),n=w(e=>e.names),r=w(e=>e.order),a=C(e=>e.projects);return(0,$.useMemo)(()=>_(T([...e],a),r).map(e=>({...e,label:n[e.key]||(e.cwd?S(e.cwd):t(`board:filter.noProject`)),custom:!!(e.cwd&&n[e.key])})),[n,r,e,a,t])}function re({notify:e,requestConfirm:t,requestText:n,onProjectChosen:r,announceChoice:a}){let{t:o}=i(),[s,c]=(0,$.useState)(``),d=(0,$.useRef)(``),{newProject:f,picking:p,picker:m}=u({onProjectChosen:r,onError:t=>e(t,`error`),onRemembered:a?t=>e(o(`board:project.chosen`,{project:S(t)}),`info`):void 0}),h={t:o,notify:e,requestConfirm:t,requestText:n},g=e=>k(e,S(e.cwd),h,{description:o(`board:project.renameDescription`)}),_=e=>E(e,h),v=e=>{let t=l.getState();t.cwd&&x(t.cwd)===e.key&&t.rememberLaunch({cwd:``});let n=y.getState();n.projects.includes(e.key)&&n.setProjectFilter(n.projects.filter(t=>t!==e.key))};return{newProject:f,picking:p,rename:g,resetName:_,remove:async e=>{if(!d.current){d.current=e.key,c(e.key);try{await D(e,h)===`deleted`&&v(e)}finally{d.current=``,c(``)}}},unregister:e=>{d.current||O(e,h)&&v(e)},busyKey:s,picker:m}}function ie(e){let{origin:t,pathname:n,search:i,hash:a}=window.location;return a.startsWith(`#/`)?`${t}${n}${i}#${r(e)}`:`${t}${r(e)}`}function ae({notify:e,requestText:t,onOpenSession:n,onArchived:r}){let{t:a}=i(),o=b(),s=(0,$.useRef)(o);s.current=o;let c=(0,$.useCallback)(t=>{t.ok||t.reason===`pending`||e(a(`board:action.failed`),`error`)},[e,a]),l=(0,$.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,$.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(ie(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})),ee(t.id),r?.(t.id)}),report:c}),[e,r,n,l,c,a])}export{j as _,Q as a,X as c,K as d,U as f,N as g,M as h,te as i,J as l,P as m,re as n,Y as o,W as p,ne as r,Z as s,ae as t,q as u};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,t as r}from"./useNow-CRkZskBs.js";import{t as i}from"./useBoardItems-BeR9GqTq.js";var a=e(t(),1);function o(){let{query:e,items:t,capabilities:o,isLoading:s}=i(`today`),c=r(),l=(0,a.useMemo)(()=>n(t,{now:c,capabilities:o}),[o,t,c]),u=e.refetch;return(0,a.useMemo)(()=>({model:l,capabilities:o,isLoading:s,error:e.error??null,refetch:()=>void u()}),[o,s,l,e.error,u])}export{o as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t}from"./vendor-react-DwNgTV1j.js";import{i as n,t as r}from"./useNow-Bxn4_OW9.js";import{t as i}from"./useBoardItems-CzEbgTLJ.js";var a=e(t(),1);function o(){let{query:e,items:t,capabilities:o,isLoading:s}=i(`today`),c=r(),l=(0,a.useMemo)(()=>n(t,{now:c,capabilities:o}),[o,t,c]),u=e.refetch;return(0,a.useMemo)(()=>({model:l,capabilities:o,isLoading:s,error:e.error??null,refetch:()=>void u()}),[o,s,l,e.error,u])}export{o as t};
@@ -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{b as r}from"./events-CsDpIEpa.js";import{t as i}from"./terminal-context-aIsIJPn8.js";var a=e(t(),1),o=2097152,s=524288;function c(){let e=new TextDecoder,t=`text`;return n=>{let r=``;for(let i of e.decode(n,{stream:!0})){let e=i.codePointAt(0);t===`text`?e===27?t=`escape`:e===155?t=`csi`:e===157?t=`osc`:(e===9||e===10||e===13||e>=32&&e!==127)&&(r+=i):t===`escape`?t=i===`[`?`csi`:i===`]`?`osc`:`()*+`.includes(i)?`charset`:`text`:t===`csi`?e>=64&&e<=126&&(t=`text`):t===`charset`?t=`text`:t===`osc`?e===7?t=`text`:e===27&&(t=`osc-escape`):t===`osc-escape`&&(t=i===`\\`?`text`:e===27?`osc-escape`:`osc`)}return r}}function l(e){let t=new Map,n=new Map,r=new Set,i=new Map,a=new Map,l=new Set,u=new Set,d=new Map,f=!1,p,m=e=>(d.has(e)||d.set(e,[...t.values()].filter(t=>e===void 0||t.sessionId===e)),d.get(e)),h=()=>{for(let[e,n]of d){let r=[...t.values()].filter(t=>e===void 0||t.sessionId===e);(r.length!==n.length||r.some((e,t)=>e!==n[t]))&&d.set(e,r)}for(let e of l)e()},g=(e,n)=>{let r=t.get(e);r&&(t.set(e,{...r,...n}),h())},_=(e,i)=>{if(!(f||i.terminalId!==e||!r.has(e))){if(i.type===`output`){if(!Array.isArray(i.data)||i.data.some(e=>!Number.isInteger(e)||e<0||e>255))return;let r=n.get(e),a=Uint8Array.from(i.data.slice(-2097152));r.chunks.push({sequence:++r.sequence,data:a}),r.bytes+=a.length;let c=t.get(e).truncated||i.data.length>o;for(;r.bytes>o&&r.chunks.length>1;)r.bytes-=r.chunks.shift().data.length,c=!0;r.text+=r.decoder(a),r.text.length>s&&(r.text=r.text.slice(-524288).replace(/^[\uDC00-\uDFFF]/,``),c=!0),g(e,{output:r.text,truncated:c})}else i.type===`exit`?(r.delete(e),g(e,{status:`exited`,exitCode:i.code,error:``})):i.type===`error`&&g(e,{status:`error`,error:i.message});for(let e of u)e(i)}},v=async(a,o,s)=>{if(f)throw Error(`Terminal registry disposed`);let l=`terminal-${crypto.randomUUID()}`;t.set(l,{id:l,sessionId:a,cwd:o,profileId:s,orphaned:!1,status:`starting`,exitCode:null,error:``,output:``,truncated:!1}),n.set(l,{chunks:[],bytes:0,sequence:0,decoder:c(),text:``}),r.add(l),h();let u=(async()=>{try{let n=await e.terminalCreate({terminalId:l,profileId:s,cwd:o,cols:100,rows:24},e=>_(l,e));if(n.terminalId!==l)throw Error(`Terminal creation returned a different identity`);return g(l,{cwd:n.cwd,profileId:n.profileId,...!f&&t.get(l)?.status===`starting`?{status:`running`}:{}}),l}catch(e){throw g(l,{status:`error`,error:e instanceof Error?e.message:String(e)}),e}finally{i.delete(l)}})();return i.set(l,u),u},y=t=>{let n=a.get(t);if(n)return n;if(!r.has(t))return Promise.resolve();g(t,{status:`stopping`,error:``});let o=(async()=>{try{let n=i.get(t);if(n&&await n.catch(()=>void 0),!r.has(t))return;await e.terminalClose(t),r.delete(t),g(t,{status:`exited`,exitCode:null,error:``})}catch(e){throw g(t,{status:`error`,error:e instanceof Error?e.message:String(e)}),e}finally{a.delete(t)}})();return a.set(t,o),o};return{create:v,stop:y,snapshot:m,subscribe(e){return l.add(e),()=>{l.delete(e)}},subscribeEvents(e){return u.add(e),()=>{u.delete(e)}},outputChunks(e){return n.get(e)?.chunks||[]},async write(t,n){if(f||!r.has(t))throw Error(`Terminal is not running`);await e.terminalWrite(t,n)},async resize(t,n,i){f||!r.has(t)||!Number.isInteger(n)||!Number.isInteger(i)||n<1||i<1||await e.terminalResize(t,n,i)},orphan(e){let n=new Set(e);for(let e of t.values())n.has(e.sessionId)&&!e.orphaned&&t.set(e.id,{...e,orphaned:!0});h()},dispose(){return p||(f=!0,p=(async()=>{let e=await Promise.allSettled([...r].map(y));l.clear(),u.clear();let t=e.find(e=>e.status===`rejected`);if(t?.status===`rejected`)throw t.reason})(),p)}}}var u=n();function d({bridge:e,children:t}){let[n,o]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!e?.terminalCreate||!e.terminalWrite||!e.terminalResize||!e.terminalClose||!e.terminalProfiles){o(null);return}let t=l({terminalCreate:e.terminalCreate,terminalWrite:e.terminalWrite,terminalResize:e.terminalResize,terminalClose:e.terminalClose}),n=new Map,i,a=e.terminalProfiles;o({registry:t,profiles:()=>i||=a().catch(e=>{throw i=void 0,e}),renderer:(e,t)=>(n.has(e)||n.set(e,t()),n.get(e))});let s=r(window,({deletedIds:e})=>t.orphan(e)),c=()=>{for(let e of n.values())e.dispose();n.clear(),t.dispose().catch(()=>{})};return window.addEventListener(`pagehide`,c),()=>{s(),window.removeEventListener(`pagehide`,c),c()}},[e]),(0,u.jsx)(i.Provider,{value:n,children:t})}function f(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n:null}catch{return null}}function p(e,t){let n=e.trim();return n&&f(/^[a-z][a-z\d+.-]*:/i.test(n)||n.startsWith(`//`)?n:`https://${n}`,t)?.href||null}function m({href:e,baseUrl:t,button:n=0,download:r=!1,altKey:i=!1,ctrlKey:a=!1,metaKey:o=!1,shiftKey:s=!1,behavior:c}){if(n!==0||r||i||a||o||s||c===`external`||c===`ignore`)return null;let l=f(e,t);if(!l)return null;let u=f(t,t);return u&&l.origin===u.origin?null:l.href}export{m as n,d as r,p as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{i as t,r as n}from"./vendor-react-DwNgTV1j.js";import{b as r}from"./events-DrAPv0se.js";import{t as i}from"./terminal-context-aIsIJPn8.js";var a=e(t(),1),o=2097152,s=524288;function c(){let e=new TextDecoder,t=`text`;return n=>{let r=``;for(let i of e.decode(n,{stream:!0})){let e=i.codePointAt(0);t===`text`?e===27?t=`escape`:e===155?t=`csi`:e===157?t=`osc`:(e===9||e===10||e===13||e>=32&&e!==127)&&(r+=i):t===`escape`?t=i===`[`?`csi`:i===`]`?`osc`:`()*+`.includes(i)?`charset`:`text`:t===`csi`?e>=64&&e<=126&&(t=`text`):t===`charset`?t=`text`:t===`osc`?e===7?t=`text`:e===27&&(t=`osc-escape`):t===`osc-escape`&&(t=i===`\\`?`text`:e===27?`osc-escape`:`osc`)}return r}}function l(e){let t=new Map,n=new Map,r=new Set,i=new Map,a=new Map,l=new Set,u=new Set,d=new Map,f=!1,p,m=e=>(d.has(e)||d.set(e,[...t.values()].filter(t=>e===void 0||t.sessionId===e)),d.get(e)),h=()=>{for(let[e,n]of d){let r=[...t.values()].filter(t=>e===void 0||t.sessionId===e);(r.length!==n.length||r.some((e,t)=>e!==n[t]))&&d.set(e,r)}for(let e of l)e()},g=(e,n)=>{let r=t.get(e);r&&(t.set(e,{...r,...n}),h())},_=(e,i)=>{if(!(f||i.terminalId!==e||!r.has(e))){if(i.type===`output`){if(!Array.isArray(i.data)||i.data.some(e=>!Number.isInteger(e)||e<0||e>255))return;let r=n.get(e),a=Uint8Array.from(i.data.slice(-2097152));r.chunks.push({sequence:++r.sequence,data:a}),r.bytes+=a.length;let c=t.get(e).truncated||i.data.length>o;for(;r.bytes>o&&r.chunks.length>1;)r.bytes-=r.chunks.shift().data.length,c=!0;r.text+=r.decoder(a),r.text.length>s&&(r.text=r.text.slice(-524288).replace(/^[\uDC00-\uDFFF]/,``),c=!0),g(e,{output:r.text,truncated:c})}else i.type===`exit`?(r.delete(e),g(e,{status:`exited`,exitCode:i.code,error:``})):i.type===`error`&&g(e,{status:`error`,error:i.message});for(let e of u)e(i)}},v=async(a,o,s)=>{if(f)throw Error(`Terminal registry disposed`);let l=`terminal-${crypto.randomUUID()}`;t.set(l,{id:l,sessionId:a,cwd:o,profileId:s,orphaned:!1,status:`starting`,exitCode:null,error:``,output:``,truncated:!1}),n.set(l,{chunks:[],bytes:0,sequence:0,decoder:c(),text:``}),r.add(l),h();let u=(async()=>{try{let n=await e.terminalCreate({terminalId:l,profileId:s,cwd:o,cols:100,rows:24},e=>_(l,e));if(n.terminalId!==l)throw Error(`Terminal creation returned a different identity`);return g(l,{cwd:n.cwd,profileId:n.profileId,...!f&&t.get(l)?.status===`starting`?{status:`running`}:{}}),l}catch(e){throw g(l,{status:`error`,error:e instanceof Error?e.message:String(e)}),e}finally{i.delete(l)}})();return i.set(l,u),u},y=t=>{let n=a.get(t);if(n)return n;if(!r.has(t))return Promise.resolve();g(t,{status:`stopping`,error:``});let o=(async()=>{try{let n=i.get(t);if(n&&await n.catch(()=>void 0),!r.has(t))return;await e.terminalClose(t),r.delete(t),g(t,{status:`exited`,exitCode:null,error:``})}catch(e){throw g(t,{status:`error`,error:e instanceof Error?e.message:String(e)}),e}finally{a.delete(t)}})();return a.set(t,o),o};return{create:v,stop:y,snapshot:m,subscribe(e){return l.add(e),()=>{l.delete(e)}},subscribeEvents(e){return u.add(e),()=>{u.delete(e)}},outputChunks(e){return n.get(e)?.chunks||[]},async write(t,n){if(f||!r.has(t))throw Error(`Terminal is not running`);await e.terminalWrite(t,n)},async resize(t,n,i){f||!r.has(t)||!Number.isInteger(n)||!Number.isInteger(i)||n<1||i<1||await e.terminalResize(t,n,i)},orphan(e){let n=new Set(e);for(let e of t.values())n.has(e.sessionId)&&!e.orphaned&&t.set(e.id,{...e,orphaned:!0});h()},dispose(){return p||(f=!0,p=(async()=>{let e=await Promise.allSettled([...r].map(y));l.clear(),u.clear();let t=e.find(e=>e.status===`rejected`);if(t?.status===`rejected`)throw t.reason})(),p)}}}var u=n();function d({bridge:e,children:t}){let[n,o]=(0,a.useState)(null);return(0,a.useEffect)(()=>{if(!e?.terminalCreate||!e.terminalWrite||!e.terminalResize||!e.terminalClose||!e.terminalProfiles){o(null);return}let t=l({terminalCreate:e.terminalCreate,terminalWrite:e.terminalWrite,terminalResize:e.terminalResize,terminalClose:e.terminalClose}),n=new Map,i,a=e.terminalProfiles;o({registry:t,profiles:()=>i||=a().catch(e=>{throw i=void 0,e}),renderer:(e,t)=>(n.has(e)||n.set(e,t()),n.get(e))});let s=r(window,({deletedIds:e})=>t.orphan(e)),c=()=>{for(let e of n.values())e.dispose();n.clear(),t.dispose().catch(()=>{})};return window.addEventListener(`pagehide`,c),()=>{s(),window.removeEventListener(`pagehide`,c),c()}},[e]),(0,u.jsx)(i.Provider,{value:n,children:t})}function f(e,t){try{let n=new URL(e,t);return n.protocol===`http:`||n.protocol===`https:`?n:null}catch{return null}}function p(e,t){let n=e.trim();return n&&f(/^[a-z][a-z\d+.-]*:/i.test(n)||n.startsWith(`//`)?n:`https://${n}`,t)?.href||null}function m({href:e,baseUrl:t,button:n=0,download:r=!1,altKey:i=!1,ctrlKey:a=!1,metaKey:o=!1,shiftKey:s=!1,behavior:c}){if(n!==0||r||i||a||o||s||c===`external`||c===`ignore`)return null;let l=f(e,t);if(!l)return null;let u=f(t,t);return u&&l.origin===u.origin?null:l.href}export{m as n,d as r,p as t};
@@ -1 +1 @@
1
- import{t as e}from"./storage-BY6wEHPw.js";import{t}from"./web-preview-LghC_QcR.js";var n=`pisper:web-preview-open`;function r(r){let i=t(r,window.location.href);if(!i)return null;let a={url:i};return localStorage.setItem(e.webPreviewRequest,JSON.stringify(a)),window.dispatchEvent(new CustomEvent(n,{detail:a})),a}function i(){let n=localStorage.getItem(e.webPreviewRequest);if(localStorage.removeItem(e.webPreviewRequest),!n)return null;try{let e=JSON.parse(n),r=typeof e?.url==`string`?t(e.url,window.location.href):null;return r?{url:r}:null}catch{return null}}export{i as n,r,n as t};
1
+ import{t as e}from"./storage-BY6wEHPw.js";import{t}from"./web-preview-CqwSe9Zn.js";var n=`pisper:web-preview-open`;function r(r){let i=t(r,window.location.href);if(!i)return null;let a={url:i};return localStorage.setItem(e.webPreviewRequest,JSON.stringify(a)),window.dispatchEvent(new CustomEvent(n,{detail:a})),a}function i(){let n=localStorage.getItem(e.webPreviewRequest);if(localStorage.removeItem(e.webPreviewRequest),!n)return null;try{let e=JSON.parse(n),r=typeof e?.url==`string`?t(e.url,window.location.href):null;return r?{url:r}:null}catch{return null}}export{i as n,r,n as t};
@@ -1 +1 @@
1
- import{t as e}from"./index-Ciq5zG6s.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{a as i,i as a,r as o,u as s}from"./session-workspaces-BWTBYaGT.js";function c(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=s(n);return r&&r!==`\0`?n:``}function l(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=c(r),i=e&&s(e);if(!(!i||t.has(i))&&(t.add(i),n.push(e),n.length>=50))break}return n}function u(e,t){let n=c(t);if(!n)return l(e);let r=s(n);return l([n,...e.filter(e=>s(e)!==r)])}function d(e,t){let n=s(t);return l(e.filter(e=>s(e)!==n))}function f(e,t){let n=new Set(t),r=[];for(let t of l(e)){let e=s(t);n.has(e)||(n.add(e),r.push({key:e,cwd:t}))}return r}var p=`pisper-registered-projects`,m=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 h(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var g=r()(t((e,t)=>({projects:[],registerProject:n=>{let r=c(n);if(!r)return``;let i=t().projects,a=u(i,r);return h(a,i)||e({projects:a}),r},unregisterProject:n=>{let r=t().projects;return r.some(e=>s(e)===s(n))?(e({projects:d(r,n)}),!0):!1}}),{name:p,storage:m,version:1,partialize:({projects:e})=>({projects:e}),merge:(e,t)=>({...t,projects:l(e&&typeof e==`object`&&`projects`in e?e.projects:void 0)})}));function _(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function v(e){let t=s(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function y(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=v(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var b=n(()=>e),x=r()(t((e,t)=>({order:[],names:y(void 0),rememberWorkspaces:n=>{let r=t().order,a=i(r,n);_(a,r)||e({order:a})},moveWorkspace:(n,r,i)=>{let a=t().order,s=o(a,i,n,r);_(s,a)||e({order:s})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?v(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(!b)throw Error(`Workspace preferences storage is unavailable`);let s=y(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:b,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:y(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));export{g as n,f as r,x as t};
1
+ import{t as e}from"./index-CsE52ydO.js";import{a as t,i as n,o as r}from"./vendor-state-GkUciC5H.js";import{a as i,i as a,r as o,u as s}from"./session-workspaces-BWTBYaGT.js";function c(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=s(n);return r&&r!==`\0`?n:``}function l(e){if(!Array.isArray(e))return[];let t=new Set,n=[];for(let r of e){let e=c(r),i=e&&s(e);if(!(!i||t.has(i))&&(t.add(i),n.push(e),n.length>=50))break}return n}function u(e,t){let n=c(t);if(!n)return l(e);let r=s(n);return l([n,...e.filter(e=>s(e)!==r)])}function d(e,t){let n=s(t);return l(e.filter(e=>s(e)!==n))}function f(e,t){let n=new Set(t),r=[];for(let t of l(e)){let e=s(t);n.has(e)||(n.add(e),r.push({key:e,cwd:t}))}return r}var p=`pisper-registered-projects`,m=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 h(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var g=r()(t((e,t)=>({projects:[],registerProject:n=>{let r=c(n);if(!r)return``;let i=t().projects,a=u(i,r);return h(a,i)||e({projects:a}),r},unregisterProject:n=>{let r=t().projects;return r.some(e=>s(e)===s(n))?(e({projects:d(r,n)}),!0):!1}}),{name:p,storage:m,version:1,partialize:({projects:e})=>({projects:e}),merge:(e,t)=>({...t,projects:l(e&&typeof e==`object`&&`projects`in e?e.projects:void 0)})}));function _(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function v(e){let t=s(e);return t&&t!==`\0`&&!t.includes(`\0`)?t:null}function y(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=v(n);if(!e||typeof r!=`string`)continue;let i=r.trim();i&&Array.from(i).length<=120&&(t[e]=i)}return t}var b=n(()=>e),x=r()(t((e,t)=>({order:[],names:y(void 0),rememberWorkspaces:n=>{let r=t().order,a=i(r,n);_(a,r)||e({order:a})},moveWorkspace:(n,r,i)=>{let a=t().order,s=o(a,i,n,r);_(s,a)||e({order:s})},setWorkspaceName:(n,r)=>{let i=typeof n==`string`?v(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(!b)throw Error(`Workspace preferences storage is unavailable`);let s=y(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:b,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:y(e&&typeof e==`object`&&`names`in e?e.names:void 0)})}));export{g as n,f as r,x as t};
package/web/index.html CHANGED
@@ -55,7 +55,7 @@
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-Ciq5zG6s.js"></script>
58
+ <script type="module" crossorigin src="/assets/index-CsE52ydO.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">